<?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>82192</bug_id>
          
          <creation_ts>2012-03-26 05:07:26 -0700</creation_ts>
          <short_desc>[EFL][DRT] Catch the &quot;resource,request,willsend&quot; signal</short_desc>
          <delta_ts>2012-05-06 22:48:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>81891</blocked>
    
    <blocked>82443</blocked>
    
    <blocked>82722</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>glima</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>587623</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-03-26 05:07:26 -0700</bug_when>
    <thetext>EFL&apos;s DRT should catch the &quot;resource,request,willsend&quot; signal in order to implement the &quot;Blocked access to external URL&quot; behavior.

This allows the following test cases to be removed from the skip list:
    fast/ruby/before-block-doesnt-crash.html
    fast/ruby/before-table-doesnt-crash.html
    fast/ruby/generated-before-counter-doesnt-crash.html
    fast/workers/worker-crash-with-invalid-location.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587702</commentid>
    <comment_count>1</comment_count>
      <attachid>133803</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-03-26 07:13:14 -0700</bug_when>
    <thetext>Created attachment 133803
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587714</commentid>
    <comment_count>2</comment_count>
      <attachid>133803</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-03-26 07:25:21 -0700</bug_when>
    <thetext>Comment on attachment 133803
Proposed patch

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

&gt; Source/WebKit/efl/ChangeLog:11
&gt; +        Reviewed by NOBODY (OOPS!).

Style-wise, the &quot;Reviewed by&quot; line usually goes right after the bug URL.

&gt; Source/WebKit/efl/ChangeLog:14
&gt; +        * WebCoreSupport/FrameLoaderClientEfl.cpp:
&gt; +        (WebCore::FrameLoaderClientEfl::dispatchWillSendRequest):

It looks like this part of the patch is missing.

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:310
&gt; +

Style nitpick: extra empty line here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588574</commentid>
    <comment_count>3</comment_count>
      <attachid>133979</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-03-26 22:43:26 -0700</bug_when>
    <thetext>Created attachment 133979
Improved patch based on Raphael Kubo da Costa&apos;s review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588592</commentid>
    <comment_count>4</comment_count>
      <attachid>133979</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-03-26 23:16:37 -0700</bug_when>
    <thetext>Comment on attachment 133979
Improved patch based on Raphael Kubo da Costa&apos;s review

Looks fine before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588593</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-03-26 23:17:58 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 133979 [details])
&gt; Looks fine before.
Oops. I mean looks better than before. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588872</commentid>
    <comment_count>6</comment_count>
      <attachid>133979</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-03-27 07:37:55 -0700</bug_when>
    <thetext>Comment on attachment 133979
Improved patch based on Raphael Kubo da Costa&apos;s review

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

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:102
&gt; +    Evas_Object* mainFrame = ewk_view_frame_main_get(view);
&gt; +    if (mainFrame)

Sorry for not noticing this earlier. Some time ago I added code which emitted &quot;resource,request,willsend&quot; on the view when a request was sent to its main frame (see FrameLoaderClientEfl::dispatchWillSendRequest). Have you checked if it works in this case?

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:308
&gt; +        return;

This return statement is unnecessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588921</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-03-27 08:19:02 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 133979 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=133979&amp;action=review
&gt; 
&gt; &gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:102
&gt; &gt; +    Evas_Object* mainFrame = ewk_view_frame_main_get(view);
&gt; &gt; +    if (mainFrame)
&gt; 
&gt; Sorry for not noticing this earlier. Some time ago I added code which emitted &quot;resource,request,willsend&quot; on the view when a request was sent to its main frame (see FrameLoaderClientEfl::dispatchWillSendRequest). Have you checked if it works in this case?

My initial attempt was to listen for the &quot;resource,request,willsend&quot; signal on the view (instead of on the main frame). However, this did not work because my callback would only get called when the main frame is loaded, but not when each subcomponent of the main frame gets loaded. The tests check for subcomponents in the frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588930</commentid>
    <comment_count>8</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-03-27 08:30:30 -0700</bug_when>
    <thetext>Alright then, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589086</commentid>
    <comment_count>9</comment_count>
      <attachid>134106</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-03-27 11:41:12 -0700</bug_when>
    <thetext>Created attachment 134106
Improved patch based on Raphael Kubo da Costa&apos;s review (#2)

Removed the &quot;useless&quot; return statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589913</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-03-28 06:35:10 -0700</bug_when>
    <thetext>@Raphael Kubo da Costa: I ran more test cases and figured out that I&apos;m not getting the &quot;resource,request,willsend&quot; signal for resources in a iframe (e.g. &quot;LayoutTests/http/tests/misc/window-dot-stop.html&quot;).

I believe this is a side effect on me listening for the signal on the main frame instead of the view.

However, unlike the GTK port equivalent, the FrameLoaderClientEfl dispatchWillSendRequest() will emit the &quot;resource,request,willsend&quot; signal on the view, only for the main frame:

************
    ewk_frame_request_will_send(m_frame, &amp;messages);
    // We want to distinguish between a request for a document to be loaded into
    // the main frame, a sub-frame, or the sub-objects in that document (via Chromium).
    if (loader) {
        const FrameLoader* frameLoader = loader-&gt;frameLoader();
        const bool isMainFrameRequest = (loader == frameLoader-&gt;provisionalDocumentLoader() &amp;&amp; frameLoader-&gt;isLoadingMainFrame());
        if (isMainFrameRequest)
            evas_object_smart_callback_call(m_view, &quot;resource,request,willsend&quot;, &amp;messages);
    }
************

Is this really required or can I remove the check and emit the signal on the view for all resources (like in GTK port)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589954</commentid>
    <comment_count>11</comment_count>
      <attachid>134293</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-03-28 07:46:08 -0700</bug_when>
    <thetext>Created attachment 134293
Second patch proposal (listening for signal on the view)

Here is a second proposal where DRT is listening for &quot;resource,request,willsend&quot; signal on the view (not the main frame).
To support this, I&apos;m now emitting the signal on the view for all resources (not just the main frame).

Also, to help the browser identify the frame (seems like it was the needed use-case), I added a frame property to the Ewk_Frame_Resource_Request struct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590458</commentid>
    <comment_count>12</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-03-28 14:43:24 -0700</bug_when>
    <thetext>(In reply to comment #10) 
&gt; Is this really required or can I remove the check and emit the signal on the view for all resources (like in GTK port)?

I imported this code from Chromium some time ago while working on a downstream project; as I don&apos;t have access to the project&apos;s code anymore, I&apos;ll let glima (CC&apos;ed) answer more properly.

In short, from what I remember, the idea was to be able to differentiate requests to the main frame from other types of requests, so that SSL requests to servers with invalid SSL certificates would be made only if they were to the main frame and the user had accepted that, and dropped automatically otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590893</commentid>
    <comment_count>13</comment_count>
      <attachid>134512</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-03-29 00:05:22 -0700</bug_when>
    <thetext>Created attachment 134512
Second patch proposal (listening for signal on the view)

Forgot to update the Changelogs in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590934</commentid>
    <comment_count>14</comment_count>
      <attachid>134521</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-03-29 01:20:01 -0700</bug_when>
    <thetext>Created attachment 134521
Second patch proposal (listening for signal on the view)

Forgot to update the ewk_view signals documentation accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591767</commentid>
    <comment_count>15</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-03-29 17:53:22 -0700</bug_when>
    <thetext>(In reply to comment #12)

&gt; In short, from what I remember, the idea was to be able to differentiate requests to the main frame from other types of requests, so that SSL requests to servers with invalid SSL certificates would be made only if they were to the main frame and the user had accepted that, and dropped automatically otherwise.

I have not used this function yet. Are there any problems when we fire a signal on frame ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591786</commentid>
    <comment_count>16</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-03-29 18:27:09 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #12)
&gt; 
&gt; &gt; In short, from what I remember, the idea was to be able to differentiate requests to the main frame from other types of requests, so that SSL requests to servers with invalid SSL certificates would be made only if they were to the main frame and the user had accepted that, and dropped automatically otherwise.
&gt; 
&gt; I have not used this function yet. Are there any problems when we fire a signal on frame ?

No, there aren&apos;t -- the frame signal is still being emitted. It&apos;s just that listening on the frame signal cannot do what I mentioned above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594330</commentid>
    <comment_count>17</comment_count>
      <attachid>135296</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-04-03 03:01:49 -0700</bug_when>
    <thetext>Created attachment 135296
Proposed patch

Updated the patch so that the Ewk_Frame_Resource_Request now contains an &quot;is_main_frame_request&quot; boolean flag.
The browser needs to distinguish requests that are made for the main frame from those made for sub-resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594359</commentid>
    <comment_count>18</comment_count>
      <attachid>135306</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-04-03 04:05:42 -0700</bug_when>
    <thetext>Created attachment 135306
Proposed patch

Updated the Changelogs in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594377</commentid>
    <comment_count>19</comment_count>
      <attachid>135306</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-04-03 04:54:55 -0700</bug_when>
    <thetext>Comment on attachment 135306
Proposed patch

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

Thanks for the work, looks almost good to me.

&gt; Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp:-176
&gt; -    // We want to distinguish between a request for a document to be loaded into
&gt; -    // the main frame, a sub-frame, or the sub-objects in that document (via Chromium).

Please keep the comment in the code for the chunk it&apos;s related to to be easier to understand.

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:303
&gt; +        return;

`return&apos; not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594406</commentid>
    <comment_count>20</comment_count>
      <attachid>135315</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-04-03 05:55:35 -0700</bug_when>
    <thetext>Created attachment 135315
Proposed patch

Updated based on informal review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594414</commentid>
    <comment_count>21</comment_count>
      <attachid>135315</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-04-03 06:00:31 -0700</bug_when>
    <thetext>Comment on attachment 135315
Proposed patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595430</commentid>
    <comment_count>22</comment_count>
      <attachid>135315</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-04-04 05:11:41 -0700</bug_when>
    <thetext>Comment on attachment 135315
Proposed patch

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

cq- because of the comments

&gt; Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp:169
&gt; +    // the main frame, a sub-frame, or the sub-objects in that document (via Chromium).

I know this line was still here, but via Chromium here means what? you are doing the same chromium does? or the author misspelled Chrome(Client)?

&gt; Source/WebKit/efl/ewk/ewk_frame.h:110
&gt; +    Eina_Bool is_main_frame_request; /** &lt; indicates is the request is for the main frame */

is the request -&gt; if the request</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595462</commentid>
    <comment_count>23</comment_count>
      <attachid>135570</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-04-04 05:52:01 -0700</bug_when>
    <thetext>Created attachment 135570
Proposed patch

Update to take Gustavo Noronha&apos;s comment into consideration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595483</commentid>
    <comment_count>24</comment_count>
      <attachid>135577</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-04-04 06:25:39 -0700</bug_when>
    <thetext>Created attachment 135577
Proposed patch

Rebase on master since it does not apply anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595760</commentid>
    <comment_count>25</comment_count>
      <attachid>135577</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2012-04-04 11:53:29 -0700</bug_when>
    <thetext>Comment on attachment 135577
Proposed patch

Rejecting attachment 135577 from commit-queue.

rakuco@webkit.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595776</commentid>
    <comment_count>26</comment_count>
      <attachid>135645</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-04-04 12:08:37 -0700</bug_when>
    <thetext>Created attachment 135645
Proposed patch

Updated reviewer name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595781</commentid>
    <comment_count>27</comment_count>
      <attachid>135645</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-04-04 12:11:25 -0700</bug_when>
    <thetext>Comment on attachment 135645
Proposed patch

Clearing flags on attachment: 135645

Committed r113224: &lt;http://trac.webkit.org/changeset/113224&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595783</commentid>
    <comment_count>28</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-04-04 12:11:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133803</attachid>
            <date>2012-03-26 07:13:14 -0700</date>
            <delta_ts>2012-03-26 22:43:26 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>will_send.patch</filename>
            <type>text/plain</type>
            <size>5975</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkMmZkNzg3Li5kZDlkOWJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTkgQEAKIDIwMTItMDMt
MjYgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAorICAg
ICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2ln
bmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5
MgorCisgICAgICAgIEVGTCdzIERSVCBzaG91bGQgY2F0Y2ggdGhlICJyZXNvdXJjZSxyZXF1ZXN0
LHdpbGxzZW5kIiBzaWduYWwKKyAgICAgICAgdG8gaW1wbGVtZW50IHRoZSAiQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIiBiZWhhdmlvci4KKyAgICAgICAgVGhpcyBhbGxvd3MgZm9yIHNl
dmVyYWwgdGVzdHMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBza2lwIAorICAgICAgICBsaXN0Lgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZv
cm0vZWZsL1NraXBwZWQ6CisKKzIwMTItMDMtMjYgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3Rv
cGhlLmR1bWV6QGludGVsLmNvbT4KKwogICAgICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAidGl0
bGUsY2hhbmdlZCIgc2lnbmFsCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MjE3NAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwv
U2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4IDQ3ZGNmNWYu
LmNlNjM0MmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBAIC03OTgsMTIgKzc5OCw2IEBA
IGZhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMuaHRtbAogZmFzdC9mb3Jtcy9t
YWlsdG8vcG9zdC10ZXh0LXBsYWluLXdpdGgtYWNjZXB0LWNoYXJzZXQuaHRtbAogZmFzdC9mb3Jt
cy9tYWlsdG8vcG9zdC10ZXh0LXBsYWluLmh0bWwKIAotIyBFRkwncyBEUlQgKER1bXBSZW5kZXJU
cmVlQ2hyb21lKSBuZWVkcyB0byBjYXRjaCB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQi
IHNpZ25hbAotZmFzdC9ydWJ5L2JlZm9yZS1ibG9jay1kb2VzbnQtY3Jhc2guaHRtbAotZmFzdC9y
dWJ5L2JlZm9yZS10YWJsZS1kb2VzbnQtY3Jhc2guaHRtbAotZmFzdC9ydWJ5L2dlbmVyYXRlZC1i
ZWZvcmUtY291bnRlci1kb2VzbnQtY3Jhc2guaHRtbAotZmFzdC93b3JrZXJzL3dvcmtlci1jcmFz
aC13aXRoLWludmFsaWQtbG9jYXRpb24uaHRtbAotCiAjIE5lZWQgdG8gY2FsbCBTZXR0aW5nczo6
c2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQodHJ1ZSkuCiBmYXN0L2Zvcm1zL2lu
dGVyYWN0aXZlLXZhbGlkYXRpb24tcHJldmVudGVkLmh0bWwKIGZhc3QvZm9ybXMvaW50ZXJhY3Rp
dmUtdmFsaWRhdGlvbi1hdHRhY2gtYXNzZXJ0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBh
NmE3ZGM3Li5kODU1MmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTIt
MDMtMjYgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKwor
ICAgICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIg
c2lnbmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MjE5MgorCisgICAgICAgIEVGTCdzIERSVCBzaG91bGQgY2F0Y2ggdGhlICJyZXNvdXJjZSxyZXF1
ZXN0LHdpbGxzZW5kIiBzaWduYWwKKyAgICAgICAgdG8gaW1wbGVtZW50IHRoZSAiQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIiBiZWhhdmlvci4KKyAgICAgICAgVGhpcyBhbGxvd3MgZm9y
IHNldmVyYWwgdGVzdHMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBza2lwIAorICAgICAgICBsaXN0
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0KToKKwogMjAxMi0w
My0yMyAgR3J6ZWdvcnogQ3phamtvd3NraSAgPGcuY3phamtvd3NraUBzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBbRUZMXVtEUlRdIEltcGxlbWVudCBMYXlvdXRUZXN0Q29udHJvbGxlcidzIG1ldGhv
ZHMgcmVsYXRlZCB3aXRoIGVkaXRpbmcuCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggZjljYTRlOS4uNDg2YzdkMyAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDEyLTAz
LTI2ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKKyAg
ICAgICAgW0VGTF1bRFJUXSBDYXRjaCB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNp
Z25hbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIx
OTIKKworICAgICAgICBFRkwncyBEUlQgc2hvdWxkIGNhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVz
dCx3aWxsc2VuZCIgc2lnbmFsCisgICAgICAgIHRvIGltcGxlbWVudCB0aGUgIkJsb2NrZWQgYWNj
ZXNzIHRvIGV4dGVybmFsIFVSTCIgYmVoYXZpb3IuCisgICAgICAgIFRoaXMgYWxsb3dzIGZvciBz
ZXZlcmFsIHRlc3RzIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgc2tpcCAKKyAgICAgICAgbGlzdC4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHA6CisgICAgICAgIChEdW1wUmVu
ZGVyVHJlZUNocm9tZTo6Y3JlYXRlVmlldyk6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZUNocm9t
ZTo6b25SZXNvdXJjZVRvQmVMb2FkZWQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9E
dW1wUmVuZGVyVHJlZUNocm9tZS5oOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWUpOgor
CisyMDEyLTAzLTI2ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5j
b20+CisKICAgICAgICAgW0VGTF1bRFJUXSBDYXRjaCB0aGUgInRpdGxlLGNoYW5nZWQiIHNpZ25h
bAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIxNzQK
IApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hy
b21lLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5j
cHAKaW5kZXggYWQyYmNjNi4uNDZiMzc0OCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCkBAIC00NSw2ICs0NSw4IEBACiAjaW5jbHVk
ZSA8Y3N0ZGlvPgogI2luY2x1ZGUgPHd0Zi9Ob3RGb3VuZC5oPgogCit1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKKwogUGFzc093blB0cjxEdW1wUmVuZGVyVHJlZUNocm9tZT4gRHVtcFJlbmRlclRy
ZWVDaHJvbWU6OmNyZWF0ZShFdmFzKiBldmFzKQogewogICAgIE93blB0cjxEdW1wUmVuZGVyVHJl
ZUNocm9tZT4gY2hyb21lID0gYWRvcHRQdHIobmV3IER1bXBSZW5kZXJUcmVlQ2hyb21lKGV2YXMp
KTsKQEAgLTk0LDYgKzk2LDEyIEBAIEV2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6
Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZp
ZXcsICJzdGF0dXNiYXIsdGV4dCxzZXQiLCBvblN0YXR1c2JhclRleHRTZXQsIDApOwogICAgIGV2
YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAibG9hZCxkb2N1bWVudCxmaW5pc2hl
ZCIsIG9uRG9jdW1lbnRMb2FkRmluaXNoZWQsIDApOwogCisgICAgLy8gTGlzdGVuIGZvciB0aGUg
InJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbCBmcm9tIHRoZSBtYWluIGZyYW1lIGlu
IG9yZGVyIHRvCisgICAgLy8gZ2V0IG5vdGlmaWVkIHdoZW4gc3ViLWNvbXBvbmVudHMgYXJlIGFi
b3V0IHRvIHRoZSByZXF1ZXN0ZWQuCisgICAgRXZhc19PYmplY3QqIG1haW5GcmFtZSA9IGV3a192
aWV3X2ZyYW1lX21haW5fZ2V0KHZpZXcpOworICAgIGlmIChtYWluRnJhbWUpCisgICAgICAgIGV2
YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChtYWluRnJhbWUsICJyZXNvdXJjZSxyZXF1ZXN0
LHdpbGxzZW5kIiwgb25XaWxsU2VuZFJlcXVlc3QsIDApOworCiAgICAgcmV0dXJuIHZpZXc7CiB9
CiAKQEAgLTI4NywzICsyOTUsMjEgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25Eb2N1
bWVudExvYWRGaW5pc2hlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKiBldmUKICAgICAgICAg
ICAgIHByaW50ZigiJXMgLSBoYXMgJXUgb251bmxvYWQgaGFuZGxlcihzKVxuIiwgZnJhbWVOYW1l
LnV0ZjgoKS5kYXRhKCksIHBlbmRpbmdGcmFtZVVubG9hZEV2ZW50cyk7CiAgICAgfQogfQorCit2
b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbldpbGxTZW5kUmVxdWVzdCh2b2lkKiwgRXZhc19P
YmplY3QqLCB2b2lkKiBldmVudEluZm8pCit7CisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVl
c3QqIHJlcXVlc3QgPSBzdGF0aWNfY2FzdDxFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCo+KGV2
ZW50SW5mbyk7CisKKyAgICBLVVJMIHVybCA9IEtVUkwoUGFyc2VkVVJMU3RyaW5nLCByZXF1ZXN0
LT51cmwpOworCisgICAgaWYgKHVybC5pc1ZhbGlkKCkKKyAgICAgICAgJiYgdXJsLnByb3RvY29s
SXNJbkhUVFBGYW1pbHkoKQorICAgICAgICAmJiB1cmwuaG9zdCgpICE9ICIxMjcuMC4wLjEiCisg
ICAgICAgICYmIHVybC5ob3N0KCkgIT0gIjI1NS4yNTUuMjU1LjI1NSIKKyAgICAgICAgJiYgdXJs
Lmhvc3QoKS5sb3dlcigpICE9ICJsb2NhbGhvc3QiKSB7CisKKyAgICAgICAgcHJpbnRmKCJCbG9j
a2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgJXNcbiIsIHJlcXVlc3QtPnVybCk7CisgICAgICAg
IHJlcXVlc3QtPnVybCA9IDA7CisgICAgICAgIHJldHVybjsKKyAgICB9Cit9CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCmluZGV4IDRlYTk5MTgu
LmUxNTZiNGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVy
VHJlZUNocm9tZS5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJl
ZUNocm9tZS5oCkBAIC03NSw2ICs3NSw4IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgb25U
aXRsZUNoYW5nZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwogCiAgICAgc3RhdGljIHZv
aWQgb25Eb2N1bWVudExvYWRGaW5pc2hlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CisK
KyAgICBzdGF0aWMgdm9pZCBvbldpbGxTZW5kUmVxdWVzdCh2b2lkKiwgRXZhc19PYmplY3QqLCB2
b2lkKik7CiB9OwogCiAjZW5kaWYgLy8gRHVtcFJlbmRlclRyZWVDaHJvbWVfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133979</attachid>
            <date>2012-03-26 22:43:26 -0700</date>
            <delta_ts>2012-03-27 11:41:12 -0700</delta_ts>
            <desc>Improved patch based on Raphael Kubo da Costa&apos;s review</desc>
            <filename>82192_will_send.patch</filename>
            <type>text/plain</type>
            <size>4925</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjYTkyMTFmLi42ZTBlMmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDMt
MjYgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2ln
bmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVGTCdz
IERSVCBzaG91bGQgY2F0Y2ggdGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwK
KyAgICAgICAgdG8gaW1wbGVtZW50IHRoZSAiQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IiBiZWhhdmlvci4KKyAgICAgICAgVGhpcyBhbGxvd3MgZm9yIHNldmVyYWwgdGVzdHMgdG8gYmUg
cmVtb3ZlZCBmcm9tIHRoZSBza2lwCisgICAgICAgIGxpc3QuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9lZmwvU2tpcHBlZDoKKwogMjAxMi0wMy0yNiAgUGFibG8gRmxvdXJldCAgPHBhYmxvZkBtb3Rv
cm9sYS5jb20+CiAKICAgICAgICAgRml4IGZsYWt5IHRlc3QgZmFzdC9ldmVudHNvdXJjZS9ldmVu
dHNvdXJjZS11cmwtYXR0cmlidXRlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXgg
NzZlZGNkNi4uNTU0YWQ0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTgwMiwxMiAr
ODAyLDYgQEAgZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC10ZXh0LXBsYWluLmh0bWwKIGZhc3QvZG9t
L3RpdGxlLXRleHQtcHJvcGVydHkuaHRtbAogZmFzdC9kb20vdGl0bGUtdGV4dC1wcm9wZXJ0eS0y
Lmh0bWwKIAotIyBFRkwncyBEUlQgKER1bXBSZW5kZXJUcmVlQ2hyb21lKSBuZWVkcyB0byBjYXRj
aCB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAotZmFzdC9ydWJ5L2JlZm9y
ZS1ibG9jay1kb2VzbnQtY3Jhc2guaHRtbAotZmFzdC9ydWJ5L2JlZm9yZS10YWJsZS1kb2VzbnQt
Y3Jhc2guaHRtbAotZmFzdC9ydWJ5L2dlbmVyYXRlZC1iZWZvcmUtY291bnRlci1kb2VzbnQtY3Jh
c2guaHRtbAotZmFzdC93b3JrZXJzL3dvcmtlci1jcmFzaC13aXRoLWludmFsaWQtbG9jYXRpb24u
aHRtbAotCiAjIE5lZWQgdG8gY2FsbCBTZXR0aW5nczo6c2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbkVuYWJsZWQodHJ1ZSkuCiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24tcHJl
dmVudGVkLmh0bWwKIGZhc3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1hdHRhY2gtYXNz
ZXJ0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCBlODdhYTAwLi43ZDA5MmQ1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDMtMjYgIENocmlzdG9w
aGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXVtE
UlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2lnbmFsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVGTCdzIERSVCBzaG91bGQg
Y2F0Y2ggdGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwKKyAgICAgICAgdG8g
aW1wbGVtZW50IHRoZSAiQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIiBiZWhhdmlvci4K
KyAgICAgICAgVGhpcyBhbGxvd3MgZm9yIHNldmVyYWwgdGVzdHMgdG8gYmUgcmVtb3ZlZCBmcm9t
IHRoZSBza2lwCisgICAgICAgIGxpc3QuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwv
RHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6
OmNyZWF0ZVZpZXcpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uUmVzb3VyY2VU
b0JlTG9hZGVkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuaDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lKToKKwogMjAxMi0wMy0yNiAg
U2NvdHQgQnllciAgPHNjb3R0YnllckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRW5hYmxlIGxh
eW91dCB0ZXN0aW5nIG9mIHRoZSBzY3JvbGwgYW5pbWF0b3IuCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAppbmRleCAyZjU0MjhlLi45NjIx
MmMxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNo
cm9tZS5jcHAKQEAgLTQ1LDYgKzQ1LDggQEAKICNpbmNsdWRlIDxjc3RkaW8+CiAjaW5jbHVkZSA8
d3RmL05vdEZvdW5kLmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCiBQYXNzT3duUHRy
PER1bXBSZW5kZXJUcmVlQ2hyb21lPiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlKEV2YXMq
IGV2YXMpCiB7CiAgICAgT3duUHRyPER1bXBSZW5kZXJUcmVlQ2hyb21lPiBjaHJvbWUgPSBhZG9w
dFB0cihuZXcgRHVtcFJlbmRlclRyZWVDaHJvbWUoZXZhcykpOwpAQCAtOTQsNiArOTYsMTIgQEAg
RXZhc19PYmplY3QqIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KCkgY29uc3QKICAg
ICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQodmlldywgInN0YXR1c2Jhcix0ZXh0LHNl
dCIsIG9uU3RhdHVzYmFyVGV4dFNldCwgMCk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJh
Y2tfYWRkKHZpZXcsICJsb2FkLGRvY3VtZW50LGZpbmlzaGVkIiwgb25Eb2N1bWVudExvYWRGaW5p
c2hlZCwgMCk7CiAKKyAgICAvLyBMaXN0ZW4gZm9yIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxs
c2VuZCIgc2lnbmFsIGZyb20gdGhlIG1haW4gZnJhbWUgaW4gb3JkZXIgdG8KKyAgICAvLyBnZXQg
bm90aWZpZWQgd2hlbiBzdWItY29tcG9uZW50cyBhcmUgYWJvdXQgdG8gdGhlIHJlcXVlc3RlZC4K
KyAgICBFdmFzX09iamVjdCogbWFpbkZyYW1lID0gZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQodmll
dyk7CisgICAgaWYgKG1haW5GcmFtZSkKKyAgICAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJh
Y2tfYWRkKG1haW5GcmFtZSwgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBvbldpbGxTZW5k
UmVxdWVzdCwgMCk7CisKICAgICByZXR1cm4gdmlldzsKIH0KIApAQCAtMjgzLDMgKzI5MSwyMCBA
QCB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkRvY3VtZW50TG9hZEZpbmlzaGVkKHZvaWQq
LCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZQogICAgICAgICAgICAgcHJpbnRmKCIlcyAtIGhhcyAl
dSBvbnVubG9hZCBoYW5kbGVyKHMpXG4iLCBmcmFtZU5hbWUudXRmOCgpLmRhdGEoKSwgcGVuZGlu
Z0ZyYW1lVW5sb2FkRXZlbnRzKTsKICAgICB9CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJv
bWU6Om9uV2lsbFNlbmRSZXF1ZXN0KHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5m
bykKK3sKKyAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCogcmVxdWVzdCA9IHN0YXRpY19j
YXN0PEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0Kj4oZXZlbnRJbmZvKTsKKworICAgIEtVUkwg
dXJsID0gS1VSTChQYXJzZWRVUkxTdHJpbmcsIHJlcXVlc3QtPnVybCk7CisKKyAgICBpZiAodXJs
LmlzVmFsaWQoKQorICAgICAgICAmJiB1cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpCisgICAg
ICAgICYmIHVybC5ob3N0KCkgIT0gIjEyNy4wLjAuMSIKKyAgICAgICAgJiYgdXJsLmhvc3QoKSAh
PSAiMjU1LjI1NS4yNTUuMjU1IgorICAgICAgICAmJiB1cmwuaG9zdCgpLmxvd2VyKCkgIT0gImxv
Y2FsaG9zdCIpIHsKKyAgICAgICAgcHJpbnRmKCJCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBV
UkwgJXNcbiIsIHJlcXVlc3QtPnVybCk7CisgICAgICAgIHJlcXVlc3QtPnVybCA9IDA7CisgICAg
ICAgIHJldHVybjsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1w
UmVuZGVyVHJlZUNocm9tZS5oCmluZGV4IDRlYTk5MTguLmUxNTZiNGQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCkBAIC03NSw2ICs3NSw4
IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgb25UaXRsZUNoYW5nZWQodm9pZCosIEV2YXNf
T2JqZWN0Kiwgdm9pZCopOwogCiAgICAgc3RhdGljIHZvaWQgb25Eb2N1bWVudExvYWRGaW5pc2hl
ZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CisKKyAgICBzdGF0aWMgdm9pZCBvbldpbGxT
ZW5kUmVxdWVzdCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CiB9OwogCiAjZW5kaWYgLy8g
RHVtcFJlbmRlclRyZWVDaHJvbWVfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134106</attachid>
            <date>2012-03-27 11:41:12 -0700</date>
            <delta_ts>2012-04-03 03:01:49 -0700</delta_ts>
            <desc>Improved patch based on Raphael Kubo da Costa&apos;s review (#2)</desc>
            <filename>82192_will_send.patch</filename>
            <type>text/plain</type>
            <size>4908</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjYTkyMTFmLi42ZTBlMmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDMt
MjYgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2ln
bmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVGTCdz
IERSVCBzaG91bGQgY2F0Y2ggdGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwK
KyAgICAgICAgdG8gaW1wbGVtZW50IHRoZSAiQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IiBiZWhhdmlvci4KKyAgICAgICAgVGhpcyBhbGxvd3MgZm9yIHNldmVyYWwgdGVzdHMgdG8gYmUg
cmVtb3ZlZCBmcm9tIHRoZSBza2lwCisgICAgICAgIGxpc3QuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9lZmwvU2tpcHBlZDoKKwogMjAxMi0wMy0yNiAgUGFibG8gRmxvdXJldCAgPHBhYmxvZkBtb3Rv
cm9sYS5jb20+CiAKICAgICAgICAgRml4IGZsYWt5IHRlc3QgZmFzdC9ldmVudHNvdXJjZS9ldmVu
dHNvdXJjZS11cmwtYXR0cmlidXRlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXgg
NzZlZGNkNi4uNTU0YWQ0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTgwMiwxMiAr
ODAyLDYgQEAgZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC10ZXh0LXBsYWluLmh0bWwKIGZhc3QvZG9t
L3RpdGxlLXRleHQtcHJvcGVydHkuaHRtbAogZmFzdC9kb20vdGl0bGUtdGV4dC1wcm9wZXJ0eS0y
Lmh0bWwKIAotIyBFRkwncyBEUlQgKER1bXBSZW5kZXJUcmVlQ2hyb21lKSBuZWVkcyB0byBjYXRj
aCB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAotZmFzdC9ydWJ5L2JlZm9y
ZS1ibG9jay1kb2VzbnQtY3Jhc2guaHRtbAotZmFzdC9ydWJ5L2JlZm9yZS10YWJsZS1kb2VzbnQt
Y3Jhc2guaHRtbAotZmFzdC9ydWJ5L2dlbmVyYXRlZC1iZWZvcmUtY291bnRlci1kb2VzbnQtY3Jh
c2guaHRtbAotZmFzdC93b3JrZXJzL3dvcmtlci1jcmFzaC13aXRoLWludmFsaWQtbG9jYXRpb24u
aHRtbAotCiAjIE5lZWQgdG8gY2FsbCBTZXR0aW5nczo6c2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbkVuYWJsZWQodHJ1ZSkuCiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24tcHJl
dmVudGVkLmh0bWwKIGZhc3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1hdHRhY2gtYXNz
ZXJ0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCBlODdhYTAwLi43ZDA5MmQ1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDMtMjYgIENocmlzdG9w
aGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXVtE
UlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2lnbmFsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVGTCdzIERSVCBzaG91bGQg
Y2F0Y2ggdGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwKKyAgICAgICAgdG8g
aW1wbGVtZW50IHRoZSAiQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIiBiZWhhdmlvci4K
KyAgICAgICAgVGhpcyBhbGxvd3MgZm9yIHNldmVyYWwgdGVzdHMgdG8gYmUgcmVtb3ZlZCBmcm9t
IHRoZSBza2lwCisgICAgICAgIGxpc3QuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwv
RHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6
OmNyZWF0ZVZpZXcpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uUmVzb3VyY2VU
b0JlTG9hZGVkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuaDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lKToKKwogMjAxMi0wMy0yNiAg
U2NvdHQgQnllciAgPHNjb3R0YnllckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRW5hYmxlIGxh
eW91dCB0ZXN0aW5nIG9mIHRoZSBzY3JvbGwgYW5pbWF0b3IuCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAppbmRleCAyZjU0MjhlLi5jZjIz
NTQ4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNo
cm9tZS5jcHAKQEAgLTQ1LDYgKzQ1LDggQEAKICNpbmNsdWRlIDxjc3RkaW8+CiAjaW5jbHVkZSA8
d3RmL05vdEZvdW5kLmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCiBQYXNzT3duUHRy
PER1bXBSZW5kZXJUcmVlQ2hyb21lPiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlKEV2YXMq
IGV2YXMpCiB7CiAgICAgT3duUHRyPER1bXBSZW5kZXJUcmVlQ2hyb21lPiBjaHJvbWUgPSBhZG9w
dFB0cihuZXcgRHVtcFJlbmRlclRyZWVDaHJvbWUoZXZhcykpOwpAQCAtOTQsNiArOTYsMTIgQEAg
RXZhc19PYmplY3QqIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KCkgY29uc3QKICAg
ICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQodmlldywgInN0YXR1c2Jhcix0ZXh0LHNl
dCIsIG9uU3RhdHVzYmFyVGV4dFNldCwgMCk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJh
Y2tfYWRkKHZpZXcsICJsb2FkLGRvY3VtZW50LGZpbmlzaGVkIiwgb25Eb2N1bWVudExvYWRGaW5p
c2hlZCwgMCk7CiAKKyAgICAvLyBMaXN0ZW4gZm9yIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxs
c2VuZCIgc2lnbmFsIGZyb20gdGhlIG1haW4gZnJhbWUgaW4gb3JkZXIgdG8KKyAgICAvLyBnZXQg
bm90aWZpZWQgd2hlbiBzdWItY29tcG9uZW50cyBhcmUgYWJvdXQgdG8gdGhlIHJlcXVlc3RlZC4K
KyAgICBFdmFzX09iamVjdCogbWFpbkZyYW1lID0gZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQodmll
dyk7CisgICAgaWYgKG1haW5GcmFtZSkKKyAgICAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJh
Y2tfYWRkKG1haW5GcmFtZSwgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBvbldpbGxTZW5k
UmVxdWVzdCwgMCk7CisKICAgICByZXR1cm4gdmlldzsKIH0KIApAQCAtMjgzLDMgKzI5MSwxOSBA
QCB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkRvY3VtZW50TG9hZEZpbmlzaGVkKHZvaWQq
LCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZQogICAgICAgICAgICAgcHJpbnRmKCIlcyAtIGhhcyAl
dSBvbnVubG9hZCBoYW5kbGVyKHMpXG4iLCBmcmFtZU5hbWUudXRmOCgpLmRhdGEoKSwgcGVuZGlu
Z0ZyYW1lVW5sb2FkRXZlbnRzKTsKICAgICB9CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJv
bWU6Om9uV2lsbFNlbmRSZXF1ZXN0KHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5m
bykKK3sKKyAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCogcmVxdWVzdCA9IHN0YXRpY19j
YXN0PEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0Kj4oZXZlbnRJbmZvKTsKKworICAgIEtVUkwg
dXJsID0gS1VSTChQYXJzZWRVUkxTdHJpbmcsIHJlcXVlc3QtPnVybCk7CisKKyAgICBpZiAodXJs
LmlzVmFsaWQoKQorICAgICAgICAmJiB1cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpCisgICAg
ICAgICYmIHVybC5ob3N0KCkgIT0gIjEyNy4wLjAuMSIKKyAgICAgICAgJiYgdXJsLmhvc3QoKSAh
PSAiMjU1LjI1NS4yNTUuMjU1IgorICAgICAgICAmJiB1cmwuaG9zdCgpLmxvd2VyKCkgIT0gImxv
Y2FsaG9zdCIpIHsKKyAgICAgICAgcHJpbnRmKCJCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBV
UkwgJXNcbiIsIHJlcXVlc3QtPnVybCk7CisgICAgICAgIHJlcXVlc3QtPnVybCA9IDA7CisgICAg
fQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVl
Q2hyb21lLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUu
aAppbmRleCA0ZWE5OTE4Li5lMTU2YjRkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaApAQCAtNzUsNiArNzUsOCBAQCBwcml2YXRlOgogICAg
IHN0YXRpYyB2b2lkIG9uVGl0bGVDaGFuZ2VkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsK
IAogICAgIHN0YXRpYyB2b2lkIG9uRG9jdW1lbnRMb2FkRmluaXNoZWQodm9pZCosIEV2YXNfT2Jq
ZWN0Kiwgdm9pZCopOworCisgICAgc3RhdGljIHZvaWQgb25XaWxsU2VuZFJlcXVlc3Qodm9pZCos
IEV2YXNfT2JqZWN0Kiwgdm9pZCopOwogfTsKIAogI2VuZGlmIC8vIER1bXBSZW5kZXJUcmVlQ2hy
b21lX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134293</attachid>
            <date>2012-03-28 07:46:08 -0700</date>
            <delta_ts>2012-03-29 00:05:22 -0700</delta_ts>
            <desc>Second patch proposal (listening for signal on the view)</desc>
            <filename>82192_will_send_b.patch</filename>
            <type>text/plain</type>
            <size>8296</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxN2QzY2QwLi45OTU2NzU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC01ODQsNiArNTg0LDIwIEBACiAKICAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CiAKKzIwMTIt
MDMtMjYgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKwor
ICAgICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIg
c2lnbmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MjE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVG
TCdzIERSVCBzaG91bGQgY2F0Y2ggdGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWdu
YWwKKyAgICAgICAgdG8gaW1wbGVtZW50IHRoZSAiQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwg
VVJMIiBiZWhhdmlvci4KKyAgICAgICAgVGhpcyBhbGxvd3MgZm9yIHNldmVyYWwgdGVzdHMgdG8g
YmUgcmVtb3ZlZCBmcm9tIHRoZSBza2lwCisgICAgICAgIGxpc3QuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9lZmwvU2tpcHBlZDoKKwogMjAxMi0wMy0yNiAgUGFibG8gRmxvdXJldCAgPHBhYmxvZkBt
b3Rvcm9sYS5jb20+CiAKICAgICAgICAgRml4IGZsYWt5IHRlc3QgZmFzdC9ldmVudHNvdXJjZS9l
dmVudHNvdXJjZS11cmwtYXR0cmlidXRlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5k
ZXggNzZlZGNkNi4uNTU0YWQ0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTgwMiwx
MiArODAyLDYgQEAgZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC10ZXh0LXBsYWluLmh0bWwKIGZhc3Qv
ZG9tL3RpdGxlLXRleHQtcHJvcGVydHkuaHRtbAogZmFzdC9kb20vdGl0bGUtdGV4dC1wcm9wZXJ0
eS0yLmh0bWwKIAotIyBFRkwncyBEUlQgKER1bXBSZW5kZXJUcmVlQ2hyb21lKSBuZWVkcyB0byBj
YXRjaCB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAotZmFzdC9ydWJ5L2Jl
Zm9yZS1ibG9jay1kb2VzbnQtY3Jhc2guaHRtbAotZmFzdC9ydWJ5L2JlZm9yZS10YWJsZS1kb2Vz
bnQtY3Jhc2guaHRtbAotZmFzdC9ydWJ5L2dlbmVyYXRlZC1iZWZvcmUtY291bnRlci1kb2VzbnQt
Y3Jhc2guaHRtbAotZmFzdC93b3JrZXJzL3dvcmtlci1jcmFzaC13aXRoLWludmFsaWQtbG9jYXRp
b24uaHRtbAotCiAjIE5lZWQgdG8gY2FsbCBTZXR0aW5nczo6c2V0SW50ZXJhY3RpdmVGb3JtVmFs
aWRhdGlvbkVuYWJsZWQodHJ1ZSkuCiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24t
cHJldmVudGVkLmh0bWwKIGZhc3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1hdHRhY2gt
YXNzZXJ0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcAppbmRleCA3MDZlZmYyLi42YWYxZDNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRFZmwuY3BwCkBAIC0xNjAsMjYgKzE2MCwxOSBAQCB2b2lkIEZyYW1lTG9hZGVy
Q2xpZW50RWZsOjpkaXNwYXRjaERpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvY3Vt
ZW50TG9hZAogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXJDbGll
bnRFZmw6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgY29yZVJlc3BvbnNlKQordm9pZCBGcmFtZUxvYWRlckNsaWVu
dEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIsIFJlc291cmNlUmVxdWVzdCYgY29yZVJlcXVlc3QsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIGNvcmVSZXNwb25zZSkKIHsKICAgICBDU3RyaW5nIHVybCA9IGNvcmVSZXF1
ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKTsKICAgICBEQkcoIlJlc291cmNlIHVybD0lcyIsIHVy
bC5kYXRhKCkpOwogCi0gICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsg
MCwgaWRlbnRpZmllciB9OworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVlc3Qg
PSB7IDAsIGlkZW50aWZpZXIsIG1fZnJhbWUgfTsKICAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVx
dWVzdCBvcmlnID0gcmVxdWVzdDsgLyogSW5pdGlhbGl6ZSBjb25zdCBmaWVsZHMuICovCiAKICAg
ICBvcmlnLnVybCA9IHJlcXVlc3QudXJsID0gdXJsLmRhdGEoKTsKIAogICAgIGV3a19mcmFtZV9y
ZXF1ZXN0X3dpbGxfc2VuZChtX2ZyYW1lLCAmcmVxdWVzdCk7CiAKLSAgICAvLyBXZSB3YW50IHRv
IGRpc3Rpbmd1aXNoIGJldHdlZW4gYSByZXF1ZXN0IGZvciBhIGRvY3VtZW50IHRvIGJlIGxvYWRl
ZCBpbnRvCi0gICAgLy8gdGhlIG1haW4gZnJhbWUsIGEgc3ViLWZyYW1lLCBvciB0aGUgc3ViLW9i
amVjdHMgaW4gdGhhdCBkb2N1bWVudCAodmlhIENocm9taXVtKS4KLSAgICBpZiAobG9hZGVyKSB7
Ci0gICAgICAgIGNvbnN0IEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlciA9IGxvYWRlci0+ZnJhbWVM
b2FkZXIoKTsKLSAgICAgICAgY29uc3QgYm9vbCBpc01haW5GcmFtZVJlcXVlc3QgPSAobG9hZGVy
ID09IGZyYW1lTG9hZGVyLT5wcm92aXNpb25hbERvY3VtZW50TG9hZGVyKCkgJiYgZnJhbWVMb2Fk
ZXItPmlzTG9hZGluZ01haW5GcmFtZSgpKTsKLSAgICAgICAgaWYgKGlzTWFpbkZyYW1lUmVxdWVz
dCkKLSAgICAgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAi
cmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIsICZyZXF1ZXN0KTsKLSAgICB9CisgICAgZXZhc19v
YmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChtX3ZpZXcsICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxz
ZW5kIiwgJnJlcXVlc3QpOwogCiAgICAgaWYgKHJlcXVlc3QudXJsICE9IG9yaWcudXJsKSB7CiAg
ICAgICAgIGNvcmVSZXF1ZXN0LnNldFVSTChLVVJMKEtVUkwoKSwgcmVxdWVzdC51cmwpKTsKQEAg
LTIwMSw3ICsxOTQsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlm
aWVyVG9Jbml0aWFsUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aQogICAgIENTdHJpbmcgdXJs
ID0gY29yZVJlcXVlc3QudXJsKCkuc3RyaW5nKCkudXRmOCgpOwogICAgIERCRygiUmVzb3VyY2Ug
dXJsPSVzIiwgdXJsLmRhdGEoKSk7CiAKLSAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCBy
ZXF1ZXN0ID0geyAwLCBpZGVudGlmaWVyIH07CisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVl
c3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciwgbV9mcmFtZSB9OwogICAgIGV3a19mcmFtZV9y
ZXF1ZXN0X2Fzc2lnbl9pZGVudGlmaWVyKG1fZnJhbWUsICZyZXF1ZXN0KTsKIH0KIApAQCAtMjk0
LDcgKzI4Nyw3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGVjaWRlUG9s
aWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihGcmFtZVBvbGljeUZ1CiAgICAgLy8gaWYgbm90IGFjY2Vw
dE5hdmlnYXRpb25SZXF1ZXN0IC0gbG9vayBhdCBRdCAtPiBQb2xpY3lJZ25vcmU7CiAgICAgLy8g
RklYTUU6IGRvIHByb3BlciBjaGVjayBhbmQgb25seSByZXNldCBmb3JtcyB3aGVuIG9uIFBvbGlj
eUlnbm9yZQogICAgIGNoYXIqIHVybCA9IHN0cmR1cChyZXNvdXJjZVJlcXVlc3QudXJsKCkuc3Ry
aW5nKCkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVx
dWVzdCA9IHsgdXJsLCAwIH07CisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVz
dCA9IHsgdXJsLCAwLCBtX2ZyYW1lIH07CiAgICAgYm9vbCByZXQgPSBld2tfdmlld19uYXZpZ2F0
aW9uX3BvbGljeV9kZWNpc2lvbihtX3ZpZXcsICZyZXF1ZXN0KTsKICAgICBmcmVlKHVybCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaAppbmRleCBmNzQ1NTVlLi4zZTA2ZmMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5oCkBAIC0xMDYsNiArMTA2LDcgQEAgdHlwZWRlZiBzdHJ1Y3Qg
X0V3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0Owog
c3RydWN0IF9Fd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCB7CiAgICAgY29uc3QgY2hhciAqdXJs
OyAvKio8IHVybCBvZiB0aGUgcmVzb3VyY2UgKi8KICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGlk
ZW50aWZpZXI7IC8qKjwgaWRlbnRpZmllciBvZiByZXNvdXJjZSwgY2FuIG5vdCBiZSBjaGFuZ2Vk
ICovCisgICAgRXZhc19PYmplY3QgKmZyYW1lOyAvKio8IGZyYW1lIHdoZXJlIHRoZSByZXNvdXJj
ZSBpcyByZXF1ZXN0ZWQgKi8KIH07CiAKIC8vLyBFbnVtIGNvbnRhaW5pbmcgaGl0IHRlc3QgZGF0
YSB0eXBlcwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGM1M2NmYTQuLmE1OTJhOWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTI1OSw2ICsyNTksMjQgQEAKICAgICAgICAgKiBTY3JpcHRzL3J1
bi1ndGstdGVzdHM6CiAgICAgICAgIChUZXN0UnVubmVyKTogUmVzZXQgdGhlIGxpc3Qgb2Ygc2tp
cHBlZCB0ZXN0cy4KIAorMjAxMi0wMy0yNiAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUu
ZHVtZXpAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdW0RSVF0gQ2F0Y2ggdGhlICJyZXNvdXJj
ZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgyMTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRUZMJ3MgRFJUIHNob3VsZCBjYXRjaCB0aGUgInJlc291cmNlLHJl
cXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAorICAgICAgICB0byBpbXBsZW1lbnQgdGhlICJCbG9ja2Vk
IGFjY2VzcyB0byBleHRlcm5hbCBVUkwiIGJlaGF2aW9yLgorICAgICAgICBUaGlzIGFsbG93cyBm
b3Igc2V2ZXJhbCB0ZXN0cyB0byBiZSByZW1vdmVkIGZyb20gdGhlIHNraXAKKyAgICAgICAgbGlz
dC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5j
cHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlVmlldyk6CisgICAgICAg
IChEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25SZXNvdXJjZVRvQmVMb2FkZWQpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oOgorICAgICAgICAoRHVt
cFJlbmRlclRyZWVDaHJvbWUpOgorCiAyMDEyLTAzLTI2ICBTY290dCBCeWVyICA8c2NvdHRieWVy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBFbmFibGUgbGF5b3V0IHRlc3Rpbmcgb2YgdGhlIHNj
cm9sbCBhbmltYXRvci4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1w
UmVuZGVyVHJlZUNocm9tZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRl
clRyZWVDaHJvbWUuY3BwCmluZGV4IDJmNTQyOGUuLjE3NmMzOGEgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcApAQCAtNDUsNiArNDUs
OCBAQAogI2luY2x1ZGUgPGNzdGRpbz4KICNpbmNsdWRlIDx3dGYvTm90Rm91bmQuaD4KIAordXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKIFBhc3NPd25QdHI8RHVtcFJlbmRlclRyZWVDaHJvbWU+
IER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGUoRXZhcyogZXZhcykKIHsKICAgICBPd25QdHI8
RHVtcFJlbmRlclRyZWVDaHJvbWU+IGNocm9tZSA9IGFkb3B0UHRyKG5ldyBEdW1wUmVuZGVyVHJl
ZUNocm9tZShldmFzKSk7CkBAIC05Myw2ICs5NSw3IEBAIEV2YXNfT2JqZWN0KiBEdW1wUmVuZGVy
VHJlZUNocm9tZTo6Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2Fs
bGJhY2tfYWRkKHZpZXcsICJ3aW5kb3csb2JqZWN0LGNsZWFyZWQiLCBvbldpbmRvd09iamVjdENs
ZWFyZWQsIG1fZ2NDb250cm9sbGVyLmdldCgpKTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19hZGQodmlldywgInN0YXR1c2Jhcix0ZXh0LHNldCIsIG9uU3RhdHVzYmFyVGV4dFNldCwg
MCk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJsb2FkLGRvY3Vt
ZW50LGZpbmlzaGVkIiwgb25Eb2N1bWVudExvYWRGaW5pc2hlZCwgMCk7CisgICAgZXZhc19vYmpl
Y3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiwg
b25XaWxsU2VuZFJlcXVlc3QsIDApOwogCiAgICAgcmV0dXJuIHZpZXc7CiB9CkBAIC0yODMsMyAr
Mjg2LDIwIEBAIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uRG9jdW1lbnRMb2FkRmluaXNo
ZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCogZXZlCiAgICAgICAgICAgICBwcmludGYoIiVz
IC0gaGFzICV1IG9udW5sb2FkIGhhbmRsZXIocylcbiIsIGZyYW1lTmFtZS51dGY4KCkuZGF0YSgp
LCBwZW5kaW5nRnJhbWVVbmxvYWRFdmVudHMpOwogICAgIH0KIH0KKwordm9pZCBEdW1wUmVuZGVy
VHJlZUNocm9tZTo6b25XaWxsU2VuZFJlcXVlc3Qodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCog
ZXZlbnRJbmZvKQoreworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0KiByZXF1ZXN0ID0g
c3RhdGljX2Nhc3Q8RXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QqPihldmVudEluZm8pOworCisg
ICAgS1VSTCB1cmwgPSBLVVJMKFBhcnNlZFVSTFN0cmluZywgcmVxdWVzdC0+dXJsKTsKKworICAg
IGlmICh1cmwuaXNWYWxpZCgpCisgICAgICAgICYmIHVybC5wcm90b2NvbElzSW5IVFRQRmFtaWx5
KCkKKyAgICAgICAgJiYgdXJsLmhvc3QoKSAhPSAiMTI3LjAuMC4xIgorICAgICAgICAmJiB1cmwu
aG9zdCgpICE9ICIyNTUuMjU1LjI1NS4yNTUiCisgICAgICAgICYmIHVybC5ob3N0KCkubG93ZXIo
KSAhPSAibG9jYWxob3N0IikgeworICAgICAgICBwcmludGYoIkJsb2NrZWQgYWNjZXNzIHRvIGV4
dGVybmFsIFVSTCAlc1xuIiwgcmVxdWVzdC0+dXJsKTsKKyAgICAgICAgcmVxdWVzdC0+dXJsID0g
MDsKKyAgICAgICAgcmV0dXJuOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
ZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgKaW5kZXggNGVhOTkxOC4uZTE1NmI0ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgKQEAgLTc1
LDYgKzc1LDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBvblRpdGxlQ2hhbmdlZCh2b2lk
KiwgRXZhc19PYmplY3QqLCB2b2lkKik7CiAKICAgICBzdGF0aWMgdm9pZCBvbkRvY3VtZW50TG9h
ZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKKworICAgIHN0YXRpYyB2b2lk
IG9uV2lsbFNlbmRSZXF1ZXN0KHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKIH07CiAKICNl
bmRpZiAvLyBEdW1wUmVuZGVyVHJlZUNocm9tZV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134512</attachid>
            <date>2012-03-29 00:05:22 -0700</date>
            <delta_ts>2012-03-29 01:20:01 -0700</delta_ts>
            <desc>Second patch proposal (listening for signal on the view)</desc>
            <filename>82192_will_send_b.patch</filename>
            <type>text/plain</type>
            <size>9182</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxN2QzY2QwLi5iODc0YzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDMt
MjkgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2ln
bmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVGTCdz
IERSVCBzaG91bGQgY2F0Y2ggdGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwg
dG8gCisgICAgICAgIGltcGxlbWVudCB0aGUgIkJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVS
TCIgYmVoYXZpb3IuIFRoaXMKKyAgICAgICAgYWxsb3dzIGZvciBzZXZlcmFsIHRlc3RzIHRvIGJl
IHJlbW92ZWQgZnJvbSB0aGUgc2tpcCBsaXN0LgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Nr
aXBwZWQ6CisKIDIwMTItMDMtMjggIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBbUXRdIFJFR1JFU1NJT04ocjExMTQ4MCk6IEl0IG1hZGUgc3ZnL2FzLWlt
YWdlIHRlc3RzIGFzc2VydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAppbmRleCA3NmVkY2Q2Li41
NTRhZDQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZApAQCAtODAyLDEyICs4MDIsNiBAQCBm
YXN0L2Zvcm1zL21haWx0by9wb3N0LXRleHQtcGxhaW4uaHRtbAogZmFzdC9kb20vdGl0bGUtdGV4
dC1wcm9wZXJ0eS5odG1sCiBmYXN0L2RvbS90aXRsZS10ZXh0LXByb3BlcnR5LTIuaHRtbAogCi0j
IEVGTCdzIERSVCAoRHVtcFJlbmRlclRyZWVDaHJvbWUpIG5lZWRzIHRvIGNhdGNoIHRoZSAicmVz
b3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2lnbmFsCi1mYXN0L3J1YnkvYmVmb3JlLWJsb2NrLWRv
ZXNudC1jcmFzaC5odG1sCi1mYXN0L3J1YnkvYmVmb3JlLXRhYmxlLWRvZXNudC1jcmFzaC5odG1s
Ci1mYXN0L3J1YnkvZ2VuZXJhdGVkLWJlZm9yZS1jb3VudGVyLWRvZXNudC1jcmFzaC5odG1sCi1m
YXN0L3dvcmtlcnMvd29ya2VyLWNyYXNoLXdpdGgtaW52YWxpZC1sb2NhdGlvbi5odG1sCi0KICMg
TmVlZCB0byBjYWxsIFNldHRpbmdzOjpzZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxl
ZCh0cnVlKS4KIGZhc3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1wcmV2ZW50ZWQuaHRt
bAogZmFzdC9mb3Jtcy9pbnRlcmFjdGl2ZS12YWxpZGF0aW9uLWF0dGFjaC1hc3NlcnRpb24uaHRt
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCmluZGV4IDgzNmM3ZGQuLjAwZjkwODggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMCBAQAorMjAxMi0wMy0yOSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9w
aGUuZHVtZXpAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdW0RSVF0gQ2F0Y2ggdGhlICJyZXNv
dXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgyMTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRUZMJ3MgRFJUIHNob3VsZCBjYXRjaCB0aGUgInJlc291cmNl
LHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbCB0byAKKyAgICAgICAgaW1wbGVtZW50IHRoZSAiQmxv
Y2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIiBiZWhhdmlvci4gVGhpcyBhbGxvd3MKKyAgICAg
ICAgZm9yIHNldmVyYWwgdGVzdHMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBza2lwIGxpc3QuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVl
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmFzc2lnbklkZW50
aWZpZXJUb0luaXRpYWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xp
ZW50RWZsOjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgorICAgICAg
ICAqIGV3ay9ld2tfZnJhbWUuaDoKKwogMjAxMi0wMy0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIEltcGxlbWVudCBtaXNzaW5n
IG1ldGhvZHMgaW4gQ29va2llSmFyU291cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IDcwNmVmZjIu
LjZhZjFkM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTE2MCwyNiArMTYwLDE5IEBAIHZvaWQg
RnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkQ2FuY2VsQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UoRG9jdW1lbnRMb2FkCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBGcmFt
ZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIq
IGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBSZXNvdXJjZVJlcXVlc3QmIGNvcmVS
ZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBjb3JlUmVzcG9uc2UpCit2b2lkIEZyYW1l
TG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlcios
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgY29yZVJlc3BvbnNlKQogewogICAgIENTdHJpbmcgdXJs
ID0gY29yZVJlcXVlc3QudXJsKCkuc3RyaW5nKCkudXRmOCgpOwogICAgIERCRygiUmVzb3VyY2Ug
dXJsPSVzIiwgdXJsLmRhdGEoKSk7CiAKLSAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCBy
ZXF1ZXN0ID0geyAwLCBpZGVudGlmaWVyIH07CisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVl
c3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciwgbV9mcmFtZSB9OwogICAgIEV3a19GcmFtZV9S
ZXNvdXJjZV9SZXF1ZXN0IG9yaWcgPSByZXF1ZXN0OyAvKiBJbml0aWFsaXplIGNvbnN0IGZpZWxk
cy4gKi8KIAogICAgIG9yaWcudXJsID0gcmVxdWVzdC51cmwgPSB1cmwuZGF0YSgpOwogCiAgICAg
ZXdrX2ZyYW1lX3JlcXVlc3Rfd2lsbF9zZW5kKG1fZnJhbWUsICZyZXF1ZXN0KTsKIAotICAgIC8v
IFdlIHdhbnQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBhIHJlcXVlc3QgZm9yIGEgZG9jdW1lbnQg
dG8gYmUgbG9hZGVkIGludG8KLSAgICAvLyB0aGUgbWFpbiBmcmFtZSwgYSBzdWItZnJhbWUsIG9y
IHRoZSBzdWItb2JqZWN0cyBpbiB0aGF0IGRvY3VtZW50ICh2aWEgQ2hyb21pdW0pLgotICAgIGlm
IChsb2FkZXIpIHsKLSAgICAgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9h
ZGVyLT5mcmFtZUxvYWRlcigpOwotICAgICAgICBjb25zdCBib29sIGlzTWFpbkZyYW1lUmVxdWVz
dCA9IChsb2FkZXIgPT0gZnJhbWVMb2FkZXItPnByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIoKSAm
JiBmcmFtZUxvYWRlci0+aXNMb2FkaW5nTWFpbkZyYW1lKCkpOwotICAgICAgICBpZiAoaXNNYWlu
RnJhbWVSZXF1ZXN0KQotICAgICAgICAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2Fs
bChtX3ZpZXcsICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiwgJnJlcXVlc3QpOwotICAgIH0K
KyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1fdmlldywgInJlc291cmNlLHJl
cXVlc3Qsd2lsbHNlbmQiLCAmcmVxdWVzdCk7CiAKICAgICBpZiAocmVxdWVzdC51cmwgIT0gb3Jp
Zy51cmwpIHsKICAgICAgICAgY29yZVJlcXVlc3Quc2V0VVJMKEtVUkwoS1VSTCgpLCByZXF1ZXN0
LnVybCkpOwpAQCAtMjAxLDcgKzE5NCw3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmFz
c2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpCiAgICAg
Q1N0cmluZyB1cmwgPSBjb3JlUmVxdWVzdC51cmwoKS5zdHJpbmcoKS51dGY4KCk7CiAgICAgREJH
KCJSZXNvdXJjZSB1cmw9JXMiLCB1cmwuZGF0YSgpKTsKIAotICAgIEV3a19GcmFtZV9SZXNvdXJj
ZV9SZXF1ZXN0IHJlcXVlc3QgPSB7IDAsIGlkZW50aWZpZXIgfTsKKyAgICBFd2tfRnJhbWVfUmVz
b3VyY2VfUmVxdWVzdCByZXF1ZXN0ID0geyAwLCBpZGVudGlmaWVyLCBtX2ZyYW1lIH07CiAgICAg
ZXdrX2ZyYW1lX3JlcXVlc3RfYXNzaWduX2lkZW50aWZpZXIobV9mcmFtZSwgJnJlcXVlc3QpOwog
fQogCkBAIC0yOTQsNyArMjg3LDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0
Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9saWN5RnUKICAgICAvLyBp
ZiBub3QgYWNjZXB0TmF2aWdhdGlvblJlcXVlc3QgLSBsb29rIGF0IFF0IC0+IFBvbGljeUlnbm9y
ZTsKICAgICAvLyBGSVhNRTogZG8gcHJvcGVyIGNoZWNrIGFuZCBvbmx5IHJlc2V0IGZvcm1zIHdo
ZW4gb24gUG9saWN5SWdub3JlCiAgICAgY2hhciogdXJsID0gc3RyZHVwKHJlc291cmNlUmVxdWVz
dC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFd2tfRnJhbWVfUmVzb3VyY2Vf
UmVxdWVzdCByZXF1ZXN0ID0geyB1cmwsIDAgfTsKKyAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVx
dWVzdCByZXF1ZXN0ID0geyB1cmwsIDAsIG1fZnJhbWUgfTsKICAgICBib29sIHJldCA9IGV3a192
aWV3X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKG1fdmlldywgJnJlcXVlc3QpOwogICAgIGZy
ZWUodXJsKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5o
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCmluZGV4IGY3NDU1NWUuLjNlMDZm
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKQEAgLTEwNiw2ICsxMDYsNyBAQCB0eXBl
ZGVmIHN0cnVjdCBfRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgRXdrX0ZyYW1lX1Jlc291cmNl
X1JlcXVlc3Q7CiBzdHJ1Y3QgX0V3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHsKICAgICBjb25z
dCBjaGFyICp1cmw7IC8qKjwgdXJsIG9mIHRoZSByZXNvdXJjZSAqLwogICAgIGNvbnN0IHVuc2ln
bmVkIGxvbmcgaWRlbnRpZmllcjsgLyoqPCBpZGVudGlmaWVyIG9mIHJlc291cmNlLCBjYW4gbm90
IGJlIGNoYW5nZWQgKi8KKyAgICBFdmFzX09iamVjdCAqZnJhbWU7IC8qKjwgZnJhbWUgd2hlcmUg
dGhlIHJlc291cmNlIGlzIHJlcXVlc3RlZCAqLwogfTsKIAogLy8vIEVudW0gY29udGFpbmluZyBo
aXQgdGVzdCBkYXRhIHR5cGVzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggYzUzY2ZhNC4uZTZhNWM2OSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAzLTI5ICBD
aHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CisKKyAgICAgICAg
W0VGTF1bRFJUXSBDYXRjaCB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIxOTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFRkwncyBEUlQg
c2hvdWxkIGNhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2lnbmFsIHRvCisg
ICAgICAgIGltcGxlbWVudCB0aGUgIkJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCIgYmVo
YXZpb3IuIFRoaXMgYWxsb3dzCisgICAgICAgIGZvciBzZXZlcmFsIHRlc3RzIHRvIGJlIHJlbW92
ZWQgZnJvbSB0aGUgc2tpcCBsaXN0LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0R1
bXBSZW5kZXJUcmVlQ2hyb21lLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpj
cmVhdGVWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbldpbGxTZW5kUmVx
dWVzdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21l
Lmg6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZUNocm9tZSk6CisKIDIwMTItMDMtMjggIEhhbyBa
aGVuZyAgPHpoZW5naGFvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNYWtlIENocm9taXVtIHBv
cnQgZm9yIEFuZHJvaWQgdXNlIGhhcmR3YXJlIGdwdSBwYXRoIGRlZmF1bHQuCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAppbmRleCAyZjU0
MjhlLi4xNzZjMzhhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJl
bmRlclRyZWVDaHJvbWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVu
ZGVyVHJlZUNocm9tZS5jcHAKQEAgLTQ1LDYgKzQ1LDggQEAKICNpbmNsdWRlIDxjc3RkaW8+CiAj
aW5jbHVkZSA8d3RmL05vdEZvdW5kLmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCiBQ
YXNzT3duUHRyPER1bXBSZW5kZXJUcmVlQ2hyb21lPiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3Jl
YXRlKEV2YXMqIGV2YXMpCiB7CiAgICAgT3duUHRyPER1bXBSZW5kZXJUcmVlQ2hyb21lPiBjaHJv
bWUgPSBhZG9wdFB0cihuZXcgRHVtcFJlbmRlclRyZWVDaHJvbWUoZXZhcykpOwpAQCAtOTMsNiAr
OTUsNyBAQCBFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNyZWF0ZVZpZXcoKSBj
b25zdAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAid2luZG93LG9i
amVjdCxjbGVhcmVkIiwgb25XaW5kb3dPYmplY3RDbGVhcmVkLCBtX2djQ29udHJvbGxlci5nZXQo
KSk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJzdGF0dXNiYXIs
dGV4dCxzZXQiLCBvblN0YXR1c2JhclRleHRTZXQsIDApOwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0
X2NhbGxiYWNrX2FkZCh2aWV3LCAibG9hZCxkb2N1bWVudCxmaW5pc2hlZCIsIG9uRG9jdW1lbnRM
b2FkRmluaXNoZWQsIDApOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3
LCAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIsIG9uV2lsbFNlbmRSZXF1ZXN0LCAwKTsKIAog
ICAgIHJldHVybiB2aWV3OwogfQpAQCAtMjgzLDMgKzI4NiwyMCBAQCB2b2lkIER1bXBSZW5kZXJU
cmVlQ2hyb21lOjpvbkRvY3VtZW50TG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZv
aWQqIGV2ZQogICAgICAgICAgICAgcHJpbnRmKCIlcyAtIGhhcyAldSBvbnVubG9hZCBoYW5kbGVy
KHMpXG4iLCBmcmFtZU5hbWUudXRmOCgpLmRhdGEoKSwgcGVuZGluZ0ZyYW1lVW5sb2FkRXZlbnRz
KTsKICAgICB9CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uV2lsbFNlbmRSZXF1
ZXN0KHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5mbykKK3sKKyAgICBFd2tfRnJh
bWVfUmVzb3VyY2VfUmVxdWVzdCogcmVxdWVzdCA9IHN0YXRpY19jYXN0PEV3a19GcmFtZV9SZXNv
dXJjZV9SZXF1ZXN0Kj4oZXZlbnRJbmZvKTsKKworICAgIEtVUkwgdXJsID0gS1VSTChQYXJzZWRV
UkxTdHJpbmcsIHJlcXVlc3QtPnVybCk7CisKKyAgICBpZiAodXJsLmlzVmFsaWQoKQorICAgICAg
ICAmJiB1cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpCisgICAgICAgICYmIHVybC5ob3N0KCkg
IT0gIjEyNy4wLjAuMSIKKyAgICAgICAgJiYgdXJsLmhvc3QoKSAhPSAiMjU1LjI1NS4yNTUuMjU1
IgorICAgICAgICAmJiB1cmwuaG9zdCgpLmxvd2VyKCkgIT0gImxvY2FsaG9zdCIpIHsKKyAgICAg
ICAgcHJpbnRmKCJCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgJXNcbiIsIHJlcXVlc3Qt
PnVybCk7CisgICAgICAgIHJlcXVlc3QtPnVybCA9IDA7CisgICAgICAgIHJldHVybjsKKyAgICB9
Cit9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5o
CmluZGV4IDRlYTk5MTguLmUxNTZiNGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCkBAIC03NSw2ICs3NSw4IEBAIHByaXZhdGU6CiAgICAg
c3RhdGljIHZvaWQgb25UaXRsZUNoYW5nZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwog
CiAgICAgc3RhdGljIHZvaWQgb25Eb2N1bWVudExvYWRGaW5pc2hlZCh2b2lkKiwgRXZhc19PYmpl
Y3QqLCB2b2lkKik7CisKKyAgICBzdGF0aWMgdm9pZCBvbldpbGxTZW5kUmVxdWVzdCh2b2lkKiwg
RXZhc19PYmplY3QqLCB2b2lkKik7CiB9OwogCiAjZW5kaWYgLy8gRHVtcFJlbmRlclRyZWVDaHJv
bWVfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134521</attachid>
            <date>2012-03-29 01:20:01 -0700</date>
            <delta_ts>2012-04-03 03:01:49 -0700</delta_ts>
            <desc>Second patch proposal (listening for signal on the view)</desc>
            <filename>82192_will_send_b.patch</filename>
            <type>text/plain</type>
            <size>10084</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxN2QzY2QwLi4yNzA4ZjZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDMt
MjkgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2ln
bmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVGTCdz
IERSVCBzaG91bGQgY2F0Y2ggdGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwg
dG8KKyAgICAgICAgaW1wbGVtZW50IHRoZSAiQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IiBiZWhhdmlvci4gVGhpcworICAgICAgICBhbGxvd3MgZm9yIHNldmVyYWwgdGVzdHMgdG8gYmUg
cmVtb3ZlZCBmcm9tIHRoZSBza2lwIGxpc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tp
cHBlZDoKKwogMjAxMi0wMy0yOCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF0gUkVHUkVTU0lPTihyMTExNDgwKTogSXQgbWFkZSBzdmcvYXMtaW1h
Z2UgdGVzdHMgYXNzZXJ0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tp
cHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4IDc2ZWRjZDYuLjU1
NGFkNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBAIC04MDIsMTIgKzgwMiw2IEBAIGZh
c3QvZm9ybXMvbWFpbHRvL3Bvc3QtdGV4dC1wbGFpbi5odG1sCiBmYXN0L2RvbS90aXRsZS10ZXh0
LXByb3BlcnR5Lmh0bWwKIGZhc3QvZG9tL3RpdGxlLXRleHQtcHJvcGVydHktMi5odG1sCiAKLSMg
RUZMJ3MgRFJUIChEdW1wUmVuZGVyVHJlZUNocm9tZSkgbmVlZHMgdG8gY2F0Y2ggdGhlICJyZXNv
dXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwKLWZhc3QvcnVieS9iZWZvcmUtYmxvY2stZG9l
c250LWNyYXNoLmh0bWwKLWZhc3QvcnVieS9iZWZvcmUtdGFibGUtZG9lc250LWNyYXNoLmh0bWwK
LWZhc3QvcnVieS9nZW5lcmF0ZWQtYmVmb3JlLWNvdW50ZXItZG9lc250LWNyYXNoLmh0bWwKLWZh
c3Qvd29ya2Vycy93b3JrZXItY3Jhc2gtd2l0aC1pbnZhbGlkLWxvY2F0aW9uLmh0bWwKLQogIyBO
ZWVkIHRvIGNhbGwgU2V0dGluZ3M6OnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVk
KHRydWUpLgogZmFzdC9mb3Jtcy9pbnRlcmFjdGl2ZS12YWxpZGF0aW9uLXByZXZlbnRlZC5odG1s
CiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24tYXR0YWNoLWFzc2VydGlvbi5odG1s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9DaGFuZ2VMb2cKaW5kZXggODM2YzdkZC4uYmUxZWRjYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTI5ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3Bo
ZS5kdW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF1bRFJUXSBDYXRjaCB0aGUgInJlc291
cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIxOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBFRkwncyBEUlQgc2hvdWxkIGNhdGNoIHRoZSAicmVzb3VyY2Us
cmVxdWVzdCx3aWxsc2VuZCIgc2lnbmFsIHRvCisgICAgICAgIGltcGxlbWVudCB0aGUgIkJsb2Nr
ZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCIgYmVoYXZpb3IuIFRoaXMKKyAgICAgICAgYWxsb3dz
IGZvciBzZXZlcmFsIHRlc3RzIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgc2tpcCBsaXN0LgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlm
aWVyVG9Jbml0aWFsUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVu
dEVmbDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAg
KiBld2svZXdrX2ZyYW1lLmg6CisgICAgICAgICogZXdrL2V3a192aWV3Lmg6CisKIDIwMTItMDMt
MjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtTT1VQXSBJbXBsZW1lbnQgbWlzc2luZyBtZXRob2RzIGluIENvb2tpZUphclNvdXAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50RWZsLmNwcAppbmRleCA3MDZlZmYyLi42YWYxZDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCkBA
IC0xNjAsMjYgKzE2MCwxOSBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERp
ZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvY3VtZW50TG9hZAogICAgIG5vdEltcGxl
bWVudGVkKCk7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbFNl
bmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
Y29yZVJlc3BvbnNlKQordm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2Vu
ZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIFJlc291
cmNlUmVxdWVzdCYgY29yZVJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGNvcmVSZXNw
b25zZSkKIHsKICAgICBDU3RyaW5nIHVybCA9IGNvcmVSZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0
ZjgoKTsKICAgICBEQkcoIlJlc291cmNlIHVybD0lcyIsIHVybC5kYXRhKCkpOwogCi0gICAgRXdr
X0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciB9OworICAg
IEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVlc3QgPSB7IDAsIGlkZW50aWZpZXIsIG1f
ZnJhbWUgfTsKICAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCBvcmlnID0gcmVxdWVzdDsg
LyogSW5pdGlhbGl6ZSBjb25zdCBmaWVsZHMuICovCiAKICAgICBvcmlnLnVybCA9IHJlcXVlc3Qu
dXJsID0gdXJsLmRhdGEoKTsKIAogICAgIGV3a19mcmFtZV9yZXF1ZXN0X3dpbGxfc2VuZChtX2Zy
YW1lLCAmcmVxdWVzdCk7CiAKLSAgICAvLyBXZSB3YW50IHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4g
YSByZXF1ZXN0IGZvciBhIGRvY3VtZW50IHRvIGJlIGxvYWRlZCBpbnRvCi0gICAgLy8gdGhlIG1h
aW4gZnJhbWUsIGEgc3ViLWZyYW1lLCBvciB0aGUgc3ViLW9iamVjdHMgaW4gdGhhdCBkb2N1bWVu
dCAodmlhIENocm9taXVtKS4KLSAgICBpZiAobG9hZGVyKSB7Ci0gICAgICAgIGNvbnN0IEZyYW1l
TG9hZGVyKiBmcmFtZUxvYWRlciA9IGxvYWRlci0+ZnJhbWVMb2FkZXIoKTsKLSAgICAgICAgY29u
c3QgYm9vbCBpc01haW5GcmFtZVJlcXVlc3QgPSAobG9hZGVyID09IGZyYW1lTG9hZGVyLT5wcm92
aXNpb25hbERvY3VtZW50TG9hZGVyKCkgJiYgZnJhbWVMb2FkZXItPmlzTG9hZGluZ01haW5GcmFt
ZSgpKTsKLSAgICAgICAgaWYgKGlzTWFpbkZyYW1lUmVxdWVzdCkKLSAgICAgICAgICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAicmVzb3VyY2UscmVxdWVzdCx3aWxs
c2VuZCIsICZyZXF1ZXN0KTsKLSAgICB9CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tf
Y2FsbChtX3ZpZXcsICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiwgJnJlcXVlc3QpOwogCiAg
ICAgaWYgKHJlcXVlc3QudXJsICE9IG9yaWcudXJsKSB7CiAgICAgICAgIGNvcmVSZXF1ZXN0LnNl
dFVSTChLVVJMKEtVUkwoKSwgcmVxdWVzdC51cmwpKTsKQEAgLTIwMSw3ICsxOTQsNyBAQCB2b2lk
IEZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdCh1
bnNpZ25lZCBsb25nIGlkZW50aQogICAgIENTdHJpbmcgdXJsID0gY29yZVJlcXVlc3QudXJsKCku
c3RyaW5nKCkudXRmOCgpOwogICAgIERCRygiUmVzb3VyY2UgdXJsPSVzIiwgdXJsLmRhdGEoKSk7
CiAKLSAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCByZXF1ZXN0ID0geyAwLCBpZGVudGlm
aWVyIH07CisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRl
bnRpZmllciwgbV9mcmFtZSB9OwogICAgIGV3a19mcmFtZV9yZXF1ZXN0X2Fzc2lnbl9pZGVudGlm
aWVyKG1fZnJhbWUsICZyZXF1ZXN0KTsKIH0KIApAQCAtMjk0LDcgKzI4Nyw3IEBAIHZvaWQgRnJh
bWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlv
bihGcmFtZVBvbGljeUZ1CiAgICAgLy8gaWYgbm90IGFjY2VwdE5hdmlnYXRpb25SZXF1ZXN0IC0g
bG9vayBhdCBRdCAtPiBQb2xpY3lJZ25vcmU7CiAgICAgLy8gRklYTUU6IGRvIHByb3BlciBjaGVj
ayBhbmQgb25seSByZXNldCBmb3JtcyB3aGVuIG9uIFBvbGljeUlnbm9yZQogICAgIGNoYXIqIHVy
bCA9IHN0cmR1cChyZXNvdXJjZVJlcXVlc3QudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7
Ci0gICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgdXJsLCAwIH07Cisg
ICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgdXJsLCAwLCBtX2ZyYW1l
IH07CiAgICAgYm9vbCByZXQgPSBld2tfdmlld19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbiht
X3ZpZXcsICZyZXF1ZXN0KTsKICAgICBmcmVlKHVybCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJh
bWUuaAppbmRleCBmNzQ1NTVlLi4zZTA2ZmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX2ZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5o
CkBAIC0xMDYsNiArMTA2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX0V3a19GcmFtZV9SZXNvdXJjZV9S
ZXF1ZXN0IEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0Owogc3RydWN0IF9Fd2tfRnJhbWVfUmVz
b3VyY2VfUmVxdWVzdCB7CiAgICAgY29uc3QgY2hhciAqdXJsOyAvKio8IHVybCBvZiB0aGUgcmVz
b3VyY2UgKi8KICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXI7IC8qKjwgaWRlbnRp
ZmllciBvZiByZXNvdXJjZSwgY2FuIG5vdCBiZSBjaGFuZ2VkICovCisgICAgRXZhc19PYmplY3Qg
KmZyYW1lOyAvKio8IGZyYW1lIHdoZXJlIHRoZSByZXNvdXJjZSBpcyByZXF1ZXN0ZWQgKi8KIH07
CiAKIC8vLyBFbnVtIGNvbnRhaW5pbmcgaGl0IHRlc3QgZGF0YSB0eXBlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuaAppbmRleCAxYzUzMzM1Li4wZDEwNzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuaApAQCAtNjEsNyArNjEsOCBAQAogICogIC0gIm1peGVkY29udGVudCxkaXNwbGF5ZWQiLCB2
b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIGRpc3BsYXll
ZCBtaXhlZCBjb250ZW50LgogICogIC0gIm1peGVkY29udGVudCxydW4iLCB2b2lkOiBhbnkgb2Yg
dGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBjb250ZW50Lgog
ICogIC0gInJlYWR5Iiwgdm9pZDogcGFnZSBpcyBmdWxseSBsb2FkZWQuCi0gKiAgLSAicmVzb3Vy
Y2UscmVxdWVzdCx3aWxsc2VuZCIsIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0KjogdGhlIG5l
dHdvcmsgcmVxdWVzdCBmb3IgdGhlIG1haW4gZnJhbWUgd2lsbCBiZSBzZW50LgorICogIC0gInJl
c291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCo6IGEg
cmVzb3VyY2Ugd2lsbAorICogICAgYmUgcmVxdWVzdGVkLgogICogIC0gInNjcm9sbGJhcnMsdmlz
aWJsZSxnZXQiLCBFaW5hX0Jvb2wgKjogZXhwZWN0cyBhIEBjIEVJTkFfVFJVRSBpZiBzY3JvbGxi
YXJzCiAgKiAgICBhcmUgdmlzaWJsZTsgQGMgRUlOQV9GQUxTRSwgb3RoZXJ3aXNlLgogICogIC0g
InNjcm9sbGJhcnMsdmlzaWJsZSxzZXQiLCBFaW5hX0Jvb2w6IHNldHMgc2Nyb2xsYmFycyB2aXNp
YmlsaXR5LgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGM1M2NmYTQuLjU3YTBlZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wMy0yOSAgQ2hyaXN0b3BoZSBE
dW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdW0RSVF0g
Q2F0Y2ggdGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyMTkyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRUZMJ3MgRFJUIHNob3VsZCBjYXRj
aCB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbCB0bworICAgICAgICBpbXBs
ZW1lbnQgdGhlICJCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwiIGJlaGF2aW9yLiBUaGlz
CisgICAgICAgIGFsbG93cyBmb3Igc2V2ZXJhbCB0ZXN0cyB0byBiZSByZW1vdmVkIGZyb20gdGhl
IHNraXAgbGlzdC4gCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRy
ZWVDaHJvbWUuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNyZWF0ZVZpZXcp
OgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uV2lsbFNlbmRSZXF1ZXN0KToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaDoKKyAgICAg
ICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lKToKKwogMjAxMi0wMy0yOCAgSGFvIFpoZW5nICA8emhl
bmdoYW9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE1ha2UgQ2hyb21pdW0gcG9ydCBmb3IgQW5k
cm9pZCB1c2UgaGFyZHdhcmUgZ3B1IHBhdGggZGVmYXVsdC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCmluZGV4IDJmNTQyOGUuLjE3NmMz
OGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNo
cm9tZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hy
b21lLmNwcApAQCAtNDUsNiArNDUsOCBAQAogI2luY2x1ZGUgPGNzdGRpbz4KICNpbmNsdWRlIDx3
dGYvTm90Rm91bmQuaD4KIAordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKIFBhc3NPd25QdHI8
RHVtcFJlbmRlclRyZWVDaHJvbWU+IER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGUoRXZhcyog
ZXZhcykKIHsKICAgICBPd25QdHI8RHVtcFJlbmRlclRyZWVDaHJvbWU+IGNocm9tZSA9IGFkb3B0
UHRyKG5ldyBEdW1wUmVuZGVyVHJlZUNocm9tZShldmFzKSk7CkBAIC05Myw2ICs5NSw3IEBAIEV2
YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlVmlldygpIGNvbnN0CiAgICAg
ZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJ3aW5kb3csb2JqZWN0LGNsZWFy
ZWQiLCBvbldpbmRvd09iamVjdENsZWFyZWQsIG1fZ2NDb250cm9sbGVyLmdldCgpKTsKICAgICBl
dmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQodmlldywgInN0YXR1c2Jhcix0ZXh0LHNldCIs
IG9uU3RhdHVzYmFyVGV4dFNldCwgMCk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tf
YWRkKHZpZXcsICJsb2FkLGRvY3VtZW50LGZpbmlzaGVkIiwgb25Eb2N1bWVudExvYWRGaW5pc2hl
ZCwgMCk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJyZXNvdXJj
ZSxyZXF1ZXN0LHdpbGxzZW5kIiwgb25XaWxsU2VuZFJlcXVlc3QsIDApOwogCiAgICAgcmV0dXJu
IHZpZXc7CiB9CkBAIC0yODMsMyArMjg2LDIwIEBAIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6
Om9uRG9jdW1lbnRMb2FkRmluaXNoZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCogZXZlCiAg
ICAgICAgICAgICBwcmludGYoIiVzIC0gaGFzICV1IG9udW5sb2FkIGhhbmRsZXIocylcbiIsIGZy
YW1lTmFtZS51dGY4KCkuZGF0YSgpLCBwZW5kaW5nRnJhbWVVbmxvYWRFdmVudHMpOwogICAgIH0K
IH0KKwordm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25XaWxsU2VuZFJlcXVlc3Qodm9pZCos
IEV2YXNfT2JqZWN0Kiwgdm9pZCogZXZlbnRJbmZvKQoreworICAgIEV3a19GcmFtZV9SZXNvdXJj
ZV9SZXF1ZXN0KiByZXF1ZXN0ID0gc3RhdGljX2Nhc3Q8RXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVl
c3QqPihldmVudEluZm8pOworCisgICAgS1VSTCB1cmwgPSBLVVJMKFBhcnNlZFVSTFN0cmluZywg
cmVxdWVzdC0+dXJsKTsKKworICAgIGlmICh1cmwuaXNWYWxpZCgpCisgICAgICAgICYmIHVybC5w
cm90b2NvbElzSW5IVFRQRmFtaWx5KCkKKyAgICAgICAgJiYgdXJsLmhvc3QoKSAhPSAiMTI3LjAu
MC4xIgorICAgICAgICAmJiB1cmwuaG9zdCgpICE9ICIyNTUuMjU1LjI1NS4yNTUiCisgICAgICAg
ICYmIHVybC5ob3N0KCkubG93ZXIoKSAhPSAibG9jYWxob3N0IikgeworICAgICAgICBwcmludGYo
IkJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCAlc1xuIiwgcmVxdWVzdC0+dXJsKTsKKyAg
ICAgICAgcmVxdWVzdC0+dXJsID0gMDsKKyAgICAgICAgcmV0dXJuOworICAgIH0KK30KZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgKaW5kZXggNGVh
OTkxOC4uZTE1NmI0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBS
ZW5kZXJUcmVlQ2hyb21lLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5k
ZXJUcmVlQ2hyb21lLmgKQEAgLTc1LDYgKzc1LDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9p
ZCBvblRpdGxlQ2hhbmdlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CiAKICAgICBzdGF0
aWMgdm9pZCBvbkRvY3VtZW50TG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQq
KTsKKworICAgIHN0YXRpYyB2b2lkIG9uV2lsbFNlbmRSZXF1ZXN0KHZvaWQqLCBFdmFzX09iamVj
dCosIHZvaWQqKTsKIH07CiAKICNlbmRpZiAvLyBEdW1wUmVuZGVyVHJlZUNocm9tZV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135296</attachid>
            <date>2012-04-03 03:01:49 -0700</date>
            <delta_ts>2012-04-03 04:05:42 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>82192_will_send_b.patch</filename>
            <type>text/plain</type>
            <size>10696</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxN2QzY2QwLi4yNzA4ZjZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDMt
MjkgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2ln
bmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVGTCdz
IERSVCBzaG91bGQgY2F0Y2ggdGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwg
dG8KKyAgICAgICAgaW1wbGVtZW50IHRoZSAiQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IiBiZWhhdmlvci4gVGhpcworICAgICAgICBhbGxvd3MgZm9yIHNldmVyYWwgdGVzdHMgdG8gYmUg
cmVtb3ZlZCBmcm9tIHRoZSBza2lwIGxpc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tp
cHBlZDoKKwogMjAxMi0wMy0yOCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF0gUkVHUkVTU0lPTihyMTExNDgwKTogSXQgbWFkZSBzdmcvYXMtaW1h
Z2UgdGVzdHMgYXNzZXJ0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tp
cHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4IDc2ZWRjZDYuLjU1
NGFkNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBAIC04MDIsMTIgKzgwMiw2IEBAIGZh
c3QvZm9ybXMvbWFpbHRvL3Bvc3QtdGV4dC1wbGFpbi5odG1sCiBmYXN0L2RvbS90aXRsZS10ZXh0
LXByb3BlcnR5Lmh0bWwKIGZhc3QvZG9tL3RpdGxlLXRleHQtcHJvcGVydHktMi5odG1sCiAKLSMg
RUZMJ3MgRFJUIChEdW1wUmVuZGVyVHJlZUNocm9tZSkgbmVlZHMgdG8gY2F0Y2ggdGhlICJyZXNv
dXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwKLWZhc3QvcnVieS9iZWZvcmUtYmxvY2stZG9l
c250LWNyYXNoLmh0bWwKLWZhc3QvcnVieS9iZWZvcmUtdGFibGUtZG9lc250LWNyYXNoLmh0bWwK
LWZhc3QvcnVieS9nZW5lcmF0ZWQtYmVmb3JlLWNvdW50ZXItZG9lc250LWNyYXNoLmh0bWwKLWZh
c3Qvd29ya2Vycy93b3JrZXItY3Jhc2gtd2l0aC1pbnZhbGlkLWxvY2F0aW9uLmh0bWwKLQogIyBO
ZWVkIHRvIGNhbGwgU2V0dGluZ3M6OnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVk
KHRydWUpLgogZmFzdC9mb3Jtcy9pbnRlcmFjdGl2ZS12YWxpZGF0aW9uLXByZXZlbnRlZC5odG1s
CiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24tYXR0YWNoLWFzc2VydGlvbi5odG1s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9DaGFuZ2VMb2cKaW5kZXggODM2YzdkZC4uYmUxZWRjYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTI5ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3Bo
ZS5kdW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF1bRFJUXSBDYXRjaCB0aGUgInJlc291
cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIxOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBFRkwncyBEUlQgc2hvdWxkIGNhdGNoIHRoZSAicmVzb3VyY2Us
cmVxdWVzdCx3aWxsc2VuZCIgc2lnbmFsIHRvCisgICAgICAgIGltcGxlbWVudCB0aGUgIkJsb2Nr
ZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCIgYmVoYXZpb3IuIFRoaXMKKyAgICAgICAgYWxsb3dz
IGZvciBzZXZlcmFsIHRlc3RzIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgc2tpcCBsaXN0LgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlm
aWVyVG9Jbml0aWFsUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVu
dEVmbDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAg
KiBld2svZXdrX2ZyYW1lLmg6CisgICAgICAgICogZXdrL2V3a192aWV3Lmg6CisKIDIwMTItMDMt
MjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtTT1VQXSBJbXBsZW1lbnQgbWlzc2luZyBtZXRob2RzIGluIENvb2tpZUphclNvdXAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50RWZsLmNwcAppbmRleCA3MDZlZmYyLi43NTdkMzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCkBA
IC0xNjUsMjEgKzE2NSwyMCBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaFdp
bGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZwogICAgIENTdHJpbmcg
dXJsID0gY29yZVJlcXVlc3QudXJsKCkuc3RyaW5nKCkudXRmOCgpOwogICAgIERCRygiUmVzb3Vy
Y2UgdXJsPSVzIiwgdXJsLmRhdGEoKSk7CiAKLSAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVz
dCByZXF1ZXN0ID0geyAwLCBpZGVudGlmaWVyIH07CisgICAgYm9vbCBpc01haW5GcmFtZVJlcXVl
c3QgPSBmYWxzZTsKKyAgICBpZiAobG9hZGVyKSB7CisgICAgICAgICAgICBjb25zdCBGcmFtZUxv
YWRlciogZnJhbWVMb2FkZXIgPSBsb2FkZXItPmZyYW1lTG9hZGVyKCk7CisgICAgICAgICAgICBp
c01haW5GcmFtZVJlcXVlc3QgPSAobG9hZGVyID09IGZyYW1lTG9hZGVyLT5wcm92aXNpb25hbERv
Y3VtZW50TG9hZGVyKCkgJiYgZnJhbWVMb2FkZXItPmlzTG9hZGluZ01haW5GcmFtZSgpKTsKKyAg
ICB9CisKKyAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCByZXF1ZXN0ID0geyAwLCBpZGVu
dGlmaWVyLCBtX2ZyYW1lLCBpc01haW5GcmFtZVJlcXVlc3QgfTsKICAgICBFd2tfRnJhbWVfUmVz
b3VyY2VfUmVxdWVzdCBvcmlnID0gcmVxdWVzdDsgLyogSW5pdGlhbGl6ZSBjb25zdCBmaWVsZHMu
ICovCiAKICAgICBvcmlnLnVybCA9IHJlcXVlc3QudXJsID0gdXJsLmRhdGEoKTsKIAogICAgIGV3
a19mcmFtZV9yZXF1ZXN0X3dpbGxfc2VuZChtX2ZyYW1lLCAmcmVxdWVzdCk7CiAKLSAgICAvLyBX
ZSB3YW50IHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gYSByZXF1ZXN0IGZvciBhIGRvY3VtZW50IHRv
IGJlIGxvYWRlZCBpbnRvCi0gICAgLy8gdGhlIG1haW4gZnJhbWUsIGEgc3ViLWZyYW1lLCBvciB0
aGUgc3ViLW9iamVjdHMgaW4gdGhhdCBkb2N1bWVudCAodmlhIENocm9taXVtKS4KLSAgICBpZiAo
bG9hZGVyKSB7Ci0gICAgICAgIGNvbnN0IEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlciA9IGxvYWRl
ci0+ZnJhbWVMb2FkZXIoKTsKLSAgICAgICAgY29uc3QgYm9vbCBpc01haW5GcmFtZVJlcXVlc3Qg
PSAobG9hZGVyID09IGZyYW1lTG9hZGVyLT5wcm92aXNpb25hbERvY3VtZW50TG9hZGVyKCkgJiYg
ZnJhbWVMb2FkZXItPmlzTG9hZGluZ01haW5GcmFtZSgpKTsKLSAgICAgICAgaWYgKGlzTWFpbkZy
YW1lUmVxdWVzdCkKLSAgICAgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwo
bV92aWV3LCAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIsICZyZXF1ZXN0KTsKLSAgICB9Cisg
ICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChtX3ZpZXcsICJyZXNvdXJjZSxyZXF1
ZXN0LHdpbGxzZW5kIiwgJnJlcXVlc3QpOwogCiAgICAgaWYgKHJlcXVlc3QudXJsICE9IG9yaWcu
dXJsKSB7CiAgICAgICAgIGNvcmVSZXF1ZXN0LnNldFVSTChLVVJMKEtVUkwoKSwgcmVxdWVzdC51
cmwpKTsKQEAgLTE5NiwxMiArMTk1LDE4IEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNo
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmFzc2lnbklkZW50
aWZpZXJUb0luaXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRM
b2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGNvcmVSZXF1ZXN0KQordm9pZCBGcmFtZUxv
YWRlckNsaWVudEVmbDo6YXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJlcXVlc3QodW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIGNvcmVSZXF1ZXN0KQogewogICAgIENTdHJpbmcgdXJsID0gY29yZVJlcXVlc3QudXJs
KCkuc3RyaW5nKCkudXRmOCgpOwogICAgIERCRygiUmVzb3VyY2UgdXJsPSVzIiwgdXJsLmRhdGEo
KSk7CiAKLSAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCByZXF1ZXN0ID0geyAwLCBpZGVu
dGlmaWVyIH07CisgICAgYm9vbCBpc01haW5GcmFtZVJlcXVlc3QgPSBmYWxzZTsKKyAgICBpZiAo
bG9hZGVyKSB7CisgICAgICAgICAgICBjb25zdCBGcmFtZUxvYWRlciogZnJhbWVMb2FkZXIgPSBs
b2FkZXItPmZyYW1lTG9hZGVyKCk7CisgICAgICAgICAgICBpc01haW5GcmFtZVJlcXVlc3QgPSAo
bG9hZGVyID09IGZyYW1lTG9hZGVyLT5wcm92aXNpb25hbERvY3VtZW50TG9hZGVyKCkgJiYgZnJh
bWVMb2FkZXItPmlzTG9hZGluZ01haW5GcmFtZSgpKTsKKyAgICB9CisKKyAgICBFd2tfRnJhbWVf
UmVzb3VyY2VfUmVxdWVzdCByZXF1ZXN0ID0geyAwLCBpZGVudGlmaWVyLCBtX2ZyYW1lLCBpc01h
aW5GcmFtZVJlcXVlc3QgfTsKICAgICBld2tfZnJhbWVfcmVxdWVzdF9hc3NpZ25faWRlbnRpZmll
cihtX2ZyYW1lLCAmcmVxdWVzdCk7CiB9CiAKQEAgLTI5NCw3ICsyOTksNyBAQCB2b2lkIEZyYW1l
TG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24o
RnJhbWVQb2xpY3lGdQogICAgIC8vIGlmIG5vdCBhY2NlcHROYXZpZ2F0aW9uUmVxdWVzdCAtIGxv
b2sgYXQgUXQgLT4gUG9saWN5SWdub3JlOwogICAgIC8vIEZJWE1FOiBkbyBwcm9wZXIgY2hlY2sg
YW5kIG9ubHkgcmVzZXQgZm9ybXMgd2hlbiBvbiBQb2xpY3lJZ25vcmUKICAgICBjaGFyKiB1cmwg
PSBzdHJkdXAocmVzb3VyY2VSZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwot
ICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVlc3QgPSB7IHVybCwgMCB9OworICAg
IEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVlc3QgPSB7IHVybCwgMCwgbV9mcmFtZSwg
ZmFsc2UgfTsKICAgICBib29sIHJldCA9IGV3a192aWV3X25hdmlnYXRpb25fcG9saWN5X2RlY2lz
aW9uKG1fdmlldywgJnJlcXVlc3QpOwogICAgIGZyZWUodXJsKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZS5oCmluZGV4IGY3NDU1NWUuLmMzN2IwNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfZnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2Zy
YW1lLmgKQEAgLTEwNiw2ICsxMDYsOCBAQCB0eXBlZGVmIHN0cnVjdCBfRXdrX0ZyYW1lX1Jlc291
cmNlX1JlcXVlc3QgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3Q7CiBzdHJ1Y3QgX0V3a19GcmFt
ZV9SZXNvdXJjZV9SZXF1ZXN0IHsKICAgICBjb25zdCBjaGFyICp1cmw7IC8qKjwgdXJsIG9mIHRo
ZSByZXNvdXJjZSAqLwogICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcjsgLyoqPCBp
ZGVudGlmaWVyIG9mIHJlc291cmNlLCBjYW4gbm90IGJlIGNoYW5nZWQgKi8KKyAgICBFdmFzX09i
amVjdCAqZnJhbWU7IC8qKjwgZnJhbWUgd2hlcmUgdGhlIHJlc291cmNlIGlzIHJlcXVlc3RlZCAq
LworICAgIEVpbmFfQm9vbCBpc19tYWluX2ZyYW1lX3JlcXVlc3Q7IC8qKiA8IGluZGljYXRlcyBp
cyB0aGUgcmVxdWVzdCBpcyBmb3IgdGhlIG1haW4gZnJhbWUgKi8KIH07CiAKIC8vLyBFbnVtIGNv
bnRhaW5pbmcgaGl0IHRlc3QgZGF0YSB0eXBlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAppbmRl
eCAxYzUzMzM1Li4wZDEwNzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApAQCAtNjEsNyAr
NjEsOCBAQAogICogIC0gIm1peGVkY29udGVudCxkaXNwbGF5ZWQiLCB2b2lkOiBhbnkgb2YgdGhl
IGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIGRpc3BsYXllZCBtaXhlZCBjb250ZW50
LgogICogIC0gIm1peGVkY29udGVudCxydW4iLCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcg
ZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBjb250ZW50LgogICogIC0gInJlYWR5Iiwg
dm9pZDogcGFnZSBpcyBmdWxseSBsb2FkZWQuCi0gKiAgLSAicmVzb3VyY2UscmVxdWVzdCx3aWxs
c2VuZCIsIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0KjogdGhlIG5ldHdvcmsgcmVxdWVzdCBm
b3IgdGhlIG1haW4gZnJhbWUgd2lsbCBiZSBzZW50LgorICogIC0gInJlc291cmNlLHJlcXVlc3Qs
d2lsbHNlbmQiLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCo6IGEgcmVzb3VyY2Ugd2lsbAor
ICogICAgYmUgcmVxdWVzdGVkLgogICogIC0gInNjcm9sbGJhcnMsdmlzaWJsZSxnZXQiLCBFaW5h
X0Jvb2wgKjogZXhwZWN0cyBhIEBjIEVJTkFfVFJVRSBpZiBzY3JvbGxiYXJzCiAgKiAgICBhcmUg
dmlzaWJsZTsgQGMgRUlOQV9GQUxTRSwgb3RoZXJ3aXNlLgogICogIC0gInNjcm9sbGJhcnMsdmlz
aWJsZSxzZXQiLCBFaW5hX0Jvb2w6IHNldHMgc2Nyb2xsYmFycyB2aXNpYmlsaXR5LgpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGM1M2NmYTQuLjU3
YTBlZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMCBAQAorMjAxMi0wMy0yOSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9w
aGUuZHVtZXpAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdW0RSVF0gQ2F0Y2ggdGhlICJyZXNv
dXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgyMTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRUZMJ3MgRFJUIHNob3VsZCBjYXRjaCB0aGUgInJlc291cmNl
LHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbCB0bworICAgICAgICBpbXBsZW1lbnQgdGhlICJCbG9j
a2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwiIGJlaGF2aW9yLiBUaGlzCisgICAgICAgIGFsbG93
cyBmb3Igc2V2ZXJhbCB0ZXN0cyB0byBiZSByZW1vdmVkIGZyb20gdGhlIHNraXAgbGlzdC4gCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwOgor
ICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNyZWF0ZVZpZXcpOgorICAgICAgICAoRHVt
cFJlbmRlclRyZWVDaHJvbWU6Om9uV2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaDoKKyAgICAgICAgKER1bXBSZW5kZXJU
cmVlQ2hyb21lKToKKwogMjAxMi0wMy0yOCAgSGFvIFpoZW5nICA8emhlbmdoYW9AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIE1ha2UgQ2hyb21pdW0gcG9ydCBmb3IgQW5kcm9pZCB1c2UgaGFyZHdh
cmUgZ3B1IHBhdGggZGVmYXVsdC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuY3BwCmluZGV4IDJmNTQyOGUuLjE3NmMzOGEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcApAQCAtNDUs
NiArNDUsOCBAQAogI2luY2x1ZGUgPGNzdGRpbz4KICNpbmNsdWRlIDx3dGYvTm90Rm91bmQuaD4K
IAordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKIFBhc3NPd25QdHI8RHVtcFJlbmRlclRyZWVD
aHJvbWU+IER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGUoRXZhcyogZXZhcykKIHsKICAgICBP
d25QdHI8RHVtcFJlbmRlclRyZWVDaHJvbWU+IGNocm9tZSA9IGFkb3B0UHRyKG5ldyBEdW1wUmVu
ZGVyVHJlZUNocm9tZShldmFzKSk7CkBAIC05Myw2ICs5NSw3IEBAIEV2YXNfT2JqZWN0KiBEdW1w
UmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgZXZhc19vYmplY3Rfc21h
cnRfY2FsbGJhY2tfYWRkKHZpZXcsICJ3aW5kb3csb2JqZWN0LGNsZWFyZWQiLCBvbldpbmRvd09i
amVjdENsZWFyZWQsIG1fZ2NDb250cm9sbGVyLmdldCgpKTsKICAgICBldmFzX29iamVjdF9zbWFy
dF9jYWxsYmFja19hZGQodmlldywgInN0YXR1c2Jhcix0ZXh0LHNldCIsIG9uU3RhdHVzYmFyVGV4
dFNldCwgMCk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJsb2Fk
LGRvY3VtZW50LGZpbmlzaGVkIiwgb25Eb2N1bWVudExvYWRGaW5pc2hlZCwgMCk7CisgICAgZXZh
c19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxz
ZW5kIiwgb25XaWxsU2VuZFJlcXVlc3QsIDApOwogCiAgICAgcmV0dXJuIHZpZXc7CiB9CkBAIC0y
ODMsMyArMjg2LDIwIEBAIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uRG9jdW1lbnRMb2Fk
RmluaXNoZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCogZXZlCiAgICAgICAgICAgICBwcmlu
dGYoIiVzIC0gaGFzICV1IG9udW5sb2FkIGhhbmRsZXIocylcbiIsIGZyYW1lTmFtZS51dGY4KCku
ZGF0YSgpLCBwZW5kaW5nRnJhbWVVbmxvYWRFdmVudHMpOwogICAgIH0KIH0KKwordm9pZCBEdW1w
UmVuZGVyVHJlZUNocm9tZTo6b25XaWxsU2VuZFJlcXVlc3Qodm9pZCosIEV2YXNfT2JqZWN0Kiwg
dm9pZCogZXZlbnRJbmZvKQoreworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0KiByZXF1
ZXN0ID0gc3RhdGljX2Nhc3Q8RXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QqPihldmVudEluZm8p
OworCisgICAgS1VSTCB1cmwgPSBLVVJMKFBhcnNlZFVSTFN0cmluZywgcmVxdWVzdC0+dXJsKTsK
KworICAgIGlmICh1cmwuaXNWYWxpZCgpCisgICAgICAgICYmIHVybC5wcm90b2NvbElzSW5IVFRQ
RmFtaWx5KCkKKyAgICAgICAgJiYgdXJsLmhvc3QoKSAhPSAiMTI3LjAuMC4xIgorICAgICAgICAm
JiB1cmwuaG9zdCgpICE9ICIyNTUuMjU1LjI1NS4yNTUiCisgICAgICAgICYmIHVybC5ob3N0KCku
bG93ZXIoKSAhPSAibG9jYWxob3N0IikgeworICAgICAgICBwcmludGYoIkJsb2NrZWQgYWNjZXNz
IHRvIGV4dGVybmFsIFVSTCAlc1xuIiwgcmVxdWVzdC0+dXJsKTsKKyAgICAgICAgcmVxdWVzdC0+
dXJsID0gMDsKKyAgICAgICAgcmV0dXJuOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgKaW5kZXggNGVhOTkxOC4uZTE1NmI0ZCAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21l
LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgK
QEAgLTc1LDYgKzc1LDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBvblRpdGxlQ2hhbmdl
ZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CiAKICAgICBzdGF0aWMgdm9pZCBvbkRvY3Vt
ZW50TG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKKworICAgIHN0YXRp
YyB2b2lkIG9uV2lsbFNlbmRSZXF1ZXN0KHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKIH07
CiAKICNlbmRpZiAvLyBEdW1wUmVuZGVyVHJlZUNocm9tZV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135306</attachid>
            <date>2012-04-03 04:05:42 -0700</date>
            <delta_ts>2012-04-03 05:55:35 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>82192_will_send_b.patch</filename>
            <type>text/plain</type>
            <size>10793</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNGQ0ZDAzLi5hYzlmNGVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDQt
MDMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2ln
bmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tp
cCByZWxhdGVkIHRlc3QgY2FzZXMgbm93IHRoYXQgRUZMJ3MgRHVtcFJlbmRlclRyZWUKKyAgICAg
ICAgY2F0Y2hlcyB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbCBhbmQgaW1w
bGVtZW50cyB0aGUKKyAgICAgICAgIkJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCIgYmVo
YXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKwogMjAxMi0wNC0wMiAg
WXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbVjhdIFdl
YiBJbnNwZWN0b3I6IGRvbid0IGNyYXNoIHdoZW4gcmVzb2x2aW5nIERPTSB3cmFwcGVyIGhlYXAg
c25hcHNob3Qgbm9kZSB0byBKUyBvYmplY3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXgg
NDVhNzMyNy4uZjA2NzEzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTc5NSwxMiAr
Nzk1LDYgQEAgZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC10ZXh0LXBsYWluLmh0bWwKIGZhc3QvZG9t
L3RpdGxlLXRleHQtcHJvcGVydHkuaHRtbAogZmFzdC9kb20vdGl0bGUtdGV4dC1wcm9wZXJ0eS0y
Lmh0bWwKIAotIyBFRkwncyBEUlQgKER1bXBSZW5kZXJUcmVlQ2hyb21lKSBuZWVkcyB0byBjYXRj
aCB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAotZmFzdC9ydWJ5L2JlZm9y
ZS1ibG9jay1kb2VzbnQtY3Jhc2guaHRtbAotZmFzdC9ydWJ5L2JlZm9yZS10YWJsZS1kb2VzbnQt
Y3Jhc2guaHRtbAotZmFzdC9ydWJ5L2dlbmVyYXRlZC1iZWZvcmUtY291bnRlci1kb2VzbnQtY3Jh
c2guaHRtbAotZmFzdC93b3JrZXJzL3dvcmtlci1jcmFzaC13aXRoLWludmFsaWQtbG9jYXRpb24u
aHRtbAotCiAjIE5lZWQgdG8gY2FsbCBTZXR0aW5nczo6c2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbkVuYWJsZWQodHJ1ZSkuCiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24tcHJl
dmVudGVkLmh0bWwKIGZhc3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1hdHRhY2gtYXNz
ZXJ0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAzOWZlNGVkLi45MDRkY2U4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDQtMDMgIENocmlzdG9waGUgRHVtZXog
IDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXVtEUlRdIENhdGNo
IHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2lnbmFsCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVGTCdzIEZyYW1lTG9hZGVyQ2xpZW50IG5v
dyBlbWl0cyB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiCisgICAgICAgIHNpZ25hbCBv
biB0aGUgdmlldyBmb3IgYWxsIHJlc291cmNlcyBhYm91dCB0byBiZSBsb2FkZWQsIG5vdCBqdXN0
IHRoZQorICAgICAgICBtYWluIGZyYW1lLiBBbHNvIGFkZHMgYSBib29sZWFuIGZsYWcgdG8gRXdr
X0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgdG8KKyAgICAgICAgZGlzdGluZ3Vpc2ggdGhlIHJlcXVl
c3QgZm9yIHRoZSBtYWluIGZyYW1lIGZyb20gdGhvc2UgZm9yCisgICAgICAgIHN1Yi1yZXNvdXJj
ZXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2Vu
ZFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmFzc2ln
bklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgor
ICAgICAgICAqIGV3ay9ld2tfZnJhbWUuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwog
MjAxMi0wNC0wMSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAg
ICAgICAgIFN1cHBvcnQgdGhlIE5ldHdvcmsgSW5mb3JtYXRpb24gQVBJCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5j
cHAKaW5kZXggNmZhNWNjMC4uMDIxZWMxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcApAQCAtMTY1LDIx
ICsxNjUsMjAgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJl
cXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWcKICAgICBDU3RyaW5nIHVybCA9IGNv
cmVSZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKTsKICAgICBEQkcoIlJlc291cmNlIHVybD0l
cyIsIHVybC5kYXRhKCkpOwogCi0gICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVz
dCA9IHsgMCwgaWRlbnRpZmllciB9OworICAgIGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZmFs
c2U7CisgICAgaWYgKGxvYWRlcikgeworICAgICAgICAgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZy
YW1lTG9hZGVyID0gbG9hZGVyLT5mcmFtZUxvYWRlcigpOworICAgICAgICAgICAgaXNNYWluRnJh
bWVSZXF1ZXN0ID0gKGxvYWRlciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExv
YWRlcigpICYmIGZyYW1lTG9hZGVyLT5pc0xvYWRpbmdNYWluRnJhbWUoKSk7CisgICAgfQorCisg
ICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciwg
bV9mcmFtZSwgaXNNYWluRnJhbWVSZXF1ZXN0IH07CiAgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1Jl
cXVlc3Qgb3JpZyA9IHJlcXVlc3Q7IC8qIEluaXRpYWxpemUgY29uc3QgZmllbGRzLiAqLwogCiAg
ICAgb3JpZy51cmwgPSByZXF1ZXN0LnVybCA9IHVybC5kYXRhKCk7CiAKICAgICBld2tfZnJhbWVf
cmVxdWVzdF93aWxsX3NlbmQobV9mcmFtZSwgJnJlcXVlc3QpOwogCi0gICAgLy8gV2Ugd2FudCB0
byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGEgcmVxdWVzdCBmb3IgYSBkb2N1bWVudCB0byBiZSBsb2Fk
ZWQgaW50bwotICAgIC8vIHRoZSBtYWluIGZyYW1lLCBhIHN1Yi1mcmFtZSwgb3IgdGhlIHN1Yi1v
YmplY3RzIGluIHRoYXQgZG9jdW1lbnQgKHZpYSBDaHJvbWl1bSkuCi0gICAgaWYgKGxvYWRlcikg
ewotICAgICAgICBjb25zdCBGcmFtZUxvYWRlciogZnJhbWVMb2FkZXIgPSBsb2FkZXItPmZyYW1l
TG9hZGVyKCk7Ci0gICAgICAgIGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gKGxvYWRl
ciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpICYmIGZyYW1lTG9h
ZGVyLT5pc0xvYWRpbmdNYWluRnJhbWUoKSk7Ci0gICAgICAgIGlmIChpc01haW5GcmFtZVJlcXVl
c3QpCi0gICAgICAgICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1fdmlldywg
InJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCAmcmVxdWVzdCk7Ci0gICAgfQorICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAicmVzb3VyY2UscmVxdWVzdCx3aWxs
c2VuZCIsICZyZXF1ZXN0KTsKIAogICAgIGlmIChyZXF1ZXN0LnVybCAhPSBvcmlnLnVybCkgewog
ICAgICAgICBjb3JlUmVxdWVzdC5zZXRVUkwoS1VSTChLVVJMKCksIHJlcXVlc3QudXJsKSk7CkBA
IC0xOTYsMTIgKzE5NSwxOCBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzaG91bGRVc2VD
cmVkZW50aWFsU3RvcmFnZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkCiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi12b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlmaWVyVG9J
bml0aWFsUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKK3ZvaWQgRnJhbWVMb2FkZXJDbGll
bnRFZmw6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBj
b3JlUmVxdWVzdCkKIHsKICAgICBDU3RyaW5nIHVybCA9IGNvcmVSZXF1ZXN0LnVybCgpLnN0cmlu
ZygpLnV0ZjgoKTsKICAgICBEQkcoIlJlc291cmNlIHVybD0lcyIsIHVybC5kYXRhKCkpOwogCi0g
ICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciB9
OworICAgIGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZmFsc2U7CisgICAgaWYgKGxvYWRlcikg
eworICAgICAgICAgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9hZGVyLT5m
cmFtZUxvYWRlcigpOworICAgICAgICAgICAgaXNNYWluRnJhbWVSZXF1ZXN0ID0gKGxvYWRlciA9
PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpICYmIGZyYW1lTG9hZGVy
LT5pc0xvYWRpbmdNYWluRnJhbWUoKSk7CisgICAgfQorCisgICAgRXdrX0ZyYW1lX1Jlc291cmNl
X1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciwgbV9mcmFtZSwgaXNNYWluRnJhbWVS
ZXF1ZXN0IH07CiAgICAgZXdrX2ZyYW1lX3JlcXVlc3RfYXNzaWduX2lkZW50aWZpZXIobV9mcmFt
ZSwgJnJlcXVlc3QpOwogfQogCkBAIC0yOTQsNyArMjk5LDcgQEAgdm9pZCBGcmFtZUxvYWRlckNs
aWVudEVmbDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9s
aWN5RnUKICAgICAvLyBpZiBub3QgYWNjZXB0TmF2aWdhdGlvblJlcXVlc3QgLSBsb29rIGF0IFF0
IC0+IFBvbGljeUlnbm9yZTsKICAgICAvLyBGSVhNRTogZG8gcHJvcGVyIGNoZWNrIGFuZCBvbmx5
IHJlc2V0IGZvcm1zIHdoZW4gb24gUG9saWN5SWdub3JlCiAgICAgY2hhciogdXJsID0gc3RyZHVw
KHJlc291cmNlUmVxdWVzdC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFd2tf
RnJhbWVfUmVzb3VyY2VfUmVxdWVzdCByZXF1ZXN0ID0geyB1cmwsIDAgfTsKKyAgICBFd2tfRnJh
bWVfUmVzb3VyY2VfUmVxdWVzdCByZXF1ZXN0ID0geyB1cmwsIDAsIG1fZnJhbWUsIGZhbHNlIH07
CiAgICAgYm9vbCByZXQgPSBld2tfdmlld19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbihtX3Zp
ZXcsICZyZXF1ZXN0KTsKICAgICBmcmVlKHVybCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUu
aAppbmRleCBmNzQ1NTVlLi5jMzdiMDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX2ZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCkBA
IC0xMDYsNiArMTA2LDggQEAgdHlwZWRlZiBzdHJ1Y3QgX0V3a19GcmFtZV9SZXNvdXJjZV9SZXF1
ZXN0IEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0Owogc3RydWN0IF9Fd2tfRnJhbWVfUmVzb3Vy
Y2VfUmVxdWVzdCB7CiAgICAgY29uc3QgY2hhciAqdXJsOyAvKio8IHVybCBvZiB0aGUgcmVzb3Vy
Y2UgKi8KICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXI7IC8qKjwgaWRlbnRpZmll
ciBvZiByZXNvdXJjZSwgY2FuIG5vdCBiZSBjaGFuZ2VkICovCisgICAgRXZhc19PYmplY3QgKmZy
YW1lOyAvKio8IGZyYW1lIHdoZXJlIHRoZSByZXNvdXJjZSBpcyByZXF1ZXN0ZWQgKi8KKyAgICBF
aW5hX0Jvb2wgaXNfbWFpbl9mcmFtZV9yZXF1ZXN0OyAvKiogPCBpbmRpY2F0ZXMgaXMgdGhlIHJl
cXVlc3QgaXMgZm9yIHRoZSBtYWluIGZyYW1lICovCiB9OwogCiAvLy8gRW51bSBjb250YWluaW5n
IGhpdCB0ZXN0IGRhdGEgdHlwZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKaW5kZXggMjUzOTc4
ZC4uZmEzODJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTYxLDcgKzYxLDggQEAK
ICAqICAtICJtaXhlZGNvbnRlbnQsZGlzcGxheWVkIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWlu
aW5nIGZyYW1lcyBoYXMgbG9hZGVkIGFuZCBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudC4KICAqICAt
ICJtaXhlZGNvbnRlbnQscnVuIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBo
YXMgbG9hZGVkIGFuZCBydW4gbWl4ZWQgY29udGVudC4KICAqICAtICJyZWFkeSIsIHZvaWQ6IHBh
Z2UgaXMgZnVsbHkgbG9hZGVkLgotICogIC0gInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBF
d2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCo6IHRoZSBuZXR3b3JrIHJlcXVlc3QgZm9yIHRoZSBt
YWluIGZyYW1lIHdpbGwgYmUgc2VudC4KKyAqICAtICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5k
IiwgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QqOiBhIHJlc291cmNlIHdpbGwKKyAqICAgIGJl
IHJlcXVlc3RlZC4KICAqICAtICJzY3JvbGxiYXJzLHZpc2libGUsZ2V0IiwgRWluYV9Cb29sICo6
IGV4cGVjdHMgYSBAYyBFSU5BX1RSVUUgaWYgc2Nyb2xsYmFycwogICogICAgYXJlIHZpc2libGU7
IEBjIEVJTkFfRkFMU0UsIG90aGVyd2lzZS4KICAqICAtICJzY3JvbGxiYXJzLHZpc2libGUsc2V0
IiwgRWluYV9Cb29sOiBzZXRzIHNjcm9sbGJhcnMgdmlzaWJpbGl0eS4KZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzMDFlNmQ3Li4wNmZjYmRkIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMTItMDQtMDMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6
QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVx
dWVzdCx3aWxsc2VuZCIgc2lnbmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MjE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEVGTCdzIER1bXBSZW5kZXJUcmVlIG5vdyBjYXRjaGVzIHRoZSAicmVzb3Vy
Y2UscmVxdWVzdCx3aWxsc2VuZCIKKyAgICAgICAgc2lnbmFsIGluIG9yZGVyIHRvIGltcGxlbWVu
dCB0aGUgIkJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCIKKyAgICAgICAgYmVoYXZpb3Ig
YW5kIGF2b2lkIHBvdGVudGlhbCBuZXR3b3JrLXJlbGF0ZWQgdGltZW91dHMgaW4gdGhlIHRlc3Rz
LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNw
cDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KToKKyAgICAgICAg
KER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbldpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmg6CisgICAgICAgIChEdW1wUmVu
ZGVyVHJlZUNocm9tZSk6CisKIDIwMTItMDQtMDIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTI2
NTEuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21l
LmNwcAppbmRleCAyZjU0MjhlLi4xNzZjMzhhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKQEAgLTQ1LDYgKzQ1LDggQEAKICNpbmNs
dWRlIDxjc3RkaW8+CiAjaW5jbHVkZSA8d3RmL05vdEZvdW5kLmg+CiAKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOworCiBQYXNzT3duUHRyPER1bXBSZW5kZXJUcmVlQ2hyb21lPiBEdW1wUmVuZGVy
VHJlZUNocm9tZTo6Y3JlYXRlKEV2YXMqIGV2YXMpCiB7CiAgICAgT3duUHRyPER1bXBSZW5kZXJU
cmVlQ2hyb21lPiBjaHJvbWUgPSBhZG9wdFB0cihuZXcgRHVtcFJlbmRlclRyZWVDaHJvbWUoZXZh
cykpOwpAQCAtOTMsNiArOTUsNyBAQCBFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6
OmNyZWF0ZVZpZXcoKSBjb25zdAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2
aWV3LCAid2luZG93LG9iamVjdCxjbGVhcmVkIiwgb25XaW5kb3dPYmplY3RDbGVhcmVkLCBtX2dj
Q29udHJvbGxlci5nZXQoKSk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZp
ZXcsICJzdGF0dXNiYXIsdGV4dCxzZXQiLCBvblN0YXR1c2JhclRleHRTZXQsIDApOwogICAgIGV2
YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAibG9hZCxkb2N1bWVudCxmaW5pc2hl
ZCIsIG9uRG9jdW1lbnRMb2FkRmluaXNoZWQsIDApOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2FkZCh2aWV3LCAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIsIG9uV2lsbFNlbmRS
ZXF1ZXN0LCAwKTsKIAogICAgIHJldHVybiB2aWV3OwogfQpAQCAtMjgzLDMgKzI4NiwyMCBAQCB2
b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkRvY3VtZW50TG9hZEZpbmlzaGVkKHZvaWQqLCBF
dmFzX09iamVjdCosIHZvaWQqIGV2ZQogICAgICAgICAgICAgcHJpbnRmKCIlcyAtIGhhcyAldSBv
bnVubG9hZCBoYW5kbGVyKHMpXG4iLCBmcmFtZU5hbWUudXRmOCgpLmRhdGEoKSwgcGVuZGluZ0Zy
YW1lVW5sb2FkRXZlbnRzKTsKICAgICB9CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6
Om9uV2lsbFNlbmRSZXF1ZXN0KHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5mbykK
K3sKKyAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCogcmVxdWVzdCA9IHN0YXRpY19jYXN0
PEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0Kj4oZXZlbnRJbmZvKTsKKworICAgIEtVUkwgdXJs
ID0gS1VSTChQYXJzZWRVUkxTdHJpbmcsIHJlcXVlc3QtPnVybCk7CisKKyAgICBpZiAodXJsLmlz
VmFsaWQoKQorICAgICAgICAmJiB1cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpCisgICAgICAg
ICYmIHVybC5ob3N0KCkgIT0gIjEyNy4wLjAuMSIKKyAgICAgICAgJiYgdXJsLmhvc3QoKSAhPSAi
MjU1LjI1NS4yNTUuMjU1IgorICAgICAgICAmJiB1cmwuaG9zdCgpLmxvd2VyKCkgIT0gImxvY2Fs
aG9zdCIpIHsKKyAgICAgICAgcHJpbnRmKCJCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwg
JXNcbiIsIHJlcXVlc3QtPnVybCk7CisgICAgICAgIHJlcXVlc3QtPnVybCA9IDA7CisgICAgICAg
IHJldHVybjsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwv
RHVtcFJlbmRlclRyZWVDaHJvbWUuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVu
ZGVyVHJlZUNocm9tZS5oCmluZGV4IDRlYTk5MTguLmUxNTZiNGQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCkBAIC03NSw2ICs3NSw4IEBA
IHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgb25UaXRsZUNoYW5nZWQodm9pZCosIEV2YXNfT2Jq
ZWN0Kiwgdm9pZCopOwogCiAgICAgc3RhdGljIHZvaWQgb25Eb2N1bWVudExvYWRGaW5pc2hlZCh2
b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CisKKyAgICBzdGF0aWMgdm9pZCBvbldpbGxTZW5k
UmVxdWVzdCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CiB9OwogCiAjZW5kaWYgLy8gRHVt
cFJlbmRlclRyZWVDaHJvbWVfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135315</attachid>
            <date>2012-04-03 05:55:35 -0700</date>
            <delta_ts>2012-04-04 05:52:01 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>82192_will_send_b.patch</filename>
            <type>text/plain</type>
            <size>10947</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNGQ0ZDAzLi5hYzlmNGVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDQt
MDMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2ln
bmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tp
cCByZWxhdGVkIHRlc3QgY2FzZXMgbm93IHRoYXQgRUZMJ3MgRHVtcFJlbmRlclRyZWUKKyAgICAg
ICAgY2F0Y2hlcyB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbCBhbmQgaW1w
bGVtZW50cyB0aGUKKyAgICAgICAgIkJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCIgYmVo
YXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKwogMjAxMi0wNC0wMiAg
WXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbVjhdIFdl
YiBJbnNwZWN0b3I6IGRvbid0IGNyYXNoIHdoZW4gcmVzb2x2aW5nIERPTSB3cmFwcGVyIGhlYXAg
c25hcHNob3Qgbm9kZSB0byBKUyBvYmplY3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXgg
NDVhNzMyNy4uZjA2NzEzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTc5NSwxMiAr
Nzk1LDYgQEAgZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC10ZXh0LXBsYWluLmh0bWwKIGZhc3QvZG9t
L3RpdGxlLXRleHQtcHJvcGVydHkuaHRtbAogZmFzdC9kb20vdGl0bGUtdGV4dC1wcm9wZXJ0eS0y
Lmh0bWwKIAotIyBFRkwncyBEUlQgKER1bXBSZW5kZXJUcmVlQ2hyb21lKSBuZWVkcyB0byBjYXRj
aCB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAotZmFzdC9ydWJ5L2JlZm9y
ZS1ibG9jay1kb2VzbnQtY3Jhc2guaHRtbAotZmFzdC9ydWJ5L2JlZm9yZS10YWJsZS1kb2VzbnQt
Y3Jhc2guaHRtbAotZmFzdC9ydWJ5L2dlbmVyYXRlZC1iZWZvcmUtY291bnRlci1kb2VzbnQtY3Jh
c2guaHRtbAotZmFzdC93b3JrZXJzL3dvcmtlci1jcmFzaC13aXRoLWludmFsaWQtbG9jYXRpb24u
aHRtbAotCiAjIE5lZWQgdG8gY2FsbCBTZXR0aW5nczo6c2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbkVuYWJsZWQodHJ1ZSkuCiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24tcHJl
dmVudGVkLmh0bWwKIGZhc3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1hdHRhY2gtYXNz
ZXJ0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAzOWZlNGVkLi45MDRkY2U4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDQtMDMgIENocmlzdG9waGUgRHVtZXog
IDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXVtEUlRdIENhdGNo
IHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2lnbmFsCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVGTCdzIEZyYW1lTG9hZGVyQ2xpZW50IG5v
dyBlbWl0cyB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiCisgICAgICAgIHNpZ25hbCBv
biB0aGUgdmlldyBmb3IgYWxsIHJlc291cmNlcyBhYm91dCB0byBiZSBsb2FkZWQsIG5vdCBqdXN0
IHRoZQorICAgICAgICBtYWluIGZyYW1lLiBBbHNvIGFkZHMgYSBib29sZWFuIGZsYWcgdG8gRXdr
X0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgdG8KKyAgICAgICAgZGlzdGluZ3Vpc2ggdGhlIHJlcXVl
c3QgZm9yIHRoZSBtYWluIGZyYW1lIGZyb20gdGhvc2UgZm9yCisgICAgICAgIHN1Yi1yZXNvdXJj
ZXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2Vu
ZFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmFzc2ln
bklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgor
ICAgICAgICAqIGV3ay9ld2tfZnJhbWUuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwog
MjAxMi0wNC0wMSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAg
ICAgICAgIFN1cHBvcnQgdGhlIE5ldHdvcmsgSW5mb3JtYXRpb24gQVBJCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5j
cHAKaW5kZXggNmZhNWNjMC4uN2M3MmY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcApAQCAtMTY1LDIx
ICsxNjUsMjIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJl
cXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWcKICAgICBDU3RyaW5nIHVybCA9IGNv
cmVSZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKTsKICAgICBEQkcoIlJlc291cmNlIHVybD0l
cyIsIHVybC5kYXRhKCkpOwogCi0gICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVz
dCA9IHsgMCwgaWRlbnRpZmllciB9OworICAgIC8vIFdlIHdhbnQgdG8gZGlzdGluZ3Vpc2ggYmV0
d2VlbiBhIHJlcXVlc3QgZm9yIGEgZG9jdW1lbnQgdG8gYmUgbG9hZGVkIGludG8KKyAgICAvLyB0
aGUgbWFpbiBmcmFtZSwgYSBzdWItZnJhbWUsIG9yIHRoZSBzdWItb2JqZWN0cyBpbiB0aGF0IGRv
Y3VtZW50ICh2aWEgQ2hyb21pdW0pLgorICAgIGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZmFs
c2U7CisgICAgaWYgKGxvYWRlcikgeworICAgICAgICAgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZy
YW1lTG9hZGVyID0gbG9hZGVyLT5mcmFtZUxvYWRlcigpOworICAgICAgICAgICAgaXNNYWluRnJh
bWVSZXF1ZXN0ID0gKGxvYWRlciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExv
YWRlcigpICYmIGZyYW1lTG9hZGVyLT5pc0xvYWRpbmdNYWluRnJhbWUoKSk7CisgICAgfQorCisg
ICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciwg
bV9mcmFtZSwgaXNNYWluRnJhbWVSZXF1ZXN0IH07CiAgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1Jl
cXVlc3Qgb3JpZyA9IHJlcXVlc3Q7IC8qIEluaXRpYWxpemUgY29uc3QgZmllbGRzLiAqLwogCiAg
ICAgb3JpZy51cmwgPSByZXF1ZXN0LnVybCA9IHVybC5kYXRhKCk7CiAKICAgICBld2tfZnJhbWVf
cmVxdWVzdF93aWxsX3NlbmQobV9mcmFtZSwgJnJlcXVlc3QpOwogCi0gICAgLy8gV2Ugd2FudCB0
byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGEgcmVxdWVzdCBmb3IgYSBkb2N1bWVudCB0byBiZSBsb2Fk
ZWQgaW50bwotICAgIC8vIHRoZSBtYWluIGZyYW1lLCBhIHN1Yi1mcmFtZSwgb3IgdGhlIHN1Yi1v
YmplY3RzIGluIHRoYXQgZG9jdW1lbnQgKHZpYSBDaHJvbWl1bSkuCi0gICAgaWYgKGxvYWRlcikg
ewotICAgICAgICBjb25zdCBGcmFtZUxvYWRlciogZnJhbWVMb2FkZXIgPSBsb2FkZXItPmZyYW1l
TG9hZGVyKCk7Ci0gICAgICAgIGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gKGxvYWRl
ciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpICYmIGZyYW1lTG9h
ZGVyLT5pc0xvYWRpbmdNYWluRnJhbWUoKSk7Ci0gICAgICAgIGlmIChpc01haW5GcmFtZVJlcXVl
c3QpCi0gICAgICAgICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1fdmlldywg
InJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCAmcmVxdWVzdCk7Ci0gICAgfQorICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAicmVzb3VyY2UscmVxdWVzdCx3aWxs
c2VuZCIsICZyZXF1ZXN0KTsKIAogICAgIGlmIChyZXF1ZXN0LnVybCAhPSBvcmlnLnVybCkgewog
ICAgICAgICBjb3JlUmVxdWVzdC5zZXRVUkwoS1VSTChLVVJMKCksIHJlcXVlc3QudXJsKSk7CkBA
IC0xOTYsMTIgKzE5NywxOCBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzaG91bGRVc2VD
cmVkZW50aWFsU3RvcmFnZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkCiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi12b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlmaWVyVG9J
bml0aWFsUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKK3ZvaWQgRnJhbWVMb2FkZXJDbGll
bnRFZmw6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBj
b3JlUmVxdWVzdCkKIHsKICAgICBDU3RyaW5nIHVybCA9IGNvcmVSZXF1ZXN0LnVybCgpLnN0cmlu
ZygpLnV0ZjgoKTsKICAgICBEQkcoIlJlc291cmNlIHVybD0lcyIsIHVybC5kYXRhKCkpOwogCi0g
ICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciB9
OworICAgIGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZmFsc2U7CisgICAgaWYgKGxvYWRlcikg
eworICAgICAgICAgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9hZGVyLT5m
cmFtZUxvYWRlcigpOworICAgICAgICAgICAgaXNNYWluRnJhbWVSZXF1ZXN0ID0gKGxvYWRlciA9
PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpICYmIGZyYW1lTG9hZGVy
LT5pc0xvYWRpbmdNYWluRnJhbWUoKSk7CisgICAgfQorCisgICAgRXdrX0ZyYW1lX1Jlc291cmNl
X1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciwgbV9mcmFtZSwgaXNNYWluRnJhbWVS
ZXF1ZXN0IH07CiAgICAgZXdrX2ZyYW1lX3JlcXVlc3RfYXNzaWduX2lkZW50aWZpZXIobV9mcmFt
ZSwgJnJlcXVlc3QpOwogfQogCkBAIC0yOTQsNyArMzAxLDcgQEAgdm9pZCBGcmFtZUxvYWRlckNs
aWVudEVmbDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9s
aWN5RnUKICAgICAvLyBpZiBub3QgYWNjZXB0TmF2aWdhdGlvblJlcXVlc3QgLSBsb29rIGF0IFF0
IC0+IFBvbGljeUlnbm9yZTsKICAgICAvLyBGSVhNRTogZG8gcHJvcGVyIGNoZWNrIGFuZCBvbmx5
IHJlc2V0IGZvcm1zIHdoZW4gb24gUG9saWN5SWdub3JlCiAgICAgY2hhciogdXJsID0gc3RyZHVw
KHJlc291cmNlUmVxdWVzdC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFd2tf
RnJhbWVfUmVzb3VyY2VfUmVxdWVzdCByZXF1ZXN0ID0geyB1cmwsIDAgfTsKKyAgICBFd2tfRnJh
bWVfUmVzb3VyY2VfUmVxdWVzdCByZXF1ZXN0ID0geyB1cmwsIDAsIG1fZnJhbWUsIGZhbHNlIH07
CiAgICAgYm9vbCByZXQgPSBld2tfdmlld19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbihtX3Zp
ZXcsICZyZXF1ZXN0KTsKICAgICBmcmVlKHVybCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUu
aAppbmRleCBmNzQ1NTVlLi5jMzdiMDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX2ZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCkBA
IC0xMDYsNiArMTA2LDggQEAgdHlwZWRlZiBzdHJ1Y3QgX0V3a19GcmFtZV9SZXNvdXJjZV9SZXF1
ZXN0IEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0Owogc3RydWN0IF9Fd2tfRnJhbWVfUmVzb3Vy
Y2VfUmVxdWVzdCB7CiAgICAgY29uc3QgY2hhciAqdXJsOyAvKio8IHVybCBvZiB0aGUgcmVzb3Vy
Y2UgKi8KICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXI7IC8qKjwgaWRlbnRpZmll
ciBvZiByZXNvdXJjZSwgY2FuIG5vdCBiZSBjaGFuZ2VkICovCisgICAgRXZhc19PYmplY3QgKmZy
YW1lOyAvKio8IGZyYW1lIHdoZXJlIHRoZSByZXNvdXJjZSBpcyByZXF1ZXN0ZWQgKi8KKyAgICBF
aW5hX0Jvb2wgaXNfbWFpbl9mcmFtZV9yZXF1ZXN0OyAvKiogPCBpbmRpY2F0ZXMgaXMgdGhlIHJl
cXVlc3QgaXMgZm9yIHRoZSBtYWluIGZyYW1lICovCiB9OwogCiAvLy8gRW51bSBjb250YWluaW5n
IGhpdCB0ZXN0IGRhdGEgdHlwZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKaW5kZXggMjUzOTc4
ZC4uZmEzODJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTYxLDcgKzYxLDggQEAK
ICAqICAtICJtaXhlZGNvbnRlbnQsZGlzcGxheWVkIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWlu
aW5nIGZyYW1lcyBoYXMgbG9hZGVkIGFuZCBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudC4KICAqICAt
ICJtaXhlZGNvbnRlbnQscnVuIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBo
YXMgbG9hZGVkIGFuZCBydW4gbWl4ZWQgY29udGVudC4KICAqICAtICJyZWFkeSIsIHZvaWQ6IHBh
Z2UgaXMgZnVsbHkgbG9hZGVkLgotICogIC0gInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBF
d2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCo6IHRoZSBuZXR3b3JrIHJlcXVlc3QgZm9yIHRoZSBt
YWluIGZyYW1lIHdpbGwgYmUgc2VudC4KKyAqICAtICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5k
IiwgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QqOiBhIHJlc291cmNlIHdpbGwKKyAqICAgIGJl
IHJlcXVlc3RlZC4KICAqICAtICJzY3JvbGxiYXJzLHZpc2libGUsZ2V0IiwgRWluYV9Cb29sICo6
IGV4cGVjdHMgYSBAYyBFSU5BX1RSVUUgaWYgc2Nyb2xsYmFycwogICogICAgYXJlIHZpc2libGU7
IEBjIEVJTkFfRkFMU0UsIG90aGVyd2lzZS4KICAqICAtICJzY3JvbGxiYXJzLHZpc2libGUsc2V0
IiwgRWluYV9Cb29sOiBzZXRzIHNjcm9sbGJhcnMgdmlzaWJpbGl0eS4KZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzMDFlNmQ3Li4wNmZjYmRkIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMTItMDQtMDMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6
QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVx
dWVzdCx3aWxsc2VuZCIgc2lnbmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MjE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEVGTCdzIER1bXBSZW5kZXJUcmVlIG5vdyBjYXRjaGVzIHRoZSAicmVzb3Vy
Y2UscmVxdWVzdCx3aWxsc2VuZCIKKyAgICAgICAgc2lnbmFsIGluIG9yZGVyIHRvIGltcGxlbWVu
dCB0aGUgIkJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCIKKyAgICAgICAgYmVoYXZpb3Ig
YW5kIGF2b2lkIHBvdGVudGlhbCBuZXR3b3JrLXJlbGF0ZWQgdGltZW91dHMgaW4gdGhlIHRlc3Rz
LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNw
cDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KToKKyAgICAgICAg
KER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbldpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmg6CisgICAgICAgIChEdW1wUmVu
ZGVyVHJlZUNocm9tZSk6CisKIDIwMTItMDQtMDIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTI2
NTEuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21l
LmNwcAppbmRleCAyZjU0MjhlLi4yMzJmODlkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKQEAgLTQ1LDYgKzQ1LDggQEAKICNpbmNs
dWRlIDxjc3RkaW8+CiAjaW5jbHVkZSA8d3RmL05vdEZvdW5kLmg+CiAKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOworCiBQYXNzT3duUHRyPER1bXBSZW5kZXJUcmVlQ2hyb21lPiBEdW1wUmVuZGVy
VHJlZUNocm9tZTo6Y3JlYXRlKEV2YXMqIGV2YXMpCiB7CiAgICAgT3duUHRyPER1bXBSZW5kZXJU
cmVlQ2hyb21lPiBjaHJvbWUgPSBhZG9wdFB0cihuZXcgRHVtcFJlbmRlclRyZWVDaHJvbWUoZXZh
cykpOwpAQCAtOTMsNiArOTUsNyBAQCBFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6
OmNyZWF0ZVZpZXcoKSBjb25zdAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2
aWV3LCAid2luZG93LG9iamVjdCxjbGVhcmVkIiwgb25XaW5kb3dPYmplY3RDbGVhcmVkLCBtX2dj
Q29udHJvbGxlci5nZXQoKSk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZp
ZXcsICJzdGF0dXNiYXIsdGV4dCxzZXQiLCBvblN0YXR1c2JhclRleHRTZXQsIDApOwogICAgIGV2
YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAibG9hZCxkb2N1bWVudCxmaW5pc2hl
ZCIsIG9uRG9jdW1lbnRMb2FkRmluaXNoZWQsIDApOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2FkZCh2aWV3LCAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIsIG9uV2lsbFNlbmRS
ZXF1ZXN0LCAwKTsKIAogICAgIHJldHVybiB2aWV3OwogfQpAQCAtMjgzLDMgKzI4NiwxOSBAQCB2
b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkRvY3VtZW50TG9hZEZpbmlzaGVkKHZvaWQqLCBF
dmFzX09iamVjdCosIHZvaWQqIGV2ZQogICAgICAgICAgICAgcHJpbnRmKCIlcyAtIGhhcyAldSBv
bnVubG9hZCBoYW5kbGVyKHMpXG4iLCBmcmFtZU5hbWUudXRmOCgpLmRhdGEoKSwgcGVuZGluZ0Zy
YW1lVW5sb2FkRXZlbnRzKTsKICAgICB9CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6
Om9uV2lsbFNlbmRSZXF1ZXN0KHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5mbykK
K3sKKyAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCogcmVxdWVzdCA9IHN0YXRpY19jYXN0
PEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0Kj4oZXZlbnRJbmZvKTsKKworICAgIEtVUkwgdXJs
ID0gS1VSTChQYXJzZWRVUkxTdHJpbmcsIHJlcXVlc3QtPnVybCk7CisKKyAgICBpZiAodXJsLmlz
VmFsaWQoKQorICAgICAgICAmJiB1cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpCisgICAgICAg
ICYmIHVybC5ob3N0KCkgIT0gIjEyNy4wLjAuMSIKKyAgICAgICAgJiYgdXJsLmhvc3QoKSAhPSAi
MjU1LjI1NS4yNTUuMjU1IgorICAgICAgICAmJiB1cmwuaG9zdCgpLmxvd2VyKCkgIT0gImxvY2Fs
aG9zdCIpIHsKKyAgICAgICAgcHJpbnRmKCJCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwg
JXNcbiIsIHJlcXVlc3QtPnVybCk7CisgICAgICAgIHJlcXVlc3QtPnVybCA9IDA7CisgICAgfQor
fQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hy
b21lLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaApp
bmRleCA0ZWE5OTE4Li5lMTU2YjRkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwv
RHVtcFJlbmRlclRyZWVDaHJvbWUuaApAQCAtNzUsNiArNzUsOCBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyB2b2lkIG9uVGl0bGVDaGFuZ2VkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKIAog
ICAgIHN0YXRpYyB2b2lkIG9uRG9jdW1lbnRMb2FkRmluaXNoZWQodm9pZCosIEV2YXNfT2JqZWN0
Kiwgdm9pZCopOworCisgICAgc3RhdGljIHZvaWQgb25XaWxsU2VuZFJlcXVlc3Qodm9pZCosIEV2
YXNfT2JqZWN0Kiwgdm9pZCopOwogfTsKIAogI2VuZGlmIC8vIER1bXBSZW5kZXJUcmVlQ2hyb21l
X2gK
</data>
<flag name="review"
          id="139783"
          type_id="1"
          status="+"
          setter="gustavo"
    />
    <flag name="commit-queue"
          id="139784"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135570</attachid>
            <date>2012-04-04 05:52:01 -0700</date>
            <delta_ts>2012-04-04 06:25:39 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>82192_will_send_b.patch</filename>
            <type>text/plain</type>
            <size>10932</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNGQ0ZDAzLi5hYzlmNGVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDQt
MDMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2ln
bmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tp
cCByZWxhdGVkIHRlc3QgY2FzZXMgbm93IHRoYXQgRUZMJ3MgRHVtcFJlbmRlclRyZWUKKyAgICAg
ICAgY2F0Y2hlcyB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbCBhbmQgaW1w
bGVtZW50cyB0aGUKKyAgICAgICAgIkJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCIgYmVo
YXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKwogMjAxMi0wNC0wMiAg
WXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbVjhdIFdl
YiBJbnNwZWN0b3I6IGRvbid0IGNyYXNoIHdoZW4gcmVzb2x2aW5nIERPTSB3cmFwcGVyIGhlYXAg
c25hcHNob3Qgbm9kZSB0byBKUyBvYmplY3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXgg
NDVhNzMyNy4uZjA2NzEzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTc5NSwxMiAr
Nzk1LDYgQEAgZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC10ZXh0LXBsYWluLmh0bWwKIGZhc3QvZG9t
L3RpdGxlLXRleHQtcHJvcGVydHkuaHRtbAogZmFzdC9kb20vdGl0bGUtdGV4dC1wcm9wZXJ0eS0y
Lmh0bWwKIAotIyBFRkwncyBEUlQgKER1bXBSZW5kZXJUcmVlQ2hyb21lKSBuZWVkcyB0byBjYXRj
aCB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAotZmFzdC9ydWJ5L2JlZm9y
ZS1ibG9jay1kb2VzbnQtY3Jhc2guaHRtbAotZmFzdC9ydWJ5L2JlZm9yZS10YWJsZS1kb2VzbnQt
Y3Jhc2guaHRtbAotZmFzdC9ydWJ5L2dlbmVyYXRlZC1iZWZvcmUtY291bnRlci1kb2VzbnQtY3Jh
c2guaHRtbAotZmFzdC93b3JrZXJzL3dvcmtlci1jcmFzaC13aXRoLWludmFsaWQtbG9jYXRpb24u
aHRtbAotCiAjIE5lZWQgdG8gY2FsbCBTZXR0aW5nczo6c2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbkVuYWJsZWQodHJ1ZSkuCiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24tcHJl
dmVudGVkLmh0bWwKIGZhc3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1hdHRhY2gtYXNz
ZXJ0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAzOWZlNGVkLi45MDRkY2U4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDQtMDMgIENocmlzdG9waGUgRHVtZXog
IDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXVtEUlRdIENhdGNo
IHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2lnbmFsCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVGTCdzIEZyYW1lTG9hZGVyQ2xpZW50IG5v
dyBlbWl0cyB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiCisgICAgICAgIHNpZ25hbCBv
biB0aGUgdmlldyBmb3IgYWxsIHJlc291cmNlcyBhYm91dCB0byBiZSBsb2FkZWQsIG5vdCBqdXN0
IHRoZQorICAgICAgICBtYWluIGZyYW1lLiBBbHNvIGFkZHMgYSBib29sZWFuIGZsYWcgdG8gRXdr
X0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgdG8KKyAgICAgICAgZGlzdGluZ3Vpc2ggdGhlIHJlcXVl
c3QgZm9yIHRoZSBtYWluIGZyYW1lIGZyb20gdGhvc2UgZm9yCisgICAgICAgIHN1Yi1yZXNvdXJj
ZXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2Vu
ZFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmFzc2ln
bklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgor
ICAgICAgICAqIGV3ay9ld2tfZnJhbWUuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwog
MjAxMi0wNC0wMSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAg
ICAgICAgIFN1cHBvcnQgdGhlIE5ldHdvcmsgSW5mb3JtYXRpb24gQVBJCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5j
cHAKaW5kZXggNmZhNWNjMC4uY2ViYzRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcApAQCAtMTY1LDIx
ICsxNjUsMjIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJl
cXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWcKICAgICBDU3RyaW5nIHVybCA9IGNv
cmVSZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKTsKICAgICBEQkcoIlJlc291cmNlIHVybD0l
cyIsIHVybC5kYXRhKCkpOwogCi0gICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVz
dCA9IHsgMCwgaWRlbnRpZmllciB9OworICAgIC8vIFdlIHdhbnQgdG8gZGlzdGluZ3Vpc2ggYmV0
d2VlbiBhIHJlcXVlc3QgZm9yIGEgZG9jdW1lbnQgdG8gYmUgbG9hZGVkIGludG8KKyAgICAvLyB0
aGUgbWFpbiBmcmFtZSwgYSBzdWItZnJhbWUsIG9yIHRoZSBzdWItb2JqZWN0cyBpbiB0aGF0IGRv
Y3VtZW50LgorICAgIGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZmFsc2U7CisgICAgaWYgKGxv
YWRlcikgeworICAgICAgICAgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9h
ZGVyLT5mcmFtZUxvYWRlcigpOworICAgICAgICAgICAgaXNNYWluRnJhbWVSZXF1ZXN0ID0gKGxv
YWRlciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpICYmIGZyYW1l
TG9hZGVyLT5pc0xvYWRpbmdNYWluRnJhbWUoKSk7CisgICAgfQorCisgICAgRXdrX0ZyYW1lX1Jl
c291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciwgbV9mcmFtZSwgaXNNYWlu
RnJhbWVSZXF1ZXN0IH07CiAgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3Qgb3JpZyA9IHJl
cXVlc3Q7IC8qIEluaXRpYWxpemUgY29uc3QgZmllbGRzLiAqLwogCiAgICAgb3JpZy51cmwgPSBy
ZXF1ZXN0LnVybCA9IHVybC5kYXRhKCk7CiAKICAgICBld2tfZnJhbWVfcmVxdWVzdF93aWxsX3Nl
bmQobV9mcmFtZSwgJnJlcXVlc3QpOwogCi0gICAgLy8gV2Ugd2FudCB0byBkaXN0aW5ndWlzaCBi
ZXR3ZWVuIGEgcmVxdWVzdCBmb3IgYSBkb2N1bWVudCB0byBiZSBsb2FkZWQgaW50bwotICAgIC8v
IHRoZSBtYWluIGZyYW1lLCBhIHN1Yi1mcmFtZSwgb3IgdGhlIHN1Yi1vYmplY3RzIGluIHRoYXQg
ZG9jdW1lbnQgKHZpYSBDaHJvbWl1bSkuCi0gICAgaWYgKGxvYWRlcikgewotICAgICAgICBjb25z
dCBGcmFtZUxvYWRlciogZnJhbWVMb2FkZXIgPSBsb2FkZXItPmZyYW1lTG9hZGVyKCk7Ci0gICAg
ICAgIGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gKGxvYWRlciA9PSBmcmFtZUxvYWRl
ci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpICYmIGZyYW1lTG9hZGVyLT5pc0xvYWRpbmdN
YWluRnJhbWUoKSk7Ci0gICAgICAgIGlmIChpc01haW5GcmFtZVJlcXVlc3QpCi0gICAgICAgICAg
ICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1fdmlldywgInJlc291cmNlLHJlcXVl
c3Qsd2lsbHNlbmQiLCAmcmVxdWVzdCk7Ci0gICAgfQorICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2NhbGwobV92aWV3LCAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIsICZyZXF1ZXN0
KTsKIAogICAgIGlmIChyZXF1ZXN0LnVybCAhPSBvcmlnLnVybCkgewogICAgICAgICBjb3JlUmVx
dWVzdC5zZXRVUkwoS1VSTChLVVJMKCksIHJlcXVlc3QudXJsKSk7CkBAIC0xOTYsMTIgKzE5Nywx
OCBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFn
ZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lk
IEZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdCh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiBjb3JlUmVxdWVzdCkKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmFzc2lnbklk
ZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1l
bnRMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsK
ICAgICBDU3RyaW5nIHVybCA9IGNvcmVSZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKTsKICAg
ICBEQkcoIlJlc291cmNlIHVybD0lcyIsIHVybC5kYXRhKCkpOwogCi0gICAgRXdrX0ZyYW1lX1Jl
c291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciB9OworICAgIGJvb2wgaXNN
YWluRnJhbWVSZXF1ZXN0ID0gZmFsc2U7CisgICAgaWYgKGxvYWRlcikgeworICAgICAgICAgICAg
Y29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9hZGVyLT5mcmFtZUxvYWRlcigpOwor
ICAgICAgICAgICAgaXNNYWluRnJhbWVSZXF1ZXN0ID0gKGxvYWRlciA9PSBmcmFtZUxvYWRlci0+
cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpICYmIGZyYW1lTG9hZGVyLT5pc0xvYWRpbmdNYWlu
RnJhbWUoKSk7CisgICAgfQorCisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVz
dCA9IHsgMCwgaWRlbnRpZmllciwgbV9mcmFtZSwgaXNNYWluRnJhbWVSZXF1ZXN0IH07CiAgICAg
ZXdrX2ZyYW1lX3JlcXVlc3RfYXNzaWduX2lkZW50aWZpZXIobV9mcmFtZSwgJnJlcXVlc3QpOwog
fQogCkBAIC0yOTQsNyArMzAxLDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0
Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9saWN5RnUKICAgICAvLyBp
ZiBub3QgYWNjZXB0TmF2aWdhdGlvblJlcXVlc3QgLSBsb29rIGF0IFF0IC0+IFBvbGljeUlnbm9y
ZTsKICAgICAvLyBGSVhNRTogZG8gcHJvcGVyIGNoZWNrIGFuZCBvbmx5IHJlc2V0IGZvcm1zIHdo
ZW4gb24gUG9saWN5SWdub3JlCiAgICAgY2hhciogdXJsID0gc3RyZHVwKHJlc291cmNlUmVxdWVz
dC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFd2tfRnJhbWVfUmVzb3VyY2Vf
UmVxdWVzdCByZXF1ZXN0ID0geyB1cmwsIDAgfTsKKyAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVx
dWVzdCByZXF1ZXN0ID0geyB1cmwsIDAsIG1fZnJhbWUsIGZhbHNlIH07CiAgICAgYm9vbCByZXQg
PSBld2tfdmlld19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbihtX3ZpZXcsICZyZXF1ZXN0KTsK
ICAgICBmcmVlKHVybCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
ZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaAppbmRleCBmNzQ1NTVl
Li45NDI0MjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCkBAIC0xMDYsNiArMTA2LDgg
QEAgdHlwZWRlZiBzdHJ1Y3QgX0V3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IEV3a19GcmFtZV9S
ZXNvdXJjZV9SZXF1ZXN0Owogc3RydWN0IF9Fd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCB7CiAg
ICAgY29uc3QgY2hhciAqdXJsOyAvKio8IHVybCBvZiB0aGUgcmVzb3VyY2UgKi8KICAgICBjb25z
dCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXI7IC8qKjwgaWRlbnRpZmllciBvZiByZXNvdXJjZSwg
Y2FuIG5vdCBiZSBjaGFuZ2VkICovCisgICAgRXZhc19PYmplY3QgKmZyYW1lOyAvKio8IGZyYW1l
IHdoZXJlIHRoZSByZXNvdXJjZSBpcyByZXF1ZXN0ZWQgKi8KKyAgICBFaW5hX0Jvb2wgaXNfbWFp
bl9mcmFtZV9yZXF1ZXN0OyAvKiogPCBpbmRpY2F0ZXMgaWYgdGhlIHJlcXVlc3QgaXMgZm9yIHRo
ZSBtYWluIGZyYW1lICovCiB9OwogCiAvLy8gRW51bSBjb250YWluaW5nIGhpdCB0ZXN0IGRhdGEg
dHlwZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKaW5kZXggMjUzOTc4ZC4uZmEzODJhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTYxLDcgKzYxLDggQEAKICAqICAtICJtaXhlZGNv
bnRlbnQsZGlzcGxheWVkIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBoYXMg
bG9hZGVkIGFuZCBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudC4KICAqICAtICJtaXhlZGNvbnRlbnQs
cnVuIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBoYXMgbG9hZGVkIGFuZCBy
dW4gbWl4ZWQgY29udGVudC4KICAqICAtICJyZWFkeSIsIHZvaWQ6IHBhZ2UgaXMgZnVsbHkgbG9h
ZGVkLgotICogIC0gInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBFd2tfRnJhbWVfUmVzb3Vy
Y2VfUmVxdWVzdCo6IHRoZSBuZXR3b3JrIHJlcXVlc3QgZm9yIHRoZSBtYWluIGZyYW1lIHdpbGwg
YmUgc2VudC4KKyAqICAtICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiwgRXdrX0ZyYW1lX1Jl
c291cmNlX1JlcXVlc3QqOiBhIHJlc291cmNlIHdpbGwKKyAqICAgIGJlIHJlcXVlc3RlZC4KICAq
ICAtICJzY3JvbGxiYXJzLHZpc2libGUsZ2V0IiwgRWluYV9Cb29sICo6IGV4cGVjdHMgYSBAYyBF
SU5BX1RSVUUgaWYgc2Nyb2xsYmFycwogICogICAgYXJlIHZpc2libGU7IEBjIEVJTkFfRkFMU0Us
IG90aGVyd2lzZS4KICAqICAtICJzY3JvbGxiYXJzLHZpc2libGUsc2V0IiwgRWluYV9Cb29sOiBz
ZXRzIHNjcm9sbGJhcnMgdmlzaWJpbGl0eS4KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzMDFlNmQ3Li4wNmZjYmRkIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTIt
MDQtMDMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKwor
ICAgICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIg
c2lnbmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MjE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVG
TCdzIER1bXBSZW5kZXJUcmVlIG5vdyBjYXRjaGVzIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxs
c2VuZCIKKyAgICAgICAgc2lnbmFsIGluIG9yZGVyIHRvIGltcGxlbWVudCB0aGUgIkJsb2NrZWQg
YWNjZXNzIHRvIGV4dGVybmFsIFVSTCIKKyAgICAgICAgYmVoYXZpb3IgYW5kIGF2b2lkIHBvdGVu
dGlhbCBuZXR3b3JrLXJlbGF0ZWQgdGltZW91dHMgaW4gdGhlIHRlc3RzLgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcDoKKyAgICAgICAgKER1
bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVl
Q2hyb21lOjpvbldpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZs
L0R1bXBSZW5kZXJUcmVlQ2hyb21lLmg6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZUNocm9tZSk6
CisKIDIwMTItMDQtMDIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTI2NTEuCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAppbmRleCAyZjU0
MjhlLi4yMzJmODlkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJl
bmRlclRyZWVDaHJvbWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVu
ZGVyVHJlZUNocm9tZS5jcHAKQEAgLTQ1LDYgKzQ1LDggQEAKICNpbmNsdWRlIDxjc3RkaW8+CiAj
aW5jbHVkZSA8d3RmL05vdEZvdW5kLmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCiBQ
YXNzT3duUHRyPER1bXBSZW5kZXJUcmVlQ2hyb21lPiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3Jl
YXRlKEV2YXMqIGV2YXMpCiB7CiAgICAgT3duUHRyPER1bXBSZW5kZXJUcmVlQ2hyb21lPiBjaHJv
bWUgPSBhZG9wdFB0cihuZXcgRHVtcFJlbmRlclRyZWVDaHJvbWUoZXZhcykpOwpAQCAtOTMsNiAr
OTUsNyBAQCBFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNyZWF0ZVZpZXcoKSBj
b25zdAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAid2luZG93LG9i
amVjdCxjbGVhcmVkIiwgb25XaW5kb3dPYmplY3RDbGVhcmVkLCBtX2djQ29udHJvbGxlci5nZXQo
KSk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJzdGF0dXNiYXIs
dGV4dCxzZXQiLCBvblN0YXR1c2JhclRleHRTZXQsIDApOwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0
X2NhbGxiYWNrX2FkZCh2aWV3LCAibG9hZCxkb2N1bWVudCxmaW5pc2hlZCIsIG9uRG9jdW1lbnRM
b2FkRmluaXNoZWQsIDApOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3
LCAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIsIG9uV2lsbFNlbmRSZXF1ZXN0LCAwKTsKIAog
ICAgIHJldHVybiB2aWV3OwogfQpAQCAtMjgzLDMgKzI4NiwxOSBAQCB2b2lkIER1bXBSZW5kZXJU
cmVlQ2hyb21lOjpvbkRvY3VtZW50TG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZv
aWQqIGV2ZQogICAgICAgICAgICAgcHJpbnRmKCIlcyAtIGhhcyAldSBvbnVubG9hZCBoYW5kbGVy
KHMpXG4iLCBmcmFtZU5hbWUudXRmOCgpLmRhdGEoKSwgcGVuZGluZ0ZyYW1lVW5sb2FkRXZlbnRz
KTsKICAgICB9CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uV2lsbFNlbmRSZXF1
ZXN0KHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5mbykKK3sKKyAgICBFd2tfRnJh
bWVfUmVzb3VyY2VfUmVxdWVzdCogcmVxdWVzdCA9IHN0YXRpY19jYXN0PEV3a19GcmFtZV9SZXNv
dXJjZV9SZXF1ZXN0Kj4oZXZlbnRJbmZvKTsKKworICAgIEtVUkwgdXJsID0gS1VSTChQYXJzZWRV
UkxTdHJpbmcsIHJlcXVlc3QtPnVybCk7CisKKyAgICBpZiAodXJsLmlzVmFsaWQoKQorICAgICAg
ICAmJiB1cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpCisgICAgICAgICYmIHVybC5ob3N0KCkg
IT0gIjEyNy4wLjAuMSIKKyAgICAgICAgJiYgdXJsLmhvc3QoKSAhPSAiMjU1LjI1NS4yNTUuMjU1
IgorICAgICAgICAmJiB1cmwuaG9zdCgpLmxvd2VyKCkgIT0gImxvY2FsaG9zdCIpIHsKKyAgICAg
ICAgcHJpbnRmKCJCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgJXNcbiIsIHJlcXVlc3Qt
PnVybCk7CisgICAgICAgIHJlcXVlc3QtPnVybCA9IDA7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmggYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAppbmRleCA0ZWE5OTE4Li5l
MTU2YjRkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRy
ZWVDaHJvbWUuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuaApAQCAtNzUsNiArNzUsOCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIG9uVGl0
bGVDaGFuZ2VkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKIAogICAgIHN0YXRpYyB2b2lk
IG9uRG9jdW1lbnRMb2FkRmluaXNoZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOworCisg
ICAgc3RhdGljIHZvaWQgb25XaWxsU2VuZFJlcXVlc3Qodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9p
ZCopOwogfTsKIAogI2VuZGlmIC8vIER1bXBSZW5kZXJUcmVlQ2hyb21lX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135577</attachid>
            <date>2012-04-04 06:25:39 -0700</date>
            <delta_ts>2012-04-04 12:08:37 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>82192_will_send_c.patch</filename>
            <type>text/plain</type>
            <size>10932</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NDQ3MmQwLi5mNzJlODY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDQt
MDMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2ln
bmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tp
cCByZWxhdGVkIHRlc3QgY2FzZXMgbm93IHRoYXQgRUZMJ3MgRHVtcFJlbmRlclRyZWUKKyAgICAg
ICAgY2F0Y2hlcyB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbCBhbmQgaW1w
bGVtZW50cyB0aGUKKyAgICAgICAgIkJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCIgYmVo
YXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKwogMjAxMi0wNC0wNCAg
QWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQG5va2lhLmNvbT4KIAogICAgICAg
ICBCZXN0IHpvb21hYmxlIGFyZWEgZG9lcyBub3QgYmFsYW5jZSBpbnRlcnNlY3Rpb24gd2l0aCB0
YXJnZXQgYXJlYS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVk
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXggNjIzOWQxYi4uN2VhYWEw
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTc4MywxMiArNzgzLDYgQEAgZmFzdC9m
b3Jtcy9tYWlsdG8vcG9zdC10ZXh0LXBsYWluLmh0bWwKIGZhc3QvZG9tL3RpdGxlLXRleHQtcHJv
cGVydHkuaHRtbAogZmFzdC9kb20vdGl0bGUtdGV4dC1wcm9wZXJ0eS0yLmh0bWwKIAotIyBFRkwn
cyBEUlQgKER1bXBSZW5kZXJUcmVlQ2hyb21lKSBuZWVkcyB0byBjYXRjaCB0aGUgInJlc291cmNl
LHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAotZmFzdC9ydWJ5L2JlZm9yZS1ibG9jay1kb2VzbnQt
Y3Jhc2guaHRtbAotZmFzdC9ydWJ5L2JlZm9yZS10YWJsZS1kb2VzbnQtY3Jhc2guaHRtbAotZmFz
dC9ydWJ5L2dlbmVyYXRlZC1iZWZvcmUtY291bnRlci1kb2VzbnQtY3Jhc2guaHRtbAotZmFzdC93
b3JrZXJzL3dvcmtlci1jcmFzaC13aXRoLWludmFsaWQtbG9jYXRpb24uaHRtbAotCiAjIE5lZWQg
dG8gY2FsbCBTZXR0aW5nczo6c2V0VmFsaWRhdGlvbk1lc3NhZ2VUaW1lck1hZ25pZmljYXRpb24o
LTEpIGluIERSVC4KIGZhc3QvZm9ybXMvdmFsaWRhdGlvbi1tZXNzYWdlLWFwcGVhcmFuY2UuaHRt
bAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggOTA5ZmFiYi4uMzk2Yzc3YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA0LTAzICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0
b3BoZS5kdW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF1bRFJUXSBDYXRjaCB0aGUgInJl
c291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIxOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBFRkwncyBGcmFtZUxvYWRlckNsaWVudCBub3cgZW1pdHMg
dGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIgorICAgICAgICBzaWduYWwgb24gdGhlIHZp
ZXcgZm9yIGFsbCByZXNvdXJjZXMgYWJvdXQgdG8gYmUgbG9hZGVkLCBub3QganVzdCB0aGUKKyAg
ICAgICAgbWFpbiBmcmFtZS4gQWxzbyBhZGRzIGEgYm9vbGVhbiBmbGFnIHRvIEV3a19GcmFtZV9S
ZXNvdXJjZV9SZXF1ZXN0IHRvCisgICAgICAgIGRpc3Rpbmd1aXNoIHRoZSByZXF1ZXN0IGZvciB0
aGUgbWFpbiBmcmFtZSBmcm9tIHRob3NlIGZvcgorICAgICAgICBzdWItcmVzb3VyY2VzLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlm
aWVyVG9Jbml0aWFsUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVu
dEVmbDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAg
KiBld2svZXdrX2ZyYW1lLmg6CisgICAgICAgICogZXdrL2V3a192aWV3Lmg6CisKIDIwMTItMDQt
MDQgIERvbWluaWsgUsO2dHRzY2hlcyAgPGRvbWluaWsucm90dHNjaGVzQGxpbnV4LmludGVsLmNv
bT4KIAogICAgICAgICBbRUZMXVtEUlRdIEZyYW1lbG9hZGVyQ2xpZW50RWZsIG5lZWRzIHRvIGhh
bmRsZSBtZWRpYSBjb250ZW50IGNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IDdlZGZm
NjMuLjkzNTE4MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTE3MiwyMSArMTcyLDIyIEBAIHZv
aWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50
TG9hZGVyKiBsb2FkZXIsIHVuc2lnCiAgICAgQ1N0cmluZyB1cmwgPSBjb3JlUmVxdWVzdC51cmwo
KS5zdHJpbmcoKS51dGY4KCk7CiAgICAgREJHKCJSZXNvdXJjZSB1cmw9JXMiLCB1cmwuZGF0YSgp
KTsKIAotICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVlc3QgPSB7IDAsIGlkZW50
aWZpZXIgfTsKKyAgICAvLyBXZSB3YW50IHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gYSByZXF1ZXN0
IGZvciBhIGRvY3VtZW50IHRvIGJlIGxvYWRlZCBpbnRvCisgICAgLy8gdGhlIG1haW4gZnJhbWUs
IGEgc3ViLWZyYW1lLCBvciB0aGUgc3ViLW9iamVjdHMgaW4gdGhhdCBkb2N1bWVudC4KKyAgICBi
b29sIGlzTWFpbkZyYW1lUmVxdWVzdCA9IGZhbHNlOworICAgIGlmIChsb2FkZXIpIHsKKyAgICAg
ICAgICAgIGNvbnN0IEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlciA9IGxvYWRlci0+ZnJhbWVMb2Fk
ZXIoKTsKKyAgICAgICAgICAgIGlzTWFpbkZyYW1lUmVxdWVzdCA9IChsb2FkZXIgPT0gZnJhbWVM
b2FkZXItPnByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIoKSAmJiBmcmFtZUxvYWRlci0+aXNMb2Fk
aW5nTWFpbkZyYW1lKCkpOworICAgIH0KKworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0
IHJlcXVlc3QgPSB7IDAsIGlkZW50aWZpZXIsIG1fZnJhbWUsIGlzTWFpbkZyYW1lUmVxdWVzdCB9
OwogICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IG9yaWcgPSByZXF1ZXN0OyAvKiBJbml0
aWFsaXplIGNvbnN0IGZpZWxkcy4gKi8KIAogICAgIG9yaWcudXJsID0gcmVxdWVzdC51cmwgPSB1
cmwuZGF0YSgpOwogCiAgICAgZXdrX2ZyYW1lX3JlcXVlc3Rfd2lsbF9zZW5kKG1fZnJhbWUsICZy
ZXF1ZXN0KTsKIAotICAgIC8vIFdlIHdhbnQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBhIHJlcXVl
c3QgZm9yIGEgZG9jdW1lbnQgdG8gYmUgbG9hZGVkIGludG8KLSAgICAvLyB0aGUgbWFpbiBmcmFt
ZSwgYSBzdWItZnJhbWUsIG9yIHRoZSBzdWItb2JqZWN0cyBpbiB0aGF0IGRvY3VtZW50ICh2aWEg
Q2hyb21pdW0pLgotICAgIGlmIChsb2FkZXIpIHsKLSAgICAgICAgY29uc3QgRnJhbWVMb2FkZXIq
IGZyYW1lTG9hZGVyID0gbG9hZGVyLT5mcmFtZUxvYWRlcigpOwotICAgICAgICBjb25zdCBib29s
IGlzTWFpbkZyYW1lUmVxdWVzdCA9IChsb2FkZXIgPT0gZnJhbWVMb2FkZXItPnByb3Zpc2lvbmFs
RG9jdW1lbnRMb2FkZXIoKSAmJiBmcmFtZUxvYWRlci0+aXNMb2FkaW5nTWFpbkZyYW1lKCkpOwot
ICAgICAgICBpZiAoaXNNYWluRnJhbWVSZXF1ZXN0KQotICAgICAgICAgICAgZXZhc19vYmplY3Rf
c21hcnRfY2FsbGJhY2tfY2FsbChtX3ZpZXcsICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiwg
JnJlcXVlc3QpOwotICAgIH0KKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1f
dmlldywgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCAmcmVxdWVzdCk7CiAKICAgICBpZiAo
cmVxdWVzdC51cmwgIT0gb3JpZy51cmwpIHsKICAgICAgICAgY29yZVJlcXVlc3Quc2V0VVJMKEtV
UkwoS1VSTCgpLCByZXF1ZXN0LnVybCkpOwpAQCAtMjAzLDEyICsyMDQsMTggQEAgYm9vbCBGcmFt
ZUxvYWRlckNsaWVudEVmbDo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoRG9jdW1lbnRMb2Fk
ZXIqLCB1bnNpZ25lZAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlckNs
aWVudEVmbDo6YXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJlcXVlc3QodW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY29yZVJl
cXVlc3QpCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlmaWVyVG9Jbml0
aWFsUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiBsb2Fk
ZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY29yZVJlcXVlc3QpCiB7CiAgICAgQ1N0cmluZyB1
cmwgPSBjb3JlUmVxdWVzdC51cmwoKS5zdHJpbmcoKS51dGY4KCk7CiAgICAgREJHKCJSZXNvdXJj
ZSB1cmw9JXMiLCB1cmwuZGF0YSgpKTsKIAotICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0
IHJlcXVlc3QgPSB7IDAsIGlkZW50aWZpZXIgfTsKKyAgICBib29sIGlzTWFpbkZyYW1lUmVxdWVz
dCA9IGZhbHNlOworICAgIGlmIChsb2FkZXIpIHsKKyAgICAgICAgICAgIGNvbnN0IEZyYW1lTG9h
ZGVyKiBmcmFtZUxvYWRlciA9IGxvYWRlci0+ZnJhbWVMb2FkZXIoKTsKKyAgICAgICAgICAgIGlz
TWFpbkZyYW1lUmVxdWVzdCA9IChsb2FkZXIgPT0gZnJhbWVMb2FkZXItPnByb3Zpc2lvbmFsRG9j
dW1lbnRMb2FkZXIoKSAmJiBmcmFtZUxvYWRlci0+aXNMb2FkaW5nTWFpbkZyYW1lKCkpOworICAg
IH0KKworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVlc3QgPSB7IDAsIGlkZW50
aWZpZXIsIG1fZnJhbWUsIGlzTWFpbkZyYW1lUmVxdWVzdCB9OwogICAgIGV3a19mcmFtZV9yZXF1
ZXN0X2Fzc2lnbl9pZGVudGlmaWVyKG1fZnJhbWUsICZyZXF1ZXN0KTsKIH0KIApAQCAtMzAxLDcg
KzMwOCw3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvbihGcmFtZVBvbGljeUZ1CiAgICAgLy8gaWYgbm90IGFjY2VwdE5h
dmlnYXRpb25SZXF1ZXN0IC0gbG9vayBhdCBRdCAtPiBQb2xpY3lJZ25vcmU7CiAgICAgLy8gRklY
TUU6IGRvIHByb3BlciBjaGVjayBhbmQgb25seSByZXNldCBmb3JtcyB3aGVuIG9uIFBvbGljeUln
bm9yZQogICAgIGNoYXIqIHVybCA9IHN0cmR1cChyZXNvdXJjZVJlcXVlc3QudXJsKCkuc3RyaW5n
KCkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVz
dCA9IHsgdXJsLCAwIH07CisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdCA9
IHsgdXJsLCAwLCBtX2ZyYW1lLCBmYWxzZSB9OwogICAgIGJvb2wgcmV0ID0gZXdrX3ZpZXdfbmF2
aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24obV92aWV3LCAmcmVxdWVzdCk7CiAgICAgZnJlZSh1cmwp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKaW5kZXggZjc0NTU1ZS4uOTQyNDI4YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaApAQCAtMTA2LDYgKzEwNiw4IEBAIHR5cGVkZWYgc3Ry
dWN0IF9Fd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVz
dDsKIHN0cnVjdCBfRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgewogICAgIGNvbnN0IGNoYXIg
KnVybDsgLyoqPCB1cmwgb2YgdGhlIHJlc291cmNlICovCiAgICAgY29uc3QgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyOyAvKio8IGlkZW50aWZpZXIgb2YgcmVzb3VyY2UsIGNhbiBub3QgYmUgY2hh
bmdlZCAqLworICAgIEV2YXNfT2JqZWN0ICpmcmFtZTsgLyoqPCBmcmFtZSB3aGVyZSB0aGUgcmVz
b3VyY2UgaXMgcmVxdWVzdGVkICovCisgICAgRWluYV9Cb29sIGlzX21haW5fZnJhbWVfcmVxdWVz
dDsgLyoqIDwgaW5kaWNhdGVzIGlmIHRoZSByZXF1ZXN0IGlzIGZvciB0aGUgbWFpbiBmcmFtZSAq
LwogfTsKIAogLy8vIEVudW0gY29udGFpbmluZyBoaXQgdGVzdCBkYXRhIHR5cGVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfdmlldy5oCmluZGV4IDI1Mzk3OGQuLmZhMzgyYTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5oCkBAIC02MSw3ICs2MSw4IEBACiAgKiAgLSAibWl4ZWRjb250ZW50LGRpc3BsYXll
ZCIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmluZyBmcmFtZXMgaGFzIGxvYWRlZCBhbmQgZGlz
cGxheWVkIG1peGVkIGNvbnRlbnQuCiAgKiAgLSAibWl4ZWRjb250ZW50LHJ1biIsIHZvaWQ6IGFu
eSBvZiB0aGUgY29udGFpbmluZyBmcmFtZXMgaGFzIGxvYWRlZCBhbmQgcnVuIG1peGVkIGNvbnRl
bnQuCiAgKiAgLSAicmVhZHkiLCB2b2lkOiBwYWdlIGlzIGZ1bGx5IGxvYWRlZC4KLSAqICAtICJy
ZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiwgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QqOiB0
aGUgbmV0d29yayByZXF1ZXN0IGZvciB0aGUgbWFpbiBmcmFtZSB3aWxsIGJlIHNlbnQuCisgKiAg
LSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIsIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0
KjogYSByZXNvdXJjZSB3aWxsCisgKiAgICBiZSByZXF1ZXN0ZWQuCiAgKiAgLSAic2Nyb2xsYmFy
cyx2aXNpYmxlLGdldCIsIEVpbmFfQm9vbCAqOiBleHBlY3RzIGEgQGMgRUlOQV9UUlVFIGlmIHNj
cm9sbGJhcnMKICAqICAgIGFyZSB2aXNpYmxlOyBAYyBFSU5BX0ZBTFNFLCBvdGhlcndpc2UuCiAg
KiAgLSAic2Nyb2xsYmFycyx2aXNpYmxlLHNldCIsIEVpbmFfQm9vbDogc2V0cyBzY3JvbGxiYXJz
IHZpc2liaWxpdHkuCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggYzEzYzJlNi4uODM1M2YyYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA0LTAzICBDaHJpc3Rv
cGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF1b
RFJUXSBDYXRjaCB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiIHNpZ25hbAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIxOTIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFRkwncyBEdW1wUmVuZGVy
VHJlZSBub3cgY2F0Y2hlcyB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiCisgICAgICAg
IHNpZ25hbCBpbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlICJCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwiCisgICAgICAgIGJlaGF2aW9yIGFuZCBhdm9pZCBwb3RlbnRpYWwgbmV0d29yay1y
ZWxhdGVkIHRpbWVvdXRzIGluIHRoZSB0ZXN0cy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZUNo
cm9tZTo6Y3JlYXRlVmlldyk6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25XaWxs
U2VuZFJlcXVlc3QpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJl
ZUNocm9tZS5oOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWUpOgorCiAyMDEyLTA0LTA0
ICBBbmRyYXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF1b
V0syXSBNYWtlIHRoZSBXZWJWaWV3IGEgc3ViY2xhc3Mgb2YgRmxpY2thYmxlCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAppbmRleCAwNTdi
NDZhLi5hNTM0M2U5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJl
bmRlclRyZWVDaHJvbWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVu
ZGVyVHJlZUNocm9tZS5jcHAKQEAgLTQ1LDYgKzQ1LDggQEAKICNpbmNsdWRlIDxjc3RkaW8+CiAj
aW5jbHVkZSA8d3RmL05vdEZvdW5kLmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCiBQ
YXNzT3duUHRyPER1bXBSZW5kZXJUcmVlQ2hyb21lPiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3Jl
YXRlKEV2YXMqIGV2YXMpCiB7CiAgICAgT3duUHRyPER1bXBSZW5kZXJUcmVlQ2hyb21lPiBjaHJv
bWUgPSBhZG9wdFB0cihuZXcgRHVtcFJlbmRlclRyZWVDaHJvbWUoZXZhcykpOwpAQCAtOTMsNiAr
OTUsNyBAQCBFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNyZWF0ZVZpZXcoKSBj
b25zdAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAid2luZG93LG9i
amVjdCxjbGVhcmVkIiwgb25XaW5kb3dPYmplY3RDbGVhcmVkLCBtX2djQ29udHJvbGxlci5nZXQo
KSk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJzdGF0dXNiYXIs
dGV4dCxzZXQiLCBvblN0YXR1c2JhclRleHRTZXQsIDApOwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0
X2NhbGxiYWNrX2FkZCh2aWV3LCAibG9hZCxkb2N1bWVudCxmaW5pc2hlZCIsIG9uRG9jdW1lbnRM
b2FkRmluaXNoZWQsIDApOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3
LCAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIsIG9uV2lsbFNlbmRSZXF1ZXN0LCAwKTsKIAog
ICAgIHJldHVybiB2aWV3OwogfQpAQCAtMjg1LDMgKzI4OCwxOSBAQCB2b2lkIER1bXBSZW5kZXJU
cmVlQ2hyb21lOjpvbkRvY3VtZW50TG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZv
aWQqIGV2ZQogICAgICAgICAgICAgcHJpbnRmKCIlcyAtIGhhcyAldSBvbnVubG9hZCBoYW5kbGVy
KHMpXG4iLCBmcmFtZU5hbWUudXRmOCgpLmRhdGEoKSwgcGVuZGluZ0ZyYW1lVW5sb2FkRXZlbnRz
KTsKICAgICB9CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uV2lsbFNlbmRSZXF1
ZXN0KHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5mbykKK3sKKyAgICBFd2tfRnJh
bWVfUmVzb3VyY2VfUmVxdWVzdCogcmVxdWVzdCA9IHN0YXRpY19jYXN0PEV3a19GcmFtZV9SZXNv
dXJjZV9SZXF1ZXN0Kj4oZXZlbnRJbmZvKTsKKworICAgIEtVUkwgdXJsID0gS1VSTChQYXJzZWRV
UkxTdHJpbmcsIHJlcXVlc3QtPnVybCk7CisKKyAgICBpZiAodXJsLmlzVmFsaWQoKQorICAgICAg
ICAmJiB1cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpCisgICAgICAgICYmIHVybC5ob3N0KCkg
IT0gIjEyNy4wLjAuMSIKKyAgICAgICAgJiYgdXJsLmhvc3QoKSAhPSAiMjU1LjI1NS4yNTUuMjU1
IgorICAgICAgICAmJiB1cmwuaG9zdCgpLmxvd2VyKCkgIT0gImxvY2FsaG9zdCIpIHsKKyAgICAg
ICAgcHJpbnRmKCJCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgJXNcbiIsIHJlcXVlc3Qt
PnVybCk7CisgICAgICAgIHJlcXVlc3QtPnVybCA9IDA7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmggYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAppbmRleCA0ZWE5OTE4Li5l
MTU2YjRkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRy
ZWVDaHJvbWUuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuaApAQCAtNzUsNiArNzUsOCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIG9uVGl0
bGVDaGFuZ2VkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKIAogICAgIHN0YXRpYyB2b2lk
IG9uRG9jdW1lbnRMb2FkRmluaXNoZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOworCisg
ICAgc3RhdGljIHZvaWQgb25XaWxsU2VuZFJlcXVlc3Qodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9p
ZCopOwogfTsKIAogI2VuZGlmIC8vIER1bXBSZW5kZXJUcmVlQ2hyb21lX2gK
</data>
<flag name="commit-queue"
          id="140125"
          type_id="3"
          status="-"
          setter="kkristof"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135645</attachid>
            <date>2012-04-04 12:08:37 -0700</date>
            <delta_ts>2012-04-04 12:11:25 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>82192_will_send_c.patch</filename>
            <type>text/plain</type>
            <size>10953</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NDQ3MmQwLi5mNzJlODY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDQt
MDMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIgc2ln
bmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjE5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KKworICAgICAg
ICBVbnNraXAgcmVsYXRlZCB0ZXN0IGNhc2VzIG5vdyB0aGF0IEVGTCdzIER1bXBSZW5kZXJUcmVl
CisgICAgICAgIGNhdGNoZXMgdGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwg
YW5kIGltcGxlbWVudHMgdGhlCisgICAgICAgICJCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBV
UkwiIGJlaGF2aW9yLgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL1NraXBwZWQ6CisKIDIwMTIt
MDQtMDQgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CiAK
ICAgICAgICAgQmVzdCB6b29tYWJsZSBhcmVhIGRvZXMgbm90IGJhbGFuY2UgaW50ZXJzZWN0aW9u
IHdpdGggdGFyZ2V0IGFyZWEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwv
U2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4IDYyMzlkMWIu
LjdlYWFhMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBAIC03ODMsMTIgKzc4Myw2IEBA
IGZhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtdGV4dC1wbGFpbi5odG1sCiBmYXN0L2RvbS90aXRsZS10
ZXh0LXByb3BlcnR5Lmh0bWwKIGZhc3QvZG9tL3RpdGxlLXRleHQtcHJvcGVydHktMi5odG1sCiAK
LSMgRUZMJ3MgRFJUIChEdW1wUmVuZGVyVHJlZUNocm9tZSkgbmVlZHMgdG8gY2F0Y2ggdGhlICJy
ZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwKLWZhc3QvcnVieS9iZWZvcmUtYmxvY2st
ZG9lc250LWNyYXNoLmh0bWwKLWZhc3QvcnVieS9iZWZvcmUtdGFibGUtZG9lc250LWNyYXNoLmh0
bWwKLWZhc3QvcnVieS9nZW5lcmF0ZWQtYmVmb3JlLWNvdW50ZXItZG9lc250LWNyYXNoLmh0bWwK
LWZhc3Qvd29ya2Vycy93b3JrZXItY3Jhc2gtd2l0aC1pbnZhbGlkLWxvY2F0aW9uLmh0bWwKLQog
IyBOZWVkIHRvIGNhbGwgU2V0dGluZ3M6OnNldFZhbGlkYXRpb25NZXNzYWdlVGltZXJNYWduaWZp
Y2F0aW9uKC0xKSBpbiBEUlQuCiBmYXN0L2Zvcm1zL3ZhbGlkYXRpb24tbWVzc2FnZS1hcHBlYXJh
bmNlLmh0bWwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDkwOWZhYmIuLjM5NmM3N2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wNC0wMyAgQ2hyaXN0b3BoZSBEdW1leiAg
PGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdW0RSVF0gQ2F0Y2gg
dGhlICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiBzaWduYWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyMTkyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgR3VzdGF2byBOb3JvbmhhIFNpbHZhLgorCisgICAgICAgIEVGTCdzIEZyYW1lTG9hZGVyQ2xp
ZW50IG5vdyBlbWl0cyB0aGUgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiCisgICAgICAgIHNp
Z25hbCBvbiB0aGUgdmlldyBmb3IgYWxsIHJlc291cmNlcyBhYm91dCB0byBiZSBsb2FkZWQsIG5v
dCBqdXN0IHRoZQorICAgICAgICBtYWluIGZyYW1lLiBBbHNvIGFkZHMgYSBib29sZWFuIGZsYWcg
dG8gRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgdG8KKyAgICAgICAgZGlzdGluZ3Vpc2ggdGhl
IHJlcXVlc3QgZm9yIHRoZSBtYWluIGZyYW1lIGZyb20gdGhvc2UgZm9yCisgICAgICAgIHN1Yi1y
ZXNvdXJjZXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVm
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hX
aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6
OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b24pOgorICAgICAgICAqIGV3ay9ld2tfZnJhbWUuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcu
aDoKKwogMjAxMi0wNC0wNCAgRG9taW5payBSw7Z0dHNjaGVzICA8ZG9taW5pay5yb3R0c2NoZXNA
bGludXguaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW0RSVF0gRnJhbWVsb2FkZXJDbGllbnRF
ZmwgbmVlZHMgdG8gaGFuZGxlIG1lZGlhIGNvbnRlbnQgY29ycmVjdGx5CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5j
cHAKaW5kZXggN2VkZmY2My4uOTM1MTgyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcApAQCAtMTcyLDIx
ICsxNzIsMjIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hXaWxsU2VuZFJl
cXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWcKICAgICBDU3RyaW5nIHVybCA9IGNv
cmVSZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKTsKICAgICBEQkcoIlJlc291cmNlIHVybD0l
cyIsIHVybC5kYXRhKCkpOwogCi0gICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVz
dCA9IHsgMCwgaWRlbnRpZmllciB9OworICAgIC8vIFdlIHdhbnQgdG8gZGlzdGluZ3Vpc2ggYmV0
d2VlbiBhIHJlcXVlc3QgZm9yIGEgZG9jdW1lbnQgdG8gYmUgbG9hZGVkIGludG8KKyAgICAvLyB0
aGUgbWFpbiBmcmFtZSwgYSBzdWItZnJhbWUsIG9yIHRoZSBzdWItb2JqZWN0cyBpbiB0aGF0IGRv
Y3VtZW50LgorICAgIGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZmFsc2U7CisgICAgaWYgKGxv
YWRlcikgeworICAgICAgICAgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9h
ZGVyLT5mcmFtZUxvYWRlcigpOworICAgICAgICAgICAgaXNNYWluRnJhbWVSZXF1ZXN0ID0gKGxv
YWRlciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpICYmIGZyYW1l
TG9hZGVyLT5pc0xvYWRpbmdNYWluRnJhbWUoKSk7CisgICAgfQorCisgICAgRXdrX0ZyYW1lX1Jl
c291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciwgbV9mcmFtZSwgaXNNYWlu
RnJhbWVSZXF1ZXN0IH07CiAgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3Qgb3JpZyA9IHJl
cXVlc3Q7IC8qIEluaXRpYWxpemUgY29uc3QgZmllbGRzLiAqLwogCiAgICAgb3JpZy51cmwgPSBy
ZXF1ZXN0LnVybCA9IHVybC5kYXRhKCk7CiAKICAgICBld2tfZnJhbWVfcmVxdWVzdF93aWxsX3Nl
bmQobV9mcmFtZSwgJnJlcXVlc3QpOwogCi0gICAgLy8gV2Ugd2FudCB0byBkaXN0aW5ndWlzaCBi
ZXR3ZWVuIGEgcmVxdWVzdCBmb3IgYSBkb2N1bWVudCB0byBiZSBsb2FkZWQgaW50bwotICAgIC8v
IHRoZSBtYWluIGZyYW1lLCBhIHN1Yi1mcmFtZSwgb3IgdGhlIHN1Yi1vYmplY3RzIGluIHRoYXQg
ZG9jdW1lbnQgKHZpYSBDaHJvbWl1bSkuCi0gICAgaWYgKGxvYWRlcikgewotICAgICAgICBjb25z
dCBGcmFtZUxvYWRlciogZnJhbWVMb2FkZXIgPSBsb2FkZXItPmZyYW1lTG9hZGVyKCk7Ci0gICAg
ICAgIGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gKGxvYWRlciA9PSBmcmFtZUxvYWRl
ci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpICYmIGZyYW1lTG9hZGVyLT5pc0xvYWRpbmdN
YWluRnJhbWUoKSk7Ci0gICAgICAgIGlmIChpc01haW5GcmFtZVJlcXVlc3QpCi0gICAgICAgICAg
ICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1fdmlldywgInJlc291cmNlLHJlcXVl
c3Qsd2lsbHNlbmQiLCAmcmVxdWVzdCk7Ci0gICAgfQorICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2NhbGwobV92aWV3LCAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIsICZyZXF1ZXN0
KTsKIAogICAgIGlmIChyZXF1ZXN0LnVybCAhPSBvcmlnLnVybCkgewogICAgICAgICBjb3JlUmVx
dWVzdC5zZXRVUkwoS1VSTChLVVJMKCksIHJlcXVlc3QudXJsKSk7CkBAIC0yMDMsMTIgKzIwNCwx
OCBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFn
ZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lk
IEZyYW1lTG9hZGVyQ2xpZW50RWZsOjphc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdCh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiBjb3JlUmVxdWVzdCkKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmFzc2lnbklk
ZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1l
bnRMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjb3JlUmVxdWVzdCkKIHsK
ICAgICBDU3RyaW5nIHVybCA9IGNvcmVSZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKTsKICAg
ICBEQkcoIlJlc291cmNlIHVybD0lcyIsIHVybC5kYXRhKCkpOwogCi0gICAgRXdrX0ZyYW1lX1Jl
c291cmNlX1JlcXVlc3QgcmVxdWVzdCA9IHsgMCwgaWRlbnRpZmllciB9OworICAgIGJvb2wgaXNN
YWluRnJhbWVSZXF1ZXN0ID0gZmFsc2U7CisgICAgaWYgKGxvYWRlcikgeworICAgICAgICAgICAg
Y29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9hZGVyLT5mcmFtZUxvYWRlcigpOwor
ICAgICAgICAgICAgaXNNYWluRnJhbWVSZXF1ZXN0ID0gKGxvYWRlciA9PSBmcmFtZUxvYWRlci0+
cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpICYmIGZyYW1lTG9hZGVyLT5pc0xvYWRpbmdNYWlu
RnJhbWUoKSk7CisgICAgfQorCisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVz
dCA9IHsgMCwgaWRlbnRpZmllciwgbV9mcmFtZSwgaXNNYWluRnJhbWVSZXF1ZXN0IH07CiAgICAg
ZXdrX2ZyYW1lX3JlcXVlc3RfYXNzaWduX2lkZW50aWZpZXIobV9mcmFtZSwgJnJlcXVlc3QpOwog
fQogCkBAIC0zMDEsNyArMzA4LDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0
Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZyYW1lUG9saWN5RnUKICAgICAvLyBp
ZiBub3QgYWNjZXB0TmF2aWdhdGlvblJlcXVlc3QgLSBsb29rIGF0IFF0IC0+IFBvbGljeUlnbm9y
ZTsKICAgICAvLyBGSVhNRTogZG8gcHJvcGVyIGNoZWNrIGFuZCBvbmx5IHJlc2V0IGZvcm1zIHdo
ZW4gb24gUG9saWN5SWdub3JlCiAgICAgY2hhciogdXJsID0gc3RyZHVwKHJlc291cmNlUmVxdWVz
dC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFd2tfRnJhbWVfUmVzb3VyY2Vf
UmVxdWVzdCByZXF1ZXN0ID0geyB1cmwsIDAgfTsKKyAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVx
dWVzdCByZXF1ZXN0ID0geyB1cmwsIDAsIG1fZnJhbWUsIGZhbHNlIH07CiAgICAgYm9vbCByZXQg
PSBld2tfdmlld19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbihtX3ZpZXcsICZyZXF1ZXN0KTsK
ICAgICBmcmVlKHVybCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
ZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaAppbmRleCBmNzQ1NTVl
Li45NDI0MjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCkBAIC0xMDYsNiArMTA2LDgg
QEAgdHlwZWRlZiBzdHJ1Y3QgX0V3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IEV3a19GcmFtZV9S
ZXNvdXJjZV9SZXF1ZXN0Owogc3RydWN0IF9Fd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCB7CiAg
ICAgY29uc3QgY2hhciAqdXJsOyAvKio8IHVybCBvZiB0aGUgcmVzb3VyY2UgKi8KICAgICBjb25z
dCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXI7IC8qKjwgaWRlbnRpZmllciBvZiByZXNvdXJjZSwg
Y2FuIG5vdCBiZSBjaGFuZ2VkICovCisgICAgRXZhc19PYmplY3QgKmZyYW1lOyAvKio8IGZyYW1l
IHdoZXJlIHRoZSByZXNvdXJjZSBpcyByZXF1ZXN0ZWQgKi8KKyAgICBFaW5hX0Jvb2wgaXNfbWFp
bl9mcmFtZV9yZXF1ZXN0OyAvKiogPCBpbmRpY2F0ZXMgaWYgdGhlIHJlcXVlc3QgaXMgZm9yIHRo
ZSBtYWluIGZyYW1lICovCiB9OwogCiAvLy8gRW51bSBjb250YWluaW5nIGhpdCB0ZXN0IGRhdGEg
dHlwZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKaW5kZXggMjUzOTc4ZC4uZmEzODJhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTYxLDcgKzYxLDggQEAKICAqICAtICJtaXhlZGNv
bnRlbnQsZGlzcGxheWVkIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBoYXMg
bG9hZGVkIGFuZCBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudC4KICAqICAtICJtaXhlZGNvbnRlbnQs
cnVuIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBoYXMgbG9hZGVkIGFuZCBy
dW4gbWl4ZWQgY29udGVudC4KICAqICAtICJyZWFkeSIsIHZvaWQ6IHBhZ2UgaXMgZnVsbHkgbG9h
ZGVkLgotICogIC0gInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBFd2tfRnJhbWVfUmVzb3Vy
Y2VfUmVxdWVzdCo6IHRoZSBuZXR3b3JrIHJlcXVlc3QgZm9yIHRoZSBtYWluIGZyYW1lIHdpbGwg
YmUgc2VudC4KKyAqICAtICJyZXNvdXJjZSxyZXF1ZXN0LHdpbGxzZW5kIiwgRXdrX0ZyYW1lX1Jl
c291cmNlX1JlcXVlc3QqOiBhIHJlc291cmNlIHdpbGwKKyAqICAgIGJlIHJlcXVlc3RlZC4KICAq
ICAtICJzY3JvbGxiYXJzLHZpc2libGUsZ2V0IiwgRWluYV9Cb29sICo6IGV4cGVjdHMgYSBAYyBF
SU5BX1RSVUUgaWYgc2Nyb2xsYmFycwogICogICAgYXJlIHZpc2libGU7IEBjIEVJTkFfRkFMU0Us
IG90aGVyd2lzZS4KICAqICAtICJzY3JvbGxiYXJzLHZpc2libGUsc2V0IiwgRWluYV9Cb29sOiBz
ZXRzIHNjcm9sbGJhcnMgdmlzaWJpbGl0eS4KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjMTNjMmU2Li44MzUzZjJiIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTIt
MDQtMDMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKwor
ICAgICAgICBbRUZMXVtEUlRdIENhdGNoIHRoZSAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIg
c2lnbmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MjE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KKworICAg
ICAgICBFRkwncyBEdW1wUmVuZGVyVHJlZSBub3cgY2F0Y2hlcyB0aGUgInJlc291cmNlLHJlcXVl
c3Qsd2lsbHNlbmQiCisgICAgICAgIHNpZ25hbCBpbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlICJC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwiCisgICAgICAgIGJlaGF2aW9yIGFuZCBhdm9p
ZCBwb3RlbnRpYWwgbmV0d29yay1yZWxhdGVkIHRpbWVvdXRzIGluIHRoZSB0ZXN0cy4KKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHA6CisgICAg
ICAgIChEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlVmlldyk6CisgICAgICAgIChEdW1wUmVu
ZGVyVHJlZUNocm9tZTo6b25XaWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVD
aHJvbWUpOgorCiAyMDEyLTA0LTA0ICBBbmRyYXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAbm9raWEu
Y29tPgogCiAgICAgICAgIFtRdF1bV0syXSBNYWtlIHRoZSBXZWJWaWV3IGEgc3ViY2xhc3Mgb2Yg
RmxpY2thYmxlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRl
clRyZWVDaHJvbWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVl
Q2hyb21lLmNwcAppbmRleCAwNTdiNDZhLi5hNTM0M2U5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKQEAgLTQ1LDYgKzQ1LDggQEAK
ICNpbmNsdWRlIDxjc3RkaW8+CiAjaW5jbHVkZSA8d3RmL05vdEZvdW5kLmg+CiAKK3VzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOworCiBQYXNzT3duUHRyPER1bXBSZW5kZXJUcmVlQ2hyb21lPiBEdW1w
UmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlKEV2YXMqIGV2YXMpCiB7CiAgICAgT3duUHRyPER1bXBS
ZW5kZXJUcmVlQ2hyb21lPiBjaHJvbWUgPSBhZG9wdFB0cihuZXcgRHVtcFJlbmRlclRyZWVDaHJv
bWUoZXZhcykpOwpAQCAtOTMsNiArOTUsNyBAQCBFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVD
aHJvbWU6OmNyZWF0ZVZpZXcoKSBjb25zdAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNr
X2FkZCh2aWV3LCAid2luZG93LG9iamVjdCxjbGVhcmVkIiwgb25XaW5kb3dPYmplY3RDbGVhcmVk
LCBtX2djQ29udHJvbGxlci5nZXQoKSk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tf
YWRkKHZpZXcsICJzdGF0dXNiYXIsdGV4dCxzZXQiLCBvblN0YXR1c2JhclRleHRTZXQsIDApOwog
ICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAibG9hZCxkb2N1bWVudCxm
aW5pc2hlZCIsIG9uRG9jdW1lbnRMb2FkRmluaXNoZWQsIDApOworICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAicmVzb3VyY2UscmVxdWVzdCx3aWxsc2VuZCIsIG9uV2ls
bFNlbmRSZXF1ZXN0LCAwKTsKIAogICAgIHJldHVybiB2aWV3OwogfQpAQCAtMjg1LDMgKzI4OCwx
OSBAQCB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkRvY3VtZW50TG9hZEZpbmlzaGVkKHZv
aWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZQogICAgICAgICAgICAgcHJpbnRmKCIlcyAtIGhh
cyAldSBvbnVubG9hZCBoYW5kbGVyKHMpXG4iLCBmcmFtZU5hbWUudXRmOCgpLmRhdGEoKSwgcGVu
ZGluZ0ZyYW1lVW5sb2FkRXZlbnRzKTsKICAgICB9CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVD
aHJvbWU6Om9uV2lsbFNlbmRSZXF1ZXN0KHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50
SW5mbykKK3sKKyAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCogcmVxdWVzdCA9IHN0YXRp
Y19jYXN0PEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0Kj4oZXZlbnRJbmZvKTsKKworICAgIEtV
UkwgdXJsID0gS1VSTChQYXJzZWRVUkxTdHJpbmcsIHJlcXVlc3QtPnVybCk7CisKKyAgICBpZiAo
dXJsLmlzVmFsaWQoKQorICAgICAgICAmJiB1cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpCisg
ICAgICAgICYmIHVybC5ob3N0KCkgIT0gIjEyNy4wLjAuMSIKKyAgICAgICAgJiYgdXJsLmhvc3Qo
KSAhPSAiMjU1LjI1NS4yNTUuMjU1IgorICAgICAgICAmJiB1cmwuaG9zdCgpLmxvd2VyKCkgIT0g
ImxvY2FsaG9zdCIpIHsKKyAgICAgICAgcHJpbnRmKCJCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5h
bCBVUkwgJXNcbiIsIHJlcXVlc3QtPnVybCk7CisgICAgICAgIHJlcXVlc3QtPnVybCA9IDA7Cisg
ICAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJU
cmVlQ2hyb21lLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJv
bWUuaAppbmRleCA0ZWE5OTE4Li5lMTU2YjRkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaApAQCAtNzUsNiArNzUsOCBAQCBwcml2YXRlOgog
ICAgIHN0YXRpYyB2b2lkIG9uVGl0bGVDaGFuZ2VkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQq
KTsKIAogICAgIHN0YXRpYyB2b2lkIG9uRG9jdW1lbnRMb2FkRmluaXNoZWQodm9pZCosIEV2YXNf
T2JqZWN0Kiwgdm9pZCopOworCisgICAgc3RhdGljIHZvaWQgb25XaWxsU2VuZFJlcXVlc3Qodm9p
ZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwogfTsKIAogI2VuZGlmIC8vIER1bXBSZW5kZXJUcmVl
Q2hyb21lX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>