<?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>86343</bug_id>
          
          <creation_ts>2012-05-14 01:29:50 -0700</creation_ts>
          <short_desc>[EFL] New signals in ewk_view to enable global history delegate functionality</short_desc>
          <delta_ts>2012-06-01 05:58:03 -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>82579</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Mikhail Pozdnyakov">mikhail.pozdnyakov</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</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>622749</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-14 01:29:50 -0700</bug_when>
    <thetext>New signals are needed to be attached into ewk_view to enable global history delegate functionality for EFL port( and unskip http/tests/globalhistory testcases). 
Global history delegate is an interface for WebKit clients to manage their own global history store.

The new signals should do following:
1) report that view did navigation and give the navigation details.
2) report that view performed a client redirect and give source and destination uris.
3) report that view performed a server redirect and give source and destination uris.
4) report that client should fill the visited links set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622781</commentid>
    <comment_count>1</comment_count>
      <attachid>141677</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-14 03:13:57 -0700</bug_when>
    <thetext>Created attachment 141677
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622792</commentid>
    <comment_count>2</comment_count>
      <attachid>141677</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-14 03:39:07 -0700</bug_when>
    <thetext>Comment on attachment 141677
patch

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

&gt; Source/WebKit/efl/ewk/ewk_view.h:306
&gt; +    const char* url;  /**&lt; url for the history */

Move &apos;*&apos; pointer to variable side.

&gt; Source/WebKit/efl/ewk/ewk_view.h:307
&gt; +    const char* title;  /**&lt; title of the navigated page */

ditto.

&gt; Source/WebKit/efl/ewk/ewk_view.h:310
&gt; +    Eina_Bool hasSubstituteData;  /**&lt; data substitution flag */

We are using efl coding style for public header files. So, clientRedirectSource need to be changed. For example, has_substitute_data.

&gt; Source/WebKit/efl/ewk/ewk_view.h:311
&gt; +    const char* clientRedirectSource;  /**&lt; client redirect source url*/

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622796</commentid>
    <comment_count>3</comment_count>
      <attachid>141682</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-14 03:52:46 -0700</bug_when>
    <thetext>Created attachment 141682
patch v2 (corrected due to efl style)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622797</commentid>
    <comment_count>4</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-14 03:54:17 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 141677 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=141677&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:306
&gt; &gt; +    const char* url;  /**&lt; url for the history */
&gt; 
&gt; Move &apos;*&apos; pointer to variable side.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:307
&gt; &gt; +    const char* title;  /**&lt; title of the navigated page */
&gt; 
&gt; ditto.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:310
&gt; &gt; +    Eina_Bool hasSubstituteData;  /**&lt; data substitution flag */
&gt; 
&gt; We are using efl coding style for public header files. So, clientRedirectSource need to be changed. For example, has_substitute_data.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:311
&gt; &gt; +    const char* clientRedirectSource;  /**&lt; client redirect source url*/
&gt; 
&gt; ditto.
Thanks for the review! Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622820</commentid>
    <comment_count>5</comment_count>
      <attachid>141682</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-14 04:19:02 -0700</bug_when>
    <thetext>Comment on attachment 141682
patch v2 (corrected due to efl style)

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

&gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:398
&gt; +    evas_object_smart_callback_call(m_view, &quot;populate,visited,links&quot;, 0);

I don&apos;t understand why we need to send this signal. Could you explain this ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622836</commentid>
    <comment_count>6</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-14 04:47:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 141682 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=141682&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:398
&gt; &gt; +    evas_object_smart_callback_call(m_view, &quot;populate,visited,links&quot;, 0);
&gt; 
&gt; I don&apos;t understand why we need to send this signal. Could you explain this ?

From ./Source/WebCore/ChangeLog-2008-08-10: 
Added populateVisitedLinks function, used to fill the
visited links set from the global history at application startup time.

So this signal is send to the client when when webcore needs information about visited links from a persistent history storage (managed by the client).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622865</commentid>
    <comment_count>7</comment_count>
      <attachid>141682</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-14 05:28:38 -0700</bug_when>
    <thetext>Comment on attachment 141682
patch v2 (corrected due to efl style)

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

&gt;&gt;&gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:398
&gt;&gt;&gt; +    evas_object_smart_callback_call(m_view, &quot;populate,visited,links&quot;, 0);
&gt;&gt; 
&gt;&gt; I don&apos;t understand why we need to send this signal. Could you explain this ?
&gt; 
&gt; From ./Source/WebCore/ChangeLog-2008-08-10: 
&gt; Added populateVisitedLinks function, used to fill the
&gt; visited links set from the global history at application startup time.
&gt; 
&gt; So this signal is send to the client when when webcore needs information about visited links from a persistent history storage (managed by the client).

If so, I wonder how to set visited link information from client. Does ewk already have _set() APIs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622878</commentid>
    <comment_count>8</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-14 05:57:47 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 141682 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=141682&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:398
&gt; &gt;&gt;&gt; +    evas_object_smart_callback_call(m_view, &quot;populate,visited,links&quot;, 0);
&gt; &gt;&gt; 
&gt; &gt;&gt; I don&apos;t understand why we need to send this signal. Could you explain this ?
&gt; &gt; 
&gt; &gt; From ./Source/WebCore/ChangeLog-2008-08-10: 
&gt; &gt; Added populateVisitedLinks function, used to fill the
&gt; &gt; visited links set from the global history at application startup time.
&gt; &gt; 
&gt; &gt; So this signal is send to the client when when webcore needs information about visited links from a persistent history storage (managed by the client).
&gt; 
&gt; If so, I wonder how to set visited link information from client. Does ewk already have _set() APIs?

As far as I know such api is not available on EFL port and this signal can be used in DRT tests only at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622886</commentid>
    <comment_count>9</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-14 06:09:31 -0700</bug_when>
    <thetext>&gt; As far as I know such api is not available on EFL port and this signal can be used in DRT tests only at the moment.

I could add this api, but I would create a separate bug for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622932</commentid>
    <comment_count>10</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-14 06:53:19 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt; As far as I know such api is not available on EFL port and this signal can be used in DRT tests only at the moment.
&gt; 
&gt; I could add this api, but I would create a separate bug for it.

From functionality point of view, I think we have to add a pair of function. In this case, it seems you need to implement functions that client sets according to &quot;populate,visited,links&quot; signal. Or, I think you&apos;re able to file a bug for &quot;populate,visited,links&quot;  signal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622950</commentid>
    <comment_count>11</comment_count>
      <attachid>141722</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-14 07:08:09 -0700</bug_when>
    <thetext>Created attachment 141722
patch v3 (removed &quot;populate,visited,links&quot; signal)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622951</commentid>
    <comment_count>12</comment_count>
      <attachid>141723</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-14 07:11:31 -0700</bug_when>
    <thetext>Created attachment 141723
patch v4 (removed &quot;populate,visited,links&quot; signal + changelog clean up)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622954</commentid>
    <comment_count>13</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-14 07:23:13 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; &gt; As far as I know such api is not available on EFL port and this signal can be used in DRT tests only at the moment.
&gt; &gt; 
&gt; &gt; I could add this api, but I would create a separate bug for it.
&gt; 
&gt; From functionality point of view, I think we have to add a pair of function. In this case, it seems you need to implement functions that client sets according to &quot;populate,visited,links&quot; signal. Or, I think you&apos;re able to file a bug for &quot;populate,visited,links&quot;  signal.

I&apos;ve removed &quot;populate,visited,links&quot; signal from the patch, the bug86370 will be responsible for both the signal and new API setting visited link information from the client.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623529</commentid>
    <comment_count>14</comment_count>
      <attachid>141723</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-14 18:07:46 -0700</bug_when>
    <thetext>Comment on attachment 141723
patch v4 (removed &quot;populate,visited,links&quot; signal + changelog clean up)

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

Looks make sense except for my trivial comment.

&gt; Source/WebKit/efl/ChangeLog:10
&gt; +        1) report that view did navigation and give the navigation details.

I heard that webkit changelog sublates to use &apos;-&apos;, &apos;1), 2)&apos; and so on. I&apos;m not sure whether we can use 1) in ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623742</commentid>
    <comment_count>15</comment_count>
      <attachid>141876</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-15 00:28:27 -0700</bug_when>
    <thetext>Created attachment 141876
patch v5 (changelog clean up)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623744</commentid>
    <comment_count>16</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-15 00:29:21 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 141723 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=141723&amp;action=review
&gt; 
&gt; Looks make sense except for my trivial comment.
&gt; 
&gt; &gt; Source/WebKit/efl/ChangeLog:10
&gt; &gt; +        1) report that view did navigation and give the navigation details.
&gt; 
&gt; I heard that webkit changelog sublates to use &apos;-&apos;, &apos;1), 2)&apos; and so on. I&apos;m not sure whether we can use 1) in ChangeLog.
Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623758</commentid>
    <comment_count>17</comment_count>
      <attachid>141876</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-15 00:47:11 -0700</bug_when>
    <thetext>Comment on attachment 141876
patch v5 (changelog clean up)

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635908</commentid>
    <comment_count>18</comment_count>
      <attachid>141876</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-29 05:23:23 -0700</bug_when>
    <thetext>Comment on attachment 141876
patch v5 (changelog clean up)

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

&gt; Source/WebKit/efl/ChangeLog:9
&gt; +        The new ewk_view signals do following:

do the following*

&gt; Source/WebKit/efl/ChangeLog:10
&gt; +        Report that view did navigation and give the navigation details.

Report that a navigation happened within the view and ...

&gt; Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp:977
&gt; +    Ewk_View_Navigation_Data data =
&gt; +    {urlForHistory.data(), title.data(),
&gt; +     {originalURL.data(), firstParty.data(), httpMethod.data(), 0, m_frame, isMainFrameRequest}, // request
&gt; +     {responseURL.data(), loader-&gt;response().httpStatusCode(), 0, mimeType.data()}, // response

Not really webkit codign style

&gt; Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp:978
&gt; +     loader-&gt;substituteData().isValid(), // has substituted data

Comments are supposed to start with capital letter and end with a punctuation mark

&gt; Source/WebKit/efl/ewk/ewk_view.h:75
&gt; + *  - &quot;perform,client,redirect&quot;, const char **: reports that view performed a client redirect and gives source and destination uris.

uri&apos;s? URI&apos;s ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635931</commentid>
    <comment_count>19</comment_count>
      <attachid>144536</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-29 06:09:54 -0700</bug_when>
    <thetext>Created attachment 144536
patch v6 (Review remarks are met)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635933</commentid>
    <comment_count>20</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-29 06:11:57 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 141876 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=141876&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ChangeLog:9
&gt; &gt; +        The new ewk_view signals do following:
&gt; 
&gt; do the following*
&gt; 
&gt; &gt; Source/WebKit/efl/ChangeLog:10
&gt; &gt; +        Report that view did navigation and give the navigation details.
&gt; 
&gt; Report that a navigation happened within the view and ...
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp:977
&gt; &gt; +    Ewk_View_Navigation_Data data =
&gt; &gt; +    {urlForHistory.data(), title.data(),
&gt; &gt; +     {originalURL.data(), firstParty.data(), httpMethod.data(), 0, m_frame, isMainFrameRequest}, // request
&gt; &gt; +     {responseURL.data(), loader-&gt;response().httpStatusCode(), 0, mimeType.data()}, // response
&gt; 
&gt; Not really webkit codign style
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp:978
&gt; &gt; +     loader-&gt;substituteData().isValid(), // has substituted data
&gt; 
&gt; Comments are supposed to start with capital letter and end with a punctuation mark
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:75
&gt; &gt; + *  - &quot;perform,client,redirect&quot;, const char **: reports that view performed a client redirect and gives source and destination uris.
&gt; 
&gt; uri&apos;s? URI&apos;s ?
Thanks for your comments. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637408</commentid>
    <comment_count>21</comment_count>
      <attachid>144536</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-30 10:41:29 -0700</bug_when>
    <thetext>Comment on attachment 144536
patch v6 (Review remarks are met)

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

&gt; Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp:519
&gt; +            const char* data[2] = {sourceURL.data(), destURL.data()};

I would define a Ewk struct for this. This is less bug-prone for the client.

&gt; Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp:526
&gt; +            const char* data[2] = {sourceURL.data(), destURL.data()};

Ditto.

&gt; Source/WebKit/efl/ewk/ewk_view.h:75
&gt; + *  - &quot;perform,client,redirect&quot;, const char **: reports that view performed a client redirect and gives source and destination URI&apos;s.

Remove space before the *. Also minor typo: &quot;URIs&quot;

&gt; Source/WebKit/efl/ewk/ewk_view.h:76
&gt; + *  - &quot;perform,server,redirect&quot;, const char **: reports that view performed a server redirect and gives source and destination URI&apos;s.

Ditto.

&gt; Source/WebKit/efl/ewk/ewk_view.h:311
&gt; +    Ewk_Frame_Resource_Request request;  /**&lt; Navigation request. */

Couldn&apos;t we make this a pointer to avoid copying the struct?

&gt; Source/WebKit/efl/ewk/ewk_view.h:312
&gt; +    Ewk_Frame_Resource_Response response;  /**&lt; Navigation response. */

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638265</commentid>
    <comment_count>22</comment_count>
      <attachid>145057</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-31 05:20:39 -0700</bug_when>
    <thetext>Created attachment 145057
patch v7 (Review comments are met. Thanks Chris)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638284</commentid>
    <comment_count>23</comment_count>
      <attachid>145062</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-31 05:41:00 -0700</bug_when>
    <thetext>Created attachment 145062
patch v7 (Review comments are met. Thanks Chris)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638334</commentid>
    <comment_count>24</comment_count>
      <attachid>145062</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-31 06:30:29 -0700</bug_when>
    <thetext>Comment on attachment 145062
patch v7 (Review comments are met. Thanks Chris)

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

Otherwise, LGTM.

&gt; Source/WebKit/efl/ChangeLog:17
&gt; +        * ewk/ewk_view.h: New signals and new Ewk_View_Navigation_Data and Ewk_View_Redirectionion_Data types.

&quot;Ewk_View_Redirectionion_Data&quot; &lt;- typo, + extra &quot;and&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638341</commentid>
    <comment_count>25</comment_count>
      <attachid>145078</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-31 06:37:50 -0700</bug_when>
    <thetext>Created attachment 145078
patch v8 (Removed typos from changelog)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638574</commentid>
    <comment_count>26</comment_count>
      <attachid>145078</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-31 11:04:14 -0700</bug_when>
    <thetext>Comment on attachment 145078
patch v8 (Removed typos from changelog)

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

&gt; Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp:518
&gt; +            const CString&amp; destURL = loader-&gt;clientRedirectDestinationForHistory().utf8();

According to WebKit coding style, we should avoid abbreviations. -&gt; destinationURL.

&gt; Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp:525
&gt; +            const CString&amp; destURL = loader-&gt;serverRedirectDestinationForHistory().utf8();

Ditto.

&gt; Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp:1004
&gt; +    bool substituteData = loader-&gt;substituteData().isValid();

According to WebKit coding style, boolean variable names should start with words like &quot;is&quot;, &quot;did&quot;, &quot;should&quot;, &quot;has&quot;...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639131</commentid>
    <comment_count>27</comment_count>
      <attachid>145249</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-06-01 02:51:12 -0700</bug_when>
    <thetext>Created attachment 145249
patch v9 (Another review remarks met. Chris thanks again)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639135</commentid>
    <comment_count>28</comment_count>
      <attachid>145249</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-06-01 02:55:20 -0700</bug_when>
    <thetext>Comment on attachment 145249
patch v9 (Another review remarks met. Chris thanks again)

Looks great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639248</commentid>
    <comment_count>29</comment_count>
      <attachid>145249</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-01 05:57:55 -0700</bug_when>
    <thetext>Comment on attachment 145249
patch v9 (Another review remarks met. Chris thanks again)

Clearing flags on attachment: 145249

Committed r119223: &lt;http://trac.webkit.org/changeset/119223&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639249</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-01 05:58:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141677</attachid>
            <date>2012-05-14 03:13:57 -0700</date>
            <delta_ts>2012-05-14 03:52:46 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug86343</filename>
            <type>text/plain</type>
            <size>8426</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDhlNjQwMTJkNGI0ZTkxOTMwYjQyODFkYjY0NTc0MTQxNjA4MGVjZTkKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
TW9uIE1heSAxNCAxMzoxMTowMiAyMDEyICswMzAwCgogICAgYnVnODYzNDMKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggODk4OTM5Yy4uOGRlMTEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDEyLTA1LTE0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIE5ldyBzaWduYWxzIGluIGV3a192aWV3IHRvIGVu
YWJsZSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjM0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdsb2JhbCBoaXN0b3J5IGRlbGVnYXRl
IGlzIGFuIGludGVyZmFjZSBmb3IgV2ViS2l0IGNsaWVudHMgdG8gbWFuYWdlIHRoZWlyIG93biBn
bG9iYWwgaGlzdG9yeSBzdG9yZS4KKyAgICAgICAgVGhlIG5ldyBld2tfdmlldyBzaWduYWxzIGRv
IGZvbGxvd2luZzoKKyAgICAgICAgMSkgcmVwb3J0IHRoYXQgdmlldyBkaWQgbmF2aWdhdGlvbiBh
bmQgZ2l2ZSB0aGUgbmF2aWdhdGlvbiBkZXRhaWxzLgorICAgICAgICAyKSByZXBvcnQgdGhhdCB2
aWV3IHBlcmZvcm1lZCBhIGNsaWVudCByZWRpcmVjdCBhbmQgZ2l2ZSBzb3VyY2UgYW5kIGRlc3Rp
bmF0aW9uIHVyaXMuCisgICAgICAgIDMpIHJlcG9ydCB0aGF0IHZpZXcgcGVyZm9ybWVkIGEgc2Vy
dmVyIHJlZGlyZWN0IGFuZCBnaXZlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gdXJpcy4KKyAgICAg
ICAgNCkgcmVwb3J0IHRoYXQgY2xpZW50IHNob3VsZCBmaWxsIHRoZSB2aXNpdGVkIGxpbmtzIHNl
dC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OnBvcHVsYXRlVmlzaXRlZExpbmtzKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50RWZsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
ckNsaWVudEVmbDo6dXBkYXRlR2xvYmFsSGlzdG9yeVJlZGlyZWN0TGlua3MpOiBpbXBsZW1lbnRh
dGlvbiBhZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRh
dGVHbG9iYWxIaXN0b3J5KTogaW1wbGVtZW50YXRpb24gYWRkZWQuCisgICAgICAgICogZXdrL2V3
a192aWV3Lmg6IE5ldyBzaWduYWxzIGFuZCBuZXcgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIHR5
cGUuCisKIDIwMTItMDUtMTEgIERvbWluaWsgUsO2dHRzY2hlcyAgPGRvbWluaWsucm90dHNjaGVz
QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtEUlRdIElucHV0IEF0dHJpYnV0ZSBQbGFjZWhv
bGRlciBSZWZUZXN0cyBmYWlsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRleCAxZTc2MTBhLi44YzExM2RiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHAKQEAgLTM5Myw2ICszOTMsMTEgQEAgdm9pZCBDaHJvbWVDbGllbnRFZmw6OnJlYWNoZWRB
cHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoU2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF8KICAgICBu
b3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIENocm9tZUNsaWVudEVmbDo6cG9wdWxhdGVWaXNp
dGVkTGlua3MoKQoreworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3
LCAicG9wdWxhdGUsdmlzaXRlZCxsaW5rcyIsIDApOworfQorCiAjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpuZWVkVG91Y2hFdmVudHMoYm9vbCBuZWVkZWQp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEVmbC5oCmluZGV4IDY1ZWFlYjMuLjllOWYzZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xMjUsNiArMTI1LDggQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qg
c3BhY2VOZWVkZWQpOwogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9y
aWdpblF1b3RhKFNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVlZGVkKTsKIAor
ICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpOworCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKICAgICB2aXJ0dWFsIHZvaWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEVmbC5jcHAKaW5kZXggNTE4NWQxZS4uY2NlY2YxNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
RWZsLmNwcApAQCAtNTAwLDYgKzUwMCwyNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpy
ZXN0b3JlVmlld1N0YXRlKCkKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBkYXRlR2xv
YmFsSGlzdG9yeVJlZGlyZWN0TGlua3MoKQogeworICAgICAgICBXZWJDb3JlOjpGcmFtZSogZnJh
bWUgPSBFV0tQcml2YXRlOjpjb3JlRnJhbWUobV9mcmFtZSk7CisgICAgICAgIGlmICghZnJhbWUp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIq
IGxvYWRlciA9IGZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICAgICAgaWYg
KCFsb2FkZXIpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKCFsb2FkZXItPmNs
aWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSgpLmlzTnVsbCgpKSB7CisgICAgICAgICAgICBj
b25zdCBDU3RyaW5nJiBzb3VyY2VVUkwgPSBsb2FkZXItPmNsaWVudFJlZGlyZWN0U291cmNlRm9y
SGlzdG9yeSgpLnV0ZjgoKTsKKyAgICAgICAgICAgIGNvbnN0IENTdHJpbmcmIGRlc3RVUkwgPSBs
b2FkZXItPmNsaWVudFJlZGlyZWN0RGVzdGluYXRpb25Gb3JIaXN0b3J5KCkudXRmOCgpOworICAg
ICAgICAgICAgY29uc3QgY2hhciogZGF0YVsyXSA9IHtzb3VyY2VVUkwuZGF0YSgpLCBkZXN0VVJM
LmRhdGEoKX07CisgICAgICAgICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1f
dmlldywgInBlcmZvcm0sY2xpZW50LHJlZGlyZWN0IiwgZGF0YSk7CisgICAgICAgIH0KKworICAg
ICAgICBpZiAoIWxvYWRlci0+c2VydmVyUmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkuaXNOdWxs
KCkpIHsKKyAgICAgICAgICAgIGNvbnN0IENTdHJpbmcmIHNvdXJjZVVSTCA9IGxvYWRlci0+c2Vy
dmVyUmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkudXRmOCgpOworICAgICAgICAgICAgY29uc3Qg
Q1N0cmluZyYgZGVzdFVSTCA9IGxvYWRlci0+c2VydmVyUmVkaXJlY3REZXN0aW5hdGlvbkZvckhp
c3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBjb25zdCBjaGFyKiBkYXRhWzJdID0ge3NvdXJj
ZVVSTC5kYXRhKCksIGRlc3RVUkwuZGF0YSgpfTsKKyAgICAgICAgICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAicGVyZm9ybSxzZXJ2ZXIscmVkaXJlY3QiLCBkYXRh
KTsKKyAgICAgICAgfQogfQogCiBib29sIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzaG91bGRHb1Rv
SGlzdG9yeUl0ZW0oSGlzdG9yeUl0ZW0qIGl0ZW0pIGNvbnN0CkBAIC05MzEsNyArOTUyLDMyIEBA
IHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnN0YXJ0RG93bmxvYWQoY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTCiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnVw
ZGF0ZUdsb2JhbEhpc3RvcnkoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgV2ViQ29y
ZTo6RnJhbWUqIGZyYW1lID0gRVdLUHJpdmF0ZTo6Y29yZUZyYW1lKG1fZnJhbWUpOworICAgIGlm
ICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
KiBsb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCk7CisgICAgaWYgKCFs
b2FkZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbnN0IEZyYW1lTG9hZGVyKiBmcmFtZUxv
YWRlciA9IGxvYWRlci0+ZnJhbWVMb2FkZXIoKTsKKyAgICBjb25zdCBib29sIGlzTWFpbkZyYW1l
UmVxdWVzdCA9IGZyYW1lTG9hZGVyICYmIChsb2FkZXIgPT0gZnJhbWVMb2FkZXItPnByb3Zpc2lv
bmFsRG9jdW1lbnRMb2FkZXIoKSkgJiYgZnJhbWVMb2FkZXItPmlzTG9hZGluZ01haW5GcmFtZSgp
OworICAgIGNvbnN0IENTdHJpbmcmIHVybEZvckhpc3RvcnkgPSBsb2FkZXItPnVybEZvckhpc3Rv
cnkoKS5zdHJpbmcoKS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgdGl0bGUgPSBsb2FkZXIt
PnRpdGxlKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIGZpcnN0UGFydHkg
PSBsb2FkZXItPnJlcXVlc3QoKS5maXJzdFBhcnR5Rm9yQ29va2llcygpLnN0cmluZygpLnV0Zjgo
KTsKKyAgICBjb25zdCBDU3RyaW5nJiBjbGllbnRSZWRpcmVjdFNvdXJjZSA9IGxvYWRlci0+Y2xp
ZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcm
IG9yaWdpbmFsVVJMID0gbG9hZGVyLT5vcmlnaW5hbFVSTCgpLnN0cmluZygpLnV0ZjgoKTsKKyAg
ICBjb25zdCBDU3RyaW5nJiBodHRwTWV0aG9kID0gbG9hZGVyLT5yZXF1ZXN0KCkuaHR0cE1ldGhv
ZCgpLnV0ZjgoKTsKKyAgICBjb25zdCBDU3RyaW5nJiByZXNwb25zZVVSTCA9IGxvYWRlci0+cmVz
cG9uc2VVUkwoKS5zdHJpbmcoKS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgbWltZVR5cGUg
PSBsb2FkZXItPnJlc3BvbnNlKCkubWltZVR5cGUoKS51dGY4KCk7CisKKyAgICBFd2tfVmlld19O
YXZpZ2F0aW9uX0RhdGEgZGF0YSA9CisgICAge3VybEZvckhpc3RvcnkuZGF0YSgpLCB0aXRsZS5k
YXRhKCksCisgICAgIHtvcmlnaW5hbFVSTC5kYXRhKCksIGZpcnN0UGFydHkuZGF0YSgpLCBodHRw
TWV0aG9kLmRhdGEoKSwgMCwgbV9mcmFtZSwgaXNNYWluRnJhbWVSZXF1ZXN0fSwgLy8gcmVxdWVz
dAorICAgICB7cmVzcG9uc2VVUkwuZGF0YSgpLCBsb2FkZXItPnJlc3BvbnNlKCkuaHR0cFN0YXR1
c0NvZGUoKSwgMCwgbWltZVR5cGUuZGF0YSgpfSwgLy8gcmVzcG9uc2UKKyAgICAgbG9hZGVyLT5z
dWJzdGl0dXRlRGF0YSgpLmlzVmFsaWQoKSwgLy8gaGFzIHN1YnN0aXR1dGVkIGRhdGEKKyAgICAg
Y2xpZW50UmVkaXJlY3RTb3VyY2UuZGF0YSgpfTsgLy8gY2xpZW50IHJlZGlyZWN0IHNvdXJjZQor
ICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAibmF2aWdhdGUsd2l0
aCxkYXRhIiwgJmRhdGEpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlUGxh
dGZvcm1EYXRhVG9DYWNoZWRGcmFtZShDYWNoZWRGcmFtZSopCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmll
dy5oCmluZGV4IDk4MjEwZjguLmMwMTBkY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBA
IC03MCw3ICs3MCwxMSBAQAogICogIC0gIm1lbnViYXIsdmlzaWJsZSxzZXQiLCBFaW5hX0Jvb2w6
IHNldHMgbWVudWJhciB2aXNpYmlsaXR5LgogICogIC0gIm1peGVkY29udGVudCxkaXNwbGF5ZWQi
LCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIGRpc3Bs
YXllZCBtaXhlZCBjb250ZW50LgogICogIC0gIm1peGVkY29udGVudCxydW4iLCB2b2lkOiBhbnkg
b2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBjb250ZW50
LgorICogIC0gIm5hdmlnYXRlLHdpdGgsZGF0YSIsIEV3a19WaWV3X05hdmlnYXRpb25fRGF0YSAq
OiByZXBvcnRzIHRoYXQgdmlldyBkaWQgbmF2aWdhdGlvbiBhbmQgZ2l2ZXMgdGhlIG5hdmlnYXRp
b24gZGV0YWlscy4KICAqICAtICJvbmxvYWQsZXZlbnQiLCBFdmFzX09iamVjdCo6IGEgZnJhbWUg
b25sb2FkIGV2ZW50IGhhcyBiZWVuIHJlY2VpdmVkLgorICogIC0gInBlcmZvcm0sY2xpZW50LHJl
ZGlyZWN0IiwgY29uc3QgY2hhciAqKjogcmVwb3J0cyB0aGF0IHZpZXcgcGVyZm9ybWVkIGEgY2xp
ZW50IHJlZGlyZWN0IGFuZCBnaXZlcyBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHVyaXMuCisgKiAg
LSAicGVyZm9ybSxzZXJ2ZXIscmVkaXJlY3QiLCBjb25zdCBjaGFyICoqOiByZXBvcnRzIHRoYXQg
dmlldyBwZXJmb3JtZWQgYSBzZXJ2ZXIgcmVkaXJlY3QgYW5kIGdpdmVzIHNvdXJjZSBhbmQgZGVz
dGluYXRpb24gdXJpcy4KKyAqICAtICJwb3B1bGF0ZSx2aXNpdGVkLGxpbmtzIjogdGVsbHMgdGhl
IGNsaWVudCB0byBmaWxsIHRoZSB2aXNpdGVkIGxpbmtzIHNldC4KICAqICAtICJyZWFkeSIsIHZv
aWQ6IHBhZ2UgaXMgZnVsbHkgbG9hZGVkLgogICogIC0gInJlc291cmNlLHJlcXVlc3QsbmV3Iiwg
RXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QqOiByZXBvcnRzIHRoYXQKICAqICAgIHRoZXJlJ3Mg
YSBuZXcgcmVzb3VyY2UgcmVxdWVzdC4KQEAgLTI5MCw2ICsyOTQsMjMgQEAgc3RydWN0IF9Fd2tf
RG93bmxvYWQgewogICAgIC8qIHRvIGJlIGV4dGVuZGVkICovCiB9OwogCisvLy8gQ3JlYXRlcyBh
IHR5cGUgbmFtZSBmb3IgQGEgX0V3a19WaWV3X05hdmlnYXRpb25fRGF0YS4KK3R5cGVkZWYgc3Ry
dWN0IF9Fd2tfVmlld19OYXZpZ2F0aW9uX0RhdGEgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhOwor
CisvKioKKyAqIEBicmllZiBTdHJ1Y3R1cmUgY29udGFpbmluZyBkZXRhaWxzIGFib3V0IGEgdmll
dyBuYXZpZ2F0aW9uLgorICoKKyAqIERldGFpbHMgb2YgYSB2aWV3IG5hdmlnYXRpb24uIEl0IGlz
IHVzZWQgaW4gIm5hdmlnYXRlLHdpdGgsZGF0YSIgc2lnbmFsLgorICovCitzdHJ1Y3QgX0V3a19W
aWV3X05hdmlnYXRpb25fRGF0YSB7CisgICAgY29uc3QgY2hhciogdXJsOyAgLyoqPCB1cmwgZm9y
IHRoZSBoaXN0b3J5ICovCisgICAgY29uc3QgY2hhciogdGl0bGU7ICAvKio8IHRpdGxlIG9mIHRo
ZSBuYXZpZ2F0ZWQgcGFnZSAqLworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVl
c3Q7ICAvKio8IG5hdmlnYXRpb24gcmVxdWVzdCAqLworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9S
ZXNwb25zZSByZXNwb25zZTsgIC8qKjwgbmF2aWdhdGlvbiByZXNwb25zZSAqLworICAgIEVpbmFf
Qm9vbCBoYXNTdWJzdGl0dXRlRGF0YTsgIC8qKjwgZGF0YSBzdWJzdGl0dXRpb24gZmxhZyAqLwor
ICAgIGNvbnN0IGNoYXIqIGNsaWVudFJlZGlyZWN0U291cmNlOyAgLyoqPCBjbGllbnQgcmVkaXJl
Y3Qgc291cmNlIHVybCovCit9OworCiAvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3
a19TY3JvbGxfUmVxdWVzdC4KIHR5cGVkZWYgc3RydWN0IF9Fd2tfU2Nyb2xsX1JlcXVlc3QgRXdr
X1Njcm9sbF9SZXF1ZXN0OwogLy8vIENvbnRhaW5zIHRoZSBzY3JvbGwgcmVxdWVzdCB0aGF0IHNo
b3VsZCBiZSBwcm9jZXNzZWQgYnkgc3ViY2xhc3MgaW1wbGVtZW50YXRpb25zLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141682</attachid>
            <date>2012-05-14 03:52:46 -0700</date>
            <delta_ts>2012-05-14 07:08:09 -0700</delta_ts>
            <desc>patch v2 (corrected due to efl style)</desc>
            <filename>bug86343_v2</filename>
            <type>text/plain</type>
            <size>8430</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDZhMzc1N2IxNGQ4NTgyZDc2MWJiMTUxZDI0M2Q4NTlmNDI0ZDhjMTAKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
TW9uIE1heSAxNCAxMzo0OTozNyAyMDEyICswMzAwCgogICAgYnVnODYzNDMKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggODk4OTM5Yy4uOGRlMTEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDEyLTA1LTE0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIE5ldyBzaWduYWxzIGluIGV3a192aWV3IHRvIGVu
YWJsZSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjM0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdsb2JhbCBoaXN0b3J5IGRlbGVnYXRl
IGlzIGFuIGludGVyZmFjZSBmb3IgV2ViS2l0IGNsaWVudHMgdG8gbWFuYWdlIHRoZWlyIG93biBn
bG9iYWwgaGlzdG9yeSBzdG9yZS4KKyAgICAgICAgVGhlIG5ldyBld2tfdmlldyBzaWduYWxzIGRv
IGZvbGxvd2luZzoKKyAgICAgICAgMSkgcmVwb3J0IHRoYXQgdmlldyBkaWQgbmF2aWdhdGlvbiBh
bmQgZ2l2ZSB0aGUgbmF2aWdhdGlvbiBkZXRhaWxzLgorICAgICAgICAyKSByZXBvcnQgdGhhdCB2
aWV3IHBlcmZvcm1lZCBhIGNsaWVudCByZWRpcmVjdCBhbmQgZ2l2ZSBzb3VyY2UgYW5kIGRlc3Rp
bmF0aW9uIHVyaXMuCisgICAgICAgIDMpIHJlcG9ydCB0aGF0IHZpZXcgcGVyZm9ybWVkIGEgc2Vy
dmVyIHJlZGlyZWN0IGFuZCBnaXZlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gdXJpcy4KKyAgICAg
ICAgNCkgcmVwb3J0IHRoYXQgY2xpZW50IHNob3VsZCBmaWxsIHRoZSB2aXNpdGVkIGxpbmtzIHNl
dC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OnBvcHVsYXRlVmlzaXRlZExpbmtzKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50RWZsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
ckNsaWVudEVmbDo6dXBkYXRlR2xvYmFsSGlzdG9yeVJlZGlyZWN0TGlua3MpOiBpbXBsZW1lbnRh
dGlvbiBhZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRh
dGVHbG9iYWxIaXN0b3J5KTogaW1wbGVtZW50YXRpb24gYWRkZWQuCisgICAgICAgICogZXdrL2V3
a192aWV3Lmg6IE5ldyBzaWduYWxzIGFuZCBuZXcgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIHR5
cGUuCisKIDIwMTItMDUtMTEgIERvbWluaWsgUsO2dHRzY2hlcyAgPGRvbWluaWsucm90dHNjaGVz
QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtEUlRdIElucHV0IEF0dHJpYnV0ZSBQbGFjZWhv
bGRlciBSZWZUZXN0cyBmYWlsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRleCAxZTc2MTBhLi44YzExM2RiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHAKQEAgLTM5Myw2ICszOTMsMTEgQEAgdm9pZCBDaHJvbWVDbGllbnRFZmw6OnJlYWNoZWRB
cHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoU2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF8KICAgICBu
b3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIENocm9tZUNsaWVudEVmbDo6cG9wdWxhdGVWaXNp
dGVkTGlua3MoKQoreworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3
LCAicG9wdWxhdGUsdmlzaXRlZCxsaW5rcyIsIDApOworfQorCiAjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpuZWVkVG91Y2hFdmVudHMoYm9vbCBuZWVkZWQp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEVmbC5oCmluZGV4IDY1ZWFlYjMuLjllOWYzZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xMjUsNiArMTI1LDggQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qg
c3BhY2VOZWVkZWQpOwogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9y
aWdpblF1b3RhKFNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVlZGVkKTsKIAor
ICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpOworCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKICAgICB2aXJ0dWFsIHZvaWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEVmbC5jcHAKaW5kZXggNTE4NWQxZS4uY2NlY2YxNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
RWZsLmNwcApAQCAtNTAwLDYgKzUwMCwyNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpy
ZXN0b3JlVmlld1N0YXRlKCkKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBkYXRlR2xv
YmFsSGlzdG9yeVJlZGlyZWN0TGlua3MoKQogeworICAgICAgICBXZWJDb3JlOjpGcmFtZSogZnJh
bWUgPSBFV0tQcml2YXRlOjpjb3JlRnJhbWUobV9mcmFtZSk7CisgICAgICAgIGlmICghZnJhbWUp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIq
IGxvYWRlciA9IGZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICAgICAgaWYg
KCFsb2FkZXIpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKCFsb2FkZXItPmNs
aWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSgpLmlzTnVsbCgpKSB7CisgICAgICAgICAgICBj
b25zdCBDU3RyaW5nJiBzb3VyY2VVUkwgPSBsb2FkZXItPmNsaWVudFJlZGlyZWN0U291cmNlRm9y
SGlzdG9yeSgpLnV0ZjgoKTsKKyAgICAgICAgICAgIGNvbnN0IENTdHJpbmcmIGRlc3RVUkwgPSBs
b2FkZXItPmNsaWVudFJlZGlyZWN0RGVzdGluYXRpb25Gb3JIaXN0b3J5KCkudXRmOCgpOworICAg
ICAgICAgICAgY29uc3QgY2hhciogZGF0YVsyXSA9IHtzb3VyY2VVUkwuZGF0YSgpLCBkZXN0VVJM
LmRhdGEoKX07CisgICAgICAgICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1f
dmlldywgInBlcmZvcm0sY2xpZW50LHJlZGlyZWN0IiwgZGF0YSk7CisgICAgICAgIH0KKworICAg
ICAgICBpZiAoIWxvYWRlci0+c2VydmVyUmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkuaXNOdWxs
KCkpIHsKKyAgICAgICAgICAgIGNvbnN0IENTdHJpbmcmIHNvdXJjZVVSTCA9IGxvYWRlci0+c2Vy
dmVyUmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkudXRmOCgpOworICAgICAgICAgICAgY29uc3Qg
Q1N0cmluZyYgZGVzdFVSTCA9IGxvYWRlci0+c2VydmVyUmVkaXJlY3REZXN0aW5hdGlvbkZvckhp
c3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBjb25zdCBjaGFyKiBkYXRhWzJdID0ge3NvdXJj
ZVVSTC5kYXRhKCksIGRlc3RVUkwuZGF0YSgpfTsKKyAgICAgICAgICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAicGVyZm9ybSxzZXJ2ZXIscmVkaXJlY3QiLCBkYXRh
KTsKKyAgICAgICAgfQogfQogCiBib29sIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzaG91bGRHb1Rv
SGlzdG9yeUl0ZW0oSGlzdG9yeUl0ZW0qIGl0ZW0pIGNvbnN0CkBAIC05MzEsNyArOTUyLDMyIEBA
IHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnN0YXJ0RG93bmxvYWQoY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTCiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnVw
ZGF0ZUdsb2JhbEhpc3RvcnkoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgV2ViQ29y
ZTo6RnJhbWUqIGZyYW1lID0gRVdLUHJpdmF0ZTo6Y29yZUZyYW1lKG1fZnJhbWUpOworICAgIGlm
ICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
KiBsb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCk7CisgICAgaWYgKCFs
b2FkZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbnN0IEZyYW1lTG9hZGVyKiBmcmFtZUxv
YWRlciA9IGxvYWRlci0+ZnJhbWVMb2FkZXIoKTsKKyAgICBjb25zdCBib29sIGlzTWFpbkZyYW1l
UmVxdWVzdCA9IGZyYW1lTG9hZGVyICYmIChsb2FkZXIgPT0gZnJhbWVMb2FkZXItPnByb3Zpc2lv
bmFsRG9jdW1lbnRMb2FkZXIoKSkgJiYgZnJhbWVMb2FkZXItPmlzTG9hZGluZ01haW5GcmFtZSgp
OworICAgIGNvbnN0IENTdHJpbmcmIHVybEZvckhpc3RvcnkgPSBsb2FkZXItPnVybEZvckhpc3Rv
cnkoKS5zdHJpbmcoKS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgdGl0bGUgPSBsb2FkZXIt
PnRpdGxlKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIGZpcnN0UGFydHkg
PSBsb2FkZXItPnJlcXVlc3QoKS5maXJzdFBhcnR5Rm9yQ29va2llcygpLnN0cmluZygpLnV0Zjgo
KTsKKyAgICBjb25zdCBDU3RyaW5nJiBjbGllbnRSZWRpcmVjdFNvdXJjZSA9IGxvYWRlci0+Y2xp
ZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcm
IG9yaWdpbmFsVVJMID0gbG9hZGVyLT5vcmlnaW5hbFVSTCgpLnN0cmluZygpLnV0ZjgoKTsKKyAg
ICBjb25zdCBDU3RyaW5nJiBodHRwTWV0aG9kID0gbG9hZGVyLT5yZXF1ZXN0KCkuaHR0cE1ldGhv
ZCgpLnV0ZjgoKTsKKyAgICBjb25zdCBDU3RyaW5nJiByZXNwb25zZVVSTCA9IGxvYWRlci0+cmVz
cG9uc2VVUkwoKS5zdHJpbmcoKS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgbWltZVR5cGUg
PSBsb2FkZXItPnJlc3BvbnNlKCkubWltZVR5cGUoKS51dGY4KCk7CisKKyAgICBFd2tfVmlld19O
YXZpZ2F0aW9uX0RhdGEgZGF0YSA9CisgICAge3VybEZvckhpc3RvcnkuZGF0YSgpLCB0aXRsZS5k
YXRhKCksCisgICAgIHtvcmlnaW5hbFVSTC5kYXRhKCksIGZpcnN0UGFydHkuZGF0YSgpLCBodHRw
TWV0aG9kLmRhdGEoKSwgMCwgbV9mcmFtZSwgaXNNYWluRnJhbWVSZXF1ZXN0fSwgLy8gcmVxdWVz
dAorICAgICB7cmVzcG9uc2VVUkwuZGF0YSgpLCBsb2FkZXItPnJlc3BvbnNlKCkuaHR0cFN0YXR1
c0NvZGUoKSwgMCwgbWltZVR5cGUuZGF0YSgpfSwgLy8gcmVzcG9uc2UKKyAgICAgbG9hZGVyLT5z
dWJzdGl0dXRlRGF0YSgpLmlzVmFsaWQoKSwgLy8gaGFzIHN1YnN0aXR1dGVkIGRhdGEKKyAgICAg
Y2xpZW50UmVkaXJlY3RTb3VyY2UuZGF0YSgpfTsgLy8gY2xpZW50IHJlZGlyZWN0IHNvdXJjZQor
ICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAibmF2aWdhdGUsd2l0
aCxkYXRhIiwgJmRhdGEpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlUGxh
dGZvcm1EYXRhVG9DYWNoZWRGcmFtZShDYWNoZWRGcmFtZSopCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmll
dy5oCmluZGV4IDk4MjEwZjguLjZmYjdiYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBA
IC03MCw3ICs3MCwxMSBAQAogICogIC0gIm1lbnViYXIsdmlzaWJsZSxzZXQiLCBFaW5hX0Jvb2w6
IHNldHMgbWVudWJhciB2aXNpYmlsaXR5LgogICogIC0gIm1peGVkY29udGVudCxkaXNwbGF5ZWQi
LCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIGRpc3Bs
YXllZCBtaXhlZCBjb250ZW50LgogICogIC0gIm1peGVkY29udGVudCxydW4iLCB2b2lkOiBhbnkg
b2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBjb250ZW50
LgorICogIC0gIm5hdmlnYXRlLHdpdGgsZGF0YSIsIEV3a19WaWV3X05hdmlnYXRpb25fRGF0YSAq
OiByZXBvcnRzIHRoYXQgdmlldyBkaWQgbmF2aWdhdGlvbiBhbmQgZ2l2ZXMgdGhlIG5hdmlnYXRp
b24gZGV0YWlscy4KICAqICAtICJvbmxvYWQsZXZlbnQiLCBFdmFzX09iamVjdCo6IGEgZnJhbWUg
b25sb2FkIGV2ZW50IGhhcyBiZWVuIHJlY2VpdmVkLgorICogIC0gInBlcmZvcm0sY2xpZW50LHJl
ZGlyZWN0IiwgY29uc3QgY2hhciAqKjogcmVwb3J0cyB0aGF0IHZpZXcgcGVyZm9ybWVkIGEgY2xp
ZW50IHJlZGlyZWN0IGFuZCBnaXZlcyBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHVyaXMuCisgKiAg
LSAicGVyZm9ybSxzZXJ2ZXIscmVkaXJlY3QiLCBjb25zdCBjaGFyICoqOiByZXBvcnRzIHRoYXQg
dmlldyBwZXJmb3JtZWQgYSBzZXJ2ZXIgcmVkaXJlY3QgYW5kIGdpdmVzIHNvdXJjZSBhbmQgZGVz
dGluYXRpb24gdXJpcy4KKyAqICAtICJwb3B1bGF0ZSx2aXNpdGVkLGxpbmtzIjogdGVsbHMgdGhl
IGNsaWVudCB0byBmaWxsIHRoZSB2aXNpdGVkIGxpbmtzIHNldC4KICAqICAtICJyZWFkeSIsIHZv
aWQ6IHBhZ2UgaXMgZnVsbHkgbG9hZGVkLgogICogIC0gInJlc291cmNlLHJlcXVlc3QsbmV3Iiwg
RXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QqOiByZXBvcnRzIHRoYXQKICAqICAgIHRoZXJlJ3Mg
YSBuZXcgcmVzb3VyY2UgcmVxdWVzdC4KQEAgLTI5MCw2ICsyOTQsMjMgQEAgc3RydWN0IF9Fd2tf
RG93bmxvYWQgewogICAgIC8qIHRvIGJlIGV4dGVuZGVkICovCiB9OwogCisvLy8gQ3JlYXRlcyBh
IHR5cGUgbmFtZSBmb3IgQGEgX0V3a19WaWV3X05hdmlnYXRpb25fRGF0YS4KK3R5cGVkZWYgc3Ry
dWN0IF9Fd2tfVmlld19OYXZpZ2F0aW9uX0RhdGEgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhOwor
CisvKioKKyAqIEBicmllZiBTdHJ1Y3R1cmUgY29udGFpbmluZyBkZXRhaWxzIGFib3V0IGEgdmll
dyBuYXZpZ2F0aW9uLgorICoKKyAqIERldGFpbHMgb2YgYSB2aWV3IG5hdmlnYXRpb24uIEl0IGlz
IHVzZWQgaW4gIm5hdmlnYXRlLHdpdGgsZGF0YSIgc2lnbmFsLgorICovCitzdHJ1Y3QgX0V3a19W
aWV3X05hdmlnYXRpb25fRGF0YSB7CisgICAgY29uc3QgY2hhciAqdXJsOyAgLyoqPCB1cmwgZm9y
IHRoZSBoaXN0b3J5ICovCisgICAgY29uc3QgY2hhciAqdGl0bGU7ICAvKio8IHRpdGxlIG9mIHRo
ZSBuYXZpZ2F0ZWQgcGFnZSAqLworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVl
c3Q7ICAvKio8IG5hdmlnYXRpb24gcmVxdWVzdCAqLworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9S
ZXNwb25zZSByZXNwb25zZTsgIC8qKjwgbmF2aWdhdGlvbiByZXNwb25zZSAqLworICAgIEVpbmFf
Qm9vbCBoYXNfc3Vic3RpdHV0ZV9kYXRhOyAgLyoqPCBkYXRhIHN1YnN0aXR1dGlvbiBmbGFnICov
CisgICAgY29uc3QgY2hhciAqY2xpZW50X3JlZGlyZWN0X3NvdXJjZTsgIC8qKjwgY2xpZW50IHJl
ZGlyZWN0IHNvdXJjZSB1cmwqLworfTsKKwogLy8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEBh
IF9Fd2tfU2Nyb2xsX1JlcXVlc3QuCiB0eXBlZGVmIHN0cnVjdCBfRXdrX1Njcm9sbF9SZXF1ZXN0
IEV3a19TY3JvbGxfUmVxdWVzdDsKIC8vLyBDb250YWlucyB0aGUgc2Nyb2xsIHJlcXVlc3QgdGhh
dCBzaG91bGQgYmUgcHJvY2Vzc2VkIGJ5IHN1YmNsYXNzIGltcGxlbWVudGF0aW9ucy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141722</attachid>
            <date>2012-05-14 07:08:09 -0700</date>
            <delta_ts>2012-05-14 07:11:31 -0700</delta_ts>
            <desc>patch v3 (removed &quot;populate,visited,links&quot; signal)</desc>
            <filename>bug86343_v3</filename>
            <type>text/plain</type>
            <size>7031</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDU5NjJlZjE0ZTA4YWM1NTkzODllMWEzYTBkYzEwYzk2MThkNGUxOGUKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
TW9uIE1heSAxNCAxNzowNTowNSAyMDEyICswMzAwCgogICAgYnVnODYzNDMKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggODk4OTM5Yy4uMzFiYmZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDEyLTA1LTE0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIE5ldyBzaWduYWxzIGluIGV3a192aWV3IHRvIGVu
YWJsZSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjM0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdsb2JhbCBoaXN0b3J5IGRlbGVnYXRl
IGlzIGFuIGludGVyZmFjZSBmb3IgV2ViS2l0IGNsaWVudHMgdG8gbWFuYWdlIHRoZWlyIG93biBn
bG9iYWwgaGlzdG9yeSBzdG9yZS4KKyAgICAgICAgVGhlIG5ldyBld2tfdmlldyBzaWduYWxzIGRv
IGZvbGxvd2luZzoKKyAgICAgICAgMSkgcmVwb3J0IHRoYXQgdmlldyBkaWQgbmF2aWdhdGlvbiBh
bmQgZ2l2ZSB0aGUgbmF2aWdhdGlvbiBkZXRhaWxzLgorICAgICAgICAyKSByZXBvcnQgdGhhdCB2
aWV3IHBlcmZvcm1lZCBhIGNsaWVudCByZWRpcmVjdCBhbmQgZ2l2ZSBzb3VyY2UgYW5kIGRlc3Rp
bmF0aW9uIHVyaXMuCisgICAgICAgIDMpIHJlcG9ydCB0aGF0IHZpZXcgcGVyZm9ybWVkIGEgc2Vy
dmVyIHJlZGlyZWN0IGFuZCBnaXZlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gdXJpcy4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDaHJvbWVDbGllbnRFZmw6OnBvcHVsYXRlVmlzaXRlZExpbmtzKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxI
aXN0b3J5UmVkaXJlY3RMaW5rcyk6IGltcGxlbWVudGF0aW9uIGFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OnVwZGF0ZUdsb2JhbEhpc3RvcnkpOiBpbXBsZW1l
bnRhdGlvbiBhZGRlZC4KKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDogTmV3IHNpZ25hbHMgYW5k
IG5ldyBFd2tfVmlld19OYXZpZ2F0aW9uX0RhdGEgdHlwZS4KKwogMjAxMi0wNS0xMSAgRG9taW5p
ayBSw7Z0dHNjaGVzICA8ZG9taW5pay5yb3R0c2NoZXNAaW50ZWwuY29tPgogCiAgICAgICAgIFtF
RkxdW0RSVF0gSW5wdXQgQXR0cmlidXRlIFBsYWNlaG9sZGVyIFJlZlRlc3RzIGZhaWxpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50RWZsLmNwcAppbmRleCA1MTg1ZDFlLi5jY2VjZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3Bw
CkBAIC01MDAsNiArNTAwLDI3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnJlc3RvcmVW
aWV3U3RhdGUoKQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxIaXN0
b3J5UmVkaXJlY3RMaW5rcygpCiB7CisgICAgICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IEVX
S1ByaXZhdGU6OmNvcmVGcmFtZShtX2ZyYW1lKTsKKyAgICAgICAgaWYgKCFmcmFtZSkKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICBXZWJDb3JlOjpEb2N1bWVudExvYWRlciogbG9hZGVy
ID0gZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpOworICAgICAgICBpZiAoIWxvYWRl
cikKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoIWxvYWRlci0+Y2xpZW50UmVk
aXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkuaXNOdWxsKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IENT
dHJpbmcmIHNvdXJjZVVSTCA9IGxvYWRlci0+Y2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5
KCkudXRmOCgpOworICAgICAgICAgICAgY29uc3QgQ1N0cmluZyYgZGVzdFVSTCA9IGxvYWRlci0+
Y2xpZW50UmVkaXJlY3REZXN0aW5hdGlvbkZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAg
ICBjb25zdCBjaGFyKiBkYXRhWzJdID0ge3NvdXJjZVVSTC5kYXRhKCksIGRlc3RVUkwuZGF0YSgp
fTsKKyAgICAgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAi
cGVyZm9ybSxjbGllbnQscmVkaXJlY3QiLCBkYXRhKTsKKyAgICAgICAgfQorCisgICAgICAgIGlm
ICghbG9hZGVyLT5zZXJ2ZXJSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKS5pc051bGwoKSkgewor
ICAgICAgICAgICAgY29uc3QgQ1N0cmluZyYgc291cmNlVVJMID0gbG9hZGVyLT5zZXJ2ZXJSZWRp
cmVjdFNvdXJjZUZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBjb25zdCBDU3RyaW5n
JiBkZXN0VVJMID0gbG9hZGVyLT5zZXJ2ZXJSZWRpcmVjdERlc3RpbmF0aW9uRm9ySGlzdG9yeSgp
LnV0ZjgoKTsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIqIGRhdGFbMl0gPSB7c291cmNlVVJMLmRh
dGEoKSwgZGVzdFVSTC5kYXRhKCl9OworICAgICAgICAgICAgZXZhc19vYmplY3Rfc21hcnRfY2Fs
bGJhY2tfY2FsbChtX3ZpZXcsICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIsIGRhdGEpOworICAg
ICAgICB9CiB9CiAKIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNob3VsZEdvVG9IaXN0b3J5
SXRlbShIaXN0b3J5SXRlbSogaXRlbSkgY29uc3QKQEAgLTkzMSw3ICs5NTIsMzIgQEAgdm9pZCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6c3RhcnREb3dubG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFMKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBkYXRlR2xv
YmFsSGlzdG9yeSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJDb3JlOjpGcmFt
ZSogZnJhbWUgPSBFV0tQcml2YXRlOjpjb3JlRnJhbWUobV9mcmFtZSk7CisgICAgaWYgKCFmcmFt
ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciA9IGZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0g
bG9hZGVyLT5mcmFtZUxvYWRlcigpOworICAgIGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0
ID0gZnJhbWVMb2FkZXIgJiYgKGxvYWRlciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1
bWVudExvYWRlcigpKSAmJiBmcmFtZUxvYWRlci0+aXNMb2FkaW5nTWFpbkZyYW1lKCk7CisgICAg
Y29uc3QgQ1N0cmluZyYgdXJsRm9ySGlzdG9yeSA9IGxvYWRlci0+dXJsRm9ySGlzdG9yeSgpLnN0
cmluZygpLnV0ZjgoKTsKKyAgICBjb25zdCBDU3RyaW5nJiB0aXRsZSA9IGxvYWRlci0+dGl0bGUo
KS5zdHJpbmcoKS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgZmlyc3RQYXJ0eSA9IGxvYWRl
ci0+cmVxdWVzdCgpLmZpcnN0UGFydHlGb3JDb29raWVzKCkuc3RyaW5nKCkudXRmOCgpOworICAg
IGNvbnN0IENTdHJpbmcmIGNsaWVudFJlZGlyZWN0U291cmNlID0gbG9hZGVyLT5jbGllbnRSZWRp
cmVjdFNvdXJjZUZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgb3JpZ2lu
YWxVUkwgPSBsb2FkZXItPm9yaWdpbmFsVVJMKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0
IENTdHJpbmcmIGh0dHBNZXRob2QgPSBsb2FkZXItPnJlcXVlc3QoKS5odHRwTWV0aG9kKCkudXRm
OCgpOworICAgIGNvbnN0IENTdHJpbmcmIHJlc3BvbnNlVVJMID0gbG9hZGVyLT5yZXNwb25zZVVS
TCgpLnN0cmluZygpLnV0ZjgoKTsKKyAgICBjb25zdCBDU3RyaW5nJiBtaW1lVHlwZSA9IGxvYWRl
ci0+cmVzcG9uc2UoKS5taW1lVHlwZSgpLnV0ZjgoKTsKKworICAgIEV3a19WaWV3X05hdmlnYXRp
b25fRGF0YSBkYXRhID0KKyAgICB7dXJsRm9ySGlzdG9yeS5kYXRhKCksIHRpdGxlLmRhdGEoKSwK
KyAgICAge29yaWdpbmFsVVJMLmRhdGEoKSwgZmlyc3RQYXJ0eS5kYXRhKCksIGh0dHBNZXRob2Qu
ZGF0YSgpLCAwLCBtX2ZyYW1lLCBpc01haW5GcmFtZVJlcXVlc3R9LCAvLyByZXF1ZXN0CisgICAg
IHtyZXNwb25zZVVSTC5kYXRhKCksIGxvYWRlci0+cmVzcG9uc2UoKS5odHRwU3RhdHVzQ29kZSgp
LCAwLCBtaW1lVHlwZS5kYXRhKCl9LCAvLyByZXNwb25zZQorICAgICBsb2FkZXItPnN1YnN0aXR1
dGVEYXRhKCkuaXNWYWxpZCgpLCAvLyBoYXMgc3Vic3RpdHV0ZWQgZGF0YQorICAgICBjbGllbnRS
ZWRpcmVjdFNvdXJjZS5kYXRhKCl9OyAvLyBjbGllbnQgcmVkaXJlY3Qgc291cmNlCisgICAgZXZh
c19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChtX3ZpZXcsICJuYXZpZ2F0ZSx3aXRoLGRhdGEi
LCAmZGF0YSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNhdmVQbGF0Zm9ybURh
dGFUb0NhY2hlZEZyYW1lKENhY2hlZEZyYW1lKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdmlldy5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKaW5k
ZXggOTgyMTBmOC4uYzg0ZDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a192aWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTcwLDcg
KzcwLDEwIEBACiAgKiAgLSAibWVudWJhcix2aXNpYmxlLHNldCIsIEVpbmFfQm9vbDogc2V0cyBt
ZW51YmFyIHZpc2liaWxpdHkuCiAgKiAgLSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIHZvaWQ6
IGFueSBvZiB0aGUgY29udGFpbmluZyBmcmFtZXMgaGFzIGxvYWRlZCBhbmQgZGlzcGxheWVkIG1p
eGVkIGNvbnRlbnQuCiAgKiAgLSAibWl4ZWRjb250ZW50LHJ1biIsIHZvaWQ6IGFueSBvZiB0aGUg
Y29udGFpbmluZyBmcmFtZXMgaGFzIGxvYWRlZCBhbmQgcnVuIG1peGVkIGNvbnRlbnQuCisgKiAg
LSAibmF2aWdhdGUsd2l0aCxkYXRhIiwgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhICo6IHJlcG9y
dHMgdGhhdCB2aWV3IGRpZCBuYXZpZ2F0aW9uIGFuZCBnaXZlcyB0aGUgbmF2aWdhdGlvbiBkZXRh
aWxzLgogICogIC0gIm9ubG9hZCxldmVudCIsIEV2YXNfT2JqZWN0KjogYSBmcmFtZSBvbmxvYWQg
ZXZlbnQgaGFzIGJlZW4gcmVjZWl2ZWQuCisgKiAgLSAicGVyZm9ybSxjbGllbnQscmVkaXJlY3Qi
LCBjb25zdCBjaGFyICoqOiByZXBvcnRzIHRoYXQgdmlldyBwZXJmb3JtZWQgYSBjbGllbnQgcmVk
aXJlY3QgYW5kIGdpdmVzIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gdXJpcy4KKyAqICAtICJwZXJm
b3JtLHNlcnZlcixyZWRpcmVjdCIsIGNvbnN0IGNoYXIgKio6IHJlcG9ydHMgdGhhdCB2aWV3IHBl
cmZvcm1lZCBhIHNlcnZlciByZWRpcmVjdCBhbmQgZ2l2ZXMgc291cmNlIGFuZCBkZXN0aW5hdGlv
biB1cmlzLgogICogIC0gInJlYWR5Iiwgdm9pZDogcGFnZSBpcyBmdWxseSBsb2FkZWQuCiAgKiAg
LSAicmVzb3VyY2UscmVxdWVzdCxuZXciLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCo6IHJl
cG9ydHMgdGhhdAogICogICAgdGhlcmUncyBhIG5ldyByZXNvdXJjZSByZXF1ZXN0LgpAQCAtMjkw
LDYgKzI5MywyMyBAQCBzdHJ1Y3QgX0V3a19Eb3dubG9hZCB7CiAgICAgLyogdG8gYmUgZXh0ZW5k
ZWQgKi8KIH07CiAKKy8vLyBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBAYSBfRXdrX1ZpZXdfTmF2
aWdhdGlvbl9EYXRhLgordHlwZWRlZiBzdHJ1Y3QgX0V3a19WaWV3X05hdmlnYXRpb25fRGF0YSBF
d2tfVmlld19OYXZpZ2F0aW9uX0RhdGE7CisKKy8qKgorICogQGJyaWVmIFN0cnVjdHVyZSBjb250
YWluaW5nIGRldGFpbHMgYWJvdXQgYSB2aWV3IG5hdmlnYXRpb24uCisgKgorICogRGV0YWlscyBv
ZiBhIHZpZXcgbmF2aWdhdGlvbi4gSXQgaXMgdXNlZCBpbiAibmF2aWdhdGUsd2l0aCxkYXRhIiBz
aWduYWwuCisgKi8KK3N0cnVjdCBfRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIHsKKyAgICBjb25z
dCBjaGFyICp1cmw7ICAvKio8IHVybCBmb3IgdGhlIGhpc3RvcnkgKi8KKyAgICBjb25zdCBjaGFy
ICp0aXRsZTsgIC8qKjwgdGl0bGUgb2YgdGhlIG5hdmlnYXRlZCBwYWdlICovCisgICAgRXdrX0Zy
YW1lX1Jlc291cmNlX1JlcXVlc3QgcmVxdWVzdDsgIC8qKjwgbmF2aWdhdGlvbiByZXF1ZXN0ICov
CisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1Jlc3BvbnNlIHJlc3BvbnNlOyAgLyoqPCBuYXZpZ2F0
aW9uIHJlc3BvbnNlICovCisgICAgRWluYV9Cb29sIGhhc19zdWJzdGl0dXRlX2RhdGE7ICAvKio8
IGRhdGEgc3Vic3RpdHV0aW9uIGZsYWcgKi8KKyAgICBjb25zdCBjaGFyICpjbGllbnRfcmVkaXJl
Y3Rfc291cmNlOyAgLyoqPCBjbGllbnQgcmVkaXJlY3Qgc291cmNlIHVybCovCit9OworCiAvLy8g
Q3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19TY3JvbGxfUmVxdWVzdC4KIHR5cGVkZWYg
c3RydWN0IF9Fd2tfU2Nyb2xsX1JlcXVlc3QgRXdrX1Njcm9sbF9SZXF1ZXN0OwogLy8vIENvbnRh
aW5zIHRoZSBzY3JvbGwgcmVxdWVzdCB0aGF0IHNob3VsZCBiZSBwcm9jZXNzZWQgYnkgc3ViY2xh
c3MgaW1wbGVtZW50YXRpb25zLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141723</attachid>
            <date>2012-05-14 07:11:31 -0700</date>
            <delta_ts>2012-05-15 00:28:27 -0700</delta_ts>
            <desc>patch v4 (removed &quot;populate,visited,links&quot; signal + changelog clean up)</desc>
            <filename>bug86343_v4</filename>
            <type>text/plain</type>
            <size>6905</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGY1Yjg0ODY3NDYzYmI3MWNkYTBlYzM0ZTAxZGVlMzhhNWM3OWMwZjMKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
TW9uIE1heSAxNCAxNzowNTowNSAyMDEyICswMzAwCgogICAgYnVnODYzNDMKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggODk4OTM5Yy4uY2MzNWE2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA1LTE0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIE5ldyBzaWduYWxzIGluIGV3a192aWV3IHRvIGVu
YWJsZSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjM0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdsb2JhbCBoaXN0b3J5IGRlbGVnYXRl
IGlzIGFuIGludGVyZmFjZSBmb3IgV2ViS2l0IGNsaWVudHMgdG8gbWFuYWdlIHRoZWlyIG93biBn
bG9iYWwgaGlzdG9yeSBzdG9yZS4KKyAgICAgICAgVGhlIG5ldyBld2tfdmlldyBzaWduYWxzIGRv
IGZvbGxvd2luZzoKKyAgICAgICAgMSkgcmVwb3J0IHRoYXQgdmlldyBkaWQgbmF2aWdhdGlvbiBh
bmQgZ2l2ZSB0aGUgbmF2aWdhdGlvbiBkZXRhaWxzLgorICAgICAgICAyKSByZXBvcnQgdGhhdCB2
aWV3IHBlcmZvcm1lZCBhIGNsaWVudCByZWRpcmVjdCBhbmQgZ2l2ZSBzb3VyY2UgYW5kIGRlc3Rp
bmF0aW9uIHVyaXMuCisgICAgICAgIDMpIHJlcG9ydCB0aGF0IHZpZXcgcGVyZm9ybWVkIGEgc2Vy
dmVyIHJlZGlyZWN0IGFuZCBnaXZlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gdXJpcy4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxIaXN0b3J5UmVkaXJl
Y3RMaW5rcyk6IGltcGxlbWVudGF0aW9uIGFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXJDbGllbnRFZmw6OnVwZGF0ZUdsb2JhbEhpc3RvcnkpOiBpbXBsZW1lbnRhdGlvbiBhZGRl
ZC4KKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDogTmV3IHNpZ25hbHMgYW5kIG5ldyBFd2tfVmll
d19OYXZpZ2F0aW9uX0RhdGEgdHlwZS4KKwogMjAxMi0wNS0xMSAgRG9taW5payBSw7Z0dHNjaGVz
ICA8ZG9taW5pay5yb3R0c2NoZXNAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW0RSVF0gSW5w
dXQgQXR0cmlidXRlIFBsYWNlaG9sZGVyIFJlZlRlc3RzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNw
cAppbmRleCA1MTg1ZDFlLi5jY2VjZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCkBAIC01MDAsNiAr
NTAwLDI3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnJlc3RvcmVWaWV3U3RhdGUoKQog
CiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxIaXN0b3J5UmVkaXJlY3RM
aW5rcygpCiB7CisgICAgICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IEVXS1ByaXZhdGU6OmNv
cmVGcmFtZShtX2ZyYW1lKTsKKyAgICAgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBXZWJDb3JlOjpEb2N1bWVudExvYWRlciogbG9hZGVyID0gZnJhbWUtPmxv
YWRlcigpLT5kb2N1bWVudExvYWRlcigpOworICAgICAgICBpZiAoIWxvYWRlcikKKyAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICBpZiAoIWxvYWRlci0+Y2xpZW50UmVkaXJlY3RTb3VyY2VG
b3JIaXN0b3J5KCkuaXNOdWxsKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IENTdHJpbmcmIHNvdXJj
ZVVSTCA9IGxvYWRlci0+Y2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkudXRmOCgpOwor
ICAgICAgICAgICAgY29uc3QgQ1N0cmluZyYgZGVzdFVSTCA9IGxvYWRlci0+Y2xpZW50UmVkaXJl
Y3REZXN0aW5hdGlvbkZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBjb25zdCBjaGFy
KiBkYXRhWzJdID0ge3NvdXJjZVVSTC5kYXRhKCksIGRlc3RVUkwuZGF0YSgpfTsKKyAgICAgICAg
ICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAicGVyZm9ybSxjbGll
bnQscmVkaXJlY3QiLCBkYXRhKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghbG9hZGVyLT5z
ZXJ2ZXJSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKS5pc051bGwoKSkgeworICAgICAgICAgICAg
Y29uc3QgQ1N0cmluZyYgc291cmNlVVJMID0gbG9hZGVyLT5zZXJ2ZXJSZWRpcmVjdFNvdXJjZUZv
ckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBjb25zdCBDU3RyaW5nJiBkZXN0VVJMID0g
bG9hZGVyLT5zZXJ2ZXJSZWRpcmVjdERlc3RpbmF0aW9uRm9ySGlzdG9yeSgpLnV0ZjgoKTsKKyAg
ICAgICAgICAgIGNvbnN0IGNoYXIqIGRhdGFbMl0gPSB7c291cmNlVVJMLmRhdGEoKSwgZGVzdFVS
TC5kYXRhKCl9OworICAgICAgICAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbCht
X3ZpZXcsICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIsIGRhdGEpOworICAgICAgICB9CiB9CiAK
IGJvb2wgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNob3VsZEdvVG9IaXN0b3J5SXRlbShIaXN0b3J5
SXRlbSogaXRlbSkgY29uc3QKQEAgLTkzMSw3ICs5NTIsMzIgQEAgdm9pZCBGcmFtZUxvYWRlckNs
aWVudEVmbDo6c3RhcnREb3dubG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IFMKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBkYXRlR2xvYmFsSGlzdG9yeSgp
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUgPSBF
V0tQcml2YXRlOjpjb3JlRnJhbWUobV9mcmFtZSk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5s
b2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9hZGVyLT5mcmFt
ZUxvYWRlcigpOworICAgIGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZnJhbWVMb2Fk
ZXIgJiYgKGxvYWRlciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigp
KSAmJiBmcmFtZUxvYWRlci0+aXNMb2FkaW5nTWFpbkZyYW1lKCk7CisgICAgY29uc3QgQ1N0cmlu
ZyYgdXJsRm9ySGlzdG9yeSA9IGxvYWRlci0+dXJsRm9ySGlzdG9yeSgpLnN0cmluZygpLnV0Zjgo
KTsKKyAgICBjb25zdCBDU3RyaW5nJiB0aXRsZSA9IGxvYWRlci0+dGl0bGUoKS5zdHJpbmcoKS51
dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgZmlyc3RQYXJ0eSA9IGxvYWRlci0+cmVxdWVzdCgp
LmZpcnN0UGFydHlGb3JDb29raWVzKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJp
bmcmIGNsaWVudFJlZGlyZWN0U291cmNlID0gbG9hZGVyLT5jbGllbnRSZWRpcmVjdFNvdXJjZUZv
ckhpc3RvcnkoKS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgb3JpZ2luYWxVUkwgPSBsb2Fk
ZXItPm9yaWdpbmFsVVJMKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIGh0
dHBNZXRob2QgPSBsb2FkZXItPnJlcXVlc3QoKS5odHRwTWV0aG9kKCkudXRmOCgpOworICAgIGNv
bnN0IENTdHJpbmcmIHJlc3BvbnNlVVJMID0gbG9hZGVyLT5yZXNwb25zZVVSTCgpLnN0cmluZygp
LnV0ZjgoKTsKKyAgICBjb25zdCBDU3RyaW5nJiBtaW1lVHlwZSA9IGxvYWRlci0+cmVzcG9uc2Uo
KS5taW1lVHlwZSgpLnV0ZjgoKTsKKworICAgIEV3a19WaWV3X05hdmlnYXRpb25fRGF0YSBkYXRh
ID0KKyAgICB7dXJsRm9ySGlzdG9yeS5kYXRhKCksIHRpdGxlLmRhdGEoKSwKKyAgICAge29yaWdp
bmFsVVJMLmRhdGEoKSwgZmlyc3RQYXJ0eS5kYXRhKCksIGh0dHBNZXRob2QuZGF0YSgpLCAwLCBt
X2ZyYW1lLCBpc01haW5GcmFtZVJlcXVlc3R9LCAvLyByZXF1ZXN0CisgICAgIHtyZXNwb25zZVVS
TC5kYXRhKCksIGxvYWRlci0+cmVzcG9uc2UoKS5odHRwU3RhdHVzQ29kZSgpLCAwLCBtaW1lVHlw
ZS5kYXRhKCl9LCAvLyByZXNwb25zZQorICAgICBsb2FkZXItPnN1YnN0aXR1dGVEYXRhKCkuaXNW
YWxpZCgpLCAvLyBoYXMgc3Vic3RpdHV0ZWQgZGF0YQorICAgICBjbGllbnRSZWRpcmVjdFNvdXJj
ZS5kYXRhKCl9OyAvLyBjbGllbnQgcmVkaXJlY3Qgc291cmNlCisgICAgZXZhc19vYmplY3Rfc21h
cnRfY2FsbGJhY2tfY2FsbChtX3ZpZXcsICJuYXZpZ2F0ZSx3aXRoLGRhdGEiLCAmZGF0YSk7CiB9
CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNhdmVQbGF0Zm9ybURhdGFUb0NhY2hlZEZy
YW1lKENhY2hlZEZyYW1lKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dmlldy5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKaW5kZXggOTgyMTBmOC4u
Yzg0ZDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTcwLDcgKzcwLDEwIEBACiAg
KiAgLSAibWVudWJhcix2aXNpYmxlLHNldCIsIEVpbmFfQm9vbDogc2V0cyBtZW51YmFyIHZpc2li
aWxpdHkuCiAgKiAgLSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIHZvaWQ6IGFueSBvZiB0aGUg
Y29udGFpbmluZyBmcmFtZXMgaGFzIGxvYWRlZCBhbmQgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQu
CiAgKiAgLSAibWl4ZWRjb250ZW50LHJ1biIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmluZyBm
cmFtZXMgaGFzIGxvYWRlZCBhbmQgcnVuIG1peGVkIGNvbnRlbnQuCisgKiAgLSAibmF2aWdhdGUs
d2l0aCxkYXRhIiwgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhICo6IHJlcG9ydHMgdGhhdCB2aWV3
IGRpZCBuYXZpZ2F0aW9uIGFuZCBnaXZlcyB0aGUgbmF2aWdhdGlvbiBkZXRhaWxzLgogICogIC0g
Im9ubG9hZCxldmVudCIsIEV2YXNfT2JqZWN0KjogYSBmcmFtZSBvbmxvYWQgZXZlbnQgaGFzIGJl
ZW4gcmVjZWl2ZWQuCisgKiAgLSAicGVyZm9ybSxjbGllbnQscmVkaXJlY3QiLCBjb25zdCBjaGFy
ICoqOiByZXBvcnRzIHRoYXQgdmlldyBwZXJmb3JtZWQgYSBjbGllbnQgcmVkaXJlY3QgYW5kIGdp
dmVzIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gdXJpcy4KKyAqICAtICJwZXJmb3JtLHNlcnZlcixy
ZWRpcmVjdCIsIGNvbnN0IGNoYXIgKio6IHJlcG9ydHMgdGhhdCB2aWV3IHBlcmZvcm1lZCBhIHNl
cnZlciByZWRpcmVjdCBhbmQgZ2l2ZXMgc291cmNlIGFuZCBkZXN0aW5hdGlvbiB1cmlzLgogICog
IC0gInJlYWR5Iiwgdm9pZDogcGFnZSBpcyBmdWxseSBsb2FkZWQuCiAgKiAgLSAicmVzb3VyY2Us
cmVxdWVzdCxuZXciLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCo6IHJlcG9ydHMgdGhhdAog
ICogICAgdGhlcmUncyBhIG5ldyByZXNvdXJjZSByZXF1ZXN0LgpAQCAtMjkwLDYgKzI5MywyMyBA
QCBzdHJ1Y3QgX0V3a19Eb3dubG9hZCB7CiAgICAgLyogdG8gYmUgZXh0ZW5kZWQgKi8KIH07CiAK
Ky8vLyBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBAYSBfRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRh
LgordHlwZWRlZiBzdHJ1Y3QgX0V3a19WaWV3X05hdmlnYXRpb25fRGF0YSBFd2tfVmlld19OYXZp
Z2F0aW9uX0RhdGE7CisKKy8qKgorICogQGJyaWVmIFN0cnVjdHVyZSBjb250YWluaW5nIGRldGFp
bHMgYWJvdXQgYSB2aWV3IG5hdmlnYXRpb24uCisgKgorICogRGV0YWlscyBvZiBhIHZpZXcgbmF2
aWdhdGlvbi4gSXQgaXMgdXNlZCBpbiAibmF2aWdhdGUsd2l0aCxkYXRhIiBzaWduYWwuCisgKi8K
K3N0cnVjdCBfRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIHsKKyAgICBjb25zdCBjaGFyICp1cmw7
ICAvKio8IHVybCBmb3IgdGhlIGhpc3RvcnkgKi8KKyAgICBjb25zdCBjaGFyICp0aXRsZTsgIC8q
KjwgdGl0bGUgb2YgdGhlIG5hdmlnYXRlZCBwYWdlICovCisgICAgRXdrX0ZyYW1lX1Jlc291cmNl
X1JlcXVlc3QgcmVxdWVzdDsgIC8qKjwgbmF2aWdhdGlvbiByZXF1ZXN0ICovCisgICAgRXdrX0Zy
YW1lX1Jlc291cmNlX1Jlc3BvbnNlIHJlc3BvbnNlOyAgLyoqPCBuYXZpZ2F0aW9uIHJlc3BvbnNl
ICovCisgICAgRWluYV9Cb29sIGhhc19zdWJzdGl0dXRlX2RhdGE7ICAvKio8IGRhdGEgc3Vic3Rp
dHV0aW9uIGZsYWcgKi8KKyAgICBjb25zdCBjaGFyICpjbGllbnRfcmVkaXJlY3Rfc291cmNlOyAg
LyoqPCBjbGllbnQgcmVkaXJlY3Qgc291cmNlIHVybCovCit9OworCiAvLy8gQ3JlYXRlcyBhIHR5
cGUgbmFtZSBmb3IgQGEgX0V3a19TY3JvbGxfUmVxdWVzdC4KIHR5cGVkZWYgc3RydWN0IF9Fd2tf
U2Nyb2xsX1JlcXVlc3QgRXdrX1Njcm9sbF9SZXF1ZXN0OwogLy8vIENvbnRhaW5zIHRoZSBzY3Jv
bGwgcmVxdWVzdCB0aGF0IHNob3VsZCBiZSBwcm9jZXNzZWQgYnkgc3ViY2xhc3MgaW1wbGVtZW50
YXRpb25zLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141876</attachid>
            <date>2012-05-15 00:28:27 -0700</date>
            <delta_ts>2012-05-29 06:09:54 -0700</delta_ts>
            <desc>patch v5 (changelog clean up)</desc>
            <filename>bug86343_v5</filename>
            <type>text/plain</type>
            <size>6896</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGY1Yjg0ODY3NDYzYmI3MWNkYTBlYzM0ZTAxZGVlMzhhNWM3OWMwZjMKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
TW9uIE1heSAxNCAxNzowNTowNSAyMDEyICswMzAwCgogICAgYnVnODYzNDMKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggODk4OTM5Yy4uY2MzNWE2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA1LTE0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIE5ldyBzaWduYWxzIGluIGV3a192aWV3IHRvIGVu
YWJsZSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjM0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdsb2JhbCBoaXN0b3J5IGRlbGVnYXRl
IGlzIGFuIGludGVyZmFjZSBmb3IgV2ViS2l0IGNsaWVudHMgdG8gbWFuYWdlIHRoZWlyIG93biBn
bG9iYWwgaGlzdG9yeSBzdG9yZS4KKyAgICAgICAgVGhlIG5ldyBld2tfdmlldyBzaWduYWxzIGRv
IGZvbGxvd2luZzoKKyAgICAgICAgUmVwb3J0IHRoYXQgdmlldyBkaWQgbmF2aWdhdGlvbiBhbmQg
Z2l2ZSB0aGUgbmF2aWdhdGlvbiBkZXRhaWxzLgorICAgICAgICBSZXBvcnQgdGhhdCB2aWV3IHBl
cmZvcm1lZCBhIGNsaWVudCByZWRpcmVjdCBhbmQgZ2l2ZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9u
IHVyaXMuCisgICAgICAgIFJlcG9ydCB0aGF0IHZpZXcgcGVyZm9ybWVkIGEgc2VydmVyIHJlZGly
ZWN0IGFuZCBnaXZlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gdXJpcy4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxIaXN0b3J5UmVkaXJlY3RMaW5rcyk6
IGltcGxlbWVudGF0aW9uIGFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGll
bnRFZmw6OnVwZGF0ZUdsb2JhbEhpc3RvcnkpOiBpbXBsZW1lbnRhdGlvbiBhZGRlZC4KKyAgICAg
ICAgKiBld2svZXdrX3ZpZXcuaDogTmV3IHNpZ25hbHMgYW5kIG5ldyBFd2tfVmlld19OYXZpZ2F0
aW9uX0RhdGEgdHlwZS4KKwogMjAxMi0wNS0xMSAgRG9taW5payBSw7Z0dHNjaGVzICA8ZG9taW5p
ay5yb3R0c2NoZXNAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW0RSVF0gSW5wdXQgQXR0cmli
dXRlIFBsYWNlaG9sZGVyIFJlZlRlc3RzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcAppbmRleCA1
MTg1ZDFlLi5jY2VjZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCkBAIC01MDAsNiArNTAwLDI3IEBA
IHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnJlc3RvcmVWaWV3U3RhdGUoKQogCiB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxIaXN0b3J5UmVkaXJlY3RMaW5rcygpCiB7
CisgICAgICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IEVXS1ByaXZhdGU6OmNvcmVGcmFtZSht
X2ZyYW1lKTsKKyAgICAgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBXZWJDb3JlOjpEb2N1bWVudExvYWRlciogbG9hZGVyID0gZnJhbWUtPmxvYWRlcigpLT5k
b2N1bWVudExvYWRlcigpOworICAgICAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBpZiAoIWxvYWRlci0+Y2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5
KCkuaXNOdWxsKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IENTdHJpbmcmIHNvdXJjZVVSTCA9IGxv
YWRlci0+Y2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkudXRmOCgpOworICAgICAgICAg
ICAgY29uc3QgQ1N0cmluZyYgZGVzdFVSTCA9IGxvYWRlci0+Y2xpZW50UmVkaXJlY3REZXN0aW5h
dGlvbkZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBjb25zdCBjaGFyKiBkYXRhWzJd
ID0ge3NvdXJjZVVSTC5kYXRhKCksIGRlc3RVUkwuZGF0YSgpfTsKKyAgICAgICAgICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAicGVyZm9ybSxjbGllbnQscmVkaXJl
Y3QiLCBkYXRhKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghbG9hZGVyLT5zZXJ2ZXJSZWRp
cmVjdFNvdXJjZUZvckhpc3RvcnkoKS5pc051bGwoKSkgeworICAgICAgICAgICAgY29uc3QgQ1N0
cmluZyYgc291cmNlVVJMID0gbG9hZGVyLT5zZXJ2ZXJSZWRpcmVjdFNvdXJjZUZvckhpc3Rvcnko
KS51dGY4KCk7CisgICAgICAgICAgICBjb25zdCBDU3RyaW5nJiBkZXN0VVJMID0gbG9hZGVyLT5z
ZXJ2ZXJSZWRpcmVjdERlc3RpbmF0aW9uRm9ySGlzdG9yeSgpLnV0ZjgoKTsKKyAgICAgICAgICAg
IGNvbnN0IGNoYXIqIGRhdGFbMl0gPSB7c291cmNlVVJMLmRhdGEoKSwgZGVzdFVSTC5kYXRhKCl9
OworICAgICAgICAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChtX3ZpZXcsICJw
ZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIsIGRhdGEpOworICAgICAgICB9CiB9CiAKIGJvb2wgRnJh
bWVMb2FkZXJDbGllbnRFZmw6OnNob3VsZEdvVG9IaXN0b3J5SXRlbShIaXN0b3J5SXRlbSogaXRl
bSkgY29uc3QKQEAgLTkzMSw3ICs5NTIsMzIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6
c3RhcnREb3dubG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFMKIAog
dm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBkYXRlR2xvYmFsSGlzdG9yeSgpCiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUgPSBFV0tQcml2YXRl
Ojpjb3JlRnJhbWUobV9mcmFtZSk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5sb2FkZXIoKS0+
ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9hZGVyLT5mcmFtZUxvYWRlcigp
OworICAgIGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZnJhbWVMb2FkZXIgJiYgKGxv
YWRlciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpKSAmJiBmcmFt
ZUxvYWRlci0+aXNMb2FkaW5nTWFpbkZyYW1lKCk7CisgICAgY29uc3QgQ1N0cmluZyYgdXJsRm9y
SGlzdG9yeSA9IGxvYWRlci0+dXJsRm9ySGlzdG9yeSgpLnN0cmluZygpLnV0ZjgoKTsKKyAgICBj
b25zdCBDU3RyaW5nJiB0aXRsZSA9IGxvYWRlci0+dGl0bGUoKS5zdHJpbmcoKS51dGY4KCk7Cisg
ICAgY29uc3QgQ1N0cmluZyYgZmlyc3RQYXJ0eSA9IGxvYWRlci0+cmVxdWVzdCgpLmZpcnN0UGFy
dHlGb3JDb29raWVzKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIGNsaWVu
dFJlZGlyZWN0U291cmNlID0gbG9hZGVyLT5jbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3Rvcnko
KS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgb3JpZ2luYWxVUkwgPSBsb2FkZXItPm9yaWdp
bmFsVVJMKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIGh0dHBNZXRob2Qg
PSBsb2FkZXItPnJlcXVlc3QoKS5odHRwTWV0aG9kKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJp
bmcmIHJlc3BvbnNlVVJMID0gbG9hZGVyLT5yZXNwb25zZVVSTCgpLnN0cmluZygpLnV0ZjgoKTsK
KyAgICBjb25zdCBDU3RyaW5nJiBtaW1lVHlwZSA9IGxvYWRlci0+cmVzcG9uc2UoKS5taW1lVHlw
ZSgpLnV0ZjgoKTsKKworICAgIEV3a19WaWV3X05hdmlnYXRpb25fRGF0YSBkYXRhID0KKyAgICB7
dXJsRm9ySGlzdG9yeS5kYXRhKCksIHRpdGxlLmRhdGEoKSwKKyAgICAge29yaWdpbmFsVVJMLmRh
dGEoKSwgZmlyc3RQYXJ0eS5kYXRhKCksIGh0dHBNZXRob2QuZGF0YSgpLCAwLCBtX2ZyYW1lLCBp
c01haW5GcmFtZVJlcXVlc3R9LCAvLyByZXF1ZXN0CisgICAgIHtyZXNwb25zZVVSTC5kYXRhKCks
IGxvYWRlci0+cmVzcG9uc2UoKS5odHRwU3RhdHVzQ29kZSgpLCAwLCBtaW1lVHlwZS5kYXRhKCl9
LCAvLyByZXNwb25zZQorICAgICBsb2FkZXItPnN1YnN0aXR1dGVEYXRhKCkuaXNWYWxpZCgpLCAv
LyBoYXMgc3Vic3RpdHV0ZWQgZGF0YQorICAgICBjbGllbnRSZWRpcmVjdFNvdXJjZS5kYXRhKCl9
OyAvLyBjbGllbnQgcmVkaXJlY3Qgc291cmNlCisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJh
Y2tfY2FsbChtX3ZpZXcsICJuYXZpZ2F0ZSx3aXRoLGRhdGEiLCAmZGF0YSk7CiB9CiAKIHZvaWQg
RnJhbWVMb2FkZXJDbGllbnRFZmw6OnNhdmVQbGF0Zm9ybURhdGFUb0NhY2hlZEZyYW1lKENhY2hl
ZEZyYW1lKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oIGIv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKaW5kZXggOTgyMTBmOC4uYzg0ZDdjNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTcwLDcgKzcwLDEwIEBACiAgKiAgLSAibWVu
dWJhcix2aXNpYmxlLHNldCIsIEVpbmFfQm9vbDogc2V0cyBtZW51YmFyIHZpc2liaWxpdHkuCiAg
KiAgLSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmlu
ZyBmcmFtZXMgaGFzIGxvYWRlZCBhbmQgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQuCiAgKiAgLSAi
bWl4ZWRjb250ZW50LHJ1biIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmluZyBmcmFtZXMgaGFz
IGxvYWRlZCBhbmQgcnVuIG1peGVkIGNvbnRlbnQuCisgKiAgLSAibmF2aWdhdGUsd2l0aCxkYXRh
IiwgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhICo6IHJlcG9ydHMgdGhhdCB2aWV3IGRpZCBuYXZp
Z2F0aW9uIGFuZCBnaXZlcyB0aGUgbmF2aWdhdGlvbiBkZXRhaWxzLgogICogIC0gIm9ubG9hZCxl
dmVudCIsIEV2YXNfT2JqZWN0KjogYSBmcmFtZSBvbmxvYWQgZXZlbnQgaGFzIGJlZW4gcmVjZWl2
ZWQuCisgKiAgLSAicGVyZm9ybSxjbGllbnQscmVkaXJlY3QiLCBjb25zdCBjaGFyICoqOiByZXBv
cnRzIHRoYXQgdmlldyBwZXJmb3JtZWQgYSBjbGllbnQgcmVkaXJlY3QgYW5kIGdpdmVzIHNvdXJj
ZSBhbmQgZGVzdGluYXRpb24gdXJpcy4KKyAqICAtICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIs
IGNvbnN0IGNoYXIgKio6IHJlcG9ydHMgdGhhdCB2aWV3IHBlcmZvcm1lZCBhIHNlcnZlciByZWRp
cmVjdCBhbmQgZ2l2ZXMgc291cmNlIGFuZCBkZXN0aW5hdGlvbiB1cmlzLgogICogIC0gInJlYWR5
Iiwgdm9pZDogcGFnZSBpcyBmdWxseSBsb2FkZWQuCiAgKiAgLSAicmVzb3VyY2UscmVxdWVzdCxu
ZXciLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCo6IHJlcG9ydHMgdGhhdAogICogICAgdGhl
cmUncyBhIG5ldyByZXNvdXJjZSByZXF1ZXN0LgpAQCAtMjkwLDYgKzI5MywyMyBAQCBzdHJ1Y3Qg
X0V3a19Eb3dubG9hZCB7CiAgICAgLyogdG8gYmUgZXh0ZW5kZWQgKi8KIH07CiAKKy8vLyBDcmVh
dGVzIGEgdHlwZSBuYW1lIGZvciBAYSBfRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhLgordHlwZWRl
ZiBzdHJ1Y3QgX0V3a19WaWV3X05hdmlnYXRpb25fRGF0YSBFd2tfVmlld19OYXZpZ2F0aW9uX0Rh
dGE7CisKKy8qKgorICogQGJyaWVmIFN0cnVjdHVyZSBjb250YWluaW5nIGRldGFpbHMgYWJvdXQg
YSB2aWV3IG5hdmlnYXRpb24uCisgKgorICogRGV0YWlscyBvZiBhIHZpZXcgbmF2aWdhdGlvbi4g
SXQgaXMgdXNlZCBpbiAibmF2aWdhdGUsd2l0aCxkYXRhIiBzaWduYWwuCisgKi8KK3N0cnVjdCBf
RXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIHsKKyAgICBjb25zdCBjaGFyICp1cmw7ICAvKio8IHVy
bCBmb3IgdGhlIGhpc3RvcnkgKi8KKyAgICBjb25zdCBjaGFyICp0aXRsZTsgIC8qKjwgdGl0bGUg
b2YgdGhlIG5hdmlnYXRlZCBwYWdlICovCisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3Qg
cmVxdWVzdDsgIC8qKjwgbmF2aWdhdGlvbiByZXF1ZXN0ICovCisgICAgRXdrX0ZyYW1lX1Jlc291
cmNlX1Jlc3BvbnNlIHJlc3BvbnNlOyAgLyoqPCBuYXZpZ2F0aW9uIHJlc3BvbnNlICovCisgICAg
RWluYV9Cb29sIGhhc19zdWJzdGl0dXRlX2RhdGE7ICAvKio8IGRhdGEgc3Vic3RpdHV0aW9uIGZs
YWcgKi8KKyAgICBjb25zdCBjaGFyICpjbGllbnRfcmVkaXJlY3Rfc291cmNlOyAgLyoqPCBjbGll
bnQgcmVkaXJlY3Qgc291cmNlIHVybCovCit9OworCiAvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBm
b3IgQGEgX0V3a19TY3JvbGxfUmVxdWVzdC4KIHR5cGVkZWYgc3RydWN0IF9Fd2tfU2Nyb2xsX1Jl
cXVlc3QgRXdrX1Njcm9sbF9SZXF1ZXN0OwogLy8vIENvbnRhaW5zIHRoZSBzY3JvbGwgcmVxdWVz
dCB0aGF0IHNob3VsZCBiZSBwcm9jZXNzZWQgYnkgc3ViY2xhc3MgaW1wbGVtZW50YXRpb25zLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144536</attachid>
            <date>2012-05-29 06:09:54 -0700</date>
            <delta_ts>2012-05-31 05:20:39 -0700</delta_ts>
            <desc>patch v6 (Review remarks are met)</desc>
            <filename>bug86343_v6</filename>
            <type>text/plain</type>
            <size>7024</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDdhZTYwMjIzOTg4OTk1MjM3ZmYxZThkMGI1YjEzYTcyYTlmMmQyMDAKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
VHVlIE1heSAyOSAxNjowNzo1NyAyMDEyICswMzAwCgogICAgYnVnODYzNDMKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggMTMzZTJjNi4uYjU0YTU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA1LTE0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIE5ldyBzaWduYWxzIGluIGV3a192aWV3IHRvIGVu
YWJsZSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjM0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdsb2JhbCBoaXN0b3J5IGRlbGVnYXRl
IGlzIGFuIGludGVyZmFjZSBmb3IgV2ViS2l0IGNsaWVudHMgdG8gbWFuYWdlIHRoZWlyIG93biBn
bG9iYWwgaGlzdG9yeSBzdG9yZS4KKyAgICAgICAgVGhlIG5ldyBld2tfdmlldyBzaWduYWxzIGRv
IHRoZSBmb2xsb3dpbmc6CisgICAgICAgIDEpIHJlcG9ydCB0aGF0IGEgbmF2aWdhdGlvbiBoYXBw
ZW5lZCB3aXRoaW4gdGhlIHZpZXcgYW5kIGdpdmUgdGhlIG5hdmlnYXRpb24gZGV0YWlscy4KKyAg
ICAgICAgMikgcmVwb3J0IHRoYXQgdmlldyBwZXJmb3JtZWQgYSBjbGllbnQgcmVkaXJlY3QgYW5k
IGdpdmUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiB1cmlzLgorICAgICAgICAzKSByZXBvcnQgdGhh
dCB2aWV3IHBlcmZvcm1lZCBhIHNlcnZlciByZWRpcmVjdCBhbmQgZ2l2ZSBzb3VyY2UgYW5kIGRl
c3RpbmF0aW9uIHVyaXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBk
YXRlR2xvYmFsSGlzdG9yeVJlZGlyZWN0TGlua3MpOiBpbXBsZW1lbnRhdGlvbiBhZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxIaXN0b3J5
KTogaW1wbGVtZW50YXRpb24gYWRkZWQuCisgICAgICAgICogZXdrL2V3a192aWV3Lmg6IE5ldyBz
aWduYWxzIGFuZCBuZXcgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIHR5cGUuCisKIDIwMTItMDUt
MjkgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAg
ICAgICBbRUZMXSBDb21waWxhdGlvbiB3YXJuaW5nIGluIER1bXBSZW5kZXJUcmVlVmlldy5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50RWZsLmNwcAppbmRleCBjMDhkM2VkLi5kYmFkZmEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwu
Y3BwCkBAIC01MDUsNiArNTA1LDI3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnJlc3Rv
cmVWaWV3U3RhdGUoKQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxI
aXN0b3J5UmVkaXJlY3RMaW5rcygpCiB7CisgICAgICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9
IEVXS1ByaXZhdGU6OmNvcmVGcmFtZShtX2ZyYW1lKTsKKyAgICAgICAgaWYgKCFmcmFtZSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBXZWJDb3JlOjpEb2N1bWVudExvYWRlciogbG9h
ZGVyID0gZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpOworICAgICAgICBpZiAoIWxv
YWRlcikKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoIWxvYWRlci0+Y2xpZW50
UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkuaXNOdWxsKCkpIHsKKyAgICAgICAgICAgIGNvbnN0
IENTdHJpbmcmIHNvdXJjZVVSTCA9IGxvYWRlci0+Y2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0
b3J5KCkudXRmOCgpOworICAgICAgICAgICAgY29uc3QgQ1N0cmluZyYgZGVzdFVSTCA9IGxvYWRl
ci0+Y2xpZW50UmVkaXJlY3REZXN0aW5hdGlvbkZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAg
ICAgICBjb25zdCBjaGFyKiBkYXRhWzJdID0ge3NvdXJjZVVSTC5kYXRhKCksIGRlc3RVUkwuZGF0
YSgpfTsKKyAgICAgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3
LCAicGVyZm9ybSxjbGllbnQscmVkaXJlY3QiLCBkYXRhKTsKKyAgICAgICAgfQorCisgICAgICAg
IGlmICghbG9hZGVyLT5zZXJ2ZXJSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKS5pc051bGwoKSkg
eworICAgICAgICAgICAgY29uc3QgQ1N0cmluZyYgc291cmNlVVJMID0gbG9hZGVyLT5zZXJ2ZXJS
ZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBjb25zdCBDU3Ry
aW5nJiBkZXN0VVJMID0gbG9hZGVyLT5zZXJ2ZXJSZWRpcmVjdERlc3RpbmF0aW9uRm9ySGlzdG9y
eSgpLnV0ZjgoKTsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIqIGRhdGFbMl0gPSB7c291cmNlVVJM
LmRhdGEoKSwgZGVzdFVSTC5kYXRhKCl9OworICAgICAgICAgICAgZXZhc19vYmplY3Rfc21hcnRf
Y2FsbGJhY2tfY2FsbChtX3ZpZXcsICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIsIGRhdGEpOwor
ICAgICAgICB9CiB9CiAKIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNob3VsZEdvVG9IaXN0
b3J5SXRlbShIaXN0b3J5SXRlbSogaXRlbSkgY29uc3QKQEAgLTk1OSw3ICs5ODAsMzIgQEAgdm9p
ZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6c3RhcnREb3dubG9hZChjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IFMKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBkYXRl
R2xvYmFsSGlzdG9yeSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJDb3JlOjpG
cmFtZSogZnJhbWUgPSBFV0tQcml2YXRlOjpjb3JlRnJhbWUobV9mcmFtZSk7CisgICAgaWYgKCFm
cmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGxv
YWRlciA9IGZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRl
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVy
ID0gbG9hZGVyLT5mcmFtZUxvYWRlcigpOworICAgIGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1
ZXN0ID0gZnJhbWVMb2FkZXIgJiYgKGxvYWRlciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxE
b2N1bWVudExvYWRlcigpKSAmJiBmcmFtZUxvYWRlci0+aXNMb2FkaW5nTWFpbkZyYW1lKCk7Cisg
ICAgY29uc3QgQ1N0cmluZyYgdXJsRm9ySGlzdG9yeSA9IGxvYWRlci0+dXJsRm9ySGlzdG9yeSgp
LnN0cmluZygpLnV0ZjgoKTsKKyAgICBjb25zdCBDU3RyaW5nJiB0aXRsZSA9IGxvYWRlci0+dGl0
bGUoKS5zdHJpbmcoKS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgZmlyc3RQYXJ0eSA9IGxv
YWRlci0+cmVxdWVzdCgpLmZpcnN0UGFydHlGb3JDb29raWVzKCkuc3RyaW5nKCkudXRmOCgpOwor
ICAgIGNvbnN0IENTdHJpbmcmIGNsaWVudFJlZGlyZWN0U291cmNlID0gbG9hZGVyLT5jbGllbnRS
ZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgb3Jp
Z2luYWxVUkwgPSBsb2FkZXItPm9yaWdpbmFsVVJMKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNv
bnN0IENTdHJpbmcmIGh0dHBNZXRob2QgPSBsb2FkZXItPnJlcXVlc3QoKS5odHRwTWV0aG9kKCku
dXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIHJlc3BvbnNlVVJMID0gbG9hZGVyLT5yZXNwb25z
ZVVSTCgpLnN0cmluZygpLnV0ZjgoKTsKKyAgICBjb25zdCBDU3RyaW5nJiBtaW1lVHlwZSA9IGxv
YWRlci0+cmVzcG9uc2UoKS5taW1lVHlwZSgpLnV0ZjgoKTsKKworICAgIEV3a19GcmFtZV9SZXNv
dXJjZV9SZXF1ZXN0IHJlcXVlc3QgPSB7IG9yaWdpbmFsVVJMLmRhdGEoKSwgZmlyc3RQYXJ0eS5k
YXRhKCksIGh0dHBNZXRob2QuZGF0YSgpLCAwLCBtX2ZyYW1lLCBpc01haW5GcmFtZVJlcXVlc3Qg
fTsKKyAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVzcG9uc2UgcmVzcG9uc2UgPSB7IHJlc3BvbnNl
VVJMLmRhdGEoKSwgbG9hZGVyLT5yZXNwb25zZSgpLmh0dHBTdGF0dXNDb2RlKCksIDAsIG1pbWVU
eXBlLmRhdGEoKSB9OworICAgIGJvb2wgc3Vic3RpdHV0ZURhdGEgPSBsb2FkZXItPnN1YnN0aXR1
dGVEYXRhKCkuaXNWYWxpZCgpOworCisgICAgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIGRhdGEg
PSB7IHVybEZvckhpc3RvcnkuZGF0YSgpLCB0aXRsZS5kYXRhKCksIHJlcXVlc3QsIHJlc3BvbnNl
LCBzdWJzdGl0dXRlRGF0YSwgY2xpZW50UmVkaXJlY3RTb3VyY2UuZGF0YSgpIH07CisKKyAgICBl
dmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1fdmlldywgIm5hdmlnYXRlLHdpdGgsZGF0
YSIsICZkYXRhKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6c2F2ZVBsYXRmb3Jt
RGF0YVRvQ2FjaGVkRnJhbWUoQ2FjaGVkRnJhbWUqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApp
bmRleCBjYzY1MDM4Li4xMjNmNTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApAQCAtNzEs
NiArNzEsOSBAQAogICogIC0gIm1lbnViYXIsdmlzaWJsZSxzZXQiLCBFaW5hX0Jvb2w6IHNldHMg
bWVudWJhciB2aXNpYmlsaXR5LgogICogIC0gIm1peGVkY29udGVudCxkaXNwbGF5ZWQiLCB2b2lk
OiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIGRpc3BsYXllZCBt
aXhlZCBjb250ZW50LgogICogIC0gIm1peGVkY29udGVudCxydW4iLCB2b2lkOiBhbnkgb2YgdGhl
IGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBjb250ZW50LgorICog
IC0gIm5hdmlnYXRlLHdpdGgsZGF0YSIsIEV3a19WaWV3X05hdmlnYXRpb25fRGF0YSAqOiByZXBv
cnRzIHRoYXQgdmlldyBkaWQgbmF2aWdhdGlvbiBhbmQgZ2l2ZXMgdGhlIG5hdmlnYXRpb24gZGV0
YWlscy4KKyAqICAtICJwZXJmb3JtLGNsaWVudCxyZWRpcmVjdCIsIGNvbnN0IGNoYXIgKio6IHJl
cG9ydHMgdGhhdCB2aWV3IHBlcmZvcm1lZCBhIGNsaWVudCByZWRpcmVjdCBhbmQgZ2l2ZXMgc291
cmNlIGFuZCBkZXN0aW5hdGlvbiBVUkkncy4KKyAqICAtICJwZXJmb3JtLHNlcnZlcixyZWRpcmVj
dCIsIGNvbnN0IGNoYXIgKio6IHJlcG9ydHMgdGhhdCB2aWV3IHBlcmZvcm1lZCBhIHNlcnZlciBy
ZWRpcmVjdCBhbmQgZ2l2ZXMgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBVUkkncy4KICAqICAtICJw
cm90b2NvbGhhbmRsZXIscmVnaXN0cmF0aW9uLHJlcXVlc3RlZCIsIEV3a19DdXN0b21fSGFuZGxl
cl9EYXRhOiBhZGQgYSBoYW5kbGVyIHVybCBmb3IgdGhlIGdpdmVuIHByb3RvY29sLgogICogIC0g
Im9ubG9hZCxldmVudCIsIEV2YXNfT2JqZWN0KjogYSBmcmFtZSBvbmxvYWQgZXZlbnQgaGFzIGJl
ZW4gcmVjZWl2ZWQuCiAgKiAgLSAicG9wdWxhdGUsdmlzaXRlZCxsaW5rcyI6IHRlbGxzIHRoZSBj
bGllbnQgdG8gZmlsbCB0aGUgdmlzaXRlZCBsaW5rcyBzZXQuCkBAIC0yOTQsNiArMjk3LDIzIEBA
IHN0cnVjdCBfRXdrX0Rvd25sb2FkIHsKICAgICAvKiB0byBiZSBleHRlbmRlZCAqLwogfTsKIAor
Ly8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEBhIF9Fd2tfVmlld19OYXZpZ2F0aW9uX0RhdGEu
Cit0eXBlZGVmIHN0cnVjdCBfRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIEV3a19WaWV3X05hdmln
YXRpb25fRGF0YTsKKworLyoqCisgKiBAYnJpZWYgU3RydWN0dXJlIGNvbnRhaW5pbmcgZGV0YWls
cyBhYm91dCBhIHZpZXcgbmF2aWdhdGlvbi4KKyAqCisgKiBEZXRhaWxzIG9mIGEgdmlldyBuYXZp
Z2F0aW9uLiBJdCBpcyB1c2VkIGluICJuYXZpZ2F0ZSx3aXRoLGRhdGEiIHNpZ25hbC4KKyAqLwor
c3RydWN0IF9Fd2tfVmlld19OYXZpZ2F0aW9uX0RhdGEgeworICAgIGNvbnN0IGNoYXIgKnVybDsg
IC8qKjwgVVJMIGZvciB0aGUgaGlzdG9yeS4gKi8KKyAgICBjb25zdCBjaGFyICp0aXRsZTsgIC8q
KjwgVGl0bGUgb2YgdGhlIG5hdmlnYXRlZCBwYWdlLiAqLworICAgIEV3a19GcmFtZV9SZXNvdXJj
ZV9SZXF1ZXN0IHJlcXVlc3Q7ICAvKio8IE5hdmlnYXRpb24gcmVxdWVzdC4gKi8KKyAgICBFd2tf
RnJhbWVfUmVzb3VyY2VfUmVzcG9uc2UgcmVzcG9uc2U7ICAvKio8IE5hdmlnYXRpb24gcmVzcG9u
c2UuICovCisgICAgRWluYV9Cb29sIGhhc19zdWJzdGl0dXRlX2RhdGE7ICAvKio8IERhdGEgc3Vi
c3RpdHV0aW9uIGZsYWcuICovCisgICAgY29uc3QgY2hhciAqY2xpZW50X3JlZGlyZWN0X3NvdXJj
ZTsgIC8qKjwgQ2xpZW50IHJlZGlyZWN0IHNvdXJjZSBVUkwuKi8KK307CisKIC8vLyBDcmVhdGVz
IGEgdHlwZSBuYW1lIGZvciBAYSBfRXdrX1Njcm9sbF9SZXF1ZXN0LgogdHlwZWRlZiBzdHJ1Y3Qg
X0V3a19TY3JvbGxfUmVxdWVzdCBFd2tfU2Nyb2xsX1JlcXVlc3Q7CiAvLy8gQ29udGFpbnMgdGhl
IHNjcm9sbCByZXF1ZXN0IHRoYXQgc2hvdWxkIGJlIHByb2Nlc3NlZCBieSBzdWJjbGFzcyBpbXBs
ZW1lbnRhdGlvbnMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145057</attachid>
            <date>2012-05-31 05:20:39 -0700</date>
            <delta_ts>2012-05-31 05:21:59 -0700</delta_ts>
            <desc>patch v7 (Review comments are met. Thanks Chris)</desc>
            <filename>bug86343_v7</filename>
            <type>text/plain</type>
            <size>7637</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDQxZmQ5MzM1OWI4ZTAwOTE2MDM2ZTM5M2E3OTlmYjg2MTAwYjRjMTMKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
VGh1IE1heSAzMSAxNToxODowNiAyMDEyICswMzAwCgogICAgYnVnODYzNDMKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggMGRhNjgzNC4uNjM5OTI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA1LTE0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIE5ldyBzaWduYWxzIGluIGV3a192aWV3IHRvIGVu
YWJsZSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjM0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdsb2JhbCBoaXN0b3J5IGRlbGVnYXRl
IGlzIGFuIGludGVyZmFjZSBmb3IgV2ViS2l0IGNsaWVudHMgdG8gbWFuYWdlIHRoZWlyIG93biBn
bG9iYWwgaGlzdG9yeSBzdG9yZS4KKyAgICAgICAgVGhlIG5ldyBld2tfdmlldyBzaWduYWxzIGRv
IHRoZSBmb2xsb3dpbmc6CisgICAgICAgIDEpIHJlcG9ydCB0aGF0IGEgbmF2aWdhdGlvbiBoYXBw
ZW5lZCB3aXRoaW4gdGhlIHZpZXcgYW5kIGdpdmUgdGhlIG5hdmlnYXRpb24gZGV0YWlscy4KKyAg
ICAgICAgMikgcmVwb3J0IHRoYXQgdmlldyBwZXJmb3JtZWQgYSBjbGllbnQgcmVkaXJlY3QgYW5k
IGdpdmUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiB1cmlzLgorICAgICAgICAzKSByZXBvcnQgdGhh
dCB2aWV3IHBlcmZvcm1lZCBhIHNlcnZlciByZWRpcmVjdCBhbmQgZ2l2ZSBzb3VyY2UgYW5kIGRl
c3RpbmF0aW9uIHVyaXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBk
YXRlR2xvYmFsSGlzdG9yeVJlZGlyZWN0TGlua3MpOiBpbXBsZW1lbnRhdGlvbiBhZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxIaXN0b3J5
KTogaW1wbGVtZW50YXRpb24gYWRkZWQuCisgICAgICAgICogZXdrL2V3a192aWV3Lmg6IE5ldyBz
aWduYWxzIGFuZCBuZXcgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIGFuZCBFd2tfVmlld19SZWRp
cmVjdGlvbmlvbl9EYXRhIHR5cGVzLgorCiAyMDEyLTA1LTMwICBDaHJpc3RvcGhlIER1bWV6ICA8
Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gRUZMJ3MgRFJUIHNo
b3VsZCBwcmludCB0aGUgbnVtYmVyIG9mIE1lc3NhZ2VQb3J0cyBmb3IgbmV3IGVhY2ggbmV3IGlu
dGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IGMwOGQzZWQuLjgwNjQwMzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEVmbC5jcHAKQEAgLTUwNSw2ICs1MDUsMjcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6
cmVzdG9yZVZpZXdTdGF0ZSgpCiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnVwZGF0ZUds
b2JhbEhpc3RvcnlSZWRpcmVjdExpbmtzKCkKIHsKKyAgICAgICAgV2ViQ29yZTo6RnJhbWUqIGZy
YW1lID0gRVdLUHJpdmF0ZTo6Y29yZUZyYW1lKG1fZnJhbWUpOworICAgICAgICBpZiAoIWZyYW1l
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
KiBsb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCk7CisgICAgICAgIGlm
ICghbG9hZGVyKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmICghbG9hZGVyLT5j
bGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKS5pc051bGwoKSkgeworICAgICAgICAgICAg
Y29uc3QgQ1N0cmluZyYgc291cmNlVVJMID0gbG9hZGVyLT5jbGllbnRSZWRpcmVjdFNvdXJjZUZv
ckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBjb25zdCBDU3RyaW5nJiBkZXN0VVJMID0g
bG9hZGVyLT5jbGllbnRSZWRpcmVjdERlc3RpbmF0aW9uRm9ySGlzdG9yeSgpLnV0ZjgoKTsKKyAg
ICAgICAgICAgIEV3a19WaWV3X05hdmlnYXRpb25fRGF0YSBkYXRhID0ge3NvdXJjZVVSTC5kYXRh
KCksIGRlc3RVUkwuZGF0YSgpfTsKKyAgICAgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxi
YWNrX2NhbGwobV92aWV3LCAicGVyZm9ybSxjbGllbnQscmVkaXJlY3QiLCAmZGF0YSk7CisgICAg
ICAgIH0KKworICAgICAgICBpZiAoIWxvYWRlci0+c2VydmVyUmVkaXJlY3RTb3VyY2VGb3JIaXN0
b3J5KCkuaXNOdWxsKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IENTdHJpbmcmIHNvdXJjZVVSTCA9
IGxvYWRlci0+c2VydmVyUmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkudXRmOCgpOworICAgICAg
ICAgICAgY29uc3QgQ1N0cmluZyYgZGVzdFVSTCA9IGxvYWRlci0+c2VydmVyUmVkaXJlY3REZXN0
aW5hdGlvbkZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBFd2tfVmlld19OYXZpZ2F0
aW9uX0RhdGEgZGF0YSA9IHtzb3VyY2VVUkwuZGF0YSgpLCBkZXN0VVJMLmRhdGEoKX07CisgICAg
ICAgICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1fdmlldywgInBlcmZvcm0s
c2VydmVyLHJlZGlyZWN0IiwgJmRhdGEpOworICAgICAgICB9CiB9CiAKIGJvb2wgRnJhbWVMb2Fk
ZXJDbGllbnRFZmw6OnNob3VsZEdvVG9IaXN0b3J5SXRlbShIaXN0b3J5SXRlbSogaXRlbSkgY29u
c3QKQEAgLTk1OSw3ICs5ODAsMzIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6c3RhcnRE
b3dubG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFMKIAogdm9pZCBG
cmFtZUxvYWRlckNsaWVudEVmbDo6dXBkYXRlR2xvYmFsSGlzdG9yeSgpCiB7Ci0gICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUgPSBFV0tQcml2YXRlOjpjb3Jl
RnJhbWUobV9mcmFtZSk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
V2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1l
bnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgY29u
c3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9hZGVyLT5mcmFtZUxvYWRlcigpOworICAg
IGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZnJhbWVMb2FkZXIgJiYgKGxvYWRlciA9
PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpKSAmJiBmcmFtZUxvYWRl
ci0+aXNMb2FkaW5nTWFpbkZyYW1lKCk7CisgICAgY29uc3QgQ1N0cmluZyYgdXJsRm9ySGlzdG9y
eSA9IGxvYWRlci0+dXJsRm9ySGlzdG9yeSgpLnN0cmluZygpLnV0ZjgoKTsKKyAgICBjb25zdCBD
U3RyaW5nJiB0aXRsZSA9IGxvYWRlci0+dGl0bGUoKS5zdHJpbmcoKS51dGY4KCk7CisgICAgY29u
c3QgQ1N0cmluZyYgZmlyc3RQYXJ0eSA9IGxvYWRlci0+cmVxdWVzdCgpLmZpcnN0UGFydHlGb3JD
b29raWVzKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIGNsaWVudFJlZGly
ZWN0U291cmNlID0gbG9hZGVyLT5jbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKS51dGY4
KCk7CisgICAgY29uc3QgQ1N0cmluZyYgb3JpZ2luYWxVUkwgPSBsb2FkZXItPm9yaWdpbmFsVVJM
KCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIGh0dHBNZXRob2QgPSBsb2Fk
ZXItPnJlcXVlc3QoKS5odHRwTWV0aG9kKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIHJl
c3BvbnNlVVJMID0gbG9hZGVyLT5yZXNwb25zZVVSTCgpLnN0cmluZygpLnV0ZjgoKTsKKyAgICBj
b25zdCBDU3RyaW5nJiBtaW1lVHlwZSA9IGxvYWRlci0+cmVzcG9uc2UoKS5taW1lVHlwZSgpLnV0
ZjgoKTsKKworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVlc3QgPSB7IG9yaWdp
bmFsVVJMLmRhdGEoKSwgZmlyc3RQYXJ0eS5kYXRhKCksIGh0dHBNZXRob2QuZGF0YSgpLCAwLCBt
X2ZyYW1lLCBpc01haW5GcmFtZVJlcXVlc3QgfTsKKyAgICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVz
cG9uc2UgcmVzcG9uc2UgPSB7IHJlc3BvbnNlVVJMLmRhdGEoKSwgbG9hZGVyLT5yZXNwb25zZSgp
Lmh0dHBTdGF0dXNDb2RlKCksIDAsIG1pbWVUeXBlLmRhdGEoKSB9OworICAgIGJvb2wgc3Vic3Rp
dHV0ZURhdGEgPSBsb2FkZXItPnN1YnN0aXR1dGVEYXRhKCkuaXNWYWxpZCgpOworCisgICAgRXdr
X1ZpZXdfTmF2aWdhdGlvbl9EYXRhIGRhdGEgPSB7IHVybEZvckhpc3RvcnkuZGF0YSgpLCB0aXRs
ZS5kYXRhKCksICZyZXF1ZXN0LCAmcmVzcG9uc2UsIHN1YnN0aXR1dGVEYXRhLCBjbGllbnRSZWRp
cmVjdFNvdXJjZS5kYXRhKCkgfTsKKworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2Nh
bGwobV92aWV3LCAibmF2aWdhdGUsd2l0aCxkYXRhIiwgJmRhdGEpOwogfQogCiB2b2lkIEZyYW1l
TG9hZGVyQ2xpZW50RWZsOjpzYXZlUGxhdGZvcm1EYXRhVG9DYWNoZWRGcmFtZShDYWNoZWRGcmFt
ZSopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IGNjNjUwMzguLmMxMWM2OTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC03MSw2ICs3MSw5IEBACiAgKiAgLSAibWVudWJhcix2
aXNpYmxlLHNldCIsIEVpbmFfQm9vbDogc2V0cyBtZW51YmFyIHZpc2liaWxpdHkuCiAgKiAgLSAi
bWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmluZyBmcmFt
ZXMgaGFzIGxvYWRlZCBhbmQgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQuCiAgKiAgLSAibWl4ZWRj
b250ZW50LHJ1biIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmluZyBmcmFtZXMgaGFzIGxvYWRl
ZCBhbmQgcnVuIG1peGVkIGNvbnRlbnQuCisgKiAgLSAibmF2aWdhdGUsd2l0aCxkYXRhIiwgRXdr
X1ZpZXdfTmF2aWdhdGlvbl9EYXRhKjogcmVwb3J0cyB0aGF0IHZpZXcgZGlkIG5hdmlnYXRpb24g
YW5kIGdpdmVzIHRoZSBuYXZpZ2F0aW9uIGRldGFpbHMuCisgKiAgLSAicGVyZm9ybSxjbGllbnQs
cmVkaXJlY3QiLCBFd2tfVmlld19SZWRpcmVjdGlvbl9EYXRhKjogcmVwb3J0cyB0aGF0IHZpZXcg
cGVyZm9ybWVkIGEgY2xpZW50IHJlZGlyZWN0IGFuZCBnaXZlcyB0aGUgcmVkaXJlY3Rpb24gZGV0
YWlscy4KKyAqICAtICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIsIEV3a19WaWV3X1JlZGlyZWN0
aW9uX0RhdGEqOiByZXBvcnRzIHRoYXQgdmlldyBwZXJmb3JtZWQgYSBzZXJ2ZXIgcmVkaXJlY3Qg
YW5kIGdpdmVzIHRoZSByZWRpcmVjdGlvbiBkZXRhaWxzLgogICogIC0gInByb3RvY29saGFuZGxl
cixyZWdpc3RyYXRpb24scmVxdWVzdGVkIiwgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGE6IGFkZCBh
IGhhbmRsZXIgdXJsIGZvciB0aGUgZ2l2ZW4gcHJvdG9jb2wuCiAgKiAgLSAib25sb2FkLGV2ZW50
IiwgRXZhc19PYmplY3QqOiBhIGZyYW1lIG9ubG9hZCBldmVudCBoYXMgYmVlbiByZWNlaXZlZC4K
ICAqICAtICJwb3B1bGF0ZSx2aXNpdGVkLGxpbmtzIjogdGVsbHMgdGhlIGNsaWVudCB0byBmaWxs
IHRoZSB2aXNpdGVkIGxpbmtzIHNldC4KQEAgLTI5NCw2ICsyOTcsMzYgQEAgc3RydWN0IF9Fd2tf
RG93bmxvYWQgewogICAgIC8qIHRvIGJlIGV4dGVuZGVkICovCiB9OwogCisvLy8gQ3JlYXRlcyBh
IHR5cGUgbmFtZSBmb3IgQGEgX0V3a19WaWV3X05hdmlnYXRpb25fRGF0YS4KK3R5cGVkZWYgc3Ry
dWN0IF9Fd2tfVmlld19OYXZpZ2F0aW9uX0RhdGEgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhOwor
CisvKioKKyAqIEBicmllZiBTdHJ1Y3R1cmUgY29udGFpbmluZyBkZXRhaWxzIGFib3V0IGEgdmll
dyBuYXZpZ2F0aW9uLgorICoKKyAqIERldGFpbHMgb2YgYSB2aWV3IG5hdmlnYXRpb24uIEl0IGlz
IHVzZWQgaW4gIm5hdmlnYXRlLHdpdGgsZGF0YSIgc2lnbmFsLgorICovCitzdHJ1Y3QgX0V3a19W
aWV3X05hdmlnYXRpb25fRGF0YSB7CisgICAgY29uc3QgY2hhciAqdXJsOyAgLyoqPCBVUkwgZm9y
IHRoZSBoaXN0b3J5LiAqLworICAgIGNvbnN0IGNoYXIgKnRpdGxlOyAgLyoqPCBUaXRsZSBvZiB0
aGUgbmF2aWdhdGVkIHBhZ2UuICovCisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgKnJl
cXVlc3Q7ICAvKio8IE5hdmlnYXRpb24gcmVxdWVzdC4gKi8KKyAgICBFd2tfRnJhbWVfUmVzb3Vy
Y2VfUmVzcG9uc2UgKnJlc3BvbnNlOyAgLyoqPCBOYXZpZ2F0aW9uIHJlc3BvbnNlLiAqLworICAg
IEVpbmFfQm9vbCBoYXNfc3Vic3RpdHV0ZV9kYXRhOyAgLyoqPCBEYXRhIHN1YnN0aXR1dGlvbiBm
bGFnLiAqLworICAgIGNvbnN0IGNoYXIgKmNsaWVudF9yZWRpcmVjdF9zb3VyY2U7ICAvKio8IENs
aWVudCByZWRpcmVjdCBzb3VyY2UgVVJMLiovCit9OworCisKKy8vLyBDcmVhdGVzIGEgdHlwZSBu
YW1lIGZvciBAYSBfRXdrX1ZpZXdfUmVkaXJlY3Rpb25fRGF0YS4KK3R5cGVkZWYgc3RydWN0IF9F
d2tfVmlld19SZWRpcmVjdGlvbl9EYXRhIEV3a19WaWV3X1JlZGlyZWN0aW9uX0RhdGE7CisKKy8q
KgorICogQGJyaWVmIFN0cnVjdHVyZSBjb250YWluaW5nIGRldGFpbHMgYWJvdXQgYSB2aWV3IHJl
ZGlyZWN0aW9uLgorICoKKyAqIERldGFpbHMgb2YgYSBjbGllbnQgb3Igc2VydmVyIHJlZGlyZWN0
aW9uLiBJdCBpcyB1c2VkIGluICJwZXJmb3JtLGNsaWVudCxyZWRpcmVjdCIgYW5kICJwZXJmb3Jt
LHNlcnZlcixyZWRpcmVjdCIgc2lnbmFscy4KKyAqLworc3RydWN0IF9Fd2tfVmlld19SZWRpcmVj
dGlvbl9EYXRhIHsKKyAgICBjb25zdCBjaGFyICpzb3VyY2VfdXJsOyAgLyoqPCBSZWRpcmVjdCBz
b3VyY2UgVVJMLiAqLworICAgIGNvbnN0IGNoYXIgKmRlc3RpbmF0aW9uX3VybDsgIC8qKjwgUmVk
aXJlY3QgZGVzdGluYXRpb24gVVJMLiAqLyAKK307CiAvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBm
b3IgQGEgX0V3a19TY3JvbGxfUmVxdWVzdC4KIHR5cGVkZWYgc3RydWN0IF9Fd2tfU2Nyb2xsX1Jl
cXVlc3QgRXdrX1Njcm9sbF9SZXF1ZXN0OwogLy8vIENvbnRhaW5zIHRoZSBzY3JvbGwgcmVxdWVz
dCB0aGF0IHNob3VsZCBiZSBwcm9jZXNzZWQgYnkgc3ViY2xhc3MgaW1wbGVtZW50YXRpb25zLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145062</attachid>
            <date>2012-05-31 05:41:00 -0700</date>
            <delta_ts>2012-05-31 06:37:50 -0700</delta_ts>
            <desc>patch v7 (Review comments are met. Thanks Chris)</desc>
            <filename>bug86343_v7</filename>
            <type>text/plain</type>
            <size>7644</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDYwMzQ3ZDk1YTFiZjc2ODkxNzdjM2JiZDQ3YTFmMDk4NzRlODYzYzcKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
VGh1IE1heSAzMSAxNTo0MDowNiAyMDEyICswMzAwCgogICAgYnVnODYzNDMKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggMGRhNjgzNC4uNjM5OTI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA1LTE0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIE5ldyBzaWduYWxzIGluIGV3a192aWV3IHRvIGVu
YWJsZSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjM0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdsb2JhbCBoaXN0b3J5IGRlbGVnYXRl
IGlzIGFuIGludGVyZmFjZSBmb3IgV2ViS2l0IGNsaWVudHMgdG8gbWFuYWdlIHRoZWlyIG93biBn
bG9iYWwgaGlzdG9yeSBzdG9yZS4KKyAgICAgICAgVGhlIG5ldyBld2tfdmlldyBzaWduYWxzIGRv
IHRoZSBmb2xsb3dpbmc6CisgICAgICAgIDEpIHJlcG9ydCB0aGF0IGEgbmF2aWdhdGlvbiBoYXBw
ZW5lZCB3aXRoaW4gdGhlIHZpZXcgYW5kIGdpdmUgdGhlIG5hdmlnYXRpb24gZGV0YWlscy4KKyAg
ICAgICAgMikgcmVwb3J0IHRoYXQgdmlldyBwZXJmb3JtZWQgYSBjbGllbnQgcmVkaXJlY3QgYW5k
IGdpdmUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiB1cmlzLgorICAgICAgICAzKSByZXBvcnQgdGhh
dCB2aWV3IHBlcmZvcm1lZCBhIHNlcnZlciByZWRpcmVjdCBhbmQgZ2l2ZSBzb3VyY2UgYW5kIGRl
c3RpbmF0aW9uIHVyaXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBk
YXRlR2xvYmFsSGlzdG9yeVJlZGlyZWN0TGlua3MpOiBpbXBsZW1lbnRhdGlvbiBhZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxIaXN0b3J5
KTogaW1wbGVtZW50YXRpb24gYWRkZWQuCisgICAgICAgICogZXdrL2V3a192aWV3Lmg6IE5ldyBz
aWduYWxzIGFuZCBuZXcgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIGFuZCBFd2tfVmlld19SZWRp
cmVjdGlvbmlvbl9EYXRhIHR5cGVzLgorCiAyMDEyLTA1LTMwICBDaHJpc3RvcGhlIER1bWV6ICA8
Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gRUZMJ3MgRFJUIHNo
b3VsZCBwcmludCB0aGUgbnVtYmVyIG9mIE1lc3NhZ2VQb3J0cyBmb3IgbmV3IGVhY2ggbmV3IGlu
dGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IGMwOGQzZWQuLmU3OGFjOWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEVmbC5jcHAKQEAgLTUwNSw2ICs1MDUsMjcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6
cmVzdG9yZVZpZXdTdGF0ZSgpCiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnVwZGF0ZUds
b2JhbEhpc3RvcnlSZWRpcmVjdExpbmtzKCkKIHsKKyAgICAgICAgV2ViQ29yZTo6RnJhbWUqIGZy
YW1lID0gRVdLUHJpdmF0ZTo6Y29yZUZyYW1lKG1fZnJhbWUpOworICAgICAgICBpZiAoIWZyYW1l
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
KiBsb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCk7CisgICAgICAgIGlm
ICghbG9hZGVyKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmICghbG9hZGVyLT5j
bGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKS5pc051bGwoKSkgeworICAgICAgICAgICAg
Y29uc3QgQ1N0cmluZyYgc291cmNlVVJMID0gbG9hZGVyLT5jbGllbnRSZWRpcmVjdFNvdXJjZUZv
ckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBjb25zdCBDU3RyaW5nJiBkZXN0VVJMID0g
bG9hZGVyLT5jbGllbnRSZWRpcmVjdERlc3RpbmF0aW9uRm9ySGlzdG9yeSgpLnV0ZjgoKTsKKyAg
ICAgICAgICAgIEV3a19WaWV3X1JlZGlyZWN0aW9uX0RhdGEgZGF0YSA9IHsgc291cmNlVVJMLmRh
dGEoKSwgZGVzdFVSTC5kYXRhKCkgfTsKKyAgICAgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2NhbGwobV92aWV3LCAicGVyZm9ybSxjbGllbnQscmVkaXJlY3QiLCAmZGF0YSk7Cisg
ICAgICAgIH0KKworICAgICAgICBpZiAoIWxvYWRlci0+c2VydmVyUmVkaXJlY3RTb3VyY2VGb3JI
aXN0b3J5KCkuaXNOdWxsKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IENTdHJpbmcmIHNvdXJjZVVS
TCA9IGxvYWRlci0+c2VydmVyUmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkudXRmOCgpOworICAg
ICAgICAgICAgY29uc3QgQ1N0cmluZyYgZGVzdFVSTCA9IGxvYWRlci0+c2VydmVyUmVkaXJlY3RE
ZXN0aW5hdGlvbkZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBFd2tfVmlld19SZWRp
cmVjdGlvbl9EYXRhIGRhdGEgPSB7IHNvdXJjZVVSTC5kYXRhKCksIGRlc3RVUkwuZGF0YSgpIH07
CisgICAgICAgICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1fdmlldywgInBl
cmZvcm0sc2VydmVyLHJlZGlyZWN0IiwgJmRhdGEpOworICAgICAgICB9CiB9CiAKIGJvb2wgRnJh
bWVMb2FkZXJDbGllbnRFZmw6OnNob3VsZEdvVG9IaXN0b3J5SXRlbShIaXN0b3J5SXRlbSogaXRl
bSkgY29uc3QKQEAgLTk1OSw3ICs5ODAsMzIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6
c3RhcnREb3dubG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFMKIAog
dm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBkYXRlR2xvYmFsSGlzdG9yeSgpCiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUgPSBFV0tQcml2YXRl
Ojpjb3JlRnJhbWUobV9mcmFtZSk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5sb2FkZXIoKS0+
ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9hZGVyLT5mcmFtZUxvYWRlcigp
OworICAgIGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZnJhbWVMb2FkZXIgJiYgKGxv
YWRlciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpKSAmJiBmcmFt
ZUxvYWRlci0+aXNMb2FkaW5nTWFpbkZyYW1lKCk7CisgICAgY29uc3QgQ1N0cmluZyYgdXJsRm9y
SGlzdG9yeSA9IGxvYWRlci0+dXJsRm9ySGlzdG9yeSgpLnN0cmluZygpLnV0ZjgoKTsKKyAgICBj
b25zdCBDU3RyaW5nJiB0aXRsZSA9IGxvYWRlci0+dGl0bGUoKS5zdHJpbmcoKS51dGY4KCk7Cisg
ICAgY29uc3QgQ1N0cmluZyYgZmlyc3RQYXJ0eSA9IGxvYWRlci0+cmVxdWVzdCgpLmZpcnN0UGFy
dHlGb3JDb29raWVzKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIGNsaWVu
dFJlZGlyZWN0U291cmNlID0gbG9hZGVyLT5jbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3Rvcnko
KS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgb3JpZ2luYWxVUkwgPSBsb2FkZXItPm9yaWdp
bmFsVVJMKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIGh0dHBNZXRob2Qg
PSBsb2FkZXItPnJlcXVlc3QoKS5odHRwTWV0aG9kKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJp
bmcmIHJlc3BvbnNlVVJMID0gbG9hZGVyLT5yZXNwb25zZVVSTCgpLnN0cmluZygpLnV0ZjgoKTsK
KyAgICBjb25zdCBDU3RyaW5nJiBtaW1lVHlwZSA9IGxvYWRlci0+cmVzcG9uc2UoKS5taW1lVHlw
ZSgpLnV0ZjgoKTsKKworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVlc3QgPSB7
IG9yaWdpbmFsVVJMLmRhdGEoKSwgZmlyc3RQYXJ0eS5kYXRhKCksIGh0dHBNZXRob2QuZGF0YSgp
LCAwLCBtX2ZyYW1lLCBpc01haW5GcmFtZVJlcXVlc3QgfTsKKyAgICBFd2tfRnJhbWVfUmVzb3Vy
Y2VfUmVzcG9uc2UgcmVzcG9uc2UgPSB7IHJlc3BvbnNlVVJMLmRhdGEoKSwgbG9hZGVyLT5yZXNw
b25zZSgpLmh0dHBTdGF0dXNDb2RlKCksIDAsIG1pbWVUeXBlLmRhdGEoKSB9OworICAgIGJvb2wg
c3Vic3RpdHV0ZURhdGEgPSBsb2FkZXItPnN1YnN0aXR1dGVEYXRhKCkuaXNWYWxpZCgpOworCisg
ICAgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIGRhdGEgPSB7IHVybEZvckhpc3RvcnkuZGF0YSgp
LCB0aXRsZS5kYXRhKCksICZyZXF1ZXN0LCAmcmVzcG9uc2UsIHN1YnN0aXR1dGVEYXRhLCBjbGll
bnRSZWRpcmVjdFNvdXJjZS5kYXRhKCkgfTsKKworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxi
YWNrX2NhbGwobV92aWV3LCAibmF2aWdhdGUsd2l0aCxkYXRhIiwgJmRhdGEpOwogfQogCiB2b2lk
IEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlUGxhdGZvcm1EYXRhVG9DYWNoZWRGcmFtZShDYWNo
ZWRGcmFtZSopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IGNjNjUwMzguLmRhZWQ4YWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC03MSw2ICs3MSw5IEBACiAgKiAgLSAibWVu
dWJhcix2aXNpYmxlLHNldCIsIEVpbmFfQm9vbDogc2V0cyBtZW51YmFyIHZpc2liaWxpdHkuCiAg
KiAgLSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmlu
ZyBmcmFtZXMgaGFzIGxvYWRlZCBhbmQgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQuCiAgKiAgLSAi
bWl4ZWRjb250ZW50LHJ1biIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmluZyBmcmFtZXMgaGFz
IGxvYWRlZCBhbmQgcnVuIG1peGVkIGNvbnRlbnQuCisgKiAgLSAibmF2aWdhdGUsd2l0aCxkYXRh
IiwgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhKjogcmVwb3J0cyB0aGF0IHZpZXcgZGlkIG5hdmln
YXRpb24gYW5kIGdpdmVzIHRoZSBuYXZpZ2F0aW9uIGRldGFpbHMuCisgKiAgLSAicGVyZm9ybSxj
bGllbnQscmVkaXJlY3QiLCBFd2tfVmlld19SZWRpcmVjdGlvbl9EYXRhKjogcmVwb3J0cyB0aGF0
IHZpZXcgcGVyZm9ybWVkIGEgY2xpZW50IHJlZGlyZWN0IGFuZCBnaXZlcyB0aGUgcmVkaXJlY3Rp
b24gZGV0YWlscy4KKyAqICAtICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIsIEV3a19WaWV3X1Jl
ZGlyZWN0aW9uX0RhdGEqOiByZXBvcnRzIHRoYXQgdmlldyBwZXJmb3JtZWQgYSBzZXJ2ZXIgcmVk
aXJlY3QgYW5kIGdpdmVzIHRoZSByZWRpcmVjdGlvbiBkZXRhaWxzLgogICogIC0gInByb3RvY29s
aGFuZGxlcixyZWdpc3RyYXRpb24scmVxdWVzdGVkIiwgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGE6
IGFkZCBhIGhhbmRsZXIgdXJsIGZvciB0aGUgZ2l2ZW4gcHJvdG9jb2wuCiAgKiAgLSAib25sb2Fk
LGV2ZW50IiwgRXZhc19PYmplY3QqOiBhIGZyYW1lIG9ubG9hZCBldmVudCBoYXMgYmVlbiByZWNl
aXZlZC4KICAqICAtICJwb3B1bGF0ZSx2aXNpdGVkLGxpbmtzIjogdGVsbHMgdGhlIGNsaWVudCB0
byBmaWxsIHRoZSB2aXNpdGVkIGxpbmtzIHNldC4KQEAgLTI5NCw2ICsyOTcsMzYgQEAgc3RydWN0
IF9Fd2tfRG93bmxvYWQgewogICAgIC8qIHRvIGJlIGV4dGVuZGVkICovCiB9OwogCisvLy8gQ3Jl
YXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19WaWV3X05hdmlnYXRpb25fRGF0YS4KK3R5cGVk
ZWYgc3RydWN0IF9Fd2tfVmlld19OYXZpZ2F0aW9uX0RhdGEgRXdrX1ZpZXdfTmF2aWdhdGlvbl9E
YXRhOworCisvKioKKyAqIEBicmllZiBTdHJ1Y3R1cmUgY29udGFpbmluZyBkZXRhaWxzIGFib3V0
IGEgdmlldyBuYXZpZ2F0aW9uLgorICoKKyAqIERldGFpbHMgb2YgYSB2aWV3IG5hdmlnYXRpb24u
IEl0IGlzIHVzZWQgaW4gIm5hdmlnYXRlLHdpdGgsZGF0YSIgc2lnbmFsLgorICovCitzdHJ1Y3Qg
X0V3a19WaWV3X05hdmlnYXRpb25fRGF0YSB7CisgICAgY29uc3QgY2hhciAqdXJsOyAgLyoqPCBV
UkwgZm9yIHRoZSBoaXN0b3J5LiAqLworICAgIGNvbnN0IGNoYXIgKnRpdGxlOyAgLyoqPCBUaXRs
ZSBvZiB0aGUgbmF2aWdhdGVkIHBhZ2UuICovCisgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVl
c3QgKnJlcXVlc3Q7ICAvKio8IE5hdmlnYXRpb24gcmVxdWVzdC4gKi8KKyAgICBFd2tfRnJhbWVf
UmVzb3VyY2VfUmVzcG9uc2UgKnJlc3BvbnNlOyAgLyoqPCBOYXZpZ2F0aW9uIHJlc3BvbnNlLiAq
LworICAgIEVpbmFfQm9vbCBoYXNfc3Vic3RpdHV0ZV9kYXRhOyAgLyoqPCBEYXRhIHN1YnN0aXR1
dGlvbiBmbGFnLiAqLworICAgIGNvbnN0IGNoYXIgKmNsaWVudF9yZWRpcmVjdF9zb3VyY2U7ICAv
Kio8IENsaWVudCByZWRpcmVjdCBzb3VyY2UgVVJMLiAqLworfTsKKworCisvLy8gQ3JlYXRlcyBh
IHR5cGUgbmFtZSBmb3IgQGEgX0V3a19WaWV3X1JlZGlyZWN0aW9uX0RhdGEuCit0eXBlZGVmIHN0
cnVjdCBfRXdrX1ZpZXdfUmVkaXJlY3Rpb25fRGF0YSBFd2tfVmlld19SZWRpcmVjdGlvbl9EYXRh
OworCisvKioKKyAqIEBicmllZiBTdHJ1Y3R1cmUgY29udGFpbmluZyBkZXRhaWxzIGFib3V0IGEg
dmlldyByZWRpcmVjdGlvbi4KKyAqCisgKiBEZXRhaWxzIG9mIGEgY2xpZW50IG9yIHNlcnZlciBy
ZWRpcmVjdGlvbi4gSXQgaXMgdXNlZCBpbiAicGVyZm9ybSxjbGllbnQscmVkaXJlY3QiIGFuZCAi
cGVyZm9ybSxzZXJ2ZXIscmVkaXJlY3QiIHNpZ25hbHMuCisgKi8KK3N0cnVjdCBfRXdrX1ZpZXdf
UmVkaXJlY3Rpb25fRGF0YSB7CisgICAgY29uc3QgY2hhciAqc291cmNlX3VybDsgIC8qKjwgUmVk
aXJlY3Qgc291cmNlIFVSTC4gKi8KKyAgICBjb25zdCBjaGFyICpkZXN0aW5hdGlvbl91cmw7ICAv
Kio8IFJlZGlyZWN0IGRlc3RpbmF0aW9uIFVSTC4gKi8gCit9OwogLy8vIENyZWF0ZXMgYSB0eXBl
IG5hbWUgZm9yIEBhIF9Fd2tfU2Nyb2xsX1JlcXVlc3QuCiB0eXBlZGVmIHN0cnVjdCBfRXdrX1Nj
cm9sbF9SZXF1ZXN0IEV3a19TY3JvbGxfUmVxdWVzdDsKIC8vLyBDb250YWlucyB0aGUgc2Nyb2xs
IHJlcXVlc3QgdGhhdCBzaG91bGQgYmUgcHJvY2Vzc2VkIGJ5IHN1YmNsYXNzIGltcGxlbWVudGF0
aW9ucy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145078</attachid>
            <date>2012-05-31 06:37:50 -0700</date>
            <delta_ts>2012-06-01 02:51:12 -0700</delta_ts>
            <desc>patch v8 (Removed typos from changelog)</desc>
            <filename>bug86343_v8</filename>
            <type>text/plain</type>
            <size>7593</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGIzYTU1ZDcwNmQ4OWU4Y2I4OTFjMGVhN2YwMjJhYzUwZDU0OGRlNTQKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
VGh1IE1heSAzMSAxNTo0MDowNiAyMDEyICswMzAwCgogICAgYnVnODYzNDMKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggMGRhNjgzNC4uYzJiZWZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA1LTE0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIE5ldyBzaWduYWxzIGluIGV3a192aWV3IHRvIGVu
YWJsZSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjM0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdsb2JhbCBoaXN0b3J5IGRlbGVnYXRl
IGlzIGFuIGludGVyZmFjZSBmb3IgV2ViS2l0IGNsaWVudHMgdG8gbWFuYWdlIHRoZWlyIG93biBn
bG9iYWwgaGlzdG9yeSBzdG9yZS4KKyAgICAgICAgVGhlIG5ldyBld2tfdmlldyBzaWduYWxzIGRv
IHRoZSBmb2xsb3dpbmc6CisgICAgICAgIDEpIHJlcG9ydCB0aGF0IGEgbmF2aWdhdGlvbiBoYXBw
ZW5lZCB3aXRoaW4gdGhlIHZpZXcgYW5kIGdpdmUgdGhlIG5hdmlnYXRpb24gZGV0YWlscy4KKyAg
ICAgICAgMikgcmVwb3J0IHRoYXQgdmlldyBwZXJmb3JtZWQgYSBjbGllbnQgcmVkaXJlY3QgYW5k
IGdpdmUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiB1cmlzLgorICAgICAgICAzKSByZXBvcnQgdGhh
dCB2aWV3IHBlcmZvcm1lZCBhIHNlcnZlciByZWRpcmVjdCBhbmQgZ2l2ZSBzb3VyY2UgYW5kIGRl
c3RpbmF0aW9uIHVyaXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBk
YXRlR2xvYmFsSGlzdG9yeVJlZGlyZWN0TGlua3MpOiBpbXBsZW1lbnRhdGlvbiBhZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxIaXN0b3J5
KTogaW1wbGVtZW50YXRpb24gYWRkZWQuCisgICAgICAgICogZXdrL2V3a192aWV3Lmg6IEFkZGVk
IG5ldyBzaWduYWxzIGFuZCBkYXRhIHR5cGVzLgorCiAyMDEyLTA1LTMwICBDaHJpc3RvcGhlIER1
bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gRUZMJ3Mg
RFJUIHNob3VsZCBwcmludCB0aGUgbnVtYmVyIG9mIE1lc3NhZ2VQb3J0cyBmb3IgbmV3IGVhY2gg
bmV3IGludGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IGMwOGQzZWQuLmU3OGFjOWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudEVmbC5jcHAKQEAgLTUwNSw2ICs1MDUsMjcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVu
dEVmbDo6cmVzdG9yZVZpZXdTdGF0ZSgpCiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnVw
ZGF0ZUdsb2JhbEhpc3RvcnlSZWRpcmVjdExpbmtzKCkKIHsKKyAgICAgICAgV2ViQ29yZTo6RnJh
bWUqIGZyYW1lID0gRVdLUHJpdmF0ZTo6Y29yZUZyYW1lKG1fZnJhbWUpOworICAgICAgICBpZiAo
IWZyYW1lKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFdlYkNvcmU6OkRvY3VtZW50
TG9hZGVyKiBsb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCk7CisgICAg
ICAgIGlmICghbG9hZGVyKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmICghbG9h
ZGVyLT5jbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKS5pc051bGwoKSkgeworICAgICAg
ICAgICAgY29uc3QgQ1N0cmluZyYgc291cmNlVVJMID0gbG9hZGVyLT5jbGllbnRSZWRpcmVjdFNv
dXJjZUZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBjb25zdCBDU3RyaW5nJiBkZXN0
VVJMID0gbG9hZGVyLT5jbGllbnRSZWRpcmVjdERlc3RpbmF0aW9uRm9ySGlzdG9yeSgpLnV0Zjgo
KTsKKyAgICAgICAgICAgIEV3a19WaWV3X1JlZGlyZWN0aW9uX0RhdGEgZGF0YSA9IHsgc291cmNl
VVJMLmRhdGEoKSwgZGVzdFVSTC5kYXRhKCkgfTsKKyAgICAgICAgICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAicGVyZm9ybSxjbGllbnQscmVkaXJlY3QiLCAmZGF0
YSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWxvYWRlci0+c2VydmVyUmVkaXJlY3RTb3Vy
Y2VGb3JIaXN0b3J5KCkuaXNOdWxsKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IENTdHJpbmcmIHNv
dXJjZVVSTCA9IGxvYWRlci0+c2VydmVyUmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkudXRmOCgp
OworICAgICAgICAgICAgY29uc3QgQ1N0cmluZyYgZGVzdFVSTCA9IGxvYWRlci0+c2VydmVyUmVk
aXJlY3REZXN0aW5hdGlvbkZvckhpc3RvcnkoKS51dGY4KCk7CisgICAgICAgICAgICBFd2tfVmll
d19SZWRpcmVjdGlvbl9EYXRhIGRhdGEgPSB7IHNvdXJjZVVSTC5kYXRhKCksIGRlc3RVUkwuZGF0
YSgpIH07CisgICAgICAgICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1fdmll
dywgInBlcmZvcm0sc2VydmVyLHJlZGlyZWN0IiwgJmRhdGEpOworICAgICAgICB9CiB9CiAKIGJv
b2wgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNob3VsZEdvVG9IaXN0b3J5SXRlbShIaXN0b3J5SXRl
bSogaXRlbSkgY29uc3QKQEAgLTk1OSw3ICs5ODAsMzIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVu
dEVmbDo6c3RhcnREb3dubG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFMKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBkYXRlR2xvYmFsSGlzdG9yeSgpCiB7
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUgPSBFV0tQ
cml2YXRlOjpjb3JlRnJhbWUobV9mcmFtZSk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5sb2Fk
ZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9hZGVyLT5mcmFtZUxv
YWRlcigpOworICAgIGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZnJhbWVMb2FkZXIg
JiYgKGxvYWRlciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpKSAm
JiBmcmFtZUxvYWRlci0+aXNMb2FkaW5nTWFpbkZyYW1lKCk7CisgICAgY29uc3QgQ1N0cmluZyYg
dXJsRm9ySGlzdG9yeSA9IGxvYWRlci0+dXJsRm9ySGlzdG9yeSgpLnN0cmluZygpLnV0ZjgoKTsK
KyAgICBjb25zdCBDU3RyaW5nJiB0aXRsZSA9IGxvYWRlci0+dGl0bGUoKS5zdHJpbmcoKS51dGY4
KCk7CisgICAgY29uc3QgQ1N0cmluZyYgZmlyc3RQYXJ0eSA9IGxvYWRlci0+cmVxdWVzdCgpLmZp
cnN0UGFydHlGb3JDb29raWVzKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcm
IGNsaWVudFJlZGlyZWN0U291cmNlID0gbG9hZGVyLT5jbGllbnRSZWRpcmVjdFNvdXJjZUZvckhp
c3RvcnkoKS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgb3JpZ2luYWxVUkwgPSBsb2FkZXIt
Pm9yaWdpbmFsVVJMKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIGh0dHBN
ZXRob2QgPSBsb2FkZXItPnJlcXVlc3QoKS5odHRwTWV0aG9kKCkudXRmOCgpOworICAgIGNvbnN0
IENTdHJpbmcmIHJlc3BvbnNlVVJMID0gbG9hZGVyLT5yZXNwb25zZVVSTCgpLnN0cmluZygpLnV0
ZjgoKTsKKyAgICBjb25zdCBDU3RyaW5nJiBtaW1lVHlwZSA9IGxvYWRlci0+cmVzcG9uc2UoKS5t
aW1lVHlwZSgpLnV0ZjgoKTsKKworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVl
c3QgPSB7IG9yaWdpbmFsVVJMLmRhdGEoKSwgZmlyc3RQYXJ0eS5kYXRhKCksIGh0dHBNZXRob2Qu
ZGF0YSgpLCAwLCBtX2ZyYW1lLCBpc01haW5GcmFtZVJlcXVlc3QgfTsKKyAgICBFd2tfRnJhbWVf
UmVzb3VyY2VfUmVzcG9uc2UgcmVzcG9uc2UgPSB7IHJlc3BvbnNlVVJMLmRhdGEoKSwgbG9hZGVy
LT5yZXNwb25zZSgpLmh0dHBTdGF0dXNDb2RlKCksIDAsIG1pbWVUeXBlLmRhdGEoKSB9OworICAg
IGJvb2wgc3Vic3RpdHV0ZURhdGEgPSBsb2FkZXItPnN1YnN0aXR1dGVEYXRhKCkuaXNWYWxpZCgp
OworCisgICAgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIGRhdGEgPSB7IHVybEZvckhpc3Rvcnku
ZGF0YSgpLCB0aXRsZS5kYXRhKCksICZyZXF1ZXN0LCAmcmVzcG9uc2UsIHN1YnN0aXR1dGVEYXRh
LCBjbGllbnRSZWRpcmVjdFNvdXJjZS5kYXRhKCkgfTsKKworICAgIGV2YXNfb2JqZWN0X3NtYXJ0
X2NhbGxiYWNrX2NhbGwobV92aWV3LCAibmF2aWdhdGUsd2l0aCxkYXRhIiwgJmRhdGEpOwogfQog
CiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlUGxhdGZvcm1EYXRhVG9DYWNoZWRGcmFt
ZShDYWNoZWRGcmFtZSopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IGNjNjUwMzguLmRh
ZWQ4YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC03MSw2ICs3MSw5IEBACiAgKiAg
LSAibWVudWJhcix2aXNpYmxlLHNldCIsIEVpbmFfQm9vbDogc2V0cyBtZW51YmFyIHZpc2liaWxp
dHkuCiAgKiAgLSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIHZvaWQ6IGFueSBvZiB0aGUgY29u
dGFpbmluZyBmcmFtZXMgaGFzIGxvYWRlZCBhbmQgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQuCiAg
KiAgLSAibWl4ZWRjb250ZW50LHJ1biIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmluZyBmcmFt
ZXMgaGFzIGxvYWRlZCBhbmQgcnVuIG1peGVkIGNvbnRlbnQuCisgKiAgLSAibmF2aWdhdGUsd2l0
aCxkYXRhIiwgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhKjogcmVwb3J0cyB0aGF0IHZpZXcgZGlk
IG5hdmlnYXRpb24gYW5kIGdpdmVzIHRoZSBuYXZpZ2F0aW9uIGRldGFpbHMuCisgKiAgLSAicGVy
Zm9ybSxjbGllbnQscmVkaXJlY3QiLCBFd2tfVmlld19SZWRpcmVjdGlvbl9EYXRhKjogcmVwb3J0
cyB0aGF0IHZpZXcgcGVyZm9ybWVkIGEgY2xpZW50IHJlZGlyZWN0IGFuZCBnaXZlcyB0aGUgcmVk
aXJlY3Rpb24gZGV0YWlscy4KKyAqICAtICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIsIEV3a19W
aWV3X1JlZGlyZWN0aW9uX0RhdGEqOiByZXBvcnRzIHRoYXQgdmlldyBwZXJmb3JtZWQgYSBzZXJ2
ZXIgcmVkaXJlY3QgYW5kIGdpdmVzIHRoZSByZWRpcmVjdGlvbiBkZXRhaWxzLgogICogIC0gInBy
b3RvY29saGFuZGxlcixyZWdpc3RyYXRpb24scmVxdWVzdGVkIiwgRXdrX0N1c3RvbV9IYW5kbGVy
X0RhdGE6IGFkZCBhIGhhbmRsZXIgdXJsIGZvciB0aGUgZ2l2ZW4gcHJvdG9jb2wuCiAgKiAgLSAi
b25sb2FkLGV2ZW50IiwgRXZhc19PYmplY3QqOiBhIGZyYW1lIG9ubG9hZCBldmVudCBoYXMgYmVl
biByZWNlaXZlZC4KICAqICAtICJwb3B1bGF0ZSx2aXNpdGVkLGxpbmtzIjogdGVsbHMgdGhlIGNs
aWVudCB0byBmaWxsIHRoZSB2aXNpdGVkIGxpbmtzIHNldC4KQEAgLTI5NCw2ICsyOTcsMzYgQEAg
c3RydWN0IF9Fd2tfRG93bmxvYWQgewogICAgIC8qIHRvIGJlIGV4dGVuZGVkICovCiB9OwogCisv
Ly8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19WaWV3X05hdmlnYXRpb25fRGF0YS4K
K3R5cGVkZWYgc3RydWN0IF9Fd2tfVmlld19OYXZpZ2F0aW9uX0RhdGEgRXdrX1ZpZXdfTmF2aWdh
dGlvbl9EYXRhOworCisvKioKKyAqIEBicmllZiBTdHJ1Y3R1cmUgY29udGFpbmluZyBkZXRhaWxz
IGFib3V0IGEgdmlldyBuYXZpZ2F0aW9uLgorICoKKyAqIERldGFpbHMgb2YgYSB2aWV3IG5hdmln
YXRpb24uIEl0IGlzIHVzZWQgaW4gIm5hdmlnYXRlLHdpdGgsZGF0YSIgc2lnbmFsLgorICovCitz
dHJ1Y3QgX0V3a19WaWV3X05hdmlnYXRpb25fRGF0YSB7CisgICAgY29uc3QgY2hhciAqdXJsOyAg
LyoqPCBVUkwgZm9yIHRoZSBoaXN0b3J5LiAqLworICAgIGNvbnN0IGNoYXIgKnRpdGxlOyAgLyoq
PCBUaXRsZSBvZiB0aGUgbmF2aWdhdGVkIHBhZ2UuICovCisgICAgRXdrX0ZyYW1lX1Jlc291cmNl
X1JlcXVlc3QgKnJlcXVlc3Q7ICAvKio8IE5hdmlnYXRpb24gcmVxdWVzdC4gKi8KKyAgICBFd2tf
RnJhbWVfUmVzb3VyY2VfUmVzcG9uc2UgKnJlc3BvbnNlOyAgLyoqPCBOYXZpZ2F0aW9uIHJlc3Bv
bnNlLiAqLworICAgIEVpbmFfQm9vbCBoYXNfc3Vic3RpdHV0ZV9kYXRhOyAgLyoqPCBEYXRhIHN1
YnN0aXR1dGlvbiBmbGFnLiAqLworICAgIGNvbnN0IGNoYXIgKmNsaWVudF9yZWRpcmVjdF9zb3Vy
Y2U7ICAvKio8IENsaWVudCByZWRpcmVjdCBzb3VyY2UgVVJMLiAqLworfTsKKworCisvLy8gQ3Jl
YXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19WaWV3X1JlZGlyZWN0aW9uX0RhdGEuCit0eXBl
ZGVmIHN0cnVjdCBfRXdrX1ZpZXdfUmVkaXJlY3Rpb25fRGF0YSBFd2tfVmlld19SZWRpcmVjdGlv
bl9EYXRhOworCisvKioKKyAqIEBicmllZiBTdHJ1Y3R1cmUgY29udGFpbmluZyBkZXRhaWxzIGFi
b3V0IGEgdmlldyByZWRpcmVjdGlvbi4KKyAqCisgKiBEZXRhaWxzIG9mIGEgY2xpZW50IG9yIHNl
cnZlciByZWRpcmVjdGlvbi4gSXQgaXMgdXNlZCBpbiAicGVyZm9ybSxjbGllbnQscmVkaXJlY3Qi
IGFuZCAicGVyZm9ybSxzZXJ2ZXIscmVkaXJlY3QiIHNpZ25hbHMuCisgKi8KK3N0cnVjdCBfRXdr
X1ZpZXdfUmVkaXJlY3Rpb25fRGF0YSB7CisgICAgY29uc3QgY2hhciAqc291cmNlX3VybDsgIC8q
KjwgUmVkaXJlY3Qgc291cmNlIFVSTC4gKi8KKyAgICBjb25zdCBjaGFyICpkZXN0aW5hdGlvbl91
cmw7ICAvKio8IFJlZGlyZWN0IGRlc3RpbmF0aW9uIFVSTC4gKi8gCit9OwogLy8vIENyZWF0ZXMg
YSB0eXBlIG5hbWUgZm9yIEBhIF9Fd2tfU2Nyb2xsX1JlcXVlc3QuCiB0eXBlZGVmIHN0cnVjdCBf
RXdrX1Njcm9sbF9SZXF1ZXN0IEV3a19TY3JvbGxfUmVxdWVzdDsKIC8vLyBDb250YWlucyB0aGUg
c2Nyb2xsIHJlcXVlc3QgdGhhdCBzaG91bGQgYmUgcHJvY2Vzc2VkIGJ5IHN1YmNsYXNzIGltcGxl
bWVudGF0aW9ucy4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145249</attachid>
            <date>2012-06-01 02:51:12 -0700</date>
            <delta_ts>2012-06-01 05:57:55 -0700</delta_ts>
            <desc>patch v9 (Another review remarks met. Chris thanks again)</desc>
            <filename>bug86343_v9</filename>
            <type>text/plain</type>
            <size>7599</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDlkNTA5NTgzNWUwNzQzZmRmNjY2N2ExYTg1YzNlMWI4MzgwMzdkMmQKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
VGh1IE1heSAzMSAxNTo0MDowNiAyMDEyICswMzAwCgogICAgYnVnODYzNDMKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggZWM0ZjMxNS4uZjJiN2VhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA1LTE0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIE5ldyBzaWduYWxzIGluIGV3a192aWV3IHRvIGVu
YWJsZSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjM0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdsb2JhbCBoaXN0b3J5IGRlbGVnYXRl
IGlzIGFuIGludGVyZmFjZSBmb3IgV2ViS2l0IGNsaWVudHMgdG8gbWFuYWdlIHRoZWlyIG93biBn
bG9iYWwgaGlzdG9yeSBzdG9yZS4KKyAgICAgICAgVGhlIG5ldyBld2tfdmlldyBzaWduYWxzIGRv
IHRoZSBmb2xsb3dpbmc6CisgICAgICAgIDEpIHJlcG9ydCB0aGF0IGEgbmF2aWdhdGlvbiBoYXBw
ZW5lZCB3aXRoaW4gdGhlIHZpZXcgYW5kIGdpdmUgdGhlIG5hdmlnYXRpb24gZGV0YWlscy4KKyAg
ICAgICAgMikgcmVwb3J0IHRoYXQgdmlldyBwZXJmb3JtZWQgYSBjbGllbnQgcmVkaXJlY3QgYW5k
IGdpdmUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiB1cmlzLgorICAgICAgICAzKSByZXBvcnQgdGhh
dCB2aWV3IHBlcmZvcm1lZCBhIHNlcnZlciByZWRpcmVjdCBhbmQgZ2l2ZSBzb3VyY2UgYW5kIGRl
c3RpbmF0aW9uIHVyaXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBk
YXRlR2xvYmFsSGlzdG9yeVJlZGlyZWN0TGlua3MpOiBpbXBsZW1lbnRhdGlvbiBhZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjp1cGRhdGVHbG9iYWxIaXN0b3J5
KTogaW1wbGVtZW50YXRpb24gYWRkZWQuCisgICAgICAgICogZXdrL2V3a192aWV3Lmg6IEFkZGVk
IG5ldyBzaWduYWxzIGFuZCBkYXRhIHR5cGVzLgorCiAyMDEyLTA1LTMxICBBbGV4YW5kZXIgU2hh
bGFtb3YgIDxhbGV4YW5kZXIuc2hhbGFtb3ZAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIDxp
bnB1dCB0eXBlPSJudW1iZXIiPiBpcyBub3QgYSBzcGluYnV0dG9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAK
aW5kZXggYzA4ZDNlZC4uMzQ1ZDJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcApAQCAtNTA1LDYgKzUw
NSwyNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpyZXN0b3JlVmlld1N0YXRlKCkKIAog
dm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBkYXRlR2xvYmFsSGlzdG9yeVJlZGlyZWN0TGlu
a3MoKQogeworICAgICAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUgPSBFV0tQcml2YXRlOjpjb3Jl
RnJhbWUobV9mcmFtZSk7CisgICAgICAgIGlmICghZnJhbWUpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5sb2Fk
ZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICAgICAgaWYgKCFsb2FkZXIpCisgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgaWYgKCFsb2FkZXItPmNsaWVudFJlZGlyZWN0U291cmNlRm9y
SGlzdG9yeSgpLmlzTnVsbCgpKSB7CisgICAgICAgICAgICBjb25zdCBDU3RyaW5nJiBzb3VyY2VV
UkwgPSBsb2FkZXItPmNsaWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSgpLnV0ZjgoKTsKKyAg
ICAgICAgICAgIGNvbnN0IENTdHJpbmcmIGRlc3RpbmF0aW9uVVJMID0gbG9hZGVyLT5jbGllbnRS
ZWRpcmVjdERlc3RpbmF0aW9uRm9ySGlzdG9yeSgpLnV0ZjgoKTsKKyAgICAgICAgICAgIEV3a19W
aWV3X1JlZGlyZWN0aW9uX0RhdGEgZGF0YSA9IHsgc291cmNlVVJMLmRhdGEoKSwgZGVzdGluYXRp
b25VUkwuZGF0YSgpIH07CisgICAgICAgICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19j
YWxsKG1fdmlldywgInBlcmZvcm0sY2xpZW50LHJlZGlyZWN0IiwgJmRhdGEpOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKCFsb2FkZXItPnNlcnZlclJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSgp
LmlzTnVsbCgpKSB7CisgICAgICAgICAgICBjb25zdCBDU3RyaW5nJiBzb3VyY2VVUkwgPSBsb2Fk
ZXItPnNlcnZlclJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSgpLnV0ZjgoKTsKKyAgICAgICAgICAg
IGNvbnN0IENTdHJpbmcmIGRlc3RpbmF0aW9uVVJMID0gbG9hZGVyLT5zZXJ2ZXJSZWRpcmVjdERl
c3RpbmF0aW9uRm9ySGlzdG9yeSgpLnV0ZjgoKTsKKyAgICAgICAgICAgIEV3a19WaWV3X1JlZGly
ZWN0aW9uX0RhdGEgZGF0YSA9IHsgc291cmNlVVJMLmRhdGEoKSwgZGVzdGluYXRpb25VUkwuZGF0
YSgpIH07CisgICAgICAgICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG1fdmll
dywgInBlcmZvcm0sc2VydmVyLHJlZGlyZWN0IiwgJmRhdGEpOworICAgICAgICB9CiB9CiAKIGJv
b2wgRnJhbWVMb2FkZXJDbGllbnRFZmw6OnNob3VsZEdvVG9IaXN0b3J5SXRlbShIaXN0b3J5SXRl
bSogaXRlbSkgY29uc3QKQEAgLTk1OSw3ICs5ODAsMzIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVu
dEVmbDo6c3RhcnREb3dubG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFMKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6dXBkYXRlR2xvYmFsSGlzdG9yeSgpCiB7
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUgPSBFV0tQ
cml2YXRlOjpjb3JlRnJhbWUobV9mcmFtZSk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5sb2Fk
ZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgY29uc3QgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbG9hZGVyLT5mcmFtZUxv
YWRlcigpOworICAgIGNvbnN0IGJvb2wgaXNNYWluRnJhbWVSZXF1ZXN0ID0gZnJhbWVMb2FkZXIg
JiYgKGxvYWRlciA9PSBmcmFtZUxvYWRlci0+cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpKSAm
JiBmcmFtZUxvYWRlci0+aXNMb2FkaW5nTWFpbkZyYW1lKCk7CisgICAgY29uc3QgQ1N0cmluZyYg
dXJsRm9ySGlzdG9yeSA9IGxvYWRlci0+dXJsRm9ySGlzdG9yeSgpLnN0cmluZygpLnV0ZjgoKTsK
KyAgICBjb25zdCBDU3RyaW5nJiB0aXRsZSA9IGxvYWRlci0+dGl0bGUoKS5zdHJpbmcoKS51dGY4
KCk7CisgICAgY29uc3QgQ1N0cmluZyYgZmlyc3RQYXJ0eSA9IGxvYWRlci0+cmVxdWVzdCgpLmZp
cnN0UGFydHlGb3JDb29raWVzKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcm
IGNsaWVudFJlZGlyZWN0U291cmNlID0gbG9hZGVyLT5jbGllbnRSZWRpcmVjdFNvdXJjZUZvckhp
c3RvcnkoKS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyYgb3JpZ2luYWxVUkwgPSBsb2FkZXIt
Pm9yaWdpbmFsVVJMKCkuc3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IENTdHJpbmcmIGh0dHBN
ZXRob2QgPSBsb2FkZXItPnJlcXVlc3QoKS5odHRwTWV0aG9kKCkudXRmOCgpOworICAgIGNvbnN0
IENTdHJpbmcmIHJlc3BvbnNlVVJMID0gbG9hZGVyLT5yZXNwb25zZVVSTCgpLnN0cmluZygpLnV0
ZjgoKTsKKyAgICBjb25zdCBDU3RyaW5nJiBtaW1lVHlwZSA9IGxvYWRlci0+cmVzcG9uc2UoKS5t
aW1lVHlwZSgpLnV0ZjgoKTsKKworICAgIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0IHJlcXVl
c3QgPSB7IG9yaWdpbmFsVVJMLmRhdGEoKSwgZmlyc3RQYXJ0eS5kYXRhKCksIGh0dHBNZXRob2Qu
ZGF0YSgpLCAwLCBtX2ZyYW1lLCBpc01haW5GcmFtZVJlcXVlc3QgfTsKKyAgICBFd2tfRnJhbWVf
UmVzb3VyY2VfUmVzcG9uc2UgcmVzcG9uc2UgPSB7IHJlc3BvbnNlVVJMLmRhdGEoKSwgbG9hZGVy
LT5yZXNwb25zZSgpLmh0dHBTdGF0dXNDb2RlKCksIDAsIG1pbWVUeXBlLmRhdGEoKSB9OworICAg
IGJvb2wgaGFzU3Vic3RpdHV0ZURhdGEgPSBsb2FkZXItPnN1YnN0aXR1dGVEYXRhKCkuaXNWYWxp
ZCgpOworCisgICAgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhIGRhdGEgPSB7IHVybEZvckhpc3Rv
cnkuZGF0YSgpLCB0aXRsZS5kYXRhKCksICZyZXF1ZXN0LCAmcmVzcG9uc2UsIGhhc1N1YnN0aXR1
dGVEYXRhLCBjbGllbnRSZWRpcmVjdFNvdXJjZS5kYXRhKCkgfTsKKworICAgIGV2YXNfb2JqZWN0
X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAibmF2aWdhdGUsd2l0aCxkYXRhIiwgJmRhdGEp
OwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpzYXZlUGxhdGZvcm1EYXRhVG9DYWNo
ZWRGcmFtZShDYWNoZWRGcmFtZSopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IGNjNjUw
MzguLmRhZWQ4YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC03MSw2ICs3MSw5IEBA
CiAgKiAgLSAibWVudWJhcix2aXNpYmxlLHNldCIsIEVpbmFfQm9vbDogc2V0cyBtZW51YmFyIHZp
c2liaWxpdHkuCiAgKiAgLSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIHZvaWQ6IGFueSBvZiB0
aGUgY29udGFpbmluZyBmcmFtZXMgaGFzIGxvYWRlZCBhbmQgZGlzcGxheWVkIG1peGVkIGNvbnRl
bnQuCiAgKiAgLSAibWl4ZWRjb250ZW50LHJ1biIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmlu
ZyBmcmFtZXMgaGFzIGxvYWRlZCBhbmQgcnVuIG1peGVkIGNvbnRlbnQuCisgKiAgLSAibmF2aWdh
dGUsd2l0aCxkYXRhIiwgRXdrX1ZpZXdfTmF2aWdhdGlvbl9EYXRhKjogcmVwb3J0cyB0aGF0IHZp
ZXcgZGlkIG5hdmlnYXRpb24gYW5kIGdpdmVzIHRoZSBuYXZpZ2F0aW9uIGRldGFpbHMuCisgKiAg
LSAicGVyZm9ybSxjbGllbnQscmVkaXJlY3QiLCBFd2tfVmlld19SZWRpcmVjdGlvbl9EYXRhKjog
cmVwb3J0cyB0aGF0IHZpZXcgcGVyZm9ybWVkIGEgY2xpZW50IHJlZGlyZWN0IGFuZCBnaXZlcyB0
aGUgcmVkaXJlY3Rpb24gZGV0YWlscy4KKyAqICAtICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIs
IEV3a19WaWV3X1JlZGlyZWN0aW9uX0RhdGEqOiByZXBvcnRzIHRoYXQgdmlldyBwZXJmb3JtZWQg
YSBzZXJ2ZXIgcmVkaXJlY3QgYW5kIGdpdmVzIHRoZSByZWRpcmVjdGlvbiBkZXRhaWxzLgogICog
IC0gInByb3RvY29saGFuZGxlcixyZWdpc3RyYXRpb24scmVxdWVzdGVkIiwgRXdrX0N1c3RvbV9I
YW5kbGVyX0RhdGE6IGFkZCBhIGhhbmRsZXIgdXJsIGZvciB0aGUgZ2l2ZW4gcHJvdG9jb2wuCiAg
KiAgLSAib25sb2FkLGV2ZW50IiwgRXZhc19PYmplY3QqOiBhIGZyYW1lIG9ubG9hZCBldmVudCBo
YXMgYmVlbiByZWNlaXZlZC4KICAqICAtICJwb3B1bGF0ZSx2aXNpdGVkLGxpbmtzIjogdGVsbHMg
dGhlIGNsaWVudCB0byBmaWxsIHRoZSB2aXNpdGVkIGxpbmtzIHNldC4KQEAgLTI5NCw2ICsyOTcs
MzYgQEAgc3RydWN0IF9Fd2tfRG93bmxvYWQgewogICAgIC8qIHRvIGJlIGV4dGVuZGVkICovCiB9
OwogCisvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19WaWV3X05hdmlnYXRpb25f
RGF0YS4KK3R5cGVkZWYgc3RydWN0IF9Fd2tfVmlld19OYXZpZ2F0aW9uX0RhdGEgRXdrX1ZpZXdf
TmF2aWdhdGlvbl9EYXRhOworCisvKioKKyAqIEBicmllZiBTdHJ1Y3R1cmUgY29udGFpbmluZyBk
ZXRhaWxzIGFib3V0IGEgdmlldyBuYXZpZ2F0aW9uLgorICoKKyAqIERldGFpbHMgb2YgYSB2aWV3
IG5hdmlnYXRpb24uIEl0IGlzIHVzZWQgaW4gIm5hdmlnYXRlLHdpdGgsZGF0YSIgc2lnbmFsLgor
ICovCitzdHJ1Y3QgX0V3a19WaWV3X05hdmlnYXRpb25fRGF0YSB7CisgICAgY29uc3QgY2hhciAq
dXJsOyAgLyoqPCBVUkwgZm9yIHRoZSBoaXN0b3J5LiAqLworICAgIGNvbnN0IGNoYXIgKnRpdGxl
OyAgLyoqPCBUaXRsZSBvZiB0aGUgbmF2aWdhdGVkIHBhZ2UuICovCisgICAgRXdrX0ZyYW1lX1Jl
c291cmNlX1JlcXVlc3QgKnJlcXVlc3Q7ICAvKio8IE5hdmlnYXRpb24gcmVxdWVzdC4gKi8KKyAg
ICBFd2tfRnJhbWVfUmVzb3VyY2VfUmVzcG9uc2UgKnJlc3BvbnNlOyAgLyoqPCBOYXZpZ2F0aW9u
IHJlc3BvbnNlLiAqLworICAgIEVpbmFfQm9vbCBoYXNfc3Vic3RpdHV0ZV9kYXRhOyAgLyoqPCBE
YXRhIHN1YnN0aXR1dGlvbiBmbGFnLiAqLworICAgIGNvbnN0IGNoYXIgKmNsaWVudF9yZWRpcmVj
dF9zb3VyY2U7ICAvKio8IENsaWVudCByZWRpcmVjdCBzb3VyY2UgVVJMLiAqLworfTsKKworCisv
Ly8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19WaWV3X1JlZGlyZWN0aW9uX0RhdGEu
Cit0eXBlZGVmIHN0cnVjdCBfRXdrX1ZpZXdfUmVkaXJlY3Rpb25fRGF0YSBFd2tfVmlld19SZWRp
cmVjdGlvbl9EYXRhOworCisvKioKKyAqIEBicmllZiBTdHJ1Y3R1cmUgY29udGFpbmluZyBkZXRh
aWxzIGFib3V0IGEgdmlldyByZWRpcmVjdGlvbi4KKyAqCisgKiBEZXRhaWxzIG9mIGEgY2xpZW50
IG9yIHNlcnZlciByZWRpcmVjdGlvbi4gSXQgaXMgdXNlZCBpbiAicGVyZm9ybSxjbGllbnQscmVk
aXJlY3QiIGFuZCAicGVyZm9ybSxzZXJ2ZXIscmVkaXJlY3QiIHNpZ25hbHMuCisgKi8KK3N0cnVj
dCBfRXdrX1ZpZXdfUmVkaXJlY3Rpb25fRGF0YSB7CisgICAgY29uc3QgY2hhciAqc291cmNlX3Vy
bDsgIC8qKjwgUmVkaXJlY3Qgc291cmNlIFVSTC4gKi8KKyAgICBjb25zdCBjaGFyICpkZXN0aW5h
dGlvbl91cmw7ICAvKio8IFJlZGlyZWN0IGRlc3RpbmF0aW9uIFVSTC4gKi8gCit9OwogLy8vIENy
ZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEBhIF9Fd2tfU2Nyb2xsX1JlcXVlc3QuCiB0eXBlZGVmIHN0
cnVjdCBfRXdrX1Njcm9sbF9SZXF1ZXN0IEV3a19TY3JvbGxfUmVxdWVzdDsKIC8vLyBDb250YWlu
cyB0aGUgc2Nyb2xsIHJlcXVlc3QgdGhhdCBzaG91bGQgYmUgcHJvY2Vzc2VkIGJ5IHN1YmNsYXNz
IGltcGxlbWVudGF0aW9ucy4K
</data>

          </attachment>
      

    </bug>

</bugzilla>