<?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>85402</bug_id>
          
          <creation_ts>2012-05-02 12:25:50 -0700</creation_ts>
          <short_desc>Childlist mutations in shadow DOM should be observable with MutationObservers</short_desc>
          <delta_ts>2012-05-02 15:03:43 -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>New Bugs</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>68729</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>ojan</cc>
    
    <cc>rafaelw</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>614524</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-05-02 12:25:50 -0700</bug_when>
    <thetext>Childlist mutations in shadow DOM should be observable with MutationObservers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614529</commentid>
    <comment_count>1</comment_count>
      <attachid>139859</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-05-02 12:29:08 -0700</bug_when>
    <thetext>Created attachment 139859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614536</commentid>
    <comment_count>2</comment_count>
      <attachid>139860</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-05-02 12:37:43 -0700</bug_when>
    <thetext>Created attachment 139860
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614546</commentid>
    <comment_count>3</comment_count>
      <attachid>139860</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-05-02 12:45:12 -0700</bug_when>
    <thetext>Comment on attachment 139860
Patch for landing

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        This patch moves code around to properly notify when childlist are
&gt; +        mutated in shadow DOM and covers that change with a new test.

This doesn&apos;t leak elements in the shadow DOM subtree out to the document, right? Do we need a test for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614595</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-05-02 13:22:37 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 139860 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=139860&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:13
&gt; &gt; +        This patch moves code around to properly notify when childlist are
&gt; &gt; +        mutated in shadow DOM and covers that change with a new test.
&gt; 
&gt; This doesn&apos;t leak elements in the shadow DOM subtree out to the document, right? Do we need a test for this?

No leakage, since we just walk up the parent change to find subtree listeners.  Sounds like a good test to have, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614639</commentid>
    <comment_count>5</comment_count>
      <attachid>139881</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-05-02 14:00:01 -0700</bug_when>
    <thetext>Created attachment 139881
Patch with more tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614707</commentid>
    <comment_count>6</comment_count>
      <attachid>139881</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-02 15:03:33 -0700</bug_when>
    <thetext>Comment on attachment 139881
Patch with more tests

Clearing flags on attachment: 139881

Committed r115897: &lt;http://trac.webkit.org/changeset/115897&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614708</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-02 15:03:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139859</attachid>
            <date>2012-05-02 12:29:08 -0700</date>
            <delta_ts>2012-05-02 12:37:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85402-20120502122907.patch</filename>
            <type>text/plain</type>
            <size>7344</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDY3YjUyNmU5YTQ5NmYz
ZmU4OWRjZDc3ZmMzN2FmNDE1YTU4YmZkNy4uMTY4Yjg0MTVhODcwNDZiOWQxODFiNDYyMWMwNzA2
YjRlYmExNzJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTAyICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENoaWxkbGlzdCBtdXRhdGlv
bnMgaW4gc2hhZG93IERPTSBzaG91bGQgYmUgb2JzZXJ2YWJsZSB3aXRoIE11dGF0aW9uT2JzZXJ2
ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTQw
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRob3Vn
aCBNdXRhdGlvbiBFdmVudHMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gU2hhZG93IERPTSwKKyAgICAg
ICAgTXV0YXRpb25PYnNlcnZlcnMgYXJlIHN1cHBvc2VkIHRvIGJlLiBEdWUgdG8gYSBtaXNwbGFj
ZW1lbnQgb2YgdGhlCisgICAgICAgIENoaWxkTGlzdE11dGF0aW9uU2NvcGUsIHRoZXkgd2VyZSBl
cnJvbmVvdXNseSBnZXR0aW5nIHNraXBwZWQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBtb3ZlcyBj
b2RlIGFyb3VuZCB0byBwcm9wZXJseSBub3RpZnkgd2hlbiBjaGlsZGxpc3QgYXJlCisgICAgICAg
IG11dGF0ZWQgaW4gc2hhZG93IERPTSBhbmQgY292ZXJzIHRoYXQgY2hhbmdlIHdpdGggYSBuZXcg
dGVzdC4KKworICAgICAgICBUZXN0OiBmYXN0L211dGF0aW9uL3NoYWRvdy1kb20uaHRtbAorCisg
ICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d2lsbFJl
bW92ZUNoaWxkKTogSGFuZGxlIG5vdGlmaWNhdGlvbiBvZiByZW1vdmFsIGRpcmVjdGx5LgorICAg
ICAgICAoV2ViQ29yZTo6d2lsbFJlbW92ZUNoaWxkcmVuKTogZGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZlbnRzKTogUmVtb3ZlIG5vdGlmaWNhdGlvbiBv
ZiBpbnNlcnRpb24uCisgICAgICAgIChXZWJDb3JlOjpkaXNwYXRjaENoaWxkUmVtb3ZhbEV2ZW50
cyk6IFJlbW92ZSBub3RpZmljYXRpb24gb2YgcmVtb3ZhbC4KKyAgICAgICAgKFdlYkNvcmU6OnVw
ZGF0ZVRyZWVBZnRlckluc2VydGlvbik6IEhhbmRsZSBub3RpZmljYXRpb24gb2YgaW5zZXJ0aW9u
IGRpcmVjdGx5LgorCiAyMDEyLTA0LTE3ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUu
Y29tPgogCiAgICAgICAgIFNoYWRvd1Jvb3Qgc2hvdWxkbid0IGJlIGFkb3B0ZWQgYnkgYW55IERv
Y3VtZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCmluZGV4IDhhNjgzODUwMmRl
N2NjMzkyN2Q2ODNiN2M4OWI2ZGU5ODY1MGE5NjUuLjhhZTI1NzJiMjVkZDYzNzYzM2ZlMmY5Nzg0
ZDQ0MGEyZmEzOTllNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJO
b2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKQEAgLTMy
OCw2ICszMjgsMTIgQEAgdm9pZCBDb250YWluZXJOb2RlOjp3aWxsUmVtb3ZlKCkKIAogc3RhdGlj
IHZvaWQgd2lsbFJlbW92ZUNoaWxkKE5vZGUqIGNoaWxkKQogeworI2lmIEVOQUJMRShNVVRBVElP
Tl9PQlNFUlZFUlMpCisgICAgQVNTRVJUKGNoaWxkLT5wYXJlbnROb2RlKCkpOworICAgIENoaWxk
TGlzdE11dGF0aW9uU2NvcGUoY2hpbGQtPnBhcmVudE5vZGUoKSkud2lsbFJlbW92ZUNoaWxkKGNo
aWxkKTsKKyAgICBjaGlsZC0+bm90aWZ5TXV0YXRpb25PYnNlcnZlcnNOb2RlV2lsbERldGFjaCgp
OworI2VuZGlmCisKICAgICAvLyB1cGRhdGUgYXV4aWxpYXJ5IGRvYyBpbmZvIChlLmcuIGl0ZXJh
dG9ycykgdG8gbm90ZSB0aGF0IG5vZGUgaXMgYmVpbmcgcmVtb3ZlZAogICAgIGNoaWxkLT5kb2N1
bWVudCgpLT5ub2RlV2lsbEJlUmVtb3ZlZChjaGlsZCk7CiAKQEAgLTM0OSw2ICszNTUsMTIgQEAg
c3RhdGljIHZvaWQgd2lsbFJlbW92ZUNoaWxkcmVuKENvbnRhaW5lck5vZGUqIGNvbnRhaW5lcikK
IAogICAgIGZvciAoTm9kZVZlY3Rvcjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBjaGlsZHJlbi5iZWdp
bigpOyBpdCAhPSBjaGlsZHJlbi5lbmQoKTsgaXQrKykgewogICAgICAgICBOb2RlKiBjaGlsZCA9
IGl0LT5nZXQoKTsKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisgICAgICAgIG11
dGF0aW9uLndpbGxSZW1vdmVDaGlsZChjaGlsZCk7CisgICAgICAgIGNoaWxkLT5ub3RpZnlNdXRh
dGlvbk9ic2VydmVyc05vZGVXaWxsRGV0YWNoKCk7CisjZW5kaWYKKwogICAgICAgICAvLyBmaXJl
IHJlbW92ZWQgZnJvbSBkb2N1bWVudCBtdXRhdGlvbiBldmVudHMuCiAgICAgICAgIGRpc3BhdGNo
Q2hpbGRSZW1vdmFsRXZlbnRzKGNoaWxkKTsKICAgICAgICAgY2hpbGQtPndpbGxSZW1vdmUoKTsK
QEAgLTkzOSwxMyArOTUxLDYgQEAgc3RhdGljIHZvaWQgZGlzcGF0Y2hDaGlsZEluc2VydGlvbkV2
ZW50cyhOb2RlKiBjaGlsZCkKICAgICBSZWZQdHI8Tm9kZT4gYyA9IGNoaWxkOwogICAgIFJlZlB0
cjxEb2N1bWVudD4gZG9jdW1lbnQgPSBjaGlsZC0+ZG9jdW1lbnQoKTsKIAotI2lmIEVOQUJMRShN
VVRBVElPTl9PQlNFUlZFUlMpCi0gICAgaWYgKGMtPnBhcmVudE5vZGUoKSkgewotICAgICAgICBD
aGlsZExpc3RNdXRhdGlvblNjb3BlIG11dGF0aW9uKGMtPnBhcmVudE5vZGUoKSk7Ci0gICAgICAg
IG11dGF0aW9uLmNoaWxkQWRkZWQoYy5nZXQoKSk7Ci0gICAgfQotI2VuZGlmCi0KICAgICBpZiAo
Yy0+cGFyZW50Tm9kZSgpICYmIGRvY3VtZW50LT5oYXNMaXN0ZW5lclR5cGUoRG9jdW1lbnQ6OkRP
TU5PREVJTlNFUlRFRF9MSVNURU5FUikpCiAgICAgICAgIGMtPmRpc3BhdGNoU2NvcGVkRXZlbnQo
TXV0YXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5ET01Ob2RlSW5zZXJ0ZWRFdmVudCwg
dHJ1ZSwgYy0+cGFyZW50Tm9kZSgpKSk7CiAKQEAgLTk3MCwxNCArOTc1LDYgQEAgc3RhdGljIHZv
aWQgZGlzcGF0Y2hDaGlsZFJlbW92YWxFdmVudHMoTm9kZSogY2hpbGQpCiAgICAgUmVmUHRyPE5v
ZGU+IGMgPSBjaGlsZDsKICAgICBSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gY2hpbGQtPmRv
Y3VtZW50KCk7CiAKLSNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQotICAgIGlmIChjLT5w
YXJlbnROb2RlKCkpIHsKLSAgICAgICAgQ2hpbGRMaXN0TXV0YXRpb25TY29wZSBtdXRhdGlvbihj
LT5wYXJlbnROb2RlKCkpOwotICAgICAgICBtdXRhdGlvbi53aWxsUmVtb3ZlQ2hpbGQoYy5nZXQo
KSk7Ci0gICAgICAgIGMtPm5vdGlmeU11dGF0aW9uT2JzZXJ2ZXJzTm9kZVdpbGxEZXRhY2goKTsK
LSAgICB9Ci0jZW5kaWYKLQogICAgIC8vIGRpc3BhdGNoIHByZS1yZW1vdmFsIG11dGF0aW9uIGV2
ZW50cwogICAgIGlmIChjLT5wYXJlbnROb2RlKCkgJiYgZG9jdW1lbnQtPmhhc0xpc3RlbmVyVHlw
ZShEb2N1bWVudDo6RE9NTk9ERVJFTU9WRURfTElTVEVORVIpKQogICAgICAgICBjLT5kaXNwYXRj
aFNjb3BlZEV2ZW50KE11dGF0aW9uRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuRE9NTm9kZVJl
bW92ZWRFdmVudCwgdHJ1ZSwgYy0+cGFyZW50Tm9kZSgpKSk7CkBAIC05OTQsNiArOTkxLDEwIEBA
IHN0YXRpYyB2b2lkIHVwZGF0ZVRyZWVBZnRlckluc2VydGlvbihDb250YWluZXJOb2RlKiBwYXJl
bnQsIE5vZGUqIGNoaWxkLCBib29sIHNoCiAgICAgQVNTRVJUKHBhcmVudC0+cmVmQ291bnQoKSk7
CiAgICAgQVNTRVJUKGNoaWxkLT5yZWZDb3VudCgpKTsKIAorI2lmIEVOQUJMRShNVVRBVElPTl9P
QlNFUlZFUlMpCisgICAgQ2hpbGRMaXN0TXV0YXRpb25TY29wZShwYXJlbnQpLmNoaWxkQWRkZWQo
Y2hpbGQpOworI2VuZGlmCisKICAgICBwYXJlbnQtPmNoaWxkcmVuQ2hhbmdlZChmYWxzZSwgY2hp
bGQtPnByZXZpb3VzU2libGluZygpLCBjaGlsZC0+bmV4dFNpYmxpbmcoKSwgMSk7CiAKICAgICBD
aGlsZE5vZGVJbnNlcnRpb25Ob3RpZmllcihwYXJlbnQpLm5vdGlmeShjaGlsZCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
YjVhYmRmOWE5NjQyNGYyYjI2ZDY2NmIxYTY5OGEwMmUwMzk2YjU5Yi4uZDk0Y2YzN2NmZjFhOGE1
MTYxOWQ2ZDY5N2NkZWJmODJmMWE4OWJhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1
LTAyICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENoaWxkbGlz
dCBtdXRhdGlvbnMgaW4gc2hhZG93IERPTSBzaG91bGQgYmUgb2JzZXJ2YWJsZSB3aXRoIE11dGF0
aW9uT2JzZXJ2ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NTQwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZGVkIHRlc3QgY292ZXJpbmcgY2hpbGRMaXN0IG11dGF0aW9ucyBhcyB3ZWxsIGFzIGF0
dHJpYnV0ZSBhbmQKKyAgICAgICAgY2hhcmFjdGVyRGF0YSBtdXRhdGlvbnMgKHRoZXNlIHdlcmUg
YWxyZWFkeSB3b3JraW5nKS4KKworICAgICAgICAqIGZhc3QvbXV0YXRpb24vc2hhZG93LWRvbS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXV0YXRpb24vc2hhZG93LWRvbS5o
dG1sOiBBZGRlZC4KKwogMjAxMi0wNC0xNyAgVGFrYXNoaSBUb3lvc2hpbWEgIDx0b3lvc2hpbUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZSBvZiBzdmcvYXMt
YmFja2dyb3VuZC1pbWFnZS9zdmctYXMtYmFja2dyb3VuZC02Lmh0bWwgLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9zaGFkb3ctZG9tLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvbXV0YXRpb24vc2hhZG93LWRvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmIyNDVlNjI0YmQyNDIxODlhMzk2ODA0NThkN2VhNzM1MDg2ZTJjZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vc2hhZG93LWRvbS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNCBAQAorVGVzdCB0aGF0IE11dGF0aW9uT2JzZXJ2ZXJzIG9wZXJhdGUgaW4gU2hh
ZG93IERPTQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBtdXRhdGlvbnMu
bGVuZ3RoIGlzIDQKK1BBU1MgbXV0YXRpb25zWzBdLnR5cGUgaXMgImF0dHJpYnV0ZXMiCitQQVNT
IG11dGF0aW9uc1sxXS50eXBlIGlzICJjaGlsZExpc3QiCitQQVNTIG11dGF0aW9uc1syXS50eXBl
IGlzICJjaGFyYWN0ZXJEYXRhIgorUEFTUyBtdXRhdGlvbnNbM10udHlwZSBpcyAiY2hpbGRMaXN0
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vc2hhZG93LWRvbS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9zaGFkb3ctZG9tLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzZkYWE4
MGQwMjQ2M2Y1ZGE2ZGFhZjBjZTZjNzYzNzFjMmQ2YjY1OAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vc2hhZG93LWRvbS5odG1sCkBAIC0wLDAgKzEsMzYgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8aW5wdXQgdHlwZT0icmFuZ2UiPgorPHNjcmlwdCBz
cmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCBNdXRhdGlvbk9ic2VydmVycyBvcGVyYXRlIGluIFNoYWRv
dyBET00nKTsKK2Z1bmN0aW9uIGRvVGVzdCgpIHsKKyAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCdpbnB1dCcpOworICAgIHZhciBzaGFkb3dSb290ID0gaW50ZXJuYWxzLnNo
YWRvd1Jvb3QoaW5wdXQpOworICAgIHZhciBlbHQgPSBzaGFkb3dSb290LmZpcnN0Q2hpbGQ7Cisg
ICAgdmFyIG9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24obXV0
YXRpb25zKSB7CisgICAgICAgIHdpbmRvdy5tdXRhdGlvbnMgPSBtdXRhdGlvbnM7CisgICAgfSk7
CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZShlbHQsIHthdHRyaWJ1dGVzOiB0cnVlLCBjaGlsZExpc3Q6
IHRydWUsIGNoYXJhY3RlckRhdGE6IHRydWUsIHN1YnRyZWU6IHRydWV9KTsKKyAgICBlbHQuc2V0
QXR0cmlidXRlKCdkYXRhLWZvbycsICdiYXInKTsKKyAgICBlbHQuaW5zZXJ0QmVmb3JlKGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKCdoZWxsbycpLCBlbHQuZmlyc3RDaGlsZCk7CisgICAgZWx0LmZp
cnN0Q2hpbGQudGV4dENvbnRlbnQgPSAnZ29vZGJ5ZSc7CisgICAgZWx0LnJlbW92ZUNoaWxkKGVs
dC5maXJzdENoaWxkKTsKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICBzaG91
bGRCZSgnbXV0YXRpb25zLmxlbmd0aCcsICc0Jyk7CisgICAgICAgIHNob3VsZEJlKCdtdXRhdGlv
bnNbMF0udHlwZScsICciYXR0cmlidXRlcyInKTsKKyAgICAgICAgc2hvdWxkQmUoJ211dGF0aW9u
c1sxXS50eXBlJywgJyJjaGlsZExpc3QiJyk7CisgICAgICAgIHNob3VsZEJlKCdtdXRhdGlvbnNb
Ml0udHlwZScsICciY2hhcmFjdGVyRGF0YSInKTsKKyAgICAgICAgc2hvdWxkQmUoJ211dGF0aW9u
c1szXS50eXBlJywgJyJjaGlsZExpc3QiJyk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
IH0sIDApOworfQorCitpZiAod2luZG93LmludGVybmFscykgeworICAgIGRvVGVzdCgpOworICAg
IHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK30gZWxzZQorICAgIHRlc3RGYWlsZWQoJ1Ro
aXMgdGVzdCBvbmx5IHJ1bnMgaW4gRFJUJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139860</attachid>
            <date>2012-05-02 12:37:43 -0700</date>
            <delta_ts>2012-05-02 13:59:50 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-85402-20120502123742.patch</filename>
            <type>text/plain</type>
            <size>7393</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1ODYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDgyYzQzZDU0YTkxNGI3
MjZiNzJiMjFkNmVhYjlkZTg2NTk1OTliNC4uNmM0ZTI5NzIxMGQ4M2ZkMWU4OTVlZmQwYzNmZDVi
Njg4ZTU1M2M0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTAyICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENoaWxkbGlzdCBtdXRhdGlv
bnMgaW4gc2hhZG93IERPTSBzaG91bGQgYmUgb2JzZXJ2YWJsZSB3aXRoIE11dGF0aW9uT2JzZXJ2
ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTQw
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCisKKyAgICAgICAgVGhvdWdoIE11
dGF0aW9uIEV2ZW50cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBTaGFkb3cgRE9NLAorICAgICAgICBN
dXRhdGlvbk9ic2VydmVycyBhcmUgc3VwcG9zZWQgdG8gYmUuIER1ZSB0byBhIG1pc3BsYWNlbWVu
dCBvZiB0aGUKKyAgICAgICAgQ2hpbGRMaXN0TXV0YXRpb25TY29wZSwgdGhleSB3ZXJlIGVycm9u
ZW91c2x5IGdldHRpbmcgc2tpcHBlZC4KKworICAgICAgICBUaGlzIHBhdGNoIG1vdmVzIGNvZGUg
YXJvdW5kIHRvIHByb3Blcmx5IG5vdGlmeSB3aGVuIGNoaWxkbGlzdCBhcmUKKyAgICAgICAgbXV0
YXRlZCBpbiBzaGFkb3cgRE9NIGFuZCBjb3ZlcnMgdGhhdCBjaGFuZ2Ugd2l0aCBhIG5ldyB0ZXN0
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvbXV0YXRpb24vc2hhZG93LWRvbS5odG1sCisKKyAgICAg
ICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3aWxsUmVtb3Zl
Q2hpbGQpOiBIYW5kbGUgbm90aWZpY2F0aW9uIG9mIHJlbW92YWwgZGlyZWN0bHkuCisgICAgICAg
IChXZWJDb3JlOjp3aWxsUmVtb3ZlQ2hpbGRyZW4pOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OmRpc3BhdGNoQ2hpbGRJbnNlcnRpb25FdmVudHMpOiBSZW1vdmUgbm90aWZpY2F0aW9uIG9mIGlu
c2VydGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OmRpc3BhdGNoQ2hpbGRSZW1vdmFsRXZlbnRzKTog
UmVtb3ZlIG5vdGlmaWNhdGlvbiBvZiByZW1vdmFsLgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRl
VHJlZUFmdGVySW5zZXJ0aW9uKTogSGFuZGxlIG5vdGlmaWNhdGlvbiBvZiBpbnNlcnRpb24gZGly
ZWN0bHkuCisKIDIwMTItMDUtMDIgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIE1vdmUgdGl0bGUgYW5kIG1lZGlhIHF1ZXJpZXMgZnJvbSBTdHlsZVNoZWV0SW50
ZXJuYWwgdG8gQ1NTU3R5bGVTaGVldApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Nv
bnRhaW5lck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCmlu
ZGV4IDE2M2U3NDg3YTJiY2U0ZTM1OWRmZjQ3Y2MxMzA5MjI2N2I3ZGVkZTUuLjcwYjMwN2I4ZmVl
NjQxYTk0YzgxZjk0MzNiNDYwMmFiYjMwNGQ3ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Db250YWluZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVy
Tm9kZS5jcHAKQEAgLTMyOCw2ICszMjgsMTIgQEAgdm9pZCBDb250YWluZXJOb2RlOjp3aWxsUmVt
b3ZlKCkKIAogc3RhdGljIHZvaWQgd2lsbFJlbW92ZUNoaWxkKE5vZGUqIGNoaWxkKQogeworI2lm
IEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisgICAgQVNTRVJUKGNoaWxkLT5wYXJlbnROb2Rl
KCkpOworICAgIENoaWxkTGlzdE11dGF0aW9uU2NvcGUoY2hpbGQtPnBhcmVudE5vZGUoKSkud2ls
bFJlbW92ZUNoaWxkKGNoaWxkKTsKKyAgICBjaGlsZC0+bm90aWZ5TXV0YXRpb25PYnNlcnZlcnNO
b2RlV2lsbERldGFjaCgpOworI2VuZGlmCisKICAgICBkaXNwYXRjaENoaWxkUmVtb3ZhbEV2ZW50
cyhjaGlsZCk7CiAgICAgY2hpbGQtPmRvY3VtZW50KCktPm5vZGVXaWxsQmVSZW1vdmVkKGNoaWxk
KTsgLy8gZS5nLiBtdXRhdGlvbiBldmVudCBsaXN0ZW5lciBjYW4gY3JlYXRlIGEgbmV3IHJhbmdl
LgogICAgIGNoaWxkLT53aWxsUmVtb3ZlKCk7CkBAIC0zNDYsNiArMzUyLDEyIEBAIHN0YXRpYyB2
b2lkIHdpbGxSZW1vdmVDaGlsZHJlbihDb250YWluZXJOb2RlKiBjb250YWluZXIpCiAKICAgICBm
b3IgKE5vZGVWZWN0b3I6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gY2hpbGRyZW4uYmVnaW4oKTsgaXQg
IT0gY2hpbGRyZW4uZW5kKCk7IGl0KyspIHsKICAgICAgICAgTm9kZSogY2hpbGQgPSBpdC0+Z2V0
KCk7CisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorICAgICAgICBtdXRhdGlvbi53
aWxsUmVtb3ZlQ2hpbGQoY2hpbGQpOworICAgICAgICBjaGlsZC0+bm90aWZ5TXV0YXRpb25PYnNl
cnZlcnNOb2RlV2lsbERldGFjaCgpOworI2VuZGlmCisKICAgICAgICAgLy8gZmlyZSByZW1vdmVk
IGZyb20gZG9jdW1lbnQgbXV0YXRpb24gZXZlbnRzLgogICAgICAgICBkaXNwYXRjaENoaWxkUmVt
b3ZhbEV2ZW50cyhjaGlsZCk7CiAgICAgICAgIGNoaWxkLT53aWxsUmVtb3ZlKCk7CkBAIC05MzYs
MTMgKzk0OCw2IEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoQ2hpbGRJbnNlcnRpb25FdmVudHMoTm9k
ZSogY2hpbGQpCiAgICAgUmVmUHRyPE5vZGU+IGMgPSBjaGlsZDsKICAgICBSZWZQdHI8RG9jdW1l
bnQ+IGRvY3VtZW50ID0gY2hpbGQtPmRvY3VtZW50KCk7CiAKLSNpZiBFTkFCTEUoTVVUQVRJT05f
T0JTRVJWRVJTKQotICAgIGlmIChjLT5wYXJlbnROb2RlKCkpIHsKLSAgICAgICAgQ2hpbGRMaXN0
TXV0YXRpb25TY29wZSBtdXRhdGlvbihjLT5wYXJlbnROb2RlKCkpOwotICAgICAgICBtdXRhdGlv
bi5jaGlsZEFkZGVkKGMuZ2V0KCkpOwotICAgIH0KLSNlbmRpZgotCiAgICAgaWYgKGMtPnBhcmVu
dE5vZGUoKSAmJiBkb2N1bWVudC0+aGFzTGlzdGVuZXJUeXBlKERvY3VtZW50OjpET01OT0RFSU5T
RVJURURfTElTVEVORVIpKQogICAgICAgICBjLT5kaXNwYXRjaFNjb3BlZEV2ZW50KE11dGF0aW9u
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuRE9NTm9kZUluc2VydGVkRXZlbnQsIHRydWUsIGMt
PnBhcmVudE5vZGUoKSkpOwogCkBAIC05NjcsMTQgKzk3Miw2IEBAIHN0YXRpYyB2b2lkIGRpc3Bh
dGNoQ2hpbGRSZW1vdmFsRXZlbnRzKE5vZGUqIGNoaWxkKQogICAgIFJlZlB0cjxOb2RlPiBjID0g
Y2hpbGQ7CiAgICAgUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IGNoaWxkLT5kb2N1bWVudCgp
OwogCi0jaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKLSAgICBpZiAoYy0+cGFyZW50Tm9k
ZSgpKSB7Ci0gICAgICAgIENoaWxkTGlzdE11dGF0aW9uU2NvcGUgbXV0YXRpb24oYy0+cGFyZW50
Tm9kZSgpKTsKLSAgICAgICAgbXV0YXRpb24ud2lsbFJlbW92ZUNoaWxkKGMuZ2V0KCkpOwotICAg
ICAgICBjLT5ub3RpZnlNdXRhdGlvbk9ic2VydmVyc05vZGVXaWxsRGV0YWNoKCk7Ci0gICAgfQot
I2VuZGlmCi0KICAgICAvLyBkaXNwYXRjaCBwcmUtcmVtb3ZhbCBtdXRhdGlvbiBldmVudHMKICAg
ICBpZiAoYy0+cGFyZW50Tm9kZSgpICYmIGRvY3VtZW50LT5oYXNMaXN0ZW5lclR5cGUoRG9jdW1l
bnQ6OkRPTU5PREVSRU1PVkVEX0xJU1RFTkVSKSkKICAgICAgICAgYy0+ZGlzcGF0Y2hTY29wZWRF
dmVudChNdXRhdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLkRPTU5vZGVSZW1vdmVkRXZl
bnQsIHRydWUsIGMtPnBhcmVudE5vZGUoKSkpOwpAQCAtOTkxLDYgKzk4OCwxMCBAQCBzdGF0aWMg
dm9pZCB1cGRhdGVUcmVlQWZ0ZXJJbnNlcnRpb24oQ29udGFpbmVyTm9kZSogcGFyZW50LCBOb2Rl
KiBjaGlsZCwgYm9vbCBzaAogICAgIEFTU0VSVChwYXJlbnQtPnJlZkNvdW50KCkpOwogICAgIEFT
U0VSVChjaGlsZC0+cmVmQ291bnQoKSk7CiAKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJT
KQorICAgIENoaWxkTGlzdE11dGF0aW9uU2NvcGUocGFyZW50KS5jaGlsZEFkZGVkKGNoaWxkKTsK
KyNlbmRpZgorCiAgICAgcGFyZW50LT5jaGlsZHJlbkNoYW5nZWQoZmFsc2UsIGNoaWxkLT5wcmV2
aW91c1NpYmxpbmcoKSwgY2hpbGQtPm5leHRTaWJsaW5nKCksIDEpOwogCiAgICAgQ2hpbGROb2Rl
SW5zZXJ0aW9uTm90aWZpZXIocGFyZW50KS5ub3RpZnkoY2hpbGQpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNkZTFlNmJk
ODNmNGRjNzlmZmIzYzI1ZWIxMTE4MDBjZWEyZmVkNjAuLmU5ZjJkYjNmODg4N2UwNjdjYWY1MWFi
ODhkNGY3YmQzOGZkYmVlODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0wMiAgQWRh
bSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KKworICAgICAgICBDaGlsZGxpc3QgbXV0YXRp
b25zIGluIHNoYWRvdyBET00gc2hvdWxkIGJlIG9ic2VydmFibGUgd2l0aCBNdXRhdGlvbk9ic2Vy
dmVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU0
MDIKKworICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgorCisgICAgICAgIEFkZGVkIHRl
c3QgY292ZXJpbmcgY2hpbGRMaXN0IG11dGF0aW9ucyBhcyB3ZWxsIGFzIGF0dHJpYnV0ZSBhbmQK
KyAgICAgICAgY2hhcmFjdGVyRGF0YSBtdXRhdGlvbnMgKHRoZXNlIHdlcmUgYWxyZWFkeSB3b3Jr
aW5nKS4KKworICAgICAgICAqIGZhc3QvbXV0YXRpb24vc2hhZG93LWRvbS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXV0YXRpb24vc2hhZG93LWRvbS5odG1sOiBBZGRlZC4K
KwogMjAxMi0wNS0wMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIGNoYW5naW5nIHRlc3QgZXhwZWN0YXRpb25zIGR1ZSB0byBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU0MDEKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbXV0YXRpb24vc2hhZG93LWRvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L211dGF0aW9uL3NoYWRvdy1kb20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiMjQ1ZTYy
NGJkMjQyMTg5YTM5NjgwNDU4ZDdlYTczNTA4NmUyY2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L211dGF0aW9uL3NoYWRvdy1kb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTQgQEAKK1Rlc3QgdGhhdCBNdXRhdGlvbk9ic2VydmVycyBvcGVyYXRlIGluIFNoYWRvdyBET00K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbXV0YXRpb25zLmxlbmd0aCBp
cyA0CitQQVNTIG11dGF0aW9uc1swXS50eXBlIGlzICJhdHRyaWJ1dGVzIgorUEFTUyBtdXRhdGlv
bnNbMV0udHlwZSBpcyAiY2hpbGRMaXN0IgorUEFTUyBtdXRhdGlvbnNbMl0udHlwZSBpcyAiY2hh
cmFjdGVyRGF0YSIKK1BBU1MgbXV0YXRpb25zWzNdLnR5cGUgaXMgImNoaWxkTGlzdCIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL3NoYWRvdy1kb20uaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbXV0YXRpb24vc2hhZG93LWRvbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2ZGFhODBkMDI0NjNm
NWRhNmRhYWYwY2U2Yzc2MzcxYzJkNmI2NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L211dGF0aW9uL3NoYWRvdy1kb20uaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxib2R5PgorPGlucHV0IHR5cGU9InJhbmdlIj4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCdUZXN0IHRoYXQgTXV0YXRpb25PYnNlcnZlcnMgb3BlcmF0ZSBpbiBTaGFkb3cgRE9NJyk7
CitmdW5jdGlvbiBkb1Rlc3QoKSB7CisgICAgdmFyIGlucHV0ID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcignaW5wdXQnKTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGludGVybmFscy5zaGFkb3dSb290
KGlucHV0KTsKKyAgICB2YXIgZWx0ID0gc2hhZG93Um9vdC5maXJzdENoaWxkOworICAgIHZhciBv
YnNlcnZlciA9IG5ldyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKG11dGF0aW9ucykg
eworICAgICAgICB3aW5kb3cubXV0YXRpb25zID0gbXV0YXRpb25zOworICAgIH0pOworICAgIG9i
c2VydmVyLm9ic2VydmUoZWx0LCB7YXR0cmlidXRlczogdHJ1ZSwgY2hpbGRMaXN0OiB0cnVlLCBj
aGFyYWN0ZXJEYXRhOiB0cnVlLCBzdWJ0cmVlOiB0cnVlfSk7CisgICAgZWx0LnNldEF0dHJpYnV0
ZSgnZGF0YS1mb28nLCAnYmFyJyk7CisgICAgZWx0Lmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgnaGVsbG8nKSwgZWx0LmZpcnN0Q2hpbGQpOworICAgIGVsdC5maXJzdENoaWxk
LnRleHRDb250ZW50ID0gJ2dvb2RieWUnOworICAgIGVsdC5yZW1vdmVDaGlsZChlbHQuZmlyc3RD
aGlsZCk7CisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgc2hvdWxkQmUoJ211
dGF0aW9ucy5sZW5ndGgnLCAnNCcpOworICAgICAgICBzaG91bGRCZSgnbXV0YXRpb25zWzBdLnR5
cGUnLCAnImF0dHJpYnV0ZXMiJyk7CisgICAgICAgIHNob3VsZEJlKCdtdXRhdGlvbnNbMV0udHlw
ZScsICciY2hpbGRMaXN0IicpOworICAgICAgICBzaG91bGRCZSgnbXV0YXRpb25zWzJdLnR5cGUn
LCAnImNoYXJhY3RlckRhdGEiJyk7CisgICAgICAgIHNob3VsZEJlKCdtdXRhdGlvbnNbM10udHlw
ZScsICciY2hpbGRMaXN0IicpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9LCAwKTsK
K30KKworaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBkb1Rlc3QoKTsKKyAgICB3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7Cit9IGVsc2UKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3Qg
b25seSBydW5zIGluIERSVCcpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139881</attachid>
            <date>2012-05-02 14:00:01 -0700</date>
            <delta_ts>2012-05-02 15:03:32 -0700</delta_ts>
            <desc>Patch with more tests</desc>
            <filename>bug-85402-20120502135959.patch</filename>
            <type>text/plain</type>
            <size>8085</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1ODYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDgyYzQzZDU0YTkxNGI3
MjZiNzJiMjFkNmVhYjlkZTg2NTk1OTliNC4uYmUwOTA0NzRkNGEyY2JlZWRlOGE0ZDM2MDlmZGIw
YjlmZTkwNjY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTAyICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENoaWxkbGlzdCBtdXRhdGlv
bnMgaW4gc2hhZG93IERPTSBzaG91bGQgYmUgb2JzZXJ2YWJsZSB3aXRoIE11dGF0aW9uT2JzZXJ2
ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTQw
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRob3Vn
aCBNdXRhdGlvbiBFdmVudHMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gU2hhZG93IERPTSwKKyAgICAg
ICAgTXV0YXRpb25PYnNlcnZlcnMgYXJlIHN1cHBvc2VkIHRvIGJlLiBEdWUgdG8gYSBtaXNwbGFj
ZW1lbnQgb2YgdGhlCisgICAgICAgIENoaWxkTGlzdE11dGF0aW9uU2NvcGUsIHRoZXkgd2VyZSBl
cnJvbmVvdXNseSBnZXR0aW5nIHNraXBwZWQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBtb3ZlcyBj
b2RlIGFyb3VuZCB0byBwcm9wZXJseSBub3RpZnkgd2hlbiBjaGlsZGxpc3QgYXJlCisgICAgICAg
IG11dGF0ZWQgaW4gc2hhZG93IERPTSBhbmQgY292ZXJzIHRoYXQgY2hhbmdlIHdpdGggYSBuZXcg
dGVzdC4KKworICAgICAgICBUZXN0OiBmYXN0L211dGF0aW9uL3NoYWRvdy1kb20uaHRtbAorCisg
ICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d2lsbFJl
bW92ZUNoaWxkKTogSGFuZGxlIG5vdGlmaWNhdGlvbiBvZiByZW1vdmFsIGRpcmVjdGx5LgorICAg
ICAgICAoV2ViQ29yZTo6d2lsbFJlbW92ZUNoaWxkcmVuKTogZGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZlbnRzKTogUmVtb3ZlIG5vdGlmaWNhdGlvbiBv
ZiBpbnNlcnRpb24uCisgICAgICAgIChXZWJDb3JlOjpkaXNwYXRjaENoaWxkUmVtb3ZhbEV2ZW50
cyk6IFJlbW92ZSBub3RpZmljYXRpb24gb2YgcmVtb3ZhbC4KKyAgICAgICAgKFdlYkNvcmU6OnVw
ZGF0ZVRyZWVBZnRlckluc2VydGlvbik6IEhhbmRsZSBub3RpZmljYXRpb24gb2YgaW5zZXJ0aW9u
IGRpcmVjdGx5LgorCiAyMDEyLTA1LTAyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KIAogICAgICAgICBNb3ZlIHRpdGxlIGFuZCBtZWRpYSBxdWVyaWVzIGZyb20gU3R5bGVTaGVl
dEludGVybmFsIHRvIENTU1N0eWxlU2hlZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Db250YWluZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNw
cAppbmRleCAxNjNlNzQ4N2EyYmNlNGUzNTlkZmY0N2NjMTMwOTIyNjdiN2RlZGU1Li43MGIzMDdi
OGZlZTY0MWE5NGM4MWY5NDMzYjQ2MDJhYmIzMDRkNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRh
aW5lck5vZGUuY3BwCkBAIC0zMjgsNiArMzI4LDEyIEBAIHZvaWQgQ29udGFpbmVyTm9kZTo6d2ls
bFJlbW92ZSgpCiAKIHN0YXRpYyB2b2lkIHdpbGxSZW1vdmVDaGlsZChOb2RlKiBjaGlsZCkKIHsK
KyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorICAgIEFTU0VSVChjaGlsZC0+cGFyZW50
Tm9kZSgpKTsKKyAgICBDaGlsZExpc3RNdXRhdGlvblNjb3BlKGNoaWxkLT5wYXJlbnROb2RlKCkp
LndpbGxSZW1vdmVDaGlsZChjaGlsZCk7CisgICAgY2hpbGQtPm5vdGlmeU11dGF0aW9uT2JzZXJ2
ZXJzTm9kZVdpbGxEZXRhY2goKTsKKyNlbmRpZgorCiAgICAgZGlzcGF0Y2hDaGlsZFJlbW92YWxF
dmVudHMoY2hpbGQpOwogICAgIGNoaWxkLT5kb2N1bWVudCgpLT5ub2RlV2lsbEJlUmVtb3ZlZChj
aGlsZCk7IC8vIGUuZy4gbXV0YXRpb24gZXZlbnQgbGlzdGVuZXIgY2FuIGNyZWF0ZSBhIG5ldyBy
YW5nZS4KICAgICBjaGlsZC0+d2lsbFJlbW92ZSgpOwpAQCAtMzQ2LDYgKzM1MiwxMiBAQCBzdGF0
aWMgdm9pZCB3aWxsUmVtb3ZlQ2hpbGRyZW4oQ29udGFpbmVyTm9kZSogY29udGFpbmVyKQogCiAg
ICAgZm9yIChOb2RlVmVjdG9yOjpjb25zdF9pdGVyYXRvciBpdCA9IGNoaWxkcmVuLmJlZ2luKCk7
IGl0ICE9IGNoaWxkcmVuLmVuZCgpOyBpdCsrKSB7CiAgICAgICAgIE5vZGUqIGNoaWxkID0gaXQt
PmdldCgpOworCisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKyAgICAgICAgbXV0YXRp
b24ud2lsbFJlbW92ZUNoaWxkKGNoaWxkKTsKKyAgICAgICAgY2hpbGQtPm5vdGlmeU11dGF0aW9u
T2JzZXJ2ZXJzTm9kZVdpbGxEZXRhY2goKTsKKyNlbmRpZgorCiAgICAgICAgIC8vIGZpcmUgcmVt
b3ZlZCBmcm9tIGRvY3VtZW50IG11dGF0aW9uIGV2ZW50cy4KICAgICAgICAgZGlzcGF0Y2hDaGls
ZFJlbW92YWxFdmVudHMoY2hpbGQpOwogICAgICAgICBjaGlsZC0+d2lsbFJlbW92ZSgpOwpAQCAt
OTM2LDEzICs5NDgsNiBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZlbnRz
KE5vZGUqIGNoaWxkKQogICAgIFJlZlB0cjxOb2RlPiBjID0gY2hpbGQ7CiAgICAgUmVmUHRyPERv
Y3VtZW50PiBkb2N1bWVudCA9IGNoaWxkLT5kb2N1bWVudCgpOwogCi0jaWYgRU5BQkxFKE1VVEFU
SU9OX09CU0VSVkVSUykKLSAgICBpZiAoYy0+cGFyZW50Tm9kZSgpKSB7Ci0gICAgICAgIENoaWxk
TGlzdE11dGF0aW9uU2NvcGUgbXV0YXRpb24oYy0+cGFyZW50Tm9kZSgpKTsKLSAgICAgICAgbXV0
YXRpb24uY2hpbGRBZGRlZChjLmdldCgpKTsKLSAgICB9Ci0jZW5kaWYKLQogICAgIGlmIChjLT5w
YXJlbnROb2RlKCkgJiYgZG9jdW1lbnQtPmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6RE9NTk9E
RUlOU0VSVEVEX0xJU1RFTkVSKSkKICAgICAgICAgYy0+ZGlzcGF0Y2hTY29wZWRFdmVudChNdXRh
dGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLkRPTU5vZGVJbnNlcnRlZEV2ZW50LCB0cnVl
LCBjLT5wYXJlbnROb2RlKCkpKTsKIApAQCAtOTY3LDE0ICs5NzIsNiBAQCBzdGF0aWMgdm9pZCBk
aXNwYXRjaENoaWxkUmVtb3ZhbEV2ZW50cyhOb2RlKiBjaGlsZCkKICAgICBSZWZQdHI8Tm9kZT4g
YyA9IGNoaWxkOwogICAgIFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSBjaGlsZC0+ZG9jdW1l
bnQoKTsKIAotI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCi0gICAgaWYgKGMtPnBhcmVu
dE5vZGUoKSkgewotICAgICAgICBDaGlsZExpc3RNdXRhdGlvblNjb3BlIG11dGF0aW9uKGMtPnBh
cmVudE5vZGUoKSk7Ci0gICAgICAgIG11dGF0aW9uLndpbGxSZW1vdmVDaGlsZChjLmdldCgpKTsK
LSAgICAgICAgYy0+bm90aWZ5TXV0YXRpb25PYnNlcnZlcnNOb2RlV2lsbERldGFjaCgpOwotICAg
IH0KLSNlbmRpZgotCiAgICAgLy8gZGlzcGF0Y2ggcHJlLXJlbW92YWwgbXV0YXRpb24gZXZlbnRz
CiAgICAgaWYgKGMtPnBhcmVudE5vZGUoKSAmJiBkb2N1bWVudC0+aGFzTGlzdGVuZXJUeXBlKERv
Y3VtZW50OjpET01OT0RFUkVNT1ZFRF9MSVNURU5FUikpCiAgICAgICAgIGMtPmRpc3BhdGNoU2Nv
cGVkRXZlbnQoTXV0YXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5ET01Ob2RlUmVtb3Zl
ZEV2ZW50LCB0cnVlLCBjLT5wYXJlbnROb2RlKCkpKTsKQEAgLTk5MSw2ICs5ODgsMTAgQEAgc3Rh
dGljIHZvaWQgdXBkYXRlVHJlZUFmdGVySW5zZXJ0aW9uKENvbnRhaW5lck5vZGUqIHBhcmVudCwg
Tm9kZSogY2hpbGQsIGJvb2wgc2gKICAgICBBU1NFUlQocGFyZW50LT5yZWZDb3VudCgpKTsKICAg
ICBBU1NFUlQoY2hpbGQtPnJlZkNvdW50KCkpOwogCisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VS
VkVSUykKKyAgICBDaGlsZExpc3RNdXRhdGlvblNjb3BlKHBhcmVudCkuY2hpbGRBZGRlZChjaGls
ZCk7CisjZW5kaWYKKwogICAgIHBhcmVudC0+Y2hpbGRyZW5DaGFuZ2VkKGZhbHNlLCBjaGlsZC0+
cHJldmlvdXNTaWJsaW5nKCksIGNoaWxkLT5uZXh0U2libGluZygpLCAxKTsKIAogICAgIENoaWxk
Tm9kZUluc2VydGlvbk5vdGlmaWVyKHBhcmVudCkubm90aWZ5KGNoaWxkKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjZGUx
ZTZiZDgzZjRkYzc5ZmZiM2MyNWViMTExODAwY2VhMmZlZDYwLi5jMGU5NmYxMzYxMDFlNGM4NmRl
NTJkMGQ5MDI5NTljMTFjMDQ4NDhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDUtMDIg
IEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hpbGRsaXN0IG11
dGF0aW9ucyBpbiBzaGFkb3cgRE9NIHNob3VsZCBiZSBvYnNlcnZhYmxlIHdpdGggTXV0YXRpb25P
YnNlcnZlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg1NDAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgdGVzdCBjb3ZlcmluZyBjaGlsZExpc3QgbXV0YXRpb25zIGFzIHdlbGwgYXMgYXR0cmli
dXRlIGFuZAorICAgICAgICBjaGFyYWN0ZXJEYXRhIG11dGF0aW9ucyAodGhlc2Ugd2VyZSBhbHJl
YWR5IHdvcmtpbmcpLgorCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9zaGFkb3ctZG9tLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9zaGFkb3ctZG9tLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTA1LTAyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgY2hhbmdpbmcgdGVzdCBleHBlY3RhdGlvbnMgZHVlIHRvIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTQwMQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9zaGFkb3ctZG9tLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvbXV0YXRpb24vc2hhZG93LWRvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjdhMWM1NTE4YjczNjM4NTM3ZDg0YTVlOGVmZmM5MGRmYTIyNTdkZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vc2hhZG93LWRvbS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxOCBAQAorVGVzdCB0aGF0IE11dGF0aW9uT2JzZXJ2ZXJzIG9wZXJhdGUgaW4gU2hh
ZG93IERPTQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworTXV0YXRpb25zIGluIHNo
YWRvdyBET00gc2hvdWxkIGhhdmUgYmVlbiBvYnNlcnZlZDoKK1BBU1MgbXV0YXRpb25zLmxlbmd0
aCBpcyA0CitQQVNTIG11dGF0aW9uc1swXS50eXBlIGlzICJhdHRyaWJ1dGVzIgorUEFTUyBtdXRh
dGlvbnNbMV0udHlwZSBpcyAiY2hpbGRMaXN0IgorUEFTUyBtdXRhdGlvbnNbMl0udHlwZSBpcyAi
Y2hhcmFjdGVyRGF0YSIKK1BBU1MgbXV0YXRpb25zWzNdLnR5cGUgaXMgImNoaWxkTGlzdCIKKwor
T2JzZXJ2aW5nIGZyb20gb3V0c2lkZSBzaGFkb3cgRE9NIHNob3VsZCBub3Qgc2VlIG11dGF0aW9u
cyBpbiB0aGUgc2hhZG93OgorUEFTUyBtdXRhdGlvbnMgaXMgbnVsbAorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbXV0YXRpb24vc2hhZG93LWRvbS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRh
dGlvbi9zaGFkb3ctZG9tLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZjNzllYWMwMGY5NTk2MGEwNDMxY2Uy
YjI5NTIyY2EwNzU2YmZhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0
YXRpb24vc2hhZG93LWRvbS5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGJvZHk+Cis8aW5wdXQgdHlwZT0icmFuZ2UiPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qg
dGhhdCBNdXRhdGlvbk9ic2VydmVycyBvcGVyYXRlIGluIFNoYWRvdyBET00nKTsKKworZnVuY3Rp
b24gZG9UZXN0KCkgeworICAgIGZ1bmN0aW9uIG11dGF0ZShlbHQpIHsKKyAgICAgICAgZWx0LnNl
dEF0dHJpYnV0ZSgnZGF0YS1mb28nLCAnYmFyJyk7CisgICAgICAgIGVsdC5pbnNlcnRCZWZvcmUo
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2hlbGxvJyksIGVsdC5maXJzdENoaWxkKTsKKyAgICAg
ICAgZWx0LmZpcnN0Q2hpbGQudGV4dENvbnRlbnQgPSAnZ29vZGJ5ZSc7CisgICAgICAgIGVsdC5y
ZW1vdmVDaGlsZChlbHQuZmlyc3RDaGlsZCk7CisgICAgfQorCisgICAgdmFyIHNoYWRvd1Jvb3Qg
PSBpbnRlcm5hbHMuc2hhZG93Um9vdChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpKTsK
KyAgICB2YXIgb2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiht
dXRhdGlvbnMpIHsKKyAgICAgICAgd2luZG93Lm11dGF0aW9ucyA9IG11dGF0aW9uczsKKyAgICB9
KTsKKworICAgIG9ic2VydmVyLm9ic2VydmUoc2hhZG93Um9vdC5maXJzdENoaWxkLCB7YXR0cmli
dXRlczogdHJ1ZSwgY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiB0cnVlLCBzdWJ0cmVl
OiB0cnVlfSk7CisgICAgbXV0YXRlKHNoYWRvd1Jvb3QuZmlyc3RDaGlsZCk7CisKKyAgICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICBkZWJ1ZygnTXV0YXRpb25zIGluIHNoYWRvdyBE
T00gc2hvdWxkIGhhdmUgYmVlbiBvYnNlcnZlZDonKTsKKyAgICAgICAgc2hvdWxkQmUoJ211dGF0
aW9ucy5sZW5ndGgnLCAnNCcpOworICAgICAgICBzaG91bGRCZSgnbXV0YXRpb25zWzBdLnR5cGUn
LCAnImF0dHJpYnV0ZXMiJyk7CisgICAgICAgIHNob3VsZEJlKCdtdXRhdGlvbnNbMV0udHlwZScs
ICciY2hpbGRMaXN0IicpOworICAgICAgICBzaG91bGRCZSgnbXV0YXRpb25zWzJdLnR5cGUnLCAn
ImNoYXJhY3RlckRhdGEiJyk7CisgICAgICAgIHNob3VsZEJlKCdtdXRhdGlvbnNbM10udHlwZScs
ICciY2hpbGRMaXN0IicpOworICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CisKKyAgICAg
ICAgd2luZG93Lm11dGF0aW9ucyA9IG51bGw7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9j
dW1lbnQsIHthdHRyaWJ1dGVzOiB0cnVlLCBjaGlsZExpc3Q6IHRydWUsIGNoYXJhY3RlckRhdGE6
IHRydWUsIHN1YnRyZWU6IHRydWV9KTsKKyAgICAgICAgbXV0YXRlKHNoYWRvd1Jvb3QuZmlyc3RD
aGlsZCk7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBkZWJ1
ZygnXG5PYnNlcnZpbmcgZnJvbSBvdXRzaWRlIHNoYWRvdyBET00gc2hvdWxkIG5vdCBzZWUgbXV0
YXRpb25zIGluIHRoZSBzaGFkb3c6Jyk7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoJ211dGF0
aW9ucycpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0sIDApOworICAg
IH0sIDApOworfQorCitpZiAod2luZG93LmludGVybmFscykgeworICAgIGRvVGVzdCgpOworICAg
IHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK30gZWxzZQorICAgIHRlc3RGYWlsZWQoJ1Ro
aXMgdGVzdCBvbmx5IHJ1bnMgaW4gRFJUJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>