<?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>95181</bug_id>
          
          <creation_ts>2012-08-28 02:26:00 -0700</creation_ts>
          <short_desc>[soup] List value response headers are not handled in RespourceResponse</short_desc>
          <delta_ts>2012-12-05 09:45:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexander Shalamov">alexander.shalamov</reporter>
          <assigned_to name="Alexander Shalamov">alexander.shalamov</assigned_to>
          <cc>cdumez</cc>
    
    <cc>danw</cc>
    
    <cc>d-r</cc>
    
    <cc>gustavo</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>706187</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Shalamov">alexander.shalamov</who>
    <bug_when>2012-08-28 02:26:00 -0700</bug_when>
    <thetext>When http response contains list-value headers, RespourceResponse handles them as single-value. (ResourceResponseSoup.cpp WebCore::RespourceResponse::updateFromSoupMessage)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706194</commentid>
    <comment_count>1</comment_count>
      <attachid>160939</attachid>
    <who name="Alexander Shalamov">alexander.shalamov</who>
    <bug_when>2012-08-28 02:35:33 -0700</bug_when>
    <thetext>Created attachment 160939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706267</commentid>
    <comment_count>2</comment_count>
      <attachid>160939</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2012-08-28 06:01:09 -0700</bug_when>
    <thetext>Comment on attachment 160939
Patch

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

&gt; Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:74
&gt; +    while (soup_message_headers_iter_next(&amp;headersIter, &amp;headerName, &amp;headerValue)) {
&gt; +        headerValue = soup_message_headers_get_list(soupMessage-&gt;response_headers, headerName);
&gt;          m_httpHeaderFields.set(String::fromUTF8(headerName),
&gt;                                 String::fromUTF8WithLatin1Fallback(headerValue, strlen(headerValue)));

so, this is mildly inefficient, in that for headers that appear twice, it will end up setting them twice. eg, in the newly-added test, it will end up doing

  m_httpHeaderFields.set(&quot;Content-Type&quot;, &quot;text/plain&quot;);
  m_httpHeaderFields.set(&quot;X-Custom-Header-Single&quot;, &quot;single&quot;);
  m_httpHeaderFields.set(&quot;X-Custom-Header-Empty&quot;, &quot;&quot;);
  m_httpHeaderFields.set(&quot;X-Custom-Header-List&quot;, &quot;one, two&quot;);
  m_httpHeaderFields.set(&quot;X-Custom-Header-List&quot;, &quot;one, two&quot;); /* redundant */

however, it still gets the right answer (since the redundant set() just overwrites the first one), and making it *not* do this would probably be more hassle than it&apos;s worth.

What happens if there are multiple Content-Type or Content-Length headers? In that case, you&apos;re supposed to ignore the extras, and I wonder how other backends would end up behaving in this case...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706282</commentid>
    <comment_count>3</comment_count>
    <who name="Alexander Shalamov">alexander.shalamov</who>
    <bug_when>2012-08-28 06:28:08 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 160939 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=160939&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:74
&gt; &gt; +    while (soup_message_headers_iter_next(&amp;headersIter, &amp;headerName, &amp;headerValue)) {
&gt; &gt; +        headerValue = soup_message_headers_get_list(soupMessage-&gt;response_headers, headerName);
&gt; &gt;          m_httpHeaderFields.set(String::fromUTF8(headerName),
&gt; &gt;                                 String::fromUTF8WithLatin1Fallback(headerValue, strlen(headerValue)));
&gt; 
&gt; so, this is mildly inefficient, in that for headers that appear twice, it will end up setting them twice. eg, in the newly-added test, it will end up doing
&gt; 
&gt;   m_httpHeaderFields.set(&quot;Content-Type&quot;, &quot;text/plain&quot;);
&gt;   m_httpHeaderFields.set(&quot;X-Custom-Header-Single&quot;, &quot;single&quot;);
&gt;   m_httpHeaderFields.set(&quot;X-Custom-Header-Empty&quot;, &quot;&quot;);
&gt;   m_httpHeaderFields.set(&quot;X-Custom-Header-List&quot;, &quot;one, two&quot;);
&gt;   m_httpHeaderFields.set(&quot;X-Custom-Header-List&quot;, &quot;one, two&quot;); /* redundant */
&gt; 
&gt; however, it still gets the right answer (since the redundant set() just overwrites the first one), and making it *not* do this would probably be more hassle than it&apos;s worth.

I could check if map already contains key + skip first iteration.
 
&gt; What happens if there are multiple Content-Type or Content-Length headers? In that case, you&apos;re supposed to ignore the extras, and I wonder how other backends would end up behaving in this case...

I will check how chromium / qt backends handle that. Thanks for the hint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707270</commentid>
    <comment_count>4</comment_count>
    <who name="Alexander Shalamov">alexander.shalamov</who>
    <bug_when>2012-08-29 03:30:08 -0700</bug_when>
    <thetext>(In reply to comment #2) 
&gt; What happens if there are multiple Content-Type or Content-Length headers? In that case, you&apos;re supposed to ignore the extras, and I wonder how other backends would end up behaving in this case...

Dan, I tried to send duplicate Content-Type, Content-Length and custom headers, here are the results:

Headers sent from python server:

send_header(&quot;Content-type&quot;, &quot;text/plain&quot;)
send_header(&quot;Content-type&quot;, &quot;text/html&quot;)
send_header(&quot;Content-Length&quot;, 889)
send_header(&quot;Content-length&quot;, 889)
send_header(&quot;x-custom-header&quot;, 1)
send_header(&quot;x-custom-header&quot;, 2)

Mozilla:
CONTENT-TYPE: text/plain
CONTENT-LENGTH: 889
X-CUSTOM-HEADER: 1, 2

Chromium:
CONTENT-TYPE: plain/html, text/html
CONTENT-LENGTH: 889, 889
X-CUSTOM-HEADER: 1, 2

Opera:
CONTENT-TYPE: plain/html, text/html
CONTENT-LENGTH: 889, 889
X-CUSTOM-HEADER: 1, 2

GTK / EFL WebKit (with my patch):
CONTENT-TYPE: plain/html, text/html
CONTENT-LENGTH: 889, 889
X-CUSTOM-HEADER: 1, 2

If I send multiple Content-Length header with different values, Chromium and Mozilla complain about duplicated headers / corrupted content and refuse to load page.

send_header(&quot;Content-length&quot;, 889)
send_header(&quot;Content-length&quot;, 123)
send_header(&quot;Content-length&quot;, 889)

Opera loads page and concatenates values, it uses first Content-Length and Content-Type header values:

CONTENT-TYPE: plain/html, text/html
CONTENT-LENGTH: 889, 123, 889
X-CUSTOM-HEADER: 1, 2

EFL/GTK WebKit (with my patch) - uses last header values for Content-Type and Content-Length.
const char* officialType = soup_message_headers_get_one(soupMessage-&gt;response_headers, &quot;Content-Type&quot;);
setExpectedContentLength(soup_message_headers_get_content_length(soupMessage-&gt;response_headers));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707276</commentid>
    <comment_count>5</comment_count>
      <attachid>161174</attachid>
    <who name="Alexander Shalamov">alexander.shalamov</who>
    <bug_when>2012-08-29 03:45:16 -0700</bug_when>
    <thetext>Created attachment 161174
test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781320</commentid>
    <comment_count>6</comment_count>
      <attachid>177227</attachid>
    <who name="Alexander Shalamov">alexander.shalamov</who>
    <bug_when>2012-12-03 04:02:09 -0800</bug_when>
    <thetext>Created attachment 177227
Patch 2

- clear old headers before updating
- concatenate list-value header values whenever key is already in the map</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781322</commentid>
    <comment_count>7</comment_count>
      <attachid>177228</attachid>
    <who name="Alexander Shalamov">alexander.shalamov</who>
    <bug_when>2012-12-03 04:04:47 -0800</bug_when>
    <thetext>Created attachment 177228
Patch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781649</commentid>
    <comment_count>8</comment_count>
      <attachid>177228</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-12-03 10:55:50 -0800</bug_when>
    <thetext>Comment on attachment 177228
Patch 3

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

This looks good to me, but I&apos;d also like a quick review by either Dan Winship or Sergio Villar Senin before I give an r+.

&gt; Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:70
&gt; +    m_httpHeaderFields.clear();

Why is it important to clear the headers here? I don&apos;t doubt that it is, but maybe a comment would help.

&gt; Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:74
&gt; +        String headerNameStr = String::fromUTF8WithLatin1Fallback(headerName, strlen(headerName));

We don&apos;t typically abbreviate variable names (other than the most common -- for instance it and i for iterators) in WebKit, so maybe headerNameString instead of Str.

&gt; Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:87
&gt; +        else {
&gt; +            if (!it-&gt;value.isEmpty()) {
&gt; +                StringBuilder builder;
&gt; +                builder.append(it-&gt;value);
&gt; +                builder.appendLiteral(&quot;, &quot;);
&gt; +                builder.append(String::fromUTF8WithLatin1Fallback(headerValue, strlen(headerValue)));
&gt; +                m_httpHeaderFields.set(headerNameStr, builder.toString());
&gt; +            } else
&gt; +                m_httpHeaderFields.set(headerNameStr, String::fromUTF8WithLatin1Fallback(headerValue, strlen(headerValue)));
&gt; +        }

You could flatten this out actually:

else if (!it-&gt;value.isEmpty()) {
    ...
} else {
   ...
}

That might make it slightly easier to read because of the fewer levels of nesting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783653</commentid>
    <comment_count>9</comment_count>
      <attachid>177727</attachid>
    <who name="Alexander Shalamov">alexander.shalamov</who>
    <bug_when>2012-12-05 04:38:40 -0800</bug_when>
    <thetext>Created attachment 177727
Patch 4

- simplified if else block
- added comment to m_httpHeaderFields.clear()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783660</commentid>
    <comment_count>10</comment_count>
    <who name="Dan Winship">danw</who>
    <bug_when>2012-12-05 04:56:52 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; This looks good to me, but I&apos;d also like a quick review by either Dan Winship or Sergio Villar Senin before I give an r+.

yeah, it works... though I&apos;m thinking the &quot;redundant&quot; version from the original patch is probably cleaner</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783852</commentid>
    <comment_count>11</comment_count>
      <attachid>177727</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 09:45:36 -0800</bug_when>
    <thetext>Comment on attachment 177727
Patch 4

Clearing flags on attachment: 177727

Committed r136705: &lt;http://trac.webkit.org/changeset/136705&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783853</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 09:45:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160939</attachid>
            <date>2012-08-28 02:35:33 -0700</date>
            <delta_ts>2012-12-03 04:02:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>webkit_resource_response_headers.patch</filename>
            <type>text/plain</type>
            <size>5769</size>
            <attacher name="Alexander Shalamov">alexander.shalamov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmMmRiODM4Li4zN2EzNGE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgt
MjggIEFsZXhhbmRlciBTaGFsYW1vdiAgPGFsZXhhbmRlci5zaGFsYW1vdkBpbnRlbC5jb20+CisK
KyAgICAgICAgW0VGTF1bR1RLXSBMaXN0IHZhbHVlIHJlc3BvbnNlIGhlYWRlcnMgYXJlIG5vdCBo
YW5kbGVkIGluIFJlc3BvdXJjZVJlc3BvbnNlIChsaWJzb3VwIHNwZWNpZmljKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUxODEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IHRoYXQgY2hl
Y2tzIGlmIGxpc3QtdmFsdWUgcmVzcG9uc2UgaGVhZGVycyBoYW5kbGVkIGNvcnJlY3RseS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2N1c3RvbS1oZWFk
ZXJzLnBocDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxo
dHRwcmVxdWVzdC10ZXN0LWN1c3RvbS1oZWFkZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC10ZXN0LWN1c3Rv
bS1oZWFkZXJzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA4LTI0ICBaYW4gRG9iZXJzZWsgIDx6YW5k
b2JlcnNla0BnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBHVEsgZ2FyZGVuaW5nLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJj
ZXMvY3VzdG9tLWhlYWRlcnMucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9yZXNvdXJjZXMvY3VzdG9tLWhlYWRlcnMucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjc4YWI0YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9jdXN0b20taGVhZGVycy5waHAKQEAgLTAs
MCArMSw3IEBACis8P3BocAorIGhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluIik7Cisg
aGVhZGVyKCJYLUN1c3RvbS1IZWFkZXItU2luZ2xlOiBzaW5nbGUiKTsKKyBoZWFkZXIoIlgtQ3Vz
dG9tLUhlYWRlci1FbXB0eToiKTsKKyBoZWFkZXIoIlgtQ3VzdG9tLUhlYWRlci1MaXN0OiBvbmUi
KTsKKyBoZWFkZXIoIlgtQ3VzdG9tLUhlYWRlci1MaXN0OiB0d28iLCBmYWxzZSk7Cis/PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVlc3QtdGVzdC1jdXN0b20taGVhZGVycy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHBy
ZXF1ZXN0LXRlc3QtY3VzdG9tLWhlYWRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjgxNmY1YzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHByZXF1ZXN0LXRlc3QtY3VzdG9tLWhl
YWRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdHMgdGhhdCBYTUxI
dHRwUmVxdWVzdCBwcm9wZXJseSBoYW5kbGVzIGxpc3QtdmFsdWVkIGhlYWRlcnMuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHhoci5nZXRSZXNwb25zZUhlYWRlcigiQ09O
VEVOVC1UWVBFIikuaW5kZXhPZigidGV4dC9wbGFpbiIpIGlzID49IDAKK1BBU1MgeGhyLmdldFJl
c3BvbnNlSGVhZGVyKCJ4LWN1c3RvbS1oZWFkZXItc2luZ2xlIikgaXMgInNpbmdsZSIKK1BBU1Mg
eGhyLmdldFJlc3BvbnNlSGVhZGVyKCJ4LWN1c3RvbS1oZWFkZXItZW1wdHkiKSBpcyAiIgorUEFT
UyB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIngtY3VzdG9tLWhlYWRlci1saXN0IikgaXMgIm9uZSwg
dHdvIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QveG1saHR0
cHJlcXVlc3QtdGVzdC1jdXN0b20taGVhZGVycy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC10ZXN0LWN1c3RvbS1oZWFkZXJzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBhN2YxYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVl
c3QtdGVzdC1jdXN0b20taGVhZGVycy5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzxodG1sPgorPGhl
YWQ+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgIGRlc2Ny
aXB0aW9uKCdUaGlzIHRlc3RzIHRoYXQgWE1MSHR0cFJlcXVlc3QgcHJvcGVybHkgaGFuZGxlcyBs
aXN0LXZhbHVlZCBoZWFkZXJzLicpOworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgIHZhciB4aHI7CisKKyAgICBpZiAod2luZG93LlhNTEh0dHBSZXF1ZXN0KSB7CisgICAg
ICAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRy
eSB7CisgICAgICAgICAgICB4aHIgPSBuZXcgQWN0aXZlWE9iamVjdCgiTXN4bWwyLlhNTEhUVFAi
KTsKKyAgICAgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgICAgIHhociA9IG5ldyBBY3RpdmVY
T2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpOworICAgICAgICB9CisgICAgfQorCisgICAgeGhy
Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvY3VzdG9tLWhlYWRlcnMucGhwIik7CisgICAgeGhyLnNl
bmQobnVsbCk7CisKKyAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgIGlmKHhoci5yZWFkeVN0YXRlID09IDQpIHsKKyAgICAgICAgICAgIHNob3VsZEJlR3Jl
YXRlclRoYW5PckVxdWFsKCJ4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoXCJDT05URU5ULVRZUEVcIiku
aW5kZXhPZihcInRleHQvcGxhaW5cIikiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoXCJ4LWN1c3RvbS1oZWFkZXItc2luZ2xl
XCIpIiwgInNpbmdsZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygieGhyLmdl
dFJlc3BvbnNlSGVhZGVyKFwieC1jdXN0b20taGVhZGVyLWVtcHR5XCIpIik7CisgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInhoci5nZXRSZXNwb25zZUhlYWRlcihcIngtY3VzdG9t
LWhlYWRlci1saXN0XCIpIiwgIm9uZSwgdHdvIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKwor
PGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTkxOWIyZC4uZDM3ODMzMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTI4ICBBbGV4YW5kZXIgU2hhbGFt
b3YgIDxhbGV4YW5kZXIuc2hhbGFtb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10g
TGlzdCB2YWx1ZSByZXNwb25zZSBoZWFkZXJzIGFyZSBub3QgaGFuZGxlZCBpbiBSZXNwb3VyY2VS
ZXNwb25zZSAobGlic291cCBzcGVjaWZpYykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk1MTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiBsaXN0LXZhbHVlIHJlc3BvbnNlIGhlYWRlcnMgYXJlIHJl
Y2VpdmVkLCB0aGV5IGFyZSBoYW5kbGVkIGFzIHNpbmdsZQorICAgICAgICB2YWx1ZSBoZWFkZXJz
LiBUaGlzIHBhdGNoIGZpeGVzIGluY29ycmVjdCBiZWhhdmlvci4gTmV3IHRlc3Qgd2FzIGFkZGVk
IHRvCisgICAgICAgIHZlcmlmeSBsaXN0LXZhbHVlIGhlYWRlciBoYW5kbGluZy4KKworICAgICAg
ICBUZXN0OiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHByZXF1ZXN0LXRlc3QtY3Vz
dG9tLWhlYWRlcnMuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlUmVzcG9uc2VTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnVwZGF0ZUZyb21Tb3VwTWVzc2FnZSk6CisKIDIwMTItMDgtMjQgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBSZWZQdHIgZnJvbSBIVE1MVGV4
dEFyZWFFbGVtZW50OjptX3BsYWNlaG9sZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRl
eCBkZGFhODkzLi43NWYwMjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTY4LDkg
KzY4LDExIEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlKFNv
dXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICBjb25zdCBjaGFyKiBoZWFkZXJWYWx1ZTsKIAog
ICAgIHNvdXBfbWVzc2FnZV9oZWFkZXJzX2l0ZXJfaW5pdCgmaGVhZGVyc0l0ZXIsIHNvdXBNZXNz
YWdlLT5yZXNwb25zZV9oZWFkZXJzKTsKLSAgICB3aGlsZSAoc291cF9tZXNzYWdlX2hlYWRlcnNf
aXRlcl9uZXh0KCZoZWFkZXJzSXRlciwgJmhlYWRlck5hbWUsICZoZWFkZXJWYWx1ZSkpCisgICAg
d2hpbGUgKHNvdXBfbWVzc2FnZV9oZWFkZXJzX2l0ZXJfbmV4dCgmaGVhZGVyc0l0ZXIsICZoZWFk
ZXJOYW1lLCAmaGVhZGVyVmFsdWUpKSB7CisgICAgICAgIGhlYWRlclZhbHVlID0gc291cF9tZXNz
YWdlX2hlYWRlcnNfZ2V0X2xpc3Qoc291cE1lc3NhZ2UtPnJlc3BvbnNlX2hlYWRlcnMsIGhlYWRl
ck5hbWUpOwogICAgICAgICBtX2h0dHBIZWFkZXJGaWVsZHMuc2V0KFN0cmluZzo6ZnJvbVVURjgo
aGVhZGVyTmFtZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nOjpmcm9t
VVRGOFdpdGhMYXRpbjFGYWxsYmFjayhoZWFkZXJWYWx1ZSwgc3RybGVuKGhlYWRlclZhbHVlKSkp
OworICAgIH0KIAogICAgIG1fc291cEZsYWdzID0gc291cF9tZXNzYWdlX2dldF9mbGFncyhzb3Vw
TWVzc2FnZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>161174</attachid>
            <date>2012-08-29 03:45:16 -0700</date>
            <delta_ts>2012-08-29 03:45:16 -0700</delta_ts>
            <desc>test</desc>
            <filename>test.tar.gz</filename>
            <type>application/octet-stream</type>
            <size>3039</size>
            <attacher name="Alexander Shalamov">alexander.shalamov</attacher>
            
              <data encoding="base64">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
hx566KGHvxH8B7Ozh+cAUAAA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177227</attachid>
            <date>2012-12-03 04:02:09 -0800</date>
            <delta_ts>2012-12-03 04:04:47 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>webkit_resource_response_headers_2.patch</filename>
            <type>text/plain</type>
            <size>7047</size>
            <attacher name="Alexander Shalamov">alexander.shalamov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1N2FlMzVkLi5mYWZiODMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgt
MjggIEFsZXhhbmRlciBTaGFsYW1vdiAgPGFsZXhhbmRlci5zaGFsYW1vdkBpbnRlbC5jb20+CisK
KyAgICAgICAgW0VGTF1bR1RLXSBMaXN0IHZhbHVlIHJlc3BvbnNlIGhlYWRlcnMgYXJlIG5vdCBo
YW5kbGVkIGluIFJlc3BvdXJjZVJlc3BvbnNlIChsaWJzb3VwIHNwZWNpZmljKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUxODEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IHRoYXQgY2hl
Y2tzIGlmIGxpc3QtdmFsdWUgcmVzcG9uc2UgaGVhZGVycyBoYW5kbGVkIGNvcnJlY3RseS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2N1c3RvbS1oZWFk
ZXJzLnBocDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxo
dHRwcmVxdWVzdC10ZXN0LWN1c3RvbS1oZWFkZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC10ZXN0LWN1c3Rv
bS1oZWFkZXJzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTI5ICBNaWtlIFdlc3QgIDxta3dzdEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgTGF5b3V0IFRlc3QgaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLWxvbmctdXJsLmh0bWwgaXMgZmFpbGluZwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJj
ZXMvY3VzdG9tLWhlYWRlcnMucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9yZXNvdXJjZXMvY3VzdG9tLWhlYWRlcnMucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjc4YWI0YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9jdXN0b20taGVhZGVycy5waHAKQEAgLTAs
MCArMSw3IEBACis8P3BocAorIGhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluIik7Cisg
aGVhZGVyKCJYLUN1c3RvbS1IZWFkZXItU2luZ2xlOiBzaW5nbGUiKTsKKyBoZWFkZXIoIlgtQ3Vz
dG9tLUhlYWRlci1FbXB0eToiKTsKKyBoZWFkZXIoIlgtQ3VzdG9tLUhlYWRlci1MaXN0OiBvbmUi
KTsKKyBoZWFkZXIoIlgtQ3VzdG9tLUhlYWRlci1MaXN0OiB0d28iLCBmYWxzZSk7Cis/PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVlc3QtdGVzdC1jdXN0b20taGVhZGVycy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHBy
ZXF1ZXN0LXRlc3QtY3VzdG9tLWhlYWRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjgxNmY1YzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHByZXF1ZXN0LXRlc3QtY3VzdG9tLWhl
YWRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdHMgdGhhdCBYTUxI
dHRwUmVxdWVzdCBwcm9wZXJseSBoYW5kbGVzIGxpc3QtdmFsdWVkIGhlYWRlcnMuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHhoci5nZXRSZXNwb25zZUhlYWRlcigiQ09O
VEVOVC1UWVBFIikuaW5kZXhPZigidGV4dC9wbGFpbiIpIGlzID49IDAKK1BBU1MgeGhyLmdldFJl
c3BvbnNlSGVhZGVyKCJ4LWN1c3RvbS1oZWFkZXItc2luZ2xlIikgaXMgInNpbmdsZSIKK1BBU1Mg
eGhyLmdldFJlc3BvbnNlSGVhZGVyKCJ4LWN1c3RvbS1oZWFkZXItZW1wdHkiKSBpcyAiIgorUEFT
UyB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIngtY3VzdG9tLWhlYWRlci1saXN0IikgaXMgIm9uZSwg
dHdvIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QveG1saHR0
cHJlcXVlc3QtdGVzdC1jdXN0b20taGVhZGVycy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC10ZXN0LWN1c3RvbS1oZWFkZXJzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBhN2YxYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVl
c3QtdGVzdC1jdXN0b20taGVhZGVycy5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzxodG1sPgorPGhl
YWQ+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgIGRlc2Ny
aXB0aW9uKCdUaGlzIHRlc3RzIHRoYXQgWE1MSHR0cFJlcXVlc3QgcHJvcGVybHkgaGFuZGxlcyBs
aXN0LXZhbHVlZCBoZWFkZXJzLicpOworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgIHZhciB4aHI7CisKKyAgICBpZiAod2luZG93LlhNTEh0dHBSZXF1ZXN0KSB7CisgICAg
ICAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRy
eSB7CisgICAgICAgICAgICB4aHIgPSBuZXcgQWN0aXZlWE9iamVjdCgiTXN4bWwyLlhNTEhUVFAi
KTsKKyAgICAgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgICAgIHhociA9IG5ldyBBY3RpdmVY
T2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpOworICAgICAgICB9CisgICAgfQorCisgICAgeGhy
Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvY3VzdG9tLWhlYWRlcnMucGhwIik7CisgICAgeGhyLnNl
bmQobnVsbCk7CisKKyAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgIGlmKHhoci5yZWFkeVN0YXRlID09IDQpIHsKKyAgICAgICAgICAgIHNob3VsZEJlR3Jl
YXRlclRoYW5PckVxdWFsKCJ4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoXCJDT05URU5ULVRZUEVcIiku
aW5kZXhPZihcInRleHQvcGxhaW5cIikiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoXCJ4LWN1c3RvbS1oZWFkZXItc2luZ2xl
XCIpIiwgInNpbmdsZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygieGhyLmdl
dFJlc3BvbnNlSGVhZGVyKFwieC1jdXN0b20taGVhZGVyLWVtcHR5XCIpIik7CisgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInhoci5nZXRSZXNwb25zZUhlYWRlcihcIngtY3VzdG9t
LWhlYWRlci1saXN0XCIpIiwgIm9uZSwgdHdvIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKwor
PGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhiMWI2OC4uOGU3ZDliNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTI4ICBBbGV4YW5kZXIgU2hhbGFt
b3YgIDxhbGV4YW5kZXIuc2hhbGFtb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10g
TGlzdCB2YWx1ZSByZXNwb25zZSBoZWFkZXJzIGFyZSBub3QgaGFuZGxlZCBpbiBSZXNwb3VyY2VS
ZXNwb25zZSAobGlic291cCBzcGVjaWZpYykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk1MTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiBsaXN0LXZhbHVlIHJlc3BvbnNlIGhlYWRlcnMgYXJlIHJl
Y2VpdmVkLCB0aGV5IGFyZSBoYW5kbGVkIGFzIHNpbmdsZQorICAgICAgICB2YWx1ZSBoZWFkZXJz
LiBUaGlzIHBhdGNoIGZpeGVzIGluY29ycmVjdCBiZWhhdmlvci4gTmV3IHRlc3Qgd2FzIGFkZGVk
IHRvCisgICAgICAgIHZlcmlmeSBsaXN0LXZhbHVlIGhlYWRlciBoYW5kbGluZy4KKworICAgICAg
ICBUZXN0OiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHByZXF1ZXN0LXRlc3QtY3Vz
dG9tLWhlYWRlcnMuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlUmVzcG9uc2VTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnVwZGF0ZUZyb21Tb3VwTWVzc2FnZSk6CisKIDIwMTItMTEtMjkgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxMzYxMTEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCBjZGVmN2VlLi5kMDEy
YWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNs
dWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU291cFVSSVV0aWxzLmgiCiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxk
ZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKQEAgLTY2LDExICs2NywyOCBAQCB2b2lkIFJlc291cmNlUmVzcG9uc2U6OnVwZGF0ZUZy
b21Tb3VwTWVzc2FnZShTb3VwTWVzc2FnZSogc291cE1lc3NhZ2UpCiAgICAgU291cE1lc3NhZ2VI
ZWFkZXJzSXRlciBoZWFkZXJzSXRlcjsKICAgICBjb25zdCBjaGFyKiBoZWFkZXJOYW1lOwogICAg
IGNvbnN0IGNoYXIqIGhlYWRlclZhbHVlOworICAgIG1faHR0cEhlYWRlckZpZWxkcy5jbGVhcigp
OwogCiAgICAgc291cF9tZXNzYWdlX2hlYWRlcnNfaXRlcl9pbml0KCZoZWFkZXJzSXRlciwgc291
cE1lc3NhZ2UtPnJlc3BvbnNlX2hlYWRlcnMpOwotICAgIHdoaWxlIChzb3VwX21lc3NhZ2VfaGVh
ZGVyc19pdGVyX25leHQoJmhlYWRlcnNJdGVyLCAmaGVhZGVyTmFtZSwgJmhlYWRlclZhbHVlKSkK
LSAgICAgICAgbV9odHRwSGVhZGVyRmllbGRzLnNldChTdHJpbmc6OmZyb21VVEY4V2l0aExhdGlu
MUZhbGxiYWNrKGhlYWRlck5hbWUsIHN0cmxlbihoZWFkZXJOYW1lKSksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RyaW5nOjpmcm9tVVRGOFdpdGhMYXRpbjFGYWxsYmFjayhoZWFk
ZXJWYWx1ZSwgc3RybGVuKGhlYWRlclZhbHVlKSkpOworICAgIHdoaWxlIChzb3VwX21lc3NhZ2Vf
aGVhZGVyc19pdGVyX25leHQoJmhlYWRlcnNJdGVyLCAmaGVhZGVyTmFtZSwgJmhlYWRlclZhbHVl
KSkgeworICAgICAgICBTdHJpbmcgaGVhZGVyTmFtZVN0ciA9IFN0cmluZzo6ZnJvbVVURjhXaXRo
TGF0aW4xRmFsbGJhY2soaGVhZGVyTmFtZSwgc3RybGVuKGhlYWRlck5hbWUpKTsKKyAgICAgICAg
SFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2h0dHBIZWFkZXJGaWVsZHMuZmlu
ZChoZWFkZXJOYW1lU3RyKTsKKyAgICAgICAgaWYgKGl0ID09IG1faHR0cEhlYWRlckZpZWxkcy5l
bmQoKSkKKyAgICAgICAgICAgIG1faHR0cEhlYWRlckZpZWxkcy5zZXQoaGVhZGVyTmFtZVN0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nOjpmcm9tVVRGOFdpdGhM
YXRpbjFGYWxsYmFjayhoZWFkZXJWYWx1ZSwgc3RybGVuKGhlYWRlclZhbHVlKSkpOworICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgIGlmICghaXQtPnZhbHVlLmlzRW1wdHkoKSkgeworICAgICAg
ICAgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKyAgICAgICAgICAgICAgICBidWlsZGVy
LmFwcGVuZChpdC0+dmFsdWUpOworICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kTGl0ZXJh
bCgiLCAiKTsKKyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChTdHJpbmc6OmZyb21VVEY4
V2l0aExhdGluMUZhbGxiYWNrKGhlYWRlclZhbHVlLCBzdHJsZW4oaGVhZGVyVmFsdWUpKSk7Cisg
ICAgICAgICAgICAgICAgbV9odHRwSGVhZGVyRmllbGRzLnNldChoZWFkZXJOYW1lU3RyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRlci50b1N0cmluZygpKTsK
KyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIG1faHR0cEhlYWRlckZpZWxkcy5z
ZXQoaGVhZGVyTmFtZVN0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFN0cmluZzo6ZnJvbVVURjhXaXRoTGF0aW4xRmFsbGJhY2soaGVhZGVyVmFsdWUsIHN0cmxlbiho
ZWFkZXJWYWx1ZSkpKTsKKyAgICAgICAgfQorICAgIH0KIAogICAgIG1fc291cEZsYWdzID0gc291
cF9tZXNzYWdlX2dldF9mbGFncyhzb3VwTWVzc2FnZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177228</attachid>
            <date>2012-12-03 04:04:47 -0800</date>
            <delta_ts>2012-12-05 04:38:40 -0800</delta_ts>
            <desc>Patch 3</desc>
            <filename>webkit_resource_response_headers_3.patch</filename>
            <type>text/plain</type>
            <size>6931</size>
            <attacher name="Alexander Shalamov">alexander.shalamov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1N2FlMzVkLi5mYWZiODMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgt
MjggIEFsZXhhbmRlciBTaGFsYW1vdiAgPGFsZXhhbmRlci5zaGFsYW1vdkBpbnRlbC5jb20+CisK
KyAgICAgICAgW0VGTF1bR1RLXSBMaXN0IHZhbHVlIHJlc3BvbnNlIGhlYWRlcnMgYXJlIG5vdCBo
YW5kbGVkIGluIFJlc3BvdXJjZVJlc3BvbnNlIChsaWJzb3VwIHNwZWNpZmljKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUxODEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IHRoYXQgY2hl
Y2tzIGlmIGxpc3QtdmFsdWUgcmVzcG9uc2UgaGVhZGVycyBoYW5kbGVkIGNvcnJlY3RseS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2N1c3RvbS1oZWFk
ZXJzLnBocDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxo
dHRwcmVxdWVzdC10ZXN0LWN1c3RvbS1oZWFkZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC10ZXN0LWN1c3Rv
bS1oZWFkZXJzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTI5ICBNaWtlIFdlc3QgIDxta3dzdEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgTGF5b3V0IFRlc3QgaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLWxvbmctdXJsLmh0bWwgaXMgZmFpbGluZwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJj
ZXMvY3VzdG9tLWhlYWRlcnMucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9yZXNvdXJjZXMvY3VzdG9tLWhlYWRlcnMucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjc4YWI0YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9jdXN0b20taGVhZGVycy5waHAKQEAgLTAs
MCArMSw3IEBACis8P3BocAorIGhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluIik7Cisg
aGVhZGVyKCJYLUN1c3RvbS1IZWFkZXItU2luZ2xlOiBzaW5nbGUiKTsKKyBoZWFkZXIoIlgtQ3Vz
dG9tLUhlYWRlci1FbXB0eToiKTsKKyBoZWFkZXIoIlgtQ3VzdG9tLUhlYWRlci1MaXN0OiBvbmUi
KTsKKyBoZWFkZXIoIlgtQ3VzdG9tLUhlYWRlci1MaXN0OiB0d28iLCBmYWxzZSk7Cis/PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVlc3QtdGVzdC1jdXN0b20taGVhZGVycy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHBy
ZXF1ZXN0LXRlc3QtY3VzdG9tLWhlYWRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjgxNmY1YzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHByZXF1ZXN0LXRlc3QtY3VzdG9tLWhl
YWRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdHMgdGhhdCBYTUxI
dHRwUmVxdWVzdCBwcm9wZXJseSBoYW5kbGVzIGxpc3QtdmFsdWVkIGhlYWRlcnMuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHhoci5nZXRSZXNwb25zZUhlYWRlcigiQ09O
VEVOVC1UWVBFIikuaW5kZXhPZigidGV4dC9wbGFpbiIpIGlzID49IDAKK1BBU1MgeGhyLmdldFJl
c3BvbnNlSGVhZGVyKCJ4LWN1c3RvbS1oZWFkZXItc2luZ2xlIikgaXMgInNpbmdsZSIKK1BBU1Mg
eGhyLmdldFJlc3BvbnNlSGVhZGVyKCJ4LWN1c3RvbS1oZWFkZXItZW1wdHkiKSBpcyAiIgorUEFT
UyB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIngtY3VzdG9tLWhlYWRlci1saXN0IikgaXMgIm9uZSwg
dHdvIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QveG1saHR0
cHJlcXVlc3QtdGVzdC1jdXN0b20taGVhZGVycy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC10ZXN0LWN1c3RvbS1oZWFkZXJzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBhN2YxYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVl
c3QtdGVzdC1jdXN0b20taGVhZGVycy5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzxodG1sPgorPGhl
YWQ+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgIGRlc2Ny
aXB0aW9uKCdUaGlzIHRlc3RzIHRoYXQgWE1MSHR0cFJlcXVlc3QgcHJvcGVybHkgaGFuZGxlcyBs
aXN0LXZhbHVlZCBoZWFkZXJzLicpOworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgIHZhciB4aHI7CisKKyAgICBpZiAod2luZG93LlhNTEh0dHBSZXF1ZXN0KSB7CisgICAg
ICAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRy
eSB7CisgICAgICAgICAgICB4aHIgPSBuZXcgQWN0aXZlWE9iamVjdCgiTXN4bWwyLlhNTEhUVFAi
KTsKKyAgICAgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgICAgIHhociA9IG5ldyBBY3RpdmVY
T2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpOworICAgICAgICB9CisgICAgfQorCisgICAgeGhy
Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvY3VzdG9tLWhlYWRlcnMucGhwIik7CisgICAgeGhyLnNl
bmQobnVsbCk7CisKKyAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgIGlmKHhoci5yZWFkeVN0YXRlID09IDQpIHsKKyAgICAgICAgICAgIHNob3VsZEJlR3Jl
YXRlclRoYW5PckVxdWFsKCJ4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoXCJDT05URU5ULVRZUEVcIiku
aW5kZXhPZihcInRleHQvcGxhaW5cIikiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoXCJ4LWN1c3RvbS1oZWFkZXItc2luZ2xl
XCIpIiwgInNpbmdsZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygieGhyLmdl
dFJlc3BvbnNlSGVhZGVyKFwieC1jdXN0b20taGVhZGVyLWVtcHR5XCIpIik7CisgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInhoci5nZXRSZXNwb25zZUhlYWRlcihcIngtY3VzdG9t
LWhlYWRlci1saXN0XCIpIiwgIm9uZSwgdHdvIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKwor
PGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhiMWI2OC4uOGU3ZDliNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTI4ICBBbGV4YW5kZXIgU2hhbGFt
b3YgIDxhbGV4YW5kZXIuc2hhbGFtb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10g
TGlzdCB2YWx1ZSByZXNwb25zZSBoZWFkZXJzIGFyZSBub3QgaGFuZGxlZCBpbiBSZXNwb3VyY2VS
ZXNwb25zZSAobGlic291cCBzcGVjaWZpYykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk1MTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiBsaXN0LXZhbHVlIHJlc3BvbnNlIGhlYWRlcnMgYXJlIHJl
Y2VpdmVkLCB0aGV5IGFyZSBoYW5kbGVkIGFzIHNpbmdsZQorICAgICAgICB2YWx1ZSBoZWFkZXJz
LiBUaGlzIHBhdGNoIGZpeGVzIGluY29ycmVjdCBiZWhhdmlvci4gTmV3IHRlc3Qgd2FzIGFkZGVk
IHRvCisgICAgICAgIHZlcmlmeSBsaXN0LXZhbHVlIGhlYWRlciBoYW5kbGluZy4KKworICAgICAg
ICBUZXN0OiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHByZXF1ZXN0LXRlc3QtY3Vz
dG9tLWhlYWRlcnMuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlUmVzcG9uc2VTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6
OnVwZGF0ZUZyb21Tb3VwTWVzc2FnZSk6CisKIDIwMTItMTEtMjkgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxMzYxMTEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCBjZGVmN2VlLi43Njc0
YzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNs
dWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU291cFVSSVV0aWxzLmgiCiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxk
ZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKQEAgLTY2LDExICs2NywyNSBAQCB2b2lkIFJlc291cmNlUmVzcG9uc2U6OnVwZGF0ZUZy
b21Tb3VwTWVzc2FnZShTb3VwTWVzc2FnZSogc291cE1lc3NhZ2UpCiAgICAgU291cE1lc3NhZ2VI
ZWFkZXJzSXRlciBoZWFkZXJzSXRlcjsKICAgICBjb25zdCBjaGFyKiBoZWFkZXJOYW1lOwogICAg
IGNvbnN0IGNoYXIqIGhlYWRlclZhbHVlOworICAgIG1faHR0cEhlYWRlckZpZWxkcy5jbGVhcigp
OwogCiAgICAgc291cF9tZXNzYWdlX2hlYWRlcnNfaXRlcl9pbml0KCZoZWFkZXJzSXRlciwgc291
cE1lc3NhZ2UtPnJlc3BvbnNlX2hlYWRlcnMpOwotICAgIHdoaWxlIChzb3VwX21lc3NhZ2VfaGVh
ZGVyc19pdGVyX25leHQoJmhlYWRlcnNJdGVyLCAmaGVhZGVyTmFtZSwgJmhlYWRlclZhbHVlKSkK
LSAgICAgICAgbV9odHRwSGVhZGVyRmllbGRzLnNldChTdHJpbmc6OmZyb21VVEY4V2l0aExhdGlu
MUZhbGxiYWNrKGhlYWRlck5hbWUsIHN0cmxlbihoZWFkZXJOYW1lKSksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RyaW5nOjpmcm9tVVRGOFdpdGhMYXRpbjFGYWxsYmFjayhoZWFk
ZXJWYWx1ZSwgc3RybGVuKGhlYWRlclZhbHVlKSkpOworICAgIHdoaWxlIChzb3VwX21lc3NhZ2Vf
aGVhZGVyc19pdGVyX25leHQoJmhlYWRlcnNJdGVyLCAmaGVhZGVyTmFtZSwgJmhlYWRlclZhbHVl
KSkgeworICAgICAgICBTdHJpbmcgaGVhZGVyTmFtZVN0ciA9IFN0cmluZzo6ZnJvbVVURjhXaXRo
TGF0aW4xRmFsbGJhY2soaGVhZGVyTmFtZSwgc3RybGVuKGhlYWRlck5hbWUpKTsKKyAgICAgICAg
SFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2h0dHBIZWFkZXJGaWVsZHMuZmlu
ZChoZWFkZXJOYW1lU3RyKTsKKyAgICAgICAgaWYgKGl0ID09IG1faHR0cEhlYWRlckZpZWxkcy5l
bmQoKSkKKyAgICAgICAgICAgIG1faHR0cEhlYWRlckZpZWxkcy5zZXQoaGVhZGVyTmFtZVN0ciwg
U3RyaW5nOjpmcm9tVVRGOFdpdGhMYXRpbjFGYWxsYmFjayhoZWFkZXJWYWx1ZSwgc3RybGVuKGhl
YWRlclZhbHVlKSkpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlmICghaXQtPnZhbHVl
LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKyAg
ICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChpdC0+dmFsdWUpOworICAgICAgICAgICAgICAg
IGJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiLCAiKTsKKyAgICAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZChTdHJpbmc6OmZyb21VVEY4V2l0aExhdGluMUZhbGxiYWNrKGhlYWRlclZhbHVlLCBzdHJs
ZW4oaGVhZGVyVmFsdWUpKSk7CisgICAgICAgICAgICAgICAgbV9odHRwSGVhZGVyRmllbGRzLnNl
dChoZWFkZXJOYW1lU3RyLCBidWlsZGVyLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICAgICAgbV9odHRwSGVhZGVyRmllbGRzLnNldChoZWFkZXJOYW1lU3RyLCBT
dHJpbmc6OmZyb21VVEY4V2l0aExhdGluMUZhbGxiYWNrKGhlYWRlclZhbHVlLCBzdHJsZW4oaGVh
ZGVyVmFsdWUpKSk7CisgICAgICAgIH0KKyAgICB9CiAKICAgICBtX3NvdXBGbGFncyA9IHNvdXBf
bWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177727</attachid>
            <date>2012-12-05 04:38:40 -0800</date>
            <delta_ts>2012-12-05 09:45:35 -0800</delta_ts>
            <desc>Patch 4</desc>
            <filename>webkit_resource_response_headers_4.patch</filename>
            <type>text/plain</type>
            <size>6923</size>
            <attacher name="Alexander Shalamov">alexander.shalamov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3NGY2MjY2Li5kMWY5OGNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgt
MjggIEFsZXhhbmRlciBTaGFsYW1vdiAgPGFsZXhhbmRlci5zaGFsYW1vdkBpbnRlbC5jb20+CisK
KyAgICAgICAgW0VGTF1bR1RLXSBMaXN0IHZhbHVlIHJlc3BvbnNlIGhlYWRlcnMgYXJlIG5vdCBo
YW5kbGVkIGluIFJlc3BvdXJjZVJlc3BvbnNlIChsaWJzb3VwIHNwZWNpZmljKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUxODEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IHRoYXQgY2hl
Y2tzIGlmIGxpc3QtdmFsdWUgcmVzcG9uc2UgaGVhZGVycyBoYW5kbGVkIGNvcnJlY3RseS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2N1c3RvbS1oZWFk
ZXJzLnBocDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxo
dHRwcmVxdWVzdC10ZXN0LWN1c3RvbS1oZWFkZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC10ZXN0LWN1c3Rv
bS1oZWFkZXJzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEyLTA1ICBUaGlhZ28gTWFyY29zIFAuIFNh
bnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIFVucmV2aWV3
ZWQgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9yZXNvdXJjZXMvY3VzdG9tLWhlYWRlcnMucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvY3VzdG9tLWhlYWRlcnMucGhwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4YWI0YWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9jdXN0b20taGVh
ZGVycy5waHAKQEAgLTAsMCArMSw3IEBACis8P3BocAorIGhlYWRlcigiQ29udGVudC1UeXBlOiB0
ZXh0L3BsYWluIik7CisgaGVhZGVyKCJYLUN1c3RvbS1IZWFkZXItU2luZ2xlOiBzaW5nbGUiKTsK
KyBoZWFkZXIoIlgtQ3VzdG9tLUhlYWRlci1FbXB0eToiKTsKKyBoZWFkZXIoIlgtQ3VzdG9tLUhl
YWRlci1MaXN0OiBvbmUiKTsKKyBoZWFkZXIoIlgtQ3VzdG9tLUhlYWRlci1MaXN0OiB0d28iLCBm
YWxzZSk7Cis/PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVlc3QtdGVzdC1jdXN0
b20taGVhZGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3htbGh0dHByZXF1ZXN0LXRlc3QtY3VzdG9tLWhlYWRlcnMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkZjMxNmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHByZXF1ZXN0
LXRlc3QtY3VzdG9tLWhlYWRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IFhNTEh0dHBSZXF1ZXN0IHByb3Blcmx5IGhhbmRsZXMgbGlzdC12
YWx1ZWQgaGVhZGVycy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgeGhy
LmdldFJlc3BvbnNlSGVhZGVyKCJDT05URU5ULVRZUEUiKS5pbmRleE9mKCJ0ZXh0L3BsYWluIikg
aXMgPj0gMAorUEFTUyB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIngtY3VzdG9tLWhlYWRlci1zaW5n
bGUiKSBpcyAic2luZ2xlIgorUEFTUyB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIngtY3VzdG9tLWhl
YWRlci1lbXB0eSIpIGlzICIiCitQQVNTIHhoci5nZXRSZXNwb25zZUhlYWRlcigieC1jdXN0b20t
aGVhZGVyLWxpc3QiKSBpcyAib25lLCB0d28iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC10ZXN0LWN1c3RvbS1oZWFkZXJzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHByZXF1ZXN0LXRl
c3QtY3VzdG9tLWhlYWRlcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5lMGIzYmEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC10ZXN0LWN1c3RvbS1oZWFkZXJzLmh0bWwKQEAgLTAs
MCArMSwzOSBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CisgICAgZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IFhN
TEh0dHBSZXF1ZXN0IHByb3Blcmx5IGhhbmRsZXMgbGlzdC12YWx1ZWQgaGVhZGVycy4nKTsKKyAg
ICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICB2YXIgeGhyOworCisgICAgaWYg
KHdpbmRvdy5YTUxIdHRwUmVxdWVzdCkgeworICAgICAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVl
c3QoKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgeGhyID0gbmV3
IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIik7CisgICAgICAgIH0gY2F0Y2ggKGV4KSB7
CisgICAgICAgICAgICB4aHIgPSBuZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAi
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHhoci5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2N1
c3RvbS1oZWFkZXJzLnBocCIpOworICAgIHhoci5zZW5kKG51bGwpOworCisgICAgeGhyLm9ucmVh
ZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICBpZih4aHIucmVhZHlTdGF0ZSA9
PSA0KSB7CisgICAgICAgICAgICBzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbCgieGhyLmdldFJl
c3BvbnNlSGVhZGVyKFwiQ09OVEVOVC1UWVBFXCIpLmluZGV4T2YoXCJ0ZXh0L3BsYWluXCIpIiwg
IjAiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygieGhyLmdldFJlc3BvbnNl
SGVhZGVyKFwieC1jdXN0b20taGVhZGVyLXNpbmdsZVwiKSIsICJzaW5nbGUiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoInhoci5nZXRSZXNwb25zZUhlYWRlcihcIngtY3VzdG9t
LWhlYWRlci1lbXB0eVwiKSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ4
aHIuZ2V0UmVzcG9uc2VIZWFkZXIoXCJ4LWN1c3RvbS1oZWFkZXItbGlzdFwiKSIsICJvbmUsIHR3
byIpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDYxMmVhMjcuLjVhZjVmNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAxMi0wOC0yOCAgQWxleGFuZGVyIFNoYWxhbW92ICA8YWxleGFuZGVyLnNoYWxhbW92QGlu
dGVsLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIExpc3QgdmFsdWUgcmVzcG9uc2UgaGVhZGVy
cyBhcmUgbm90IGhhbmRsZWQgaW4gUmVzcG91cmNlUmVzcG9uc2UgKGxpYnNvdXAgc3BlY2lmaWMp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTE4MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gbGlz
dC12YWx1ZSByZXNwb25zZSBoZWFkZXJzIGFyZSByZWNlaXZlZCwgdGhleSBhcmUgaGFuZGxlZCBh
cyBzaW5nbGUKKyAgICAgICAgdmFsdWUgaGVhZGVycy4gVGhpcyBwYXRjaCBmaXhlcyBpbmNvcnJl
Y3QgYmVoYXZpb3IuIE5ldyB0ZXN0IHdhcyBhZGRlZCB0bworICAgICAgICB2ZXJpZnkgbGlzdC12
YWx1ZSBoZWFkZXIgaGFuZGxpbmcuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC94bWxodHRwcmVxdWVzdC10ZXN0LWN1c3RvbS1oZWFkZXJzLmh0bWwKKworICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRhdGVGcm9tU291cE1lc3NhZ2UpOgor
CiAyMDEyLTEyLTA1ICBab2x0YW4gSGVyY3plZyAgPHpoZXJjemVnQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgT3B0aW1pemUgQ29sb3JNYXRyaXggZmlsdGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNw
cAppbmRleCBjZGVmN2VlLi5mZTBiNWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAKQEAg
LTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAi
U291cFVSSVV0aWxzLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTY3LDEwICs2OCwyNCBAQCB2b2lkIFJlc291
cmNlUmVzcG9uc2U6OnVwZGF0ZUZyb21Tb3VwTWVzc2FnZShTb3VwTWVzc2FnZSogc291cE1lc3Nh
Z2UpCiAgICAgY29uc3QgY2hhciogaGVhZGVyTmFtZTsKICAgICBjb25zdCBjaGFyKiBoZWFkZXJW
YWx1ZTsKIAorICAgIC8vIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZSBjb3VsZCBiZSBjYWxsZWQgc2V2
ZXJhbCB0aW1lcyBmb3IgdGhlIHNhbWUgUmVzb3VyY2VSZXNwb25zZSBvYmplY3QsCisgICAgLy8g
dGh1cywgd2UgbmVlZCB0byBjbGVhciBvbGQgaGVhZGVyIHZhbHVlcyBhbmQgdXBkYXRlIG1faHR0
cEhlYWRlckZpZWxkcyBmcm9tIHNvdXBNZXNzYWdlIGhlYWRlcnMuCisgICAgbV9odHRwSGVhZGVy
RmllbGRzLmNsZWFyKCk7CisKICAgICBzb3VwX21lc3NhZ2VfaGVhZGVyc19pdGVyX2luaXQoJmhl
YWRlcnNJdGVyLCBzb3VwTWVzc2FnZS0+cmVzcG9uc2VfaGVhZGVycyk7Ci0gICAgd2hpbGUgKHNv
dXBfbWVzc2FnZV9oZWFkZXJzX2l0ZXJfbmV4dCgmaGVhZGVyc0l0ZXIsICZoZWFkZXJOYW1lLCAm
aGVhZGVyVmFsdWUpKQotICAgICAgICBtX2h0dHBIZWFkZXJGaWVsZHMuc2V0KFN0cmluZzo6ZnJv
bVVURjhXaXRoTGF0aW4xRmFsbGJhY2soaGVhZGVyTmFtZSwgc3RybGVuKGhlYWRlck5hbWUpKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmc6OmZyb21VVEY4V2l0aExhdGlu
MUZhbGxiYWNrKGhlYWRlclZhbHVlLCBzdHJsZW4oaGVhZGVyVmFsdWUpKSk7CisgICAgd2hpbGUg
KHNvdXBfbWVzc2FnZV9oZWFkZXJzX2l0ZXJfbmV4dCgmaGVhZGVyc0l0ZXIsICZoZWFkZXJOYW1l
LCAmaGVhZGVyVmFsdWUpKSB7CisgICAgICAgIFN0cmluZyBoZWFkZXJOYW1lU3RyaW5nID0gU3Ry
aW5nOjpmcm9tVVRGOFdpdGhMYXRpbjFGYWxsYmFjayhoZWFkZXJOYW1lLCBzdHJsZW4oaGVhZGVy
TmFtZSkpOworICAgICAgICBIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1faHR0
cEhlYWRlckZpZWxkcy5maW5kKGhlYWRlck5hbWVTdHJpbmcpOworICAgICAgICBpZiAoaXQgPT0g
bV9odHRwSGVhZGVyRmllbGRzLmVuZCgpIHx8IChpdCAhPSBtX2h0dHBIZWFkZXJGaWVsZHMuZW5k
KCkgJiYgaXQtPnZhbHVlLmlzRW1wdHkoKSkpCisgICAgICAgICAgICBtX2h0dHBIZWFkZXJGaWVs
ZHMuc2V0KGhlYWRlck5hbWVTdHJpbmcsIFN0cmluZzo6ZnJvbVVURjhXaXRoTGF0aW4xRmFsbGJh
Y2soaGVhZGVyVmFsdWUsIHN0cmxlbihoZWFkZXJWYWx1ZSkpKTsKKyAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CisgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZChpdC0+dmFsdWUpOworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCIsICIp
OworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoU3RyaW5nOjpmcm9tVVRGOFdpdGhMYXRpbjFG
YWxsYmFjayhoZWFkZXJWYWx1ZSwgc3RybGVuKGhlYWRlclZhbHVlKSkpOworICAgICAgICAgICAg
bV9odHRwSGVhZGVyRmllbGRzLnNldChoZWFkZXJOYW1lU3RyaW5nLCBidWlsZGVyLnRvU3RyaW5n
KCkpOworICAgICAgICB9CisgICAgfQogCiAgICAgbV9zb3VwRmxhZ3MgPSBzb3VwX21lc3NhZ2Vf
Z2V0X2ZsYWdzKHNvdXBNZXNzYWdlKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>