<?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>96906</bug_id>
          
          <creation_ts>2012-09-17 04:32:21 -0700</creation_ts>
          <short_desc>[EFL][WK2] Process touch events using mouse and multi events of Evas.</short_desc>
          <delta_ts>2012-09-27 08:08: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>
          <dependson>90662</dependson>
          <blocked>61838</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eunmi Lee">enmi.lee</reporter>
          <assigned_to name="Eunmi Lee">enmi.lee</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>laszlo.gombos</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>721797</commentid>
    <comment_count>0</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-17 04:32:21 -0700</bug_when>
    <thetext>The Evas creates mouse and multi event on the touch device when touching the screen.
The mouse event occurs for first finger and multi event occurs for second and third finger,
so we can process touch event using them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725112</commentid>
    <comment_count>1</comment_count>
      <attachid>165039</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-20 20:26:32 -0700</bug_when>
    <thetext>Created attachment 165039
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726449</commentid>
    <comment_count>2</comment_count>
      <attachid>165328</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-24 01:31:17 -0700</bug_when>
    <thetext>Created attachment 165328
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726549</commentid>
    <comment_count>3</comment_count>
      <attachid>165328</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-24 04:32:23 -0700</bug_when>
    <thetext>Comment on attachment 165328
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:366
&gt; +static Eina_List* _ewk_view_touch_point_list_get_from_evas(Evas_Object* ewkView)

static inline ?

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:375
&gt; +        point = static_cast&lt;Ewk_Touch_Point*&gt;(calloc(1, sizeof(Ewk_Touch_Point)));

use &apos;new&apos; please

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:394
&gt; +        free(point);

Coding style forbids using &apos;free&apos;, pls. use &apos;delete&apos; instead

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:406
&gt; +        free(point);

ditto.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:410
&gt; +{

All 3 functions _ewk_view_on_touch_(up, down, move) seem to do the same except passing of different Ewk_Touch_Event_Type argument for ewk_view_feed_touch_event, so think it&apos;s worth creating one common aux function to be invoked from each of them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726556</commentid>
    <comment_count>4</comment_count>
      <attachid>165328</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-24 04:47:03 -0700</bug_when>
    <thetext>Comment on attachment 165328
Patch

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

&gt; Source/WebKit2/ChangeLog:8
&gt; +        Provide default behaivor for processing touch event in the ewk_view if

&quot;behavior&quot;, &quot;touch events&quot;

&gt; Source/WebKit2/ChangeLog:10
&gt; +        We can to process touch event using mouse and multi event because the

&quot;touch events&quot;

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:366
&gt;&gt; +static Eina_List* _ewk_view_touch_point_list_get_from_evas(Evas_Object* ewkView)
&gt; 
&gt; static inline ?

const Evas_Object* ?

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:372
&gt; +    int count = evas_touch_point_list_count(smartData-&gt;base.evas);

unsigned count = ...; // evas_touch_point_list_count() returns an unsigned integer according to its doc.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:373
&gt; +    Ewk_Touch_Point* point;

In wrong scope, please define point variable inside the for loop.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:410
&gt;&gt; +{
&gt; 
&gt; All 3 functions _ewk_view_on_touch_(up, down, move) seem to do the same except passing of different Ewk_Touch_Event_Type argument for ewk_view_feed_touch_event, so think it&apos;s worth creating one common aux function to be invoked from each of them.

Completely agree with Mikhail here.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.h:714
&gt; + * The ewk_view will support the touch events if EINA_TRUE or not support the

@c ?

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.h:715
&gt; + * touch events otherwise. The default value is EINA_TRUE.

@c ?
You say here that the default value is true but you actually set if to false in the constructor. Am I missing something?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp:752
&gt; +TEST_F(EWK2UnitTestBase, ewk_view_touch_events_enabled)

Is there any way we can test that enabling touch events actually works? e.g. check the view actually gets touch events if enabled?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp:754
&gt; +    ASSERT_TRUE(ewk_view_touch_events_enabled_set(webView(), EINA_TRUE));

Before setting the value, you should test the default value returned by ewk_view_touch_events_enabled_get().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727191</commentid>
    <comment_count>5</comment_count>
      <attachid>165328</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-24 19:04:06 -0700</bug_when>
    <thetext>Comment on attachment 165328
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:374
&gt; +    for (int i = 0; i &lt; count; ++i) {

Use unsigned instead of int.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1857
&gt; +        // FIXME: We have to connect touch callbacks with Mouse and Multi event

s/Mouse/mouse/g, s/Multi/multi/g

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp:754
&gt;&gt; +    ASSERT_TRUE(ewk_view_touch_events_enabled_set(webView(), EINA_TRUE));
&gt; 
&gt; Before setting the value, you should test the default value returned by ewk_view_touch_events_enabled_get().

Use standard boolean, in webkit-efl mailing list, we almost decided to use standard boolean for unit test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727209</commentid>
    <comment_count>6</comment_count>
      <attachid>165328</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-24 19:39:02 -0700</bug_when>
    <thetext>Comment on attachment 165328
Patch

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

&gt;&gt; Source/WebKit2/ChangeLog:8
&gt;&gt; +        Provide default behaivor for processing touch event in the ewk_view if
&gt; 
&gt; &quot;behavior&quot;, &quot;touch events&quot;

oops, I will fix them.

&gt;&gt; Source/WebKit2/ChangeLog:10
&gt;&gt; +        We can to process touch event using mouse and multi event because the
&gt; 
&gt; &quot;touch events&quot;

ditto

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:366
&gt;&gt;&gt; +static Eina_List* _ewk_view_touch_point_list_get_from_evas(Evas_Object* ewkView)
&gt;&gt; 
&gt;&gt; static inline ?
&gt; 
&gt; const Evas_Object* ?

OK, I will fix for them.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:376
&gt; +    int count = evas_touch_point_list_count(smartData-&gt;base.evas);
&gt; +    Ewk_Touch_Point* point;
&gt; +    for (int i = 0; i &lt; count; ++i) {
&gt; +        point = static_cast&lt;Ewk_Touch_Point*&gt;(calloc(1, sizeof(Ewk_Touch_Point)));
&gt; +        point-&gt;id = evas_touch_point_list_nth_id_get(smartData-&gt;base.evas, i);

Thanks for your comments. I will fix for them.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:394
&gt;&gt; +        free(point);
&gt; 
&gt; Coding style forbids using &apos;free&apos;, pls. use &apos;delete&apos; instead

ok

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:406
&gt;&gt; +        free(point);
&gt; 
&gt; ditto.

ok

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:410
&gt;&gt;&gt; +{
&gt;&gt; 
&gt;&gt; All 3 functions _ewk_view_on_touch_(up, down, move) seem to do the same except passing of different Ewk_Touch_Event_Type argument for ewk_view_feed_touch_event, so think it&apos;s worth creating one common aux function to be invoked from each of them.
&gt; 
&gt; Completely agree with Mikhail here.

ok, I will change to reduce duplicated codes.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1857
&gt;&gt; +        // FIXME: We have to connect touch callbacks with Mouse and Multi event
&gt; 
&gt; s/Mouse/mouse/g, s/Multi/multi/g

ok

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.h:715
&gt;&gt; + * touch events otherwise. The default value is EINA_TRUE.
&gt; 
&gt; @c ?
&gt; You say here that the default value is true but you actually set if to false in the constructor. Am I missing something?

oops, it is my mistake. the default value is EINA_FALSE. I will fix it.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp:752
&gt;&gt; +TEST_F(EWK2UnitTestBase, ewk_view_touch_events_enabled)
&gt; 
&gt; Is there any way we can test that enabling touch events actually works? e.g. check the view actually gets touch events if enabled?

ok, I will prepare test codes to check that touch events really work.

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp:754
&gt;&gt;&gt; +    ASSERT_TRUE(ewk_view_touch_events_enabled_set(webView(), EINA_TRUE));
&gt;&gt; 
&gt;&gt; Before setting the value, you should test the default value returned by ewk_view_touch_events_enabled_get().
&gt; 
&gt; Use standard boolean, in webkit-efl mailing list, we almost decided to use standard boolean for unit test.

ok, I will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727348</commentid>
    <comment_count>7</comment_count>
      <attachid>165536</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-25 00:16:06 -0700</bug_when>
    <thetext>Created attachment 165536
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728353</commentid>
    <comment_count>8</comment_count>
      <attachid>165536</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-26 02:34:59 -0700</bug_when>
    <thetext>Comment on attachment 165536
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1829
&gt; +Eina_Bool ewk_view_touch_events_enabled_set(Evas_Object* ewkView, Eina_Bool enabled)

any reason why this cannot always be one? like why would you ever turn touch support off?

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844
&gt; +        // FIXME: We have to connect touch callbacks with mouse and multi events
&gt; +        // because the Evas creates mouse events for first touch and multi events
&gt; +        // for second and third touches. Below codes should be fixed when the Evas
&gt; +        // supports the touch events.

Oh really? EFL seems so broken. So noone can use mouse and touch together... just great</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728393</commentid>
    <comment_count>9</comment_count>
      <attachid>165536</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-26 04:03:12 -0700</bug_when>
    <thetext>Comment on attachment 165536
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1829
&gt;&gt; +Eina_Bool ewk_view_touch_events_enabled_set(Evas_Object* ewkView, Eina_Bool enabled)
&gt; 
&gt; any reason why this cannot always be one? like why would you ever turn touch support off?

If I turn on the touch events, touch events will occur when we use mouse in the desktop because we generates touch event using Evas&apos;s mouse events.
That means both touch and mouse events occur for one event from mouse device. I don&apos;t think that is right operation.

so, I hope that enabling mouse events and disabling touch events for desktop environment (with mouse device),
and disabling mouse events and enabling touch events for touch device.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844
&gt;&gt; +        // supports the touch events.
&gt; 
&gt; Oh really? EFL seems so broken. So noone can use mouse and touch together... just great

Yes, I hope that EFL supports touch events later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728539</commentid>
    <comment_count>10</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2012-09-26 07:31:25 -0700</bug_when>
    <thetext>(In reply to comment #9)

&gt; &gt; Oh really? EFL seems so broken. So noone can use mouse and touch together... just great
&gt; 
&gt; Yes, I hope that EFL supports touch events later.

Is there a bugID/issueID for EFL where this could be tracked ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729102</commentid>
    <comment_count>11</comment_count>
      <attachid>165536</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-26 17:39:58 -0700</bug_when>
    <thetext>Comment on attachment 165536
Patch

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844
&gt;&gt;&gt; +        // supports the touch events.
&gt;&gt; 
&gt;&gt; Oh really? EFL seems so broken. So noone can use mouse and touch together... just great
&gt; 
&gt; Yes, I hope that EFL supports touch events later.

As Gombos said, I think it is better to write bug url you create for this as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729127</commentid>
    <comment_count>12</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-26 18:54:50 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 165536 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=165536&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844
&gt; &gt;&gt;&gt; +        // supports the touch events.
&gt; &gt;&gt; 
&gt; &gt;&gt; Oh really? EFL seems so broken. So noone can use mouse and touch together... just great
&gt; &gt; 
&gt; &gt; Yes, I hope that EFL supports touch events later.
&gt; 
&gt; As Gombos said, I think it is better to write bug url you create for this as well.

unfortunately, we don&apos;t have any bug or issue id for that in the EFL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729157</commentid>
    <comment_count>13</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-26 19:55:06 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (From update of attachment 165536 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=165536&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844
&gt; &gt; &gt;&gt;&gt; +        // supports the touch events.
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; Oh really? EFL seems so broken. So noone can use mouse and touch together... just great
&gt; &gt; &gt; 
&gt; &gt; &gt; Yes, I hope that EFL supports touch events later.
&gt; &gt; 
&gt; &gt; As Gombos said, I think it is better to write bug url you create for this as well.
&gt; 
&gt; unfortunately, we don&apos;t have any bug or issue id for that in the EFL.

Even though there is no bug id to track in the EFL, I will create new bug in the WebKit to record this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729312</commentid>
    <comment_count>14</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-09-27 01:29:56 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (From update of attachment 165536 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=165536&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844
&gt; &gt; &gt;&gt;&gt; +        // supports the touch events.
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; Oh really? EFL seems so broken. So noone can use mouse and touch together... just great
&gt; &gt; &gt; 
&gt; &gt; &gt; Yes, I hope that EFL supports touch events later.
&gt; &gt; 
&gt; &gt; As Gombos said, I think it is better to write bug url you create for this as well.
&gt; 
&gt; unfortunately, we don&apos;t have any bug or issue id for that in the EFL.

FWIW, anyone is free to create a ticket in &lt;http://trac.enlightenment.org/e/newticket&gt; :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729508</commentid>
    <comment_count>15</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-27 07:25:38 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #12)
&gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; (From update of attachment 165536 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=165536&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844
&gt; &gt; &gt; &gt;&gt;&gt; +        // supports the touch events.
&gt; &gt; &gt; &gt;&gt; 
&gt; &gt; &gt; &gt;&gt; Oh really? EFL seems so broken. So noone can use mouse and touch together... just great
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Yes, I hope that EFL supports touch events later.
&gt; &gt; &gt; 
&gt; &gt; &gt; As Gombos said, I think it is better to write bug url you create for this as well.
&gt; &gt; 
&gt; &gt; unfortunately, we don&apos;t have any bug or issue id for that in the EFL.
&gt; 
&gt; FWIW, anyone is free to create a ticket in &lt;http://trac.enlightenment.org/e/newticket&gt; :-)

Thanks, I will discuss in the efl mailinglist and then create new ticket. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729517</commentid>
    <comment_count>16</comment_count>
      <attachid>165997</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-27 07:42:26 -0700</bug_when>
    <thetext>Created attachment 165997
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729539</commentid>
    <comment_count>17</comment_count>
      <attachid>165997</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 08:07:58 -0700</bug_when>
    <thetext>Comment on attachment 165997
Patch

Clearing flags on attachment: 165997

Committed r129765: &lt;http://trac.webkit.org/changeset/129765&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729540</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 08:08:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165039</attachid>
            <date>2012-09-20 20:26:32 -0700</date>
            <delta_ts>2012-09-24 01:31:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96906-20120921122556.patch</filename>
            <type>text/plain</type>
            <size>9672</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDRiM2FlNjk3MmVkZjY5
YmY5Mjc0YWIxMzg3NThiNmMwMDc2OGUyYi4uZmJiZGJjYmRhMzA1OWY2YzA1MzYyYWQ1ZmQ3OGNi
NjcxMDJhNDk2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMyIEBACiAyMDEyLTA5LTIwICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIFBy
b2Nlc3MgdG91Y2ggZXZlbnQgdXNpbmcgbW91c2UgYW5kIG11bHRpIGV2ZW50IG9mIEV2YXMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjkwNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgZGVm
YXVsdCBiZWhhaXZvciBmb3IgcHJvY2Vzc2luZyB0b3VjaCBldmVudCBpbiB0aGUgZXdrX3ZpZXcg
aWYKKyAgICAgICAgYXBwbGljYXRpb24gd2FudHMgdG8gdXNlIGl0LgorICAgICAgICBXZSBjYW4g
dG8gcHJvY2VzcyB0b3VjaCBldmVudCB1c2luZyBtb3VzZSBhbmQgbXVsdGkgZXZlbnQgYmVjYXVz
ZSB0aGUKKyAgICAgICAgRXZhcyBjcmVhdGVzIG1vdXNlIGV2ZW50IGZvciBmaXJzdCB0b3VjaCBh
bmQgbXVsdGkgZXZlbnQgZm9yIHNlY29uZCBhbmQKKyAgICAgICAgdGhpcmQgdG91Y2guIFdlIGNh
biBtb2RpZnkgdGhhdCB3aGVuIEV2YXMgc3RhcnRzIHRvIHN1cHBvcnQgZXZlbnQgdHlwZQorICAg
ICAgICBmb3IgdG91Y2ggZXZlbnQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKF9F
d2tfVmlld19Qcml2YXRlX0RhdGE6Ol9Fd2tfVmlld19Qcml2YXRlX0RhdGEpOgorICAgICAgICAo
X2V3a192aWV3X3RvdWNoX3BvaW50X2xpc3RfZ2V0X2Zyb21fZXZhcyk6CisgICAgICAgIChfZXdr
X3ZpZXdfb25fdG91Y2hfZG93bik6CisgICAgICAgIChfZXdrX3ZpZXdfb25fdG91Y2hfdXApOgor
ICAgICAgICAoX2V3a192aWV3X29uX3RvdWNoX21vdmUpOgorICAgICAgICAoZXdrX3ZpZXdfdG91
Y2hfZXZlbnRzX2VuYWJsZWRfc2V0KToKKyAgICAgICAgKGV3a192aWV3X3RvdWNoX2V2ZW50c19l
bmFibGVkX2dldCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHA6CisgICAg
ICAgIChURVNUX0YpOgorCisyMDEyLTA5LTIwICBFdW5taSBMZWUgIDxldW5taTE1LmxlZUBzYW1z
dW5nLmNvbT4KKwogICAgICAgICBbRUZMXVtXSzJdIEFkZCBBUEkgdG8gZmVlZCB0b3VjaCBldmVu
dC4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2OTAz
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAppbmRl
eCAxMGE2OGM0MDQxOWFhMzcwNzY5YjM5ZjYyNWMwZjZlN2VlNGJhM2I5Li41M2Q4OGNhNWEyYWI4
NWFlNzhhNzk1NjNiNDFlNjU0Zjk2ZDI2M2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC0xMDEsNiArMTAxLDkgQEAgc3RydWN0IF9Fd2tf
Vmlld19Qcml2YXRlX0RhdGEgewogICAgIGJvb2wgYXJlTW91c2VFdmVudHNFbmFibGVkOwogICAg
IFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZiBjb2xvclBpY2tlclJlc3VsdExpc3RlbmVy
OwogICAgIEV3a19Db250ZXh0KiBjb250ZXh0OworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisg
ICAgYm9vbCBhcmVUb3VjaEV2ZW50c0VuYWJsZWQ7CisjZW5kaWYKIAogICAgIFdlYlBvcHVwTWVu
dVByb3h5RWZsKiBwb3B1cE1lbnVQcm94eTsKICAgICBFaW5hX0xpc3QqIHBvcHVwTWVudUl0ZW1z
OwpAQCAtMTIxLDYgKzEyNCw5IEBAIHN0cnVjdCBfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhIHsKICAg
ICAgICAgLCBhcmVNb3VzZUV2ZW50c0VuYWJsZWQoZmFsc2UpCiAgICAgICAgICwgY29sb3JQaWNr
ZXJSZXN1bHRMaXN0ZW5lcigwKQogICAgICAgICAsIGNvbnRleHQoMCkKKyNpZiBFTkFCTEUoVE9V
Q0hfRVZFTlRTKQorICAgICAgICAsIGFyZVRvdWNoRXZlbnRzRW5hYmxlZChmYWxzZSkKKyNlbmRp
ZgogICAgICAgICAsIHBvcHVwTWVudVByb3h5KDApCiAgICAgICAgICwgcG9wdXBNZW51SXRlbXMo
MCkKICNpZmRlZiBIQVZFX0VDT1JFX1gKQEAgLTM1Niw2ICszNjIsNjMgQEAgc3RhdGljIHZvaWQg
X2V3a192aWV3X29uX2tleV91cCh2b2lkKiBkYXRhLCBFdmFzKiwgRXZhc19PYmplY3QqLCB2b2lk
KiBldmVudEluZm8KICAgICBzbWFydERhdGEtPmFwaS0+a2V5X3VwKHNtYXJ0RGF0YSwgdXBFdmVu
dCk7CiB9CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorc3RhdGljIEVpbmFfTGlzdCogX2V3
a192aWV3X3RvdWNoX3BvaW50X2xpc3RfZ2V0X2Zyb21fZXZhcyhFdmFzX09iamVjdCogZXdrVmll
dykKK3sKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwg
MCk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgMCk7
CisKKyAgICBFaW5hX0xpc3QqIHBvaW50cyA9IDA7CisgICAgaW50IGNvdW50ID0gZXZhc190b3Vj
aF9wb2ludF9saXN0X2NvdW50KHNtYXJ0RGF0YS0+YmFzZS5ldmFzKTsKKyAgICBFd2tfVG91Y2hf
UG9pbnQqIHBvaW50OworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7ICsraSkgeworICAg
ICAgICBwb2ludCA9IHN0YXRpY19jYXN0PEV3a19Ub3VjaF9Qb2ludCo+KGNhbGxvYygxLCBzaXpl
b2YoRXdrX1RvdWNoX1BvaW50KSkpOworICAgICAgICBwb2ludC0+aWQgPSBldmFzX3RvdWNoX3Bv
aW50X2xpc3RfbnRoX2lkX2dldChzbWFydERhdGEtPmJhc2UuZXZhcywgaSk7CisgICAgICAgIGV2
YXNfdG91Y2hfcG9pbnRfbGlzdF9udGhfeHlfZ2V0KHNtYXJ0RGF0YS0+YmFzZS5ldmFzLCBpLCAm
cG9pbnQtPngsICZwb2ludC0+eSk7CisgICAgICAgIHBvaW50LT5zdGF0ZSA9IGV2YXNfdG91Y2hf
cG9pbnRfbGlzdF9udGhfc3RhdGVfZ2V0KHNtYXJ0RGF0YS0+YmFzZS5ldmFzLCBpKTsKKyAgICAg
ICAgcG9pbnRzID0gZWluYV9saXN0X2FwcGVuZChwb2ludHMsIHBvaW50KTsKKyAgICB9CisKKyAg
ICByZXR1cm4gcG9pbnRzOworfQorCitzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfb25fdG91Y2hfZG93
bih2b2lkKiBkYXRhLCBFdmFzKiBjYW52YXMsIEV2YXNfT2JqZWN0KiBld2tWaWV3LCB2b2lkKiBl
dmVudEluZm8pCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFy
dERhdGEpOworCisgICAgRWluYV9MaXN0KiBwb2ludHMgPSBfZXdrX3ZpZXdfdG91Y2hfcG9pbnRf
bGlzdF9nZXRfZnJvbV9ldmFzKGV3a1ZpZXcpOworICAgIGV3a192aWV3X2ZlZWRfdG91Y2hfZXZl
bnQoZXdrVmlldywgRVdLX1RPVUNIX1NUQVJULCBwb2ludHMsIGV2YXNfa2V5X21vZGlmaWVyX2dl
dChzbWFydERhdGEtPmJhc2UuZXZhcykpOworCisgICAgdm9pZCogcG9pbnQ7CisgICAgRUlOQV9M
SVNUX0ZSRUUocG9pbnRzLCBwb2ludCkKKyAgICAgICAgZnJlZShwb2ludCk7Cit9CisKK3N0YXRp
YyB2b2lkIF9ld2tfdmlld19vbl90b3VjaF91cCh2b2lkKiBkYXRhLCBFdmFzKiBjYW52YXMsIEV2
YXNfT2JqZWN0KiBld2tWaWV3LCB2b2lkKiBldmVudEluZm8pCit7CisgICAgRVdLX1ZJRVdfU0Rf
R0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOworCisgICAgRWluYV9MaXN0KiBwb2lu
dHMgPSBfZXdrX3ZpZXdfdG91Y2hfcG9pbnRfbGlzdF9nZXRfZnJvbV9ldmFzKGV3a1ZpZXcpOwor
ICAgIGV3a192aWV3X2ZlZWRfdG91Y2hfZXZlbnQoZXdrVmlldywgRVdLX1RPVUNIX0VORCwgcG9p
bnRzLCBldmFzX2tleV9tb2RpZmllcl9nZXQoc21hcnREYXRhLT5iYXNlLmV2YXMpKTsKKworICAg
IHZvaWQqIHBvaW50OworICAgIEVJTkFfTElTVF9GUkVFKHBvaW50cywgcG9pbnQpCisgICAgICAg
IGZyZWUocG9pbnQpOworfQorCitzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfb25fdG91Y2hfbW92ZSh2
b2lkKiBkYXRhLCBFdmFzKiBjYW52YXMsIEV2YXNfT2JqZWN0KiBld2tWaWV3LCB2b2lkKiBldmVu
dEluZm8pCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERh
dGEpOworCisgICAgRWluYV9MaXN0KiBwb2ludHMgPSBfZXdrX3ZpZXdfdG91Y2hfcG9pbnRfbGlz
dF9nZXRfZnJvbV9ldmFzKGV3a1ZpZXcpOworICAgIGV3a192aWV3X2ZlZWRfdG91Y2hfZXZlbnQo
ZXdrVmlldywgRVdLX1RPVUNIX01PVkUsIHBvaW50cywgZXZhc19rZXlfbW9kaWZpZXJfZ2V0KHNt
YXJ0RGF0YS0+YmFzZS5ldmFzKSk7CisKKyAgICB2b2lkKiBwb2ludDsKKyAgICBFSU5BX0xJU1Rf
RlJFRShwb2ludHMsIHBvaW50KQorICAgICAgICBmcmVlKHBvaW50KTsKK30KKyNlbmRpZgorCiBz
dGF0aWMgRXZhc19TbWFydF9DbGFzcyBnX3BhcmVudFNtYXJ0Q2xhc3MgPSBFVkFTX1NNQVJUX0NM
QVNTX0lOSVRfTlVMTDsKIAogc3RhdGljIEV3a19WaWV3X1ByaXZhdGVfRGF0YSogX2V3a192aWV3
X3ByaXZfbmV3KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSkKQEAgLTE3NzgsMyArMTg0
MSw1MiBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfZmVlZF90b3VjaF9ldmVudChFdmFzX09iamVjdCog
ZXdrVmlldywgRXdrX1RvdWNoX0V2ZW50X1R5cGUgdAogICAgIHJldHVybiBmYWxzZTsKICNlbmRp
ZgogfQorCitFaW5hX0Jvb2wgZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfc2V0KEV2YXNf
T2JqZWN0KiBld2tWaWV3LCBFaW5hX0Jvb2wgZW5hYmxlZCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQorICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRh
LCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJp
diwgZmFsc2UpOworCisgICAgZW5hYmxlZCA9ICEhZW5hYmxlZDsKKyAgICBpZiAocHJpdi0+YXJl
VG91Y2hFdmVudHNFbmFibGVkID09IGVuYWJsZWQpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgcHJpdi0+YXJlVG91Y2hFdmVudHNFbmFibGVkID0gZW5hYmxlZDsKKyAgICBpZiAoZW5hYmxl
ZCkgeworICAgICAgICAvLyBGSVhNRTogV2UgaGF2ZSB0byBjb25uZWN0IHRvdWNoIGNhbGxiYWNr
cyB3aXRoIE1vdXNlIGFuZCBNdWx0aSBldmVudAorICAgICAgICAvLyBiZWNhdXNlIHRoZSBFdmFz
IGNyZWF0ZXMgTW91c2UgZXZlbnQgZm9yIGZpcnN0IHRvdWNoIGFuZCBNdWx0aSBldmVudAorICAg
ICAgICAvLyBmb3Igc2Vjb25kIGFuZCB0aGlyZCB0b3VjaC4gQmVsb3cgY29kZXMgc2hvdWxkIGJl
IGZpeGVkIHdoZW4gdGhlIEV2YXMKKyAgICAgICAgLy8gc3VwcG9ydHMgdGhlIFRvdWNoIGV2ZW50
LgorICAgICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19hZGQoZXdrVmlldywgRVZBU19D
QUxMQkFDS19NT1VTRV9ET1dOLCBfZXdrX3ZpZXdfb25fdG91Y2hfZG93biwgc21hcnREYXRhKTsK
KyAgICAgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfYWRkKGV3a1ZpZXcsIEVWQVNfQ0FM
TEJBQ0tfTU9VU0VfVVAsIF9ld2tfdmlld19vbl90b3VjaF91cCwgc21hcnREYXRhKTsKKyAgICAg
ICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfYWRkKGV3a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tf
TU9VU0VfTU9WRSwgX2V3a192aWV3X29uX3RvdWNoX21vdmUsIHNtYXJ0RGF0YSk7CisgICAgICAg
IGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxiYWNrX2FkZChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01V
TFRJX0RPV04sIF9ld2tfdmlld19vbl90b3VjaF9kb3duLCBzbWFydERhdGEpOworICAgICAgICBl
dmFzX29iamVjdF9ldmVudF9jYWxsYmFja19hZGQoZXdrVmlldywgRVZBU19DQUxMQkFDS19NVUxU
SV9VUCwgX2V3a192aWV3X29uX3RvdWNoX3VwLCBzbWFydERhdGEpOworICAgICAgICBldmFzX29i
amVjdF9ldmVudF9jYWxsYmFja19hZGQoZXdrVmlldywgRVZBU19DQUxMQkFDS19NVUxUSV9NT1ZF
LCBfZXdrX3ZpZXdfb25fdG91Y2hfbW92ZSwgc21hcnREYXRhKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19kZWwoZXdrVmlldywgRVZBU19DQUxMQkFD
S19NT1VTRV9ET1dOLCBfZXdrX3ZpZXdfb25fdG91Y2hfZG93bik7CisgICAgICAgIGV2YXNfb2Jq
ZWN0X2V2ZW50X2NhbGxiYWNrX2RlbChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01PVVNFX1VQLCBf
ZXdrX3ZpZXdfb25fdG91Y2hfdXApOworICAgICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFj
a19kZWwoZXdrVmlldywgRVZBU19DQUxMQkFDS19NT1VTRV9NT1ZFLCBfZXdrX3ZpZXdfb25fdG91
Y2hfbW92ZSk7CisgICAgICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxiYWNrX2RlbChld2tWaWV3
LCBFVkFTX0NBTExCQUNLX01VTFRJX0RPV04sIF9ld2tfdmlld19vbl90b3VjaF9kb3duKTsKKyAg
ICAgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfZGVsKGV3a1ZpZXcsIEVWQVNfQ0FMTEJB
Q0tfTVVMVElfVVAsIF9ld2tfdmlld19vbl90b3VjaF91cCk7CisgICAgICAgIGV2YXNfb2JqZWN0
X2V2ZW50X2NhbGxiYWNrX2RlbChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01VTFRJX01PVkUsIF9l
d2tfdmlld19vbl90b3VjaF9tb3ZlKTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNl
CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK0VpbmFfQm9vbCBld2tfdmlld190b3Vj
aF9ldmVudHNfZW5hYmxlZF9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1Zp
ZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihz
bWFydERhdGEsIHByaXYsIGZhbHNlKTsKKworICAgIHJldHVybiBwcml2LT5hcmVUb3VjaEV2ZW50
c0VuYWJsZWQ7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggMTNmMTM4Yzg3YzA3NjVi
MGZjZGVlOGJlYzM2OWNlZDdmYzE3OGIxZS4uY2NmZTVkOGZjNzVkOTNlM2NlYzY3ZjRmYWM0MmFk
M2NiZTg5NWM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmll
dy5oCkBAIC03MDgsNiArNzA4LDI4IEBAIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X2NvbG9yX3Bp
Y2tlcl9jb2xvcl9zZXQoRXZhc19PYmplY3QgKm8sIGludCByLCBpbnQgZywgaW50CiAgKi8KIEVB
UEkgRWluYV9Cb29sIGV3a192aWV3X2ZlZWRfdG91Y2hfZXZlbnQoRXZhc19PYmplY3QgKm8sIEV3
a19Ub3VjaF9FdmVudF9UeXBlIHR5cGUsIGNvbnN0IEVpbmFfTGlzdCAqcG9pbnRzLCBjb25zdCBF
dmFzX01vZGlmaWVyICptb2RpZmllcnMpOwogCisvKioKKyAqIFNldHMgd2hldGhlciB0aGUgZXdr
X3ZpZXcgc3VwcG9ydHMgdGhlIHRvdWNoIGV2ZW50cyBvciBub3QuCisgKgorICogVGhlIGV3a192
aWV3IHdpbGwgc3VwcG9ydCB0aGUgdG91Y2ggZXZlbnRzIGlmIEVJTkFfVFJVRSBvciBub3Qgc3Vw
cG9ydCB0aGUKKyAqIHRvdWNoIGV2ZW50cyBvdGhlcndpc2UuIFRoZSBkZWZhdWx0IHZhbHVlIGlz
IEVJTkFfVFJVRS4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBlbmFibGUvZGlzYWJs
ZSB0aGUgdG91Y2ggZXZlbnRzCisgKiBAcGFyYW0gZW5hYmxlZCBhIHN0YXRlIHRvIHNldAorICoK
KyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1Y2Nlc3Mgb3IgQGMgRUlOQV9GQUxTRSBvbiBm
YWlsdXJlCisgKi8KK0VBUEkgRWluYV9Cb29sIGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVk
X3NldChFdmFzX09iamVjdCAqbywgRWluYV9Cb29sIGVuYWJsZWQpOworCisvKioKKyAqIFF1ZXJp
ZXMgaWYgdGhlIGV3a192aWV3IHN1cHBvcnRzIHRoZSB0b3VjaCBldmVudHMuCisgKgorICogQHBh
cmFtIG8gdmlldyBvYmplY3QgdG8gcXVlcnkgaWYgdGhlIHRvdWNoIGV2ZW50cyBhcmUgZW5hYmxl
ZAorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIGlmIHRoZSB0b3VjaCBldmVudHMgYXJlIGVu
YWJsZWQgb3IgQGMgRUlOQV9GQUxTRSBvdGhlcndpc2UKKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdr
X3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKKwog
I2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcAppbmRleCA2ZGE5
NTY0ZWMwMTI0NmMxMzVhZTZlMDIwZmYwZTA3MGUzMWQ0NTcxLi45ZTRmMTA1YTU1ZGVmNzQ0MDUw
OGFlYTNkMDJlODZmYjkwNDhiOGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3ZpZXcuY3BwCkBAIC03NDgsNCArNzQ4
LDE2IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdmlld19mZWVkX3RvdWNoX2V2ZW50
KQogCiAgICAgZWluYV9saXN0X2ZyZWUocG9pbnRzKTsKIH0KKworVEVTVF9GKEVXSzJVbml0VGVz
dEJhc2UsIGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkKQoreworICAgIEFTU0VSVF9UUlVF
KGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX3NldCh3ZWJWaWV3KCksIEVJTkFfVFJVRSkp
OworICAgIEFTU0VSVF9UUlVFKGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX2dldCh3ZWJW
aWV3KCkpKTsKKworICAgIEFTU0VSVF9UUlVFKGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVk
X3NldCh3ZWJWaWV3KCksIDIpKTsKKyAgICBBU1NFUlRfVFJVRShld2tfdmlld190b3VjaF9ldmVu
dHNfZW5hYmxlZF9nZXQod2ViVmlldygpKSk7CisKKyAgICBBU1NFUlRfVFJVRShld2tfdmlld190
b3VjaF9ldmVudHNfZW5hYmxlZF9zZXQod2ViVmlldygpLCBFSU5BX0ZBTFNFKSk7CisgICAgQVNT
RVJUX0ZBTFNFKGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX2dldCh3ZWJWaWV3KCkpKTsK
K30KICNlbmRpZiAvLyBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165328</attachid>
            <date>2012-09-24 01:31:17 -0700</date>
            <delta_ts>2012-09-25 00:16:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96906-20120924173038.patch</filename>
            <type>text/plain</type>
            <size>9646</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MzI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmI1ZTAwZjg4YmY4Y2Jl
ZWE1MzA2YzZkMzQ5YTI2MDMyNjQwMGU0Zi4uZjliNWRmZTI1ZmI2MTc1ZDY1YWM4NzJjN2RjMTcx
MDM2M2FmZmE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA5LTI0ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFBy
b2Nlc3MgdG91Y2ggZXZlbnQgdXNpbmcgbW91c2UgYW5kIG11bHRpIGV2ZW50IG9mIEV2YXMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjkwNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgZGVm
YXVsdCBiZWhhaXZvciBmb3IgcHJvY2Vzc2luZyB0b3VjaCBldmVudCBpbiB0aGUgZXdrX3ZpZXcg
aWYKKyAgICAgICAgYXBwbGljYXRpb24gd2FudHMgdG8gdXNlIGl0LgorICAgICAgICBXZSBjYW4g
dG8gcHJvY2VzcyB0b3VjaCBldmVudCB1c2luZyBtb3VzZSBhbmQgbXVsdGkgZXZlbnQgYmVjYXVz
ZSB0aGUKKyAgICAgICAgRXZhcyBjcmVhdGVzIG1vdXNlIGV2ZW50IGZvciBmaXJzdCB0b3VjaCBh
bmQgbXVsdGkgZXZlbnQgZm9yIHNlY29uZCBhbmQKKyAgICAgICAgdGhpcmQgdG91Y2guIFdlIGNh
biBtb2RpZnkgdGhhdCB3aGVuIEV2YXMgc3RhcnRzIHRvIHN1cHBvcnQgZXZlbnQgdHlwZQorICAg
ICAgICBmb3IgdG91Y2ggZXZlbnQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKF9F
d2tfVmlld19Qcml2YXRlX0RhdGE6Ol9Fd2tfVmlld19Qcml2YXRlX0RhdGEpOgorICAgICAgICAo
X2V3a192aWV3X3RvdWNoX3BvaW50X2xpc3RfZ2V0X2Zyb21fZXZhcyk6CisgICAgICAgIChfZXdr
X3ZpZXdfb25fdG91Y2hfZG93bik6CisgICAgICAgIChfZXdrX3ZpZXdfb25fdG91Y2hfdXApOgor
ICAgICAgICAoX2V3a192aWV3X29uX3RvdWNoX21vdmUpOgorICAgICAgICAoZXdrX3ZpZXdfdG91
Y2hfZXZlbnRzX2VuYWJsZWRfc2V0KToKKyAgICAgICAgKGV3a192aWV3X3RvdWNoX2V2ZW50c19l
bmFibGVkX2dldCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHA6CisgICAg
ICAgIChURVNUX0YpOgorCiAyMDEyLTA5LTIzICBCeXVuZ3dvbyBMZWUgIDxidzgwLmxlZUBnbWFp
bC5jb20+CiAKICAgICAgICAgRml4IGJ1aWxkIHdhcm5pbmdzIDogLVd1bnVzZWQtcGFyYW1ldGVy
LCAtV3BhcmVudGhlc2VzLCAtV3VuaW5pdGlhbGl6ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggMTBhNjhjNDA0MTlhYTM3MDc2OWIzOWY2
MjVjMGY2ZTdlZTRiYTNiOS4uNTNkODhjYTVhMmFiODVhZTc4YTc5NTYzYjQxZTY1NGY5NmQyNjNi
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcApA
QCAtMTAxLDYgKzEwMSw5IEBAIHN0cnVjdCBfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhIHsKICAgICBi
b29sIGFyZU1vdXNlRXZlbnRzRW5hYmxlZDsKICAgICBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVu
ZXJSZWYgY29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcjsKICAgICBFd2tfQ29udGV4dCogY29udGV4
dDsKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIGJvb2wgYXJlVG91Y2hFdmVudHNFbmFi
bGVkOworI2VuZGlmCiAKICAgICBXZWJQb3B1cE1lbnVQcm94eUVmbCogcG9wdXBNZW51UHJveHk7
CiAgICAgRWluYV9MaXN0KiBwb3B1cE1lbnVJdGVtczsKQEAgLTEyMSw2ICsxMjQsOSBAQCBzdHJ1
Y3QgX0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7CiAgICAgICAgICwgYXJlTW91c2VFdmVudHNFbmFi
bGVkKGZhbHNlKQogICAgICAgICAsIGNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIoMCkKICAgICAg
ICAgLCBjb250ZXh0KDApCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICAgICAgLCBhcmVU
b3VjaEV2ZW50c0VuYWJsZWQoZmFsc2UpCisjZW5kaWYKICAgICAgICAgLCBwb3B1cE1lbnVQcm94
eSgwKQogICAgICAgICAsIHBvcHVwTWVudUl0ZW1zKDApCiAjaWZkZWYgSEFWRV9FQ09SRV9YCkBA
IC0zNTYsNiArMzYyLDYzIEBAIHN0YXRpYyB2b2lkIF9ld2tfdmlld19vbl9rZXlfdXAodm9pZCog
ZGF0YSwgRXZhcyosIEV2YXNfT2JqZWN0Kiwgdm9pZCogZXZlbnRJbmZvCiAgICAgc21hcnREYXRh
LT5hcGktPmtleV91cChzbWFydERhdGEsIHVwRXZlbnQpOwogfQogCisjaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKK3N0YXRpYyBFaW5hX0xpc3QqIF9ld2tfdmlld190b3VjaF9wb2ludF9saXN0X2dl
dF9mcm9tX2V2YXMoRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisgICAgRVdLX1ZJRVdfU0RfR0VU
X09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIDApOworICAgIEVXS19WSUVXX1BSSVZfR0VU
X09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIDApOworCisgICAgRWluYV9MaXN0KiBwb2ludHMg
PSAwOworICAgIGludCBjb3VudCA9IGV2YXNfdG91Y2hfcG9pbnRfbGlzdF9jb3VudChzbWFydERh
dGEtPmJhc2UuZXZhcyk7CisgICAgRXdrX1RvdWNoX1BvaW50KiBwb2ludDsKKyAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKKyAgICAgICAgcG9pbnQgPSBzdGF0aWNfY2FzdDxF
d2tfVG91Y2hfUG9pbnQqPihjYWxsb2MoMSwgc2l6ZW9mKEV3a19Ub3VjaF9Qb2ludCkpKTsKKyAg
ICAgICAgcG9pbnQtPmlkID0gZXZhc190b3VjaF9wb2ludF9saXN0X250aF9pZF9nZXQoc21hcnRE
YXRhLT5iYXNlLmV2YXMsIGkpOworICAgICAgICBldmFzX3RvdWNoX3BvaW50X2xpc3RfbnRoX3h5
X2dldChzbWFydERhdGEtPmJhc2UuZXZhcywgaSwgJnBvaW50LT54LCAmcG9pbnQtPnkpOworICAg
ICAgICBwb2ludC0+c3RhdGUgPSBldmFzX3RvdWNoX3BvaW50X2xpc3RfbnRoX3N0YXRlX2dldChz
bWFydERhdGEtPmJhc2UuZXZhcywgaSk7CisgICAgICAgIHBvaW50cyA9IGVpbmFfbGlzdF9hcHBl
bmQocG9pbnRzLCBwb2ludCk7CisgICAgfQorCisgICAgcmV0dXJuIHBvaW50czsKK30KKworc3Rh
dGljIHZvaWQgX2V3a192aWV3X29uX3RvdWNoX2Rvd24odm9pZCogZGF0YSwgRXZhcyogY2FudmFz
LCBFdmFzX09iamVjdCogZXdrVmlldywgdm9pZCogZXZlbnRJbmZvKQoreworICAgIEVXS19WSUVX
X1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKKworICAgIEVpbmFfTGlzdCog
cG9pbnRzID0gX2V3a192aWV3X3RvdWNoX3BvaW50X2xpc3RfZ2V0X2Zyb21fZXZhcyhld2tWaWV3
KTsKKyAgICBld2tfdmlld19mZWVkX3RvdWNoX2V2ZW50KGV3a1ZpZXcsIEVXS19UT1VDSF9TVEFS
VCwgcG9pbnRzLCBldmFzX2tleV9tb2RpZmllcl9nZXQoc21hcnREYXRhLT5iYXNlLmV2YXMpKTsK
KworICAgIHZvaWQqIHBvaW50OworICAgIEVJTkFfTElTVF9GUkVFKHBvaW50cywgcG9pbnQpCisg
ICAgICAgIGZyZWUocG9pbnQpOworfQorCitzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfb25fdG91Y2hf
dXAodm9pZCogZGF0YSwgRXZhcyogY2FudmFzLCBFdmFzX09iamVjdCogZXdrVmlldywgdm9pZCog
ZXZlbnRJbmZvKQoreworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21h
cnREYXRhKTsKKworICAgIEVpbmFfTGlzdCogcG9pbnRzID0gX2V3a192aWV3X3RvdWNoX3BvaW50
X2xpc3RfZ2V0X2Zyb21fZXZhcyhld2tWaWV3KTsKKyAgICBld2tfdmlld19mZWVkX3RvdWNoX2V2
ZW50KGV3a1ZpZXcsIEVXS19UT1VDSF9FTkQsIHBvaW50cywgZXZhc19rZXlfbW9kaWZpZXJfZ2V0
KHNtYXJ0RGF0YS0+YmFzZS5ldmFzKSk7CisKKyAgICB2b2lkKiBwb2ludDsKKyAgICBFSU5BX0xJ
U1RfRlJFRShwb2ludHMsIHBvaW50KQorICAgICAgICBmcmVlKHBvaW50KTsKK30KKworc3RhdGlj
IHZvaWQgX2V3a192aWV3X29uX3RvdWNoX21vdmUodm9pZCogZGF0YSwgRXZhcyogY2FudmFzLCBF
dmFzX09iamVjdCogZXdrVmlldywgdm9pZCogZXZlbnRJbmZvKQoreworICAgIEVXS19WSUVXX1NE
X0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKKworICAgIEVpbmFfTGlzdCogcG9p
bnRzID0gX2V3a192aWV3X3RvdWNoX3BvaW50X2xpc3RfZ2V0X2Zyb21fZXZhcyhld2tWaWV3KTsK
KyAgICBld2tfdmlld19mZWVkX3RvdWNoX2V2ZW50KGV3a1ZpZXcsIEVXS19UT1VDSF9NT1ZFLCBw
b2ludHMsIGV2YXNfa2V5X21vZGlmaWVyX2dldChzbWFydERhdGEtPmJhc2UuZXZhcykpOworCisg
ICAgdm9pZCogcG9pbnQ7CisgICAgRUlOQV9MSVNUX0ZSRUUocG9pbnRzLCBwb2ludCkKKyAgICAg
ICAgZnJlZShwb2ludCk7Cit9CisjZW5kaWYKKwogc3RhdGljIEV2YXNfU21hcnRfQ2xhc3MgZ19w
YXJlbnRTbWFydENsYXNzID0gRVZBU19TTUFSVF9DTEFTU19JTklUX05VTEw7CiAKIHN0YXRpYyBF
d2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19wcml2X25ldyhFd2tfVmlld19TbWFydF9E
YXRhKiBzbWFydERhdGEpCkBAIC0xNzc4LDMgKzE4NDEsNTIgQEAgRWluYV9Cb29sIGV3a192aWV3
X2ZlZWRfdG91Y2hfZXZlbnQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV3a19Ub3VjaF9FdmVudF9U
eXBlIHQKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIH0KKworRWluYV9Cb29sIGV3a192aWV3
X3RvdWNoX2V2ZW50c19lbmFibGVkX3NldChFdmFzX09iamVjdCogZXdrVmlldywgRWluYV9Cb29s
IGVuYWJsZWQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICBFV0tfVklFV19TRF9H
RVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOworICAgIEVXS19WSUVXX1BS
SVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIGZhbHNlKTsKKworICAgIGVuYWJsZWQg
PSAhIWVuYWJsZWQ7CisgICAgaWYgKHByaXYtPmFyZVRvdWNoRXZlbnRzRW5hYmxlZCA9PSBlbmFi
bGVkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHByaXYtPmFyZVRvdWNoRXZlbnRzRW5h
YmxlZCA9IGVuYWJsZWQ7CisgICAgaWYgKGVuYWJsZWQpIHsKKyAgICAgICAgLy8gRklYTUU6IFdl
IGhhdmUgdG8gY29ubmVjdCB0b3VjaCBjYWxsYmFja3Mgd2l0aCBNb3VzZSBhbmQgTXVsdGkgZXZl
bnQKKyAgICAgICAgLy8gYmVjYXVzZSB0aGUgRXZhcyBjcmVhdGVzIE1vdXNlIGV2ZW50IGZvciBm
aXJzdCB0b3VjaCBhbmQgTXVsdGkgZXZlbnQKKyAgICAgICAgLy8gZm9yIHNlY29uZCBhbmQgdGhp
cmQgdG91Y2guIEJlbG93IGNvZGVzIHNob3VsZCBiZSBmaXhlZCB3aGVuIHRoZSBFdmFzCisgICAg
ICAgIC8vIHN1cHBvcnRzIHRoZSBUb3VjaCBldmVudC4KKyAgICAgICAgZXZhc19vYmplY3RfZXZl
bnRfY2FsbGJhY2tfYWRkKGV3a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tfTU9VU0VfRE9XTiwgX2V3a192
aWV3X29uX3RvdWNoX2Rvd24sIHNtYXJ0RGF0YSk7CisgICAgICAgIGV2YXNfb2JqZWN0X2V2ZW50
X2NhbGxiYWNrX2FkZChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01PVVNFX1VQLCBfZXdrX3ZpZXdf
b25fdG91Y2hfdXAsIHNtYXJ0RGF0YSk7CisgICAgICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxi
YWNrX2FkZChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01PVVNFX01PVkUsIF9ld2tfdmlld19vbl90
b3VjaF9tb3ZlLCBzbWFydERhdGEpOworICAgICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFj
a19hZGQoZXdrVmlldywgRVZBU19DQUxMQkFDS19NVUxUSV9ET1dOLCBfZXdrX3ZpZXdfb25fdG91
Y2hfZG93biwgc21hcnREYXRhKTsKKyAgICAgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tf
YWRkKGV3a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tfTVVMVElfVVAsIF9ld2tfdmlld19vbl90b3VjaF91
cCwgc21hcnREYXRhKTsKKyAgICAgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfYWRkKGV3
a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tfTVVMVElfTU9WRSwgX2V3a192aWV3X29uX3RvdWNoX21vdmUs
IHNtYXJ0RGF0YSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZXZhc19vYmplY3RfZXZlbnRfY2Fs
bGJhY2tfZGVsKGV3a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tfTU9VU0VfRE9XTiwgX2V3a192aWV3X29u
X3RvdWNoX2Rvd24pOworICAgICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19kZWwoZXdr
VmlldywgRVZBU19DQUxMQkFDS19NT1VTRV9VUCwgX2V3a192aWV3X29uX3RvdWNoX3VwKTsKKyAg
ICAgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfZGVsKGV3a1ZpZXcsIEVWQVNfQ0FMTEJB
Q0tfTU9VU0VfTU9WRSwgX2V3a192aWV3X29uX3RvdWNoX21vdmUpOworICAgICAgICBldmFzX29i
amVjdF9ldmVudF9jYWxsYmFja19kZWwoZXdrVmlldywgRVZBU19DQUxMQkFDS19NVUxUSV9ET1dO
LCBfZXdrX3ZpZXdfb25fdG91Y2hfZG93bik7CisgICAgICAgIGV2YXNfb2JqZWN0X2V2ZW50X2Nh
bGxiYWNrX2RlbChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01VTFRJX1VQLCBfZXdrX3ZpZXdfb25f
dG91Y2hfdXApOworICAgICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19kZWwoZXdrVmll
dywgRVZBU19DQUxMQkFDS19NVUxUSV9NT1ZFLCBfZXdrX3ZpZXdfb25fdG91Y2hfbW92ZSk7Cisg
ICAgfQorCisgICAgcmV0dXJuIHRydWU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgorfQorCitFaW5hX0Jvb2wgZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfZ2V0KGNvbnN0
IEV2YXNfT2JqZWN0KiBld2tWaWV3KQoreworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAg
RVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsKKyAg
ICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2LCBmYWxzZSk7CisK
KyAgICByZXR1cm4gcHJpdi0+YXJlVG91Y2hFdmVudHNFbmFibGVkOworI2Vsc2UKKyAgICByZXR1
cm4gZmFsc2U7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdmlldy5oCmluZGV4IDEzZjEzOGM4N2MwNzY1YjBmY2RlZThiZWMzNjljZWQ3ZmMxNzhiMWUu
LmNjZmU1ZDhmYzc1ZDkzZTNjZWM2N2Y0ZmFjNDJhZDNjYmU4OTVjOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaApAQCAtNzA4LDYgKzcwOCwyOCBAQCBF
QVBJIEVpbmFfQm9vbCBld2tfdmlld19jb2xvcl9waWNrZXJfY29sb3Jfc2V0KEV2YXNfT2JqZWN0
ICpvLCBpbnQgciwgaW50IGcsIGludAogICovCiBFQVBJIEVpbmFfQm9vbCBld2tfdmlld19mZWVk
X3RvdWNoX2V2ZW50KEV2YXNfT2JqZWN0ICpvLCBFd2tfVG91Y2hfRXZlbnRfVHlwZSB0eXBlLCBj
b25zdCBFaW5hX0xpc3QgKnBvaW50cywgY29uc3QgRXZhc19Nb2RpZmllciAqbW9kaWZpZXJzKTsK
IAorLyoqCisgKiBTZXRzIHdoZXRoZXIgdGhlIGV3a192aWV3IHN1cHBvcnRzIHRoZSB0b3VjaCBl
dmVudHMgb3Igbm90LgorICoKKyAqIFRoZSBld2tfdmlldyB3aWxsIHN1cHBvcnQgdGhlIHRvdWNo
IGV2ZW50cyBpZiBFSU5BX1RSVUUgb3Igbm90IHN1cHBvcnQgdGhlCisgKiB0b3VjaCBldmVudHMg
b3RoZXJ3aXNlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBFSU5BX1RSVUUuCisgKgorICogQHBhcmFt
IG8gdmlldyBvYmplY3QgdG8gZW5hYmxlL2Rpc2FibGUgdGhlIHRvdWNoIGV2ZW50cworICogQHBh
cmFtIGVuYWJsZWQgYSBzdGF0ZSB0byBzZXQKKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBv
biBzdWNjZXNzIG9yIEBjIEVJTkFfRkFMU0Ugb24gZmFpbHVyZQorICovCitFQVBJIEVpbmFfQm9v
bCBld2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxlZF9zZXQoRXZhc19PYmplY3QgKm8sIEVpbmFf
Qm9vbCBlbmFibGVkKTsKKworLyoqCisgKiBRdWVyaWVzIGlmIHRoZSBld2tfdmlldyBzdXBwb3J0
cyB0aGUgdG91Y2ggZXZlbnRzLgorICoKKyAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIHF1ZXJ5
IGlmIHRoZSB0b3VjaCBldmVudHMgYXJlIGVuYWJsZWQKKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFf
VFJVRSBpZiB0aGUgdG91Y2ggZXZlbnRzIGFyZSBlbmFibGVkIG9yIEBjIEVJTkFfRkFMU0Ugb3Ro
ZXJ3aXNlCisgKi8KK0VBUEkgRWluYV9Cb29sIGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVk
X2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90
ZXN0X2V3azJfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0
cy90ZXN0X2V3azJfdmlldy5jcHAKaW5kZXggNmRhOTU2NGVjMDEyNDZjMTM1YWU2ZTAyMGZmMGUw
NzBlMzFkNDU3MS4uOWU0ZjEwNWE1NWRlZjc0NDA1MDhhZWEzZDAyZTg2ZmI5MDQ4YjhjZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2sy
X3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rl
c3RfZXdrMl92aWV3LmNwcApAQCAtNzQ4LDQgKzc0OCwxNiBAQCBURVNUX0YoRVdLMlVuaXRUZXN0
QmFzZSwgZXdrX3ZpZXdfZmVlZF90b3VjaF9ldmVudCkKIAogICAgIGVpbmFfbGlzdF9mcmVlKHBv
aW50cyk7CiB9CisKK1RFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdmlld190b3VjaF9ldmVu
dHNfZW5hYmxlZCkKK3sKKyAgICBBU1NFUlRfVFJVRShld2tfdmlld190b3VjaF9ldmVudHNfZW5h
YmxlZF9zZXQod2ViVmlldygpLCBFSU5BX1RSVUUpKTsKKyAgICBBU1NFUlRfVFJVRShld2tfdmll
d190b3VjaF9ldmVudHNfZW5hYmxlZF9nZXQod2ViVmlldygpKSk7CisKKyAgICBBU1NFUlRfVFJV
RShld2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxlZF9zZXQod2ViVmlldygpLCAyKSk7CisgICAg
QVNTRVJUX1RSVUUoZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfZ2V0KHdlYlZpZXcoKSkp
OworCisgICAgQVNTRVJUX1RSVUUoZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfc2V0KHdl
YlZpZXcoKSwgRUlOQV9GQUxTRSkpOworICAgIEFTU0VSVF9GQUxTRShld2tfdmlld190b3VjaF9l
dmVudHNfZW5hYmxlZF9nZXQod2ViVmlldygpKSk7Cit9CiAjZW5kaWYgLy8gRU5BQkxFKElOUFVU
X1RZUEVfQ09MT1IpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165536</attachid>
            <date>2012-09-25 00:16:06 -0700</date>
            <delta_ts>2012-09-27 07:42:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96906-20120925161526.patch</filename>
            <type>text/plain</type>
            <size>13220</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjVmNzVlNThjMGM0OTZl
ODQ2YTVkMDY3MDMyMDFiYjdkZjlmNmI1NC4uN2VmNjc5N2IxNzM1YzE1ZjVjNGI1MmEwNzc5ZGY3
NmUwYjkxNTMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA5LTI1ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFBy
b2Nlc3MgdG91Y2ggZXZlbnRzIHVzaW5nIG1vdXNlIGFuZCBtdWx0aSBldmVudHMgb2YgRXZhcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2OTA2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJvdmlkZSBk
ZWZhdWx0IGJlaGF2aW9yIGZvciBwcm9jZXNzaW5nIHRvdWNoIGV2ZW50cyBpbiB0aGUgZXdrX3Zp
ZXcgaWYKKyAgICAgICAgYXBwbGljYXRpb24gd2FudHMgdG8gdXNlIGl0LgorICAgICAgICBXZSBj
YW4gdG8gcHJvY2VzcyB0b3VjaCBldmVudHMgdXNpbmcgbW91c2UgYW5kIG11bHRpIGV2ZW50cyBi
ZWNhdXNlIHRoZQorICAgICAgICBFdmFzIGNyZWF0ZXMgbW91c2UgZXZlbnRzIGZvciBmaXJzdCB0
b3VjaCBhbmQgbXVsdGkgZXZlbnRzIGZvciBzZWNvbmQgYW5kCisgICAgICAgIHRoaXJkIHRvdWNo
LiBJdCBjYW4gYmUgbW9kaWZpZWQgd2hlbiBFdmFzIHN0YXJ0cyB0byBzdXBwb3J0IGV2ZW50IHR5
cGUKKyAgICAgICAgZm9yIHRvdWNoIGV2ZW50cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tfVmlld19Qcml2YXRlX0RhdGEpOgorICAg
ICAgICAoX0V3a19WaWV3X1ByaXZhdGVfRGF0YTo6X0V3a19WaWV3X1ByaXZhdGVfRGF0YSk6Cisg
ICAgICAgIChfZXdrX3ZpZXdfZmVlZF90b3VjaF9ldmVudF91c2luZ190b3VjaF9wb2ludF9saXN0
X29mX2V2YXMpOgorICAgICAgICAoX2V3a192aWV3X29uX3RvdWNoX2Rvd24pOgorICAgICAgICAo
X2V3a192aWV3X29uX3RvdWNoX3VwKToKKyAgICAgICAgKF9ld2tfdmlld19vbl90b3VjaF9tb3Zl
KToKKyAgICAgICAgKGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX3NldCk6CisgICAgICAg
IChld2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxlZF9nZXQpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMv
VW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcDoKKyAgICAgICAgKEVXSzJVbml0VGVz
dDo6RVdLMlVuaXRUZXN0QmFzZTo6bW91c2VEb3duKToKKyAgICAgICAgKEVXSzJVbml0VGVzdCk6
CisgICAgICAgIChFV0syVW5pdFRlc3Q6OkVXSzJVbml0VGVzdEJhc2U6Om1vdXNlVXApOgorICAg
ICAgICAoRVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjptb3VzZU1vdmUpOgorICAgICAg
ICAoRVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjptdWx0aURvd24pOgorICAgICAgICAo
RVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjptdWx0aVVwKToKKyAgICAgICAgKEVXSzJV
bml0VGVzdDo6RVdLMlVuaXRUZXN0QmFzZTo6bXVsdGlNb3ZlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaDoKKyAgICAg
ICAgKEVXSzJVbml0VGVzdEJhc2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3Rz
L3Rlc3RfZXdrMl92aWV3LmNwcDoKKyAgICAgICAgKFRFU1RfRik6CisKIDIwMTItMDktMjQgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjkzODguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggMTBhNjhjNDA0MTlhYTM3MDc2OWIzOWY2MjVjMGY2
ZTdlZTRiYTNiOS4uZjViZjI3NWM3YWU2MWVlNzIxNDlmOWViYTdlMDFiYzg2MjY2Yzc2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtMTAx
LDYgKzEwMSw5IEBAIHN0cnVjdCBfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhIHsKICAgICBib29sIGFy
ZU1vdXNlRXZlbnRzRW5hYmxlZDsKICAgICBXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYg
Y29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lcjsKICAgICBFd2tfQ29udGV4dCogY29udGV4dDsKKyNp
ZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIGJvb2wgYXJlVG91Y2hFdmVudHNFbmFibGVkOwor
I2VuZGlmCiAKICAgICBXZWJQb3B1cE1lbnVQcm94eUVmbCogcG9wdXBNZW51UHJveHk7CiAgICAg
RWluYV9MaXN0KiBwb3B1cE1lbnVJdGVtczsKQEAgLTEyMSw2ICsxMjQsOSBAQCBzdHJ1Y3QgX0V3
a19WaWV3X1ByaXZhdGVfRGF0YSB7CiAgICAgICAgICwgYXJlTW91c2VFdmVudHNFbmFibGVkKGZh
bHNlKQogICAgICAgICAsIGNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIoMCkKICAgICAgICAgLCBj
b250ZXh0KDApCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICAgICAgLCBhcmVUb3VjaEV2
ZW50c0VuYWJsZWQoZmFsc2UpCisjZW5kaWYKICAgICAgICAgLCBwb3B1cE1lbnVQcm94eSgwKQog
ICAgICAgICAsIHBvcHVwTWVudUl0ZW1zKDApCiAjaWZkZWYgSEFWRV9FQ09SRV9YCkBAIC0zNTYs
NiArMzYyLDQ3IEBAIHN0YXRpYyB2b2lkIF9ld2tfdmlld19vbl9rZXlfdXAodm9pZCogZGF0YSwg
RXZhcyosIEV2YXNfT2JqZWN0Kiwgdm9pZCogZXZlbnRJbmZvCiAgICAgc21hcnREYXRhLT5hcGkt
PmtleV91cChzbWFydERhdGEsIHVwRXZlbnQpOwogfQogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKK3N0YXRpYyBpbmxpbmUgdm9pZCBfZXdrX3ZpZXdfZmVlZF90b3VjaF9ldmVudF91c2luZ190
b3VjaF9wb2ludF9saXN0X29mX2V2YXMoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV3a19Ub3VjaF9F
dmVudF9UeXBlIHR5cGUpCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3
LCBzbWFydERhdGEpOworCisgICAgdW5zaWduZWQgY291bnQgPSBldmFzX3RvdWNoX3BvaW50X2xp
c3RfY291bnQoc21hcnREYXRhLT5iYXNlLmV2YXMpOworICAgIGlmICghY291bnQpCisgICAgICAg
IHJldHVybjsKKworICAgIEVpbmFfTGlzdCogcG9pbnRzID0gMDsKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgY291bnQ7ICsraSkgeworICAgICAgICBFd2tfVG91Y2hfUG9pbnQqIHBvaW50
ID0gbmV3IEV3a19Ub3VjaF9Qb2ludDsKKyAgICAgICAgcG9pbnQtPmlkID0gZXZhc190b3VjaF9w
b2ludF9saXN0X250aF9pZF9nZXQoc21hcnREYXRhLT5iYXNlLmV2YXMsIGkpOworICAgICAgICBl
dmFzX3RvdWNoX3BvaW50X2xpc3RfbnRoX3h5X2dldChzbWFydERhdGEtPmJhc2UuZXZhcywgaSwg
JnBvaW50LT54LCAmcG9pbnQtPnkpOworICAgICAgICBwb2ludC0+c3RhdGUgPSBldmFzX3RvdWNo
X3BvaW50X2xpc3RfbnRoX3N0YXRlX2dldChzbWFydERhdGEtPmJhc2UuZXZhcywgaSk7CisgICAg
ICAgIHBvaW50cyA9IGVpbmFfbGlzdF9hcHBlbmQocG9pbnRzLCBwb2ludCk7CisgICAgfQorCisg
ICAgZXdrX3ZpZXdfZmVlZF90b3VjaF9ldmVudChld2tWaWV3LCB0eXBlLCBwb2ludHMsIGV2YXNf
a2V5X21vZGlmaWVyX2dldChzbWFydERhdGEtPmJhc2UuZXZhcykpOworCisgICAgdm9pZCogZGF0
YTsKKyAgICBFSU5BX0xJU1RfRlJFRShwb2ludHMsIGRhdGEpCisgICAgICAgIGRlbGV0ZSBkYXRh
OworfQorCitzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfb25fdG91Y2hfZG93bih2b2lkKiBkYXRhLCBF
dmFzKiBjYW52YXMsIEV2YXNfT2JqZWN0KiBld2tWaWV3LCB2b2lkKiBldmVudEluZm8pCit7Cisg
ICAgX2V3a192aWV3X2ZlZWRfdG91Y2hfZXZlbnRfdXNpbmdfdG91Y2hfcG9pbnRfbGlzdF9vZl9l
dmFzKGV3a1ZpZXcsIEVXS19UT1VDSF9TVEFSVCk7Cit9CisKK3N0YXRpYyB2b2lkIF9ld2tfdmll
d19vbl90b3VjaF91cCh2b2lkKiBkYXRhLCBFdmFzKiBjYW52YXMsIEV2YXNfT2JqZWN0KiBld2tW
aWV3LCB2b2lkKiBldmVudEluZm8pCit7CisgICAgX2V3a192aWV3X2ZlZWRfdG91Y2hfZXZlbnRf
dXNpbmdfdG91Y2hfcG9pbnRfbGlzdF9vZl9ldmFzKGV3a1ZpZXcsIEVXS19UT1VDSF9FTkQpOwor
fQorCitzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfb25fdG91Y2hfbW92ZSh2b2lkKiBkYXRhLCBFdmFz
KiBjYW52YXMsIEV2YXNfT2JqZWN0KiBld2tWaWV3LCB2b2lkKiBldmVudEluZm8pCit7CisgICAg
X2V3a192aWV3X2ZlZWRfdG91Y2hfZXZlbnRfdXNpbmdfdG91Y2hfcG9pbnRfbGlzdF9vZl9ldmFz
KGV3a1ZpZXcsIEVXS19UT1VDSF9NT1ZFKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgRXZhc19TbWFy
dF9DbGFzcyBnX3BhcmVudFNtYXJ0Q2xhc3MgPSBFVkFTX1NNQVJUX0NMQVNTX0lOSVRfTlVMTDsK
IAogc3RhdGljIEV3a19WaWV3X1ByaXZhdGVfRGF0YSogX2V3a192aWV3X3ByaXZfbmV3KEV3a19W
aWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSkKQEAgLTE3NzgsMyArMTgyNSw1MiBAQCBFaW5hX0Jv
b2wgZXdrX3ZpZXdfZmVlZF90b3VjaF9ldmVudChFdmFzX09iamVjdCogZXdrVmlldywgRXdrX1Rv
dWNoX0V2ZW50X1R5cGUgdAogICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogfQorCitFaW5hX0Jv
b2wgZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBFaW5hX0Jvb2wgZW5hYmxlZCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIEVX
S19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7CisgICAg
RVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpOworCisg
ICAgZW5hYmxlZCA9ICEhZW5hYmxlZDsKKyAgICBpZiAocHJpdi0+YXJlVG91Y2hFdmVudHNFbmFi
bGVkID09IGVuYWJsZWQpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcHJpdi0+YXJlVG91
Y2hFdmVudHNFbmFibGVkID0gZW5hYmxlZDsKKyAgICBpZiAoZW5hYmxlZCkgeworICAgICAgICAv
LyBGSVhNRTogV2UgaGF2ZSB0byBjb25uZWN0IHRvdWNoIGNhbGxiYWNrcyB3aXRoIG1vdXNlIGFu
ZCBtdWx0aSBldmVudHMKKyAgICAgICAgLy8gYmVjYXVzZSB0aGUgRXZhcyBjcmVhdGVzIG1vdXNl
IGV2ZW50cyBmb3IgZmlyc3QgdG91Y2ggYW5kIG11bHRpIGV2ZW50cworICAgICAgICAvLyBmb3Ig
c2Vjb25kIGFuZCB0aGlyZCB0b3VjaGVzLiBCZWxvdyBjb2RlcyBzaG91bGQgYmUgZml4ZWQgd2hl
biB0aGUgRXZhcworICAgICAgICAvLyBzdXBwb3J0cyB0aGUgdG91Y2ggZXZlbnRzLgorICAgICAg
ICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19hZGQoZXdrVmlldywgRVZBU19DQUxMQkFDS19N
T1VTRV9ET1dOLCBfZXdrX3ZpZXdfb25fdG91Y2hfZG93biwgc21hcnREYXRhKTsKKyAgICAgICAg
ZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfYWRkKGV3a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tfTU9V
U0VfVVAsIF9ld2tfdmlld19vbl90b3VjaF91cCwgc21hcnREYXRhKTsKKyAgICAgICAgZXZhc19v
YmplY3RfZXZlbnRfY2FsbGJhY2tfYWRkKGV3a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tfTU9VU0VfTU9W
RSwgX2V3a192aWV3X29uX3RvdWNoX21vdmUsIHNtYXJ0RGF0YSk7CisgICAgICAgIGV2YXNfb2Jq
ZWN0X2V2ZW50X2NhbGxiYWNrX2FkZChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01VTFRJX0RPV04s
IF9ld2tfdmlld19vbl90b3VjaF9kb3duLCBzbWFydERhdGEpOworICAgICAgICBldmFzX29iamVj
dF9ldmVudF9jYWxsYmFja19hZGQoZXdrVmlldywgRVZBU19DQUxMQkFDS19NVUxUSV9VUCwgX2V3
a192aWV3X29uX3RvdWNoX3VwLCBzbWFydERhdGEpOworICAgICAgICBldmFzX29iamVjdF9ldmVu
dF9jYWxsYmFja19hZGQoZXdrVmlldywgRVZBU19DQUxMQkFDS19NVUxUSV9NT1ZFLCBfZXdrX3Zp
ZXdfb25fdG91Y2hfbW92ZSwgc21hcnREYXRhKTsKKyAgICB9IGVsc2UgeworICAgICAgICBldmFz
X29iamVjdF9ldmVudF9jYWxsYmFja19kZWwoZXdrVmlldywgRVZBU19DQUxMQkFDS19NT1VTRV9E
T1dOLCBfZXdrX3ZpZXdfb25fdG91Y2hfZG93bik7CisgICAgICAgIGV2YXNfb2JqZWN0X2V2ZW50
X2NhbGxiYWNrX2RlbChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01PVVNFX1VQLCBfZXdrX3ZpZXdf
b25fdG91Y2hfdXApOworICAgICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19kZWwoZXdr
VmlldywgRVZBU19DQUxMQkFDS19NT1VTRV9NT1ZFLCBfZXdrX3ZpZXdfb25fdG91Y2hfbW92ZSk7
CisgICAgICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxiYWNrX2RlbChld2tWaWV3LCBFVkFTX0NB
TExCQUNLX01VTFRJX0RPV04sIF9ld2tfdmlld19vbl90b3VjaF9kb3duKTsKKyAgICAgICAgZXZh
c19vYmplY3RfZXZlbnRfY2FsbGJhY2tfZGVsKGV3a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tfTVVMVElf
VVAsIF9ld2tfdmlld19vbl90b3VjaF91cCk7CisgICAgICAgIGV2YXNfb2JqZWN0X2V2ZW50X2Nh
bGxiYWNrX2RlbChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01VTFRJX01PVkUsIF9ld2tfdmlld19v
bl90b3VjaF9tb3ZlKTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAgcmV0
dXJuIGZhbHNlOworI2VuZGlmCit9CisKK0VpbmFfQm9vbCBld2tfdmlld190b3VjaF9ldmVudHNf
ZW5hYmxlZF9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0
RGF0YSwgZmFsc2UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEs
IHByaXYsIGZhbHNlKTsKKworICAgIHJldHVybiBwcml2LT5hcmVUb3VjaEV2ZW50c0VuYWJsZWQ7
CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggMTNmMTM4Yzg3YzA3NjViMGZjZGVlOGJl
YzM2OWNlZDdmYzE3OGIxZS4uNWQ3MmE5ZGNjYjIxMDhmZDYyODBhYmYzMWVkMTI2NDkxNTJiMzIz
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCkBAIC03
MDgsNiArNzA4LDI4IEBAIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X2NvbG9yX3BpY2tlcl9jb2xv
cl9zZXQoRXZhc19PYmplY3QgKm8sIGludCByLCBpbnQgZywgaW50CiAgKi8KIEVBUEkgRWluYV9C
b29sIGV3a192aWV3X2ZlZWRfdG91Y2hfZXZlbnQoRXZhc19PYmplY3QgKm8sIEV3a19Ub3VjaF9F
dmVudF9UeXBlIHR5cGUsIGNvbnN0IEVpbmFfTGlzdCAqcG9pbnRzLCBjb25zdCBFdmFzX01vZGlm
aWVyICptb2RpZmllcnMpOwogCisvKioKKyAqIFNldHMgd2hldGhlciB0aGUgZXdrX3ZpZXcgc3Vw
cG9ydHMgdGhlIHRvdWNoIGV2ZW50cyBvciBub3QuCisgKgorICogVGhlIGV3a192aWV3IHdpbGwg
c3VwcG9ydCB0aGUgdG91Y2ggZXZlbnRzIGlmIEBjIEVJTkFfVFJVRSBvciBub3Qgc3VwcG9ydCB0
aGUKKyAqIHRvdWNoIGV2ZW50cyBvdGhlcndpc2UuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIEBjIEVJ
TkFfRkFMU0UuCisgKgorICogQHBhcmFtIG8gdmlldyBvYmplY3QgdG8gZW5hYmxlL2Rpc2FibGUg
dGhlIHRvdWNoIGV2ZW50cworICogQHBhcmFtIGVuYWJsZWQgYSBzdGF0ZSB0byBzZXQKKyAqCisg
KiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNjZXNzIG9yIEBjIEVJTkFfRkFMU0Ugb24gZmFp
bHVyZQorICovCitFQVBJIEVpbmFfQm9vbCBld2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxlZF9z
ZXQoRXZhc19PYmplY3QgKm8sIEVpbmFfQm9vbCBlbmFibGVkKTsKKworLyoqCisgKiBRdWVyaWVz
IGlmIHRoZSBld2tfdmlldyBzdXBwb3J0cyB0aGUgdG91Y2ggZXZlbnRzLgorICoKKyAqIEBwYXJh
bSBvIHZpZXcgb2JqZWN0IHRvIHF1ZXJ5IGlmIHRoZSB0b3VjaCBldmVudHMgYXJlIGVuYWJsZWQK
KyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBpZiB0aGUgdG91Y2ggZXZlbnRzIGFyZSBlbmFi
bGVkIG9yIEBjIEVJTkFfRkFMU0Ugb3RoZXJ3aXNlCisgKi8KK0VBUEkgRWluYV9Cb29sIGV3a192
aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CisKICNp
ZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9F
V0syVW5pdFRlc3RCYXNlLmNwcAppbmRleCAxNjkxZjBkN2MxODNmYzg2ODc4N2NhYzViZDlhY2Jj
Mzg4M2JlOTkxLi5hNGIyZWZmYjViNzIyMWJjZDliNWU2NDE3NDk5ODg3OWUzNjYxMjM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0
aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKQEAgLTIzOSw0
ICsyMzksMzggQEAgdm9pZCBFV0syVW5pdFRlc3RCYXNlOjptb3VzZUNsaWNrKGludCB4LCBpbnQg
eSkKICAgICBldmFzX2V2ZW50X2ZlZWRfbW91c2VfdXAoZXZhcywgLyogTGVmdCAqLyAxLCBFVkFT
X0JVVFRPTl9OT05FLCAwLCAwKTsKIH0KIAordm9pZCBFV0syVW5pdFRlc3RCYXNlOjptb3VzZURv
d24oaW50IHgsIGludCB5KQoreworICAgIEV2YXMqIGV2YXMgPSBldmFzX29iamVjdF9ldmFzX2dl
dChtX3dlYlZpZXcpOworICAgIGV2YXNfZXZlbnRfZmVlZF9tb3VzZV9tb3ZlKGV2YXMsIHgsIHks
IDAsIDApOworICAgIGV2YXNfZXZlbnRfZmVlZF9tb3VzZV9kb3duKGV2YXMsIC8qIExlZnQgKi8g
MSwgRVZBU19CVVRUT05fTk9ORSwgMCwgMCk7Cit9CisKK3ZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6
bW91c2VVcChpbnQgeCwgaW50IHkpCit7CisgICAgRXZhcyogZXZhcyA9IGV2YXNfb2JqZWN0X2V2
YXNfZ2V0KG1fd2ViVmlldyk7CisgICAgZXZhc19ldmVudF9mZWVkX21vdXNlX21vdmUoZXZhcywg
eCwgeSwgMCwgMCk7CisgICAgZXZhc19ldmVudF9mZWVkX21vdXNlX3VwKGV2YXMsIC8qIExlZnQg
Ki8gMSwgRVZBU19CVVRUT05fTk9ORSwgMCwgMCk7Cit9CisKK3ZvaWQgRVdLMlVuaXRUZXN0QmFz
ZTo6bW91c2VNb3ZlKGludCB4LCBpbnQgeSkKK3sKKyAgICBldmFzX2V2ZW50X2ZlZWRfbW91c2Vf
bW92ZShldmFzX29iamVjdF9ldmFzX2dldChtX3dlYlZpZXcpLCB4LCB5LCAwLCAwKTsKK30KKwor
dm9pZCBFV0syVW5pdFRlc3RCYXNlOjptdWx0aURvd24oaW50IGlkLCBpbnQgeCwgaW50IHkpCit7
CisgICAgZXZhc19ldmVudF9mZWVkX211bHRpX2Rvd24oZXZhc19vYmplY3RfZXZhc19nZXQobV93
ZWJWaWV3KSwgaWQsIHgsIHksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIEVWQVNfQlVUVE9OX05PTkUs
IDAsIDApOworfQorCit2b2lkIEVXSzJVbml0VGVzdEJhc2U6Om11bHRpVXAoaW50IGlkLCBpbnQg
eCwgaW50IHkpCit7CisgICAgZXZhc19ldmVudF9mZWVkX211bHRpX3VwKGV2YXNfb2JqZWN0X2V2
YXNfZ2V0KG1fd2ViVmlldyksIGlkLCB4LCB5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCBFVkFTX0JV
VFRPTl9OT05FLCAwLCAwKTsKK30KKwordm9pZCBFV0syVW5pdFRlc3RCYXNlOjptdWx0aU1vdmUo
aW50IGlkLCBpbnQgeCwgaW50IHkpCit7CisgICAgZXZhc19ldmVudF9mZWVkX211bHRpX21vdmUo
ZXZhc19vYmplY3RfZXZhc19nZXQobV93ZWJWaWV3KSwgaWQsIHgsIHksIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDApOworfQorCiB9IC8vIG5hbWVzcGFjZSBFV0syVW5pdFRlc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMv
RVdLMlVuaXRUZXN0QmFzZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVz
dHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgKaW5kZXggZTExNDZiMTk4MWMwOGVl
MDQ5NDkwOTRmNjVlMTYyOTM3NGYzODkwZi4uNzk4MjY2ZWE1YjYwYmVkNDU2ZGZjYmMzMzA2MzE4
MzI3NWU4MzRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNl
LmgKQEAgLTQ4LDYgKzQ4LDEyIEBAIHByb3RlY3RlZDoKICAgICBib29sIHdhaXRVbnRpbFVSSUNo
YW5nZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFVSSSwgZG91YmxlIHRpbWVvdXRTZWNvbmRzID0g
ZGVmYXVsdFRpbWVvdXRTZWNvbmRzKTsKIAogICAgIHZvaWQgbW91c2VDbGljayhpbnQgeCwgaW50
IHkpOworICAgIHZvaWQgbW91c2VEb3duKGludCB4LCBpbnQgeSk7CisgICAgdm9pZCBtb3VzZVVw
KGludCB4LCBpbnQgeSk7CisgICAgdm9pZCBtb3VzZU1vdmUoaW50IHgsIGludCB5KTsKKyAgICB2
b2lkIG11bHRpRG93bihpbnQgaWQsIGludCB4LCBpbnQgeSk7CisgICAgdm9pZCBtdWx0aVVwKGlu
dCBpZCwgaW50IHgsIGludCB5KTsKKyAgICB2b2lkIG11bHRpTW92ZShpbnQgaWQsIGludCB4LCBp
bnQgeSk7CiAKIHByaXZhdGU6CiAgICAgRXZhc19PYmplY3QqIG1fd2ViVmlldzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92
aWV3LmNwcAppbmRleCBjM2QzNTIxNGM2Njc5ZGIxMDVmNDU3Y2EzMjQ1YjVjZDFlMDhmMGU1Li43
ZTVhNWU4MWQwZDMwYWZlOGNkZTc4YzYxYjkxMDM5ZjA2Yjg5YjBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3ZpZXcu
Y3BwCkBAIC03NDksMyArNzQ5LDQ1IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdmll
d19mZWVkX3RvdWNoX2V2ZW50KQogCiAgICAgZWluYV9saXN0X2ZyZWUocG9pbnRzKTsKIH0KKwor
VEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkKQor
eworICAgIEFTU0VSVF9GQUxTRShld2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxlZF9nZXQod2Vi
VmlldygpKSk7CisKKyAgICBBU1NFUlRfVFJVRShld2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxl
ZF9zZXQod2ViVmlldygpLCB0cnVlKSk7CisgICAgQVNTRVJUX1RSVUUoZXdrX3ZpZXdfdG91Y2hf
ZXZlbnRzX2VuYWJsZWRfZ2V0KHdlYlZpZXcoKSkpOworCisgICAgQVNTRVJUX1RSVUUoZXdrX3Zp
ZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfc2V0KHdlYlZpZXcoKSwgMikpOworICAgIEFTU0VSVF9U
UlVFKGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX2dldCh3ZWJWaWV3KCkpKTsKKworICAg
IGNvbnN0IGNoYXIqIHRvdWNoSFRNTCA9CisgICAgICAgICI8IWRvY3R5cGUgaHRtbD48Ym9keT48
ZGl2IHN0eWxlPVwid2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDtcIiAiCisgICAgICAgICJvbnRv
dWNoc3RhcnQ9XCJkb2N1bWVudC50aXRsZT0ndG91Y2hzdGFydGVkJyArIGV2ZW50LnRvdWNoZXMu
bGVuZ3RoO1wiICIKKyAgICAgICAgIm9udG91Y2htb3ZlPVwiZG9jdW1lbnQudGl0bGU9J3RvdWNo
bW92ZWQnICsgZXZlbnQudG91Y2hlcy5sZW5ndGg7XCIgIgorICAgICAgICAib250b3VjaGVuZD1c
ImRvY3VtZW50LnRpdGxlPSd0b3VjaGVuZGVkJyArIGV2ZW50LnRvdWNoZXMubGVuZ3RoO1wiPiIK
KyAgICAgICAgIjwvZGl2PjwvYm9keT4iOworCisgICAgZXdrX3ZpZXdfaHRtbF9zdHJpbmdfbG9h
ZCh3ZWJWaWV3KCksIHRvdWNoSFRNTCwgImZpbGU6Ly8vIiwgMCk7CisgICAgQVNTRVJUX1RSVUUo
d2FpdFVudGlsTG9hZEZpbmlzaGVkKCkpOworCisgICAgbW91c2VEb3duKDEwLCAxMCk7CisgICAg
QVNTRVJUX1RSVUUod2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8oInRvdWNoc3RhcnRlZDEiKSk7CisK
KyAgICBtdWx0aURvd24oMSwgMzAsIDMwKTsKKyAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxUaXRs
ZUNoYW5nZWRUbygidG91Y2hzdGFydGVkMiIpKTsKKworICAgIG11bHRpTW92ZSgxLCA0MCwgNDAp
OworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRpdGxlQ2hhbmdlZFRvKCJ0b3VjaG1vdmVkMiIp
KTsKKworICAgIG11bHRpVXAoMSwgNDAsIDQwKTsKKyAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxU
aXRsZUNoYW5nZWRUbygidG91Y2hlbmRlZDEiKSk7CisKKyAgICBtb3VzZU1vdmUoMjAsIDIwKTsK
KyAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxUaXRsZUNoYW5nZWRUbygidG91Y2htb3ZlZDEiKSk7
CisKKyAgICBtb3VzZVVwKDIwLCAyMCk7CisgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsVGl0bGVD
aGFuZ2VkVG8oInRvdWNoZW5kZWQwIikpOworCisgICAgQVNTRVJUX1RSVUUoZXdrX3ZpZXdfdG91
Y2hfZXZlbnRzX2VuYWJsZWRfc2V0KHdlYlZpZXcoKSwgZmFsc2UpKTsKKyAgICBBU1NFUlRfRkFM
U0UoZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfZ2V0KHdlYlZpZXcoKSkpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165997</attachid>
            <date>2012-09-27 07:42:26 -0700</date>
            <delta_ts>2012-09-27 08:07:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96906-20120927234144.patch</filename>
            <type>text/plain</type>
            <size>13353</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2VmNWM2NDMzY2Q3YjNj
ZmEzZDY5ODNlYjMyNjQwZGViZDdhMjA3NS4uZmE5NDgxNTA0Y2UzNWYwMTY2NDJmMjZhNzRjYWEy
NGU0YzRhOTgxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA5LTI3ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFBy
b2Nlc3MgdG91Y2ggZXZlbnRzIHVzaW5nIG1vdXNlIGFuZCBtdWx0aSBldmVudHMgb2YgRXZhcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2OTA2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJvdmlkZSBk
ZWZhdWx0IGJlaGF2aW9yIGZvciBwcm9jZXNzaW5nIHRvdWNoIGV2ZW50cyBpbiB0aGUgZXdrX3Zp
ZXcgaWYKKyAgICAgICAgYXBwbGljYXRpb24gd2FudHMgdG8gdXNlIGl0LgorICAgICAgICBXZSBj
YW4gdG8gcHJvY2VzcyB0b3VjaCBldmVudHMgdXNpbmcgbW91c2UgYW5kIG11bHRpIGV2ZW50cyBi
ZWNhdXNlIHRoZQorICAgICAgICBFdmFzIGNyZWF0ZXMgbW91c2UgZXZlbnRzIGZvciBmaXJzdCB0
b3VjaCBhbmQgbXVsdGkgZXZlbnRzIGZvciBzZWNvbmQgYW5kCisgICAgICAgIHRoaXJkIHRvdWNo
LiBJdCBjYW4gYmUgbW9kaWZpZWQgd2hlbiBFdmFzIHN0YXJ0cyB0byBzdXBwb3J0IGV2ZW50IHR5
cGUKKyAgICAgICAgZm9yIHRvdWNoIGV2ZW50cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tfVmlld19Qcml2YXRlX0RhdGEpOgorICAg
ICAgICAoX0V3a19WaWV3X1ByaXZhdGVfRGF0YTo6X0V3a19WaWV3X1ByaXZhdGVfRGF0YSk6Cisg
ICAgICAgIChfZXdrX3ZpZXdfZmVlZF90b3VjaF9ldmVudF91c2luZ190b3VjaF9wb2ludF9saXN0
X29mX2V2YXMpOgorICAgICAgICAoX2V3a192aWV3X29uX3RvdWNoX2Rvd24pOgorICAgICAgICAo
X2V3a192aWV3X29uX3RvdWNoX3VwKToKKyAgICAgICAgKF9ld2tfdmlld19vbl90b3VjaF9tb3Zl
KToKKyAgICAgICAgKGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX3NldCk6CisgICAgICAg
IChld2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxlZF9nZXQpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMv
VW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcDoKKyAgICAgICAgKEVXSzJVbml0VGVz
dDo6RVdLMlVuaXRUZXN0QmFzZTo6bW91c2VEb3duKToKKyAgICAgICAgKEVXSzJVbml0VGVzdCk6
CisgICAgICAgIChFV0syVW5pdFRlc3Q6OkVXSzJVbml0VGVzdEJhc2U6Om1vdXNlVXApOgorICAg
ICAgICAoRVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjptb3VzZU1vdmUpOgorICAgICAg
ICAoRVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjptdWx0aURvd24pOgorICAgICAgICAo
RVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjptdWx0aVVwKToKKyAgICAgICAgKEVXSzJV
bml0VGVzdDo6RVdLMlVuaXRUZXN0QmFzZTo6bXVsdGlNb3ZlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaDoKKyAgICAg
ICAgKEVXSzJVbml0VGVzdEJhc2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3Rz
L3Rlc3RfZXdrMl92aWV3LmNwcDoKKyAgICAgICAgKFRFU1RfRik6CisKIDIwMTItMDktMjcgIEpp
bndvbyBTb25nICA8amlud29vNy5zb25nQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW1dL
Ml0gQWRkIGNhbGxiYWNrIGZ1bmN0aW9ucyBmb3IgV0tQYWdlRmluZENsaWVudApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCmluZGV4IGExN2U2N2ZmMDA5
ODI3ZDViMzEwNTdhM2ZkYzY0OTg1NmE0ZGE0MDAuLjUxNzVmNzk2OWZjMDI1YjY1OTg5Yjg4MDM5
OTczOGQyZWIzNDAwYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdmlldy5jcHAKQEAgLTEwMSw2ICsxMDEsOSBAQCBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVf
RGF0YSB7CiAgICAgYm9vbCBhcmVNb3VzZUV2ZW50c0VuYWJsZWQ7CiAgICAgV0tDb2xvclBpY2tl
clJlc3VsdExpc3RlbmVyUmVmIGNvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXI7CiAgICAgRXdrX0Nv
bnRleHQqIGNvbnRleHQ7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICBib29sIGFyZVRv
dWNoRXZlbnRzRW5hYmxlZDsKKyNlbmRpZgogCiAgICAgV2ViUG9wdXBNZW51UHJveHlFZmwqIHBv
cHVwTWVudVByb3h5OwogICAgIEVpbmFfTGlzdCogcG9wdXBNZW51SXRlbXM7CkBAIC0xMjEsNiAr
MTI0LDkgQEAgc3RydWN0IF9Fd2tfVmlld19Qcml2YXRlX0RhdGEgewogICAgICAgICAsIGFyZU1v
dXNlRXZlbnRzRW5hYmxlZChmYWxzZSkKICAgICAgICAgLCBjb2xvclBpY2tlclJlc3VsdExpc3Rl
bmVyKDApCiAgICAgICAgICwgY29udGV4dCgwKQorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisg
ICAgICAgICwgYXJlVG91Y2hFdmVudHNFbmFibGVkKGZhbHNlKQorI2VuZGlmCiAgICAgICAgICwg
cG9wdXBNZW51UHJveHkoMCkKICAgICAgICAgLCBwb3B1cE1lbnVJdGVtcygwKQogI2lmZGVmIEhB
VkVfRUNPUkVfWApAQCAtMzU2LDYgKzM2Miw0NyBAQCBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfb25f
a2V5X3VwKHZvaWQqIGRhdGEsIEV2YXMqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5mbwog
ICAgIHNtYXJ0RGF0YS0+YXBpLT5rZXlfdXAoc21hcnREYXRhLCB1cEV2ZW50KTsKIH0KIAorI2lm
IEVOQUJMRShUT1VDSF9FVkVOVFMpCitzdGF0aWMgaW5saW5lIHZvaWQgX2V3a192aWV3X2ZlZWRf
dG91Y2hfZXZlbnRfdXNpbmdfdG91Y2hfcG9pbnRfbGlzdF9vZl9ldmFzKEV2YXNfT2JqZWN0KiBl
d2tWaWV3LCBFd2tfVG91Y2hfRXZlbnRfVHlwZSB0eXBlKQoreworICAgIEVXS19WSUVXX1NEX0dF
VF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKKworICAgIHVuc2lnbmVkIGNvdW50ID0g
ZXZhc190b3VjaF9wb2ludF9saXN0X2NvdW50KHNtYXJ0RGF0YS0+YmFzZS5ldmFzKTsKKyAgICBp
ZiAoIWNvdW50KQorICAgICAgICByZXR1cm47CisKKyAgICBFaW5hX0xpc3QqIHBvaW50cyA9IDA7
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKKyAgICAgICAgRXdr
X1RvdWNoX1BvaW50KiBwb2ludCA9IG5ldyBFd2tfVG91Y2hfUG9pbnQ7CisgICAgICAgIHBvaW50
LT5pZCA9IGV2YXNfdG91Y2hfcG9pbnRfbGlzdF9udGhfaWRfZ2V0KHNtYXJ0RGF0YS0+YmFzZS5l
dmFzLCBpKTsKKyAgICAgICAgZXZhc190b3VjaF9wb2ludF9saXN0X250aF94eV9nZXQoc21hcnRE
YXRhLT5iYXNlLmV2YXMsIGksICZwb2ludC0+eCwgJnBvaW50LT55KTsKKyAgICAgICAgcG9pbnQt
PnN0YXRlID0gZXZhc190b3VjaF9wb2ludF9saXN0X250aF9zdGF0ZV9nZXQoc21hcnREYXRhLT5i
YXNlLmV2YXMsIGkpOworICAgICAgICBwb2ludHMgPSBlaW5hX2xpc3RfYXBwZW5kKHBvaW50cywg
cG9pbnQpOworICAgIH0KKworICAgIGV3a192aWV3X2ZlZWRfdG91Y2hfZXZlbnQoZXdrVmlldywg
dHlwZSwgcG9pbnRzLCBldmFzX2tleV9tb2RpZmllcl9nZXQoc21hcnREYXRhLT5iYXNlLmV2YXMp
KTsKKworICAgIHZvaWQqIGRhdGE7CisgICAgRUlOQV9MSVNUX0ZSRUUocG9pbnRzLCBkYXRhKQor
ICAgICAgICBkZWxldGUgZGF0YTsKK30KKworc3RhdGljIHZvaWQgX2V3a192aWV3X29uX3RvdWNo
X2Rvd24odm9pZCogZGF0YSwgRXZhcyogY2FudmFzLCBFdmFzX09iamVjdCogZXdrVmlldywgdm9p
ZCogZXZlbnRJbmZvKQoreworICAgIF9ld2tfdmlld19mZWVkX3RvdWNoX2V2ZW50X3VzaW5nX3Rv
dWNoX3BvaW50X2xpc3Rfb2ZfZXZhcyhld2tWaWV3LCBFV0tfVE9VQ0hfU1RBUlQpOworfQorCitz
dGF0aWMgdm9pZCBfZXdrX3ZpZXdfb25fdG91Y2hfdXAodm9pZCogZGF0YSwgRXZhcyogY2FudmFz
LCBFdmFzX09iamVjdCogZXdrVmlldywgdm9pZCogZXZlbnRJbmZvKQoreworICAgIF9ld2tfdmll
d19mZWVkX3RvdWNoX2V2ZW50X3VzaW5nX3RvdWNoX3BvaW50X2xpc3Rfb2ZfZXZhcyhld2tWaWV3
LCBFV0tfVE9VQ0hfRU5EKTsKK30KKworc3RhdGljIHZvaWQgX2V3a192aWV3X29uX3RvdWNoX21v
dmUodm9pZCogZGF0YSwgRXZhcyogY2FudmFzLCBFdmFzX09iamVjdCogZXdrVmlldywgdm9pZCog
ZXZlbnRJbmZvKQoreworICAgIF9ld2tfdmlld19mZWVkX3RvdWNoX2V2ZW50X3VzaW5nX3RvdWNo
X3BvaW50X2xpc3Rfb2ZfZXZhcyhld2tWaWV3LCBFV0tfVE9VQ0hfTU9WRSk7Cit9CisjZW5kaWYK
Kwogc3RhdGljIEV2YXNfU21hcnRfQ2xhc3MgZ19wYXJlbnRTbWFydENsYXNzID0gRVZBU19TTUFS
VF9DTEFTU19JTklUX05VTEw7CiAKIHN0YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tf
dmlld19wcml2X25ldyhFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCkBAIC0xNzc4LDMg
KzE4MjUsNTMgQEAgRWluYV9Cb29sIGV3a192aWV3X2ZlZWRfdG91Y2hfZXZlbnQoRXZhc19PYmpl
Y3QqIGV3a1ZpZXcsIEV3a19Ub3VjaF9FdmVudF9UeXBlIHQKICAgICByZXR1cm4gZmFsc2U7CiAj
ZW5kaWYKIH0KKworRWluYV9Cb29sIGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX3NldChF
dmFzX09iamVjdCogZXdrVmlldywgRWluYV9Cb29sIGVuYWJsZWQpCit7CisjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0
RGF0YSwgZmFsc2UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEs
IHByaXYsIGZhbHNlKTsKKworICAgIGVuYWJsZWQgPSAhIWVuYWJsZWQ7CisgICAgaWYgKHByaXYt
PmFyZVRvdWNoRXZlbnRzRW5hYmxlZCA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgIHByaXYtPmFyZVRvdWNoRXZlbnRzRW5hYmxlZCA9IGVuYWJsZWQ7CisgICAgaWYgKGVu
YWJsZWQpIHsKKyAgICAgICAgLy8gRklYTUU6IFdlIGhhdmUgdG8gY29ubmVjdCB0b3VjaCBjYWxs
YmFja3Mgd2l0aCBtb3VzZSBhbmQgbXVsdGkgZXZlbnRzCisgICAgICAgIC8vIGJlY2F1c2UgdGhl
IEV2YXMgY3JlYXRlcyBtb3VzZSBldmVudHMgZm9yIGZpcnN0IHRvdWNoIGFuZCBtdWx0aSBldmVu
dHMKKyAgICAgICAgLy8gZm9yIHNlY29uZCBhbmQgdGhpcmQgdG91Y2hlcy4gQmVsb3cgY29kZXMg
c2hvdWxkIGJlIGZpeGVkIHdoZW4gdGhlIEV2YXMKKyAgICAgICAgLy8gc3VwcG9ydHMgdGhlIHRv
dWNoIGV2ZW50cy4KKyAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05Nzc4NSBmb3IgZGV0YWlscy4KKyAgICAgICAgZXZhc19vYmplY3RfZXZlbnRf
Y2FsbGJhY2tfYWRkKGV3a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tfTU9VU0VfRE9XTiwgX2V3a192aWV3
X29uX3RvdWNoX2Rvd24sIHNtYXJ0RGF0YSk7CisgICAgICAgIGV2YXNfb2JqZWN0X2V2ZW50X2Nh
bGxiYWNrX2FkZChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01PVVNFX1VQLCBfZXdrX3ZpZXdfb25f
dG91Y2hfdXAsIHNtYXJ0RGF0YSk7CisgICAgICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxiYWNr
X2FkZChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01PVVNFX01PVkUsIF9ld2tfdmlld19vbl90b3Vj
aF9tb3ZlLCBzbWFydERhdGEpOworICAgICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19h
ZGQoZXdrVmlldywgRVZBU19DQUxMQkFDS19NVUxUSV9ET1dOLCBfZXdrX3ZpZXdfb25fdG91Y2hf
ZG93biwgc21hcnREYXRhKTsKKyAgICAgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfYWRk
KGV3a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tfTVVMVElfVVAsIF9ld2tfdmlld19vbl90b3VjaF91cCwg
c21hcnREYXRhKTsKKyAgICAgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfYWRkKGV3a1Zp
ZXcsIEVWQVNfQ0FMTEJBQ0tfTVVMVElfTU9WRSwgX2V3a192aWV3X29uX3RvdWNoX21vdmUsIHNt
YXJ0RGF0YSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJh
Y2tfZGVsKGV3a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tfTU9VU0VfRE9XTiwgX2V3a192aWV3X29uX3Rv
dWNoX2Rvd24pOworICAgICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19kZWwoZXdrVmll
dywgRVZBU19DQUxMQkFDS19NT1VTRV9VUCwgX2V3a192aWV3X29uX3RvdWNoX3VwKTsKKyAgICAg
ICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfZGVsKGV3a1ZpZXcsIEVWQVNfQ0FMTEJBQ0tf
TU9VU0VfTU9WRSwgX2V3a192aWV3X29uX3RvdWNoX21vdmUpOworICAgICAgICBldmFzX29iamVj
dF9ldmVudF9jYWxsYmFja19kZWwoZXdrVmlldywgRVZBU19DQUxMQkFDS19NVUxUSV9ET1dOLCBf
ZXdrX3ZpZXdfb25fdG91Y2hfZG93bik7CisgICAgICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxi
YWNrX2RlbChld2tWaWV3LCBFVkFTX0NBTExCQUNLX01VTFRJX1VQLCBfZXdrX3ZpZXdfb25fdG91
Y2hfdXApOworICAgICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19kZWwoZXdrVmlldywg
RVZBU19DQUxMQkFDS19NVUxUSV9NT1ZFLCBfZXdrX3ZpZXdfb25fdG91Y2hfbW92ZSk7CisgICAg
fQorCisgICAgcmV0dXJuIHRydWU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgor
fQorCitFaW5hX0Jvb2wgZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfZ2V0KGNvbnN0IEV2
YXNfT2JqZWN0KiBld2tWaWV3KQoreworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgRVdL
X1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsKKyAgICBF
V0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2LCBmYWxzZSk7CisKKyAg
ICByZXR1cm4gcHJpdi0+YXJlVG91Y2hFdmVudHNFbmFibGVkOworI2Vsc2UKKyAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5oCmluZGV4IDNlNWZhOTJhMzc2NDkzOGFjYzZjM2IwNmJiNDQ0YWEwNzAyYWFlNmYuLmNj
ZmE2MzZjNzVjNzk1NTIxMWVmMTM5NWM3MWNkNjA3OGY4NWJiMWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaApAQCAtNzA4LDYgKzcwOCwyOCBAQCBFQVBJ
IEVpbmFfQm9vbCBld2tfdmlld19jb2xvcl9waWNrZXJfY29sb3Jfc2V0KEV2YXNfT2JqZWN0ICpv
LCBpbnQgciwgaW50IGcsIGludAogICovCiBFQVBJIEVpbmFfQm9vbCBld2tfdmlld19mZWVkX3Rv
dWNoX2V2ZW50KEV2YXNfT2JqZWN0ICpvLCBFd2tfVG91Y2hfRXZlbnRfVHlwZSB0eXBlLCBjb25z
dCBFaW5hX0xpc3QgKnBvaW50cywgY29uc3QgRXZhc19Nb2RpZmllciAqbW9kaWZpZXJzKTsKIAor
LyoqCisgKiBTZXRzIHdoZXRoZXIgdGhlIGV3a192aWV3IHN1cHBvcnRzIHRoZSB0b3VjaCBldmVu
dHMgb3Igbm90LgorICoKKyAqIFRoZSBld2tfdmlldyB3aWxsIHN1cHBvcnQgdGhlIHRvdWNoIGV2
ZW50cyBpZiBAYyBFSU5BX1RSVUUgb3Igbm90IHN1cHBvcnQgdGhlCisgKiB0b3VjaCBldmVudHMg
b3RoZXJ3aXNlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBAYyBFSU5BX0ZBTFNFLgorICoKKyAqIEBw
YXJhbSBvIHZpZXcgb2JqZWN0IHRvIGVuYWJsZS9kaXNhYmxlIHRoZSB0b3VjaCBldmVudHMKKyAq
IEBwYXJhbSBlbmFibGVkIGEgc3RhdGUgdG8gc2V0CisgKgorICogQHJldHVybiBAYyBFSU5BX1RS
VUUgb24gc3VjY2VzcyBvciBAYyBFSU5BX0ZBTFNFIG9uIGZhaWx1cmUKKyAqLworRUFQSSBFaW5h
X0Jvb2wgZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfc2V0KEV2YXNfT2JqZWN0ICpvLCBF
aW5hX0Jvb2wgZW5hYmxlZCk7CisKKy8qKgorICogUXVlcmllcyBpZiB0aGUgZXdrX3ZpZXcgc3Vw
cG9ydHMgdGhlIHRvdWNoIGV2ZW50cy4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBx
dWVyeSBpZiB0aGUgdG91Y2ggZXZlbnRzIGFyZSBlbmFibGVkCisgKgorICogQHJldHVybiBAYyBF
SU5BX1RSVUUgaWYgdGhlIHRvdWNoIGV2ZW50cyBhcmUgZW5hYmxlZCBvciBAYyBFSU5BX0ZBTFNF
IG90aGVyd2lzZQorICovCitFQVBJIEVpbmFfQm9vbCBld2tfdmlld190b3VjaF9ldmVudHNfZW5h
YmxlZF9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0K
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVz
dHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAK
aW5kZXggMTY5MWYwZDdjMTgzZmM4Njg3ODdjYWM1YmQ5YWNiYzM4ODNiZTk5MS4uYTRiMmVmZmI1
YjcyMjFiY2Q5YjVlNjQxNzQ5OTg4NzllMzY2MTIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVz
dFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCkBAIC0yMzksNCArMjM5LDM4IEBAIHZvaWQgRVdL
MlVuaXRUZXN0QmFzZTo6bW91c2VDbGljayhpbnQgeCwgaW50IHkpCiAgICAgZXZhc19ldmVudF9m
ZWVkX21vdXNlX3VwKGV2YXMsIC8qIExlZnQgKi8gMSwgRVZBU19CVVRUT05fTk9ORSwgMCwgMCk7
CiB9CiAKK3ZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6bW91c2VEb3duKGludCB4LCBpbnQgeSkKK3sK
KyAgICBFdmFzKiBldmFzID0gZXZhc19vYmplY3RfZXZhc19nZXQobV93ZWJWaWV3KTsKKyAgICBl
dmFzX2V2ZW50X2ZlZWRfbW91c2VfbW92ZShldmFzLCB4LCB5LCAwLCAwKTsKKyAgICBldmFzX2V2
ZW50X2ZlZWRfbW91c2VfZG93bihldmFzLCAvKiBMZWZ0ICovIDEsIEVWQVNfQlVUVE9OX05PTkUs
IDAsIDApOworfQorCit2b2lkIEVXSzJVbml0VGVzdEJhc2U6Om1vdXNlVXAoaW50IHgsIGludCB5
KQoreworICAgIEV2YXMqIGV2YXMgPSBldmFzX29iamVjdF9ldmFzX2dldChtX3dlYlZpZXcpOwor
ICAgIGV2YXNfZXZlbnRfZmVlZF9tb3VzZV9tb3ZlKGV2YXMsIHgsIHksIDAsIDApOworICAgIGV2
YXNfZXZlbnRfZmVlZF9tb3VzZV91cChldmFzLCAvKiBMZWZ0ICovIDEsIEVWQVNfQlVUVE9OX05P
TkUsIDAsIDApOworfQorCit2b2lkIEVXSzJVbml0VGVzdEJhc2U6Om1vdXNlTW92ZShpbnQgeCwg
aW50IHkpCit7CisgICAgZXZhc19ldmVudF9mZWVkX21vdXNlX21vdmUoZXZhc19vYmplY3RfZXZh
c19nZXQobV93ZWJWaWV3KSwgeCwgeSwgMCwgMCk7Cit9CisKK3ZvaWQgRVdLMlVuaXRUZXN0QmFz
ZTo6bXVsdGlEb3duKGludCBpZCwgaW50IHgsIGludCB5KQoreworICAgIGV2YXNfZXZlbnRfZmVl
ZF9tdWx0aV9kb3duKGV2YXNfb2JqZWN0X2V2YXNfZ2V0KG1fd2ViVmlldyksIGlkLCB4LCB5LCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCBFVkFTX0JVVFRPTl9OT05FLCAwLCAwKTsKK30KKwordm9pZCBF
V0syVW5pdFRlc3RCYXNlOjptdWx0aVVwKGludCBpZCwgaW50IHgsIGludCB5KQoreworICAgIGV2
YXNfZXZlbnRfZmVlZF9tdWx0aV91cChldmFzX29iamVjdF9ldmFzX2dldChtX3dlYlZpZXcpLCBp
ZCwgeCwgeSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgRVZBU19CVVRUT05fTk9ORSwgMCwgMCk7Cit9
CisKK3ZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6bXVsdGlNb3ZlKGludCBpZCwgaW50IHgsIGludCB5
KQoreworICAgIGV2YXNfZXZlbnRfZmVlZF9tdWx0aV9tb3ZlKGV2YXNfb2JqZWN0X2V2YXNfZ2V0
KG1fd2ViVmlldyksIGlkLCB4LCB5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgRVdLMlVuaXRUZXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdL
MlVuaXRUZXN0QmFzZS5oCmluZGV4IGUxMTQ2YjE5ODFjMDhlZTA0OTQ5MDk0ZjY1ZTE2MjkzNzRm
Mzg5MGYuLjc5ODI2NmVhNWI2MGJlZDQ1NmRmY2JjMzMwNjMxODMyNzVlODM0ZDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMv
RVdLMlVuaXRUZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oCkBAIC00OCw2ICs0OCwxMiBA
QCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCB3YWl0VW50aWxVUklDaGFuZ2VkVG8oY29uc3QgY2hhciog
ZXhwZWN0ZWRVUkksIGRvdWJsZSB0aW1lb3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0U2Vjb25k
cyk7CiAKICAgICB2b2lkIG1vdXNlQ2xpY2soaW50IHgsIGludCB5KTsKKyAgICB2b2lkIG1vdXNl
RG93bihpbnQgeCwgaW50IHkpOworICAgIHZvaWQgbW91c2VVcChpbnQgeCwgaW50IHkpOworICAg
IHZvaWQgbW91c2VNb3ZlKGludCB4LCBpbnQgeSk7CisgICAgdm9pZCBtdWx0aURvd24oaW50IGlk
LCBpbnQgeCwgaW50IHkpOworICAgIHZvaWQgbXVsdGlVcChpbnQgaWQsIGludCB4LCBpbnQgeSk7
CisgICAgdm9pZCBtdWx0aU1vdmUoaW50IGlkLCBpbnQgeCwgaW50IHkpOwogCiBwcml2YXRlOgog
ICAgIEV2YXNfT2JqZWN0KiBtX3dlYlZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHAKaW5kZXggNTliYzRi
MDUyODcwYzY4YmNkZWEyYmI5YTlkZWJmOGVmY2ZmYjQxMy4uOTNlMGI0OTQ4ODk1ZDU3NjdjYzc5
NWIxYTZmYTNjODE3MTI4NmFlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcApAQCAtODI0LDMgKzgyNCw0
NSBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3ZpZXdfdGV4dF9maW5kKQogCiAgICAg
ZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfZGVsKHdlYlZpZXcoKSwgInRleHQsZm91bmQiLCBv
blRleHRGb3VuZCk7CiB9CisKK1RFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdmlld190b3Vj
aF9ldmVudHNfZW5hYmxlZCkKK3sKKyAgICBBU1NFUlRfRkFMU0UoZXdrX3ZpZXdfdG91Y2hfZXZl
bnRzX2VuYWJsZWRfZ2V0KHdlYlZpZXcoKSkpOworCisgICAgQVNTRVJUX1RSVUUoZXdrX3ZpZXdf
dG91Y2hfZXZlbnRzX2VuYWJsZWRfc2V0KHdlYlZpZXcoKSwgdHJ1ZSkpOworICAgIEFTU0VSVF9U
UlVFKGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX2dldCh3ZWJWaWV3KCkpKTsKKworICAg
IEFTU0VSVF9UUlVFKGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX3NldCh3ZWJWaWV3KCks
IDIpKTsKKyAgICBBU1NFUlRfVFJVRShld2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxlZF9nZXQo
d2ViVmlldygpKSk7CisKKyAgICBjb25zdCBjaGFyKiB0b3VjaEhUTUwgPQorICAgICAgICAiPCFk
b2N0eXBlIGh0bWw+PGJvZHk+PGRpdiBzdHlsZT1cIndpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7
XCIgIgorICAgICAgICAib250b3VjaHN0YXJ0PVwiZG9jdW1lbnQudGl0bGU9J3RvdWNoc3RhcnRl
ZCcgKyBldmVudC50b3VjaGVzLmxlbmd0aDtcIiAiCisgICAgICAgICJvbnRvdWNobW92ZT1cImRv
Y3VtZW50LnRpdGxlPSd0b3VjaG1vdmVkJyArIGV2ZW50LnRvdWNoZXMubGVuZ3RoO1wiICIKKyAg
ICAgICAgIm9udG91Y2hlbmQ9XCJkb2N1bWVudC50aXRsZT0ndG91Y2hlbmRlZCcgKyBldmVudC50
b3VjaGVzLmxlbmd0aDtcIj4iCisgICAgICAgICI8L2Rpdj48L2JvZHk+IjsKKworICAgIGV3a192
aWV3X2h0bWxfc3RyaW5nX2xvYWQod2ViVmlldygpLCB0b3VjaEhUTUwsICJmaWxlOi8vLyIsIDAp
OworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbExvYWRGaW5pc2hlZCgpKTsKKworICAgIG1vdXNl
RG93bigxMCwgMTApOworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRpdGxlQ2hhbmdlZFRvKCJ0
b3VjaHN0YXJ0ZWQxIikpOworCisgICAgbXVsdGlEb3duKDEsIDMwLCAzMCk7CisgICAgQVNTRVJU
X1RSVUUod2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8oInRvdWNoc3RhcnRlZDIiKSk7CisKKyAgICBt
dWx0aU1vdmUoMSwgNDAsIDQwKTsKKyAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxUaXRsZUNoYW5n
ZWRUbygidG91Y2htb3ZlZDIiKSk7CisKKyAgICBtdWx0aVVwKDEsIDQwLCA0MCk7CisgICAgQVNT
RVJUX1RSVUUod2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8oInRvdWNoZW5kZWQxIikpOworCisgICAg
bW91c2VNb3ZlKDIwLCAyMCk7CisgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsVGl0bGVDaGFuZ2Vk
VG8oInRvdWNobW92ZWQxIikpOworCisgICAgbW91c2VVcCgyMCwgMjApOworICAgIEFTU0VSVF9U
UlVFKHdhaXRVbnRpbFRpdGxlQ2hhbmdlZFRvKCJ0b3VjaGVuZGVkMCIpKTsKKworICAgIEFTU0VS
VF9UUlVFKGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX3NldCh3ZWJWaWV3KCksIGZhbHNl
KSk7CisgICAgQVNTRVJUX0ZBTFNFKGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX2dldCh3
ZWJWaWV3KCkpKTsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>