<?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>111255</bug_id>
          
          <creation_ts>2013-03-02 10:44:36 -0800</creation_ts>
          <short_desc>FormData.append should prefer application-specified filename to filename in a File</short_desc>
          <delta_ts>2013-03-04 22:29:57 -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>WebCore Misc.</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>http://jsbin.com/irefov/1/edit</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Victor Costan">costan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>michaeln</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>845834</commentid>
    <comment_count>0</comment_count>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-02 10:44:36 -0800</bug_when>
    <thetext>Description snippet from Chrome&apos;s bug http://crbug.com/165095

What steps will reproduce the problem?
1. Load the following JSbin -- http://jsbin.com/irefov/1/edit
2. Open the Developer Tools.
3. Click the &apos;Choose file&apos; button in the &lt;input type=&quot;file&quot;&gt;, select a (preferably small text) file.
4. Click the XHR to zn-testbed.herokuapp.com&apos; in the Network pane. Click the &apos;Request&apos; tab, and look at the &apos;Request payload&apos;
5. Look at the name after &quot;filename=&quot; in the form data.

What is the expected result?
The file name should be &quot;file.name.from.js&quot;, as supplied in JavaScript.

What happens instead?
The file name is the name of the file selected in the &lt;input type=&quot;file&quot;&gt; UI.

Step 6 in the FormData.append algorithm in the spec says that the 3rd argument should be used as the file name, when given.
http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-formdata-append

I have a failing test for this bug and I&apos;m working on a patch. I will attach the patch as soon as I get it working, hopefully today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845839</commentid>
    <comment_count>1</comment_count>
      <attachid>191114</attachid>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-02 11:31:40 -0800</bug_when>
    <thetext>Created attachment 191114
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845844</commentid>
    <comment_count>2</comment_count>
      <attachid>191114</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-02 12:28:32 -0800</bug_when>
    <thetext>Comment on attachment 191114
Patch

Attachment 191114 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/16822421

New failing tests:
http/tests/local/formdata/send-form-data-with-filename.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845870</commentid>
    <comment_count>3</comment_count>
      <attachid>191114</attachid>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-02 13:55:53 -0800</bug_when>
    <thetext>Comment on attachment 191114
Patch

FWIW, the patch passes send-form-data-with-filename (the test I added) on my machine. I did a clean WebKit rebuild and re-ran all tests, and it still passes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845905</commentid>
    <comment_count>4</comment_count>
      <attachid>191114</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-02 19:03:41 -0800</bug_when>
    <thetext>Comment on attachment 191114
Patch

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

I don&apos;t have the time to look at code changes today, but wanted to make some comments about the test nonetheless. Please address these.

It is expected that the test fails on WebKit2. Please add it to expectations file next to other tests that fail because of beginDragWithFiles being unimplemented.

&gt; LayoutTests/ChangeLog:12
&gt; +        * http/tests/local/formdata/script-tests/send-form-data-with-filename.js: Added.
&gt; +        (runTest):
&gt; +        * http/tests/local/formdata/send-form-data-with-filename-expected.txt: Added.
&gt; +        * http/tests/local/formdata/send-form-data-with-filename.html: Added.

Please don&apos;t split the test into two parts. We unfortunately still have many examples of this, but there really aren&apos;t any upsides, and many downsides to such splitting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845906</commentid>
    <comment_count>5</comment_count>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-02 19:10:52 -0800</bug_when>
    <thetext>@Alexey Proskuryakov: thank you for the very quick feedback!

Just to confirm, should I inline the JavaScript files (resources/send-form-data-common.js, script-tests/send-form-data-with-filename.js, fast/js/resources/js-test-post.js) into the HTML and remove unused code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845915</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-02 22:22:41 -0800</bug_when>
    <thetext>&gt; script-tests/send-form-data-with-filename.js

Just this one. Others are shared between multiple tests, so there is a benefit in keeping them as separate files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845932</commentid>
    <comment_count>7</comment_count>
      <attachid>191128</attachid>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-02 23:23:36 -0800</bug_when>
    <thetext>Created attachment 191128
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846011</commentid>
    <comment_count>8</comment_count>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-03 07:15:29 -0800</bug_when>
    <thetext>@Alexey Proskuryakov: thank you very much for your directions!

I have uploaded a new patch that addresses your feedback. When you have some time, can you please take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846642</commentid>
    <comment_count>9</comment_count>
      <attachid>191128</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-04 11:01:31 -0800</bug_when>
    <thetext>Comment on attachment 191128
Patch

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

&gt; Source/WebCore/platform/network/FormData.cpp:239
&gt; +                        // Let the application specify a filename if it&apos;s going to generate a replacement file for the upload.

This part is questionable enough for me to say r-, although I could be convinced with a good argument.

The purpose of this code is to let a client create a ZIP archive of a bundle when selected for form upload (such as a .pages document or an application bundle on Mac). The archive is created in a temporary folder, and deleted when not needed any more.

With this change, we will no longer ask the client whether it wants to generate an archive in the case when the name is specified. So, we&apos;ll try to upload a folder, and fail while sending the request.

&gt; LayoutTests/http/tests/local/formdata/send-form-data-with-filename.html:11
&gt; +description(&quot;Test for sending FormData via XMLHttpRequest.&quot;);

It would be better to explain the purpose of the test in more detail (e.g. &quot;Test that filename passed to FormData.append() takes precedence over name attribute of File&quot;).

&gt; LayoutTests/http/tests/local/formdata/send-form-data-with-filename.html:17
&gt; +        { &apos;type&apos;: &apos;file&apos;, &apos;name&apos;: &apos;file1&apos;, &apos;value&apos;: &apos;../resources/file-for-drag-to-send.txt&apos;, &apos;filename&apos;: &apos;custom-name.txt&apos; }

This is not directly related to the purpose of this patch, but now that we are looking at this, could you please check what happens if filename contains dangerous characters, like line feeds or quote marks? Anything in HTTP request headers that is client controllable is a huge attack target.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846726</commentid>
    <comment_count>10</comment_count>
      <attachid>191290</attachid>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-04 12:27:34 -0800</bug_when>
    <thetext>Created attachment 191290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846734</commentid>
    <comment_count>11</comment_count>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-04 12:35:35 -0800</bug_when>
    <thetext>@Alexey Proskuryakov: Thank you very much for explaining! Sorry, I didn&apos;t realize what&apos;s behind shouldReplaceWithGeneratedFileForUpload :(

How about this new approach? It&apos;s a bit of duplicated code, but there&apos;s no wasted work. I can remove the duplicated code if you&apos;re ok with wastefully assigning &quot;blob&quot; to the name String every once in a while. I think that the duplicated code is OK though, because it&apos;s not that much, and it&apos;s tested.

Regarding having special characters in the filename, should I work that into a separate patch, or let this patch grow?

Once again, thank you very much for your patience and guidance!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846738</commentid>
    <comment_count>12</comment_count>
      <attachid>191290</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-04 12:36:59 -0800</bug_when>
    <thetext>Comment on attachment 191290
Patch

&gt; Regarding having special characters in the filename, should I work that into a separate patch, or let this patch grow?

It would be helpful if you could check what&apos;s going on there, but it&apos;s certainly not part of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846857</commentid>
    <comment_count>13</comment_count>
      <attachid>191290</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 14:30:12 -0800</bug_when>
    <thetext>Comment on attachment 191290
Patch

Clearing flags on attachment: 191290

Committed r144677: &lt;http://trac.webkit.org/changeset/144677&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846858</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 14:30:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847282</commentid>
    <comment_count>15</comment_count>
    <who name="Victor Costan">costan</who>
    <bug_when>2013-03-04 22:29:57 -0800</bug_when>
    <thetext>@Alexey Proskuryakov: It seems like special characters in the filename are handled properly. I added a test case to make sure this will always be the case.

https://bugs.webkit.org/show_bug.cgi?id=111380</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191114</attachid>
            <date>2013-03-02 11:31:40 -0800</date>
            <delta_ts>2013-03-02 23:23:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111255-20130302142753.patch</filename>
            <type>text/plain</type>
            <size>8366</size>
            <attacher name="Victor Costan">costan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDU0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAzLTAyICBWaWN0b3Ig
Q29zdGFuIDxjb3N0YW5AZ21haWwuY29tPgorCisgICAgICAgIEZpbGVuYW1lIHBhc3NlZCB0byBG
b3JtRGF0YS5hcHBlbmQoKSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgZmlsZW5hbWUgaW4KKyAgICAg
ICAgRmlsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExMTI1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3Q6IGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1maWxl
bmFtZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZvcm1EYXRhOjphcHBlbmRLZXlWYWx1ZVBhaXJJdGVtcyk6IGNoYW5n
ZWQgdG8gaW1wbGVtZW50IHRoZQorICAgICAgICBiZWhhdmlvciBpbiB0aGUgWE1MSHR0cFJlcXVl
c3QgVzNDIHNwZWMuCisKIDIwMTMtMDMtMDIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIGNvbnN0cnVjdFRyZWVGcm9tQ29tcGFjdEhUTUxUb2tlbiBzaG91bGQgY2Fs
bCBjbGVhckV4dGVybmFsQ2hhcmFjdGVycwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9Gb3JtRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9Gb3JtRGF0YS5jcHAJKHJldmlzaW9uIDE0NDU0MikKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjQs
MzAgKzIyNCwzMiBAQCB2b2lkIEZvcm1EYXRhOjphcHBlbmRLZXlWYWx1ZVBhaXJJdGVtcyhjCiAg
ICAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCB0eXBlIGlzIGJsb2IsIHRoZW4gd2UgYWxzbyBu
ZWVkIHRvIGluY2x1ZGUgdGhlIGZpbGVuYW1lCiAgICAgICAgICAgICBpZiAodmFsdWUuYmxvYigp
KSB7CiAgICAgICAgICAgICAgICAgU3RyaW5nIG5hbWU7Ci0gICAgICAgICAgICAgICAgaWYgKHZh
bHVlLmJsb2IoKS0+aXNGaWxlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgRmlsZSogZmlsZSA9
IHRvRmlsZSh2YWx1ZS5ibG9iKCkpOwotICAgICAgICAgICAgICAgICAgICAvLyBGb3IgZmlsZSBi
bG9iLCB1c2UgdGhlIGZpbGVuYW1lIChvciByZWxhdGl2ZSBwYXRoIGlmIGl0IGlzIHByZXNlbnQp
IGFzIHRoZSBuYW1lLgorICAgICAgICAgICAgICAgIC8vIFVzZSB0aGUgZmlsZW5hbWUgaWYgaXQg
aXMgcGFzc2VkIGluIEZvcm1EYXRhLmFwcGVuZCgpLgorICAgICAgICAgICAgICAgIGlmICghdmFs
dWUuZmlsZW5hbWUoKS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgIG5hbWUgPSB2YWx1
ZS5maWxlbmFtZSgpOworICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICBpZiAodmFsdWUuYmxvYigpLT5pc0ZpbGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
RmlsZSogZmlsZSA9IHRvRmlsZSh2YWx1ZS5ibG9iKCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gRm9yIGZpbGUgYmxvYiwgdXNlIHRoZSBmaWxlbmFtZSAob3IgcmVsYXRpdmUgcGF0aCBp
ZiBpdCBpcyBwcmVzZW50KSBhcyB0aGUgbmFtZS4KICNpZiBFTkFCTEUoRElSRUNUT1JZX1VQTE9B
RCkgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBmaWxlLT53ZWJr
aXRSZWxhdGl2ZVBhdGgoKS5pc0VtcHR5KCkgPyBmaWxlLT5uYW1lKCkgOiBmaWxlLT53ZWJraXRS
ZWxhdGl2ZVBhdGgoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBmaWxlLT53ZWJr
aXRSZWxhdGl2ZVBhdGgoKS5pc0VtcHR5KCkgPyBmaWxlLT5uYW1lKCkgOiBmaWxlLT53ZWJraXRS
ZWxhdGl2ZVBhdGgoKTsKICNlbHNlCi0gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBmaWxlLT5u
YW1lKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gZmlsZS0+bmFtZSgpOwogI2Vu
ZGlmCi0gICAgICAgICAgICAgICAgICAgIC8vIExldCB0aGUgYXBwbGljYXRpb24gc3BlY2lmeSBh
IGZpbGVuYW1lIGlmIGl0J3MgZ29pbmcgdG8gZ2VuZXJhdGUgYSByZXBsYWNlbWVudCBmaWxlIGZv
ciB0aGUgdXBsb2FkLgotICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIHBhdGggPSBm
aWxlLT5wYXRoKCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghcGF0aC5pc0VtcHR5KCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2Uo
KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBnZW5lcmF0ZWRGaWxlTmFt
ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRHZW5lcmF0ZUZpbGUgPSBwYWdl
LT5jaHJvbWUoKS0+Y2xpZW50KCktPnNob3VsZFJlcGxhY2VXaXRoR2VuZXJhdGVkRmlsZUZvclVw
bG9hZChwYXRoLCBnZW5lcmF0ZWRGaWxlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHNob3VsZEdlbmVyYXRlRmlsZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbmFtZSA9IGdlbmVyYXRlZEZpbGVOYW1lOworICAgICAgICAgICAgICAgICAgICAgICAgLy8g
TGV0IHRoZSBhcHBsaWNhdGlvbiBzcGVjaWZ5IGEgZmlsZW5hbWUgaWYgaXQncyBnb2luZyB0byBn
ZW5lcmF0ZSBhIHJlcGxhY2VtZW50IGZpbGUgZm9yIHRoZSB1cGxvYWQuCisgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBTdHJpbmcmIHBhdGggPSBmaWxlLT5wYXRoKCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoIXBhdGguaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBnZW5lcmF0ZWRGaWxlTmFtZTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkR2VuZXJhdGVGaWxlID0gcGFnZS0+Y2hyb21l
KCktPmNsaWVudCgpLT5zaG91bGRSZXBsYWNlV2l0aEdlbmVyYXRlZEZpbGVGb3JVcGxvYWQocGF0
aCwgZ2VuZXJhdGVkRmlsZU5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoc2hvdWxkR2VuZXJhdGVGaWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbmFtZSA9IGdlbmVyYXRlZEZpbGVOYW1lOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEZvciBub24tZmls
ZSBibG9iLCB1c2UgdGhlIGZpbGVuYW1lIGlmIGl0IGlzIHBhc3NlZCBpbiBGb3JtRGF0YS5hcHBl
bmQoKS4KLSAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS5maWxlbmFtZSgpLmlzRW1wdHko
KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSB2YWx1ZS5maWxlbmFtZSgpOwotICAg
ICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBGb3Igbm9uLWZpbGUgYmxvYiwgdXNlICJibG9iIiBieSBk
ZWZhdWx0LgogICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9ICJibG9iIjsKKyAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIC8vIFdl
IGhhdmUgdG8gaW5jbHVkZSB0aGUgZmlsZW5hbWU9Ii4uIiBwYXJ0IGluIHRoZSBoZWFkZXIsIGV2
ZW4gaWYgdGhlIGZpbGVuYW1lIGlzIGVtcHR5CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDQ1NDMpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAor
MjAxMy0wMy0wMiAgVmljdG9yIENvc3RhbiA8Y29zdGFuQGdtYWlsLmNvbT4KKworICAgICAgICBG
aWxlbmFtZSBwYXNzZWQgdG8gRm9ybURhdGEuYXBwZW5kKCkgdGFrZXMgcHJlY2VkZW5jZSBvdmVy
IGZpbGVuYW1lIGluCisgICAgICAgIEZpbGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEyNTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2NyaXB0LXRl
c3RzL3NlbmQtZm9ybS1kYXRhLXdpdGgtZmlsZW5hbWUuanM6IEFkZGVkLgorICAgICAgICAocnVu
VGVzdCk6CisgICAgICAgICogaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0
YS13aXRoLWZpbGVuYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13aXRoLWZpbGVuYW1lLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0
aC1zbGljZWQtZmlsZS1leHBlY3RlZC50eHQ6IFVwZGF0ZWQKKyAgICAgICAgdG8gcmVmbGVjdCB0
aGUgYmVoYXZpb3Igc3BlY2lmaWVkIGluIHRoZSBYTUxIdHRwUmVxdWVzdCBXM0Mgc3BlYy4KKwog
MjAxMy0wMy0wMiAgUm9iIEJ1aXMgIDxyYnVpc0ByaW0uY29tPgogCiAgICAgICAgIFRleHQgb3Zl
cmZsb3cgZWxsaXBzaXMgd3JvbmcgY29sb3Igd2hlbiB1c2luZyB3ZWJraXQtdGV4dC1maWxsLWNv
bG9yCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9y
bS1kYXRhLXdpdGgtZmlsZW5hbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1maWxlbmFt
ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
Y2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZmlsZW5hbWUtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExIEBACitUZXN0IGZvciBzZW5kaW5nIEZvcm1EYXRhIHZp
YSBYTUxIdHRwUmVxdWVzdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1NlbmRp
bmcgRm9ybURhdGEgY29udGFpbmluZyBvbmUgZmlsZSB3aXRoIGN1c3RvbSBmaWxlbmFtZToKK2Zp
bGUxPWN1c3RvbS1uYW1lLnR4dDp0ZXh0L3BsYWluOjEyMzQ1Njc4OTAKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZmlsZW5hbWUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3Nl
bmQtZm9ybS1kYXRhLXdpdGgtZmlsZW5hbWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1maWxlbmFt
ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2VuZC1mb3JtLWRhdGEtY29tbW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc2VuZC1mb3JtLWRhdGEt
d2l0aC1maWxlbmFtZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZv
cm0tZGF0YS13aXRoLXNsaWNlZC1maWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtc2xp
Y2VkLWZpbGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNDQ1NDIpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtc2xpY2VkLWZpbGUt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3ICsxMiw3IEBAIGZpbGU9YmxvYjph
cHBsaWNhdGlvbi9vY3RldC1zdHJlYW06MjM0NTYKIFNlbmRpbmcgRm9ybURhdGEgY29udGFpbmlu
ZyBvbmUgc2xpY2VkIGZpbGUgd2l0aCBvcHRpb25hbCBub24tbnVsbCBmaWxlbmFtZToKIGZpbGU9
ZmlsZW5hbWU6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOjIzNDU2CiBTZW5kaW5nIEZvcm1EYXRh
IGNvbnRhaW5pbmcgb25lIGNvbXBsZXRlIGZpbGUgd2l0aCBvcHRpb25hbCBub24tbnVsbCBmaWxl
bmFtZToKLWZpbGU9ZmlsZS1mb3ItZHJhZy10by1zZW5kLnR4dDp0ZXh0L3BsYWluOjEyMzQ1Njc4
OTAKK2ZpbGU9ZmlsZW5hbWU6dGV4dC9wbGFpbjoxMjM0NTY3ODkwCiBTZW5kaW5nIEZvcm1EYXRh
IGNvbnRhaW5pbmcgb25lIHN0cmluZyBhbmQgb25lIHNsaWNlZCBmaWxlOgogc3RyaW5nMT1mb28m
ZmlsZTE9YmxvYjphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW06MjM0NTYKIFNlbmRpbmcgRm9ybURh
dGEgY29udGFpbmluZyB0d28gc3RyaW5ncyBhbmQgdHdvIHNsaWNlZCBmaWxlczoKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2NyaXB0LXRlc3RzL3NlbmQtZm9y
bS1kYXRhLXdpdGgtZmlsZW5hbWUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2NhbC9mb3JtZGF0YS9zY3JpcHQtdGVzdHMvc2VuZC1mb3JtLWRhdGEtd2l0aC1maWxl
bmFtZS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvZm9y
bWRhdGEvc2NyaXB0LXRlc3RzL3NlbmQtZm9ybS1kYXRhLXdpdGgtZmlsZW5hbWUuanMJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTggQEAKK2Rlc2NyaXB0aW9uKCJUZXN0IGZvciBzZW5kaW5nIEZv
cm1EYXRhIHZpYSBYTUxIdHRwUmVxdWVzdC4iKTsKKworZnVuY3Rpb24gcnVuVGVzdCgpCit7Cisg
ICAgZGVidWcoIlNlbmRpbmcgRm9ybURhdGEgY29udGFpbmluZyBvbmUgZmlsZSB3aXRoIGN1c3Rv
bSBmaWxlbmFtZToiKTsKKyAgICB0ZXN0U2VuZGluZ0Zvcm1EYXRhKFsKKyAgICAgICAgeyAndHlw
ZSc6ICdmaWxlJywgJ25hbWUnOiAnZmlsZTEnLCAndmFsdWUnOiAnLi4vcmVzb3VyY2VzL2ZpbGUt
Zm9yLWRyYWctdG8tc2VuZC50eHQnLCAnZmlsZW5hbWUnOiAnY3VzdG9tLW5hbWUudHh0JyB9Cisg
ICAgXSk7Cit9CisKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICBydW5UZXN0KCk7Cisg
ICAgZm9ybURhdGFUZXN0aW5nQ2xlYW51cCgpOworfSBlbHNlIHsKKyAgICB0ZXN0RmFpbGVkKCJU
aGlzIHRlc3QgaXMgbm90IGludGVyYWN0aXZlLCBwbGVhc2UgcnVuIHVzaW5nIER1bXBSZW5kZXJU
cmVlIik7Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191128</attachid>
            <date>2013-03-02 23:23:36 -0800</date>
            <delta_ts>2013-03-04 12:27:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111255-20130303021947.patch</filename>
            <type>text/plain</type>
            <size>10565</size>
            <attacher name="Victor Costan">costan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDU0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAzLTAyICBWaWN0b3Ig
Q29zdGFuIDxjb3N0YW5AZ21haWwuY29tPgorCisgICAgICAgIEZpbGVuYW1lIHBhc3NlZCB0byBG
b3JtRGF0YS5hcHBlbmQoKSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgZmlsZW5hbWUgaW4KKyAgICAg
ICAgRmlsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExMTI1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3Q6IGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1maWxl
bmFtZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZvcm1EYXRhOjphcHBlbmRLZXlWYWx1ZVBhaXJJdGVtcyk6IGNoYW5n
ZWQgdG8gaW1wbGVtZW50IHRoZQorICAgICAgICBiZWhhdmlvciBpbiB0aGUgWE1MSHR0cFJlcXVl
c3QgVzNDIHNwZWMuCisKIDIwMTMtMDMtMDIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIGNvbnN0cnVjdFRyZWVGcm9tQ29tcGFjdEhUTUxUb2tlbiBzaG91bGQgY2Fs
bCBjbGVhckV4dGVybmFsQ2hhcmFjdGVycwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9Gb3JtRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9Gb3JtRGF0YS5jcHAJKHJldmlzaW9uIDE0NDU0MikKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjQs
MzAgKzIyNCwzMiBAQCB2b2lkIEZvcm1EYXRhOjphcHBlbmRLZXlWYWx1ZVBhaXJJdGVtcyhjCiAg
ICAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCB0eXBlIGlzIGJsb2IsIHRoZW4gd2UgYWxzbyBu
ZWVkIHRvIGluY2x1ZGUgdGhlIGZpbGVuYW1lCiAgICAgICAgICAgICBpZiAodmFsdWUuYmxvYigp
KSB7CiAgICAgICAgICAgICAgICAgU3RyaW5nIG5hbWU7Ci0gICAgICAgICAgICAgICAgaWYgKHZh
bHVlLmJsb2IoKS0+aXNGaWxlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgRmlsZSogZmlsZSA9
IHRvRmlsZSh2YWx1ZS5ibG9iKCkpOwotICAgICAgICAgICAgICAgICAgICAvLyBGb3IgZmlsZSBi
bG9iLCB1c2UgdGhlIGZpbGVuYW1lIChvciByZWxhdGl2ZSBwYXRoIGlmIGl0IGlzIHByZXNlbnQp
IGFzIHRoZSBuYW1lLgorICAgICAgICAgICAgICAgIC8vIFVzZSB0aGUgZmlsZW5hbWUgaWYgaXQg
aXMgcGFzc2VkIGluIEZvcm1EYXRhLmFwcGVuZCgpLgorICAgICAgICAgICAgICAgIGlmICghdmFs
dWUuZmlsZW5hbWUoKS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgIG5hbWUgPSB2YWx1
ZS5maWxlbmFtZSgpOworICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICBpZiAodmFsdWUuYmxvYigpLT5pc0ZpbGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
RmlsZSogZmlsZSA9IHRvRmlsZSh2YWx1ZS5ibG9iKCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gRm9yIGZpbGUgYmxvYiwgdXNlIHRoZSBmaWxlbmFtZSAob3IgcmVsYXRpdmUgcGF0aCBp
ZiBpdCBpcyBwcmVzZW50KSBhcyB0aGUgbmFtZS4KICNpZiBFTkFCTEUoRElSRUNUT1JZX1VQTE9B
RCkgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBmaWxlLT53ZWJr
aXRSZWxhdGl2ZVBhdGgoKS5pc0VtcHR5KCkgPyBmaWxlLT5uYW1lKCkgOiBmaWxlLT53ZWJraXRS
ZWxhdGl2ZVBhdGgoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBmaWxlLT53ZWJr
aXRSZWxhdGl2ZVBhdGgoKS5pc0VtcHR5KCkgPyBmaWxlLT5uYW1lKCkgOiBmaWxlLT53ZWJraXRS
ZWxhdGl2ZVBhdGgoKTsKICNlbHNlCi0gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBmaWxlLT5u
YW1lKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gZmlsZS0+bmFtZSgpOwogI2Vu
ZGlmCi0gICAgICAgICAgICAgICAgICAgIC8vIExldCB0aGUgYXBwbGljYXRpb24gc3BlY2lmeSBh
IGZpbGVuYW1lIGlmIGl0J3MgZ29pbmcgdG8gZ2VuZXJhdGUgYSByZXBsYWNlbWVudCBmaWxlIGZv
ciB0aGUgdXBsb2FkLgotICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIHBhdGggPSBm
aWxlLT5wYXRoKCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghcGF0aC5pc0VtcHR5KCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2Uo
KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBnZW5lcmF0ZWRGaWxlTmFt
ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRHZW5lcmF0ZUZpbGUgPSBwYWdl
LT5jaHJvbWUoKS0+Y2xpZW50KCktPnNob3VsZFJlcGxhY2VXaXRoR2VuZXJhdGVkRmlsZUZvclVw
bG9hZChwYXRoLCBnZW5lcmF0ZWRGaWxlTmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHNob3VsZEdlbmVyYXRlRmlsZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbmFtZSA9IGdlbmVyYXRlZEZpbGVOYW1lOworICAgICAgICAgICAgICAgICAgICAgICAgLy8g
TGV0IHRoZSBhcHBsaWNhdGlvbiBzcGVjaWZ5IGEgZmlsZW5hbWUgaWYgaXQncyBnb2luZyB0byBn
ZW5lcmF0ZSBhIHJlcGxhY2VtZW50IGZpbGUgZm9yIHRoZSB1cGxvYWQuCisgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBTdHJpbmcmIHBhdGggPSBmaWxlLT5wYXRoKCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoIXBhdGguaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBnZW5lcmF0ZWRGaWxlTmFtZTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkR2VuZXJhdGVGaWxlID0gcGFnZS0+Y2hyb21l
KCktPmNsaWVudCgpLT5zaG91bGRSZXBsYWNlV2l0aEdlbmVyYXRlZEZpbGVGb3JVcGxvYWQocGF0
aCwgZ2VuZXJhdGVkRmlsZU5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoc2hvdWxkR2VuZXJhdGVGaWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbmFtZSA9IGdlbmVyYXRlZEZpbGVOYW1lOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEZvciBub24tZmls
ZSBibG9iLCB1c2UgdGhlIGZpbGVuYW1lIGlmIGl0IGlzIHBhc3NlZCBpbiBGb3JtRGF0YS5hcHBl
bmQoKS4KLSAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS5maWxlbmFtZSgpLmlzRW1wdHko
KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSB2YWx1ZS5maWxlbmFtZSgpOwotICAg
ICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBGb3Igbm9uLWZpbGUgYmxvYiwgdXNlICJibG9iIiBieSBk
ZWZhdWx0LgogICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9ICJibG9iIjsKKyAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIC8vIFdl
IGhhdmUgdG8gaW5jbHVkZSB0aGUgZmlsZW5hbWU9Ii4uIiBwYXJ0IGluIHRoZSBoZWFkZXIsIGV2
ZW4gaWYgdGhlIGZpbGVuYW1lIGlzIGVtcHR5CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDQ1NDMpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAor
MjAxMy0wMy0wMiAgVmljdG9yIENvc3RhbiA8Y29zdGFuQGdtYWlsLmNvbT4KKworICAgICAgICBG
aWxlbmFtZSBwYXNzZWQgdG8gRm9ybURhdGEuYXBwZW5kKCkgdGFrZXMgcHJlY2VkZW5jZSBvdmVy
IGZpbGVuYW1lIGluCisgICAgICAgIEZpbGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEyNTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogaHR0cC90ZXN0cy9sb2Nh
bC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13aXRoLWZpbGVuYW1lLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13
aXRoLWZpbGVuYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9jYWwvZm9y
bWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1zbGljZWQtZmlsZS1leHBlY3RlZC50eHQ6IFVwZGF0
ZWQKKyAgICAgICAgdG8gcmVmbGVjdCB0aGUgYmVoYXZpb3Igc3BlY2lmaWVkIGluIHRoZSBYTUxI
dHRwUmVxdWVzdCBXM0Mgc3BlYy4KKyAgICAgICAgKiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0
aW9uczogbmV3bHkgYWRkZWQgdGVzdCBkb2Vzbid0IHdvcmsgaW4KKyAgICAgICAgV2ViS2l0MiBi
ZWNhdXNlIGJlZ2luRHJhZ1dpdGhGaWxlcyBpcyBub3QgaW1wbGVtZW50ZWQKKwogMjAxMy0wMy0w
MiAgUm9iIEJ1aXMgIDxyYnVpc0ByaW0uY29tPgogCiAgICAgICAgIFRleHQgb3ZlcmZsb3cgZWxs
aXBzaXMgd3JvbmcgY29sb3Igd2hlbiB1c2luZyB3ZWJraXQtdGV4dC1maWxsLWNvbG9yCkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdp
dGgtZmlsZW5hbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1maWxlbmFtZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1k
YXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZmlsZW5hbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDExIEBACitUZXN0IGZvciBzZW5kaW5nIEZvcm1EYXRhIHZpYSBYTUxIdHRw
UmVxdWVzdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1NlbmRpbmcgRm9ybURh
dGEgY29udGFpbmluZyBvbmUgZmlsZSB3aXRoIGN1c3RvbSBmaWxlbmFtZToKK2ZpbGUxPWN1c3Rv
bS1uYW1lLnR4dDp0ZXh0L3BsYWluOjEyMzQ1Njc4OTAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZmlsZW5hbWUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1k
YXRhLXdpdGgtZmlsZW5hbWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1maWxlbmFtZS5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2VuZC1mb3JtLWRhdGEtY29tbW9uLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBmb3Igc2VuZGluZyBGb3JtRGF0YSB2
aWEgWE1MSHR0cFJlcXVlc3QuIik7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGRlYnVn
KCJTZW5kaW5nIEZvcm1EYXRhIGNvbnRhaW5pbmcgb25lIGZpbGUgd2l0aCBjdXN0b20gZmlsZW5h
bWU6Iik7CisgICAgdGVzdFNlbmRpbmdGb3JtRGF0YShbCisgICAgICAgIHsgJ3R5cGUnOiAnZmls
ZScsICduYW1lJzogJ2ZpbGUxJywgJ3ZhbHVlJzogJy4uL3Jlc291cmNlcy9maWxlLWZvci1kcmFn
LXRvLXNlbmQudHh0JywgJ2ZpbGVuYW1lJzogJ2N1c3RvbS1uYW1lLnR4dCcgfQorICAgIF0pOwor
fQorCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgcnVuVGVzdCgpOworICAgIGZvcm1E
YXRhVGVzdGluZ0NsZWFudXAoKTsKK30gZWxzZSB7CisgICAgdGVzdEZhaWxlZCgiVGhpcyB0ZXN0
IGlzIG5vdCBpbnRlcmFjdGl2ZSwgcGxlYXNlIHJ1biB1c2luZyBEdW1wUmVuZGVyVHJlZSIpOwor
fQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9j
YWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1zbGljZWQtZmlsZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5k
LWZvcm0tZGF0YS13aXRoLXNsaWNlZC1maWxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTQ0NTQy
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0
YS13aXRoLXNsaWNlZC1maWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTIsNyAr
MTIsNyBAQCBmaWxlPWJsb2I6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOjIzNDU2CiBTZW5kaW5n
IEZvcm1EYXRhIGNvbnRhaW5pbmcgb25lIHNsaWNlZCBmaWxlIHdpdGggb3B0aW9uYWwgbm9uLW51
bGwgZmlsZW5hbWU6CiBmaWxlPWZpbGVuYW1lOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbToyMzQ1
NgogU2VuZGluZyBGb3JtRGF0YSBjb250YWluaW5nIG9uZSBjb21wbGV0ZSBmaWxlIHdpdGggb3B0
aW9uYWwgbm9uLW51bGwgZmlsZW5hbWU6Ci1maWxlPWZpbGUtZm9yLWRyYWctdG8tc2VuZC50eHQ6
dGV4dC9wbGFpbjoxMjM0NTY3ODkwCitmaWxlPWZpbGVuYW1lOnRleHQvcGxhaW46MTIzNDU2Nzg5
MAogU2VuZGluZyBGb3JtRGF0YSBjb250YWluaW5nIG9uZSBzdHJpbmcgYW5kIG9uZSBzbGljZWQg
ZmlsZToKIHN0cmluZzE9Zm9vJmZpbGUxPWJsb2I6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOjIz
NDU2CiBTZW5kaW5nIEZvcm1EYXRhIGNvbnRhaW5pbmcgdHdvIHN0cmluZ3MgYW5kIHR3byBzbGlj
ZWQgZmlsZXM6CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9u
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9u
cwkocmV2aXNpb24gMTQ0NTQyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBl
Y3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTYsMTMgKzYsMTMgQEAKICMgYXJlIG1ldDoKICMK
ICMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogIyAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICMg
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorIyAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICMg
My4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5v
ciB0aGUgbmFtZXMgb2YKICMgICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSMgICAgIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisjICAgICBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CiAjCiAjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTU4LDcgKzU4LDcg
QEAgcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvaWZyYW1lLXdpdGgtdAogIyBTb21lIGNvbXBv
c2l0aW5nIHRlc3RzIGZsYWtleQogIyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ4MzU0PgogY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtc2l6ZS1mcm9tLXplcm8u
aHRtbAotY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtc3JjLWNoYW5nZS5odG1sIAorY29tcG9z
aXRpbmcvaWZyYW1lcy9pZnJhbWUtc3JjLWNoYW5nZS5odG1sCiAKICMgRmxha2V5IG9uIFNub3cg
TGVvcGFyZCBJbnRlbCBXZWJLaXQyIFJlbGVhc2UgVGVzdHMKICMgPGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzYzOD4KQEAgLTc4LDcgKzc4LDcgQEAgaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1oZWFkZXJzLgogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0
ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0Lmh0bWwKIAogIyBJbnNwZWN0b3Igb25seSBzdXBwb3J0
cyBldmFsdWF0aW9uIGluIGNvbnRlbnQgc2NyaXB0IHdvcmxkIHdpdGggdjgsIHNlZSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU3MDkKLWluc3BlY3Rvci9leHRlbnNp
b25zL2V4dGVuc2lvbnMtZXZhbC1jb250ZW50LXNjcmlwdC5odG1sIAoraW5zcGVjdG9yL2V4dGVu
c2lvbnMvZXh0ZW5zaW9ucy1ldmFsLWNvbnRlbnQtc2NyaXB0Lmh0bWwKIGluc3BlY3Rvci9leHRl
bnNpb25zL2V4dGVuc2lvbnMtYXVkaXRzLWNvbnRlbnQtc2NyaXB0Lmh0bWwKIAogIyBBIGJ1bmNo
IG9mIGluc3BlY3RvciB0ZXN0cyB0aW1lIG91dCBvbiBMaW9uIEludGVsIERlYnVnIFdlYktpdDIg
dGVzdGVycy4KQEAgLTg4MSw2ICs4ODEsNyBAQCBodHRwL3Rlc3RzL2xvY2FsL2ZpbGVhcGkvZmls
ZS1sYXN0LW1vZGlmCiBodHRwL3Rlc3RzL2xvY2FsL2ZpbGVhcGkvc2VuZC1kcmFnZ2VkLWZpbGUu
aHRtbAogaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9mb3JtLWRhdGEtd2l0aC11bmtub3duLWZp
bGUtZXh0ZW5zaW9uLmh0bWwKIGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRh
dGEtY29uc3RydWN0ZWQtZnJvbS1mb3JtLmh0bWwKK2h0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEv
c2VuZC1mb3JtLWRhdGEtd2l0aC1maWxlbmFtZS5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL2Zvcm1k
YXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtc2xpY2VkLWZpbGUuaHRtbAogaHR0cC90ZXN0cy9sb2Nh
bC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRh
L3VwbG9hZC1ldmVudHMuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191290</attachid>
            <date>2013-03-04 12:27:34 -0800</date>
            <delta_ts>2013-03-04 14:30:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111255-20130304152342.patch</filename>
            <type>text/plain</type>
            <size>8042</size>
            <attacher name="Victor Costan">costan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDY1MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAzLTAyICBWaWN0b3Ig
Q29zdGFuIDxjb3N0YW5AZ21haWwuY29tPgorCisgICAgICAgIEZpbGVuYW1lIHBhc3NlZCB0byBG
b3JtRGF0YS5hcHBlbmQoKSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgZmlsZW5hbWUgaW4KKyAgICAg
ICAgRmlsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExMTI1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3Q6IGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1maWxl
bmFtZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZvcm1EYXRhOjphcHBlbmRLZXlWYWx1ZVBhaXJJdGVtcyk6IGNoYW5n
ZWQgdG8gaW1wbGVtZW50IHRoZQorICAgICAgICBiZWhhdmlvciBpbiB0aGUgWE1MSHR0cFJlcXVl
c3QgVzNDIHNwZWMuCisKIDIwMTMtMDMtMDQgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQ0NTYyLgpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5jcHAJKHJldmlzaW9uIDE0
NDY1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDEwIEBAIHZvaWQgRm9ybURhdGE6OmFwcGVuZEtl
eVZhbHVlUGFpckl0ZW1zKGMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9
IGdlbmVyYXRlZEZpbGVOYW1lOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgLy8gSWYgYSBmaWxlbmFtZSBpcyBw
YXNzZWQgaW4gRm9ybURhdGEuYXBwZW5kKCksIHVzZSBpdCBpbnN0ZWFkIG9mIHRoZSBmaWxlIGJs
b2IncyBuYW1lLgorICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlLmZpbGVuYW1lKCkuaXNF
bXB0eSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHZhbHVlLmZpbGVuYW1lKCk7
CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgLy8gRm9yIG5v
bi1maWxlIGJsb2IsIHVzZSB0aGUgZmlsZW5hbWUgaWYgaXQgaXMgcGFzc2VkIGluIEZvcm1EYXRh
LmFwcGVuZCgpLgogICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlLmZpbGVuYW1lKCkuaXNF
bXB0eSgpKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ0NjUwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDMtMDIgIFZpY3RvciBD
b3N0YW4gPGNvc3RhbkBnbWFpbC5jb20+CisKKyAgICAgICAgRmlsZW5hbWUgcGFzc2VkIHRvIEZv
cm1EYXRhLmFwcGVuZCgpIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBmaWxlbmFtZSBpbgorICAgICAg
ICBGaWxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTExMjU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KHJ1blRlc3QpOgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3Jt
LWRhdGEtd2l0aC1maWxlbmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1maWxlbmFtZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRh
LXdpdGgtc2xpY2VkLWZpbGUtZXhwZWN0ZWQudHh0OiBVcGRhdGVkCisgICAgICAgIHRvIHJlZmxl
Y3QgdGhlIGJlaGF2aW9yIHNwZWNpZmllZCBpbiB0aGUgWE1MSHR0cFJlcXVlc3QgVzNDIHNwZWMu
CisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6IG5ld2x5IGFkZGVkIHRl
c3QgZG9lc24ndCB3b3JrIGluCisgICAgICAgIFdlYktpdDIgYmVjYXVzZSBiZWdpbkRyYWdXaXRo
RmlsZXMgaXMgbm90IGltcGxlbWVudGVkCisKIDIwMTMtMDMtMDQgIFVkYXkgS2lyYW4gIDx1ZGF5
a2lyYW5AbW90b3JvbGEuY29tPgogCiAgICAgICAgIGdldENvbXB1dGVkU3R5bGUgbm90IGltcGxl
bWVudGVkIGZvciAtd2Via2l0LWNvbHVtbnMgc2hvcnRoYW5kCkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZmlsZW5hbWUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvZm9y
bWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1maWxlbmFtZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1k
YXRhLXdpdGgtZmlsZW5hbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEx
IEBACitUZXN0IGZvciBzZW5kaW5nIEZvcm1EYXRhIHZpYSBYTUxIdHRwUmVxdWVzdC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1NlbmRpbmcgRm9ybURhdGEgY29udGFpbmluZyBv
bmUgZmlsZSB3aXRoIGN1c3RvbSBmaWxlbmFtZToKK2ZpbGUxPWN1c3RvbS1uYW1lLnR4dDp0ZXh0
L3BsYWluOjEyMzQ1Njc4OTAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRh
L3NlbmQtZm9ybS1kYXRhLXdpdGgtZmlsZW5hbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtZmlsZW5h
bWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvZm9y
bWRhdGEvc2VuZC1mb3JtLWRhdGEtd2l0aC1maWxlbmFtZS5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDMzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvc2VuZC1mb3JtLWRhdGEtY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiVGVzdCBmb3Igc2VuZGluZyBGb3JtRGF0YSB2aWEgWE1MSHR0cFJlcXVl
c3QuIik7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGRlYnVnKCJTZW5kaW5nIEZvcm1E
YXRhIGNvbnRhaW5pbmcgb25lIGZpbGUgd2l0aCBjdXN0b20gZmlsZW5hbWU6Iik7CisgICAgdGVz
dFNlbmRpbmdGb3JtRGF0YShbCisgICAgICAgIHsgJ3R5cGUnOiAnZmlsZScsICduYW1lJzogJ2Zp
bGUxJywgJ3ZhbHVlJzogJy4uL3Jlc291cmNlcy9maWxlLWZvci1kcmFnLXRvLXNlbmQudHh0Jywg
J2ZpbGVuYW1lJzogJ2N1c3RvbS1uYW1lLnR4dCcgfQorICAgIF0pOworfQorCitpZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgcnVuVGVzdCgpOworICAgIGZvcm1EYXRhVGVzdGluZ0NsZWFu
dXAoKTsKK30gZWxzZSB7CisgICAgdGVzdEZhaWxlZCgiVGhpcyB0ZXN0IGlzIG5vdCBpbnRlcmFj
dGl2ZSwgcGxlYXNlIHJ1biB1c2luZyBEdW1wUmVuZGVyVHJlZSIpOworfQorCit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2Vu
ZC1mb3JtLWRhdGEtd2l0aC1zbGljZWQtZmlsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13aXRo
LXNsaWNlZC1maWxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTQ0NjUwKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS13aXRoLXNsaWNlZC1m
aWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBAQCBmaWxlPWJs
b2I6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOjIzNDU2CiBTZW5kaW5nIEZvcm1EYXRhIGNvbnRh
aW5pbmcgb25lIHNsaWNlZCBmaWxlIHdpdGggb3B0aW9uYWwgbm9uLW51bGwgZmlsZW5hbWU6CiBm
aWxlPWZpbGVuYW1lOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbToyMzQ1NgogU2VuZGluZyBGb3Jt
RGF0YSBjb250YWluaW5nIG9uZSBjb21wbGV0ZSBmaWxlIHdpdGggb3B0aW9uYWwgbm9uLW51bGwg
ZmlsZW5hbWU6Ci1maWxlPWZpbGUtZm9yLWRyYWctdG8tc2VuZC50eHQ6dGV4dC9wbGFpbjoxMjM0
NTY3ODkwCitmaWxlPWZpbGVuYW1lOnRleHQvcGxhaW46MTIzNDU2Nzg5MAogU2VuZGluZyBGb3Jt
RGF0YSBjb250YWluaW5nIG9uZSBzdHJpbmcgYW5kIG9uZSBzbGljZWQgZmlsZToKIHN0cmluZzE9
Zm9vJmZpbGUxPWJsb2I6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOjIzNDU2CiBTZW5kaW5nIEZv
cm1EYXRhIGNvbnRhaW5pbmcgdHdvIHN0cmluZ3MgYW5kIHR3byBzbGljZWQgZmlsZXM6CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTQ0
NjUwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtp
bmcgY29weSkKQEAgLTYsMTMgKzYsMTMgQEAKICMgYXJlIG1ldDoKICMKICMgMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0j
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgogIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICMgICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uIAorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICMgMy4gIE5laXRoZXIgdGhl
IG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YK
ICMgICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQKLSMgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisjICAgICBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAjCiAjIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCiAjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTU4LDcgKzU4LDcgQEAgcGxhdGZvcm0vbWFj
L2FjY2Vzc2liaWxpdHkvaWZyYW1lLXdpdGgtdAogIyBTb21lIGNvbXBvc2l0aW5nIHRlc3RzIGZs
YWtleQogIyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MzU0Pgog
Y29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtc2l6ZS1mcm9tLXplcm8uaHRtbAotY29tcG9zaXRp
bmcvaWZyYW1lcy9pZnJhbWUtc3JjLWNoYW5nZS5odG1sIAorY29tcG9zaXRpbmcvaWZyYW1lcy9p
ZnJhbWUtc3JjLWNoYW5nZS5odG1sCiAKICMgRmxha2V5IG9uIFNub3cgTGVvcGFyZCBJbnRlbCBX
ZWJLaXQyIFJlbGVhc2UgVGVzdHMKICMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NzYzOD4KQEAgLTc4LDcgKzc4LDcgQEAgaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0
ZW5zaW9ucy1oZWFkZXJzLgogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1uZXR3b3Jr
LXJlZGlyZWN0Lmh0bWwKIAogIyBJbnNwZWN0b3Igb25seSBzdXBwb3J0cyBldmFsdWF0aW9uIGlu
IGNvbnRlbnQgc2NyaXB0IHdvcmxkIHdpdGggdjgsIHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODU3MDkKLWluc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMt
ZXZhbC1jb250ZW50LXNjcmlwdC5odG1sIAoraW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9u
cy1ldmFsLWNvbnRlbnQtc2NyaXB0Lmh0bWwKIGluc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lv
bnMtYXVkaXRzLWNvbnRlbnQtc2NyaXB0Lmh0bWwKIAogIyBBIGJ1bmNoIG9mIGluc3BlY3RvciB0
ZXN0cyB0aW1lIG91dCBvbiBMaW9uIEludGVsIERlYnVnIFdlYktpdDIgdGVzdGVycy4KQEAgLTg4
MSw2ICs4ODEsNyBAQCBodHRwL3Rlc3RzL2xvY2FsL2ZpbGVhcGkvZmlsZS1sYXN0LW1vZGlmCiBo
dHRwL3Rlc3RzL2xvY2FsL2ZpbGVhcGkvc2VuZC1kcmFnZ2VkLWZpbGUuaHRtbAogaHR0cC90ZXN0
cy9sb2NhbC9mb3JtZGF0YS9mb3JtLWRhdGEtd2l0aC11bmtub3duLWZpbGUtZXh0ZW5zaW9uLmh0
bWwKIGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEtY29uc3RydWN0ZWQt
ZnJvbS1mb3JtLmh0bWwKK2h0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEt
d2l0aC1maWxlbmFtZS5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1k
YXRhLXdpdGgtc2xpY2VkLWZpbGUuaHRtbAogaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5k
LWZvcm0tZGF0YS5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3VwbG9hZC1ldmVudHMu
aHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>