<?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>27179</bug_id>
          
          <creation_ts>2009-07-11 11:09:35 -0700</creation_ts>
          <short_desc>Facebook Chat is broken due to XSS auditor</short_desc>
          <delta_ts>2009-07-12 22:36:52 -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>Page Loading</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>NeedsReduction, Regression, XSSAuditor</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Kieken">john</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dbates</cc>
    
    <cc>koivisto</cc>
    
    <cc>mjs</cc>
    
    <cc>mrowe</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>131120</commentid>
    <comment_count>0</comment_count>
    <who name="John Kieken">john</who>
    <bug_when>2009-07-11 11:09:35 -0700</bug_when>
    <thetext>PPC - OS 10.4.11

The latest build of Webkit (r45752) has broken Facebook Chat (Instant Messaging).  Problem started only with the latest Webkit build (r45752) as of 7/11/09 1:04 PM

10 or 20 seconds after loading the page, Facebook Chat disconnects permanently and messages cannot be sent.  Reloading the page reconnects chat but it again disconnects.  No chat messages can be sent even before it disconnects.

Not a local router/port/firewall issue as Firefox is working normally on same machine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131127</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-07-11 12:29:59 -0700</bug_when>
    <thetext>This is caused by the XSS auditor:
&gt; Refused to execute a JavaScript script. Source code of script found within request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131132</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-11 13:32:54 -0700</bug_when>
    <thetext>Ouch.  I&apos;ll take a look at this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131147</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-11 15:55:36 -0700</bug_when>
    <thetext>The chat feature uses an iframe that echos a URL parameter in the src property of a script tag.  The web site is not exploitable because the server validates the host name before echoing.  Unfortunately, there is not obvious connection between the iframe&apos;s host name (blah.blah.facebook.com) and the script&apos;s host name (foo.bar.fbcdn.net, Facebook&apos;s CDN).

I think the correct solution is to look for more of the token in the URL.  In this case &quot;&lt;script&quot; etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131150</commentid>
    <comment_count>4</comment_count>
      <attachid>32620</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-07-11 17:47:10 -0700</bug_when>
    <thetext>Created attachment 32620
Proposed test case

A simple test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131151</commentid>
    <comment_count>5</comment_count>
      <attachid>32621</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-11 17:54:25 -0700</bug_when>
    <thetext>Created attachment 32621
=Work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131152</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-11 17:58:36 -0700</bug_when>
    <thetext>I&apos;ve got to go to dinner now, but here&apos;s my current work in progress patch.  The idea is to grab a little more context from the tokenization prior to the URL and see if that shows up in the request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131213</commentid>
    <comment_count>7</comment_count>
      <attachid>32636</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-12 17:21:18 -0700</bug_when>
    <thetext>Created attachment 32636
Almost done patch.  Needs tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131233</commentid>
    <comment_count>8</comment_count>
      <attachid>32642</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-12 20:04:49 -0700</bug_when>
    <thetext>Created attachment 32642
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131244</commentid>
    <comment_count>9</comment_count>
      <attachid>32642</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-07-12 22:24:46 -0700</bug_when>
    <thetext>Comment on attachment 32642
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131245</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-12 22:36:52 -0700</bug_when>
    <thetext>Sending        LayoutTests/ChangeLog
Adding         LayoutTests/http/tests/security/xssAuditor/resources/echo-script-src.pl
Adding         LayoutTests/http/tests/security/xssAuditor/script-tag-src-redirect-safe-expected.txt
Adding         LayoutTests/http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
Adding         LayoutTests/http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt
Adding         LayoutTests/http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
Adding         LayoutTests/http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt
Adding         LayoutTests/http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
Sending        WebCore/ChangeLog
Sending        WebCore/html/HTMLTokenizer.cpp
Sending        WebCore/html/HTMLTokenizer.h
Sending        WebCore/page/XSSAuditor.cpp
Sending        WebCore/page/XSSAuditor.h
Transmitting file data .............
Committed revision 45787.
http://trac.webkit.org/changeset/45787</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32620</attachid>
            <date>2009-07-11 17:47:10 -0700</date>
            <delta_ts>2009-07-12 17:20:48 -0700</delta_ts>
            <desc>Proposed test case</desc>
            <filename>TestcaseBug27179.patch</filename>
            <type>text/plain</type>
            <size>1976</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9zY3JpcHQt
dGFnLXNyYy1yZWRpcmVjdC1zYWZlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy1zcmMtcmVkaXJl
Y3Qtc2FmZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy1zcmMtcmVkaXJlY3Qtc2FmZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQUxFUlQ6IFRoaXMgaXMgYSBz
YWZlIHNjcmlwdC4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NB
dWRpdG9yL3NjcmlwdC10YWctc3JjLXJlZGlyZWN0LXNhZmUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy1zcmMt
cmVkaXJlY3Qtc2FmZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS94c3NBdWRpdG9yL3NjcmlwdC10YWctc3JjLXJlZGlyZWN0LXNhZmUuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICBsYXlvdXRUZXN0Q29udHJvbGxlci5z
ZXRYU1NBdWRpdG9yRW5hYmxlZCh0cnVlKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8aWZyYW1lIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3hzc0F1ZGl0b3Iv
cmVzb3VyY2VzL2VjaG8tc2NyaXB0LXNyYy5wbD9xPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1
cml0eS94c3NBdWRpdG9yL3Jlc291cmNlcy9zYWZlLXNjcmlwdC5qcyI+Cis8L2lmcmFtZT4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNz
QXVkaXRvci9yZXNvdXJjZXMvZWNoby1zY3JpcHQtc3JjLnBsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvZWNoby1zY3Jp
cHQtc3JjLnBsCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS94c3NBdWRpdG9yL3Jlc291cmNlcy9lY2hvLXNjcmlwdC1zcmMucGwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTQgQEAKKyMhL3Vzci9iaW4vcGVybCAtd1QKK3VzZSBzdHJpY3Q7Cit1c2UgQ0dJ
OworCitteSAkY2dpID0gbmV3IENHSTsKKworcHJpbnQgIkNvbnRlbnQtVHlwZTogdGV4dC9odG1s
OyBjaGFyc2V0PVVURi04XG5cbiI7CisKK3ByaW50ICI8IURPQ1RZUEUgaHRtbD5cbiI7Citwcmlu
dCAiPGh0bWw+XG4iOworcHJpbnQgIjxib2R5PlxuIjsKK3ByaW50ICI8c2NyaXB0IHNyYz1cIiIu
JGNnaS0+cGFyYW0oJ3EnKS4iXCI+PC9zY3JpcHQ+XG4iOworcHJpbnQgIjwvYm9keT5cbiI7Citw
cmludCAiPC9odG1sPlxuIjsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvZWNoby1zY3JpcHQtc3JjLnBsCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTmFtZTogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32621</attachid>
            <date>2009-07-11 17:54:25 -0700</date>
            <delta_ts>2009-07-12 17:20:54 -0700</delta_ts>
            <desc>=Work in progress</desc>
            <filename>bug-27179-20090711175424.patch</filename>
            <type>text/plain</type>
            <size>6621</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW5pemVyLmNwcCBiL1dlYkNvcmUvaHRt
bC9IVE1MVG9rZW5pemVyLmNwcAppbmRleCA5ZTg4OTRlLi5mMGQ1YjIwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxUb2tl
bml6ZXIuY3BwCkBAIC0xMjU2LDYgKzEyNTYsNyBAQCBIVE1MVG9rZW5pemVyOjpTdGF0ZSBIVE1M
VG9rZW5pemVyOjpwYXJzZVRhZyhTZWdtZW50ZWRTdHJpbmcmIHNyYywgU3RhdGUgc3RhdGUpCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBdHRyaWJ1dGVOYW1lOgogICAgICAgICB7
CisgICAgICAgICAgICBtX3Jhd0F0dHJpYnV0ZUJlZm9yZVZhbHVlLnJlc2V0KCk7CiAgICAgICAg
ICAgICBpbnQgbGwgPSBtaW4oc3JjLmxlbmd0aCgpLCBDQlVGTEVOIC0gY0J1ZmZlclBvcyk7CiAg
ICAgICAgICAgICB3aGlsZSAobGwtLSkgewogICAgICAgICAgICAgICAgIFVDaGFyIGN1cmNoYXIg
PSAqc3JjOwpAQCAtMTI3OCw2ICsxMjc5LDcgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRv
a2VuaXplcjo6cGFyc2VUYWcoU2VnbWVudGVkU3RyaW5nJiBzcmMsIFN0YXRlIHN0YXRlKQogICAg
ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgbV9jQnVmZmVyW2NCdWZmZXJQ
b3MrK10gPSBjdXJjaGFyOwogICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBt
X3Jhd0F0dHJpYnV0ZUJlZm9yZVZhbHVlLmFwcGVuZChjdXJjaGFyKTsKICAgICAgICAgICAgICAg
ICBzcmMuYWR2YW5jZShtX2xpbmVOdW1iZXIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
aWYgKGNCdWZmZXJQb3MgPT0gQ0JVRkxFTikgewpAQCAtMTMwOSw2ICsxMzExLDcgQEAgSFRNTFRv
a2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFyc2VUYWcoU2VnbWVudGVkU3RyaW5nJiBz
cmMsIFN0YXRlIHN0YXRlKQogICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuc2V0VGFnU3Rh
dGUoU2VhcmNoVmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluVmlld1NvdXJj
ZU1vZGUoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRUb2tlbi5hZGRW
aWV3U291cmNlQ2hhcihjdXJjaGFyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fcmF3QXR0
cmlidXRlQmVmb3JlVmFsdWUuYXBwZW5kKGN1cmNoYXIpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgc3JjLmFkdmFuY2VQYXN0Tm9uTmV3bGluZSgpOwogICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50VG9rZW4uYWRkQXR0cmlidXRl
KG1fYXR0ck5hbWUsIGVtcHR5QXRvbSwgaW5WaWV3U291cmNlTW9kZSgpKTsKQEAgLTEzMTgsMTEg
KzEzMjEsMTIgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFyc2VUYWco
U2VnbWVudGVkU3RyaW5nJiBzcmMsIFN0YXRlIHN0YXRlKQogICAgICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBpZiAoaW5WaWV3U291cmNlTW9kZSgpKQotICAgICAgICAgICAgICAgICAgICBtX2N1
cnJlbnRUb2tlbi5hZGRWaWV3U291cmNlQ2hhcihjdXJjaGFyKTsKLSAgICAgICAgICAgICAgICAg
ICAgCisKICAgICAgICAgICAgICAgICBsYXN0SXNTbGFzaCA9IGN1cmNoYXIgPT0gJy8nOwogCisg
ICAgICAgICAgICAgICAgaWYgKGluVmlld1NvdXJjZU1vZGUoKSkKKyAgICAgICAgICAgICAgICAg
ICAgbV9jdXJyZW50VG9rZW4uYWRkVmlld1NvdXJjZUNoYXIoY3VyY2hhcik7CisgICAgICAgICAg
ICAgICAgbV9yYXdBdHRyaWJ1dGVCZWZvcmVWYWx1ZS5hcHBlbmQoY3VyY2hhcik7CiAgICAgICAg
ICAgICAgICAgc3JjLmFkdmFuY2UobV9saW5lTnVtYmVyKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIGJyZWFrOwpAQCAtMTMzNSw2ICsxMzM5LDcgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUg
SFRNTFRva2VuaXplcjo6cGFyc2VUYWcoU2VnbWVudGVkU3RyaW5nJiBzcmMsIFN0YXRlIHN0YXRl
KQogICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuc2V0VGFnU3RhdGUoUXVvdGVkVmFsdWUp
OwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluVmlld1NvdXJjZU1vZGUoKSkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRUb2tlbi5hZGRWaWV3U291cmNlQ2hhcihj
dXJjaGFyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fcmF3QXR0cmlidXRlQmVmb3JlVmFs
dWUuYXBwZW5kKGN1cmNoYXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgc3JjLmFkdmFuY2VQ
YXN0Tm9uTmV3bGluZSgpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0YXRlLnNldFRhZ1N0YXRlKFZhbHVlKTsKQEAgLTEzNDMsNiArMTM0OCw3
IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIEhUTUxUb2tlbml6ZXI6OnBhcnNlVGFnKFNlZ21lbnRl
ZFN0cmluZyYgc3JjLCBTdGF0ZSBzdGF0ZSkKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgaWYgKGluVmlld1NvdXJjZU1vZGUoKSkKICAgICAgICAgICAgICAgICAgICAgbV9jdXJy
ZW50VG9rZW4uYWRkVmlld1NvdXJjZUNoYXIoY3VyY2hhcik7CisgICAgICAgICAgICAgICAgbV9y
YXdBdHRyaWJ1dGVCZWZvcmVWYWx1ZS5hcHBlbmQoY3VyY2hhcik7CiAgICAgICAgICAgICAgICAg
c3JjLmFkdmFuY2UobV9saW5lTnVtYmVyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtMTQyMSw2ICsxNDI3LDEyIEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIEhUTUxUb2tl
bml6ZXI6OnBhcnNlVGFnKFNlZ21lbnRlZFN0cmluZyYgc3JjLCBTdGF0ZSBzdGF0ZSkKICAgICAg
ICAgICAgICAgICAgICAgLy8gJy8nIGRvZXMgbm90IGRlbGltaXQgaW4gSUUhCiAgICAgICAgICAg
ICAgICAgICAgIGlmIChpc0FTQ0lJU3BhY2UoY3VyY2hhcikgfHwgY3VyY2hhciA9PSAnPicpIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgIEF0b21pY1N0cmluZyBhdHRyaWJ1dGVWYWx1ZShtX2J1
ZmZlciArIDEsIG1fZGVzdCAtIG1fYnVmZmVyIC0gMSk7CisKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdpblRhZyAmJiBtX2N1cnJlbnRUb2tlbi50YWdOYW1l
ID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291cmNlTW9kZSgpICYmICFtX3BhcnNlci0+c2tpcE1v
ZGUoKSAmJiBtX2F0dHJOYW1lID09IHNyY0F0dHIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAobV9YU1NBdWRpdG9yICYmICFtX1hTU0F1ZGl0b3ItPmNhbkxvYWRFeHRlcm5hbFNj
cmlwdEZyb21TcmMoU3RyaW5nOjphZG9wdChtX3Jhd0F0dHJpYnV0ZUJlZm9yZVZhbHVlKSwgYXR0
cmlidXRlVmFsdWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVW
YWx1ZSA9IGVtcHR5QXRvbSgpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCiAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2N1cnJlbnRUb2tlbi5hZGRBdHRyaWJ1dGUobV9hdHRyTmFtZSwg
YXR0cmlidXRlVmFsdWUsIGluVmlld1NvdXJjZU1vZGUoKSk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoaW5WaWV3U291cmNlTW9kZSgpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1fY3VycmVudFRva2VuLmFkZFZpZXdTb3VyY2VDaGFyKCd2Jyk7CkBAIC0xNDczLDExICsxNDg1
LDggQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFyc2VUYWcoU2VnbWVu
dGVkU3RyaW5nJiBzcmMsIFN0YXRlIHN0YXRlKQogICAgICAgICAgICAgICAgIG1fc2NyaXB0VGFn
Q2hhcnNldEF0dHJWYWx1ZSA9IFN0cmluZygpOwogICAgICAgICAgICAgICAgIGlmIChtX2N1cnJl
bnRUb2tlbi5hdHRycyAmJiAhbV9mcmFnbWVudCkgewogICAgICAgICAgICAgICAgICAgICBpZiAo
bV9kb2MtPmZyYW1lKCkgJiYgbV9kb2MtPmZyYW1lKCktPnNjcmlwdCgpLT5pc0VuYWJsZWQoKSkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChhID0gbV9jdXJyZW50VG9rZW4uYXR0cnMt
PmdldEF0dHJpYnV0ZUl0ZW0oc3JjQXR0cikpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoKGEgPSBtX2N1cnJlbnRUb2tlbi5hdHRycy0+Z2V0QXR0cmlidXRlSXRlbShzcmNBdHRyKSkp
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9zY3JpcHRUYWdTcmNBdHRyVmFsdWUgPSBt
X2RvYy0+Y29tcGxldGVVUkwocGFyc2VVUkwoYS0+dmFsdWUoKSkpLnN0cmluZygpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChtX1hTU0F1ZGl0b3IgJiYgIW1fWFNTQXVkaXRvci0+
Y2FuTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyhhLT52YWx1ZSgpKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9zY3JpcHRUYWdTcmNBdHRyVmFsdWUgPSBTdHJpbmcoKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVG9r
ZW5pemVyLmggYi9XZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5oCmluZGV4IDY2MTJhZjguLmQ3
MzFiMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW5pemVyLmgKKysrIGIvV2Vi
Q29yZS9odG1sL0hUTUxUb2tlbml6ZXIuaApAQCAtMjEzLDYgKzIxMywxMCBAQCBwcml2YXRlOgog
CiAgICAgVG9rZW4gbV9jdXJyZW50VG9rZW47CiAKKyAgICAvLyBUaGlzIGJ1ZmZlciBob2xkcyB0
aGUgcmF3IGNoYXJhY3RlcnMgd2UndmUgc2VlbiBiZXR3ZWVuIHRoZSBiZWdpbm5pbmcgb2YKKyAg
ICAvLyB0aGUgYXR0cmlidXRlIG5hbWUgYW5kIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlIGF0
dHJpYnV0ZSB2YWx1ZS4KKyAgICBWZWN0b3I8VUNoYXIsIDMyPiBtX3Jhd0F0dHJpYnV0ZUJlZm9y
ZVZhbHVlOworCiAgICAgLy8gVG9rZW5pemVyIGZsYWdzCiAgICAgLy8vLy8vLy8vLy8vLy8vLy8v
CiAgICAgLy8gYXJlIHdlIGluIHF1b3RlcyB3aXRoaW4gYSBodG1sIHRhZwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuY3BwIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuY3Bw
CmluZGV4IDE0NDYwMDAuLjFlNWJmNzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9YU1NBdWRp
dG9yLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5jcHAKQEAgLTEwNSwxMSArMTA1
LDEzIEBAIGJvb2wgWFNTQXVkaXRvcjo6Y2FuQ3JlYXRlSW5saW5lRXZlbnRMaXN0ZW5lcihjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGNvZGUpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJv
b2wgWFNTQXVkaXRvcjo6Y2FuTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyhjb25zdCBTdHJpbmcm
IHVybCkgY29uc3QKK2Jvb2wgWFNTQXVkaXRvcjo6Y2FuTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNy
Yyhjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmIHVybCkgY29uc3QKIHsKICAgICBpZiAoIWlz
RW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAorICAgIC8vIEZJWE1FOiBVc2UgY29u
dGV4dCBwYXJhbWV0ZXIhCisKICAgICBpZiAoZmluZEluUmVxdWVzdCh1cmwpKSB7CiAgICAgICAg
IERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKCJSZWZ1c2VkIHRv
IGV4ZWN1dGUgYSBKYXZhU2NyaXB0IHNjcmlwdC4gU291cmNlIGNvZGUgb2Ygc2NyaXB0IGZvdW5k
IHdpdGhpbiByZXF1ZXN0LlxuIikpOwogICAgICAgICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+Y29u
c29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNv
bnNvbGVNZXNzYWdlLCAxLCBTdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvWFNT
QXVkaXRvci5oIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaAppbmRleCAzMjVhNWIxLi42YzZh
NTZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCisrKyBiL1dlYkNvcmUv
cGFnZS9YU1NBdWRpdG9yLmgKQEAgLTg0LDcgKzg0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgICAgIC8vIERldGVybWluZXMgd2hldGhlciB0aGUgZXh0ZXJuYWwgc2NyaXB0IHNob3Vs
ZCBiZSBsb2FkZWQgYmFzZWQgb24gdGhlCiAgICAgICAgIC8vIGNvbnRlbnQgb2YgYW55IHVzZXIt
c3VibWl0dGVkIGRhdGEuCi0gICAgICAgIGJvb2wgY2FuTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNy
Yyhjb25zdCBTdHJpbmcmIHVybCkgY29uc3Q7CisgICAgICAgIGJvb2wgY2FuTG9hZEV4dGVybmFs
U2NyaXB0RnJvbVNyYyhjb25zdCBTdHJpbmcmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdXJsKSBj
b25zdDsKIAogICAgICAgICAvLyBEZXRlcm1pbmVzIHdoZXRoZXIgb2JqZWN0IHNob3VsZCBiZSBs
b2FkZWQgYmFzZWQgb24gdGhlIGNvbnRlbnQgb2YKICAgICAgICAgLy8gYW55IHVzZXItc3VibWl0
dGVkIGRhdGEu
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32636</attachid>
            <date>2009-07-12 17:21:18 -0700</date>
            <delta_ts>2009-07-12 20:04:23 -0700</delta_ts>
            <desc>Almost done patch.  Needs tests.</desc>
            <filename>bug-27179-20090712172117.patch</filename>
            <type>text/plain</type>
            <size>7729</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW5pemVyLmNwcCBiL1dlYkNvcmUvaHRt
bC9IVE1MVG9rZW5pemVyLmNwcAppbmRleCA5ZTg4OTRlLi4xMGU2NmJlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxUb2tl
bml6ZXIuY3BwCkBAIC0xMjU2LDYgKzEyNTYsNyBAQCBIVE1MVG9rZW5pemVyOjpTdGF0ZSBIVE1M
VG9rZW5pemVyOjpwYXJzZVRhZyhTZWdtZW50ZWRTdHJpbmcmIHNyYywgU3RhdGUgc3RhdGUpCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBdHRyaWJ1dGVOYW1lOgogICAgICAgICB7
CisgICAgICAgICAgICBtX3Jhd0F0dHJpYnV0ZUJlZm9yZVZhbHVlLmNsZWFyKCk7CiAgICAgICAg
ICAgICBpbnQgbGwgPSBtaW4oc3JjLmxlbmd0aCgpLCBDQlVGTEVOIC0gY0J1ZmZlclBvcyk7CiAg
ICAgICAgICAgICB3aGlsZSAobGwtLSkgewogICAgICAgICAgICAgICAgIFVDaGFyIGN1cmNoYXIg
PSAqc3JjOwpAQCAtMTI3OCw2ICsxMjc5LDcgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRv
a2VuaXplcjo6cGFyc2VUYWcoU2VnbWVudGVkU3RyaW5nJiBzcmMsIFN0YXRlIHN0YXRlKQogICAg
ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgbV9jQnVmZmVyW2NCdWZmZXJQ
b3MrK10gPSBjdXJjaGFyOwogICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBt
X3Jhd0F0dHJpYnV0ZUJlZm9yZVZhbHVlLmFwcGVuZChjdXJjaGFyKTsKICAgICAgICAgICAgICAg
ICBzcmMuYWR2YW5jZShtX2xpbmVOdW1iZXIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
aWYgKGNCdWZmZXJQb3MgPT0gQ0JVRkxFTikgewpAQCAtMTMwOSw2ICsxMzExLDcgQEAgSFRNTFRv
a2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFyc2VUYWcoU2VnbWVudGVkU3RyaW5nJiBz
cmMsIFN0YXRlIHN0YXRlKQogICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuc2V0VGFnU3Rh
dGUoU2VhcmNoVmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluVmlld1NvdXJj
ZU1vZGUoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRUb2tlbi5hZGRW
aWV3U291cmNlQ2hhcihjdXJjaGFyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fcmF3QXR0
cmlidXRlQmVmb3JlVmFsdWUuYXBwZW5kKGN1cmNoYXIpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgc3JjLmFkdmFuY2VQYXN0Tm9uTmV3bGluZSgpOwogICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50VG9rZW4uYWRkQXR0cmlidXRl
KG1fYXR0ck5hbWUsIGVtcHR5QXRvbSwgaW5WaWV3U291cmNlTW9kZSgpKTsKQEAgLTEzMTgsMTEg
KzEzMjEsMTIgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFyc2VUYWco
U2VnbWVudGVkU3RyaW5nJiBzcmMsIFN0YXRlIHN0YXRlKQogICAgICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBpZiAoaW5WaWV3U291cmNlTW9kZSgpKQotICAgICAgICAgICAgICAgICAgICBtX2N1
cnJlbnRUb2tlbi5hZGRWaWV3U291cmNlQ2hhcihjdXJjaGFyKTsKLSAgICAgICAgICAgICAgICAg
ICAgCisKICAgICAgICAgICAgICAgICBsYXN0SXNTbGFzaCA9IGN1cmNoYXIgPT0gJy8nOwogCisg
ICAgICAgICAgICAgICAgaWYgKGluVmlld1NvdXJjZU1vZGUoKSkKKyAgICAgICAgICAgICAgICAg
ICAgbV9jdXJyZW50VG9rZW4uYWRkVmlld1NvdXJjZUNoYXIoY3VyY2hhcik7CisgICAgICAgICAg
ICAgICAgbV9yYXdBdHRyaWJ1dGVCZWZvcmVWYWx1ZS5hcHBlbmQoY3VyY2hhcik7CiAgICAgICAg
ICAgICAgICAgc3JjLmFkdmFuY2UobV9saW5lTnVtYmVyKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIGJyZWFrOwpAQCAtMTMzNSw2ICsxMzM5LDcgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUg
SFRNTFRva2VuaXplcjo6cGFyc2VUYWcoU2VnbWVudGVkU3RyaW5nJiBzcmMsIFN0YXRlIHN0YXRl
KQogICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuc2V0VGFnU3RhdGUoUXVvdGVkVmFsdWUp
OwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluVmlld1NvdXJjZU1vZGUoKSkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRUb2tlbi5hZGRWaWV3U291cmNlQ2hhcihj
dXJjaGFyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fcmF3QXR0cmlidXRlQmVmb3JlVmFs
dWUuYXBwZW5kKGN1cmNoYXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgc3JjLmFkdmFuY2VQ
YXN0Tm9uTmV3bGluZSgpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0YXRlLnNldFRhZ1N0YXRlKFZhbHVlKTsKQEAgLTEzNDMsNiArMTM0OCw3
IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIEhUTUxUb2tlbml6ZXI6OnBhcnNlVGFnKFNlZ21lbnRl
ZFN0cmluZyYgc3JjLCBTdGF0ZSBzdGF0ZSkKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgaWYgKGluVmlld1NvdXJjZU1vZGUoKSkKICAgICAgICAgICAgICAgICAgICAgbV9jdXJy
ZW50VG9rZW4uYWRkVmlld1NvdXJjZUNoYXIoY3VyY2hhcik7CisgICAgICAgICAgICAgICAgbV9y
YXdBdHRyaWJ1dGVCZWZvcmVWYWx1ZS5hcHBlbmQoY3VyY2hhcik7CiAgICAgICAgICAgICAgICAg
c3JjLmFkdmFuY2UobV9saW5lTnVtYmVyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtMTM5MSw2ICsxMzk3LDEzIEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIEhUTUxUb2tl
bml6ZXI6OnBhcnNlVGFnKFNlZ21lbnRlZFN0cmluZyYgc3JjLCBTdGF0ZSBzdGF0ZSkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50VG9rZW4uYWRkVmlld1NvdXJjZUNo
YXIoJ3gnKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5WaWV3U291cmNl
TW9kZSgpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudFRva2VuLmFkZFZp
ZXdTb3VyY2VDaGFyKCd2Jyk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX2N1cnJl
bnRUb2tlbi5iZWdpblRhZyAmJiBtX2N1cnJlbnRUb2tlbi50YWdOYW1lID09IHNjcmlwdFRhZyAm
JiAhaW5WaWV3U291cmNlTW9kZSgpICYmICFtX3BhcnNlci0+c2tpcE1vZGUoKSAmJiBtX2F0dHJO
YW1lID09IHNyY0F0dHIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcgY29u
dGV4dChtX3Jhd0F0dHJpYnV0ZUJlZm9yZVZhbHVlLmRhdGEoKSwgbV9yYXdBdHRyaWJ1dGVCZWZv
cmVWYWx1ZS5zaXplKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX1hTU0F1
ZGl0b3IgJiYgIW1fWFNTQXVkaXRvci0+Y2FuTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyhjb250
ZXh0LCBhdHRyaWJ1dGVWYWx1ZSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZVZhbHVlID0gZW1wdHlBdG9tOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCiAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRUb2tlbi5hZGRBdHRyaWJ1dGUobV9hdHRy
TmFtZSwgYXR0cmlidXRlVmFsdWUsIGluVmlld1NvdXJjZU1vZGUoKSk7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBtX2Rlc3QgPSBtX2J1ZmZlcjsKICAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXRlLnNldFRhZ1N0YXRlKFNlYXJjaEF0dHJpYnV0ZSk7CkBAIC0xNDIxLDYgKzE0MzQsMTMgQEAg
SFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFyc2VUYWcoU2VnbWVudGVkU3Ry
aW5nJiBzcmMsIFN0YXRlIHN0YXRlKQogICAgICAgICAgICAgICAgICAgICAvLyAnLycgZG9lcyBu
b3QgZGVsaW1pdCBpbiBJRSEKICAgICAgICAgICAgICAgICAgICAgaWYgKGlzQVNDSUlTcGFjZShj
dXJjaGFyKSB8fCBjdXJjaGFyID09ICc+JykgewogICAgICAgICAgICAgICAgICAgICAgICAgQXRv
bWljU3RyaW5nIGF0dHJpYnV0ZVZhbHVlKG1fYnVmZmVyICsgMSwgbV9kZXN0IC0gbV9idWZmZXIg
LSAxKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fY3VycmVudFRva2VuLmJlZ2lu
VGFnICYmIG1fY3VycmVudFRva2VuLnRhZ05hbWUgPT0gc2NyaXB0VGFnICYmICFpblZpZXdTb3Vy
Y2VNb2RlKCkgJiYgIW1fcGFyc2VyLT5za2lwTW9kZSgpICYmIG1fYXR0ck5hbWUgPT0gc3JjQXR0
cikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBjb250ZXh0KG1fcmF3QXR0
cmlidXRlQmVmb3JlVmFsdWUuZGF0YSgpLCBtX3Jhd0F0dHJpYnV0ZUJlZm9yZVZhbHVlLnNpemUo
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fWFNTQXVkaXRvciAmJiAhbV9Y
U1NBdWRpdG9yLT5jYW5Mb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjKGNvbnRleHQsIGF0dHJpYnV0
ZVZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWUg
PSBlbXB0eUF0b207CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fY3VycmVudFRva2VuLmFkZEF0dHJpYnV0ZShtX2F0dHJOYW1lLCBhdHRyaWJ1
dGVWYWx1ZSwgaW5WaWV3U291cmNlTW9kZSgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlm
IChpblZpZXdTb3VyY2VNb2RlKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJy
ZW50VG9rZW4uYWRkVmlld1NvdXJjZUNoYXIoJ3YnKTsKQEAgLTE0NzMsMTEgKzE0OTMsOCBAQCBI
VE1MVG9rZW5pemVyOjpTdGF0ZSBIVE1MVG9rZW5pemVyOjpwYXJzZVRhZyhTZWdtZW50ZWRTdHJp
bmcmIHNyYywgU3RhdGUgc3RhdGUpCiAgICAgICAgICAgICAgICAgbV9zY3JpcHRUYWdDaGFyc2V0
QXR0clZhbHVlID0gU3RyaW5nKCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fY3VycmVudFRva2Vu
LmF0dHJzICYmICFtX2ZyYWdtZW50KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChtX2RvYy0+
ZnJhbWUoKSAmJiBtX2RvYy0+ZnJhbWUoKS0+c2NyaXB0KCktPmlzRW5hYmxlZCgpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoKGEgPSBtX2N1cnJlbnRUb2tlbi5hdHRycy0+Z2V0QXR0
cmlidXRlSXRlbShzcmNBdHRyKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoYSA9
IG1fY3VycmVudFRva2VuLmF0dHJzLT5nZXRBdHRyaWJ1dGVJdGVtKHNyY0F0dHIpKSkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX3NjcmlwdFRhZ1NyY0F0dHJWYWx1ZSA9IG1fZG9jLT5j
b21wbGV0ZVVSTChwYXJzZVVSTChhLT52YWx1ZSgpKSkuc3RyaW5nKCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKG1fWFNTQXVkaXRvciAmJiAhbV9YU1NBdWRpdG9yLT5jYW5Mb2Fk
RXh0ZXJuYWxTY3JpcHRGcm9tU3JjKGEtPnZhbHVlKCkpKQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtX3NjcmlwdFRhZ1NyY0F0dHJWYWx1ZSA9IFN0cmluZygpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxUb2tlbml6ZXIu
aCBiL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW5pemVyLmgKaW5kZXggNjYxMmFmOC4uZDczMWIyZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxUb2tlbml6ZXIuaAorKysgYi9XZWJDb3JlL2h0
bWwvSFRNTFRva2VuaXplci5oCkBAIC0yMTMsNiArMjEzLDEwIEBAIHByaXZhdGU6CiAKICAgICBU
b2tlbiBtX2N1cnJlbnRUb2tlbjsKIAorICAgIC8vIFRoaXMgYnVmZmVyIGhvbGRzIHRoZSByYXcg
Y2hhcmFjdGVycyB3ZSd2ZSBzZWVuIGJldHdlZW4gdGhlIGJlZ2lubmluZyBvZgorICAgIC8vIHRo
ZSBhdHRyaWJ1dGUgbmFtZSBhbmQgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgYXR0cmlidXRl
IHZhbHVlLgorICAgIFZlY3RvcjxVQ2hhciwgMzI+IG1fcmF3QXR0cmlidXRlQmVmb3JlVmFsdWU7
CisKICAgICAvLyBUb2tlbml6ZXIgZmxhZ3MKICAgICAvLy8vLy8vLy8vLy8vLy8vLy8KICAgICAv
LyBhcmUgd2UgaW4gcXVvdGVzIHdpdGhpbiBhIGh0bWwgdGFnCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvWFNTQXVkaXRvci5jcHAgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5jcHAKaW5kZXgg
MTQ0NjAwMC4uYTY1NmMwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuY3Bw
CisrKyBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmNwcApAQCAtMTA1LDEyICsxMDUsMTIgQEAg
Ym9vbCBYU1NBdWRpdG9yOjpjYW5DcmVhdGVJbmxpbmVFdmVudExpc3RlbmVyKGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYgY29kZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBYU1NB
dWRpdG9yOjpjYW5Mb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjKGNvbnN0IFN0cmluZyYgdXJsKSBj
b25zdAorYm9vbCBYU1NBdWRpdG9yOjpjYW5Mb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjKGNvbnN0
IFN0cmluZyYgY29udGV4dCwgY29uc3QgU3RyaW5nJiB1cmwpIGNvbnN0CiB7CiAgICAgaWYgKCFp
c0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoZmluZEluUmVxdWVz
dCh1cmwpKSB7CisgICAgaWYgKGZpbmRJblJlcXVlc3QoY29udGV4dCArIHVybCkpIHsKICAgICAg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoIlJlZnVzZWQg
dG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29kZSBvZiBzY3JpcHQgZm91
bmQgd2l0aGluIHJlcXVlc3QuXG4iKSk7CiAgICAgICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5j
b25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
Y29uc29sZU1lc3NhZ2UsIDEsIFN0cmluZygpKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRp
dG9yLmgKaW5kZXggMzI1YTViMS4uNmM2YTU2YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hT
U0F1ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBAIC04NCw3ICs4NCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICAvLyBEZXRlcm1pbmVzIHdoZXRoZXIg
dGhlIGV4dGVybmFsIHNjcmlwdCBzaG91bGQgYmUgbG9hZGVkIGJhc2VkIG9uIHRoZQogICAgICAg
ICAvLyBjb250ZW50IG9mIGFueSB1c2VyLXN1Ym1pdHRlZCBkYXRhLgotICAgICAgICBib29sIGNh
bkxvYWRFeHRlcm5hbFNjcmlwdEZyb21TcmMoY29uc3QgU3RyaW5nJiB1cmwpIGNvbnN0OworICAg
ICAgICBib29sIGNhbkxvYWRFeHRlcm5hbFNjcmlwdEZyb21TcmMoY29uc3QgU3RyaW5nJiBjb250
ZXh0LCBjb25zdCBTdHJpbmcmIHVybCkgY29uc3Q7CiAKICAgICAgICAgLy8gRGV0ZXJtaW5lcyB3
aGV0aGVyIG9iamVjdCBzaG91bGQgYmUgbG9hZGVkIGJhc2VkIG9uIHRoZSBjb250ZW50IG9mCiAg
ICAgICAgIC8vIGFueSB1c2VyLXN1Ym1pdHRlZCBkYXRhLg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32642</attachid>
            <date>2009-07-12 20:04:49 -0700</date>
            <delta_ts>2009-07-12 22:24:45 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-27179-20090712200448.patch</filename>
            <type>text/plain</type>
            <size>14847</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1N2U0ZWZlLi4wNzNkOTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMDct
MTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGYWNlYm9vayBDaGF0IGlzIGJyb2tlbiBkdWUg
dG8gWFNTIGF1ZGl0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI3MTc5CisKKyAgICAgICAgQWRkIHNvbWUgbW9yZSB0ZXN0IGNvdmVyYWdlIHRvIG91
ciBoYW5kbGluZyBvZiBzY3JpcHQgdGFncyB3aXRoIHNyYworICAgICAgICBhdHRyaWJ1dGVzLiAg
QWxzbywgZW5zdXJlIHRoYXQgd2UgZG9uJ3QgcmFpc2UgdGhlIGFsYXJtIHdoZW4gYSBVUkwKKyAg
ICAgICAgcGFyYW1ldGVyIGlzIGluamVjdGVkIGRpcmVjdGx5IGludG8gdGhlIGF0dHJpYnV0ZSB2
YWx1ZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJj
ZXMvZWNoby1zY3JpcHQtc3JjLnBsOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy1zcmMtcmVkaXJlY3Qtc2FmZS1leHBlY3RlZC50eHQ6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9i
YXNlLWhyZWYtc2FmZS1leHBlY3RlZC50eHQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS94c3NBdWRpdG9yL3NjcmlwdC10YWctc3JjLXJlZGlyZWN0LXNhZmUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3NjcmlwdC10YWctd2l0aC1z
b3VyY2UtZG91YmxlLXF1b3RlLWV4cGVjdGVkLnR4dDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2FuY2hvci11cmwtZG9tLXdyaXRlLWxvY2F0
aW9uLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0
b3Ivc2NyaXB0LXRhZy13aXRoLXNvdXJjZS1kb3VibGUtcXVvdGUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3NjcmlwdC10YWctd2l0aC1zb3Vy
Y2Utbm8tcXVvdGUtZXhwZWN0ZWQudHh0OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvYW5jaG9yLXVybC1kb20td3JpdGUtbG9jYXRpb24tZXhw
ZWN0ZWQudHh0LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9zY3Jp
cHQtdGFnLXdpdGgtc291cmNlLW5vLXF1b3RlLmh0bWw6IEFkZGVkLgorCiAyMDA5LTA3LTEwICBE
YW5pZWwgQmF0ZXMgIDxkYmF0ZXNAaW50dWRhdGEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL2VjaG8tc2NyaXB0LXNyYy5wbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvZWNoby1zY3JpcHQtc3JjLnBs
Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY1OWUxMDUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3Vy
Y2VzL2VjaG8tc2NyaXB0LXNyYy5wbApAQCAtMCwwICsxLDE0IEBACisjIS91c3IvYmluL3Blcmwg
LXdUCit1c2Ugc3RyaWN0OwordXNlIENHSTsKKworbXkgJGNnaSA9IG5ldyBDR0k7CisKK3ByaW50
ICJDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1VVEYtOFxuXG4iOworCitwcmludCAi
PCFET0NUWVBFIGh0bWw+XG4iOworcHJpbnQgIjxodG1sPlxuIjsKK3ByaW50ICI8Ym9keT5cbiI7
CitwcmludCAiPHNjcmlwdCBzcmM9XCIiLiRjZ2ktPnBhcmFtKCdxJykuIlwiPjwvc2NyaXB0Plxu
IjsKK3ByaW50ICI8L2JvZHk+XG4iOworcHJpbnQgIjwvaHRtbD5cbiI7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy1zcmMt
cmVkaXJlY3Qtc2FmZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy1zcmMtcmVkaXJlY3Qtc2FmZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA4OGEwNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9zY3JpcHQt
dGFnLXNyYy1yZWRpcmVjdC1zYWZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK0FMRVJU
OiBUaGlzIGlzIGEgc2FmZSBzY3JpcHQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9zY3JpcHQtdGFnLXNyYy1yZWRpcmVjdC1zYWZlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRh
Zy1zcmMtcmVkaXJlY3Qtc2FmZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmEzMzM4MDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy1zcmMtcmVkaXJlY3Qtc2FmZS5odG1sCkBAIC0w
LDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Citp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0WFNTQXVkaXRvckVuYWJs
ZWQodHJ1ZSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGlmcmFtZSBzcmM9Imh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291cmNlcy9lY2hvLXNj
cmlwdC1zcmMucGw/cT1odHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkveHNzQXVkaXRvci9y
ZXNvdXJjZXMvc2FmZS1zY3JpcHQuanMiPgorPC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Ivc2Ny
aXB0LXRhZy13aXRoLXNvdXJjZS1kb3VibGUtcXVvdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3NjcmlwdC10YWctd2l0aC1zb3VyY2Ut
ZG91YmxlLXF1b3RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi41MTNlMmY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS94c3NBdWRpdG9yL3NjcmlwdC10YWctd2l0aC1zb3VyY2UtZG91YmxlLXF1b3RlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBSZWZ1
c2VkIHRvIGV4ZWN1dGUgYSBKYXZhU2NyaXB0IHNjcmlwdC4gU291cmNlIGNvZGUgb2Ygc2NyaXB0
IGZvdW5kIHdpdGhpbiByZXF1ZXN0LgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9zY3JpcHQtdGFnLXdpdGgtc291cmNlLWRvdWJsZS1x
dW90ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3Nj
cmlwdC10YWctd2l0aC1zb3VyY2UtZG91YmxlLXF1b3RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uNjg0ZTBmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9zY3JpcHQtdGFnLXdpdGgtc291cmNlLWRv
dWJsZS1xdW90ZS5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuc2V0WFNTQXVkaXRvckVuYWJsZWQodHJ1ZSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGlmcmFtZSBzcmM9J2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS94c3NBdWRp
dG9yL3Jlc291cmNlcy9lY2hvLWludGVydGFnLnBsP3E9PHNjcmlwdCBzcmM9Imh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291cmNlcy94c3MuanMiPjwvc2NyaXB0
Pic+Cis8L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9zY3JpcHQtdGFnLXdpdGgtc291cmNlLW5v
LXF1b3RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNz
QXVkaXRvci9zY3JpcHQtdGFnLXdpdGgtc291cmNlLW5vLXF1b3RlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTNlMmY4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3NjcmlwdC10YWct
d2l0aC1zb3VyY2Utbm8tcXVvdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE6IFJlZnVzZWQgdG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0
LiBTb3VyY2UgY29kZSBvZiBzY3JpcHQgZm91bmQgd2l0aGluIHJlcXVlc3QuCisKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3NjcmlwdC10
YWctd2l0aC1zb3VyY2Utbm8tcXVvdGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkveHNzQXVkaXRvci9zY3JpcHQtdGFnLXdpdGgtc291cmNlLW5vLXF1b3RlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY2ZTdkZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9zY3JpcHQtdGFn
LXdpdGgtc291cmNlLW5vLXF1b3RlLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5zZXRYU1NBdWRpdG9yRW5hYmxlZCh0cnVlKTsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8aWZyYW1lIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3Vy
aXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL2VjaG8taW50ZXJ0YWcucGw/cT08c2NyaXB0IHNyYz1o
dHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMveHNzLmpz
Pjwvc2NyaXB0PiI+Cis8L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmY5MTUwZC4uZDNjODM2
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyOSBAQAorMjAwOS0wNy0xMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZh
Y2Vib29rIENoYXQgaXMgYnJva2VuIGR1ZSB0byBYU1MgYXVkaXRvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcxNzkKKworICAgICAgICBJbnN0ZWFk
IG9mIGp1c3QgdXNpbmcgdGhlIHNjcmlwdCdzIFVSTCBhcyB0byBkZXRlY3QgYW4gWFNTIGF0dGFj
aywgd2UKKyAgICAgICAgbm93IHVzZSBhIGJpdCBvZiBjb250ZXh0IGJlZm9yZSB0aGUgVVJMLiAg
SW4gcGFydGljdWxhciwgd2UgdXNlIHRoZQorICAgICAgICBieXRlcyBmcm9tIHRoZSBiZWdpbm5p
bmcgb2YgdGhlIGF0dHJpYnV0ZSBuYW1lIHRvIHRoZSBlbmQgb2YgdGhlCisgICAgICAgIGF0dHJp
YnV0ZSB2YWx1ZS4gIEluIHZpcnR1YWxseSBhbGwgaW5qZWN0aW9uIGF0dGFja3MsIHRoZSBhdHRh
Y2tlcgorICAgICAgICB3b3VsZCBuZWVkIHRvIHN1cHBseSB0aGUgYXR0cmlidXRlIG5hbWUgYXMg
d2VsbCBhcyB0aGUgYXR0cmlidXRlIHZhbHVlLgorICAgICAgICBIb3dldmVyLCBpbiB0aGUgRmFj
ZWJvb2sgZmFsc2UgcG9zaXRpdmUsIHRoZSBhdHRyaWJ1dGUgbmFtZSBpcyBub3QKKyAgICAgICAg
cHJlc2VudCBpbiB0aGUgVVJMLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5
L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy1zcmMtcmVkaXJlY3Qtc2FmZS5odG1sCisgICAgICAgICAg
ICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy13aXRoLXNvdXJj
ZS1kb3VibGUtcXVvdGUuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS94
c3NBdWRpdG9yL3NjcmlwdC10YWctd2l0aC1zb3VyY2Utbm8tcXVvdGUuaHRtbAorCisgICAgICAg
ICogaHRtbC9IVE1MVG9rZW5pemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbml6
ZXI6OnBhcnNlVGFnKToKKyAgICAgICAgKiBodG1sL0hUTUxUb2tlbml6ZXIuaDoKKyAgICAgICAg
KiBwYWdlL1hTU0F1ZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6Y2Fu
TG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyk6CisgICAgICAgICogcGFnZS9YU1NBdWRpdG9yLmg6
CisKIDIwMDktMDctMTAgIERhbmllbCBCYXRlcyAgPGRiYXRlc0BpbnR1ZGF0YS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MVG9rZW5pemVyLmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW5pemVyLmNwcAppbmRleCA5
ZTg4OTRlLi41Nzg4ZWI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5j
cHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxUb2tlbml6ZXIuY3BwCkBAIC0xMjU2LDYgKzEyNTYs
NyBAQCBIVE1MVG9rZW5pemVyOjpTdGF0ZSBIVE1MVG9rZW5pemVyOjpwYXJzZVRhZyhTZWdtZW50
ZWRTdHJpbmcmIHNyYywgU3RhdGUgc3RhdGUpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBBdHRyaWJ1dGVOYW1lOgogICAgICAgICB7CisgICAgICAgICAgICBtX3Jhd0F0dHJpYnV0
ZUJlZm9yZVZhbHVlLmNsZWFyKCk7CiAgICAgICAgICAgICBpbnQgbGwgPSBtaW4oc3JjLmxlbmd0
aCgpLCBDQlVGTEVOIC0gY0J1ZmZlclBvcyk7CiAgICAgICAgICAgICB3aGlsZSAobGwtLSkgewog
ICAgICAgICAgICAgICAgIFVDaGFyIGN1cmNoYXIgPSAqc3JjOwpAQCAtMTI3OCw2ICsxMjc5LDcg
QEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFyc2VUYWcoU2VnbWVudGVk
U3RyaW5nJiBzcmMsIFN0YXRlIHN0YXRlKQogICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgICAgICAgICAgbV9jQnVmZmVyW2NCdWZmZXJQb3MrK10gPSBjdXJjaGFyOwogICAgICAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBtX3Jhd0F0dHJpYnV0ZUJlZm9yZVZhbHVlLmFw
cGVuZChjdXJjaGFyKTsKICAgICAgICAgICAgICAgICBzcmMuYWR2YW5jZShtX2xpbmVOdW1iZXIp
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGNCdWZmZXJQb3MgPT0gQ0JVRkxFTikg
ewpAQCAtMTMwOSw2ICsxMzExLDcgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXpl
cjo6cGFyc2VUYWcoU2VnbWVudGVkU3RyaW5nJiBzcmMsIFN0YXRlIHN0YXRlKQogICAgICAgICAg
ICAgICAgICAgICAgICAgc3RhdGUuc2V0VGFnU3RhdGUoU2VhcmNoVmFsdWUpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKGluVmlld1NvdXJjZU1vZGUoKSkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtX2N1cnJlbnRUb2tlbi5hZGRWaWV3U291cmNlQ2hhcihjdXJjaGFyKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIG1fcmF3QXR0cmlidXRlQmVmb3JlVmFsdWUuYXBwZW5kKGN1
cmNoYXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgc3JjLmFkdmFuY2VQYXN0Tm9uTmV3bGlu
ZSgpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAg
ICAgbV9jdXJyZW50VG9rZW4uYWRkQXR0cmlidXRlKG1fYXR0ck5hbWUsIGVtcHR5QXRvbSwgaW5W
aWV3U291cmNlTW9kZSgpKTsKQEAgLTEzMTgsMTEgKzEzMjEsMTIgQEAgSFRNTFRva2VuaXplcjo6
U3RhdGUgSFRNTFRva2VuaXplcjo6cGFyc2VUYWcoU2VnbWVudGVkU3RyaW5nJiBzcmMsIFN0YXRl
IHN0YXRlKQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoaW5WaWV3U291cmNlTW9k
ZSgpKQotICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRUb2tlbi5hZGRWaWV3U291cmNlQ2hh
cihjdXJjaGFyKTsKLSAgICAgICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgICAgICBsYXN0
SXNTbGFzaCA9IGN1cmNoYXIgPT0gJy8nOwogCisgICAgICAgICAgICAgICAgaWYgKGluVmlld1Nv
dXJjZU1vZGUoKSkKKyAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50VG9rZW4uYWRkVmlld1Nv
dXJjZUNoYXIoY3VyY2hhcik7CisgICAgICAgICAgICAgICAgbV9yYXdBdHRyaWJ1dGVCZWZvcmVW
YWx1ZS5hcHBlbmQoY3VyY2hhcik7CiAgICAgICAgICAgICAgICAgc3JjLmFkdmFuY2UobV9saW5l
TnVtYmVyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTMzNSw2ICsx
MzM5LDcgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFyc2VUYWcoU2Vn
bWVudGVkU3RyaW5nJiBzcmMsIFN0YXRlIHN0YXRlKQogICAgICAgICAgICAgICAgICAgICAgICAg
c3RhdGUuc2V0VGFnU3RhdGUoUXVvdGVkVmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKGluVmlld1NvdXJjZU1vZGUoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2N1
cnJlbnRUb2tlbi5hZGRWaWV3U291cmNlQ2hhcihjdXJjaGFyKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG1fcmF3QXR0cmlidXRlQmVmb3JlVmFsdWUuYXBwZW5kKGN1cmNoYXIpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgc3JjLmFkdmFuY2VQYXN0Tm9uTmV3bGluZSgpOwogICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnNldFRhZ1N0
YXRlKFZhbHVlKTsKQEAgLTEzNDMsNiArMTM0OCw3IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIEhU
TUxUb2tlbml6ZXI6OnBhcnNlVGFnKFNlZ21lbnRlZFN0cmluZyYgc3JjLCBTdGF0ZSBzdGF0ZSkK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgaWYgKGluVmlld1NvdXJjZU1vZGUo
KSkKICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50VG9rZW4uYWRkVmlld1NvdXJjZUNoYXIo
Y3VyY2hhcik7CisgICAgICAgICAgICAgICAgbV9yYXdBdHRyaWJ1dGVCZWZvcmVWYWx1ZS5hcHBl
bmQoY3VyY2hhcik7CiAgICAgICAgICAgICAgICAgc3JjLmFkdmFuY2UobV9saW5lTnVtYmVyKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTM5MSw2ICsxMzk3LDEzIEBA
IEhUTUxUb2tlbml6ZXI6OlN0YXRlIEhUTUxUb2tlbml6ZXI6OnBhcnNlVGFnKFNlZ21lbnRlZFN0
cmluZyYgc3JjLCBTdGF0ZSBzdGF0ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bV9jdXJyZW50VG9rZW4uYWRkVmlld1NvdXJjZUNoYXIoJ3gnKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAoaW5WaWV3U291cmNlTW9kZSgpKQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fY3VycmVudFRva2VuLmFkZFZpZXdTb3VyY2VDaGFyKCd2Jyk7CisKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdpblRhZyAmJiBtX2N1cnJl
bnRUb2tlbi50YWdOYW1lID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291cmNlTW9kZSgpICYmICFt
X3BhcnNlci0+c2tpcE1vZGUoKSAmJiBtX2F0dHJOYW1lID09IHNyY0F0dHIpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTdHJpbmcgY29udGV4dChtX3Jhd0F0dHJpYnV0ZUJlZm9yZVZh
bHVlLmRhdGEoKSwgbV9yYXdBdHRyaWJ1dGVCZWZvcmVWYWx1ZS5zaXplKCkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChtX1hTU0F1ZGl0b3IgJiYgIW1fWFNTQXVkaXRvci0+Y2Fu
TG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyhjb250ZXh0LCBhdHRyaWJ1dGVWYWx1ZSkpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlID0gYmxhbmtVUkwoKS5z
dHJpbmcoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgICAgICAg
ICAgICAgbV9jdXJyZW50VG9rZW4uYWRkQXR0cmlidXRlKG1fYXR0ck5hbWUsIGF0dHJpYnV0ZVZh
bHVlLCBpblZpZXdTb3VyY2VNb2RlKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9kZXN0
ID0gbV9idWZmZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5zZXRUYWdTdGF0ZShT
ZWFyY2hBdHRyaWJ1dGUpOwpAQCAtMTQyMSw2ICsxNDM0LDEzIEBAIEhUTUxUb2tlbml6ZXI6OlN0
YXRlIEhUTUxUb2tlbml6ZXI6OnBhcnNlVGFnKFNlZ21lbnRlZFN0cmluZyYgc3JjLCBTdGF0ZSBz
dGF0ZSkKICAgICAgICAgICAgICAgICAgICAgLy8gJy8nIGRvZXMgbm90IGRlbGltaXQgaW4gSUUh
CiAgICAgICAgICAgICAgICAgICAgIGlmIChpc0FTQ0lJU3BhY2UoY3VyY2hhcikgfHwgY3VyY2hh
ciA9PSAnPicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEF0b21pY1N0cmluZyBhdHRyaWJ1
dGVWYWx1ZShtX2J1ZmZlciArIDEsIG1fZGVzdCAtIG1fYnVmZmVyIC0gMSk7CisKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdpblRhZyAmJiBtX2N1cnJlbnRU
b2tlbi50YWdOYW1lID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291cmNlTW9kZSgpICYmICFtX3Bh
cnNlci0+c2tpcE1vZGUoKSAmJiBtX2F0dHJOYW1lID09IHNyY0F0dHIpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTdHJpbmcgY29udGV4dChtX3Jhd0F0dHJpYnV0ZUJlZm9yZVZhbHVl
LmRhdGEoKSwgbV9yYXdBdHRyaWJ1dGVCZWZvcmVWYWx1ZS5zaXplKCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChtX1hTU0F1ZGl0b3IgJiYgIW1fWFNTQXVkaXRvci0+Y2FuTG9h
ZEV4dGVybmFsU2NyaXB0RnJvbVNyYyhjb250ZXh0LCBhdHRyaWJ1dGVWYWx1ZSkpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlID0gYmxhbmtVUkwoKS5zdHJp
bmcoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgICAgICAgICAg
ICAgbV9jdXJyZW50VG9rZW4uYWRkQXR0cmlidXRlKG1fYXR0ck5hbWUsIGF0dHJpYnV0ZVZhbHVl
LCBpblZpZXdTb3VyY2VNb2RlKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluVmll
d1NvdXJjZU1vZGUoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRUb2tl
bi5hZGRWaWV3U291cmNlQ2hhcigndicpOwpAQCAtMTQ3MywxMSArMTQ5Myw4IEBAIEhUTUxUb2tl
bml6ZXI6OlN0YXRlIEhUTUxUb2tlbml6ZXI6OnBhcnNlVGFnKFNlZ21lbnRlZFN0cmluZyYgc3Jj
LCBTdGF0ZSBzdGF0ZSkKICAgICAgICAgICAgICAgICBtX3NjcmlwdFRhZ0NoYXJzZXRBdHRyVmFs
dWUgPSBTdHJpbmcoKTsKICAgICAgICAgICAgICAgICBpZiAobV9jdXJyZW50VG9rZW4uYXR0cnMg
JiYgIW1fZnJhZ21lbnQpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKG1fZG9jLT5mcmFtZSgp
ICYmIG1fZG9jLT5mcmFtZSgpLT5zY3JpcHQoKS0+aXNFbmFibGVkKCkpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICgoYSA9IG1fY3VycmVudFRva2VuLmF0dHJzLT5nZXRBdHRyaWJ1dGVJ
dGVtKHNyY0F0dHIpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChhID0gbV9jdXJy
ZW50VG9rZW4uYXR0cnMtPmdldEF0dHJpYnV0ZUl0ZW0oc3JjQXR0cikpKQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fc2NyaXB0VGFnU3JjQXR0clZhbHVlID0gbV9kb2MtPmNvbXBsZXRl
VVJMKHBhcnNlVVJMKGEtPnZhbHVlKCkpKS5zdHJpbmcoKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAobV9YU1NBdWRpdG9yICYmICFtX1hTU0F1ZGl0b3ItPmNhbkxvYWRFeHRlcm5h
bFNjcmlwdEZyb21TcmMoYS0+dmFsdWUoKSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fc2NyaXB0VGFnU3JjQXR0clZhbHVlID0gU3RyaW5nKCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5oIGIvV2Vi
Q29yZS9odG1sL0hUTUxUb2tlbml6ZXIuaAppbmRleCA2NjEyYWY4Li5kNzMxYjJkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1M
VG9rZW5pemVyLmgKQEAgLTIxMyw2ICsyMTMsMTAgQEAgcHJpdmF0ZToKIAogICAgIFRva2VuIG1f
Y3VycmVudFRva2VuOwogCisgICAgLy8gVGhpcyBidWZmZXIgaG9sZHMgdGhlIHJhdyBjaGFyYWN0
ZXJzIHdlJ3ZlIHNlZW4gYmV0d2VlbiB0aGUgYmVnaW5uaW5nIG9mCisgICAgLy8gdGhlIGF0dHJp
YnV0ZSBuYW1lIGFuZCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSBhdHRyaWJ1dGUgdmFsdWUu
CisgICAgVmVjdG9yPFVDaGFyLCAzMj4gbV9yYXdBdHRyaWJ1dGVCZWZvcmVWYWx1ZTsKKwogICAg
IC8vIFRva2VuaXplciBmbGFncwogICAgIC8vLy8vLy8vLy8vLy8vLy8vLwogICAgIC8vIGFyZSB3
ZSBpbiBxdW90ZXMgd2l0aGluIGEgaHRtbCB0YWcKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Y
U1NBdWRpdG9yLmNwcCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmNwcAppbmRleCAxNDQ2MDAw
Li5hNjU2YzA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5jcHAKKysrIGIv
V2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuY3BwCkBAIC0xMDUsMTIgKzEwNSwxMiBAQCBib29sIFhT
U0F1ZGl0b3I6OmNhbkNyZWF0ZUlubGluZUV2ZW50TGlzdGVuZXIoY29uc3QgU3RyaW5nJiwgY29u
c3QgU3RyaW5nJiBjb2RlKQogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFhTU0F1ZGl0b3I6
OmNhbkxvYWRFeHRlcm5hbFNjcmlwdEZyb21TcmMoY29uc3QgU3RyaW5nJiB1cmwpIGNvbnN0Citi
b29sIFhTU0F1ZGl0b3I6OmNhbkxvYWRFeHRlcm5hbFNjcmlwdEZyb21TcmMoY29uc3QgU3RyaW5n
JiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIHVybCkgY29uc3QKIHsKICAgICBpZiAoIWlzRW5hYmxl
ZCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChmaW5kSW5SZXF1ZXN0KHVybCkp
IHsKKyAgICBpZiAoZmluZEluUmVxdWVzdChjb250ZXh0ICsgdXJsKSkgewogICAgICAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsICgiUmVmdXNlZCB0byBleGVj
dXRlIGEgSmF2YVNjcmlwdCBzY3JpcHQuIFNvdXJjZSBjb2RlIG9mIHNjcmlwdCBmb3VuZCB3aXRo
aW4gcmVxdWVzdC5cbiIpKTsKICAgICAgICAgbV9mcmFtZS0+ZG9tV2luZG93KCktPmNvbnNvbGUo
KS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xl
TWVzc2FnZSwgMSwgU3RyaW5nKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaApp
bmRleCAzMjVhNWIxLi42YzZhNTZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRv
ci5oCisrKyBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAgLTg0LDcgKzg0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIC8vIERldGVybWluZXMgd2hldGhlciB0aGUgZXh0
ZXJuYWwgc2NyaXB0IHNob3VsZCBiZSBsb2FkZWQgYmFzZWQgb24gdGhlCiAgICAgICAgIC8vIGNv
bnRlbnQgb2YgYW55IHVzZXItc3VibWl0dGVkIGRhdGEuCi0gICAgICAgIGJvb2wgY2FuTG9hZEV4
dGVybmFsU2NyaXB0RnJvbVNyYyhjb25zdCBTdHJpbmcmIHVybCkgY29uc3Q7CisgICAgICAgIGJv
b2wgY2FuTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyhjb25zdCBTdHJpbmcmIGNvbnRleHQsIGNv
bnN0IFN0cmluZyYgdXJsKSBjb25zdDsKIAogICAgICAgICAvLyBEZXRlcm1pbmVzIHdoZXRoZXIg
b2JqZWN0IHNob3VsZCBiZSBsb2FkZWQgYmFzZWQgb24gdGhlIGNvbnRlbnQgb2YKICAgICAgICAg
Ly8gYW55IHVzZXItc3VibWl0dGVkIGRhdGEu
</data>
<flag name="review"
          id="17038"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>