<?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>110085</bug_id>
          
          <creation_ts>2013-02-18 01:10:41 -0800</creation_ts>
          <short_desc>[EFL][WK2] Add doneWithTouchEvent callback to the WKViewClient.</short_desc>
          <delta_ts>2013-07-23 05:34:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>108915</dependson>
          <blocked>102643</blocked>
    
    <blocked>111702</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eunmi Lee">enmi.lee</reporter>
          <assigned_to name="Eunmi Lee">enmi.lee</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hugo.lima</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>luciano.wolf</cc>
    
    <cc>luiz</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>835203</commentid>
    <comment_count>0</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-02-18 01:10:41 -0800</bug_when>
    <thetext>Add doneWithTouchEvent callback to the WKViewClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835209</commentid>
    <comment_count>1</comment_count>
      <attachid>188814</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-02-18 01:17:04 -0800</bug_when>
    <thetext>Created attachment 188814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835287</commentid>
    <comment_count>2</comment_count>
      <attachid>188814</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-02-18 02:59:54 -0800</bug_when>
    <thetext>Comment on attachment 188814
Patch

Attachment 188814 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/16604860</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836084</commentid>
    <comment_count>3</comment_count>
      <attachid>188814</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-02-19 00:31:37 -0800</bug_when>
    <thetext>Comment on attachment 188814
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/efl/WKView.h:41
&gt; +typedef void (*WKViewDoneWithTouchEventCallback)(WKViewRef view, WKTouchEvent touchEvent, bool wasEventHandled, const void* clientInfo);

Shouldn&apos;t we pass a WKTouchEventRef instead of a WKTouchEvent? Since this is copied, it feels like not using a pointer will likely be inefficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836099</commentid>
    <comment_count>4</comment_count>
      <attachid>188814</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-02-19 01:00:30 -0800</bug_when>
    <thetext>Comment on attachment 188814
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h:42
&gt; +    if (type == WebEvent::TouchStart)

Isn&apos;t it better to use switch ~ case instead of if ~ else ?  IMHO, switch ~ case is a little more efficient for compiler generally. Besides it seems to me switch ~ case is better readability. 

There are some related threads in internet as below,
http://stackoverflow.com/questions/97987/advantage-of-switch-over-if-else-statement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846255</commentid>
    <comment_count>5</comment_count>
      <attachid>188814</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-03-04 02:23:57 -0800</bug_when>
    <thetext>Comment on attachment 188814
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h:42
&gt;&gt; +    if (type == WebEvent::TouchStart)
&gt; 
&gt; Isn&apos;t it better to use switch ~ case instead of if ~ else ?  IMHO, switch ~ case is a little more efficient for compiler generally. Besides it seems to me switch ~ case is better readability. 
&gt; 
&gt; There are some related threads in internet as below,
&gt; http://stackoverflow.com/questions/97987/advantage-of-switch-over-if-else-statement

OK, I will use switch ~ case statement.

&gt;&gt; Source/WebKit2/UIProcess/API/C/efl/WKView.h:41
&gt;&gt; +typedef void (*WKViewDoneWithTouchEventCallback)(WKViewRef view, WKTouchEvent touchEvent, bool wasEventHandled, const void* clientInfo);
&gt; 
&gt; Shouldn&apos;t we pass a WKTouchEventRef instead of a WKTouchEvent? Since this is copied, it feels like not using a pointer will likely be inefficient.

Yes, right. so I will use WKTouchEventRef.
And, I will add WKTouchEventGetValue() to get WKTouchEvent from WKTouchEventRef because WKTouchEventRef is opaque to users of WKViewClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846264</commentid>
    <comment_count>6</comment_count>
      <attachid>191184</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-03-04 02:37:57 -0800</bug_when>
    <thetext>Created attachment 191184
Patch

Update for comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854997</commentid>
    <comment_count>7</comment_count>
      <attachid>193077</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-03-13 23:44:09 -0700</bug_when>
    <thetext>Created attachment 193077
Patch

Rebased for changed Bug 108915.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857973</commentid>
    <comment_count>8</comment_count>
      <attachid>193742</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-03-18 23:30:14 -0700</bug_when>
    <thetext>Created attachment 193742
Patch

Rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906039</commentid>
    <comment_count>9</comment_count>
      <attachid>206049</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-03 21:56:48 -0700</bug_when>
    <thetext>Created attachment 206049
Patch

Rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906041</commentid>
    <comment_count>10</comment_count>
      <attachid>206049</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-07-03 22:12:22 -0700</bug_when>
    <thetext>Comment on attachment 206049
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.h:43
&gt; +typedef void (*WKViewDoneWithTouchEventCallback)(WKViewRef view, WKTouchEventRef touchEvent, bool wasEventHandled, const void* clientInfo);

I think you need to get a review from coodinated graphics folks, probably Noam ?

&gt; Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h:93
&gt; +        return kWKTouchPointStateTouchReleased;

Don&apos;t you need to use COMPILE_ASSERT_MATCHING_ENUM for kWKTouchPointStateTouchXXX ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906043</commentid>
    <comment_count>11</comment_count>
      <attachid>206049</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-07-03 22:16:44 -0700</bug_when>
    <thetext>Comment on attachment 206049
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.h:43
&gt;&gt; +typedef void (*WKViewDoneWithTouchEventCallback)(WKViewRef view, WKTouchEventRef touchEvent, bool wasEventHandled, const void* clientInfo);
&gt; 
&gt; I think you need to get a review from coodinated graphics folks, probably Noam ?

Not sure if this should be in the common WKView or just keep it in the EFL extension. Luciano, what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906127</commentid>
    <comment_count>12</comment_count>
      <attachid>206049</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-04 04:07:53 -0700</bug_when>
    <thetext>Comment on attachment 206049
Patch

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.h:43
&gt;&gt;&gt; +typedef void (*WKViewDoneWithTouchEventCallback)(WKViewRef view, WKTouchEventRef touchEvent, bool wasEventHandled, const void* clientInfo);
&gt;&gt; 
&gt;&gt; I think you need to get a review from coodinated graphics folks, probably Noam ?
&gt; 
&gt; Not sure if this should be in the common WKView or just keep it in the EFL extension. Luciano, what do you think?

I think NIX also needs doneWithTouchEventCallback, I&apos;m waiting for Luciano&apos;s answer.

&gt;&gt; Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h:93
&gt;&gt; +        return kWKTouchPointStateTouchReleased;
&gt; 
&gt; Don&apos;t you need to use COMPILE_ASSERT_MATCHING_ENUM for kWKTouchPointStateTouchXXX ?

I think it is better to use switch~case statement here instead of COMPILE_ASSERT_MATCHING_ENUM for consistency,
because we usually use swtich~case statement in the WKAPICast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906168</commentid>
    <comment_count>13</comment_count>
      <attachid>206049</attachid>
    <who name="Luciano Wolf">luciano.wolf</who>
    <bug_when>2013-07-04 07:47:10 -0700</bug_when>
    <thetext>Comment on attachment 206049
Patch

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

&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.h:43
&gt;&gt;&gt;&gt; +typedef void (*WKViewDoneWithTouchEventCallback)(WKViewRef view, WKTouchEventRef touchEvent, bool wasEventHandled, const void* clientInfo);
&gt;&gt;&gt; 
&gt;&gt;&gt; I think you need to get a review from coodinated graphics folks, probably Noam ?
&gt;&gt; 
&gt;&gt; Not sure if this should be in the common WKView or just keep it in the EFL extension. Luciano, what do you think?
&gt; 
&gt; I think NIX also needs doneWithTouchEventCallback, I&apos;m waiting for Luciano&apos;s answer.

As Nix has a doneWithTouchEventCallback on its NixViewClent (inside NixView.h) it would be great to have it shared between our ports. Although, WKTouchEventRef declared this way will break the compilation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906191</commentid>
    <comment_count>14</comment_count>
      <attachid>206049</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-07-04 08:38:21 -0700</bug_when>
    <thetext>Comment on attachment 206049
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h:102
&gt; +        return kWKTouchPointStateTouchCancelled;

Is that expected? maybe assertion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906998</commentid>
    <comment_count>15</comment_count>
      <attachid>206049</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-08 22:39:53 -0700</bug_when>
    <thetext>Comment on attachment 206049
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.h:43
&gt;&gt;&gt;&gt;&gt; +typedef void (*WKViewDoneWithTouchEventCallback)(WKViewRef view, WKTouchEventRef touchEvent, bool wasEventHandled, const void* clientInfo);
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I think you need to get a review from coodinated graphics folks, probably Noam ?
&gt;&gt;&gt; 
&gt;&gt;&gt; Not sure if this should be in the common WKView or just keep it in the EFL extension. Luciano, what do you think?
&gt;&gt; 
&gt;&gt; I think NIX also needs doneWithTouchEventCallback, I&apos;m waiting for Luciano&apos;s answer.
&gt; 
&gt; As Nix has a doneWithTouchEventCallback on its NixViewClent (inside NixView.h) it would be great to have it shared between our ports. Although, WKTouchEventRef declared this way will break the compilation.

We can avoid to break the compilation of NIX if WKTouchEventRef is defined as EFL port.

I&apos;ve defined WKTouchEventRef for EFL as follows:
In the API/C/efl/WKAPICastEfl.h,
WK_ADD_API_MAPPING(WKTouchEventRef, EwkTouchEvent)
WK_ADD_API_MAPPING(WKTouchPointRef, EwkTouchPoint)
In the Shared/API/c/efl/WKBaseEfl.h,
typedef const struct OpaqueWKTouchEvent* WKTouchEventRef;

&gt;&gt; Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h:102
&gt;&gt; +        return kWKTouchPointStateTouchCancelled;
&gt; 
&gt; Is that expected? maybe assertion?

We should not reach here, so I will add ASSERT_NOT_REACHED().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907002</commentid>
    <comment_count>16</comment_count>
      <attachid>206292</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-08 23:01:13 -0700</bug_when>
    <thetext>Created attachment 206292
Patch

Rebase and add ASSERT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907922</commentid>
    <comment_count>17</comment_count>
      <attachid>206292</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2013-07-12 06:01:56 -0700</bug_when>
    <thetext>Comment on attachment 206292
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h:74
&gt; +inline WKEventType toAPI(WebEvent::Type type)
&gt; +{
&gt; +    switch (type) {
&gt; +#if ENABLE(TOUCH_EVENTS)
&gt; +    case WebEvent::TouchStart:

Whole function should be wrapped by TOUCH_EVENTS, isn&apos;t it?

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/WebViewClient.cpp:132
&gt; +    if (!m_client.doneWithTouchEvent)
&gt; +        return;
&gt; +
&gt; +#if PLATFORM(EFL)
&gt; +    m_client.doneWithTouchEvent(toAPI(view), toAPI(const_cast&lt;EwkTouchEvent*&gt;(event.nativeEvent())), wasEventHandled, m_client.clientInfo);
&gt; +#else
&gt; +    notImplemented();
&gt; +    UNUSED_PARAM(view);
&gt; +    UNUSED_PARAM(event);
&gt; +    UNUSED_PARAM(wasEventHandled);
&gt; +#endif

For other platforms, 122-123 line are unnecessary.

&gt; Source/WebKit2/UIProcess/efl/ViewClientEfl.cpp:167
&gt; +void ViewClientEfl::doneWithTouchEvent(WKViewRef, WKTouchEventRef event, bool wasEventHandled, const void* clientInfo)
&gt; +{
&gt; +#if ENABLE(TOUCH_EVENTS)
&gt; +    toEwkView(clientInfo)-&gt;doneWithTouchEvent(event, wasEventHandled);
&gt; +#else
&gt; +    UNUSED_PARAM(event);
&gt; +    UNUSED_PARAM(wasEventHandled);
&gt; +    UNUSED_PARAM(clientInfo);
&gt; +#endif
&gt; +}
&gt; +

Whole function can be wrapped by TOUCH_EVENTS macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907933</commentid>
    <comment_count>18</comment_count>
      <attachid>206292</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-07-12 06:29:48 -0700</bug_when>
    <thetext>Comment on attachment 206292
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.h:28
&gt; +#include &lt;stdbool.h&gt;

Could you please explain why it is needed?

&gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.h:59
&gt; +    WKViewDoneWithTouchEventCallback                 doneWithTouchEvent;

I&apos;m not sure about the name.. didCompleteTouchEvent? Think we should ask Kenneth</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907934</commentid>
    <comment_count>19</comment_count>
      <attachid>206292</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-12 06:30:17 -0700</bug_when>
    <thetext>Comment on attachment 206292
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h:74
&gt;&gt; +    case WebEvent::TouchStart:
&gt; 
&gt; Whole function should be wrapped by TOUCH_EVENTS, isn&apos;t it?

No, it is because other WebEvent::Type can be added later.

&gt;&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/WebViewClient.cpp:132
&gt;&gt; +#endif
&gt; 
&gt; For other platforms, 122-123 line are unnecessary.

Yes, that can be moved in to the PLAFORM(EFL).

&gt;&gt; Source/WebKit2/UIProcess/efl/ViewClientEfl.cpp:167
&gt;&gt; +
&gt; 
&gt; Whole function can be wrapped by TOUCH_EVENTS macro.

I don&apos;t think so, because doneWithTouchEvent function is necessary (below 178 line) even though TOUCH_EVENTS is not enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907943</commentid>
    <comment_count>20</comment_count>
      <attachid>206292</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-12 06:53:34 -0700</bug_when>
    <thetext>Comment on attachment 206292
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.h:28
&gt;&gt; +#include &lt;stdbool.h&gt;
&gt; 
&gt; Could you please explain why it is needed?

The &quot;bool&quot; type is used in the below 43 line, and we need that if this header file is included in the C application.

&gt;&gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.h:59
&gt;&gt; +    WKViewDoneWithTouchEventCallback                 doneWithTouchEvent;
&gt; 
&gt; I&apos;m not sure about the name.. didCompleteTouchEvent? Think we should ask Kenneth

I think doneWithTouchEvent is good for recognizing because it is same with name used in the WebKit codes.

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/C/efl/WKAPICastEfl.h:74
&gt;&gt;&gt; +    case WebEvent::TouchStart:
&gt;&gt; 
&gt;&gt; Whole function should be wrapped by TOUCH_EVENTS, isn&apos;t it?
&gt; 
&gt; No, it is because other WebEvent::Type can be added later.

As discussion, we don&apos;t need other WebEvent::Type now, so I will wrap this function with TOUCH_EVENTS.

&gt;&gt;&gt; Source/WebKit2/UIProcess/efl/ViewClientEfl.cpp:167
&gt;&gt;&gt; +
&gt;&gt; 
&gt;&gt; Whole function can be wrapped by TOUCH_EVENTS macro.
&gt; 
&gt; I don&apos;t think so, because doneWithTouchEvent function is necessary (below 178 line) even though TOUCH_EVENTS is not enabled.

I will wrap this function with TOUCH_EVENTS and wrap 178 line with TOUCH_EVENTS too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907958</commentid>
    <comment_count>21</comment_count>
      <attachid>206545</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-12 07:27:55 -0700</bug_when>
    <thetext>Created attachment 206545
Patch

Update for comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908553</commentid>
    <comment_count>22</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2013-07-15 16:02:18 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; Created an attachment (id=206545) [details]
&gt; Patch
&gt; 
&gt; Update for comments.

My comments are all adressed.

I think that we have only naming issue, right?
Anyway, Some API names are already different from WebCore&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908711</commentid>
    <comment_count>23</comment_count>
      <attachid>206545</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-16 00:07:02 -0700</bug_when>
    <thetext>Comment on attachment 206545
Patch

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

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/WebViewClient.cpp:122
&gt; +#if PLATFORM(EFL)

Do we really need this #ifdef here? Wouldn&apos;t it compile for Qt port without it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909592</commentid>
    <comment_count>24</comment_count>
      <attachid>206545</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-17 23:05:41 -0700</bug_when>
    <thetext>Comment on attachment 206545
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/WebViewClient.cpp:122
&gt;&gt; +#if PLATFORM(EFL)
&gt; 
&gt; Do we really need this #ifdef here? Wouldn&apos;t it compile for Qt port without it?

We need &quot;#if PLATFORM(EFL)&quot; here because 126 line has EFL specific code. (EwkTouchEvent). This file is used only in the EFL now but it can be used in the other port later.

If you concern about the 123~124 line they are not EFL specific code, I think that lines have to be in the #if.
Because I used notImplemented() if it is not PLATORM(EFL) and notImplemented() will be wrong if 123~124 line is out of the #if.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910022</commentid>
    <comment_count>25</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-18 23:21:58 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 206292 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=206292&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.h:28
&gt; &gt; +#include &lt;stdbool.h&gt;
&gt; 
&gt; Could you please explain why it is needed?
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/CoordinatedGraphics/WKView.h:59
&gt; &gt; +    WKViewDoneWithTouchEventCallback                 doneWithTouchEvent;
&gt; 
&gt; I&apos;m not sure about the name.. didCompleteTouchEvent? Think we should ask Kenneth

Mikhail and Kenneth,
How about change the name to &quot;didReceiveResultOfTouchEvent&quot;?
It&apos;s because that callback is used to receive the result whether touch event is handled or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910936</commentid>
    <comment_count>26</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-07-23 01:58:20 -0700</bug_when>
    <thetext>
&gt; 
&gt; Mikhail and Kenneth,
&gt; How about change the name to &quot;didReceiveResultOfTouchEvent&quot;?
&gt; It&apos;s because that callback is used to receive the result whether touch event is handled or not.

I dont think that is more clear at all.

What about didFinishProcessingTouchEvent or similar?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910938</commentid>
    <comment_count>27</comment_count>
      <attachid>206545</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-07-23 02:01:06 -0700</bug_when>
    <thetext>Comment on attachment 206545
Patch

You are not even using didCompleteTouchEvent. doneWithTouchEvent is a great name</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910966</commentid>
    <comment_count>28</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-23 04:07:23 -0700</bug_when>
    <thetext>Thanks for review :)
Then, let&apos;s use doneWithTouchEvent.

(In reply to comment #27)
&gt; (From update of attachment 206545 [details])
&gt; You are not even using didCompleteTouchEvent. doneWithTouchEvent is a great name</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910972</commentid>
    <comment_count>29</comment_count>
      <attachid>206545</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-23 04:20:32 -0700</bug_when>
    <thetext>Comment on attachment 206545
Patch

Rejecting attachment 206545 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 206545, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
 file Source/WebKit2/UIProcess/efl/ViewClientEfl.cpp
Hunk #1 succeeded at 159 with fuzz 1 (offset 5 lines).
Hunk #2 succeeded at 185 (offset 6 lines).
patching file Source/WebKit2/UIProcess/efl/ViewClientEfl.h
Hunk #1 FAILED at 56.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebKit2/UIProcess/efl/ViewClientEfl.h.rej

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Kenneth Rohde Christiansen&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.appspot.com/results/1133438</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910980</commentid>
    <comment_count>30</comment_count>
      <attachid>207319</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-23 04:33:35 -0700</bug_when>
    <thetext>Created attachment 207319
Patch

Rebase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910986</commentid>
    <comment_count>31</comment_count>
      <attachid>207319</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2013-07-23 04:44:38 -0700</bug_when>
    <thetext>Comment on attachment 207319
Patch

Try once more</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911000</commentid>
    <comment_count>32</comment_count>
      <attachid>207319</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-23 05:34:34 -0700</bug_when>
    <thetext>Comment on attachment 207319
Patch

Clearing flags on attachment: 207319

Committed r153048: &lt;http://trac.webkit.org/changeset/153048&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911001</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-23 05:34:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188814</attachid>
            <date>2013-02-18 01:17:04 -0800</date>
            <delta_ts>2013-03-04 02:37:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110085-20130218181322.patch</filename>
            <type>text/plain</type>
            <size>11595</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTljYTMyOTY3ZmI0NmY1
NWJmZGExZTQ3YTQ0ODY5MTJhZDY2ZTNkZS4uNTYwOTIwYzIxOWIyZTg3OGQ0Y2U5NjI2N2ZmMDZk
M2IwNDIxZTA4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTAyLTE4ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBkb25lV2l0aFRvdWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkb25lV2l0aFRv
dWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudCBpbiBvcmRlciB0byBnZXQgdGhl
CisgICAgICAgIHJlc3VsdCBvZiB0b3VjaCBldmVudHMgaW4gdGhlIEV3a1ZpZXcuIFRoZSByZXN1
bHQgd2lsbCBiZSB1c2VkIHRvCisgICAgICAgIHJlY29nbml6ZSBnZXN0dXJlcy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tBUElDYXN0RWZsLmg6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL2Vm
bC9XS1ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcDoKKyAg
ICAgICAgKEV3a1ZpZXc6OmRvbmVXaXRoVG91Y2hFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9lZmwvRXdrVmlldy5oOgorICAgICAgICAoRXdrVmlldyk6CisgICAgICAgICogVUlQcm9j
ZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVm
bDo6ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OlZpZXdDbGllbnRFZmw6OlZpZXdDbGllbnRFZmwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9l
ZmwvVmlld0NsaWVudEVmbC5oOgorICAgICAgICAoVmlld0NsaWVudEVmbCk6CisgICAgICAgICog
VUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6ZG9u
ZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZpZXdDbGllbnQu
Y3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6
ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZpZXdDbGll
bnQuaDoKKyAgICAgICAgKFdlYktpdCk6CisKIDIwMTMtMDItMTcgIEV1bm1pIExlZSAgPGV1bm1p
MTUubGVlQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gQWRkIFdLMiBDIEFQSSB0
byBoYW5kbGUgdG91Y2ggZXZlbnRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL2VmbC9XS0FQSUNhc3RFZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9lZmwvV0tBUElDYXN0RWZsLmgKaW5kZXggYjQyOTQyMWZkNDg3OGYzYzVhYWZkOWU4NjNm
MGIzYWRmNDk4M2YzOC4uNTdlYTllNTYzOTkzYWNiMzMzYTcxMjlmMTZmYjlmMTk3M2Q5NzczYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0FQSUNhc3RF
ZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVm
bC5oCkBAIC0yNCw2ICsyNCwxMSBAQAogI2Vycm9yICJQbGVhc2UgI2luY2x1ZGUgXCJXS0FQSUNh
c3QuaFwiIGluc3RlYWQgb2YgdGhpcyBmaWxlIGRpcmVjdGx5LiIKICNlbmRpZgogCisjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRlICJXZWJFdmVudC5oIgorI2luY2x1ZGUgPFdlYktp
dDIvV0tFdmVudEVmbC5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBX
ZWJWaWV3OwpAQCAtMzEsNiArMzYsNTkgQEAgY2xhc3MgV2ViVmlldzsKIFdLX0FERF9BUElfTUFQ
UElORyhXS1ZpZXdSZWYsIFdlYlZpZXcpCiBXS19BRERfQVBJX01BUFBJTkcoV0tUb3VjaEV2ZW50
UmVmLCBXZWJUb3VjaEV2ZW50KQogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKK2lubGluZSBX
S1RvdWNoRXZlbnRUeXBlIHRvQVBJKFdlYkV2ZW50OjpUeXBlIHR5cGUpCit7CisgICAgaWYgKHR5
cGUgPT0gV2ViRXZlbnQ6OlRvdWNoU3RhcnQpCisgICAgICAgIHJldHVybiBrV0tUb3VjaEV2ZW50
VHlwZVRvdWNoU3RhcnQ7CisgICAgaWYgKHR5cGUgPT0gV2ViRXZlbnQ6OlRvdWNoTW92ZSkKKyAg
ICAgICAgcmV0dXJuIGtXS1RvdWNoRXZlbnRUeXBlVG91Y2hNb3ZlOworICAgIGlmICh0eXBlID09
IFdlYkV2ZW50OjpUb3VjaEVuZCkKKyAgICAgICAgcmV0dXJuIGtXS1RvdWNoRXZlbnRUeXBlVG91
Y2hFbmQ7CisKKyAgICByZXR1cm4ga1dLVG91Y2hFdmVudFR5cGVUb3VjaENhbmNlbDsKK30KKwor
aW5saW5lIFdLVG91Y2hQb2ludFN0YXRlIHRvQVBJKFdlYlBsYXRmb3JtVG91Y2hQb2ludDo6VG91
Y2hQb2ludFN0YXRlIHN0YXRlKQoreworICAgIGlmIChzdGF0ZSA9PSBXZWJQbGF0Zm9ybVRvdWNo
UG9pbnQ6OlRvdWNoUmVsZWFzZWQpCisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVU
b3VjaFJlbGVhc2VkOworICAgIGlmIChzdGF0ZSA9PSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRv
dWNoUHJlc3NlZCkKKyAgICAgICAgcmV0dXJuIGtXS1RvdWNoUG9pbnRTdGF0ZVRvdWNoUHJlc3Nl
ZDsKKyAgICBpZiAoc3RhdGUgPT0gV2ViUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVkKQor
ICAgICAgICByZXR1cm4ga1dLVG91Y2hQb2ludFN0YXRlVG91Y2hNb3ZlZDsKKyAgICBpZiAoc3Rh
dGUgPT0gV2ViUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFN0YXRpb25hcnkpCisgICAgICAgIHJl
dHVybiBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaFN0YXRpb25hcnk7CisKKyAgICByZXR1cm4ga1dL
VG91Y2hQb2ludFN0YXRlVG91Y2hDYW5jZWxsZWQ7Cit9CisKK2lubGluZSBXS1RvdWNoRXZlbnQg
dG9BUEkoY29uc3QgV2ViVG91Y2hFdmVudCYgZXZlbnQpCit7CisgICAgV0tUb3VjaEV2ZW50IHdr
VG91Y2hFdmVudDsKKyAgICB3a1RvdWNoRXZlbnQudHlwZSA9IHRvQVBJKGV2ZW50LnR5cGUoKSk7
CisgICAgd2tUb3VjaEV2ZW50Lm1vZGlmaWVycyA9IHRvQVBJKGV2ZW50Lm1vZGlmaWVycygpKTsK
KyAgICB3a1RvdWNoRXZlbnQudGltZXN0YW1wID0gZXZlbnQudGltZXN0YW1wKCk7CisgICAgVmVj
dG9yPFdlYlBsYXRmb3JtVG91Y2hQb2ludD4gdG91Y2hQb2ludHMgPSBldmVudC50b3VjaFBvaW50
cygpOworICAgIHdrVG91Y2hFdmVudC5udW1Ub3VjaFBvaW50cyA9IHRvdWNoUG9pbnRzLnNpemUo
KTsKKyAgICBpZiAod2tUb3VjaEV2ZW50Lm51bVRvdWNoUG9pbnRzID4ga1dLTWF4aW11bVRvdWNo
UG9pbnRzUGVyVG91Y2hFdmVudCkKKyAgICAgICAgd2tUb3VjaEV2ZW50Lm51bVRvdWNoUG9pbnRz
ID0ga1dLTWF4aW11bVRvdWNoUG9pbnRzUGVyVG91Y2hFdmVudDsKKworICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCB3a1RvdWNoRXZlbnQubnVtVG91Y2hQb2ludHM7ICsraSkgeworICAgICAg
ICBjb25zdCBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQmIHBvaW50ID0gdG91Y2hQb2ludHNbaV07Cisg
ICAgICAgIHdrVG91Y2hFdmVudC50b3VjaFBvaW50c1tpXS5pZCA9IHBvaW50LmlkKCk7CisgICAg
ICAgIHdrVG91Y2hFdmVudC50b3VjaFBvaW50c1tpXS5zdGF0ZSA9IHRvQVBJKHBvaW50LnN0YXRl
KCkpOworICAgICAgICB3a1RvdWNoRXZlbnQudG91Y2hQb2ludHNbaV0ucG9zaXRpb24gPSB0b0FQ
SShwb2ludC5wb3NpdGlvbigpKTsKKyAgICAgICAgd2tUb3VjaEV2ZW50LnRvdWNoUG9pbnRzW2ld
LnNjcmVlblBvc2l0aW9uID0gdG9BUEkocG9pbnQuc2NyZWVuUG9zaXRpb24oKSk7CisgICAgICAg
IHdrVG91Y2hFdmVudC50b3VjaFBvaW50c1tpXS5yYWRpdXMgPSB0b0FQSShwb2ludC5yYWRpdXMo
KSk7CisgICAgICAgIHdrVG91Y2hFdmVudC50b3VjaFBvaW50c1tpXS5yb3RhdGlvbkFuZ2xlID0g
cG9pbnQucm90YXRpb25BbmdsZSgpOworICAgICAgICB3a1RvdWNoRXZlbnQudG91Y2hQb2ludHNb
aV0uZm9yY2UgPSBwb2ludC5mb3JjZSgpOworICAgIH0KKworICAgIHJldHVybiB3a1RvdWNoRXZl
bnQ7Cit9CisjZW5kaWYKKwogfQogCiAjZW5kaWYgLy8gV0tBUElDYXN0RWZsX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5oCmluZGV4IDc4NGY0NzM3ZWY2MzYz
ZWVjYWRmMDc4MTllNTM1YzZmNTUxOTdlNDMuLjBkZTg1ZWIyNDBmZThhZjI3MzhhZDVjOTQ4ZDI5
MWU2ZjBiNzZiY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9l
ZmwvV0tWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1Zp
ZXcuaApAQCAtMjEsNiArMjEsNyBAQAogI2RlZmluZSBXS1ZpZXdfaAogCiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS0Jhc2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLRXZlbnRFZmwuaD4KICNpbmNsdWRl
IDxXZWJLaXQyL1dLR2VvbWV0cnkuaD4KIAogI2lmIFVTRShFTykKQEAgLTM3LDYgKzM4LDcgQEAg
ZXh0ZXJuICJDIiB7CiAKIHR5cGVkZWYgdm9pZCAoKldLVmlld1ZpZXdOZWVkc0Rpc3BsYXlDYWxs
YmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLUmVjdCBhcmVhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKIHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRDaGFuZ2VDb250ZW50c1NpemVDYWxsYmFj
aykoV0tWaWV3UmVmIHZpZXcsIFdLU2l6ZSBzaXplLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
K3R5cGVkZWYgdm9pZCAoKldLVmlld0RvbmVXaXRoVG91Y2hFdmVudENhbGxiYWNrKShXS1ZpZXdS
ZWYgdmlldywgV0tUb3VjaEV2ZW50IHRvdWNoRXZlbnQsIGJvb2wgd2FzRXZlbnRIYW5kbGVkLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogc3RydWN0IFdLVmlld0NsaWVudCB7CiAgICAgaW50
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CkBA
IC00NSw2ICs0Nyw3IEBAIHN0cnVjdCBXS1ZpZXdDbGllbnQgewogICAgIC8vIFZlcnNpb24gMAog
ICAgIFdLVmlld1ZpZXdOZWVkc0Rpc3BsYXlDYWxsYmFjayAgICAgICAgICAgICAgICAgICB2aWV3
TmVlZHNEaXNwbGF5OwogICAgIFdLVmlld1BhZ2VEaWRDaGFuZ2VDb250ZW50c1NpemVDYWxsYmFj
ayAgICAgICAgICBkaWRDaGFuZ2VDb250ZW50c1NpemU7CisgICAgV0tWaWV3RG9uZVdpdGhUb3Vj
aEV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgIGRvbmVXaXRoVG91Y2hFdmVudDsKIH07CiB0
eXBlZGVmIHN0cnVjdCBXS1ZpZXdDbGllbnQgV0tWaWV3Q2xpZW50OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IDdiNDdjNmRlZjY0NjVkNmIy
YmQ3YjJmYzE2NmQwNjUyYmM1MzhhYjkuLjdmYzQ3MGJiNGI2YjJhYzAxNWRjZjNmYjE2YWQwNGM5
MzBkMGVkNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcu
Y3BwCkBAIC02Niw2ICs2Niw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9DYWlyb1V0aWxpdGllc0Vm
bC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9DdXJzb3IuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVk
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oPgogI2luY2x1ZGUg
PFdlYktpdDIvV0tJbWFnZUNhaXJvLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAg
LTc3Nyw2ICs3NzgsMTEgQEAgdm9pZCBFd2tWaWV3OjpzZXRUb3VjaEV2ZW50c0VuYWJsZWQoYm9v
bCBlbmFibGVkKQogICAgICAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19kZWwobV9ldmFz
T2JqZWN0LCBFVkFTX0NBTExCQUNLX01VTFRJX01PVkUsIGhhbmRsZVRvdWNoTW92ZSk7CiAgICAg
fQogfQorCit2b2lkIEV3a1ZpZXc6OmRvbmVXaXRoVG91Y2hFdmVudChXS1RvdWNoRXZlbnQsIGJv
b2wgLyogd2FzRXZlbnRIYW5kbGVkICovKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CiAj
ZW5kaWYKIAogLyoqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgK
aW5kZXggNDE1NjBjZjRjNWVkNDkxMmJlNGVkMzQ1ODk3MjhkNWI2Yjk1OTdjMC4uOGEwMDdiNjU1
ZjFlN2UwMTYxN2Y1MWJiYmVmYjRlYWQxNDZjYWEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtNDYsNiArNDYsNyBAQAogCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKICNpbmNsdWRlICJld2tfdG91Y2guaCIKKyNpbmNsdWRlIDxXZWJLaXQyL1dL
RXZlbnRFZmwuaD4KICNlbmRpZgogCiAKQEAgLTE2MCw2ICsxNjEsNyBAQCBwdWJsaWM6CiAjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICBib29sIHRvdWNoRXZlbnRzRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fdG91Y2hFdmVudHNFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRUb3VjaEV2ZW50
c0VuYWJsZWQoYm9vbCBlbmFibGVkKTsKKyAgICB2b2lkIGRvbmVXaXRoVG91Y2hFdmVudChXS1Rv
dWNoRXZlbnQsIGJvb2wpOwogI2VuZGlmCiAKICAgICB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJD
b3JlOjpDdXJzb3ImIGN1cnNvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9W
aWV3Q2xpZW50RWZsLmNwcAppbmRleCA3N2Y4YmYzOGYzMmIwYzExMzMzZGRkNmJiYTVhY2IzNDAz
MTc3ZGJhLi4xMjY5OWYxYzZmZDEwMzkxNzdmZmMwMWZkMzA5ZWU0NmUxZjdjOGVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAKQEAgLTUwLDYg
KzUwLDE3IEBAIHZvaWQgVmlld0NsaWVudEVmbDo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKFdLVmll
d1JlZiwgV0tTaXplIHNpemUsIGNvbnN0IHZvaWQqIGNsCiAgICAgZXdrVmlldy0+c21hcnRDYWxs
YmFjazxDb250ZW50c1NpemVDaGFuZ2VkPigpLmNhbGwoc2l6ZSk7CiB9CiAKK3ZvaWQgVmlld0Ns
aWVudEVmbDo6ZG9uZVdpdGhUb3VjaEV2ZW50KFdLVmlld1JlZiwgV0tUb3VjaEV2ZW50IGV2ZW50
LCBib29sIHdhc0V2ZW50SGFuZGxlZCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHRvRXdrVmlldyhjbGllbnRJbmZvKS0+ZG9uZVdpdGhU
b3VjaEV2ZW50KGV2ZW50LCB3YXNFdmVudEhhbmRsZWQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0oZXZlbnQpOworICAgIFVOVVNFRF9QQVJBTSh3YXNFdmVudEhhbmRsZWQpOworICAgIFVOVVNF
RF9QQVJBTShjbGllbnRJbmZvKTsKKyNlbmRpZgorfQorCiBWaWV3Q2xpZW50RWZsOjpWaWV3Q2xp
ZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgOiBtX3ZpZXcodmlldykKIHsKQEAgLTYwLDYgKzcx
LDcgQEAgVmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVmbChFd2tWaWV3KiB2aWV3KQogICAgIHZp
ZXdDbGllbnQudmVyc2lvbiA9IGtXS1ZpZXdDbGllbnRDdXJyZW50VmVyc2lvbjsKICAgICB2aWV3
Q2xpZW50LmNsaWVudEluZm8gPSB0aGlzOwogICAgIHZpZXdDbGllbnQuZGlkQ2hhbmdlQ29udGVu
dHNTaXplID0gZGlkQ2hhbmdlQ29udGVudHNTaXplOworICAgIHZpZXdDbGllbnQuZG9uZVdpdGhU
b3VjaEV2ZW50ID0gZG9uZVdpdGhUb3VjaEV2ZW50OwogICAgIHZpZXdDbGllbnQudmlld05lZWRz
RGlzcGxheSA9IHZpZXdOZWVkc0Rpc3BsYXk7CiAKICAgICBXS1ZpZXdTZXRWaWV3Q2xpZW50KG1f
dmlldy0+d2tWaWV3KCksICZ2aWV3Q2xpZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2VmbC9WaWV3Q2xpZW50RWZsLmgKaW5kZXggMmViZDNhMjk2NmVmM2M4YTJjZDczMWE3NjFjNzdh
YjYzOTFmMWI5Ny4uODMzMGM1MGU3ZmE0MDBjNzRhNDU3NzQxYTIzNGFiMDRlZDNjZTZkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgKQEAgLTI3LDYg
KzI3LDcgQEAKICNkZWZpbmUgVmlld0NsaWVudEVmbF9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dL
QmFzZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tFdmVudEVmbC5oPgogI2luY2x1ZGUgPFdlYktp
dDIvV0tHZW9tZXRyeS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTQ5LDYg
KzUwLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgRXdrVmlldyogdG9Fd2tWaWV3KGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pOwogICAgIHN0YXRpYyB2b2lkIHZpZXdOZWVkc0Rpc3BsYXkoV0tWaWV3
UmVmLCBXS1JlY3QgYXJlYSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAgc3RhdGljIHZv
aWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKFdLVmlld1JlZiwgV0tTaXplLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKKyAgICBzdGF0aWMgdm9pZCBkb25lV2l0aFRvdWNoRXZlbnQoV0tWaWV3UmVm
LCBXS1RvdWNoRXZlbnQsIGJvb2wsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogCiAgICAgRXdr
VmlldyogbV92aWV3OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3Bw
CmluZGV4IDk5MTM1MjVhNjYxMGI4Y2ZjNWQ1YjZlZWVhYjE3MzdiMjQ1M2Y0NTAuLmNlMzVkYzRh
MWNiZWE4OGJhMzJkY2IyYTM4ODMxMzczN2JhM2VmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9XZWJWaWV3LmNwcApAQCAtMjk0LDkgKzI5NCw5IEBAIHZvaWQgV2ViVmlldzo6ZG9u
ZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiwgYm9vbCkKIH0KIAog
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi12b2lkIFdlYlZpZXc6OmRvbmVXaXRoVG91Y2hFdmVu
dChjb25zdCBOYXRpdmVXZWJUb3VjaEV2ZW50JiwgYm9vbCAvKndhc0V2ZW50SGFuZGxlZCovKQor
dm9pZCBXZWJWaWV3Ojpkb25lV2l0aFRvdWNoRXZlbnQoY29uc3QgTmF0aXZlV2ViVG91Y2hFdmVu
dCYgZXZlbnQsIGJvb2wgd2FzRXZlbnRIYW5kbGVkKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgbV9jbGllbnQuZG9uZVdpdGhUb3VjaEV2ZW50KHRoaXMsIGV2ZW50LCB3YXNFdmVudEhh
bmRsZWQpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvV2ViVmlld0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dl
YlZpZXdDbGllbnQuY3BwCmluZGV4IDA1ZmM4MGNmNGRlMGVhZTU0NjU4ZDIzOTBkMjY1MDhmM2I0
YzAyOWYuLjdhNjU3MTI4ODJlNzVmOGM1OWNjNDEzZTFkNDY1ZTFlZmZjYWVlYjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlld0NsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3Q2xpZW50LmNwcApAQCAtNDgsNCAr
NDgsMTQgQEAgdm9pZCBXZWJWaWV3Q2xpZW50OjpkaWRDaGFuZ2VDb250ZW50c1NpemUoV2ViVmll
dyogdmlldywgY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAgICBtX2NsaWVudC5kaWRDaGFuZ2VDb250
ZW50c1NpemUodG9BUEkodmlldyksIHRvQVBJKHNpemUpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsK
IH0KIAorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCit2b2lkIFdlYlZpZXdDbGllbnQ6OmRvbmVX
aXRoVG91Y2hFdmVudChXZWJWaWV3KiB2aWV3LCBjb25zdCBXZWJUb3VjaEV2ZW50JiBldmVudCwg
Ym9vbCB3YXNFdmVudEhhbmRsZWQpCit7CisgICAgaWYgKCFtX2NsaWVudC5kb25lV2l0aFRvdWNo
RXZlbnQpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LmRvbmVXaXRoVG91Y2hFdmVu
dCh0b0FQSSh2aWV3KSwgdG9BUEkoZXZlbnQpLCB3YXNFdmVudEhhbmRsZWQsIG1fY2xpZW50LmNs
aWVudEluZm8pOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3Q2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXdDbGllbnQuaAppbmRleCBkNWU4MmRkMDAxZmZh
MzM0NjEyNDE0Nzc1MjJlODEyOGNhZDU0OGZjLi4wZWM1ZGFlNzY0Njg0MTA3YjYwMjYzNjdlNjk0
N2JlZDAwY2RmMjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dl
YlZpZXdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXdD
bGllbnQuaApAQCAtMzgsMTAgKzM4LDE3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBX
ZWJWaWV3OwogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKK2NsYXNzIFdlYlRvdWNoRXZlbnQ7
CisjZW5kaWYKKwogY2xhc3MgV2ViVmlld0NsaWVudDogcHVibGljIEFQSUNsaWVudDxXS1ZpZXdD
bGllbnQsIGtXS1ZpZXdDbGllbnRDdXJyZW50VmVyc2lvbj4gewogcHVibGljOgogICAgIHZvaWQg
dmlld05lZWRzRGlzcGxheShXZWJWaWV3KiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAg
IHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKFdlYlZpZXcqLCBjb25zdCBXZWJDb3JlOjpJbnRT
aXplJik7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICB2b2lkIGRvbmVXaXRoVG91Y2hF
dmVudChXZWJWaWV3KiwgY29uc3QgV2ViVG91Y2hFdmVudCYsIGJvb2wpOworI2VuZGlmCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191184</attachid>
            <date>2013-03-04 02:37:57 -0800</date>
            <delta_ts>2013-03-13 23:44:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110085-20130304193404.patch</filename>
            <type>text/plain</type>
            <size>13062</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTM5MTYzZjg4NDE0N2Vm
NDQxZWIxNmViYjcxZDBmZGM3Y2RmN2FjMi4uZGIyMTc2NWZjZmIxZTAxYjliYmRkM2E4MWMxYTBk
YWI2YjVhZmQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAzLTA0ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBkb25lV2l0aFRvdWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkb25lV2l0aFRv
dWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudCBpbiBvcmRlciB0byBnZXQgdGhl
CisgICAgICAgIHJlc3VsdCBvZiB0b3VjaCBldmVudHMgaW4gdGhlIEV3a1ZpZXcuIFRoZSByZXN1
bHQgd2lsbCBiZSB1c2VkIHRvCisgICAgICAgIHJlY29nbml6ZSBnZXN0dXJlcy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tBUElDYXN0RWZsLmg6CisgICAgICAgIChXZWJLaXQ6
OnRvQVBJKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL2Vm
bC9XS0V2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdLVG91Y2hFdmVudEdldFZhbHVlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvZWZsL1dLVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1Zp
ZXcuY3BwOgorICAgICAgICAoRXdrVmlldzo6ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6CisgICAgICAgIChFd2tWaWV3KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpW
aWV3Q2xpZW50RWZsOjpkb25lV2l0aFRvdWNoRXZlbnQpOgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVmbCk6CisgICAgICAgICog
VUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmg6CisgICAgICAgIChWaWV3Q2xpZW50RWZsKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3Ojpkb25lV2l0aFRvdWNoRXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2Vi
Vmlld0NsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3Q2xpZW50Ojpkb25lV2l0aFRvdWNoRXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwv
V2ViVmlld0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0KToKKwogMjAxMy0wMi0yOCAgRXVubWkg
TGVlICA8ZXVubWkxNS5sZWVAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBBZGQg
V0syIEMgQVBJIHRvIGhhbmRsZSB0b3VjaCBldmVudHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL2VmbC9XS0FQSUNhc3RFZmwuaAppbmRleCA0YTgxNGYzZDAyZGY2NTZk
MzI3YjYyNzkwYWVmZGQwYjY1NGIwZmNjLi5hOTQ2NzcxYzM1ZGI2NWJkZWFmZTI3NDNhYzY5YTNh
OTg3YzQyM2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZs
L1dLQVBJQ2FzdEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwv
V0tBUElDYXN0RWZsLmgKQEAgLTI3LDYgKzI3LDExIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0
RGlyZWN0aW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1BvcHVwSXRlbS5oPgogCisjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRlICJXZWJFdmVudC5oIgorI2luY2x1ZGUgPFdlYktp
dDIvV0tFdmVudEVmbC5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBX
ZWJWaWV3OwpAQCAtNTgsNiArNjMsNDMgQEAgaW5saW5lIFdLUG9wdXBJdGVtVGV4dERpcmVjdGlv
biB0b0FQSShXZWJDb3JlOjpUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICByZXR1cm4gd2tE
aXJlY3Rpb247CiB9CiAKK2lubGluZSBXS0V2ZW50VHlwZSB0b0FQSShXZWJFdmVudDo6VHlwZSB0
eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisg
ICAgY2FzZSBXZWJFdmVudDo6VG91Y2hTdGFydDoKKyAgICAgICAgcmV0dXJuIGtXS0V2ZW50VHlw
ZVRvdWNoU3RhcnQ7CisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hNb3ZlOgorICAgICAgICByZXR1
cm4ga1dLRXZlbnRUeXBlVG91Y2hNb3ZlOworICAgIGNhc2UgV2ViRXZlbnQ6OlRvdWNoRW5kOgor
ICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91Y2hFbmQ7CisgICAgY2FzZSBXZWJFdmVudDo6
VG91Y2hDYW5jZWw6CisgICAgICAgIHJldHVybiBrV0tFdmVudFR5cGVUb3VjaENhbmNlbDsKKyNl
bmRpZgorICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBrV0tFdmVudFR5cGVOb1R5cGU7Cisg
ICAgfQorfQorCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKK2lubGluZSBXS1RvdWNoUG9pbnRT
dGF0ZSB0b0FQSShXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUG9pbnRTdGF0ZSBzdGF0ZSkK
K3sKKyAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgY2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6
OlRvdWNoUmVsZWFzZWQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaFJl
bGVhc2VkOworICAgIGNhc2UgV2ViUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFByZXNzZWQ6Cisg
ICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaFByZXNzZWQ7CisgICAgY2FzZSBX
ZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQ6CisgICAgICAgIHJldHVybiBrV0tUb3Vj
aFBvaW50U3RhdGVUb3VjaE1vdmVkOworICAgIGNhc2UgV2ViUGxhdGZvcm1Ub3VjaFBvaW50OjpU
b3VjaFN0YXRpb25hcnk6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaFN0
YXRpb25hcnk7CisgICAgY2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoQ2FuY2VsbGVk
OgorICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaENh
bmNlbGxlZDsKKyAgICB9Cit9CisjZW5kaWYKKwogfQogCiAjZW5kaWYgLy8gV0tBUElDYXN0RWZs
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVu
dEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwu
Y3BwCmluZGV4IDYxMTQyMTdmNDU1Y2UyOGRmZGEyY2RmZWMxYjk2MzU0OGY1NzU0MzUuLjE4MDNh
YzFhNTBiMDIzODE3Yzg5YjI0Y2ExODZkNjFmODk0YmZkOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmNwcApAQCAtMTA2LDMgKzEwNiwz
NyBAQCBXS1RvdWNoRXZlbnRSZWYgV0tUb3VjaEV2ZW50Q3JlYXRlKFdLVG91Y2hFdmVudCogZXZl
bnQpCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKIH0KKworV0tUb3VjaEV2ZW50IFdLVG91Y2hFdmVu
dEdldFZhbHVlKFdLVG91Y2hFdmVudFJlZiBldmVudCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQorICAgIFdLVG91Y2hFdmVudCB3a1RvdWNoRXZlbnQ7CisgICAgaWYgKCFldmVudCkKKyAg
ICAgICAgcmV0dXJuIHdrVG91Y2hFdmVudDsKKworICAgIFdlYlRvdWNoRXZlbnQqIHdlYlRvdWNo
RXZlbnQgPSB0b0ltcGwoZXZlbnQpOworICAgIHdrVG91Y2hFdmVudC50eXBlID0gdG9BUEkod2Vi
VG91Y2hFdmVudC0+ZXZlbnRUeXBlKCkpOworICAgIHdrVG91Y2hFdmVudC5tb2RpZmllcnMgPSB0
b0FQSSh3ZWJUb3VjaEV2ZW50LT5tb2RpZmllcnMoKSk7CisgICAgd2tUb3VjaEV2ZW50LnRpbWVz
dGFtcCA9IHdlYlRvdWNoRXZlbnQtPnRpbWVzdGFtcCgpOworICAgIFZlY3RvcjxXZWJQbGF0Zm9y
bVRvdWNoUG9pbnQ+IHRvdWNoUG9pbnRzID0gd2ViVG91Y2hFdmVudC0+dG91Y2hQb2ludHMoKTsK
KyAgICB3a1RvdWNoRXZlbnQubnVtVG91Y2hQb2ludHMgPSB0b3VjaFBvaW50cy5zaXplKCk7Cisg
ICAgaWYgKHdrVG91Y2hFdmVudC5udW1Ub3VjaFBvaW50cyA+IGtXS01heGltdW1Ub3VjaFBvaW50
c1BlclRvdWNoRXZlbnQpCisgICAgICAgIHdrVG91Y2hFdmVudC5udW1Ub3VjaFBvaW50cyA9IGtX
S01heGltdW1Ub3VjaFBvaW50c1BlclRvdWNoRXZlbnQ7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgd2tUb3VjaEV2ZW50Lm51bVRvdWNoUG9pbnRzOyArK2kpIHsKKyAgICAgICAgY29u
c3QgV2ViUGxhdGZvcm1Ub3VjaFBvaW50JiBwb2ludCA9IHRvdWNoUG9pbnRzW2ldOworICAgICAg
ICB3a1RvdWNoRXZlbnQudG91Y2hQb2ludHNbaV0uaWQgPSBwb2ludC5pZCgpOworICAgICAgICB3
a1RvdWNoRXZlbnQudG91Y2hQb2ludHNbaV0uc3RhdGUgPSB0b0FQSShwb2ludC5zdGF0ZSgpKTsK
KyAgICAgICAgd2tUb3VjaEV2ZW50LnRvdWNoUG9pbnRzW2ldLnBvc2l0aW9uID0gdG9BUEkocG9p
bnQucG9zaXRpb24oKSk7CisgICAgICAgIHdrVG91Y2hFdmVudC50b3VjaFBvaW50c1tpXS5zY3Jl
ZW5Qb3NpdGlvbiA9IHRvQVBJKHBvaW50LnNjcmVlblBvc2l0aW9uKCkpOworICAgICAgICB3a1Rv
dWNoRXZlbnQudG91Y2hQb2ludHNbaV0ucmFkaXVzID0gdG9BUEkocG9pbnQucmFkaXVzKCkpOwor
ICAgICAgICB3a1RvdWNoRXZlbnQudG91Y2hQb2ludHNbaV0ucm90YXRpb25BbmdsZSA9IHBvaW50
LnJvdGF0aW9uQW5nbGUoKTsKKyAgICAgICAgd2tUb3VjaEV2ZW50LnRvdWNoUG9pbnRzW2ldLmZv
cmNlID0gcG9pbnQuZm9yY2UoKTsKKyAgICB9CisKKyAgICByZXR1cm4gd2tUb3VjaEV2ZW50Owor
I2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZXZlbnQpOworICAgIHJldHVybiAwOworI2VuZGlmCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRF
ZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oCmlu
ZGV4IGU5NDNmNTQzODVkYmMyZTYzN2IzMWQ2YzUxYzVmZDY3M2ExMDE4YWYuLjU1N2Y4MmI3NzFi
YTk0N2ExYjgyNjE0MTJkMjE4YTFhZDhhMGVhODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oCkBAIC03NSw2ICs3NSw3IEBAIHN0cnVjdCBX
S1RvdWNoRXZlbnQgewogdHlwZWRlZiBzdHJ1Y3QgV0tUb3VjaEV2ZW50IFdLVG91Y2hFdmVudDsK
IAogV0tfRVhQT1JUIFdLVG91Y2hFdmVudFJlZiBXS1RvdWNoRXZlbnRDcmVhdGUoV0tUb3VjaEV2
ZW50KiBldmVudCk7CitXS19FWFBPUlQgV0tUb3VjaEV2ZW50IFdLVG91Y2hFdmVudEdldFZhbHVl
KFdLVG91Y2hFdmVudFJlZiBldmVudCk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmgKaW5kZXggZjIzMGY4NDU0NDQ3
NGJiZDNiMThkMzM4ZmYyMGVlNmZlMGZlMDNjMC4uYTdlNGQwNTUxMDY1MTI4OTBkOGU0ZDAxODFl
YWUzZGYwZTVlNDQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L2VmbC9XS1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dL
Vmlldy5oCkBAIC0yMiw2ICsyMiw3IEBACiAjZGVmaW5lIFdLVmlld19oCiAKICNpbmNsdWRlIDxX
ZWJLaXQyL1dLQmFzZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tFdmVudEVmbC5oPgogI2luY2x1
ZGUgPFdlYktpdDIvV0tHZW9tZXRyeS5oPgogCiAjaWYgVVNFKEVPKQpAQCAtNDAsNiArNDEsNyBA
QCBleHRlcm4gIkMiIHsKIAogdHlwZWRlZiB2b2lkICgqV0tWaWV3Vmlld05lZWRzRGlzcGxheUNh
bGxiYWNrKShXS1ZpZXdSZWYgdmlldywgV0tSZWN0IGFyZWEsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pOwogdHlwZWRlZiB2b2lkICgqV0tWaWV3UGFnZURpZENoYW5nZUNvbnRlbnRzU2l6ZUNhbGxi
YWNrKShXS1ZpZXdSZWYgdmlldywgV0tTaXplIHNpemUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
OwordHlwZWRlZiB2b2lkICgqV0tWaWV3RG9uZVdpdGhUb3VjaEV2ZW50Q2FsbGJhY2spKFdLVmll
d1JlZiB2aWV3LCBXS1RvdWNoRXZlbnRSZWYgdG91Y2hFdmVudCwgYm9vbCB3YXNFdmVudEhhbmRs
ZWQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogCiBzdHJ1Y3QgV0tWaWV3Q2xpZW50IHsKICAg
ICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lv
bjsKQEAgLTQ4LDYgKzUwLDcgQEAgc3RydWN0IFdLVmlld0NsaWVudCB7CiAgICAgLy8gVmVyc2lv
biAwCiAgICAgV0tWaWV3Vmlld05lZWRzRGlzcGxheUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
IHZpZXdOZWVkc0Rpc3BsYXk7CiAgICAgV0tWaWV3UGFnZURpZENoYW5nZUNvbnRlbnRzU2l6ZUNh
bGxiYWNrICAgICAgICAgIGRpZENoYW5nZUNvbnRlbnRzU2l6ZTsKKyAgICBXS1ZpZXdEb25lV2l0
aFRvdWNoRXZlbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgZG9uZVdpdGhUb3VjaEV2ZW50Owog
fTsKIHR5cGVkZWYgc3RydWN0IFdLVmlld0NsaWVudCBXS1ZpZXdDbGllbnQ7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKaW5kZXggYzJhNTJiYmExMjdj
NDUwMGMwOGFkMmM3ZWExZjVlMzVlZGI4MGRkYi4uNjFkMTdiZTNkNGNlZjZjNjcyOGE5OGNkMWJj
ODlkOTcyZTU4NjBjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRXdrVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdr
Vmlldy5jcHAKQEAgLTY4LDYgKzY4LDcgQEAKICNpbmNsdWRlIDxFdmFzX0dMLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9DYWlyb1V0aWxpdGllc0VmbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3Vyc29y
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGxhdGZvcm1Db250ZXh0Q2Fpcm8uaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLSW1hZ2VDYWly
by5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CkBAIC03MjcsNiArNzI4LDExIEBAIHZv
aWQgRXdrVmlldzo6c2V0VG91Y2hFdmVudHNFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICAgICAg
ZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfZGVsKG1fZXZhc09iamVjdCwgRVZBU19DQUxMQkFD
S19NVUxUSV9NT1ZFLCBoYW5kbGVUb3VjaE1vdmUpOwogICAgIH0KIH0KKwordm9pZCBFd2tWaWV3
Ojpkb25lV2l0aFRvdWNoRXZlbnQoV0tUb3VjaEV2ZW50UmVmLCBib29sIC8qIHdhc0V2ZW50SGFu
ZGxlZCAqLykKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQogI2VuZGlmCiAKIGJvb2wgRXdr
Vmlldzo6Y3JlYXRlR0xTdXJmYWNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V3a1ZpZXcuaAppbmRleCA0YWI4YWRkMWMzNTVmN2QzZjVmMzQ5ODMyODkyOTQ2YjQ3Nzk5OTRm
Li42YTQxOTllMzJkZmZhMTA3NWJlZmY1MmRmNTNjYjQxZTdmZmM5MDNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCkBAIC00Niw2ICs0Niw3IEBACiAKICNp
ZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogI2luY2x1ZGUgImV3a190b3VjaC5oIgorI2luY2x1ZGUg
PFdlYktpdDIvV0tFdmVudEVmbC5oPgogI2VuZGlmCiAKICNpbmNsdWRlICJXZWJDb250ZXh0Lmgi
CkBAIC0xNTIsNiArMTUzLDcgQEAgcHVibGljOgogICAgIHZvaWQgZmVlZFRvdWNoRXZlbnQoRXdr
X1RvdWNoX0V2ZW50X1R5cGUgdHlwZSwgY29uc3QgRWluYV9MaXN0KiBwb2ludHMsIGNvbnN0IEV2
YXNfTW9kaWZpZXIqIG1vZGlmaWVycyk7CiAgICAgYm9vbCB0b3VjaEV2ZW50c0VuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX3RvdWNoRXZlbnRzRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0VG91Y2hF
dmVudHNFbmFibGVkKGJvb2wgZW5hYmxlZCk7CisgICAgdm9pZCBkb25lV2l0aFRvdWNoRXZlbnQo
V0tUb3VjaEV2ZW50UmVmLCBib29sKTsKICNlbmRpZgogCiAgICAgdm9pZCBzZXRDdXJzb3IoY29u
c3QgV2ViQ29yZTo6Q3Vyc29yJiBjdXJzb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvVmlld0NsaWVudEVmbC5jcHAKaW5kZXggNzdmOGJmMzhmMzJiMGMxMTMzM2RkZDZiYmE1
YWNiMzQwMzE3N2RiYS4uZTFhYzk5ZjcxMTcwMTRiMzc0NzNhMzA0YTQ3MTgyZDFkYWY2YjAyOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCkBA
IC01MCw2ICs1MCwxNyBAQCB2b2lkIFZpZXdDbGllbnRFZmw6OmRpZENoYW5nZUNvbnRlbnRzU2l6
ZShXS1ZpZXdSZWYsIFdLU2l6ZSBzaXplLCBjb25zdCB2b2lkKiBjbAogICAgIGV3a1ZpZXctPnNt
YXJ0Q2FsbGJhY2s8Q29udGVudHNTaXplQ2hhbmdlZD4oKS5jYWxsKHNpemUpOwogfQogCit2b2lk
IFZpZXdDbGllbnRFZmw6OmRvbmVXaXRoVG91Y2hFdmVudChXS1ZpZXdSZWYsIFdLVG91Y2hFdmVu
dFJlZiBldmVudCwgYm9vbCB3YXNFdmVudEhhbmRsZWQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
Cit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICB0b0V3a1ZpZXcoY2xpZW50SW5mbykt
PmRvbmVXaXRoVG91Y2hFdmVudChldmVudCwgd2FzRXZlbnRIYW5kbGVkKTsKKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKGV2ZW50KTsKKyAgICBVTlVTRURfUEFSQU0od2FzRXZlbnRIYW5kbGVkKTsK
KyAgICBVTlVTRURfUEFSQU0oY2xpZW50SW5mbyk7CisjZW5kaWYKK30KKwogVmlld0NsaWVudEVm
bDo6Vmlld0NsaWVudEVmbChFd2tWaWV3KiB2aWV3KQogICAgIDogbV92aWV3KHZpZXcpCiB7CkBA
IC02MCw2ICs3MSw3IEBAIFZpZXdDbGllbnRFZmw6OlZpZXdDbGllbnRFZmwoRXdrVmlldyogdmll
dykKICAgICB2aWV3Q2xpZW50LnZlcnNpb24gPSBrV0tWaWV3Q2xpZW50Q3VycmVudFZlcnNpb247
CiAgICAgdmlld0NsaWVudC5jbGllbnRJbmZvID0gdGhpczsKICAgICB2aWV3Q2xpZW50LmRpZENo
YW5nZUNvbnRlbnRzU2l6ZSA9IGRpZENoYW5nZUNvbnRlbnRzU2l6ZTsKKyAgICB2aWV3Q2xpZW50
LmRvbmVXaXRoVG91Y2hFdmVudCA9IGRvbmVXaXRoVG91Y2hFdmVudDsKICAgICB2aWV3Q2xpZW50
LnZpZXdOZWVkc0Rpc3BsYXkgPSB2aWV3TmVlZHNEaXNwbGF5OwogCiAgICAgV0tWaWV3U2V0Vmll
d0NsaWVudChtX3ZpZXctPndrVmlldygpLCAmdmlld0NsaWVudCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oCmluZGV4IDJlYmQzYTI5NjZlZjNjOGEyY2Q3
MzFhNzYxYzc3YWI2MzkxZjFiOTcuLjFkZTc0ODk0YTRkYWE2NDEwN2E1YWJiMTI1ZmQ2M2ZlMmE3
ZWNkZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVu
dEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5o
CkBAIC00OSw2ICs0OSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEV3a1ZpZXcqIHRvRXdrVmll
dyhjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICBzdGF0aWMgdm9pZCB2aWV3TmVlZHNEaXNw
bGF5KFdLVmlld1JlZiwgV0tSZWN0IGFyZWEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAg
IHN0YXRpYyB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShXS1ZpZXdSZWYsIFdLU2l6ZSwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7CisgICAgc3RhdGljIHZvaWQgZG9uZVdpdGhUb3VjaEV2ZW50
KFdLVmlld1JlZiwgV0tUb3VjaEV2ZW50UmVmLCBib29sLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKIAogICAgIEV3a1ZpZXcqIG1fdmlldzsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9XZWJWaWV3LmNwcAppbmRleCBjMjYyNmY4NmIzOGIwMGQ5YWU1ZmVjNTk0OTg5MTBhMTI5MDhi
YmE5Li4yZTdjN2Q2OTY0ZTZlZDc4ZjFmYTkzZmMzNzQ1Y2QzZDU4ZjczZjkxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKQEAgLTM4Niw5ICszODYsOSBAQCB2b2lk
IFdlYlZpZXc6OmRvbmVXaXRoS2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYs
IGJvb2wpCiB9CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotdm9pZCBXZWJWaWV3Ojpkb25l
V2l0aFRvdWNoRXZlbnQoY29uc3QgTmF0aXZlV2ViVG91Y2hFdmVudCYsIGJvb2wgLyp3YXNFdmVu
dEhhbmRsZWQqLykKK3ZvaWQgV2ViVmlldzo6ZG9uZVdpdGhUb3VjaEV2ZW50KGNvbnN0IE5hdGl2
ZVdlYlRvdWNoRXZlbnQmIGV2ZW50LCBib29sIHdhc0V2ZW50SGFuZGxlZCkKIHsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIG1fY2xpZW50LmRvbmVXaXRoVG91Y2hFdmVudCh0aGlzLCAmZXZl
bnQsIHdhc0V2ZW50SGFuZGxlZCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvV2ViVmlld0NsaWVudC5jcHAKaW5kZXggMDVmYzgwY2Y0ZGUwZWFlNTQ2NThk
MjM5MGQyNjUwOGYzYjRjMDI5Zi4uZjlmMTYwMmY2NzI3N2M1MjZhNmZlMjM1NTk5ZjUyODBhNWZl
OGZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3Q2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXdDbGllbnQu
Y3BwCkBAIC00OCw0ICs0OCwxNCBAQCB2b2lkIFdlYlZpZXdDbGllbnQ6OmRpZENoYW5nZUNvbnRl
bnRzU2l6ZShXZWJWaWV3KiB2aWV3LCBjb25zdCBJbnRTaXplJiBzaXplKQogICAgIG1fY2xpZW50
LmRpZENoYW5nZUNvbnRlbnRzU2l6ZSh0b0FQSSh2aWV3KSwgdG9BUEkoc2l6ZSksIG1fY2xpZW50
LmNsaWVudEluZm8pOwogfQogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKK3ZvaWQgV2ViVmll
d0NsaWVudDo6ZG9uZVdpdGhUb3VjaEV2ZW50KFdlYlZpZXcqIHZpZXcsIGNvbnN0IFdlYlRvdWNo
RXZlbnQqIGV2ZW50LCBib29sIHdhc0V2ZW50SGFuZGxlZCkKK3sKKyAgICBpZiAoIW1fY2xpZW50
LmRvbmVXaXRoVG91Y2hFdmVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbGllbnQuZG9u
ZVdpdGhUb3VjaEV2ZW50KHRvQVBJKHZpZXcpLCB0b0FQSShjb25zdF9jYXN0PFdlYlRvdWNoRXZl
bnQqPihldmVudCkpLCB3YXNFdmVudEhhbmRsZWQsIG1fY2xpZW50LmNsaWVudEluZm8pOworfQor
I2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1dlYlZpZXdDbGllbnQuaAppbmRleCBkNWU4MmRkMDAxZmZhMzM0NjEyNDE0Nzc1MjJl
ODEyOGNhZDU0OGZjLi5hMjczM2I3NjliZjgyYmFkZTYwMjBhYzllYzA0ZDhkZThhNmU1ZTAxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXdDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXdDbGllbnQuaApAQCAtMzgs
MTAgKzM4LDE3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJWaWV3OwogCisjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKK2NsYXNzIFdlYlRvdWNoRXZlbnQ7CisjZW5kaWYKKwogY2xh
c3MgV2ViVmlld0NsaWVudDogcHVibGljIEFQSUNsaWVudDxXS1ZpZXdDbGllbnQsIGtXS1ZpZXdD
bGllbnRDdXJyZW50VmVyc2lvbj4gewogcHVibGljOgogICAgIHZvaWQgdmlld05lZWRzRGlzcGxh
eShXZWJWaWV3KiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAgIHZvaWQgZGlkQ2hhbmdl
Q29udGVudHNTaXplKFdlYlZpZXcqLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykKKyAgICB2b2lkIGRvbmVXaXRoVG91Y2hFdmVudChXZWJWaWV3Kiwg
Y29uc3QgV2ViVG91Y2hFdmVudCosIGJvb2wpOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193077</attachid>
            <date>2013-03-13 23:44:09 -0700</date>
            <delta_ts>2013-03-18 23:30:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110085-20130314154004.patch</filename>
            <type>text/plain</type>
            <size>15832</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDZkNmJjOWExODQ0Mjlj
MWNlNDRiOTU3ZjA5ODFkNzJjZjU2MDY5NC4uMTNhYmY5MTcxODIxMjhmNmU0Y2RjMjA1YmM2NmMx
ZjViYzI5ZmI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU0IEBACiAyMDEzLTAzLTEzICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBkb25lV2l0aFRvdWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkb25lV2l0aFRv
dWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudCBpbiBvcmRlciB0byBnZXQgdGhl
CisgICAgICAgIHJlc3VsdCBvZiB0b3VjaCBldmVudHMgaW4gdGhlIEV3a1ZpZXcuIFRoZSByZXN1
bHQgd2lsbCBiZSB1c2VkIHRvCisgICAgICAgIHJlY29nbml6ZSBnZXN0dXJlcyBpbiB0aGUgQnVn
IDEwMjY0My4KKworICAgICAgICBBUElzIHRvIGdldCB2YWx1ZXMgZnJvbSBXS1RvdWNoRXZlbnRS
ZWYgYW5kIFdLVG91Y2hQb2ludFJlZiBhcmUgYWRkZWQKKyAgICAgICAgYmVjYXVzZSBXS1R5cGVS
ZWYgaXMgb3BhcXVlIHRvIHRoZSBhcHBsaWNhdGlvbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5j
cHA6CisgICAgICAgIChXS1RvdWNoRXZlbnRHZXRUeXBlKToKKyAgICAgICAgKFdLVG91Y2hFdmVu
dEdldFRvdWNoUG9pbnRzKToKKyAgICAgICAgKFdLVG91Y2hFdmVudEdldE1vZGlmaWVycyk6Cisg
ICAgICAgIChXS1RvdWNoRXZlbnRHZXRUaW1lc3RhbXApOgorICAgICAgICAoV0tUb3VjaFBvaW50
R2V0SUQpOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0U3RhdGUpOgorICAgICAgICAoV0tUb3Vj
aFBvaW50R2V0U2NyZWVuUG9zaXRpb24pOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0UG9zaXRp
b24pOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0UmFkaXVzKToKKyAgICAgICAgKFdLVG91Y2hQ
b2ludEdldFJvdGF0aW9uQW5nbGUpOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0Rm9yY2UpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwv
RXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3Ojpkb25lV2l0aFRvdWNoRXZlbnQpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaDoKKyAgICAgICAgKEV3a1ZpZXcpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlZpZXdDbGllbnRFZmw6OmRvbmVXaXRoVG91Y2hFdmVudCk6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoV2ViS2l0OjpWaWV3Q2xpZW50RWZsOjpWaWV3Q2xpZW50RWZsKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuaDoKKyAgICAgICAgKFZpZXdDbGllbnRF
ZmwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXc6OmRvbmVXaXRoVG91Y2hFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNzL2Vm
bC9XZWJWaWV3Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXdDbGllbnQ6OmRvbmVXaXRoVG91Y2hFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNz
L2VmbC9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorCisyMDEzLTAzLTEzICBF
dW5taSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKwogICAgICAgICBbRUZMXVtXSzJd
IEFkZCBXSzIgQyBBUEkgdG8gaGFuZGxlIHRvdWNoIGV2ZW50cy4KICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODkxNQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0FQSUNhc3RFZmwuaAppbmRleCA3MzEyZDYzNWIy
MjdiNjhhYTAzYzMyZmFmMTUzODJjMzFhNGZiNTRjLi5jZTVmZTkzYjAxOWRkOTQ3YWQ1ZDE4OWQ3
ZjExMjdhMTM3MTg5YjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvZWZsL1dLQVBJQ2FzdEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9lZmwvV0tBUElDYXN0RWZsLmgKQEAgLTI3LDYgKzI3LDExIEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9UZXh0RGlyZWN0aW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1BvcHVwSXRlbS5oPgogCisj
aWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRlICJXZWJFdmVudC5oIgorI2luY2x1ZGUg
PFdlYktpdDIvV0tFdmVudEVmbC5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBXZWJWaWV3OwpAQCAtNjIsNiArNjcsNDMgQEAgaW5saW5lIFdLUG9wdXBJdGVtVGV4dERp
cmVjdGlvbiB0b0FQSShXZWJDb3JlOjpUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICByZXR1
cm4gd2tEaXJlY3Rpb247CiB9CiAKK2lubGluZSBXS0V2ZW50VHlwZSB0b0FQSShXZWJFdmVudDo6
VHlwZSB0eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworI2lmIEVOQUJMRShUT1VDSF9FVkVO
VFMpCisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hTdGFydDoKKyAgICAgICAgcmV0dXJuIGtXS0V2
ZW50VHlwZVRvdWNoU3RhcnQ7CisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hNb3ZlOgorICAgICAg
ICByZXR1cm4ga1dLRXZlbnRUeXBlVG91Y2hNb3ZlOworICAgIGNhc2UgV2ViRXZlbnQ6OlRvdWNo
RW5kOgorICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91Y2hFbmQ7CisgICAgY2FzZSBXZWJF
dmVudDo6VG91Y2hDYW5jZWw6CisgICAgICAgIHJldHVybiBrV0tFdmVudFR5cGVUb3VjaENhbmNl
bDsKKyNlbmRpZgorICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBrV0tFdmVudFR5cGVOb1R5
cGU7CisgICAgfQorfQorCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKK2lubGluZSBXS1RvdWNo
UG9pbnRTdGF0ZSB0b0FQSShXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUG9pbnRTdGF0ZSBz
dGF0ZSkKK3sKKyAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgY2FzZSBXZWJQbGF0Zm9ybVRvdWNo
UG9pbnQ6OlRvdWNoUmVsZWFzZWQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVU
b3VjaFJlbGVhc2VkOworICAgIGNhc2UgV2ViUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFByZXNz
ZWQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaFByZXNzZWQ7CisgICAg
Y2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQ6CisgICAgICAgIHJldHVybiBr
V0tUb3VjaFBvaW50U3RhdGVUb3VjaE1vdmVkOworICAgIGNhc2UgV2ViUGxhdGZvcm1Ub3VjaFBv
aW50OjpUb3VjaFN0YXRpb25hcnk6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVU
b3VjaFN0YXRpb25hcnk7CisgICAgY2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoQ2Fu
Y2VsbGVkOgorICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVU
b3VjaENhbmNlbGxlZDsKKyAgICB9Cit9CisjZW5kaWYKKwogfQogCiAjZW5kaWYgLy8gV0tBUElD
YXN0RWZsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwv
V0tFdmVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZl
bnRFZmwuY3BwCmluZGV4IDFjY2Y2NGFmMDk1OWZjNjNkYjM1YzdhOTIyZWRmZjY4N2YyMDQ2MjAu
LjgxZmQ4NzlhNWY1ZDAzYWU5N2ViMzlhMTNmZWVlYjA1MWFkZWMxYzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmNwcApAQCAtNjIsMyAr
NjIsMTEzIEBAIFdLVG91Y2hFdmVudFJlZiBXS1RvdWNoRXZlbnRDcmVhdGUoV0tFdmVudFR5cGUg
dHlwZSwgV0tBcnJheVJlZiB3a1RvdWNoUG9pbnRzLCBXCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYK
IH0KKworV0tFdmVudFR5cGUgV0tUb3VjaEV2ZW50R2V0VHlwZShXS1RvdWNoRXZlbnRSZWYgZXZl
bnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKGV2ZW50
KS0+ZXZlbnRUeXBlKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShldmVudCk7CisgICAgcmV0
dXJuIGtXS0V2ZW50VHlwZU5vVHlwZTsKKyNlbmRpZgorfQorCitXS0FycmF5UmVmIFdLVG91Y2hF
dmVudEdldFRvdWNoUG9pbnRzKFdLVG91Y2hFdmVudFJlZiBldmVudCkKK3sKKyNpZiBFTkFCTEUo
VE9VQ0hfRVZFTlRTKQorICAgIHJldHVybiB0b0ltcGwoZXZlbnQpLT50b3VjaFBvaW50cygpOwor
I2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZXZlbnQpOworICAgIHJldHVybiAwOworI2VuZGlmCit9
CisKK1dLRXZlbnRNb2RpZmllcnMgV0tUb3VjaEV2ZW50R2V0TW9kaWZpZXJzKFdLVG91Y2hFdmVu
dFJlZiBldmVudCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVybiB0b0lt
cGwoZXZlbnQpLT5tb2RpZmllcnMoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2ZW50KTsK
KyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCitkb3VibGUgV0tUb3VjaEV2ZW50R2V0VGltZXN0
YW1wKFdLVG91Y2hFdmVudFJlZiBldmVudCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQor
ICAgIHJldHVybiB0b0ltcGwoZXZlbnQpLT50aW1lc3RhbXAoKTsKKyNlbHNlCisgICAgVU5VU0VE
X1BBUkFNKGV2ZW50KTsKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCit1aW50MzJfdCBXS1Rv
dWNoUG9pbnRHZXRJRChXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+aWQoKTsKKyNlbHNlCisgICAgVU5V
U0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCitXS1RvdWNoUG9p
bnRTdGF0ZSBXS1RvdWNoUG9pbnRHZXRTdGF0ZShXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7Cisj
aWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+c3RhdGUo
KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4ga1dLVG91Y2hQ
b2ludFN0YXRlVG91Y2hDYW5jZWxsZWQ7CisjZW5kaWYKK30KKworV0tQb2ludCBXS1RvdWNoUG9p
bnRHZXRTY3JlZW5Qb3NpdGlvbihXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+c2NyZWVuUG9zaXRpb24o
KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4gV0tQb2ludE1h
a2UoMCwgMCk7CisjZW5kaWYKK30KKworV0tQb2ludCBXS1RvdWNoUG9pbnRHZXRQb3NpdGlvbihX
S1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICBy
ZXR1cm4gdG9JbXBsKHBvaW50KS0+cG9zaXRpb24oKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFN
KHBvaW50KTsKKyAgICByZXR1cm4gV0tQb2ludE1ha2UoMCwgMCk7CisjZW5kaWYKK30KKworV0tT
aXplIFdLVG91Y2hQb2ludEdldFJhZGl1cyhXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+cmFkaXVzKCk7
CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwb2ludCk7CisgICAgcmV0dXJuIFdLU2l6ZU1ha2Uo
MCwgMCk7CisjZW5kaWYKK30KKworZmxvYXQgV0tUb3VjaFBvaW50R2V0Um90YXRpb25BbmdsZShX
S1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICBy
ZXR1cm4gdG9JbXBsKHBvaW50KS0+cm90YXRpb25BbmdsZSgpOworI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0ocG9pbnQpOworICAgIHJldHVybiAwOworI2VuZGlmCit9CisKK2Zsb2F0IFdLVG91Y2hQ
b2ludEdldEZvcmNlKFdLVG91Y2hQb2ludFJlZiBwb2ludCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQorICAgIHJldHVybiB0b0ltcGwocG9pbnQpLT5mb3JjZSgpOworI2Vsc2UKKyAgICBV
TlVTRURfUEFSQU0ocG9pbnQpOworICAgIHJldHVybiAwOworI2VuZGlmCit9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oCmluZGV4IGYzMTRlZGUx
NjU4MjE2NWU2OWM2NzIzMzUyMTc4ZThjNzI5MjY2N2IuLjE4ZDBkZjBlZDZjNDVkMGZjNWFiMWZm
OWMwOTA5MDM5Y2NmMjE5NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9lZmwvV0tFdmVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9lZmwvV0tFdmVudEVmbC5oCkBAIC01NSw2ICs1NSwxOSBAQCB0eXBlZGVmIGVudW0gV0tUb3Vj
aFBvaW50U3RhdGUgV0tUb3VjaFBvaW50U3RhdGU7CiBXS19FWFBPUlQgV0tUb3VjaFBvaW50UmVm
IFdLVG91Y2hQb2ludENyZWF0ZShpbnQgaWQsIFdLUG9pbnQgcG9zaXRpb24sIFdLUG9pbnQgc2Ny
ZWVuUG9zaXRpb24sIFdLVG91Y2hQb2ludFN0YXRlLCBXS1NpemUgcmFkaXVzLCBmbG9hdCByb3Rh
dGlvbkFuZ2xlLCBmbG9hdCBmb3JjZSk7CiBXS19FWFBPUlQgV0tUb3VjaEV2ZW50UmVmIFdLVG91
Y2hFdmVudENyZWF0ZShXS0V2ZW50VHlwZSwgV0tBcnJheVJlZiwgV0tFdmVudE1vZGlmaWVycywg
ZG91YmxlIHRpbWVzdGFtcCk7CiAKK1dLX0VYUE9SVCBXS0V2ZW50VHlwZSBXS1RvdWNoRXZlbnRH
ZXRUeXBlKFdLVG91Y2hFdmVudFJlZik7CitXS19FWFBPUlQgV0tBcnJheVJlZiBXS1RvdWNoRXZl
bnRHZXRUb3VjaFBvaW50cyhXS1RvdWNoRXZlbnRSZWYpOworV0tfRVhQT1JUIFdLRXZlbnRNb2Rp
ZmllcnMgV0tUb3VjaEV2ZW50R2V0TW9kaWZpZXJzKFdLVG91Y2hFdmVudFJlZik7CitXS19FWFBP
UlQgZG91YmxlIFdLVG91Y2hFdmVudEdldFRpbWVzdGFtcChXS1RvdWNoRXZlbnRSZWYpOworCitX
S19FWFBPUlQgdWludDMyX3QgV0tUb3VjaFBvaW50R2V0SUQoV0tUb3VjaFBvaW50UmVmKTsKK1dL
X0VYUE9SVCBXS1RvdWNoUG9pbnRTdGF0ZSBXS1RvdWNoUG9pbnRHZXRTdGF0ZShXS1RvdWNoUG9p
bnRSZWYpOworV0tfRVhQT1JUIFdLUG9pbnQgV0tUb3VjaFBvaW50R2V0U2NyZWVuUG9zaXRpb24o
V0tUb3VjaFBvaW50UmVmKTsKK1dLX0VYUE9SVCBXS1BvaW50IFdLVG91Y2hQb2ludEdldFBvc2l0
aW9uKFdLVG91Y2hQb2ludFJlZik7CitXS19FWFBPUlQgV0tTaXplIFdLVG91Y2hQb2ludEdldFJh
ZGl1cyhXS1RvdWNoUG9pbnRSZWYpOworV0tfRVhQT1JUIGZsb2F0IFdLVG91Y2hQb2ludEdldFJv
dGF0aW9uQW5nbGUoV0tUb3VjaFBvaW50UmVmKTsKK1dLX0VYUE9SVCBmbG9hdCBXS1RvdWNoUG9p
bnRHZXRGb3JjZShXS1RvdWNoUG9pbnRSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1Zp
ZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmgKaW5kZXgg
NmY5ZWQwY2UwM2FjYzYwNjA1ZjI2NGUxNjI0MWFmOWEyNzQwMThmNS4uMmQxYzAwNDFmY2QwZTQ5
ZjA5OTkyNWJjOWQ5MDBkYzhkOGQ3ZDY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvZWZsL1dLVmlldy5oCkBAIC0yMiw4ICsyMiwxMyBAQAogI2RlZmluZSBXS1ZpZXdfaAog
CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLRXZlbnRF
ZmwuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLR2VvbWV0cnkuaD4KIAorI2lmbmRlZiBfX2NwbHVz
cGx1cworI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNlbmRpZgorCiAjaWYgVVNFKEVPKQogdHlwZWRl
ZiBzdHJ1Y3QgX0VvIEV2YXM7CiB0eXBlZGVmIHN0cnVjdCBfRW8gRXZhc19PYmplY3Q7CkBAIC00
Miw2ICs0Nyw3IEBAIHR5cGVkZWYgdm9pZCAoKldLVmlld0NhbGxiYWNrKShXS1ZpZXdSZWYgdmll
dywgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1ZpZXdWaWV3TmVl
ZHNEaXNwbGF5Q2FsbGJhY2spKFdLVmlld1JlZiB2aWV3LCBXS1JlY3QgYXJlYSwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1ZpZXdQYWdlRGlkQ2hhbmdlQ29udGVu
dHNTaXplQ2FsbGJhY2spKFdLVmlld1JlZiB2aWV3LCBXS1NpemUgc2l6ZSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1ZpZXdXZWJQcm9jZXNzQ3Jhc2hlZENhbGxi
YWNrKShXS1ZpZXdSZWYgdmlldywgV0tVUkxSZWYgdXJsLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKK3R5cGVkZWYgdm9pZCAoKldLVmlld0RvbmVXaXRoVG91Y2hFdmVudENhbGxiYWNrKShXS1Zp
ZXdSZWYgdmlldywgV0tUb3VjaEV2ZW50UmVmIHRvdWNoRXZlbnQsIGJvb2wgd2FzRXZlbnRIYW5k
bGVkLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogc3RydWN0IFdLVmlld0NsaWVudCB7CiAg
ICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNp
b247CkBAIC01Miw2ICs1OCw3IEBAIHN0cnVjdCBXS1ZpZXdDbGllbnQgewogICAgIFdLVmlld1Bh
Z2VEaWRDaGFuZ2VDb250ZW50c1NpemVDYWxsYmFjayAgICAgICAgICBkaWRDaGFuZ2VDb250ZW50
c1NpemU7CiAgICAgV0tWaWV3V2ViUHJvY2Vzc0NyYXNoZWRDYWxsYmFjayAgICAgICAgICAgICAg
ICAgIHdlYlByb2Nlc3NDcmFzaGVkOwogICAgIFdLVmlld0NhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB3ZWJQcm9jZXNzRGlkUmVsYXVuY2g7CisgICAgV0tWaWV3RG9u
ZVdpdGhUb3VjaEV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgIGRvbmVXaXRoVG91Y2hFdmVu
dDsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1ZpZXdDbGllbnQgV0tWaWV3Q2xpZW50OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IDIzOWQ4NWE2
YWE4YzdhNTU3OTZjYTczNjFkM2NhMzUwOGEyNDU3NzAuLmEwZmMxZWUwOWQxMGJlMzBhYWMzYzJj
ZjEzZWZiZDVhYjBlMTg0NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V3a1ZpZXcuY3BwCkBAIC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSA8RXZhc19HTC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvQ2Fpcm9VdGlsaXRpZXNFZmwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1
cnNvci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1BsYXRmb3JtQ29udGV4dENhaXJvLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0ltYWdl
Q2Fpcm8uaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpAQCAtNzc3LDYgKzc3OCwxMSBA
QCB2b2lkIEV3a1ZpZXc6OnNldFRvdWNoRXZlbnRzRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAg
ICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxiYWNrX2RlbChtX2V2YXNPYmplY3QsIEVWQVNfQ0FM
TEJBQ0tfTVVMVElfTU9WRSwgaGFuZGxlVG91Y2hNb3ZlKTsKICAgICB9CiB9CisKK3ZvaWQgRXdr
Vmlldzo6ZG9uZVdpdGhUb3VjaEV2ZW50KFdLVG91Y2hFdmVudFJlZiwgYm9vbCAvKiB3YXNFdmVu
dEhhbmRsZWQgKi8pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KICNlbmRpZgogCiBib29s
IEV3a1ZpZXc6OmNyZWF0ZUdMU3VyZmFjZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmgKaW5kZXggYTZiNTcwOThkY2FmY2IxYjQwZTBhMWExNDg4NmZmYjY5OGNh
ZTQ3YS4uYWI5MjAwNWQ5ZDRhNTZjMDFjOTUwODFhNzlmOWM0YzNmM2FkNjYzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtMTUyLDYgKzE1Miw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIGZlZWRUb3VjaEV2ZW50KEV3a19Ub3VjaF9FdmVudF9UeXBlIHR5
cGUsIGNvbnN0IEVpbmFfTGlzdCogcG9pbnRzLCBjb25zdCBFdmFzX01vZGlmaWVyKiBtb2RpZmll
cnMpOwogICAgIGJvb2wgdG91Y2hFdmVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV90b3Vj
aEV2ZW50c0VuYWJsZWQ7IH0KICAgICB2b2lkIHNldFRvdWNoRXZlbnRzRW5hYmxlZChib29sIGVu
YWJsZWQpOworICAgIHZvaWQgZG9uZVdpdGhUb3VjaEV2ZW50KFdLVG91Y2hFdmVudFJlZiwgYm9v
bCk7CiAjZW5kaWYKIAogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYg
Y3Vyc29yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0Ns
aWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwu
Y3BwCmluZGV4IGQ5ZWJiMzJjZjU2MzcxNzcwNmUwYmQ2ZjM3MTM2ZTI0ZDliMDBhYzkuLmMyNTI5
NDU3YmQwNmY4ODg4NDhjY2FlZjBjMDYyYTNhMjU4YjE1MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcApAQCAtODcsNiArODcsMTcgQEAgdm9p
ZCBWaWV3Q2xpZW50RWZsOjp3ZWJQcm9jZXNzRGlkUmVsYXVuY2goV0tWaWV3UmVmIHZpZXdSZWYs
IGNvbnN0IHZvaWQqIGNsaWVudEkKICAgICAgICAgV0tWaWV3U2V0VGhlbWVQYXRoKHZpZXdSZWYs
IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcodGhlbWVQYXRoKSkuZ2V0KCkp
OwogfQogCit2b2lkIFZpZXdDbGllbnRFZmw6OmRvbmVXaXRoVG91Y2hFdmVudChXS1ZpZXdSZWYs
IFdLVG91Y2hFdmVudFJlZiBldmVudCwgYm9vbCB3YXNFdmVudEhhbmRsZWQsIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICB0b0V3a1ZpZXco
Y2xpZW50SW5mbyktPmRvbmVXaXRoVG91Y2hFdmVudChldmVudCwgd2FzRXZlbnRIYW5kbGVkKTsK
KyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2ZW50KTsKKyAgICBVTlVTRURfUEFSQU0od2FzRXZl
bnRIYW5kbGVkKTsKKyAgICBVTlVTRURfUEFSQU0oY2xpZW50SW5mbyk7CisjZW5kaWYKK30KKwog
Vmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVmbChFd2tWaWV3KiB2aWV3KQogICAgIDogbV92aWV3
KHZpZXcpCiB7CkBAIC05Nyw2ICsxMDgsNyBAQCBWaWV3Q2xpZW50RWZsOjpWaWV3Q2xpZW50RWZs
KEV3a1ZpZXcqIHZpZXcpCiAgICAgdmlld0NsaWVudC52ZXJzaW9uID0ga1dLVmlld0NsaWVudEN1
cnJlbnRWZXJzaW9uOwogICAgIHZpZXdDbGllbnQuY2xpZW50SW5mbyA9IHRoaXM7CiAgICAgdmll
d0NsaWVudC5kaWRDaGFuZ2VDb250ZW50c1NpemUgPSBkaWRDaGFuZ2VDb250ZW50c1NpemU7Cisg
ICAgdmlld0NsaWVudC5kb25lV2l0aFRvdWNoRXZlbnQgPSBkb25lV2l0aFRvdWNoRXZlbnQ7CiAg
ICAgdmlld0NsaWVudC52aWV3TmVlZHNEaXNwbGF5ID0gdmlld05lZWRzRGlzcGxheTsKICAgICB2
aWV3Q2xpZW50LndlYlByb2Nlc3NDcmFzaGVkID0gd2ViUHJvY2Vzc0NyYXNoZWQ7CiAgICAgdmll
d0NsaWVudC53ZWJQcm9jZXNzRGlkUmVsYXVuY2ggPSB3ZWJQcm9jZXNzRGlkUmVsYXVuY2g7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oCmluZGV4IDZiYWFm
MDliYTMyYmM1Y2ZjNmFlMTZmNTRlYWJiMzM5M2RkMjY3MDUuLjM2NzQyYWIyNmUxYTEyM2Q5MDMx
NTYyOThkNjU0YjdmYzZkZjNlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvVmlld0NsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
Vmlld0NsaWVudEVmbC5oCkBAIC01MSw2ICs1MSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZv
aWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKFdLVmlld1JlZiwgV0tTaXplLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKICAgICBzdGF0aWMgdm9pZCB3ZWJQcm9jZXNzQ3Jhc2hlZChXS1ZpZXdSZWYs
IFdLVVJMUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICBzdGF0aWMgdm9pZCB3ZWJQ
cm9jZXNzRGlkUmVsYXVuY2goV0tWaWV3UmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKyAg
ICBzdGF0aWMgdm9pZCBkb25lV2l0aFRvdWNoRXZlbnQoV0tWaWV3UmVmLCBXS1RvdWNoRXZlbnRS
ZWYsIGJvb2wsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogCiAgICAgRXdrVmlldyogbV92aWV3
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCmluZGV4IGMwZDEz
MWZjMGEzNTI3NzliOGFlMjNiNWJlN2UzMzlmYTNkOTAyOTYuLmRjYjVhYjY3NmNjNDA0YTk1NDg2
OTVmMWNjOTRkYzRmYjliNDJmYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJW
aWV3LmNwcApAQCAtMzY1LDkgKzM2NSw5IEBAIHZvaWQgV2ViVmlldzo6ZG9uZVdpdGhLZXlFdmVu
dChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiwgYm9vbCkKIH0KIAogI2lmIEVOQUJMRShU
T1VDSF9FVkVOVFMpCi12b2lkIFdlYlZpZXc6OmRvbmVXaXRoVG91Y2hFdmVudChjb25zdCBOYXRp
dmVXZWJUb3VjaEV2ZW50JiwgYm9vbCAvKndhc0V2ZW50SGFuZGxlZCovKQordm9pZCBXZWJWaWV3
Ojpkb25lV2l0aFRvdWNoRXZlbnQoY29uc3QgTmF0aXZlV2ViVG91Y2hFdmVudCYgZXZlbnQsIGJv
b2wgd2FzRXZlbnRIYW5kbGVkKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9jbGll
bnQuZG9uZVdpdGhUb3VjaEV2ZW50KHRoaXMsIGV2ZW50LCB3YXNFdmVudEhhbmRsZWQpOwogfQog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmll
d0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXdDbGllbnQu
Y3BwCmluZGV4IGZmY2EwOTMyNWU0NjBiN2JjZDJmNzc0OWJmNDQyYWM3ZjQwMDZjOWEuLjU0OTJl
NWNmMTVjYWJmZTExZGM0Nzc5YjY2MTVkZTU4M2E5MjExNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlld0NsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3Q2xpZW50LmNwcApAQCAtMjksNiArMjksMTAgQEAKICNp
bmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNsdWRlICJXS1JldGFpblB0ci5oIgogCisjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRlICJOYXRpdmVXZWJUb3VjaEV2ZW50LmgiCisjZW5k
aWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAt
NjUsNCArNjksMTQgQEAgdm9pZCBXZWJWaWV3Q2xpZW50Ojp3ZWJQcm9jZXNzRGlkUmVsYXVuY2go
V2ViVmlldyogdmlldykKICAgICBtX2NsaWVudC53ZWJQcm9jZXNzRGlkUmVsYXVuY2godG9BUEko
dmlldyksIG1fY2xpZW50LmNsaWVudEluZm8pOwogfQogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKK3ZvaWQgV2ViVmlld0NsaWVudDo6ZG9uZVdpdGhUb3VjaEV2ZW50KFdlYlZpZXcqIHZpZXcs
IGNvbnN0IE5hdGl2ZVdlYlRvdWNoRXZlbnQmIGV2ZW50LCBib29sIHdhc0V2ZW50SGFuZGxlZCkK
K3sKKyAgICBpZiAoIW1fY2xpZW50LmRvbmVXaXRoVG91Y2hFdmVudCkKKyAgICAgICAgcmV0dXJu
OworCisgICAgbV9jbGllbnQuZG9uZVdpdGhUb3VjaEV2ZW50KHRvQVBJKHZpZXcpLCB0b0FQSShj
b25zdF9jYXN0PEVGTFRvdWNoRXZlbnQqPihldmVudC5uYXRpdmVFdmVudCgpKSksIHdhc0V2ZW50
SGFuZGxlZCwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZp
ZXdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlld0NsaWVudC5o
CmluZGV4IDEwY2Y5MmRhZWNkOGU2ODUyOTFiZmRlYzMzMTk3NTZhNzllZWZiZTEuLmZkZDQxNzMy
NmRiMjcwM2Y3Njc2ODI2ZmUxN2I2NWEyZTM4ODgzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlld0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvV2ViVmlld0NsaWVudC5oCkBAIC0zOSwxMiArMzksMTkgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGNsYXNzIFdlYlZpZXc7CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQor
Y2xhc3MgTmF0aXZlV2ViVG91Y2hFdmVudDsKKyNlbmRpZgorCiBjbGFzcyBXZWJWaWV3Q2xpZW50
OiBwdWJsaWMgQVBJQ2xpZW50PFdLVmlld0NsaWVudCwga1dLVmlld0NsaWVudEN1cnJlbnRWZXJz
aW9uPiB7CiBwdWJsaWM6CiAgICAgdm9pZCB2aWV3TmVlZHNEaXNwbGF5KFdlYlZpZXcqLCBjb25z
dCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoV2Vi
VmlldyosIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKICAgICB2b2lkIHdlYlByb2Nlc3NDcmFz
aGVkKFdlYlZpZXcqLCBjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCB3ZWJQcm9jZXNzRGlk
UmVsYXVuY2goV2ViVmlldyopOworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgdm9pZCBk
b25lV2l0aFRvdWNoRXZlbnQoV2ViVmlldyosIGNvbnN0IE5hdGl2ZVdlYlRvdWNoRXZlbnQmLCBi
b29sKTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193742</attachid>
            <date>2013-03-18 23:30:14 -0700</date>
            <delta_ts>2013-07-03 21:56:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110085-20130319152604.patch</filename>
            <type>text/plain</type>
            <size>15862</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDk5Y2NhNDVhMDBkMzQy
NzIwNGY2ZjRmNTFmMDY2OGZhZGFhMmI4MC4uNWI3MDc5Y2Q2NjM5ZWYzMzkxNTY4MTdkNDQ4ODhj
Y2ZhMmVlYTkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU0IEBACiAyMDEzLTAzLTE4ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBkb25lV2l0aFRvdWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkb25lV2l0aFRv
dWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudCBpbiBvcmRlciB0byBnZXQgdGhl
CisgICAgICAgIHJlc3VsdCBvZiB0b3VjaCBldmVudHMgaW4gdGhlIEV3a1ZpZXcuIFRoZSByZXN1
bHQgd2lsbCBiZSB1c2VkIHRvCisgICAgICAgIHJlY29nbml6ZSBnZXN0dXJlcyBpbiB0aGUgQnVn
IDEwMjY0My4KKworICAgICAgICBBUElzIHRvIGdldCB2YWx1ZXMgZnJvbSBXS1RvdWNoRXZlbnRS
ZWYgYW5kIFdLVG91Y2hQb2ludFJlZiBhcmUgYWRkZWQKKyAgICAgICAgYmVjYXVzZSBXS1R5cGVS
ZWYgaXMgb3BhcXVlIHRvIHRoZSBhcHBsaWNhdGlvbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5j
cHA6CisgICAgICAgIChXS1RvdWNoRXZlbnRHZXRUeXBlKToKKyAgICAgICAgKFdLVG91Y2hFdmVu
dEdldFRvdWNoUG9pbnRzKToKKyAgICAgICAgKFdLVG91Y2hFdmVudEdldE1vZGlmaWVycyk6Cisg
ICAgICAgIChXS1RvdWNoRXZlbnRHZXRUaW1lc3RhbXApOgorICAgICAgICAoV0tUb3VjaFBvaW50
R2V0SUQpOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0U3RhdGUpOgorICAgICAgICAoV0tUb3Vj
aFBvaW50R2V0U2NyZWVuUG9zaXRpb24pOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0UG9zaXRp
b24pOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0UmFkaXVzKToKKyAgICAgICAgKFdLVG91Y2hQ
b2ludEdldFJvdGF0aW9uQW5nbGUpOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0Rm9yY2VGYWN0
b3IpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3Ojpkb25lV2l0aFRvdWNoRXZlbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaDoKKyAgICAgICAgKEV3a1Zp
ZXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlZpZXdDbGllbnRFZmw6OmRvbmVXaXRoVG91Y2hFdmVudCk6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpWaWV3Q2xpZW50RWZsOjpWaWV3Q2xpZW50RWZsKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuaDoKKyAgICAgICAgKFZpZXdD
bGllbnRFZmwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXc6OmRvbmVXaXRoVG91Y2hFdmVudCk6CisgICAgICAgICogVUlQcm9j
ZXNzL2VmbC9XZWJWaWV3Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdDbGllbnQ6OmRvbmVXaXRoVG91Y2hFdmVudCk6CisgICAgICAgICogVUlQ
cm9jZXNzL2VmbC9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorCisyMDEzLTAz
LTE4ICBFdW5taSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKwogICAgICAgICBbRUZM
XVtXSzJdIEFkZCBXSzIgQyBBUEkgdG8gaGFuZGxlIHRvdWNoIGV2ZW50cy4KICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODkxNQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0FQSUNhc3RFZmwuaAppbmRleCAzNTFh
MTlmZmU1MjdjMTI1OGQ1ZDNhZGQwOTk1MDY2ZDBjODYxOWRlLi5iZjlkMWQ3YTRjM2FkMzhlNzcy
MzFiMmI5MWYzNGMxYmQ0OTA1ZDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9lZmwvV0tBUElDYXN0RWZsLmgKQEAgLTI3LDYgKzI3LDExIEBACiAjaW5jbHVkZSA8
V2ViQ29yZS9UZXh0RGlyZWN0aW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1BvcHVwSXRlbS5o
PgogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRlICJXZWJFdmVudC5oIgorI2lu
Y2x1ZGUgPFdlYktpdDIvV0tFdmVudEVmbC5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBXZWJWaWV3OwpAQCAtNjIsNiArNjcsNDMgQEAgaW5saW5lIFdLUG9wdXBJdGVt
VGV4dERpcmVjdGlvbiB0b0FQSShXZWJDb3JlOjpUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbikKICAg
ICByZXR1cm4gd2tEaXJlY3Rpb247CiB9CiAKK2lubGluZSBXS0V2ZW50VHlwZSB0b0FQSShXZWJF
dmVudDo6VHlwZSB0eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworI2lmIEVOQUJMRShUT1VD
SF9FVkVOVFMpCisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hTdGFydDoKKyAgICAgICAgcmV0dXJu
IGtXS0V2ZW50VHlwZVRvdWNoU3RhcnQ7CisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hNb3ZlOgor
ICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91Y2hNb3ZlOworICAgIGNhc2UgV2ViRXZlbnQ6
OlRvdWNoRW5kOgorICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91Y2hFbmQ7CisgICAgY2Fz
ZSBXZWJFdmVudDo6VG91Y2hDYW5jZWw6CisgICAgICAgIHJldHVybiBrV0tFdmVudFR5cGVUb3Vj
aENhbmNlbDsKKyNlbmRpZgorICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBrV0tFdmVudFR5
cGVOb1R5cGU7CisgICAgfQorfQorCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKK2lubGluZSBX
S1RvdWNoUG9pbnRTdGF0ZSB0b0FQSShXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUG9pbnRT
dGF0ZSBzdGF0ZSkKK3sKKyAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgY2FzZSBXZWJQbGF0Zm9y
bVRvdWNoUG9pbnQ6OlRvdWNoUmVsZWFzZWQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50
U3RhdGVUb3VjaFJlbGVhc2VkOworICAgIGNhc2UgV2ViUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3Vj
aFByZXNzZWQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaFByZXNzZWQ7
CisgICAgY2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQ6CisgICAgICAgIHJl
dHVybiBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaE1vdmVkOworICAgIGNhc2UgV2ViUGxhdGZvcm1U
b3VjaFBvaW50OjpUb3VjaFN0YXRpb25hcnk6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50
U3RhdGVUb3VjaFN0YXRpb25hcnk7CisgICAgY2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRv
dWNoQ2FuY2VsbGVkOgorICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50
U3RhdGVUb3VjaENhbmNlbGxlZDsKKyAgICB9Cit9CisjZW5kaWYKKwogfQogCiAjZW5kaWYgLy8g
V0tBUElDYXN0RWZsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9lZmwvV0tFdmVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZs
L1dLRXZlbnRFZmwuY3BwCmluZGV4IDZkNTA3MWY5MGJkNWI3YzYwOGM2NGFmNmQyZGYwMDQzZDg3
MDUyMjMuLjg0M2FlYjBkZDMzMjZkNGVhZGQ3Y2Y5NWIyZjllNTU4OTc4MmExMTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmNwcApAQCAt
NjIsMyArNjIsMTEzIEBAIFdLVG91Y2hFdmVudFJlZiBXS1RvdWNoRXZlbnRDcmVhdGUoV0tFdmVu
dFR5cGUgdHlwZSwgV0tBcnJheVJlZiB3a1RvdWNoUG9pbnRzLCBXCiAgICAgcmV0dXJuIDA7CiAj
ZW5kaWYKIH0KKworV0tFdmVudFR5cGUgV0tUb3VjaEV2ZW50R2V0VHlwZShXS1RvdWNoRXZlbnRS
ZWYgZXZlbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBs
KGV2ZW50KS0+ZXZlbnRUeXBlKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShldmVudCk7Cisg
ICAgcmV0dXJuIGtXS0V2ZW50VHlwZU5vVHlwZTsKKyNlbmRpZgorfQorCitXS0FycmF5UmVmIFdL
VG91Y2hFdmVudEdldFRvdWNoUG9pbnRzKFdLVG91Y2hFdmVudFJlZiBldmVudCkKK3sKKyNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVybiB0b0ltcGwoZXZlbnQpLT50b3VjaFBvaW50
cygpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZXZlbnQpOworICAgIHJldHVybiAwOworI2Vu
ZGlmCit9CisKK1dLRXZlbnRNb2RpZmllcnMgV0tUb3VjaEV2ZW50R2V0TW9kaWZpZXJzKFdLVG91
Y2hFdmVudFJlZiBldmVudCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVy
biB0b0ltcGwoZXZlbnQpLT5tb2RpZmllcnMoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2
ZW50KTsKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCitkb3VibGUgV0tUb3VjaEV2ZW50R2V0
VGltZXN0YW1wKFdLVG91Y2hFdmVudFJlZiBldmVudCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQorICAgIHJldHVybiB0b0ltcGwoZXZlbnQpLT50aW1lc3RhbXAoKTsKKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKGV2ZW50KTsKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCit1aW50MzJf
dCBXS1RvdWNoUG9pbnRHZXRJRChXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+aWQoKTsKKyNlbHNlCisg
ICAgVU5VU0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCitXS1Rv
dWNoUG9pbnRTdGF0ZSBXS1RvdWNoUG9pbnRHZXRTdGF0ZShXS1RvdWNoUG9pbnRSZWYgcG9pbnQp
Cit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+
c3RhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4ga1dL
VG91Y2hQb2ludFN0YXRlVG91Y2hDYW5jZWxsZWQ7CisjZW5kaWYKK30KKworV0tQb2ludCBXS1Rv
dWNoUG9pbnRHZXRTY3JlZW5Qb3NpdGlvbihXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+c2NyZWVuUG9z
aXRpb24oKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4gV0tQ
b2ludE1ha2UoMCwgMCk7CisjZW5kaWYKK30KKworV0tQb2ludCBXS1RvdWNoUG9pbnRHZXRQb3Np
dGlvbihXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykK
KyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+cG9zaXRpb24oKTsKKyNlbHNlCisgICAgVU5VU0VE
X1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4gV0tQb2ludE1ha2UoMCwgMCk7CisjZW5kaWYKK30K
KworV0tTaXplIFdLVG91Y2hQb2ludEdldFJhZGl1cyhXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7
CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+cmFk
aXVzKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwb2ludCk7CisgICAgcmV0dXJuIFdLU2l6
ZU1ha2UoMCwgMCk7CisjZW5kaWYKK30KKworZmxvYXQgV0tUb3VjaFBvaW50R2V0Um90YXRpb25B
bmdsZShXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykK
KyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+cm90YXRpb25BbmdsZSgpOworI2Vsc2UKKyAgICBV
TlVTRURfUEFSQU0ocG9pbnQpOworICAgIHJldHVybiAwOworI2VuZGlmCit9CisKK2Zsb2F0IFdL
VG91Y2hQb2ludEdldEZvcmNlRmFjdG9yKFdLVG91Y2hQb2ludFJlZiBwb2ludCkKK3sKKyNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVybiB0b0ltcGwocG9pbnQpLT5mb3JjZUZhY3Rv
cigpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocG9pbnQpOworICAgIHJldHVybiAwOworI2Vu
ZGlmCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dL
RXZlbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVm
bC5oCmluZGV4IGNkYTI2MzZlNjUxNzFjOGI5M2JjNzQyNDVmZDNjYjlhNzcyYzkyYzMuLmI1NDM5
MjE5ZThhZDFiOGI1NDAzNWU5YjA5MjZjYTFhNDlkYzAyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oCkBAIC01NSw2ICs1NSwxOSBAQCB0
eXBlZGVmIGVudW0gV0tUb3VjaFBvaW50U3RhdGUgV0tUb3VjaFBvaW50U3RhdGU7CiBXS19FWFBP
UlQgV0tUb3VjaFBvaW50UmVmIFdLVG91Y2hQb2ludENyZWF0ZShpbnQgaWQsIFdLUG9pbnQgcG9z
aXRpb24sIFdLUG9pbnQgc2NyZWVuUG9zaXRpb24sIFdLVG91Y2hQb2ludFN0YXRlLCBXS1NpemUg
cmFkaXVzLCBmbG9hdCByb3RhdGlvbkFuZ2xlLCBmbG9hdCBmb3JjZUZhY3Rvcik7CiBXS19FWFBP
UlQgV0tUb3VjaEV2ZW50UmVmIFdLVG91Y2hFdmVudENyZWF0ZShXS0V2ZW50VHlwZSwgV0tBcnJh
eVJlZiwgV0tFdmVudE1vZGlmaWVycywgZG91YmxlIHRpbWVzdGFtcCk7CiAKK1dLX0VYUE9SVCBX
S0V2ZW50VHlwZSBXS1RvdWNoRXZlbnRHZXRUeXBlKFdLVG91Y2hFdmVudFJlZik7CitXS19FWFBP
UlQgV0tBcnJheVJlZiBXS1RvdWNoRXZlbnRHZXRUb3VjaFBvaW50cyhXS1RvdWNoRXZlbnRSZWYp
OworV0tfRVhQT1JUIFdLRXZlbnRNb2RpZmllcnMgV0tUb3VjaEV2ZW50R2V0TW9kaWZpZXJzKFdL
VG91Y2hFdmVudFJlZik7CitXS19FWFBPUlQgZG91YmxlIFdLVG91Y2hFdmVudEdldFRpbWVzdGFt
cChXS1RvdWNoRXZlbnRSZWYpOworCitXS19FWFBPUlQgdWludDMyX3QgV0tUb3VjaFBvaW50R2V0
SUQoV0tUb3VjaFBvaW50UmVmKTsKK1dLX0VYUE9SVCBXS1RvdWNoUG9pbnRTdGF0ZSBXS1RvdWNo
UG9pbnRHZXRTdGF0ZShXS1RvdWNoUG9pbnRSZWYpOworV0tfRVhQT1JUIFdLUG9pbnQgV0tUb3Vj
aFBvaW50R2V0U2NyZWVuUG9zaXRpb24oV0tUb3VjaFBvaW50UmVmKTsKK1dLX0VYUE9SVCBXS1Bv
aW50IFdLVG91Y2hQb2ludEdldFBvc2l0aW9uKFdLVG91Y2hQb2ludFJlZik7CitXS19FWFBPUlQg
V0tTaXplIFdLVG91Y2hQb2ludEdldFJhZGl1cyhXS1RvdWNoUG9pbnRSZWYpOworV0tfRVhQT1JU
IGZsb2F0IFdLVG91Y2hQb2ludEdldFJvdGF0aW9uQW5nbGUoV0tUb3VjaFBvaW50UmVmKTsKK1dL
X0VYUE9SVCBmbG9hdCBXS1RvdWNoUG9pbnRHZXRGb3JjZUZhY3RvcihXS1RvdWNoUG9pbnRSZWYp
OworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmgKaW5kZXggNmY5ZWQwY2UwM2FjYzYwNjA1ZjI2NGUxNjI0
MWFmOWEyNzQwMThmNS4uMmQxYzAwNDFmY2QwZTQ5ZjA5OTkyNWJjOWQ5MDBkYzhkOGQ3ZDY3ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5oCkBAIC0yMiw4
ICsyMiwxMyBAQAogI2RlZmluZSBXS1ZpZXdfaAogCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2Uu
aD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLRXZlbnRFZmwuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dL
R2VvbWV0cnkuaD4KIAorI2lmbmRlZiBfX2NwbHVzcGx1cworI2luY2x1ZGUgPHN0ZGJvb2wuaD4K
KyNlbmRpZgorCiAjaWYgVVNFKEVPKQogdHlwZWRlZiBzdHJ1Y3QgX0VvIEV2YXM7CiB0eXBlZGVm
IHN0cnVjdCBfRW8gRXZhc19PYmplY3Q7CkBAIC00Miw2ICs0Nyw3IEBAIHR5cGVkZWYgdm9pZCAo
KldLVmlld0NhbGxiYWNrKShXS1ZpZXdSZWYgdmlldywgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7
CiB0eXBlZGVmIHZvaWQgKCpXS1ZpZXdWaWV3TmVlZHNEaXNwbGF5Q2FsbGJhY2spKFdLVmlld1Jl
ZiB2aWV3LCBXS1JlY3QgYXJlYSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZv
aWQgKCpXS1ZpZXdQYWdlRGlkQ2hhbmdlQ29udGVudHNTaXplQ2FsbGJhY2spKFdLVmlld1JlZiB2
aWV3LCBXS1NpemUgc2l6ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQg
KCpXS1ZpZXdXZWJQcm9jZXNzQ3Jhc2hlZENhbGxiYWNrKShXS1ZpZXdSZWYgdmlldywgV0tVUkxS
ZWYgdXJsLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLVmlld0Rv
bmVXaXRoVG91Y2hFdmVudENhbGxiYWNrKShXS1ZpZXdSZWYgdmlldywgV0tUb3VjaEV2ZW50UmVm
IHRvdWNoRXZlbnQsIGJvb2wgd2FzRXZlbnRIYW5kbGVkLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKIAogc3RydWN0IFdLVmlld0NsaWVudCB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CkBAIC01Miw2ICs1OCw3IEBAIHN0cnVj
dCBXS1ZpZXdDbGllbnQgewogICAgIFdLVmlld1BhZ2VEaWRDaGFuZ2VDb250ZW50c1NpemVDYWxs
YmFjayAgICAgICAgICBkaWRDaGFuZ2VDb250ZW50c1NpemU7CiAgICAgV0tWaWV3V2ViUHJvY2Vz
c0NyYXNoZWRDYWxsYmFjayAgICAgICAgICAgICAgICAgIHdlYlByb2Nlc3NDcmFzaGVkOwogICAg
IFdLVmlld0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJQcm9j
ZXNzRGlkUmVsYXVuY2g7CisgICAgV0tWaWV3RG9uZVdpdGhUb3VjaEV2ZW50Q2FsbGJhY2sgICAg
ICAgICAgICAgICAgIGRvbmVXaXRoVG91Y2hFdmVudDsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1Zp
ZXdDbGllbnQgV0tWaWV3Q2xpZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXcuY3BwCmluZGV4IDFlNjQzZWUxYTExOWVlZGQ2NjA1OTlkM2MyMTEwMWI4YmI4
OWExMzIuLmE5OWFmYWRmZDQzMjdjNThhNTNlNjg4NGQxNzg1MzU2Y2Q3ODJlM2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC02OSw2ICs2OSw3
IEBACiAjaW5jbHVkZSA8RXZhc19HTC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ2Fpcm9VdGlsaXRp
ZXNFZmwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
Tm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ29udGV4dENhaXJv
Lmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0ltYWdlQ2Fpcm8uaD4KICNpbmNsdWRlIDx3dGYvTWF0
aEV4dHJhcy5oPgpAQCAtNzkyLDYgKzc5MywxMSBAQCB2b2lkIEV3a1ZpZXc6OnNldFRvdWNoRXZl
bnRzRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxi
YWNrX2RlbChtX2V2YXNPYmplY3QsIEVWQVNfQ0FMTEJBQ0tfTVVMVElfTU9WRSwgaGFuZGxlVG91
Y2hNb3ZlKTsKICAgICB9CiB9CisKK3ZvaWQgRXdrVmlldzo6ZG9uZVdpdGhUb3VjaEV2ZW50KFdL
VG91Y2hFdmVudFJlZiwgYm9vbCAvKiB3YXNFdmVudEhhbmRsZWQgKi8pCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KICNlbmRpZgogCiBib29sIEV3a1ZpZXc6OmNyZWF0ZUdMU3VyZmFjZSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKaW5kZXggYWY3OWY1
ODU0ZWNjNmZmYTRmMWM3MDhiZGI1NzU5YTczYTcwZjIzYS4uMjFlMGFmODNhZDQ3OTU4NTkzNGI1
NDJhNGVlYTY4OWQyNGMwYTE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V3a1ZpZXcuaApAQCAtMTU0LDYgKzE1NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGZlZWRUb3Vj
aEV2ZW50KEV3a19Ub3VjaF9FdmVudF9UeXBlIHR5cGUsIGNvbnN0IEVpbmFfTGlzdCogcG9pbnRz
LCBjb25zdCBFdmFzX01vZGlmaWVyKiBtb2RpZmllcnMpOwogICAgIGJvb2wgdG91Y2hFdmVudHNF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV90b3VjaEV2ZW50c0VuYWJsZWQ7IH0KICAgICB2b2lk
IHNldFRvdWNoRXZlbnRzRW5hYmxlZChib29sIGVuYWJsZWQpOworICAgIHZvaWQgZG9uZVdpdGhU
b3VjaEV2ZW50KFdLVG91Y2hFdmVudFJlZiwgYm9vbCk7CiAjZW5kaWYKIAogICAgIHZvaWQgc2V0
Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYgY3Vyc29yKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCmluZGV4IGQ5ZWJiMzJjZjU2MzcxNzcw
NmUwYmQ2ZjM3MTM2ZTI0ZDliMDBhYzkuLmMyNTI5NDU3YmQwNmY4ODg4NDhjY2FlZjBjMDYyYTNh
MjU4YjE1MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0Ns
aWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50
RWZsLmNwcApAQCAtODcsNiArODcsMTcgQEAgdm9pZCBWaWV3Q2xpZW50RWZsOjp3ZWJQcm9jZXNz
RGlkUmVsYXVuY2goV0tWaWV3UmVmIHZpZXdSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEkKICAgICAg
ICAgV0tWaWV3U2V0VGhlbWVQYXRoKHZpZXdSZWYsIGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcodGhlbWVQYXRoKSkuZ2V0KCkpOwogfQogCit2b2lkIFZpZXdDbGllbnRFZmw6
OmRvbmVXaXRoVG91Y2hFdmVudChXS1ZpZXdSZWYsIFdLVG91Y2hFdmVudFJlZiBldmVudCwgYm9v
bCB3YXNFdmVudEhhbmRsZWQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKKyAgICB0b0V3a1ZpZXcoY2xpZW50SW5mbyktPmRvbmVXaXRoVG91Y2hF
dmVudChldmVudCwgd2FzRXZlbnRIYW5kbGVkKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2
ZW50KTsKKyAgICBVTlVTRURfUEFSQU0od2FzRXZlbnRIYW5kbGVkKTsKKyAgICBVTlVTRURfUEFS
QU0oY2xpZW50SW5mbyk7CisjZW5kaWYKK30KKwogVmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVm
bChFd2tWaWV3KiB2aWV3KQogICAgIDogbV92aWV3KHZpZXcpCiB7CkBAIC05Nyw2ICsxMDgsNyBA
QCBWaWV3Q2xpZW50RWZsOjpWaWV3Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgdmlld0Ns
aWVudC52ZXJzaW9uID0ga1dLVmlld0NsaWVudEN1cnJlbnRWZXJzaW9uOwogICAgIHZpZXdDbGll
bnQuY2xpZW50SW5mbyA9IHRoaXM7CiAgICAgdmlld0NsaWVudC5kaWRDaGFuZ2VDb250ZW50c1Np
emUgPSBkaWRDaGFuZ2VDb250ZW50c1NpemU7CisgICAgdmlld0NsaWVudC5kb25lV2l0aFRvdWNo
RXZlbnQgPSBkb25lV2l0aFRvdWNoRXZlbnQ7CiAgICAgdmlld0NsaWVudC52aWV3TmVlZHNEaXNw
bGF5ID0gdmlld05lZWRzRGlzcGxheTsKICAgICB2aWV3Q2xpZW50LndlYlByb2Nlc3NDcmFzaGVk
ID0gd2ViUHJvY2Vzc0NyYXNoZWQ7CiAgICAgdmlld0NsaWVudC53ZWJQcm9jZXNzRGlkUmVsYXVu
Y2ggPSB3ZWJQcm9jZXNzRGlkUmVsYXVuY2g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvVmlld0NsaWVudEVmbC5oCmluZGV4IDZiYWFmMDliYTMyYmM1Y2ZjNmFlMTZmNTRlYWJiMzM5
M2RkMjY3MDUuLjM2NzQyYWIyNmUxYTEyM2Q5MDMxNTYyOThkNjU0YjdmYzZkZjNlY2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oCkBAIC01MSw2ICs1
MSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKFdL
Vmlld1JlZiwgV0tTaXplLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICBzdGF0aWMgdm9p
ZCB3ZWJQcm9jZXNzQ3Jhc2hlZChXS1ZpZXdSZWYsIFdLVVJMUmVmLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKICAgICBzdGF0aWMgdm9pZCB3ZWJQcm9jZXNzRGlkUmVsYXVuY2goV0tWaWV3UmVm
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKyAgICBzdGF0aWMgdm9pZCBkb25lV2l0aFRvdWNo
RXZlbnQoV0tWaWV3UmVmLCBXS1RvdWNoRXZlbnRSZWYsIGJvb2wsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pOwogCiAgICAgRXdrVmlldyogbV92aWV3OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1dlYlZpZXcuY3BwCmluZGV4IGExNzg0MTU4YzRiYzUyMDI0YWRlMDA0ZDU4NzM2ODEz
ZDNlNzcwZTUuLjY0OGRlNmY0ZGIyODc0ZGZkODA1NWI2NjIyMWUxY2ExMjNiZjQ4ZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcApAQCAtMzY1LDkgKzM2NSw5IEBA
IHZvaWQgV2ViVmlldzo6ZG9uZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2
ZW50JiwgYm9vbCkKIH0KIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi12b2lkIFdlYlZpZXc6
OmRvbmVXaXRoVG91Y2hFdmVudChjb25zdCBOYXRpdmVXZWJUb3VjaEV2ZW50JiwgYm9vbCAvKndh
c0V2ZW50SGFuZGxlZCovKQordm9pZCBXZWJWaWV3Ojpkb25lV2l0aFRvdWNoRXZlbnQoY29uc3Qg
TmF0aXZlV2ViVG91Y2hFdmVudCYgZXZlbnQsIGJvb2wgd2FzRXZlbnRIYW5kbGVkKQogewotICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9jbGllbnQuZG9uZVdpdGhUb3VjaEV2ZW50KHRoaXMs
IGV2ZW50LCB3YXNFdmVudEhhbmRsZWQpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlld0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXdDbGllbnQuY3BwCmluZGV4IGZmY2EwOTMyNWU0NjBiN2Jj
ZDJmNzc0OWJmNDQyYWM3ZjQwMDZjOWEuLmE1NmUyZmFiYTk4ZTAxYjkxNmVmMzBkYTI3MzdiMDJl
MDAyN2YyZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmll
d0NsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3Q2xp
ZW50LmNwcApAQCAtMjksNiArMjksMTAgQEAKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNs
dWRlICJXS1JldGFpblB0ci5oIgogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRl
ICJOYXRpdmVXZWJUb3VjaEV2ZW50LmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNjUsNCArNjksMTQgQEAgdm9pZCBXZWJWaWV3
Q2xpZW50Ojp3ZWJQcm9jZXNzRGlkUmVsYXVuY2goV2ViVmlldyogdmlldykKICAgICBtX2NsaWVu
dC53ZWJQcm9jZXNzRGlkUmVsYXVuY2godG9BUEkodmlldyksIG1fY2xpZW50LmNsaWVudEluZm8p
OwogfQogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKK3ZvaWQgV2ViVmlld0NsaWVudDo6ZG9u
ZVdpdGhUb3VjaEV2ZW50KFdlYlZpZXcqIHZpZXcsIGNvbnN0IE5hdGl2ZVdlYlRvdWNoRXZlbnQm
IGV2ZW50LCBib29sIHdhc0V2ZW50SGFuZGxlZCkKK3sKKyAgICBpZiAoIW1fY2xpZW50LmRvbmVX
aXRoVG91Y2hFdmVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbGllbnQuZG9uZVdpdGhU
b3VjaEV2ZW50KHRvQVBJKHZpZXcpLCB0b0FQSShjb25zdF9jYXN0PEV3a1RvdWNoRXZlbnQqPihl
dmVudC5uYXRpdmVFdmVudCgpKSksIHdhc0V2ZW50SGFuZGxlZCwgbV9jbGllbnQuY2xpZW50SW5m
byk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvV2ViVmlld0NsaWVudC5oCmluZGV4IDEwY2Y5MmRhZWNkOGU2ODUyOTFi
ZmRlYzMzMTk3NTZhNzllZWZiZTEuLmZkZDQxNzMyNmRiMjcwM2Y3Njc2ODI2ZmUxN2I2NWEyZTM4
ODgzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlld0Ns
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlld0NsaWVudC5o
CkBAIC0zOSwxMiArMzksMTkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlZpZXc7
CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorY2xhc3MgTmF0aXZlV2ViVG91Y2hFdmVudDsK
KyNlbmRpZgorCiBjbGFzcyBXZWJWaWV3Q2xpZW50OiBwdWJsaWMgQVBJQ2xpZW50PFdLVmlld0Ns
aWVudCwga1dLVmlld0NsaWVudEN1cnJlbnRWZXJzaW9uPiB7CiBwdWJsaWM6CiAgICAgdm9pZCB2
aWV3TmVlZHNEaXNwbGF5KFdlYlZpZXcqLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAgICAg
dm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoV2ViVmlldyosIGNvbnN0IFdlYkNvcmU6OkludFNp
emUmKTsKICAgICB2b2lkIHdlYlByb2Nlc3NDcmFzaGVkKFdlYlZpZXcqLCBjb25zdCBTdHJpbmcm
IHVybCk7CiAgICAgdm9pZCB3ZWJQcm9jZXNzRGlkUmVsYXVuY2goV2ViVmlldyopOworI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCisgICAgdm9pZCBkb25lV2l0aFRvdWNoRXZlbnQoV2ViVmlldyos
IGNvbnN0IE5hdGl2ZVdlYlRvdWNoRXZlbnQmLCBib29sKTsKKyNlbmRpZgogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206049</attachid>
            <date>2013-07-03 21:56:48 -0700</date>
            <delta_ts>2013-07-08 23:01:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110085-20130704135441.patch</filename>
            <type>text/plain</type>
            <size>16448</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTZmNGNiYzRiODI1NzQy
MTNiY2NhNDUxM2M3ZDQzNDExOWY0MTBlMC4uYWNhNGVlOWVkOGVmZmIzNDhiYjllYWMxY2FhMWQ4
OTFlY2ExZjkyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTA3LTAzICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBkb25lV2l0aFRvdWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkb25lV2l0aFRv
dWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudCBpbiBvcmRlciB0byBnZXQgdGhl
CisgICAgICAgIHJlc3VsdCBvZiB0b3VjaCBldmVudHMgaW4gdGhlIEV3a1ZpZXcuIFRoZSByZXN1
bHQgd2lsbCBiZSB1c2VkIHRvCisgICAgICAgIHJlY29nbml6ZSBnZXN0dXJlcyBpbiB0aGUgQnVn
IDEwMjY0My4KKworICAgICAgICBBUElzIHRvIGdldCB2YWx1ZXMgZnJvbSBXS1RvdWNoRXZlbnRS
ZWYgYW5kIFdLVG91Y2hQb2ludFJlZiBhcmUgYWRkZWQKKyAgICAgICAgYmVjYXVzZSBXS1R5cGVS
ZWYgaXMgb3BhcXVlIHRvIHRoZSBhcHBsaWNhdGlvbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdLVG91
Y2hFdmVudEdldFR5cGUpOgorICAgICAgICAoV0tUb3VjaEV2ZW50R2V0VG91Y2hQb2ludHMpOgor
ICAgICAgICAoV0tUb3VjaEV2ZW50R2V0TW9kaWZpZXJzKToKKyAgICAgICAgKFdLVG91Y2hFdmVu
dEdldFRpbWVzdGFtcCk6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRJRCk6CisgICAgICAgIChX
S1RvdWNoUG9pbnRHZXRTdGF0ZSk6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRTY3JlZW5Qb3Np
dGlvbik6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRQb3NpdGlvbik6CisgICAgICAgIChXS1Rv
dWNoUG9pbnRHZXRSYWRpdXMpOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0Um90YXRpb25Bbmds
ZSk6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRGb3JjZUZhY3Rvcik6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3Ojpkb25lV2l0aFRvdWNoRXZlbnQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlldzo6ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0Ns
aWVudDo6ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWV3
Q2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6ZG9uZVdpdGhU
b3VjaEV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVm
bCk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmg6CisKIDIwMTMtMDYt
MjggIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBXaW5k
b3dzIGJ1aWxkcyBhZnRlciBkZXByZWNhdGVkQ2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24o
KSByZW1vdmFsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaAppbmRleCBjZDMwZTQ4YWNhMjllMTkwOTIx
YzYyNDM3MjNlYTEwMmIwNzg3OTcwLi4wMmRhYjY4ZGY0M2U3MjE0NDU1MTRkYjY2NzkzYTg4MDlh
NGQzZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XS1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaApAQCAtMjQsNiArMjQsMTAgQEAKICNpbmNs
dWRlIDxXZWJLaXQyL1dLQmFzZS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tHZW9tZXRyeS5oPgog
CisjaWZuZGVmIF9fY3BsdXNwbHVzCisjaW5jbHVkZSA8c3RkYm9vbC5oPgorI2VuZGlmCisKICNp
ZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CiAjZW5kaWYKQEAgLTM2LDYgKzQwLDcgQEAg
dHlwZWRlZiB2b2lkICgqV0tWaWV3UGFnZURpZENoYW5nZUNvbnRlbnRzUG9zaXRpb25DYWxsYmFj
aykoV0tWaWV3UmVmIHZpZXcsIFdLUG8KIHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRSZW5k
ZXJGcmFtZUNhbGxiYWNrKShXS1ZpZXdSZWYgdmlldywgV0tTaXplIGNvbnRlbnRzU2l6ZSwgV0tS
ZWN0IGNvdmVyZWRSZWN0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAo
KldLVmlld1BhZ2VEaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXNDYWxsYmFjaykoV0tWaWV3UmVm
IHZpZXcsIFdLVmlld3BvcnRBdHRyaWJ1dGVzUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
IHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRDaGFuZ2VUb29sdGlwQ2FsbGJhY2spKFdLVmll
d1JlZiB2aWV3LCBXS1N0cmluZ1JlZiBuZXdUb29sdGlwLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKK3R5cGVkZWYgdm9pZCAoKldLVmlld0RvbmVXaXRoVG91Y2hFdmVudENhbGxiYWNrKShXS1Zp
ZXdSZWYgdmlldywgV0tUb3VjaEV2ZW50UmVmIHRvdWNoRXZlbnQsIGJvb2wgd2FzRXZlbnRIYW5k
bGVkLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogc3RydWN0IFdLVmlld0NsaWVudCB7CiAg
ICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNp
b247CkBAIC01MSw2ICs1Niw3IEBAIHN0cnVjdCBXS1ZpZXdDbGllbnQgewogICAgIFdLVmlld0Nh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDb21wbGV0ZVBhZ2VU
cmFuc2l0aW9uOwogICAgIFdLVmlld1BhZ2VEaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXNDYWxs
YmFjayAgICBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXM7CiAgICAgV0tWaWV3UGFnZURpZENo
YW5nZVRvb2x0aXBDYWxsYmFjayAgICAgICAgICAgICAgIGRpZENoYW5nZVRvb2x0aXA7CisgICAg
V0tWaWV3RG9uZVdpdGhUb3VjaEV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgIGRvbmVXaXRo
VG91Y2hFdmVudDsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1ZpZXdDbGllbnQgV0tWaWV3Q2xpZW50
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJ
Q2FzdEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0FQSUNhc3RF
ZmwuaAppbmRleCAzNTFhMTlmZmU1MjdjMTI1OGQ1ZDNhZGQwOTk1MDY2ZDBjODYxOWRlLi5iZjlk
MWQ3YTRjM2FkMzhlNzcyMzFiMmI5MWYzNGMxYmQ0OTA1ZDEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tBUElDYXN0RWZsLmgKQEAgLTI3LDYgKzI3LDEx
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0RGlyZWN0aW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0
Mi9XS1BvcHVwSXRlbS5oPgogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRlICJX
ZWJFdmVudC5oIgorI2luY2x1ZGUgPFdlYktpdDIvV0tFdmVudEVmbC5oPgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJWaWV3OwpAQCAtNjIsNiArNjcsNDMgQEAgaW5s
aW5lIFdLUG9wdXBJdGVtVGV4dERpcmVjdGlvbiB0b0FQSShXZWJDb3JlOjpUZXh0RGlyZWN0aW9u
IGRpcmVjdGlvbikKICAgICByZXR1cm4gd2tEaXJlY3Rpb247CiB9CiAKK2lubGluZSBXS0V2ZW50
VHlwZSB0b0FQSShXZWJFdmVudDo6VHlwZSB0eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgewor
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hTdGFydDoK
KyAgICAgICAgcmV0dXJuIGtXS0V2ZW50VHlwZVRvdWNoU3RhcnQ7CisgICAgY2FzZSBXZWJFdmVu
dDo6VG91Y2hNb3ZlOgorICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91Y2hNb3ZlOworICAg
IGNhc2UgV2ViRXZlbnQ6OlRvdWNoRW5kOgorICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91
Y2hFbmQ7CisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hDYW5jZWw6CisgICAgICAgIHJldHVybiBr
V0tFdmVudFR5cGVUb3VjaENhbmNlbDsKKyNlbmRpZgorICAgIGRlZmF1bHQ6CisgICAgICAgIHJl
dHVybiBrV0tFdmVudFR5cGVOb1R5cGU7CisgICAgfQorfQorCisjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKK2lubGluZSBXS1RvdWNoUG9pbnRTdGF0ZSB0b0FQSShXZWJQbGF0Zm9ybVRvdWNoUG9p
bnQ6OlRvdWNoUG9pbnRTdGF0ZSBzdGF0ZSkKK3sKKyAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAg
Y2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUmVsZWFzZWQ6CisgICAgICAgIHJldHVy
biBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaFJlbGVhc2VkOworICAgIGNhc2UgV2ViUGxhdGZvcm1U
b3VjaFBvaW50OjpUb3VjaFByZXNzZWQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3Rh
dGVUb3VjaFByZXNzZWQ7CisgICAgY2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92
ZWQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaE1vdmVkOworICAgIGNh
c2UgV2ViUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFN0YXRpb25hcnk6CisgICAgICAgIHJldHVy
biBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaFN0YXRpb25hcnk7CisgICAgY2FzZSBXZWJQbGF0Zm9y
bVRvdWNoUG9pbnQ6OlRvdWNoQ2FuY2VsbGVkOgorICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVy
biBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaENhbmNlbGxlZDsKKyAgICB9Cit9CisjZW5kaWYKKwog
fQogCiAjZW5kaWYgLy8gV0tBUElDYXN0RWZsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwuY3BwCmluZGV4IDZkNTA3MWY5MGJkNWI3YzYwOGM2
NGFmNmQyZGYwMDQzZDg3MDUyMjMuLjg0M2FlYjBkZDMzMjZkNGVhZGQ3Y2Y5NWIyZjllNTU4OTc4
MmExMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tF
dmVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0V2
ZW50RWZsLmNwcApAQCAtNjIsMyArNjIsMTEzIEBAIFdLVG91Y2hFdmVudFJlZiBXS1RvdWNoRXZl
bnRDcmVhdGUoV0tFdmVudFR5cGUgdHlwZSwgV0tBcnJheVJlZiB3a1RvdWNoUG9pbnRzLCBXCiAg
ICAgcmV0dXJuIDA7CiAjZW5kaWYKIH0KKworV0tFdmVudFR5cGUgV0tUb3VjaEV2ZW50R2V0VHlw
ZShXS1RvdWNoRXZlbnRSZWYgZXZlbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAg
ICByZXR1cm4gdG9JbXBsKGV2ZW50KS0+ZXZlbnRUeXBlKCk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShldmVudCk7CisgICAgcmV0dXJuIGtXS0V2ZW50VHlwZU5vVHlwZTsKKyNlbmRpZgorfQor
CitXS0FycmF5UmVmIFdLVG91Y2hFdmVudEdldFRvdWNoUG9pbnRzKFdLVG91Y2hFdmVudFJlZiBl
dmVudCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVybiB0b0ltcGwoZXZl
bnQpLT50b3VjaFBvaW50cygpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZXZlbnQpOworICAg
IHJldHVybiAwOworI2VuZGlmCit9CisKK1dLRXZlbnRNb2RpZmllcnMgV0tUb3VjaEV2ZW50R2V0
TW9kaWZpZXJzKFdLVG91Y2hFdmVudFJlZiBldmVudCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQorICAgIHJldHVybiB0b0ltcGwoZXZlbnQpLT5tb2RpZmllcnMoKTsKKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKGV2ZW50KTsKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCitkb3VibGUg
V0tUb3VjaEV2ZW50R2V0VGltZXN0YW1wKFdLVG91Y2hFdmVudFJlZiBldmVudCkKK3sKKyNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVybiB0b0ltcGwoZXZlbnQpLT50aW1lc3RhbXAo
KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2ZW50KTsKKyAgICByZXR1cm4gMDsKKyNlbmRp
ZgorfQorCit1aW50MzJfdCBXS1RvdWNoUG9pbnRHZXRJRChXS1RvdWNoUG9pbnRSZWYgcG9pbnQp
Cit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+
aWQoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4gMDsKKyNl
bmRpZgorfQorCitXS1RvdWNoUG9pbnRTdGF0ZSBXS1RvdWNoUG9pbnRHZXRTdGF0ZShXS1RvdWNo
UG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4g
dG9JbXBsKHBvaW50KS0+c3RhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsK
KyAgICByZXR1cm4ga1dLVG91Y2hQb2ludFN0YXRlVG91Y2hDYW5jZWxsZWQ7CisjZW5kaWYKK30K
KworV0tQb2ludCBXS1RvdWNoUG9pbnRHZXRTY3JlZW5Qb3NpdGlvbihXS1RvdWNoUG9pbnRSZWYg
cG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBv
aW50KS0+c2NyZWVuUG9zaXRpb24oKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsK
KyAgICByZXR1cm4gV0tQb2ludE1ha2UoMCwgMCk7CisjZW5kaWYKK30KKworV0tQb2ludCBXS1Rv
dWNoUG9pbnRHZXRQb3NpdGlvbihXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+cG9zaXRpb24oKTsKKyNl
bHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4gV0tQb2ludE1ha2UoMCwg
MCk7CisjZW5kaWYKK30KKworV0tTaXplIFdLVG91Y2hQb2ludEdldFJhZGl1cyhXS1RvdWNoUG9p
bnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9J
bXBsKHBvaW50KS0+cmFkaXVzKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwb2ludCk7Cisg
ICAgcmV0dXJuIFdLU2l6ZU1ha2UoMCwgMCk7CisjZW5kaWYKK30KKworZmxvYXQgV0tUb3VjaFBv
aW50R2V0Um90YXRpb25BbmdsZShXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+cm90YXRpb25BbmdsZSgp
OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocG9pbnQpOworICAgIHJldHVybiAwOworI2VuZGlm
Cit9CisKK2Zsb2F0IFdLVG91Y2hQb2ludEdldEZvcmNlRmFjdG9yKFdLVG91Y2hQb2ludFJlZiBw
b2ludCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVybiB0b0ltcGwocG9p
bnQpLT5mb3JjZUZhY3RvcigpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocG9pbnQpOworICAg
IHJldHVybiAwOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9lZmwvV0tFdmVudEVmbC5oCmluZGV4IGNkYTI2MzZlNjUxNzFjOGI5M2JjNzQyNDVmZDNjYjlh
NzcyYzkyYzMuLmI1NDM5MjE5ZThhZDFiOGI1NDAzNWU5YjA5MjZjYTFhNDlkYzAyNzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oCkBAIC01
NSw2ICs1NSwxOSBAQCB0eXBlZGVmIGVudW0gV0tUb3VjaFBvaW50U3RhdGUgV0tUb3VjaFBvaW50
U3RhdGU7CiBXS19FWFBPUlQgV0tUb3VjaFBvaW50UmVmIFdLVG91Y2hQb2ludENyZWF0ZShpbnQg
aWQsIFdLUG9pbnQgcG9zaXRpb24sIFdLUG9pbnQgc2NyZWVuUG9zaXRpb24sIFdLVG91Y2hQb2lu
dFN0YXRlLCBXS1NpemUgcmFkaXVzLCBmbG9hdCByb3RhdGlvbkFuZ2xlLCBmbG9hdCBmb3JjZUZh
Y3Rvcik7CiBXS19FWFBPUlQgV0tUb3VjaEV2ZW50UmVmIFdLVG91Y2hFdmVudENyZWF0ZShXS0V2
ZW50VHlwZSwgV0tBcnJheVJlZiwgV0tFdmVudE1vZGlmaWVycywgZG91YmxlIHRpbWVzdGFtcCk7
CiAKK1dLX0VYUE9SVCBXS0V2ZW50VHlwZSBXS1RvdWNoRXZlbnRHZXRUeXBlKFdLVG91Y2hFdmVu
dFJlZik7CitXS19FWFBPUlQgV0tBcnJheVJlZiBXS1RvdWNoRXZlbnRHZXRUb3VjaFBvaW50cyhX
S1RvdWNoRXZlbnRSZWYpOworV0tfRVhQT1JUIFdLRXZlbnRNb2RpZmllcnMgV0tUb3VjaEV2ZW50
R2V0TW9kaWZpZXJzKFdLVG91Y2hFdmVudFJlZik7CitXS19FWFBPUlQgZG91YmxlIFdLVG91Y2hF
dmVudEdldFRpbWVzdGFtcChXS1RvdWNoRXZlbnRSZWYpOworCitXS19FWFBPUlQgdWludDMyX3Qg
V0tUb3VjaFBvaW50R2V0SUQoV0tUb3VjaFBvaW50UmVmKTsKK1dLX0VYUE9SVCBXS1RvdWNoUG9p
bnRTdGF0ZSBXS1RvdWNoUG9pbnRHZXRTdGF0ZShXS1RvdWNoUG9pbnRSZWYpOworV0tfRVhQT1JU
IFdLUG9pbnQgV0tUb3VjaFBvaW50R2V0U2NyZWVuUG9zaXRpb24oV0tUb3VjaFBvaW50UmVmKTsK
K1dLX0VYUE9SVCBXS1BvaW50IFdLVG91Y2hQb2ludEdldFBvc2l0aW9uKFdLVG91Y2hQb2ludFJl
Zik7CitXS19FWFBPUlQgV0tTaXplIFdLVG91Y2hQb2ludEdldFJhZGl1cyhXS1RvdWNoUG9pbnRS
ZWYpOworV0tfRVhQT1JUIGZsb2F0IFdLVG91Y2hQb2ludEdldFJvdGF0aW9uQW5nbGUoV0tUb3Vj
aFBvaW50UmVmKTsKK1dLX0VYUE9SVCBmbG9hdCBXS1RvdWNoUG9pbnRHZXRGb3JjZUZhY3RvcihX
S1RvdWNoUG9pbnRSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCBiMzM2MTEwMTE2
Mzc4OGNjZmMyMzkzMzI0NWI4N2ZkYTY2Yzg3ZmUxLi5kNjZlMjU5Nzc3ZmU3OGUwM2RiMWI1MDZk
ZjA5MmExYzc5YmY1MDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3LmNwcApAQCAtNzMsNiArNzMsNyBAQAogI2VuZGlmCiAjaW5jbHVkZSA8V2ViQ29yZS9D
YWlyb1V0aWxpdGllc0VmbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3Vyc29yLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1D
b250ZXh0Q2Fpcm8uaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLSW1hZ2VDYWlyby5oPgogI2luY2x1
ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CkBAIC03OTAsNiArNzkxLDExIEBAIHZvaWQgRXdrVmlldzo6
c2V0VG91Y2hFdmVudHNFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICAgICAgZXZhc19vYmplY3Rf
ZXZlbnRfY2FsbGJhY2tfZGVsKG1fZXZhc09iamVjdCwgRVZBU19DQUxMQkFDS19NVUxUSV9NT1ZF
LCBoYW5kbGVUb3VjaE1vdmUpOwogICAgIH0KIH0KKwordm9pZCBFd2tWaWV3Ojpkb25lV2l0aFRv
dWNoRXZlbnQoV0tUb3VjaEV2ZW50UmVmLCBib29sIC8qIHdhc0V2ZW50SGFuZGxlZCAqLykKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQogI2VuZGlmCiAKICNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgK
aW5kZXggMDQzMTdhNmE2NjVhNTM5OWNkMzNmYWM0ZmZlZDZiNzYyMGVmMmY1NS4uNzdkOTk5Zjdk
NjdlODY2YTRjNWUwOTE3ZDE5YmYzMjE5NzhkODI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtMTQ2LDYgKzE0Niw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGZlZWRUb3VjaEV2ZW50KEV3a19Ub3VjaF9FdmVudF9UeXBlIHR5cGUsIGNvbnN0IEVpbmFf
TGlzdCogcG9pbnRzLCBjb25zdCBFdmFzX01vZGlmaWVyKiBtb2RpZmllcnMpOwogICAgIGJvb2wg
dG91Y2hFdmVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV90b3VjaEV2ZW50c0VuYWJsZWQ7
IH0KICAgICB2b2lkIHNldFRvdWNoRXZlbnRzRW5hYmxlZChib29sIGVuYWJsZWQpOworICAgIHZv
aWQgZG9uZVdpdGhUb3VjaEV2ZW50KFdLVG91Y2hFdmVudFJlZiwgYm9vbCk7CiAjZW5kaWYKIAog
ICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYgY3Vyc29yKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZp
ZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
Vmlldy5jcHAKaW5kZXggZTFiNDRlMGU2NGYzNzUyZjZhMDliZjBmMTIyZTM5Nzc1MTQ2NzRkZi4u
NmQxOGI1ZTBlMDYzNGRlZTBjZTQ1NmEwNTFlOGRmYjQxZDhkYTM1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5j
cHAKQEAgLTM4OCw5ICszODgsOSBAQCB2b2lkIFdlYlZpZXc6OmRvbmVXaXRoS2V5RXZlbnQoY29u
c3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wpCiB9CiAKICNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQotdm9pZCBXZWJWaWV3Ojpkb25lV2l0aFRvdWNoRXZlbnQoY29uc3QgTmF0aXZlV2Vi
VG91Y2hFdmVudCYsIGJvb2wgLyp3YXNFdmVudEhhbmRsZWQqLykKK3ZvaWQgV2ViVmlldzo6ZG9u
ZVdpdGhUb3VjaEV2ZW50KGNvbnN0IE5hdGl2ZVdlYlRvdWNoRXZlbnQmIGV2ZW50LCBib29sIHdh
c0V2ZW50SGFuZGxlZCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fY2xpZW50LmRv
bmVXaXRoVG91Y2hFdmVudCh0aGlzLCBldmVudCwgd2FzRXZlbnRIYW5kbGVkKTsKIH0KICNlbmRp
ZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJWaWV3Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuY3BwCmluZGV4IGNjYzQzNWZhZTBiZjI5MTRiYTI1
YzNhMzdkNDZiMjFhZGYwY2ZmM2IuLjM2YWQ1ZWFjNTkxOTEyOTM5MzUyY2RmZTcxYjExZTVjMjg3
NTdjZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL1dlYlZpZXdDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuY3BwCkBAIC0yOSwxMSArMjksMTYgQEAK
IAogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKIAorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVk
LmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCiAjaW5jbHVkZSAiV0tCYXNlLmgiCiAjaW5jbHVk
ZSAiV0tSZXRhaW5QdHIuaCIKICNpbmNsdWRlICJXZWJWaWV3cG9ydEF0dHJpYnV0ZXMuaCIKIAor
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisjaW5jbHVkZSAiTmF0aXZlV2ViVG91Y2hFdmVudC5o
IgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKQEAgLTExMSw2ICsxMTYsMjMgQEAgdm9pZCBXZWJWaWV3Q2xpZW50OjpkaWRDaGFuZ2VUb29s
dGlwKFdlYlZpZXcqIHZpZXcsIGNvbnN0IFN0cmluZyYgdG9vbHRpcCkKICAgICBtX2NsaWVudC5k
aWRDaGFuZ2VUb29sdGlwKHRvQVBJKHZpZXcpLCBhZG9wdFdLKHRvQ29waWVkQVBJKHRvb2x0aXAp
KS5nZXQoKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CiB9CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQordm9pZCBXZWJWaWV3Q2xpZW50Ojpkb25lV2l0aFRvdWNoRXZlbnQoV2ViVmlldyogdmll
dywgY29uc3QgTmF0aXZlV2ViVG91Y2hFdmVudCYgZXZlbnQsIGJvb2wgd2FzRXZlbnRIYW5kbGVk
KQoreworICAgIGlmICghbV9jbGllbnQuZG9uZVdpdGhUb3VjaEV2ZW50KQorICAgICAgICByZXR1
cm47CisKKyNpZiBQTEFURk9STShFRkwpCisgICAgbV9jbGllbnQuZG9uZVdpdGhUb3VjaEV2ZW50
KHRvQVBJKHZpZXcpLCB0b0FQSShjb25zdF9jYXN0PEV3a1RvdWNoRXZlbnQqPihldmVudC5uYXRp
dmVFdmVudCgpKSksIHdhc0V2ZW50SGFuZGxlZCwgbV9jbGllbnQuY2xpZW50SW5mbyk7CisjZWxz
ZQorICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgVU5VU0VEX1BBUkFNKHZpZXcpOworICAgIFVO
VVNFRF9QQVJBTShldmVudCk7CisgICAgVU5VU0VEX1BBUkFNKHdhc0V2ZW50SGFuZGxlZCk7Cisj
ZW5kaWYKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFVT
RShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuaAppbmRleCA0NGJm
NGRkZDczMGY4MTk5MTdhOTViNjAyNTAxZWU3NmVkNGEzZmM0Li5iYjc0ZDJmMzdiMzdiOGI1YTVl
MjI2ODllNDE5YmU1MjczZDhlMmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0NsaWVudC5oCkBAIC00Myw2
ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViVmlldzsKIAorI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCitjbGFzcyBOYXRpdmVXZWJUb3VjaEV2ZW50OworI2VuZGlmCisK
IGNsYXNzIFdlYlZpZXdDbGllbnQ6IHB1YmxpYyBBUElDbGllbnQ8V0tWaWV3Q2xpZW50LCBrV0tW
aWV3Q2xpZW50Q3VycmVudFZlcnNpb24+IHsKIHB1YmxpYzoKICAgICB2b2lkIHZpZXdOZWVkc0Rp
c3BsYXkoV2ViVmlldyosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKQEAgLTU0LDYgKzU4LDkg
QEAgcHVibGljOgogICAgIHZvaWQgZGlkQ29tcGxldGVQYWdlVHJhbnNpdGlvbihXZWJWaWV3Kik7
CiAgICAgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXMoV2ViVmlldyosIGNvbnN0IFdl
YkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYpOwogICAgIHZvaWQgZGlkQ2hhbmdlVG9vbHRpcChX
ZWJWaWV3KiwgY29uc3QgU3RyaW5nJiB0b29sdGlwKTsKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRT
KQorICAgIHZvaWQgZG9uZVdpdGhUb3VjaEV2ZW50KFdlYlZpZXcqLCBjb25zdCBOYXRpdmVXZWJU
b3VjaEV2ZW50JiwgYm9vbCk7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAKaW5kZXgg
N2IwNmNlNTlkMGFjMDUyM2M1YTRlMGE1MTJkMmE0Yjc2ZjNiZThmZS4uYjU3NmE0MjUyMDgwZTZl
NDJmYzEwMjIxNmQ4ZmFmMGU4NTIzYWFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCkBAIC0xNTQsNiArMTU0LDE3IEBAIHZvaWQgVmlld0Ns
aWVudEVmbDo6ZGlkQ2hhbmdlVG9vbHRpcChXS1ZpZXdSZWYsIFdLU3RyaW5nUmVmIHRvb2x0aXAs
IGNvbnN0IHZvaWQqCiAgICAgICAgIHRvRXdrVmlldyhjbGllbnRJbmZvKS0+c21hcnRDYWxsYmFj
azxUb29sdGlwVGV4dFNldD4oKS5jYWxsKFdLRWluYVNoYXJlZFN0cmluZyh0b29sdGlwKSk7CiB9
CiAKK3ZvaWQgVmlld0NsaWVudEVmbDo6ZG9uZVdpdGhUb3VjaEV2ZW50KFdLVmlld1JlZiwgV0tU
b3VjaEV2ZW50UmVmIGV2ZW50LCBib29sIHdhc0V2ZW50SGFuZGxlZCwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbykKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHRvRXdrVmlldyhjbGll
bnRJbmZvKS0+ZG9uZVdpdGhUb3VjaEV2ZW50KGV2ZW50LCB3YXNFdmVudEhhbmRsZWQpOworI2Vs
c2UKKyAgICBVTlVTRURfUEFSQU0oZXZlbnQpOworICAgIFVOVVNFRF9QQVJBTSh3YXNFdmVudEhh
bmRsZWQpOworICAgIFVOVVNFRF9QQVJBTShjbGllbnRJbmZvKTsKKyNlbmRpZgorfQorCiBWaWV3
Q2xpZW50RWZsOjpWaWV3Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgOiBtX3ZpZXcodmll
dykKIHsKQEAgLTE2NCw2ICsxNzUsNyBAQCBWaWV3Q2xpZW50RWZsOjpWaWV3Q2xpZW50RWZsKEV3
a1ZpZXcqIHZpZXcpCiAgICAgdmlld0NsaWVudC52ZXJzaW9uID0ga1dLVmlld0NsaWVudEN1cnJl
bnRWZXJzaW9uOwogICAgIHZpZXdDbGllbnQuY2xpZW50SW5mbyA9IHRoaXM7CiAgICAgdmlld0Ns
aWVudC5kaWRDaGFuZ2VDb250ZW50c1NpemUgPSBkaWRDaGFuZ2VDb250ZW50c1NpemU7CisgICAg
dmlld0NsaWVudC5kb25lV2l0aFRvdWNoRXZlbnQgPSBkb25lV2l0aFRvdWNoRXZlbnQ7CiAgICAg
dmlld0NsaWVudC52aWV3TmVlZHNEaXNwbGF5ID0gdmlld05lZWRzRGlzcGxheTsKICAgICB2aWV3
Q2xpZW50LndlYlByb2Nlc3NDcmFzaGVkID0gd2ViUHJvY2Vzc0NyYXNoZWQ7CiAgICAgdmlld0Ns
aWVudC53ZWJQcm9jZXNzRGlkUmVsYXVuY2ggPSB3ZWJQcm9jZXNzRGlkUmVsYXVuY2g7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oCmluZGV4IDNmMThiZWE1
MzI3ZTdhYjY4MDYyYWIzYWUyODg0ZTc0NzE2NDk4Y2YuLjRmY2JmOGNmNTYxOGMyOWI4MjBhZGQ2
ODA1ZThmZTIyOWRmYjQ3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvVmlld0NsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmll
d0NsaWVudEVmbC5oCkBAIC01Niw2ICs1Niw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQg
ZGlkQ29tcGxldGVQYWdlVHJhbnNpdGlvbihXS1ZpZXdSZWYsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pOwogICAgIHN0YXRpYyB2b2lkIGRpZENoYW5nZVZpZXdwb3J0QXR0cmlidXRlcyhXS1ZpZXdS
ZWYsIFdLVmlld3BvcnRBdHRyaWJ1dGVzUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAg
ICBzdGF0aWMgdm9pZCBkaWRDaGFuZ2VUb29sdGlwKFdLVmlld1JlZiwgV0tTdHJpbmdSZWYsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOworICAgIHN0YXRpYyB2b2lkIGRvbmVXaXRoVG91Y2hFdmVu
dChXS1ZpZXdSZWYsIFdLVG91Y2hFdmVudFJlZiwgYm9vbCwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7CiAKICAgICBFd2tWaWV3KiBtX3ZpZXc7CiB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206292</attachid>
            <date>2013-07-08 23:01:13 -0700</date>
            <delta_ts>2013-07-12 07:27:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110085-20130709145859.patch</filename>
            <type>text/plain</type>
            <size>16509</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTZmNGNiYzRiODI1NzQy
MTNiY2NhNDUxM2M3ZDQzNDExOWY0MTBlMC4uZmQ5ZTVjMmQwNzc0NDk2YzBiMjk3ODMwYjQ4YmFh
YTU5OWU0OWJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTA3LTA4ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBkb25lV2l0aFRvdWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkb25lV2l0aFRv
dWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudCBpbiBvcmRlciB0byBnZXQgdGhl
CisgICAgICAgIHJlc3VsdCBvZiB0b3VjaCBldmVudHMgaW4gdGhlIEV3a1ZpZXcuIFRoZSByZXN1
bHQgd2lsbCBiZSB1c2VkIHRvCisgICAgICAgIHJlY29nbml6ZSBnZXN0dXJlcyBpbiB0aGUgQnVn
IDEwMjY0My4KKworICAgICAgICBBUElzIHRvIGdldCB2YWx1ZXMgZnJvbSBXS1RvdWNoRXZlbnRS
ZWYgYW5kIFdLVG91Y2hQb2ludFJlZiBhcmUgYWRkZWQKKyAgICAgICAgYmVjYXVzZSBXS1R5cGVS
ZWYgaXMgb3BhcXVlIHRvIHRoZSBhcHBsaWNhdGlvbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdLVG91
Y2hFdmVudEdldFR5cGUpOgorICAgICAgICAoV0tUb3VjaEV2ZW50R2V0VG91Y2hQb2ludHMpOgor
ICAgICAgICAoV0tUb3VjaEV2ZW50R2V0TW9kaWZpZXJzKToKKyAgICAgICAgKFdLVG91Y2hFdmVu
dEdldFRpbWVzdGFtcCk6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRJRCk6CisgICAgICAgIChX
S1RvdWNoUG9pbnRHZXRTdGF0ZSk6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRTY3JlZW5Qb3Np
dGlvbik6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRQb3NpdGlvbik6CisgICAgICAgIChXS1Rv
dWNoUG9pbnRHZXRSYWRpdXMpOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0Um90YXRpb25Bbmds
ZSk6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRGb3JjZUZhY3Rvcik6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3Ojpkb25lV2l0aFRvdWNoRXZlbnQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlldzo6ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0Ns
aWVudDo6ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWV3
Q2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6ZG9uZVdpdGhU
b3VjaEV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVm
bCk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmg6CisKIDIwMTMtMDYt
MjggIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBXaW5k
b3dzIGJ1aWxkcyBhZnRlciBkZXByZWNhdGVkQ2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24o
KSByZW1vdmFsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaAppbmRleCBjZDMwZTQ4YWNhMjllMTkwOTIx
YzYyNDM3MjNlYTEwMmIwNzg3OTcwLi4wMmRhYjY4ZGY0M2U3MjE0NDU1MTRkYjY2NzkzYTg4MDlh
NGQzZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XS1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaApAQCAtMjQsNiArMjQsMTAgQEAKICNpbmNs
dWRlIDxXZWJLaXQyL1dLQmFzZS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tHZW9tZXRyeS5oPgog
CisjaWZuZGVmIF9fY3BsdXNwbHVzCisjaW5jbHVkZSA8c3RkYm9vbC5oPgorI2VuZGlmCisKICNp
ZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CiAjZW5kaWYKQEAgLTM2LDYgKzQwLDcgQEAg
dHlwZWRlZiB2b2lkICgqV0tWaWV3UGFnZURpZENoYW5nZUNvbnRlbnRzUG9zaXRpb25DYWxsYmFj
aykoV0tWaWV3UmVmIHZpZXcsIFdLUG8KIHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRSZW5k
ZXJGcmFtZUNhbGxiYWNrKShXS1ZpZXdSZWYgdmlldywgV0tTaXplIGNvbnRlbnRzU2l6ZSwgV0tS
ZWN0IGNvdmVyZWRSZWN0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAo
KldLVmlld1BhZ2VEaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXNDYWxsYmFjaykoV0tWaWV3UmVm
IHZpZXcsIFdLVmlld3BvcnRBdHRyaWJ1dGVzUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
IHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRDaGFuZ2VUb29sdGlwQ2FsbGJhY2spKFdLVmll
d1JlZiB2aWV3LCBXS1N0cmluZ1JlZiBuZXdUb29sdGlwLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKK3R5cGVkZWYgdm9pZCAoKldLVmlld0RvbmVXaXRoVG91Y2hFdmVudENhbGxiYWNrKShXS1Zp
ZXdSZWYgdmlldywgV0tUb3VjaEV2ZW50UmVmIHRvdWNoRXZlbnQsIGJvb2wgd2FzRXZlbnRIYW5k
bGVkLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogc3RydWN0IFdLVmlld0NsaWVudCB7CiAg
ICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNp
b247CkBAIC01MSw2ICs1Niw3IEBAIHN0cnVjdCBXS1ZpZXdDbGllbnQgewogICAgIFdLVmlld0Nh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDb21wbGV0ZVBhZ2VU
cmFuc2l0aW9uOwogICAgIFdLVmlld1BhZ2VEaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXNDYWxs
YmFjayAgICBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXM7CiAgICAgV0tWaWV3UGFnZURpZENo
YW5nZVRvb2x0aXBDYWxsYmFjayAgICAgICAgICAgICAgIGRpZENoYW5nZVRvb2x0aXA7CisgICAg
V0tWaWV3RG9uZVdpdGhUb3VjaEV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgIGRvbmVXaXRo
VG91Y2hFdmVudDsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1ZpZXdDbGllbnQgV0tWaWV3Q2xpZW50
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJ
Q2FzdEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0FQSUNhc3RF
ZmwuaAppbmRleCAzNTFhMTlmZmU1MjdjMTI1OGQ1ZDNhZGQwOTk1MDY2ZDBjODYxOWRlLi5iNjBm
NmE0ZDdhZjkxN2VmNTUzMWRiYWUzZWQyNWM2Nzg0Y2ZiYjQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tBUElDYXN0RWZsLmgKQEAgLTI3LDYgKzI3LDEx
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0RGlyZWN0aW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0
Mi9XS1BvcHVwSXRlbS5oPgogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRlICJX
ZWJFdmVudC5oIgorI2luY2x1ZGUgPFdlYktpdDIvV0tFdmVudEVmbC5oPgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJWaWV3OwpAQCAtNjIsNiArNjcsNDUgQEAgaW5s
aW5lIFdLUG9wdXBJdGVtVGV4dERpcmVjdGlvbiB0b0FQSShXZWJDb3JlOjpUZXh0RGlyZWN0aW9u
IGRpcmVjdGlvbikKICAgICByZXR1cm4gd2tEaXJlY3Rpb247CiB9CiAKK2lubGluZSBXS0V2ZW50
VHlwZSB0b0FQSShXZWJFdmVudDo6VHlwZSB0eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgewor
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hTdGFydDoK
KyAgICAgICAgcmV0dXJuIGtXS0V2ZW50VHlwZVRvdWNoU3RhcnQ7CisgICAgY2FzZSBXZWJFdmVu
dDo6VG91Y2hNb3ZlOgorICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91Y2hNb3ZlOworICAg
IGNhc2UgV2ViRXZlbnQ6OlRvdWNoRW5kOgorICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91
Y2hFbmQ7CisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hDYW5jZWw6CisgICAgICAgIHJldHVybiBr
V0tFdmVudFR5cGVUb3VjaENhbmNlbDsKKyNlbmRpZgorICAgIGRlZmF1bHQ6CisgICAgICAgIHJl
dHVybiBrV0tFdmVudFR5cGVOb1R5cGU7CisgICAgfQorfQorCisjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKK2lubGluZSBXS1RvdWNoUG9pbnRTdGF0ZSB0b0FQSShXZWJQbGF0Zm9ybVRvdWNoUG9p
bnQ6OlRvdWNoUG9pbnRTdGF0ZSBzdGF0ZSkKK3sKKyAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAg
Y2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUmVsZWFzZWQ6CisgICAgICAgIHJldHVy
biBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaFJlbGVhc2VkOworICAgIGNhc2UgV2ViUGxhdGZvcm1U
b3VjaFBvaW50OjpUb3VjaFByZXNzZWQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3Rh
dGVUb3VjaFByZXNzZWQ7CisgICAgY2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92
ZWQ6CisgICAgICAgIHJldHVybiBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaE1vdmVkOworICAgIGNh
c2UgV2ViUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFN0YXRpb25hcnk6CisgICAgICAgIHJldHVy
biBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaFN0YXRpb25hcnk7CisgICAgY2FzZSBXZWJQbGF0Zm9y
bVRvdWNoUG9pbnQ6OlRvdWNoQ2FuY2VsbGVkOgorICAgICAgICByZXR1cm4ga1dLVG91Y2hQb2lu
dFN0YXRlVG91Y2hDYW5jZWxsZWQ7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIGtXS1RvdWNoUG9pbnRTdGF0ZVRvdWNoQ2FuY2VsbGVkOworfQorI2VuZGlm
CisKIH0KIAogI2VuZGlmIC8vIFdLQVBJQ2FzdEVmbF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmNwcAppbmRleCA2ZDUwNzFmOTBiZDViN2M2
MDhjNjRhZjZkMmRmMDA0M2Q4NzA1MjIzLi44NDNhZWIwZGQzMzI2ZDRlYWRkN2NmOTViMmY5ZTU1
ODk3ODJhMTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZs
L1dLRXZlbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwv
V0tFdmVudEVmbC5jcHAKQEAgLTYyLDMgKzYyLDExMyBAQCBXS1RvdWNoRXZlbnRSZWYgV0tUb3Vj
aEV2ZW50Q3JlYXRlKFdLRXZlbnRUeXBlIHR5cGUsIFdLQXJyYXlSZWYgd2tUb3VjaFBvaW50cywg
VwogICAgIHJldHVybiAwOwogI2VuZGlmCiB9CisKK1dLRXZlbnRUeXBlIFdLVG91Y2hFdmVudEdl
dFR5cGUoV0tUb3VjaEV2ZW50UmVmIGV2ZW50KQoreworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CisgICAgcmV0dXJuIHRvSW1wbChldmVudCktPmV2ZW50VHlwZSgpOworI2Vsc2UKKyAgICBVTlVT
RURfUEFSQU0oZXZlbnQpOworICAgIHJldHVybiBrV0tFdmVudFR5cGVOb1R5cGU7CisjZW5kaWYK
K30KKworV0tBcnJheVJlZiBXS1RvdWNoRXZlbnRHZXRUb3VjaFBvaW50cyhXS1RvdWNoRXZlbnRS
ZWYgZXZlbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBs
KGV2ZW50KS0+dG91Y2hQb2ludHMoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2ZW50KTsK
KyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCitXS0V2ZW50TW9kaWZpZXJzIFdLVG91Y2hFdmVu
dEdldE1vZGlmaWVycyhXS1RvdWNoRXZlbnRSZWYgZXZlbnQpCit7CisjaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKGV2ZW50KS0+bW9kaWZpZXJzKCk7CisjZWxzZQor
ICAgIFVOVVNFRF9QQVJBTShldmVudCk7CisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKworZG91
YmxlIFdLVG91Y2hFdmVudEdldFRpbWVzdGFtcChXS1RvdWNoRXZlbnRSZWYgZXZlbnQpCit7Cisj
aWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKGV2ZW50KS0+dGltZXN0
YW1wKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShldmVudCk7CisgICAgcmV0dXJuIDA7Cisj
ZW5kaWYKK30KKwordWludDMyX3QgV0tUb3VjaFBvaW50R2V0SUQoV0tUb3VjaFBvaW50UmVmIHBv
aW50KQoreworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgcmV0dXJuIHRvSW1wbChwb2lu
dCktPmlkKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwb2ludCk7CisgICAgcmV0dXJuIDA7
CisjZW5kaWYKK30KKworV0tUb3VjaFBvaW50U3RhdGUgV0tUb3VjaFBvaW50R2V0U3RhdGUoV0tU
b3VjaFBvaW50UmVmIHBvaW50KQoreworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgcmV0
dXJuIHRvSW1wbChwb2ludCktPnN0YXRlKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwb2lu
dCk7CisgICAgcmV0dXJuIGtXS1RvdWNoUG9pbnRTdGF0ZVRvdWNoQ2FuY2VsbGVkOworI2VuZGlm
Cit9CisKK1dLUG9pbnQgV0tUb3VjaFBvaW50R2V0U2NyZWVuUG9zaXRpb24oV0tUb3VjaFBvaW50
UmVmIHBvaW50KQoreworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgcmV0dXJuIHRvSW1w
bChwb2ludCktPnNjcmVlblBvc2l0aW9uKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwb2lu
dCk7CisgICAgcmV0dXJuIFdLUG9pbnRNYWtlKDAsIDApOworI2VuZGlmCit9CisKK1dLUG9pbnQg
V0tUb3VjaFBvaW50R2V0UG9zaXRpb24oV0tUb3VjaFBvaW50UmVmIHBvaW50KQoreworI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCisgICAgcmV0dXJuIHRvSW1wbChwb2ludCktPnBvc2l0aW9uKCk7
CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwb2ludCk7CisgICAgcmV0dXJuIFdLUG9pbnRNYWtl
KDAsIDApOworI2VuZGlmCit9CisKK1dLU2l6ZSBXS1RvdWNoUG9pbnRHZXRSYWRpdXMoV0tUb3Vj
aFBvaW50UmVmIHBvaW50KQoreworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgcmV0dXJu
IHRvSW1wbChwb2ludCktPnJhZGl1cygpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocG9pbnQp
OworICAgIHJldHVybiBXS1NpemVNYWtlKDAsIDApOworI2VuZGlmCit9CisKK2Zsb2F0IFdLVG91
Y2hQb2ludEdldFJvdGF0aW9uQW5nbGUoV0tUb3VjaFBvaW50UmVmIHBvaW50KQoreworI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCisgICAgcmV0dXJuIHRvSW1wbChwb2ludCktPnJvdGF0aW9uQW5n
bGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4gMDsKKyNl
bmRpZgorfQorCitmbG9hdCBXS1RvdWNoUG9pbnRHZXRGb3JjZUZhY3RvcihXS1RvdWNoUG9pbnRS
ZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBs
KHBvaW50KS0+Zm9yY2VGYWN0b3IoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsK
KyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvZWZsL1dLRXZlbnRFZmwuaAppbmRleCBjZGEyNjM2ZTY1MTcxYzhiOTNiYzc0MjQ1ZmQz
Y2I5YTc3MmM5MmMzLi5iNTQzOTIxOWU4YWQxYjhiNTQwMzVlOWIwOTI2Y2ExYTQ5ZGMwMjc3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwuaApA
QCAtNTUsNiArNTUsMTkgQEAgdHlwZWRlZiBlbnVtIFdLVG91Y2hQb2ludFN0YXRlIFdLVG91Y2hQ
b2ludFN0YXRlOwogV0tfRVhQT1JUIFdLVG91Y2hQb2ludFJlZiBXS1RvdWNoUG9pbnRDcmVhdGUo
aW50IGlkLCBXS1BvaW50IHBvc2l0aW9uLCBXS1BvaW50IHNjcmVlblBvc2l0aW9uLCBXS1RvdWNo
UG9pbnRTdGF0ZSwgV0tTaXplIHJhZGl1cywgZmxvYXQgcm90YXRpb25BbmdsZSwgZmxvYXQgZm9y
Y2VGYWN0b3IpOwogV0tfRVhQT1JUIFdLVG91Y2hFdmVudFJlZiBXS1RvdWNoRXZlbnRDcmVhdGUo
V0tFdmVudFR5cGUsIFdLQXJyYXlSZWYsIFdLRXZlbnRNb2RpZmllcnMsIGRvdWJsZSB0aW1lc3Rh
bXApOwogCitXS19FWFBPUlQgV0tFdmVudFR5cGUgV0tUb3VjaEV2ZW50R2V0VHlwZShXS1RvdWNo
RXZlbnRSZWYpOworV0tfRVhQT1JUIFdLQXJyYXlSZWYgV0tUb3VjaEV2ZW50R2V0VG91Y2hQb2lu
dHMoV0tUb3VjaEV2ZW50UmVmKTsKK1dLX0VYUE9SVCBXS0V2ZW50TW9kaWZpZXJzIFdLVG91Y2hF
dmVudEdldE1vZGlmaWVycyhXS1RvdWNoRXZlbnRSZWYpOworV0tfRVhQT1JUIGRvdWJsZSBXS1Rv
dWNoRXZlbnRHZXRUaW1lc3RhbXAoV0tUb3VjaEV2ZW50UmVmKTsKKworV0tfRVhQT1JUIHVpbnQz
Ml90IFdLVG91Y2hQb2ludEdldElEKFdLVG91Y2hQb2ludFJlZik7CitXS19FWFBPUlQgV0tUb3Vj
aFBvaW50U3RhdGUgV0tUb3VjaFBvaW50R2V0U3RhdGUoV0tUb3VjaFBvaW50UmVmKTsKK1dLX0VY
UE9SVCBXS1BvaW50IFdLVG91Y2hQb2ludEdldFNjcmVlblBvc2l0aW9uKFdLVG91Y2hQb2ludFJl
Zik7CitXS19FWFBPUlQgV0tQb2ludCBXS1RvdWNoUG9pbnRHZXRQb3NpdGlvbihXS1RvdWNoUG9p
bnRSZWYpOworV0tfRVhQT1JUIFdLU2l6ZSBXS1RvdWNoUG9pbnRHZXRSYWRpdXMoV0tUb3VjaFBv
aW50UmVmKTsKK1dLX0VYUE9SVCBmbG9hdCBXS1RvdWNoUG9pbnRHZXRSb3RhdGlvbkFuZ2xlKFdL
VG91Y2hQb2ludFJlZik7CitXS19FWFBPUlQgZmxvYXQgV0tUb3VjaFBvaW50R2V0Rm9yY2VGYWN0
b3IoV0tUb3VjaFBvaW50UmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKaW5kZXggYjMzNjEx
MDExNjM3ODhjY2ZjMjM5MzMyNDViODdmZGE2NmM4N2ZlMS4uZDY2ZTI1OTc3N2ZlNzhlMDNkYjFi
NTA2ZGYwOTJhMWM3OWJmNTA0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvRXdrVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRXdrVmlldy5jcHAKQEAgLTczLDYgKzczLDcgQEAKICNlbmRpZgogI2luY2x1ZGUgPFdlYkNv
cmUvQ2Fpcm9VdGlsaXRpZXNFZmwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRm
b3JtQ29udGV4dENhaXJvLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0ltYWdlQ2Fpcm8uaD4KICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpAQCAtNzkwLDYgKzc5MSwxMSBAQCB2b2lkIEV3a1Zp
ZXc6OnNldFRvdWNoRXZlbnRzRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgICAgIGV2YXNfb2Jq
ZWN0X2V2ZW50X2NhbGxiYWNrX2RlbChtX2V2YXNPYmplY3QsIEVWQVNfQ0FMTEJBQ0tfTVVMVElf
TU9WRSwgaGFuZGxlVG91Y2hNb3ZlKTsKICAgICB9CiB9CisKK3ZvaWQgRXdrVmlldzo6ZG9uZVdp
dGhUb3VjaEV2ZW50KFdLVG91Y2hFdmVudFJlZiwgYm9vbCAvKiB3YXNFdmVudEhhbmRsZWQgKi8p
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KICNlbmRpZgogCiAjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmll
dy5oCmluZGV4IDA0MzE3YTZhNjY1YTUzOTljZDMzZmFjNGZmZWQ2Yjc2MjBlZjJmNTUuLjc3ZDk5
OWY3ZDY3ZTg2NmE0YzVlMDkxN2QxOWJmMzIxOTc4ZDgyODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKQEAgLTE0Niw2ICsxNDYsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBmZWVkVG91Y2hFdmVudChFd2tfVG91Y2hfRXZlbnRfVHlwZSB0eXBlLCBjb25zdCBF
aW5hX0xpc3QqIHBvaW50cywgY29uc3QgRXZhc19Nb2RpZmllciogbW9kaWZpZXJzKTsKICAgICBi
b29sIHRvdWNoRXZlbnRzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdG91Y2hFdmVudHNFbmFi
bGVkOyB9CiAgICAgdm9pZCBzZXRUb3VjaEV2ZW50c0VuYWJsZWQoYm9vbCBlbmFibGVkKTsKKyAg
ICB2b2lkIGRvbmVXaXRoVG91Y2hFdmVudChXS1RvdWNoRXZlbnRSZWYsIGJvb2wpOwogI2VuZGlm
CiAKICAgICB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImIGN1cnNvcik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9X
ZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L1dlYlZpZXcuY3BwCmluZGV4IGUxYjQ0ZTBlNjRmMzc1MmY2YTA5YmYwZjEyMmUzOTc3NTE0Njc0
ZGYuLjZkMThiNWUwZTA2MzRkZWUwY2U0NTZhMDUxZThkZmI0MWQ4ZGEzNWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZp
ZXcuY3BwCkBAIC0zODgsOSArMzg4LDkgQEAgdm9pZCBXZWJWaWV3Ojpkb25lV2l0aEtleUV2ZW50
KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmLCBib29sKQogfQogCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKLXZvaWQgV2ViVmlldzo6ZG9uZVdpdGhUb3VjaEV2ZW50KGNvbnN0IE5hdGl2
ZVdlYlRvdWNoRXZlbnQmLCBib29sIC8qd2FzRXZlbnRIYW5kbGVkKi8pCit2b2lkIFdlYlZpZXc6
OmRvbmVXaXRoVG91Y2hFdmVudChjb25zdCBOYXRpdmVXZWJUb3VjaEV2ZW50JiBldmVudCwgYm9v
bCB3YXNFdmVudEhhbmRsZWQpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX2NsaWVu
dC5kb25lV2l0aFRvdWNoRXZlbnQodGhpcywgZXZlbnQsIHdhc0V2ZW50SGFuZGxlZCk7CiB9CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvV2ViVmlld0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcAppbmRleCBjY2M0MzVmYWUwYmYyOTE0
YmEyNWMzYTM3ZDQ2YjIxYWRmMGNmZjNiLi4zNmFkNWVhYzU5MTkxMjkzOTM1MmNkZmU3MWIxMWU1
YzI4NzU3Y2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcApAQCAtMjksMTEgKzI5LDE2
IEBACiAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAKKyNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQmFzZS5oIgogI2lu
Y2x1ZGUgIldLUmV0YWluUHRyLmgiCiAjaW5jbHVkZSAiV2ViVmlld3BvcnRBdHRyaWJ1dGVzLmgi
CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorI2luY2x1ZGUgIk5hdGl2ZVdlYlRvdWNoRXZl
bnQuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdl
YktpdCB7CkBAIC0xMTEsNiArMTE2LDIzIEBAIHZvaWQgV2ViVmlld0NsaWVudDo6ZGlkQ2hhbmdl
VG9vbHRpcChXZWJWaWV3KiB2aWV3LCBjb25zdCBTdHJpbmcmIHRvb2x0aXApCiAgICAgbV9jbGll
bnQuZGlkQ2hhbmdlVG9vbHRpcCh0b0FQSSh2aWV3KSwgYWRvcHRXSyh0b0NvcGllZEFQSSh0b29s
dGlwKSkuZ2V0KCksIG1fY2xpZW50LmNsaWVudEluZm8pOwogfQogCisjaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKK3ZvaWQgV2ViVmlld0NsaWVudDo6ZG9uZVdpdGhUb3VjaEV2ZW50KFdlYlZpZXcq
IHZpZXcsIGNvbnN0IE5hdGl2ZVdlYlRvdWNoRXZlbnQmIGV2ZW50LCBib29sIHdhc0V2ZW50SGFu
ZGxlZCkKK3sKKyAgICBpZiAoIW1fY2xpZW50LmRvbmVXaXRoVG91Y2hFdmVudCkKKyAgICAgICAg
cmV0dXJuOworCisjaWYgUExBVEZPUk0oRUZMKQorICAgIG1fY2xpZW50LmRvbmVXaXRoVG91Y2hF
dmVudCh0b0FQSSh2aWV3KSwgdG9BUEkoY29uc3RfY2FzdDxFd2tUb3VjaEV2ZW50Kj4oZXZlbnQu
bmF0aXZlRXZlbnQoKSkpLCB3YXNFdmVudEhhbmRsZWQsIG1fY2xpZW50LmNsaWVudEluZm8pOwor
I2Vsc2UKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIFVOVVNFRF9QQVJBTSh2aWV3KTsKKyAg
ICBVTlVTRURfUEFSQU0oZXZlbnQpOworICAgIFVOVVNFRF9QQVJBTSh3YXNFdmVudEhhbmRsZWQp
OworI2VuZGlmCit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAv
LyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmgKaW5kZXgg
NDRiZjRkZGQ3MzBmODE5OTE3YTk1YjYwMjUwMWVlNzZlZDRhM2ZjNC4uYmI3NGQyZjM3YjM3Yjhi
NWE1ZTIyNjg5ZTQxOWJlNTI3M2Q4ZTJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0NsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuaApAQCAt
NDMsNiArNDMsMTAgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlZpZXc7CiAKKyNp
ZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorY2xhc3MgTmF0aXZlV2ViVG91Y2hFdmVudDsKKyNlbmRp
ZgorCiBjbGFzcyBXZWJWaWV3Q2xpZW50OiBwdWJsaWMgQVBJQ2xpZW50PFdLVmlld0NsaWVudCwg
a1dLVmlld0NsaWVudEN1cnJlbnRWZXJzaW9uPiB7CiBwdWJsaWM6CiAgICAgdm9pZCB2aWV3TmVl
ZHNEaXNwbGF5KFdlYlZpZXcqLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CkBAIC01NCw2ICs1
OCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24oV2ViVmll
dyopOwogICAgIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVzKFdlYlZpZXcqLCBjb25z
dCBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMmKTsKICAgICB2b2lkIGRpZENoYW5nZVRvb2x0
aXAoV2ViVmlldyosIGNvbnN0IFN0cmluZyYgdG9vbHRpcCk7CisjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKKyAgICB2b2lkIGRvbmVXaXRoVG91Y2hFdmVudChXZWJWaWV3KiwgY29uc3QgTmF0aXZl
V2ViVG91Y2hFdmVudCYsIGJvb2wpOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVm
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCmlu
ZGV4IDdiMDZjZTU5ZDBhYzA1MjNjNWE0ZTBhNTEyZDJhNGI3NmYzYmU4ZmUuLmI1NzZhNDI1MjA4
MGU2ZTQyZmMxMDIyMTZkOGZhZjBlODUyM2FhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcApAQCAtMTU0LDYgKzE1NCwxNyBAQCB2b2lkIFZp
ZXdDbGllbnRFZmw6OmRpZENoYW5nZVRvb2x0aXAoV0tWaWV3UmVmLCBXS1N0cmluZ1JlZiB0b29s
dGlwLCBjb25zdCB2b2lkKgogICAgICAgICB0b0V3a1ZpZXcoY2xpZW50SW5mbyktPnNtYXJ0Q2Fs
bGJhY2s8VG9vbHRpcFRleHRTZXQ+KCkuY2FsbChXS0VpbmFTaGFyZWRTdHJpbmcodG9vbHRpcCkp
OwogfQogCit2b2lkIFZpZXdDbGllbnRFZmw6OmRvbmVXaXRoVG91Y2hFdmVudChXS1ZpZXdSZWYs
IFdLVG91Y2hFdmVudFJlZiBldmVudCwgYm9vbCB3YXNFdmVudEhhbmRsZWQsIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICB0b0V3a1ZpZXco
Y2xpZW50SW5mbyktPmRvbmVXaXRoVG91Y2hFdmVudChldmVudCwgd2FzRXZlbnRIYW5kbGVkKTsK
KyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2ZW50KTsKKyAgICBVTlVTRURfUEFSQU0od2FzRXZl
bnRIYW5kbGVkKTsKKyAgICBVTlVTRURfUEFSQU0oY2xpZW50SW5mbyk7CisjZW5kaWYKK30KKwog
Vmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVmbChFd2tWaWV3KiB2aWV3KQogICAgIDogbV92aWV3
KHZpZXcpCiB7CkBAIC0xNjQsNiArMTc1LDcgQEAgVmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVm
bChFd2tWaWV3KiB2aWV3KQogICAgIHZpZXdDbGllbnQudmVyc2lvbiA9IGtXS1ZpZXdDbGllbnRD
dXJyZW50VmVyc2lvbjsKICAgICB2aWV3Q2xpZW50LmNsaWVudEluZm8gPSB0aGlzOwogICAgIHZp
ZXdDbGllbnQuZGlkQ2hhbmdlQ29udGVudHNTaXplID0gZGlkQ2hhbmdlQ29udGVudHNTaXplOwor
ICAgIHZpZXdDbGllbnQuZG9uZVdpdGhUb3VjaEV2ZW50ID0gZG9uZVdpdGhUb3VjaEV2ZW50Owog
ICAgIHZpZXdDbGllbnQudmlld05lZWRzRGlzcGxheSA9IHZpZXdOZWVkc0Rpc3BsYXk7CiAgICAg
dmlld0NsaWVudC53ZWJQcm9jZXNzQ3Jhc2hlZCA9IHdlYlByb2Nlc3NDcmFzaGVkOwogICAgIHZp
ZXdDbGllbnQud2ViUHJvY2Vzc0RpZFJlbGF1bmNoID0gd2ViUHJvY2Vzc0RpZFJlbGF1bmNoOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuaAppbmRleCAzZjE4
YmVhNTMyN2U3YWI2ODA2MmFiM2FlMjg4NGU3NDcxNjQ5OGNmLi40ZmNiZjhjZjU2MThjMjliODIw
YWRkNjgwNWU4ZmUyMjlkZmI0NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1ZpZXdDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L1ZpZXdDbGllbnRFZmwuaApAQCAtNTYsNiArNTYsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2
b2lkIGRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24oV0tWaWV3UmVmLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKICAgICBzdGF0aWMgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXMoV0tW
aWV3UmVmLCBXS1ZpZXdwb3J0QXR0cmlidXRlc1JlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7
CiAgICAgc3RhdGljIHZvaWQgZGlkQ2hhbmdlVG9vbHRpcChXS1ZpZXdSZWYsIFdLU3RyaW5nUmVm
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKyAgICBzdGF0aWMgdm9pZCBkb25lV2l0aFRvdWNo
RXZlbnQoV0tWaWV3UmVmLCBXS1RvdWNoRXZlbnRSZWYsIGJvb2wsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pOwogCiAgICAgRXdrVmlldyogbV92aWV3OwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206545</attachid>
            <date>2013-07-12 07:27:55 -0700</date>
            <delta_ts>2013-07-23 04:33:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110085-20130712232537.patch</filename>
            <type>text/plain</type>
            <size>16371</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTM2ZjMwYmExMDgyYTEy
MTI3YWQ3OTcyYTFkZThiY2I0MjM5YjYxNS4uNDQzM2FjNTE1ZmM5NjlkZDcyODhkNGQ2YTkxYWE3
NGU1ZTEwMDQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTA3LTEyICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBkb25lV2l0aFRvdWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkb25lV2l0aFRv
dWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudCBpbiBvcmRlciB0byBnZXQgdGhl
CisgICAgICAgIHJlc3VsdCBvZiB0b3VjaCBldmVudHMgaW4gdGhlIEV3a1ZpZXcuIFRoZSByZXN1
bHQgd2lsbCBiZSB1c2VkIHRvCisgICAgICAgIHJlY29nbml6ZSBnZXN0dXJlcyBpbiB0aGUgQnVn
IDEwMjY0My4KKworICAgICAgICBBUElzIHRvIGdldCB2YWx1ZXMgZnJvbSBXS1RvdWNoRXZlbnRS
ZWYgYW5kIFdLVG91Y2hQb2ludFJlZiBhcmUgYWRkZWQKKyAgICAgICAgYmVjYXVzZSBXS1R5cGVS
ZWYgaXMgb3BhcXVlIHRvIHRoZSBhcHBsaWNhdGlvbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdLVG91
Y2hFdmVudEdldFR5cGUpOgorICAgICAgICAoV0tUb3VjaEV2ZW50R2V0VG91Y2hQb2ludHMpOgor
ICAgICAgICAoV0tUb3VjaEV2ZW50R2V0TW9kaWZpZXJzKToKKyAgICAgICAgKFdLVG91Y2hFdmVu
dEdldFRpbWVzdGFtcCk6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRJRCk6CisgICAgICAgIChX
S1RvdWNoUG9pbnRHZXRTdGF0ZSk6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRTY3JlZW5Qb3Np
dGlvbik6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRQb3NpdGlvbik6CisgICAgICAgIChXS1Rv
dWNoUG9pbnRHZXRSYWRpdXMpOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0Um90YXRpb25Bbmds
ZSk6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRGb3JjZUZhY3Rvcik6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3Ojpkb25lV2l0aFRvdWNoRXZlbnQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlldzo6ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0Ns
aWVudDo6ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWV3
Q2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6ZG9uZVdpdGhU
b3VjaEV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVm
bCk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmg6CisKIDIwMTMtMDct
MTAgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBQbHVnaW5z
IHRoYXQgZG9uJ3Qgc3VwcG9ydCBzbmFwc2hvdHRpbmcgc2hvdWxkIG5vdCBhbGwgYXV0b3N0YXJ0
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvV0tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XS1ZpZXcuaAppbmRleCBjZDMwZTQ4YWNhMjllMTkwOTIxYzYyNDM3MjNl
YTEwMmIwNzg3OTcwLi4wMmRhYjY4ZGY0M2U3MjE0NDU1MTRkYjY2NzkzYTg4MDlhNGQzZDFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XS1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XS1ZpZXcuaApAQCAtMjQsNiArMjQsMTAgQEAKICNpbmNsdWRlIDxXZWJL
aXQyL1dLQmFzZS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tHZW9tZXRyeS5oPgogCisjaWZuZGVm
IF9fY3BsdXNwbHVzCisjaW5jbHVkZSA8c3RkYm9vbC5oPgorI2VuZGlmCisKICNpZmRlZiBfX2Nw
bHVzcGx1cwogZXh0ZXJuICJDIiB7CiAjZW5kaWYKQEAgLTM2LDYgKzQwLDcgQEAgdHlwZWRlZiB2
b2lkICgqV0tWaWV3UGFnZURpZENoYW5nZUNvbnRlbnRzUG9zaXRpb25DYWxsYmFjaykoV0tWaWV3
UmVmIHZpZXcsIFdLUG8KIHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRSZW5kZXJGcmFtZUNh
bGxiYWNrKShXS1ZpZXdSZWYgdmlldywgV0tTaXplIGNvbnRlbnRzU2l6ZSwgV0tSZWN0IGNvdmVy
ZWRSZWN0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLVmlld1Bh
Z2VEaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXNDYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdL
Vmlld3BvcnRBdHRyaWJ1dGVzUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYg
dm9pZCAoKldLVmlld1BhZ2VEaWRDaGFuZ2VUb29sdGlwQ2FsbGJhY2spKFdLVmlld1JlZiB2aWV3
LCBXS1N0cmluZ1JlZiBuZXdUb29sdGlwLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVk
ZWYgdm9pZCAoKldLVmlld0RvbmVXaXRoVG91Y2hFdmVudENhbGxiYWNrKShXS1ZpZXdSZWYgdmll
dywgV0tUb3VjaEV2ZW50UmVmIHRvdWNoRXZlbnQsIGJvb2wgd2FzRXZlbnRIYW5kbGVkLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKIAogc3RydWN0IFdLVmlld0NsaWVudCB7CiAgICAgaW50ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CkBAIC01
MSw2ICs1Niw3IEBAIHN0cnVjdCBXS1ZpZXdDbGllbnQgewogICAgIFdLVmlld0NhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDb21wbGV0ZVBhZ2VUcmFuc2l0aW9u
OwogICAgIFdLVmlld1BhZ2VEaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXNDYWxsYmFjayAgICBk
aWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXM7CiAgICAgV0tWaWV3UGFnZURpZENoYW5nZVRvb2x0
aXBDYWxsYmFjayAgICAgICAgICAgICAgIGRpZENoYW5nZVRvb2x0aXA7CisgICAgV0tWaWV3RG9u
ZVdpdGhUb3VjaEV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgIGRvbmVXaXRoVG91Y2hFdmVu
dDsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1ZpZXdDbGllbnQgV0tWaWV3Q2xpZW50OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0FQSUNhc3RFZmwuaAppbmRl
eCAzNTFhMTlmZmU1MjdjMTI1OGQ1ZDNhZGQwOTk1MDY2ZDBjODYxOWRlLi44N2M1ZjVlZmJkNmJl
NTYyZDc5YmVjM2ZkNzA5MTVjZDA3OWNkMmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9lZmwvV0tBUElDYXN0RWZsLmgKQEAgLTI3LDYgKzI3LDExIEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9UZXh0RGlyZWN0aW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1BvcHVw
SXRlbS5oPgogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRlICJXZWJFdmVudC5o
IgorI2luY2x1ZGUgPFdlYktpdDIvV0tFdmVudEVmbC5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBjbGFzcyBXZWJWaWV3OwpAQCAtNjIsNiArNjcsNDMgQEAgaW5saW5lIFdLUG9w
dXBJdGVtVGV4dERpcmVjdGlvbiB0b0FQSShXZWJDb3JlOjpUZXh0RGlyZWN0aW9uIGRpcmVjdGlv
bikKICAgICByZXR1cm4gd2tEaXJlY3Rpb247CiB9CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRT
KQoraW5saW5lIFdLRXZlbnRUeXBlIHRvQVBJKFdlYkV2ZW50OjpUeXBlIHR5cGUpCit7CisgICAg
c3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hTdGFydDoKKyAgICAgICAg
cmV0dXJuIGtXS0V2ZW50VHlwZVRvdWNoU3RhcnQ7CisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hN
b3ZlOgorICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91Y2hNb3ZlOworICAgIGNhc2UgV2Vi
RXZlbnQ6OlRvdWNoRW5kOgorICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91Y2hFbmQ7Cisg
ICAgY2FzZSBXZWJFdmVudDo6VG91Y2hDYW5jZWw6CisgICAgICAgIHJldHVybiBrV0tFdmVudFR5
cGVUb3VjaENhbmNlbDsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBl
Tm9UeXBlOworICAgIH0KK30KKworaW5saW5lIFdLVG91Y2hQb2ludFN0YXRlIHRvQVBJKFdlYlBs
YXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQb2ludFN0YXRlIHN0YXRlKQoreworICAgIHN3aXRjaCAo
c3RhdGUpIHsKKyAgICBjYXNlIFdlYlBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZDoK
KyAgICAgICAgcmV0dXJuIGtXS1RvdWNoUG9pbnRTdGF0ZVRvdWNoUmVsZWFzZWQ7CisgICAgY2Fz
ZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZDoKKyAgICAgICAgcmV0dXJuIGtX
S1RvdWNoUG9pbnRTdGF0ZVRvdWNoUHJlc3NlZDsKKyAgICBjYXNlIFdlYlBsYXRmb3JtVG91Y2hQ
b2ludDo6VG91Y2hNb3ZlZDoKKyAgICAgICAgcmV0dXJuIGtXS1RvdWNoUG9pbnRTdGF0ZVRvdWNo
TW92ZWQ7CisgICAgY2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoU3RhdGlvbmFyeToK
KyAgICAgICAgcmV0dXJuIGtXS1RvdWNoUG9pbnRTdGF0ZVRvdWNoU3RhdGlvbmFyeTsKKyAgICBj
YXNlIFdlYlBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hDYW5jZWxsZWQ6CisgICAgICAgIHJldHVy
biBrV0tUb3VjaFBvaW50U3RhdGVUb3VjaENhbmNlbGxlZDsKKyAgICB9CisKKyAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4ga1dLVG91Y2hQb2ludFN0YXRlVG91Y2hDYW5jZWxs
ZWQ7Cit9CisjZW5kaWYKKwogfQogCiAjZW5kaWYgLy8gV0tBUElDYXN0RWZsX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwuY3BwCmluZGV4IDZk
NTA3MWY5MGJkNWI3YzYwOGM2NGFmNmQyZGYwMDQzZDg3MDUyMjMuLjg0M2FlYjBkZDMzMjZkNGVh
ZGQ3Y2Y5NWIyZjllNTU4OTc4MmExMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmNwcApAQCAtNjIsMyArNjIsMTEzIEBAIFdLVG91Y2hF
dmVudFJlZiBXS1RvdWNoRXZlbnRDcmVhdGUoV0tFdmVudFR5cGUgdHlwZSwgV0tBcnJheVJlZiB3
a1RvdWNoUG9pbnRzLCBXCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKIH0KKworV0tFdmVudFR5cGUg
V0tUb3VjaEV2ZW50R2V0VHlwZShXS1RvdWNoRXZlbnRSZWYgZXZlbnQpCit7CisjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKGV2ZW50KS0+ZXZlbnRUeXBlKCk7Cisj
ZWxzZQorICAgIFVOVVNFRF9QQVJBTShldmVudCk7CisgICAgcmV0dXJuIGtXS0V2ZW50VHlwZU5v
VHlwZTsKKyNlbmRpZgorfQorCitXS0FycmF5UmVmIFdLVG91Y2hFdmVudEdldFRvdWNoUG9pbnRz
KFdLVG91Y2hFdmVudFJlZiBldmVudCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAg
IHJldHVybiB0b0ltcGwoZXZlbnQpLT50b3VjaFBvaW50cygpOworI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0oZXZlbnQpOworICAgIHJldHVybiAwOworI2VuZGlmCit9CisKK1dLRXZlbnRNb2RpZmll
cnMgV0tUb3VjaEV2ZW50R2V0TW9kaWZpZXJzKFdLVG91Y2hFdmVudFJlZiBldmVudCkKK3sKKyNp
ZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVybiB0b0ltcGwoZXZlbnQpLT5tb2RpZmll
cnMoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2ZW50KTsKKyAgICByZXR1cm4gMDsKKyNl
bmRpZgorfQorCitkb3VibGUgV0tUb3VjaEV2ZW50R2V0VGltZXN0YW1wKFdLVG91Y2hFdmVudFJl
ZiBldmVudCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVybiB0b0ltcGwo
ZXZlbnQpLT50aW1lc3RhbXAoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2ZW50KTsKKyAg
ICByZXR1cm4gMDsKKyNlbmRpZgorfQorCit1aW50MzJfdCBXS1RvdWNoUG9pbnRHZXRJRChXS1Rv
dWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1
cm4gdG9JbXBsKHBvaW50KS0+aWQoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsK
KyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCitXS1RvdWNoUG9pbnRTdGF0ZSBXS1RvdWNoUG9p
bnRHZXRTdGF0ZShXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+c3RhdGUoKTsKKyNlbHNlCisgICAgVU5V
U0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4ga1dLVG91Y2hQb2ludFN0YXRlVG91Y2hDYW5j
ZWxsZWQ7CisjZW5kaWYKK30KKworV0tQb2ludCBXS1RvdWNoUG9pbnRHZXRTY3JlZW5Qb3NpdGlv
bihXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAg
ICByZXR1cm4gdG9JbXBsKHBvaW50KS0+c2NyZWVuUG9zaXRpb24oKTsKKyNlbHNlCisgICAgVU5V
U0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4gV0tQb2ludE1ha2UoMCwgMCk7CisjZW5kaWYK
K30KKworV0tQb2ludCBXS1RvdWNoUG9pbnRHZXRQb3NpdGlvbihXS1RvdWNoUG9pbnRSZWYgcG9p
bnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50
KS0+cG9zaXRpb24oKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1
cm4gV0tQb2ludE1ha2UoMCwgMCk7CisjZW5kaWYKK30KKworV0tTaXplIFdLVG91Y2hQb2ludEdl
dFJhZGl1cyhXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+cmFkaXVzKCk7CisjZWxzZQorICAgIFVOVVNF
RF9QQVJBTShwb2ludCk7CisgICAgcmV0dXJuIFdLU2l6ZU1ha2UoMCwgMCk7CisjZW5kaWYKK30K
KworZmxvYXQgV0tUb3VjaFBvaW50R2V0Um90YXRpb25BbmdsZShXS1RvdWNoUG9pbnRSZWYgcG9p
bnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50
KS0+cm90YXRpb25BbmdsZSgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocG9pbnQpOworICAg
IHJldHVybiAwOworI2VuZGlmCit9CisKK2Zsb2F0IFdLVG91Y2hQb2ludEdldEZvcmNlRmFjdG9y
KFdLVG91Y2hQb2ludFJlZiBwb2ludCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAg
IHJldHVybiB0b0ltcGwocG9pbnQpLT5mb3JjZUZhY3RvcigpOworI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0ocG9pbnQpOworICAgIHJldHVybiAwOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oCmluZGV4IGNkYTI2MzZlNjUxNzFj
OGI5M2JjNzQyNDVmZDNjYjlhNzcyYzkyYzMuLmI1NDM5MjE5ZThhZDFiOGI1NDAzNWU5YjA5MjZj
YTFhNDlkYzAyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9l
ZmwvV0tFdmVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwv
V0tFdmVudEVmbC5oCkBAIC01NSw2ICs1NSwxOSBAQCB0eXBlZGVmIGVudW0gV0tUb3VjaFBvaW50
U3RhdGUgV0tUb3VjaFBvaW50U3RhdGU7CiBXS19FWFBPUlQgV0tUb3VjaFBvaW50UmVmIFdLVG91
Y2hQb2ludENyZWF0ZShpbnQgaWQsIFdLUG9pbnQgcG9zaXRpb24sIFdLUG9pbnQgc2NyZWVuUG9z
aXRpb24sIFdLVG91Y2hQb2ludFN0YXRlLCBXS1NpemUgcmFkaXVzLCBmbG9hdCByb3RhdGlvbkFu
Z2xlLCBmbG9hdCBmb3JjZUZhY3Rvcik7CiBXS19FWFBPUlQgV0tUb3VjaEV2ZW50UmVmIFdLVG91
Y2hFdmVudENyZWF0ZShXS0V2ZW50VHlwZSwgV0tBcnJheVJlZiwgV0tFdmVudE1vZGlmaWVycywg
ZG91YmxlIHRpbWVzdGFtcCk7CiAKK1dLX0VYUE9SVCBXS0V2ZW50VHlwZSBXS1RvdWNoRXZlbnRH
ZXRUeXBlKFdLVG91Y2hFdmVudFJlZik7CitXS19FWFBPUlQgV0tBcnJheVJlZiBXS1RvdWNoRXZl
bnRHZXRUb3VjaFBvaW50cyhXS1RvdWNoRXZlbnRSZWYpOworV0tfRVhQT1JUIFdLRXZlbnRNb2Rp
ZmllcnMgV0tUb3VjaEV2ZW50R2V0TW9kaWZpZXJzKFdLVG91Y2hFdmVudFJlZik7CitXS19FWFBP
UlQgZG91YmxlIFdLVG91Y2hFdmVudEdldFRpbWVzdGFtcChXS1RvdWNoRXZlbnRSZWYpOworCitX
S19FWFBPUlQgdWludDMyX3QgV0tUb3VjaFBvaW50R2V0SUQoV0tUb3VjaFBvaW50UmVmKTsKK1dL
X0VYUE9SVCBXS1RvdWNoUG9pbnRTdGF0ZSBXS1RvdWNoUG9pbnRHZXRTdGF0ZShXS1RvdWNoUG9p
bnRSZWYpOworV0tfRVhQT1JUIFdLUG9pbnQgV0tUb3VjaFBvaW50R2V0U2NyZWVuUG9zaXRpb24o
V0tUb3VjaFBvaW50UmVmKTsKK1dLX0VYUE9SVCBXS1BvaW50IFdLVG91Y2hQb2ludEdldFBvc2l0
aW9uKFdLVG91Y2hQb2ludFJlZik7CitXS19FWFBPUlQgV0tTaXplIFdLVG91Y2hQb2ludEdldFJh
ZGl1cyhXS1RvdWNoUG9pbnRSZWYpOworV0tfRVhQT1JUIGZsb2F0IFdLVG91Y2hQb2ludEdldFJv
dGF0aW9uQW5nbGUoV0tUb3VjaFBvaW50UmVmKTsKK1dLX0VYUE9SVCBmbG9hdCBXS1RvdWNoUG9p
bnRHZXRGb3JjZUZhY3RvcihXS1RvdWNoUG9pbnRSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMK
IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RXdrVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNw
cAppbmRleCBiMzM2MTEwMTE2Mzc4OGNjZmMyMzkzMzI0NWI4N2ZkYTY2Yzg3ZmUxLi5kNjZlMjU5
Nzc3ZmU3OGUwM2RiMWI1MDZkZjA5MmExYzc5YmY1MDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcApAQCAtNzMsNiArNzMsNyBAQAogI2VuZGlmCiAj
aW5jbHVkZSA8V2ViQ29yZS9DYWlyb1V0aWxpdGllc0VmbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
Q3Vyc29yLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUGxhdGZvcm1Db250ZXh0Q2Fpcm8uaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLSW1h
Z2VDYWlyby5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CkBAIC03OTAsNiArNzkxLDEx
IEBAIHZvaWQgRXdrVmlldzo6c2V0VG91Y2hFdmVudHNFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAg
ICAgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfZGVsKG1fZXZhc09iamVjdCwgRVZBU19D
QUxMQkFDS19NVUxUSV9NT1ZFLCBoYW5kbGVUb3VjaE1vdmUpOwogICAgIH0KIH0KKwordm9pZCBF
d2tWaWV3Ojpkb25lV2l0aFRvdWNoRXZlbnQoV0tUb3VjaEV2ZW50UmVmLCBib29sIC8qIHdhc0V2
ZW50SGFuZGxlZCAqLykKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQogI2VuZGlmCiAKICNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3LmgKaW5kZXggMDQzMTdhNmE2NjVhNTM5OWNkMzNmYWM0ZmZlZDZiNzYy
MGVmMmY1NS4uNzdkOTk5ZjdkNjdlODY2YTRjNWUwOTE3ZDE5YmYzMjE5NzhkODI4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtMTQ2LDYgKzE0Niw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIGZlZWRUb3VjaEV2ZW50KEV3a19Ub3VjaF9FdmVudF9UeXBl
IHR5cGUsIGNvbnN0IEVpbmFfTGlzdCogcG9pbnRzLCBjb25zdCBFdmFzX01vZGlmaWVyKiBtb2Rp
ZmllcnMpOwogICAgIGJvb2wgdG91Y2hFdmVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV90
b3VjaEV2ZW50c0VuYWJsZWQ7IH0KICAgICB2b2lkIHNldFRvdWNoRXZlbnRzRW5hYmxlZChib29s
IGVuYWJsZWQpOworICAgIHZvaWQgZG9uZVdpdGhUb3VjaEV2ZW50KFdLVG91Y2hFdmVudFJlZiwg
Ym9vbCk7CiAjZW5kaWYKIAogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNv
ciYgY3Vyc29yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAKaW5kZXggZTFiNDRlMGU2NGYzNzUyZjZhMDliZjBm
MTIyZTM5Nzc1MTQ2NzRkZi4uNmQxOGI1ZTBlMDYzNGRlZTBjZTQ1NmEwNTFlOGRmYjQxZDhkYTM1
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvV2ViVmlldy5jcHAKQEAgLTM4OCw5ICszODgsOSBAQCB2b2lkIFdlYlZpZXc6OmRv
bmVXaXRoS2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wpCiB9CiAK
ICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotdm9pZCBXZWJWaWV3Ojpkb25lV2l0aFRvdWNoRXZl
bnQoY29uc3QgTmF0aXZlV2ViVG91Y2hFdmVudCYsIGJvb2wgLyp3YXNFdmVudEhhbmRsZWQqLykK
K3ZvaWQgV2ViVmlldzo6ZG9uZVdpdGhUb3VjaEV2ZW50KGNvbnN0IE5hdGl2ZVdlYlRvdWNoRXZl
bnQmIGV2ZW50LCBib29sIHdhc0V2ZW50SGFuZGxlZCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIG1fY2xpZW50LmRvbmVXaXRoVG91Y2hFdmVudCh0aGlzLCBldmVudCwgd2FzRXZlbnRI
YW5kbGVkKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuY3BwCmluZGV4IGNj
YzQzNWZhZTBiZjI5MTRiYTI1YzNhMzdkNDZiMjFhZGYwY2ZmM2IuLmY3NmQxMTI0MjdjZDliYmQw
ZGEwNWI5MGU1NGVhNWQ0MmRkZmNhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuY3BwCkBA
IC0yOSwxMSArMjksMTYgQEAKIAogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKIAorI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCiAjaW5jbHVkZSAi
V0tCYXNlLmgiCiAjaW5jbHVkZSAiV0tSZXRhaW5QdHIuaCIKICNpbmNsdWRlICJXZWJWaWV3cG9y
dEF0dHJpYnV0ZXMuaCIKIAorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisjaW5jbHVkZSAiTmF0
aXZlV2ViVG91Y2hFdmVudC5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTExMSw2ICsxMTYsMjMgQEAgdm9pZCBXZWJWaWV3Q2xp
ZW50OjpkaWRDaGFuZ2VUb29sdGlwKFdlYlZpZXcqIHZpZXcsIGNvbnN0IFN0cmluZyYgdG9vbHRp
cCkKICAgICBtX2NsaWVudC5kaWRDaGFuZ2VUb29sdGlwKHRvQVBJKHZpZXcpLCBhZG9wdFdLKHRv
Q29waWVkQVBJKHRvb2x0aXApKS5nZXQoKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CiB9CiAKKyNp
ZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQordm9pZCBXZWJWaWV3Q2xpZW50Ojpkb25lV2l0aFRvdWNo
RXZlbnQoV2ViVmlldyogdmlldywgY29uc3QgTmF0aXZlV2ViVG91Y2hFdmVudCYgZXZlbnQsIGJv
b2wgd2FzRXZlbnRIYW5kbGVkKQoreworI2lmIFBMQVRGT1JNKEVGTCkKKyAgICBpZiAoIW1fY2xp
ZW50LmRvbmVXaXRoVG91Y2hFdmVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbGllbnQu
ZG9uZVdpdGhUb3VjaEV2ZW50KHRvQVBJKHZpZXcpLCB0b0FQSShjb25zdF9jYXN0PEV3a1RvdWNo
RXZlbnQqPihldmVudC5uYXRpdmVFdmVudCgpKSksIHdhc0V2ZW50SGFuZGxlZCwgbV9jbGllbnQu
Y2xpZW50SW5mbyk7CisjZWxzZQorICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgVU5VU0VEX1BB
UkFNKHZpZXcpOworICAgIFVOVVNFRF9QQVJBTShldmVudCk7CisgICAgVU5VU0VEX1BBUkFNKHdh
c0V2ZW50SGFuZGxlZCk7CisjZW5kaWYKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAogI2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdD
bGllbnQuaAppbmRleCA0NGJmNGRkZDczMGY4MTk5MTdhOTViNjAyNTAxZWU3NmVkNGEzZmM0Li5i
Yjc0ZDJmMzdiMzdiOGI1YTVlMjI2ODllNDE5YmU1MjczZDhlMmI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmll
d0NsaWVudC5oCkBAIC00Myw2ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3Mg
V2ViVmlldzsKIAorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCitjbGFzcyBOYXRpdmVXZWJUb3Vj
aEV2ZW50OworI2VuZGlmCisKIGNsYXNzIFdlYlZpZXdDbGllbnQ6IHB1YmxpYyBBUElDbGllbnQ8
V0tWaWV3Q2xpZW50LCBrV0tWaWV3Q2xpZW50Q3VycmVudFZlcnNpb24+IHsKIHB1YmxpYzoKICAg
ICB2b2lkIHZpZXdOZWVkc0Rpc3BsYXkoV2ViVmlldyosIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
KTsKQEAgLTU0LDYgKzU4LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlkQ29tcGxldGVQYWdlVHJh
bnNpdGlvbihXZWJWaWV3Kik7CiAgICAgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXMo
V2ViVmlldyosIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYpOwogICAgIHZvaWQg
ZGlkQ2hhbmdlVG9vbHRpcChXZWJWaWV3KiwgY29uc3QgU3RyaW5nJiB0b29sdGlwKTsKKyNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHZvaWQgZG9uZVdpdGhUb3VjaEV2ZW50KFdlYlZpZXcq
LCBjb25zdCBOYXRpdmVXZWJUb3VjaEV2ZW50JiwgYm9vbCk7CisjZW5kaWYKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9WaWV3Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0Ns
aWVudEVmbC5jcHAKaW5kZXggMGU2NmVhYjQ2ODFlZTgyZjgzNmIxMzMzZjEwYzdkYzA0ZDhjYzE3
YS4uZmQyN2FhZWI0YzUzY2M1Nzk4MDhkYTI1MmExODJkZDQ5MGJiODA5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCkBAIC0xNTQsNiArMTU0
LDEzIEBAIHZvaWQgVmlld0NsaWVudEVmbDo6ZGlkQ2hhbmdlVG9vbHRpcChXS1ZpZXdSZWYsIFdL
U3RyaW5nUmVmIHRvb2x0aXAsIGNvbnN0IHZvaWQqCiAgICAgICAgIHRvRXdrVmlldyhjbGllbnRJ
bmZvKS0+c21hcnRDYWxsYmFjazxUb29sdGlwVGV4dFNldD4oKS5jYWxsKFdLRWluYVNoYXJlZFN0
cmluZyh0b29sdGlwKSk7CiB9CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQordm9pZCBWaWV3
Q2xpZW50RWZsOjpkb25lV2l0aFRvdWNoRXZlbnQoV0tWaWV3UmVmLCBXS1RvdWNoRXZlbnRSZWYg
ZXZlbnQsIGJvb2wgd2FzRXZlbnRIYW5kbGVkLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQorewor
ICAgIHRvRXdrVmlldyhjbGllbnRJbmZvKS0+ZG9uZVdpdGhUb3VjaEV2ZW50KGV2ZW50LCB3YXNF
dmVudEhhbmRsZWQpOworfQorI2VuZGlmCisKIFZpZXdDbGllbnRFZmw6OlZpZXdDbGllbnRFZmwo
RXdrVmlldyogdmlldykKICAgICA6IG1fdmlldyh2aWV3KQogewpAQCAtMTcyLDYgKzE3OSw5IEBA
IFZpZXdDbGllbnRFZmw6OlZpZXdDbGllbnRFZmwoRXdrVmlldyogdmlldykKICAgICB2aWV3Q2xp
ZW50LmRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24gPSBkaWRDb21wbGV0ZVBhZ2VUcmFuc2l0aW9u
OwogICAgIHZpZXdDbGllbnQuZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVzID0gZGlkQ2hhbmdl
Vmlld3BvcnRBdHRyaWJ1dGVzOwogICAgIHZpZXdDbGllbnQuZGlkQ2hhbmdlVG9vbHRpcCA9IGRp
ZENoYW5nZVRvb2x0aXA7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICB2aWV3Q2xpZW50
LmRvbmVXaXRoVG91Y2hFdmVudCA9IGRvbmVXaXRoVG91Y2hFdmVudDsKKyNlbmRpZgogCiAgICAg
V0tWaWV3U2V0Vmlld0NsaWVudChtX3ZpZXctPndrVmlldygpLCAmdmlld0NsaWVudCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oCmluZGV4IDNmMThi
ZWE1MzI3ZTdhYjY4MDYyYWIzYWUyODg0ZTc0NzE2NDk4Y2YuLjRiY2RmZmE4YTIwZDcxNDhmNmU4
MmEyMzFjMjljMDY5Yjg0YWM3NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvVmlld0NsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
Vmlld0NsaWVudEVmbC5oCkBAIC01Niw2ICs1Niw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZv
aWQgZGlkQ29tcGxldGVQYWdlVHJhbnNpdGlvbihXS1ZpZXdSZWYsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pOwogICAgIHN0YXRpYyB2b2lkIGRpZENoYW5nZVZpZXdwb3J0QXR0cmlidXRlcyhXS1Zp
ZXdSZWYsIFdLVmlld3BvcnRBdHRyaWJ1dGVzUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWRDaGFuZ2VUb29sdGlwKFdLVmlld1JlZiwgV0tTdHJpbmdSZWYs
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAg
c3RhdGljIHZvaWQgZG9uZVdpdGhUb3VjaEV2ZW50KFdLVmlld1JlZiwgV0tUb3VjaEV2ZW50UmVm
LCBib29sLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKyNlbmRpZgogCiAgICAgRXdrVmlldyog
bV92aWV3OwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207319</attachid>
            <date>2013-07-23 04:33:35 -0700</date>
            <delta_ts>2013-07-23 05:34:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110085-20130723203333.patch</filename>
            <type>text/plain</type>
            <size>16384</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzMDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjRmYThiNmQyNDEwNDFj
YmI0MDA4NDA3Y2JkYjU3MmQ5ZGZiOTVlZS4uYzg2NjhhY2ZlNTZmNWE0Njc5NzdjMmUwMDA4Yjg1
YzEzMTMwOTgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTA3LTIzICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBkb25lV2l0aFRvdWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIEFk
ZCBkb25lV2l0aFRvdWNoRXZlbnQgY2FsbGJhY2sgdG8gdGhlIFdLVmlld0NsaWVudCBpbiBvcmRl
ciB0byBnZXQgdGhlCisgICAgICAgIHJlc3VsdCBvZiB0b3VjaCBldmVudHMgaW4gdGhlIEV3a1Zp
ZXcuIFRoZSByZXN1bHQgd2lsbCBiZSB1c2VkIHRvCisgICAgICAgIHJlY29nbml6ZSBnZXN0dXJl
cyBpbiB0aGUgQnVnIDEwMjY0My4KKworICAgICAgICBBUElzIHRvIGdldCB2YWx1ZXMgZnJvbSBX
S1RvdWNoRXZlbnRSZWYgYW5kIFdLVG91Y2hQb2ludFJlZiBhcmUgYWRkZWQKKyAgICAgICAgYmVj
YXVzZSBXS1R5cGVSZWYgaXMgb3BhcXVlIHRvIHRoZSBhcHBsaWNhdGlvbnMuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oOgorICAgICAgICAoV2ViS2l0Ojp0
b0FQSSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmNwcDoKKyAg
ICAgICAgKFdLVG91Y2hFdmVudEdldFR5cGUpOgorICAgICAgICAoV0tUb3VjaEV2ZW50R2V0VG91
Y2hQb2ludHMpOgorICAgICAgICAoV0tUb3VjaEV2ZW50R2V0TW9kaWZpZXJzKToKKyAgICAgICAg
KFdLVG91Y2hFdmVudEdldFRpbWVzdGFtcCk6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRJRCk6
CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRTdGF0ZSk6CisgICAgICAgIChXS1RvdWNoUG9pbnRH
ZXRTY3JlZW5Qb3NpdGlvbik6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRQb3NpdGlvbik6Cisg
ICAgICAgIChXS1RvdWNoUG9pbnRHZXRSYWRpdXMpOgorICAgICAgICAoV0tUb3VjaFBvaW50R2V0
Um90YXRpb25BbmdsZSk6CisgICAgICAgIChXS1RvdWNoUG9pbnRHZXRGb3JjZUZhY3Rvcik6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0V2ZW50RWZsLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3Ojpkb25lV2l0aFRv
dWNoRXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViVmlldzo6ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViVmlld0NsaWVudDo6ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVm
bDo6ZG9uZVdpdGhUb3VjaEV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6
Vmlld0NsaWVudEVmbCk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmg6
CisKIDIwMTMtMDctMjIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAg
ICAgICAgRnJlcXVlbnQgTUVTU0FHRV9DSEVDSyBmYWlsdXJlcyBpbiBXZWJQYWdlUHJveHk6OmRp
ZFJlY2VpdmVFdmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaAppbmRleCBkOGJjNzgxYjliMTllNWVm
NDdmYmJiNzJjMzVkN2FlOGJhMjMxNDQxLi4xZWU1NWVhMzQ1NDIyMzY0NzdiMTVkNmI5NmFkYjUw
ZjlhZWIwYTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaApAQCAtMjQsNiArMjQsMTAgQEAKICNp
bmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tHZW9tZXRyeS5o
PgogCisjaWZuZGVmIF9fY3BsdXNwbHVzCisjaW5jbHVkZSA8c3RkYm9vbC5oPgorI2VuZGlmCisK
ICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CiAjZW5kaWYKQEAgLTM3LDYgKzQxLDcg
QEAgdHlwZWRlZiB2b2lkICgqV0tWaWV3UGFnZURpZFJlbmRlckZyYW1lQ2FsbGJhY2spKFdLVmll
d1JlZiB2aWV3LCBXS1NpemUgY29udGVudHMKIHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRD
aGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXNDYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLVmlld3Bv
cnRBdHRyaWJ1dGVzUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAo
KldLVmlld1BhZ2VEaWRDaGFuZ2VUb29sdGlwQ2FsbGJhY2spKFdLVmlld1JlZiB2aWV3LCBXS1N0
cmluZ1JlZiBuZXdUb29sdGlwLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9p
ZCAoKldLVmlld0RpZEZpbmRab29tYWJsZUFyZWFDYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdL
UG9pbnQgcG9pbnQsIFdLUmVjdCBhcmVhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVk
ZWYgdm9pZCAoKldLVmlld0RvbmVXaXRoVG91Y2hFdmVudENhbGxiYWNrKShXS1ZpZXdSZWYgdmll
dywgV0tUb3VjaEV2ZW50UmVmIHRvdWNoRXZlbnQsIGJvb2wgd2FzRXZlbnRIYW5kbGVkLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKIAogc3RydWN0IFdLVmlld0NsaWVudCB7CiAgICAgaW50ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CkBAIC01
Myw2ICs1OCw3IEBAIHN0cnVjdCBXS1ZpZXdDbGllbnQgewogICAgIFdLVmlld1BhZ2VEaWRDaGFu
Z2VWaWV3cG9ydEF0dHJpYnV0ZXNDYWxsYmFjayAgICBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0
ZXM7CiAgICAgV0tWaWV3UGFnZURpZENoYW5nZVRvb2x0aXBDYWxsYmFjayAgICAgICAgICAgICAg
IGRpZENoYW5nZVRvb2x0aXA7CiAgICAgV0tWaWV3RGlkRmluZFpvb21hYmxlQXJlYUNhbGxiYWNr
ICAgICAgICAgICAgICAgIGRpZEZpbmRab29tYWJsZUFyZWE7CisgICAgV0tWaWV3RG9uZVdpdGhU
b3VjaEV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgIGRvbmVXaXRoVG91Y2hFdmVudDsKIH07
CiB0eXBlZGVmIHN0cnVjdCBXS1ZpZXdDbGllbnQgV0tWaWV3Q2xpZW50OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS0FQSUNhc3RFZmwuaAppbmRleCAzNTFh
MTlmZmU1MjdjMTI1OGQ1ZDNhZGQwOTk1MDY2ZDBjODYxOWRlLi44N2M1ZjVlZmJkNmJlNTYyZDc5
YmVjM2ZkNzA5MTVjZDA3OWNkMmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9lZmwvV0tBUElDYXN0RWZsLmgKQEAgLTI3LDYgKzI3LDExIEBACiAjaW5jbHVkZSA8
V2ViQ29yZS9UZXh0RGlyZWN0aW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1BvcHVwSXRlbS5o
PgogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRlICJXZWJFdmVudC5oIgorI2lu
Y2x1ZGUgPFdlYktpdDIvV0tFdmVudEVmbC5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBXZWJWaWV3OwpAQCAtNjIsNiArNjcsNDMgQEAgaW5saW5lIFdLUG9wdXBJdGVt
VGV4dERpcmVjdGlvbiB0b0FQSShXZWJDb3JlOjpUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbikKICAg
ICByZXR1cm4gd2tEaXJlY3Rpb247CiB9CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQoraW5s
aW5lIFdLRXZlbnRUeXBlIHRvQVBJKFdlYkV2ZW50OjpUeXBlIHR5cGUpCit7CisgICAgc3dpdGNo
ICh0eXBlKSB7CisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hTdGFydDoKKyAgICAgICAgcmV0dXJu
IGtXS0V2ZW50VHlwZVRvdWNoU3RhcnQ7CisgICAgY2FzZSBXZWJFdmVudDo6VG91Y2hNb3ZlOgor
ICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91Y2hNb3ZlOworICAgIGNhc2UgV2ViRXZlbnQ6
OlRvdWNoRW5kOgorICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlVG91Y2hFbmQ7CisgICAgY2Fz
ZSBXZWJFdmVudDo6VG91Y2hDYW5jZWw6CisgICAgICAgIHJldHVybiBrV0tFdmVudFR5cGVUb3Vj
aENhbmNlbDsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4ga1dLRXZlbnRUeXBlTm9UeXBl
OworICAgIH0KK30KKworaW5saW5lIFdLVG91Y2hQb2ludFN0YXRlIHRvQVBJKFdlYlBsYXRmb3Jt
VG91Y2hQb2ludDo6VG91Y2hQb2ludFN0YXRlIHN0YXRlKQoreworICAgIHN3aXRjaCAoc3RhdGUp
IHsKKyAgICBjYXNlIFdlYlBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZDoKKyAgICAg
ICAgcmV0dXJuIGtXS1RvdWNoUG9pbnRTdGF0ZVRvdWNoUmVsZWFzZWQ7CisgICAgY2FzZSBXZWJQ
bGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZDoKKyAgICAgICAgcmV0dXJuIGtXS1RvdWNo
UG9pbnRTdGF0ZVRvdWNoUHJlc3NlZDsKKyAgICBjYXNlIFdlYlBsYXRmb3JtVG91Y2hQb2ludDo6
VG91Y2hNb3ZlZDoKKyAgICAgICAgcmV0dXJuIGtXS1RvdWNoUG9pbnRTdGF0ZVRvdWNoTW92ZWQ7
CisgICAgY2FzZSBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoU3RhdGlvbmFyeToKKyAgICAg
ICAgcmV0dXJuIGtXS1RvdWNoUG9pbnRTdGF0ZVRvdWNoU3RhdGlvbmFyeTsKKyAgICBjYXNlIFdl
YlBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hDYW5jZWxsZWQ6CisgICAgICAgIHJldHVybiBrV0tU
b3VjaFBvaW50U3RhdGVUb3VjaENhbmNlbGxlZDsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICByZXR1cm4ga1dLVG91Y2hQb2ludFN0YXRlVG91Y2hDYW5jZWxsZWQ7Cit9
CisjZW5kaWYKKwogfQogCiAjZW5kaWYgLy8gV0tBUElDYXN0RWZsX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwuY3BwCmluZGV4IDZkNTA3MWY5
MGJkNWI3YzYwOGM2NGFmNmQyZGYwMDQzZDg3MDUyMjMuLjg0M2FlYjBkZDMzMjZkNGVhZGQ3Y2Y5
NWIyZjllNTU4OTc4MmExMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9lZmwvV0tFdmVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL2VmbC9XS0V2ZW50RWZsLmNwcApAQCAtNjIsMyArNjIsMTEzIEBAIFdLVG91Y2hFdmVudFJl
ZiBXS1RvdWNoRXZlbnRDcmVhdGUoV0tFdmVudFR5cGUgdHlwZSwgV0tBcnJheVJlZiB3a1RvdWNo
UG9pbnRzLCBXCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKIH0KKworV0tFdmVudFR5cGUgV0tUb3Vj
aEV2ZW50R2V0VHlwZShXS1RvdWNoRXZlbnRSZWYgZXZlbnQpCit7CisjaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKGV2ZW50KS0+ZXZlbnRUeXBlKCk7CisjZWxzZQor
ICAgIFVOVVNFRF9QQVJBTShldmVudCk7CisgICAgcmV0dXJuIGtXS0V2ZW50VHlwZU5vVHlwZTsK
KyNlbmRpZgorfQorCitXS0FycmF5UmVmIFdLVG91Y2hFdmVudEdldFRvdWNoUG9pbnRzKFdLVG91
Y2hFdmVudFJlZiBldmVudCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVy
biB0b0ltcGwoZXZlbnQpLT50b3VjaFBvaW50cygpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
ZXZlbnQpOworICAgIHJldHVybiAwOworI2VuZGlmCit9CisKK1dLRXZlbnRNb2RpZmllcnMgV0tU
b3VjaEV2ZW50R2V0TW9kaWZpZXJzKFdLVG91Y2hFdmVudFJlZiBldmVudCkKK3sKKyNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVybiB0b0ltcGwoZXZlbnQpLT5tb2RpZmllcnMoKTsK
KyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2ZW50KTsKKyAgICByZXR1cm4gMDsKKyNlbmRpZgor
fQorCitkb3VibGUgV0tUb3VjaEV2ZW50R2V0VGltZXN0YW1wKFdLVG91Y2hFdmVudFJlZiBldmVu
dCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVybiB0b0ltcGwoZXZlbnQp
LT50aW1lc3RhbXAoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2ZW50KTsKKyAgICByZXR1
cm4gMDsKKyNlbmRpZgorfQorCit1aW50MzJfdCBXS1RvdWNoUG9pbnRHZXRJRChXS1RvdWNoUG9p
bnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9J
bXBsKHBvaW50KS0+aWQoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsKKyAgICBy
ZXR1cm4gMDsKKyNlbmRpZgorfQorCitXS1RvdWNoUG9pbnRTdGF0ZSBXS1RvdWNoUG9pbnRHZXRT
dGF0ZShXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykK
KyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+c3RhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKHBvaW50KTsKKyAgICByZXR1cm4ga1dLVG91Y2hQb2ludFN0YXRlVG91Y2hDYW5jZWxsZWQ7
CisjZW5kaWYKK30KKworV0tQb2ludCBXS1RvdWNoUG9pbnRHZXRTY3JlZW5Qb3NpdGlvbihXS1Rv
dWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1
cm4gdG9JbXBsKHBvaW50KS0+c2NyZWVuUG9zaXRpb24oKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKHBvaW50KTsKKyAgICByZXR1cm4gV0tQb2ludE1ha2UoMCwgMCk7CisjZW5kaWYKK30KKwor
V0tQb2ludCBXS1RvdWNoUG9pbnRHZXRQb3NpdGlvbihXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7
CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+cG9z
aXRpb24oKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvaW50KTsKKyAgICByZXR1cm4gV0tQ
b2ludE1ha2UoMCwgMCk7CisjZW5kaWYKK30KKworV0tTaXplIFdLVG91Y2hQb2ludEdldFJhZGl1
cyhXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAg
ICByZXR1cm4gdG9JbXBsKHBvaW50KS0+cmFkaXVzKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShwb2ludCk7CisgICAgcmV0dXJuIFdLU2l6ZU1ha2UoMCwgMCk7CisjZW5kaWYKK30KKworZmxv
YXQgV0tUb3VjaFBvaW50R2V0Um90YXRpb25BbmdsZShXS1RvdWNoUG9pbnRSZWYgcG9pbnQpCit7
CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICByZXR1cm4gdG9JbXBsKHBvaW50KS0+cm90
YXRpb25BbmdsZSgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocG9pbnQpOworICAgIHJldHVy
biAwOworI2VuZGlmCit9CisKK2Zsb2F0IFdLVG91Y2hQb2ludEdldEZvcmNlRmFjdG9yKFdLVG91
Y2hQb2ludFJlZiBwb2ludCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHJldHVy
biB0b0ltcGwocG9pbnQpLT5mb3JjZUZhY3RvcigpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
cG9pbnQpOworICAgIHJldHVybiAwOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLRXZlbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVudEVmbC5oCmluZGV4IGNkYTI2MzZlNjUxNzFjOGI5M2Jj
NzQyNDVmZDNjYjlhNzcyYzkyYzMuLmI1NDM5MjE5ZThhZDFiOGI1NDAzNWU5YjA5MjZjYTFhNDlk
YzAyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tF
dmVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVu
dEVmbC5oCkBAIC01NSw2ICs1NSwxOSBAQCB0eXBlZGVmIGVudW0gV0tUb3VjaFBvaW50U3RhdGUg
V0tUb3VjaFBvaW50U3RhdGU7CiBXS19FWFBPUlQgV0tUb3VjaFBvaW50UmVmIFdLVG91Y2hQb2lu
dENyZWF0ZShpbnQgaWQsIFdLUG9pbnQgcG9zaXRpb24sIFdLUG9pbnQgc2NyZWVuUG9zaXRpb24s
IFdLVG91Y2hQb2ludFN0YXRlLCBXS1NpemUgcmFkaXVzLCBmbG9hdCByb3RhdGlvbkFuZ2xlLCBm
bG9hdCBmb3JjZUZhY3Rvcik7CiBXS19FWFBPUlQgV0tUb3VjaEV2ZW50UmVmIFdLVG91Y2hFdmVu
dENyZWF0ZShXS0V2ZW50VHlwZSwgV0tBcnJheVJlZiwgV0tFdmVudE1vZGlmaWVycywgZG91Ymxl
IHRpbWVzdGFtcCk7CiAKK1dLX0VYUE9SVCBXS0V2ZW50VHlwZSBXS1RvdWNoRXZlbnRHZXRUeXBl
KFdLVG91Y2hFdmVudFJlZik7CitXS19FWFBPUlQgV0tBcnJheVJlZiBXS1RvdWNoRXZlbnRHZXRU
b3VjaFBvaW50cyhXS1RvdWNoRXZlbnRSZWYpOworV0tfRVhQT1JUIFdLRXZlbnRNb2RpZmllcnMg
V0tUb3VjaEV2ZW50R2V0TW9kaWZpZXJzKFdLVG91Y2hFdmVudFJlZik7CitXS19FWFBPUlQgZG91
YmxlIFdLVG91Y2hFdmVudEdldFRpbWVzdGFtcChXS1RvdWNoRXZlbnRSZWYpOworCitXS19FWFBP
UlQgdWludDMyX3QgV0tUb3VjaFBvaW50R2V0SUQoV0tUb3VjaFBvaW50UmVmKTsKK1dLX0VYUE9S
VCBXS1RvdWNoUG9pbnRTdGF0ZSBXS1RvdWNoUG9pbnRHZXRTdGF0ZShXS1RvdWNoUG9pbnRSZWYp
OworV0tfRVhQT1JUIFdLUG9pbnQgV0tUb3VjaFBvaW50R2V0U2NyZWVuUG9zaXRpb24oV0tUb3Vj
aFBvaW50UmVmKTsKK1dLX0VYUE9SVCBXS1BvaW50IFdLVG91Y2hQb2ludEdldFBvc2l0aW9uKFdL
VG91Y2hQb2ludFJlZik7CitXS19FWFBPUlQgV0tTaXplIFdLVG91Y2hQb2ludEdldFJhZGl1cyhX
S1RvdWNoUG9pbnRSZWYpOworV0tfRVhQT1JUIGZsb2F0IFdLVG91Y2hQb2ludEdldFJvdGF0aW9u
QW5nbGUoV0tUb3VjaFBvaW50UmVmKTsKK1dLX0VYUE9SVCBmbG9hdCBXS1RvdWNoUG9pbnRHZXRG
b3JjZUZhY3RvcihXS1RvdWNoUG9pbnRSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmll
dy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRl
eCAwNjgxZDg4YTgxM2UwODg5NjhhM2Y1ODYwNzZkMjdkNWQ5NGRmNWUwLi40NTdjODYxNjNmY2Y0
ZjBkNTI4MjkxZDEyZDU2OGVlNDYzNWUzMDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3LmNwcApAQCAtNzQsNiArNzQsNyBAQAogI2VuZGlmCiAjaW5jbHVk
ZSA8V2ViQ29yZS9DYWlyb1V0aWxpdGllc0VmbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3Vyc29y
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGxhdGZvcm1Db250ZXh0Q2Fpcm8uaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLSW1hZ2VDYWly
by5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CkBAIC03OTEsNiArNzkyLDExIEBAIHZv
aWQgRXdrVmlldzo6c2V0VG91Y2hFdmVudHNFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICAgICAg
ZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfZGVsKG1fZXZhc09iamVjdCwgRVZBU19DQUxMQkFD
S19NVUxUSV9NT1ZFLCBoYW5kbGVUb3VjaE1vdmUpOwogICAgIH0KIH0KKwordm9pZCBFd2tWaWV3
Ojpkb25lV2l0aFRvdWNoRXZlbnQoV0tUb3VjaEV2ZW50UmVmLCBib29sIC8qIHdhc0V2ZW50SGFu
ZGxlZCAqLykKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQogI2VuZGlmCiAKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3LmgKaW5kZXggNjdhNDY4ZDQxODNjYjkwZjMzYmU3NDBhYjllZmExNDMzZDMyZWFh
My4uYTlmMDExNzE2YmI0NTgzOWY0NjZmODUyNGI1MjAzZmVjMTNkOWM5YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtMTQ2LDYgKzE0Niw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIGZlZWRUb3VjaEV2ZW50KEV3a19Ub3VjaF9FdmVudF9UeXBlIHR5cGUs
IGNvbnN0IEVpbmFfTGlzdCogcG9pbnRzLCBjb25zdCBFdmFzX01vZGlmaWVyKiBtb2RpZmllcnMp
OwogICAgIGJvb2wgdG91Y2hFdmVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV90b3VjaEV2
ZW50c0VuYWJsZWQ7IH0KICAgICB2b2lkIHNldFRvdWNoRXZlbnRzRW5hYmxlZChib29sIGVuYWJs
ZWQpOworICAgIHZvaWQgZG9uZVdpdGhUb3VjaEV2ZW50KFdLVG91Y2hFdmVudFJlZiwgYm9vbCk7
CiAjZW5kaWYKIAogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYgY3Vy
c29yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvV2ViVmlldy5jcHAKaW5kZXggNjY4MzQ3ZTg2N2I4MTVjZWQ0ZWUzYmE0MGQxYjJl
OTU4MDBmNzYzZi4uN2ZiZjgxMmE2NGE1ZDAyNzY0NWNlM2E5YzY1NjE5NTcwODNjNzg1MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvV2ViVmlldy5jcHAKQEAgLTM5Myw5ICszOTMsOSBAQCB2b2lkIFdlYlZpZXc6OmRvbmVXaXRo
S2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wpCiB9CiAKICNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQotdm9pZCBXZWJWaWV3Ojpkb25lV2l0aFRvdWNoRXZlbnQoY29u
c3QgTmF0aXZlV2ViVG91Y2hFdmVudCYsIGJvb2wgLyp3YXNFdmVudEhhbmRsZWQqLykKK3ZvaWQg
V2ViVmlldzo6ZG9uZVdpdGhUb3VjaEV2ZW50KGNvbnN0IE5hdGl2ZVdlYlRvdWNoRXZlbnQmIGV2
ZW50LCBib29sIHdhc0V2ZW50SGFuZGxlZCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IG1fY2xpZW50LmRvbmVXaXRoVG91Y2hFdmVudCh0aGlzLCBldmVudCwgd2FzRXZlbnRIYW5kbGVk
KTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuY3BwCmluZGV4IGMxZWFkMzYw
ZjRmOWFlYTEyYjgyMThlMmE2MjIyYjk2ZDJjYjdjNDIuLmY3NWRlNTAyM2E0ZTgwZTBjMmQ2YzQx
MGZkNjkyMTk0YjRkOWQ0NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuY3BwCkBAIC0yOSwx
MSArMjksMTYgQEAKIAogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKIAorI2luY2x1ZGUgIk5v
dEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCiAjaW5jbHVkZSAiV0tCYXNl
LmgiCiAjaW5jbHVkZSAiV0tSZXRhaW5QdHIuaCIKICNpbmNsdWRlICJXZWJWaWV3cG9ydEF0dHJp
YnV0ZXMuaCIKIAorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisjaW5jbHVkZSAiTmF0aXZlV2Vi
VG91Y2hFdmVudC5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKQEAgLTExOSw2ICsxMjQsMjMgQEAgdm9pZCBXZWJWaWV3Q2xpZW50Ojpk
aWRGaW5kWm9vbWFibGVBcmVhKFdlYlZpZXcqIHZpZXcsIGNvbnN0IEludFBvaW50JiB0YXJnZXQs
IGMKICAgICBtX2NsaWVudC5kaWRGaW5kWm9vbWFibGVBcmVhKHRvQVBJKHZpZXcpLCB0b0FQSSh0
YXJnZXQpLCB0b0FQSShhcmVhKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CiB9CiAKKyNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQordm9pZCBXZWJWaWV3Q2xpZW50Ojpkb25lV2l0aFRvdWNoRXZlbnQo
V2ViVmlldyogdmlldywgY29uc3QgTmF0aXZlV2ViVG91Y2hFdmVudCYgZXZlbnQsIGJvb2wgd2Fz
RXZlbnRIYW5kbGVkKQoreworI2lmIFBMQVRGT1JNKEVGTCkKKyAgICBpZiAoIW1fY2xpZW50LmRv
bmVXaXRoVG91Y2hFdmVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbGllbnQuZG9uZVdp
dGhUb3VjaEV2ZW50KHRvQVBJKHZpZXcpLCB0b0FQSShjb25zdF9jYXN0PEV3a1RvdWNoRXZlbnQq
PihldmVudC5uYXRpdmVFdmVudCgpKSksIHdhc0V2ZW50SGFuZGxlZCwgbV9jbGllbnQuY2xpZW50
SW5mbyk7CisjZWxzZQorICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgVU5VU0VEX1BBUkFNKHZp
ZXcpOworICAgIFVOVVNFRF9QQVJBTShldmVudCk7CisgICAgVU5VU0VEX1BBUkFNKHdhc0V2ZW50
SGFuZGxlZCk7CisjZW5kaWYKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAog
I2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQu
aAppbmRleCA2MjIyMzI5NWI4MjRiZGIyMTk3OWQ1MzI1NWRiNjk5ZTdmNzc1M2U4Li41MTk3OWU5
YzdhMDBmODI5ZmU2NzkxNDI0NDZmMDQwODQwMmRkNDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0NsaWVu
dC5oCkBAIC00Myw2ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViVmll
dzsKIAorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCitjbGFzcyBOYXRpdmVXZWJUb3VjaEV2ZW50
OworI2VuZGlmCisKIGNsYXNzIFdlYlZpZXdDbGllbnQ6IHB1YmxpYyBBUElDbGllbnQ8V0tWaWV3
Q2xpZW50LCBrV0tWaWV3Q2xpZW50Q3VycmVudFZlcnNpb24+IHsKIHB1YmxpYzoKICAgICB2b2lk
IHZpZXdOZWVkc0Rpc3BsYXkoV2ViVmlldyosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKQEAg
LTU1LDYgKzU5LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1
dGVzKFdlYlZpZXcqLCBjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMmKTsKICAgICB2
b2lkIGRpZENoYW5nZVRvb2x0aXAoV2ViVmlldyosIGNvbnN0IFN0cmluZyYgdG9vbHRpcCk7CiAg
ICAgdm9pZCBkaWRGaW5kWm9vbWFibGVBcmVhKFdlYlZpZXcqLCBjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRT
KQorICAgIHZvaWQgZG9uZVdpdGhUb3VjaEV2ZW50KFdlYlZpZXcqLCBjb25zdCBOYXRpdmVXZWJU
b3VjaEV2ZW50JiwgYm9vbCk7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAKaW5kZXgg
ZjEyODkxMDdmMTlhZDFkN2RkY2U0MzM2NzI0YTIzOGIwNDEwY2ZkYS4uZTE0MjE0ZmE0OWNjM2Nk
N2I3OGRkNGMyZWU1YmJhM2U0NDEzYzFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCkBAIC0xNTksNiArMTU5LDEzIEBAIHZvaWQgVmlld0Ns
aWVudEVmbDo6ZGlkRmluZFpvb21hYmxlQXJlYShXS1ZpZXdSZWYsIFdLUG9pbnQgcG9pbnQsIFdL
UmVjdCBhcmVhLCBjCiAgICAgdG9Fd2tWaWV3KGNsaWVudEluZm8pLT5kaWRGaW5kWm9vbWFibGVB
cmVhKHBvaW50LCBhcmVhKTsKIH0KIAorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCit2b2lkIFZp
ZXdDbGllbnRFZmw6OmRvbmVXaXRoVG91Y2hFdmVudChXS1ZpZXdSZWYsIFdLVG91Y2hFdmVudFJl
ZiBldmVudCwgYm9vbCB3YXNFdmVudEhhbmRsZWQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7
CisgICAgdG9Fd2tWaWV3KGNsaWVudEluZm8pLT5kb25lV2l0aFRvdWNoRXZlbnQoZXZlbnQsIHdh
c0V2ZW50SGFuZGxlZCk7Cit9CisjZW5kaWYKKwogVmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVm
bChFd2tWaWV3KiB2aWV3KQogICAgIDogbV92aWV3KHZpZXcpCiB7CkBAIC0xNzgsNiArMTg1LDkg
QEAgVmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVmbChFd2tWaWV3KiB2aWV3KQogICAgIHZpZXdD
bGllbnQuZGlkQ29tcGxldGVQYWdlVHJhbnNpdGlvbiA9IGRpZENvbXBsZXRlUGFnZVRyYW5zaXRp
b247CiAgICAgdmlld0NsaWVudC5kaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXMgPSBkaWRDaGFu
Z2VWaWV3cG9ydEF0dHJpYnV0ZXM7CiAgICAgdmlld0NsaWVudC5kaWRDaGFuZ2VUb29sdGlwID0g
ZGlkQ2hhbmdlVG9vbHRpcDsKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHZpZXdDbGll
bnQuZG9uZVdpdGhUb3VjaEV2ZW50ID0gZG9uZVdpdGhUb3VjaEV2ZW50OworI2VuZGlmCiAKICAg
ICBXS1ZpZXdTZXRWaWV3Q2xpZW50KG1fdmlldy0+d2tWaWV3KCksICZ2aWV3Q2xpZW50KTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgKaW5kZXggMWJl
ZTM2OTM5NmU4YzljZThhZjU3NGNhYjZmNDUyY2JmZDIzZWY0MS4uYTM4NGNmNTk3ZDRhOWQwZmIy
ZTllZTBmZmViNWZhMDFhM2E4NGQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9WaWV3Q2xpZW50RWZsLmgKQEAgLTU3LDYgKzU3LDkgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMg
dm9pZCBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXMoV0tWaWV3UmVmLCBXS1ZpZXdwb3J0QXR0
cmlidXRlc1JlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAgc3RhdGljIHZvaWQgZGlk
Q2hhbmdlVG9vbHRpcChXS1ZpZXdSZWYsIFdLU3RyaW5nUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKTsKICAgICBzdGF0aWMgdm9pZCBkaWRGaW5kWm9vbWFibGVBcmVhKFdLVmlld1JlZiwgV0tQ
b2ludCwgV0tSZWN0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKyNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQorICAgIHN0YXRpYyB2b2lkIGRvbmVXaXRoVG91Y2hFdmVudChXS1ZpZXdSZWYsIFdL
VG91Y2hFdmVudFJlZiwgYm9vbCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisjZW5kaWYKIAog
ICAgIEV3a1ZpZXcqIG1fdmlldzsKIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>