<?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>71352</bug_id>
          
          <creation_ts>2011-11-02 02:05:39 -0700</creation_ts>
          <short_desc>[EFL] Port tiled backing store</short_desc>
          <delta_ts>2012-11-14 22:45:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>71350</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Tomasz Morawski">t.morawski</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>g.czajkowski</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hyuki.kim</cc>
    
    <cc>leandro</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>494509</commentid>
    <comment_count>0</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-02 02:05:39 -0700</bug_when>
    <thetext>Ported tiled backing store to EFL WebKit port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494543</commentid>
    <comment_count>1</comment_count>
      <attachid>113302</attachid>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-02 03:58:06 -0700</bug_when>
    <thetext>Created attachment 113302
Initial implementation

Initial patch for discussion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494545</commentid>
    <comment_count>2</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-11-02 04:19:27 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=113302&amp;action=review

&gt; Source/WebKit/efl/ewk/ewk_view.cpp:2286
&gt; +#if USE(TILED_BACKING_STORE)

Please add an internal documentation for newly added functions.

&gt; Source/WebKit/efl/ewk/ewk_view.cpp:2287
&gt; +Eina_Bool ewk_view_setting_tiled_backingstore_enable_set(Evas_Object* o, Eina_Bool enable)

I would rather prefer using a new WebKit coding style, ewkView instaed of o, smartData instead of sd etc.

&gt; Source/WebKit/efl/ewk/ewk_view.cpp:2650
&gt; +void ewk_view_backingstore_invalidate(Evas_Object* o, const Eina_Rectangle *area)

Ditto.

&gt; Source/WebKit/efl/ewk/ewk_view.cpp:2663
&gt; +void ewk_view_backingstore_adjuct_visible_rect(Evas_Object* o)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494595</commentid>
    <comment_count>3</comment_count>
      <attachid>113302</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-11-02 07:06:47 -0700</bug_when>
    <thetext>Comment on attachment 113302
Initial implementation

Attachment 113302 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10258254</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494598</commentid>
    <comment_count>4</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-02 07:14:26 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 113302 [details])
&gt; Attachment 113302 [details] did not pass efl-ews (efl):
&gt; Output: http://queues.webkit.org/results/10258254
Compilation error due to that this patch depends on 71350. 

Anyway, please also check if EFL building bot has libcairo-1.10.2 or more recent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494685</commentid>
    <comment_count>5</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-11-02 09:56:36 -0700</bug_when>
    <thetext>&gt; Source/WebKit/efl/ewk/ewk_private.h:162
&gt; +EAPI void ewk_view_backingstore_invalidate(Evas_Object* o, const Eina_Rectangle *area);

Would you check the location of &apos;*&apos; for parameter area ? and I prefer ewkView instead of one character &apos;o&apos;. :)
In addition, backing_store looks more natural.

&gt; Source/WebKit/efl/ewk/ewk_private.h:163
&gt; +EAPI void ewk_view_backingstore_adjuct_visible_rect(Evas_Object* o);

May adjuct mean adjust ? and  prefer ewkView instead of one character &apos;o&apos;.
In addition, Would you check the sequence of each word for API ?

&gt; Source/WebKit/efl/ewk/ewk_private.h:164
&gt; +EAPI Eina_Bool ewk_view_setting_tiled_backingstore_enable_set(Evas_Object* o, Eina_Bool enable);

As ewk_private.h is for internal usage, I think that EAPI won&apos;t be required in here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495114</commentid>
    <comment_count>6</comment_count>
      <attachid>113302</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-11-02 18:02:48 -0700</bug_when>
    <thetext>Comment on attachment 113302
Initial implementation

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

&gt; Source/WebCore/CMakeListsEfl.txt:109
&gt; +        platform/graphics/cairo/TiledBackingStoreBackendCairo.cpp

This patch doesn&apos;t include &quot;TiledBackingStoreBackendCairo.cpp&quot; file. You need to add this file or remove this from CMakeListsEfl.txt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495232</commentid>
    <comment_count>7</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-03 00:20:20 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 113302 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113302&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/CMakeListsEfl.txt:109
&gt; &gt; +        platform/graphics/cairo/TiledBackingStoreBackendCairo.cpp
&gt; 
&gt; This patch doesn&apos;t include &quot;TiledBackingStoreBackendCairo.cpp&quot; file. You need to add this file or remove this from CMakeListsEfl.txt.
Could you please tell me why? This patch depends on patch 71350 which added few new files. This means that missing files will revel when the 71350 patch will merged. The &quot;depends on&quot; also means that this patch can not be merged and builded without 71350. So, I don&apos;t think that I should remove anythink from CMakeListEfl.txt file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496096</commentid>
    <comment_count>8</comment_count>
      <attachid>113631</attachid>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-04 00:54:08 -0700</bug_when>
    <thetext>Created attachment 113631
Updated according to Grzegorz&apos;s suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496101</commentid>
    <comment_count>9</comment_count>
      <attachid>113631</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-11-04 01:15:13 -0700</bug_when>
    <thetext>Comment on attachment 113631
Updated according to Grzegorz&apos;s suggestions

Attachment 113631 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10318069</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496197</commentid>
    <comment_count>10</comment_count>
      <attachid>113631</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-11-04 07:48:39 -0700</bug_when>
    <thetext>Comment on attachment 113631
Updated according to Grzegorz&apos;s suggestions

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

I&apos;d use &quot;backing_store&quot; instead of &quot;backingstore&quot; in the function names as they are separate words.

I&apos;d also like to know how this is going to interact with the tiled backing store implementation in ewk (the API added to ewk_view looks weird if one is using it instead of the single backing store, to start with).

&gt; ChangeLog:3
&gt; +        [EFL] Port tiled backing store

This sounds a bit misleading: the EFL port already has a tiled backing store; I&apos;d rephrase it as &quot;Make it possible to use WebCore&apos;s tiled backing store in EFL&quot; or something like that.

&gt; Source/WebCore/CMakeListsEfl.txt:106
&gt; +  IF (WTF_USE_TILED_BACKING_STORE)

Isn&apos;t it always on?

&gt; Source/WebCore/CMakeListsEfl.txt:150
&gt; +IF (WTF_USE_TILED_BACKING_STORE)

Ditto.

&gt; Source/WebKit/efl/ChangeLog:8
&gt; +        Ported tiled backing store to EFL WebKit port.

Same thing about the misleading phrase.

&gt; Source/WebKit/efl/ChangeLog:14
&gt; +        Major changes:
&gt; +        - Added new functions to ChromeClientEfl
&gt; +        - Added new functions to ewk_view
&gt; +        - From ewk_view_single calls
&gt; +          ewk_view_setting_tiled_backingstore_enable_set to enable/disable
&gt; +          use of tiled backing store

This is already evident from the lines below; it&apos;d be good to know the motivation and how this interacts with the tiled backing store implementation in ewk.

&gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:67
&gt; +#if USE(TILED_BACKING_STORE)

Isn&apos;t it always on?

&gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:441
&gt; +    WebCore::FloatRect rect = ewk_view_page_rect_get(m_view);
&gt; +    Evas_Object* frame = ewk_view_frame_main_get(m_view);

These can be const.

&gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:516
&gt; +    Eina_Rectangle area;
&gt; +    EINA_RECTANGLE_SET(&amp;area, updateRect.x(), updateRect.y(), updateRect.width(), updateRect.height());
&gt; +
&gt; +    ewk_view_backingstore_invalidate(m_view, &amp;area);

This is a private function, you could just pass the IntRect to tehe function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497808</commentid>
    <comment_count>11</comment_count>
      <attachid>114005</attachid>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-08 00:46:45 -0800</bug_when>
    <thetext>Created attachment 114005
Updated according to suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497815</commentid>
    <comment_count>12</comment_count>
      <attachid>114005</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-11-08 00:50:11 -0800</bug_when>
    <thetext>Comment on attachment 114005
Updated according to suggestions 

Attachment 114005 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10375021</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497823</commentid>
    <comment_count>13</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-08 00:55:58 -0800</bug_when>
    <thetext>
&gt; I&apos;d also like to know how this is going to interact with the tiled backing store implementation in ewk (the API added to ewk_view looks weird if one is using it instead of the single backing store, to start with).
Hi, 
Thank you for your review. I have uploaded a new version of patch. 
No, this patch contains WebCore&apos;s tiled backing store implementation. This implementation should not interact with the old ewk implementation. I agree with you according to API names. They are not good. Do you have any proposition of API name changes to not mix backing stores implementations? Do you think that it is good idea to enabled this feature for ewk_view_single as it is currently done? I would like to discuss this. 

&gt;&gt; +#if USE(TILED_BACKING_STORE)
&gt; Isn&apos;t it always on?
No, this flag is defined in CMakeList file so, it could be disabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501144</commentid>
    <comment_count>14</comment_count>
      <attachid>114005</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-11-11 15:09:24 -0800</bug_when>
    <thetext>Comment on attachment 114005
Updated according to suggestions 

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

&gt; Source/WebKit/efl/ewk/ewk_private.h:165
&gt; +void ewk_view_backing_store_invalidate(Evas_Object* o, const WebCore::IntRect&amp; area);
&gt; +void ewk_view_backing_store_adjuct_visible_rect(Evas_Object* o);
&gt; +Eina_Bool ewk_view_setting_tiled_backing_store_enable_set(Evas_Object* o, Eina_Bool enable);

I think you can omit &quot;o&quot; as a parameter name, and the Eina_Bool can be a simple bool.

&gt; Source/WebKit/efl/ewk/ewk_view.cpp:2288
&gt; +#if USE(TILED_BACKING_STORE)

I think these #if checks should be moved to the function bodies, so the function symbols are always present.

&gt; Source/WebKit/efl/ewk/ewk_view_single.cpp:56
&gt; +    // use WebCore&apos;s backing store

Unneeded.

&gt; Source/cmake/OptionsEfl.cmake:52
&gt; +SET(WTF_USE_TILED_BACKING_STORE 1)
&gt; +ADD_DEFINITIONS(-DWTF_USE_TILED_BACKING_STORE=1)

Thinking about this again, wouldn&apos;t it be better to make it an actual option? This way if one uses the build-webkit script the --tiled-backing-store can have an effect. It would also make the #if USE(TILED_BACKING_STORE) checks make sense, as right now they check for something that is always on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501150</commentid>
    <comment_count>15</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-11-11 15:13:55 -0800</bug_when>
    <thetext>(In reply to comment #13) 
&gt; Do you think that it is good idea to enabled this feature for ewk_view_single as it is currently done? I would like to discuss this.

It all boils down to whether ewk&apos;s tiled backing store still works as expected and if there are any gains to enabling this in the single backing store. Running the layout tests would be very helpful to make sure there are no regressions related to the patch.

&gt; &gt;&gt; +#if USE(TILED_BACKING_STORE)
&gt; &gt; Isn&apos;t it always on?
&gt; No, this flag is defined in CMakeList file so, it could be disabled.

You set it with SET(...) and then you call ADD_DEFINITION(...). The only way this can be disabled is if one manually edits OptionsEfl.cmake; if one does so, it&apos;s not really our problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501825</commentid>
    <comment_count>16</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-14 05:43:30 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 114005 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=114005&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_private.h:165
&gt; &gt; +void ewk_view_backing_store_invalidate(Evas_Object* o, const WebCore::IntRect&amp; area);
&gt; &gt; +void ewk_view_backing_store_adjuct_visible_rect(Evas_Object* o);
&gt; &gt; +Eina_Bool ewk_view_setting_tiled_backing_store_enable_set(Evas_Object* o, Eina_Bool enable);
&gt; 
&gt; I think you can omit &quot;o&quot; as a parameter name, and the Eina_Bool can be a simple bool.
OK, I will change that. Anyway, removing only &quot;o&quot; parameter will look strange for me. Maybe I will raname &quot;o&quot; to &quot;ewkView&quot;? 

&gt; &gt; Source/WebKit/efl/ewk/ewk_view.cpp:2288
&gt; &gt; +#if USE(TILED_BACKING_STORE)
&gt; 
&gt; I think these #if checks should be moved to the function bodies, so the function symbols are always present.
Due to that the Tiled Backing Store support has to be compiled into the WebCore and these functions are not in public API. I think there is no need to move these #if checks to functions body. 

&gt; &gt; Source/cmake/OptionsEfl.cmake:52
&gt; &gt; +SET(WTF_USE_TILED_BACKING_STORE 1)
&gt; &gt; +ADD_DEFINITIONS(-DWTF_USE_TILED_BACKING_STORE=1)
&gt; 
&gt; Thinking about this again, wouldn&apos;t it be better to make it an actual option? This way if one uses the build-webkit script the --tiled-backing-store can have an effect. It would also make the #if USE(TILED_BACKING_STORE) checks make sense, as right now they check for something that is always on.
Yes, it can be done. 

&gt; &gt;&gt; +#if USE(TILED_BACKING_STORE)
&gt; &gt; Isn&apos;t it always on?
&gt; No, this flag is defined in CMakeList file so, it could be disabled.
You set it with SET(...) and then you call ADD_DEFINITION(...). The only way this can be disabled is if one manually edits OptionsEfl.cmake; if one does so, it&apos;s not really our problem.

I have make this like cairo option:
SET(WTF_USE_CAIRO 1)
ADD_DEFINITIONS(-DWTF_USE_CAIRO=1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503665</commentid>
    <comment_count>17</comment_count>
      <attachid>115339</attachid>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-16 00:14:52 -0800</bug_when>
    <thetext>Created attachment 115339
Updated

Updated according to suggestions. Added additional description to ChangeLogs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503798</commentid>
    <comment_count>18</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-11-16 06:03:59 -0800</bug_when>
    <thetext>The code looks OK (you might also want to change the default option value in Tools/Scripts/build-webkit too).

However, I&apos;m still waiting for an answer for the other part of my comment #15: are there performance gains with this feature? Have the layout tests been run so there are no regressions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503819</commentid>
    <comment_count>19</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-16 06:32:11 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; The code looks OK (you might also want to change the default option value in Tools/Scripts/build-webkit too).
I will change this.
 
&gt; However, I&apos;m still waiting for an answer for the other part of my comment #15: are there performance gains with this feature? Have the layout tests been run so there are no regressions?
I am sorry for lack of response for my side. 

Currently I don&apos;t have any performance test done yet. So, I can give you any answer for your question now. I have plan to do such tests till end of December. Would you like to get result of such tests?

No, there was no layout test run for this. This patch and 71350 patch doesn&apos;t change any code related to layout mechanism. There was not change in backing store class that fully controls all invalidation and drawing functionality.
It is a good idea to do this. Thank you. I will run layout tests and put result on this bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503839</commentid>
    <comment_count>20</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-11-16 06:59:08 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; Currently I don&apos;t have any performance test done yet. So, I can give you any answer for your question now. I have plan to do such tests till end of December. Would you like to get result of such tests?

It&apos;d be good if you could paste them or attach them to this report. I just have something like &quot;I am proposing this change because it improves X and Y by Z%&quot; in mind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503861</commentid>
    <comment_count>21</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-16 07:38:00 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; Currently I don&apos;t have any performance test done yet. So, I can give you any answer for your question now. I have plan to do such tests till end of December. Would you like to get result of such tests?
&gt; 
&gt; It&apos;d be good if you could paste them or attach them to this report. I just have something like &quot;I am proposing this change because it improves X and Y by Z%&quot; in mind.

Yes, I understand that it could be a good. But I have not written this patch to prove that ewk&apos;s tbs is worse or better then WebCore&apos;s tbs. Anyway, what if the webcore&apos;s tbs will be worse? I can not write &quot;I am proposing this change because it decrease X and Y by Z%&quot; :) Should we reject this patch in that situation? I have only written this patch to get support of WebCore&apos;s backing store and allows to use the genernic WebCore&apos;s backing store in the EFL port. I thnik the end user of WebKit&apos;s EFL port should decided what backing store should use if any.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503886</commentid>
    <comment_count>22</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-11-16 08:06:33 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; Yes, I understand that it could be a good. But I have not written this patch to prove that ewk&apos;s tbs is worse or better then WebCore&apos;s tbs. Anyway, what if the webcore&apos;s tbs will be worse? I can not write &quot;I am proposing this change because it decrease X and Y by Z%&quot; :) Should we reject this patch in that situation? I have only written this patch to get support of WebCore&apos;s backing store and allows to use the genernic WebCore&apos;s backing store in the EFL port. I thnik the end user of WebKit&apos;s EFL port should decided what backing store should use if any.

I see. Now that the latest patch version allows one to enable and disable WebCore&apos;s tiled backing store at will this is indeed true.

As for the build-webkit change, it might be better to leave it off by default until it can be shown that it performs better than the current implementation, IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504586</commentid>
    <comment_count>23</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-16 23:15:51 -0800</bug_when>
    <thetext>&gt; As for the build-webkit change, it might be better to leave it off by default until it can be shown that it performs better than the current implementation, IMO.
Yes, it could be a good solution. Moreover, it will allow to continue work on WebCore&apos;s tbs with use of our EFL port in more convenient way. I have only two concerns about this. I don&apos;t even know if this patch can be compiled on EFL buildbot due to lack of knowelage about libcairo version installed on it. And the second one our port could has unnoticed build break if somebody change WebCore&apos;s tbs client API (due to the EFL buildbot will not compile disabled code).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504733</commentid>
    <comment_count>24</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-11-17 04:12:04 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; I have only two concerns about this.

&gt; I don&apos;t even know if this patch can be compiled on EFL buildbot due to lack of knowelage about libcairo version installed on it.

Does it require a very recent cairo version to work? Does it fail in older ones because it needs newer API or due to rendering failures?

We can ask the people who take care of the buildbot about that. Gyuyoung, are you there?

&gt; And the second one our port could has unnoticed build break if somebody change WebCore&apos;s tbs client API (due to the EFL buildbot will not compile disabled code).

That&apos;s true to any code path that depends on features which are disabled by default. Until we think of a better way to deal with this, I can only recommend updating your checkout frequently and making sure the code still builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504754</commentid>
    <comment_count>25</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-11-17 04:48:25 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; I have only two concerns about this.
&gt; 
&gt; &gt; I don&apos;t even know if this patch can be compiled on EFL buildbot due to lack of knowelage about libcairo version installed on it.
&gt; 
&gt; Does it require a very recent cairo version to work? Does it fail in older ones because it needs newer API or due to rendering failures?
No, no fail. The older version then 1.10 doesn&apos;t contain cairo_region_* API that is used in TileCairo. I have used recent version 1.10.2 that is almost one year old. 

Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504760</commentid>
    <comment_count>26</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-11-17 04:54:15 -0800</bug_when>
    <thetext>AFAIR we raised the minimum version we required to 1.10 some time ago due to the cairo_region API, so there&apos;s no need to worry about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524451</commentid>
    <comment_count>27</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-12-19 22:42:45 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=115339&amp;action=review

&gt; Source/WebKit/efl/ewk/ewk_private.h:164
&gt; +void ewk_view_backing_store_adjuct_visible_rect(Evas_Object*);

May be adjuct replaced with adjust ?

&gt; Source/WebKit/efl/ewk/ewk_view.cpp:2302
&gt; +    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, EINA_FALSE);

Currently we are using false instead of EINA_FALSE.

&gt; Source/WebKit/efl/ewk/ewk_view.cpp:2684
&gt; +void ewk_view_backing_store_adjuct_visible_rect(Evas_Object* ewkView)

May be adjuct replaced with adjust ?

&gt; Source/WebKit/efl/ewk/ewk_view_single.cpp:56
&gt; +    ewk_view_setting_tiled_backing_store_enable_set(ewkView, EINA_TRUE);

Currently we are using true instead of EINA_TRUE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524496</commentid>
    <comment_count>28</comment_count>
      <attachid>119998</attachid>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-12-20 02:03:55 -0800</bug_when>
    <thetext>Created attachment 119998
Rebased and updated according to KwangHyuk suggestions

Additional change:
in ewk_view_single.cpp:56
Call the ewk_view_setting_tiled_backing_store_enable_set function with true parameter (was false) in _ewk_view_single_smart_add function. Changed this due to that the feature can be only enabled when the --tiled-backing-store compilation flag is used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524560</commentid>
    <comment_count>29</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-12-20 05:55:16 -0800</bug_when>
    <thetext>&gt; Source/WebCore/PlatformEfl.cmake:108
&gt; +  IF (WTF_USE_TILED_BACKING_STORE)

Would you check whether WTF_USE_CAIRO would be required for this cairo related files ?

&gt; Source/WebKit/efl/ewk/ewk_private.h:160
&gt; +Eina_Bool ewk_view_setting_tiled_backing_store_enable_set(Evas_Object* ewkView, bool enable);

As it&apos;s containing word &quot;tiled&quot;, ewk_view_setting_tiled_backing_store_enable_set looks little different from above two APIs
Was it intended ?

&gt; Source/WebKit/efl/ewk/ewk_view.cpp:2296
&gt; +    return EINA_TRUE;

one more EINA_TRUE. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524576</commentid>
    <comment_count>30</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-12-20 06:11:24 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; &gt; Source/WebCore/PlatformEfl.cmake:108
&gt; &gt; +  IF (WTF_USE_TILED_BACKING_STORE)
&gt; 
&gt; Would you check whether WTF_USE_CAIRO would be required for this cairo related files ?
This &quot;if&quot; is inside IF (WTF_USE_CAIRO) block. Please see: Source/WebCore/PlatformEfl.cmake:84. So, there is no need to add new flag check.

Other things will be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525182</commentid>
    <comment_count>31</comment_count>
      <attachid>120159</attachid>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-12-21 01:16:32 -0800</bug_when>
    <thetext>Created attachment 120159
Updated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525258</commentid>
    <comment_count>32</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-12-21 07:12:50 -0800</bug_when>
    <thetext>I don&apos;t think that this patch is perfect.
But, it would be helpful for the ewk_single_view. :)

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526104</commentid>
    <comment_count>33</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-12-22 01:57:13 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; Have the layout tests been run so there are no regressions?
I have made the layout test for disabled and enabled feature. There are not diffrences in result: 8034 tests ran as expected, 500 didn&apos;t (19028 didn&apos;t run) for both cases. This patch doesn&apos;t change layout processing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530120</commentid>
    <comment_count>34</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-01-05 02:18:40 -0800</bug_when>
    <thetext>It looks this patch adhere efl port coding style rule well. I think this patch needs to be reviewed by tiled backing store&apos;s reviewer as well. It seems Simon Hausmann reviewed tiled backing store.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534599</commentid>
    <comment_count>35</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2012-01-11 23:43:49 -0800</bug_when>
    <thetext>I could notice small things.

&gt; ChangeLog:3
&gt; +        [EFL] Use WebCore&apos;s tiled backing store in WebKit EFL port

Add &apos;.&apos; into end of title.

&gt; Source/WebCore/ChangeLog:3
&gt; +        [EFL] Use WebCore&apos;s tiled backing store in WebKit EFL port

Ditto.

&gt; Source/WebKit/efl/ChangeLog:3
&gt; +        [EFL] Use WebCore&apos;s tiled backing store in WebKit EFL port

Ditto.

&gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:440
&gt; +    int x, y;

Move this close to line 443.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705978</commentid>
    <comment_count>36</comment_count>
      <attachid>120159</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-08-27 18:47:43 -0700</bug_when>
    <thetext>Comment on attachment 120159
Updated

Cleared review? from attachment 120159 [details] so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763648</commentid>
    <comment_count>37</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-11-10 06:46:46 -0800</bug_when>
    <thetext>Do you have any plan to update this?

Now, WK2/Efl has WebCore&apos;s tiled backingstore.

I hope that WK/Efl also use it instead of ewk_view_tiled.

If you have plan, I will try it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763649</commentid>
    <comment_count>38</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-11-10 06:47:32 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; Do you have any plan to update this?
&gt; 
&gt; Now, WK2/Efl has WebCore&apos;s tiled backingstore.
&gt; 
&gt; I hope that WK/Efl also use it instead of ewk_view_tiled.
&gt; 
&gt; If you have plan, I will try it.

s/have/don&apos;t have/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763947</commentid>
    <comment_count>39</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-11-11 18:04:01 -0800</bug_when>
    <thetext>(In reply to comment #38)
&gt; (In reply to comment #37)
&gt; &gt; Do you have any plan to update this?
&gt; &gt; 
&gt; &gt; Now, WK2/Efl has WebCore&apos;s tiled backingstore.
&gt; &gt; 
&gt; &gt; I hope that WK/Efl also use it instead of ewk_view_tiled.
&gt; &gt; 
&gt; &gt; If you have plan, I will try it.
&gt; 
&gt; s/have/don&apos;t have/

I heard that Tomasz had been focused on other project. If there is no response, you can take over this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767553</commentid>
    <comment_count>40</comment_count>
      <attachid>174309</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-11-14 18:18:13 -0800</bug_when>
    <thetext>Created attachment 174309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767561</commentid>
    <comment_count>41</comment_count>
      <attachid>174309</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-11-14 18:22:04 -0800</bug_when>
    <thetext>Comment on attachment 174309
Patch

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

&gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:664
&gt; +    int x, y;

Please move this to 667 line.

&gt; Source/WebKit/efl/ewk/ewk_view.h:2780
&gt; + * Enables/disables the WebCore&apos;s tiled backing store

Missing . at the end of line.

&gt; Source/WebKit/efl/ewk/ewk_view.h:2782
&gt; + * @param o view object.

We don&apos;t use . in @ fields.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767583</commentid>
    <comment_count>42</comment_count>
      <attachid>174315</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-11-14 18:41:26 -0800</bug_when>
    <thetext>Created attachment 174315
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767585</commentid>
    <comment_count>43</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-11-14 18:43:54 -0800</bug_when>
    <thetext>(In reply to comment #41)
&gt; (From update of attachment 174309 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=174309&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:664
&gt; &gt; +    int x, y;
&gt; 
&gt; Please move this to 667 line.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:2780
&gt; &gt; + * Enables/disables the WebCore&apos;s tiled backing store
&gt; 
&gt; Missing . at the end of line.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:2782
&gt; &gt; + * @param o view object.
&gt; 
&gt; We don&apos;t use . in @ fields.

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767622</commentid>
    <comment_count>44</comment_count>
      <attachid>174315</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 19:25:52 -0800</bug_when>
    <thetext>Comment on attachment 174315
Patch

Attachment 174315 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14847217

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767715</commentid>
    <comment_count>45</comment_count>
      <attachid>174343</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-11-14 21:58:01 -0800</bug_when>
    <thetext>Created attachment 174343
patch for land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767719</commentid>
    <comment_count>46</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-11-14 22:06:45 -0800</bug_when>
    <thetext>(In reply to comment #44)
&gt; (From update of attachment 174315 [details])
&gt; Attachment 174315 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/14847217
&gt; 
&gt; New failing tests:
&gt; inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html

I think that it is not related this bug because I jsut touched efl side.

Anyway, I rebased to see the green bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767739</commentid>
    <comment_count>47</comment_count>
      <attachid>174343</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 22:45:06 -0800</bug_when>
    <thetext>Comment on attachment 174343
patch for land

Clearing flags on attachment: 174343

Committed r134743: &lt;http://trac.webkit.org/changeset/134743&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767740</commentid>
    <comment_count>48</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 22:45:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113302</attachid>
            <date>2011-11-02 03:58:06 -0700</date>
            <delta_ts>2011-11-04 00:54:08 -0700</delta_ts>
            <desc>Initial implementation</desc>
            <filename>initial.patch</filename>
            <type>text/plain</type>
            <size>11033</size>
            <attacher name="Tomasz Morawski">t.morawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAzYjQzYjNkLi5lZDUzMDRm
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMTEtMDIgIFRvbWFzeiBNb3Jhd3NraSAgPHQubW9yYXdza2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF0gUG9ydCB0aWxlZCBiYWNraW5nIHN0b3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM1MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNldHMgV1RGX1VTRV9USUxFRF9CQUNLSU5H
X1NUT1JFIGRlZmluZQorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2U6
CisKIDIwMTEtMTAtMjggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZW5hbWUgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uLmluIHRvIERPTUV4Y2VwdGlvbnMuaW4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNFZmwudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKaW5kZXggZTMyN2FjMy4uZmIzNTA1MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0c0VmbC50eHQKQEAgLTEwMyw2ICsxMDMsMTQgQEAgSUYgKFdURl9VU0VfQ0FJUk8p
CiAgICAgcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvY2Fpcm8vSW1hZ2VEZWNvZGVyQ2Fpcm8uY3Bw
CiAgICkKIAorICBJRiAoV1RGX1VTRV9USUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIExJU1QoQVBQ
RU5EIFdlYkNvcmVfU09VUkNFUworICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbnRS
ZWN0Q2Fpcm8uY3BwCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1RpbGVkQmFja2lu
Z1N0b3JlQmFja2VuZENhaXJvLmNwcAorICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9U
aWxlQ2Fpcm8uY3BwCisgICAgKQorICBFTkRJRiAoKQorCiAgIElGIChXVEZfVVNFX0ZSRUVUWVBF
KQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICAgIiR7
V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlIgpAQCAtMTM5LDYgKzE0Nywx
MiBAQCBJRiAoV1RGX1VTRV9DQUlSTykKICAgRU5ESUYgKCkKIEVORElGICgpCiAKK0lGIChXVEZf
VVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VT
CisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAorICAgICkK
K0VORElGICgpCisKIElGIChXVEZfVVNFX1NPVVApCiAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSU5D
TFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggODlkNmQ4NC4uMDQyYjQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDExLTExLTAyICBUb21hc3ogTW9yYXdza2kgIDx0Lm1vcmF3c2tpQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFtFRkxdIFBvcnQgdGlsZWQgYmFja2luZyBzdG9yZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgZmlsZXMgY29t
cGlsZSBuZWVkZWQgYnkgVGlsZWQgQmFja2luZyBTdG9yZSBpbXBsZW1lbnRhdGlvbi4KKworICAg
ICAgICAqIENNYWtlTGlzdHNFZmwudHh0OgorCiAyMDExLTExLTAyICBCZW4gV2VsbHMgIDxiZW53
ZWxsc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ2FudmFzIGZpbGxpbmcgcGF0aHMgb3IgcmVj
dHMgbmVlZCB0byBiZSBpbnZhbGlkYXRlIGxhcmdlciByZWN0cyBmb3Igc29tZSBjb21wb3NpdGlu
ZyBtb2Rlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBiMjE0NzQyLi44ZjM1MjkzIDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMTEtMDIgIFRvbWFzeiBNb3Jhd3NraSAgPHQu
bW9yYXdza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gUG9ydCB0aWxlZCBiYWNraW5n
IHN0b3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MTM1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBv
cnRlZCB0aWxlZCBiYWNraW5nIHN0b3JlIHRvIEVGTCBXZWJLaXQgcG9ydC4KKyAgICAgICAgTWFq
b3IgY2hhbmdlczoKKyAgICAgICAgLSBBZGRlZCBuZXcgZnVuY3Rpb25zIHRvIENocm9tZUNsaWVu
dEVmbAorICAgICAgICAtIEFkZGVkIG5ldyBmdW5jdGlvbnMgdG8gZXdrX3ZpZXcKKyAgICAgICAg
LSBGcm9tIGV3a192aWV3X3NpbmdsZSBjYWxscworICAgICAgICAgIGV3a192aWV3X3NldHRpbmdf
dGlsZWRfYmFja2luZ3N0b3JlX2VuYWJsZV9zZXQgdG8gZW5hYmxlL2Rpc2FibGUKKyAgICAgICAg
ICB1c2Ugb2YgdGlsZWQgYmFja2luZyBzdG9yZQorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVmbDo6
ZGVsZWdhdGVkU2Nyb2xsUmVxdWVzdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVu
dEVmbDo6dmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVXaW5kb3cpOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oOgorICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgor
ICAgICAgICAqIGV3ay9ld2tfdmlldy5jcHA6CisgICAgICAgIChld2tfdmlld19zZXR0aW5nX3Rp
bGVkX2JhY2tpbmdzdG9yZV9lbmFibGVfc2V0KToKKyAgICAgICAgKGV3a192aWV3X3BhaW50X2Nv
bnRleHRfcGFpbnRfY29udGVudHMpOgorICAgICAgICAoZXdrX3ZpZXdfYmFja2luZ3N0b3JlX2lu
dmFsaWRhdGUpOgorICAgICAgICAoZXdrX3ZpZXdfYmFja2luZ3N0b3JlX2FkanVjdF92aXNpYmxl
X3JlY3QpOgorICAgICAgICAqIGV3ay9ld2tfdmlld19zaW5nbGUuY3BwOgorICAgICAgICAoX2V3
a192aWV3X3NpbmdsZV9zbWFydF9hZGQpOgorICAgICAgICAoX2V3a192aWV3X3NpbmdsZV9zbWFy
dF9yZXBhaW50c19wcm9jZXNzKToKKwogMjAxMS0xMS0wMiAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNo
b2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gRml4IGJ1aWxkIGJyZWFrIHdoZW4gREVC
VUdfTUVNX0xFQUtTIGlzIGVuYWJsZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRleCA1NDk5YjQ1Li45Y2YxNWRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEVmbC5jcHAKQEAgLTY0LDYgKzY0LDEwIEBACiAjaW5jbHVkZSA8RXZhcy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAorI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorI2lu
Y2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIHN0YXRpYyBpbmxpbmUgRXZhc19PYmplY3QqIGtpdChGcmFtZSogZnJhbWUpCkBA
IC00MjUsNiArNDI5LDI0IEBAIE5vdGlmaWNhdGlvblByZXNlbnRlciogQ2hyb21lQ2xpZW50RWZs
Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKSBjb25zdAogfQogI2VuZGlmCiAKKyNpZiBVU0UoVElM
RURfQkFDS0lOR19TVE9SRSkKK3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjpkZWxlZ2F0ZWRTY3JvbGxS
ZXF1ZXN0ZWQoY29uc3QgSW50UG9pbnQmIHBvaW50KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
Cit9CisKK0ludFJlY3QgQ2hyb21lQ2xpZW50RWZsOjp2aXNpYmxlUmVjdEZvclRpbGVkQmFja2lu
Z1N0b3JlKCkgY29uc3QKK3sKKyAgICBXZWJDb3JlOjpGbG9hdFJlY3QgcmVjdCA9IGV3a192aWV3
X3BhZ2VfcmVjdF9nZXQobV92aWV3KTsKKyAgICBFdmFzX09iamVjdCogZnJhbWUgPSBld2tfdmll
d19mcmFtZV9tYWluX2dldChtX3ZpZXcpOworICAgIGludCB4LCB5OworCisgICAgZXdrX2ZyYW1l
X3Njcm9sbF9wb3NfZ2V0KGZyYW1lLCAmeCwgJnkpOworCisgICAgcmV0dXJuIEludFJlY3QoeCwg
eSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKK30KKyNlbmRpZgorCiB2b2lkIENocm9t
ZUNsaWVudEVmbDo6cnVuT3BlblBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hv
b3Nlcj4gcHJwRmlsZUNob29zZXIpCiB7CiAgICAgUmVmUHRyPEZpbGVDaG9vc2VyPiBjaG9vc2Vy
ID0gcHJwRmlsZUNob29zZXI7CkBAIC00ODcsNyArNTA5LDE0IEBAIHZvaWQgQ2hyb21lQ2xpZW50
RWZsOjppbnZhbGlkYXRlQ29udGVudHMoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBp
bW1lZGlhCiAKIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlV2luZG93KGNvbnN0IElu
dFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQogeworI2lmIFVTRShUSUxFRF9CQUNL
SU5HX1NUT1JFKQorICAgIEVpbmFfUmVjdGFuZ2xlIGFyZWE7CisgICAgRUlOQV9SRUNUQU5HTEVf
U0VUKCZhcmVhLCB1cGRhdGVSZWN0LngoKSwgdXBkYXRlUmVjdC55KCksIHVwZGF0ZVJlY3Qud2lk
dGgoKSwgdXBkYXRlUmVjdC5oZWlnaHQoKSk7CisKKyAgICBld2tfdmlld19iYWNraW5nc3RvcmVf
aW52YWxpZGF0ZShtX3ZpZXcsICZhcmVhKTsKKyNlbHNlCiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
KyNlbmRpZgogfQogCiB2b2lkIENocm9tZUNsaWVudEVmbDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5k
V2luZG93KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRl
eCA3MmMwMmYzLi4yY2Y2OWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaApAQCAtMTM4LDYgKzEzOCwxMSBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50
Kik7CiAjZW5kaWYKIAorI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIHZpcnR1YWwg
dm9pZCBkZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0ZWQoY29uc3QgSW50UG9pbnQmKTsKKyAgICB2aXJ0
dWFsIEludFJlY3QgdmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tpbmdTdG9yZSgpIGNvbnN0OworI2Vu
ZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxG
aWxlQ2hvb3Nlcj4pOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiwgRmlsZUljb25Mb2FkZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0
YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgK
aW5kZXggYTkyYWI3YS4uMWI3N2U3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgK
QEAgLTE1OCw2ICsxNTgsMTIgQEAgdm9pZCBld2tfdmlld19qc193aW5kb3dfb2JqZWN0X2NsZWFy
KEV2YXNfT2JqZWN0KiBvLCBFdmFzX09iamVjdCogZnJhbWUpOwogCiBpbnQgZXdrX3V0aWxfZHBp
X2dldCgpOwogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCitFQVBJIHZvaWQgZXdrX3Zp
ZXdfYmFja2luZ3N0b3JlX2ludmFsaWRhdGUoRXZhc19PYmplY3QqIG8sIGNvbnN0IEVpbmFfUmVj
dGFuZ2xlICphcmVhKTsKK0VBUEkgdm9pZCBld2tfdmlld19iYWNraW5nc3RvcmVfYWRqdWN0X3Zp
c2libGVfcmVjdChFdmFzX09iamVjdCogbyk7CitFQVBJIEVpbmFfQm9vbCBld2tfdmlld19zZXR0
aW5nX3RpbGVkX2JhY2tpbmdzdG9yZV9lbmFibGVfc2V0KEV2YXNfT2JqZWN0KiBvLCBFaW5hX0Jv
b2wgZW5hYmxlKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIHZvaWQgZXdr
X3ZpZXdfbmVlZF90b3VjaF9ldmVudHNfc2V0KEV2YXNfT2JqZWN0KiwgYm9vbCBuZWVkZWQpOwog
RWluYV9Cb29sIGV3a192aWV3X25lZWRfdG91Y2hfZXZlbnRzX2dldChjb25zdCBFdmFzX09iamVj
dCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggYTdmZDdjNS4uNDFkN2NlOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiRWRpdG9yQ2xpZW50RWZsLmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVk
ZSAiRm9jdXNDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFt
ZUxvYWRlckNsaWVudEVmbC5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkdy
YXBoaWNzQ29udGV4dC5oIgpAQCAtNjcsNiArNjgsMTAgQEAKICNpbmNsdWRlICJEZXZpY2VPcmll
bnRhdGlvbkNsaWVudEVmbC5oIgogI2VuZGlmCiAKKyNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9S
RSkKKyNpbmNsdWRlICJUaWxlZEJhY2tpbmdTdG9yZS5oIgorI2VuZGlmCisKICNkZWZpbmUgWk9P
TV9NSU4gKDAuMDUpCiAjZGVmaW5lIFpPT01fTUFYICg0LjApCiAKQEAgLTIyNzgsNiArMjI4Mywx
NiBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0dGluZ19mb250X21vbm9zcGFjZV9zaXplX3NldChF
dmFzX09iamVjdCogZXdrVmlldywgaW50IHNpegogICAgIHJldHVybiBFSU5BX1RSVUU7CiB9CiAK
KyNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKK0VpbmFfQm9vbCBld2tfdmlld19zZXR0aW5n
X3RpbGVkX2JhY2tpbmdzdG9yZV9lbmFibGVfc2V0KEV2YXNfT2JqZWN0KiBvLCBFaW5hX0Jvb2wg
ZW5hYmxlKQoreworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4obywgc2QsIEVJTkFfRkFM
U0UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzZCwgcHJpdiwgRUlOQV9GQUxT
RSk7CisgICAgcHJpdi0+cGFnZVNldHRpbmdzLT5zZXRUaWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQo
ZW5hYmxlKTsKKyAgICByZXR1cm4gRUlOQV9UUlVFOworfQorI2VuZGlmCisKIGNvbnN0IGNoYXIq
IGV3a192aWV3X2ZvbnRfZmFtaWx5X25hbWVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBFd2tfRm9udF9GYW1pbHkgZm9udEZhbWlseSkKIHsKICAgICBFV0tfVklFV19TRF9HRVRfT1Jf
UkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgMCk7CkBAIC0yNjIzLDggKzI2MzgsMzkgQEAgdm9p
ZCBld2tfdmlld19wYWludF9jb250ZXh0X3BhaW50X2NvbnRlbnRzKEV3a19WaWV3X1BhaW50X0Nv
bnRleHQqIGNvbnRleHQsIGNvbnMKICAgICAgICAgY29udGV4dC0+Z3JhcGhpY0NvbnRleHQtPmNs
ZWFyUmVjdChyZWN0KTsKIAogICAgIGNvbnRleHQtPnZpZXctPnBhaW50Q29udGVudHMoY29udGV4
dC0+Z3JhcGhpY0NvbnRleHQsIHJlY3QpOworI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQor
ICAgIGlmIChjb250ZXh0LT52aWV3LT5mcmFtZSgpLT50aWxlZEJhY2tpbmdTdG9yZSgpKQorICAg
ICAgICBjb250ZXh0LT52aWV3LT5mcmFtZSgpLT50aWxlZEJhY2tpbmdTdG9yZSgpLT5wYWludChj
b250ZXh0LT5ncmFwaGljQ29udGV4dCwgcmVjdCk7CisgICAgZWxzZQorI2VuZGlmCisgICAgIGNv
bnRleHQtPnZpZXctPnBhaW50Q29udGVudHMoY29udGV4dC0+Z3JhcGhpY0NvbnRleHQsIHJlY3Qp
OworfQorCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCit2b2lkIGV3a192aWV3X2JhY2tp
bmdzdG9yZV9pbnZhbGlkYXRlKEV2YXNfT2JqZWN0KiBvLCBjb25zdCBFaW5hX1JlY3RhbmdsZSAq
YXJlYSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihvKTsKKyAgICBFSU5BX1NB
RkVUWV9PTl9OVUxMX1JFVFVSTihhcmVhKTsKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJO
KG8sIHNkKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc2QsIHByaXYpOworCisg
ICAgaWYgKHByaXYtPm1haW5GcmFtZS0+dGlsZWRCYWNraW5nU3RvcmUoKSkgeworICAgICAgICBX
ZWJDb3JlOjpJbnRSZWN0IHJlY3QoYXJlYS0+eCwgYXJlYS0+eSwgYXJlYS0+dywgYXJlYS0+aCk7
CisgICAgICAgIHByaXYtPm1haW5GcmFtZS0+dGlsZWRCYWNraW5nU3RvcmUoKS0+aW52YWxpZGF0
ZShyZWN0KTsKKyAgICB9CiB9CiAKK3ZvaWQgZXdrX3ZpZXdfYmFja2luZ3N0b3JlX2FkanVjdF92
aXNpYmxlX3JlY3QoRXZhc19PYmplY3QqIG8pCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk4obyk7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihvLCBzZCk7CisgICAgRVdL
X1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNkLCBwcml2KTsKKworICAgIGlmIChwcml2LT5tYWlu
RnJhbWUtPnRpbGVkQmFja2luZ1N0b3JlKCkpCisgICAgICAgIHByaXYtPm1haW5GcmFtZS0+dGls
ZWRCYWNraW5nU3RvcmUoKS0+YWRqdXN0VmlzaWJsZVJlY3QoKTsKK30KKyNlbmRpZgorCiB2b2lk
IGV3a192aWV3X3BhaW50X2NvbnRleHRfc2NhbGUoRXdrX1ZpZXdfUGFpbnRfQ29udGV4dCogY29u
dGV4dCwgZmxvYXQgc2NhbGVYLCBmbG9hdCBzY2FsZVkpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05f
TlVMTF9SRVRVUk4oY29udGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXdfc2luZ2xlLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19zaW5n
bGUuY3BwCmluZGV4IDE4NjYxOGUuLjE0N2E1MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdmlld19zaW5nbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlld19zaW5nbGUuY3BwCkBAIC01Miw2ICs1Miw5IEBAIHN0YXRpYyB2b2lkIF9ld2tfdmll
d19zaW5nbGVfc21hcnRfYWRkKEV2YXNfT2JqZWN0KiBld2tTaW5nbGUpCiAKICAgICBldmFzX29i
amVjdF9ldmVudF9jYWxsYmFja19hZGQKICAgICAgICAgKHNtYXJ0RGF0YS0+YmFja2luZ19zdG9y
ZSwgRVZBU19DQUxMQkFDS19ERUwsIF9ld2tfdmlld19zaW5nbGVfb25fZGVsLCBjbGlwKTsKKyNp
ZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKKyAgICBld2tfdmlld19zZXR0aW5nX3RpbGVkX2Jh
Y2tpbmdzdG9yZV9lbmFibGVfc2V0KGV3a1NpbmdsZSwgRUlOQV9UUlVFKTsKKyNlbmRpZgogfQog
CiBzdGF0aWMgRXZhc19PYmplY3QqIF9ld2tfdmlld19zaW5nbGVfc21hcnRfYmFja2luZ19zdG9y
ZV9hZGQoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQpAQCAtNDQ2LDYgKzQ0OSwxMCBA
QCBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zaW5nbGVfc21hcnRfcmVwYWludHNfcHJvY2Vz
cyhFd2tfVmlld19TbWFydF9EYXRhKiBzbQogICAgIGludCBzeCwgc3k7CiAgICAgZXdrX2ZyYW1l
X3Njcm9sbF9wb3NfZ2V0KHNtYXJ0RGF0YS0+bWFpbl9mcmFtZSwgJnN4LCAmc3kpOwogCisjaWYg
VVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgZXdrX3ZpZXdfYmFja2luZ3N0b3JlX2FkanVj
dF92aXNpYmxlX3JlY3Qoc21hcnREYXRhLT5zZWxmKTsKKyNlbmRpZgorCiAgICAgRUlOQV9JVEVS
QVRPUl9GT1JFQUNIKGl0ciwgcikgewogICAgICAgICBFaW5hX1JlY3RhbmdsZSBzY3JvbGxlZF9y
ZWN0ID0gewogICAgICAgICAgICAgci0+eCArIHN4LCByLT55ICsgc3ksCmRpZmYgLS1naXQgYS9T
b3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlCmluZGV4IDEyODc0MjAuLjRlMDI1YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRp
b25zRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC00OCw2
ICs0OCw5IEBAIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfSUNVX1VOSUNPREU9MSkKIFNFVChX
VEZfVVNFX0NBSVJPIDEpCiBBRERfREVGSU5JVElPTlMoLURXVEZfVVNFX0NBSVJPPTEpCiAKK1NF
VChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUgMSkKK0FERF9ERUZJTklUSU9OUygtRFdURl9V
U0VfVElMRURfQkFDS0lOR19TVE9SRT0xKQorCiBTRVQoSlNDX0VYRUNVVEFCTEVfTkFNRSBqc2Nf
ZWZsKQogU0VUKFdURl9MSUJSQVJZX05BTUUgd3RmX2VmbCkKIFNFVChKYXZhU2NyaXB0Q29yZV9M
SUJSQVJZX05BTUUgamF2YXNjcmlwdGNvcmVfZWZsKQo=
</data>
<flag name="commit-queue"
          id="111642"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113631</attachid>
            <date>2011-11-04 00:54:08 -0700</date>
            <delta_ts>2011-11-08 00:46:45 -0800</delta_ts>
            <desc>Updated according to Grzegorz&apos;s suggestions</desc>
            <filename>tbsUpdated.patch</filename>
            <type>text/plain</type>
            <size>10988</size>
            <attacher name="Tomasz Morawski">t.morawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA3MDY4M2M4Li5iYmU0MmI4
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMTEtMDQgIFRvbWFzeiBNb3Jhd3NraSAgPHQubW9yYXdza2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF0gUG9ydCB0aWxlZCBiYWNraW5nIHN0b3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM1MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNldHMgV1RGX1VTRV9USUxFRF9CQUNLSU5H
X1NUT1JFIGRlZmluZQorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2U6
CisKIDIwMTEtMTEtMDMgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29t
PgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIE1hZW1vIHNwZWNpZmljIGNvZGUgcGF0aHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNFZmwudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0c0VmbC50eHQKaW5kZXggZTMyN2FjMy4uZmIzNTA1MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0c0VmbC50eHQKQEAgLTEwMyw2ICsxMDMsMTQgQEAgSUYgKFdURl9VU0VfQ0FJUk8pCiAgICAg
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvY2Fpcm8vSW1hZ2VEZWNvZGVyQ2Fpcm8uY3BwCiAgICkK
IAorICBJRiAoV1RGX1VTRV9USUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUworICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbnRSZWN0Q2Fp
cm8uY3BwCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1RpbGVkQmFja2luZ1N0b3Jl
QmFja2VuZENhaXJvLmNwcAorICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9UaWxlQ2Fp
cm8uY3BwCisgICAgKQorICBFTkRJRiAoKQorCiAgIElGIChXVEZfVVNFX0ZSRUVUWVBFKQogICAg
IExJU1QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICAgIiR7V0VCQ09S
RV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlIgpAQCAtMTM5LDYgKzE0NywxMiBAQCBJ
RiAoV1RGX1VTRV9DQUlSTykKICAgRU5ESUYgKCkKIEVORElGICgpCiAKK0lGIChXVEZfVVNFX1RJ
TEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCisgICAg
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAorICAgICkKK0VORElG
ICgpCisKIElGIChXVEZfVVNFX1NPVVApCiAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9E
SVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNGNlODU0ZS4uZjA0NjRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDExLTExLTA0ICBUb21hc3ogTW9yYXdza2kgIDx0Lm1vcmF3c2tpQHNhbXN1bmcuY29tPgor
CisgICAgICAgIFtFRkxdIFBvcnQgdGlsZWQgYmFja2luZyBzdG9yZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNTIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgZmlsZXMgY29tcGlsZSBu
ZWVkZWQgYnkgVGlsZWQgQmFja2luZyBTdG9yZSBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAq
IENNYWtlTGlzdHNFZmwudHh0OgorCiAyMDExLTExLTAzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHI5OTA3Nik6IFBhc3RpbmcgaW50byBw
YXNzd29yZCBmaWVsZHMgaXMgYnJva2VuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggNjRiMDJhNy4uM2Fm
MGFiMiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDExLTExLTA0ICBUb21h
c3ogTW9yYXdza2kgIDx0Lm1vcmF3c2tpQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIFBv
cnQgdGlsZWQgYmFja2luZyBzdG9yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzEzNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQb3J0ZWQgdGlsZWQgYmFja2luZyBzdG9yZSB0byBFRkwgV2ViS2l0IHBv
cnQuCisgICAgICAgIE1ham9yIGNoYW5nZXM6CisgICAgICAgIC0gQWRkZWQgbmV3IGZ1bmN0aW9u
cyB0byBDaHJvbWVDbGllbnRFZmwKKyAgICAgICAgLSBBZGRlZCBuZXcgZnVuY3Rpb25zIHRvIGV3
a192aWV3CisgICAgICAgIC0gRnJvbSBld2tfdmlld19zaW5nbGUgY2FsbHMKKyAgICAgICAgICBl
d2tfdmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdzdG9yZV9lbmFibGVfc2V0IHRvIGVuYWJsZS9k
aXNhYmxlCisgICAgICAgICAgdXNlIG9mIHRpbGVkIGJhY2tpbmcgc3RvcmUKKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWVDbGllbnRFZmw6OmRlbGVnYXRlZFNjcm9sbFJlcXVlc3RlZCk6CisgICAgICAgIChXZWJD
b3JlOjpDaHJvbWVDbGllbnRFZmw6OnZpc2libGVSZWN0Rm9yVGlsZWRCYWNraW5nU3RvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlV2luZG93KToKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKiBld2sv
ZXdrX3ByaXZhdGUuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdr
X3ZpZXdfc2V0dGluZ190aWxlZF9iYWNraW5nc3RvcmVfZW5hYmxlX3NldCk6CisgICAgICAgIChl
d2tfdmlld19wYWludF9jb250ZXh0X3BhaW50X2NvbnRlbnRzKToKKyAgICAgICAgKGV3a192aWV3
X2JhY2tpbmdzdG9yZV9pbnZhbGlkYXRlKToKKyAgICAgICAgKGV3a192aWV3X2JhY2tpbmdzdG9y
ZV9hZGp1Y3RfdmlzaWJsZV9yZWN0KToKKyAgICAgICAgKiBld2svZXdrX3ZpZXdfc2luZ2xlLmNw
cDoKKyAgICAgICAgKF9ld2tfdmlld19zaW5nbGVfc21hcnRfYWRkKToKKyAgICAgICAgKF9ld2tf
dmlld19zaW5nbGVfc21hcnRfcmVwYWludHNfcHJvY2Vzcyk6CisKIDIwMTEtMTEtMDMgIFRvbWFz
eiBNb3Jhd3NraSAgPHQubW9yYXdza2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gQWRk
ZWQgZXdrX3RpbGVfbWVtb3J5X3NpemVfZ2V0IGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRleCA1NDk5YjQ1
Li45Y2YxNWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5jcHAKQEAgLTY0LDYgKzY0LDEwIEBACiAjaW5jbHVkZSA8RXZhcy5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAorI2lmIFVTRShUSUxFRF9CQUNLSU5H
X1NUT1JFKQorI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlLmgiCisjZW5kaWYKKwogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyBpbmxpbmUgRXZhc19PYmplY3QqIGtpdChGcmFt
ZSogZnJhbWUpCkBAIC00MjUsNiArNDI5LDI0IEBAIE5vdGlmaWNhdGlvblByZXNlbnRlciogQ2hy
b21lQ2xpZW50RWZsOjpub3RpZmljYXRpb25QcmVzZW50ZXIoKSBjb25zdAogfQogI2VuZGlmCiAK
KyNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKK3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjpkZWxl
Z2F0ZWRTY3JvbGxSZXF1ZXN0ZWQoY29uc3QgSW50UG9pbnQmIHBvaW50KQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7Cit9CisKK0ludFJlY3QgQ2hyb21lQ2xpZW50RWZsOjp2aXNpYmxlUmVjdEZv
clRpbGVkQmFja2luZ1N0b3JlKCkgY29uc3QKK3sKKyAgICBXZWJDb3JlOjpGbG9hdFJlY3QgcmVj
dCA9IGV3a192aWV3X3BhZ2VfcmVjdF9nZXQobV92aWV3KTsKKyAgICBFdmFzX09iamVjdCogZnJh
bWUgPSBld2tfdmlld19mcmFtZV9tYWluX2dldChtX3ZpZXcpOworICAgIGludCB4LCB5OworCisg
ICAgZXdrX2ZyYW1lX3Njcm9sbF9wb3NfZ2V0KGZyYW1lLCAmeCwgJnkpOworCisgICAgcmV0dXJu
IEludFJlY3QoeCwgeSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKK30KKyNlbmRpZgor
CiB2b2lkIENocm9tZUNsaWVudEVmbDo6cnVuT3BlblBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1Jl
ZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZUNob29zZXIpCiB7CiAgICAgUmVmUHRyPEZpbGVDaG9v
c2VyPiBjaG9vc2VyID0gcHJwRmlsZUNob29zZXI7CkBAIC00ODcsNyArNTA5LDE0IEBAIHZvaWQg
Q2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlQ29udGVudHMoY29uc3QgSW50UmVjdCYgdXBkYXRl
UmVjdCwgYm9vbCBpbW1lZGlhCiAKIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlV2lu
ZG93KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQogeworI2lmIFVT
RShUSUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIEVpbmFfUmVjdGFuZ2xlIGFyZWE7CisgICAgRUlO
QV9SRUNUQU5HTEVfU0VUKCZhcmVhLCB1cGRhdGVSZWN0LngoKSwgdXBkYXRlUmVjdC55KCksIHVw
ZGF0ZVJlY3Qud2lkdGgoKSwgdXBkYXRlUmVjdC5oZWlnaHQoKSk7CisKKyAgICBld2tfdmlld19i
YWNraW5nc3RvcmVfaW52YWxpZGF0ZShtX3ZpZXcsICZhcmVhKTsKKyNlbHNlCiAgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyNlbmRpZgogfQogCiB2b2lkIENocm9tZUNsaWVudEVmbDo6aW52YWxpZGF0
ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRp
YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaAppbmRleCA3MmMwMmYzLi4yY2Y2OWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaApAQCAtMTM4LDYgKzEzOCwxMSBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJD
b3JlOjpFbGVtZW50Kik7CiAjZW5kaWYKIAorI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQor
ICAgIHZpcnR1YWwgdm9pZCBkZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0ZWQoY29uc3QgSW50UG9pbnQm
KTsKKyAgICB2aXJ0dWFsIEludFJlY3QgdmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tpbmdTdG9yZSgp
IGNvbnN0OworI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwg
UGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZp
bGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgRmlsZUljb25Mb2FkZXIqKTsKICAgICB2aXJ0dWFs
IHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19wcml2YXRlLmgKaW5kZXggYTkyYWI3YS4uMWI3N2U3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19wcml2YXRlLmgKQEAgLTE1OCw2ICsxNTgsMTIgQEAgdm9pZCBld2tfdmlld19qc193aW5kb3df
b2JqZWN0X2NsZWFyKEV2YXNfT2JqZWN0KiBvLCBFdmFzX09iamVjdCogZnJhbWUpOwogCiBpbnQg
ZXdrX3V0aWxfZHBpX2dldCgpOwogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCitFQVBJ
IHZvaWQgZXdrX3ZpZXdfYmFja2luZ3N0b3JlX2ludmFsaWRhdGUoRXZhc19PYmplY3QqIG8sIGNv
bnN0IEVpbmFfUmVjdGFuZ2xlICphcmVhKTsKK0VBUEkgdm9pZCBld2tfdmlld19iYWNraW5nc3Rv
cmVfYWRqdWN0X3Zpc2libGVfcmVjdChFdmFzX09iamVjdCogbyk7CitFQVBJIEVpbmFfQm9vbCBl
d2tfdmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdzdG9yZV9lbmFibGVfc2V0KEV2YXNfT2JqZWN0
KiBvLCBFaW5hX0Jvb2wgZW5hYmxlKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKIHZvaWQgZXdrX3ZpZXdfbmVlZF90b3VjaF9ldmVudHNfc2V0KEV2YXNfT2JqZWN0KiwgYm9v
bCBuZWVkZWQpOwogRWluYV9Cb29sIGV3a192aWV3X25lZWRfdG91Y2hfZXZlbnRzX2dldChjb25z
dCBFdmFzX09iamVjdCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192
aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggYmFmMGFm
Ny4uNzM3ODRmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC0zMyw2ICszMyw3
IEBACiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50RWZsLmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVy
LmgiCiAjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKICNp
bmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEVmbC5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgpAQCAtNjcsNiArNjgsMTAgQEAKICNpbmNsdWRl
ICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudEVmbC5oIgogI2VuZGlmCiAKKyNpZiBVU0UoVElMRURf
QkFDS0lOR19TVE9SRSkKKyNpbmNsdWRlICJUaWxlZEJhY2tpbmdTdG9yZS5oIgorI2VuZGlmCisK
ICNkZWZpbmUgWk9PTV9NSU4gKDAuMDUpCiAjZGVmaW5lIFpPT01fTUFYICg0LjApCiAKQEAgLTIy
ODAsNiArMjI4NSwxNiBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0dGluZ19mb250X21vbm9zcGFj
ZV9zaXplX3NldChFdmFzX09iamVjdCogZXdrVmlldywgaW50IHNpegogICAgIHJldHVybiBFSU5B
X1RSVUU7CiB9CiAKKyNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKK0VpbmFfQm9vbCBld2tf
dmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdzdG9yZV9lbmFibGVfc2V0KEV2YXNfT2JqZWN0KiBv
LCBFaW5hX0Jvb2wgZW5hYmxlKQoreworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4obywg
c2QsIEVJTkFfRkFMU0UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzZCwgcHJp
diwgRUlOQV9GQUxTRSk7CisgICAgcHJpdi0+cGFnZVNldHRpbmdzLT5zZXRUaWxlZEJhY2tpbmdT
dG9yZUVuYWJsZWQoZW5hYmxlKTsKKyAgICByZXR1cm4gRUlOQV9UUlVFOworfQorI2VuZGlmCisK
IGNvbnN0IGNoYXIqIGV3a192aWV3X2ZvbnRfZmFtaWx5X25hbWVfZ2V0KGNvbnN0IEV2YXNfT2Jq
ZWN0KiBld2tWaWV3LCBFd2tfRm9udF9GYW1pbHkgZm9udEZhbWlseSkKIHsKICAgICBFV0tfVklF
V19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgMCk7CkBAIC0yNjI1LDggKzI2
NDAsMzkgQEAgdm9pZCBld2tfdmlld19wYWludF9jb250ZXh0X3BhaW50X2NvbnRlbnRzKEV3a19W
aWV3X1BhaW50X0NvbnRleHQqIGNvbnRleHQsIGNvbnMKICAgICAgICAgY29udGV4dC0+Z3JhcGhp
Y0NvbnRleHQtPmNsZWFyUmVjdChyZWN0KTsKIAogICAgIGNvbnRleHQtPnZpZXctPnBhaW50Q29u
dGVudHMoY29udGV4dC0+Z3JhcGhpY0NvbnRleHQsIHJlY3QpOworI2lmIFVTRShUSUxFRF9CQUNL
SU5HX1NUT1JFKQorICAgIGlmIChjb250ZXh0LT52aWV3LT5mcmFtZSgpLT50aWxlZEJhY2tpbmdT
dG9yZSgpKQorICAgICAgICBjb250ZXh0LT52aWV3LT5mcmFtZSgpLT50aWxlZEJhY2tpbmdTdG9y
ZSgpLT5wYWludChjb250ZXh0LT5ncmFwaGljQ29udGV4dCwgcmVjdCk7CisgICAgZWxzZQorI2Vu
ZGlmCisgICAgIGNvbnRleHQtPnZpZXctPnBhaW50Q29udGVudHMoY29udGV4dC0+Z3JhcGhpY0Nv
bnRleHQsIHJlY3QpOworfQorCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCit2b2lkIGV3
a192aWV3X2JhY2tpbmdzdG9yZV9pbnZhbGlkYXRlKEV2YXNfT2JqZWN0KiBvLCBjb25zdCBFaW5h
X1JlY3RhbmdsZSAqYXJlYSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihvKTsK
KyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihhcmVhKTsKKyAgICBFV0tfVklFV19TRF9H
RVRfT1JfUkVUVVJOKG8sIHNkKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc2Qs
IHByaXYpOworCisgICAgaWYgKHByaXYtPm1haW5GcmFtZS0+dGlsZWRCYWNraW5nU3RvcmUoKSkg
eworICAgICAgICBXZWJDb3JlOjpJbnRSZWN0IHJlY3QoYXJlYS0+eCwgYXJlYS0+eSwgYXJlYS0+
dywgYXJlYS0+aCk7CisgICAgICAgIHByaXYtPm1haW5GcmFtZS0+dGlsZWRCYWNraW5nU3RvcmUo
KS0+aW52YWxpZGF0ZShyZWN0KTsKKyAgICB9CiB9CiAKK3ZvaWQgZXdrX3ZpZXdfYmFja2luZ3N0
b3JlX2FkanVjdF92aXNpYmxlX3JlY3QoRXZhc19PYmplY3QqIG8pCit7CisgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk4obyk7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihvLCBz
ZCk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNkLCBwcml2KTsKKworICAgIGlm
IChwcml2LT5tYWluRnJhbWUtPnRpbGVkQmFja2luZ1N0b3JlKCkpCisgICAgICAgIHByaXYtPm1h
aW5GcmFtZS0+dGlsZWRCYWNraW5nU3RvcmUoKS0+YWRqdXN0VmlzaWJsZVJlY3QoKTsKK30KKyNl
bmRpZgorCiB2b2lkIGV3a192aWV3X3BhaW50X2NvbnRleHRfc2NhbGUoRXdrX1ZpZXdfUGFpbnRf
Q29udGV4dCogY29udGV4dCwgZmxvYXQgc2NhbGVYLCBmbG9hdCBzY2FsZVkpCiB7CiAgICAgRUlO
QV9TQUZFVFlfT05fTlVMTF9SRVRVUk4oY29udGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXdfc2luZ2xlLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlld19zaW5nbGUuY3BwCmluZGV4IDE4NjYxOGUuLjE0N2E1MTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19zaW5nbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfdmlld19zaW5nbGUuY3BwCkBAIC01Miw2ICs1Miw5IEBAIHN0YXRpYyB2
b2lkIF9ld2tfdmlld19zaW5nbGVfc21hcnRfYWRkKEV2YXNfT2JqZWN0KiBld2tTaW5nbGUpCiAK
ICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19hZGQKICAgICAgICAgKHNtYXJ0RGF0YS0+
YmFja2luZ19zdG9yZSwgRVZBU19DQUxMQkFDS19ERUwsIF9ld2tfdmlld19zaW5nbGVfb25fZGVs
LCBjbGlwKTsKKyNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKKyAgICBld2tfdmlld19zZXR0
aW5nX3RpbGVkX2JhY2tpbmdzdG9yZV9lbmFibGVfc2V0KGV3a1NpbmdsZSwgRUlOQV9UUlVFKTsK
KyNlbmRpZgogfQogCiBzdGF0aWMgRXZhc19PYmplY3QqIF9ld2tfdmlld19zaW5nbGVfc21hcnRf
YmFja2luZ19zdG9yZV9hZGQoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQpAQCAtNDQ2
LDYgKzQ0OSwxMCBAQCBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zaW5nbGVfc21hcnRfcmVw
YWludHNfcHJvY2VzcyhFd2tfVmlld19TbWFydF9EYXRhKiBzbQogICAgIGludCBzeCwgc3k7CiAg
ICAgZXdrX2ZyYW1lX3Njcm9sbF9wb3NfZ2V0KHNtYXJ0RGF0YS0+bWFpbl9mcmFtZSwgJnN4LCAm
c3kpOwogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgZXdrX3ZpZXdfYmFja2lu
Z3N0b3JlX2FkanVjdF92aXNpYmxlX3JlY3Qoc21hcnREYXRhLT5zZWxmKTsKKyNlbmRpZgorCiAg
ICAgRUlOQV9JVEVSQVRPUl9GT1JFQUNIKGl0ciwgcikgewogICAgICAgICBFaW5hX1JlY3Rhbmds
ZSBzY3JvbGxlZF9yZWN0ID0gewogICAgICAgICAgICAgci0+eCArIHN4LCByLT55ICsgc3ksCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9P
cHRpb25zRWZsLmNtYWtlCmluZGV4IGZjN2Y1OGYuLmQ5ZTMxMjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlCkBAIC00OCw2ICs0OCw5IEBAIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfSUNVX1VOSUNP
REU9MSkKIFNFVChXVEZfVVNFX0NBSVJPIDEpCiBBRERfREVGSU5JVElPTlMoLURXVEZfVVNFX0NB
SVJPPTEpCiAKK1NFVChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUgMSkKK0FERF9ERUZJTklU
SU9OUygtRFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRT0xKQorCiBTRVQoSlNDX0VYRUNVVEFC
TEVfTkFNRSBqc2NfZWZsKQogU0VUKFdURl9MSUJSQVJZX05BTUUgd3RmX2VmbCkKIFNFVChKYXZh
U2NyaXB0Q29yZV9MSUJSQVJZX05BTUUgamF2YXNjcmlwdGNvcmVfZWZsKQo=
</data>
<flag name="commit-queue"
          id="112059"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114005</attachid>
            <date>2011-11-08 00:46:45 -0800</date>
            <delta_ts>2011-11-16 00:14:52 -0800</delta_ts>
            <desc>Updated according to suggestions </desc>
            <filename>tbs.patch</filename>
            <type>text/plain</type>
            <size>11795</size>
            <attacher name="Tomasz Morawski">t.morawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAxNjc5MWFiLi4zNGU5MWI1
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMTEtMDcgIFRvbWFzeiBNb3Jhd3NraSAgPHQubW9yYXdza2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF0gVXNlIFdlYkNvcmUncyB0aWxlZCBiYWNraW5nIHN0b3JlIGluIFdlYktp
dCBFRkwgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzEzNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTZXRzIFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSBkZWZpbmUKKworICAgICAgICAqIFNv
dXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlOgorCiAyMDExLTExLTA3ICBDaGFuZ1Nlb2sgT2gg
IDxzaGl2YW1pZG93QGdtYWlsLmNvbT4KIAogICAgICAgICBbRUZMXSBTdXBwb3J0IHJlcXVlc3RB
bmltYXRpb25GcmFtZSBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNF
ZmwudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKaW5kZXggZTMyN2FjMy4u
ZmIzNTA1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKQEAgLTEwMyw2ICsxMDMsMTQgQEAg
SUYgKFdURl9VU0VfQ0FJUk8pCiAgICAgcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvY2Fpcm8vSW1h
Z2VEZWNvZGVyQ2Fpcm8uY3BwCiAgICkKIAorICBJRiAoV1RGX1VTRV9USUxFRF9CQUNLSU5HX1NU
T1JFKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUworICAgICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9JbnRSZWN0Q2Fpcm8uY3BwCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL1RpbGVkQmFja2luZ1N0b3JlQmFja2VuZENhaXJvLmNwcAorICAgICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9UaWxlQ2Fpcm8uY3BwCisgICAgKQorICBFTkRJRiAoKQorCiAgIElG
IChXVEZfVVNFX0ZSRUVUWVBFKQogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJF
Q1RPUklFUwogICAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBl
IgpAQCAtMTM5LDYgKzE0NywxMiBAQCBJRiAoV1RGX1VTRV9DQUlSTykKICAgRU5ESUYgKCkKIEVO
RElGICgpCiAKK0lGIChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgTElTVChBUFBF
TkQgV2ViQ29yZV9TT1VSQ0VTCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2lu
Z1N0b3JlLmNwcAorICAgICkKK0VORElGICgpCisKIElGIChXVEZfVVNFX1NPVVApCiAgIExJU1Qo
QVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRmOGQxMy4uZjIxZTA3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTExLTA3ICBUb21hc3ogTW9yYXdza2kgIDx0
Lm1vcmF3c2tpQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIFVzZSBXZWJDb3JlJ3MgdGls
ZWQgYmFja2luZyBzdG9yZSBpbiBXZWJLaXQgRUZMIHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgbmV3IGZpbGVzIG5lZWRlZCBieSBXZWJD
b3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZSBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIENN
YWtlTGlzdHNFZmwudHh0OgorCiAyMDExLTExLTA3ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZW1vdmUgW0N1c3RvbUdldHRlcl0gSURMIGZvciB3aW5k
b3cuSW1hZ2Ugb2YgVjgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBmMjAyYzg1Li45NjJkZDk5IDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMTEtMDcgIFRvbWFzeiBNb3Jhd3Nr
aSAgPHQubW9yYXdza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gVXNlIFdlYkNvcmUn
cyB0aWxlZCBiYWNraW5nIHN0b3JlIGluIFdlYktpdCBFRkwgcG9ydAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNTIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRhdGlvbiB0aGF0IGdpdmVz
IHBvc3NpYmlsaXR5IHRvIHVzZSBXZWJDb3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZSBpbiBFRkwg
V2ViS2l0J3MgUG9ydC4gVGhpcyBtYWtlcyBFRkwKKyAgICAgICAgcG9ydCBjb21wbGlhbnQgd2l0
aCBXZWJLaXQncyBnZW5lcmljIHNvbHV0aW9uIG9mIHRpbGVkIGJhY2tpbmcgc3RvcmUuIFRoaXMg
aW1wbGVtZW50YXRpb24gaGFzIGJlZW4gaW1wbGVtZW50ZWQKKyAgICAgICAgdG8gdXNlIHdpdGgg
ZXdrX3ZpZXdfc2luZ2xlIG9ubHkuIEFueXdheSwgdGhlIG9sZCBpbXBsZW1lbnRhdGlvbiBvZiBl
d2sncyB0aWxlZCBiYWNraW5nIHN0b3JlIGNhbiBiZSBzdGlsbCB1c2VkCisgICAgICAgIGluIHRo
ZSBld2tfdmlld190aWxlZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OmRlbGVnYXRlZFNj
cm9sbFJlcXVlc3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OnZpc2li
bGVSZWN0Rm9yVGlsZWRCYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xp
ZW50RWZsOjppbnZhbGlkYXRlV2luZG93KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRFZmwuaDoKKyAgICAgICAgKiBld2svZXdrX3ByaXZhdGUuaDoKKyAgICAgICAgKiBl
d2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdfc2V0dGluZ190aWxlZF9iYWNraW5n
c3RvcmVfZW5hYmxlX3NldCk6CisgICAgICAgIChld2tfdmlld19wYWludF9jb250ZXh0X3BhaW50
X2NvbnRlbnRzKToKKyAgICAgICAgKGV3a192aWV3X2JhY2tpbmdfc3RvcmVfaW52YWxpZGF0ZSk6
CisgICAgICAgIChld2tfdmlld19iYWNraW5nX3N0b3JlX2FkanVjdF92aXNpYmxlX3JlY3QpOgor
ICAgICAgICAqIGV3ay9ld2tfdmlld19zaW5nbGUuY3BwOgorICAgICAgICAoX2V3a192aWV3X3Np
bmdsZV9zbWFydF9hZGQpOgorICAgICAgICAoX2V3a192aWV3X3NpbmdsZV9zbWFydF9yZXBhaW50
c19wcm9jZXNzKToKKwogMjAxMS0xMS0wNyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNh
bXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIE5lZWQgdG8gcmVwbGFjZSBhcGkncyBvYmplY3Qg
cGFyYW1ldGVyIHdpdGggcHJvcGVyIG5hbWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRleCA2MDhiODA4Li5iOTliYmIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5jcHAKQEAgLTY0LDYgKzY0LDEwIEBACiAjaW5jbHVkZSA8RXZhcy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAorI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQor
I2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKIHN0YXRpYyBpbmxpbmUgRXZhc19PYmplY3QqIGtpdChGcmFtZSogZnJhbWUp
CkBAIC00MjUsNiArNDI5LDIzIEBAIE5vdGlmaWNhdGlvblByZXNlbnRlciogQ2hyb21lQ2xpZW50
RWZsOjpub3RpZmljYXRpb25QcmVzZW50ZXIoKSBjb25zdAogfQogI2VuZGlmCiAKKyNpZiBVU0Uo
VElMRURfQkFDS0lOR19TVE9SRSkKK3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjpkZWxlZ2F0ZWRTY3Jv
bGxSZXF1ZXN0ZWQoY29uc3QgSW50UG9pbnQmIHBvaW50KQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK0ludFJlY3QgQ2hyb21lQ2xpZW50RWZsOjp2aXNpYmxlUmVjdEZvclRpbGVkQmFj
a2luZ1N0b3JlKCkgY29uc3QKK3sKKyAgICBpbnQgeCwgeTsKKyAgICBXZWJDb3JlOjpGbG9hdFJl
Y3QgcmVjdCA9IGV3a192aWV3X3BhZ2VfcmVjdF9nZXQobV92aWV3KTsKKyAgICBjb25zdCBFdmFz
X09iamVjdCogZnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWluX2dldChtX3ZpZXcpOworCisgICAg
ZXdrX2ZyYW1lX3Njcm9sbF9wb3NfZ2V0KGZyYW1lLCAmeCwgJnkpOworICAgIHJldHVybiBJbnRS
ZWN0KHgsIHksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7Cit9CisjZW5kaWYKKwogdm9p
ZCBDaHJvbWVDbGllbnRFZmw6OnJ1bk9wZW5QYW5lbChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8
RmlsZUNob29zZXI+IHBycEZpbGVDaG9vc2VyKQogewogICAgIFJlZlB0cjxGaWxlQ2hvb3Nlcj4g
Y2hvb3NlciA9IHBycEZpbGVDaG9vc2VyOwpAQCAtNDg3LDcgKzUwOCwxMSBAQCB2b2lkIENocm9t
ZUNsaWVudEVmbDo6aW52YWxpZGF0ZUNvbnRlbnRzKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3Qs
IGJvb2wgaW1tZWRpYQogCiB2b2lkIENocm9tZUNsaWVudEVmbDo6aW52YWxpZGF0ZVdpbmRvdyhj
b25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIGltbWVkaWF0ZSkKIHsKKyNpZiBVU0UoVElM
RURfQkFDS0lOR19TVE9SRSkKKyAgICBld2tfdmlld19iYWNraW5nX3N0b3JlX2ludmFsaWRhdGUo
bV92aWV3LCB1cGRhdGVSZWN0KTsKKyNlbHNlCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKKyNlbmRp
ZgogfQogCiB2b2lkIENocm9tZUNsaWVudEVmbDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93
KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmggYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRleCA3MmMw
MmYzLi4yY2Y2OWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRFZmwuaApAQCAtMTM4LDYgKzEzOCwxMSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7CiAj
ZW5kaWYKIAorI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIHZpcnR1YWwgdm9pZCBk
ZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0ZWQoY29uc3QgSW50UG9pbnQmKTsKKyAgICB2aXJ0dWFsIElu
dFJlY3QgdmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tpbmdTdG9yZSgpIGNvbnN0OworI2VuZGlmCisK
ICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hv
b3Nlcj4pOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiwgRmlsZUljb25Mb2FkZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlk
Q2hhbmdlKGNvbnN0IE5vZGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKaW5kZXgg
ZjEyODI1NS4uYjY3YmVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19w
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTM4
LDYgKzM4LDcgQEAKICNpbmNsdWRlICJld2tfbG9nZ2luZy5oIgogI2luY2x1ZGUgImV3a191dGls
LmgiCiAKKyNpbmNsdWRlIDxJbnRSZWN0Lmg+CiAjaW5jbHVkZSA8Y2Fpcm8uaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTE1OCw2ICsx
NTksMTIgQEAgdm9pZCBld2tfdmlld19qc193aW5kb3dfb2JqZWN0X2NsZWFyKEV2YXNfT2JqZWN0
KiBvLCBFdmFzX09iamVjdCogZnJhbWUpOwogCiBpbnQgZXdrX3V0aWxfZHBpX2dldCgpOwogCisj
aWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCit2b2lkIGV3a192aWV3X2JhY2tpbmdfc3RvcmVf
aW52YWxpZGF0ZShFdmFzX09iamVjdCogbywgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgYXJlYSk7
Cit2b2lkIGV3a192aWV3X2JhY2tpbmdfc3RvcmVfYWRqdWN0X3Zpc2libGVfcmVjdChFdmFzX09i
amVjdCogbyk7CitFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3Jl
X2VuYWJsZV9zZXQoRXZhc19PYmplY3QqIG8sIEVpbmFfQm9vbCBlbmFibGUpOworI2VuZGlmCisK
ICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogdm9pZCBld2tfdmlld19uZWVkX3RvdWNoX2V2ZW50
c19zZXQoRXZhc19PYmplY3QqLCBib29sIG5lZWRlZCk7CiBib29sIGV3a192aWV3X25lZWRfdG91
Y2hfZXZlbnRzX2dldChjb25zdCBFdmFzX09iamVjdCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmll
dy5jcHAKaW5kZXggZmU0NzM2Ni4uYmRmNTVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcu
Y3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50RWZsLmgiCiAjaW5j
bHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCisjaW5j
bHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEVmbC5oIgogI2luY2x1
ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgpAQCAtNjcsNiAr
NjgsMTAgQEAKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudEVmbC5oIgogI2VuZGlm
CiAKKyNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKKyNpbmNsdWRlICJUaWxlZEJhY2tpbmdT
dG9yZS5oIgorI2VuZGlmCisKICNkZWZpbmUgWk9PTV9NSU4gKDAuMDUpCiAjZGVmaW5lIFpPT01f
TUFYICg0LjApCiAKQEAgLTIyODAsNiArMjI4NSwyNiBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0
dGluZ19mb250X21vbm9zcGFjZV9zaXplX3NldChFdmFzX09iamVjdCogZXdrVmlldywgaW50IHNp
egogICAgIHJldHVybiB0cnVlOwogfQogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisv
KioKKyAqIEBpbnRlcm5hbAorICogRW5hYmxlIG9yIGRpc2FibGUgdXNlIG9mIFdlYkNvcmUncyB0
aWxlZCBiYWNraW5nIHN0b3JlCisgKgorICogQHBhcmFtIGV3a1ZpZXcgVmlldy4KKyAqIEBvYXJh
bSBlbmFibGUgRW5hYmxlIG9yIERpc2FibGUgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3RvcmUg
Zm9yIGdpdmVuIFZpZXcKKyAqIEByZXR1cm4gdHJ1ZSBvbiBzdWNjZXNzLCBvciBmYWxzZSBvbiBm
YWlsdXJlCisgKgorICogQG5vdGUgdGhpcyBpcyBub3QgZm9yIGdlbmVyYWwgdXNlIGl0IHNob3Vs
ZCBiZSB1c2VkIGZvciBzaW5nbGUgdmlldyBvbmx5LgorICovCitFaW5hX0Jvb2wgZXdrX3ZpZXdf
c2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZV9zZXQoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIEVpbmFfQm9vbCBlbmFibGUpCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihl
d2tWaWV3LCBzbWFydERhdGEsIEVJTkFfRkFMU0UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09S
X1JFVFVSTihzbWFydERhdGEsIHByaXYsIEVJTkFfRkFMU0UpOworICAgIHByaXYtPnBhZ2VTZXR0
aW5ncy0+c2V0VGlsZWRCYWNraW5nU3RvcmVFbmFibGVkKGVuYWJsZSk7CisgICAgcmV0dXJuIEVJ
TkFfVFJVRTsKK30KKyNlbmRpZgorCiBjb25zdCBjaGFyKiBld2tfdmlld19mb250X2ZhbWlseV9u
YW1lX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldywgRXdrX0ZvbnRfRmFtaWx5IGZvbnRG
YW1pbHkpCiB7CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERh
dGEsIDApOwpAQCAtMjYyMywxMCArMjY0OCw1MCBAQCB2b2lkIGV3a192aWV3X3BhaW50X2NvbnRl
eHRfcGFpbnRfY29udGVudHMoRXdrX1ZpZXdfUGFpbnRfQ29udGV4dCogY29udGV4dCwgY29ucwog
CiAgICAgaWYgKGNvbnRleHQtPnZpZXctPmlzVHJhbnNwYXJlbnQoKSkKICAgICAgICAgY29udGV4
dC0+Z3JhcGhpY0NvbnRleHQtPmNsZWFyUmVjdChyZWN0KTsKLQorI2lmIFVTRShUSUxFRF9CQUNL
SU5HX1NUT1JFKQorICAgIGlmIChjb250ZXh0LT52aWV3LT5mcmFtZSgpLT50aWxlZEJhY2tpbmdT
dG9yZSgpKQorICAgICAgICBjb250ZXh0LT52aWV3LT5mcmFtZSgpLT50aWxlZEJhY2tpbmdTdG9y
ZSgpLT5wYWludChjb250ZXh0LT5ncmFwaGljQ29udGV4dCwgcmVjdCk7CisgICAgZWxzZQorI2Vu
ZGlmCiAgICAgY29udGV4dC0+dmlldy0+cGFpbnRDb250ZW50cyhjb250ZXh0LT5ncmFwaGljQ29u
dGV4dCwgcmVjdCk7CiB9CiAKKyNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKKy8qKgorICog
QGludGVybmFsCisgKiBJbnZhbGlkYXRlIGdpdmVuIGFyZWEgdG8gcmVwYWludC4gVGhlIGJhY2tp
bmcgc3RvcmUgd2lsbCBtYXJrIHRpbGVzIHRoYXQgYXJlCisgKiBpbiB0aGUgYXJlYSBhcyBkaXJ0
eS4KKyAqCisgKiBAcGFyYW0gZXdrVmlldyBWaWV3LgorICogQHBhcmFtIGFyZWEgQXJlYSB0byBp
bnZhbGlkYXRlCisgKi8KK3ZvaWQgZXdrX3ZpZXdfYmFja2luZ19zdG9yZV9pbnZhbGlkYXRlKEV2
YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBhcmVhKQoreworICAg
IEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKGV3a1ZpZXcpOworICAgIEVXS19WSUVXX1NEX0dF
VF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9P
Ul9SRVRVUk4oc21hcnREYXRhLCBwcml2KTsKKworICAgIGlmIChwcml2LT5tYWluRnJhbWUtPnRp
bGVkQmFja2luZ1N0b3JlKCkpCisgICAgICAgIHByaXYtPm1haW5GcmFtZS0+dGlsZWRCYWNraW5n
U3RvcmUoKS0+aW52YWxpZGF0ZShhcmVhKTsKK30KKworLyoqCisgKiBAaW50ZXJuYWwKKyAqIFJl
Y2FsY3VsYXRlIHZpc2libGUgYXJlYSBvZiBiYWNraW5nIHN0b3JlCisgKgorICogQHBhcmFtIGV3
a1ZpZXcgVmlldy4KKyAqLwordm9pZCBld2tfdmlld19iYWNraW5nX3N0b3JlX2FkanVjdF92aXNp
YmxlX3JlY3QoRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVM
TF9SRVRVUk4oZXdrVmlldyk7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3
LCBzbWFydERhdGEpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEs
IHByaXYpOworCisgICAgaWYgKHByaXYtPm1haW5GcmFtZS0+dGlsZWRCYWNraW5nU3RvcmUoKSkK
KyAgICAgICAgcHJpdi0+bWFpbkZyYW1lLT50aWxlZEJhY2tpbmdTdG9yZSgpLT5hZGp1c3RWaXNp
YmxlUmVjdCgpOworfQorI2VuZGlmCisKIHZvaWQgZXdrX3ZpZXdfcGFpbnRfY29udGV4dF9zY2Fs
ZShFd2tfVmlld19QYWludF9Db250ZXh0KiBjb250ZXh0LCBmbG9hdCBzY2FsZVgsIGZsb2F0IHNj
YWxlWSkKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihjb250ZXh0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19zaW5nbGUuY3BwIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3NpbmdsZS5jcHAKaW5kZXggZmI3NDQ4Ni4uYzFiMjgx
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3NpbmdsZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3NpbmdsZS5jcHAKQEAgLTUyLDYg
KzUyLDEwIEBAIHN0YXRpYyB2b2lkIF9ld2tfdmlld19zaW5nbGVfc21hcnRfYWRkKEV2YXNfT2Jq
ZWN0KiBld2tWaWV3KQogCiAgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfYWRkCiAgICAg
ICAgIChzbWFydERhdGEtPmJhY2tpbmdfc3RvcmUsIEVWQVNfQ0FMTEJBQ0tfREVMLCBfZXdrX3Zp
ZXdfc2luZ2xlX29uX2RlbCwgY2xpcCk7CisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisg
ICAgLy8gdXNlIFdlYkNvcmUncyBiYWNraW5nIHN0b3JlCisgICAgZXdrX3ZpZXdfc2V0dGluZ190
aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZV9zZXQoZXdrVmlldywgRUlOQV9UUlVFKTsKKyNlbmRp
ZgogfQogCiBzdGF0aWMgRXZhc19PYmplY3QqIF9ld2tfdmlld19zaW5nbGVfc21hcnRfYmFja2lu
Z19zdG9yZV9hZGQoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQpAQCAtNDQ2LDYgKzQ1
MCwxMCBAQCBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zaW5nbGVfc21hcnRfcmVwYWludHNf
cHJvY2VzcyhFd2tfVmlld19TbWFydF9EYXRhKiBzbQogICAgIGludCBzeCwgc3k7CiAgICAgZXdr
X2ZyYW1lX3Njcm9sbF9wb3NfZ2V0KHNtYXJ0RGF0YS0+bWFpbl9mcmFtZSwgJnN4LCAmc3kpOwog
CisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgZXdrX3ZpZXdfYmFja2luZ19zdG9y
ZV9hZGp1Y3RfdmlzaWJsZV9yZWN0KHNtYXJ0RGF0YS0+c2VsZik7CisjZW5kaWYKKwogICAgIEVJ
TkFfSVRFUkFUT1JfRk9SRUFDSChpdGVyYXRvciwgcmVjdCkgewogICAgICAgICBFaW5hX1JlY3Rh
bmdsZSBzY3JvbGxlZF9yZWN0ID0gewogICAgICAgICAgICAgcmVjdC0+eCArIHN4LCByZWN0LT55
ICsgc3ksCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJj
ZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IGVjZjZkOTcuLjRmMDhmZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRp
b25zRWZsLmNtYWtlCkBAIC00OCw2ICs0OCw5IEBAIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0Vf
SUNVX1VOSUNPREU9MSkKIFNFVChXVEZfVVNFX0NBSVJPIDEpCiBBRERfREVGSU5JVElPTlMoLURX
VEZfVVNFX0NBSVJPPTEpCiAKK1NFVChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUgMSkKK0FE
RF9ERUZJTklUSU9OUygtRFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRT0xKQorCiBTRVQoSlND
X0VYRUNVVEFCTEVfTkFNRSBqc2NfZWZsKQogU0VUKFdURl9MSUJSQVJZX05BTUUgd3RmX2VmbCkK
IFNFVChKYXZhU2NyaXB0Q29yZV9MSUJSQVJZX05BTUUgamF2YXNjcmlwdGNvcmVfZWZsKQo=
</data>
<flag name="commit-queue"
          id="112544"
          type_id="3"
          status="-"
          setter="t.morawski"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115339</attachid>
            <date>2011-11-16 00:14:52 -0800</date>
            <delta_ts>2011-12-20 02:03:55 -0800</delta_ts>
            <desc>Updated</desc>
            <filename>tbs.patch</filename>
            <type>text/plain</type>
            <size>13041</size>
            <attacher name="Tomasz Morawski">t.morawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiZmE1ZGZiLi5jODE3MjY5
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMTEtMTUgIFRvbWFzeiBNb3Jhd3NraSAgPHQubW9yYXdza2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF0gVXNlIFdlYkNvcmUncyB0aWxlZCBiYWNraW5nIHN0b3JlIGluIFdlYktp
dCBFRkwgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzEzNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTZXRzIFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSBkZWZpbmUgd2hlbiBidWlsZC13ZWJr
aXQgc2NyaXB0IHdhcyBydW4gd2l0aCAtLXRpbGVkLWJhY2tpbmctc3RvcmUgcGFyYW1ldGVyLgor
CisgICAgICAgIEZlYXR1cmUgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC4gSXQgY2FuIGJ5IGVuYWJs
ZWQgYnkgYWRkaW5nIC0tdGlsZWQtYmFja2luZy1zdG9yZSB0byBidWlsZC13ZWJraXQgcGFyYW1l
dGVycy4KKworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIFdlYkNvcmUncyB0aWxl
ZCBiYWNraW5nIHN0b3JlIHVzZSBUaWxlQ2Fpcm8gY2xhc3MuIFRlc3RlZCB3aXRoIHJlY2VudCB2
ZXJzaW9uIG9mCisgICAgICAgIGxpYmNhaXJvIDEuMTAuMgorCisgICAgICAgICogU291cmNlL2Nt
YWtlL09wdGlvbnNFZmwuY21ha2U6CisKIDIwMTEtMTEtMTUgIFNpbW9uIEhhdXNtYW5uICA8c2lt
b24uaGF1c21hbm5Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gQ2VudHJhbGl6ZSBoaWRlX3N5
bWJvbHMgYW5kIGVuc3VyZSBhbGwgbGlicyBhcmUgYnVpbHQgd2l0aCBzeW1ib2wgdmlzaWJpbGl0
eSAmIGJzeW1ib2xpY19mdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjOWRmNzk3Li5hMzFlN2RmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTEtMTUgIFRvbWFzeiBNb3Jhd3NraSAg
PHQubW9yYXdza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gVXNlIFdlYkNvcmUncyB0
aWxlZCBiYWNraW5nIHN0b3JlIGluIFdlYktpdCBFRkwgcG9ydAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNTIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGZWF0dXJlIGlzIGRpc2FibGVkIGJ5IGRlZmF1
bHQuIEl0IGNhbiBieSBlbmFibGVkIGJ5IGFkZGluZyAtLXRpbGVkLWJhY2tpbmctc3RvcmUgdG8g
YnVpbGQtd2Via2l0IHBhcmFtZXRlci4KKworICAgICAgICBBZGRlZCBUaWxlQ2Fpcm8gcmVsYXRl
ZCBmaWxlcyBuZWVkZWQgYnkgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3RvcmUgaW1wbGVtZW50
YXRpb24uIFRoZSBUaWxlQ2Fpcm8gY2xhc3MgbmVlZHMKKyAgICAgICAgbGliY2Fpcm8gdGhhdCBz
dXBwb3J0cyBjYWlyb19yZWdpb25fdC4gVGVzdGVkIHdpdGggbGliY2Fpcm8gMS4xMC4yIChyZWNl
bnQpLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisKIDIwMTEtMTEtMTUgIERhcmlu
IEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEluY29ycmVjdCB0eXBlIGNoZWNr
cyBpbiBSZW5kZXJUaGVtZSBtZWRpYSBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
bGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4
IDY2NWFkNjIuLmI2MTcxZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZs
LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xMDMsNiAr
MTAzLDE0IEBAIElGIChXVEZfVVNFX0NBSVJPKQogICAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L2NhaXJvL0ltYWdlRGVjb2RlckNhaXJvLmNwcAogICApCiAKKyAgSUYgKFdURl9VU0VfVElMRURf
QkFDS0lOR19TVE9SRSkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW50UmVjdENhaXJvLmNwcAorICAgICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9UaWxlZEJhY2tpbmdTdG9yZUJhY2tlbmRDYWlyby5jcHAKKyAgICAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVGlsZUNhaXJvLmNwcAorICAgICkKKyAgRU5ESUYg
KCkKKwogICBJRiAoV1RGX1VTRV9GUkVFVFlQRSkKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lO
Q0xVREVfRElSRUNUT1JJRVMKICAgICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGlj
cy9mcmVldHlwZSIKQEAgLTEzOSw2ICsxNDcsMTIgQEAgSUYgKFdURl9VU0VfQ0FJUk8pCiAgIEVO
RElGICgpCiBFTkRJRiAoKQogCitJRiAoV1RGX1VTRV9USUxFRF9CQUNLSU5HX1NUT1JFKQorICAg
IExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUworICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9U
aWxlZEJhY2tpbmdTdG9yZS5jcHAKKyAgICApCitFTkRJRiAoKQorCiBJRiAoV1RGX1VTRV9TT1VQ
KQogICBMSVNUKEFQUEVORCBXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJD
T1JFX0RJUn0vcGxhdGZvcm0vbmV0d29yay9zb3VwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDI5MDg2
YTYuLmQ3MmFhYWEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxMS0xMS0x
NSAgVG9tYXN6IE1vcmF3c2tpICA8dC5tb3Jhd3NraUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBVc2UgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3RvcmUgaW4gV2ViS2l0IEVGTCBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM1Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVu
dGF0aW9uIHRoYXQgZ2l2ZXMgcG9zc2liaWxpdHkgdG8gdXNlIFdlYkNvcmUncyB0aWxlZCBiYWNr
aW5nIHN0b3JlIGluIEVGTCBXZWJLaXQncyBQb3J0LiBUaGlzIG1ha2VzIEVGTAorICAgICAgICBw
b3J0IGNvbXBsaWFudCB3aXRoIFdlYktpdCdzIGdlbmVyaWMgc29sdXRpb24gb2YgdGlsZWQgYmFj
a2luZyBzdG9yZS4gVGhpcyBpbXBsZW1lbnRhdGlvbiBoYXMgYmVlbiBpbXBsZW1lbnRlZAorICAg
ICAgICB0byB1c2Ugd2l0aCBld2tfdmlld19zaW5nbGUgb25seS4gQW55d2F5LCB0aGUgb2xkIGlt
cGxlbWVudGF0aW9uIG9mIGV3aydzIHRpbGVkIGJhY2tpbmcgc3RvcmUgY2FuIGJlIHN0aWxsIHVz
ZWQKKyAgICAgICAgaW4gdGhlIGV3a192aWV3X3RpbGVkLgorCisgICAgICAgIEZlYXR1cmUgaXMg
ZGlzYWJsZWQgYnkgZGVmYXVsdC4gSXQgY2FuIGJ5IGVuYWJsZWQgYnkgYWRkaW5nIC0tdGlsZWQt
YmFja2luZy1zdG9yZSB0byBidWlsZC13ZWJraXQgcGFyYW1ldGVyLgorCisgICAgICAgIEN1cnJl
bnQgaW1wbGVtZW50YXRpb24gb2YgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3RvcmUgdXNlIFRp
bGVDYWlybyBjbGFzcy4gVGVzdGVkIHdpdGggcmVjZW50IHZlcnNpb24gb2YKKyAgICAgICAgbGli
Y2Fpcm8gMS4xMC4yCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwu
Y3BwOgorICAgICAgICBBZGRlZCBuZXcgZnVuY3Rpb25zLiBJbnRlcm5hbHkgdXNlZCBieSBXZWJD
b3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZSBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNv
cmU6OkNocm9tZUNsaWVudEVmbDo6ZGVsZWdhdGVkU2Nyb2xsUmVxdWVzdGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkNocm9tZUNsaWVudEVmbDo6dmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tpbmdTdG9y
ZSk6IE5ldyBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVmbDo6aW52
YWxpZGF0ZVJvb3RWaWV3KTogTmV3IGZ1bmN0aW9uLgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5oOgorICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgorICAgICAg
ICAqIGV3ay9ld2tfdmlldy5jcHA6CisgICAgICAgIChld2tfdmlld19zZXR0aW5nX3RpbGVkX2Jh
Y2tpbmdfc3RvcmVfZW5hYmxlX3NldCk6IE5ldyBmdW5jdGlvbi4gQWxsb3dzIHRvIGVuYWJsZS9k
aXNhYmxlIFdlYkNvcmUncyBiYWNraW5nCisgICAgICAgIHN0b3JlIHVzZQorICAgICAgICAoZXdr
X3ZpZXdfcGFpbnRfY29udGV4dF9wYWludF9jb250ZW50cyk6IEFkZGVkIGNvZGUgcmVzcG9zaWJs
ZSBmb3IgcGFpbnQgYmFja2luZyBzdG9yZQorICAgICAgICAoZXdrX3ZpZXdfYmFja2luZ19zdG9y
ZV9pbnZhbGlkYXRlKTogTmV3IGZ1bmN0aW9uLiBJbnZhbGlkYXRlcyBiYWNraW5nIHN0b3JlCisg
ICAgICAgIChld2tfdmlld19iYWNraW5nX3N0b3JlX2FkanVjdF92aXNpYmxlX3JlY3QpOiBOZXcg
ZnVuY3Rpb24uIFJlY2FsY3VsYXRlIHZpc2libGUgYXJlYSBvZiBiYWNraW5nIHN0b3JlLgorICAg
ICAgICAqIGV3ay9ld2tfdmlld19zaW5nbGUuY3BwOgorICAgICAgICAoX2V3a192aWV3X3Npbmds
ZV9zbWFydF9hZGQpOiBFbmFibGVkIGJhY2tpbmcgc3RvcmUgZm9yIHNpbmdsZSB2aWV3IG9iamVj
dAorICAgICAgICAoX2V3a192aWV3X3NpbmdsZV9zbWFydF9yZXBhaW50c19wcm9jZXNzKTogQWRk
ZWQgY29kZSB0aGF0IHVwZGF0ZXMgdmlzaWJsZSBhcmVhIG9mIGJhY2tpbmcgc3RvcmUgYmVmb3Jl
IHZpZXcKKyAgICAgICAgcmVwYWludHMuCisKIDIwMTEtMTEtMTUgIEFuZGVycyBDYXJsc3NvbiAg
PGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBIb3N0V2luZG93IHNjcmVlblRvV2luZG93
L3dpbmRvd1RvU2NyZWVuIHNob3VsZCBiZSBzY3JlZW5Ub1Jvb3RWaWV3L3Jvb3RWaWV3VG9TY3Jl
ZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuY3BwCmluZGV4IDkzMjk0NTAuLjAyNTJhZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNjQsNiArNjQs
MTAgQEAKICNpbmNsdWRlIDxFdmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgog
CisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3Rv
cmUuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3RhdGljIGlubGlu
ZSBFdmFzX09iamVjdCoga2l0KEZyYW1lKiBmcmFtZSkKQEAgLTQyNSw2ICs0MjksMjMgQEAgTm90
aWZpY2F0aW9uUHJlc2VudGVyKiBDaHJvbWVDbGllbnRFZmw6Om5vdGlmaWNhdGlvblByZXNlbnRl
cigpIGNvbnN0CiB9CiAjZW5kaWYKIAorI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQordm9p
ZCBDaHJvbWVDbGllbnRFZmw6OmRlbGVnYXRlZFNjcm9sbFJlcXVlc3RlZChjb25zdCBJbnRQb2lu
dCYgcG9pbnQpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworSW50UmVjdCBDaHJvbWVD
bGllbnRFZmw6OnZpc2libGVSZWN0Rm9yVGlsZWRCYWNraW5nU3RvcmUoKSBjb25zdAoreworICAg
IGludCB4LCB5OworICAgIFdlYkNvcmU6OkZsb2F0UmVjdCByZWN0ID0gZXdrX3ZpZXdfcGFnZV9y
ZWN0X2dldChtX3ZpZXcpOworICAgIGNvbnN0IEV2YXNfT2JqZWN0KiBmcmFtZSA9IGV3a192aWV3
X2ZyYW1lX21haW5fZ2V0KG1fdmlldyk7CisKKyAgICBld2tfZnJhbWVfc2Nyb2xsX3Bvc19nZXQo
ZnJhbWUsICZ4LCAmeSk7CisgICAgcmV0dXJuIEludFJlY3QoeCwgeSwgcmVjdC53aWR0aCgpLCBy
ZWN0LmhlaWdodCgpKTsKK30KKyNlbmRpZgorCiB2b2lkIENocm9tZUNsaWVudEVmbDo6cnVuT3Bl
blBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZUNob29z
ZXIpCiB7CiAgICAgUmVmUHRyPEZpbGVDaG9vc2VyPiBjaG9vc2VyID0gcHJwRmlsZUNob29zZXI7
CkBAIC00ODcsNyArNTA4LDExIEBAIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlQ29u
dGVudHMoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhCiAKIHZvaWQgQ2hy
b21lQ2xpZW50RWZsOjppbnZhbGlkYXRlUm9vdFZpZXcoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVj
dCwgYm9vbCBpbW1lZGlhdGUpCiB7CisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAg
ZXdrX3ZpZXdfYmFja2luZ19zdG9yZV9pbnZhbGlkYXRlKG1fdmlldywgdXBkYXRlUmVjdCk7Cisj
ZWxzZQogICAgIG5vdEltcGxlbWVudGVkKCk7CisjZW5kaWYKIH0KIAogdm9pZCBDaHJvbWVDbGll
bnRFZmw6OmludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KGNvbnN0IEludFJlY3QmIHVwZGF0
ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRleCAzN2IyOTk0Li41ZjIzYzU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaApA
QCAtMTM4LDYgKzEzOCwxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7CiAjZW5kaWYKIAorI2lmIFVTRShUSUxF
RF9CQUNLSU5HX1NUT1JFKQorICAgIHZpcnR1YWwgdm9pZCBkZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0
ZWQoY29uc3QgSW50UG9pbnQmKTsKKyAgICB2aXJ0dWFsIEludFJlY3QgdmlzaWJsZVJlY3RGb3JU
aWxlZEJhY2tpbmdTdG9yZSgpIGNvbnN0OworI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcnVu
T3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwogICAgIHZpcnR1YWwg
dm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgRmlsZUljb25Mb2Fk
ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKaW5kZXggZjEyODI1NS4uZmVjM2M2ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRl
ICJld2tfbG9nZ2luZy5oIgogI2luY2x1ZGUgImV3a191dGlsLmgiCiAKKyNpbmNsdWRlIDxJbnRS
ZWN0Lmg+CiAjaW5jbHVkZSA8Y2Fpcm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTE1OCw2ICsxNTksMTIgQEAgdm9pZCBld2tfdmll
d19qc193aW5kb3dfb2JqZWN0X2NsZWFyKEV2YXNfT2JqZWN0KiBvLCBFdmFzX09iamVjdCogZnJh
bWUpOwogCiBpbnQgZXdrX3V0aWxfZHBpX2dldCgpOwogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdf
U1RPUkUpCit2b2lkIGV3a192aWV3X2JhY2tpbmdfc3RvcmVfaW52YWxpZGF0ZShFdmFzX09iamVj
dCosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGFyZWEpOwordm9pZCBld2tfdmlld19iYWNraW5n
X3N0b3JlX2FkanVjdF92aXNpYmxlX3JlY3QoRXZhc19PYmplY3QqKTsKK0VpbmFfQm9vbCBld2tf
dmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5hYmxlX3NldChFdmFzX09iamVjdCos
IGJvb2wgZW5hYmxlKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIHZvaWQg
ZXdrX3ZpZXdfbmVlZF90b3VjaF9ldmVudHNfc2V0KEV2YXNfT2JqZWN0KiwgYm9vbCBuZWVkZWQp
OwogYm9vbCBld2tfdmlld19uZWVkX3RvdWNoX2V2ZW50c19nZXQoY29uc3QgRXZhc19PYmplY3Qq
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDViODBiMjEuLjgxOTQxMzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
IkVkaXRvckNsaWVudEVmbC5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUg
IkZvY3VzQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVM
b2FkZXJDbGllbnRFZmwuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQuaCIKQEAgLTY3LDYgKzY4LDEwIEBACiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50
YXRpb25DbGllbnRFZmwuaCIKICNlbmRpZgogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUp
CisjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmUuaCIKKyNlbmRpZgorCiAjZGVmaW5lIFpPT01f
TUlOICgwLjA1KQogI2RlZmluZSBaT09NX01BWCAoNC4wKQogCkBAIC0yMjgwLDYgKzIyODUsMjYg
QEAgRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfZm9udF9tb25vc3BhY2Vfc2l6ZV9zZXQoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIGludCBzaXoKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIFVT
RShUSUxFRF9CQUNLSU5HX1NUT1JFKQorLyoqCisgKiBAaW50ZXJuYWwKKyAqIEVuYWJsZSBvciBk
aXNhYmxlIHVzZSBvZiBXZWJDb3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZQorICoKKyAqIEBwYXJh
bSBld2tWaWV3IFZpZXcuCisgKiBAb2FyYW0gZW5hYmxlIEVuYWJsZSBvciBEaXNhYmxlIFdlYkNv
cmUncyB0aWxlZCBiYWNraW5nIHN0b3JlIGZvciBnaXZlbiBWaWV3CisgKiBAcmV0dXJuIHRydWUg
b24gc3VjY2Vzcywgb3IgZmFsc2Ugb24gZmFpbHVyZQorICoKKyAqIEBub3RlIHRoaXMgaXMgbm90
IGZvciBnZW5lcmFsIHVzZSBpdCBzaG91bGQgYmUgdXNlZCBmb3Igc2luZ2xlIHZpZXcgb25seS4K
KyAqLworRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFi
bGVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBib29sIGVuYWJsZSkKK3sKKyAgICBFV0tfVklF
V19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgRUlOQV9GQUxTRSk7CisgICAg
RVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgRUlOQV9GQUxTRSk7
CisgICAgcHJpdi0+cGFnZVNldHRpbmdzLT5zZXRUaWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoZW5h
YmxlKTsKKyAgICByZXR1cm4gRUlOQV9UUlVFOworfQorI2VuZGlmCisKIGNvbnN0IGNoYXIqIGV3
a192aWV3X2ZvbnRfZmFtaWx5X25hbWVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3LCBF
d2tfRm9udF9GYW1pbHkgZm9udEZhbWlseSkKIHsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVU
VVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgMCk7CkBAIC0yNjIzLDEwICsyNjQ4LDUwIEBAIHZvaWQg
ZXdrX3ZpZXdfcGFpbnRfY29udGV4dF9wYWludF9jb250ZW50cyhFd2tfVmlld19QYWludF9Db250
ZXh0KiBjb250ZXh0LCBjb25zCiAKICAgICBpZiAoY29udGV4dC0+dmlldy0+aXNUcmFuc3BhcmVu
dCgpKQogICAgICAgICBjb250ZXh0LT5ncmFwaGljQ29udGV4dC0+Y2xlYXJSZWN0KHJlY3QpOwot
CisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgaWYgKGNvbnRleHQtPnZpZXctPmZy
YW1lKCktPnRpbGVkQmFja2luZ1N0b3JlKCkpCisgICAgICAgIGNvbnRleHQtPnZpZXctPmZyYW1l
KCktPnRpbGVkQmFja2luZ1N0b3JlKCktPnBhaW50KGNvbnRleHQtPmdyYXBoaWNDb250ZXh0LCBy
ZWN0KTsKKyAgICBlbHNlCisjZW5kaWYKICAgICBjb250ZXh0LT52aWV3LT5wYWludENvbnRlbnRz
KGNvbnRleHQtPmdyYXBoaWNDb250ZXh0LCByZWN0KTsKIH0KIAorI2lmIFVTRShUSUxFRF9CQUNL
SU5HX1NUT1JFKQorLyoqCisgKiBAaW50ZXJuYWwKKyAqIEludmFsaWRhdGUgZ2l2ZW4gYXJlYSB0
byByZXBhaW50LiBUaGUgYmFja2luZyBzdG9yZSB3aWxsIG1hcmsgdGlsZXMgdGhhdCBhcmUKKyAq
IGluIHRoZSBhcmVhIGFzIGRpcnR5LgorICoKKyAqIEBwYXJhbSBld2tWaWV3IFZpZXcuCisgKiBA
cGFyYW0gYXJlYSBBcmVhIHRvIGludmFsaWRhdGUKKyAqLwordm9pZCBld2tfdmlld19iYWNraW5n
X3N0b3JlX2ludmFsaWRhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIGFyZWEpCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4oZXdrVmlldyk7
CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOworICAg
IEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAgaWYg
KHByaXYtPm1haW5GcmFtZS0+dGlsZWRCYWNraW5nU3RvcmUoKSkKKyAgICAgICAgcHJpdi0+bWFp
bkZyYW1lLT50aWxlZEJhY2tpbmdTdG9yZSgpLT5pbnZhbGlkYXRlKGFyZWEpOworfQorCisvKioK
KyAqIEBpbnRlcm5hbAorICogUmVjYWxjdWxhdGUgdmlzaWJsZSBhcmVhIG9mIGJhY2tpbmcgc3Rv
cmUKKyAqCisgKiBAcGFyYW0gZXdrVmlldyBWaWV3LgorICovCit2b2lkIGV3a192aWV3X2JhY2tp
bmdfc3RvcmVfYWRqdWN0X3Zpc2libGVfcmVjdChFdmFzX09iamVjdCogZXdrVmlldykKK3sKKyAg
ICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihld2tWaWV3KTsKKyAgICBFV0tfVklFV19TRF9H
RVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRf
T1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdik7CisKKyAgICBpZiAocHJpdi0+bWFpbkZyYW1lLT50
aWxlZEJhY2tpbmdTdG9yZSgpKQorICAgICAgICBwcml2LT5tYWluRnJhbWUtPnRpbGVkQmFja2lu
Z1N0b3JlKCktPmFkanVzdFZpc2libGVSZWN0KCk7Cit9CisjZW5kaWYKKwogdm9pZCBld2tfdmll
d19wYWludF9jb250ZXh0X3NjYWxlKEV3a19WaWV3X1BhaW50X0NvbnRleHQqIGNvbnRleHQsIGZs
b2F0IHNjYWxlWCwgZmxvYXQgc2NhbGVZKQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVU
VVJOKGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3
X3NpbmdsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfc2luZ2xlLmNwcApp
bmRleCBmYjc0NDg2Li5kMTg3OWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXdfc2luZ2xlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdf
c2luZ2xlLmNwcApAQCAtNTIsNiArNTIsOSBAQCBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfc2luZ2xl
X3NtYXJ0X2FkZChFdmFzX09iamVjdCogZXdrVmlldykKIAogICAgIGV2YXNfb2JqZWN0X2V2ZW50
X2NhbGxiYWNrX2FkZAogICAgICAgICAoc21hcnREYXRhLT5iYWNraW5nX3N0b3JlLCBFVkFTX0NB
TExCQUNLX0RFTCwgX2V3a192aWV3X3NpbmdsZV9vbl9kZWwsIGNsaXApOworI2lmIFVTRShUSUxF
RF9CQUNLSU5HX1NUT1JFKQorICAgIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9y
ZV9lbmFibGVfc2V0KGV3a1ZpZXcsIEVJTkFfVFJVRSk7CisjZW5kaWYKIH0KIAogc3RhdGljIEV2
YXNfT2JqZWN0KiBfZXdrX3ZpZXdfc2luZ2xlX3NtYXJ0X2JhY2tpbmdfc3RvcmVfYWRkKEV3a19W
aWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSkKQEAgLTQ0Niw2ICs0NDksMTAgQEAgc3RhdGljIEVp
bmFfQm9vbCBfZXdrX3ZpZXdfc2luZ2xlX3NtYXJ0X3JlcGFpbnRzX3Byb2Nlc3MoRXdrX1ZpZXdf
U21hcnRfRGF0YSogc20KICAgICBpbnQgc3gsIHN5OwogICAgIGV3a19mcmFtZV9zY3JvbGxfcG9z
X2dldChzbWFydERhdGEtPm1haW5fZnJhbWUsICZzeCwgJnN5KTsKIAorI2lmIFVTRShUSUxFRF9C
QUNLSU5HX1NUT1JFKQorICAgIGV3a192aWV3X2JhY2tpbmdfc3RvcmVfYWRqdWN0X3Zpc2libGVf
cmVjdChzbWFydERhdGEtPnNlbGYpOworI2VuZGlmCisKICAgICBFSU5BX0lURVJBVE9SX0ZPUkVB
Q0goaXRlcmF0b3IsIHJlY3QpIHsKICAgICAgICAgRWluYV9SZWN0YW5nbGUgc2Nyb2xsZWRfcmVj
dCA9IHsKICAgICAgICAgICAgIHJlY3QtPnggKyBzeCwgcmVjdC0+eSArIHN5LApkaWZmIC0tZ2l0
IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZQppbmRleCA0OWM4ZWVmLi5jYzUzM2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Uv
T3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAt
MTU4LDQgKzE1OCw4IEBAIElGIChFTkFCTEVfVklERU8pCiAgIEFERF9ERUZJTklUSU9OUygtRFdU
Rl9VU0VfR1NUUkVBTUVSPTEpCiBFTkRJRigpCiAKK0lGIChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdf
U1RPUkUpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSkK
K0VORElGKCkKKwogU0VUKENQQUNLX1NPVVJDRV9HRU5FUkFUT1IgVEJaMikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119998</attachid>
            <date>2011-12-20 02:03:55 -0800</date>
            <delta_ts>2011-12-21 01:16:32 -0800</delta_ts>
            <desc>Rebased and updated according to KwangHyuk suggestions</desc>
            <filename>patch_tbs_5.patch</filename>
            <type>text/plain</type>
            <size>12831</size>
            <attacher name="Tomasz Morawski">t.morawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA1NjcyYmYwLi5lMjllNzI2
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMTItMjAgIFRvbWFzeiBNb3Jhd3NraSAgPHQubW9yYXdza2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF0gVXNlIFdlYkNvcmUncyB0aWxlZCBiYWNraW5nIHN0b3JlIGluIFdlYktp
dCBFRkwgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzEzNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTZXRzIFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSBkZWZpbmUgd2hlbiBidWlsZC13ZWJr
aXQgc2NyaXB0IHdhcyBydW4gd2l0aCAtLXRpbGVkLWJhY2tpbmctc3RvcmUgcGFyYW1ldGVyLgor
CisgICAgICAgIEZlYXR1cmUgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC4gSXQgY2FuIGJ5IGVuYWJs
ZWQgYnkgYWRkaW5nIC0tdGlsZWQtYmFja2luZy1zdG9yZSB0byBidWlsZC13ZWJraXQgcGFyYW1l
dGVycy4KKworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIFdlYkNvcmUncyB0aWxl
ZCBiYWNraW5nIHN0b3JlIHVzZSBUaWxlQ2Fpcm8gY2xhc3MuIFRlc3RlZCB3aXRoIHJlY2VudCB2
ZXJzaW9uIG9mCisgICAgICAgIGxpYmNhaXJvIDEuMTAuMgorCisgICAgICAgICogU291cmNlL2Nt
YWtlL09wdGlvbnNFZmwuY21ha2U6CisKIDIwMTEtMTItMTggIFNpbW9uIEhhdXNtYW5uICA8c2lt
b24uaGF1c21hbm5Abm9raWEuY29tPgogCiAgICAgICAgIFJlbmFtZSBFZGl0Q29tbWFuZFF0IHRv
IFVuZG9TdGVwUXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1NGUyNGRlLi4yYTE0ZDUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTEtMTItMjAgIFRvbWFzeiBNb3Jhd3NraSAgPHQubW9yYXdza2lA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gVXNlIFdlYkNvcmUncyB0aWxlZCBiYWNraW5n
IHN0b3JlIGluIFdlYktpdCBFRkwgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGZWF0dXJlIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuIEl0IGNhbiBi
eSBlbmFibGVkIGJ5IGFkZGluZyAtLXRpbGVkLWJhY2tpbmctc3RvcmUgdG8gYnVpbGQtd2Via2l0
IHBhcmFtZXRlci4KKworICAgICAgICBBZGRlZCBUaWxlQ2Fpcm8gcmVsYXRlZCBmaWxlcyBuZWVk
ZWQgYnkgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3RvcmUgaW1wbGVtZW50YXRpb24uIFRoZSBU
aWxlQ2Fpcm8gY2xhc3MgbmVlZHMKKyAgICAgICAgbGliY2Fpcm8gdGhhdCBzdXBwb3J0cyBjYWly
b19yZWdpb25fdC4gVGVzdGVkIHdpdGggbGliY2Fpcm8gMS4xMC4yIChyZWNlbnQpLgorCisgICAg
ICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisKIDIwMTEtMTItMjAgIEFsb2sgUHJpeWFkYXJzaGkg
IDxhbG9rcEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBjb21wb3NpdGluZy9z
aGFkb3dzIHRlc3RzIGZhaWwgd2l0aCBhY2NlbGVyYXRlZCBwYWludGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUVmbC5jbWFrZQppbmRleCAxZTYzYjAyLi4xZTVhNWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5j
bWFrZQpAQCAtMTA1LDYgKzEwNSwxNCBAQCBJRiAoV1RGX1VTRV9DQUlSTykKICAgICBwbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9jYWlyby9JbWFnZURlY29kZXJDYWlyby5jcHAKICAgKQogCisgIElG
IChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgTElTVChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ludFJlY3RDYWlyby5jcHAK
KyAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVGlsZWRCYWNraW5nU3RvcmVCYWNrZW5k
Q2Fpcm8uY3BwCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1RpbGVDYWlyby5jcHAK
KyAgICApCisgIEVORElGICgpCisKICAgSUYgKFdURl9VU0VfRlJFRVRZUEUpCiAgICAgTElTVChB
UFBFTkQgV2ViQ29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgICAiJHtXRUJDT1JFX0RJUn0v
cGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUiCkBAIC0xNDQsNiArMTUyLDEyIEBAIElGIChXVEZf
VVNFX0NBSVJPKQogICBFTkRJRiAoKQogRU5ESUYgKCkKIAorSUYgKFdURl9VU0VfVElMRURfQkFD
S0lOR19TVE9SRSkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCisgICAgKQorRU5ESUYgKCkKKwog
SUYgKFdURl9VU0VfU09VUCkKICAgTElTVChBUFBFTkQgV2ViQ29yZV9JTkNMVURFX0RJUkVDVE9S
SUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL25ldHdvcmsvc291cCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZwppbmRleCBkNTY5ODBjLi4xNzVmNDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzggQEAKKzIwMTEtMTItMjAgIFRvbWFzeiBNb3Jhd3NraSAgPHQubW9yYXdza2lAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgW0VGTF0gVXNlIFdlYkNvcmUncyB0aWxlZCBiYWNraW5nIHN0b3JlIGlu
IFdlYktpdCBFRkwgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzEzNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbXBsZW1lbnRhdGlvbiB0aGF0IGdpdmVzIHBvc3NpYmlsaXR5IHRvIHVzZSBXZWJD
b3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZSBpbiBFRkwgV2ViS2l0J3MgUG9ydC4gVGhpcyBtYWtl
cyBFRkwKKyAgICAgICAgcG9ydCBjb21wbGlhbnQgd2l0aCBXZWJLaXQncyBnZW5lcmljIHNvbHV0
aW9uIG9mIHRpbGVkIGJhY2tpbmcgc3RvcmUuIFRoaXMgaW1wbGVtZW50YXRpb24gaGFzIGJlZW4g
aW1wbGVtZW50ZWQKKyAgICAgICAgdG8gdXNlIHdpdGggZXdrX3ZpZXdfc2luZ2xlIG9ubHkuIEFu
eXdheSwgdGhlIG9sZCBpbXBsZW1lbnRhdGlvbiBvZiBld2sncyB0aWxlZCBiYWNraW5nIHN0b3Jl
IGNhbiBiZSBzdGlsbCB1c2VkCisgICAgICAgIGluIHRoZSBld2tfdmlld190aWxlZC4KKworICAg
ICAgICBGZWF0dXJlIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuIEl0IGNhbiBieSBlbmFibGVkIGJ5
IGFkZGluZyAtLXRpbGVkLWJhY2tpbmctc3RvcmUgdG8gYnVpbGQtd2Via2l0IHBhcmFtZXRlci4K
KworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIFdlYkNvcmUncyB0aWxlZCBiYWNr
aW5nIHN0b3JlIHVzZSBUaWxlQ2Fpcm8gY2xhc3MuIFRlc3RlZCB3aXRoIHJlY2VudCB2ZXJzaW9u
IG9mCisgICAgICAgIGxpYmNhaXJvIDEuMTAuMgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgQWRkZWQgbmV3IGZ1bmN0aW9ucy4gSW50ZXJu
YWx5IHVzZWQgYnkgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3RvcmUgaW1wbGVtZW50YXRpb24u
CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OmRlbGVnYXRlZFNjcm9sbFJlcXVl
c3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OnZpc2libGVSZWN0Rm9y
VGlsZWRCYWNraW5nU3RvcmUpOiBOZXcgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpDaHJv
bWVDbGllbnRFZmw6OmludmFsaWRhdGVSb290Vmlldyk6IE5ldyBmdW5jdGlvbi4KKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKiBld2svZXdrX3By
aXZhdGUuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdf
c2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZV9zZXQpOiBOZXcgZnVuY3Rpb24uIEFs
bG93cyB0byBlbmFibGUvZGlzYWJsZSBXZWJDb3JlJ3MgYmFja2luZworICAgICAgICBzdG9yZSB1
c2UKKyAgICAgICAgKGV3a192aWV3X3BhaW50X2NvbnRleHRfcGFpbnRfY29udGVudHMpOiBBZGRl
ZCBjb2RlIHJlc3Bvc2libGUgZm9yIHBhaW50IGJhY2tpbmcgc3RvcmUKKyAgICAgICAgKGV3a192
aWV3X2JhY2tpbmdfc3RvcmVfaW52YWxpZGF0ZSk6IE5ldyBmdW5jdGlvbi4gSW52YWxpZGF0ZXMg
YmFja2luZyBzdG9yZQorICAgICAgICAoZXdrX3ZpZXdfYmFja2luZ19zdG9yZV9hZGp1c3Rfdmlz
aWJsZV9yZWN0KTogTmV3IGZ1bmN0aW9uLiBSZWNhbGN1bGF0ZSB2aXNpYmxlIGFyZWEgb2YgYmFj
a2luZyBzdG9yZS4KKyAgICAgICAgKiBld2svZXdrX3ZpZXdfc2luZ2xlLmNwcDoKKyAgICAgICAg
KF9ld2tfdmlld19zaW5nbGVfc21hcnRfYWRkKTogRW5hYmxlZCBiYWNraW5nIHN0b3JlIGZvciBz
aW5nbGUgdmlldyBvYmplY3QKKyAgICAgICAgKF9ld2tfdmlld19zaW5nbGVfc21hcnRfcmVwYWlu
dHNfcHJvY2Vzcyk6IEFkZGVkIGNvZGUgdGhhdCB1cGRhdGVzIHZpc2libGUgYXJlYSBvZiBiYWNr
aW5nIHN0b3JlIGJlZm9yZSB2aWV3CisgICAgICAgIHJlcGFpbnRzLgorCiAyMDExLTEyLTE5ICBS
eXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBDaGFu
Z2UgdGhlIGJlaGF2aW9yIG9mIGV3a192aWV3X3NjYWxlX3NldC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4IGY2ZWY0
MGIuLjI4NWQxNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNjQsNiArNjQsMTAgQEAKICNpbmNsdWRlICJEYXRh
YmFzZVRyYWNrZXIuaCIKICNlbmRpZgogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisj
aW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmUuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogc3RhdGljIGlubGluZSBFdmFzX09iamVjdCoga2l0KEZyYW1lKiBmcmFtZSkK
QEAgLTQyNSw2ICs0MjksMjMgQEAgTm90aWZpY2F0aW9uUHJlc2VudGVyKiBDaHJvbWVDbGllbnRF
Zmw6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0CiB9CiAjZW5kaWYKIAorI2lmIFVTRShU
SUxFRF9CQUNLSU5HX1NUT1JFKQordm9pZCBDaHJvbWVDbGllbnRFZmw6OmRlbGVnYXRlZFNjcm9s
bFJlcXVlc3RlZChjb25zdCBJbnRQb2ludCYgcG9pbnQpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKK30KKworSW50UmVjdCBDaHJvbWVDbGllbnRFZmw6OnZpc2libGVSZWN0Rm9yVGlsZWRCYWNr
aW5nU3RvcmUoKSBjb25zdAoreworICAgIGludCB4LCB5OworICAgIFdlYkNvcmU6OkZsb2F0UmVj
dCByZWN0ID0gZXdrX3ZpZXdfcGFnZV9yZWN0X2dldChtX3ZpZXcpOworICAgIGNvbnN0IEV2YXNf
T2JqZWN0KiBmcmFtZSA9IGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldyk7CisKKyAgICBl
d2tfZnJhbWVfc2Nyb2xsX3Bvc19nZXQoZnJhbWUsICZ4LCAmeSk7CisgICAgcmV0dXJuIEludFJl
Y3QoeCwgeSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKK30KKyNlbmRpZgorCiB2b2lk
IENocm9tZUNsaWVudEVmbDo6cnVuT3BlblBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxG
aWxlQ2hvb3Nlcj4gcHJwRmlsZUNob29zZXIpCiB7CiAgICAgUmVmUHRyPEZpbGVDaG9vc2VyPiBj
aG9vc2VyID0gcHJwRmlsZUNob29zZXI7CkBAIC00ODcsNyArNTA4LDExIEBAIHZvaWQgQ2hyb21l
Q2xpZW50RWZsOjppbnZhbGlkYXRlQ29udGVudHMoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwg
Ym9vbCBpbW1lZGlhCiAKIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlUm9vdFZpZXco
Y29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCiB7CisjaWYgVVNFKFRJ
TEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgZXdrX3ZpZXdfYmFja2luZ19zdG9yZV9pbnZhbGlkYXRl
KG1fdmlldywgdXBkYXRlUmVjdCk7CisjZWxzZQogICAgIG5vdEltcGxlbWVudGVkKCk7CisjZW5k
aWYKIH0KIAogdm9pZCBDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVDb250ZW50c0FuZFJvb3RW
aWV3KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmggYi9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRleCA0
YjQ3YzczLi41MjNmNDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuaApAQCAtMTQyLDYgKzE0MiwxMSBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIGV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7
CiAjZW5kaWYKIAorI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIHZpcnR1YWwgdm9p
ZCBkZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0ZWQoY29uc3QgSW50UG9pbnQmKTsKKyAgICB2aXJ0dWFs
IEludFJlY3QgdmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tpbmdTdG9yZSgpIGNvbnN0OworI2VuZGlm
CisKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxl
Q2hvb3Nlcj4pOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiwgRmlsZUljb25Mb2FkZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRl
RGlkQ2hhbmdlKGNvbnN0IE5vZGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKaW5k
ZXggMDZkMWFjMS4uMGU5OWI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAg
LTE1NCw2ICsxNTQsMTIgQEAgdm9pZCBld2tfdmlld19qc193aW5kb3dfb2JqZWN0X2NsZWFyKEV2
YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX09iamVjdCogZnJhbWUpOwogCiBpbnQgZXdrX3V0aWxf
ZHBpX2dldCgpOwogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCit2b2lkIGV3a192aWV3
X2JhY2tpbmdfc3RvcmVfaW52YWxpZGF0ZShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYgYXJlYSk7Cit2b2lkIGV3a192aWV3X2JhY2tpbmdfc3RvcmVfYWRqdXN0
X3Zpc2libGVfcmVjdChFdmFzX09iamVjdCogZXdrVmlldyk7CitFaW5hX0Jvb2wgZXdrX3ZpZXdf
c2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZV9zZXQoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIGJvb2wgZW5hYmxlKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIHZv
aWQgZXdrX3ZpZXdfbmVlZF90b3VjaF9ldmVudHNfc2V0KEV2YXNfT2JqZWN0KiwgYm9vbCBuZWVk
ZWQpOwogYm9vbCBld2tfdmlld19uZWVkX3RvdWNoX2V2ZW50c19nZXQoY29uc3QgRXZhc19PYmpl
Y3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAgYi9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDkxZWVlYTEuLjAzYWI4MTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1
ZGUgIkVkaXRvckNsaWVudEVmbC5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1
ZGUgIkZvY3VzQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJh
bWVMb2FkZXJDbGllbnRFZmwuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHQuaCIKQEAgLTY2LDYgKzY3LDEwIEBACiAjaW5jbHVkZSAiRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRFZmwuaCIKICNlbmRpZgogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RP
UkUpCisjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmUuaCIKKyNlbmRpZgorCiAjZGVmaW5lIFpP
T01fTUlOICgwLjA1KQogI2RlZmluZSBaT09NX01BWCAoNC4wKQogCkBAIC0yMjcyLDYgKzIyNzcs
MjYgQEAgRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfZm9udF9tb25vc3BhY2Vfc2l6ZV9zZXQo
RXZhc19PYmplY3QqIGV3a1ZpZXcsIGludCBzaXoKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lm
IFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorLyoqCisgKiBAaW50ZXJuYWwKKyAqIEVuYWJsZSBv
ciBkaXNhYmxlIHVzZSBvZiBXZWJDb3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZQorICoKKyAqIEBw
YXJhbSBld2tWaWV3IFZpZXcuCisgKiBAb2FyYW0gZW5hYmxlIEVuYWJsZSBvciBEaXNhYmxlIFdl
YkNvcmUncyB0aWxlZCBiYWNraW5nIHN0b3JlIGZvciBnaXZlbiBWaWV3CisgKiBAcmV0dXJuIHRy
dWUgb24gc3VjY2Vzcywgb3IgZmFsc2Ugb24gZmFpbHVyZQorICoKKyAqIEBub3RlIHRoaXMgaXMg
bm90IGZvciBnZW5lcmFsIHVzZSBpdCBzaG91bGQgYmUgdXNlZCBmb3Igc2luZ2xlIHZpZXcgb25s
eS4KKyAqLworRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9l
bmFibGVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBib29sIGVuYWJsZSkKK3sKKyAgICBFV0tf
VklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOworICAgIEVX
S19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIGZhbHNlKTsKKyAgICBw
cml2LT5wYWdlU2V0dGluZ3MtPnNldFRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZChlbmFibGUpOwor
ICAgIHJldHVybiBFSU5BX1RSVUU7Cit9CisjZW5kaWYKKwogY29uc3QgY2hhciogZXdrX3ZpZXdf
Zm9udF9mYW1pbHlfbmFtZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV3a19Gb250
X0ZhbWlseSBmb250RmFtaWx5KQogewogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdr
Vmlldywgc21hcnREYXRhLCAwKTsKQEAgLTI2MTUsMTAgKzI2NDAsNTAgQEAgdm9pZCBld2tfdmll
d19wYWludF9jb250ZXh0X3BhaW50X2NvbnRlbnRzKEV3a19WaWV3X1BhaW50X0NvbnRleHQqIGNv
bnRleHQsIGNvbnMKIAogICAgIGlmIChjb250ZXh0LT52aWV3LT5pc1RyYW5zcGFyZW50KCkpCiAg
ICAgICAgIGNvbnRleHQtPmdyYXBoaWNDb250ZXh0LT5jbGVhclJlY3QocmVjdCk7Ci0KKyNpZiBV
U0UoVElMRURfQkFDS0lOR19TVE9SRSkKKyAgICBpZiAoY29udGV4dC0+dmlldy0+ZnJhbWUoKS0+
dGlsZWRCYWNraW5nU3RvcmUoKSkKKyAgICAgICAgY29udGV4dC0+dmlldy0+ZnJhbWUoKS0+dGls
ZWRCYWNraW5nU3RvcmUoKS0+cGFpbnQoY29udGV4dC0+Z3JhcGhpY0NvbnRleHQsIHJlY3QpOwor
ICAgIGVsc2UKKyNlbmRpZgogICAgIGNvbnRleHQtPnZpZXctPnBhaW50Q29udGVudHMoY29udGV4
dC0+Z3JhcGhpY0NvbnRleHQsIHJlY3QpOwogfQogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RP
UkUpCisvKioKKyAqIEBpbnRlcm5hbAorICogSW52YWxpZGF0ZSBnaXZlbiBhcmVhIHRvIHJlcGFp
bnQuIFRoZSBiYWNraW5nIHN0b3JlIHdpbGwgbWFyayB0aWxlcyB0aGF0IGFyZQorICogaW4gdGhl
IGFyZWEgYXMgZGlydHkuCisgKgorICogQHBhcmFtIGV3a1ZpZXcgVmlldy4KKyAqIEBwYXJhbSBh
cmVhIEFyZWEgdG8gaW52YWxpZGF0ZQorICovCit2b2lkIGV3a192aWV3X2JhY2tpbmdfc3RvcmVf
aW52YWxpZGF0ZShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
YXJlYSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihld2tWaWV3KTsKKyAgICBF
V0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJ
RVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdik7CisKKyAgICBpZiAocHJpdi0+
bWFpbkZyYW1lLT50aWxlZEJhY2tpbmdTdG9yZSgpKQorICAgICAgICBwcml2LT5tYWluRnJhbWUt
PnRpbGVkQmFja2luZ1N0b3JlKCktPmludmFsaWRhdGUoYXJlYSk7Cit9CisKKy8qKgorICogQGlu
dGVybmFsCisgKiBSZWNhbGN1bGF0ZSB2aXNpYmxlIGFyZWEgb2YgYmFja2luZyBzdG9yZQorICoK
KyAqIEBwYXJhbSBld2tWaWV3IFZpZXcuCisgKi8KK3ZvaWQgZXdrX3ZpZXdfYmFja2luZ19zdG9y
ZV9hZGp1c3RfdmlzaWJsZV9yZWN0KEV2YXNfT2JqZWN0KiBld2tWaWV3KQoreworICAgIEVJTkFf
U0FGRVRZX09OX05VTExfUkVUVVJOKGV3a1ZpZXcpOworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9S
RVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRV
Uk4oc21hcnREYXRhLCBwcml2KTsKKworICAgIGlmIChwcml2LT5tYWluRnJhbWUtPnRpbGVkQmFj
a2luZ1N0b3JlKCkpCisgICAgICAgIHByaXYtPm1haW5GcmFtZS0+dGlsZWRCYWNraW5nU3RvcmUo
KS0+YWRqdXN0VmlzaWJsZVJlY3QoKTsKK30KKyNlbmRpZgorCiB2b2lkIGV3a192aWV3X3BhaW50
X2NvbnRleHRfc2NhbGUoRXdrX1ZpZXdfUGFpbnRfQ29udGV4dCogY29udGV4dCwgZmxvYXQgc2Nh
bGVYLCBmbG9hdCBzY2FsZVkpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4oY29u
dGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfc2luZ2xl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19zaW5nbGUuY3BwCmluZGV4IDYy
YzMyMWIuLmQyYTk0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmll
d19zaW5nbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19zaW5nbGUu
Y3BwCkBAIC01Miw2ICs1Miw5IEBAIHN0YXRpYyB2b2lkIF9ld2tfdmlld19zaW5nbGVfc21hcnRf
YWRkKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogCiAgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJh
Y2tfYWRkCiAgICAgICAgIChzbWFydERhdGEtPmJhY2tpbmdfc3RvcmUsIEVWQVNfQ0FMTEJBQ0tf
REVMLCBfZXdrX3ZpZXdfc2luZ2xlX29uX2RlbCwgY2xpcCk7CisjaWYgVVNFKFRJTEVEX0JBQ0tJ
TkdfU1RPUkUpCisgICAgZXdrX3ZpZXdfc2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJs
ZV9zZXQoZXdrVmlldywgdHJ1ZSk7CisjZW5kaWYKIH0KIAogc3RhdGljIEV2YXNfT2JqZWN0KiBf
ZXdrX3ZpZXdfc2luZ2xlX3NtYXJ0X2JhY2tpbmdfc3RvcmVfYWRkKEV3a19WaWV3X1NtYXJ0X0Rh
dGEqIHNtYXJ0RGF0YSkKQEAgLTQ1MCw2ICs0NTMsMTAgQEAgc3RhdGljIEVpbmFfQm9vbCBfZXdr
X3ZpZXdfc2luZ2xlX3NtYXJ0X3JlcGFpbnRzX3Byb2Nlc3MoRXdrX1ZpZXdfU21hcnRfRGF0YSog
c20KICAgICBpbnQgc2Nyb2xsWCwgc2Nyb2xsWTsKICAgICBld2tfZnJhbWVfc2Nyb2xsX3Bvc19n
ZXQoc21hcnREYXRhLT5tYWluX2ZyYW1lLCAmc2Nyb2xsWCwgJnNjcm9sbFkpOwogCisjaWYgVVNF
KFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgZXdrX3ZpZXdfYmFja2luZ19zdG9yZV9hZGp1c3Rf
dmlzaWJsZV9yZWN0KHNtYXJ0RGF0YS0+c2VsZik7CisjZW5kaWYKKwogICAgIEVJTkFfSVRFUkFU
T1JfRk9SRUFDSChpdGVyYXRvciwgcmVjdCkgewogICAgICAgICBFaW5hX1JlY3RhbmdsZSBzY3Jv
bGxlZF9yZWN0ID0gewogICAgICAgICAgICAgcmVjdC0+eCArIHNjcm9sbFgsIHJlY3QtPnkgKyBz
Y3JvbGxZLApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3Vy
Y2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCA5MzkyNjJlLi5iOWUyN2E3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0
aW9uc0VmbC5jbWFrZQpAQCAtMTU5LDQgKzE1OSw4IEBAIElGIChFTkFCTEVfVklERU8pCiAgIEFE
RF9ERUZJTklUSU9OUygtRFdURl9VU0VfR1NUUkVBTUVSPTEpCiBFTkRJRigpCiAKK0lGIChXVEZf
VVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfVElM
RURfQkFDS0lOR19TVE9SRSkKK0VORElGKCkKKwogU0VUKENQQUNLX1NPVVJDRV9HRU5FUkFUT1Ig
VEJaMikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120159</attachid>
            <date>2011-12-21 01:16:32 -0800</date>
            <delta_ts>2012-11-14 18:17:55 -0800</delta_ts>
            <desc>Updated</desc>
            <filename>patch6_tbs.patch</filename>
            <type>text/plain</type>
            <size>12886</size>
            <attacher name="Tomasz Morawski">t.morawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwNzhkMGY2Li5hZTlmODgw
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMTItMjEgIFRvbWFzeiBNb3Jhd3NraSAgPHQubW9yYXdza2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF0gVXNlIFdlYkNvcmUncyB0aWxlZCBiYWNraW5nIHN0b3JlIGluIFdlYktp
dCBFRkwgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzEzNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTZXRzIFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSBkZWZpbmUgd2hlbiBidWlsZC13ZWJr
aXQgc2NyaXB0IHdhcyBydW4gd2l0aCAtLXRpbGVkLWJhY2tpbmctc3RvcmUgcGFyYW1ldGVyLgor
CisgICAgICAgIEZlYXR1cmUgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC4gSXQgY2FuIGJ5IGVuYWJs
ZWQgYnkgYWRkaW5nIC0tdGlsZWQtYmFja2luZy1zdG9yZSB0byBidWlsZC13ZWJraXQgcGFyYW1l
dGVycy4KKworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIFdlYkNvcmUncyB0aWxl
ZCBiYWNraW5nIHN0b3JlIHVzZSBUaWxlQ2Fpcm8gY2xhc3MuIFRlc3RlZCB3aXRoIHJlY2VudCB2
ZXJzaW9uIG9mCisgICAgICAgIGxpYmNhaXJvIDEuMTAuMgorCisgICAgICAgICogU291cmNlL2Nt
YWtlL09wdGlvbnNFZmwuY21ha2U6CisKIDIwMTEtMTItMjAgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIGVtYWNzOiB1bnJldmlld2VkLiBhZGQgc2V0
dGluZ3MgZm9yIGVkaXRpbmcganMgZmlsZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjI4NWFhZS4uNjA5MTJj
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTEyLTIxICBUb21hc3ogTW9yYXdz
a2kgIDx0Lm1vcmF3c2tpQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIFVzZSBXZWJDb3Jl
J3MgdGlsZWQgYmFja2luZyBzdG9yZSBpbiBXZWJLaXQgRUZMIHBvcnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMzUyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmVhdHVyZSBpcyBkaXNhYmxlZCBieSBk
ZWZhdWx0LiBJdCBjYW4gYnkgZW5hYmxlZCBieSBhZGRpbmcgLS10aWxlZC1iYWNraW5nLXN0b3Jl
IHRvIGJ1aWxkLXdlYmtpdCBwYXJhbWV0ZXIuCisKKyAgICAgICAgQWRkZWQgVGlsZUNhaXJvIHJl
bGF0ZWQgZmlsZXMgbmVlZGVkIGJ5IFdlYkNvcmUncyB0aWxlZCBiYWNraW5nIHN0b3JlIGltcGxl
bWVudGF0aW9uLiBUaGUgVGlsZUNhaXJvIGNsYXNzIG5lZWRzCisgICAgICAgIGxpYmNhaXJvIHRo
YXQgc3VwcG9ydHMgY2Fpcm9fcmVnaW9uX3QuIFRlc3RlZCB3aXRoIGxpYmNhaXJvIDEuMTAuMiAo
cmVjZW50KS4KKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorCiAyMDExLTEyLTIwICBN
YXJ5IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgVXBzdHJlYW0g
UGFnZUNsaWVudEJsYWNrQmVycnkuaCBpbnRvIFdlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2Vi
Q29yZS9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAxZTYzYjAyLi4xZTVhNWEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
bGF0Zm9ybUVmbC5jbWFrZQpAQCAtMTA1LDYgKzEwNSwxNCBAQCBJRiAoV1RGX1VTRV9DQUlSTykK
ICAgICBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9jYWlyby9JbWFnZURlY29kZXJDYWlyby5jcHAK
ICAgKQogCisgIElGIChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgTElTVChBUFBF
TkQgV2ViQ29yZV9TT1VSQ0VTCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ludFJl
Y3RDYWlyby5jcHAKKyAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVGlsZWRCYWNraW5n
U3RvcmVCYWNrZW5kQ2Fpcm8uY3BwCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1Rp
bGVDYWlyby5jcHAKKyAgICApCisgIEVORElGICgpCisKICAgSUYgKFdURl9VU0VfRlJFRVRZUEUp
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgICAiJHtX
RUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUiCkBAIC0xNDQsNiArMTUyLDEy
IEBAIElGIChXVEZfVVNFX0NBSVJPKQogICBFTkRJRiAoKQogRU5ESUYgKCkKIAorSUYgKFdURl9V
U0VfVElMRURfQkFDS0lOR19TVE9SRSkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMK
KyAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCisgICAgKQor
RU5ESUYgKCkKKwogSUYgKFdURl9VU0VfU09VUCkKICAgTElTVChBUFBFTkQgV2ViQ29yZV9JTkNM
VURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL25ldHdvcmsvc291
cCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvZWZsL0NoYW5nZUxvZwppbmRleCBkNTY5ODBjLi5jOGZiNGM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzggQEAKKzIwMTEtMTItMjEgIFRvbWFzeiBNb3Jhd3NraSAgPHQubW9yYXdz
a2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gVXNlIFdlYkNvcmUncyB0aWxlZCBiYWNr
aW5nIHN0b3JlIGluIFdlYktpdCBFRkwgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRhdGlvbiB0aGF0IGdpdmVzIHBvc3NpYmlsaXR5
IHRvIHVzZSBXZWJDb3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZSBpbiBFRkwgV2ViS2l0J3MgUG9y
dC4gVGhpcyBtYWtlcyBFRkwKKyAgICAgICAgcG9ydCBjb21wbGlhbnQgd2l0aCBXZWJLaXQncyBn
ZW5lcmljIHNvbHV0aW9uIG9mIHRpbGVkIGJhY2tpbmcgc3RvcmUuIFRoaXMgaW1wbGVtZW50YXRp
b24gaGFzIGJlZW4gaW1wbGVtZW50ZWQKKyAgICAgICAgdG8gdXNlIHdpdGggZXdrX3ZpZXdfc2lu
Z2xlIG9ubHkuIEFueXdheSwgdGhlIG9sZCBpbXBsZW1lbnRhdGlvbiBvZiBld2sncyB0aWxlZCBi
YWNraW5nIHN0b3JlIGNhbiBiZSBzdGlsbCB1c2VkCisgICAgICAgIGluIHRoZSBld2tfdmlld190
aWxlZC4KKworICAgICAgICBGZWF0dXJlIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuIEl0IGNhbiBi
eSBlbmFibGVkIGJ5IGFkZGluZyAtLXRpbGVkLWJhY2tpbmctc3RvcmUgdG8gYnVpbGQtd2Via2l0
IHBhcmFtZXRlci4KKworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIFdlYkNvcmUn
cyB0aWxlZCBiYWNraW5nIHN0b3JlIHVzZSBUaWxlQ2Fpcm8gY2xhc3MuIFRlc3RlZCB3aXRoIHJl
Y2VudCB2ZXJzaW9uIG9mCisgICAgICAgIGxpYmNhaXJvIDEuMTAuMgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgQWRkZWQgbmV3IGZ1bmN0
aW9ucy4gSW50ZXJuYWx5IHVzZWQgYnkgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3RvcmUgaW1w
bGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OmRlbGVnYXRl
ZFNjcm9sbFJlcXVlc3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OnZp
c2libGVSZWN0Rm9yVGlsZWRCYWNraW5nU3RvcmUpOiBOZXcgZnVuY3Rpb24uCisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVSb290Vmlldyk6IE5ldyBmdW5jdGlv
bi4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAg
KiBld2svZXdrX3ByaXZhdGUuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAg
ICAoZXdrX3ZpZXdfc2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZV9zZXQpOiBOZXcg
ZnVuY3Rpb24uIEFsbG93cyB0byBlbmFibGUvZGlzYWJsZSBXZWJDb3JlJ3MgYmFja2luZworICAg
ICAgICBzdG9yZSB1c2UKKyAgICAgICAgKGV3a192aWV3X3BhaW50X2NvbnRleHRfcGFpbnRfY29u
dGVudHMpOiBBZGRlZCBjb2RlIHJlc3Bvc2libGUgZm9yIHBhaW50IGJhY2tpbmcgc3RvcmUKKyAg
ICAgICAgKGV3a192aWV3X3RpbGVkX2JhY2tpbmdfc3RvcmVfaW52YWxpZGF0ZSk6IE5ldyBmdW5j
dGlvbi4gSW52YWxpZGF0ZXMgYmFja2luZyBzdG9yZQorICAgICAgICAoZXdrX3ZpZXdfdGlsZWRf
YmFja2luZ19zdG9yZV9hZGp1c3RfdmlzaWJsZV9yZWN0KTogTmV3IGZ1bmN0aW9uLiBSZWNhbGN1
bGF0ZSB2aXNpYmxlIGFyZWEgb2YgYmFja2luZyBzdG9yZS4KKyAgICAgICAgKiBld2svZXdrX3Zp
ZXdfc2luZ2xlLmNwcDoKKyAgICAgICAgKF9ld2tfdmlld19zaW5nbGVfc21hcnRfYWRkKTogRW5h
YmxlZCBiYWNraW5nIHN0b3JlIGZvciBzaW5nbGUgdmlldyBvYmplY3QKKyAgICAgICAgKF9ld2tf
dmlld19zaW5nbGVfc21hcnRfcmVwYWludHNfcHJvY2Vzcyk6IEFkZGVkIGNvZGUgdGhhdCB1cGRh
dGVzIHZpc2libGUgYXJlYSBvZiBiYWNraW5nIHN0b3JlIGJlZm9yZSB2aWV3CisgICAgICAgIHJl
cGFpbnRzLgorCiAyMDExLTEyLTE5ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNv
bT4KIAogICAgICAgICBbRUZMXSBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGV3a192aWV3X3NjYWxl
X3NldC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRFZmwuY3BwCmluZGV4IGY2ZWY0MGIuLjg1NzE0ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNjQsNiAr
NjQsMTAgQEAKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKICNlbmRpZgogCisjaWYgVVNF
KFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmUuaCIKKyNl
bmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3RhdGljIGlubGluZSBFdmFzX09i
amVjdCoga2l0KEZyYW1lKiBmcmFtZSkKQEAgLTQyNSw2ICs0MjksMjMgQEAgTm90aWZpY2F0aW9u
UHJlc2VudGVyKiBDaHJvbWVDbGllbnRFZmw6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0
CiB9CiAjZW5kaWYKIAorI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQordm9pZCBDaHJvbWVD
bGllbnRFZmw6OmRlbGVnYXRlZFNjcm9sbFJlcXVlc3RlZChjb25zdCBJbnRQb2ludCYgcG9pbnQp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworSW50UmVjdCBDaHJvbWVDbGllbnRFZmw6
OnZpc2libGVSZWN0Rm9yVGlsZWRCYWNraW5nU3RvcmUoKSBjb25zdAoreworICAgIGludCB4LCB5
OworICAgIFdlYkNvcmU6OkZsb2F0UmVjdCByZWN0ID0gZXdrX3ZpZXdfcGFnZV9yZWN0X2dldCht
X3ZpZXcpOworICAgIGNvbnN0IEV2YXNfT2JqZWN0KiBmcmFtZSA9IGV3a192aWV3X2ZyYW1lX21h
aW5fZ2V0KG1fdmlldyk7CisKKyAgICBld2tfZnJhbWVfc2Nyb2xsX3Bvc19nZXQoZnJhbWUsICZ4
LCAmeSk7CisgICAgcmV0dXJuIEludFJlY3QoeCwgeSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdo
dCgpKTsKK30KKyNlbmRpZgorCiB2b2lkIENocm9tZUNsaWVudEVmbDo6cnVuT3BlblBhbmVsKEZy
YW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZUNob29zZXIpCiB7CiAg
ICAgUmVmUHRyPEZpbGVDaG9vc2VyPiBjaG9vc2VyID0gcHJwRmlsZUNob29zZXI7CkBAIC00ODcs
NyArNTA4LDExIEBAIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlQ29udGVudHMoY29u
c3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhCiAKIHZvaWQgQ2hyb21lQ2xpZW50
RWZsOjppbnZhbGlkYXRlUm9vdFZpZXcoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBp
bW1lZGlhdGUpCiB7CisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgZXdrX3ZpZXdf
dGlsZWRfYmFja2luZ19zdG9yZV9pbnZhbGlkYXRlKG1fdmlldywgdXBkYXRlUmVjdCk7CisjZWxz
ZQogICAgIG5vdEltcGxlbWVudGVkKCk7CisjZW5kaWYKIH0KIAogdm9pZCBDaHJvbWVDbGllbnRF
Zmw6OmludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJl
Y3QsIGJvb2wgaW1tZWRpYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRleCA0YjQ3YzczLi41MjNmNDc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaApAQCAt
MTQyLDYgKzE0MiwxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGV4aXRGdWxsU2NyZWVu
Rm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7CiAjZW5kaWYKIAorI2lmIFVTRShUSUxFRF9C
QUNLSU5HX1NUT1JFKQorICAgIHZpcnR1YWwgdm9pZCBkZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0ZWQo
Y29uc3QgSW50UG9pbnQmKTsKKyAgICB2aXJ0dWFsIEludFJlY3QgdmlzaWJsZVJlY3RGb3JUaWxl
ZEJhY2tpbmdTdG9yZSgpIGNvbnN0OworI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3Bl
blBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwogICAgIHZpcnR1YWwgdm9p
ZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgRmlsZUljb25Mb2FkZXIq
KTsKICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKaW5kZXggMDZkMWFjMS4uNmQ0ZjRmNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTE1NCw2ICsxNTQsMTIgQEAgdm9pZCBld2tf
dmlld19qc193aW5kb3dfb2JqZWN0X2NsZWFyKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX09i
amVjdCogZnJhbWUpOwogCiBpbnQgZXdrX3V0aWxfZHBpX2dldCgpOwogCisjaWYgVVNFKFRJTEVE
X0JBQ0tJTkdfU1RPUkUpCit2b2lkIGV3a192aWV3X3RpbGVkX2JhY2tpbmdfc3RvcmVfaW52YWxp
ZGF0ZShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgYXJlYSk7
Cit2b2lkIGV3a192aWV3X3RpbGVkX2JhY2tpbmdfc3RvcmVfYWRqdXN0X3Zpc2libGVfcmVjdChF
dmFzX09iamVjdCogZXdrVmlldyk7CitFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0dGluZ190aWxlZF9i
YWNraW5nX3N0b3JlX2VuYWJsZV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgZW5hYmxl
KTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIHZvaWQgZXdrX3ZpZXdfbmVl
ZF90b3VjaF9ldmVudHNfc2V0KEV2YXNfT2JqZWN0KiwgYm9vbCBuZWVkZWQpOwogYm9vbCBld2tf
dmlld19uZWVkX3RvdWNoX2V2ZW50c19nZXQoY29uc3QgRXZhc19PYmplY3QqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDkxZWVlYTEuLjBlOTc1NGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a192aWV3LmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkVkaXRvckNsaWVu
dEVmbC5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkZvY3VzQ29udHJv
bGxlci5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnRF
ZmwuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQu
aCIKQEAgLTY2LDYgKzY3LDEwIEBACiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25DbGllbnRF
ZmwuaCIKICNlbmRpZgogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisjaW5jbHVkZSAi
VGlsZWRCYWNraW5nU3RvcmUuaCIKKyNlbmRpZgorCiAjZGVmaW5lIFpPT01fTUlOICgwLjA1KQog
I2RlZmluZSBaT09NX01BWCAoNC4wKQogCkBAIC0yMjcyLDYgKzIyNzcsMjYgQEAgRWluYV9Cb29s
IGV3a192aWV3X3NldHRpbmdfZm9udF9tb25vc3BhY2Vfc2l6ZV9zZXQoRXZhc19PYmplY3QqIGV3
a1ZpZXcsIGludCBzaXoKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIFVTRShUSUxFRF9CQUNL
SU5HX1NUT1JFKQorLyoqCisgKiBAaW50ZXJuYWwKKyAqIEVuYWJsZSBvciBkaXNhYmxlIHVzZSBv
ZiBXZWJDb3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZQorICoKKyAqIEBwYXJhbSBld2tWaWV3IFZp
ZXcuCisgKiBAb2FyYW0gZW5hYmxlIEVuYWJsZSBvciBEaXNhYmxlIFdlYkNvcmUncyB0aWxlZCBi
YWNraW5nIHN0b3JlIGZvciBnaXZlbiBWaWV3CisgKiBAcmV0dXJuIHRydWUgb24gc3VjY2Vzcywg
b3IgZmFsc2Ugb24gZmFpbHVyZQorICoKKyAqIEBub3RlIHRoaXMgaXMgbm90IGZvciBnZW5lcmFs
IHVzZSBpdCBzaG91bGQgYmUgdXNlZCBmb3Igc2luZ2xlIHZpZXcgb25seS4KKyAqLworRWluYV9C
b29sIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVfc2V0KEV2YXNf
T2JqZWN0KiBld2tWaWV3LCBib29sIGVuYWJsZSkKK3sKKyAgICBFV0tfVklFV19TRF9HRVRfT1Jf
UkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOworICAgIEVXS19WSUVXX1BSSVZfR0VU
X09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIGZhbHNlKTsKKyAgICBwcml2LT5wYWdlU2V0dGlu
Z3MtPnNldFRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZChlbmFibGUpOworICAgIHJldHVybiB0cnVl
OworfQorI2VuZGlmCisKIGNvbnN0IGNoYXIqIGV3a192aWV3X2ZvbnRfZmFtaWx5X25hbWVfZ2V0
KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFd2tfRm9udF9GYW1pbHkgZm9udEZhbWlseSkK
IHsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgMCk7
CkBAIC0yNjE1LDEwICsyNjQwLDUwIEBAIHZvaWQgZXdrX3ZpZXdfcGFpbnRfY29udGV4dF9wYWlu
dF9jb250ZW50cyhFd2tfVmlld19QYWludF9Db250ZXh0KiBjb250ZXh0LCBjb25zCiAKICAgICBp
ZiAoY29udGV4dC0+dmlldy0+aXNUcmFuc3BhcmVudCgpKQogICAgICAgICBjb250ZXh0LT5ncmFw
aGljQ29udGV4dC0+Y2xlYXJSZWN0KHJlY3QpOwotCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RP
UkUpCisgICAgaWYgKGNvbnRleHQtPnZpZXctPmZyYW1lKCktPnRpbGVkQmFja2luZ1N0b3JlKCkp
CisgICAgICAgIGNvbnRleHQtPnZpZXctPmZyYW1lKCktPnRpbGVkQmFja2luZ1N0b3JlKCktPnBh
aW50KGNvbnRleHQtPmdyYXBoaWNDb250ZXh0LCByZWN0KTsKKyAgICBlbHNlCisjZW5kaWYKICAg
ICBjb250ZXh0LT52aWV3LT5wYWludENvbnRlbnRzKGNvbnRleHQtPmdyYXBoaWNDb250ZXh0LCBy
ZWN0KTsKIH0KIAorI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorLyoqCisgKiBAaW50ZXJu
YWwKKyAqIEludmFsaWRhdGUgZ2l2ZW4gYXJlYSB0byByZXBhaW50LiBUaGUgYmFja2luZyBzdG9y
ZSB3aWxsIG1hcmsgdGlsZXMgdGhhdCBhcmUKKyAqIGluIHRoZSBhcmVhIGFzIGRpcnR5LgorICoK
KyAqIEBwYXJhbSBld2tWaWV3IFZpZXcuCisgKiBAcGFyYW0gYXJlYSBBcmVhIHRvIGludmFsaWRh
dGUKKyAqLwordm9pZCBld2tfdmlld190aWxlZF9iYWNraW5nX3N0b3JlX2ludmFsaWRhdGUoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGFyZWEpCit7CisgICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4oZXdrVmlldyk7CisgICAgRVdLX1ZJRVdfU0RfR0VU
X09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09S
X1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAgaWYgKHByaXYtPm1haW5GcmFtZS0+dGls
ZWRCYWNraW5nU3RvcmUoKSkKKyAgICAgICAgcHJpdi0+bWFpbkZyYW1lLT50aWxlZEJhY2tpbmdT
dG9yZSgpLT5pbnZhbGlkYXRlKGFyZWEpOworfQorCisvKioKKyAqIEBpbnRlcm5hbAorICogUmVj
YWxjdWxhdGUgdmlzaWJsZSBhcmVhIG9mIGJhY2tpbmcgc3RvcmUKKyAqCisgKiBAcGFyYW0gZXdr
VmlldyBWaWV3LgorICovCit2b2lkIGV3a192aWV3X3RpbGVkX2JhY2tpbmdfc3RvcmVfYWRqdXN0
X3Zpc2libGVfcmVjdChFdmFzX09iamVjdCogZXdrVmlldykKK3sKKyAgICBFSU5BX1NBRkVUWV9P
Tl9OVUxMX1JFVFVSTihld2tWaWV3KTsKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3
a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0
RGF0YSwgcHJpdik7CisKKyAgICBpZiAocHJpdi0+bWFpbkZyYW1lLT50aWxlZEJhY2tpbmdTdG9y
ZSgpKQorICAgICAgICBwcml2LT5tYWluRnJhbWUtPnRpbGVkQmFja2luZ1N0b3JlKCktPmFkanVz
dFZpc2libGVSZWN0KCk7Cit9CisjZW5kaWYKKwogdm9pZCBld2tfdmlld19wYWludF9jb250ZXh0
X3NjYWxlKEV3a19WaWV3X1BhaW50X0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNjYWxlWCwgZmxv
YXQgc2NhbGVZKQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKGNvbnRleHQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3NpbmdsZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfc2luZ2xlLmNwcAppbmRleCA2MmMzMjFiLi4z
ZTFmZTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfc2luZ2xl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfc2luZ2xlLmNwcApAQCAt
NTIsNiArNTIsOSBAQCBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfc2luZ2xlX3NtYXJ0X2FkZChFdmFz
X09iamVjdCogZXdrVmlldykKIAogICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxiYWNrX2FkZAog
ICAgICAgICAoc21hcnREYXRhLT5iYWNraW5nX3N0b3JlLCBFVkFTX0NBTExCQUNLX0RFTCwgX2V3
a192aWV3X3NpbmdsZV9vbl9kZWwsIGNsaXApOworI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JF
KQorICAgIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVfc2V0KGV3
a1ZpZXcsIHRydWUpOworI2VuZGlmCiB9CiAKIHN0YXRpYyBFdmFzX09iamVjdCogX2V3a192aWV3
X3NpbmdsZV9zbWFydF9iYWNraW5nX3N0b3JlX2FkZChFd2tfVmlld19TbWFydF9EYXRhKiBzbWFy
dERhdGEpCkBAIC00NTAsNiArNDUzLDEwIEBAIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X3Np
bmdsZV9zbWFydF9yZXBhaW50c19wcm9jZXNzKEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtCiAgICAg
aW50IHNjcm9sbFgsIHNjcm9sbFk7CiAgICAgZXdrX2ZyYW1lX3Njcm9sbF9wb3NfZ2V0KHNtYXJ0
RGF0YS0+bWFpbl9mcmFtZSwgJnNjcm9sbFgsICZzY3JvbGxZKTsKIAorI2lmIFVTRShUSUxFRF9C
QUNLSU5HX1NUT1JFKQorICAgIGV3a192aWV3X3RpbGVkX2JhY2tpbmdfc3RvcmVfYWRqdXN0X3Zp
c2libGVfcmVjdChzbWFydERhdGEtPnNlbGYpOworI2VuZGlmCisKICAgICBFSU5BX0lURVJBVE9S
X0ZPUkVBQ0goaXRlcmF0b3IsIHJlY3QpIHsKICAgICAgICAgRWluYV9SZWN0YW5nbGUgc2Nyb2xs
ZWRfcmVjdCA9IHsKICAgICAgICAgICAgIHJlY3QtPnggKyBzY3JvbGxYLCByZWN0LT55ICsgc2Ny
b2xsWSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvU291cmNl
L2NtYWtlL09wdGlvbnNFZmwuY21ha2UKaW5kZXggOTM5MjYyZS4uYjllMjdhNyAxMDA2NDQKLS0t
IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlv
bnNFZmwuY21ha2UKQEAgLTE1OSw0ICsxNTksOCBAQCBJRiAoRU5BQkxFX1ZJREVPKQogICBBRERf
REVGSU5JVElPTlMoLURXVEZfVVNFX0dTVFJFQU1FUj0xKQogRU5ESUYoKQogCitJRiAoV1RGX1VT
RV9USUxFRF9CQUNLSU5HX1NUT1JFKQorICBBRERfREVGSU5JVElPTlMoLURXVEZfVVNFX1RJTEVE
X0JBQ0tJTkdfU1RPUkUpCitFTkRJRigpCisKIFNFVChDUEFDS19TT1VSQ0VfR0VORVJBVE9SIFRC
WjIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174309</attachid>
            <date>2012-11-14 18:18:13 -0800</date>
            <delta_ts>2012-11-14 18:41:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71352-20121115111611.patch</filename>
            <type>text/plain</type>
            <size>15302</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggODc1M2QwMTll
MjJkNjRmNGFkMzk5MzcwMTk3OGI2YTM4ZmRhZDY5Mi4uY2Q3ZTQ4YmQxMzMxNDBkMGZlNTAwYWM4
OWIwNTkzOTNlMWZlMzhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEy
LTExLTE0ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBnbWFpbC5jb20+CisKKyAgICAgICAgW0VG
TF0gUG9ydCB0aWxlZCBiYWNraW5nIHN0b3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTM1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19z
dG9yZV9lbmFibGVkX3tnZXR8c2V0fSB0byBnaXZlIHBvc3NpYmlsaXR5CisgICAgICAgIHRvIHVz
ZSBXZWJDb3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZSBpbiBXZWJLaXQvRWZsIHBvcnQuIFRoaXMg
bWFrZXMgV2ViS2l0L0VmbAorICAgICAgICBjb21wbGlhbnQgd2l0aCBXZWJLaXQncyBnZW5lcmlj
IHNvbHV0aW9uIG9mIHRpbGVkIGJhY2tpbmcgc3RvcmUuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50
RWZsOjppbnZhbGlkYXRlUm9vdFZpZXcpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OnZpc2libGVSZWN0Rm9yVGlsZWRCYWNraW5nU3RvcmUp
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oOgorICAgICAgICAo
Q2hyb21lQ2xpZW50RWZsKToKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lX3ByaXZhdGUuaDoKKyAg
ICAgICAgRGVjbGFyZWQgbWlzc2luZyBjbGFzc2VzIHdoaWNoIHVzZWQgaW4gdGhpcyBmaWxlLgor
ICAgICAgICAqIGV3ay9ld2tfcGFpbnRfY29udGV4dC5jcHA6CisgICAgICAgIChld2tfcGFpbnRf
Y29udGV4dF9wYWludCk6IEltcGxlbWVudGVkIHRvIHBhaW50IHRpbGVkIGJhY2tpbmcgc3RvcmUK
KyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdfc2V0dGluZ190
aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZWRfc2V0KToKKyAgICAgICAgQWRkZWQgQVBJIHRvIGVu
YWJsZS9kaXNhYmxlIHRoZSBXZWJDb3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZS4KKyAgICAgICAg
KGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVkX2dldCk6CisgICAg
ICAgIEFkZGVkIEFQSSB0byBxdWVyeSBpZiB0aGUgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3Rv
cmUgaXMgZW5hYmxlZC4KKyAgICAgICAgKGV3a192aWV3X3RpbGVkX2JhY2tpbmdfc3RvcmVfaW52
YWxpZGF0ZSk6CisgICAgICAgICogZXdrL2V3a192aWV3Lmg6CisgICAgICAgICogZXdrL2V3a192
aWV3X3ByaXZhdGUuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXdfc2luZ2xlLmNwcDoKKyAgICAg
ICAgKF9ld2tfdmlld19zaW5nbGVfc21hcnRfcmVwYWludHNfcHJvY2Vzcyk6CisgICAgICAgIElt
cGxlbWVudGVkIHRvIHVwZGF0ZSB2aXNpYmxlIGFyZWEgb2YgdGlsZWQgYmFja2luZyBzdG9yZS4K
KyAgICAgICAgKiB0ZXN0cy90ZXN0X2V3a192aWV3LmNwcDogQWRkZWQgdGVzdCBjYXNlIG9mIGV3
a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZS4KKyAgICAgICAgKFRFU1RfRik6CisK
IDIwMTItMTEtMTIgIEt5dW5nVGFlIEtpbSAgPGt0Zi5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgW0VGTF0gSW4gZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfcHJlX3JlbmRlcl9yZWdpb24sIHRo
ZSAnc2xpY2VyJyBtYXkgYmUgdW5pbml0aWFsaXplZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKaW5kZXggNTM3NDI0YTk0M2Qw
N2QzMzU1MTlhMTEzYzEzOWMyODA2MTA2MDgxNy4uOGY3YTdjNTY0NGUxYTgxNDQ5ZDM1ZTE4YmE0
ODk2NjU5NWI3YTEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCkBAIC01MTUsOSArNTE1LDE0IEBAIHZvaWQgQ2hyb21l
Q2xpZW50RWZsOjppbnZhbGlkYXRlQ29udGVudHMoY29uc3QgSW50UmVjdCYgLyp1cGRhdGVSZWN0
Ki8sIGJvb2wgLyppCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBDaHJvbWVDbGll
bnRFZmw6OmludmFsaWRhdGVSb290Vmlldyhjb25zdCBJbnRSZWN0JiAvKnVwZGF0ZVJlY3QqLywg
Ym9vbCAvKmltbWVkaWF0ZSovKQordm9pZCBDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVSb290
Vmlldyhjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIC8qaW1tZWRpYXRlKi8pCiB7Cisj
aWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgZXdrX3ZpZXdfdGlsZWRfYmFja2luZ19z
dG9yZV9pbnZhbGlkYXRlKG1fdmlldywgdXBkYXRlUmVjdCk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTSh1cGRhdGVSZWN0KTsKICAgICBub3RJbXBsZW1lbnRlZCgpOworI2VuZGlmCiB9CiAKIHZv
aWQgQ2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlQ29udGVudHNBbmRSb290Vmlldyhjb25zdCBJ
bnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIC8qaW1tZWRpYXRlKi8pCkBAIC02NTMsNiArNjU4LDE2
IEBAIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpkZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0ZWQoY29uc3Qg
SW50UG9pbnQmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CisKK0ludFJlY3QgQ2hyb21l
Q2xpZW50RWZsOjp2aXNpYmxlUmVjdEZvclRpbGVkQmFja2luZ1N0b3JlKCkgY29uc3QKK3sKKyAg
ICBpbnQgeCwgeTsKKyAgICBXZWJDb3JlOjpGbG9hdFJlY3QgcmVjdCA9IGV3a192aWV3X3BhZ2Vf
cmVjdF9nZXQobV92aWV3KTsKKyAgICBjb25zdCBFdmFzX09iamVjdCogZnJhbWUgPSBld2tfdmll
d19mcmFtZV9tYWluX2dldChtX3ZpZXcpOworCisgICAgZXdrX2ZyYW1lX3Njcm9sbF9wb3NfZ2V0
KGZyYW1lLCAmeCwgJnkpOworICAgIHJldHVybiBJbnRSZWN0KHgsIHksIHJlY3Qud2lkdGgoKSwg
cmVjdC5oZWlnaHQoKSk7Cit9CiAjZW5kaWYKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRleCA2OGRhNDVhOGE4MTZmMzA4
YzU3ZWMxNzk3ODcyZjg0M2I1MTZmNjQ3Li5hYjEwNzc4ZmE5NWI4OTEzNzJiMzk2ZTc3Y2NjMjkx
OTM4YTgyODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRFZmwuaApAQCAtMTgyLDYgKzE4Miw3IEBAIHB1YmxpYzoKIAogI2lmIFVTRShU
SUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIHZpcnR1YWwgdm9pZCBkZWxlZ2F0ZWRTY3JvbGxSZXF1
ZXN0ZWQoY29uc3QgSW50UG9pbnQmIHNjcm9sbFBvaW50KTsKKyAgICB2aXJ0dWFsIEludFJlY3Qg
dmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tpbmdTdG9yZSgpIGNvbnN0OwogI2VuZGlmCiAKICAgICBF
dmFzX09iamVjdCogbV92aWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lX3ByaXZh
dGUuaAppbmRleCA0ZjVmMGU0MGVjNDNiMWRmNjM2NmM5MmIzYjk5OTRhM2U1NGYzZmRiLi5jOGNh
ZDkwYTdjZWU3YzM2NjdlMWNjYWI4ODhjMWM0MmVkZmE3YmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX2ZyYW1lX3ByaXZhdGUuaApAQCAtMjgsOCArMjgsMTEgQEAKICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFdpZGdldDsKK2NsYXNz
IEhpc3RvcnlJdGVtOworY2xhc3MgSFRNTFBsdWdJbkVsZW1lbnQ7CitjbGFzcyBLVVJMOwogY2xh
c3MgRnJhbWU7CitjbGFzcyBXaWRnZXQ7CiB9CiAKIEV2YXNfT2JqZWN0KiBld2tfZnJhbWVfYWRk
KEV2YXMqIGNhbnZhcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Bh
aW50X2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wYWludF9jb250ZXh0
LmNwcAppbmRleCBiZGJkODk5YmNiMTMxNmMxNmQ5OGIwNTVhYzdjM2E0ZjZiZmM2YTVmLi5jMTlk
MTM4MTEyZTcxODNkYTg1MjkyZmY2MDVlY2I2YWJkOTlhOTlkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3BhaW50X2NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfcGFpbnRfY29udGV4dC5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKIAogI2luY2x1
ZGUgImNvbmZpZy5oIgogCisjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmUuaCIKICNpbmNsdWRl
ICJld2tfcGFpbnRfY29udGV4dF9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIK
IApAQCAtMTU4LDYgKzE1OSwyMCBAQCB2b2lkIGV3a19wYWludF9jb250ZXh0X3BhaW50KEV3a19Q
YWludF9Db250ZXh0KiBjb250ZXh0LCBXZWJDb3JlOjpGcmFtZVZpZXcqIHZpZQogCiAgICAgV2Vi
Q29yZTo6SW50UmVjdCBwYWludEFyZWEoKmFyZWEpOwogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdf
U1RPUkUpCisgICAgaWYgKHZpZXctPmZyYW1lKCktPnRpbGVkQmFja2luZ1N0b3JlKCkpIHsKKyAg
ICAgICAgaW50IHNjcm9sbFggPSB2aWV3LT5zY3JvbGxYKCk7CisgICAgICAgIGludCBzY3JvbGxZ
ID0gdmlldy0+c2Nyb2xsWSgpOworCisgICAgICAgIGNvbnRleHQtPmdyYXBoaWNDb250ZXh0LT50
cmFuc2xhdGUoLXNjcm9sbFgsIC1zY3JvbGxZKTsKKworICAgICAgICBwYWludEFyZWEubW92ZShz
Y3JvbGxYLCBzY3JvbGxZKTsKKworICAgICAgICB2aWV3LT5mcmFtZSgpLT50aWxlZEJhY2tpbmdT
dG9yZSgpLT5wYWludChjb250ZXh0LT5ncmFwaGljQ29udGV4dC5nZXQoKSwgcGFpbnRBcmVhKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgaWYgKHZpZXctPmlzVHJhbnNw
YXJlbnQoKSkKICAgICAgICAgY29udGV4dC0+Z3JhcGhpY0NvbnRleHQtPmNsZWFyUmVjdChwYWlu
dEFyZWEpOwogICAgIHZpZXctPnBhaW50KGNvbnRleHQtPmdyYXBoaWNDb250ZXh0LmdldCgpLCBw
YWludEFyZWEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggYjdhODRiMWY5MWIz
ODI5NmY0ZTY0MDVkZTkzZTJkZGJjMjFkN2U4MS4uYjE1NzFhMGU5ZTIzMTdkMTI3MjdlNGNlM2U1
YmFkMzE5NDU0ODI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC0zNiw2ICsz
Niw3IEBACiAjaW5jbHVkZSAiRWZsU2NyZWVuVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRXZlbnRI
YW5kbGVyLmgiCiAjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEVmbC5oIgogI2luY2x1ZGUgIkZyYW1lVmll
dy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgpAQCAtNTcsNiArNTgsNyBAQAogI2lu
Y2x1ZGUgIlJlbmRlclRoZW1lRWZsLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlLmgiCiAjaW5j
bHVkZSAiY19pbnN0YW5jZS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0bWVudV9wcml2YXRlLmgi
CiAjaW5jbHVkZSAiZXdrX2ZyYW1lLmgiCkBAIC00NzU0LDYgKzQ3NTYsNTUgQEAgRXdrX0NvbnRl
eHRfTWVudSogZXdrX3ZpZXdfY29udGV4dF9tZW51X2dldChjb25zdCBFdmFzX09iamVjdCogZXdr
VmlldykKICAgICByZXR1cm4gcHJpdi0+Y29udGV4dE1lbnU7CiB9CiAKK0VpbmFfQm9vbCBld2tf
dmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5hYmxlZF9zZXQoRXZhc19PYmplY3Qq
IGV3a1ZpZXcsIEVpbmFfQm9vbCBlbmFibGUpCit7CisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RP
UkUpCisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZh
bHNlKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2LCBm
YWxzZSk7CisKKyAgICBwcml2LT5wYWdlU2V0dGluZ3MtPnNldFRpbGVkQmFja2luZ1N0b3JlRW5h
YmxlZChlbmFibGUpOworCisgICAgcmV0dXJuIHRydWU7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShld2tWaWV3KTsKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlKTsKKyAgICByZXR1cm4gZmFsc2U7
CisjZW5kaWYKK30KKworRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19z
dG9yZV9lbmFibGVkX2dldChFdmFzX09iamVjdCogZXdrVmlldykKK3sKKyNpZiBVU0UoVElMRURf
QkFDS0lOR19TVE9SRSkKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNt
YXJ0RGF0YSwgZmFsc2UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERh
dGEsIHByaXYsIGZhbHNlKTsKKworICAgIHJldHVybiBwcml2LT5wYWdlU2V0dGluZ3MtPnRpbGVk
QmFja2luZ1N0b3JlRW5hYmxlZCgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZXdrVmlldyk7
CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKKyNpZiBVU0UoVElMRURfQkFDS0lOR19T
VE9SRSkKKy8qKgorICogQGludGVybmFsCisgKiBJbnZhbGlkYXRlIGdpdmVuIGFyZWEgdG8gcmVw
YWludC4gVGhlIGJhY2tpbmcgc3RvcmUgd2lsbCBtYXJrIHRpbGVzIHRoYXQgYXJlCisgKiBpbiB0
aGUgYXJlYSBhcyBkaXJ0eS4KKyAqCisgKiBAcGFyYW0gZXdrVmlldyBWaWV3LgorICogQHBhcmFt
IGFyZWEgQXJlYSB0byBpbnZhbGlkYXRlCisgKi8KK3ZvaWQgZXdrX3ZpZXdfdGlsZWRfYmFja2lu
Z19zdG9yZV9pbnZhbGlkYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBhcmVhKQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKGV3a1ZpZXcp
OworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKKyAg
ICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2KTsKKworICAgIGlm
IChwcml2LT5tYWluRnJhbWUtPnRpbGVkQmFja2luZ1N0b3JlKCkpCisgICAgICAgIHByaXYtPm1h
aW5GcmFtZS0+dGlsZWRCYWNraW5nU3RvcmUoKS0+aW52YWxpZGF0ZShhcmVhKTsKK30KKyNlbmRp
ZgorCiBuYW1lc3BhY2UgRVdLUHJpdmF0ZSB7CiAKIFdlYkNvcmU6OlBhZ2UqIGNvcmVQYWdlKGNv
bnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAppbmRleCAx
MDZiYTE0NWViMmZmMDVkY2QwOWFhMjhmM2ZmM2I5ZThhZWEyMTZlLi42MThkZTkzNDcyMmIxZDFm
NTA4NjFlMjRhMzJjMjVkYTJhNzkzMDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApAQCAt
Mjc3Nyw2ICsyNzc3LDI4IEBAIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfZW5hYmxl
X2Z1bGxzY3JlZW5fc2V0KEV2YXNfT2JqZWN0ICpvLCBFaW5hX0Jvb2wKIEVBUEkgRWluYV9Cb29s
IGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2Z1bGxzY3JlZW5fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0
ICpvKTsKIAogLyoqCisgKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBXZWJDb3JlJ3MgdGlsZWQgYmFj
a2luZyBzdG9yZQorICoKKyAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0LgorICogQG9hcmFtIGVuYWJs
ZSBFbmFibGUgb3IgRGlzYWJsZSBXZWJDb3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZSBmb3IgZ2l2
ZW4gVmlldworICoKKyAqIEByZXR1cm4gdHJ1ZSBvbiBzdWNjZXNzLCBvciBmYWxzZSBvbiBmYWls
dXJlCisgKgorICogQG5vdGUgdGhpcyBpcyBub3QgZm9yIGdlbmVyYWwgdXNlLiBJdCBzaG91bGQg
YmUgdXNlZCBmb3Igc2luZ2xlIHZpZXcgb25seS4KKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX3Zp
ZXdfc2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZWRfc2V0KEV2YXNfT2JqZWN0ICpv
LCBFaW5hX0Jvb2wgZW5hYmxlKTsKKworLyoqCisgKiBRdWVyaWVzIGlmIHRoZSBXZWJDb3JlJ3Mg
dGlsZWQgYmFja2luZyBzdG9yZSBpcyBlbmFibGVkLgorICoKKyAqIEBwYXJhbSBvIHZpZXcgb2Jq
ZWN0IHRvIHF1ZXJ5CisgKgorICogQHJldHVybiBAYyBFSU5BX1RSVUUgaWYgdGhlIFdlYkNvcmUn
cyB0aWxlZCBiYWNraW5nIHN0b3JlIGlzIGVuYWJsZWQKKyAqICAgICAgICAgQGMgRUlOQV9GQUxT
RSBpZiBub3Qgb3Igb24gZmFpbHVyZQorICovCitFQVBJIEVpbmFfQm9vbCBld2tfdmlld19zZXR0
aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5hYmxlZF9nZXQoRXZhc19PYmplY3QgKm8pOworCisv
KioKICAqIEdldHMgdGhlIGNvbnRleHQgbWVudSBvYmplY3QuCiAgKiBAcGFyYW0gbyBUaGUgdmll
dyB0aGF0IGNvbnRhaW5zIGNvbnRleHQgbWVudS4KICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a192aWV3X3ByaXZhdGUuaAppbmRleCBiYWJkMWVhYTQwYmFmOTRlZTRmMjU1ZjkzMTE1NTQ1M2U1
ZmZiMmY5Li41ZGM0YzBiYmYyMmMzYWIzNmQwOTRjNDkxOGVjNzIwYjJkOWE5OGZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgKQEAgLTEzNCw2ICsxMzQsMTAgQEAg
RWluYV9Cb29sIGV3a192aWV3X3BhaW50X2NvbnRlbnRzKEV3a19WaWV3X1ByaXZhdGVfRGF0YSog
cHJpdiwgRXdrX1BhaW50X0NvbnRleHQKIHZvaWQgZXdrX3ZpZXdfanNfd2luZG93X29iamVjdF9j
bGVhcihFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19PYmplY3QqIGZyYW1lKTsKICNlbmRpZgog
CisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCit2b2lkIGV3a192aWV3X3RpbGVkX2JhY2tp
bmdfc3RvcmVfaW52YWxpZGF0ZShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgYXJlYSk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiB2b2lk
IGV3a192aWV3X25lZWRfdG91Y2hfZXZlbnRzX3NldChFdmFzX09iamVjdCosIGJvb2wgbmVlZGVk
KTsKIGJvb2wgZXdrX3ZpZXdfbmVlZF90b3VjaF9ldmVudHNfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0
Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfc2luZ2xlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19zaW5nbGUuY3BwCmluZGV4IGRlMGVi
ODk3Y2E2NmYyM2Y0NjU2ZGE1OTc0NGUwYjM5YWRmMjQzMTMuLmMxZmM2Y2QwMjlmMjkxOGRmODIz
ZjRiNDk5NTY0MjE2OWRkOGI2NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlld19zaW5nbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19z
aW5nbGUuY3BwCkBAIC0yMSw3ICsyMSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiZXdrX3ZpZXcuaCIKIAotI2luY2x1ZGUgImV3a19mcmFtZS5oIgorI2luY2x1ZGUgIlRpbGVk
QmFja2luZ1N0b3JlLmgiCisjaW5jbHVkZSAiZXdrX2ZyYW1lX3ByaXZhdGUuaCIKICNpbmNsdWRl
ICJld2tfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKIApAQCAtMjYy
LDYgKzI2MywxMiBAQCBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zaW5nbGVfc21hcnRfcmVw
YWludHNfcHJvY2VzcyhFd2tfVmlld19TbWFydF9EYXRhKiBzbQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgV2ViQ29yZTo6
RnJhbWUqIG1haW5GcmFtZSA9IEVXS1ByaXZhdGU6OmNvcmVGcmFtZShzbWFydERhdGEtPm1haW5f
ZnJhbWUpOworICAgIGlmIChtYWluRnJhbWUgJiYgbWFpbkZyYW1lLT50aWxlZEJhY2tpbmdTdG9y
ZSgpKQorICAgICAgICBtYWluRnJhbWUtPnRpbGVkQmFja2luZ1N0b3JlKCktPmNvdmVyV2l0aFRp
bGVzSWZOZWVkZWQoKTsKKyNlbmRpZgorCiAgICAgRXdrX1BhaW50X0NvbnRleHQqIGNvbnRleHQg
PSBld2tfcGFpbnRfY29udGV4dF9mcm9tX2ltYWdlX25ldyhzbWFydERhdGEtPmJhY2tpbmdfc3Rv
cmUpOwogICAgIGV3a19wYWludF9jb250ZXh0X3NhdmUoY29udGV4dCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL3Rlc3RzL3Rlc3RfZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktp
dC9lZmwvdGVzdHMvdGVzdF9ld2tfdmlldy5jcHAKaW5kZXggMjQxNTgwMTgyYzU4OThmNDM3MThl
ZmNjNTJhNDAwZDc3YTExMDA2Ni4uYTNkNzNhZjQyM2M5NWQyOWRiYmFlODk2YjI2MzI3NTNkMGIy
YjIyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvdGVzdHMvdGVzdF9ld2tfdmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvdGVzdHMvdGVzdF9ld2tfdmlldy5jcHAKQEAgLTcy
LDYgKzcyLDI5IEBAIFRFU1RfRihFV0tUZXN0QmFzZSwgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVf
ZnVsbHNjcmVlbikKIH0KIAogLyoqCisqIEBicmllZiBDaGVja2luZyB3aGV0aGVyIGZ1bmN0aW9u
IHByb3Blcmx5IGdldC9zZXQgZnVsbHNjcmVlbiBzZXR0aW5nIHZhbHVlLgorKi8KK1RFU1RfRihF
V0tUZXN0QmFzZSwgZXdrX3ZpZXdfc2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3JlKQoreworICAg
IGxvYWRVcmwoKTsKKyAgICBBU1NFUlRfRkFMU0UoZXdrX3ZpZXdfc2V0dGluZ190aWxlZF9iYWNr
aW5nX3N0b3JlX2VuYWJsZWRfZ2V0KHdlYlZpZXcoKSkpOworCisjaWYgVVNFKFRJTEVEX0JBQ0tJ
TkdfU1RPUkUpCisgICAgQVNTRVJUX1RSVUUoZXdrX3ZpZXdfc2V0dGluZ190aWxlZF9iYWNraW5n
X3N0b3JlX2VuYWJsZWRfc2V0KHdlYlZpZXcoKSwgdHJ1ZSkpOworICAgIEFTU0VSVF9UUlVFKGV3
a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVkX2dldCh3ZWJWaWV3KCkp
KTsKKworICAgIEFTU0VSVF9UUlVFKGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9y
ZV9lbmFibGVkX3NldCh3ZWJWaWV3KCksIGZhbHNlKSk7CisgICAgQVNTRVJUX0ZBTFNFKGV3a192
aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVkX2dldCh3ZWJWaWV3KCkpKTsK
KyNlbHNlCisgICAgQVNTRVJUX0ZBTFNFKGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19z
dG9yZV9lbmFibGVkX3NldCh3ZWJWaWV3KCksIHRydWUpKTsKKyAgICBBU1NFUlRfRkFMU0UoZXdr
X3ZpZXdfc2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZWRfZ2V0KHdlYlZpZXcoKSkp
OworCisgICAgQVNTRVJUX0ZBTFNFKGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9y
ZV9lbmFibGVkX3NldCh3ZWJWaWV3KCksIGZhbHNlKSk7CisgICAgQVNTRVJUX0ZBTFNFKGV3a192
aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVkX2dldCh3ZWJWaWV3KCkpKTsK
KyNlbmRpZgorfQorCisvKioKICAqIEBicmllZiBDaGVja2luZyB3aGV0aGVyIGZ1bmN0aW9uIHJl
dHVybnMgcHJvcGVyIGNvbnRleHQgbWVudSBzdHJ1Y3R1cmUuCiAgKgogICogVGhpcyB0ZXN0IGNy
ZWF0ZXMgYSBjb250ZXh0IG1lbnUgYW5kIGNoZWNrcyBpZiBjb250ZXh0IG1lbnUgc3RydWN0dXJl
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTEw
ZDA3MTUyYmFmZjgzZTdiZmQ2YjcyM2I2Yjc3MjUyMzU1Nzc1NS4uY2E1NDg4OTA0NTczODc2ZGE3
YjA0MDA3OTE1MzU3NzdjOTYxNGRjOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTExLTE0ICBSeXVhbiBDaG9p
ICA8cnl1YW4uY2hvaUBnbWFpbC5jb20+CisKKyAgICAgICAgW0VGTF0gUG9ydCB0aWxlZCBiYWNr
aW5nIHN0b3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTM1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogRVdlYkxhdW5jaGVyL21haW4uYzogQWRkZWQgb3B0aW9uIHRvIHRlc3QgdGhlIFdlYkNvcmUn
cyB0aWxlZCBiYWNraW5nIHN0b3JlLgorICAgICAgICAoX1VzZXJfQXJndW1lbnRzKToKKyAgICAg
ICAgKHdpbmRvd0NyZWF0ZSk6CisgICAgICAgIChwYXJzZVVzZXJBcmd1bWVudHMpOgorCiAyMDEy
LTExLTEzICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTM0NTAzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRVdlYkxh
dW5jaGVyL21haW4uYyBiL1Rvb2xzL0VXZWJMYXVuY2hlci9tYWluLmMKaW5kZXggYjExOTI0MzVm
ZjYzNDA5ZDFkZWRmY2YyM2M4NGZjMTUyYjVkYTE5OC4uNjg0ODAwYTFjNjkwNDNjZjY1MTA0ZDlj
Y2I4MzMwYTAzMmMyOWFlNSAxMDA2NDQKLS0tIGEvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYwor
KysgYi9Ub29scy9FV2ViTGF1bmNoZXIvbWFpbi5jCkBAIC0xMjYsNiArMTI2LDggQEAgc3RhdGlj
IGNvbnN0IEVjb3JlX0dldG9wdCBvcHRpb25zID0gewogICAgICAgICAgICAgIGVjb3JlX2dldG9w
dF9jYWxsYmFja19nZW9tZXRyeV9wYXJzZSwgTlVMTCksCiAgICAgICAgIEVDT1JFX0dFVE9QVF9T
VE9SRV9TVFIKICAgICAgICAgICAgICgndCcsICJ0aGVtZSIsICJwYXRoIHRvIHJlYWQgdGhlIHRo
ZW1lIGZpbGUgZnJvbS4iKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1NUT1JFX0RFRl9CT09MCisg
ICAgICAgICAgICAoJ1QnLCAidGlsZWQtYmFja2luZy1zdG9yZSIsICJlbmFibGUvZGlzYWJsZSBX
ZWJDb3JlJ3MgdGlsZWQgYmFja2luZ3N0b3JlKGV3a192aWV3X3NpbmdsZSBvbmx5KSIsIDApLAog
ICAgICAgICBFQ09SRV9HRVRPUFRfU1RPUkVfU1RSCiAgICAgICAgICAgICAoJ1UnLCAidXNlci1h
Z2VudCIsICJjdXN0b20gdXNlciBhZ2VudCBzdHJpbmcgdG8gdXNlLiIpLAogICAgICAgICBFQ09S
RV9HRVRPUFRfQ09VTlQKQEAgLTE0Nyw2ICsxNDksNyBAQCB0eXBlZGVmIHN0cnVjdCBfVXNlcl9B
cmd1bWVudHMgewogICAgIEVpbmFfQm9vbCBxdWl0T3B0aW9uOwogICAgIGNoYXIgKmJhY2tpbmdT
dG9yZTsKICAgICBFaW5hX0Jvb2wgZW5hYmxlRW5jb2RpbmdEZXRlY3RvcjsKKyAgICBFaW5hX0Jv
b2wgZW5hYmxlVGlsZWRCYWNraW5nU3RvcmU7CiAgICAgRWluYV9Cb29sIGlzRmxhdHRlbmluZzsK
ICAgICBFaW5hX0Jvb2wgaXNGdWxsc2NyZWVuOwogICAgIEVpbmFfUmVjdGFuZ2xlIGdlb21ldHJ5
OwpAQCAtODQ3LDYgKzg1MCw4IEBAIHdpbmRvd0NyZWF0ZShVc2VyX0FyZ3VtZW50cyAqdXNlckFy
Z3MpCiAgICAgfSBlbHNlIHsKICAgICAgICAgYXBwLT5icm93c2VyID0gZXdrX3ZpZXdfc2luZ2xl
X2FkZChhcHAtPmV2YXMpOwogICAgICAgICBpbmZvKCJiYWNraW5nIHN0b3JlOiBzaW5nbGVcbiIp
OworCisgICAgICAgIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVk
X3NldChhcHAtPmJyb3dzZXIsIHVzZXJBcmdzLT5lbmFibGVUaWxlZEJhY2tpbmdTdG9yZSk7CiAg
ICAgfQogCiAgICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcC0+YnJvd3NlciwgdGhlbWVQYXRoKTsK
QEAgLTkzMiw2ICs5MzcsNyBAQCBwYXJzZVVzZXJBcmd1bWVudHMoaW50IGFyZ2MsIGNoYXIgKmFy
Z3ZbXSwgVXNlcl9Bcmd1bWVudHMgKnVzZXJBcmdzKQogICAgIHVzZXJBcmdzLT5xdWl0T3B0aW9u
ID0gRUlOQV9GQUxTRTsKICAgICB1c2VyQXJncy0+YmFja2luZ1N0b3JlID0gKGNoYXIgKiliYWNr
aW5nU3RvcmVzWzFdOwogICAgIHVzZXJBcmdzLT5lbmFibGVFbmNvZGluZ0RldGVjdG9yID0gRUlO
QV9GQUxTRTsKKyAgICB1c2VyQXJncy0+ZW5hYmxlVGlsZWRCYWNraW5nU3RvcmUgPSBFSU5BX0ZB
TFNFOwogICAgIHVzZXJBcmdzLT5pc0ZsYXR0ZW5pbmcgPSBFSU5BX0ZBTFNFOwogICAgIHVzZXJB
cmdzLT5pc0Z1bGxzY3JlZW4gPSBFSU5BX0ZBTFNFOwogICAgIHVzZXJBcmdzLT5nZW9tZXRyeS54
ID0gMDsKQEAgLTk1MCw2ICs5NTYsNyBAQCBwYXJzZVVzZXJBcmd1bWVudHMoaW50IGFyZ2MsIGNo
YXIgKmFyZ3ZbXSwgVXNlcl9Bcmd1bWVudHMgKnVzZXJBcmdzKQogICAgICAgICBFQ09SRV9HRVRP
UFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+aXNGdWxsc2NyZWVuKSwKICAgICAgICAgRUNPUkVfR0VU
T1BUX1ZBTFVFX1BUUl9DQVNUKHVzZXJBcmdzLT5nZW9tZXRyeSksCiAgICAgICAgIEVDT1JFX0dF
VE9QVF9WQUxVRV9TVFIodXNlckFyZ3MtPnRoZW1lKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZB
TFVFX0JPT0wodXNlckFyZ3MtPmVuYWJsZVRpbGVkQmFja2luZ1N0b3JlKSwKICAgICAgICAgRUNP
UkVfR0VUT1BUX1ZBTFVFX1NUUih1c2VyQXJncy0+dXNlckFnZW50KSwKICAgICAgICAgRUNPUkVf
R0VUT1BUX1ZBTFVFX0lOVCh2ZXJib3NlKSwKICAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JP
T0wodXNlckFyZ3MtPnF1aXRPcHRpb24pLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174315</attachid>
            <date>2012-11-14 18:41:26 -0800</date>
            <delta_ts>2012-11-14 21:57:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71352-20121115113924.patch</filename>
            <type>text/plain</type>
            <size>15302</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggODc1M2QwMTll
MjJkNjRmNGFkMzk5MzcwMTk3OGI2YTM4ZmRhZDY5Mi4uY2Q3ZTQ4YmQxMzMxNDBkMGZlNTAwYWM4
OWIwNTkzOTNlMWZlMzhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEy
LTExLTE0ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBnbWFpbC5jb20+CisKKyAgICAgICAgW0VG
TF0gUG9ydCB0aWxlZCBiYWNraW5nIHN0b3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTM1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19z
dG9yZV9lbmFibGVkX3tnZXR8c2V0fSB0byBnaXZlIHBvc3NpYmlsaXR5CisgICAgICAgIHRvIHVz
ZSBXZWJDb3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZSBpbiBXZWJLaXQvRWZsIHBvcnQuIFRoaXMg
bWFrZXMgV2ViS2l0L0VmbAorICAgICAgICBjb21wbGlhbnQgd2l0aCBXZWJLaXQncyBnZW5lcmlj
IHNvbHV0aW9uIG9mIHRpbGVkIGJhY2tpbmcgc3RvcmUuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50
RWZsOjppbnZhbGlkYXRlUm9vdFZpZXcpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OnZpc2libGVSZWN0Rm9yVGlsZWRCYWNraW5nU3RvcmUp
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oOgorICAgICAgICAo
Q2hyb21lQ2xpZW50RWZsKToKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lX3ByaXZhdGUuaDoKKyAg
ICAgICAgRGVjbGFyZWQgbWlzc2luZyBjbGFzc2VzIHdoaWNoIHVzZWQgaW4gdGhpcyBmaWxlLgor
ICAgICAgICAqIGV3ay9ld2tfcGFpbnRfY29udGV4dC5jcHA6CisgICAgICAgIChld2tfcGFpbnRf
Y29udGV4dF9wYWludCk6IEltcGxlbWVudGVkIHRvIHBhaW50IHRpbGVkIGJhY2tpbmcgc3RvcmUK
KyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdfc2V0dGluZ190
aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZWRfc2V0KToKKyAgICAgICAgQWRkZWQgQVBJIHRvIGVu
YWJsZS9kaXNhYmxlIHRoZSBXZWJDb3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZS4KKyAgICAgICAg
KGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVkX2dldCk6CisgICAg
ICAgIEFkZGVkIEFQSSB0byBxdWVyeSBpZiB0aGUgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3Rv
cmUgaXMgZW5hYmxlZC4KKyAgICAgICAgKGV3a192aWV3X3RpbGVkX2JhY2tpbmdfc3RvcmVfaW52
YWxpZGF0ZSk6CisgICAgICAgICogZXdrL2V3a192aWV3Lmg6CisgICAgICAgICogZXdrL2V3a192
aWV3X3ByaXZhdGUuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXdfc2luZ2xlLmNwcDoKKyAgICAg
ICAgKF9ld2tfdmlld19zaW5nbGVfc21hcnRfcmVwYWludHNfcHJvY2Vzcyk6CisgICAgICAgIElt
cGxlbWVudGVkIHRvIHVwZGF0ZSB2aXNpYmxlIGFyZWEgb2YgdGlsZWQgYmFja2luZyBzdG9yZS4K
KyAgICAgICAgKiB0ZXN0cy90ZXN0X2V3a192aWV3LmNwcDogQWRkZWQgdGVzdCBjYXNlIG9mIGV3
a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZS4KKyAgICAgICAgKFRFU1RfRik6CisK
IDIwMTItMTEtMTIgIEt5dW5nVGFlIEtpbSAgPGt0Zi5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgW0VGTF0gSW4gZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfcHJlX3JlbmRlcl9yZWdpb24sIHRo
ZSAnc2xpY2VyJyBtYXkgYmUgdW5pbml0aWFsaXplZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKaW5kZXggNTM3NDI0YTk0M2Qw
N2QzMzU1MTlhMTEzYzEzOWMyODA2MTA2MDgxNy4uMGZlMGZmYWI2NzdmOGEwODlmYzRjNTkwMjg3
NzA1ZDM2NjZhZTJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCkBAIC01MTUsOSArNTE1LDE0IEBAIHZvaWQgQ2hyb21l
Q2xpZW50RWZsOjppbnZhbGlkYXRlQ29udGVudHMoY29uc3QgSW50UmVjdCYgLyp1cGRhdGVSZWN0
Ki8sIGJvb2wgLyppCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBDaHJvbWVDbGll
bnRFZmw6OmludmFsaWRhdGVSb290Vmlldyhjb25zdCBJbnRSZWN0JiAvKnVwZGF0ZVJlY3QqLywg
Ym9vbCAvKmltbWVkaWF0ZSovKQordm9pZCBDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVSb290
Vmlldyhjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIC8qaW1tZWRpYXRlKi8pCiB7Cisj
aWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgZXdrX3ZpZXdfdGlsZWRfYmFja2luZ19z
dG9yZV9pbnZhbGlkYXRlKG1fdmlldywgdXBkYXRlUmVjdCk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTSh1cGRhdGVSZWN0KTsKICAgICBub3RJbXBsZW1lbnRlZCgpOworI2VuZGlmCiB9CiAKIHZv
aWQgQ2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlQ29udGVudHNBbmRSb290Vmlldyhjb25zdCBJ
bnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIC8qaW1tZWRpYXRlKi8pCkBAIC02NTMsNiArNjU4LDE2
IEBAIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpkZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0ZWQoY29uc3Qg
SW50UG9pbnQmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CisKK0ludFJlY3QgQ2hyb21l
Q2xpZW50RWZsOjp2aXNpYmxlUmVjdEZvclRpbGVkQmFja2luZ1N0b3JlKCkgY29uc3QKK3sKKyAg
ICBXZWJDb3JlOjpGbG9hdFJlY3QgcmVjdCA9IGV3a192aWV3X3BhZ2VfcmVjdF9nZXQobV92aWV3
KTsKKyAgICBjb25zdCBFdmFzX09iamVjdCogZnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWluX2dl
dChtX3ZpZXcpOworCisgICAgaW50IHgsIHk7CisgICAgZXdrX2ZyYW1lX3Njcm9sbF9wb3NfZ2V0
KGZyYW1lLCAmeCwgJnkpOworICAgIHJldHVybiBJbnRSZWN0KHgsIHksIHJlY3Qud2lkdGgoKSwg
cmVjdC5oZWlnaHQoKSk7Cit9CiAjZW5kaWYKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRleCA2OGRhNDVhOGE4MTZmMzA4
YzU3ZWMxNzk3ODcyZjg0M2I1MTZmNjQ3Li5hYjEwNzc4ZmE5NWI4OTEzNzJiMzk2ZTc3Y2NjMjkx
OTM4YTgyODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRFZmwuaApAQCAtMTgyLDYgKzE4Miw3IEBAIHB1YmxpYzoKIAogI2lmIFVTRShU
SUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIHZpcnR1YWwgdm9pZCBkZWxlZ2F0ZWRTY3JvbGxSZXF1
ZXN0ZWQoY29uc3QgSW50UG9pbnQmIHNjcm9sbFBvaW50KTsKKyAgICB2aXJ0dWFsIEludFJlY3Qg
dmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tpbmdTdG9yZSgpIGNvbnN0OwogI2VuZGlmCiAKICAgICBF
dmFzX09iamVjdCogbV92aWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lX3ByaXZh
dGUuaAppbmRleCA0ZjVmMGU0MGVjNDNiMWRmNjM2NmM5MmIzYjk5OTRhM2U1NGYzZmRiLi5jOGNh
ZDkwYTdjZWU3YzM2NjdlMWNjYWI4ODhjMWM0MmVkZmE3YmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX2ZyYW1lX3ByaXZhdGUuaApAQCAtMjgsOCArMjgsMTEgQEAKICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFdpZGdldDsKK2NsYXNz
IEhpc3RvcnlJdGVtOworY2xhc3MgSFRNTFBsdWdJbkVsZW1lbnQ7CitjbGFzcyBLVVJMOwogY2xh
c3MgRnJhbWU7CitjbGFzcyBXaWRnZXQ7CiB9CiAKIEV2YXNfT2JqZWN0KiBld2tfZnJhbWVfYWRk
KEV2YXMqIGNhbnZhcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Bh
aW50X2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wYWludF9jb250ZXh0
LmNwcAppbmRleCBiZGJkODk5YmNiMTMxNmMxNmQ5OGIwNTVhYzdjM2E0ZjZiZmM2YTVmLi5jMTlk
MTM4MTEyZTcxODNkYTg1MjkyZmY2MDVlY2I2YWJkOTlhOTlkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3BhaW50X2NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfcGFpbnRfY29udGV4dC5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKIAogI2luY2x1
ZGUgImNvbmZpZy5oIgogCisjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmUuaCIKICNpbmNsdWRl
ICJld2tfcGFpbnRfY29udGV4dF9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIK
IApAQCAtMTU4LDYgKzE1OSwyMCBAQCB2b2lkIGV3a19wYWludF9jb250ZXh0X3BhaW50KEV3a19Q
YWludF9Db250ZXh0KiBjb250ZXh0LCBXZWJDb3JlOjpGcmFtZVZpZXcqIHZpZQogCiAgICAgV2Vi
Q29yZTo6SW50UmVjdCBwYWludEFyZWEoKmFyZWEpOwogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdf
U1RPUkUpCisgICAgaWYgKHZpZXctPmZyYW1lKCktPnRpbGVkQmFja2luZ1N0b3JlKCkpIHsKKyAg
ICAgICAgaW50IHNjcm9sbFggPSB2aWV3LT5zY3JvbGxYKCk7CisgICAgICAgIGludCBzY3JvbGxZ
ID0gdmlldy0+c2Nyb2xsWSgpOworCisgICAgICAgIGNvbnRleHQtPmdyYXBoaWNDb250ZXh0LT50
cmFuc2xhdGUoLXNjcm9sbFgsIC1zY3JvbGxZKTsKKworICAgICAgICBwYWludEFyZWEubW92ZShz
Y3JvbGxYLCBzY3JvbGxZKTsKKworICAgICAgICB2aWV3LT5mcmFtZSgpLT50aWxlZEJhY2tpbmdT
dG9yZSgpLT5wYWludChjb250ZXh0LT5ncmFwaGljQ29udGV4dC5nZXQoKSwgcGFpbnRBcmVhKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgaWYgKHZpZXctPmlzVHJhbnNw
YXJlbnQoKSkKICAgICAgICAgY29udGV4dC0+Z3JhcGhpY0NvbnRleHQtPmNsZWFyUmVjdChwYWlu
dEFyZWEpOwogICAgIHZpZXctPnBhaW50KGNvbnRleHQtPmdyYXBoaWNDb250ZXh0LmdldCgpLCBw
YWludEFyZWEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggYjdhODRiMWY5MWIz
ODI5NmY0ZTY0MDVkZTkzZTJkZGJjMjFkN2U4MS4uYjE1NzFhMGU5ZTIzMTdkMTI3MjdlNGNlM2U1
YmFkMzE5NDU0ODI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC0zNiw2ICsz
Niw3IEBACiAjaW5jbHVkZSAiRWZsU2NyZWVuVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRXZlbnRI
YW5kbGVyLmgiCiAjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEVmbC5oIgogI2luY2x1ZGUgIkZyYW1lVmll
dy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgpAQCAtNTcsNiArNTgsNyBAQAogI2lu
Y2x1ZGUgIlJlbmRlclRoZW1lRWZsLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlLmgiCiAjaW5j
bHVkZSAiY19pbnN0YW5jZS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0bWVudV9wcml2YXRlLmgi
CiAjaW5jbHVkZSAiZXdrX2ZyYW1lLmgiCkBAIC00NzU0LDYgKzQ3NTYsNTUgQEAgRXdrX0NvbnRl
eHRfTWVudSogZXdrX3ZpZXdfY29udGV4dF9tZW51X2dldChjb25zdCBFdmFzX09iamVjdCogZXdr
VmlldykKICAgICByZXR1cm4gcHJpdi0+Y29udGV4dE1lbnU7CiB9CiAKK0VpbmFfQm9vbCBld2tf
dmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5hYmxlZF9zZXQoRXZhc19PYmplY3Qq
IGV3a1ZpZXcsIEVpbmFfQm9vbCBlbmFibGUpCit7CisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RP
UkUpCisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZh
bHNlKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2LCBm
YWxzZSk7CisKKyAgICBwcml2LT5wYWdlU2V0dGluZ3MtPnNldFRpbGVkQmFja2luZ1N0b3JlRW5h
YmxlZChlbmFibGUpOworCisgICAgcmV0dXJuIHRydWU7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShld2tWaWV3KTsKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlKTsKKyAgICByZXR1cm4gZmFsc2U7
CisjZW5kaWYKK30KKworRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19z
dG9yZV9lbmFibGVkX2dldChFdmFzX09iamVjdCogZXdrVmlldykKK3sKKyNpZiBVU0UoVElMRURf
QkFDS0lOR19TVE9SRSkKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNt
YXJ0RGF0YSwgZmFsc2UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERh
dGEsIHByaXYsIGZhbHNlKTsKKworICAgIHJldHVybiBwcml2LT5wYWdlU2V0dGluZ3MtPnRpbGVk
QmFja2luZ1N0b3JlRW5hYmxlZCgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZXdrVmlldyk7
CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKKyNpZiBVU0UoVElMRURfQkFDS0lOR19T
VE9SRSkKKy8qKgorICogQGludGVybmFsCisgKiBJbnZhbGlkYXRlIGdpdmVuIGFyZWEgdG8gcmVw
YWludC4gVGhlIGJhY2tpbmcgc3RvcmUgd2lsbCBtYXJrIHRpbGVzIHRoYXQgYXJlCisgKiBpbiB0
aGUgYXJlYSBhcyBkaXJ0eS4KKyAqCisgKiBAcGFyYW0gZXdrVmlldyBWaWV3LgorICogQHBhcmFt
IGFyZWEgQXJlYSB0byBpbnZhbGlkYXRlCisgKi8KK3ZvaWQgZXdrX3ZpZXdfdGlsZWRfYmFja2lu
Z19zdG9yZV9pbnZhbGlkYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBhcmVhKQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKGV3a1ZpZXcp
OworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKKyAg
ICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2KTsKKworICAgIGlm
IChwcml2LT5tYWluRnJhbWUtPnRpbGVkQmFja2luZ1N0b3JlKCkpCisgICAgICAgIHByaXYtPm1h
aW5GcmFtZS0+dGlsZWRCYWNraW5nU3RvcmUoKS0+aW52YWxpZGF0ZShhcmVhKTsKK30KKyNlbmRp
ZgorCiBuYW1lc3BhY2UgRVdLUHJpdmF0ZSB7CiAKIFdlYkNvcmU6OlBhZ2UqIGNvcmVQYWdlKGNv
bnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAppbmRleCAx
MDZiYTE0NWViMmZmMDVkY2QwOWFhMjhmM2ZmM2I5ZThhZWEyMTZlLi42NWRjNTVlYjlmMmU1M2Fm
MGEwMTM3ZDdhMzcxNWU1OGJhNGIyZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApAQCAt
Mjc3Nyw2ICsyNzc3LDI4IEBAIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfZW5hYmxl
X2Z1bGxzY3JlZW5fc2V0KEV2YXNfT2JqZWN0ICpvLCBFaW5hX0Jvb2wKIEVBUEkgRWluYV9Cb29s
IGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2Z1bGxzY3JlZW5fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0
ICpvKTsKIAogLyoqCisgKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBXZWJDb3JlJ3MgdGlsZWQgYmFj
a2luZyBzdG9yZS4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdAorICogQG9hcmFtIGVuYWJs
ZSBFbmFibGUgb3IgRGlzYWJsZSBXZWJDb3JlJ3MgdGlsZWQgYmFja2luZyBzdG9yZSBmb3IgZ2l2
ZW4gVmlldworICoKKyAqIEByZXR1cm4gdHJ1ZSBvbiBzdWNjZXNzLCBvciBmYWxzZSBvbiBmYWls
dXJlCisgKgorICogQG5vdGUgdGhpcyBpcyBub3QgZm9yIGdlbmVyYWwgdXNlLiBJdCBzaG91bGQg
YmUgdXNlZCBmb3Igc2luZ2xlIHZpZXcgb25seS4KKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX3Zp
ZXdfc2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZWRfc2V0KEV2YXNfT2JqZWN0ICpv
LCBFaW5hX0Jvb2wgZW5hYmxlKTsKKworLyoqCisgKiBRdWVyaWVzIGlmIHRoZSBXZWJDb3JlJ3Mg
dGlsZWQgYmFja2luZyBzdG9yZSBpcyBlbmFibGVkLgorICoKKyAqIEBwYXJhbSBvIHZpZXcgb2Jq
ZWN0IHRvIHF1ZXJ5CisgKgorICogQHJldHVybiBAYyBFSU5BX1RSVUUgaWYgdGhlIFdlYkNvcmUn
cyB0aWxlZCBiYWNraW5nIHN0b3JlIGlzIGVuYWJsZWQKKyAqICAgICAgICAgQGMgRUlOQV9GQUxT
RSBpZiBub3Qgb3Igb24gZmFpbHVyZQorICovCitFQVBJIEVpbmFfQm9vbCBld2tfdmlld19zZXR0
aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5hYmxlZF9nZXQoRXZhc19PYmplY3QgKm8pOworCisv
KioKICAqIEdldHMgdGhlIGNvbnRleHQgbWVudSBvYmplY3QuCiAgKiBAcGFyYW0gbyBUaGUgdmll
dyB0aGF0IGNvbnRhaW5zIGNvbnRleHQgbWVudS4KICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a192aWV3X3ByaXZhdGUuaAppbmRleCBiYWJkMWVhYTQwYmFmOTRlZTRmMjU1ZjkzMTE1NTQ1M2U1
ZmZiMmY5Li41ZGM0YzBiYmYyMmMzYWIzNmQwOTRjNDkxOGVjNzIwYjJkOWE5OGZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgKQEAgLTEzNCw2ICsxMzQsMTAgQEAg
RWluYV9Cb29sIGV3a192aWV3X3BhaW50X2NvbnRlbnRzKEV3a19WaWV3X1ByaXZhdGVfRGF0YSog
cHJpdiwgRXdrX1BhaW50X0NvbnRleHQKIHZvaWQgZXdrX3ZpZXdfanNfd2luZG93X29iamVjdF9j
bGVhcihFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19PYmplY3QqIGZyYW1lKTsKICNlbmRpZgog
CisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCit2b2lkIGV3a192aWV3X3RpbGVkX2JhY2tp
bmdfc3RvcmVfaW52YWxpZGF0ZShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgYXJlYSk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiB2b2lk
IGV3a192aWV3X25lZWRfdG91Y2hfZXZlbnRzX3NldChFdmFzX09iamVjdCosIGJvb2wgbmVlZGVk
KTsKIGJvb2wgZXdrX3ZpZXdfbmVlZF90b3VjaF9ldmVudHNfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0
Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfc2luZ2xlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19zaW5nbGUuY3BwCmluZGV4IGRlMGVi
ODk3Y2E2NmYyM2Y0NjU2ZGE1OTc0NGUwYjM5YWRmMjQzMTMuLmMxZmM2Y2QwMjlmMjkxOGRmODIz
ZjRiNDk5NTY0MjE2OWRkOGI2NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlld19zaW5nbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19z
aW5nbGUuY3BwCkBAIC0yMSw3ICsyMSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiZXdrX3ZpZXcuaCIKIAotI2luY2x1ZGUgImV3a19mcmFtZS5oIgorI2luY2x1ZGUgIlRpbGVk
QmFja2luZ1N0b3JlLmgiCisjaW5jbHVkZSAiZXdrX2ZyYW1lX3ByaXZhdGUuaCIKICNpbmNsdWRl
ICJld2tfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKIApAQCAtMjYy
LDYgKzI2MywxMiBAQCBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zaW5nbGVfc21hcnRfcmVw
YWludHNfcHJvY2VzcyhFd2tfVmlld19TbWFydF9EYXRhKiBzbQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgV2ViQ29yZTo6
RnJhbWUqIG1haW5GcmFtZSA9IEVXS1ByaXZhdGU6OmNvcmVGcmFtZShzbWFydERhdGEtPm1haW5f
ZnJhbWUpOworICAgIGlmIChtYWluRnJhbWUgJiYgbWFpbkZyYW1lLT50aWxlZEJhY2tpbmdTdG9y
ZSgpKQorICAgICAgICBtYWluRnJhbWUtPnRpbGVkQmFja2luZ1N0b3JlKCktPmNvdmVyV2l0aFRp
bGVzSWZOZWVkZWQoKTsKKyNlbmRpZgorCiAgICAgRXdrX1BhaW50X0NvbnRleHQqIGNvbnRleHQg
PSBld2tfcGFpbnRfY29udGV4dF9mcm9tX2ltYWdlX25ldyhzbWFydERhdGEtPmJhY2tpbmdfc3Rv
cmUpOwogICAgIGV3a19wYWludF9jb250ZXh0X3NhdmUoY29udGV4dCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL3Rlc3RzL3Rlc3RfZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktp
dC9lZmwvdGVzdHMvdGVzdF9ld2tfdmlldy5jcHAKaW5kZXggMjQxNTgwMTgyYzU4OThmNDM3MThl
ZmNjNTJhNDAwZDc3YTExMDA2Ni4uYTNkNzNhZjQyM2M5NWQyOWRiYmFlODk2YjI2MzI3NTNkMGIy
YjIyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvdGVzdHMvdGVzdF9ld2tfdmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvdGVzdHMvdGVzdF9ld2tfdmlldy5jcHAKQEAgLTcy
LDYgKzcyLDI5IEBAIFRFU1RfRihFV0tUZXN0QmFzZSwgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVf
ZnVsbHNjcmVlbikKIH0KIAogLyoqCisqIEBicmllZiBDaGVja2luZyB3aGV0aGVyIGZ1bmN0aW9u
IHByb3Blcmx5IGdldC9zZXQgZnVsbHNjcmVlbiBzZXR0aW5nIHZhbHVlLgorKi8KK1RFU1RfRihF
V0tUZXN0QmFzZSwgZXdrX3ZpZXdfc2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3JlKQoreworICAg
IGxvYWRVcmwoKTsKKyAgICBBU1NFUlRfRkFMU0UoZXdrX3ZpZXdfc2V0dGluZ190aWxlZF9iYWNr
aW5nX3N0b3JlX2VuYWJsZWRfZ2V0KHdlYlZpZXcoKSkpOworCisjaWYgVVNFKFRJTEVEX0JBQ0tJ
TkdfU1RPUkUpCisgICAgQVNTRVJUX1RSVUUoZXdrX3ZpZXdfc2V0dGluZ190aWxlZF9iYWNraW5n
X3N0b3JlX2VuYWJsZWRfc2V0KHdlYlZpZXcoKSwgdHJ1ZSkpOworICAgIEFTU0VSVF9UUlVFKGV3
a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVkX2dldCh3ZWJWaWV3KCkp
KTsKKworICAgIEFTU0VSVF9UUlVFKGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9y
ZV9lbmFibGVkX3NldCh3ZWJWaWV3KCksIGZhbHNlKSk7CisgICAgQVNTRVJUX0ZBTFNFKGV3a192
aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVkX2dldCh3ZWJWaWV3KCkpKTsK
KyNlbHNlCisgICAgQVNTRVJUX0ZBTFNFKGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19z
dG9yZV9lbmFibGVkX3NldCh3ZWJWaWV3KCksIHRydWUpKTsKKyAgICBBU1NFUlRfRkFMU0UoZXdr
X3ZpZXdfc2V0dGluZ190aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZWRfZ2V0KHdlYlZpZXcoKSkp
OworCisgICAgQVNTRVJUX0ZBTFNFKGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9y
ZV9lbmFibGVkX3NldCh3ZWJWaWV3KCksIGZhbHNlKSk7CisgICAgQVNTRVJUX0ZBTFNFKGV3a192
aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVkX2dldCh3ZWJWaWV3KCkpKTsK
KyNlbmRpZgorfQorCisvKioKICAqIEBicmllZiBDaGVja2luZyB3aGV0aGVyIGZ1bmN0aW9uIHJl
dHVybnMgcHJvcGVyIGNvbnRleHQgbWVudSBzdHJ1Y3R1cmUuCiAgKgogICogVGhpcyB0ZXN0IGNy
ZWF0ZXMgYSBjb250ZXh0IG1lbnUgYW5kIGNoZWNrcyBpZiBjb250ZXh0IG1lbnUgc3RydWN0dXJl
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTEw
ZDA3MTUyYmFmZjgzZTdiZmQ2YjcyM2I2Yjc3MjUyMzU1Nzc1NS4uY2E1NDg4OTA0NTczODc2ZGE3
YjA0MDA3OTE1MzU3NzdjOTYxNGRjOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTExLTE0ICBSeXVhbiBDaG9p
ICA8cnl1YW4uY2hvaUBnbWFpbC5jb20+CisKKyAgICAgICAgW0VGTF0gUG9ydCB0aWxlZCBiYWNr
aW5nIHN0b3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTM1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogRVdlYkxhdW5jaGVyL21haW4uYzogQWRkZWQgb3B0aW9uIHRvIHRlc3QgdGhlIFdlYkNvcmUn
cyB0aWxlZCBiYWNraW5nIHN0b3JlLgorICAgICAgICAoX1VzZXJfQXJndW1lbnRzKToKKyAgICAg
ICAgKHdpbmRvd0NyZWF0ZSk6CisgICAgICAgIChwYXJzZVVzZXJBcmd1bWVudHMpOgorCiAyMDEy
LTExLTEzICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTM0NTAzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRVdlYkxh
dW5jaGVyL21haW4uYyBiL1Rvb2xzL0VXZWJMYXVuY2hlci9tYWluLmMKaW5kZXggYjExOTI0MzVm
ZjYzNDA5ZDFkZWRmY2YyM2M4NGZjMTUyYjVkYTE5OC4uNjg0ODAwYTFjNjkwNDNjZjY1MTA0ZDlj
Y2I4MzMwYTAzMmMyOWFlNSAxMDA2NDQKLS0tIGEvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYwor
KysgYi9Ub29scy9FV2ViTGF1bmNoZXIvbWFpbi5jCkBAIC0xMjYsNiArMTI2LDggQEAgc3RhdGlj
IGNvbnN0IEVjb3JlX0dldG9wdCBvcHRpb25zID0gewogICAgICAgICAgICAgIGVjb3JlX2dldG9w
dF9jYWxsYmFja19nZW9tZXRyeV9wYXJzZSwgTlVMTCksCiAgICAgICAgIEVDT1JFX0dFVE9QVF9T
VE9SRV9TVFIKICAgICAgICAgICAgICgndCcsICJ0aGVtZSIsICJwYXRoIHRvIHJlYWQgdGhlIHRo
ZW1lIGZpbGUgZnJvbS4iKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1NUT1JFX0RFRl9CT09MCisg
ICAgICAgICAgICAoJ1QnLCAidGlsZWQtYmFja2luZy1zdG9yZSIsICJlbmFibGUvZGlzYWJsZSBX
ZWJDb3JlJ3MgdGlsZWQgYmFja2luZ3N0b3JlKGV3a192aWV3X3NpbmdsZSBvbmx5KSIsIDApLAog
ICAgICAgICBFQ09SRV9HRVRPUFRfU1RPUkVfU1RSCiAgICAgICAgICAgICAoJ1UnLCAidXNlci1h
Z2VudCIsICJjdXN0b20gdXNlciBhZ2VudCBzdHJpbmcgdG8gdXNlLiIpLAogICAgICAgICBFQ09S
RV9HRVRPUFRfQ09VTlQKQEAgLTE0Nyw2ICsxNDksNyBAQCB0eXBlZGVmIHN0cnVjdCBfVXNlcl9B
cmd1bWVudHMgewogICAgIEVpbmFfQm9vbCBxdWl0T3B0aW9uOwogICAgIGNoYXIgKmJhY2tpbmdT
dG9yZTsKICAgICBFaW5hX0Jvb2wgZW5hYmxlRW5jb2RpbmdEZXRlY3RvcjsKKyAgICBFaW5hX0Jv
b2wgZW5hYmxlVGlsZWRCYWNraW5nU3RvcmU7CiAgICAgRWluYV9Cb29sIGlzRmxhdHRlbmluZzsK
ICAgICBFaW5hX0Jvb2wgaXNGdWxsc2NyZWVuOwogICAgIEVpbmFfUmVjdGFuZ2xlIGdlb21ldHJ5
OwpAQCAtODQ3LDYgKzg1MCw4IEBAIHdpbmRvd0NyZWF0ZShVc2VyX0FyZ3VtZW50cyAqdXNlckFy
Z3MpCiAgICAgfSBlbHNlIHsKICAgICAgICAgYXBwLT5icm93c2VyID0gZXdrX3ZpZXdfc2luZ2xl
X2FkZChhcHAtPmV2YXMpOwogICAgICAgICBpbmZvKCJiYWNraW5nIHN0b3JlOiBzaW5nbGVcbiIp
OworCisgICAgICAgIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVk
X3NldChhcHAtPmJyb3dzZXIsIHVzZXJBcmdzLT5lbmFibGVUaWxlZEJhY2tpbmdTdG9yZSk7CiAg
ICAgfQogCiAgICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcC0+YnJvd3NlciwgdGhlbWVQYXRoKTsK
QEAgLTkzMiw2ICs5MzcsNyBAQCBwYXJzZVVzZXJBcmd1bWVudHMoaW50IGFyZ2MsIGNoYXIgKmFy
Z3ZbXSwgVXNlcl9Bcmd1bWVudHMgKnVzZXJBcmdzKQogICAgIHVzZXJBcmdzLT5xdWl0T3B0aW9u
ID0gRUlOQV9GQUxTRTsKICAgICB1c2VyQXJncy0+YmFja2luZ1N0b3JlID0gKGNoYXIgKiliYWNr
aW5nU3RvcmVzWzFdOwogICAgIHVzZXJBcmdzLT5lbmFibGVFbmNvZGluZ0RldGVjdG9yID0gRUlO
QV9GQUxTRTsKKyAgICB1c2VyQXJncy0+ZW5hYmxlVGlsZWRCYWNraW5nU3RvcmUgPSBFSU5BX0ZB
TFNFOwogICAgIHVzZXJBcmdzLT5pc0ZsYXR0ZW5pbmcgPSBFSU5BX0ZBTFNFOwogICAgIHVzZXJB
cmdzLT5pc0Z1bGxzY3JlZW4gPSBFSU5BX0ZBTFNFOwogICAgIHVzZXJBcmdzLT5nZW9tZXRyeS54
ID0gMDsKQEAgLTk1MCw2ICs5NTYsNyBAQCBwYXJzZVVzZXJBcmd1bWVudHMoaW50IGFyZ2MsIGNo
YXIgKmFyZ3ZbXSwgVXNlcl9Bcmd1bWVudHMgKnVzZXJBcmdzKQogICAgICAgICBFQ09SRV9HRVRP
UFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+aXNGdWxsc2NyZWVuKSwKICAgICAgICAgRUNPUkVfR0VU
T1BUX1ZBTFVFX1BUUl9DQVNUKHVzZXJBcmdzLT5nZW9tZXRyeSksCiAgICAgICAgIEVDT1JFX0dF
VE9QVF9WQUxVRV9TVFIodXNlckFyZ3MtPnRoZW1lKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZB
TFVFX0JPT0wodXNlckFyZ3MtPmVuYWJsZVRpbGVkQmFja2luZ1N0b3JlKSwKICAgICAgICAgRUNP
UkVfR0VUT1BUX1ZBTFVFX1NUUih1c2VyQXJncy0+dXNlckFnZW50KSwKICAgICAgICAgRUNPUkVf
R0VUT1BUX1ZBTFVFX0lOVCh2ZXJib3NlKSwKICAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JP
T0wodXNlckFyZ3MtPnF1aXRPcHRpb24pLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174343</attachid>
            <date>2012-11-14 21:58:01 -0800</date>
            <delta_ts>2012-11-14 22:45:06 -0800</delta_ts>
            <desc>patch for land</desc>
            <filename>bug-71352-20121115145559.patch</filename>
            <type>text/plain</type>
            <size>15325</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggMGFkYjNlOGFh
ZWYyMGVjMTYzMjljZmMzOTI5OGY0YjUzNDQzM2YwNS4uNTIwMGI4MjBmZmY0ZDQyMDJjOWRlOTJl
NzZlN2MzNzBjYWMxNWZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQwIEBACiAyMDEy
LTExLTE0ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBnbWFpbC5jb20+CiAKKyAgICAgICAgW0VG
TF0gUG9ydCB0aWxlZCBiYWNraW5nIHN0b3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTM1MgorCisgICAgICAgIFJldmlld2VkIGJ5IEd5dXlvdW5n
IEtpbS4KKworICAgICAgICBBZGRlZCBld2tfdmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdfc3Rv
cmVfZW5hYmxlZF97Z2V0fHNldH0gdG8gZ2l2ZSBwb3NzaWJpbGl0eQorICAgICAgICB0byB1c2Ug
V2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3RvcmUgaW4gV2ViS2l0L0VmbCBwb3J0LiBUaGlzIG1h
a2VzIFdlYktpdC9FZmwKKyAgICAgICAgY29tcGxpYW50IHdpdGggV2ViS2l0J3MgZ2VuZXJpYyBz
b2x1dGlvbiBvZiB0aWxlZCBiYWNraW5nIHN0b3JlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVm
bDo6aW52YWxpZGF0ZVJvb3RWaWV3KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2hyb21lQ2xpZW50RWZsOjp2aXNpYmxlUmVjdEZvclRpbGVkQmFja2luZ1N0b3JlKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKENo
cm9tZUNsaWVudEVmbCk6CisgICAgICAgICogZXdrL2V3a19mcmFtZV9wcml2YXRlLmg6CisgICAg
ICAgIERlY2xhcmVkIG1pc3NpbmcgY2xhc3NlcyB3aGljaCB1c2VkIGluIHRoaXMgZmlsZS4KKyAg
ICAgICAgKiBld2svZXdrX3BhaW50X2NvbnRleHQuY3BwOgorICAgICAgICAoZXdrX3BhaW50X2Nv
bnRleHRfcGFpbnQpOiBJbXBsZW1lbnRlZCB0byBwYWludCB0aWxlZCBiYWNraW5nIHN0b3JlCisg
ICAgICAgICogZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X3NldHRpbmdfdGls
ZWRfYmFja2luZ19zdG9yZV9lbmFibGVkX3NldCk6CisgICAgICAgIEFkZGVkIEFQSSB0byBlbmFi
bGUvZGlzYWJsZSB0aGUgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3RvcmUuCisgICAgICAgIChl
d2tfdmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5hYmxlZF9nZXQpOgorICAgICAg
ICBBZGRlZCBBUEkgdG8gcXVlcnkgaWYgdGhlIFdlYkNvcmUncyB0aWxlZCBiYWNraW5nIHN0b3Jl
IGlzIGVuYWJsZWQuCisgICAgICAgIChld2tfdmlld190aWxlZF9iYWNraW5nX3N0b3JlX2ludmFs
aWRhdGUpOgorICAgICAgICAqIGV3ay9ld2tfdmlldy5oOgorICAgICAgICAqIGV3ay9ld2tfdmll
d19wcml2YXRlLmg6CisgICAgICAgICogZXdrL2V3a192aWV3X3NpbmdsZS5jcHA6CisgICAgICAg
IChfZXdrX3ZpZXdfc2luZ2xlX3NtYXJ0X3JlcGFpbnRzX3Byb2Nlc3MpOgorICAgICAgICBJbXBs
ZW1lbnRlZCB0byB1cGRhdGUgdmlzaWJsZSBhcmVhIG9mIHRpbGVkIGJhY2tpbmcgc3RvcmUuCisg
ICAgICAgICogdGVzdHMvdGVzdF9ld2tfdmlldy5jcHA6IEFkZGVkIHRlc3QgY2FzZSBvZiBld2tf
dmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmUuCisgICAgICAgIChURVNUX0YpOgorCisy
MDEyLTExLTE0ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBnbWFpbC5jb20+CisKICAgICAgICAg
W0VGTF0gUmVmYWN0b3IgdGhlbWUgdG8gY2hvb3NlIHdoZXRoZXIgdG8gc3VwcG9ydCBmb3JlZ3Jv
dW5kIGNvbG9yIG9mIHNlbGVjdGlvbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAyMDM3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4IDUzNzQyNGE5NDNkMDdkMzM1NTE5
YTExM2MxMzljMjgwNjEwNjA4MTcuLjBmZTBmZmFiNjc3ZjhhMDg5ZmM0YzU5MDI4NzcwNWQzNjY2
YWUyYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmNwcApAQCAtNTE1LDkgKzUxNSwxNCBAQCB2b2lkIENocm9tZUNsaWVudEVm
bDo6aW52YWxpZGF0ZUNvbnRlbnRzKGNvbnN0IEludFJlY3QmIC8qdXBkYXRlUmVjdCovLCBib29s
IC8qaQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50RWZsOjpp
bnZhbGlkYXRlUm9vdFZpZXcoY29uc3QgSW50UmVjdCYgLyp1cGRhdGVSZWN0Ki8sIGJvb2wgLypp
bW1lZGlhdGUqLykKK3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlUm9vdFZpZXcoY29u
c3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCAvKmltbWVkaWF0ZSovKQogeworI2lmIFVTRShU
SUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIGV3a192aWV3X3RpbGVkX2JhY2tpbmdfc3RvcmVfaW52
YWxpZGF0ZShtX3ZpZXcsIHVwZGF0ZVJlY3QpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0odXBk
YXRlUmVjdCk7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKKyNlbmRpZgogfQogCiB2b2lkIENocm9t
ZUNsaWVudEVmbDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcoY29uc3QgSW50UmVjdCYg
dXBkYXRlUmVjdCwgYm9vbCAvKmltbWVkaWF0ZSovKQpAQCAtNjUzLDYgKzY1OCwxNiBAQCB2b2lk
IENocm9tZUNsaWVudEVmbDo6ZGVsZWdhdGVkU2Nyb2xsUmVxdWVzdGVkKGNvbnN0IEludFBvaW50
JikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQorCitJbnRSZWN0IENocm9tZUNsaWVudEVm
bDo6dmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tpbmdTdG9yZSgpIGNvbnN0Cit7CisgICAgV2ViQ29y
ZTo6RmxvYXRSZWN0IHJlY3QgPSBld2tfdmlld19wYWdlX3JlY3RfZ2V0KG1fdmlldyk7CisgICAg
Y29uc3QgRXZhc19PYmplY3QqIGZyYW1lID0gZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQobV92aWV3
KTsKKworICAgIGludCB4LCB5OworICAgIGV3a19mcmFtZV9zY3JvbGxfcG9zX2dldChmcmFtZSwg
JngsICZ5KTsKKyAgICByZXR1cm4gSW50UmVjdCh4LCB5LCByZWN0LndpZHRoKCksIHJlY3QuaGVp
Z2h0KCkpOworfQogI2VuZGlmCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggNjhkYTQ1YThhODE2ZjMwOGM1N2VjMTc5
Nzg3MmY4NDNiNTE2ZjY0Ny4uYWIxMDc3OGZhOTViODkxMzcyYjM5NmU3N2NjYzI5MTkzOGE4Mjg4
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmgKQEAgLTE4Miw2ICsxODIsNyBAQCBwdWJsaWM6CiAKICNpZiBVU0UoVElMRURfQkFD
S0lOR19TVE9SRSkKICAgICB2aXJ0dWFsIHZvaWQgZGVsZWdhdGVkU2Nyb2xsUmVxdWVzdGVkKGNv
bnN0IEludFBvaW50JiBzY3JvbGxQb2ludCk7CisgICAgdmlydHVhbCBJbnRSZWN0IHZpc2libGVS
ZWN0Rm9yVGlsZWRCYWNraW5nU3RvcmUoKSBjb25zdDsKICNlbmRpZgogCiAgICAgRXZhc19PYmpl
Y3QqIG1fdmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWVf
cHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZV9wcml2YXRlLmgKaW5k
ZXggNGY1ZjBlNDBlYzQzYjFkZjYzNjZjOTJiM2I5OTk0YTNlNTRmM2ZkYi4uYzhjYWQ5MGE3Y2Vl
N2MzNjY3ZTFjY2FiODg4YzFjNDJlZGZhN2JkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19mcmFtZV9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZV9wcml2YXRlLmgKQEAgLTI4LDggKzI4LDExIEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBXaWRnZXQ7CitjbGFzcyBIaXN0b3J5
SXRlbTsKK2NsYXNzIEhUTUxQbHVnSW5FbGVtZW50OworY2xhc3MgS1VSTDsKIGNsYXNzIEZyYW1l
OworY2xhc3MgV2lkZ2V0OwogfQogCiBFdmFzX09iamVjdCogZXdrX2ZyYW1lX2FkZChFdmFzKiBj
YW52YXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wYWludF9jb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcGFpbnRfY29udGV4dC5jcHAKaW5k
ZXggYmRiZDg5OWJjYjEzMTZjMTZkOThiMDU1YWM3YzNhNGY2YmZjNmE1Zi4uYzE5ZDEzODExMmU3
MTgzZGE4NTI5MmZmNjA1ZWNiNmFiZDk5YTk5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19wYWludF9jb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3BhaW50X2NvbnRleHQuY3BwCkBAIC0yMCw2ICsyMCw3IEBACiAKICNpbmNsdWRlICJjb25m
aWcuaCIKIAorI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlLmgiCiAjaW5jbHVkZSAiZXdrX3Bh
aW50X2NvbnRleHRfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a19wcml2YXRlLmgiCiAKQEAgLTE1
OCw2ICsxNTksMjAgQEAgdm9pZCBld2tfcGFpbnRfY29udGV4dF9wYWludChFd2tfUGFpbnRfQ29u
dGV4dCogY29udGV4dCwgV2ViQ29yZTo6RnJhbWVWaWV3KiB2aWUKIAogICAgIFdlYkNvcmU6Oklu
dFJlY3QgcGFpbnRBcmVhKCphcmVhKTsKIAorI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQor
ICAgIGlmICh2aWV3LT5mcmFtZSgpLT50aWxlZEJhY2tpbmdTdG9yZSgpKSB7CisgICAgICAgIGlu
dCBzY3JvbGxYID0gdmlldy0+c2Nyb2xsWCgpOworICAgICAgICBpbnQgc2Nyb2xsWSA9IHZpZXct
PnNjcm9sbFkoKTsKKworICAgICAgICBjb250ZXh0LT5ncmFwaGljQ29udGV4dC0+dHJhbnNsYXRl
KC1zY3JvbGxYLCAtc2Nyb2xsWSk7CisKKyAgICAgICAgcGFpbnRBcmVhLm1vdmUoc2Nyb2xsWCwg
c2Nyb2xsWSk7CisKKyAgICAgICAgdmlldy0+ZnJhbWUoKS0+dGlsZWRCYWNraW5nU3RvcmUoKS0+
cGFpbnQoY29udGV4dC0+Z3JhcGhpY0NvbnRleHQuZ2V0KCksIHBhaW50QXJlYSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisjZW5kaWYKKwogICAgIGlmICh2aWV3LT5pc1RyYW5zcGFyZW50KCkp
CiAgICAgICAgIGNvbnRleHQtPmdyYXBoaWNDb250ZXh0LT5jbGVhclJlY3QocGFpbnRBcmVhKTsK
ICAgICB2aWV3LT5wYWludChjb250ZXh0LT5ncmFwaGljQ29udGV4dC5nZXQoKSwgcGFpbnRBcmVh
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IGI3YTg0YjFmOTFiMzgyOTZmNGU2
NDA1ZGU5M2UyZGRiYzIxZDdlODEuLmIxNTcxYTBlOWUyMzE3ZDEyNzI3ZTRjZTNlNWJhZDMxOTQ1
NDgyN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApAQCAtMzYsNiArMzYsNyBAQAog
I2luY2x1ZGUgIkVmbFNjcmVlblV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5o
IgogI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiRnJhbWVMb2FkZXJDbGllbnRFZmwuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNp
bmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKQEAgLTU3LDYgKzU4LDcgQEAKICNpbmNsdWRlICJS
ZW5kZXJUaGVtZUVmbC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKKyNpbmNsdWRlICJUaWxlZEJhY2tpbmdTdG9yZS5oIgogI2luY2x1ZGUgImNf
aW5zdGFuY2UuaCIKICNpbmNsdWRlICJld2tfY29udGV4dG1lbnVfcHJpdmF0ZS5oIgogI2luY2x1
ZGUgImV3a19mcmFtZS5oIgpAQCAtNDc1NCw2ICs0NzU2LDU1IEBAIEV3a19Db250ZXh0X01lbnUq
IGV3a192aWV3X2NvbnRleHRfbWVudV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAg
ICAgcmV0dXJuIHByaXYtPmNvbnRleHRNZW51OwogfQogCitFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0
dGluZ190aWxlZF9iYWNraW5nX3N0b3JlX2VuYWJsZWRfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBFaW5hX0Jvb2wgZW5hYmxlKQoreworI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorICAg
IEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7Cisg
ICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpOwor
CisgICAgcHJpdi0+cGFnZVNldHRpbmdzLT5zZXRUaWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoZW5h
YmxlKTsKKworICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZXdrVmll
dyk7CisgICAgVU5VU0VEX1BBUkFNKGVuYWJsZSk7CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlm
Cit9CisKK0VpbmFfQm9vbCBld2tfdmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5h
YmxlZF9nZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdf
U1RPUkUpCisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEs
IGZhbHNlKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2
LCBmYWxzZSk7CisKKyAgICByZXR1cm4gcHJpdi0+cGFnZVNldHRpbmdzLT50aWxlZEJhY2tpbmdT
dG9yZUVuYWJsZWQoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV3a1ZpZXcpOworICAgIHJl
dHVybiBmYWxzZTsKKyNlbmRpZgorfQorCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisv
KioKKyAqIEBpbnRlcm5hbAorICogSW52YWxpZGF0ZSBnaXZlbiBhcmVhIHRvIHJlcGFpbnQuIFRo
ZSBiYWNraW5nIHN0b3JlIHdpbGwgbWFyayB0aWxlcyB0aGF0IGFyZQorICogaW4gdGhlIGFyZWEg
YXMgZGlydHkuCisgKgorICogQHBhcmFtIGV3a1ZpZXcgVmlldy4KKyAqIEBwYXJhbSBhcmVhIEFy
ZWEgdG8gaW52YWxpZGF0ZQorICovCit2b2lkIGV3a192aWV3X3RpbGVkX2JhY2tpbmdfc3RvcmVf
aW52YWxpZGF0ZShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
YXJlYSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihld2tWaWV3KTsKKyAgICBF
V0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJ
RVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdik7CisKKyAgICBpZiAocHJpdi0+
bWFpbkZyYW1lLT50aWxlZEJhY2tpbmdTdG9yZSgpKQorICAgICAgICBwcml2LT5tYWluRnJhbWUt
PnRpbGVkQmFja2luZ1N0b3JlKCktPmludmFsaWRhdGUoYXJlYSk7Cit9CisjZW5kaWYKKwogbmFt
ZXNwYWNlIEVXS1ByaXZhdGUgewogCiBXZWJDb3JlOjpQYWdlKiBjb3JlUGFnZShjb25zdCBFdmFz
X09iamVjdCogZXdrVmlldykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dmlldy5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKaW5kZXggMTA2YmExNDVl
YjJmZjA1ZGNkMDlhYTI4ZjNmZjNiOWU4YWVhMjE2ZS4uNjVkYzU1ZWI5ZjJlNTNhZjBhMDEzN2Q3
YTM3MTVlNThiYTRiMmY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192
aWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTI3NzcsNiAr
Mjc3NywyOCBAQCBFQVBJIEVpbmFfQm9vbCBld2tfdmlld19zZXR0aW5nX2VuYWJsZV9mdWxsc2Ny
ZWVuX3NldChFdmFzX09iamVjdCAqbywgRWluYV9Cb29sCiBFQVBJIEVpbmFfQm9vbCBld2tfdmll
d19zZXR0aW5nX2VuYWJsZV9mdWxsc2NyZWVuX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAK
IC8qKgorICogRW5hYmxlcy9kaXNhYmxlcyB0aGUgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3Rv
cmUuCisgKgorICogQHBhcmFtIG8gdmlldyBvYmplY3QKKyAqIEBvYXJhbSBlbmFibGUgRW5hYmxl
IG9yIERpc2FibGUgV2ViQ29yZSdzIHRpbGVkIGJhY2tpbmcgc3RvcmUgZm9yIGdpdmVuIFZpZXcK
KyAqCisgKiBAcmV0dXJuIHRydWUgb24gc3VjY2Vzcywgb3IgZmFsc2Ugb24gZmFpbHVyZQorICoK
KyAqIEBub3RlIHRoaXMgaXMgbm90IGZvciBnZW5lcmFsIHVzZS4gSXQgc2hvdWxkIGJlIHVzZWQg
Zm9yIHNpbmdsZSB2aWV3IG9ubHkuCisgKi8KK0VBUEkgRWluYV9Cb29sIGV3a192aWV3X3NldHRp
bmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVkX3NldChFdmFzX09iamVjdCAqbywgRWluYV9C
b29sIGVuYWJsZSk7CisKKy8qKgorICogUXVlcmllcyBpZiB0aGUgV2ViQ29yZSdzIHRpbGVkIGJh
Y2tpbmcgc3RvcmUgaXMgZW5hYmxlZC4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBx
dWVyeQorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIGlmIHRoZSBXZWJDb3JlJ3MgdGlsZWQg
YmFja2luZyBzdG9yZSBpcyBlbmFibGVkCisgKiAgICAgICAgIEBjIEVJTkFfRkFMU0UgaWYgbm90
IG9yIG9uIGZhaWx1cmUKKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0dGluZ190aWxl
ZF9iYWNraW5nX3N0b3JlX2VuYWJsZWRfZ2V0KEV2YXNfT2JqZWN0ICpvKTsKKworLyoqCiAgKiBH
ZXRzIHRoZSBjb250ZXh0IG1lbnUgb2JqZWN0LgogICogQHBhcmFtIG8gVGhlIHZpZXcgdGhhdCBj
b250YWlucyBjb250ZXh0IG1lbnUuCiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a192aWV3X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19w
cml2YXRlLmgKaW5kZXggYmFiZDFlYWE0MGJhZjk0ZWU0ZjI1NWY5MzExNTU0NTNlNWZmYjJmOS4u
NWRjNGMwYmJmMjJjM2FiMzZkMDk0YzQ5MThlYzcyMGIyZDlhOThmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0ZS5oCkBAIC0xMzQsNiArMTM0LDEwIEBAIEVpbmFfQm9v
bCBld2tfdmlld19wYWludF9jb250ZW50cyhFd2tfVmlld19Qcml2YXRlX0RhdGEqIHByaXYsIEV3
a19QYWludF9Db250ZXh0CiB2b2lkIGV3a192aWV3X2pzX3dpbmRvd19vYmplY3RfY2xlYXIoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0KiBmcmFtZSk7CiAjZW5kaWYKIAorI2lmIFVT
RShUSUxFRF9CQUNLSU5HX1NUT1JFKQordm9pZCBld2tfdmlld190aWxlZF9iYWNraW5nX3N0b3Jl
X2ludmFsaWRhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IGFyZWEpOworI2VuZGlmCisKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogdm9pZCBld2tfdmll
d19uZWVkX3RvdWNoX2V2ZW50c19zZXQoRXZhc19PYmplY3QqLCBib29sIG5lZWRlZCk7CiBib29s
IGV3a192aWV3X25lZWRfdG91Y2hfZXZlbnRzX2dldChjb25zdCBFdmFzX09iamVjdCopOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3NpbmdsZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfc2luZ2xlLmNwcAppbmRleCBkZTBlYjg5N2NhNjZm
MjNmNDY1NmRhNTk3NDRlMGIzOWFkZjI0MzEzLi5jMWZjNmNkMDI5ZjI5MThkZjgyM2Y0YjQ5OTU2
NDIxNjlkZDhiNjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdf
c2luZ2xlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfc2luZ2xlLmNw
cApAQCAtMjEsNyArMjEsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImV3a192
aWV3LmgiCiAKLSNpbmNsdWRlICJld2tfZnJhbWUuaCIKKyNpbmNsdWRlICJUaWxlZEJhY2tpbmdT
dG9yZS5oIgorI2luY2x1ZGUgImV3a19mcmFtZV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3By
aXZhdGUuaCIKICNpbmNsdWRlICJld2tfdmlld19wcml2YXRlLmgiCiAKQEAgLTI2Miw2ICsyNjMs
MTIgQEAgc3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfc2luZ2xlX3NtYXJ0X3JlcGFpbnRzX3By
b2Nlc3MoRXdrX1ZpZXdfU21hcnRfRGF0YSogc20KICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KIAorI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIFdlYkNvcmU6OkZyYW1lKiBt
YWluRnJhbWUgPSBFV0tQcml2YXRlOjpjb3JlRnJhbWUoc21hcnREYXRhLT5tYWluX2ZyYW1lKTsK
KyAgICBpZiAobWFpbkZyYW1lICYmIG1haW5GcmFtZS0+dGlsZWRCYWNraW5nU3RvcmUoKSkKKyAg
ICAgICAgbWFpbkZyYW1lLT50aWxlZEJhY2tpbmdTdG9yZSgpLT5jb3ZlcldpdGhUaWxlc0lmTmVl
ZGVkKCk7CisjZW5kaWYKKwogICAgIEV3a19QYWludF9Db250ZXh0KiBjb250ZXh0ID0gZXdrX3Bh
aW50X2NvbnRleHRfZnJvbV9pbWFnZV9uZXcoc21hcnREYXRhLT5iYWNraW5nX3N0b3JlKTsKICAg
ICBld2tfcGFpbnRfY29udGV4dF9zYXZlKGNvbnRleHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC90ZXN0cy90ZXN0X2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL3Rl
c3RzL3Rlc3RfZXdrX3ZpZXcuY3BwCmluZGV4IDI0MTU4MDE4MmM1ODk4ZjQzNzE4ZWZjYzUyYTQw
MGQ3N2ExMTAwNjYuLmEzZDczYWY0MjNjOTVkMjlkYmJhZTg5NmIyNjMyNzUzZDBiMmIyMjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL3Rlc3RzL3Rlc3RfZXdrX3ZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL3Rlc3RzL3Rlc3RfZXdrX3ZpZXcuY3BwCkBAIC03Miw2ICs3Miwy
OSBAQCBURVNUX0YoRVdLVGVzdEJhc2UsIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2Z1bGxzY3Jl
ZW4pCiB9CiAKIC8qKgorKiBAYnJpZWYgQ2hlY2tpbmcgd2hldGhlciBmdW5jdGlvbiBwcm9wZXJs
eSBnZXQvc2V0IGZ1bGxzY3JlZW4gc2V0dGluZyB2YWx1ZS4KKyovCitURVNUX0YoRVdLVGVzdEJh
c2UsIGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZSkKK3sKKyAgICBsb2FkVXJs
KCk7CisgICAgQVNTRVJUX0ZBTFNFKGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9y
ZV9lbmFibGVkX2dldCh3ZWJWaWV3KCkpKTsKKworI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JF
KQorICAgIEFTU0VSVF9UUlVFKGV3a192aWV3X3NldHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9l
bmFibGVkX3NldCh3ZWJWaWV3KCksIHRydWUpKTsKKyAgICBBU1NFUlRfVFJVRShld2tfdmlld19z
ZXR0aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5hYmxlZF9nZXQod2ViVmlldygpKSk7CisKKyAg
ICBBU1NFUlRfVFJVRShld2tfdmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5hYmxl
ZF9zZXQod2ViVmlldygpLCBmYWxzZSkpOworICAgIEFTU0VSVF9GQUxTRShld2tfdmlld19zZXR0
aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5hYmxlZF9nZXQod2ViVmlldygpKSk7CisjZWxzZQor
ICAgIEFTU0VSVF9GQUxTRShld2tfdmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5h
YmxlZF9zZXQod2ViVmlldygpLCB0cnVlKSk7CisgICAgQVNTRVJUX0ZBTFNFKGV3a192aWV3X3Nl
dHRpbmdfdGlsZWRfYmFja2luZ19zdG9yZV9lbmFibGVkX2dldCh3ZWJWaWV3KCkpKTsKKworICAg
IEFTU0VSVF9GQUxTRShld2tfdmlld19zZXR0aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5hYmxl
ZF9zZXQod2ViVmlldygpLCBmYWxzZSkpOworICAgIEFTU0VSVF9GQUxTRShld2tfdmlld19zZXR0
aW5nX3RpbGVkX2JhY2tpbmdfc3RvcmVfZW5hYmxlZF9nZXQod2ViVmlldygpKSk7CisjZW5kaWYK
K30KKworLyoqCiAgKiBAYnJpZWYgQ2hlY2tpbmcgd2hldGhlciBmdW5jdGlvbiByZXR1cm5zIHBy
b3BlciBjb250ZXh0IG1lbnUgc3RydWN0dXJlLgogICoKICAqIFRoaXMgdGVzdCBjcmVhdGVzIGEg
Y29udGV4dCBtZW51IGFuZCBjaGVja3MgaWYgY29udGV4dCBtZW51IHN0cnVjdHVyZQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNjNjVjOWJhMzAx
MDA3NTZiYjc5OGE4NmQ2NDA1ZTIyZjExNTdlNDkuLjY0NWRhNWJiODdhZWZmMmE3NmQ5ZjBjZGZh
ZDZiMTMxYzUxOTQyODcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMS0xNCAgUnl1YW4gQ2hvaSAgPHJ5dWFu
LmNob2lAZ21haWwuY29tPgorCisgICAgICAgIFtFRkxdIFBvcnQgdGlsZWQgYmFja2luZyBzdG9y
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNTIK
KworICAgICAgICBSZXZpZXdlZCBieSBHeXV5b3VuZyBLaW0uCisKKyAgICAgICAgKiBFV2ViTGF1
bmNoZXIvbWFpbi5jOiBBZGRlZCBvcHRpb24gdG8gdGVzdCB0aGUgV2ViQ29yZSdzIHRpbGVkIGJh
Y2tpbmcgc3RvcmUuCisgICAgICAgIChfVXNlcl9Bcmd1bWVudHMpOgorICAgICAgICAod2luZG93
Q3JlYXRlKToKKyAgICAgICAgKHBhcnNlVXNlckFyZ3VtZW50cyk6CisKIDIwMTItMTEtMTQgIEFu
ZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQuCmRp
ZmYgLS1naXQgYS9Ub29scy9FV2ViTGF1bmNoZXIvbWFpbi5jIGIvVG9vbHMvRVdlYkxhdW5jaGVy
L21haW4uYwppbmRleCBiMTE5MjQzNWZmNjM0MDlkMWRlZGZjZjIzYzg0ZmMxNTJiNWRhMTk4Li42
ODQ4MDBhMWM2OTA0M2NmNjUxMDRkOWNjYjgzMzBhMDMyYzI5YWU1IDEwMDY0NAotLS0gYS9Ub29s
cy9FV2ViTGF1bmNoZXIvbWFpbi5jCisrKyBiL1Rvb2xzL0VXZWJMYXVuY2hlci9tYWluLmMKQEAg
LTEyNiw2ICsxMjYsOCBAQCBzdGF0aWMgY29uc3QgRWNvcmVfR2V0b3B0IG9wdGlvbnMgPSB7CiAg
ICAgICAgICAgICAgZWNvcmVfZ2V0b3B0X2NhbGxiYWNrX2dlb21ldHJ5X3BhcnNlLCBOVUxMKSwK
ICAgICAgICAgRUNPUkVfR0VUT1BUX1NUT1JFX1NUUgogICAgICAgICAgICAgKCd0JywgInRoZW1l
IiwgInBhdGggdG8gcmVhZCB0aGUgdGhlbWUgZmlsZSBmcm9tLiIpLAorICAgICAgICBFQ09SRV9H
RVRPUFRfU1RPUkVfREVGX0JPT0wKKyAgICAgICAgICAgICgnVCcsICJ0aWxlZC1iYWNraW5nLXN0
b3JlIiwgImVuYWJsZS9kaXNhYmxlIFdlYkNvcmUncyB0aWxlZCBiYWNraW5nc3RvcmUoZXdrX3Zp
ZXdfc2luZ2xlIG9ubHkpIiwgMCksCiAgICAgICAgIEVDT1JFX0dFVE9QVF9TVE9SRV9TVFIKICAg
ICAgICAgICAgICgnVScsICJ1c2VyLWFnZW50IiwgImN1c3RvbSB1c2VyIGFnZW50IHN0cmluZyB0
byB1c2UuIiksCiAgICAgICAgIEVDT1JFX0dFVE9QVF9DT1VOVApAQCAtMTQ3LDYgKzE0OSw3IEBA
IHR5cGVkZWYgc3RydWN0IF9Vc2VyX0FyZ3VtZW50cyB7CiAgICAgRWluYV9Cb29sIHF1aXRPcHRp
b247CiAgICAgY2hhciAqYmFja2luZ1N0b3JlOwogICAgIEVpbmFfQm9vbCBlbmFibGVFbmNvZGlu
Z0RldGVjdG9yOworICAgIEVpbmFfQm9vbCBlbmFibGVUaWxlZEJhY2tpbmdTdG9yZTsKICAgICBF
aW5hX0Jvb2wgaXNGbGF0dGVuaW5nOwogICAgIEVpbmFfQm9vbCBpc0Z1bGxzY3JlZW47CiAgICAg
RWluYV9SZWN0YW5nbGUgZ2VvbWV0cnk7CkBAIC04NDcsNiArODUwLDggQEAgd2luZG93Q3JlYXRl
KFVzZXJfQXJndW1lbnRzICp1c2VyQXJncykKICAgICB9IGVsc2UgewogICAgICAgICBhcHAtPmJy
b3dzZXIgPSBld2tfdmlld19zaW5nbGVfYWRkKGFwcC0+ZXZhcyk7CiAgICAgICAgIGluZm8oImJh
Y2tpbmcgc3RvcmU6IHNpbmdsZVxuIik7CisKKyAgICAgICAgZXdrX3ZpZXdfc2V0dGluZ190aWxl
ZF9iYWNraW5nX3N0b3JlX2VuYWJsZWRfc2V0KGFwcC0+YnJvd3NlciwgdXNlckFyZ3MtPmVuYWJs
ZVRpbGVkQmFja2luZ1N0b3JlKTsKICAgICB9CiAKICAgICBld2tfdmlld190aGVtZV9zZXQoYXBw
LT5icm93c2VyLCB0aGVtZVBhdGgpOwpAQCAtOTMyLDYgKzkzNyw3IEBAIHBhcnNlVXNlckFyZ3Vt
ZW50cyhpbnQgYXJnYywgY2hhciAqYXJndltdLCBVc2VyX0FyZ3VtZW50cyAqdXNlckFyZ3MpCiAg
ICAgdXNlckFyZ3MtPnF1aXRPcHRpb24gPSBFSU5BX0ZBTFNFOwogICAgIHVzZXJBcmdzLT5iYWNr
aW5nU3RvcmUgPSAoY2hhciAqKWJhY2tpbmdTdG9yZXNbMV07CiAgICAgdXNlckFyZ3MtPmVuYWJs
ZUVuY29kaW5nRGV0ZWN0b3IgPSBFSU5BX0ZBTFNFOworICAgIHVzZXJBcmdzLT5lbmFibGVUaWxl
ZEJhY2tpbmdTdG9yZSA9IEVJTkFfRkFMU0U7CiAgICAgdXNlckFyZ3MtPmlzRmxhdHRlbmluZyA9
IEVJTkFfRkFMU0U7CiAgICAgdXNlckFyZ3MtPmlzRnVsbHNjcmVlbiA9IEVJTkFfRkFMU0U7CiAg
ICAgdXNlckFyZ3MtPmdlb21ldHJ5LnggPSAwOwpAQCAtOTUwLDYgKzk1Niw3IEBAIHBhcnNlVXNl
ckFyZ3VtZW50cyhpbnQgYXJnYywgY2hhciAqYXJndltdLCBVc2VyX0FyZ3VtZW50cyAqdXNlckFy
Z3MpCiAgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKHVzZXJBcmdzLT5pc0Z1bGxzY3Jl
ZW4pLAogICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfUFRSX0NBU1QodXNlckFyZ3MtPmdlb21l
dHJ5KSwKICAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUih1c2VyQXJncy0+dGhlbWUpLAor
ICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+ZW5hYmxlVGlsZWRCYWNr
aW5nU3RvcmUpLAogICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RSKHVzZXJBcmdzLT51c2Vy
QWdlbnQpLAogICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfSU5UKHZlcmJvc2UpLAogICAgICAg
ICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+cXVpdE9wdGlvbiksCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>