<?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>24110</bug_id>
          
          <creation_ts>2009-02-23 17:26:34 -0800</creation_ts>
          <short_desc>cloneNode should call cloneElement and not the reverse</short_desc>
          <delta_ts>2009-03-12 05:43:11 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>110663</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2009-02-23 17:26:34 -0800</bug_when>
    <thetext>Suggested as part of the review of bug23956 as it would remove a static_cast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110708</commentid>
    <comment_count>1</comment_count>
      <attachid>27908</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2009-02-24 01:54:18 -0800</bug_when>
    <thetext>Created attachment 27908
Trivial change: move cloneNode into cloneElement, updated cloneElement signature and call sites</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110747</commentid>
    <comment_count>2</comment_count>
      <attachid>27908</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-02-24 09:06:31 -0800</bug_when>
    <thetext>Comment on attachment 27908
Trivial change: move cloneNode into cloneElement, updated cloneElement signature and call sites

Thanks for doing this! I know I suggested it.

I do not like boolean arguments. I think they make call sites hard to read and understand.

I think we should leave the cloneChildNodes logic inside the cloneNode function, and then we would not need to add a boolean argument to cloneElement.

I also think that all the &quot;shallow clone&quot; comments at cloneElement call sites make it clear that it should be renamed to shallowCloneElement or cloneElementWithoutChildren, so we can remove those comments.

I think we should make the cloneNode virtual function override private, because if someone has an Element* it&apos;s a waste to have them make a virtual function call just to clone. Then, if we find callers that need a shallow clone, they can call the current cloneElement (perhaps under its new clearer name) and if we find callers that also want to clone the children, then I suggest we make a new non-virtual cloneElement call that does clone children.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112564</commentid>
    <comment_count>3</comment_count>
      <attachid>28355</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2009-03-06 03:14:39 -0800</bug_when>
    <thetext>Created attachment 28355
Version updated that should address all Darin&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112577</commentid>
    <comment_count>4</comment_count>
      <attachid>28355</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-03-06 07:11:37 -0800</bug_when>
    <thetext>Comment on attachment 28355
Version updated that should address all Darin&apos;s comments

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113366</commentid>
    <comment_count>5</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2009-03-12 05:43:11 -0700</bug_when>
    <thetext>Landed in r41621.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27908</attachid>
            <date>2009-02-24 01:54:18 -0800</date>
            <delta_ts>2009-03-06 03:14:39 -0800</delta_ts>
            <desc>Trivial change: move cloneNode into cloneElement, updated cloneElement signature and call sites</desc>
            <filename>bug24110-cloneElement.diff</filename>
            <type>text/plain</type>
            <size>8867</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTE3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMDktMDItMjQgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQnVnIDI0MTEwOiBjbG9uZU5vZGUgc2hvdWxkIGNhbGwgY2xvbmVFbGVtZW50IGFuZCBu
b3QgdGhlIHJldmVyc2UKKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnQ6OmNsb25lTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpj
bG9uZUVsZW1lbnQpOiBJbmxpbmVkIGNsb25lTm9kZSBjb2RlIGludG8gY2xvbmVFbGVtZW50Lgor
ICAgICAgICAqIGRvbS9FbGVtZW50Lmg6IEFkZGVkIHRoZSBib29sZWFuIGFyZ3VtZW50LgorCisg
ICAgICAgICogZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHA6IAorICAgICAgICAoV2ViQ29y
ZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OmFkZElubGluZVN0eWxlSWZOZWVkZWQpOgorICAgICAgICAq
IGVkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpC
cmVha0Jsb2NrcXVvdGVDb21tYW5kOjpkb0FwcGx5KToKKyAgICAgICAgKiBlZGl0aW5nL0luZGVu
dE91dGRlbnRDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluZGVudE91dGRlbnRDb21t
YW5kOjppbmRlbnRSZWdpb24pOgorICAgICAgICAqIGVkaXRpbmcvSW5zZXJ0UGFyYWdyYXBoU2Vw
YXJhdG9yQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRQYXJhZ3JhcGhTZXBh
cmF0b3JDb21tYW5kOjpkb0FwcGx5KToKKyAgICAgICAgKiBlZGl0aW5nL01vZGlmeVNlbGVjdGlv
bkxpc3RMZXZlbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmNyZWFzZVNlbGVjdGlvbkxpc3RM
ZXZlbENvbW1hbmQ6OmRvQXBwbHkpOgorICAgICAgICAqIGVkaXRpbmcvU3BsaXRFbGVtZW50Q29t
bWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGxpdEVsZW1lbnRDb21tYW5kOjpkb0FwcGx5
KToKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVh
dGVGcmFnbWVudEZyb21UZXh0KToKKyAgICAgICAgRXhwbGljaXRseSBjYWxsIGNsb25lRWxlbWVu
dCB3aXRoIHRoZSBhcmd1bWVudCBkZWVwIHNldCB0byBmYWxzZS4KKwogMjAwOS0wMi0yMyAgQW50
dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xp
dmVyIEh1bnQuCkluZGV4OiBXZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gNDExNzApCisrKyBXZWJDb3JlL2RvbS9F
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgsNiArODgsMTEgQEAgTm9kZVJhcmVEYXRh
KiBFbGVtZW50OjpjcmVhdGVSYXJlRGF0YSgpCiAgICAgCiBQYXNzUmVmUHRyPE5vZGU+IEVsZW1l
bnQ6OmNsb25lTm9kZShib29sIGRlZXApCiB7CisgICAgcmV0dXJuIGNsb25lRWxlbWVudChkZWVw
KTsKK30KKworUGFzc1JlZlB0cjxFbGVtZW50PiBFbGVtZW50OjpjbG9uZUVsZW1lbnQoYm9vbCBk
ZWVwKQorewogICAgIFJlZlB0cjxFbGVtZW50PiBjbG9uZSA9IGRvY3VtZW50KCktPmNyZWF0ZUVs
ZW1lbnQodGFnUU5hbWUoKSwgZmFsc2UpOwogICAgIC8vIFRoaXMgd2lsbCBjYXRjaCBIVE1MIGVs
ZW1lbnRzIGluIHRoZSB3cm9uZyBuYW1lc3BhY2UgdGhhdCBhcmUgbm90IGNvcnJlY3RseSBjb3Bp
ZWQuCiAgICAgLy8gVGhpcyBpcyBhIHNhbml0eSBjaGVjayBhcyBIVE1MIG92ZXJsb2FkcyBzb21l
IG9mIHRoZSBET00gbWV0aG9kcy4KQEAgLTEwNSwxMSArMTEwLDYgQEAgUGFzc1JlZlB0cjxOb2Rl
PiBFbGVtZW50OjpjbG9uZU5vZGUoYm9vbAogICAgIHJldHVybiBjbG9uZS5yZWxlYXNlKCk7CiB9
CiAKLVBhc3NSZWZQdHI8RWxlbWVudD4gRWxlbWVudDo6Y2xvbmVFbGVtZW50KCkKLXsKLSAgICBy
ZXR1cm4gc3RhdGljX3BvaW50ZXJfY2FzdDxFbGVtZW50PihjbG9uZU5vZGUoZmFsc2UpKTsKLX0K
LQogdm9pZCBFbGVtZW50OjpyZW1vdmVBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFt
ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKG5hbWVkQXR0ck1hcCkgewpJbmRleDog
V2ViQ29yZS9kb20vRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0VsZW1lbnQu
aAkocmV2aXNpb24gNDExNzApCisrKyBXZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyMSw3ICsxMjEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZWRG
cm9tRG9jdW1lbnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hh
bmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVy
Q2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwogCi0gICAgUGFzc1JlZlB0cjxF
bGVtZW50PiBjbG9uZUVsZW1lbnQoKTsKKyAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNsb25lRWxl
bWVudChib29sIGRlZXApOwogCiAgICAgdm9pZCBub3JtYWxpemVBdHRyaWJ1dGVzKCk7CiAKSW5k
ZXg6IFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcAkocmV2aXNpb24gNDExNzApCisr
KyBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNTcyLDcgKzE1NzIsNyBAQCB2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjphZGRJbmxpbmVTdHls
ZUlmCiAgICAgICAgIHN1cnJvdW5kTm9kZVJhbmdlV2l0aEVsZW1lbnQoc3RhcnROb2RlLCBlbmRO
b2RlLCBjcmVhdGVIVE1MRWxlbWVudChkb2N1bWVudCgpLCBzdXBUYWcpKTsKIAogICAgIGlmICht
X3N0eWxlZElubGluZUVsZW1lbnQpCi0gICAgICAgIHN1cnJvdW5kTm9kZVJhbmdlV2l0aEVsZW1l
bnQoc3RhcnROb2RlLCBlbmROb2RlLCBtX3N0eWxlZElubGluZUVsZW1lbnQtPmNsb25lRWxlbWVu
dCgpKTsKKyAgICAgICAgc3Vycm91bmROb2RlUmFuZ2VXaXRoRWxlbWVudChzdGFydE5vZGUsIGVu
ZE5vZGUsIG1fc3R5bGVkSW5saW5lRWxlbWVudC0+Y2xvbmVFbGVtZW50KGZhbHNlKSk7CiB9CiAK
IGZsb2F0IEFwcGx5U3R5bGVDb21tYW5kOjpjb21wdXRlZEZvbnRTaXplKGNvbnN0IE5vZGUgKm5v
ZGUpCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0JyZWFrQmxvY2txdW90ZUNvbW1hbmQuY3BwCShy
ZXZpc2lvbiA0MTE3MCkKKysrIFdlYkNvcmUvZWRpdGluZy9CcmVha0Jsb2NrcXVvdGVDb21tYW5k
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDcgKzEwNyw3IEBAIHZvaWQgQnJlYWtCbG9ja3F1
b3RlQ29tbWFuZDo6ZG9BcHBseSgpCiAgICAgICAgIGFuY2VzdG9ycy5hcHBlbmQobm9kZSk7CiAg
ICAgCiAgICAgLy8gSW5zZXJ0IGEgY2xvbmUgb2YgdGhlIHRvcCBibG9ja3F1b3RlIGFmdGVyIHRo
ZSBicmVhay4KLSAgICBSZWZQdHI8RWxlbWVudD4gY2xvbmVkQmxvY2txdW90ZSA9IHRvcEJsb2Nr
cXVvdGUtPmNsb25lRWxlbWVudCgpOworICAgIFJlZlB0cjxFbGVtZW50PiBjbG9uZWRCbG9ja3F1
b3RlID0gdG9wQmxvY2txdW90ZS0+Y2xvbmVFbGVtZW50KGZhbHNlKTsKICAgICBpbnNlcnROb2Rl
QWZ0ZXIoY2xvbmVkQmxvY2txdW90ZS5nZXQoKSwgYnJlYWtOb2RlLmdldCgpKTsKICAgICAKICAg
ICAvLyBDbG9uZSBzdGFydE5vZGUncyBhbmNlc3RvcnMgaW50byB0aGUgY2xvbmVkIGJsb2NrcXVv
dGUuCkBAIC0xMTYsNyArMTE2LDcgQEAgdm9pZCBCcmVha0Jsb2NrcXVvdGVDb21tYW5kOjpkb0Fw
cGx5KCkKICAgICAvLyBvciBjbG9uZWRCbG9ja3F1b3RlIGlmIGFuY2VzdG9ycyBpcyBlbXB0eSku
CiAgICAgUmVmUHRyPEVsZW1lbnQ+IGNsb25lZEFuY2VzdG9yID0gY2xvbmVkQmxvY2txdW90ZTsK
ICAgICBmb3IgKHNpemVfdCBpID0gYW5jZXN0b3JzLnNpemUoKTsgaSAhPSAwOyAtLWkpIHsKLSAg
ICAgICAgUmVmUHRyPEVsZW1lbnQ+IGNsb25lZENoaWxkID0gYW5jZXN0b3JzW2kgLSAxXS0+Y2xv
bmVFbGVtZW50KCk7IC8vIHNoYWxsb3cgY2xvbmUKKyAgICAgICAgUmVmUHRyPEVsZW1lbnQ+IGNs
b25lZENoaWxkID0gYW5jZXN0b3JzW2kgLSAxXS0+Y2xvbmVFbGVtZW50KGZhbHNlKTsgLy8gc2hh
bGxvdyBjbG9uZQogICAgICAgICAvLyBQcmVzZXJ2ZSBsaXN0IGl0ZW0gbnVtYmVyaW5nIGluIGNs
b25lZCBsaXN0cy4KICAgICAgICAgaWYgKGNsb25lZENoaWxkLT5pc0VsZW1lbnROb2RlKCkgJiYg
Y2xvbmVkQ2hpbGQtPmhhc1RhZ05hbWUob2xUYWcpKSB7CiAgICAgICAgICAgICBOb2RlKiBsaXN0
Q2hpbGROb2RlID0gaSA+IDEgPyBhbmNlc3RvcnNbaSAtIDJdIDogc3RhcnROb2RlOwpJbmRleDog
V2ViQ29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2VkaXRpbmcvSW5kZW50T3V0ZGVudENvbW1hbmQuY3BwCShyZXZpc2lvbiA0MTE3MCkK
KysrIFdlYkNvcmUvZWRpdGluZy9JbmRlbnRPdXRkZW50Q29tbWFuZC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lkIEluZGVudE91dGRlbnRDb21tYW5kOjppbmRlbnRS
ZWdpb24oCiAgICAgICAgICAgICAgICAgYXBwZW5kTm9kZShwbGFjZWhvbGRlciwgbGlzdEl0ZW0p
OwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAvLyBDbG9uZSB0aGUgbGlz
dCBlbGVtZW50LCBpbnNlcnQgaXQgYmVmb3JlIHRoZSBjdXJyZW50IHBhcmFncmFwaCwgYW5kIG1v
dmUgdGhlIHBhcmFncmFwaCBpbnRvIGl0LgotICAgICAgICAgICAgICAgIFJlZlB0cjxFbGVtZW50
PiBjbG9uZWRMaXN0ID0gbGlzdE5vZGUtPmNsb25lRWxlbWVudCgpOworICAgICAgICAgICAgICAg
IFJlZlB0cjxFbGVtZW50PiBjbG9uZWRMaXN0ID0gbGlzdE5vZGUtPmNsb25lRWxlbWVudChmYWxz
ZSk7CiAgICAgICAgICAgICAgICAgaW5zZXJ0Tm9kZUJlZm9yZShjbG9uZWRMaXN0LCBlbmNsb3Np
bmdMaXN0Q2hpbGQoZW5kT2ZDdXJyZW50UGFyYWdyYXBoLmRlZXBFcXVpdmFsZW50KCkubm9kZSgp
KSk7CiAgICAgICAgICAgICAgICAgYXBwZW5kTm9kZShsaXN0SXRlbSwgY2xvbmVkTGlzdCk7CiAg
ICAgICAgICAgICAgICAgYXBwZW5kTm9kZShwbGFjZWhvbGRlciwgbGlzdEl0ZW0pOwpJbmRleDog
V2ViQ29yZS9lZGl0aW5nL0luc2VydFBhcmFncmFwaFNlcGFyYXRvckNvbW1hbmQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9JbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5k
LmNwcAkocmV2aXNpb24gNDExNzApCisrKyBXZWJDb3JlL2VkaXRpbmcvSW5zZXJ0UGFyYWdyYXBo
U2VwYXJhdG9yQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Nyw3ICsxNjcsNyBAQCB2
b2lkIEluc2VydFBhcmFncmFwaFNlcGFyYXRvckNvbW1hbmQ6OmRvCiAgICAgfSBlbHNlIGlmIChz
aG91bGRVc2VEZWZhdWx0UGFyYWdyYXBoRWxlbWVudChzdGFydEJsb2NrKSkgCiAgICAgICAgIGJs
b2NrVG9JbnNlcnQgPSBjcmVhdGVEZWZhdWx0UGFyYWdyYXBoRWxlbWVudChkb2N1bWVudCgpKTsK
ICAgICBlbHNlCi0gICAgICAgIGJsb2NrVG9JbnNlcnQgPSBzdGFydEJsb2NrLT5jbG9uZUVsZW1l
bnQoKTsKKyAgICAgICAgYmxvY2tUb0luc2VydCA9IHN0YXJ0QmxvY2stPmNsb25lRWxlbWVudChm
YWxzZSk7CiAgICAgCiAgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAvLyBIYW5kbGUgY2FzZSB3aGVu
IHBvc2l0aW9uIGlzIGluIHRoZSBsYXN0IHZpc2libGUgcG9zaXRpb24gaW4gaXRzIGJsb2NrLApA
QCAtMjc0LDcgKzI3NCw3IEBAIHZvaWQgSW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9yQ29tbWFuZDo6
ZG8KICAgICAvLyBNYWtlIGNsb25lcyBvZiBhbmNlc3RvcnMgaW4gYmV0d2VlbiB0aGUgc3RhcnQg
bm9kZSBhbmQgdGhlIHN0YXJ0IGJsb2NrLgogICAgIFJlZlB0cjxFbGVtZW50PiBwYXJlbnQgPSBi
bG9ja1RvSW5zZXJ0OwogICAgIGZvciAoc2l6ZV90IGkgPSBhbmNlc3RvcnMuc2l6ZSgpOyBpICE9
IDA7IC0taSkgewotICAgICAgICBSZWZQdHI8RWxlbWVudD4gY2hpbGQgPSBhbmNlc3RvcnNbaSAt
IDFdLT5jbG9uZUVsZW1lbnQoKTsgLy8gc2hhbGxvdyBjbG9uZQorICAgICAgICBSZWZQdHI8RWxl
bWVudD4gY2hpbGQgPSBhbmNlc3RvcnNbaSAtIDFdLT5jbG9uZUVsZW1lbnQoZmFsc2UpOyAvLyBz
aGFsbG93IGNsb25lCiAgICAgICAgIGFwcGVuZE5vZGUoY2hpbGQsIHBhcmVudCk7CiAgICAgICAg
IHBhcmVudCA9IGNoaWxkLnJlbGVhc2UoKTsKICAgICB9CkluZGV4OiBXZWJDb3JlL2VkaXRpbmcv
TW9kaWZ5U2VsZWN0aW9uTGlzdExldmVsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRp
bmcvTW9kaWZ5U2VsZWN0aW9uTGlzdExldmVsLmNwcAkocmV2aXNpb24gNDExNzApCisrKyBXZWJD
b3JlL2VkaXRpbmcvTW9kaWZ5U2VsZWN0aW9uTGlzdExldmVsLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgSW5jcmVhc2VTZWxlY3Rpb25MaXN0TGV2ZWxDb21tYW5k
OjoKICAgICAgICAgICAgIGNhc2UgSW5oZXJpdGVkTGlzdFR5cGU6CiAgICAgICAgICAgICAgICAg
bmV3UGFyZW50ID0gc3RhcnRMaXN0Q2hpbGQtPnBhcmVudEVsZW1lbnQoKTsKICAgICAgICAgICAg
ICAgICBpZiAobmV3UGFyZW50KQotICAgICAgICAgICAgICAgICAgICBuZXdQYXJlbnQgPSBuZXdQ
YXJlbnQtPmNsb25lRWxlbWVudCgpOworICAgICAgICAgICAgICAgICAgICBuZXdQYXJlbnQgPSBu
ZXdQYXJlbnQtPmNsb25lRWxlbWVudChmYWxzZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICBjYXNlIE9yZGVyZWRMaXN0OgogICAgICAgICAgICAgICAgIG5ld1BhcmVudCA9
IGNyZWF0ZU9yZGVyZWRMaXN0RWxlbWVudChkb2N1bWVudCgpKTsKSW5kZXg6IFdlYkNvcmUvZWRp
dGluZy9TcGxpdEVsZW1lbnRDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRp
bmcvU3BsaXRFbGVtZW50Q29tbWFuZC5jcHAJKHJldmlzaW9uIDQxMTcwKQorKysgV2ViQ29yZS9l
ZGl0aW5nL1NwbGl0RWxlbWVudENvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0
Myw3IEBAIFNwbGl0RWxlbWVudENvbW1hbmQ6OlNwbGl0RWxlbWVudENvbW1hbmQKIAogdm9pZCBT
cGxpdEVsZW1lbnRDb21tYW5kOjpkb0FwcGx5KCkKIHsKLSAgICBSZWZQdHI8RWxlbWVudD4gcHJl
Zml4RWxlbWVudCA9IG1fZWxlbWVudDItPmNsb25lRWxlbWVudCgpOworICAgIFJlZlB0cjxFbGVt
ZW50PiBwcmVmaXhFbGVtZW50ID0gbV9lbGVtZW50Mi0+Y2xvbmVFbGVtZW50KGZhbHNlKTsKIAog
ICAgIGlmIChtX2F0Q2hpbGQtPnBhcmVudE5vZGUoKSAhPSBtX2VsZW1lbnQyKQogICAgICAgICBy
ZXR1cm47CkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAkocmV2aXNpb24gNDExNzApCisrKyBXZWJDb3JlL2Vk
aXRpbmcvbWFya3VwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE1Myw3ICsxMTUzLDcgQEAgUGFz
c1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBjcmVhdGVGcmFnbQogICAgICAgICAgICAgZWxlbWVu
dC0+c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgQXBwbGVJbnRlcmNoYW5nZU5ld2xpbmUpOyAgICAg
ICAgICAgIAogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKHVzZUNsb25lc09mRW5j
bG9zaW5nQmxvY2spCi0gICAgICAgICAgICAgICAgZWxlbWVudCA9IGJsb2NrLT5jbG9uZUVsZW1l
bnQoKTsKKyAgICAgICAgICAgICAgICBlbGVtZW50ID0gYmxvY2stPmNsb25lRWxlbWVudChmYWxz
ZSk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgZWxlbWVudCA9IGNyZWF0ZURl
ZmF1bHRQYXJhZ3JhcGhFbGVtZW50KGRvY3VtZW50KTsKICAgICAgICAgICAgIGZpbGxDb250YWlu
ZXJGcm9tU3RyaW5nKGVsZW1lbnQuZ2V0KCksIHMpOwo=
</data>
<flag name="review"
          id="13588"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28355</attachid>
            <date>2009-03-06 03:14:39 -0800</date>
            <delta_ts>2009-03-06 07:11:37 -0800</delta_ts>
            <desc>Version updated that should address all Darin&apos;s comments</desc>
            <filename>bug24110-cloneElement-updated.diff</filename>
            <type>text/plain</type>
            <size>12678</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTQ3NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDUgQEAKKzIwMDktMDMtMDUgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQnVnIDI0MTEwOiBjbG9uZU5vZGUgc2hvdWxkIGNhbGwgY2xvbmVFbGVtZW50IGFuZCBu
b3QgdGhlIHJldmVyc2UKKworICAgICAgICAtIFNwbGl0dGVkIHRoZSBjb2RlIGZyb20gY2xvbmVO
b2RlIGludG8gY2xvbmVFbGVtZW50V2l0aENoaWxkcmVuIGFuZCBjbG9uZUVsZW1lbnRXaXRoQ2hp
bGRyZW4uCisgICAgICAgICAgTm93IGNsb25lTm9kZSBjYWxscyBvbmUgb2YgdGhlIDIgcHJldmlv
dXMgbWV0aG9kcy4KKworICAgICAgICAtIFJlbmFtZWQgY2xvbmVFbGVtZW50IHRvIGNsb25lRWxl
bWVudFdpdGhvdXRDaGlsZHJlbiBhcyBpdCB3YXMgdGhlIHByZXZpb3VzIGJlaGF2aW91ci4KKwor
ICAgICAgICAtIE1vdmVkIGNsb25lTm9kZSB0byB0aGUgRWxlbWVudCBwcml2YXRlIHNlY3Rpb24g
c28gdGhhdCBXZWJDb3JlIGNhbGxlcnMgY2Fubm90IHVzZSBpdC4KKworICAgICAgICAtIFJlbW92
ZWQgRWxlbWVudDo6Y2xvbmVOb2RlIHVzYWdlIHRocm91Z2ggV2ViQ29yZS4KKworICAgICAgICAq
IGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsb25lTm9kZSk6
IE1vdmVkIHRvIEVsZW1lbnQncyBwcml2YXRlIHNlY3Rpb24gYW5kIGl0CisgICAgICAgIG5vdyBj
YWxscyB0aGUgdHdvIG5leHQgbWV0aG9kcy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNs
b25lRWxlbWVudFdpdGhDaGlsZHJlbik6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6Y2xvbmVFbGVtZW50V2l0aG91dENoaWxkcmVuKTogUmVuYW1lZCBmcm9tIGNsb25lRWxlbWVu
dAorICAgICAgICB0byBhdm9pZCBhbWJpZ3VpdHkuCisgICAgICAgICogZG9tL0VsZW1lbnQuaDoK
KworICAgICAgICAqIGVkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OmFkZElubGluZVN0eWxlSWZOZWVkZWQpOiBDaGFuZ2Vk
IGNhbGwgdG8gY2xvbmVFbGVtZW50CisgICAgICAgIHRvIGNhbGwgdG8gY2xvbmVFbGVtZW50V2l0
aG91dENoaWxkcmVuLgorICAgICAgICAqIGVkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpCcmVha0Jsb2NrcXVvdGVDb21tYW5kOjpkb0FwcGx5KTog
RGl0dG8uCisgICAgICAgICogZWRpdGluZy9JbmRlbnRPdXRkZW50Q29tbWFuZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbmRlbnRPdXRkZW50Q29tbWFuZDo6aW5kZW50UmVnaW9uKTogRGl0dG8u
CisgICAgICAgICogZWRpdGluZy9JbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5kLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc2VydFBhcmFncmFwaFNlcGFyYXRvckNvbW1hbmQ6OmRvQXBw
bHkpOiBEaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL01vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbmNyZWFzZVNlbGVjdGlvbkxpc3RMZXZlbENvbW1hbmQ6
OmRvQXBwbHkpOiBEaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL1NwbGl0RWxlbWVudENvbW1hbmQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BsaXRFbGVtZW50Q29tbWFuZDo6ZG9BcHBseSk6IERp
dHRvLgorICAgICAgICAqIGVkaXRpbmcvbWFya3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNy
ZWF0ZUZyYWdtZW50RnJvbVRleHQpOiBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50OjpidWlsZFNoYWRvd1RyZWUp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmV4cGFuZFVzZUVsZW1l
bnRzSW5TaGFkb3dUcmVlKTogRGl0dG8uCisKIDIwMDktMDMtMDUgIFNpbW9uZSBGaW9yZW50aW5v
ICA8c2ltb25lLmZpb3JlbnRpbm9AY29uc3VsZW50aS5mYXN0d2ViLml0PgogCiAgICAgICAgIEJ1
ZyAyNDM4MjogcmVxdWVzdCB0byBhZGQgU0g0IHBsYXRmb3JtCkluZGV4OiBXZWJDb3JlL2RvbS9F
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNp
b24gNDE0NzUpCisrKyBXZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
ODgsNiArODgsMTggQEAgTm9kZVJhcmVEYXRhKiBFbGVtZW50OjpjcmVhdGVSYXJlRGF0YSgpCiAg
ICAgCiBQYXNzUmVmUHRyPE5vZGU+IEVsZW1lbnQ6OmNsb25lTm9kZShib29sIGRlZXApCiB7Cisg
ICAgcmV0dXJuIGRlZXAgPyBjbG9uZUVsZW1lbnRXaXRoQ2hpbGRyZW4oKSA6IGNsb25lRWxlbWVu
dFdpdGhvdXRDaGlsZHJlbigpOworfQorCitQYXNzUmVmUHRyPEVsZW1lbnQ+IEVsZW1lbnQ6OmNs
b25lRWxlbWVudFdpdGhDaGlsZHJlbigpCit7CisgICAgUmVmUHRyPEVsZW1lbnQ+IGNsb25lID0g
Y2xvbmVFbGVtZW50V2l0aG91dENoaWxkcmVuKCk7CisgICAgY2xvbmVDaGlsZE5vZGVzKGNsb25l
LmdldCgpKTsKKyAgICByZXR1cm4gY2xvbmUucmVsZWFzZSgpOworfQorCitQYXNzUmVmUHRyPEVs
ZW1lbnQ+IEVsZW1lbnQ6OmNsb25lRWxlbWVudFdpdGhvdXRDaGlsZHJlbigpCit7CiAgICAgUmVm
UHRyPEVsZW1lbnQ+IGNsb25lID0gZG9jdW1lbnQoKS0+Y3JlYXRlRWxlbWVudCh0YWdRTmFtZSgp
LCBmYWxzZSk7CiAgICAgLy8gVGhpcyB3aWxsIGNhdGNoIEhUTUwgZWxlbWVudHMgaW4gdGhlIHdy
b25nIG5hbWVzcGFjZSB0aGF0IGFyZSBub3QgY29ycmVjdGx5IGNvcGllZC4KICAgICAvLyBUaGlz
IGlzIGEgc2FuaXR5IGNoZWNrIGFzIEhUTUwgb3ZlcmxvYWRzIHNvbWUgb2YgdGhlIERPTSBtZXRo
b2RzLgpAQCAtOTksMTcgKzExMSw5IEBAIFBhc3NSZWZQdHI8Tm9kZT4gRWxlbWVudDo6Y2xvbmVO
b2RlKGJvb2wKIAogICAgIGNsb25lLT5jb3B5Tm9uQXR0cmlidXRlUHJvcGVydGllcyh0aGlzKTsK
ICAgICAKLSAgICBpZiAoZGVlcCkKLSAgICAgICAgY2xvbmVDaGlsZE5vZGVzKGNsb25lLmdldCgp
KTsKLQogICAgIHJldHVybiBjbG9uZS5yZWxlYXNlKCk7CiB9CiAKLVBhc3NSZWZQdHI8RWxlbWVu
dD4gRWxlbWVudDo6Y2xvbmVFbGVtZW50KCkKLXsKLSAgICByZXR1cm4gc3RhdGljX3BvaW50ZXJf
Y2FzdDxFbGVtZW50PihjbG9uZU5vZGUoZmFsc2UpKTsKLX0KLQogdm9pZCBFbGVtZW50OjpyZW1v
dmVBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMp
CiB7CiAgICAgaWYgKG5hbWVkQXR0ck1hcCkgewpJbmRleDogV2ViQ29yZS9kb20vRWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0VsZW1lbnQuaAkocmV2aXNpb24gNDE0NzUpCisr
KyBXZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTExNSwxMyArMTE1LDEz
IEBAIHB1YmxpYzoKIAogICAgIC8vIERPTSBtZXRob2RzIG92ZXJyaWRkZW4gZnJvbSBwYXJlbnQg
Y2xhc3NlcwogICAgIHZpcnR1YWwgTm9kZVR5cGUgbm9kZVR5cGUoKSBjb25zdDsKLSAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8Tm9kZT4gY2xvbmVOb2RlKGJvb2wgZGVlcCk7CiAgICAgdmlydHVhbCBT
dHJpbmcgbm9kZU5hbWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9j
dW1lbnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwogICAgIHZp
cnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwg
Tm9kZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRD
b3VudERlbHRhID0gMCk7CiAKLSAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNsb25lRWxlbWVudCgp
OworICAgIFBhc3NSZWZQdHI8RWxlbWVudD4gY2xvbmVFbGVtZW50V2l0aENoaWxkcmVuKCk7Cisg
ICAgUGFzc1JlZlB0cjxFbGVtZW50PiBjbG9uZUVsZW1lbnRXaXRob3V0Q2hpbGRyZW4oKTsKIAog
ICAgIHZvaWQgbm9ybWFsaXplQXR0cmlidXRlcygpOwogCkBAIC0yMTksNiArMjE5LDEwIEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHZpcnR1YWxMb2NhbE5hbWUo
KSBjb25zdCB7IHJldHVybiBsb2NhbE5hbWUoKTsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWlj
U3RyaW5nJiB2aXJ0dWFsTmFtZXNwYWNlVVJJKCkgY29uc3QgeyByZXR1cm4gbmFtZXNwYWNlVVJJ
KCk7IH0KICAgICAKKyAgICAvLyBjbG9uZU5vZGUgaXMgcHJpdmF0ZSBzbyB0aGF0IG5vbi12aXJ0
dWFsIGNsb25lRWxlbWVudFdpdGhDaGlsZHJlbiBhbmQgY2xvbmVFbGVtZW50V2l0aG91dENoaWxk
cmVuCisgICAgLy8gYXJlIHVzZWQgaW5zdGVhZC4KKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9k
ZT4gY2xvbmVOb2RlKGJvb2wgZGVlcCk7CisKICAgICBRdWFsaWZpZWROYW1lIG1fdGFnTmFtZTsK
ICAgICB2aXJ0dWFsIE5vZGVSYXJlRGF0YSogY3JlYXRlUmFyZURhdGEoKTsKIApJbmRleDogV2Vi
Q29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCShyZXZpc2lvbiA0MTQ3NSkKKysrIFdlYkNv
cmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1NzIs
NyArMTU3Miw3IEBAIHZvaWQgQXBwbHlTdHlsZUNvbW1hbmQ6OmFkZElubGluZVN0eWxlSWYKICAg
ICAgICAgc3Vycm91bmROb2RlUmFuZ2VXaXRoRWxlbWVudChzdGFydE5vZGUsIGVuZE5vZGUsIGNy
ZWF0ZUhUTUxFbGVtZW50KGRvY3VtZW50KCksIHN1cFRhZykpOwogCiAgICAgaWYgKG1fc3R5bGVk
SW5saW5lRWxlbWVudCkKLSAgICAgICAgc3Vycm91bmROb2RlUmFuZ2VXaXRoRWxlbWVudChzdGFy
dE5vZGUsIGVuZE5vZGUsIG1fc3R5bGVkSW5saW5lRWxlbWVudC0+Y2xvbmVFbGVtZW50KCkpOwor
ICAgICAgICBzdXJyb3VuZE5vZGVSYW5nZVdpdGhFbGVtZW50KHN0YXJ0Tm9kZSwgZW5kTm9kZSwg
bV9zdHlsZWRJbmxpbmVFbGVtZW50LT5jbG9uZUVsZW1lbnRXaXRob3V0Q2hpbGRyZW4oKSk7CiB9
CiAKIGZsb2F0IEFwcGx5U3R5bGVDb21tYW5kOjpjb21wdXRlZEZvbnRTaXplKGNvbnN0IE5vZGUg
Km5vZGUpCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0JyZWFrQmxvY2txdW90ZUNvbW1hbmQuY3Bw
CShyZXZpc2lvbiA0MTQ3NSkKKysrIFdlYkNvcmUvZWRpdGluZy9CcmVha0Jsb2NrcXVvdGVDb21t
YW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDcgKzEwNyw3IEBAIHZvaWQgQnJlYWtCbG9j
a3F1b3RlQ29tbWFuZDo6ZG9BcHBseSgpCiAgICAgICAgIGFuY2VzdG9ycy5hcHBlbmQobm9kZSk7
CiAgICAgCiAgICAgLy8gSW5zZXJ0IGEgY2xvbmUgb2YgdGhlIHRvcCBibG9ja3F1b3RlIGFmdGVy
IHRoZSBicmVhay4KLSAgICBSZWZQdHI8RWxlbWVudD4gY2xvbmVkQmxvY2txdW90ZSA9IHRvcEJs
b2NrcXVvdGUtPmNsb25lRWxlbWVudCgpOworICAgIFJlZlB0cjxFbGVtZW50PiBjbG9uZWRCbG9j
a3F1b3RlID0gdG9wQmxvY2txdW90ZS0+Y2xvbmVFbGVtZW50V2l0aG91dENoaWxkcmVuKCk7CiAg
ICAgaW5zZXJ0Tm9kZUFmdGVyKGNsb25lZEJsb2NrcXVvdGUuZ2V0KCksIGJyZWFrTm9kZS5nZXQo
KSk7CiAgICAgCiAgICAgLy8gQ2xvbmUgc3RhcnROb2RlJ3MgYW5jZXN0b3JzIGludG8gdGhlIGNs
b25lZCBibG9ja3F1b3RlLgpAQCAtMTE2LDcgKzExNiw3IEBAIHZvaWQgQnJlYWtCbG9ja3F1b3Rl
Q29tbWFuZDo6ZG9BcHBseSgpCiAgICAgLy8gb3IgY2xvbmVkQmxvY2txdW90ZSBpZiBhbmNlc3Rv
cnMgaXMgZW1wdHkpLgogICAgIFJlZlB0cjxFbGVtZW50PiBjbG9uZWRBbmNlc3RvciA9IGNsb25l
ZEJsb2NrcXVvdGU7CiAgICAgZm9yIChzaXplX3QgaSA9IGFuY2VzdG9ycy5zaXplKCk7IGkgIT0g
MDsgLS1pKSB7Ci0gICAgICAgIFJlZlB0cjxFbGVtZW50PiBjbG9uZWRDaGlsZCA9IGFuY2VzdG9y
c1tpIC0gMV0tPmNsb25lRWxlbWVudCgpOyAvLyBzaGFsbG93IGNsb25lCisgICAgICAgIFJlZlB0
cjxFbGVtZW50PiBjbG9uZWRDaGlsZCA9IGFuY2VzdG9yc1tpIC0gMV0tPmNsb25lRWxlbWVudFdp
dGhvdXRDaGlsZHJlbigpOwogICAgICAgICAvLyBQcmVzZXJ2ZSBsaXN0IGl0ZW0gbnVtYmVyaW5n
IGluIGNsb25lZCBsaXN0cy4KICAgICAgICAgaWYgKGNsb25lZENoaWxkLT5pc0VsZW1lbnROb2Rl
KCkgJiYgY2xvbmVkQ2hpbGQtPmhhc1RhZ05hbWUob2xUYWcpKSB7CiAgICAgICAgICAgICBOb2Rl
KiBsaXN0Q2hpbGROb2RlID0gaSA+IDEgPyBhbmNlc3RvcnNbaSAtIDJdIDogc3RhcnROb2RlOwpJ
bmRleDogV2ViQ29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2VkaXRpbmcvSW5kZW50T3V0ZGVudENvbW1hbmQuY3BwCShyZXZpc2lvbiA0
MTQ3NSkKKysrIFdlYkNvcmUvZWRpdGluZy9JbmRlbnRPdXRkZW50Q29tbWFuZC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lkIEluZGVudE91dGRlbnRDb21tYW5kOjpp
bmRlbnRSZWdpb24oCiAgICAgICAgICAgICAgICAgYXBwZW5kTm9kZShwbGFjZWhvbGRlciwgbGlz
dEl0ZW0pOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAvLyBDbG9uZSB0
aGUgbGlzdCBlbGVtZW50LCBpbnNlcnQgaXQgYmVmb3JlIHRoZSBjdXJyZW50IHBhcmFncmFwaCwg
YW5kIG1vdmUgdGhlIHBhcmFncmFwaCBpbnRvIGl0LgotICAgICAgICAgICAgICAgIFJlZlB0cjxF
bGVtZW50PiBjbG9uZWRMaXN0ID0gbGlzdE5vZGUtPmNsb25lRWxlbWVudCgpOworICAgICAgICAg
ICAgICAgIFJlZlB0cjxFbGVtZW50PiBjbG9uZWRMaXN0ID0gbGlzdE5vZGUtPmNsb25lRWxlbWVu
dFdpdGhvdXRDaGlsZHJlbigpOwogICAgICAgICAgICAgICAgIGluc2VydE5vZGVCZWZvcmUoY2xv
bmVkTGlzdCwgZW5jbG9zaW5nTGlzdENoaWxkKGVuZE9mQ3VycmVudFBhcmFncmFwaC5kZWVwRXF1
aXZhbGVudCgpLm5vZGUoKSkpOwogICAgICAgICAgICAgICAgIGFwcGVuZE5vZGUobGlzdEl0ZW0s
IGNsb25lZExpc3QpOwogICAgICAgICAgICAgICAgIGFwcGVuZE5vZGUocGxhY2Vob2xkZXIsIGxp
c3RJdGVtKTsKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9JbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JD
b21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvSW5zZXJ0UGFyYWdyYXBo
U2VwYXJhdG9yQ29tbWFuZC5jcHAJKHJldmlzaW9uIDQxNDc1KQorKysgV2ViQ29yZS9lZGl0aW5n
L0luc2VydFBhcmFncmFwaFNlcGFyYXRvckNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NjcsNyArMTY3LDcgQEAgdm9pZCBJbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5kOjpkbwog
ICAgIH0gZWxzZSBpZiAoc2hvdWxkVXNlRGVmYXVsdFBhcmFncmFwaEVsZW1lbnQoc3RhcnRCbG9j
aykpIAogICAgICAgICBibG9ja1RvSW5zZXJ0ID0gY3JlYXRlRGVmYXVsdFBhcmFncmFwaEVsZW1l
bnQoZG9jdW1lbnQoKSk7CiAgICAgZWxzZQotICAgICAgICBibG9ja1RvSW5zZXJ0ID0gc3RhcnRC
bG9jay0+Y2xvbmVFbGVtZW50KCk7CisgICAgICAgIGJsb2NrVG9JbnNlcnQgPSBzdGFydEJsb2Nr
LT5jbG9uZUVsZW1lbnRXaXRob3V0Q2hpbGRyZW4oKTsKICAgICAKICAgICAvLy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogICAgIC8vIEhhbmRsZSBjYXNlIHdoZW4gcG9zaXRpb24gaXMgaW4gdGhlIGxhc3QgdmlzaWJs
ZSBwb3NpdGlvbiBpbiBpdHMgYmxvY2ssCkBAIC0yNzQsNyArMjc0LDcgQEAgdm9pZCBJbnNlcnRQ
YXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5kOjpkbwogICAgIC8vIE1ha2UgY2xvbmVzIG9mIGFuY2Vz
dG9ycyBpbiBiZXR3ZWVuIHRoZSBzdGFydCBub2RlIGFuZCB0aGUgc3RhcnQgYmxvY2suCiAgICAg
UmVmUHRyPEVsZW1lbnQ+IHBhcmVudCA9IGJsb2NrVG9JbnNlcnQ7CiAgICAgZm9yIChzaXplX3Qg
aSA9IGFuY2VzdG9ycy5zaXplKCk7IGkgIT0gMDsgLS1pKSB7Ci0gICAgICAgIFJlZlB0cjxFbGVt
ZW50PiBjaGlsZCA9IGFuY2VzdG9yc1tpIC0gMV0tPmNsb25lRWxlbWVudCgpOyAvLyBzaGFsbG93
IGNsb25lCisgICAgICAgIFJlZlB0cjxFbGVtZW50PiBjaGlsZCA9IGFuY2VzdG9yc1tpIC0gMV0t
PmNsb25lRWxlbWVudFdpdGhvdXRDaGlsZHJlbigpOwogICAgICAgICBhcHBlbmROb2RlKGNoaWxk
LCBwYXJlbnQpOwogICAgICAgICBwYXJlbnQgPSBjaGlsZC5yZWxlYXNlKCk7CiAgICAgfQpJbmRl
eDogV2ViQ29yZS9lZGl0aW5nL01vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9lZGl0aW5nL01vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5jcHAJKHJldmlz
aW9uIDQxNDc1KQorKysgV2ViQ29yZS9lZGl0aW5nL01vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIEluY3JlYXNlU2VsZWN0
aW9uTGlzdExldmVsQ29tbWFuZDo6CiAgICAgICAgICAgICBjYXNlIEluaGVyaXRlZExpc3RUeXBl
OgogICAgICAgICAgICAgICAgIG5ld1BhcmVudCA9IHN0YXJ0TGlzdENoaWxkLT5wYXJlbnRFbGVt
ZW50KCk7CiAgICAgICAgICAgICAgICAgaWYgKG5ld1BhcmVudCkKLSAgICAgICAgICAgICAgICAg
ICAgbmV3UGFyZW50ID0gbmV3UGFyZW50LT5jbG9uZUVsZW1lbnQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgbmV3UGFyZW50ID0gbmV3UGFyZW50LT5jbG9uZUVsZW1lbnRXaXRob3V0Q2hpbGRyZW4o
KTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgT3JkZXJlZExpc3Q6
CiAgICAgICAgICAgICAgICAgbmV3UGFyZW50ID0gY3JlYXRlT3JkZXJlZExpc3RFbGVtZW50KGRv
Y3VtZW50KCkpOwpJbmRleDogV2ViQ29yZS9lZGl0aW5nL1NwbGl0RWxlbWVudENvbW1hbmQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9TcGxpdEVsZW1lbnRDb21tYW5kLmNwcAko
cmV2aXNpb24gNDE0NzUpCisrKyBXZWJDb3JlL2VkaXRpbmcvU3BsaXRFbGVtZW50Q29tbWFuZC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAgU3BsaXRFbGVtZW50Q29tbWFuZDo6
U3BsaXRFbGVtZW50Q29tbWFuZAogCiB2b2lkIFNwbGl0RWxlbWVudENvbW1hbmQ6OmRvQXBwbHko
KQogewotICAgIFJlZlB0cjxFbGVtZW50PiBwcmVmaXhFbGVtZW50ID0gbV9lbGVtZW50Mi0+Y2xv
bmVFbGVtZW50KCk7CisgICAgUmVmUHRyPEVsZW1lbnQ+IHByZWZpeEVsZW1lbnQgPSBtX2VsZW1l
bnQyLT5jbG9uZUVsZW1lbnRXaXRob3V0Q2hpbGRyZW4oKTsKIAogICAgIGlmIChtX2F0Q2hpbGQt
PnBhcmVudE5vZGUoKSAhPSBtX2VsZW1lbnQyKQogICAgICAgICByZXR1cm47CkluZGV4OiBXZWJD
b3JlL2VkaXRpbmcvbWFya3VwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvbWFy
a3VwLmNwcAkocmV2aXNpb24gNDE0NzUpCisrKyBXZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTE1Myw3ICsxMTUzLDcgQEAgUGFzc1JlZlB0cjxEb2N1bWVudEZy
YWdtZW50PiBjcmVhdGVGcmFnbQogICAgICAgICAgICAgZWxlbWVudC0+c2V0QXR0cmlidXRlKGNs
YXNzQXR0ciwgQXBwbGVJbnRlcmNoYW5nZU5ld2xpbmUpOyAgICAgICAgICAgIAogICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgaWYgKHVzZUNsb25lc09mRW5jbG9zaW5nQmxvY2spCi0gICAg
ICAgICAgICAgICAgZWxlbWVudCA9IGJsb2NrLT5jbG9uZUVsZW1lbnQoKTsKKyAgICAgICAgICAg
ICAgICBlbGVtZW50ID0gYmxvY2stPmNsb25lRWxlbWVudFdpdGhvdXRDaGlsZHJlbigpOwogICAg
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGVsZW1lbnQgPSBjcmVhdGVEZWZhdWx0UGFy
YWdyYXBoRWxlbWVudChkb2N1bWVudCk7CiAgICAgICAgICAgICBmaWxsQ29udGFpbmVyRnJvbVN0
cmluZyhlbGVtZW50LmdldCgpLCBzKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCShyZXZpc2lv
biA0MTQ3NSkKKysrIFdlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01NjQsMTAgKzU2NCwxMCBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OmJ1aWxkU2hhZG93VHJl
ZShTVkdFCiAgICAgaWYgKGlzRGlzYWxsb3dlZEVsZW1lbnQodGFyZ2V0KSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgUmVmUHRyPE5vZGU+IG5ld0NoaWxkID0gdGFyZ2V0SW5zdGFuY2UtPmNvcnJl
c3BvbmRpbmdFbGVtZW50KCktPmNsb25lTm9kZSh0cnVlKTsKKyAgICBSZWZQdHI8RWxlbWVudD4g
bmV3Q2hpbGQgPSB0YXJnZXRJbnN0YW5jZS0+Y29ycmVzcG9uZGluZ0VsZW1lbnQoKS0+Y2xvbmVF
bGVtZW50V2l0aENoaWxkcmVuKCk7CiAKICAgICAvLyBXZSBkb24ndCB3YWxrIHRoZSB0YXJnZXQg
dHJlZSBlbGVtZW50LWJ5LWVsZW1lbnQsIGFuZCBjbG9uZSBlYWNoIGVsZW1lbnQsCi0gICAgLy8g
YnV0IGluc3RlYWQgdXNlIGNsb25lTm9kZShkZWVwPXRydWUpLiBUaGlzIGlzIGFuIG9wdGltaXph
dGlvbiBmb3IgdGhlIGNvbW1vbgorICAgIC8vIGJ1dCBpbnN0ZWFkIHVzZSBjbG9uZUVsZW1lbnRX
aXRoQ2hpbGRyZW4oKS4gVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gZm9yIHRoZSBjb21tb24KICAg
ICAvLyBjYXNlIHdoZXJlIDx1c2U+IGRvZXNuJ3QgY29udGFpbiBkaXNhbGxvd2VkIGVsZW1lbnRz
IChpZS4gPGZvcmVpZ25PYmplY3Q+KS4KICAgICAvLyBUaG91Z2ggaWYgdGhlcmUgYXJlIGRpc2Fs
bG93ZWQgZWxlbWVudHMgaW4gdGhlIHN1YnRyZWUsIHdlIGhhdmUgdG8gcmVtb3ZlIHRoZW0uCiAg
ICAgLy8gRm9yIGluc3RhbmNlOiA8dXNlPiBvbiA8Zz4gY29udGFpbmluZyA8Zm9yZWlnbk9iamVj
dD4gKGluZGlyZWN0IGNhc2UpLgpAQCAtNjQzLDEwICs2NDMsMTAgQEAgdm9pZCBTVkdVc2VFbGVt
ZW50OjpleHBhbmRVc2VFbGVtZW50c0luUwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgIH0KIAotICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG5ld0NoaWxkID0gdGFyZ2V0LT5j
bG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICBSZWZQdHI8RWxlbWVudD4gbmV3Q2hpbGQgPSB0
YXJnZXQtPmNsb25lRWxlbWVudFdpdGhDaGlsZHJlbigpOwogCiAgICAgICAgICAgICAvLyBXZSBk
b24ndCB3YWxrIHRoZSB0YXJnZXQgdHJlZSBlbGVtZW50LWJ5LWVsZW1lbnQsIGFuZCBjbG9uZSBl
YWNoIGVsZW1lbnQsCi0gICAgICAgICAgICAvLyBidXQgaW5zdGVhZCB1c2UgY2xvbmVOb2RlKGRl
ZXA9dHJ1ZSkuIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIGZvciB0aGUgY29tbW9uCisgICAgICAg
ICAgICAvLyBidXQgaW5zdGVhZCB1c2UgY2xvbmVFbGVtZW50V2l0aENoaWxkcmVuKCkuIFRoaXMg
aXMgYW4gb3B0aW1pemF0aW9uIGZvciB0aGUgY29tbW9uCiAgICAgICAgICAgICAvLyBjYXNlIHdo
ZXJlIDx1c2U+IGRvZXNuJ3QgY29udGFpbiBkaXNhbGxvd2VkIGVsZW1lbnRzIChpZS4gPGZvcmVp
Z25PYmplY3Q+KS4KICAgICAgICAgICAgIC8vIFRob3VnaCBpZiB0aGVyZSBhcmUgZGlzYWxsb3dl
ZCBlbGVtZW50cyBpbiB0aGUgc3VidHJlZSwgd2UgaGF2ZSB0byByZW1vdmUgdGhlbS4KICAgICAg
ICAgICAgIC8vIEZvciBpbnN0YW5jZTogPHVzZT4gb24gPGc+IGNvbnRhaW5pbmcgPGZvcmVpZ25P
YmplY3Q+IChpbmRpcmVjdCBjYXNlKS4K
</data>
<flag name="review"
          id="13885"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>