<?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>64297</bug_id>
          
          <creation_ts>2011-07-11 10:47:58 -0700</creation_ts>
          <short_desc>[Qt][WK2] Add the Web Inspector to WebKit2</short_desc>
          <delta_ts>2012-12-04 05:45:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Genisim">genisim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abecsi</cc>
    
    <cc>apavlov</cc>
    
    <cc>benjamin</cc>
    
    <cc>bweinstein</cc>
    
    <cc>gustavo</cc>
    
    <cc>hausmann</cc>
    
    <cc>jesus</cc>
    
    <cc>joepeck</cc>
    
    <cc>jturcotte</cc>
    
    <cc>keishi</cc>
    
    <cc>kling</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>loislo</cc>
    
    <cc>menard</cc>
    
    <cc>noam</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pierre.rossi</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rafael.lobo</cc>
    
    <cc>rik</cc>
    
    <cc>svillar</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.mb</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yael</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>435001</commentid>
    <comment_count>0</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-07-11 10:47:58 -0700</bug_when>
    <thetext>Get things showing on Linux in QtWebKit2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435028</commentid>
    <comment_count>1</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-07-11 11:19:00 -0700</bug_when>
    <thetext>Looks that MiniBrowser based on QtWebKit2 does not creates INspectorClientQt and InspectorServerQt objects. It maybe one of possible reasons for Web Inspector does not showing in QtWebKit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446954</commentid>
    <comment_count>2</comment_count>
      <attachid>103018</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-04 18:24:00 -0700</bug_when>
    <thetext>Created attachment 103018
Patch to add Web Inspector feature to WebKit2 Qt 4.7 MiniBrowser. 

This patch for WebKit2 Qt 4.7 version. Does not compiled with Qt 5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447943</commentid>
    <comment_count>3</comment_count>
      <attachid>103018</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-08 04:43:39 -0700</bug_when>
    <thetext>Comment on attachment 103018
Patch to add Web Inspector feature to WebKit2 Qt 4.7 MiniBrowser. 

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

Nice idea, it would be nice to have the inspector back.
This should be implemented through private C++ apis though, not via the C APIs. Talk with Alexis to see what his plans are for private APIs.

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:54
&gt; +    QDesktopWebView(WKContextRef, WKPageGroupRef);
&gt; +    WKPageRef pageRef() const;
&gt; +

This should really not be public. Do not forget this Class is in the public API.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:85
&gt; +    m_view-&gt;setWindowTitle(QString::fromAscii(&quot;Web Inspector - &quot;)+QString::fromAscii(url.utf8().data()));

QString::fromAscii() is never a good idea in the library. The first should probably be tr().
The second is definitely wrong. There is constructor for that.
You need to add spaces on both side of the + sign.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:105
&gt; +    return (&quot;qrc:/webkit/inspector/inspector.html&quot;);

Not sure Whey there are parentesis here :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447945</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-08 04:46:33 -0700</bug_when>
    <thetext>&gt; This patch for WebKit2 Qt 4.7 version. Does not compiled with Qt 5.

This should be done for Qt 5. There is not plan to support WebKit2 on Qt 4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448458</commentid>
    <comment_count>5</comment_count>
      <attachid>103333</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-09 00:18:27 -0700</bug_when>
    <thetext>Created attachment 103333
Patch to add Web Inspector feature to WebKit2 Qt 4.7 MiniBrowser. (works with Qt 4.7, does not support Qt 5)

Thanks, for fast response.

Patch updated according to reviewer&apos;s comments attached. 

Please review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448481</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-09 02:22:10 -0700</bug_when>
    <thetext>Alexis, this will require private APIs. Did you start working on those? I think we should we make a sprint to have them this week. Are you interested?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448482</commentid>
    <comment_count>7</comment_count>
      <attachid>103333</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-09 02:31:37 -0700</bug_when>
    <thetext>Comment on attachment 103333
Patch to add Web Inspector feature to WebKit2 Qt 4.7 MiniBrowser. (works with Qt 4.7, does not support Qt 5)

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

You should update to Qt 5 first, and look how to expose the inspector in the cleanest way possible.

&gt; ChangeLog:3
&gt; +        Add WebInspector to WebKit2 Qt4.7 (revision 91860) MiniBrowser

You should update the title. The task title is now &quot;[Qt][WK2] Add the Web Inspector to WebKit2&quot;

&gt; Source/WebKit.pro:12
&gt; -    lessThan(QT_MAJOR_VERSION, 5) {
&gt; +    lessThan(QT_MAJOR_VERSION, 4) {

Just no :)
WebKit2 trunk does not even build with Qt 4 anymore.

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.cpp:47
&gt; -
&gt; +    

Junk change

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.cpp:94
&gt; +    m_inspectorView = 0;

This is defined only for platform Qt, this will not compile on the other ports.

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.h:52
&gt; +#include &lt;WKView.h&gt;
&gt; +#include &lt;QGraphicsView&gt;
&gt; +#include &lt;QGraphicsScene&gt;

You should use forward declaration.
Those are not the right types.

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:35
&gt; -    : q(q)
&gt; +    : q(q ? q : new QDesktopWebView(contextRef, pageGroupRef))

This is a really bad idea. You create implicitely a view that nobody own.

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:197
&gt; +void QDesktopWebView::toggleWebInspector()
&gt; +{
&gt; +    WKPageGroupRef pageGroupRef = WKPageGetPageGroup(pageRef());
&gt; +    WKPreferencesRef preferences = WKPageGroupGetPreferences(pageGroupRef);
&gt; +    if (WKInspectorIsVisible(WKPageGetInspector(pageRef()))) { 
&gt; +        WKPreferencesSetDeveloperExtrasEnabled(preferences, false);
&gt; +        WKInspectorClose(WKPageGetInspector(pageRef()));
&gt; +    } else {
&gt; +        WKPreferencesSetDeveloperExtrasEnabled(preferences, true);
&gt; +        WKInspectorShow(WKPageGetInspector(pageRef()));
&gt; +    }
&gt; +}

The interface should be in the view, but the implementation should not. This is typically code for QtWebPageProxy.

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:51
&gt; +    void toggleWebInspector();

We do not want to expose that in QDesktopWebView.
The API should also be property based so it is accessible easily in QML2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448752</commentid>
    <comment_count>8</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-09 13:23:12 -0700</bug_when>
    <thetext>Follow team&apos;s recommendation, I move toggleWebInspector function

&gt; +void QDesktopWebView::toggleWebInspector()
&gt; +{
&gt; +    WKPageGroupRef pageGroupRef = WKPageGetPageGroup(pageRef());
&gt; +    WKPreferencesRef preferences = WKPageGroupGetPreferences(pageGroupRef);
&gt; +    if (WKInspectorIsVisible(WKPageGetInspector(pageRef()))) { 
&gt; +        WKPreferencesSetDeveloperExtrasEnabled(preferences, false);
&gt; +        WKInspectorClose(WKPageGetInspector(pageRef()));
&gt; +    } else {
&gt; +        WKPreferencesSetDeveloperExtrasEnabled(preferences, true);
&gt; +        WKInspectorShow(WKPageGetInspector(pageRef()));
&gt; +    }
&gt; +}

to application MiniBrowser / BrowserWindow.cpp

and got problem with &quot;pageRef&quot;

pageRef() is private member of qdesktopwebview class
and will be available by friend class qdesktopwebviewprivate
but in app (MiniBrowser) one using qdesktopwebview

Question: how one will get pageRef. (WKPageRef() does not work. Any suggestions
recommendations ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448846</commentid>
    <comment_count>9</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-09 15:20:52 -0700</bug_when>
    <thetext>Benjamin,

&quot;
&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:35
&gt; -    : q(q)
&gt; +    : q(q ? q : new QDesktopWebView(contextRef, pageGroupRef))

This is a really bad idea. You create implicitely a view that nobody own.&quot;

It is only way I make WebInspector working (showing). With other solution rendering happened on one view and showing other one (just white blank window)

Please suggest other solution. 

Remember - we need create relation between q (QDesktopWebView*) and inspected page and, I think, it must be just one QGraphicsWidget. 
This is what we have with proposed solution

thanks a lot for fast responses

P.S. I fixed other issues according your comments, except :

 1. described in this comment

 2. private pageRef(). Can&apos;t get pageRef from MiniBrowser app

Some apps / developers continue use Qt 4.7 and this is a main reason for 
probably two patches based on Qt 4.7 and Qt 5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448868</commentid>
    <comment_count>10</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-09 16:07:20 -0700</bug_when>
    <thetext>Benjamin,

one more thing related to your comment below:

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:35
&gt; -    : q(q)
&gt; +    : q(q ? q : new QDesktopWebView(contextRef, pageGroupRef))

This is a really bad idea. You create implicitely a view that nobody own.


In the method platformOpen created view added as an item to m_scene
Please review 

thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448932</commentid>
    <comment_count>11</comment_count>
      <attachid>103428</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-09 18:43:37 -0700</bug_when>
    <thetext>Created attachment 103428
Patch to add Web Inspector to WebKit2

Patch is still for WebKit2 based on Qt 4. This patch is for developers who currently continues use Qt 4
I prepare patch for WebKit2 based on Qt 5

Benjamin, thanks for fast responses and good suggestions
Please check three previous comments related to this patch.

I fixed problem with pageRef (hope it will be accepted. All changes in MiniBrowser / BrowserView)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449068</commentid>
    <comment_count>12</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-10 03:22:58 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created an attachment (id=103428) [details]
&gt; Patch to add Web Inspector to WebKit2
&gt; 
&gt; Patch is still for WebKit2 based on Qt 4. This patch is for developers who currently continues use Qt 4
&gt; I prepare patch for WebKit2 based on Qt 5

But Qt4 + WebKit2 will never be a supported path anymore I believe so I&apos;m not sure we want to integrate the changes the way they are. For me we should integrate the Qt5 version when you will upload it.

&gt; 
&gt; Benjamin, thanks for fast responses and good suggestions
&gt; Please check three previous comments related to this patch.
&gt; 
&gt; I fixed problem with pageRef (hope it will be accepted. All changes in MiniBrowser / BrowserView)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449074</commentid>
    <comment_count>13</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-10 04:00:10 -0700</bug_when>
    <thetext>&gt; &gt; Patch is still for WebKit2 based on Qt 4. This patch is for developers who currently continues use Qt 4
&gt; &gt; I prepare patch for WebKit2 based on Qt 5
&gt; 
&gt; But Qt4 + WebKit2 will never be a supported path anymore I believe so I&apos;m not sure we want to integrate the changes the way they are. For me we should integrate the Qt5 version when you will upload it.

Exactly :)
Patches for old version of WebKit are of no interest for WebKit trunk.

You got the change backward with BrowserView::toggleWebInspector(). Each layer abstract the complexity of the one under it. You are not supposed to expose everything to the user code.

You can use the keyword &quot;friend&quot; to make the inspector and the QDesktopWebView work together.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449203</commentid>
    <comment_count>14</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-10 09:57:08 -0700</bug_when>
    <thetext>Benjamin,

fast comment regarding: &quot;You can use the keyword &quot;friend&quot; to make the inspector and the QDesktopWebView work together.&quot;

I think it is bad idea - ask developers modify core sources to make new application &quot;friend&quot; for one of core classes. Extra API looks much better.

Probably must be opened bug for this issue ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449210</commentid>
    <comment_count>15</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-10 10:05:14 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; fast comment regarding: &quot;You can use the keyword &quot;friend&quot; to make the inspector and the QDesktopWebView work together.&quot;
&gt; 
&gt; I think it is bad idea - ask developers modify core sources to make new application &quot;friend&quot; for one of core classes. Extra API looks much better.

I have no clue what you are talking about.
Both the inspector widget and the desktop web view are in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449226</commentid>
    <comment_count>16</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-10 10:35:25 -0700</bug_when>
    <thetext>Where is inspector widget ? Are you talking about QGraphicsWidget ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449229</commentid>
    <comment_count>17</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-10 10:44:26 -0700</bug_when>
    <thetext>question not related to the bug.

I&apos;m installing Qt5 follow instructions from: 

   http://developer.qt.nokia.com/wiki/Building_Qt_5_from_Git

and got follow error:

From git://gitorious.org/webkit/qtwebkit
   883ca7e..66b76cd  qtwebkit-2.2 -&gt; origin/qtwebkit-2.2
 * [new tag]         qtwebkit-2.2-week31 -&gt; qtwebkit-2.2-week31
Fetching gerrit
From git://gitorious.org/webkit/qtwebkit
   883ca7e..66b76cd  qtwebkit-2.2 -&gt; gerrit/qtwebkit-2.2
### [qtwebkit] git branch -D qt-modularization-base
error: branch &apos;qt-modularization-base&apos; not found.
git failed 256:Bad file descriptor at ./qtrepotools/bin/qt5_tool line 143.

below part of install script

134 # -- Locate an utility (grep, scp, etc) in MSYS git. This is specifically
135 #    for the setup case in which only git.cmd and not the utilities are in
136 #    the path. We then look at the git.cmd and return ..\bin\&lt;utility&gt;.exe.
137 sub msysGitUtility
138 {
139 #   -- Look for &apos;git.cmd&apos; and cd ..\bin
140     my ($git, $utility) = @_;
141     if ($git =~ /.cmd$/i) {
142         my $msysGitBinFolder = File::Spec-&gt;catfile(dirname(dirname($git)), &apos;bin&apos;);
143         return File::Spec-&gt;catfile($msysGitBinFolder, $utility . &apos;.exe&apos;);
144     }
145     return $utility;
146 }


Any comments, suggestions

thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449557</commentid>
    <comment_count>18</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-10 18:48:03 -0700</bug_when>
    <thetext>Finally got qt5 build works. Below URL one will use to checkout and build qt5.

   http://developer.qt.nokia.com/wiki/Building_Qt_5_Documentation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450228</commentid>
    <comment_count>19</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-11 19:00:28 -0700</bug_when>
    <thetext>Benjamin,

qt5 installed, pure webkit2 build fail:

In file included from /scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp:21:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.h:97: error: ISO C++ forbids declaration of ‘TextureMapperVideoLayer’ with no type
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.h:97: error: expected ‘;’ before ‘*’ token
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.h: In constructor ‘WebCore::TextureMapperNode::ContentData::ContentData()’:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.h:103: error: class ‘WebCore::TextureMapperNode::ContentData’ does not have any field named ‘media’
In file included from /scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp:23:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h: At global scope:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h:84: error: ‘NativeLayer’ does not name a type
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp: In member function ‘void WebCore::TextureMapperNode::uploadTextureFromContent(WebCore::TextureMapper*, const WebCore::IntRect&amp;, WebCore::GraphicsLayer*)’:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp:431: error: ‘struct WebCore::TextureMapperNode::ContentData’ has no member named ‘media’
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp:436: error: ‘struct WebCore::TextureMapperNode::ContentData’ has no member named ‘media’
In file included from /scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h:27,
                 from /scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:21:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.h:97: error: ISO C++ forbids declaration of ‘TextureMapperVideoLayer’ with no type
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.h:97: error: expected ‘;’ before ‘*’ token
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.h: In constructor ‘WebCore::TextureMapperNode::ContentData::ContentData()’:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.h:103: error: class ‘WebCore::TextureMapperNode::ContentData’ does not have any field named ‘media’
In file included from /scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:21:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h: At global scope:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h:84: error: ‘NativeLayer’ does not name a type
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp: In member function ‘void WebCore::TextureMapperNode::syncCompositingStateSelf(WebCore::GraphicsLayerTextureMapper*, WebCore::TextureMapper*)’:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp:837: error: ‘struct WebCore::TextureMapperNode::ContentData’ has no member named ‘media’
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp:837: error: ‘const struct WebCore::TextureMapperNode::ContentData’ has no member named ‘media’
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: In member function ‘virtual void WebCore::GraphicsLayerTextureMapper::setContentsToMedia(WebCore::PlatformLayer*)’:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:339: error: ‘struct WebCore::TextureMapperNode::ContentData’ has no member named ‘media’
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:339: error: expected type-specifier before ‘TextureMapperVideoLayer’
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:339: error: expected ‘&gt;’ before ‘TextureMapperVideoLayer’
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:339: error: expected ‘(’ before ‘TextureMapperVideoLayer’
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:339: error: ‘TextureMapperVideoLayer’ was not declared in this scope
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:339: error: expected primary-expression before ‘&gt;’ token
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:339: error: expected ‘)’ before ‘;’ token
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:341: error: ‘struct WebCore::TextureMapperNode::ContentData’ has no member named ‘media’
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: At global scope:
/scratchbox/users/genisim/home/genisim/swork/qt5/qtwebkit/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:370: error: ‘NativeLayer’ does not name a type
make[1]: *** [obj/debug/TextureMapperNode.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [obj/debug/GraphicsLayerTextureMapper.o] Error 1
make: *** [sub-WebCore-make_default-ordered] Error 2


I&apos;m using follow command line for webkit2 build:

 WEBKITOUTPUTDIR=`pwd`/qtbuild_x86 Tools/Scripts/build-webkit --qt --makeargs=&quot;-s -j20&quot; --no-video --debug --qmakearg=&quot;CONFIG+=texmap&quot;  --qmakearg=&quot;CONFIG+=webkit2&quot; --qmakearg=&quot;DEFINES+=MOZ_PLATFORM_MAEMO=6&quot; --qmakearg=&quot;DEFINES+=ENABLE_INSPECTOR=1&quot;


Please comments, suggestions

thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450372</commentid>
    <comment_count>20</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-12 02:45:48 -0700</bug_when>
    <thetext>Please use the mailing list webkit-qt. Bugzilla is not the best place to get help on building WebKit.

Try building with the default flags unless you are willing to fix the flags you use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450850</commentid>
    <comment_count>21</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-13 10:33:01 -0700</bug_when>
    <thetext>qt5 is installed.
pure webkit2 from qt5 package build and runs

Patch for WebInspector for WebKit2 based on Qt4.7 ported for 
WebKit2 based on Qt 5

Major changes:
   QGraphicsWidget replaced by QSGPaintedItem
   QGraphicsView replaced by QSGView
   QGraphicsScene not using

And got follow problems:
   for WebInspector created new QSGView (instead of QGraphicsScene and 
   QGraphivsView, and tried add / append WebInspector QSGPaintedItem 
   (new qdesktopwebview) to this QSGView. No success

In previous Qt 4.7 version it was easy - using QGraphicsScene, QGraphicsView
add created WebInspectors QGraphicsItem on QGraphicsScene.

I tried (just for test) use WebInspector URL when created QSGView and
(was expected) QSGView works with .qml not .html pages, but WebInspector UI is 
.html page

I think we have two options:
  1. convert QSGPaintedItem to QGraphicsItem and use QGraphicsView and
     QGraphicsScene and .html WebInspector UI (use WebInspector patch 
     for Qt4.7)

  2. or start BIG port includes .html to .qml , and ... (not sure what else
     must be port)

I prefer #1. Please comments, suggestions. 
  Any solution to get from QSGPaitingItem QGraphicsItem ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451024</commentid>
    <comment_count>22</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-15 03:58:37 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; I think we have two options:
&gt;   1. convert QSGPaintedItem to QGraphicsItem and use QGraphicsView and
&gt;      QGraphicsScene and .html WebInspector UI (use WebInspector patch 
&gt;      for Qt4.7)
&gt; 
&gt;   2. or start BIG port includes .html to .qml , and ... (not sure what else
&gt;      must be port)
&gt; 
&gt; I prefer #1. Please comments, suggestions. 
&gt;   Any solution to get from QSGPaitingItem QGraphicsItem ?

Using graphics view is most definitely not an option.

For now, I guess the web inspector should just spawn a new canvas as top level window and use the QDesktopWebView for rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452117</commentid>
    <comment_count>23</comment_count>
      <attachid>104146</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-16 21:59:18 -0700</bug_when>
    <thetext>Created attachment 104146
Patch to add Web Inspector to WebKit2

Patch to add Web Inspector feature to the WebKit2 based on the qt5. Updating MiniBrowser to support Web Inspector feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452357</commentid>
    <comment_count>24</comment_count>
      <attachid>104146</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-17 10:53:44 -0700</bug_when>
    <thetext>Comment on attachment 104146
Patch to add Web Inspector to WebKit2

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

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.h:179
&gt; +    QDesktopWebViewPrivate* m_inspectorView;

Not sure here if it makes sense to make it work with the touchview. Yes the inpesctor is not touch friendly but despite that it could be nice to have it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452359</commentid>
    <comment_count>25</comment_count>
      <attachid>104146</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-17 10:54:12 -0700</bug_when>
    <thetext>Comment on attachment 104146
Patch to add Web Inspector to WebKit2

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

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.h:179
&gt; +    QDesktopWebViewPrivate* m_inspectorView;

Not sure here if it makes sense to make it work with the touchview. Yes the inpesctor is not touch friendly but despite that it could be nice to have it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452388</commentid>
    <comment_count>26</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-17 11:18:05 -0700</bug_when>
    <thetext>Lets do step by step. 

First, review and if patch accepted, add patch to webkit2 (developers groups waiting this patch to continue work on qt webkit2 based products - for exm. simulators, testing and debugging Javascripts, ...).

Second, prepare and add patch with Web Inspector &quot;attach&quot; / &quot;detach&quot; features implementations.

Third, work on new suggestions / possible bugs

P.S. I think that still make sense keep both patches : for Qt 4.7 and for Qt 5
     Still exist or in the developing process products based on Qt 4.7.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455541</commentid>
    <comment_count>27</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-23 11:29:19 -0700</bug_when>
    <thetext>Dear Benjamin,

did you start review Qt5 based patch ?

Few groups of developers waiting this patch in upstream !</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455821</commentid>
    <comment_count>28</comment_count>
      <attachid>104931</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-23 16:58:17 -0700</bug_when>
    <thetext>Created attachment 104931
Updated Web Inspector patch for one of latest WebKit2 rev.

Hi,

Please review patch as soon as possible, don&apos;t wait until patch start be too old for new webkit2 revs !

thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455826</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-23 17:00:21 -0700</bug_when>
    <thetext>Attachment 104931 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Tools/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:36:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 4 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455847</commentid>
    <comment_count>30</comment_count>
      <attachid>104938</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-23 17:15:12 -0700</bug_when>
    <thetext>Created attachment 104938
Updated Web Inspector patch for one of latest WebKit2 rev. Fixed Alphabetical sorting problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455850</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-23 17:17:40 -0700</bug_when>
    <thetext>Attachment 104938 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Tools/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:36:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 4 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455865</commentid>
    <comment_count>32</comment_count>
      <attachid>104944</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-23 17:27:12 -0700</bug_when>
    <thetext>Created attachment 104944
Updated Web Inspector patch for one of latest WebKit2 rev. Fixed Alphabetical sorting problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455868</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-23 17:29:25 -0700</bug_when>
    <thetext>Attachment 104944 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:36:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455878</commentid>
    <comment_count>34</comment_count>
      <attachid>104947</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-23 17:40:14 -0700</bug_when>
    <thetext>Created attachment 104947
Updated Web Inspector patch for one of latest WebKit2 rev. Fixed Alphabetical sorting problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455899</commentid>
    <comment_count>35</comment_count>
      <attachid>104947</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-23 18:08:40 -0700</bug_when>
    <thetext>Comment on attachment 104947
Updated Web Inspector patch for one of latest WebKit2 rev. Fixed Alphabetical sorting problem

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

&gt; Source/WebKit2/ChangeLog:17
&gt; +        (WebKit::WebInspectorProxy::didLoadInspectorPage): RequestAttachWindow() not exist. Commented.

Regenerate your changelog after removing commented code.

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.cpp:223
&gt; +    inspectorPage-&gt;loadURL(inspectorPageURL());

Why this change?

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.cpp:235
&gt; +//        m_page-&gt;process()-&gt;send(Messages::WebInspector::RequestAttachWindow(), m_page-&gt;pageID());

You can&apos;t commit that.

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.h:183
&gt; +    QSGView* m_view;

I think you can use OwnPtr here.

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.h:184
&gt; +    QDesktopWebViewPrivate* m_inspectorView;

I don&apos;t understand why it needs to be a QDesktopWebViewPrivate unless I miss something.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:38
&gt; +class QObject;

You don&apos;t forward declare class in a cpp object.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:58
&gt; +    m_view = new QSGView();

This seems to leak.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:68
&gt; +        delete m_inspectorView-&gt;q;

What is that? This is very wrong programming methods.

&gt; Tools/MiniBrowser/qt/BrowserView.cpp:35
&gt; +#include &lt;qdesktopwebview_p.h&gt;

This is not acceptable. You can&apos;t use private API.

&gt; Tools/MiniBrowser/qt/BrowserView.cpp:100
&gt; +        QDesktopWebViewPrivate* desktopWebViewPrivate = new QDesktopWebViewPrivate(desktopWebView()); 

This is wrong. You can&apos;t create private object like this.

&gt; Tools/MiniBrowser/qt/BrowserView.cpp:112
&gt; +        delete desktopWebViewPrivate;

This is very wrong to me. You shouldn&apos;t do that at all. Have you look how the API looks like in WebKit1, we should aim for something easy, this is WAY too complicated to use and requires private API and some hacks.

&gt; Tools/MiniBrowser/qt/MiniBrowser.pro:23
&gt; +include(../../../Source/WebKit2/WebKit2.pri)

Why this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455905</commentid>
    <comment_count>36</comment_count>
      <attachid>104947</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-23 18:19:08 -0700</bug_when>
    <thetext>Comment on attachment 104947
Updated Web Inspector patch for one of latest WebKit2 rev. Fixed Alphabetical sorting problem

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

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:41
&gt; +    : q(q ? q : new QDesktopWebView(contextRef, pageGroupRef))

Very wrong change. This case should never happen, Qt coding practices to create private object should be respected, you create the private object from the public and it&apos;s linked to it, you can&apos;t create private object itself alone.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:46
&gt; +    m_inspectorView = new QDesktopWebViewPrivate(0, toAPI(page()-&gt;process()-&gt;context()), toAPI(inspectorPageGroup()));

See comment below, you can&apos;t create the private without its public object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456037</commentid>
    <comment_count>37</comment_count>
      <attachid>104975</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-24 02:54:43 -0700</bug_when>
    <thetext>Created attachment 104975
Updated Web Inspector diff

Alexis,

first of all thanks for fast and detail review.

Attached updated patch for Web Inspector for Qt5 MiniBrowser.

All updated according to your comments except follow:

&quot;
  &gt; Source/WebKit2/UIProcess/WebInspectorProxy.h:183
  &gt; +    QSGView* m_view;

  I think you can use OwnPtr here.
&quot;

And yes, you miss one point - Proposed (reviewed patch) solve problem with MiniBrowser -&gt; BrowserView.cpp -&gt;

+void BrowserView::toggleWebInspector()
+{
+    if (desktopWebView()) {
+        WKPageRef m_pageRef = desktopWebView()-&gt;pageRef();
+        WKPageGroupRef m_pageGroupRef = WKPageGetPageGroup(m_pageRef);
+        WKPreferencesRef m_preferences = WKPageGroupGetPreferences(m_pageGroupRef);
+
+        if (WKInspectorIsVisible(WKPageGetInspector(m_pageRef))) {
+            WKPreferencesSetDeveloperExtrasEnabled(m_preferences, false);
+            WKInspectorClose(WKPageGetInspector(m_pageRef));
+        } else {
+            WKPreferencesSetDeveloperExtrasEnabled(m_preferences, true);
+            WKInspectorShow(WKPageGetInspector(m_pageRef));
+        }
+    }
+}

One need to use &quot;WKPageRef m_pageRef&quot; for WK... functions and
&quot;pageRef&quot; is a private method of DesktopWebView class.

For WebInspectorProxy similar problem was fixed by &quot;friend&quot;

But one can&apos;t use &quot;friend&quot; for all external classes like MiniBrowser, BrowserView class

In one of previous proposed patches all WK... functions was moved to qdesktopwebview but

this patch was declined by Benjamin (I agree with him). 

Now I updated all according your comments and back to &quot;pageRef&quot; issue.

Any solution, suggestion for this problem ???

thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456047</commentid>
    <comment_count>38</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-24 04:05:02 -0700</bug_when>
    <thetext>Please read all the comments that have already been made when you update.
I feel every time I read an update of this patch, I see the some basic problems that were commented on before.

Please, first, define what a public API that is nice and easy to use, and solve all the layering problems that have already been discussed.
Once you have that, you can build what is needed in WebKit to expose that API.

As mentioned before, this should probably be exposed through private API. So please, go on IRC, discuss with Alexis the best way to expose those private API, then implement it.


The get you started on the API:
The full code on the MiniBrowser should probably be something like this:
::enableWebInspector(bool toggled) 
{
    if (desktopWebView())
        desktopWebView()-&gt;experimentalFeatures()-&gt;setWebInspectorEnabled(toggled);
    else
        touchWebView()-&gt;experimentatlFeatures()-&gt;setWebInspectorEnabled(toggled);
}
This should enable the inspector and the menu action &quot;inspect&quot; should work as expected.

You can add another action showWebInspector() if needed (for the touch view essentially because the context menu support is not upstreamed yet.
::showWebInspector()
{
    if (desktopWebView())
        desktopWebView()-&gt;experimentalFeatures()-&gt;showWebInspector();
    else
        touchWebView()-&gt;experimentatlFeatures()-&gt;showWebInspector();
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456128</commentid>
    <comment_count>39</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-24 09:19:57 -0700</bug_when>
    <thetext>Thanks for comment.

I&apos;m waiting more then 2 weeks these API. Start work around to get working
Web Inspector and unblock developers who needs working Web Inspector for Qt

I hope 
           void BrowserView::toggleWebInspector()

shows what exactly one expects from these API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456165</commentid>
    <comment_count>40</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-24 10:18:26 -0700</bug_when>
    <thetext>(In reply to comment #39)
&gt; Thanks for comment.
&gt; 
&gt; I&apos;m waiting more then 2 weeks these API. Start work around to get working
&gt; Web Inspector and unblock developers who needs working Web Inspector for Qt
&gt; 
&gt; I hope 
&gt;            void BrowserView::toggleWebInspector()
&gt; 
&gt; shows what exactly one expects from these API

I think you really need to come to IRC to have a chat with us. You can reach us on freenode #qtwebkit and my nick is darktears.


&quot;I&apos;m waiting more then 2 weeks these API.&quot;

-&gt; well I don&apos;t know what you mean but in WebKit2 and its Qt port is a moving target, making the WebInspector working is not our first priority when for example cookies are not working, downloads are not working, comboboxes are not working. The fact that you come and try to help on it is very welcome for sure.

In the other hand we can&apos;t accept workarounds in WebKit trunk, the code quality is meant to be the best possible. The patches you proposed are fine to keep them locally just to get the inspector working BUT the way they are today will be a no go for us. The trunk accepts clean stuff.

The last attachment you posted 104975 is a work in progress, I&apos;m not even sure that thing compile at all.

I think you need to calm down, sit down, look at the design and rethink the entire solution. The fact that lot of people need the inspector (which we all agree is nice to have) doesn&apos;t mean you can rush the feature. They can live with a workaround in the meantime.

Now show up on IRC that will help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456237</commentid>
    <comment_count>41</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-24 11:19:36 -0700</bug_when>
    <thetext>Hi,

I&apos;m on IRC. #qtwebkit, nickname genisim

Yes, it is work in progress

All is compiled, no problem, except MiniBrowser, BrowserView.cpp

genisim/home/genisim/swork/webkit_upstream/webkit_trunk/trunk_qt5/Tools/MiniBrowser/qt/BrowserView.cpp
/scratchbox/users/genisim/home/genisim/swork/webkit_upstream/webkit_trunk/trunk_qt5/Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h: In member function ‘void BrowserView::toggleWebInspector()’:
/scratchbox/users/genisim/home/genisim/swork/webkit_upstream/webkit_trunk/trunk_qt5/Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:117: error: ‘const OpaqueWKPage* QDesktopWebView::pageRef() const’ is private
/scratchbox/users/genisim/home/genisim/swork/webkit_upstream/webkit_trunk/trunk_qt5/Tools/MiniBrowser/qt/BrowserView.cpp:99: error: within this context

As you can see the problem is in API. Current API does not provides access to 
pageRef

We can start discussion directly on IRC

thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456552</commentid>
    <comment_count>42</comment_count>
      <attachid>105103</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-24 17:40:25 -0700</bug_when>
    <thetext>Created attachment 105103
Updated Web Inspector patch for  Qt5 WebKit2. Patch modified according Alexis comments

Using instead of WK... APIs in MiniBrowser toggleInspector API of qdesktopwebview and qtouchwebview
Probably toggleInspector method can be the same for qdesktopwebview and for qtouchwebview.
In current patch toggleInspector of qtouchwebview is empty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456555</commentid>
    <comment_count>43</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 17:44:02 -0700</bug_when>
    <thetext>Attachment 105103 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:26:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456564</commentid>
    <comment_count>44</comment_count>
      <attachid>105107</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-24 17:56:24 -0700</bug_when>
    <thetext>Created attachment 105107
Updated Web Inspector patch for Qt5 WebKit2. Patch modified according Alexis comments. Fixed Alphabetical sorting problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456567</commentid>
    <comment_count>45</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 17:58:07 -0700</bug_when>
    <thetext>Attachment 105107 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:40:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456578</commentid>
    <comment_count>46</comment_count>
      <attachid>105110</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-24 18:03:35 -0700</bug_when>
    <thetext>Created attachment 105110
Updated Web Inspector patch for Qt5 WebKit2. Patch modified according Alexis comments. Fixed Alphabetical sorting problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456581</commentid>
    <comment_count>47</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 18:08:01 -0700</bug_when>
    <thetext>Attachment 105110 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:40:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:42:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456841</commentid>
    <comment_count>48</comment_count>
      <attachid>105110</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-08-25 07:32:28 -0700</bug_when>
    <thetext>Comment on attachment 105110
Updated Web Inspector patch for Qt5 WebKit2. Patch modified according Alexis comments. Fixed Alphabetical sorting problem

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

In general it&apos;s going in a good direction. See comments.

&gt;&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:42
&gt;&gt; +#include &quot;WebInspectorProxy.h&quot;
&gt; 
&gt; Alphabetical sorting problem.  [build/include_order] [4]

Please fix.

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:319
&gt; +    if (toImpl(m_inspector)-&gt;isVisible()) {
&gt; +        toImpl(m_preferences)-&gt;setDeveloperExtrasEnabled(false);
&gt; +        toImpl(m_inspector)-&gt;close();
&gt; +    } else {
&gt; +        toImpl(m_preferences)-&gt;setDeveloperExtrasEnabled(true);
&gt; +        toImpl(m_inspector)-&gt;show();
&gt; +    }

Wouldn&apos;t work. You need to separate the developer-extras setting from showing the inspector; otherwise inspector would only collect information from the page while it&apos;s shown.

&gt; Source/WebKit2/UIProcess/API/qt/qtouchwebview.cpp:116
&gt; +void QTouchWebView::toggleWebInspector()
&gt; +{
&gt; +}

Maybe add notImplemented() or a FIXME comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457007</commentid>
    <comment_count>49</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-25 11:17:21 -0700</bug_when>
    <thetext>Noam,

thanks for comments. Two fixes are easy:

  alphabetical and add notImplemented

fix #3 - split toggleWebInspector on two :

   - enable / disable DeveloperExtras 
   - toggleWebInspector

is not simple as it looks.

 1. At least two features (Web Inspector and WebGL) depends from DeveloperExtras preference. And only for this reason toggleWebInspector must be split.

 2. If user disables DeveloperExtras, and dependent features (WebInspector for exm) are on, we have three choices:
    - note user - &quot;Can&apos;t disable DeveloperExtras&quot; because of ...
    - keep DeveloperExtras enable without notification
    - turn of features dependent from DeveloperExtras and after disable DeveloperExtras

 3. If DeveloperExtras features menu is visible (independently on DeveloperExtras preference), QDesktopWebView::toggleWebInspector() before
call inspector functions (isVisible, close, show) must check DeveloperExtras status.
    Otherwise if DeveloperExtras features menu start be visible only after DeveloperExtras enable, we can skip DeveloperExtras status check

 4. QDesktopWebView::enableDeveloperExtras(bool enable) must include additional tests (read point #2) if we decide check and turn off features dependent on DeveloperExtras preference

So, I propose for now split QDesktopWebView::toggleWebInspector on two
 - enableDeveloperExtras(bool)
 - toggleWebInspector
no extra tests. I think we can commit this one and after continue to work on patches related to point #2, #3, #4 and new APIs like toggleWebGL

thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457014</commentid>
    <comment_count>50</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-25 11:29:48 -0700</bug_when>
    <thetext>So far seems to me that 
      void enableDeveloperExtras(bool enable);
      void toggleWebInspector();
and probably in near future
      void toggleWebGL()
maybe more must be common for QDesktopWebView and QTouchWebView ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457164</commentid>
    <comment_count>51</comment_count>
      <attachid>105255</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-25 15:03:05 -0700</bug_when>
    <thetext>Created attachment 105255
Updated Web Inspector patch for Qt5 WebKit2. Patch modified according latest comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458550</commentid>
    <comment_count>52</comment_count>
      <attachid>105540</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-29 16:36:55 -0700</bug_when>
    <thetext>Created attachment 105540
Patch to add Web Inspector to WebKit2. Implemented 2 methods for qtouchwebview. 

Patch supports both views qdesktopwebview and qtouchwebview</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458648</commentid>
    <comment_count>53</comment_count>
      <attachid>105562</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-29 19:05:40 -0700</bug_when>
    <thetext>Created attachment 105562
Patch to add Web Inspector to WebKit2. Second variant - enableDeveloperExtras and toggleWebInspector implementation moves to the QtWebPageProxy

Hi Alexis,

hope all your requirements are done. You can choose between Patch 105540, and this last one.

Please review and let me know if you have extra requirements.


P.S. unfortunately I don&apos;t have device (tablet or laptop) with touch screen. Can&apos;t test touchscreen version
     But hope all works well, from both views (desktop and touch) one calls same function in QtWebPageProxy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458706</commentid>
    <comment_count>54</comment_count>
      <attachid>105255</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-08-29 22:27:02 -0700</bug_when>
    <thetext>Comment on attachment 105255
Updated Web Inspector patch for Qt5 WebKit2. Patch modified according latest comments.

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

&gt; Source/WebKit2/ChangeLog:5
&gt; +        Add WebInspector to WebKit2 MiniBrowser
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=64297
&gt; +

Insufficient changelog.

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.cpp:79
&gt; +#if PLATFORM(QT)
&gt; +    , m_view(0)
&gt; +    , m_inspectorView(0)
&gt; +#endif

OwnPtr would make this unnecessary.

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.h:185
&gt; +#elif PLATFORM(QT)
&gt; +    QSGView* m_view;
&gt; +    QDesktopWebView* m_inspectorView;

OwnPtr

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:309
&gt; +    WKPageGroupRef m_pageGroupRef = toAPI(toImpl(pageRef())-&gt;pageGroup());
&gt; +    WKPreferencesRef m_preferences = toAPI(toImpl(m_pageGroupRef)-&gt;preferences());

What does the m_ stand for? Those are not members.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:45
&gt; +    ASSERT(m_inspectorView);

This assert doesn&apos;t add anything.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:57
&gt; +    ASSERT(m_view);

ditto.

&gt; Tools/ChangeLog:5
&gt; +        Add WebInspector to WebKit2 MiniBrowser
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=64297
&gt; +

Insufficient changelog.

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:119
&gt; +    toggleWebInspector-&gt;connect(this, SIGNAL(enteredDeveloperExtrasMode(bool)), SLOT(setEnabled(bool)));
&gt; +    toggleWebInspector-&gt;connect(this, SIGNAL(enteredWebInspectorMode(bool)), SLOT(setChecked(bool)));
&gt; +    enableDeveloperExtras-&gt;connect(this, SIGNAL(enteredWebInspectorMode(bool)), this, SLOT(setEnabledInvert(bool)));
&gt; +    connect(this, SIGNAL(enteredWebInspectorMode(bool)), this, SLOT(toggleWebInspectorMode(bool)));

Hard to understand from this code how this UI is going to behave. There has to be a cleaner way of doing this.
I&apos;d be happy to help (on IRC / in person).

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:172
&gt; +void BrowserWindow::setEnabledInvert(bool enable)
&gt; +{
&gt; +    enableDeveloperExtras-&gt;setEnabled(!enable);
&gt; +}
&gt; +

What does setEnabledInvert mean? It seems like logic that can be done in a cleaner way with better understanding of Qt desktop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458707</commentid>
    <comment_count>55</comment_count>
      <attachid>105540</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-08-29 22:28:52 -0700</bug_when>
    <thetext>Comment on attachment 105540
Patch to add Web Inspector to WebKit2. Implemented 2 methods for qtouchwebview. 

This seems like a duplicate of the previous patch. Please obsolete old patches when uploading new ones.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458708</commentid>
    <comment_count>56</comment_count>
      <attachid>105562</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-08-29 22:30:04 -0700</bug_when>
    <thetext>Comment on attachment 105562
Patch to add Web Inspector to WebKit2. Second variant - enableDeveloperExtras and toggleWebInspector implementation moves to the QtWebPageProxy

See previous comments, not sure how much was fixed. The &quot;obsolete previous patches&quot; button is your friend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458717</commentid>
    <comment_count>57</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-29 23:06:02 -0700</bug_when>
    <thetext>(In reply to comment #54)
&gt; (From update of attachment 105255 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105255&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:5
&gt; &gt; +        Add WebInspector to WebKit2 MiniBrowser
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=64297
&gt; &gt; +
&gt; 
&gt; Insufficient changelog.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebInspectorProxy.cpp:79
&gt; &gt; +#if PLATFORM(QT)
&gt; &gt; +    , m_view(0)
&gt; &gt; +    , m_inspectorView(0)
&gt; &gt; +#endif
&gt; 
&gt; OwnPtr would make this unnecessary.
Maybe. Can you please check code with m_view and m_inspector and give example how replace both of them with OwnPtr ?
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebInspectorProxy.h:185
&gt; &gt; +#elif PLATFORM(QT)
&gt; &gt; +    QSGView* m_view;
&gt; &gt; +    QDesktopWebView* m_inspectorView;
&gt; 
&gt; OwnPtr
Check please previous comment
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:309
&gt; &gt; +    WKPageGroupRef m_pageGroupRef = toAPI(toImpl(pageRef())-&gt;pageGroup());
&gt; &gt; +    WKPreferencesRef m_preferences = toAPI(toImpl(m_pageGroupRef)-&gt;preferences());
&gt; 
&gt; What does the m_ stand for? Those are not members.
No problem I can switch to local vars(no m_)
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:45
&gt; &gt; +    ASSERT(m_inspectorView);
&gt; 
&gt; This assert doesn&apos;t add anything.
assert checks if m_inspector got value
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:57
&gt; &gt; +    ASSERT(m_view);
&gt; 
&gt; ditto.
checks m_view got value or not
Please check Apple variant. I guess it will be necessary
&gt; 
&gt; &gt; Tools/ChangeLog:5
&gt; &gt; +        Add WebInspector to WebKit2 MiniBrowser
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=64297
&gt; &gt; +
&gt; 
&gt; Insufficient changelog.
&gt; 
&gt; &gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:119
&gt; &gt; +    toggleWebInspector-&gt;connect(this, SIGNAL(enteredDeveloperExtrasMode(bool)), SLOT(setEnabled(bool)));
&gt; &gt; +    toggleWebInspector-&gt;connect(this, SIGNAL(enteredWebInspectorMode(bool)), SLOT(setChecked(bool)));
&gt; &gt; +    enableDeveloperExtras-&gt;connect(this, SIGNAL(enteredWebInspectorMode(bool)), this, SLOT(setEnabledInvert(bool)));
&gt; &gt; +    connect(this, SIGNAL(enteredWebInspectorMode(bool)), this, SLOT(toggleWebInspectorMode(bool)));
&gt; 
&gt; Hard to understand from this code how this UI is going to behave. There has to be a cleaner way of doing this.
&gt; I&apos;d be happy to help (on IRC / in person).
&gt; 
Please read one of previous comments related to combination of 
&quot;enable developers extras&quot; and &quot;show web inspector&quot; features

With proposed solution are possible follow combinations:

1.  - &quot;enable developers extras&quot; available (not selected)
    - &quot;show web inspector&quot; unavailable (not selected)

2.  - &quot;enable developers extras&quot; available (selected)
    - &quot;show web inspector&quot; available (not selected)

3.  - &quot;enable developers extras&quot; unavailable (selected)
    - &quot;show web inspector&quot; available (selected)

The idea is protect MiniBrowser against unexpected operations, like disable developers extras, when web inspector is running

&gt; &gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:172
&gt; &gt; +void BrowserWindow::setEnabledInvert(bool enable)
&gt; &gt; +{
&gt; &gt; +    enableDeveloperExtras-&gt;setEnabled(!enable);
&gt; &gt; +}
&gt; &gt; +
&gt; 
&gt; What does setEnabledInvert mean? It seems like logic that can be done in a cleaner way with better understanding of Qt desktop.

Read previous comments. One need convert selected &quot;enable developers extras&quot; to the unavailable mode when it is selected and web inspector is running
If is not clear please let me know and I&apos;ll submit snapshots from running Web Inspector</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458722</commentid>
    <comment_count>58</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-29 23:13:48 -0700</bug_when>
    <thetext>(In reply to comment #55)
&gt; (From update of attachment 105540 [details])
&gt; This seems like a duplicate of the previous patch. Please obsolete old patches when uploading new ones.

Please read patch description:

Patch to add Web Inspector to WebKit2. Implemented 2 methods for qtouchwebview.

Is not detail description, but - &quot;Implemented 2 methods for qtouchwebview&quot;

Was implemented enableDeveloperExtras and toggleWebInspector for qtouchwebview</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458724</commentid>
    <comment_count>59</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-29 23:17:27 -0700</bug_when>
    <thetext>(In reply to comment #56)
&gt; (From update of attachment 105562 [details])
&gt; See previous comments, not sure how much was fixed. The &quot;obsolete previous patches&quot; button is your friend.

Please read patch description:
Patch to add Web Inspector to WebKit2. 

Second variant - enableDeveloperExtras and toggleWebInspector implementation moves to the QtWebPageProxy

Methods enableDeveloperExtras and toggleWebInspector implementation moves from qdesktopwebview and qtouchwebview to the common for both views QtWebPageProxy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458730</commentid>
    <comment_count>60</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-29 23:29:26 -0700</bug_when>
    <thetext>Noam,

Please review my comments.

I&apos;ll replace vars (remove m_ prefix)

Please explain why is so principal to use OwnPtr, what benefits one will get from this change

Please review again submitted patch and try send me requests to ,hope, all unacceptable elements in patch

thanks a lot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458845</commentid>
    <comment_count>61</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-30 04:53:40 -0700</bug_when>
    <thetext>(In reply to comment #60)
&gt; Noam,
&gt; 
&gt; Please review my comments.
&gt; 
&gt; I&apos;ll replace vars (remove m_ prefix)
&gt; 
&gt; Please explain why is so principal to use OwnPtr, what benefits one will get from this change

OwnPtr will delete the object it holds for you whenever the pointer dies. It&apos;s a nice practice to use it, just as the WebKit code base is doing.

&gt; 
&gt; Please review again submitted patch and try send me requests to ,hope, all unacceptable elements in patch
&gt; 
&gt; thanks a lot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459029</commentid>
    <comment_count>62</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-30 11:16:10 -0700</bug_when>
    <thetext>(In reply to comment #61)
&gt; (In reply to comment #60)
&gt; &gt; Noam,
&gt; &gt; 
&gt; &gt; Please review my comments.
&gt; &gt; 
&gt; &gt; I&apos;ll replace vars (remove m_ prefix)
&gt; &gt; 
&gt; &gt; Please explain why is so principal to use OwnPtr, what benefits one will get from this change
&gt; 
&gt; OwnPtr will delete the object it holds for you whenever the pointer dies. It&apos;s a nice practice to use it, just as the WebKit code base is doing.
&gt; 
&gt; &gt; 
&gt; &gt; Please review again submitted patch and try send me requests to ,hope, all unacceptable elements in patch
&gt; &gt; 
&gt; &gt; thanks a lot

Hi Alexis,

using smart pointer OwnPtr is a good practice. Agreed. I&apos;m not familiar good enough with OwnPtr. Can you please provide simple example for OwnPtr usage.

According to WebInspector code I&apos;ll set follow requirements for this simple example:
  1. OwnPtr must be initialize by NULL (no value) in WebInspectorProxy constructor
  2. One will assign value at WebInspector creating time
  3. OwnPtr will be released at WebInspector close time  

thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459045</commentid>
    <comment_count>63</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-30 11:35:13 -0700</bug_when>
    <thetext>(In reply to comment #62)
&gt; (In reply to comment #61)
&gt; &gt; (In reply to comment #60)
&gt; &gt; &gt; Noam,
&gt; &gt; &gt; 
&gt; &gt; &gt; Please review my comments.
&gt; &gt; &gt; 
&gt; &gt; &gt; I&apos;ll replace vars (remove m_ prefix)
&gt; &gt; &gt; 
&gt; &gt; &gt; Please explain why is so principal to use OwnPtr, what benefits one will get from this change
&gt; &gt; 
&gt; &gt; OwnPtr will delete the object it holds for you whenever the pointer dies. It&apos;s a nice practice to use it, just as the WebKit code base is doing.
&gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; Please review again submitted patch and try send me requests to ,hope, all unacceptable elements in patch
&gt; &gt; &gt; 
&gt; &gt; &gt; thanks a lot
&gt; 
&gt; Hi Alexis,
&gt; 
&gt; using smart pointer OwnPtr is a good practice. Agreed. I&apos;m not familiar good enough with OwnPtr. Can you please provide simple example for OwnPtr usage.
&gt; 
&gt; According to WebInspector code I&apos;ll set follow requirements for this simple example:
&gt;   1. OwnPtr must be initialize by NULL (no value) in WebInspectorProxy constructor
&gt;   2. One will assign value at WebInspector creating time
&gt;   3. OwnPtr will be released at WebInspector close time  
&gt; 
&gt; thanks

Please look at existing code, a simple search in WebKit code and you have gazilions of examples.

http://www.webkit.org/coding/RefPtr.html is also a good starting point.

You can take initiatives :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459272</commentid>
    <comment_count>64</comment_count>
      <attachid>105709</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-30 15:36:50 -0700</bug_when>
    <thetext>Created attachment 105709
Patch to add Web Inspector to WebKit2 updated. using smart pointers OwnPtr, removed m_ prefix for local variable, added more info to ChangeLog&apos;s

Hi Alexis, Benjamin, Noam

hope this patch response to your requirements.

Please review, thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459295</commentid>
    <comment_count>65</comment_count>
      <attachid>105709</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-08-30 16:10:39 -0700</bug_when>
    <thetext>Comment on attachment 105709
Patch to add Web Inspector to WebKit2 updated. using smart pointers OwnPtr, removed m_ prefix for local variable, added more info to ChangeLog&apos;s

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

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:74
&gt; +    void enableDeveloperExtras(bool enable);
&gt; +    void toggleWebInspector(bool enable);

Inconsistent API. Let&apos;s call both of them either &quot;enableBlahBlah&quot; or &quot;toggleBlahBlah&quot;.
Or a more &quot;WebKitty&quot; option would be setBlahBlahEnabled(bool);

&gt; Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp:744
&gt; +    WKPageGroupRef pageGroupRef = toAPI(toImpl(pageRef())-&gt;pageGroup());
&gt; +    WKPreferencesRef preferences = toAPI(toImpl(pageGroupRef)-&gt;preferences());
&gt; +    toImpl(preferences)-&gt;setDeveloperExtrasEnabled(enable);

Pointless toAPI/toImpl churn.

m_webPageProxy-&gt;pageGroup()-&gt;preferences()-&gt;setDeveloperExtrasEnabled(enable);

&gt; Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp:753
&gt; +    WKInspectorRef inspector = toAPI(toImpl(pageRef())-&gt;inspector());
&gt; +    if (enable)
&gt; +        toImpl(inspector)-&gt;show();
&gt; +    else
&gt; +        toImpl(inspector)-&gt;close();

Pointless toAPI/toImpl churn.

if (enable)
    m_webPageProxy-&gt;inspector()-&gt;show();
else
    m_webPageProxy-&gt;inspector()-&gt;close();

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:66
&gt; +    if (m_inspectorView)
&gt; +        m_inspectorView.clear();

No need for the null check here, clear() is always safe.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:81
&gt; +    m_view-&gt;setWindowTitle(QObject::tr(&quot;Web Inspector - &quot;) + QObject::tr(url.utf8().data()));

Why on earth do we need to translate the URL?
On a related note, I don&apos;t think it makes sense to translate the &quot; - &quot; part of the string.
Either &quot;Web Inspector&quot; or &quot;Web Inspector - %1&quot; (so the translator is free to localize the string any way she/he wants.)

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:107
&gt; +    return (&quot;qrc:/webkit/inspector/inspector.html&quot;);

No need for () around the string.

&gt; Tools/ChangeLog:18
&gt; +        * MiniBrowser/qt/BrowserView.cpp:

A newline before this would be nice on the eyes.

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:107
&gt; +    enableDeveloperExtras = toolsMenu-&gt;addAction(&quot;Enable Developer Extras&quot;, this, SIGNAL(enteredDeveloperExtrasMode(bool)));

The QObject/member pair passed to addAction() is typically supposed to be a receiver/slot, rather than a sender/signal.
The fact that it isn&apos;t makes the following code particularly hard to follow.

It would be much more readable if the addAction() call would connect to a SLOT(onDeveloperExtrasModeChanged(bool)) (or some similar name.)
Same thing for the web inspector action.

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:171
&gt; +void BrowserWindow::setEnabledInvert(bool enable)
&gt; +{
&gt; +    enableDeveloperExtras-&gt;setEnabled(!enable);
&gt; +}

This function needs a new name, badly.
To clarify, it is not obvious what a function called &quot;setEnabledInvert&quot; will do if I call it.
In fact, it would be much nicer to fold this logic into the onWebInspectorModeChanged() slot suggested above.

&gt; Tools/MiniBrowser/qt/BrowserWindow.h:87
&gt; +    QAction* enableDeveloperExtras;

Style, missing m_ prefix on member variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459375</commentid>
    <comment_count>66</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-30 18:03:59 -0700</bug_when>
    <thetext>(In reply to comment #65)
&gt; (From update of attachment 105709 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105709&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:74
&gt; &gt; +    void enableDeveloperExtras(bool enable);
&gt; &gt; +    void toggleWebInspector(bool enable);
&gt; 
&gt; Inconsistent API. Let&apos;s call both of them either &quot;enableBlahBlah&quot; or &quot;toggleBlahBlah&quot;.
&gt; Or a more &quot;WebKitty&quot; option would be setBlahBlahEnabled(bool);
&gt; 
DONE
&gt; &gt; Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp:744
&gt; &gt; +    WKPageGroupRef pageGroupRef = toAPI(toImpl(pageRef())-&gt;pageGroup());
&gt; &gt; +    WKPreferencesRef preferences = toAPI(toImpl(pageGroupRef)-&gt;preferences());
&gt; &gt; +    toImpl(preferences)-&gt;setDeveloperExtrasEnabled(enable);
&gt; 
&gt; Pointless toAPI/toImpl churn.
&gt; 
&gt; m_webPageProxy-&gt;pageGroup()-&gt;preferences()-&gt;setDeveloperExtrasEnabled(enable);
&gt; 
DONE
&gt; &gt; Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp:753
&gt; &gt; +    WKInspectorRef inspector = toAPI(toImpl(pageRef())-&gt;inspector());
&gt; &gt; +    if (enable)
&gt; &gt; +        toImpl(inspector)-&gt;show();
&gt; &gt; +    else
&gt; &gt; +        toImpl(inspector)-&gt;close();
&gt; 
&gt; Pointless toAPI/toImpl churn.
&gt; 
&gt; if (enable)
&gt;     m_webPageProxy-&gt;inspector()-&gt;show();
&gt; else
&gt;     m_webPageProxy-&gt;inspector()-&gt;close();
&gt; 
DONE
&gt; &gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:66
&gt; &gt; +    if (m_inspectorView)
&gt; &gt; +        m_inspectorView.clear();
&gt; 
&gt; No need for the null check here, clear() is always safe.
&gt; 
DONE
&gt; &gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:81
&gt; &gt; +    m_view-&gt;setWindowTitle(QObject::tr(&quot;Web Inspector - &quot;) + QObject::tr(url.utf8().data()));
&gt; 
&gt; Why on earth do we need to translate the URL?
&gt; On a related note, I don&apos;t think it makes sense to translate the &quot; - &quot; part of the string.
&gt; Either &quot;Web Inspector&quot; or &quot;Web Inspector - %1&quot; (so the translator is free to localize the string any way she/he wants.)
&gt; 
NO CHANGES
&gt; &gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:107
&gt; &gt; +    return (&quot;qrc:/webkit/inspector/inspector.html&quot;);
&gt; 
&gt; No need for () around the string.
&gt; 
DONE
&gt; &gt; Tools/ChangeLog:18
&gt; &gt; +        * MiniBrowser/qt/BrowserView.cpp:
&gt; 
&gt; A newline before this would be nice on the eyes.
&gt; 
DONE
&gt; &gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:107
&gt; &gt; +    enableDeveloperExtras = toolsMenu-&gt;addAction(&quot;Enable Developer Extras&quot;, this, SIGNAL(enteredDeveloperExtrasMode(bool)));
&gt; 
&gt; The QObject/member pair passed to addAction() is typically supposed to be a receiver/slot, rather than a sender/signal.
&gt; The fact that it isn&apos;t makes the following code particularly hard to follow.
&gt; 
&gt; It would be much more readable if the addAction() call would connect to a SLOT(onDeveloperExtrasModeChanged(bool)) (or some similar name.)
&gt; Same thing for the web inspector action.
&gt; 
DONE. If you look BrowserWindow.cpp and find same issues with:

  QAction* toggleFullScreen = windowMenu-&gt;addAction(&quot;Toggle FullScreen&quot;, this, SIGNAL(enteredFullScreenMode(bool)));

JUST REMEMBER it is not Genisim&apos;s code.

&gt; &gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:171
&gt; &gt; +void BrowserWindow::setEnabledInvert(bool enable)
&gt; &gt; +{
&gt; &gt; +    enableDeveloperExtras-&gt;setEnabled(!enable);
&gt; &gt; +}
&gt; 
&gt; This function needs a new name, badly.
&gt; To clarify, it is not obvious what a function called &quot;setEnabledInvert&quot; will do if I call it.
&gt; In fact, it would be much nicer to fold this logic into the onWebInspectorModeChanged() slot suggested above.
&gt;
DONE partially (name changed). Logic did not moved to the onWebInspector... 
&gt; &gt; Tools/MiniBrowser/qt/BrowserWindow.h:87
&gt; &gt; +    QAction* enableDeveloperExtras;
&gt; 
&gt; Style, missing m_ prefix on member variable.

DONE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459376</commentid>
    <comment_count>67</comment_count>
      <attachid>105726</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-30 18:06:13 -0700</bug_when>
    <thetext>Created attachment 105726
Patch to add Web Inspector to WebKit2 updated.

Thanks for comments.

Please review attached patch. Hope you will find a progress.

Waiting your comments ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459552</commentid>
    <comment_count>68</comment_count>
      <attachid>105726</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-31 04:37:51 -0700</bug_when>
    <thetext>Comment on attachment 105726
Patch to add Web Inspector to WebKit2 updated.

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

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:80
&gt; +    m_view-&gt;setWindowTitle(QObject::tr(&quot;Web Inspector - &quot;) + QObject::tr(url.utf8().data()));

Problem here as we said earlier, you don&apos;t translate URLs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459624</commentid>
    <comment_count>69</comment_count>
      <attachid>105726</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-08-31 07:43:53 -0700</bug_when>
    <thetext>Comment on attachment 105726
Patch to add Web Inspector to WebKit2 updated.

Attachment 105726 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9558943</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459655</commentid>
    <comment_count>70</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-31 08:55:32 -0700</bug_when>
    <thetext>(In reply to comment #68)
&gt; (From update of attachment 105726 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105726&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:80
&gt; &gt; +    m_view-&gt;setWindowTitle(QObject::tr(&quot;Web Inspector - &quot;) + QObject::tr(url.utf8().data()));
&gt; 
&gt; Problem here as we said earlier, you don&apos;t translate URLs.

Can you, please, explain how translate URL. 

I guess you check my comments.
This methods updates Web Inspector title. And if you compare results one can see
in Web Inspector safari and Web Inspector qt, results are the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459686</commentid>
    <comment_count>71</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-31 10:04:55 -0700</bug_when>
    <thetext>(In reply to comment #70)
&gt; (In reply to comment #68)
&gt; &gt; (From update of attachment 105726 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105726&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:80
&gt; &gt; &gt; +    m_view-&gt;setWindowTitle(QObject::tr(&quot;Web Inspector - &quot;) + QObject::tr(url.utf8().data()));
&gt; &gt; 
&gt; &gt; Problem here as we said earlier, you don&apos;t translate URLs.
&gt; 
&gt; Can you, please, explain how translate URL. 

QObject::tr will trigger the translation system, you don&apos;t need to do that as there is no need to translate an URL, just like Andreas said. It didn&apos;t bug/warn/surprised you when you typed on the keyboard &quot;Can you, please, explain how translate URL.&quot;? -&gt; this sentence is totally odd.

No translation of URLs, or should I say : &quot;please remove the QObject::tr() call of QObject::tr(url.utf8().data())) and replace it by QObject::tr(Web Inspector - %1).arg(url.utf8().data()) as Andreas suggested&quot;.

Seriously...

&gt; 
&gt; I guess you check my comments.
&gt; This methods updates Web Inspector title. And if you compare results one can see
&gt; in Web Inspector safari and Web Inspector qt, results are the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459687</commentid>
    <comment_count>72</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-31 10:06:44 -0700</bug_when>
    <thetext>(In reply to comment #66)
&gt; (In reply to comment #65)
&gt; &gt; (From update of attachment 105709 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105709&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:74
&gt; &gt; &gt; +    void enableDeveloperExtras(bool enable);
&gt; &gt; &gt; +    void toggleWebInspector(bool enable);
&gt; &gt; 
&gt; &gt; Inconsistent API. Let&apos;s call both of them either &quot;enableBlahBlah&quot; or &quot;toggleBlahBlah&quot;.
&gt; &gt; Or a more &quot;WebKitty&quot; option would be setBlahBlahEnabled(bool);
&gt; &gt; 
&gt; DONE
&gt; &gt; &gt; Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp:744
&gt; &gt; &gt; +    WKPageGroupRef pageGroupRef = toAPI(toImpl(pageRef())-&gt;pageGroup());
&gt; &gt; &gt; +    WKPreferencesRef preferences = toAPI(toImpl(pageGroupRef)-&gt;preferences());
&gt; &gt; &gt; +    toImpl(preferences)-&gt;setDeveloperExtrasEnabled(enable);
&gt; &gt; 
&gt; &gt; Pointless toAPI/toImpl churn.
&gt; &gt; 
&gt; &gt; m_webPageProxy-&gt;pageGroup()-&gt;preferences()-&gt;setDeveloperExtrasEnabled(enable);
&gt; &gt; 
&gt; DONE
&gt; &gt; &gt; Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp:753
&gt; &gt; &gt; +    WKInspectorRef inspector = toAPI(toImpl(pageRef())-&gt;inspector());
&gt; &gt; &gt; +    if (enable)
&gt; &gt; &gt; +        toImpl(inspector)-&gt;show();
&gt; &gt; &gt; +    else
&gt; &gt; &gt; +        toImpl(inspector)-&gt;close();
&gt; &gt; 
&gt; &gt; Pointless toAPI/toImpl churn.
&gt; &gt; 
&gt; &gt; if (enable)
&gt; &gt;     m_webPageProxy-&gt;inspector()-&gt;show();
&gt; &gt; else
&gt; &gt;     m_webPageProxy-&gt;inspector()-&gt;close();
&gt; &gt; 
&gt; DONE
&gt; &gt; &gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:66
&gt; &gt; &gt; +    if (m_inspectorView)
&gt; &gt; &gt; +        m_inspectorView.clear();
&gt; &gt; 
&gt; &gt; No need for the null check here, clear() is always safe.
&gt; &gt; 
&gt; DONE
&gt; &gt; &gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:81
&gt; &gt; &gt; +    m_view-&gt;setWindowTitle(QObject::tr(&quot;Web Inspector - &quot;) + QObject::tr(url.utf8().data()));
&gt; &gt; 
&gt; &gt; Why on earth do we need to translate the URL?
&gt; &gt; On a related note, I don&apos;t think it makes sense to translate the &quot; - &quot; part of the string.
&gt; &gt; Either &quot;Web Inspector&quot; or &quot;Web Inspector - %1&quot; (so the translator is free to localize the string any way she/he wants.)
&gt; &gt; 
&gt; NO CHANGES
&gt; &gt; &gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:107
&gt; &gt; &gt; +    return (&quot;qrc:/webkit/inspector/inspector.html&quot;);
&gt; &gt; 
&gt; &gt; No need for () around the string.
&gt; &gt; 
&gt; DONE
&gt; &gt; &gt; Tools/ChangeLog:18
&gt; &gt; &gt; +        * MiniBrowser/qt/BrowserView.cpp:
&gt; &gt; 
&gt; &gt; A newline before this would be nice on the eyes.
&gt; &gt; 
&gt; DONE
&gt; &gt; &gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:107
&gt; &gt; &gt; +    enableDeveloperExtras = toolsMenu-&gt;addAction(&quot;Enable Developer Extras&quot;, this, SIGNAL(enteredDeveloperExtrasMode(bool)));
&gt; &gt; 
&gt; &gt; The QObject/member pair passed to addAction() is typically supposed to be a receiver/slot, rather than a sender/signal.
&gt; &gt; The fact that it isn&apos;t makes the following code particularly hard to follow.
&gt; &gt; 
&gt; &gt; It would be much more readable if the addAction() call would connect to a SLOT(onDeveloperExtrasModeChanged(bool)) (or some similar name.)
&gt; &gt; Same thing for the web inspector action.
&gt; &gt; 
&gt; DONE. If you look BrowserWindow.cpp and find same issues with:
&gt; 
&gt;   QAction* toggleFullScreen = windowMenu-&gt;addAction(&quot;Toggle FullScreen&quot;, this, SIGNAL(enteredFullScreenMode(bool)));
&gt; 
&gt; JUST REMEMBER it is not Genisim&apos;s code.

Code is not perfect otherwise we could call WebKit done. Things can be improved, let&apos;s make the new code the best we can.

&gt; 
&gt; &gt; &gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:171
&gt; &gt; &gt; +void BrowserWindow::setEnabledInvert(bool enable)
&gt; &gt; &gt; +{
&gt; &gt; &gt; +    enableDeveloperExtras-&gt;setEnabled(!enable);
&gt; &gt; &gt; +}
&gt; &gt; 
&gt; &gt; This function needs a new name, badly.
&gt; &gt; To clarify, it is not obvious what a function called &quot;setEnabledInvert&quot; will do if I call it.
&gt; &gt; In fact, it would be much nicer to fold this logic into the onWebInspectorModeChanged() slot suggested above.
&gt; &gt;
&gt; DONE partially (name changed). Logic did not moved to the onWebInspector... 
&gt; &gt; &gt; Tools/MiniBrowser/qt/BrowserWindow.h:87
&gt; &gt; &gt; +    QAction* enableDeveloperExtras;
&gt; &gt; 
&gt; &gt; Style, missing m_ prefix on member variable.
&gt; 
&gt; DONE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459688</commentid>
    <comment_count>73</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-31 10:09:20 -0700</bug_when>
    <thetext>(In reply to comment #71)
&gt; (In reply to comment #70)
&gt; &gt; (In reply to comment #68)
&gt; &gt; &gt; (From update of attachment 105726 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105726&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:80
&gt; &gt; &gt; &gt; +    m_view-&gt;setWindowTitle(QObject::tr(&quot;Web Inspector - &quot;) + QObject::tr(url.utf8().data()));
&gt; &gt; &gt; 
&gt; &gt; &gt; Problem here as we said earlier, you don&apos;t translate URLs.
&gt; &gt; 
&gt; &gt; Can you, please, explain how translate URL. 
&gt; 
&gt; QObject::tr will trigger the translation system, you don&apos;t need to do that as there is no need to translate an URL, just like Andreas said. It didn&apos;t bug/warn/surprised you when you typed on the keyboard &quot;Can you, please, explain how translate URL.&quot;? -&gt; this sentence is totally odd.
&gt; 
&gt; No translation of URLs, or should I say : &quot;please remove the QObject::tr() call of QObject::tr(url.utf8().data())) and replace it by QObject::tr(Web Inspector - %1).arg(url.utf8().data()) as Andreas suggested&quot;.

And btw my head is not a compiler, check that it compiles + there is no better way than url.utf8().data(). 

&gt; 
&gt; Seriously...
&gt; 
&gt; &gt; 
&gt; &gt; I guess you check my comments.
&gt; &gt; This methods updates Web Inspector title. And if you compare results one can see
&gt; &gt; in Web Inspector safari and Web Inspector qt, results are the same.

So url is the string &quot;Qt&quot; I&apos;m confused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459689</commentid>
    <comment_count>74</comment_count>
      <attachid>105726</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-31 10:11:45 -0700</bug_when>
    <thetext>Comment on attachment 105726
Patch to add Web Inspector to WebKit2 updated.

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

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.h:33
&gt; +#include &lt;qdesktopwebview.h&gt;

This is wrong it will not build on other ports. Protect it just like below.

-&gt; translated to &quot;#if PLATFORM(QT) ... #endif&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459753</commentid>
    <comment_count>75</comment_count>
      <attachid>105798</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-31 11:16:46 -0700</bug_when>
    <thetext>Created attachment 105798
Patch to add Web Inspector to WebKit2 updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459875</commentid>
    <comment_count>76</comment_count>
      <attachid>105798</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-08-31 13:45:36 -0700</bug_when>
    <thetext>Comment on attachment 105798
Patch to add Web Inspector to WebKit2 updated.

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

&gt; Source/WebKit2/ChangeLog:13
&gt; +        Implemented Qt platform methods for Web Inspector
&gt; +        One will activate Web Inspector from qdesktopwebview
&gt; +        and qtouchwebview views. With current patch Web Inspector
&gt; +        for both cases using qdesktopwebview
&gt; +        &quot;Enable Developer Extras&quot; and &quot;Toggle WebInspector&quot; features
&gt; +        implemented in QtWebPageProxy common for both views

Grammar for this Changelog entry is totally unreadable.

&gt; Source/WebKit2/UIProcess/WebInspectorProxy.h:57
&gt; +#if PLATFORM(QT)
&gt; +#include &lt;qdesktopwebview.h&gt;
&gt; +#include &lt;qsgview.h&gt;
&gt; +
&gt; +class QDesktopWebView;
&gt; +class QObject;
&gt; +#endif

If you include those files declaring the classes is redundant.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:45
&gt; +    ASSERT(m_inspectorView);

Please remove this assert.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:57
&gt; +    ASSERT(m_view);

Please remove this assert.

&gt; Tools/MiniBrowser/qt/BrowserView.cpp:104
&gt; +void BrowserView::enableDeveloperExtrasMode(bool enable)
&gt; +{
&gt; +    if (desktopWebView())
&gt; +        desktopWebView()-&gt;setDeveloperExtrasEnabled(enable);
&gt; +    else
&gt; +        touchWebView()-&gt;setDeveloperExtrasEnabled(enable);
&gt; +}
&gt; +
&gt; +void BrowserView::toggleWebInspectorMode(bool enable)
&gt; +{
&gt; +    if (desktopWebView())
&gt; +        desktopWebView()-&gt;setWebInspectorEnabled(enable);
&gt; +    else
&gt; +        touchWebView()-&gt;setWebInspectorEnabled(enable);
&gt; +}
&gt; +

Naming consistency:
setDeveloperExtrasEnabled
setWebInspectorModeEnabled

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:119
&gt; +    toggleWebInspector-&gt;connect(this, SIGNAL(enteredDeveloperExtrasMode(bool)), SLOT(setEnabled(bool)));
&gt; +    toggleWebInspector-&gt;connect(this, SIGNAL(enteredWebInspectorMode(bool)), SLOT(setChecked(bool)));
&gt; +    m_enableDeveloperExtras-&gt;connect(this, SIGNAL(enteredWebInspectorMode(bool)), this, SLOT(changeDeveloperExtrasMode(bool)));
&gt; +    connect(this, SIGNAL(enteredWebInspectorMode(bool)), this, SLOT(toggleWebInspectorMode(bool)));

Instead of doing this with signals and slot, please call those functions explicitly in onDeveloperExtrasModeChanged or onWebInspectorModeChanged. will be much more readable, and you won&apos;t need changeDeveloperExtrasMode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459941</commentid>
    <comment_count>77</comment_count>
      <attachid>105830</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-31 14:44:56 -0700</bug_when>
    <thetext>Created attachment 105830
Patch to add Web Inspector to WebKit2 updated.

Changes done according Noam&apos;s comments:
  asserts - removed
  Source/WebKit2/ChangeLog - updated
  Naming consistency - no changes Noam agreed with current names
  hard understandable SIGNAL - SLOT - removed, functionality moves to suggested functions

Please review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459963</commentid>
    <comment_count>78</comment_count>
      <attachid>105836</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-31 15:00:35 -0700</bug_when>
    <thetext>Created attachment 105836
Patch to add Web Inspector to WebKit2 updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459981</commentid>
    <comment_count>79</comment_count>
      <attachid>105836</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-08-31 15:25:39 -0700</bug_when>
    <thetext>Comment on attachment 105836
Patch to add Web Inspector to WebKit2 updated.

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

&gt; Source/WebKit2/ChangeLog:9
&gt; +        With current patch Web Inspector page using qdesktopwebview only.

QDesktopWebView and not qdesktopwebview.
Add something like &quot;We create a QDesktopWebView that render the inspector, and a QSGView to display it&quot;, since that&apos;s what the patch does.

&gt; Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp:68
&gt; +    if (m_view) {
&gt; +        m_view-&gt;close();
&gt; +        m_view.clear();
&gt; +    }

m_view.clear() should be enough, no need for the null check and close IIRC.

&gt; Tools/ChangeLog:15
&gt; +        1. &quot;Enable Developer Extras&quot; available, not selected
&gt; +           &quot;Toggle Web Inspector&quot; unavailable, not selected
&gt; +        2. &quot;Enable Developer Extras&quot; available, selected
&gt; +            &quot;Toggle Web Inspector&quot; available, not selected
&gt; +        3. &quot;Enable Developer Extras&quot; unavailable, selected
&gt; +           &quot;Toggle Web Inspector&quot; available, selected

No need for this. The next two lines say enough.

&gt; Tools/ChangeLog:16
&gt; +        User can start Web Inspector only after &quot;Enable Developer Extras&quot; was selected

Period at end of sentence.

&gt; Tools/ChangeLog:17
&gt; +        User can&apos;t disable &quot;Enable Developer Extras&quot; when Web Inspector is running

Period at end of sentence.

&gt; Tools/MiniBrowser/qt/BrowserWindow.h:59
&gt; +    void enteredWebInspectorMode(bool on);
&gt; +    void enteredDeveloperExtrasMode(bool on);

This is a bit strange, but I guess it&apos;s consistent with enteredFullScreenMode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460022</commentid>
    <comment_count>80</comment_count>
      <attachid>105850</attachid>
    <who name="Genisim">genisim</who>
    <bug_when>2011-08-31 16:08:15 -0700</bug_when>
    <thetext>Created attachment 105850
Patch to add Web Inspector to WebKit2 updated.

Patch updated according to latest comments.

Please review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460023</commentid>
    <comment_count>81</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-08-31 16:11:11 -0700</bug_when>
    <thetext>(In reply to comment #80)
&gt; Created an attachment (id=105850) [details]
&gt; Patch to add Web Inspector to WebKit2 updated.
&gt; 
&gt; Patch updated according to latest comments.
&gt; 
&gt; Please review

I&apos;m generally ok with this patch. Since there have been a lot of people involved, I&apos;d appreciate if additional people would approve.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460340</commentid>
    <comment_count>82</comment_count>
      <attachid>105850</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-09-01 02:27:38 -0700</bug_when>
    <thetext>Comment on attachment 105850
Patch to add Web Inspector to WebKit2 updated.

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

How can a patch go through so many iterations and still so so wrong?

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:53
&gt; +namespace WebKit {
&gt; +    class WebInspectorProxy;
&gt; +}

We don&apos;t indent in namespaces.

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:74
&gt; +    void setDeveloperExtrasEnabled(bool);
&gt; +    void setWebInspectorEnabled(bool);

We don&apos;t have settings on the QDesktopWebView.  That is just plain wrong.

&gt; Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp:743
&gt; +void QtWebPageProxy::setDeveloperExtrasEnabled(bool enable)
&gt; +{
&gt; +    m_webPageProxy-&gt;pageGroup()-&gt;preferences()-&gt;setDeveloperExtrasEnabled(enable);
&gt; +}

This totally doesn&apos;t belong here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460402</commentid>
    <comment_count>83</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-01 06:16:35 -0700</bug_when>
    <thetext>Adding some people who care about Qt API&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460413</commentid>
    <comment_count>84</comment_count>
      <attachid>105850</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2011-09-01 06:43:14 -0700</bug_when>
    <thetext>Comment on attachment 105850
Patch to add Web Inspector to WebKit2 updated.

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

&gt; Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp:751
&gt; +void QtWebPageProxy::setWebInspectorEnabled(bool enable)
&gt; +{
&gt; +    if (enable)
&gt; +        m_webPageProxy-&gt;inspector()-&gt;show();
&gt; +    else
&gt; +        m_webPageProxy-&gt;inspector()-&gt;close();
&gt; +}

Before trying to create APIs blindly by binding to Qt what is already in WebKit2 we should ask ourself how is the inspector going to be used, and how we can make it both easy to use and flexible.

Especially for the touch view, a cross-device remote inspector is necessary, and this is the main concern for WebKit2 and Qt5 right now.
In the end we want QtCreator or any desktop front-end of the developer to have the ability to inspect a page on a development device. I think that the desktop should also be considered but that it&apos;s way of doing things should be as near as possible to the way of the touch view since it will always be simpler.

I think that magically popping a top level window is not the right approach for those reasons, and we should focus first on designing remote inspection before exposing API. Local inspection within the MiniBrowser could then just use the remote channel and pop the top level window itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460422</commentid>
    <comment_count>85</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2011-09-01 07:03:58 -0700</bug_when>
    <thetext>(In reply to comment #84)
Ok I was wrong seeing too far in the future here. Having something that works now is possible and this is a step forward so ignore my previous comment.

What really annoys me is that we were able to avoid those set***Enabled things to grow all over the place until now but this day has come and that&apos;s all. We will have to move them to some QWebSettings equivalent at some point.
The inspector will need to be enabled anyway to open the back door, and we can change this setWebInspectorEnabled method to open this door instead of popping up the window.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460458</commentid>
    <comment_count>86</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-09-01 07:51:50 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:74
&gt; &gt; +    void setDeveloperExtrasEnabled(bool);
&gt; &gt; +    void setWebInspectorEnabled(bool);
&gt; 
&gt; We don&apos;t have settings on the QDesktopWebView.  That is just plain wrong.
&gt; 

I think this is an outcome of not having a settings class. How do you suggest we proceed? Not have inspector in until we have a settings class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460613</commentid>
    <comment_count>87</comment_count>
    <who name="Genisim">genisim</who>
    <bug_when>2011-09-01 11:01:31 -0700</bug_when>
    <thetext>(In reply to comment #82)
&gt; (From update of attachment 105850 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105850&amp;action=review
&gt; 
&gt; How can a patch go through so many iterations and still so so wrong?
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:53
&gt; &gt; +namespace WebKit {
&gt; &gt; +    class WebInspectorProxy;
&gt; &gt; +}
&gt; 
&gt; We don&apos;t indent in namespaces.
&gt; 


 1. no namespace brackets generates follow errors

UIProcess/API/qt/qdesktopwebview.h:124: error: ‘WebInspectorProxy’ in namespace ‘WebKit’ does not name a type

/scratchbox/users/genisim/home/genisim/swork/webkit_upstream/webkit_trunk/trunk_qt5/Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:124: error: friend declaration does not name a class or function

 2. I got suggestions don&apos;t use includes and use classes forward declarations.

 3. If it is a rule - &quot;don&apos;t indent in namespaces&quot;, will be good clean a code.
If you check code, you will find many places with &quot;indent in namespaces&quot;.
Or maybe it is a special exceptions - here allow to use and here not.

&gt; &gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:74
&gt; &gt; +    void setDeveloperExtrasEnabled(bool);
&gt; &gt; +    void setWebInspectorEnabled(bool);
&gt; 
&gt; We don&apos;t have settings on the QDesktopWebView.  That is just plain wrong.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp:743
&gt; &gt; +void QtWebPageProxy::setDeveloperExtrasEnabled(bool enable)
&gt; &gt; +{
&gt; &gt; +    m_webPageProxy-&gt;pageGroup()-&gt;preferences()-&gt;setDeveloperExtrasEnabled(enable);
&gt; &gt; +}
&gt; 
&gt; This totally doesn&apos;t belong here

It is a long history for this patch and many different variants:
  1. API calling directly from app MiniBrowser (declined)
  2. Was asking - maybe need create new class (declined)
  3. Was calling set... into qdesktopwebview and qtouchwebview (declined. Make sense to me, because from both views calling same API. Maybe make sense if API will be different)

Please come to consensus and send me comments (summary) which is accepted by
all of you (I understand how difficult do this, but please try)

All platforms are using Web Inspector - MAC, Win, and I hope Qt will join to platforms which using Web Inspector too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465802</commentid>
    <comment_count>88</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2011-09-12 14:40:35 -0700</bug_when>
    <thetext>(In reply to comment #85 and #86)
I guess there is a general &quot;urge&quot; for discussing Qt API&apos;s for WK2. This is becoming more clear every day...


(In reply to comment #87)
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:53
&gt; &gt; &gt; +namespace WebKit {
&gt; &gt; &gt; +    class WebInspectorProxy;
&gt; &gt; &gt; +}
&gt; &gt; 
&gt; &gt; We don&apos;t indent in namespaces.
&gt; &gt; 
&gt;
&gt;
&gt;  1. no namespace brackets generates follow errors

I think here the reviewer meant that you shouldn&apos;t indent code inside the namespace scope and not that you should remove it (the brackets).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505487</commentid>
    <comment_count>89</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-17 21:52:35 -0800</bug_when>
    <thetext>Jocelyn is on this right now and after much discussion we realize that we can cover the majority of particularly interesting use-cases right now with support for the remote web inspector. A patch is in progress that will allow enabling it via an environment variable, thus making it accessible to any Qt 5 application using the QQuickWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534769</commentid>
    <comment_count>90</comment_count>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2012-01-12 05:51:18 -0800</bug_when>
    <thetext>(In reply to comment #89)
&gt; Jocelyn is on this right now and after much discussion we realize that we can cover the majority of particularly interesting use-cases right now with support for the remote web inspector. A patch is in progress that will allow enabling it via an environment variable, thus making it accessible to any Qt 5 application using the QQuickWebView.

Simon, is this ready? If so, how can we use it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534771</commentid>
    <comment_count>91</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-01-12 06:05:42 -0800</bug_when>
    <thetext>(In reply to comment #90)
&gt; Simon, is this ready? If so, how can we use it?

Not yet, see bug #73094.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534784</commentid>
    <comment_count>92</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2012-01-12 06:32:38 -0800</bug_when>
    <thetext>(In reply to comment #90)
&gt; (In reply to comment #89)
&gt; &gt; Jocelyn is on this right now and after much discussion we realize that we can cover the majority of particularly interesting use-cases right now with support for the remote web inspector. A patch is in progress that will allow enabling it via an environment variable, thus making it accessible to any Qt 5 application using the QQuickWebView.
&gt; 
&gt; Simon, is this ready? If so, how can we use it?

At least for me this does not work out of the box. I applied Jocelyn&apos;s patches from 73092, 73852, 73093, 73855 and 73094.
So far, I have been fighting with qrc resources not being found, and it is not clear to me if we can really load qrc resources that are in the web process, through the UI process. e.g. we try to load inspector.html from the UI process, but it is packaged with the web process, so we don&apos;t find it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782458</commentid>
    <comment_count>93</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-12-04 04:11:52 -0800</bug_when>
    <thetext>What&apos;t the status of this bug? I wouldn&apos;t mind helping BTW</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782489</commentid>
    <comment_count>94</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-12-04 05:45:41 -0800</bug_when>
    <thetext>(In reply to comment #93)
&gt; What&apos;t the status of this bug? I wouldn&apos;t mind helping BTW

We have decided to use only the remote web inspector for Qt. Landed in bug #73855 a few months ago.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103018</attachid>
            <date>2011-08-04 18:24:00 -0700</date>
            <delta_ts>2011-08-09 00:18:27 -0700</delta_ts>
            <desc>Patch to add Web Inspector feature to WebKit2 Qt 4.7 MiniBrowser. </desc>
            <filename>webinspector_for_webkit2_qt4_7.patch</filename>
            <type>text/plain</type>
            <size>10860</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDkyNDM3
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTEgQEAKKzIwMTEtMDgt
MDQgIEdlbmlzaW0gVHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBX
ZWJJbnNwZWN0b3IgdG8gV2ViS2l0MiBRdDQuNyAocmV2aXNpb24gOTE4NjApIE1pbmlCcm93c2Vy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3Vy
Y2UvV2ViS2l0LnBybzogZW5hYmxlIFF0IDQuNworCiAyMDExLTA4LTAzICBLZXZpbiBPbGxpdmll
ciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgogCiAgICAgICAgIFt3eF0gVW5yZXZpZXdlZCBi
dWlsZCBmaXggYWZ0ZXIgZ2VzdHVyZSByZWNvZ25pemVyIGNoYW5nZXMuCkluZGV4OiBTb3VyY2Uv
V2ViS2l0LnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0LnBybwkocmV2aXNpb24gOTE4
NjApCisrKyBTb3VyY2UvV2ViS2l0LnBybwkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAg
aW5jbHVkZShXZWJLaXQucHJpKQogfQogCiB3ZWJraXQyIHsKLSAgICBsZXNzVGhhbihRVF9NQUpP
Ul9WRVJTSU9OLCA1KSB7CisgICAgbGVzc1RoYW4oUVRfTUFKT1JfVkVSU0lPTiwgNCkgewogICAg
ICAgICBtZXNzYWdlKCJCdWlsZGluZyBXZWJLaXQyIHdpdGggUXQgdmVyc2lvbnMgb2xkZXIgdGhh
biA1LjAgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4iKQogICAgICAgICBtZXNzYWdlKCJSZWFkIGh0
dHA6Ly93d3cubWFpbC1hcmNoaXZlLmNvbS93ZWJraXQtcXRAbGlzdHMud2Via2l0Lm9yZy9tc2cw
MTY3NC5odG1sIGZvciBtb3JlIGluZm9ybWF0aW9uLiIpCiAgICAgICAgIGVycm9yKCJBYm9ydGlu
ZyBidWlsZC4iKQpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gOTI0MzcpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAxMS0wOC0w
NCAgR2VuaXNpbSBUc2lsa2VyICA8Z2VuaXNpbUB5YWhvby5jb20+CisKKyAgICAgICAgQWRkIFdl
Ykluc3BlY3RvciB0byBXZWJLaXQyIFF0NC43IChyZXZpc2lvbiA5MTg2MCkgTWluaUJyb3dzZXIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWRl
c2t0b3B3ZWJ2aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OldlYkluc3BlY3RvclByb3h5
KToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OmludmFsaWRhdGUpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVj
dG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9wZW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
bnNwZWN0b3JQcm94eTo6cGxhdGZvcm1EaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yUGFnZVVSTCk6CisKIDIwMTEtMDgtMDQg
IE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBGdXR1cmUtcHJvb2YgWGNv
ZGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJJbnNwZWN0b3JQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAkocmV2aXNpb24gOTE4NjApCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC03Myw2ICs3MywxMSBAQCBXZWJJbnNwZWN0b3JQcm94eTo6V2ViSW5zcGVjdG9yUHJveHkoV2Vi
CiAjaWYgUExBVEZPUk0oV0lOKQogICAgICwgbV9pbnNwZWN0b3JXaW5kb3coMCkKICNlbmRpZgor
I2lmIFBMQVRGT1JNKFFUKQorICAgICwgbV92aWV3KDApCisgICAgLCBtX3NjZW5lKDApCisgICAg
LCBtX2luc3BlY3RvclZpZXcoMCkKKyNlbmRpZgogewogfQogCkBAIC04Niw2ICs5MSwxMSBAQCB2
b2lkIFdlYkluc3BlY3RvclByb3h5OjppbnZhbGlkYXRlKCkKICAgICBkaWRDbG9zZSgpOwogCiAg
ICAgbV9wYWdlID0gMDsKKyAgICBtX2luc3BlY3RvclZpZXcgPSAwOworI2lmIFBMQVRGT1JNKFFU
KQorICAgIG1fc2NlbmUgPSAwOworICAgIG1fdmlldyA9IDA7CisjZW5kaWYKIAogICAgIG1faXNW
aXNpYmxlID0gZmFsc2U7CiAgICAgbV9pc0RlYnVnZ2luZ0phdmFTY3JpcHQgPSBmYWxzZTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCShyZXZp
c2lvbiA5MTg2MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94
eS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0NiwxMiBAQCBPQkpDX0NMQVNTIFdlYkluc3Bl
Y3RvcldLVmlldzsKICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01lc3NhZ2VMaXN0ZW5lci5oPgog
I2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKKyNpbmNsdWRlIDxXS1ZpZXcuaD4KKyNpbmNsdWRl
IDxRR3JhcGhpY3NWaWV3PgorI2luY2x1ZGUgPFFHcmFwaGljc1NjZW5lPgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJQYWdlR3JvdXA7CkBAIC0xNjksNiArMTc1LDEw
IEBAIHByaXZhdGU6CiAjZWxpZiBQTEFURk9STShXSU4pCiAgICAgSFdORCBtX2luc3BlY3Rvcldp
bmRvdzsKICAgICBSZWZQdHI8V2ViVmlldz4gbV9pbnNwZWN0b3JWaWV3OworI2VsaWYgUExBVEZP
Uk0oUVQpCisgICAgUUdyYXBoaWNzVmlldyogbV92aWV3OworICAgIFFHcmFwaGljc1NjZW5lKiBt
X3NjZW5lOworICAgIFFEZXNrdG9wV2ViVmlldyogbV9pbnNwZWN0b3JWaWV3OwogI2VuZGlmCiB9
OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3IuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3Iu
aAkocmV2aXNpb24gOTE4NjApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJ
bnNwZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiAjaW5jbHVkZSA8
V2ViS2l0Mi9XS0Jhc2UuaD4KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCisjaWYgZGVmaW5lZChF
TkFCTEVfSU5TUEVDVE9SKSAmJiBFTkFCTEVfSU5TUEVDVE9SCiAKICNpZm5kZWYgX19jcGx1c3Bs
dXMKICNpbmNsdWRlIDxzdGRib29sLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgJKHJldmlzaW9uIDkxODYwKQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuaAkod29ya2luZyBj
b3B5KQpAQCAtNDksNiArNDksOSBAQCBwdWJsaWM6CiAgICAgUVVybCB1cmwoKSBjb25zdDsKICAg
ICBRU3RyaW5nIHRpdGxlKCkgY29uc3Q7CiAKKyAgICBRRGVza3RvcFdlYlZpZXcoV0tDb250ZXh0
UmVmLCBXS1BhZ2VHcm91cFJlZik7CisgICAgV0tQYWdlUmVmIHBhZ2VSZWYoKSBjb25zdDsKKwog
ICAgIFFfSU5WT0tBQkxFIFFBY3Rpb24qIG5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6Ok5hdmln
YXRpb25BY3Rpb24gd2hpY2gpIGNvbnN0OwogCiBwdWJsaWMgUV9TTE9UUzoKQEAgLTcwLDggKzcz
LDYgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBldmVudChRRXZlbnQqKTsKIAogcHJp
dmF0ZToKLSAgICBRRGVza3RvcFdlYlZpZXcoV0tDb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZik7
Ci0gICAgV0tQYWdlUmVmIHBhZ2VSZWYoKSBjb25zdDsKIAogICAgIHZvaWQgaW5pdCgpOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclBy
b3h5UXQuY3BwCShyZXZpc2lvbiA5MTg2MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMjMgKzMwLDQ5
IEBACiAKICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3X3AuaD4KKyNpbmNs
dWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViUGFnZVByb3h5KiBXZWJJbnNwZWN0b3JQcm94eTo6
cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdlKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwot
ICAgIHJldHVybiAwOworICAgIEFTU0VSVChtX3BhZ2UpOworICAgIEFTU0VSVCghbV9pbnNwZWN0
b3JWaWV3KTsKKyAgICBtX2luc3BlY3RvclZpZXcgPSBuZXcgUURlc2t0b3BXZWJWaWV3KHRvQVBJ
KHBhZ2UoKS0+cHJvY2VzcygpLT5jb250ZXh0KCkpLCB0b0FQSShpbnNwZWN0b3JQYWdlR3JvdXAo
KSkpOworICAgIAorICAgIEFTU0VSVChtX2luc3BlY3RvclZpZXcpOworICAgIG1faW5zcGVjdG9y
Vmlldy0+c2V0R2VvbWV0cnkoMCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93
SGVpZ2h0KTsKKyAgICByZXR1cm4gdG9JbXBsKG1faW5zcGVjdG9yVmlldy0+cGFnZVJlZigpKTsK
IH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKCkKIHsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIGlmICghbV9zY2VuZSkKKyAgICAgICAgbV9zY2VuZSA9IG5ldyBR
R3JhcGhpY3NTY2VuZSgpOworICAgIG1fc2NlbmUtPmFkZEl0ZW0obV9pbnNwZWN0b3JWaWV3KTsK
KyAgICAKKyAgICBBU1NFUlQoIW1fdmlldyk7CisgICAgbV92aWV3ID0gbmV3IFFHcmFwaGljc1Zp
ZXcobV9zY2VuZSk7CisgICAgQVNTRVJUKG1fdmlldyk7CisgICAgbV92aWV3LT5zaG93KCk7CiB9
CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGlkQ2xvc2UoKQogewotICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgaWYgKG1faW5zcGVjdG9yVmlldykgeworICAgICAgICBtX2lu
c3BlY3RvclZpZXctPmNsb3NlKCk7CisgICAgICAgIG1faW5zcGVjdG9yVmlldyA9IDA7CisgICAg
fQorICAgIAorICAgIGlmIChtX3NjZW5lKQorICAgICAgICBtX3NjZW5lLT5jbGVhcigpOworICAg
IAorICAgIGlmIChtX3ZpZXcpIHsKKyAgICAgICAgbV92aWV3LT5jbG9zZSgpOworICAgICAgICBt
X3ZpZXcgPSAwOworICAgIH0KIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1C
cmluZ1RvRnJvbnQoKQpAQCAtNTQsOSArODAsOSBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9ybUJyaW5nVG9GCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJJbnNw
ZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYpCit2
b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3Qg
U3RyaW5nJiB1cmwpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX3ZpZXctPnNldFdp
bmRvd1RpdGxlKFFTdHJpbmc6OmZyb21Bc2NpaSgiV2ViIEluc3BlY3RvciAtICIpK1FTdHJpbmc6
OmZyb21Bc2NpaSh1cmwudXRmOCgpLmRhdGEoKSkpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclBy
b3h5OjpwbGF0Zm9ybUF0dGFjaCgpCkBAIC03Niw4ICsxMDIsNyBAQCB2b2lkIFdlYkluc3BlY3Rv
clByb3h5OjpwbGF0Zm9ybVNldEF0dGFjCiAKIFN0cmluZyBXZWJJbnNwZWN0b3JQcm94eTo6aW5z
cGVjdG9yUGFnZVVSTCgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1
cm4gU3RyaW5nKCk7CisgICAgcmV0dXJuICgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rv
ci5odG1sIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogVG9vbHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gOTI0MzcpCisrKyBU
b29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wOC0w
NCAgR2VuaXNpbSBUc2lsa2VyICA8Z2VuaXNpbUB5YWhvby5jb20+CisKKyAgICAgICAgQWRkIFdl
Ykluc3BlY3RvciB0byBXZWJLaXQyIFF0NC43IChyZXZpc2lvbiA5MTg2MCkgTWluaUJyb3dzZXIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1pbmlC
cm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6QnJv
d3NlcldpbmRvdyk6CisgICAgICAgIChCcm93c2VyV2luZG93Ojp0b2dnbGVXZWJJbnNwZWN0b3Ip
OgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaDoKKwogMjAxMS0wOC0w
NCAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1dHVyZS1wcm9vZiBY
Y29kZSBjb25maWd1cmF0aW9uIHNldHRpbmdzLgpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQv
QnJvd3NlcldpbmRvdy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJv
d3NlcldpbmRvdy5jcHAJKHJldmlzaW9uIDkxODYwKQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQv
QnJvd3NlcldpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDEwICsyOCwxNyBAQAogCiAj
aW5jbHVkZSAiQnJvd3NlcldpbmRvdy5oIgogCisjaW5jbHVkZSA8V0tJbnNwZWN0b3IuaD4KKyNp
bmNsdWRlIDxXS1BhZ2VQcml2YXRlLmg+CisjaW5jbHVkZSA8V0tQYWdlR3JvdXAuaD4KKyNpbmNs
dWRlIDxXS1ByZWZlcmVuY2VzLmg+CisjaW5jbHVkZSA8V0tQcmVmZXJlbmNlc1ByaXZhdGUuaD4K
KwogI2luY2x1ZGUgIlVybExvYWRlci5oIgogI2luY2x1ZGUgInFkZXNrdG9wd2Vidmlldy5oIgog
I2luY2x1ZGUgInF0b3VjaHdlYnZpZXcuaCIKICNpbmNsdWRlICJxdG91Y2h3ZWJwYWdlLmgiCisj
aW5jbHVkZSAicXdlYnNldHRpbmdzLmgiCiAKICNpZiBkZWZpbmVkKFFUX0NPTkZJR1VSRURfV0lU
SF9PUEVOR0wpCiAjaW5jbHVkZSA8UUdMV2lkZ2V0PgpAQCAtNTgsNiArNjUsNyBAQCBCcm93c2Vy
V2luZG93OjpCcm93c2VyV2luZG93KFdpbmRvd09wdGlvCiAgICAgfQogCiAgICAgbV9icm93c2Vy
ID0gbmV3IEJyb3dzZXJWaWV3KG1fd2luZG93T3B0aW9ucy51c2VUb3VjaFdlYlZpZXcpOworICAg
IFFEZXNrdG9wV2ViVmlldyogY29uc3QgZGVza3RvcFdlYlZpZXcgPSBtX2Jyb3dzZXItPmRlc2t0
b3BXZWJWaWV3KCk7CiAKICNpZiBkZWZpbmVkKFFUX0NPTkZJR1VSRURfV0lUSF9PUEVOR0wpCiAg
ICAgaWYgKG1fd2luZG93T3B0aW9ucy51c2VRR0xXaWRnZXRWaWV3cG9ydCkKQEAgLTczLDcgKzgx
LDcgQEAgQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyhXaW5kb3dPcHRpbwogICAgIGlmICht
X3dpbmRvd09wdGlvbnMucHJpbnRMb2FkZWRVcmxzKQogICAgICAgICBjb25uZWN0KHdlYlZpZXco
KSwgU0lHTkFMKHVybENoYW5nZWQoUVVybCkpLCB0aGlzLCBTTE9UKHByaW50VVJMKFFVcmwpKSk7
CiAKLSAgICBpZiAoUURlc2t0b3BXZWJWaWV3KiBjb25zdCBkZXNrdG9wV2ViVmlldyA9IG1fYnJv
d3Nlci0+ZGVza3RvcFdlYlZpZXcoKSkKKyAgICBpZiAoZGVza3RvcFdlYlZpZXcpCiAgICAgICAg
IGNvbm5lY3QoZGVza3RvcFdlYlZpZXcsIFNJR05BTChzdGF0dXNCYXJNZXNzYWdlQ2hhbmdlZChR
U3RyaW5nKSksIHN0YXR1c0JhcigpLCBTTE9UKHNob3dNZXNzYWdlKFFTdHJpbmcpKSk7CiAKICAg
ICB0aGlzLT5zZXRDZW50cmFsV2lkZ2V0KG1fYnJvd3Nlcik7CkBAIC0xMTgsNiArMTI2LDEyIEBA
IEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3coV2luZG93T3B0aW8KICAgICB0b2dnbGVHTFZp
ZXdwb3J0LT5zZXRDaGVja2FibGUodHJ1ZSk7CiAgICAgdG9nZ2xlR0xWaWV3cG9ydC0+c2V0Q2hl
Y2tlZChtX3dpbmRvd09wdGlvbnMudXNlUUdMV2lkZ2V0Vmlld3BvcnQpOwogI2VuZGlmCisgICAg
aWYgKGRlc2t0b3BXZWJWaWV3KSB7CisgICAgICAgIFFBY3Rpb24qIHRvZ2dsZVdlYkluc3BlY3Rv
ciA9IHRvb2xzTWVudS0+YWRkQWN0aW9uKCJTaG93IFdlYiBJbnNwZWN0b3IiLCB0aGlzLCBTTE9U
KHRvZ2dsZVdlYkluc3BlY3RvcigpKSk7CisgICAgICAgIHRvZ2dsZVdlYkluc3BlY3Rvci0+c2V0
Q2hlY2thYmxlKHRydWUpOworICAgICAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPnNldENoZWNrZWQo
ZmFsc2UpOworICAgIH0KKwogICAgIHRvb2xzTWVudS0+YWRkU2VwYXJhdG9yKCk7CiAgICAgdG9v
bHNNZW51LT5hZGRBY3Rpb24oIkNoYW5nZSBVc2VyIEFnZW50IiwgdGhpcywgU0xPVChzaG93VXNl
ckFnZW50RGlhbG9nKCkpKTsKICAgICB0b29sc01lbnUtPmFkZFNlcGFyYXRvcigpOwpAQCAtMjQ1
LDYgKzI1OSwyMiBAQCB2b2lkIEJyb3dzZXJXaW5kb3c6OnNjcmVlbnNob3QoKQogICAgIH0KIH0K
IAordm9pZCBCcm93c2VyV2luZG93Ojp0b2dnbGVXZWJJbnNwZWN0b3IoKQoreworICAgIFFEZXNr
dG9wV2ViVmlldyogY29uc3QgZGVza3RvcFdlYlZpZXcgPSBtX2Jyb3dzZXItPmRlc2t0b3BXZWJW
aWV3KCk7CisgICAgaWYgKGRlc2t0b3BXZWJWaWV3KSB7CisgICAgICAgIFdLUGFnZUdyb3VwUmVm
IG1fcGFnZUdyb3VwUmVmID0gV0tQYWdlR2V0UGFnZUdyb3VwKGRlc2t0b3BXZWJWaWV3LT5wYWdl
UmVmKCkpOworICAgICAgICBXS1ByZWZlcmVuY2VzUmVmIG1fcHJlZmVyZW5jZXMgPSBXS1BhZ2VH
cm91cEdldFByZWZlcmVuY2VzKG1fcGFnZUdyb3VwUmVmKTsKKyAgICAgICAgaWYgKFdLSW5zcGVj
dG9ySXNWaXNpYmxlKFdLUGFnZUdldEluc3BlY3RvcihkZXNrdG9wV2ViVmlldy0+cGFnZVJlZigp
KSkpIHsgCisgICAgICAgICAgICBXS1ByZWZlcmVuY2VzU2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxl
ZChtX3ByZWZlcmVuY2VzLCBmYWxzZSk7CisgICAgICAgICAgICBXS0luc3BlY3RvckNsb3NlKFdL
UGFnZUdldEluc3BlY3RvcihkZXNrdG9wV2ViVmlldy0+cGFnZVJlZigpKSk7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBXS1ByZWZlcmVuY2VzU2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxl
ZChtX3ByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICAgICAgICAgIFdLSW5zcGVjdG9yU2hvdyhXS1Bh
Z2VHZXRJbnNwZWN0b3IoZGVza3RvcFdlYlZpZXctPnBhZ2VSZWYoKSkpOworICAgICAgICB9Cisg
ICAgfSAKK30KKwogdm9pZCBCcm93c2VyV2luZG93Ojp0b2dnbGVGdWxsU2NyZWVuTW9kZShib29s
IGVuYWJsZSkKIHsKICAgICBib29sIGFscmVhZHlFbmFibGVkID0gd2luZG93U3RhdGUoKSAmIFF0
OjpXaW5kb3dGdWxsU2NyZWVuOwpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3Nlcldp
bmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cu
aAkocmV2aXNpb24gOTE4NjApCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93
LmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAgcHJvdGVjdGVkIHNsb3RzOgogICAg
IHZvaWQgcHJpbnRVUkwoY29uc3QgUVVybCYpOwogCiAgICAgdm9pZCB0b2dnbGVHTFZpZXdwb3J0
KGJvb2wpOwotCisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3IoKTsKIHByaXZhdGU6CiAgICAg
dm9pZCB1cGRhdGVVc2VyQWdlbnRMaXN0KCk7CiAK
</data>
<flag name="review"
          id="98460"
          type_id="1"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103333</attachid>
            <date>2011-08-09 00:18:27 -0700</date>
            <delta_ts>2011-08-30 15:36:50 -0700</delta_ts>
            <desc>Patch to add Web Inspector feature to WebKit2 Qt 4.7 MiniBrowser. (works with Qt 4.7, does not support Qt 5)</desc>
            <filename>webinspector_for_webkit2_qt4_7.patch</filename>
            <type>text/plain</type>
            <size>12208</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDkyNDM3
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTEgQEAKKzIwMTEtMDgt
MDggIEdlbmlzaW0gVHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBX
ZWJJbnNwZWN0b3IgdG8gV2ViS2l0MiBRdDQuNyAocmV2aXNpb24gOTE4NjApIE1pbmlCcm93c2Vy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3Vy
Y2UvV2ViS2l0LnBybzoKKwogMjAxMS0wOC0wMyAgS2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhl
b2xsaXZpZXJzLmNvbT4KIAogICAgICAgICBbd3hdIFVucmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVy
IGdlc3R1cmUgcmVjb2duaXplciBjaGFuZ2VzLgpJbmRleDogU291cmNlL1dlYktpdC5wcm8KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC5wcm8JKHJldmlzaW9uIDkxODYwKQorKysgU291cmNl
L1dlYktpdC5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTksNyArOSw3IEBAIGluY2x1ZGUoV2ViS2l0
LnByaSkKIH0KIAogd2Via2l0MiB7Ci0gICAgbGVzc1RoYW4oUVRfTUFKT1JfVkVSU0lPTiwgNSkg
eworICAgIGxlc3NUaGFuKFFUX01BSk9SX1ZFUlNJT04sIDQpIHsKICAgICAgICAgbWVzc2FnZSgi
QnVpbGRpbmcgV2ViS2l0MiB3aXRoIFF0IHZlcnNpb25zIG9sZGVyIHRoYW4gNS4wIGlzIG5vIGxv
bmdlciBzdXBwb3J0ZWQuIikKICAgICAgICAgbWVzc2FnZSgiUmVhZCBodHRwOi8vd3d3Lm1haWwt
YXJjaGl2ZS5jb20vd2Via2l0LXF0QGxpc3RzLndlYmtpdC5vcmcvbXNnMDE2NzQuaHRtbCBmb3Ig
bW9yZSBpbmZvcm1hdGlvbi4iKQogICAgICAgICBlcnJvcigiQWJvcnRpbmcgYnVpbGQuIikKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyNDM3KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDgtMDggIEdlbmlzaW0gVHNp
bGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3IgdG8g
V2ViS2l0MiBRdDQuNyAocmV2aXNpb24gOTE4NjApIE1pbmlCcm93c2VyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Fk
ZXNrdG9wd2Vidmlldy5jcHA6CisgICAgICAgIChRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpRRGVz
a3RvcFdlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6Omdl
dFBhZ2VSZWYpOgorICAgICAgICAoUURlc2t0b3BXZWJWaWV3Ojp+UURlc2t0b3BXZWJWaWV3KToK
KyAgICAgICAgKFFEZXNrdG9wV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6V2Vi
SW5zcGVjdG9yUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6aW52
YWxpZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3Blbik6CisgICAgICAg
IChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZCk6
CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JQYWdlVVJMKToK
KwogMjAxMS0wOC0wNCAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1
dHVyZS1wcm9vZiBYY29kZSBjb25maWd1cmF0aW9uIHNldHRpbmdzLgpJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCShyZXZpc2lvbiA5MTg2
MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKLQorICAgIAogc3RhdGljIFBhc3NSZWZQdHI8V2ViUGFnZUdy
b3VwPiBjcmVhdGVJbnNwZWN0b3JQYWdlR3JvdXAoKQogewogICAgIFJlZlB0cjxXZWJQYWdlR3Jv
dXA+IHBhZ2VHcm91cCA9IFdlYlBhZ2VHcm91cDo6Y3JlYXRlKCJfX1dlYkluc3BlY3RvclBhZ2VH
cm91cF9fIiwgZmFsc2UsIGZhbHNlKTsKQEAgLTczLDYgKzczLDExIEBAIFdlYkluc3BlY3RvclBy
b3h5OjpXZWJJbnNwZWN0b3JQcm94eShXZWIKICNpZiBQTEFURk9STShXSU4pCiAgICAgLCBtX2lu
c3BlY3RvcldpbmRvdygwKQogI2VuZGlmCisjaWYgUExBVEZPUk0oUVQpCisgICAgLCBtX3ZpZXco
MCkKKyAgICAsIG1fc2NlbmUoMCkKKyAgICAsIG1faW5zcGVjdG9yVmlldygwKQorI2VuZGlmCiB7
CiB9CiAKQEAgLTg2LDYgKzkxLDExIEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OmludmFsaWRh
dGUoKQogICAgIGRpZENsb3NlKCk7CiAKICAgICBtX3BhZ2UgPSAwOworICAgIG1faW5zcGVjdG9y
VmlldyA9IDA7CisjaWYgUExBVEZPUk0oUVQpCisgICAgbV9zY2VuZSA9IDA7CisgICAgbV92aWV3
ID0gMDsKKyNlbmRpZgogCiAgICAgbV9pc1Zpc2libGUgPSBmYWxzZTsKICAgICBtX2lzRGVidWdn
aW5nSmF2YVNjcmlwdCA9IGZhbHNlOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykluc3BlY3RvclByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkluc3BlY3RvclByb3h5LmgJKHJldmlzaW9uIDkxODYwKQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2
LDEyIEBAIE9CSkNfQ0xBU1MgV2ViSW5zcGVjdG9yV0tWaWV3OwogI2luY2x1ZGUgPFdlYkNvcmUv
V2luZG93TWVzc2FnZUxpc3RlbmVyLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKFFUKQorI2lu
Y2x1ZGUgPFdLVmlldy5oPgorI2luY2x1ZGUgPFFHcmFwaGljc1ZpZXc+CisjaW5jbHVkZSA8UUdy
YXBoaWNzU2NlbmU+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBh
Z2VHcm91cDsKQEAgLTE2OSw2ICsxNzUsMTAgQEAgcHJpdmF0ZToKICNlbGlmIFBMQVRGT1JNKFdJ
TikKICAgICBIV05EIG1faW5zcGVjdG9yV2luZG93OwogICAgIFJlZlB0cjxXZWJWaWV3PiBtX2lu
c3BlY3RvclZpZXc7CisjZWxpZiBQTEFURk9STShRVCkKKyAgICBRR3JhcGhpY3NWaWV3KiBtX3Zp
ZXc7CisgICAgUUdyYXBoaWNzU2NlbmUqIG1fc2NlbmU7CisgICAgUURlc2t0b3BXZWJWaWV3UHJp
dmF0ZSogbV9pbnNwZWN0b3JWaWV3OwogI2VuZGlmCiB9OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCShyZXZpc2lv
biA5MTg2MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMsMTIgKzIzLDE2IEBACiAjaW5jbHVkZSAicWRl
c2t0b3B3ZWJ2aWV3X3AuaCIKICNpbmNsdWRlICJxd2tjb250ZXh0LmgiCiAKKyNpbmNsdWRlIDxX
S0luc3BlY3Rvci5oPgorI2luY2x1ZGUgPFdLUGFnZUdyb3VwLmg+CisjaW5jbHVkZSA8V0tQcmVm
ZXJlbmNlcy5oPgorCiAjaW5jbHVkZSA8UUN1cnNvcj4KICNpbmNsdWRlIDxRR3JhcGhpY3NTY2Vu
ZVJlc2l6ZUV2ZW50PgogI2luY2x1ZGUgPFFTdHlsZU9wdGlvbkdyYXBoaWNzSXRlbT4KIAogUURl
c2t0b3BXZWJWaWV3UHJpdmF0ZTo6UURlc2t0b3BXZWJWaWV3UHJpdmF0ZShRRGVza3RvcFdlYlZp
ZXcqIHEsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBS
ZWYpCi0gICAgOiBxKHEpCisgICAgOiBxKHEgPyBxIDogbmV3IFFEZXNrdG9wV2ViVmlldyhjb250
ZXh0UmVmLCBwYWdlR3JvdXBSZWYpKQogICAgICwgcGFnZSh0aGlzLCBjb250ZXh0UmVmID8gbmV3
IFFXS0NvbnRleHQoY29udGV4dFJlZikgOiBkZWZhdWx0V0tDb250ZXh0KCksIHBhZ2VHcm91cFJl
ZikKICAgICAsIGlzQ3Jhc2hlZChmYWxzZSkKIHsKQEAgLTQ0LDYgKzQ4LDExIEBAIFFTaXplIFFE
ZXNrdG9wV2ViVmlld1ByaXZhdGU6OmRyYXdpbmdBcmUKICAgICByZXR1cm4gcS0+c2l6ZSgpLnRv
U2l6ZSgpOwogfQogCitXS1BhZ2VSZWYgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6Z2V0UGFnZVJl
ZigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHEtPnBhZ2VSZWYoKTsKK30KKwogdm9pZCBRRGVza3Rv
cFdlYlZpZXdQcml2YXRlOjpjb250ZW50U2l6ZUNoYW5nZWQoY29uc3QgUVNpemUmKQogewogfQpA
QCAtMTc0LDYgKzE4MywxOSBAQCBRRGVza3RvcFdlYlZpZXc6On5RRGVza3RvcFdlYlZpZXcoKQog
ICAgIGRlbGV0ZSBkOwogfQogCit2b2lkIFFEZXNrdG9wV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVj
dG9yKCkKK3sKKyAgICBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYgPSBXS1BhZ2VHZXRQYWdl
R3JvdXAocGFnZVJlZigpKTsKKyAgICBXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzID0gV0tQ
YWdlR3JvdXBHZXRQcmVmZXJlbmNlcyhwYWdlR3JvdXBSZWYpOworICAgIGlmIChXS0luc3BlY3Rv
cklzVmlzaWJsZShXS1BhZ2VHZXRJbnNwZWN0b3IocGFnZVJlZigpKSkpIHsgCisgICAgICAgIFdL
UHJlZmVyZW5jZXNTZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKHByZWZlcmVuY2VzLCBmYWxzZSk7
CisgICAgICAgIFdLSW5zcGVjdG9yQ2xvc2UoV0tQYWdlR2V0SW5zcGVjdG9yKHBhZ2VSZWYoKSkp
OworICAgIH0gZWxzZSB7CisgICAgICAgIFdLUHJlZmVyZW5jZXNTZXREZXZlbG9wZXJFeHRyYXNF
bmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICAgICAgV0tJbnNwZWN0b3JTaG93KFdLUGFn
ZUdldEluc3BlY3RvcihwYWdlUmVmKCkpKTsKKyAgICB9Cit9CisKIHZvaWQgUURlc2t0b3BXZWJW
aWV3Ojpsb2FkKGNvbnN0IFFVcmwmIHVybCkKIHsKICAgICBkLT5wYWdlLmxvYWQodXJsKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZp
ZXcuaAkocmV2aXNpb24gOTE4NjApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FkZXNrdG9wd2Vidmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBAIHB1Ymxp
YzoKIAogICAgIFFVcmwgdXJsKCkgY29uc3Q7CiAgICAgUVN0cmluZyB0aXRsZSgpIGNvbnN0Owor
ICAgIHZvaWQgdG9nZ2xlV2ViSW5zcGVjdG9yKCk7CiAKICAgICBRX0lOVk9LQUJMRSBRQWN0aW9u
KiBuYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uIHdoaWNoKSBjb25z
dDsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZp
ZXdfcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRl
c2t0b3B3ZWJ2aWV3X3AuaAkocmV2aXNpb24gOTE4NjApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYg
KzM1LDcgQEAgcHVibGljOgogCiAgICAgUURlc2t0b3BXZWJWaWV3KiBxOwogICAgIFFEZXNrdG9w
V2ViUGFnZVByb3h5IHBhZ2U7CisgICAgV0tQYWdlUmVmIGdldFBhZ2VSZWYoKSBjb25zdDsKIAog
ICAgIGJvb2wgaXNDcmFzaGVkOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
V2ViSW5zcGVjdG9yUHJveHlRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCShyZXZpc2lvbiA5MTg2MCkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjUsMjggKzI1LDU0IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgor
I2luY2x1ZGUgPFFPYmplY3Q+CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSA8
V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgorI2luY2x1ZGUgPHFkZXNrdG9wd2Vidmlld19wLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CiBXZWJQYWdlUHJveHkqIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3Rv
clBhZ2UoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgQVNT
RVJUKG1fcGFnZSk7CisgICAgQVNTRVJUKCFtX2luc3BlY3RvclZpZXcpOworICAgIG1faW5zcGVj
dG9yVmlldyA9IG5ldyBRRGVza3RvcFdlYlZpZXdQcml2YXRlKDAsIHRvQVBJKHBhZ2UoKS0+cHJv
Y2VzcygpLT5jb250ZXh0KCkpLCB0b0FQSShpbnNwZWN0b3JQYWdlR3JvdXAoKSkpOworIAorICAg
IEFTU0VSVChtX2luc3BlY3RvclZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldy0+cS0+c2V0R2Vv
bWV0cnkoMCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93SGVpZ2h0KTsKKyAg
ICByZXR1cm4gdG9JbXBsKG1faW5zcGVjdG9yVmlldy0+Z2V0UGFnZVJlZigpKTsKIH0KIAogdm9p
ZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKCkKIHsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIGlmICghbV9zY2VuZSkKKyAgICAgICAgbV9zY2VuZSA9IG5ldyBRR3JhcGhpY3NT
Y2VuZSgpOworICAgIG1fc2NlbmUtPmFkZEl0ZW0obV9pbnNwZWN0b3JWaWV3LT5xKTsKKyAgICAK
KyAgICBBU1NFUlQoIW1fdmlldyk7CisgICAgbV92aWV3ID0gbmV3IFFHcmFwaGljc1ZpZXcobV9z
Y2VuZSk7CisgICAgQVNTRVJUKG1fdmlldyk7CisgICAgbV92aWV3LT5zaG93KCk7CiB9CiAKIHZv
aWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGlkQ2xvc2UoKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgaWYgKG1faW5zcGVjdG9yVmlldykgeworICAgICAgICBtX2luc3BlY3Rv
clZpZXctPnEtPmNsb3NlKCk7CisgICAgICAgIG1faW5zcGVjdG9yVmlldyA9IDA7CisgICAgfQor
ICAgIAorICAgIGlmIChtX3NjZW5lKQorICAgICAgICBtX3NjZW5lLT5jbGVhcigpOworICAgIAor
ICAgIGlmIChtX3ZpZXcpIHsKKyAgICAgICAgbV92aWV3LT5jbG9zZSgpOworICAgICAgICBtX3Zp
ZXcgPSAwOworICAgIH0KIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1Ccmlu
Z1RvRnJvbnQoKQpAQCAtNTQsOSArODAsOSBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0
Zm9ybUJyaW5nVG9GCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJJbnNwZWN0
b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYpCit2b2lk
IFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3Ry
aW5nJiB1cmwpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX3ZpZXctPnNldFdpbmRv
d1RpdGxlKFFPYmplY3Q6OnRyKCJXZWIgSW5zcGVjdG9yIC0gIikgKyBRT2JqZWN0Ojp0cih1cmwu
dXRmOCgpLmRhdGEoKSkpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUF0
dGFjaCgpCkBAIC03Niw4ICsxMDIsNyBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9y
bVNldEF0dGFjCiAKIFN0cmluZyBXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yUGFnZVVSTCgp
IGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gU3RyaW5nKCk7Cisg
ICAgcmV0dXJuICgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rvci5odG1sIik7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gOTI0MzcpCisrKyBUb29scy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wOC0wOCAgR2VuaXNpbSBUc2ls
a2VyICA8Z2VuaXNpbUB5YWhvby5jb20+CisKKyAgICAgICAgQWRkIFdlYkluc3BlY3RvciB0byBX
ZWJLaXQyIFF0NC43IChyZXZpc2lvbiA5MTg2MCkgTWluaUJyb3dzZXIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dz
ZXJWaWV3LmNwcDoKKyAgICAgICAgKEJyb3dzZXJWaWV3Ojp0b2dnbGVXZWJJbnNwZWN0b3IpOgor
ICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3Lmg6CisgICAgICAgICogTWluaUJy
b3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHA6CisgICAgICAgIChCcm93c2VyV2luZG93OjpCcm93
c2VyV2luZG93KToKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OnRvZ2dsZVdlYkluc3BlY3Rvcik6
CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oOgorCiAyMDExLTA4LTA0
ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgRnV0dXJlLXByb29mIFhj
b2RlIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MuCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9C
cm93c2VyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3Nl
clZpZXcuY3BwCShyZXZpc2lvbiA5MTg2MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dz
ZXJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksNiArNzksMTIgQEAgUUdyYXBoaWNzV2lk
Z2V0KiBCcm93c2VyVmlldzo6dmlldygpIGNvbgogICAgIHJldHVybiBtX2l0ZW07CiB9CiAKK3Zv
aWQgQnJvd3NlclZpZXc6OnRvZ2dsZVdlYkluc3BlY3RvcigpIGNvbnN0Cit7CisgICAgaWYgKGRl
c2t0b3BXZWJWaWV3KCkpCisgICAgICAgIGRlc2t0b3BXZWJWaWV3KCktPnRvZ2dsZVdlYkluc3Bl
Y3RvcigpOworfQorCiBRVG91Y2hXZWJWaWV3KiBCcm93c2VyVmlldzo6dG91Y2hXZWJWaWV3KCkg
Y29uc3QKIHsKICAgICByZXR1cm4gcW9iamVjdF9jYXN0PFFUb3VjaFdlYlZpZXcqPihtX2l0ZW0p
OwpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oCShyZXZpc2lvbiA5MTg2MCkKKysr
IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDYgKzUwLDcgQEAgcHVibGljOgogICAgIFFUb3VjaFdlYlZpZXcqIHRvdWNoV2ViVmlldygpIGNv
bnN0OwogICAgIFFEZXNrdG9wV2ViVmlldyogZGVza3RvcFdlYlZpZXcoKSBjb25zdDsKIAorICAg
IHZvaWQgdG9nZ2xlV2ViSW5zcGVjdG9yKCkgY29uc3Q7CiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVh
bCB2b2lkIHJlc2l6ZUV2ZW50KFFSZXNpemVFdmVudCopOwogCkluZGV4OiBUb29scy9NaW5pQnJv
d3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nl
ci9xdC9Ccm93c2VyV2luZG93LmNwcAkocmV2aXNpb24gOTE4NjApCisrKyBUb29scy9NaW5pQnJv
d3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDYgKzExOCwx
MCBAQCBCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KFdpbmRvd09wdGlvCiAgICAgdG9nZ2xl
R0xWaWV3cG9ydC0+c2V0Q2hlY2thYmxlKHRydWUpOwogICAgIHRvZ2dsZUdMVmlld3BvcnQtPnNl
dENoZWNrZWQobV93aW5kb3dPcHRpb25zLnVzZVFHTFdpZGdldFZpZXdwb3J0KTsKICNlbmRpZgor
ICAgIFFBY3Rpb24qIHRvZ2dsZVdlYkluc3BlY3RvciA9IHRvb2xzTWVudS0+YWRkQWN0aW9uKCJT
aG93IFdlYiBJbnNwZWN0b3IiLCB0aGlzLCBTTE9UKHRvZ2dsZVdlYkluc3BlY3RvcigpKSk7Cisg
ICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2FibGUodHJ1ZSk7CisgICAgdG9nZ2xlV2Vi
SW5zcGVjdG9yLT5zZXRDaGVja2VkKGZhbHNlKTsKKwogICAgIHRvb2xzTWVudS0+YWRkU2VwYXJh
dG9yKCk7CiAgICAgdG9vbHNNZW51LT5hZGRBY3Rpb24oIkNoYW5nZSBVc2VyIEFnZW50IiwgdGhp
cywgU0xPVChzaG93VXNlckFnZW50RGlhbG9nKCkpKTsKICAgICB0b29sc01lbnUtPmFkZFNlcGFy
YXRvcigpOwpAQCAtMjQ1LDYgKzI0OSwxMSBAQCB2b2lkIEJyb3dzZXJXaW5kb3c6OnNjcmVlbnNo
b3QoKQogICAgIH0KIH0KIAordm9pZCBCcm93c2VyV2luZG93Ojp0b2dnbGVXZWJJbnNwZWN0b3Io
KQoreworICAgIG1fYnJvd3Nlci0+dG9nZ2xlV2ViSW5zcGVjdG9yKCk7Cit9CisKIHZvaWQgQnJv
d3NlcldpbmRvdzo6dG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpCiB7CiAgICAgYm9v
bCBhbHJlYWR5RW5hYmxlZCA9IHdpbmRvd1N0YXRlKCkgJiBRdDo6V2luZG93RnVsbFNjcmVlbjsK
SW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHJldmlzaW9uIDkxODYwKQor
KysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBA
IC03MSw3ICs3MSw3IEBAIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lkIHByaW50VVJMKGNvbnN0
IFFVcmwmKTsKIAogICAgIHZvaWQgdG9nZ2xlR0xWaWV3cG9ydChib29sKTsKLQorICAgIHZvaWQg
dG9nZ2xlV2ViSW5zcGVjdG9yKCk7CiBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlVXNlckFnZW50
TGlzdCgpOwogCg==
</data>
<flag name="review"
          id="98911"
          type_id="1"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103428</attachid>
            <date>2011-08-09 18:43:37 -0700</date>
            <delta_ts>2011-08-30 15:36:50 -0700</delta_ts>
            <desc>Patch to add Web Inspector to WebKit2</desc>
            <filename>webinspector_for_webkit2_minibrowser.patch</filename>
            <type>text/plain</type>
            <size>12317</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDkyNzM1
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTEgQEAKKzIwMTEtMDgt
MDkgIEdlbmlzaW0gVHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBX
ZWJJbnNwZWN0b3IgdG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL1dlYktpdC5wcm86IGVuYWJsZSBi
dWlsZCBmb3IgUXQgNAorCiAyMDExLTA4LTA4ICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgQWRkIHRlc3RpbmcgZm9yIC0tZm9yY2UtY29tcG9zaXRpbmctbW9k
ZSB0byB3aW5kb3dzLmludGVybmFsCkluZGV4OiBTb3VyY2UvV2ViS2l0LnBybwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0LnBybwkocmV2aXNpb24gOTE4NjApCisrKyBTb3VyY2UvV2ViS2l0
LnBybwkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAgaW5jbHVkZShXZWJLaXQucHJpKQog
fQogCiB3ZWJraXQyIHsKLSAgICBsZXNzVGhhbihRVF9NQUpPUl9WRVJTSU9OLCA1KSB7CisgICAg
bGVzc1RoYW4oUVRfTUFKT1JfVkVSU0lPTiwgNCkgewogICAgICAgICBtZXNzYWdlKCJCdWlsZGlu
ZyBXZWJLaXQyIHdpdGggUXQgdmVyc2lvbnMgb2xkZXIgdGhhbiA1LjAgaXMgbm8gbG9uZ2VyIHN1
cHBvcnRlZC4iKQogICAgICAgICBtZXNzYWdlKCJSZWFkIGh0dHA6Ly93d3cubWFpbC1hcmNoaXZl
LmNvbS93ZWJraXQtcXRAbGlzdHMud2Via2l0Lm9yZy9tc2cwMTY3NC5odG1sIGZvciBtb3JlIGlu
Zm9ybWF0aW9uLiIpCiAgICAgICAgIGVycm9yKCJBYm9ydGluZyBidWlsZC4iKQpJbmRleDogU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkocmV2aXNpb24gOTI3MzUpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAxMS0wOC0wOSAgR2VuaXNpbSBUc2lsa2VyICA8
Z2VuaXNpbUB5YWhvby5jb20+CisKKyAgICAgICAgQWRkIFdlYkluc3BlY3RvciB0byBXZWJLaXQy
IE1pbmlCcm93c2VyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHA6CisgICAgICAgIChR
RGVza3RvcFdlYlZpZXdQcml2YXRlOjpRRGVza3RvcFdlYlZpZXdQcml2YXRlKToKKyAgICAgICAg
KFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OnBhZ2VSZWYpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6V2ViSW5z
cGVjdG9yUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6aW52YWxp
ZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3Blbik6CisgICAgICAgIChX
ZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JQYWdlVVJMKToKKwog
MjAxMS0wOC0wOSAgSm9obiBTdWxsaXZhbiAgPHN1bGxpdmFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXS1BhZ2VDb3B5UGVuZGluZ0FQSVJlcXVlc3RVUkwgcmV0dXJucyBzdGFsZSByZXN1bHQgaWYg
cG9saWN5IGRlY2lzaW9uIHNldCB0byBJZ25vcmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAkocmV2aXNpb24gOTE4NjApCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03Myw2ICs3MywxMSBAQCBXZWJJbnNwZWN0b3JQcm94eTo6V2ViSW5zcGVjdG9yUHJveHko
V2ViCiAjaWYgUExBVEZPUk0oV0lOKQogICAgICwgbV9pbnNwZWN0b3JXaW5kb3coMCkKICNlbmRp
ZgorI2lmIFBMQVRGT1JNKFFUKQorICAgICwgbV92aWV3KDApCisgICAgLCBtX3NjZW5lKDApCisg
ICAgLCBtX2luc3BlY3RvclZpZXcoMCkKKyNlbmRpZgogewogfQogCkBAIC04Niw2ICs5MSwxMSBA
QCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjppbnZhbGlkYXRlKCkKICAgICBkaWRDbG9zZSgpOwog
CiAgICAgbV9wYWdlID0gMDsKKyNpZiBQTEFURk9STShRVCkKKyAgICBtX2luc3BlY3RvclZpZXcg
PSAwOworICAgIG1fc2NlbmUgPSAwOworICAgIG1fdmlldyA9IDA7CisjZW5kaWYKIAogICAgIG1f
aXNWaXNpYmxlID0gZmFsc2U7CiAgICAgbV9pc0RlYnVnZ2luZ0phdmFTY3JpcHQgPSBmYWxzZTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCShy
ZXZpc2lvbiA5MTg2MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQ
cm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0NiwxMiBAQCBPQkpDX0NMQVNTIFdlYklu
c3BlY3RvcldLVmlldzsKICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01lc3NhZ2VMaXN0ZW5lci5o
PgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKK2NsYXNzIFFHcmFwaGljc1ZpZXc7CitjbGFz
cyBRR3JhcGhpY3NTY2VuZTsKK2NsYXNzIFFEZXNrdG9wV2ViVmlld1ByaXZhdGU7CisjZW5kaWYK
KwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBhZ2VHcm91cDsKQEAgLTE2OSw2ICsx
NzUsMTAgQEAgcHJpdmF0ZToKICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICBIV05EIG1faW5zcGVj
dG9yV2luZG93OwogICAgIFJlZlB0cjxXZWJWaWV3PiBtX2luc3BlY3RvclZpZXc7CisjZWxpZiBQ
TEFURk9STShRVCkKKyAgICBRR3JhcGhpY3NWaWV3KiBtX3ZpZXc7CisgICAgUUdyYXBoaWNzU2Nl
bmUqIG1fc2NlbmU7CisgICAgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZSogbV9pbnNwZWN0b3JWaWV3
OwogI2VuZGlmCiB9OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fk
ZXNrdG9wd2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5MTg2MCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjgsNyArMjgsNyBAQAogI2luY2x1ZGUgPFFTdHlsZU9wdGlvbkdyYXBoaWNzSXRlbT4K
IAogUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6UURlc2t0b3BXZWJWaWV3UHJpdmF0ZShRRGVza3Rv
cFdlYlZpZXcqIHEsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdl
R3JvdXBSZWYpCi0gICAgOiBxKHEpCisgICAgOiBxKHEgPyBxIDogbmV3IFFEZXNrdG9wV2ViVmll
dyhjb250ZXh0UmVmLCBwYWdlR3JvdXBSZWYpKQogICAgICwgcGFnZSh0aGlzLCBjb250ZXh0UmVm
ID8gbmV3IFFXS0NvbnRleHQoY29udGV4dFJlZikgOiBkZWZhdWx0V0tDb250ZXh0KCksIHBhZ2VH
cm91cFJlZikKICAgICAsIGlzQ3Jhc2hlZChmYWxzZSkKIHsKQEAgLTQ0LDYgKzQ0LDExIEBAIFFT
aXplIFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OmRyYXdpbmdBcmUKICAgICByZXR1cm4gcS0+c2l6
ZSgpLnRvU2l6ZSgpOwogfQogCitXS1BhZ2VSZWYgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6cGFn
ZVJlZigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHEtPnBhZ2VSZWYoKTsKK30KKwogdm9pZCBRRGVz
a3RvcFdlYlZpZXdQcml2YXRlOjpjb250ZW50U2l6ZUNoYW5nZWQoY29uc3QgUVNpemUmKQogewog
fQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdf
cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0
b3B3ZWJ2aWV3X3AuaAkocmV2aXNpb24gOTE4NjApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1
LDcgQEAgcHVibGljOgogCiAgICAgUURlc2t0b3BXZWJWaWV3KiBxOwogICAgIFFEZXNrdG9wV2Vi
UGFnZVByb3h5IHBhZ2U7CisgICAgV0tQYWdlUmVmIHBhZ2VSZWYoKSBjb25zdDsKIAogICAgIGJv
b2wgaXNDcmFzaGVkOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5z
cGVjdG9yUHJveHlRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCShyZXZpc2lvbiA5MTg2MCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjUsMjggKzI1LDU0IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJX
ZWJJbnNwZWN0b3JQcm94eS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogCiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikKIAogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDxxZGVza3RvcHdlYnZp
ZXcuaD4KKyNpbmNsdWRlIDxxZGVza3RvcHdlYnZpZXdfcC5oPgorY2xhc3MgUU9iamVjdDsKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJveHk6OnBs
YXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAg
ICByZXR1cm4gMDsKKyAgICBBU1NFUlQobV9wYWdlKTsKKyAgICBBU1NFUlQoIW1faW5zcGVjdG9y
Vmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3ID0gbmV3IFFEZXNrdG9wV2ViVmlld1ByaXZhdGUo
MCwgdG9BUEkocGFnZSgpLT5wcm9jZXNzKCktPmNvbnRleHQoKSksIHRvQVBJKGluc3BlY3RvclBh
Z2VHcm91cCgpKSk7CisgICAgQVNTRVJUKG1faW5zcGVjdG9yVmlldyk7CisgICAgbV9pbnNwZWN0
b3JWaWV3LT5xLT5zZXRHZW9tZXRyeSgwLCAwLCBpbml0aWFsV2luZG93V2lkdGgsIGluaXRpYWxX
aW5kb3dIZWlnaHQpOworICAgIHJldHVybiB0b0ltcGwobV9pbnNwZWN0b3JWaWV3LT5wYWdlUmVm
KCkpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9wZW4oKQogewotICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYgKCFtX3NjZW5lKQorICAgICAgICBtX3NjZW5lID0g
bmV3IFFHcmFwaGljc1NjZW5lKCk7CisgICAgbV9zY2VuZS0+YWRkSXRlbShtX2luc3BlY3RvclZp
ZXctPnEpOworICAgIAorICAgIEFTU0VSVCghbV92aWV3KTsKKyAgICBtX3ZpZXcgPSBuZXcgUUdy
YXBoaWNzVmlldyhtX3NjZW5lKTsKKyAgICBBU1NFUlQobV92aWV3KTsKKyAgICBtX3ZpZXctPnNo
b3coKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1EaWRDbG9zZSgpCiB7
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBpZiAobV9pbnNwZWN0b3JWaWV3KSB7CisgICAg
ICAgIG1faW5zcGVjdG9yVmlldy0+cS0+Y2xvc2UoKTsKKyAgICAgICAgbV9pbnNwZWN0b3JWaWV3
ID0gMDsKKyAgICB9CisgICAgCisgICAgaWYgKG1fc2NlbmUpCisgICAgICAgIG1fc2NlbmUtPmNs
ZWFyKCk7CisgICAgCisgICAgaWYgKG1fdmlldykgeworICAgICAgICBtX3ZpZXctPmNsb3NlKCk7
CisgICAgICAgIG1fdmlldyA9IDA7CisgICAgfQogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5
OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpCkBAIC01NCw5ICs4MCw5IEBAIHZvaWQgV2ViSW5zcGVj
dG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0YKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12
b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3Qg
U3RyaW5nJikKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hh
bmdlZChjb25zdCBTdHJpbmcmIHVybCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1f
dmlldy0+c2V0V2luZG93VGl0bGUoUU9iamVjdDo6dHIoIldlYiBJbnNwZWN0b3IgLSAiKSArIFFP
YmplY3Q6OnRyKHVybC51dGY4KCkuZGF0YSgpKSk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtQXR0YWNoKCkKQEAgLTc2LDggKzEwMiw3IEBAIHZvaWQgV2ViSW5zcGVjdG9y
UHJveHk6OnBsYXRmb3JtU2V0QXR0YWMKIAogU3RyaW5nIFdlYkluc3BlY3RvclByb3h5OjppbnNw
ZWN0b3JQYWdlVVJMKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVy
biBTdHJpbmcoKTsKKyAgICByZXR1cm4gKCJxcmM6L3dlYmtpdC9pbnNwZWN0b3IvaW5zcGVjdG9y
Lmh0bWwiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBUb29scy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MjczNSkKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDExLTA4LTA5
ICBHZW5pc2ltIFRzaWxrZXIgIDxnZW5pc2ltQHlhaG9vLmNvbT4KKworICAgICAgICBBZGQgV2Vi
SW5zcGVjdG9yIHRvIFdlYktpdDIgTWluaUJyb3dzZXIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNw
cDoKKyAgICAgICAgKEJyb3dzZXJWaWV3OjpkZXNrdG9wV2ViVmlldyk6CisgICAgICAgIChCcm93
c2VyVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9C
cm93c2VyVmlldy5oOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3Bw
OgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyk6CisgICAgICAgIChCcm93
c2VyV2luZG93Ojp0b2dnbGVXZWJJbnNwZWN0b3IpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0
L0Jyb3dzZXJXaW5kb3cuaDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5w
cm86IGFkZCBpbmNsdWRlIHBhdGgncworCiAyMDExLTA3LTEzICBFcmljIFNlaWRlbCAgPGVyaWNA
d2Via2l0Lm9yZz4KIAogICAgICAgICBuZXctcnVuLXdlYmtpdC10ZXN0J3MgV2luUG9ydCBoYXMg
bm8gZmFsbGJhY2sgbG9naWMKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAJ
KHJldmlzaW9uIDkxODYwKQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCwxNiBAQAogCiAjaW5jbHVkZSA8UUdyYXBoaWNz
U2NlbmU+CiAjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+CisjaW5jbHVkZSA8cWRlc2t0b3B3
ZWJ2aWV3X3AuaD4KICNpbmNsdWRlIDxxdG91Y2h3ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8cXRvdWNo
d2VicGFnZS5oPgorI2luY2x1ZGUgPHF3ZWJzZXR0aW5ncy5oPgorCisjaW5jbHVkZSA8V0tJbnNw
ZWN0b3IuaD4KKyNpbmNsdWRlIDxXS1BhZ2VQcml2YXRlLmg+CisjaW5jbHVkZSA8V0tQYWdlR3Jv
dXAuaD4KKyNpbmNsdWRlIDxXS1ByZWZlcmVuY2VzLmg+CisjaW5jbHVkZSA8V0tQcmVmZXJlbmNl
c1ByaXZhdGUuaD4KIAogQnJvd3NlclZpZXc6OkJyb3dzZXJWaWV3KGJvb2wgdXNlVG91Y2hXZWJW
aWV3LCBRV2lkZ2V0KiBwYXJlbnQpCiAgICAgOiBRR3JhcGhpY3NWaWV3KHBhcmVudCkKQEAgLTg5
LDYgKzk3LDI1IEBAIFFEZXNrdG9wV2ViVmlldyogQnJvd3NlclZpZXc6OmRlc2t0b3BXZWIKICAg
ICByZXR1cm4gcW9iamVjdF9jYXN0PFFEZXNrdG9wV2ViVmlldyo+KG1faXRlbSk7CiB9CiAKK3Zv
aWQgQnJvd3NlclZpZXc6OnRvZ2dsZVdlYkluc3BlY3RvcigpCit7CisgICAgaWYgKGRlc2t0b3BX
ZWJWaWV3KCkpIHsKKyAgICAgICAgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZSogZGVza3RvcFdlYlZp
ZXdQcml2YXRlID0gbmV3IFFEZXNrdG9wV2ViVmlld1ByaXZhdGUoZGVza3RvcFdlYlZpZXcoKSk7
IAorICAgICAgICBXS1BhZ2VSZWYgbV9wYWdlUmVmID0gZGVza3RvcFdlYlZpZXdQcml2YXRlLT5w
YWdlUmVmKCk7CisgICAgICAgIFdLUGFnZUdyb3VwUmVmIG1fcGFnZUdyb3VwUmVmID0gV0tQYWdl
R2V0UGFnZUdyb3VwKG1fcGFnZVJlZik7CisgICAgICAgIFdLUHJlZmVyZW5jZXNSZWYgbV9wcmVm
ZXJlbmNlcyA9IFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMobV9wYWdlR3JvdXBSZWYpOworICAg
ICAgICAKKyAgICAgICAgaWYgKFdLSW5zcGVjdG9ySXNWaXNpYmxlKFdLUGFnZUdldEluc3BlY3Rv
cihtX3BhZ2VSZWYpKSkgeworICAgICAgICAgICAgV0tQcmVmZXJlbmNlc1NldERldmVsb3BlckV4
dHJhc0VuYWJsZWQobV9wcmVmZXJlbmNlcywgZmFsc2UpOworICAgICAgICAgICAgV0tJbnNwZWN0
b3JDbG9zZShXS1BhZ2VHZXRJbnNwZWN0b3IobV9wYWdlUmVmKSk7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICBXS1ByZWZlcmVuY2VzU2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChtX3By
ZWZlcmVuY2VzLCB0cnVlKTsKKyAgICAgICAgICAgIFdLSW5zcGVjdG9yU2hvdyhXS1BhZ2VHZXRJ
bnNwZWN0b3IobV9wYWdlUmVmKSk7CisgICAgICAgIH0KKyAgICAgICAgZGVsZXRlIGRlc2t0b3BX
ZWJWaWV3UHJpdmF0ZTsKKyAgICB9Cit9CisKIFFBY3Rpb24qIEJyb3dzZXJWaWV3OjpuYXZpZ2F0
aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uIHdoaWNoKSBjb25zdAogewogICAg
IGlmIChkZXNrdG9wV2ViVmlldygpKQpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3Nl
clZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5o
CShyZXZpc2lvbiA5MTg2MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAgcHVibGljOgogCiAgICAgUVRvdWNoV2Vi
VmlldyogdG91Y2hXZWJWaWV3KCkgY29uc3Q7CiAgICAgUURlc2t0b3BXZWJWaWV3KiBkZXNrdG9w
V2ViVmlldygpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlV2ViSW5zcGVjdG9yKCk7CiAKIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVzaXplRXZlbnQoUVJlc2l6ZUV2ZW50Kik7CkluZGV4
OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAkocmV2aXNpb24gOTE4NjApCisr
KyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTE4LDYgKzExOCwxMCBAQCBCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KFdpbmRvd09w
dGlvCiAgICAgdG9nZ2xlR0xWaWV3cG9ydC0+c2V0Q2hlY2thYmxlKHRydWUpOwogICAgIHRvZ2ds
ZUdMVmlld3BvcnQtPnNldENoZWNrZWQobV93aW5kb3dPcHRpb25zLnVzZVFHTFdpZGdldFZpZXdw
b3J0KTsKICNlbmRpZgorICAgIFFBY3Rpb24qIHRvZ2dsZVdlYkluc3BlY3RvciA9IHRvb2xzTWVu
dS0+YWRkQWN0aW9uKCJTaG93IFdlYiBJbnNwZWN0b3IiLCB0aGlzLCBTTE9UKHRvZ2dsZVdlYklu
c3BlY3RvcigpKSk7CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2FibGUodHJ1ZSk7
CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2VkKGZhbHNlKTsKKwogICAgIHRvb2xz
TWVudS0+YWRkU2VwYXJhdG9yKCk7CiAgICAgdG9vbHNNZW51LT5hZGRBY3Rpb24oIkNoYW5nZSBV
c2VyIEFnZW50IiwgdGhpcywgU0xPVChzaG93VXNlckFnZW50RGlhbG9nKCkpKTsKICAgICB0b29s
c01lbnUtPmFkZFNlcGFyYXRvcigpOwpAQCAtMjQ1LDYgKzI0OSwxMSBAQCB2b2lkIEJyb3dzZXJX
aW5kb3c6OnNjcmVlbnNob3QoKQogICAgIH0KIH0KIAordm9pZCBCcm93c2VyV2luZG93Ojp0b2dn
bGVXZWJJbnNwZWN0b3IoKQoreworICAgIG1fYnJvd3Nlci0+dG9nZ2xlV2ViSW5zcGVjdG9yKCk7
Cit9CisKIHZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFi
bGUpCiB7CiAgICAgYm9vbCBhbHJlYWR5RW5hYmxlZCA9IHdpbmRvd1N0YXRlKCkgJiBRdDo6V2lu
ZG93RnVsbFNjcmVlbjsKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHJl
dmlzaW9uIDkxODYwKQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCSh3
b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3MSw3IEBAIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lk
IHByaW50VVJMKGNvbnN0IFFVcmwmKTsKIAogICAgIHZvaWQgdG9nZ2xlR0xWaWV3cG9ydChib29s
KTsKLQorICAgIHZvaWQgdG9nZ2xlV2ViSW5zcGVjdG9yKCk7CiBwcml2YXRlOgogICAgIHZvaWQg
dXBkYXRlVXNlckFnZW50TGlzdCgpOwogCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9NaW5p
QnJvd3Nlci5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dz
ZXIucHJvCShyZXZpc2lvbiA5MTg2MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93
c2VyLnBybwkod29ya2luZyBjb3B5KQpAQCAtMTgsNiArMTgsOSBAQCBIRUFERVJTICs9IFwKIAog
aXNFbXB0eShPVVRQVVRfRElSKTogT1VUUFVUX0RJUiA9IC4uLy4uLy4uCiBpbmNsdWRlKC4uLy4u
Ly4uL1NvdXJjZS9XZWJLaXQucHJpKQoraW5jbHVkZSguLi8uLi8uLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUucHJpKQoraW5jbHVkZSguLi8uLi8uLi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnByaSkKK2luY2x1ZGUoLi4vLi4vLi4vU291cmNlL1dlYktpdDIvV2ViS2l0Mi5w
cmkpCiAKIElOQ0xVREVQQVRIICs9IFwKICAgICAkJFBXRC8uLi8uLi8uLi9Tb3VyY2UvV2ViS2l0
Mi8gXAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104146</attachid>
            <date>2011-08-16 21:59:18 -0700</date>
            <delta_ts>2011-08-30 15:36:50 -0700</delta_ts>
            <desc>Patch to add Web Inspector to WebKit2</desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>11499</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyMzg0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDgtMTYgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwOgor
ICAgICAgICAoUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6UURlc2t0b3BXZWJWaWV3UHJpdmF0ZSk6
CisgICAgICAgIChRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpwYWdlUmVmKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYkluc3BlY3RvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJv
eHk6OldlYkluc3BlY3RvclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJv
eHk6OmludmFsaWRhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFn
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9wZW4pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1EaWRDbG9zZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCk6
CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVS
TENoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9y
UGFnZVVSTCk6CisKIDIwMTEtMDgtMDEgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFdlYktpdDI6IFdlYiBJbnNwZWN0b3IgYWx3YXlzIHN0YXJ0cyBp
biB1bmRvY2tlZCBtb2RlCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJ
bnNwZWN0b3JQcm94eS5jcHAJKHJldmlzaW9uIDkyMzg0KQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzMsNiArNzMs
MTAgQEAgV2ViSW5zcGVjdG9yUHJveHk6OldlYkluc3BlY3RvclByb3h5KFdlYgogI2lmIFBMQVRG
T1JNKFdJTikKICAgICAsIG1faW5zcGVjdG9yV2luZG93KDApCiAjZW5kaWYKKyNpZiBQTEFURk9S
TShRVCkKKyAgICAsIG1fdmlldygwKQorICAgICwgbV9pbnNwZWN0b3JWaWV3KDApCisjZW5kaWYK
IHsKIH0KIApAQCAtODYsNiArOTAsMTAgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6aW52YWxp
ZGF0ZSgpCiAgICAgZGlkQ2xvc2UoKTsKIAogICAgIG1fcGFnZSA9IDA7CisjaWYgUExBVEZPUk0o
UVQpCisgICAgbV9pbnNwZWN0b3JWaWV3ID0gMDsKKyAgICBtX3ZpZXcgPSAwOworI2VuZGlmCiAK
ICAgICBtX2lzVmlzaWJsZSA9IGZhbHNlOwogICAgIG1faXNEZWJ1Z2dpbmdKYXZhU2NyaXB0ID0g
ZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHku
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJv
eHkuaAkocmV2aXNpb24gOTIzODQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsMTEgQEAgT0JKQ19DTEFT
UyBXZWJJbnNwZWN0b3JXS1ZpZXc7CiAjaW5jbHVkZSA8V2ViQ29yZS9XaW5kb3dNZXNzYWdlTGlz
dGVuZXIuaD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0oUVQpCitjbGFzcyBRU0dWaWV3OworY2xh
c3MgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTsKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogY2xhc3MgV2ViUGFnZUdyb3VwOwpAQCAtMTY5LDYgKzE3NCw5IEBAIHByaXZhdGU6CiAjZWxp
ZiBQTEFURk9STShXSU4pCiAgICAgSFdORCBtX2luc3BlY3RvcldpbmRvdzsKICAgICBSZWZQdHI8
V2ViVmlldz4gbV9pbnNwZWN0b3JWaWV3OworI2VsaWYgUExBVEZPUk0oUVQpCisgICAgUVNHVmll
dyogbV92aWV3OworICAgIFFEZXNrdG9wV2ViVmlld1ByaXZhdGUqIG1faW5zcGVjdG9yVmlldzsK
ICNlbmRpZgogfTsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVz
a3RvcHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTIzODQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM4LDcgKzM4LDcgQEAKICNpbmNsdWRlIDxRdEd1aS9RV2hlZWxFdmVudD4KIAogUURlc2t0
b3BXZWJWaWV3UHJpdmF0ZTo6UURlc2t0b3BXZWJWaWV3UHJpdmF0ZShRRGVza3RvcFdlYlZpZXcq
IHEsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYp
Ci0gICAgOiBxKHEpCisgICAgOiBxKHEgPyBxIDogbmV3IFFEZXNrdG9wV2ViVmlldyhjb250ZXh0
UmVmLCBwYWdlR3JvdXBSZWYpKQogICAgICwgcGFnZSh0aGlzLCBjb250ZXh0UmVmID8gbmV3IFFX
S0NvbnRleHQoY29udGV4dFJlZikgOiBkZWZhdWx0V0tDb250ZXh0KCksIHBhZ2VHcm91cFJlZikK
ICAgICAsIGlzQ3Jhc2hlZChmYWxzZSkKICAgICAsIG5hdmlnYXRpb25Db250cm9sbGVyKDApCkBA
IC01NSw2ICs1NSwxMSBAQCBRU2l6ZSBRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpkcmF3aW5nQXJl
CiAgICAgcmV0dXJuIFFTaXplKHEtPndpZHRoKCksIHEtPmhlaWdodCgpKTsKIH0KIAorV0tQYWdl
UmVmIFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OnBhZ2VSZWYoKSBjb25zdAoreworICAgIHJldHVy
biBxLT5wYWdlUmVmKCk7Cit9CisKIHZvaWQgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6Y29udGVu
dFNpemVDaGFuZ2VkKGNvbnN0IFFTaXplJikKIHsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3AuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmgJKHJldmlzaW9uIDky
Mzg0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdf
cC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIHB1YmxpYzoKIAogICAgIFFEZXNr
dG9wV2ViVmlldyogcTsKICAgICBRRGVza3RvcFdlYlBhZ2VQcm94eSBwYWdlOworICAgIFdLUGFn
ZVJlZiBwYWdlUmVmKCkgY29uc3Q7CiAKICAgICBib29sIGlzQ3Jhc2hlZDsKICAgICBRV2ViTmF2
aWdhdGlvbkNvbnRyb2xsZXIqIG5hdmlnYXRpb25Db250cm9sbGVyOwpJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAkocmV2
aXNpb24gOTIzODQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9y
UHJveHlRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDM4ICsyNSw2NCBAQAogCiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKKyNpbmNsdWRlICJX
ZWJQcm9jZXNzUHJveHkuaCIKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKICNpbmNsdWRlIDxX
ZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CisjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+CisjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3
X3AuaD4KKyNpbmNsdWRlIDxRdERlY2xhcmF0aXZlL3FzZ3ZpZXcuaD4KKworY2xhc3MgUU9iamVj
dDsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLSAgICByZXR1cm4gMDsKKyAgICBBU1NFUlQobV9wYWdlKTsKKyAgICBBU1NFUlQoIW1faW5z
cGVjdG9yVmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3ID0gbmV3IFFEZXNrdG9wV2ViVmlld1By
aXZhdGUoMCwgdG9BUEkocGFnZSgpLT5wcm9jZXNzKCktPmNvbnRleHQoKSksIHRvQVBJKGluc3Bl
Y3RvclBhZ2VHcm91cCgpKSk7CisgICAgQVNTRVJUKG1faW5zcGVjdG9yVmlldyk7CisgICAgbV9p
bnNwZWN0b3JWaWV3LT5xLT5zZXRYKDApOworICAgIG1faW5zcGVjdG9yVmlldy0+cS0+c2V0WSgw
KTsKKyAgICBtX2luc3BlY3RvclZpZXctPnEtPnNldFdpZHRoKGluaXRpYWxXaW5kb3dXaWR0aCk7
CisgICAgbV9pbnNwZWN0b3JWaWV3LT5xLT5zZXRIZWlnaHQoaW5pdGlhbFdpbmRvd0hlaWdodCk7
CisgICAgcmV0dXJuIHRvSW1wbChtX2luc3BlY3RvclZpZXctPnBhZ2VSZWYoKSk7CiB9CiAKIHZv
aWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3Blbihib29sKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgQVNTRVJUKCFtX3ZpZXcpOworICAgIG1fdmlldyA9IG5ldyBRU0dWaWV3
KCk7CisgICAgQVNTRVJUKG1fdmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5xLT5zZXRQYXJl
bnRJdGVtKG1fdmlldy0+cm9vdEl0ZW0oKSk7CisgICAgbV92aWV3LT5zZXRHZW9tZXRyeSgwLCAw
LCBpbml0aWFsV2luZG93V2lkdGgsIGluaXRpYWxXaW5kb3dIZWlnaHQpOworICAgIG1fdmlldy0+
c2hvdygpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKCkK
IHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlmIChtX2luc3BlY3RvclZpZXcpIHsKKyAg
ICAgICAgZGVsZXRlIG1faW5zcGVjdG9yVmlldy0+cTsKKyAgICAgICAgZGVsZXRlIG1faW5zcGVj
dG9yVmlldzsKKyAgICAgICAgbV9pbnNwZWN0b3JWaWV3ID0gMDsKKyAgICB9CisKKyAgICBpZiAo
bV92aWV3KSB7CisgICAgICAgIG1fdmlldy0+Y2xvc2UoKTsKKyAgICAgICAgbV92aWV3ID0gMDsK
KyAgICB9CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250
KCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkluc3BlY3RvclByb3h5
OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJikKK3ZvaWQgV2ViSW5z
cGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmIHVy
bCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fdmlldy0+c2V0V2luZG93VGl0bGUo
UU9iamVjdDo6dHIoIldlYiBJbnNwZWN0b3IgLSAiKSArIFFPYmplY3Q6OnRyKHVybC51dGY4KCku
ZGF0YSgpKSk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQXR0YWNoKCkK
QEAgLTc2LDggKzEwMiw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0QXR0
YWMKIAogU3RyaW5nIFdlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JQYWdlVVJMKCkgY29uc3QK
IHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICByZXR1
cm4gKCJxcmM6L3dlYmtpdC9pbnNwZWN0b3IvaW5zcGVjdG9yLmh0bWwiKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MjM4NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDExLTA4LTE2ICBHZW5pc2ltIFRzaWxrZXIgIDxn
ZW5pc2ltQHlhaG9vLmNvbT4KKworICAgICAgICBBZGQgV2ViSW5zcGVjdG9yIHRvIFdlYktpdDIg
TWluaUJyb3dzZXIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcDoKKyAgICAgICAgKEJyb3dzZXJW
aWV3OjpkZXNrdG9wV2ViVmlldyk6CisgICAgICAgIChCcm93c2VyVmlldzo6dG9nZ2xlV2ViSW5z
cGVjdG9yKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oOgorICAgICAg
ICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwOgorICAgICAgICAoQnJvd3Nlcldp
bmRvdzo6QnJvd3NlcldpbmRvdyk6CisgICAgICAgIChCcm93c2VyV2luZG93Ojp0b2dnbGVXZWJJ
bnNwZWN0b3IpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaDoKKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5wcm86CisKIDIwMTEtMDgtMDQgIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBidWlsZGVycy5qcyBuZWVk
cyB1bml0IHRlc3RzCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwCShyZXZp
c2lvbiA5MjM4NCkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzIsMTAgKzMyLDE4IEBACiAjaW5jbHVkZSA8UXREZWNsYXJhdGl2ZS9x
c2dpdGVtLmg+CiAjaW5jbHVkZSA8UVJlc2l6ZUV2ZW50PgogI2luY2x1ZGUgPHFkZXNrdG9wd2Vi
dmlldy5oPgorI2luY2x1ZGUgPHFkZXNrdG9wd2Vidmlld19wLmg+CiAjaW5jbHVkZSA8cXRvdWNo
d2Vidmlldy5oPgogI2luY2x1ZGUgPHF0b3VjaHdlYnBhZ2UuaD4KKyNpbmNsdWRlIDxxd2Vic2V0
dGluZ3MuaD4KICNpbmNsdWRlIDxxd2VibmF2aWdhdGlvbmNvbnRyb2xsZXIuaD4KIAorI2luY2x1
ZGUgPFdLSW5zcGVjdG9yLmg+CisjaW5jbHVkZSA8V0tQYWdlUHJpdmF0ZS5oPgorI2luY2x1ZGUg
PFdLUGFnZUdyb3VwLmg+CisjaW5jbHVkZSA8V0tQcmVmZXJlbmNlcy5oPgorI2luY2x1ZGUgPFdL
UHJlZmVyZW5jZXNQcml2YXRlLmg+CisKIEJyb3dzZXJWaWV3OjpCcm93c2VyVmlldyhib29sIHVz
ZVRvdWNoV2ViVmlldywgUVdpZGdldCogcGFyZW50KQogICAgIDogUVNHQ2FudmFzKHBhcmVudCkK
ICAgICAsIG1faXRlbSgwKQpAQCAtODYsNiArOTQsMjUgQEAgUURlc2t0b3BXZWJWaWV3KiBCcm93
c2VyVmlldzo6ZGVza3RvcFdlYgogICAgIHJldHVybiBxb2JqZWN0X2Nhc3Q8UURlc2t0b3BXZWJW
aWV3Kj4obV9pdGVtKTsKIH0KIAordm9pZCBCcm93c2VyVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9y
KCkKK3sKKyAgICBpZiAoZGVza3RvcFdlYlZpZXcoKSkgeworICAgICAgICBRRGVza3RvcFdlYlZp
ZXdQcml2YXRlKiBkZXNrdG9wV2ViVmlld1ByaXZhdGUgPSBuZXcgUURlc2t0b3BXZWJWaWV3UHJp
dmF0ZShkZXNrdG9wV2ViVmlldygpKTsgCisgICAgICAgIFdLUGFnZVJlZiBtX3BhZ2VSZWYgPSBk
ZXNrdG9wV2ViVmlld1ByaXZhdGUtPnBhZ2VSZWYoKTsKKyAgICAgICAgV0tQYWdlR3JvdXBSZWYg
bV9wYWdlR3JvdXBSZWYgPSBXS1BhZ2VHZXRQYWdlR3JvdXAobV9wYWdlUmVmKTsKKyAgICAgICAg
V0tQcmVmZXJlbmNlc1JlZiBtX3ByZWZlcmVuY2VzID0gV0tQYWdlR3JvdXBHZXRQcmVmZXJlbmNl
cyhtX3BhZ2VHcm91cFJlZik7CisKKyAgICAgICAgaWYgKFdLSW5zcGVjdG9ySXNWaXNpYmxlKFdL
UGFnZUdldEluc3BlY3RvcihtX3BhZ2VSZWYpKSkgeworICAgICAgICAgICAgV0tQcmVmZXJlbmNl
c1NldERldmVsb3BlckV4dHJhc0VuYWJsZWQobV9wcmVmZXJlbmNlcywgZmFsc2UpOworICAgICAg
ICAgICAgV0tJbnNwZWN0b3JDbG9zZShXS1BhZ2VHZXRJbnNwZWN0b3IobV9wYWdlUmVmKSk7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBXS1ByZWZlcmVuY2VzU2V0RGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZChtX3ByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICAgICAgICAgIFdLSW5zcGVjdG9y
U2hvdyhXS1BhZ2VHZXRJbnNwZWN0b3IobV9wYWdlUmVmKSk7CisgICAgICAgIH0KKyAgICAgICAg
ZGVsZXRlIGRlc2t0b3BXZWJWaWV3UHJpdmF0ZTsKKyAgICB9Cit9CisKIFFBY3Rpb24qIEJyb3dz
ZXJWaWV3OjpuYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uIHdoaWNo
KSBjb25zdAogewogICAgIGlmIChkZXNrdG9wV2ViVmlldygpKQpJbmRleDogVG9vbHMvTWluaUJy
b3dzZXIvcXQvQnJvd3NlclZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9x
dC9Ccm93c2VyVmlldy5oCShyZXZpc2lvbiA5MjM4NCkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0
L0Jyb3dzZXJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgcHVibGljOgog
CiAgICAgUVRvdWNoV2ViVmlldyogdG91Y2hXZWJWaWV3KCkgY29uc3Q7CiAgICAgUURlc2t0b3BX
ZWJWaWV3KiBkZXNrdG9wV2ViVmlldygpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlV2ViSW5zcGVj
dG9yKCk7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVzaXplRXZlbnQoUVJlc2l6
ZUV2ZW50Kik7CkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAkocmV2
aXNpb24gOTIzODQpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTA0LDYgKzEwNCw5IEBAIEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJX
aW5kb3coV2luZG93T3B0aW8KICAgICBjb25uZWN0KHRoaXMsIFNJR05BTChlbnRlcmVkRnVsbFNj
cmVlbk1vZGUoYm9vbCkpLCB0aGlzLCBTTE9UKHRvZ2dsZUZ1bGxTY3JlZW5Nb2RlKGJvb2wpKSk7
CiAKICAgICBRTWVudSogdG9vbHNNZW51ID0gbWVudUJhcigpLT5hZGRNZW51KCImRGV2ZWxvcCIp
OworICAgIFFBY3Rpb24qIHRvZ2dsZVdlYkluc3BlY3RvciA9IHRvb2xzTWVudS0+YWRkQWN0aW9u
KCJTaG93IFdlYiBJbnNwZWN0b3IiLCB0aGlzLCBTTE9UKHRvZ2dsZVdlYkluc3BlY3RvcigpKSk7
CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2FibGUodHJ1ZSk7CisgICAgdG9nZ2xl
V2ViSW5zcGVjdG9yLT5zZXRDaGVja2VkKGZhbHNlKTsKICAgICB0b29sc01lbnUtPmFkZEFjdGlv
bigiQ2hhbmdlIFVzZXIgQWdlbnQiLCB0aGlzLCBTTE9UKHNob3dVc2VyQWdlbnREaWFsb2coKSkp
OwogICAgIHRvb2xzTWVudS0+YWRkU2VwYXJhdG9yKCk7CiAgICAgdG9vbHNNZW51LT5hZGRBY3Rp
b24oIkxvYWQgVVJMcyBmcm9tIGZpbGUiLCB0aGlzLCBTTE9UKGxvYWRVUkxMaXN0RnJvbUZpbGUo
KSkpOwpAQCAtMjMwLDYgKzIzMywxMSBAQCB2b2lkIEJyb3dzZXJXaW5kb3c6OnNjcmVlbnNob3Qo
KQogICAgIH0KIH0KIAordm9pZCBCcm93c2VyV2luZG93Ojp0b2dnbGVXZWJJbnNwZWN0b3IoKQor
eworICAgIG1fYnJvd3Nlci0+dG9nZ2xlV2ViSW5zcGVjdG9yKCk7Cit9CisKIHZvaWQgQnJvd3Nl
cldpbmRvdzo6dG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpCiB7CiAgICAgYm9vbCBh
bHJlYWR5RW5hYmxlZCA9IHdpbmRvd1N0YXRlKCkgJiBRdDo6V2luZG93RnVsbFNjcmVlbjsKSW5k
ZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHJldmlzaW9uIDkyMzg0KQorKysg
VG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC02
Myw2ICs2Myw4IEBAIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lkIHNjcmVlbnNob3QoKTsKIAog
ICAgIHZvaWQgdG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpOworICAgIAorICAgIHZv
aWQgdG9nZ2xlV2ViSW5zcGVjdG9yKCk7CiAKICAgICB2b2lkIHNob3dVc2VyQWdlbnREaWFsb2co
KTsKIApJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybwkocmV2aXNpb24gOTIz
ODQpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5wcm8JKHdvcmtpbmcgY29w
eSkKQEAgLTE4LDYgKzE4LDkgQEAgSEVBREVSUyArPSBcCiAKIGlzRW1wdHkoT1VUUFVUX0RJUik6
IE9VVFBVVF9ESVIgPSAuLi8uLi8uLgogaW5jbHVkZSguLi8uLi8uLi9Tb3VyY2UvV2ViS2l0LnBy
aSkKK2luY2x1ZGUoLi4vLi4vLi4vU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnByaSkKK2luY2x1ZGUoLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkpCitpbmNs
dWRlKC4uLy4uLy4uL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJpKQogCiBJTkNMVURFUEFUSCAr
PSBcCiAgICAgJCRQV0QvLi4vLi4vLi4vU291cmNlL1dlYktpdDIvIFwK
</data>
<flag name="review"
          id="99890"
          type_id="1"
          status="-"
          setter="menard"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104931</attachid>
            <date>2011-08-23 16:58:17 -0700</date>
            <delta_ts>2011-08-23 17:15:12 -0700</delta_ts>
            <desc>Updated Web Inspector patch for one of latest WebKit2 rev.</desc>
            <filename>Add_Web_Inspector_to_WebKit2_updated_for_rev_93661.patch</filename>
            <type>text/plain</type>
            <size>12409</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNjYxKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDgtMjMgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwOgor
ICAgICAgICAoUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6UURlc2t0b3BXZWJWaWV3UHJpdmF0ZSk6
CisgICAgICAgIChRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpkcmF3aW5nQXJlYVNpemUpOgorICAg
ICAgICAoUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6cGFnZVJlZik6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJ
bnNwZWN0b3JQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpX
ZWJJbnNwZWN0b3JQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5Ojpp
bnZhbGlkYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUlu
c3BlY3RvclBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6ZGlkTG9h
ZEluc3BlY3RvclBhZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFn
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9wZW4pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1EaWRDbG9zZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENo
YW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yUGFn
ZVVSTCk6CisKIDIwMTEtMDgtMjMgIEdvcGFsIFJhZ2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBu
b2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBVbm5lY2Vzc2FyeSBmb2xkZXJzIGluIFdlYktpdDIu
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5j
cHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3Bl
Y3RvclByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzMsNiArNzMsMTAgQEAgV2ViSW5zcGVj
dG9yUHJveHk6OldlYkluc3BlY3RvclByb3h5KFdlYgogI2lmIFBMQVRGT1JNKFdJTikKICAgICAs
IG1faW5zcGVjdG9yV2luZG93KDApCiAjZW5kaWYKKyNpZiBQTEFURk9STShRVCkKKyAgICAsIG1f
dmlldygwKQorICAgICwgbV9pbnNwZWN0b3JWaWV3KDApCisjZW5kaWYKIHsKIH0KIApAQCAtODYs
NiArOTAsMTAgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6aW52YWxpZGF0ZSgpCiAgICAgZGlk
Q2xvc2UoKTsKIAogICAgIG1fcGFnZSA9IDA7CisjaWYgUExBVEZPUk0oUVQpCisgICAgbV9pbnNw
ZWN0b3JWaWV3ID0gMDsKKyAgICBtX3ZpZXcgPSAwOworI2VuZGlmCiAKICAgICBtX2lzVmlzaWJs
ZSA9IGZhbHNlOwogICAgIG1faXNEZWJ1Z2dpbmdKYXZhU2NyaXB0ID0gZmFsc2U7CkBAIC0yMTIs
NyArMjIwLDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRlSW5zcGVjdG9yUAogICAg
IFN0cmluZyB1cmwgPSBpbnNwZWN0b3JQYWdlVVJMKCk7CiAgICAgaWYgKHNob3VsZE9wZW5BdHRh
Y2hlZCgpKQogICAgICAgICB1cmwgKz0gIj9kb2NrZWQ9dHJ1ZSI7Ci0gICAgaW5zcGVjdG9yUGFn
ZS0+bG9hZFVSTCh1cmwpOworICAgIGluc3BlY3RvclBhZ2UtPmxvYWRVUkwoaW5zcGVjdG9yUGFn
ZVVSTCgpKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6ZGlkTG9hZEluc3BlY3RvclBh
Z2UoKQpAQCAtMjIyLDYgKzIzMCw5IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OmRpZExvYWRJ
bnNwZWN0b3IKIAogICAgIC8vIHBsYXRmb3JtT3BlbiBpcyByZXNwb25zaWJsZSBmb3IgcmVuZGVy
aW5nIGF0dGFjaGVkIG1vZGUgZGVwZW5kaW5nIG9uIG1faXNBdHRhY2hlZC4KICAgICBwbGF0Zm9y
bU9wZW4oKTsKKyAgICAKKy8vICAgIGlmIChtX2lzQXR0YWNoZWQpCisvLyAgICAgICAgOyAvL21f
cGFnZS0+cHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3I6OlJlcXVlc3RBdHRh
Y2hXaW5kb3coKSwgbV9wYWdlLT5wYWdlSUQoKSk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJv
eHk6OmRpZENsb3NlKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0
b3JQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNw
ZWN0b3JQcm94eS5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJJbnNwZWN0b3JQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0NiwxMSBAQCBP
QkpDX0NMQVNTIFdlYkluc3BlY3RvcldLVmlldzsKICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01l
c3NhZ2VMaXN0ZW5lci5oPgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKK2NsYXNzIFFTR1Zp
ZXc7CitjbGFzcyBRRGVza3RvcFdlYlZpZXdQcml2YXRlOworI2VuZGlmCisKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBjbGFzcyBXZWJQYWdlR3JvdXA7CkBAIC0xNzQsNiArMTc5LDkgQEAgcHJpdmF0
ZToKICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICBIV05EIG1faW5zcGVjdG9yV2luZG93OwogICAg
IFJlZlB0cjxXZWJWaWV3PiBtX2luc3BlY3RvclZpZXc7CisjZWxpZiBQTEFURk9STShRVCkKKyAg
ICBRU0dWaWV3KiBtX3ZpZXc7CisgICAgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZSogbV9pbnNwZWN0
b3JWaWV3OwogI2VuZGlmCiB9OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3FkZXNrdG9wd2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUgPFF0R3VpL1FXaGVlbEV2ZW50Pgog
CiBRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpRRGVza3RvcFdlYlZpZXdQcml2YXRlKFFEZXNrdG9w
V2ViVmlldyogcSwgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VH
cm91cFJlZikKLSAgICA6IHEocSkKKyAgICA6IHEocSA/IHEgOiBuZXcgUURlc2t0b3BXZWJWaWV3
KGNvbnRleHRSZWYsIHBhZ2VHcm91cFJlZikpCiAgICAgLCBwYWdlKHRoaXMsIGNvbnRleHRSZWYg
PyBuZXcgUVdLQ29udGV4dChjb250ZXh0UmVmKSA6IGRlZmF1bHRXS0NvbnRleHQoKSwgcGFnZUdy
b3VwUmVmKQogICAgICwgaXNDcmFzaGVkKGZhbHNlKQogICAgICwgbmF2aWdhdGlvbkNvbnRyb2xs
ZXIoMCkKQEAgLTU1LDYgKzU1LDExIEBAIFFTaXplIFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OmRy
YXdpbmdBcmUKICAgICByZXR1cm4gUVNpemUocS0+d2lkdGgoKSwgcS0+aGVpZ2h0KCkpOwogfQog
CitXS1BhZ2VSZWYgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6cGFnZVJlZigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHEtPnBhZ2VSZWYoKTsKK30KKwogdm9pZCBRRGVza3RvcFdlYlZpZXdQcml2YXRl
Ojpjb250ZW50U2l6ZUNoYW5nZWQoY29uc3QgUVNpemUmKQogewogfQpJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3AuaAkocmV2
aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9w
d2Vidmlld19wLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAgcHVibGljOgogCiAg
ICAgUURlc2t0b3BXZWJWaWV3KiBxOwogICAgIFFEZXNrdG9wV2ViUGFnZVByb3h5IHBhZ2U7Cisg
ICAgV0tQYWdlUmVmIHBhZ2VSZWYoKSBjb25zdDsKIAogICAgIGJvb2wgaXNDcmFzaGVkOwogICAg
IFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlciogbmF2aWdhdGlvbkNvbnRyb2xsZXI7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQu
Y3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJ
bnNwZWN0b3JQcm94eVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsMjggKzI1LDU1IEBACiAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgorI2lu
Y2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAogI2lu
Y2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KKyNpbmNsdWRlIDxxZGVza3RvcHdlYnZpZXcuaD4KKyNpbmNsdWRlIDxxZGVza3Rv
cHdlYnZpZXdfcC5oPgorI2luY2x1ZGUgPFF0RGVjbGFyYXRpdmUvcXNndmlldy5oPgorCitjbGFz
cyBRT2JqZWN0OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViUGFnZVByb3h5KiBXZWJJbnNw
ZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdlKCkKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOwotICAgIHJldHVybiAwOworICAgIEFTU0VSVChtX3BhZ2UpOworICAgIEFTU0VS
VCghbV9pbnNwZWN0b3JWaWV3KTsKKyAgICBtX2luc3BlY3RvclZpZXcgPSBuZXcgUURlc2t0b3BX
ZWJWaWV3UHJpdmF0ZSgwLCB0b0FQSShwYWdlKCktPnByb2Nlc3MoKS0+Y29udGV4dCgpKSwgdG9B
UEkoaW5zcGVjdG9yUGFnZUdyb3VwKCkpKTsKKyAgICBBU1NFUlQobV9pbnNwZWN0b3JWaWV3KTsK
KyAgICBtX2luc3BlY3RvclZpZXctPnEtPnNldFgoMCk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5x
LT5zZXRZKDApOworICAgIG1faW5zcGVjdG9yVmlldy0+cS0+c2V0V2lkdGgoaW5pdGlhbFdpbmRv
d1dpZHRoKTsKKyAgICBtX2luc3BlY3RvclZpZXctPnEtPnNldEhlaWdodChpbml0aWFsV2luZG93
SGVpZ2h0KTsKKyAgICByZXR1cm4gdG9JbXBsKG1faW5zcGVjdG9yVmlldy0+cGFnZVJlZigpKTsK
IH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKCkKIHsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIEFTU0VSVCghbV92aWV3KTsKKyAgICBtX3ZpZXcgPSBuZXcgUVNH
VmlldygpOworICAgIEFTU0VSVChtX3ZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldy0+cS0+c2V0
UGFyZW50SXRlbShtX3ZpZXctPnJvb3RJdGVtKCkpOworICAgIG1fdmlldy0+c2V0R2VvbWV0cnko
MCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93SGVpZ2h0KTsKKyAgICBtX3Zp
ZXctPnNob3coKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1EaWRDbG9z
ZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBpZiAobV9pbnNwZWN0b3JWaWV3KSB7
CisgICAgICAgIGRlbGV0ZSBtX2luc3BlY3RvclZpZXctPnE7CisgICAgICAgIGRlbGV0ZSBtX2lu
c3BlY3RvclZpZXc7CisgICAgICAgIG1faW5zcGVjdG9yVmlldyA9IDA7CisgICAgfQorCisgICAg
aWYgKG1fdmlldykgeworICAgICAgICBtX3ZpZXctPmNsb3NlKCk7CisgICAgICAgIG1fdmlldyA9
IDA7CisgICAgfQogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9G
cm9udCgpCkBAIC01NCw5ICs4MSw5IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3Jt
QnJpbmdUb0YKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkluc3BlY3RvclBy
b3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJikKK3ZvaWQgV2Vi
SW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcm
IHVybCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fdmlldy0+c2V0V2luZG93VGl0
bGUoUU9iamVjdDo6dHIoIldlYiBJbnNwZWN0b3IgLSAiKSArIFFPYmplY3Q6OnRyKHVybC51dGY4
KCkuZGF0YSgpKSk7CiB9CiAKIHVuc2lnbmVkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUlu
c3BlY3RlZFdpbmRvd0hlaWdodCgpCkBAIC04Miw4ICsxMDksNyBAQCB2b2lkIFdlYkluc3BlY3Rv
clByb3h5OjpwbGF0Zm9ybVNldEF0dGFjCiAKIFN0cmluZyBXZWJJbnNwZWN0b3JQcm94eTo6aW5z
cGVjdG9yUGFnZVVSTCgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1
cm4gU3RyaW5nKCk7CisgICAgcmV0dXJuICgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rv
ci5odG1sIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogVG9vbHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gOTM2NjEpCisrKyBU
b29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0wOC0y
MyAgR2VuaXNpbSBUc2lsa2VyICA8Z2VuaXNpbUB5YWhvby5jb20+CisKKyAgICAgICAgQWRkIFdl
Ykluc3BlY3RvciB0byBXZWJLaXQyIE1pbmlCcm93c2VyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5j
cHA6CisgICAgICAgIChCcm93c2VyVmlldzo6ZGVza3RvcFdlYlZpZXcpOgorICAgICAgICAoQnJv
d3NlclZpZXc6OnRvZ2dsZVdlYkluc3BlY3Rvcik6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQv
QnJvd3NlclZpZXcuaDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNw
cDoKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3cpOgorICAgICAgICAoQnJv
d3NlcldpbmRvdzo6c2NyZWVuc2hvdCk6CisgICAgICAgIChCcm93c2VyV2luZG93Ojp0b2dnbGVX
ZWJJbnNwZWN0b3IpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaDoK
KyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5wcm86CisKIDIwMTEtMDgtMjMg
IERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaGFu
Z2UgZ2FyZGVuLW8tbWF0aWMgZnJvbnRlbmQgYnVpbGRlciBhcnJheSB0byBiZSBhIGNvbmZpZ3Vy
YXRpb24gbWFwLgpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAkocmV2aXNp
b24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMyLDEwICszMiwxOCBAQAogI2luY2x1ZGUgPFF0RGVjbGFyYXRpdmUvcXNn
aXRlbS5oPgogI2luY2x1ZGUgPFFSZXNpemVFdmVudD4KICNpbmNsdWRlIDxxZGVza3RvcHdlYnZp
ZXcuaD4KKyNpbmNsdWRlIDxxZGVza3RvcHdlYnZpZXdfcC5oPgogI2luY2x1ZGUgPHF0b3VjaHdl
YnZpZXcuaD4KICNpbmNsdWRlIDxxdG91Y2h3ZWJwYWdlLmg+CisjaW5jbHVkZSA8cXdlYnNldHRp
bmdzLmg+CiAjaW5jbHVkZSA8cXdlYm5hdmlnYXRpb25jb250cm9sbGVyLmg+CiAKKyNpbmNsdWRl
IDxXS0luc3BlY3Rvci5oPgorI2luY2x1ZGUgPFdLUGFnZVByaXZhdGUuaD4KKyNpbmNsdWRlIDxX
S1BhZ2VHcm91cC5oPgorI2luY2x1ZGUgPFdLUHJlZmVyZW5jZXMuaD4KKyNpbmNsdWRlIDxXS1By
ZWZlcmVuY2VzUHJpdmF0ZS5oPgorCiBCcm93c2VyVmlldzo6QnJvd3NlclZpZXcoYm9vbCB1c2VU
b3VjaFdlYlZpZXcsIFFXaWRnZXQqIHBhcmVudCkKICAgICA6IFFTR0NhbnZhcyhwYXJlbnQpCiAg
ICAgLCBtX2l0ZW0oMCkKQEAgLTg2LDYgKzk0LDI1IEBAIFFEZXNrdG9wV2ViVmlldyogQnJvd3Nl
clZpZXc6OmRlc2t0b3BXZWIKICAgICByZXR1cm4gcW9iamVjdF9jYXN0PFFEZXNrdG9wV2ViVmll
dyo+KG1faXRlbSk7CiB9CiAKK3ZvaWQgQnJvd3NlclZpZXc6OnRvZ2dsZVdlYkluc3BlY3Rvcigp
Cit7CisgICAgaWYgKGRlc2t0b3BXZWJWaWV3KCkpIHsKKyAgICAgICAgUURlc2t0b3BXZWJWaWV3
UHJpdmF0ZSogZGVza3RvcFdlYlZpZXdQcml2YXRlID0gbmV3IFFEZXNrdG9wV2ViVmlld1ByaXZh
dGUoZGVza3RvcFdlYlZpZXcoKSk7IAorICAgICAgICBXS1BhZ2VSZWYgbV9wYWdlUmVmID0gZGVz
a3RvcFdlYlZpZXdQcml2YXRlLT5wYWdlUmVmKCk7CisgICAgICAgIFdLUGFnZUdyb3VwUmVmIG1f
cGFnZUdyb3VwUmVmID0gV0tQYWdlR2V0UGFnZUdyb3VwKG1fcGFnZVJlZik7CisgICAgICAgIFdL
UHJlZmVyZW5jZXNSZWYgbV9wcmVmZXJlbmNlcyA9IFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMo
bV9wYWdlR3JvdXBSZWYpOworCisgICAgICAgIGlmIChXS0luc3BlY3RvcklzVmlzaWJsZShXS1Bh
Z2VHZXRJbnNwZWN0b3IobV9wYWdlUmVmKSkpIHsKKyAgICAgICAgICAgIFdLUHJlZmVyZW5jZXNT
ZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKG1fcHJlZmVyZW5jZXMsIGZhbHNlKTsKKyAgICAgICAg
ICAgIFdLSW5zcGVjdG9yQ2xvc2UoV0tQYWdlR2V0SW5zcGVjdG9yKG1fcGFnZVJlZikpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgV0tQcmVmZXJlbmNlc1NldERldmVsb3BlckV4dHJh
c0VuYWJsZWQobV9wcmVmZXJlbmNlcywgdHJ1ZSk7CisgICAgICAgICAgICBXS0luc3BlY3RvclNo
b3coV0tQYWdlR2V0SW5zcGVjdG9yKG1fcGFnZVJlZikpOworICAgICAgICB9CisgICAgICAgIGRl
bGV0ZSBkZXNrdG9wV2ViVmlld1ByaXZhdGU7CisgICAgfQorfQorCiBRQWN0aW9uKiBCcm93c2Vy
Vmlldzo6bmF2aWdhdGlvbkFjdGlvbihRdFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbiB3aGljaCkg
Y29uc3QKIHsKICAgICBpZiAoZGVza3RvcFdlYlZpZXcoKSkKSW5kZXg6IFRvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQv
QnJvd3NlclZpZXcuaAkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9C
cm93c2VyVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIHB1YmxpYzoKIAog
ICAgIFFUb3VjaFdlYlZpZXcqIHRvdWNoV2ViVmlldygpIGNvbnN0OwogICAgIFFEZXNrdG9wV2Vi
VmlldyogZGVza3RvcFdlYlZpZXcoKSBjb25zdDsKKyAgICB2b2lkIHRvZ2dsZVdlYkluc3BlY3Rv
cigpOwogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZUV2ZW50KFFSZXNpemVF
dmVudCopOwpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHJldmlz
aW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEwNCw2ICsxMDQsOSBAQCBCcm93c2VyV2luZG93OjpCcm93c2VyV2lu
ZG93KFdpbmRvd09wdGlvCiAgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZEZ1bGxTY3Jl
ZW5Nb2RlKGJvb2wpKSwgdGhpcywgU0xPVCh0b2dnbGVGdWxsU2NyZWVuTW9kZShib29sKSkpOwog
CiAgICAgUU1lbnUqIHRvb2xzTWVudSA9IG1lbnVCYXIoKS0+YWRkTWVudSgiJkRldmVsb3AiKTsK
KyAgICBRQWN0aW9uKiB0b2dnbGVXZWJJbnNwZWN0b3IgPSB0b29sc01lbnUtPmFkZEFjdGlvbigi
U2hvdyBXZWIgSW5zcGVjdG9yIiwgdGhpcywgU0xPVCh0b2dnbGVXZWJJbnNwZWN0b3IoKSkpOwor
ICAgIHRvZ2dsZVdlYkluc3BlY3Rvci0+c2V0Q2hlY2thYmxlKHRydWUpOworICAgIHRvZ2dsZVdl
Ykluc3BlY3Rvci0+c2V0Q2hlY2tlZChmYWxzZSk7CiAgICAgdG9vbHNNZW51LT5hZGRBY3Rpb24o
IkNoYW5nZSBVc2VyIEFnZW50IiwgdGhpcywgU0xPVChzaG93VXNlckFnZW50RGlhbG9nKCkpKTsK
ICAgICB0b29sc01lbnUtPmFkZFNlcGFyYXRvcigpOwogICAgIHRvb2xzTWVudS0+YWRkQWN0aW9u
KCJMb2FkIFVSTHMgZnJvbSBmaWxlIiwgdGhpcywgU0xPVChsb2FkVVJMTGlzdEZyb21GaWxlKCkp
KTsKQEAgLTIzMCw2ICsyMzMsMTEgQEAgdm9pZCBCcm93c2VyV2luZG93OjpzY3JlZW5zaG90KCkK
ICAgICB9CiB9CiAKK3ZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlV2ViSW5zcGVjdG9yKCkKK3sK
KyAgICBtX2Jyb3dzZXItPnRvZ2dsZVdlYkluc3BlY3RvcigpOworfQorCiB2b2lkIEJyb3dzZXJX
aW5kb3c6OnRvZ2dsZUZ1bGxTY3JlZW5Nb2RlKGJvb2wgZW5hYmxlKQogewogICAgIGJvb2wgYWxy
ZWFkeUVuYWJsZWQgPSB3aW5kb3dTdGF0ZSgpICYgUXQ6OldpbmRvd0Z1bGxTY3JlZW47CkluZGV4
OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFRv
b2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAkod29ya2luZyBjb3B5KQpAQCAtNjMs
NiArNjMsOCBAQCBwcm90ZWN0ZWQgc2xvdHM6CiAgICAgdm9pZCBzY3JlZW5zaG90KCk7CiAKICAg
ICB2b2lkIHRvZ2dsZUZ1bGxTY3JlZW5Nb2RlKGJvb2wgZW5hYmxlKTsKKyAgICAKKyAgICB2b2lk
IHRvZ2dsZVdlYkluc3BlY3RvcigpOwogCiAgICAgdm9pZCBzaG93VXNlckFnZW50RGlhbG9nKCk7
CiAKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5wcm8JKHJldmlzaW9uIDkzNjU5
KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvCSh3b3JraW5nIGNvcHkp
CkBAIC0xOCw2ICsxOCw5IEBAIEhFQURFUlMgKz0gXAogCiBpc0VtcHR5KE9VVFBVVF9ESVIpOiBP
VVRQVVRfRElSID0gLi4vLi4vLi4KIGluY2x1ZGUoLi4vLi4vLi4vU291cmNlL1dlYktpdC5wcmkp
CitpbmNsdWRlKC4uLy4uLy4uL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5w
cmkpCitpbmNsdWRlKC4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJpKQoraW5jbHVk
ZSguLi8uLi8uLi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnByaSkKIAogSU5DTFVERVBBVEggKz0g
XAogICAgICQkUFdELy4uLy4uLy4uL1NvdXJjZS9XZWJLaXQyLyBcCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104938</attachid>
            <date>2011-08-23 17:15:12 -0700</date>
            <delta_ts>2011-08-23 17:27:12 -0700</delta_ts>
            <desc>Updated Web Inspector patch for one of latest WebKit2 rev. Fixed Alphabetical sorting problem</desc>
            <filename>Add_Web_Inspector_to_WebKit2_updated_for_rev_93661.patch</filename>
            <type>text/plain</type>
            <size>12486</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNjYyKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDgtMjMgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwOgor
ICAgICAgICAoUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6UURlc2t0b3BXZWJWaWV3UHJpdmF0ZSk6
CisgICAgICAgIChRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpkcmF3aW5nQXJlYVNpemUpOgorICAg
ICAgICAoUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6cGFnZVJlZik6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJ
bnNwZWN0b3JQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpX
ZWJJbnNwZWN0b3JQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5Ojpp
bnZhbGlkYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUlu
c3BlY3RvclBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6ZGlkTG9h
ZEluc3BlY3RvclBhZ2UpOiBSZXF1ZXN0QXR0YWNoV2luZG93KCkgbm90IGV4aXN0LiBDb21tZW50
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3Blbik6CisgICAgICAgIChXZWJL
aXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JQYWdlVVJMKToKKwogMjAx
MS0wOC0yMyAgR29wYWwgUmFnaGF2YW4gIDxnb3BhbC4xLnJhZ2hhdmFuQG5va2lhLmNvbT4KIAog
ICAgICAgICBbUXRdIFVubmVjZXNzYXJ5IGZvbGRlcnMgaW4gV2ViS2l0Mi4KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAkocmV2aXNpb24g
OTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03Myw2ICs3MywxMCBAQCBXZWJJbnNwZWN0b3JQcm94eTo6V2Vi
SW5zcGVjdG9yUHJveHkoV2ViCiAjaWYgUExBVEZPUk0oV0lOKQogICAgICwgbV9pbnNwZWN0b3JX
aW5kb3coMCkKICNlbmRpZgorI2lmIFBMQVRGT1JNKFFUKQorICAgICwgbV92aWV3KDApCisgICAg
LCBtX2luc3BlY3RvclZpZXcoMCkKKyNlbmRpZgogewogfQogCkBAIC04Niw2ICs5MCwxMCBAQCB2
b2lkIFdlYkluc3BlY3RvclByb3h5OjppbnZhbGlkYXRlKCkKICAgICBkaWRDbG9zZSgpOwogCiAg
ICAgbV9wYWdlID0gMDsKKyNpZiBQTEFURk9STShRVCkKKyAgICBtX2luc3BlY3RvclZpZXcgPSAw
OworICAgIG1fdmlldyA9IDA7CisjZW5kaWYKIAogICAgIG1faXNWaXNpYmxlID0gZmFsc2U7CiAg
ICAgbV9pc0RlYnVnZ2luZ0phdmFTY3JpcHQgPSBmYWxzZTsKQEAgLTIxMiw3ICsyMjAsNyBAQCB2
b2lkIFdlYkluc3BlY3RvclByb3h5OjpjcmVhdGVJbnNwZWN0b3JQCiAgICAgU3RyaW5nIHVybCA9
IGluc3BlY3RvclBhZ2VVUkwoKTsKICAgICBpZiAoc2hvdWxkT3BlbkF0dGFjaGVkKCkpCiAgICAg
ICAgIHVybCArPSAiP2RvY2tlZD10cnVlIjsKLSAgICBpbnNwZWN0b3JQYWdlLT5sb2FkVVJMKHVy
bCk7CisgICAgaW5zcGVjdG9yUGFnZS0+bG9hZFVSTChpbnNwZWN0b3JQYWdlVVJMKCkpOwogfQog
CiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpkaWRMb2FkSW5zcGVjdG9yUGFnZSgpCkBAIC0yMjIs
NiArMjMwLDkgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6ZGlkTG9hZEluc3BlY3RvcgogCiAg
ICAgLy8gcGxhdGZvcm1PcGVuIGlzIHJlc3BvbnNpYmxlIGZvciByZW5kZXJpbmcgYXR0YWNoZWQg
bW9kZSBkZXBlbmRpbmcgb24gbV9pc0F0dGFjaGVkLgogICAgIHBsYXRmb3JtT3BlbigpOworICAg
IAorLy8gICAgaWYgKG1faXNBdHRhY2hlZCkKKy8vICAgICAgICBtX3BhZ2UtPnByb2Nlc3MoKS0+
c2VuZChNZXNzYWdlczo6V2ViSW5zcGVjdG9yOjpSZXF1ZXN0QXR0YWNoV2luZG93KCksIG1fcGFn
ZS0+cGFnZUlEKCkpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpkaWRDbG9zZSgpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAkocmV2
aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJv
eHkuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsMTEgQEAgT0JKQ19DTEFTUyBXZWJJbnNw
ZWN0b3JXS1ZpZXc7CiAjaW5jbHVkZSA8V2ViQ29yZS9XaW5kb3dNZXNzYWdlTGlzdGVuZXIuaD4K
ICNlbmRpZgogCisjaWYgUExBVEZPUk0oUVQpCitjbGFzcyBRU0dWaWV3OworY2xhc3MgUURlc2t0
b3BXZWJWaWV3UHJpdmF0ZTsKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3Mg
V2ViUGFnZUdyb3VwOwpAQCAtMTc0LDYgKzE3OSw5IEBAIHByaXZhdGU6CiAjZWxpZiBQTEFURk9S
TShXSU4pCiAgICAgSFdORCBtX2luc3BlY3RvcldpbmRvdzsKICAgICBSZWZQdHI8V2ViVmlldz4g
bV9pbnNwZWN0b3JWaWV3OworI2VsaWYgUExBVEZPUk0oUVQpCisgICAgUVNHVmlldyogbV92aWV3
OworICAgIFFEZXNrdG9wV2ViVmlld1ByaXZhdGUqIG1faW5zcGVjdG9yVmlldzsKICNlbmRpZgog
fTsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZp
ZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRl
c2t0b3B3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcg
KzM4LDcgQEAKICNpbmNsdWRlIDxRdEd1aS9RV2hlZWxFdmVudD4KIAogUURlc2t0b3BXZWJWaWV3
UHJpdmF0ZTo6UURlc2t0b3BXZWJWaWV3UHJpdmF0ZShRRGVza3RvcFdlYlZpZXcqIHEsIFdLQ29u
dGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYpCi0gICAgOiBx
KHEpCisgICAgOiBxKHEgPyBxIDogbmV3IFFEZXNrdG9wV2ViVmlldyhjb250ZXh0UmVmLCBwYWdl
R3JvdXBSZWYpKQogICAgICwgcGFnZSh0aGlzLCBjb250ZXh0UmVmID8gbmV3IFFXS0NvbnRleHQo
Y29udGV4dFJlZikgOiBkZWZhdWx0V0tDb250ZXh0KCksIHBhZ2VHcm91cFJlZikKICAgICAsIGlz
Q3Jhc2hlZChmYWxzZSkKICAgICAsIG5hdmlnYXRpb25Db250cm9sbGVyKDApCkBAIC01NSw2ICs1
NSwxMSBAQCBRU2l6ZSBRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpkcmF3aW5nQXJlCiAgICAgcmV0
dXJuIFFTaXplKHEtPndpZHRoKCksIHEtPmhlaWdodCgpKTsKIH0KIAorV0tQYWdlUmVmIFFEZXNr
dG9wV2ViVmlld1ByaXZhdGU6OnBhZ2VSZWYoKSBjb25zdAoreworICAgIHJldHVybiBxLT5wYWdl
UmVmKCk7Cit9CisKIHZvaWQgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6Y29udGVudFNpemVDaGFu
Z2VkKGNvbnN0IFFTaXplJikKIHsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3AuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmgJKHJldmlzaW9uIDkzNjU5KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIHB1YmxpYzoKIAogICAgIFFEZXNrdG9wV2ViVmll
dyogcTsKICAgICBRRGVza3RvcFdlYlBhZ2VQcm94eSBwYWdlOworICAgIFdLUGFnZVJlZiBwYWdl
UmVmKCkgY29uc3Q7CiAKICAgICBib29sIGlzQ3Jhc2hlZDsKICAgICBRV2ViTmF2aWdhdGlvbkNv
bnRyb2xsZXIqIG5hdmlnYXRpb25Db250cm9sbGVyOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAkocmV2aXNpb24gOTM2
NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDI4ICsyNSw1NSBAQAogCiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNz
UHJveHkuaCIKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKLSNpbmNsdWRlIDxXZWJDb3JlL05v
dEltcGxlbWVudGVkLmg+CisjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+CisjaW5jbHVkZSA8
cWRlc2t0b3B3ZWJ2aWV3X3AuaD4KKyNpbmNsdWRlIDxRdERlY2xhcmF0aXZlL3FzZ3ZpZXcuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL05vdElt
cGxlbWVudGVkLmg+CisKK2NsYXNzIFFPYmplY3Q7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBX
ZWJQYWdlUHJveHkqIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBh
Z2UoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgQVNTRVJU
KG1fcGFnZSk7CisgICAgQVNTRVJUKCFtX2luc3BlY3RvclZpZXcpOworICAgIG1faW5zcGVjdG9y
VmlldyA9IG5ldyBRRGVza3RvcFdlYlZpZXdQcml2YXRlKDAsIHRvQVBJKHBhZ2UoKS0+cHJvY2Vz
cygpLT5jb250ZXh0KCkpLCB0b0FQSShpbnNwZWN0b3JQYWdlR3JvdXAoKSkpOworICAgIEFTU0VS
VChtX2luc3BlY3RvclZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldy0+cS0+c2V0WCgwKTsKKyAg
ICBtX2luc3BlY3RvclZpZXctPnEtPnNldFkoMCk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5xLT5z
ZXRXaWR0aChpbml0aWFsV2luZG93V2lkdGgpOworICAgIG1faW5zcGVjdG9yVmlldy0+cS0+c2V0
SGVpZ2h0KGluaXRpYWxXaW5kb3dIZWlnaHQpOworICAgIHJldHVybiB0b0ltcGwobV9pbnNwZWN0
b3JWaWV3LT5wYWdlUmVmKCkpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9y
bU9wZW4oKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgQVNTRVJUKCFtX3ZpZXcpOwor
ICAgIG1fdmlldyA9IG5ldyBRU0dWaWV3KCk7CisgICAgQVNTRVJUKG1fdmlldyk7CisgICAgbV9p
bnNwZWN0b3JWaWV3LT5xLT5zZXRQYXJlbnRJdGVtKG1fdmlldy0+cm9vdEl0ZW0oKSk7CisgICAg
bV92aWV3LT5zZXRHZW9tZXRyeSgwLCAwLCBpbml0aWFsV2luZG93V2lkdGgsIGluaXRpYWxXaW5k
b3dIZWlnaHQpOworICAgIG1fdmlldy0+c2hvdygpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclBy
b3h5OjpwbGF0Zm9ybURpZENsb3NlKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlm
IChtX2luc3BlY3RvclZpZXcpIHsKKyAgICAgICAgZGVsZXRlIG1faW5zcGVjdG9yVmlldy0+cTsK
KyAgICAgICAgZGVsZXRlIG1faW5zcGVjdG9yVmlldzsKKyAgICAgICAgbV9pbnNwZWN0b3JWaWV3
ID0gMDsKKyAgICB9CisKKyAgICBpZiAobV92aWV3KSB7CisgICAgICAgIG1fdmlldy0+Y2xvc2Uo
KTsKKyAgICAgICAgbV92aWV3ID0gMDsKKyAgICB9CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250KCkKQEAgLTU0LDkgKzgxLDkgQEAgdm9pZCBXZWJJbnNw
ZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAK
LXZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZChjb25z
dCBTdHJpbmcmKQordm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxD
aGFuZ2VkKGNvbnN0IFN0cmluZyYgdXJsKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
bV92aWV3LT5zZXRXaW5kb3dUaXRsZShRT2JqZWN0Ojp0cigiV2ViIEluc3BlY3RvciAtICIpICsg
UU9iamVjdDo6dHIodXJsLnV0ZjgoKS5kYXRhKCkpKTsKIH0KIAogdW5zaWduZWQgV2ViSW5zcGVj
dG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkV2luZG93SGVpZ2h0KCkKQEAgLTgyLDggKzEwOSw3
IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0QXR0YWMKIAogU3RyaW5nIFdl
Ykluc3BlY3RvclByb3h5OjppbnNwZWN0b3JQYWdlVVJMKCkgY29uc3QKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOwotICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICByZXR1cm4gKCJxcmM6L3dlYmtp
dC9pbnNwZWN0b3IvaW5zcGVjdG9yLmh0bWwiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA5MzY2MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDExLTA4LTIzICBHZW5pc2ltIFRzaWxrZXIgIDxnZW5pc2ltQHlhaG9vLmNv
bT4KKworICAgICAgICBBZGQgV2ViSW5zcGVjdG9yIHRvIFdlYktpdDIgTWluaUJyb3dzZXIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1pbmlCcm93
c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcDoKKyAgICAgICAgKEJyb3dzZXJWaWV3OjpkZXNrdG9wV2Vi
Vmlldyk6CisgICAgICAgIChCcm93c2VyVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oOgorICAgICAgICAqIE1pbmlCcm93c2Vy
L3F0L0Jyb3dzZXJXaW5kb3cuY3BwOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6QnJvd3Nlcldp
bmRvdyk6CisgICAgICAgIChCcm93c2VyV2luZG93OjpzY3JlZW5zaG90KToKKyAgICAgICAgKEJy
b3dzZXJXaW5kb3c6OnRvZ2dsZVdlYkluc3BlY3Rvcik6CisgICAgICAgICogTWluaUJyb3dzZXIv
cXQvQnJvd3NlcldpbmRvdy5oOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L01pbmlCcm93c2Vy
LnBybzoKKwogMjAxMS0wOC0yMyAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIENoYW5nZSBnYXJkZW4tby1tYXRpYyBmcm9udGVuZCBidWlsZGVyIGFy
cmF5IHRvIGJlIGEgY29uZmlndXJhdGlvbiBtYXAuCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9x
dC9Ccm93c2VyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJv
d3NlclZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jy
b3dzZXJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTAgKzMyLDE4IEBACiAjaW5jbHVk
ZSA8UXREZWNsYXJhdGl2ZS9xc2dpdGVtLmg+CiAjaW5jbHVkZSA8UVJlc2l6ZUV2ZW50PgogI2lu
Y2x1ZGUgPHFkZXNrdG9wd2Vidmlldy5oPgorI2luY2x1ZGUgPHFkZXNrdG9wd2Vidmlld19wLmg+
CiAjaW5jbHVkZSA8cXRvdWNod2Vidmlldy5oPgogI2luY2x1ZGUgPHF0b3VjaHdlYnBhZ2UuaD4K
KyNpbmNsdWRlIDxxd2Vic2V0dGluZ3MuaD4KICNpbmNsdWRlIDxxd2VibmF2aWdhdGlvbmNvbnRy
b2xsZXIuaD4KIAorI2luY2x1ZGUgPFdLSW5zcGVjdG9yLmg+CisjaW5jbHVkZSA8V0tQYWdlUHJp
dmF0ZS5oPgorI2luY2x1ZGUgPFdLUGFnZUdyb3VwLmg+CisjaW5jbHVkZSA8V0tQcmVmZXJlbmNl
cy5oPgorI2luY2x1ZGUgPFdLUHJlZmVyZW5jZXNQcml2YXRlLmg+CisKIEJyb3dzZXJWaWV3OjpC
cm93c2VyVmlldyhib29sIHVzZVRvdWNoV2ViVmlldywgUVdpZGdldCogcGFyZW50KQogICAgIDog
UVNHQ2FudmFzKHBhcmVudCkKICAgICAsIG1faXRlbSgwKQpAQCAtODYsNiArOTQsMjUgQEAgUURl
c2t0b3BXZWJWaWV3KiBCcm93c2VyVmlldzo6ZGVza3RvcFdlYgogICAgIHJldHVybiBxb2JqZWN0
X2Nhc3Q8UURlc2t0b3BXZWJWaWV3Kj4obV9pdGVtKTsKIH0KIAordm9pZCBCcm93c2VyVmlldzo6
dG9nZ2xlV2ViSW5zcGVjdG9yKCkKK3sKKyAgICBpZiAoZGVza3RvcFdlYlZpZXcoKSkgeworICAg
ICAgICBRRGVza3RvcFdlYlZpZXdQcml2YXRlKiBkZXNrdG9wV2ViVmlld1ByaXZhdGUgPSBuZXcg
UURlc2t0b3BXZWJWaWV3UHJpdmF0ZShkZXNrdG9wV2ViVmlldygpKTsgCisgICAgICAgIFdLUGFn
ZVJlZiBtX3BhZ2VSZWYgPSBkZXNrdG9wV2ViVmlld1ByaXZhdGUtPnBhZ2VSZWYoKTsKKyAgICAg
ICAgV0tQYWdlR3JvdXBSZWYgbV9wYWdlR3JvdXBSZWYgPSBXS1BhZ2VHZXRQYWdlR3JvdXAobV9w
YWdlUmVmKTsKKyAgICAgICAgV0tQcmVmZXJlbmNlc1JlZiBtX3ByZWZlcmVuY2VzID0gV0tQYWdl
R3JvdXBHZXRQcmVmZXJlbmNlcyhtX3BhZ2VHcm91cFJlZik7CisKKyAgICAgICAgaWYgKFdLSW5z
cGVjdG9ySXNWaXNpYmxlKFdLUGFnZUdldEluc3BlY3RvcihtX3BhZ2VSZWYpKSkgeworICAgICAg
ICAgICAgV0tQcmVmZXJlbmNlc1NldERldmVsb3BlckV4dHJhc0VuYWJsZWQobV9wcmVmZXJlbmNl
cywgZmFsc2UpOworICAgICAgICAgICAgV0tJbnNwZWN0b3JDbG9zZShXS1BhZ2VHZXRJbnNwZWN0
b3IobV9wYWdlUmVmKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBXS1ByZWZlcmVu
Y2VzU2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChtX3ByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICAg
ICAgICAgIFdLSW5zcGVjdG9yU2hvdyhXS1BhZ2VHZXRJbnNwZWN0b3IobV9wYWdlUmVmKSk7Cisg
ICAgICAgIH0KKyAgICAgICAgZGVsZXRlIGRlc2t0b3BXZWJWaWV3UHJpdmF0ZTsKKyAgICB9Cit9
CisKIFFBY3Rpb24qIEJyb3dzZXJWaWV3OjpuYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZp
Z2F0aW9uQWN0aW9uIHdoaWNoKSBjb25zdAogewogICAgIGlmIChkZXNrdG9wV2ViVmlldygpKQpJ
bmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFRv
b2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYg
KzUwLDcgQEAgcHVibGljOgogCiAgICAgUVRvdWNoV2ViVmlldyogdG91Y2hXZWJWaWV3KCkgY29u
c3Q7CiAgICAgUURlc2t0b3BXZWJWaWV3KiBkZXNrdG9wV2ViVmlldygpIGNvbnN0OworICAgIHZv
aWQgdG9nZ2xlV2ViSW5zcGVjdG9yKCk7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQg
cmVzaXplRXZlbnQoUVJlc2l6ZUV2ZW50Kik7CkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9C
cm93c2VyV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93
c2VyV2luZG93LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9C
cm93c2VyV2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDYgKzEwNCw5IEBAIEJyb3dz
ZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3coV2luZG93T3B0aW8KICAgICBjb25uZWN0KHRoaXMsIFNJ
R05BTChlbnRlcmVkRnVsbFNjcmVlbk1vZGUoYm9vbCkpLCB0aGlzLCBTTE9UKHRvZ2dsZUZ1bGxT
Y3JlZW5Nb2RlKGJvb2wpKSk7CiAKICAgICBRTWVudSogdG9vbHNNZW51ID0gbWVudUJhcigpLT5h
ZGRNZW51KCImRGV2ZWxvcCIpOworICAgIFFBY3Rpb24qIHRvZ2dsZVdlYkluc3BlY3RvciA9IHRv
b2xzTWVudS0+YWRkQWN0aW9uKCJTaG93IFdlYiBJbnNwZWN0b3IiLCB0aGlzLCBTTE9UKHRvZ2ds
ZVdlYkluc3BlY3RvcigpKSk7CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2FibGUo
dHJ1ZSk7CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2VkKGZhbHNlKTsKICAgICB0
b29sc01lbnUtPmFkZEFjdGlvbigiQ2hhbmdlIFVzZXIgQWdlbnQiLCB0aGlzLCBTTE9UKHNob3dV
c2VyQWdlbnREaWFsb2coKSkpOwogICAgIHRvb2xzTWVudS0+YWRkU2VwYXJhdG9yKCk7CiAgICAg
dG9vbHNNZW51LT5hZGRBY3Rpb24oIkxvYWQgVVJMcyBmcm9tIGZpbGUiLCB0aGlzLCBTTE9UKGxv
YWRVUkxMaXN0RnJvbUZpbGUoKSkpOwpAQCAtMjMwLDYgKzIzMywxMSBAQCB2b2lkIEJyb3dzZXJX
aW5kb3c6OnNjcmVlbnNob3QoKQogICAgIH0KIH0KIAordm9pZCBCcm93c2VyV2luZG93Ojp0b2dn
bGVXZWJJbnNwZWN0b3IoKQoreworICAgIG1fYnJvd3Nlci0+dG9nZ2xlV2ViSW5zcGVjdG9yKCk7
Cit9CisKIHZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFi
bGUpCiB7CiAgICAgYm9vbCBhbHJlYWR5RW5hYmxlZCA9IHdpbmRvd1N0YXRlKCkgJiBRdDo6V2lu
ZG93RnVsbFNjcmVlbjsKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHJl
dmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCSh3
b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2Myw4IEBAIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lk
IHNjcmVlbnNob3QoKTsKIAogICAgIHZvaWQgdG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFi
bGUpOworICAgIAorICAgIHZvaWQgdG9nZ2xlV2ViSW5zcGVjdG9yKCk7CiAKICAgICB2b2lkIHNo
b3dVc2VyQWdlbnREaWFsb2coKTsKIApJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJy
b3dzZXIucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2Vy
LnBybwkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nl
ci5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTE4LDYgKzE4LDkgQEAgSEVBREVSUyArPSBcCiAKIGlz
RW1wdHkoT1VUUFVUX0RJUik6IE9VVFBVVF9ESVIgPSAuLi8uLi8uLgogaW5jbHVkZSguLi8uLi8u
Li9Tb3VyY2UvV2ViS2l0LnByaSkKK2luY2x1ZGUoLi4vLi4vLi4vU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnByaSkKK2luY2x1ZGUoLi4vLi4vLi4vU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5wcmkpCitpbmNsdWRlKC4uLy4uLy4uL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJp
KQogCiBJTkNMVURFUEFUSCArPSBcCiAgICAgJCRQV0QvLi4vLi4vLi4vU291cmNlL1dlYktpdDIv
IFwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104944</attachid>
            <date>2011-08-23 17:27:12 -0700</date>
            <delta_ts>2011-08-23 17:40:14 -0700</delta_ts>
            <desc>Updated Web Inspector patch for one of latest WebKit2 rev. Fixed Alphabetical sorting problem</desc>
            <filename>Add_Web_Inspector_to_WebKit2_updated_for_rev_93661.patch</filename>
            <type>text/plain</type>
            <size>12882</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNjY4KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDgtMjMgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcDoKKyAg
ICAgICAgKFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OlFEZXNrdG9wV2ViVmlld1ByaXZhdGUpOgor
ICAgICAgICAoUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6ZHJhd2luZ0FyZWFTaXplKToKKyAgICAg
ICAgKFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OnBhZ2VSZWYpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6V2Vi
SW5zcGVjdG9yUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6aW52
YWxpZGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpjcmVhdGVJbnNw
ZWN0b3JQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OmRpZExvYWRJ
bnNwZWN0b3JQYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2Up
OgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGlkQ2xvc2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFu
Z2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6Omluc3BlY3RvclBhZ2VV
UkwpOgorCiAyMDExLTA4LTIzICBHb3BhbCBSYWdoYXZhbiAgPGdvcGFsLjEucmFnaGF2YW5Abm9r
aWEuY29tPgogCiAgICAgICAgIFtRdF0gVW5uZWNlc3NhcnkgZm9sZGVycyBpbiBXZWJLaXQyLgpJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3Bw
CShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0
b3JQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDExICsyOSwxMSBAQAogI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JNZXNzYWdlcy5oIgotI2luY2x1
ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMu
aCIKKyNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKKyNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIK
ICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5o
IgotI2luY2x1ZGUgIldlYlBhZ2VHcm91cC5oIgogCiAjaWYgUExBVEZPUk0oV0lOKQogI2luY2x1
ZGUgIldlYlZpZXcuaCIKQEAgLTczLDYgKzczLDEwIEBAIFdlYkluc3BlY3RvclByb3h5OjpXZWJJ
bnNwZWN0b3JQcm94eShXZWIKICNpZiBQTEFURk9STShXSU4pCiAgICAgLCBtX2luc3BlY3Rvcldp
bmRvdygwKQogI2VuZGlmCisjaWYgUExBVEZPUk0oUVQpCisgICAgLCBtX3ZpZXcoMCkKKyAgICAs
IG1faW5zcGVjdG9yVmlldygwKQorI2VuZGlmCiB7CiB9CiAKQEAgLTg2LDYgKzkwLDEwIEBAIHZv
aWQgV2ViSW5zcGVjdG9yUHJveHk6OmludmFsaWRhdGUoKQogICAgIGRpZENsb3NlKCk7CiAKICAg
ICBtX3BhZ2UgPSAwOworI2lmIFBMQVRGT1JNKFFUKQorICAgIG1faW5zcGVjdG9yVmlldyA9IDA7
CisgICAgbV92aWV3ID0gMDsKKyNlbmRpZgogCiAgICAgbV9pc1Zpc2libGUgPSBmYWxzZTsKICAg
ICBtX2lzRGVidWdnaW5nSmF2YVNjcmlwdCA9IGZhbHNlOwpAQCAtMjEyLDcgKzIyMCw3IEBAIHZv
aWQgV2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUluc3BlY3RvclAKICAgICBTdHJpbmcgdXJsID0g
aW5zcGVjdG9yUGFnZVVSTCgpOwogICAgIGlmIChzaG91bGRPcGVuQXR0YWNoZWQoKSkKICAgICAg
ICAgdXJsICs9ICI/ZG9ja2VkPXRydWUiOwotICAgIGluc3BlY3RvclBhZ2UtPmxvYWRVUkwodXJs
KTsKKyAgICBpbnNwZWN0b3JQYWdlLT5sb2FkVVJMKGluc3BlY3RvclBhZ2VVUkwoKSk7CiB9CiAK
IHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OmRpZExvYWRJbnNwZWN0b3JQYWdlKCkKQEAgLTIyMiw2
ICsyMzAsOSBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpkaWRMb2FkSW5zcGVjdG9yCiAKICAg
ICAvLyBwbGF0Zm9ybU9wZW4gaXMgcmVzcG9uc2libGUgZm9yIHJlbmRlcmluZyBhdHRhY2hlZCBt
b2RlIGRlcGVuZGluZyBvbiBtX2lzQXR0YWNoZWQuCiAgICAgcGxhdGZvcm1PcGVuKCk7CisgICAg
CisvLyAgICBpZiAobV9pc0F0dGFjaGVkKQorLy8gICAgICAgIG1fcGFnZS0+cHJvY2VzcygpLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3I6OlJlcXVlc3RBdHRhY2hXaW5kb3coKSwgbV9wYWdl
LT5wYWdlSUQoKSk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OmRpZENsb3NlKCkKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCShyZXZp
c2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94
eS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0NiwxMSBAQCBPQkpDX0NMQVNTIFdlYkluc3Bl
Y3RvcldLVmlldzsKICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01lc3NhZ2VMaXN0ZW5lci5oPgog
I2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKK2NsYXNzIFFTR1ZpZXc7CitjbGFzcyBRRGVza3Rv
cFdlYlZpZXdQcml2YXRlOworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBX
ZWJQYWdlR3JvdXA7CkBAIC0xNzQsNiArMTc5LDkgQEAgcHJpdmF0ZToKICNlbGlmIFBMQVRGT1JN
KFdJTikKICAgICBIV05EIG1faW5zcGVjdG9yV2luZG93OwogICAgIFJlZlB0cjxXZWJWaWV3PiBt
X2luc3BlY3RvclZpZXc7CisjZWxpZiBQTEFURk9STShRVCkKKyAgICBRU0dWaWV3KiBtX3ZpZXc7
CisgICAgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZSogbV9pbnNwZWN0b3JWaWV3OwogI2VuZGlmCiB9
OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmll
dy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVz
a3RvcHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyAr
MzgsNyBAQAogI2luY2x1ZGUgPFF0R3VpL1FXaGVlbEV2ZW50PgogCiBRRGVza3RvcFdlYlZpZXdQ
cml2YXRlOjpRRGVza3RvcFdlYlZpZXdQcml2YXRlKFFEZXNrdG9wV2ViVmlldyogcSwgV0tDb250
ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZikKLSAgICA6IHEo
cSkKKyAgICA6IHEocSA/IHEgOiBuZXcgUURlc2t0b3BXZWJWaWV3KGNvbnRleHRSZWYsIHBhZ2VH
cm91cFJlZikpCiAgICAgLCBwYWdlKHRoaXMsIGNvbnRleHRSZWYgPyBuZXcgUVdLQ29udGV4dChj
b250ZXh0UmVmKSA6IGRlZmF1bHRXS0NvbnRleHQoKSwgcGFnZUdyb3VwUmVmKQogICAgICwgaXND
cmFzaGVkKGZhbHNlKQogICAgICwgbmF2aWdhdGlvbkNvbnRyb2xsZXIoMCkKQEAgLTU1LDYgKzU1
LDExIEBAIFFTaXplIFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OmRyYXdpbmdBcmUKICAgICByZXR1
cm4gUVNpemUocS0+d2lkdGgoKSwgcS0+aGVpZ2h0KCkpOwogfQogCitXS1BhZ2VSZWYgUURlc2t0
b3BXZWJWaWV3UHJpdmF0ZTo6cGFnZVJlZigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHEtPnBhZ2VS
ZWYoKTsKK30KKwogdm9pZCBRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpjb250ZW50U2l6ZUNoYW5n
ZWQoY29uc3QgUVNpemUmKQogewogfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3AuaAkocmV2aXNpb24gOTM2NTkpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAgcHVibGljOgogCiAgICAgUURlc2t0b3BXZWJWaWV3
KiBxOwogICAgIFFEZXNrdG9wV2ViUGFnZVByb3h5IHBhZ2U7CisgICAgV0tQYWdlUmVmIHBhZ2VS
ZWYoKSBjb25zdDsKIAogICAgIGJvb2wgaXNDcmFzaGVkOwogICAgIFFXZWJOYXZpZ2F0aW9uQ29u
dHJvbGxlciogbmF2aWdhdGlvbkNvbnRyb2xsZXI7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCShyZXZpc2lvbiA5MzY1
OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjUsMjggKzI1LDU1IEBACiAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQ
cm94eS5oIgogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotI2luY2x1ZGUgPFdlYkNvcmUvTm90
SW1wbGVtZW50ZWQuaD4KKyNpbmNsdWRlIDxxZGVza3RvcHdlYnZpZXcuaD4KKyNpbmNsdWRlIDxx
ZGVza3RvcHdlYnZpZXdfcC5oPgorI2luY2x1ZGUgPFF0RGVjbGFyYXRpdmUvcXNndmlldy5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1w
bGVtZW50ZWQuaD4KKworY2xhc3MgUU9iamVjdDsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdl
YlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFn
ZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICBBU1NFUlQo
bV9wYWdlKTsKKyAgICBBU1NFUlQoIW1faW5zcGVjdG9yVmlldyk7CisgICAgbV9pbnNwZWN0b3JW
aWV3ID0gbmV3IFFEZXNrdG9wV2ViVmlld1ByaXZhdGUoMCwgdG9BUEkocGFnZSgpLT5wcm9jZXNz
KCktPmNvbnRleHQoKSksIHRvQVBJKGluc3BlY3RvclBhZ2VHcm91cCgpKSk7CisgICAgQVNTRVJU
KG1faW5zcGVjdG9yVmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5xLT5zZXRYKDApOworICAg
IG1faW5zcGVjdG9yVmlldy0+cS0+c2V0WSgwKTsKKyAgICBtX2luc3BlY3RvclZpZXctPnEtPnNl
dFdpZHRoKGluaXRpYWxXaW5kb3dXaWR0aCk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5xLT5zZXRI
ZWlnaHQoaW5pdGlhbFdpbmRvd0hlaWdodCk7CisgICAgcmV0dXJuIHRvSW1wbChtX2luc3BlY3Rv
clZpZXctPnBhZ2VSZWYoKSk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3Jt
T3BlbigpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBBU1NFUlQoIW1fdmlldyk7Cisg
ICAgbV92aWV3ID0gbmV3IFFTR1ZpZXcoKTsKKyAgICBBU1NFUlQobV92aWV3KTsKKyAgICBtX2lu
c3BlY3RvclZpZXctPnEtPnNldFBhcmVudEl0ZW0obV92aWV3LT5yb290SXRlbSgpKTsKKyAgICBt
X3ZpZXctPnNldEdlb21ldHJ5KDAsIDAsIGluaXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRv
d0hlaWdodCk7CisgICAgbV92aWV3LT5zaG93KCk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtRGlkQ2xvc2UoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYg
KG1faW5zcGVjdG9yVmlldykgeworICAgICAgICBkZWxldGUgbV9pbnNwZWN0b3JWaWV3LT5xOwor
ICAgICAgICBkZWxldGUgbV9pbnNwZWN0b3JWaWV3OworICAgICAgICBtX2luc3BlY3RvclZpZXcg
PSAwOworICAgIH0KKworICAgIGlmIChtX3ZpZXcpIHsKKyAgICAgICAgbV92aWV3LT5jbG9zZSgp
OworICAgICAgICBtX3ZpZXcgPSAwOworICAgIH0KIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1CcmluZ1RvRnJvbnQoKQpAQCAtNTQsOSArODEsOSBAQCB2b2lkIFdlYkluc3Bl
Y3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9GCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAot
dm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0
IFN0cmluZyYpCit2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENo
YW5nZWQoY29uc3QgU3RyaW5nJiB1cmwpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBt
X3ZpZXctPnNldFdpbmRvd1RpdGxlKFFPYmplY3Q6OnRyKCJXZWIgSW5zcGVjdG9yIC0gIikgKyBR
T2JqZWN0Ojp0cih1cmwudXRmOCgpLmRhdGEoKSkpOwogfQogCiB1bnNpZ25lZCBXZWJJbnNwZWN0
b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRXaW5kb3dIZWlnaHQoKQpAQCAtODIsOCArMTA5LDcg
QEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRBdHRhYwogCiBTdHJpbmcgV2Vi
SW5zcGVjdG9yUHJveHk6Omluc3BlY3RvclBhZ2VVUkwoKSBjb25zdAogewotICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgcmV0dXJuIFN0cmluZygpOworICAgIHJldHVybiAoInFyYzovd2Via2l0
L2luc3BlY3Rvci9pbnNwZWN0b3IuaHRtbCIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDkzNjY4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjEgQEAKKzIwMTEtMDgtMjMgIEdlbmlzaW0gVHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29t
PgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3IgdG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1pbmlCcm93c2Vy
L3F0L0Jyb3dzZXJWaWV3LmNwcDoKKyAgICAgICAgKEJyb3dzZXJWaWV3OjpkZXNrdG9wV2ViVmll
dyk6CisgICAgICAgIChCcm93c2VyVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAgICAg
KiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0
L0Jyb3dzZXJXaW5kb3cuY3BwOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRv
dyk6CisgICAgICAgIChCcm93c2VyV2luZG93OjpzY3JlZW5zaG90KToKKyAgICAgICAgKEJyb3dz
ZXJXaW5kb3c6OnRvZ2dsZVdlYkluc3BlY3Rvcik6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQv
QnJvd3NlcldpbmRvdy5oOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBy
bzoKKwogMjAxMS0wOC0yMyAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIENoYW5nZSBnYXJkZW4tby1tYXRpYyBmcm9udGVuZCBidWlsZGVyIGFycmF5
IHRvIGJlIGEgY29uZmlndXJhdGlvbiBtYXAuCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9C
cm93c2VyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3Nl
clZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dz
ZXJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTAgKzMyLDE4IEBACiAjaW5jbHVkZSA8
UXREZWNsYXJhdGl2ZS9xc2dpdGVtLmg+CiAjaW5jbHVkZSA8UVJlc2l6ZUV2ZW50PgogI2luY2x1
ZGUgPHFkZXNrdG9wd2Vidmlldy5oPgorI2luY2x1ZGUgPHFkZXNrdG9wd2Vidmlld19wLmg+CiAj
aW5jbHVkZSA8cXRvdWNod2Vidmlldy5oPgogI2luY2x1ZGUgPHF0b3VjaHdlYnBhZ2UuaD4KKyNp
bmNsdWRlIDxxd2Vic2V0dGluZ3MuaD4KICNpbmNsdWRlIDxxd2VibmF2aWdhdGlvbmNvbnRyb2xs
ZXIuaD4KIAorI2luY2x1ZGUgPFdLSW5zcGVjdG9yLmg+CisjaW5jbHVkZSA8V0tQYWdlUHJpdmF0
ZS5oPgorI2luY2x1ZGUgPFdLUGFnZUdyb3VwLmg+CisjaW5jbHVkZSA8V0tQcmVmZXJlbmNlcy5o
PgorI2luY2x1ZGUgPFdLUHJlZmVyZW5jZXNQcml2YXRlLmg+CisKIEJyb3dzZXJWaWV3OjpCcm93
c2VyVmlldyhib29sIHVzZVRvdWNoV2ViVmlldywgUVdpZGdldCogcGFyZW50KQogICAgIDogUVNH
Q2FudmFzKHBhcmVudCkKICAgICAsIG1faXRlbSgwKQpAQCAtODYsNiArOTQsMjUgQEAgUURlc2t0
b3BXZWJWaWV3KiBCcm93c2VyVmlldzo6ZGVza3RvcFdlYgogICAgIHJldHVybiBxb2JqZWN0X2Nh
c3Q8UURlc2t0b3BXZWJWaWV3Kj4obV9pdGVtKTsKIH0KIAordm9pZCBCcm93c2VyVmlldzo6dG9n
Z2xlV2ViSW5zcGVjdG9yKCkKK3sKKyAgICBpZiAoZGVza3RvcFdlYlZpZXcoKSkgeworICAgICAg
ICBRRGVza3RvcFdlYlZpZXdQcml2YXRlKiBkZXNrdG9wV2ViVmlld1ByaXZhdGUgPSBuZXcgUURl
c2t0b3BXZWJWaWV3UHJpdmF0ZShkZXNrdG9wV2ViVmlldygpKTsgCisgICAgICAgIFdLUGFnZVJl
ZiBtX3BhZ2VSZWYgPSBkZXNrdG9wV2ViVmlld1ByaXZhdGUtPnBhZ2VSZWYoKTsKKyAgICAgICAg
V0tQYWdlR3JvdXBSZWYgbV9wYWdlR3JvdXBSZWYgPSBXS1BhZ2VHZXRQYWdlR3JvdXAobV9wYWdl
UmVmKTsKKyAgICAgICAgV0tQcmVmZXJlbmNlc1JlZiBtX3ByZWZlcmVuY2VzID0gV0tQYWdlR3Jv
dXBHZXRQcmVmZXJlbmNlcyhtX3BhZ2VHcm91cFJlZik7CisKKyAgICAgICAgaWYgKFdLSW5zcGVj
dG9ySXNWaXNpYmxlKFdLUGFnZUdldEluc3BlY3RvcihtX3BhZ2VSZWYpKSkgeworICAgICAgICAg
ICAgV0tQcmVmZXJlbmNlc1NldERldmVsb3BlckV4dHJhc0VuYWJsZWQobV9wcmVmZXJlbmNlcywg
ZmFsc2UpOworICAgICAgICAgICAgV0tJbnNwZWN0b3JDbG9zZShXS1BhZ2VHZXRJbnNwZWN0b3Io
bV9wYWdlUmVmKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBXS1ByZWZlcmVuY2Vz
U2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChtX3ByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICAgICAg
ICAgIFdLSW5zcGVjdG9yU2hvdyhXS1BhZ2VHZXRJbnNwZWN0b3IobV9wYWdlUmVmKSk7CisgICAg
ICAgIH0KKyAgICAgICAgZGVsZXRlIGRlc2t0b3BXZWJWaWV3UHJpdmF0ZTsKKyAgICB9Cit9CisK
IFFBY3Rpb24qIEJyb3dzZXJWaWV3OjpuYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0
aW9uQWN0aW9uIHdoaWNoKSBjb25zdAogewogICAgIGlmIChkZXNrdG9wV2ViVmlldygpKQpJbmRl
eDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xz
L01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUw
LDcgQEAgcHVibGljOgogCiAgICAgUVRvdWNoV2ViVmlldyogdG91Y2hXZWJWaWV3KCkgY29uc3Q7
CiAgICAgUURlc2t0b3BXZWJWaWV3KiBkZXNrdG9wV2ViVmlldygpIGNvbnN0OworICAgIHZvaWQg
dG9nZ2xlV2ViSW5zcGVjdG9yKCk7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVz
aXplRXZlbnQoUVJlc2l6ZUV2ZW50Kik7CkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93
c2VyV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2Vy
V2luZG93LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93
c2VyV2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDYgKzEwNCw5IEBAIEJyb3dzZXJX
aW5kb3c6OkJyb3dzZXJXaW5kb3coV2luZG93T3B0aW8KICAgICBjb25uZWN0KHRoaXMsIFNJR05B
TChlbnRlcmVkRnVsbFNjcmVlbk1vZGUoYm9vbCkpLCB0aGlzLCBTTE9UKHRvZ2dsZUZ1bGxTY3Jl
ZW5Nb2RlKGJvb2wpKSk7CiAKICAgICBRTWVudSogdG9vbHNNZW51ID0gbWVudUJhcigpLT5hZGRN
ZW51KCImRGV2ZWxvcCIpOworICAgIFFBY3Rpb24qIHRvZ2dsZVdlYkluc3BlY3RvciA9IHRvb2xz
TWVudS0+YWRkQWN0aW9uKCJTaG93IFdlYiBJbnNwZWN0b3IiLCB0aGlzLCBTTE9UKHRvZ2dsZVdl
Ykluc3BlY3RvcigpKSk7CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2FibGUodHJ1
ZSk7CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2VkKGZhbHNlKTsKICAgICB0b29s
c01lbnUtPmFkZEFjdGlvbigiQ2hhbmdlIFVzZXIgQWdlbnQiLCB0aGlzLCBTTE9UKHNob3dVc2Vy
QWdlbnREaWFsb2coKSkpOwogICAgIHRvb2xzTWVudS0+YWRkU2VwYXJhdG9yKCk7CiAgICAgdG9v
bHNNZW51LT5hZGRBY3Rpb24oIkxvYWQgVVJMcyBmcm9tIGZpbGUiLCB0aGlzLCBTTE9UKGxvYWRV
UkxMaXN0RnJvbUZpbGUoKSkpOwpAQCAtMjMwLDYgKzIzMywxMSBAQCB2b2lkIEJyb3dzZXJXaW5k
b3c6OnNjcmVlbnNob3QoKQogICAgIH0KIH0KIAordm9pZCBCcm93c2VyV2luZG93Ojp0b2dnbGVX
ZWJJbnNwZWN0b3IoKQoreworICAgIG1fYnJvd3Nlci0+dG9nZ2xlV2ViSW5zcGVjdG9yKCk7Cit9
CisKIHZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUp
CiB7CiAgICAgYm9vbCBhbHJlYWR5RW5hYmxlZCA9IHdpbmRvd1N0YXRlKCkgJiBRdDo6V2luZG93
RnVsbFNjcmVlbjsKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHJldmlz
aW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Myw2ICs2Myw4IEBAIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lkIHNj
cmVlbnNob3QoKTsKIAogICAgIHZvaWQgdG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUp
OworICAgIAorICAgIHZvaWQgdG9nZ2xlV2ViSW5zcGVjdG9yKCk7CiAKICAgICB2b2lkIHNob3dV
c2VyQWdlbnREaWFsb2coKTsKIApJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dz
ZXIucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBy
bwkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5w
cm8JKHdvcmtpbmcgY29weSkKQEAgLTE4LDYgKzE4LDkgQEAgSEVBREVSUyArPSBcCiAKIGlzRW1w
dHkoT1VUUFVUX0RJUik6IE9VVFBVVF9ESVIgPSAuLi8uLi8uLgogaW5jbHVkZSguLi8uLi8uLi9T
b3VyY2UvV2ViS2l0LnByaSkKK2luY2x1ZGUoLi4vLi4vLi4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnByaSkKK2luY2x1ZGUoLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5wcmkpCitpbmNsdWRlKC4uLy4uLy4uL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJpKQog
CiBJTkNMVURFUEFUSCArPSBcCiAgICAgJCRQV0QvLi4vLi4vLi4vU291cmNlL1dlYktpdDIvIFwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104947</attachid>
            <date>2011-08-23 17:40:14 -0700</date>
            <delta_ts>2011-08-24 17:40:25 -0700</delta_ts>
            <desc>Updated Web Inspector patch for one of latest WebKit2 rev. Fixed Alphabetical sorting problem</desc>
            <filename>Add_Web_Inspector_to_WebKit2_updated_for_rev_93661.patch</filename>
            <type>text/plain</type>
            <size>12910</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNjcwKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDgtMjMgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcDoKKyAg
ICAgICAgKFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OlFEZXNrdG9wV2ViVmlld1ByaXZhdGUpOgor
ICAgICAgICAoUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6ZHJhd2luZ0FyZWFTaXplKToKKyAgICAg
ICAgKFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OnBhZ2VSZWYpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6V2Vi
SW5zcGVjdG9yUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6aW52
YWxpZGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpjcmVhdGVJbnNw
ZWN0b3JQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OmRpZExvYWRJ
bnNwZWN0b3JQYWdlKTogUmVxdWVzdEF0dGFjaFdpbmRvdygpIG5vdCBleGlzdC4gQ29tbWVudGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
SW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9wZW4pOgorICAgICAgICAoV2ViS2l0
OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1EaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yUGFnZVVSTCk6CisKIDIwMTEt
MDgtMjMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBQ
cmVwYXJlIFdLVGV4dElucHV0V2luZG93Q29udHJvbGxlciBmb3IgdGhlIG5ldyB0ZXh0IGlucHV0
IG1vZGVsCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQ
cm94eS5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykluc3BlY3RvclByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksMTEgKzI5LDExIEBACiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKIAogI2luY2x1ZGUgIldlYkluc3BlY3Rvck1lc3NhZ2VzLmgi
Ci0jaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycy5oIgorI2luY2x1ZGUgIldlYlBhZ2VHcm91cC5oIgorI2luY2x1ZGUgIldlYlBhZ2VQ
cm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vz
c1Byb3h5LmgiCi0jaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCiAKICNpZiBQTEFURk9STShXSU4p
CiAjaW5jbHVkZSAiV2ViVmlldy5oIgpAQCAtNzMsNiArNzMsMTAgQEAgV2ViSW5zcGVjdG9yUHJv
eHk6OldlYkluc3BlY3RvclByb3h5KFdlYgogI2lmIFBMQVRGT1JNKFdJTikKICAgICAsIG1faW5z
cGVjdG9yV2luZG93KDApCiAjZW5kaWYKKyNpZiBQTEFURk9STShRVCkKKyAgICAsIG1fdmlldygw
KQorICAgICwgbV9pbnNwZWN0b3JWaWV3KDApCisjZW5kaWYKIHsKIH0KIApAQCAtODYsNiArOTAs
MTAgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6aW52YWxpZGF0ZSgpCiAgICAgZGlkQ2xvc2Uo
KTsKIAogICAgIG1fcGFnZSA9IDA7CisjaWYgUExBVEZPUk0oUVQpCisgICAgbV9pbnNwZWN0b3JW
aWV3ID0gMDsKKyAgICBtX3ZpZXcgPSAwOworI2VuZGlmCiAKICAgICBtX2lzVmlzaWJsZSA9IGZh
bHNlOwogICAgIG1faXNEZWJ1Z2dpbmdKYXZhU2NyaXB0ID0gZmFsc2U7CkBAIC0yMTIsNyArMjIw
LDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRlSW5zcGVjdG9yUAogICAgIFN0cmlu
ZyB1cmwgPSBpbnNwZWN0b3JQYWdlVVJMKCk7CiAgICAgaWYgKHNob3VsZE9wZW5BdHRhY2hlZCgp
KQogICAgICAgICB1cmwgKz0gIj9kb2NrZWQ9dHJ1ZSI7Ci0gICAgaW5zcGVjdG9yUGFnZS0+bG9h
ZFVSTCh1cmwpOworICAgIGluc3BlY3RvclBhZ2UtPmxvYWRVUkwoaW5zcGVjdG9yUGFnZVVSTCgp
KTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6ZGlkTG9hZEluc3BlY3RvclBhZ2UoKQpA
QCAtMjIyLDYgKzIzMCw5IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OmRpZExvYWRJbnNwZWN0
b3IKIAogICAgIC8vIHBsYXRmb3JtT3BlbiBpcyByZXNwb25zaWJsZSBmb3IgcmVuZGVyaW5nIGF0
dGFjaGVkIG1vZGUgZGVwZW5kaW5nIG9uIG1faXNBdHRhY2hlZC4KICAgICBwbGF0Zm9ybU9wZW4o
KTsKKyAgICAKKy8vICAgIGlmIChtX2lzQXR0YWNoZWQpCisvLyAgICAgICAgbV9wYWdlLT5wcm9j
ZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYkluc3BlY3Rvcjo6UmVxdWVzdEF0dGFjaFdpbmRvdygp
LCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6ZGlkQ2xv
c2UoKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5
LmgJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3Bl
Y3RvclByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDExIEBAIE9CSkNfQ0xBU1Mg
V2ViSW5zcGVjdG9yV0tWaWV3OwogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93TWVzc2FnZUxpc3Rl
bmVyLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKFFUKQorY2xhc3MgUVNHVmlldzsKK2NsYXNz
IFFEZXNrdG9wV2ViVmlld1ByaXZhdGU7CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAK
IGNsYXNzIFdlYlBhZ2VHcm91cDsKQEAgLTE3NCw2ICsxNzksOSBAQCBwcml2YXRlOgogI2VsaWYg
UExBVEZPUk0oV0lOKQogICAgIEhXTkQgbV9pbnNwZWN0b3JXaW5kb3c7CiAgICAgUmVmUHRyPFdl
YlZpZXc+IG1faW5zcGVjdG9yVmlldzsKKyNlbGlmIFBMQVRGT1JNKFFUKQorICAgIFFTR1ZpZXcq
IG1fdmlldzsKKyAgICBRRGVza3RvcFdlYlZpZXdQcml2YXRlKiBtX2luc3BlY3RvclZpZXc7CiAj
ZW5kaWYKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0
b3B3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3FkZXNrdG9wd2Vidmlldy5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSA8UXRHdWkvUVdoZWVsRXZlbnQ+CiAKIFFEZXNrdG9w
V2ViVmlld1ByaXZhdGU6OlFEZXNrdG9wV2ViVmlld1ByaXZhdGUoUURlc2t0b3BXZWJWaWV3KiBx
LCBXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmKQot
ICAgIDogcShxKQorICAgIDogcShxID8gcSA6IG5ldyBRRGVza3RvcFdlYlZpZXcoY29udGV4dFJl
ZiwgcGFnZUdyb3VwUmVmKSkKICAgICAsIHBhZ2UodGhpcywgY29udGV4dFJlZiA/IG5ldyBRV0tD
b250ZXh0KGNvbnRleHRSZWYpIDogZGVmYXVsdFdLQ29udGV4dCgpLCBwYWdlR3JvdXBSZWYpCiAg
ICAgLCBpc0NyYXNoZWQoZmFsc2UpCiAgICAgLCBuYXZpZ2F0aW9uQ29udHJvbGxlcigwKQpAQCAt
NTUsNiArNTUsMTEgQEAgUVNpemUgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6ZHJhd2luZ0FyZQog
ICAgIHJldHVybiBRU2l6ZShxLT53aWR0aCgpLCBxLT5oZWlnaHQoKSk7CiB9CiAKK1dLUGFnZVJl
ZiBRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpwYWdlUmVmKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
cS0+cGFnZVJlZigpOworfQorCiB2b2lkIFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OmNvbnRlbnRT
aXplQ2hhbmdlZChjb25zdCBRU2l6ZSYpCiB7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oCShyZXZpc2lvbiA5MzY1
OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3Au
aAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQCBwdWJsaWM6CiAKICAgICBRRGVza3Rv
cFdlYlZpZXcqIHE7CiAgICAgUURlc2t0b3BXZWJQYWdlUHJveHkgcGFnZTsKKyAgICBXS1BhZ2VS
ZWYgcGFnZVJlZigpIGNvbnN0OwogCiAgICAgYm9vbCBpc0NyYXNoZWQ7CiAgICAgUVdlYk5hdmln
YXRpb25Db250cm9sbGVyKiBuYXZpZ2F0aW9uQ29udHJvbGxlcjsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAJKHJldmlz
aW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclBy
b3h5UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwyOCArMjUsNTUgQEAKIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3RvclByb3h5LmgiCisjaW5jbHVkZSAiV2Vi
UHJvY2Vzc1Byb3h5LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCisjaW5jbHVkZSA8UXRE
ZWNsYXJhdGl2ZS9xc2d2aWV3Lmg+CisjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+CisjaW5j
bHVkZSA8cWRlc2t0b3B3ZWJ2aWV3X3AuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVu
dGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKK2NsYXNzIFFPYmplY3Q7
CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBXZWJQYWdlUHJveHkqIFdlYkluc3BlY3RvclByb3h5
OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2UoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgcmV0dXJuIDA7CisgICAgQVNTRVJUKG1fcGFnZSk7CisgICAgQVNTRVJUKCFtX2luc3Bl
Y3RvclZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldyA9IG5ldyBRRGVza3RvcFdlYlZpZXdQcml2
YXRlKDAsIHRvQVBJKHBhZ2UoKS0+cHJvY2VzcygpLT5jb250ZXh0KCkpLCB0b0FQSShpbnNwZWN0
b3JQYWdlR3JvdXAoKSkpOworICAgIEFTU0VSVChtX2luc3BlY3RvclZpZXcpOworICAgIG1faW5z
cGVjdG9yVmlldy0+cS0+c2V0WCgwKTsKKyAgICBtX2luc3BlY3RvclZpZXctPnEtPnNldFkoMCk7
CisgICAgbV9pbnNwZWN0b3JWaWV3LT5xLT5zZXRXaWR0aChpbml0aWFsV2luZG93V2lkdGgpOwor
ICAgIG1faW5zcGVjdG9yVmlldy0+cS0+c2V0SGVpZ2h0KGluaXRpYWxXaW5kb3dIZWlnaHQpOwor
ICAgIHJldHVybiB0b0ltcGwobV9pbnNwZWN0b3JWaWV3LT5wYWdlUmVmKCkpOwogfQogCiB2b2lk
IFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9wZW4oKQogewotICAgIG5vdEltcGxlbWVudGVk
KCk7CisgICAgQVNTRVJUKCFtX3ZpZXcpOworICAgIG1fdmlldyA9IG5ldyBRU0dWaWV3KCk7Cisg
ICAgQVNTRVJUKG1fdmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5xLT5zZXRQYXJlbnRJdGVt
KG1fdmlldy0+cm9vdEl0ZW0oKSk7CisgICAgbV92aWV3LT5zZXRHZW9tZXRyeSgwLCAwLCBpbml0
aWFsV2luZG93V2lkdGgsIGluaXRpYWxXaW5kb3dIZWlnaHQpOworICAgIG1fdmlldy0+c2hvdygp
OwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKCkKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlmIChtX2luc3BlY3RvclZpZXcpIHsKKyAgICAgICAg
ZGVsZXRlIG1faW5zcGVjdG9yVmlldy0+cTsKKyAgICAgICAgZGVsZXRlIG1faW5zcGVjdG9yVmll
dzsKKyAgICAgICAgbV9pbnNwZWN0b3JWaWV3ID0gMDsKKyAgICB9CisKKyAgICBpZiAobV92aWV3
KSB7CisgICAgICAgIG1fdmlldy0+Y2xvc2UoKTsKKyAgICAgICAgbV92aWV3ID0gMDsKKyAgICB9
CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250KCkKQEAg
LTU0LDkgKzgxLDkgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRgog
ICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtSW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmKQordm9pZCBXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYgdXJsKQogewot
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV92aWV3LT5zZXRXaW5kb3dUaXRsZShRT2JqZWN0
Ojp0cigiV2ViIEluc3BlY3RvciAtICIpICsgUU9iamVjdDo6dHIodXJsLnV0ZjgoKS5kYXRhKCkp
KTsKIH0KIAogdW5zaWduZWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkV2lu
ZG93SGVpZ2h0KCkKQEAgLTgyLDggKzEwOSw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBs
YXRmb3JtU2V0QXR0YWMKIAogU3RyaW5nIFdlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JQYWdl
VVJMKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBTdHJpbmco
KTsKKyAgICByZXR1cm4gKCJxcmM6L3dlYmtpdC9pbnNwZWN0b3IvaW5zcGVjdG9yLmh0bWwiKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MzY3MCkKKysrIFRvb2xzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDExLTA4LTIzICBHZW5pc2lt
IFRzaWxrZXIgIDxnZW5pc2ltQHlhaG9vLmNvbT4KKworICAgICAgICBBZGQgV2ViSW5zcGVjdG9y
IHRvIFdlYktpdDIgTWluaUJyb3dzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY0Mjk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHA6CisgICAgICAg
IChCcm93c2VyVmlldzo6ZGVza3RvcFdlYlZpZXcpOgorICAgICAgICAoQnJvd3NlclZpZXc6OnRv
Z2dsZVdlYkluc3BlY3Rvcik6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcu
aDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcDoKKyAgICAgICAg
KEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3cpOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6
c2NyZWVuc2hvdCk6CisgICAgICAgIChCcm93c2VyV2luZG93Ojp0b2dnbGVXZWJJbnNwZWN0b3Ip
OgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaDoKKyAgICAgICAgKiBN
aW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5wcm86CisKIDIwMTEtMDgtMjMgIERpbWl0cmkgR2xh
emtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaGFuZ2UgZ2FyZGVuLW8t
bWF0aWMgZnJvbnRlbmQgYnVpbGRlciBhcnJheSB0byBiZSBhIGNvbmZpZ3VyYXRpb24gbWFwLgpJ
bmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisr
KyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMyLDEwICszMiwxOCBAQAogI2luY2x1ZGUgPFF0RGVjbGFyYXRpdmUvcXNnaXRlbS5oPgogI2lu
Y2x1ZGUgPFFSZXNpemVFdmVudD4KICNpbmNsdWRlIDxxZGVza3RvcHdlYnZpZXcuaD4KKyNpbmNs
dWRlIDxxZGVza3RvcHdlYnZpZXdfcC5oPgogI2luY2x1ZGUgPHF0b3VjaHdlYnZpZXcuaD4KICNp
bmNsdWRlIDxxdG91Y2h3ZWJwYWdlLmg+CisjaW5jbHVkZSA8cXdlYnNldHRpbmdzLmg+CiAjaW5j
bHVkZSA8cXdlYm5hdmlnYXRpb25jb250cm9sbGVyLmg+CiAKKyNpbmNsdWRlIDxXS0luc3BlY3Rv
ci5oPgorI2luY2x1ZGUgPFdLUGFnZVByaXZhdGUuaD4KKyNpbmNsdWRlIDxXS1BhZ2VHcm91cC5o
PgorI2luY2x1ZGUgPFdLUHJlZmVyZW5jZXMuaD4KKyNpbmNsdWRlIDxXS1ByZWZlcmVuY2VzUHJp
dmF0ZS5oPgorCiBCcm93c2VyVmlldzo6QnJvd3NlclZpZXcoYm9vbCB1c2VUb3VjaFdlYlZpZXcs
IFFXaWRnZXQqIHBhcmVudCkKICAgICA6IFFTR0NhbnZhcyhwYXJlbnQpCiAgICAgLCBtX2l0ZW0o
MCkKQEAgLTg2LDYgKzk0LDI1IEBAIFFEZXNrdG9wV2ViVmlldyogQnJvd3NlclZpZXc6OmRlc2t0
b3BXZWIKICAgICByZXR1cm4gcW9iamVjdF9jYXN0PFFEZXNrdG9wV2ViVmlldyo+KG1faXRlbSk7
CiB9CiAKK3ZvaWQgQnJvd3NlclZpZXc6OnRvZ2dsZVdlYkluc3BlY3RvcigpCit7CisgICAgaWYg
KGRlc2t0b3BXZWJWaWV3KCkpIHsKKyAgICAgICAgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZSogZGVz
a3RvcFdlYlZpZXdQcml2YXRlID0gbmV3IFFEZXNrdG9wV2ViVmlld1ByaXZhdGUoZGVza3RvcFdl
YlZpZXcoKSk7IAorICAgICAgICBXS1BhZ2VSZWYgbV9wYWdlUmVmID0gZGVza3RvcFdlYlZpZXdQ
cml2YXRlLT5wYWdlUmVmKCk7CisgICAgICAgIFdLUGFnZUdyb3VwUmVmIG1fcGFnZUdyb3VwUmVm
ID0gV0tQYWdlR2V0UGFnZUdyb3VwKG1fcGFnZVJlZik7CisgICAgICAgIFdLUHJlZmVyZW5jZXNS
ZWYgbV9wcmVmZXJlbmNlcyA9IFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMobV9wYWdlR3JvdXBS
ZWYpOworCisgICAgICAgIGlmIChXS0luc3BlY3RvcklzVmlzaWJsZShXS1BhZ2VHZXRJbnNwZWN0
b3IobV9wYWdlUmVmKSkpIHsKKyAgICAgICAgICAgIFdLUHJlZmVyZW5jZXNTZXREZXZlbG9wZXJF
eHRyYXNFbmFibGVkKG1fcHJlZmVyZW5jZXMsIGZhbHNlKTsKKyAgICAgICAgICAgIFdLSW5zcGVj
dG9yQ2xvc2UoV0tQYWdlR2V0SW5zcGVjdG9yKG1fcGFnZVJlZikpOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgV0tQcmVmZXJlbmNlc1NldERldmVsb3BlckV4dHJhc0VuYWJsZWQobV9w
cmVmZXJlbmNlcywgdHJ1ZSk7CisgICAgICAgICAgICBXS0luc3BlY3RvclNob3coV0tQYWdlR2V0
SW5zcGVjdG9yKG1fcGFnZVJlZikpOworICAgICAgICB9CisgICAgICAgIGRlbGV0ZSBkZXNrdG9w
V2ViVmlld1ByaXZhdGU7CisgICAgfQorfQorCiBRQWN0aW9uKiBCcm93c2VyVmlldzo6bmF2aWdh
dGlvbkFjdGlvbihRdFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbiB3aGljaCkgY29uc3QKIHsKICAg
ICBpZiAoZGVza3RvcFdlYlZpZXcoKSkKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dz
ZXJWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcu
aAkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5o
CSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIHB1YmxpYzoKIAogICAgIFFUb3VjaFdl
YlZpZXcqIHRvdWNoV2ViVmlldygpIGNvbnN0OwogICAgIFFEZXNrdG9wV2ViVmlldyogZGVza3Rv
cFdlYlZpZXcoKSBjb25zdDsKKyAgICB2b2lkIHRvZ2dsZVdlYkluc3BlY3RvcigpOwogCiBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZUV2ZW50KFFSZXNpemVFdmVudCopOwpJbmRl
eDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHJldmlzaW9uIDkzNjU5KQor
KysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwNCw2ICsxMDQsOSBAQCBCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KFdpbmRvd09w
dGlvCiAgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZEZ1bGxTY3JlZW5Nb2RlKGJvb2wp
KSwgdGhpcywgU0xPVCh0b2dnbGVGdWxsU2NyZWVuTW9kZShib29sKSkpOwogCiAgICAgUU1lbnUq
IHRvb2xzTWVudSA9IG1lbnVCYXIoKS0+YWRkTWVudSgiJkRldmVsb3AiKTsKKyAgICBRQWN0aW9u
KiB0b2dnbGVXZWJJbnNwZWN0b3IgPSB0b29sc01lbnUtPmFkZEFjdGlvbigiU2hvdyBXZWIgSW5z
cGVjdG9yIiwgdGhpcywgU0xPVCh0b2dnbGVXZWJJbnNwZWN0b3IoKSkpOworICAgIHRvZ2dsZVdl
Ykluc3BlY3Rvci0+c2V0Q2hlY2thYmxlKHRydWUpOworICAgIHRvZ2dsZVdlYkluc3BlY3Rvci0+
c2V0Q2hlY2tlZChmYWxzZSk7CiAgICAgdG9vbHNNZW51LT5hZGRBY3Rpb24oIkNoYW5nZSBVc2Vy
IEFnZW50IiwgdGhpcywgU0xPVChzaG93VXNlckFnZW50RGlhbG9nKCkpKTsKICAgICB0b29sc01l
bnUtPmFkZFNlcGFyYXRvcigpOwogICAgIHRvb2xzTWVudS0+YWRkQWN0aW9uKCJMb2FkIFVSTHMg
ZnJvbSBmaWxlIiwgdGhpcywgU0xPVChsb2FkVVJMTGlzdEZyb21GaWxlKCkpKTsKQEAgLTIzMCw2
ICsyMzMsMTEgQEAgdm9pZCBCcm93c2VyV2luZG93OjpzY3JlZW5zaG90KCkKICAgICB9CiB9CiAK
K3ZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlV2ViSW5zcGVjdG9yKCkKK3sKKyAgICBtX2Jyb3dz
ZXItPnRvZ2dsZVdlYkluc3BlY3RvcigpOworfQorCiB2b2lkIEJyb3dzZXJXaW5kb3c6OnRvZ2ds
ZUZ1bGxTY3JlZW5Nb2RlKGJvb2wgZW5hYmxlKQogewogICAgIGJvb2wgYWxyZWFkeUVuYWJsZWQg
PSB3aW5kb3dTdGF0ZSgpICYgUXQ6OldpbmRvd0Z1bGxTY3JlZW47CkluZGV4OiBUb29scy9NaW5p
QnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dz
ZXIvcXQvQnJvd3NlcldpbmRvdy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsOCBAQCBw
cm90ZWN0ZWQgc2xvdHM6CiAgICAgdm9pZCBzY3JlZW5zaG90KCk7CiAKICAgICB2b2lkIHRvZ2ds
ZUZ1bGxTY3JlZW5Nb2RlKGJvb2wgZW5hYmxlKTsKKyAgICAKKyAgICB2b2lkIHRvZ2dsZVdlYklu
c3BlY3RvcigpOwogCiAgICAgdm9pZCBzaG93VXNlckFnZW50RGlhbG9nKCk7CiAKSW5kZXg6IFRv
b2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9N
aW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5wcm8JKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMv
TWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw2ICsx
OCw5IEBAIEhFQURFUlMgKz0gXAogCiBpc0VtcHR5KE9VVFBVVF9ESVIpOiBPVVRQVVRfRElSID0g
Li4vLi4vLi4KIGluY2x1ZGUoLi4vLi4vLi4vU291cmNlL1dlYktpdC5wcmkpCitpbmNsdWRlKC4u
Ly4uLy4uL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkpCitpbmNsdWRl
KC4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJpKQoraW5jbHVkZSguLi8uLi8uLi9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnByaSkKIAogSU5DTFVERVBBVEggKz0gXAogICAgICQkUFdE
Ly4uLy4uLy4uL1NvdXJjZS9XZWJLaXQyLyBcCg==
</data>
<flag name="review"
          id="100953"
          type_id="1"
          status="-"
          setter="menard"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104975</attachid>
            <date>2011-08-24 02:54:43 -0700</date>
            <delta_ts>2011-08-24 17:40:25 -0700</delta_ts>
            <desc>Updated Web Inspector diff</desc>
            <filename>web_inspector_updated.diff</filename>
            <type>text/plain</type>
            <size>8876</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAJKHJldmlzaW9uIDkzNjU5KQor
KysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNCw4ICszNCwxNSBAQAogI2luY2x1ZGUgPHFkZXNrdG9wd2Vidmlldy5oPgogI2luY2x1ZGUg
PHF0b3VjaHdlYnZpZXcuaD4KICNpbmNsdWRlIDxxdG91Y2h3ZWJwYWdlLmg+CisjaW5jbHVkZSA8
cXdlYnNldHRpbmdzLmg+CiAjaW5jbHVkZSA8cXdlYm5hdmlnYXRpb25jb250cm9sbGVyLmg+CiAK
KyNpbmNsdWRlIDxXS0luc3BlY3Rvci5oPgorI2luY2x1ZGUgPFdLUGFnZVByaXZhdGUuaD4KKyNp
bmNsdWRlIDxXS1BhZ2VHcm91cC5oPgorI2luY2x1ZGUgPFdLUHJlZmVyZW5jZXMuaD4KKyNpbmNs
dWRlIDxXS1ByZWZlcmVuY2VzUHJpdmF0ZS5oPgorCiBCcm93c2VyVmlldzo6QnJvd3NlclZpZXco
Ym9vbCB1c2VUb3VjaFdlYlZpZXcsIFFXaWRnZXQqIHBhcmVudCkKICAgICA6IFFTR0NhbnZhcyhw
YXJlbnQpCiAgICAgLCBtX2l0ZW0oMCkKQEAgLTg2LDYgKzkzLDIzIEBACiAgICAgcmV0dXJuIHFv
YmplY3RfY2FzdDxRRGVza3RvcFdlYlZpZXcqPihtX2l0ZW0pOwogfQogCit2b2lkIEJyb3dzZXJW
aWV3Ojp0b2dnbGVXZWJJbnNwZWN0b3IoKQoreworICAgIGlmIChkZXNrdG9wV2ViVmlldygpKSB7
CisgICAgICAgIFdLUGFnZVJlZiBtX3BhZ2VSZWYgPSBkZXNrdG9wV2ViVmlldygpLT5wYWdlUmVm
KCk7CisgICAgICAgIFdLUGFnZUdyb3VwUmVmIG1fcGFnZUdyb3VwUmVmID0gV0tQYWdlR2V0UGFn
ZUdyb3VwKG1fcGFnZVJlZik7CisgICAgICAgIFdLUHJlZmVyZW5jZXNSZWYgbV9wcmVmZXJlbmNl
cyA9IFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMobV9wYWdlR3JvdXBSZWYpOworCisgICAgICAg
IGlmIChXS0luc3BlY3RvcklzVmlzaWJsZShXS1BhZ2VHZXRJbnNwZWN0b3IobV9wYWdlUmVmKSkp
IHsKKyAgICAgICAgICAgIFdLUHJlZmVyZW5jZXNTZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKG1f
cHJlZmVyZW5jZXMsIGZhbHNlKTsKKyAgICAgICAgICAgIFdLSW5zcGVjdG9yQ2xvc2UoV0tQYWdl
R2V0SW5zcGVjdG9yKG1fcGFnZVJlZikpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
V0tQcmVmZXJlbmNlc1NldERldmVsb3BlckV4dHJhc0VuYWJsZWQobV9wcmVmZXJlbmNlcywgdHJ1
ZSk7CisgICAgICAgICAgICBXS0luc3BlY3RvclNob3coV0tQYWdlR2V0SW5zcGVjdG9yKG1fcGFn
ZVJlZikpOworICAgICAgICB9CisgICAgfQorfQorCiBRQWN0aW9uKiBCcm93c2VyVmlldzo6bmF2
aWdhdGlvbkFjdGlvbihRdFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbiB3aGljaCkgY29uc3QKIHsK
ICAgICBpZiAoZGVza3RvcFdlYlZpZXcoKSkKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L01p
bmlCcm93c2VyLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJv
d3Nlci5wcm8JKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJy
b3dzZXIucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw2ICsxOCw4IEBACiAKIGlzRW1wdHkoT1VU
UFVUX0RJUik6IE9VVFBVVF9ESVIgPSAuLi8uLi8uLgogaW5jbHVkZSguLi8uLi8uLi9Tb3VyY2Uv
V2ViS2l0LnByaSkKK2luY2x1ZGUoLi4vLi4vLi4vU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnByaSkKK2luY2x1ZGUoLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvV2ViQ29yZS5w
cmkpCiAKIElOQ0xVREVQQVRIICs9IFwKICAgICAkJFBXRC8uLi8uLi8uLi9Tb3VyY2UvV2ViS2l0
Mi8gXApJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAkocmV2aXNpb24gOTM2
NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTYzLDYgKzYzLDggQEAKICAgICB2b2lkIHNjcmVlbnNob3QoKTsKIAogICAgIHZvaWQg
dG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpOworICAgIAorICAgIHZvaWQgdG9nZ2xl
V2ViSW5zcGVjdG9yKCk7CiAKICAgICB2b2lkIHNob3dVc2VyQWdlbnREaWFsb2coKTsKIApJbmRl
eDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xz
L01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUw
LDcgQEAKIAogICAgIFFUb3VjaFdlYlZpZXcqIHRvdWNoV2ViVmlldygpIGNvbnN0OwogICAgIFFE
ZXNrdG9wV2ViVmlldyogZGVza3RvcFdlYlZpZXcoKSBjb25zdDsKKyAgICB2b2lkIHRvZ2dsZVdl
Ykluc3BlY3RvcigpOwogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZUV2ZW50
KFFSZXNpemVFdmVudCopOwpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRv
dy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5j
cHAJKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRv
dy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw2ICsxMDQsOSBAQAogICAgIGNvbm5lY3QodGhp
cywgU0lHTkFMKGVudGVyZWRGdWxsU2NyZWVuTW9kZShib29sKSksIHRoaXMsIFNMT1QodG9nZ2xl
RnVsbFNjcmVlbk1vZGUoYm9vbCkpKTsKIAogICAgIFFNZW51KiB0b29sc01lbnUgPSBtZW51QmFy
KCktPmFkZE1lbnUoIiZEZXZlbG9wIik7CisgICAgUUFjdGlvbiogdG9nZ2xlV2ViSW5zcGVjdG9y
ID0gdG9vbHNNZW51LT5hZGRBY3Rpb24oIlNob3cgV2ViIEluc3BlY3RvciIsIHRoaXMsIFNMT1Qo
dG9nZ2xlV2ViSW5zcGVjdG9yKCkpKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPnNldENoZWNr
YWJsZSh0cnVlKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPnNldENoZWNrZWQoZmFsc2UpOwog
ICAgIHRvb2xzTWVudS0+YWRkQWN0aW9uKCJDaGFuZ2UgVXNlciBBZ2VudCIsIHRoaXMsIFNMT1Qo
c2hvd1VzZXJBZ2VudERpYWxvZygpKSk7CiAgICAgdG9vbHNNZW51LT5hZGRTZXBhcmF0b3IoKTsK
ICAgICB0b29sc01lbnUtPmFkZEFjdGlvbigiTG9hZCBVUkxzIGZyb20gZmlsZSIsIHRoaXMsIFNM
T1QobG9hZFVSTExpc3RGcm9tRmlsZSgpKSk7CkBAIC0yMzAsNiArMjMzLDExIEBACiAgICAgfQog
fQogCit2b2lkIEJyb3dzZXJXaW5kb3c6OnRvZ2dsZVdlYkluc3BlY3RvcigpCit7CisgICAgbV9i
cm93c2VyLT50b2dnbGVXZWJJbnNwZWN0b3IoKTsKK30KKwogdm9pZCBCcm93c2VyV2luZG93Ojp0
b2dnbGVGdWxsU2NyZWVuTW9kZShib29sIGVuYWJsZSkKIHsKICAgICBib29sIGFscmVhZHlFbmFi
bGVkID0gd2luZG93U3RhdGUoKSAmIFF0OjpXaW5kb3dGdWxsU2NyZWVuOwpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAko
cmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVj
dG9yUHJveHlRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDI4ICsyNSw1MyBAQAogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKKyNpbmNsdWRl
ICJXZWJQcm9jZXNzUHJveHkuaCIKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKKyNpbmNsdWRl
IDxRdERlY2xhcmF0aXZlL3FzZ3ZpZXcuaD4KKyNpbmNsdWRlIDxxZGVza3RvcHdlYnZpZXcuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogV2ViUGFnZVByb3h5KiBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVh
dGVJbnNwZWN0b3JQYWdlKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAw
OworICAgIEFTU0VSVChtX3BhZ2UpOworICAgIEFTU0VSVCghbV9pbnNwZWN0b3JWaWV3KTsKKyAg
ICBtX2luc3BlY3RvclZpZXcgPSBuZXcgUURlc2t0b3BXZWJWaWV3KHRvQVBJKHBhZ2UoKS0+cHJv
Y2VzcygpLT5jb250ZXh0KCkpLCB0b0FQSShpbnNwZWN0b3JQYWdlR3JvdXAoKSkpOworICAgIEFT
U0VSVChtX2luc3BlY3RvclZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0WCgwKTsKKyAg
ICBtX2luc3BlY3RvclZpZXctPnNldFkoMCk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRXaWR0
aChpbml0aWFsV2luZG93V2lkdGgpOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0SGVpZ2h0KGlu
aXRpYWxXaW5kb3dIZWlnaHQpOworICAgIHJldHVybiB0b0ltcGwobV9pbnNwZWN0b3JWaWV3LT5w
YWdlUmVmKCkpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9wZW4oKQog
ewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgQVNTRVJUKCFtX3ZpZXcpOworICAgIG1fdmll
dyA9IG5ldyBRU0dWaWV3KCk7CisgICAgQVNTRVJUKG1fdmlldyk7CisgICAgbV9pbnNwZWN0b3JW
aWV3LT5zZXRQYXJlbnRJdGVtKG1fdmlldy0+cm9vdEl0ZW0oKSk7CisgICAgbV92aWV3LT5zZXRH
ZW9tZXRyeSgwLCAwLCBpbml0aWFsV2luZG93V2lkdGgsIGluaXRpYWxXaW5kb3dIZWlnaHQpOwor
ICAgIG1fdmlldy0+c2hvdygpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9y
bURpZENsb3NlKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlmIChtX2luc3BlY3Rv
clZpZXcpIHsKKyAgICAgICAgZGVsZXRlIG1faW5zcGVjdG9yVmlldzsKKyAgICAgICAgbV9pbnNw
ZWN0b3JWaWV3ID0gMDsKKyAgICB9CisKKyAgICBpZiAobV92aWV3KSB7CisgICAgICAgIG1fdmll
dy0+Y2xvc2UoKTsKKyAgICAgICAgZGVsZXRlIG1fdmlldzsKKyAgICAgICAgbV92aWV3ID0gMDsK
KyAgICB9CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250
KCkKQEAgLTU0LDkgKzc5LDkgQEAKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdl
Ykluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5n
JikKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZChj
b25zdCBTdHJpbmcmIHVybCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fdmlldy0+
c2V0V2luZG93VGl0bGUoUU9iamVjdDo6dHIoIldlYiBJbnNwZWN0b3IgLSAiKSArIFFPYmplY3Q6
OnRyKHVybC51dGY4KCkuZGF0YSgpKSk7CiB9CiAKIHVuc2lnbmVkIFdlYkluc3BlY3RvclByb3h5
OjpwbGF0Zm9ybUluc3BlY3RlZFdpbmRvd0hlaWdodCgpCkBAIC04Miw4ICsxMDcsNyBAQAogCiBT
dHJpbmcgV2ViSW5zcGVjdG9yUHJveHk6Omluc3BlY3RvclBhZ2VVUkwoKSBjb25zdAogewotICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFN0cmluZygpOworICAgIHJldHVybiAoInFy
Yzovd2Via2l0L2luc3BlY3Rvci9pbnNwZWN0b3IuaHRtbCIpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rv
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3Bl
Y3Rvci5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0luc3BlY3Rvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbmNs
dWRlIDxXZWJLaXQyL1dLQmFzZS5oPgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKKyNpZiBkZWZp
bmVkKEVOQUJMRV9JTlNQRUNUT1IpICYmIEVOQUJMRV9JTlNQRUNUT1IgCiAKICNpZm5kZWYgX19j
cGx1c3BsdXMKICNpbmNsdWRlIDxzdGRib29sLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgJKHJldmlzaW9uIDkzNjU5KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuaAkod29y
a2luZyBjb3B5KQpAQCAtNDgsNiArNDgsMTAgQEAKICAgICBjbGFzcyBXZWJWaWV3OwogfQogCitu
YW1lc3BhY2UgV2ViS2l0IHsKKyAgICBjbGFzcyBXZWJJbnNwZWN0b3JQcm94eTsKK30KKwogY2xh
c3MgUVdFQktJVF9FWFBPUlQgUURlc2t0b3BXZWJWaWV3IDogcHVibGljIFFTR1BhaW50ZWRJdGVt
IHsKICAgICBRX09CSkVDVAogICAgIFFfUFJPUEVSVFkoUVN0cmluZyB0aXRsZSBSRUFEIHRpdGxl
IE5PVElGWSB0aXRsZUNoYW5nZWQpCkBAIC0xMTQsNiArMTE4LDcgQEAKIAogICAgIHZvaWQgaW5p
dCgpOwogCisgICAgZnJpZW5kIGNsYXNzIFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk7CiAgICAg
ZnJpZW5kIGNsYXNzIFdUUjo6V2ViVmlldzsKICAgICBmcmllbmQgY2xhc3MgUURlc2t0b3BXZWJW
aWV3UHJpdmF0ZTsKICAgICBRRGVza3RvcFdlYlZpZXdQcml2YXRlICpkOwpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCShyZXZpc2lvbiA5
MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDExICsyOSwxMSBAQAogI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CiAKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKICNpbmNsdWRl
ICJXZWJQYWdlUHJveHkuaCIKLSNpbmNsdWRlICJXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgi
CiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHku
aCIKLSNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKIAogI2lmIFBMQVRGT1JNKFdJTikKICNpbmNs
dWRlICJXZWJWaWV3LmgiCkBAIC03Myw2ICs3MywxMCBAQAogI2lmIFBMQVRGT1JNKFdJTikKICAg
ICAsIG1faW5zcGVjdG9yV2luZG93KDApCiAjZW5kaWYKKyNpZiBQTEFURk9STShRVCkKKyAgICAs
IG1fdmlldygwKQorICAgICwgbV9pbnNwZWN0b3JWaWV3KDApCisjZW5kaWYKIHsKIH0KIApAQCAt
ODYsNiArOTAsMTAgQEAKICAgICBkaWRDbG9zZSgpOwogCiAgICAgbV9wYWdlID0gMDsKKyNpZiBQ
TEFURk9STShRVCkKKyAgICBtX2luc3BlY3RvclZpZXcgPSAwOworICAgIG1fdmlldyA9IDA7Cisj
ZW5kaWYKIAogICAgIG1faXNWaXNpYmxlID0gZmFsc2U7CiAgICAgbV9pc0RlYnVnZ2luZ0phdmFT
Y3JpcHQgPSBmYWxzZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0
b3JQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNw
ZWN0b3JQcm94eS5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJJbnNwZWN0b3JQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0NiwxMiBAQAog
I2luY2x1ZGUgPFdlYkNvcmUvV2luZG93TWVzc2FnZUxpc3RlbmVyLmg+CiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKFFUKQorY2xhc3MgUVNHVmlldzsKK2NsYXNzIFFEZXNrdG9wV2ViVmlldzsKK2Ns
YXNzIFFPYmplY3Q7CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBh
Z2VHcm91cDsKQEAgLTE3NCw2ICsxODAsOSBAQAogI2VsaWYgUExBVEZPUk0oV0lOKQogICAgIEhX
TkQgbV9pbnNwZWN0b3JXaW5kb3c7CiAgICAgUmVmUHRyPFdlYlZpZXc+IG1faW5zcGVjdG9yVmll
dzsKKyNlbGlmIFBMQVRGT1JNKFFUKQorICAgIFFTR1ZpZXcqIG1fdmlldzsKKyAgICBRRGVza3Rv
cFdlYlZpZXcqIG1faW5zcGVjdG9yVmlldzsKICNlbmRpZgogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105103</attachid>
            <date>2011-08-24 17:40:25 -0700</date>
            <delta_ts>2011-08-24 17:56:24 -0700</delta_ts>
            <desc>Updated Web Inspector patch for  Qt5 WebKit2. Patch modified according Alexis comments</desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>12075</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNzQ4KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDgtMjQgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcDoKKyAg
ICAgICAgKFFEZXNrdG9wV2ViVmlldzo6d2hlZWxFdmVudCk6CisgICAgICAgIChRRGVza3RvcFdl
YlZpZXc6OnRvZ2dsZVdlYkluc3BlY3Rvcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9x
ZGVza3RvcHdlYnZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZp
ZXcuY3BwOgorICAgICAgICAoUVRvdWNoV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0
b3JQcm94eTo6V2ViSW5zcGVjdG9yUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0
b3JQcm94eTo6aW52YWxpZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclBy
b3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0
b3JQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3Bl
bik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3Nl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVk
VVJMQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjppbnNwZWN0
b3JQYWdlVVJMKToKKwogMjAxMS0wOC0yNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbmFtZSAtW1dLVGV4dElucHV0V2luZG93Q29udHJvbGxlciBr
ZXlib2FyZElucHV0U291cmNlQ2hhbmdlZF0gdG8gdW5tYXJrVGV4dCB0byBpbmRpY2F0ZSB3aGF0
IHRoZSBtZXRob2QgZG9lcwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3Bl
Y3RvclByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDExICsy
OSwxMSBAQAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JN
ZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKKyNpbmNsdWRl
ICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1ZGUg
IldlYlByb2Nlc3NQcm94eS5oIgotI2luY2x1ZGUgIldlYlBhZ2VHcm91cC5oIgogCiAjaWYgUExB
VEZPUk0oV0lOKQogI2luY2x1ZGUgIldlYlZpZXcuaCIKQEAgLTczLDYgKzczLDEwIEBAIFdlYklu
c3BlY3RvclByb3h5OjpXZWJJbnNwZWN0b3JQcm94eShXZWIKICNpZiBQTEFURk9STShXSU4pCiAg
ICAgLCBtX2luc3BlY3RvcldpbmRvdygwKQogI2VuZGlmCisjaWYgUExBVEZPUk0oUVQpCisgICAg
LCBtX3ZpZXcoMCkKKyAgICAsIG1faW5zcGVjdG9yVmlldygwKQorI2VuZGlmCiB7CiB9CiAKQEAg
LTg2LDYgKzkwLDEwIEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OmludmFsaWRhdGUoKQogICAg
IGRpZENsb3NlKCk7CiAKICAgICBtX3BhZ2UgPSAwOworI2lmIFBMQVRGT1JNKFFUKQorICAgIG1f
aW5zcGVjdG9yVmlldyA9IDA7CisgICAgbV92aWV3ID0gMDsKKyNlbmRpZgogCiAgICAgbV9pc1Zp
c2libGUgPSBmYWxzZTsKICAgICBtX2lzRGVidWdnaW5nSmF2YVNjcmlwdCA9IGZhbHNlOwpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgJKHJldmlz
aW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDEyIEBAIE9CSkNfQ0xBU1MgV2ViSW5zcGVj
dG9yV0tWaWV3OwogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93TWVzc2FnZUxpc3RlbmVyLmg+CiAj
ZW5kaWYKIAorI2lmIFBMQVRGT1JNKFFUKQorY2xhc3MgUVNHVmlldzsKK2NsYXNzIFFEZXNrdG9w
V2ViVmlldzsKK2NsYXNzIFFPYmplY3Q7CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAK
IGNsYXNzIFdlYlBhZ2VHcm91cDsKQEAgLTE3NCw2ICsxODAsOSBAQCBwcml2YXRlOgogI2VsaWYg
UExBVEZPUk0oV0lOKQogICAgIEhXTkQgbV9pbnNwZWN0b3JXaW5kb3c7CiAgICAgUmVmUHRyPFdl
YlZpZXc+IG1faW5zcGVjdG9yVmlldzsKKyNlbGlmIFBMQVRGT1JNKFFUKQorICAgIFFTR1ZpZXcq
IG1fdmlldzsKKyAgICBRRGVza3RvcFdlYlZpZXcqIG1faW5zcGVjdG9yVmlldzsKICNlbmRpZgog
fTsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZp
ZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRl
c2t0b3B3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYg
KzIzLDEwIEBACiAjaW5jbHVkZSAicWRlc2t0b3B3ZWJ2aWV3X3AuaCIKICNpbmNsdWRlICJxd2tj
b250ZXh0LmgiCiAKKyNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgorI2luY2x1ZGUgIldl
YlBhZ2VHcm91cC5oIgorI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCisKICNpbmNsdWRlIDxR
R3JhcGhpY3NTY2VuZVJlc2l6ZUV2ZW50PgogI2luY2x1ZGUgPFFTdHlsZU9wdGlvbkdyYXBoaWNz
SXRlbT4KICNpbmNsdWRlIDxRdERlY2xhcmF0aXZlL3FzZ2NhbnZhcy5oPgpAQCAtMjk5LDYgKzMw
MywyMiBAQCB2b2lkIFFEZXNrdG9wV2ViVmlldzo6d2hlZWxFdmVudChRV2hlZWxFCiAgICAgdGhp
cy0+ZXZlbnQoJmdyYXBoaWNzRXZlbnQpOwogfQogCit2b2lkIFFEZXNrdG9wV2ViVmlldzo6dG9n
Z2xlV2ViSW5zcGVjdG9yKCkKK3sKKyAgICBXS1BhZ2VSZWYgbV9wYWdlUmVmID0gcGFnZVJlZigp
OworICAgIFdLUGFnZUdyb3VwUmVmIG1fcGFnZUdyb3VwUmVmID0gdG9BUEkodG9JbXBsKG1fcGFn
ZVJlZiktPnBhZ2VHcm91cCgpKTsKKyAgICBXS1ByZWZlcmVuY2VzUmVmIG1fcHJlZmVyZW5jZXMg
PSB0b0FQSSh0b0ltcGwobV9wYWdlR3JvdXBSZWYpLT5wcmVmZXJlbmNlcygpKTsKKyAgICBXS0lu
c3BlY3RvclJlZiBtX2luc3BlY3RvciA9IHRvQVBJKHRvSW1wbChtX3BhZ2VSZWYpLT5pbnNwZWN0
b3IoKSk7CisgICAgCisgICAgaWYgKHRvSW1wbChtX2luc3BlY3RvciktPmlzVmlzaWJsZSgpKSB7
CisgICAgICAgIHRvSW1wbChtX3ByZWZlcmVuY2VzKS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxl
ZChmYWxzZSk7CisgICAgICAgIHRvSW1wbChtX2luc3BlY3RvciktPmNsb3NlKCk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgdG9JbXBsKG1fcHJlZmVyZW5jZXMpLT5zZXREZXZlbG9wZXJFeHRyYXNF
bmFibGVkKHRydWUpOworICAgICAgICB0b0ltcGwobV9pbnNwZWN0b3IpLT5zaG93KCk7CisgICAg
fQorfQorCiB2b2lkIFFEZXNrdG9wV2ViVmlldzo6dG91Y2hFdmVudChRVG91Y2hFdmVudCogZXZl
bnQpCiB7CiAgICAgdGhpcy0+ZXZlbnQoZXZlbnQpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCShyZXZpc2lvbiA5MzY1OSkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDEwIEBAIG5hbWVzcGFjZSBXVFIgewogICAgIGNsYXNz
IFdlYlZpZXc7CiB9CiAKK25hbWVzcGFjZSBXZWJLaXQgeworICAgIGNsYXNzIFdlYkluc3BlY3Rv
clByb3h5OworfQorCiBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRRGVza3RvcFdlYlZpZXcgOiBwdWJs
aWMgUVNHUGFpbnRlZEl0ZW0gewogICAgIFFfT0JKRUNUCiAgICAgUV9QUk9QRVJUWShRU3RyaW5n
IHRpdGxlIFJFQUQgdGl0bGUgTk9USUZZIHRpdGxlQ2hhbmdlZCkKQEAgLTY2LDYgKzcwLDggQEAg
cHVibGljOgogICAgIFFEZXNrdG9wV2ViVmlldyhRU0dJdGVtKiBwYXJlbnQgPSAwKTsKICAgICB2
aXJ0dWFsIH5RRGVza3RvcFdlYlZpZXcoKTsKIAorICAgIHZvaWQgdG9nZ2xlV2ViSW5zcGVjdG9y
KCk7CisgICAgCiAgICAgUVVybCB1cmwoKSBjb25zdDsKICAgICBRU3RyaW5nIHRpdGxlKCkgY29u
c3Q7CiAgICAgaW50IGxvYWRQcm9ncmVzcygpIGNvbnN0OwpAQCAtMTE0LDYgKzEyMCw3IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIGluaXQoKTsKIAorICAgIGZyaWVuZCBjbGFzcyBXZWJLaXQ6Oldl
Ykluc3BlY3RvclByb3h5OwogICAgIGZyaWVuZCBjbGFzcyBXVFI6OldlYlZpZXc7CiAgICAgZnJp
ZW5kIGNsYXNzIFFEZXNrdG9wV2ViVmlld1ByaXZhdGU7CiAgICAgUURlc2t0b3BXZWJWaWV3UHJp
dmF0ZSAqZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vi
dmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
dG91Y2h3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNCAr
MTExLDggQEAgdm9pZCBRVG91Y2hXZWJWaWV3OjpnZW9tZXRyeUNoYW5nZWQoY29ucwogICAgIH0K
IH0KIAordm9pZCBRVG91Y2hXZWJWaWV3Ojp0b2dnbGVXZWJJbnNwZWN0b3IoKQoreworfQorCiAj
aW5jbHVkZSAibW9jX3F0b3VjaHdlYnZpZXcuY3BwIgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmgJKHJldmlzaW9uIDkzNjU5KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogICAgIH5RVG91Y2hXZWJWaWV3KCk7CiAK
ICAgICBRVG91Y2hXZWJQYWdlICpwYWdlKCk7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3Io
KTsKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRyeUNoYW5nZWQoY29uc3Qg
UVJlY3RGJiwgY29uc3QgUVJlY3RGJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjUsMjggKzI1LDUzIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5o
IgogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAorI2luY2x1ZGUgPFF0RGVjbGFyYXRpdmUvcXNn
dmlldy5oPgorI2luY2x1ZGUgPHFkZXNrdG9wd2Vidmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
Tm90SW1wbGVtZW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBXZWJQYWdl
UHJveHkqIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2UoKQog
ewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgQVNTRVJUKG1fcGFn
ZSk7CisgICAgQVNTRVJUKCFtX2luc3BlY3RvclZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldyA9
IG5ldyBRRGVza3RvcFdlYlZpZXcodG9BUEkocGFnZSgpLT5wcm9jZXNzKCktPmNvbnRleHQoKSks
IHRvQVBJKGluc3BlY3RvclBhZ2VHcm91cCgpKSk7CisgICAgQVNTRVJUKG1faW5zcGVjdG9yVmll
dyk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRYKDApOworICAgIG1faW5zcGVjdG9yVmlldy0+
c2V0WSgwKTsKKyAgICBtX2luc3BlY3RvclZpZXctPnNldFdpZHRoKGluaXRpYWxXaW5kb3dXaWR0
aCk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRIZWlnaHQoaW5pdGlhbFdpbmRvd0hlaWdodCk7
CisgICAgcmV0dXJuIHRvSW1wbChtX2luc3BlY3RvclZpZXctPnBhZ2VSZWYoKSk7CiB9CiAKIHZv
aWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3BlbigpCiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICBBU1NFUlQoIW1fdmlldyk7CisgICAgbV92aWV3ID0gbmV3IFFTR1ZpZXcoKTsK
KyAgICBBU1NFUlQobV92aWV3KTsKKyAgICBtX2luc3BlY3RvclZpZXctPnNldFBhcmVudEl0ZW0o
bV92aWV3LT5yb290SXRlbSgpKTsKKyAgICBtX3ZpZXctPnNldEdlb21ldHJ5KDAsIDAsIGluaXRp
YWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hlaWdodCk7CisgICAgbV92aWV3LT5zaG93KCk7
CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGlkQ2xvc2UoKQogewotICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYgKG1faW5zcGVjdG9yVmlldykgeworICAgICAgICBk
ZWxldGUgbV9pbnNwZWN0b3JWaWV3OworICAgICAgICBtX2luc3BlY3RvclZpZXcgPSAwOworICAg
IH0KKworICAgIGlmIChtX3ZpZXcpIHsKKyAgICAgICAgbV92aWV3LT5jbG9zZSgpOworICAgICAg
ICBkZWxldGUgbV92aWV3OworICAgICAgICBtX3ZpZXcgPSAwOworICAgIH0KIH0KIAogdm9pZCBX
ZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRnJvbnQoKQpAQCAtNTQsOSArNzksOSBA
QCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9GCiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRV
UkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYpCit2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9y
bUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiB1cmwpCiB7Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKKyAgICBtX3ZpZXctPnNldFdpbmRvd1RpdGxlKFFPYmplY3Q6OnRyKCJXZWIgSW5z
cGVjdG9yIC0gIikgKyBRT2JqZWN0Ojp0cih1cmwudXRmOCgpLmRhdGEoKSkpOwogfQogCiB1bnNp
Z25lZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRXaW5kb3dIZWlnaHQoKQpA
QCAtODIsOCArMTA3LDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRBdHRh
YwogCiBTdHJpbmcgV2ViSW5zcGVjdG9yUHJveHk6Omluc3BlY3RvclBhZ2VVUkwoKSBjb25zdAog
ewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFN0cmluZygpOworICAgIHJldHVy
biAoInFyYzovd2Via2l0L2luc3BlY3Rvci9pbnNwZWN0b3IuaHRtbCIpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNzQ4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDgtMjQgIEdlbmlzaW0gVHNpbGtlciAgPGdl
bmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3IgdG8gV2ViS2l0MiBN
aW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcDoKKyAgICAgICAgKEJyb3dzZXJWaWV3
Ojp0b2dnbGVXZWJJbnNwZWN0b3IpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJW
aWV3Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHA6CisgICAg
ICAgIChCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KToKKyAgICAgICAgKEJyb3dzZXJXaW5k
b3c6OnNjcmVlbnNob3QpOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6dG9nZ2xlV2ViSW5zcGVj
dG9yKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93Lmg6CisKIDIwMTEt
MDgtMjQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUg
ZW1wdHkgZGlyZWN0b3J5LgpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAko
cmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDE0IEBAIFFEZXNrdG9wV2ViVmlldyogQnJvd3Nl
clZpZXc6OmRlc2t0b3BXZWIKICAgICByZXR1cm4gcW9iamVjdF9jYXN0PFFEZXNrdG9wV2ViVmll
dyo+KG1faXRlbSk7CiB9CiAKK3ZvaWQgQnJvd3NlclZpZXc6OnRvZ2dsZVdlYkluc3BlY3Rvcigp
Cit7CisgICAgaWYgKGRlc2t0b3BXZWJWaWV3KCkpCisgICAgICAgIGRlc2t0b3BXZWJWaWV3KCkt
PnRvZ2dsZVdlYkluc3BlY3RvcigpOworICAgIGVsc2UKKyAgICAgICAgdG91Y2hXZWJWaWV3KCkt
PnRvZ2dsZVdlYkluc3BlY3RvcigpOworfQorCiBRQWN0aW9uKiBCcm93c2VyVmlldzo6bmF2aWdh
dGlvbkFjdGlvbihRdFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbiB3aGljaCkgY29uc3QKIHsKICAg
ICBpZiAoZGVza3RvcFdlYlZpZXcoKSkKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dz
ZXJWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcu
aAkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5o
CSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIHB1YmxpYzoKIAogICAgIFFUb3VjaFdl
YlZpZXcqIHRvdWNoV2ViVmlldygpIGNvbnN0OwogICAgIFFEZXNrdG9wV2ViVmlldyogZGVza3Rv
cFdlYlZpZXcoKSBjb25zdDsKKyAgICB2b2lkIHRvZ2dsZVdlYkluc3BlY3RvcigpOwogCiBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZUV2ZW50KFFSZXNpemVFdmVudCopOwpJbmRl
eDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHJldmlzaW9uIDkzNjU5KQor
KysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwNCw2ICsxMDQsOSBAQCBCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KFdpbmRvd09w
dGlvCiAgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZEZ1bGxTY3JlZW5Nb2RlKGJvb2wp
KSwgdGhpcywgU0xPVCh0b2dnbGVGdWxsU2NyZWVuTW9kZShib29sKSkpOwogCiAgICAgUU1lbnUq
IHRvb2xzTWVudSA9IG1lbnVCYXIoKS0+YWRkTWVudSgiJkRldmVsb3AiKTsKKyAgICBRQWN0aW9u
KiB0b2dnbGVXZWJJbnNwZWN0b3IgPSB0b29sc01lbnUtPmFkZEFjdGlvbigiU2hvdyBXZWIgSW5z
cGVjdG9yIiwgdGhpcywgU0xPVCh0b2dnbGVXZWJJbnNwZWN0b3IoKSkpOworICAgIHRvZ2dsZVdl
Ykluc3BlY3Rvci0+c2V0Q2hlY2thYmxlKHRydWUpOworICAgIHRvZ2dsZVdlYkluc3BlY3Rvci0+
c2V0Q2hlY2tlZChmYWxzZSk7CiAgICAgdG9vbHNNZW51LT5hZGRBY3Rpb24oIkNoYW5nZSBVc2Vy
IEFnZW50IiwgdGhpcywgU0xPVChzaG93VXNlckFnZW50RGlhbG9nKCkpKTsKICAgICB0b29sc01l
bnUtPmFkZFNlcGFyYXRvcigpOwogICAgIHRvb2xzTWVudS0+YWRkQWN0aW9uKCJMb2FkIFVSTHMg
ZnJvbSBmaWxlIiwgdGhpcywgU0xPVChsb2FkVVJMTGlzdEZyb21GaWxlKCkpKTsKQEAgLTIzMCw2
ICsyMzMsMTEgQEAgdm9pZCBCcm93c2VyV2luZG93OjpzY3JlZW5zaG90KCkKICAgICB9CiB9CiAK
K3ZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlV2ViSW5zcGVjdG9yKCkKK3sKKyAgICBtX2Jyb3dz
ZXItPnRvZ2dsZVdlYkluc3BlY3RvcigpOworfQorCiB2b2lkIEJyb3dzZXJXaW5kb3c6OnRvZ2ds
ZUZ1bGxTY3JlZW5Nb2RlKGJvb2wgZW5hYmxlKQogewogICAgIGJvb2wgYWxyZWFkeUVuYWJsZWQg
PSB3aW5kb3dTdGF0ZSgpICYgUXQ6OldpbmRvd0Z1bGxTY3JlZW47CkluZGV4OiBUb29scy9NaW5p
QnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dz
ZXIvcXQvQnJvd3NlcldpbmRvdy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsOCBAQCBw
cm90ZWN0ZWQgc2xvdHM6CiAgICAgdm9pZCBzY3JlZW5zaG90KCk7CiAKICAgICB2b2lkIHRvZ2ds
ZUZ1bGxTY3JlZW5Nb2RlKGJvb2wgZW5hYmxlKTsKKyAgICAKKyAgICB2b2lkIHRvZ2dsZVdlYklu
c3BlY3RvcigpOwogCiAgICAgdm9pZCBzaG93VXNlckFnZW50RGlhbG9nKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105107</attachid>
            <date>2011-08-24 17:56:24 -0700</date>
            <delta_ts>2011-08-24 18:03:35 -0700</delta_ts>
            <desc>Updated Web Inspector patch for Qt5 WebKit2. Patch modified according Alexis comments. Fixed Alphabetical sorting problem</desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>12115</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNzQ5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDgtMjQgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcDoKKyAg
ICAgICAgKFFEZXNrdG9wV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvcXQvcXRvdWNod2Vidmlldy5jcHA6CisgICAgICAgIChRVG91Y2hXZWJWaWV3Ojp0b2dnbGVX
ZWJJbnNwZWN0b3IpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpXZWJJbnNwZWN0b3JQcm94eSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjppbnZhbGlkYXRlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViSW5zcGVjdG9yUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViSW5zcGVj
dG9yUHJveHlRdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0
Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1PcGVuKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6
OnBsYXRmb3JtRGlkQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6
cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVj
dG9yUHJveHk6Omluc3BlY3RvclBhZ2VVUkwpOgorCiAyMDExLTA4LTI0ICBBbmRlcnMgQ2FybHNz
b24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIC1bV0tUZXh0SW5wdXRX
aW5kb3dDb250cm9sbGVyIGtleWJvYXJkSW5wdXRTb3VyY2VDaGFuZ2VkXSB0byB1bm1hcmtUZXh0
IHRvIGluZGljYXRlIHdoYXQgdGhlIG1ldGhvZCBkb2VzCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjksMTEgKzI5LDExIEBACiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAogI2luY2x1
ZGUgIldlYkluc3BlY3Rvck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAj
aW5jbHVkZSAiV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIldlYlBhZ2VH
cm91cC5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVu
Y2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCi0jaW5jbHVkZSAiV2ViUGFnZUdy
b3VwLmgiCiAKICNpZiBQTEFURk9STShXSU4pCiAjaW5jbHVkZSAiV2ViVmlldy5oIgpAQCAtNzMs
NiArNzMsMTAgQEAgV2ViSW5zcGVjdG9yUHJveHk6OldlYkluc3BlY3RvclByb3h5KFdlYgogI2lm
IFBMQVRGT1JNKFdJTikKICAgICAsIG1faW5zcGVjdG9yV2luZG93KDApCiAjZW5kaWYKKyNpZiBQ
TEFURk9STShRVCkKKyAgICAsIG1fdmlldygwKQorICAgICwgbV9pbnNwZWN0b3JWaWV3KDApCisj
ZW5kaWYKIHsKIH0KIApAQCAtODYsNiArOTAsMTAgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6
aW52YWxpZGF0ZSgpCiAgICAgZGlkQ2xvc2UoKTsKIAogICAgIG1fcGFnZSA9IDA7CisjaWYgUExB
VEZPUk0oUVQpCisgICAgbV9pbnNwZWN0b3JWaWV3ID0gMDsKKyAgICBtX3ZpZXcgPSAwOworI2Vu
ZGlmCiAKICAgICBtX2lzVmlzaWJsZSA9IGZhbHNlOwogICAgIG1faXNEZWJ1Z2dpbmdKYXZhU2Ny
aXB0ID0gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9y
UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViSW5zcGVjdG9yUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsMTIgQEAgT0JK
Q19DTEFTUyBXZWJJbnNwZWN0b3JXS1ZpZXc7CiAjaW5jbHVkZSA8V2ViQ29yZS9XaW5kb3dNZXNz
YWdlTGlzdGVuZXIuaD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0oUVQpCitjbGFzcyBRU0dWaWV3
OworY2xhc3MgUURlc2t0b3BXZWJWaWV3OworY2xhc3MgUU9iamVjdDsKKyNlbmRpZgorCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZUdyb3VwOwpAQCAtMTc0LDYgKzE4MCw5IEBA
IHByaXZhdGU6CiAjZWxpZiBQTEFURk9STShXSU4pCiAgICAgSFdORCBtX2luc3BlY3RvcldpbmRv
dzsKICAgICBSZWZQdHI8V2ViVmlldz4gbV9pbnNwZWN0b3JWaWV3OworI2VsaWYgUExBVEZPUk0o
UVQpCisgICAgUVNHVmlldyogbV92aWV3OworICAgIFFEZXNrdG9wV2ViVmlldyogbV9pbnNwZWN0
b3JWaWV3OwogI2VuZGlmCiB9OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3FkZXNrdG9wd2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzcsNiArMzcsMTAgQEAKICNpbmNsdWRlIDxRdEd1aS9RVG91Y2hFdmVudD4K
ICNpbmNsdWRlIDxRdEd1aS9RV2hlZWxFdmVudD4KIAorI2luY2x1ZGUgIldlYkluc3BlY3RvclBy
b3h5LmgiCisjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCisjaW5jbHVkZSAiV2ViUHJlZmVyZW5j
ZXMuaCIKKwogUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6UURlc2t0b3BXZWJWaWV3UHJpdmF0ZShR
RGVza3RvcFdlYlZpZXcqIHEsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJl
ZiBwYWdlR3JvdXBSZWYpCiAgICAgOiBxKHEpCiAgICAgLCBwYWdlKHRoaXMsIGNvbnRleHRSZWYg
PyBuZXcgUVdLQ29udGV4dChjb250ZXh0UmVmKSA6IGRlZmF1bHRXS0NvbnRleHQoKSwgcGFnZUdy
b3VwUmVmKQpAQCAtMjk5LDYgKzMwMywyMiBAQCB2b2lkIFFEZXNrdG9wV2ViVmlldzo6d2hlZWxF
dmVudChRV2hlZWxFCiAgICAgdGhpcy0+ZXZlbnQoJmdyYXBoaWNzRXZlbnQpOwogfQogCit2b2lk
IFFEZXNrdG9wV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKCkKK3sKKyAgICBXS1BhZ2VSZWYg
bV9wYWdlUmVmID0gcGFnZVJlZigpOworICAgIFdLUGFnZUdyb3VwUmVmIG1fcGFnZUdyb3VwUmVm
ID0gdG9BUEkodG9JbXBsKG1fcGFnZVJlZiktPnBhZ2VHcm91cCgpKTsKKyAgICBXS1ByZWZlcmVu
Y2VzUmVmIG1fcHJlZmVyZW5jZXMgPSB0b0FQSSh0b0ltcGwobV9wYWdlR3JvdXBSZWYpLT5wcmVm
ZXJlbmNlcygpKTsKKyAgICBXS0luc3BlY3RvclJlZiBtX2luc3BlY3RvciA9IHRvQVBJKHRvSW1w
bChtX3BhZ2VSZWYpLT5pbnNwZWN0b3IoKSk7CisgICAgCisgICAgaWYgKHRvSW1wbChtX2luc3Bl
Y3RvciktPmlzVmlzaWJsZSgpKSB7CisgICAgICAgIHRvSW1wbChtX3ByZWZlcmVuY2VzKS0+c2V0
RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChmYWxzZSk7CisgICAgICAgIHRvSW1wbChtX2luc3BlY3Rv
ciktPmNsb3NlKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdG9JbXBsKG1fcHJlZmVyZW5jZXMp
LT5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKHRydWUpOworICAgICAgICB0b0ltcGwobV9pbnNw
ZWN0b3IpLT5zaG93KCk7CisgICAgfQorfQorCiB2b2lkIFFEZXNrdG9wV2ViVmlldzo6dG91Y2hF
dmVudChRVG91Y2hFdmVudCogZXZlbnQpCiB7CiAgICAgdGhpcy0+ZXZlbnQoZXZlbnQpOwpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmll
dy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cWRlc2t0b3B3ZWJ2aWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDEwIEBAIG5hbWVz
cGFjZSBXVFIgewogICAgIGNsYXNzIFdlYlZpZXc7CiB9CiAKK25hbWVzcGFjZSBXZWJLaXQgewor
ICAgIGNsYXNzIFdlYkluc3BlY3RvclByb3h5OworfQorCiBjbGFzcyBRV0VCS0lUX0VYUE9SVCBR
RGVza3RvcFdlYlZpZXcgOiBwdWJsaWMgUVNHUGFpbnRlZEl0ZW0gewogICAgIFFfT0JKRUNUCiAg
ICAgUV9QUk9QRVJUWShRU3RyaW5nIHRpdGxlIFJFQUQgdGl0bGUgTk9USUZZIHRpdGxlQ2hhbmdl
ZCkKQEAgLTY2LDYgKzcwLDggQEAgcHVibGljOgogICAgIFFEZXNrdG9wV2ViVmlldyhRU0dJdGVt
KiBwYXJlbnQgPSAwKTsKICAgICB2aXJ0dWFsIH5RRGVza3RvcFdlYlZpZXcoKTsKIAorICAgIHZv
aWQgdG9nZ2xlV2ViSW5zcGVjdG9yKCk7CisgICAgCiAgICAgUVVybCB1cmwoKSBjb25zdDsKICAg
ICBRU3RyaW5nIHRpdGxlKCkgY29uc3Q7CiAgICAgaW50IGxvYWRQcm9ncmVzcygpIGNvbnN0OwpA
QCAtMTE0LDYgKzEyMCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGluaXQoKTsKIAorICAgIGZy
aWVuZCBjbGFzcyBXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OwogICAgIGZyaWVuZCBjbGFzcyBX
VFI6OldlYlZpZXc7CiAgICAgZnJpZW5kIGNsYXNzIFFEZXNrdG9wV2ViVmlld1ByaXZhdGU7CiAg
ICAgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZSAqZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTEsNCArMTExLDggQEAgdm9pZCBRVG91Y2hXZWJWaWV3OjpnZW9tZXRy
eUNoYW5nZWQoY29ucwogICAgIH0KIH0KIAordm9pZCBRVG91Y2hXZWJWaWV3Ojp0b2dnbGVXZWJJ
bnNwZWN0b3IoKQoreworfQorCiAjaW5jbHVkZSAibW9jX3F0b3VjaHdlYnZpZXcuY3BwIgpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmgJ
KHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91
Y2h3ZWJ2aWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogICAg
IH5RVG91Y2hXZWJWaWV3KCk7CiAKICAgICBRVG91Y2hXZWJQYWdlICpwYWdlKCk7CisgICAgdm9p
ZCB0b2dnbGVXZWJJbnNwZWN0b3IoKTsKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBn
ZW9tZXRyeUNoYW5nZWQoY29uc3QgUVJlY3RGJiwgY29uc3QgUVJlY3RGJik7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3Bw
CShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNw
ZWN0b3JQcm94eVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsMjggKzI1LDUzIEBACiAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgorI2luY2x1
ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAorI2luY2x1
ZGUgPFF0RGVjbGFyYXRpdmUvcXNndmlldy5oPgorI2luY2x1ZGUgPHFkZXNrdG9wd2Vidmlldy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBXZWJQYWdlUHJveHkqIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNy
ZWF0ZUluc3BlY3RvclBhZ2UoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJu
IDA7CisgICAgQVNTRVJUKG1fcGFnZSk7CisgICAgQVNTRVJUKCFtX2luc3BlY3RvclZpZXcpOwor
ICAgIG1faW5zcGVjdG9yVmlldyA9IG5ldyBRRGVza3RvcFdlYlZpZXcodG9BUEkocGFnZSgpLT5w
cm9jZXNzKCktPmNvbnRleHQoKSksIHRvQVBJKGluc3BlY3RvclBhZ2VHcm91cCgpKSk7CisgICAg
QVNTRVJUKG1faW5zcGVjdG9yVmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRYKDApOwor
ICAgIG1faW5zcGVjdG9yVmlldy0+c2V0WSgwKTsKKyAgICBtX2luc3BlY3RvclZpZXctPnNldFdp
ZHRoKGluaXRpYWxXaW5kb3dXaWR0aCk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRIZWlnaHQo
aW5pdGlhbFdpbmRvd0hlaWdodCk7CisgICAgcmV0dXJuIHRvSW1wbChtX2luc3BlY3RvclZpZXct
PnBhZ2VSZWYoKSk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3Blbigp
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBBU1NFUlQoIW1fdmlldyk7CisgICAgbV92
aWV3ID0gbmV3IFFTR1ZpZXcoKTsKKyAgICBBU1NFUlQobV92aWV3KTsKKyAgICBtX2luc3BlY3Rv
clZpZXctPnNldFBhcmVudEl0ZW0obV92aWV3LT5yb290SXRlbSgpKTsKKyAgICBtX3ZpZXctPnNl
dEdlb21ldHJ5KDAsIDAsIGluaXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hlaWdodCk7
CisgICAgbV92aWV3LT5zaG93KCk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtRGlkQ2xvc2UoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYgKG1faW5zcGVj
dG9yVmlldykgeworICAgICAgICBkZWxldGUgbV9pbnNwZWN0b3JWaWV3OworICAgICAgICBtX2lu
c3BlY3RvclZpZXcgPSAwOworICAgIH0KKworICAgIGlmIChtX3ZpZXcpIHsKKyAgICAgICAgbV92
aWV3LT5jbG9zZSgpOworICAgICAgICBkZWxldGUgbV92aWV3OworICAgICAgICBtX3ZpZXcgPSAw
OworICAgIH0KIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRnJv
bnQoKQpAQCAtNTQsOSArNzksOSBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJy
aW5nVG9GCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYpCit2b2lkIFdlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiB1
cmwpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX3ZpZXctPnNldFdpbmRvd1RpdGxl
KFFPYmplY3Q6OnRyKCJXZWIgSW5zcGVjdG9yIC0gIikgKyBRT2JqZWN0Ojp0cih1cmwudXRmOCgp
LmRhdGEoKSkpOwogfQogCiB1bnNpZ25lZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNw
ZWN0ZWRXaW5kb3dIZWlnaHQoKQpAQCAtODIsOCArMTA3LDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1TZXRBdHRhYwogCiBTdHJpbmcgV2ViSW5zcGVjdG9yUHJveHk6Omluc3Bl
Y3RvclBhZ2VVUkwoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJu
IFN0cmluZygpOworICAgIHJldHVybiAoInFyYzovd2Via2l0L2luc3BlY3Rvci9pbnNwZWN0b3Iu
aHRtbCIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNzQ5KQorKysgVG9v
bHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDgtMjQg
IEdlbmlzaW0gVHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJ
bnNwZWN0b3IgdG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcDoK
KyAgICAgICAgKEJyb3dzZXJWaWV3Ojp0b2dnbGVXZWJJbnNwZWN0b3IpOgorICAgICAgICAqIE1p
bmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJv
d3NlcldpbmRvdy5jcHA6CisgICAgICAgIChCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KToK
KyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OnRvZ2dsZVdlYkluc3BlY3Rvcik6CisgICAgICAgICog
TWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oOgorCiAyMDExLTA4LTI0ICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIGVtcHR5IGRpcmVjdG9yeS4K
SW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAJKHJldmlzaW9uIDkzNjU5KQor
KysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC04Niw2ICs4NiwxNCBAQCBRRGVza3RvcFdlYlZpZXcqIEJyb3dzZXJWaWV3OjpkZXNrdG9wV2Vi
CiAgICAgcmV0dXJuIHFvYmplY3RfY2FzdDxRRGVza3RvcFdlYlZpZXcqPihtX2l0ZW0pOwogfQog
Cit2b2lkIEJyb3dzZXJWaWV3Ojp0b2dnbGVXZWJJbnNwZWN0b3IoKQoreworICAgIGlmIChkZXNr
dG9wV2ViVmlldygpKQorICAgICAgICBkZXNrdG9wV2ViVmlldygpLT50b2dnbGVXZWJJbnNwZWN0
b3IoKTsKKyAgICBlbHNlCisgICAgICAgIHRvdWNoV2ViVmlldygpLT50b2dnbGVXZWJJbnNwZWN0
b3IoKTsKK30KKwogUUFjdGlvbiogQnJvd3NlclZpZXc6Om5hdmlnYXRpb25BY3Rpb24oUXRXZWJL
aXQ6Ok5hdmlnYXRpb25BY3Rpb24gd2hpY2gpIGNvbnN0CiB7CiAgICAgaWYgKGRlc2t0b3BXZWJW
aWV3KCkpCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgJKHJldmlzaW9uIDkzNjU5
KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAkod29ya2luZyBjb3B5KQpA
QCAtNTAsNiArNTAsNyBAQCBwdWJsaWM6CiAKICAgICBRVG91Y2hXZWJWaWV3KiB0b3VjaFdlYlZp
ZXcoKSBjb25zdDsKICAgICBRRGVza3RvcFdlYlZpZXcqIGRlc2t0b3BXZWJWaWV3KCkgY29uc3Q7
CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3IoKTsKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1
YWwgdm9pZCByZXNpemVFdmVudChRUmVzaXplRXZlbnQqKTsKSW5kZXg6IFRvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2Vy
L3F0L0Jyb3dzZXJXaW5kb3cuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsNiArMTA0LDkg
QEAgQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyhXaW5kb3dPcHRpbwogICAgIGNvbm5lY3Qo
dGhpcywgU0lHTkFMKGVudGVyZWRGdWxsU2NyZWVuTW9kZShib29sKSksIHRoaXMsIFNMT1QodG9n
Z2xlRnVsbFNjcmVlbk1vZGUoYm9vbCkpKTsKIAogICAgIFFNZW51KiB0b29sc01lbnUgPSBtZW51
QmFyKCktPmFkZE1lbnUoIiZEZXZlbG9wIik7CisgICAgUUFjdGlvbiogdG9nZ2xlV2ViSW5zcGVj
dG9yID0gdG9vbHNNZW51LT5hZGRBY3Rpb24oIlNob3cgV2ViIEluc3BlY3RvciIsIHRoaXMsIFNM
T1QodG9nZ2xlV2ViSW5zcGVjdG9yKCkpKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPnNldENo
ZWNrYWJsZSh0cnVlKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPnNldENoZWNrZWQoZmFsc2Up
OwogICAgIHRvb2xzTWVudS0+YWRkQWN0aW9uKCJDaGFuZ2UgVXNlciBBZ2VudCIsIHRoaXMsIFNM
T1Qoc2hvd1VzZXJBZ2VudERpYWxvZygpKSk7CiAgICAgdG9vbHNNZW51LT5hZGRTZXBhcmF0b3Io
KTsKICAgICB0b29sc01lbnUtPmFkZEFjdGlvbigiTG9hZCBVUkxzIGZyb20gZmlsZSIsIHRoaXMs
IFNMT1QobG9hZFVSTExpc3RGcm9tRmlsZSgpKSk7CkBAIC0yMzAsNiArMjMzLDExIEBAIHZvaWQg
QnJvd3NlcldpbmRvdzo6c2NyZWVuc2hvdCgpCiAgICAgfQogfQogCit2b2lkIEJyb3dzZXJXaW5k
b3c6OnRvZ2dsZVdlYkluc3BlY3RvcigpCit7CisgICAgbV9icm93c2VyLT50b2dnbGVXZWJJbnNw
ZWN0b3IoKTsKK30KKwogdm9pZCBCcm93c2VyV2luZG93Ojp0b2dnbGVGdWxsU2NyZWVuTW9kZShi
b29sIGVuYWJsZSkKIHsKICAgICBib29sIGFscmVhZHlFbmFibGVkID0gd2luZG93U3RhdGUoKSAm
IFF0OjpXaW5kb3dGdWxsU2NyZWVuOwpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3Nl
cldpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5k
b3cuaAkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2lu
ZG93LmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDggQEAgcHJvdGVjdGVkIHNsb3RzOgog
ICAgIHZvaWQgc2NyZWVuc2hvdCgpOwogCiAgICAgdm9pZCB0b2dnbGVGdWxsU2NyZWVuTW9kZShi
b29sIGVuYWJsZSk7CisgICAgCisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3IoKTsKIAogICAg
IHZvaWQgc2hvd1VzZXJBZ2VudERpYWxvZygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105110</attachid>
            <date>2011-08-24 18:03:35 -0700</date>
            <delta_ts>2011-08-25 15:03:05 -0700</delta_ts>
            <desc>Updated Web Inspector patch for Qt5 WebKit2. Patch modified according Alexis comments. Fixed Alphabetical sorting problem</desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>12193</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNzUwKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDgtMjQgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcDoKKyAg
ICAgICAgKFFEZXNrdG9wV2ViVmlldzo6d2hlZWxFdmVudCk6CisgICAgICAgIChRRGVza3RvcFdl
YlZpZXc6OnRvZ2dsZVdlYkluc3BlY3Rvcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9x
ZGVza3RvcHdlYnZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZp
ZXcuY3BwOgorICAgICAgICAoUVRvdWNoV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0
b3JQcm94eTo6V2ViSW5zcGVjdG9yUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0
b3JQcm94eTo6aW52YWxpZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclBy
b3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0
b3JQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3Bl
bik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3Nl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVk
VVJMQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjppbnNwZWN0
b3JQYWdlVVJMKToKKwogMjAxMS0wOC0yNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbmFtZSAtW1dLVGV4dElucHV0V2luZG93Q29udHJvbGxlciBr
ZXlib2FyZElucHV0U291cmNlQ2hhbmdlZF0gdG8gdW5tYXJrVGV4dCB0byBpbmRpY2F0ZSB3aGF0
IHRoZSBtZXRob2QgZG9lcwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3Bl
Y3RvclByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDExICsy
OSwxMSBAQAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JN
ZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKKyNpbmNsdWRl
ICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1ZGUg
IldlYlByb2Nlc3NQcm94eS5oIgotI2luY2x1ZGUgIldlYlBhZ2VHcm91cC5oIgogCiAjaWYgUExB
VEZPUk0oV0lOKQogI2luY2x1ZGUgIldlYlZpZXcuaCIKQEAgLTczLDYgKzczLDEwIEBAIFdlYklu
c3BlY3RvclByb3h5OjpXZWJJbnNwZWN0b3JQcm94eShXZWIKICNpZiBQTEFURk9STShXSU4pCiAg
ICAgLCBtX2luc3BlY3RvcldpbmRvdygwKQogI2VuZGlmCisjaWYgUExBVEZPUk0oUVQpCisgICAg
LCBtX3ZpZXcoMCkKKyAgICAsIG1faW5zcGVjdG9yVmlldygwKQorI2VuZGlmCiB7CiB9CiAKQEAg
LTg2LDYgKzkwLDEwIEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OmludmFsaWRhdGUoKQogICAg
IGRpZENsb3NlKCk7CiAKICAgICBtX3BhZ2UgPSAwOworI2lmIFBMQVRGT1JNKFFUKQorICAgIG1f
aW5zcGVjdG9yVmlldyA9IDA7CisgICAgbV92aWV3ID0gMDsKKyNlbmRpZgogCiAgICAgbV9pc1Zp
c2libGUgPSBmYWxzZTsKICAgICBtX2lzRGVidWdnaW5nSmF2YVNjcmlwdCA9IGZhbHNlOwpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgJKHJldmlz
aW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDEyIEBAIE9CSkNfQ0xBU1MgV2ViSW5zcGVj
dG9yV0tWaWV3OwogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93TWVzc2FnZUxpc3RlbmVyLmg+CiAj
ZW5kaWYKIAorI2lmIFBMQVRGT1JNKFFUKQorY2xhc3MgUVNHVmlldzsKK2NsYXNzIFFEZXNrdG9w
V2ViVmlldzsKK2NsYXNzIFFPYmplY3Q7CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAK
IGNsYXNzIFdlYlBhZ2VHcm91cDsKQEAgLTE3NCw2ICsxODAsOSBAQCBwcml2YXRlOgogI2VsaWYg
UExBVEZPUk0oV0lOKQogICAgIEhXTkQgbV9pbnNwZWN0b3JXaW5kb3c7CiAgICAgUmVmUHRyPFdl
YlZpZXc+IG1faW5zcGVjdG9yVmlldzsKKyNlbGlmIFBMQVRGT1JNKFFUKQorICAgIFFTR1ZpZXcq
IG1fdmlldzsKKyAgICBRRGVza3RvcFdlYlZpZXcqIG1faW5zcGVjdG9yVmlldzsKICNlbmRpZgog
fTsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZp
ZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRl
c2t0b3B3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYg
KzM3LDEwIEBACiAjaW5jbHVkZSA8UXRHdWkvUVRvdWNoRXZlbnQ+CiAjaW5jbHVkZSA8UXRHdWkv
UVdoZWVsRXZlbnQ+CiAKKyNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKKyNpbmNsdWRlICJXZWJQ
cmVmZXJlbmNlcy5oIgorI2luY2x1ZGUgIldlYkluc3BlY3RvclByb3h5LmgiCisKIFFEZXNrdG9w
V2ViVmlld1ByaXZhdGU6OlFEZXNrdG9wV2ViVmlld1ByaXZhdGUoUURlc2t0b3BXZWJWaWV3KiBx
LCBXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmKQog
ICAgIDogcShxKQogICAgICwgcGFnZSh0aGlzLCBjb250ZXh0UmVmID8gbmV3IFFXS0NvbnRleHQo
Y29udGV4dFJlZikgOiBkZWZhdWx0V0tDb250ZXh0KCksIHBhZ2VHcm91cFJlZikKQEAgLTI5OSw2
ICszMDMsMjIgQEAgdm9pZCBRRGVza3RvcFdlYlZpZXc6OndoZWVsRXZlbnQoUVdoZWVsRQogICAg
IHRoaXMtPmV2ZW50KCZncmFwaGljc0V2ZW50KTsKIH0KIAordm9pZCBRRGVza3RvcFdlYlZpZXc6
OnRvZ2dsZVdlYkluc3BlY3RvcigpCit7CisgICAgV0tQYWdlUmVmIG1fcGFnZVJlZiA9IHBhZ2VS
ZWYoKTsKKyAgICBXS1BhZ2VHcm91cFJlZiBtX3BhZ2VHcm91cFJlZiA9IHRvQVBJKHRvSW1wbCht
X3BhZ2VSZWYpLT5wYWdlR3JvdXAoKSk7CisgICAgV0tQcmVmZXJlbmNlc1JlZiBtX3ByZWZlcmVu
Y2VzID0gdG9BUEkodG9JbXBsKG1fcGFnZUdyb3VwUmVmKS0+cHJlZmVyZW5jZXMoKSk7CisgICAg
V0tJbnNwZWN0b3JSZWYgbV9pbnNwZWN0b3IgPSB0b0FQSSh0b0ltcGwobV9wYWdlUmVmKS0+aW5z
cGVjdG9yKCkpOworICAgIAorICAgIGlmICh0b0ltcGwobV9pbnNwZWN0b3IpLT5pc1Zpc2libGUo
KSkgeworICAgICAgICB0b0ltcGwobV9wcmVmZXJlbmNlcyktPnNldERldmVsb3BlckV4dHJhc0Vu
YWJsZWQoZmFsc2UpOworICAgICAgICB0b0ltcGwobV9pbnNwZWN0b3IpLT5jbG9zZSgpOworICAg
IH0gZWxzZSB7CisgICAgICAgIHRvSW1wbChtX3ByZWZlcmVuY2VzKS0+c2V0RGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgdG9JbXBsKG1faW5zcGVjdG9yKS0+c2hvdygpOwor
ICAgIH0KK30KKwogdm9pZCBRRGVza3RvcFdlYlZpZXc6OnRvdWNoRXZlbnQoUVRvdWNoRXZlbnQq
IGV2ZW50KQogewogICAgIHRoaXMtPmV2ZW50KGV2ZW50KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuaAkocmV2aXNpb24gOTM2
NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5o
CSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCwxMCBAQCBuYW1lc3BhY2UgV1RSIHsKICAgICBj
bGFzcyBXZWJWaWV3OwogfQogCituYW1lc3BhY2UgV2ViS2l0IHsKKyAgICBjbGFzcyBXZWJJbnNw
ZWN0b3JQcm94eTsKK30KKwogY2xhc3MgUVdFQktJVF9FWFBPUlQgUURlc2t0b3BXZWJWaWV3IDog
cHVibGljIFFTR1BhaW50ZWRJdGVtIHsKICAgICBRX09CSkVDVAogICAgIFFfUFJPUEVSVFkoUVN0
cmluZyB0aXRsZSBSRUFEIHRpdGxlIE5PVElGWSB0aXRsZUNoYW5nZWQpCkBAIC02Niw2ICs3MCw4
IEBAIHB1YmxpYzoKICAgICBRRGVza3RvcFdlYlZpZXcoUVNHSXRlbSogcGFyZW50ID0gMCk7CiAg
ICAgdmlydHVhbCB+UURlc2t0b3BXZWJWaWV3KCk7CiAKKyAgICB2b2lkIHRvZ2dsZVdlYkluc3Bl
Y3RvcigpOworICAgIAogICAgIFFVcmwgdXJsKCkgY29uc3Q7CiAgICAgUVN0cmluZyB0aXRsZSgp
IGNvbnN0OwogICAgIGludCBsb2FkUHJvZ3Jlc3MoKSBjb25zdDsKQEAgLTExNCw2ICsxMjAsNyBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBpbml0KCk7CiAKKyAgICBmcmllbmQgY2xhc3MgV2ViS2l0
OjpXZWJJbnNwZWN0b3JQcm94eTsKICAgICBmcmllbmQgY2xhc3MgV1RSOjpXZWJWaWV3OwogICAg
IGZyaWVuZCBjbGFzcyBRRGVza3RvcFdlYlZpZXdQcml2YXRlOwogICAgIFFEZXNrdG9wV2ViVmll
d1ByaXZhdGUgKmQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3Vj
aHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXRvdWNod2Vidmlldy5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEx
LDQgKzExMSw4IEBAIHZvaWQgUVRvdWNoV2ViVmlldzo6Z2VvbWV0cnlDaGFuZ2VkKGNvbnMKICAg
ICB9CiB9CiAKK3ZvaWQgUVRvdWNoV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKCkKK3sKK30K
KwogI2luY2x1ZGUgIm1vY19xdG91Y2h3ZWJ2aWV3LmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCShyZXZpc2lvbiA5MzY1OSkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKICAgICB+UVRvdWNoV2ViVmlldygp
OwogCiAgICAgUVRvdWNoV2ViUGFnZSAqcGFnZSgpOworICAgIHZvaWQgdG9nZ2xlV2ViSW5zcGVj
dG9yKCk7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbWV0cnlDaGFuZ2VkKGNv
bnN0IFFSZWN0RiYsIGNvbnN0IFFSZWN0RiYpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAkocmV2aXNpb24gOTM2NTkp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI1LDI4ICsyNSw1MyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzUHJv
eHkuaCIKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKKyNpbmNsdWRlIDxRdERlY2xhcmF0aXZl
L3FzZ3ZpZXcuaD4KKyNpbmNsdWRlIDxxZGVza3RvcHdlYnZpZXcuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL05vdEltcGxlbWVudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogV2Vi
UGFnZVByb3h5KiBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdl
KCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOworICAgIEFTU0VSVCht
X3BhZ2UpOworICAgIEFTU0VSVCghbV9pbnNwZWN0b3JWaWV3KTsKKyAgICBtX2luc3BlY3RvclZp
ZXcgPSBuZXcgUURlc2t0b3BXZWJWaWV3KHRvQVBJKHBhZ2UoKS0+cHJvY2VzcygpLT5jb250ZXh0
KCkpLCB0b0FQSShpbnNwZWN0b3JQYWdlR3JvdXAoKSkpOworICAgIEFTU0VSVChtX2luc3BlY3Rv
clZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0WCgwKTsKKyAgICBtX2luc3BlY3RvclZp
ZXctPnNldFkoMCk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRXaWR0aChpbml0aWFsV2luZG93
V2lkdGgpOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0SGVpZ2h0KGluaXRpYWxXaW5kb3dIZWln
aHQpOworICAgIHJldHVybiB0b0ltcGwobV9pbnNwZWN0b3JWaWV3LT5wYWdlUmVmKCkpOwogfQog
CiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9wZW4oKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgQVNTRVJUKCFtX3ZpZXcpOworICAgIG1fdmlldyA9IG5ldyBRU0dWaWV3
KCk7CisgICAgQVNTRVJUKG1fdmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRQYXJlbnRJ
dGVtKG1fdmlldy0+cm9vdEl0ZW0oKSk7CisgICAgbV92aWV3LT5zZXRHZW9tZXRyeSgwLCAwLCBp
bml0aWFsV2luZG93V2lkdGgsIGluaXRpYWxXaW5kb3dIZWlnaHQpOworICAgIG1fdmlldy0+c2hv
dygpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKCkKIHsK
LSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlmIChtX2luc3BlY3RvclZpZXcpIHsKKyAgICAg
ICAgZGVsZXRlIG1faW5zcGVjdG9yVmlldzsKKyAgICAgICAgbV9pbnNwZWN0b3JWaWV3ID0gMDsK
KyAgICB9CisKKyAgICBpZiAobV92aWV3KSB7CisgICAgICAgIG1fdmlldy0+Y2xvc2UoKTsKKyAg
ICAgICAgZGVsZXRlIG1fdmlldzsKKyAgICAgICAgbV92aWV3ID0gMDsKKyAgICB9CiB9CiAKIHZv
aWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250KCkKQEAgLTU0LDkgKzc5
LDkgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRgogICAgIG5vdElt
cGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVj
dGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmKQordm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxh
dGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYgdXJsKQogewotICAgIG5vdElt
cGxlbWVudGVkKCk7CisgICAgbV92aWV3LT5zZXRXaW5kb3dUaXRsZShRT2JqZWN0Ojp0cigiV2Vi
IEluc3BlY3RvciAtICIpICsgUU9iamVjdDo6dHIodXJsLnV0ZjgoKS5kYXRhKCkpKTsKIH0KIAog
dW5zaWduZWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkV2luZG93SGVpZ2h0
KCkKQEAgLTgyLDggKzEwNyw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0
QXR0YWMKIAogU3RyaW5nIFdlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JQYWdlVVJMKCkgY29u
c3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBy
ZXR1cm4gKCJxcmM6L3dlYmtpdC9pbnNwZWN0b3IvaW5zcGVjdG9yLmh0bWwiKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5Mzc1MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDExLTA4LTI0ICBHZW5pc2ltIFRzaWxrZXIg
IDxnZW5pc2ltQHlhaG9vLmNvbT4KKworICAgICAgICBBZGQgV2ViSW5zcGVjdG9yIHRvIFdlYktp
dDIgTWluaUJyb3dzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY0Mjk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHA6CisgICAgICAgIChCcm93c2Vy
Vmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93
c2VyVmlldy5oOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwOgor
ICAgICAgICAoQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyk6CisgICAgICAgIChCcm93c2Vy
V2luZG93OjpzY3JlZW5zaG90KToKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OnRvZ2dsZVdlYklu
c3BlY3Rvcik6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oOgorCiAy
MDExLTA4LTI0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVt
b3ZlIGVtcHR5IGRpcmVjdG9yeS4KSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJW
aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5j
cHAJKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Niw2ICs4NiwxNCBAQCBRRGVza3RvcFdlYlZpZXcqIEJy
b3dzZXJWaWV3OjpkZXNrdG9wV2ViCiAgICAgcmV0dXJuIHFvYmplY3RfY2FzdDxRRGVza3RvcFdl
YlZpZXcqPihtX2l0ZW0pOwogfQogCit2b2lkIEJyb3dzZXJWaWV3Ojp0b2dnbGVXZWJJbnNwZWN0
b3IoKQoreworICAgIGlmIChkZXNrdG9wV2ViVmlldygpKQorICAgICAgICBkZXNrdG9wV2ViVmll
dygpLT50b2dnbGVXZWJJbnNwZWN0b3IoKTsKKyAgICBlbHNlCisgICAgICAgIHRvdWNoV2ViVmll
dygpLT50b2dnbGVXZWJJbnNwZWN0b3IoKTsKK30KKwogUUFjdGlvbiogQnJvd3NlclZpZXc6Om5h
dmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb24gd2hpY2gpIGNvbnN0CiB7
CiAgICAgaWYgKGRlc2t0b3BXZWJWaWV3KCkpCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9C
cm93c2VyVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJW
aWV3LmgJKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZp
ZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBwdWJsaWM6CiAKICAgICBRVG91
Y2hXZWJWaWV3KiB0b3VjaFdlYlZpZXcoKSBjb25zdDsKICAgICBRRGVza3RvcFdlYlZpZXcqIGRl
c2t0b3BXZWJWaWV3KCkgY29uc3Q7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3IoKTsKIAog
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCByZXNpemVFdmVudChRUmVzaXplRXZlbnQqKTsK
SW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCShyZXZpc2lvbiA5MzY1
OSkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDQsNiArMTA0LDkgQEAgQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyhXaW5k
b3dPcHRpbwogICAgIGNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRGdWxsU2NyZWVuTW9kZShi
b29sKSksIHRoaXMsIFNMT1QodG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCkpKTsKIAogICAgIFFN
ZW51KiB0b29sc01lbnUgPSBtZW51QmFyKCktPmFkZE1lbnUoIiZEZXZlbG9wIik7CisgICAgUUFj
dGlvbiogdG9nZ2xlV2ViSW5zcGVjdG9yID0gdG9vbHNNZW51LT5hZGRBY3Rpb24oIlNob3cgV2Vi
IEluc3BlY3RvciIsIHRoaXMsIFNMT1QodG9nZ2xlV2ViSW5zcGVjdG9yKCkpKTsKKyAgICB0b2dn
bGVXZWJJbnNwZWN0b3ItPnNldENoZWNrYWJsZSh0cnVlKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0
b3ItPnNldENoZWNrZWQoZmFsc2UpOwogICAgIHRvb2xzTWVudS0+YWRkQWN0aW9uKCJDaGFuZ2Ug
VXNlciBBZ2VudCIsIHRoaXMsIFNMT1Qoc2hvd1VzZXJBZ2VudERpYWxvZygpKSk7CiAgICAgdG9v
bHNNZW51LT5hZGRTZXBhcmF0b3IoKTsKICAgICB0b29sc01lbnUtPmFkZEFjdGlvbigiTG9hZCBV
UkxzIGZyb20gZmlsZSIsIHRoaXMsIFNMT1QobG9hZFVSTExpc3RGcm9tRmlsZSgpKSk7CkBAIC0y
MzAsNiArMjMzLDExIEBAIHZvaWQgQnJvd3NlcldpbmRvdzo6c2NyZWVuc2hvdCgpCiAgICAgfQog
fQogCit2b2lkIEJyb3dzZXJXaW5kb3c6OnRvZ2dsZVdlYkluc3BlY3RvcigpCit7CisgICAgbV9i
cm93c2VyLT50b2dnbGVXZWJJbnNwZWN0b3IoKTsKK30KKwogdm9pZCBCcm93c2VyV2luZG93Ojp0
b2dnbGVGdWxsU2NyZWVuTW9kZShib29sIGVuYWJsZSkKIHsKICAgICBib29sIGFscmVhZHlFbmFi
bGVkID0gd2luZG93U3RhdGUoKSAmIFF0OjpXaW5kb3dGdWxsU2NyZWVuOwpJbmRleDogVG9vbHMv
TWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlC
cm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5p
QnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDgg
QEAgcHJvdGVjdGVkIHNsb3RzOgogICAgIHZvaWQgc2NyZWVuc2hvdCgpOwogCiAgICAgdm9pZCB0
b2dnbGVGdWxsU2NyZWVuTW9kZShib29sIGVuYWJsZSk7CisgICAgCisgICAgdm9pZCB0b2dnbGVX
ZWJJbnNwZWN0b3IoKTsKIAogICAgIHZvaWQgc2hvd1VzZXJBZ2VudERpYWxvZygpOwogCg==
</data>
<flag name="review"
          id="101166"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105255</attachid>
            <date>2011-08-25 15:03:05 -0700</date>
            <delta_ts>2011-08-30 15:36:50 -0700</delta_ts>
            <desc>Updated Web Inspector patch for Qt5 WebKit2. Patch modified according latest comments.</desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>14816</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzODI0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDgtMjUgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcDoKKyAg
ICAgICAgKFFEZXNrdG9wV2ViVmlldzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKToKKyAgICAgICAg
KFFEZXNrdG9wV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
cXRvdWNod2Vidmlldy5jcHA6CisgICAgICAgIChRVG91Y2hXZWJWaWV3OjplbmFibGVEZXZlbG9w
ZXJFeHRyYXMpOgorICAgICAgICAoUVRvdWNoV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNw
ZWN0b3JQcm94eTo6V2ViSW5zcGVjdG9yUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNw
ZWN0b3JQcm94eTo6aW52YWxpZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3Rv
clByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJbnNw
ZWN0b3JQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3Jt
T3Blbik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENs
b3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVj
dGVkVVJMQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjppbnNw
ZWN0b3JQYWdlVVJMKToKKwogMjAxMS0wOC0yNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIE1vcmUgd29yayBvbiB0aGUgdXBkYXRlZCBDb2NvYSB0ZXh0
IGlucHV0IHNwZWNpZmljYXRpb24KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJ
bnNwZWN0b3JQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkluc3BlY3RvclByb3h5LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwx
MSArMjksMTEgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiV2ViSW5zcGVj
dG9yTWVzc2FnZXMuaCIKLSNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCisjaW5j
bHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKICNpbmNs
dWRlICJXZWJQcm9jZXNzUHJveHkuaCIKLSNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKIAogI2lm
IFBMQVRGT1JNKFdJTikKICNpbmNsdWRlICJXZWJWaWV3LmgiCkBAIC03Myw2ICs3MywxMCBAQCBX
ZWJJbnNwZWN0b3JQcm94eTo6V2ViSW5zcGVjdG9yUHJveHkoV2ViCiAjaWYgUExBVEZPUk0oV0lO
KQogICAgICwgbV9pbnNwZWN0b3JXaW5kb3coMCkKICNlbmRpZgorI2lmIFBMQVRGT1JNKFFUKQor
ICAgICwgbV92aWV3KDApCisgICAgLCBtX2luc3BlY3RvclZpZXcoMCkKKyNlbmRpZgogewogfQog
CkBAIC04Niw2ICs5MCwxMCBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjppbnZhbGlkYXRlKCkK
ICAgICBkaWRDbG9zZSgpOwogCiAgICAgbV9wYWdlID0gMDsKKyNpZiBQTEFURk9STShRVCkKKyAg
ICBtX2luc3BlY3RvclZpZXcgPSAwOworICAgIG1fdmlldyA9IDA7CisjZW5kaWYKIAogICAgIG1f
aXNWaXNpYmxlID0gZmFsc2U7CiAgICAgbV9pc0RlYnVnZ2luZ0phdmFTY3JpcHQgPSBmYWxzZTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCShy
ZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQ
cm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0NiwxMiBAQCBPQkpDX0NMQVNTIFdlYklu
c3BlY3RvcldLVmlldzsKICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01lc3NhZ2VMaXN0ZW5lci5o
PgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKK2NsYXNzIFFTR1ZpZXc7CitjbGFzcyBRRGVz
a3RvcFdlYlZpZXc7CitjbGFzcyBRT2JqZWN0OworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBXZWJQYWdlR3JvdXA7CkBAIC0xNzQsNiArMTgwLDkgQEAgcHJpdmF0ZToKICNl
bGlmIFBMQVRGT1JNKFdJTikKICAgICBIV05EIG1faW5zcGVjdG9yV2luZG93OwogICAgIFJlZlB0
cjxXZWJWaWV3PiBtX2luc3BlY3RvclZpZXc7CisjZWxpZiBQTEFURk9STShRVCkKKyAgICBRU0dW
aWV3KiBtX3ZpZXc7CisgICAgUURlc2t0b3BXZWJWaWV3KiBtX2luc3BlY3RvclZpZXc7CiAjZW5k
aWYKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3
ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FkZXNrdG9wd2Vidmlldy5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
Nyw2ICszNywxMCBAQAogI2luY2x1ZGUgPFF0R3VpL1FUb3VjaEV2ZW50PgogI2luY2x1ZGUgPFF0
R3VpL1FXaGVlbEV2ZW50PgogCisjaW5jbHVkZSA8V2ViSW5zcGVjdG9yUHJveHkuaD4KKyNpbmNs
dWRlIDxXZWJQYWdlR3JvdXAuaD4KKyNpbmNsdWRlIDxXZWJQcmVmZXJlbmNlcy5oPgorCiBRRGVz
a3RvcFdlYlZpZXdQcml2YXRlOjpRRGVza3RvcFdlYlZpZXdQcml2YXRlKFFEZXNrdG9wV2ViVmll
dyogcSwgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJl
ZikKICAgICA6IHEocSkKICAgICAsIHBhZ2UodGhpcywgY29udGV4dFJlZiA/IG5ldyBRV0tDb250
ZXh0KGNvbnRleHRSZWYpIDogZGVmYXVsdFdLQ29udGV4dCgpLCBwYWdlR3JvdXBSZWYpCkBAIC0y
OTksNiArMzAzLDIyIEBAIHZvaWQgUURlc2t0b3BXZWJWaWV3Ojp3aGVlbEV2ZW50KFFXaGVlbEUK
ICAgICB0aGlzLT5ldmVudCgmZ3JhcGhpY3NFdmVudCk7CiB9CiAKK3ZvaWQgUURlc2t0b3BXZWJW
aWV3OjplbmFibGVEZXZlbG9wZXJFeHRyYXMoYm9vbCBlbmFibGUpCit7CisgICAgV0tQYWdlR3Jv
dXBSZWYgbV9wYWdlR3JvdXBSZWYgPSB0b0FQSSh0b0ltcGwocGFnZVJlZigpKS0+cGFnZUdyb3Vw
KCkpOworICAgIFdLUHJlZmVyZW5jZXNSZWYgbV9wcmVmZXJlbmNlcyA9IHRvQVBJKHRvSW1wbCht
X3BhZ2VHcm91cFJlZiktPnByZWZlcmVuY2VzKCkpOworICAgIHRvSW1wbChtX3ByZWZlcmVuY2Vz
KS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChlbmFibGUpOworfQorCit2b2lkIFFEZXNrdG9w
V2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKGJvb2wgZW5hYmxlKQoreworICAgIFdLSW5zcGVj
dG9yUmVmIG1faW5zcGVjdG9yID0gdG9BUEkodG9JbXBsKHBhZ2VSZWYoKSktPmluc3BlY3Rvcigp
KTsKKyAgICBpZiAoZW5hYmxlKQorICAgICAgICB0b0ltcGwobV9pbnNwZWN0b3IpLT5zaG93KCk7
CisgICAgZWxzZQorICAgICAgICB0b0ltcGwobV9pbnNwZWN0b3IpLT5jbG9zZSgpOworfQorCiB2
b2lkIFFEZXNrdG9wV2ViVmlldzo6dG91Y2hFdmVudChRVG91Y2hFdmVudCogZXZlbnQpCiB7CiAg
ICAgdGhpcy0+ZXZlbnQoZXZlbnQpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xZGVza3RvcHdlYnZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ4LDYgKzQ4LDEwIEBAIG5hbWVzcGFjZSBXVFIgewogICAgIGNsYXNzIFdlYlZpZXc7
CiB9CiAKK25hbWVzcGFjZSBXZWJLaXQgeworICAgIGNsYXNzIFdlYkluc3BlY3RvclByb3h5Owor
fQorCiBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRRGVza3RvcFdlYlZpZXcgOiBwdWJsaWMgUVNHUGFp
bnRlZEl0ZW0gewogICAgIFFfT0JKRUNUCiAgICAgUV9QUk9QRVJUWShRU3RyaW5nIHRpdGxlIFJF
QUQgdGl0bGUgTk9USUZZIHRpdGxlQ2hhbmdlZCkKQEAgLTY2LDYgKzcwLDkgQEAgcHVibGljOgog
ICAgIFFEZXNrdG9wV2ViVmlldyhRU0dJdGVtKiBwYXJlbnQgPSAwKTsKICAgICB2aXJ0dWFsIH5R
RGVza3RvcFdlYlZpZXcoKTsKIAorICAgIHZvaWQgZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKGJvb2wg
ZW5hYmxlKTsKKyAgICB2b2lkIHRvZ2dsZVdlYkluc3BlY3Rvcihib29sIGVuYWJsZSk7CisgICAg
CiAgICAgUVVybCB1cmwoKSBjb25zdDsKICAgICBRU3RyaW5nIHRpdGxlKCkgY29uc3Q7CiAgICAg
aW50IGxvYWRQcm9ncmVzcygpIGNvbnN0OwpAQCAtMTE0LDYgKzEyMSw3IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIGluaXQoKTsKIAorICAgIGZyaWVuZCBjbGFzcyBXZWJLaXQ6OldlYkluc3BlY3Rv
clByb3h5OwogICAgIGZyaWVuZCBjbGFzcyBXVFI6OldlYlZpZXc7CiAgICAgZnJpZW5kIGNsYXNz
IFFEZXNrdG9wV2ViVmlld1ByaXZhdGU7CiAgICAgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZSAqZDsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2
aWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3F0b3VjaHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBACiAj
aW5jbHVkZSAiVG91Y2hWaWV3SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAicXRvdWNod2VicGFnZV9w
LmgiCiAjaW5jbHVkZSAiUXRXZWJQYWdlUHJveHkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL05vdElt
cGxlbWVudGVkLmg+CiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiV2ViUHJl
ZmVyZW5jZXMuaCIKICNpbmNsdWRlIDxxZ3JhcGhpY3NzY2VuZWV2ZW50Lmg+CkBAIC0xMTEsNCAr
MTEyLDE0IEBAIHZvaWQgUVRvdWNoV2ViVmlldzo6Z2VvbWV0cnlDaGFuZ2VkKGNvbnMKICAgICB9
CiB9CiAKK3ZvaWQgUVRvdWNoV2ViVmlldzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKGJvb2wgZW5h
YmxlKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgUVRvdWNoV2ViVmlldzo6
dG9nZ2xlV2ViSW5zcGVjdG9yKGJvb2wgZW5hYmxlKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
Cit9CisKICNpbmNsdWRlICJtb2NfcXRvdWNod2Vidmlldy5jcHAiCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAkocmV2aXNpb24gOTM2
NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAko
d29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgflFUb3VjaFdlYlZp
ZXcoKTsKIAogICAgIFFUb3VjaFdlYlBhZ2UgKnBhZ2UoKTsKKyAgICB2b2lkIGVuYWJsZURldmVs
b3BlckV4dHJhcyhib29sIGVuYWJsZSk7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3IoYm9v
bCBlbmFibGUpOwogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGdlb21ldHJ5Q2hhbmdl
ZChjb25zdCBRUmVjdEYmLCBjb25zdCBRUmVjdEYmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAJKHJldmlzaW9uIDkz
NjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwyOCArMjUsNTMgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3RvclByb3h5LmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vz
c1Byb3h5LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCisjaW5jbHVkZSA8UXREZWNsYXJh
dGl2ZS9xc2d2aWV3Lmg+CisjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
IFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9y
UGFnZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICBBU1NF
UlQobV9wYWdlKTsKKyAgICBBU1NFUlQoIW1faW5zcGVjdG9yVmlldyk7CisgICAgbV9pbnNwZWN0
b3JWaWV3ID0gbmV3IFFEZXNrdG9wV2ViVmlldyh0b0FQSShwYWdlKCktPnByb2Nlc3MoKS0+Y29u
dGV4dCgpKSwgdG9BUEkoaW5zcGVjdG9yUGFnZUdyb3VwKCkpKTsKKyAgICBBU1NFUlQobV9pbnNw
ZWN0b3JWaWV3KTsKKyAgICBtX2luc3BlY3RvclZpZXctPnNldFgoMCk7CisgICAgbV9pbnNwZWN0
b3JWaWV3LT5zZXRZKDApOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0V2lkdGgoaW5pdGlhbFdp
bmRvd1dpZHRoKTsKKyAgICBtX2luc3BlY3RvclZpZXctPnNldEhlaWdodChpbml0aWFsV2luZG93
SGVpZ2h0KTsKKyAgICByZXR1cm4gdG9JbXBsKG1faW5zcGVjdG9yVmlldy0+cGFnZVJlZigpKTsK
IH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKCkKIHsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIEFTU0VSVCghbV92aWV3KTsKKyAgICBtX3ZpZXcgPSBuZXcgUVNH
VmlldygpOworICAgIEFTU0VSVChtX3ZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0UGFy
ZW50SXRlbShtX3ZpZXctPnJvb3RJdGVtKCkpOworICAgIG1fdmlldy0+c2V0R2VvbWV0cnkoMCwg
MCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93SGVpZ2h0KTsKKyAgICBtX3ZpZXct
PnNob3coKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1EaWRDbG9zZSgp
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBpZiAobV9pbnNwZWN0b3JWaWV3KSB7Cisg
ICAgICAgIGRlbGV0ZSBtX2luc3BlY3RvclZpZXc7CisgICAgICAgIG1faW5zcGVjdG9yVmlldyA9
IDA7CisgICAgfQorCisgICAgaWYgKG1fdmlldykgeworICAgICAgICBtX3ZpZXctPmNsb3NlKCk7
CisgICAgICAgIGRlbGV0ZSBtX3ZpZXc7CisgICAgICAgIG1fdmlldyA9IDA7CisgICAgfQogfQog
CiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpCkBAIC01NCw5
ICs3OSw5IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0YKICAgICBu
b3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUlu
c3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJikKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6
OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmIHVybCkKIHsKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIG1fdmlldy0+c2V0V2luZG93VGl0bGUoUU9iamVjdDo6dHIo
IldlYiBJbnNwZWN0b3IgLSAiKSArIFFPYmplY3Q6OnRyKHVybC51dGY4KCkuZGF0YSgpKSk7CiB9
CiAKIHVuc2lnbmVkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFdpbmRvd0hl
aWdodCgpCkBAIC04Miw4ICsxMDcsNyBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9y
bVNldEF0dGFjCiAKIFN0cmluZyBXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yUGFnZVVSTCgp
IGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gU3RyaW5nKCk7Cisg
ICAgcmV0dXJuICgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rvci5odG1sIik7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gOTM4MjQpCisrKyBUb29scy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wOC0yNSAgR2VuaXNpbSBUc2ls
a2VyICA8Z2VuaXNpbUB5YWhvby5jb20+CisKKyAgICAgICAgQWRkIFdlYkluc3BlY3RvciB0byBX
ZWJLaXQyIE1pbmlCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NDI5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwOgorICAgICAgICAoQnJv
d3NlclZpZXc6OmVuYWJsZURldmVsb3BlckV4dHJhc01vZGUpOgorICAgICAgICAoQnJvd3NlclZp
ZXc6OnRvZ2dsZVdlYkluc3BlY3Rvck1vZGUpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jy
b3dzZXJWaWV3Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHA6
CisgICAgICAgIChCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KToKKyAgICAgICAgKEJyb3dz
ZXJXaW5kb3c6OnNldEVuYWJsZWRJbnZlcnQpOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6ZW5h
YmxlRGV2ZWxvcGVyRXh0cmFzTW9kZSk6CisgICAgICAgIChCcm93c2VyV2luZG93Ojp0b2dnbGVX
ZWJJbnNwZWN0b3JNb2RlKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93
Lmg6CisKIDIwMTEtMDgtMjUgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBnYXJkZW4tby1tYXRpYyBzdW1tYXJ5IG5lZWRzIGEgbW9jayB2aWV3IHRo
YXQgY291bGQgYmUgdXNlZCBmb3Igd29ya2luZyBvbiBzdHlsaW5nCkluZGV4OiBUb29scy9NaW5p
QnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dz
ZXIvcXQvQnJvd3NlclZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsMjIgQEAg
UURlc2t0b3BXZWJWaWV3KiBCcm93c2VyVmlldzo6ZGVza3RvcFdlYgogICAgIHJldHVybiBxb2Jq
ZWN0X2Nhc3Q8UURlc2t0b3BXZWJWaWV3Kj4obV9pdGVtKTsKIH0KIAordm9pZCBCcm93c2VyVmll
dzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZGVz
a3RvcFdlYlZpZXcoKSkKKyAgICAgICAgZGVza3RvcFdlYlZpZXcoKS0+ZW5hYmxlRGV2ZWxvcGVy
RXh0cmFzKGVuYWJsZSk7CisgICAgZWxzZQorICAgICAgICB0b3VjaFdlYlZpZXcoKS0+ZW5hYmxl
RGV2ZWxvcGVyRXh0cmFzKGVuYWJsZSk7Cit9CisKK3ZvaWQgQnJvd3NlclZpZXc6OnRvZ2dsZVdl
Ykluc3BlY3Rvck1vZGUoYm9vbCBlbmFibGUpCit7CisgICAgaWYgKGRlc2t0b3BXZWJWaWV3KCkp
CisgICAgICAgIGRlc2t0b3BXZWJWaWV3KCktPnRvZ2dsZVdlYkluc3BlY3RvcihlbmFibGUpOwor
ICAgIGVsc2UKKyAgICAgICAgdG91Y2hXZWJWaWV3KCktPnRvZ2dsZVdlYkluc3BlY3RvcihlbmFi
bGUpOworfQorCiBRQWN0aW9uKiBCcm93c2VyVmlldzo6bmF2aWdhdGlvbkFjdGlvbihRdFdlYktp
dDo6TmF2aWdhdGlvbkFjdGlvbiB3aGljaCkgY29uc3QKIHsKICAgICBpZiAoZGVza3RvcFdlYlZp
ZXcoKSkKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAkocmV2aXNpb24gOTM2NTkp
CisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oCSh3b3JraW5nIGNvcHkpCkBA
IC01MCw2ICs1MCw4IEBAIHB1YmxpYzoKIAogICAgIFFUb3VjaFdlYlZpZXcqIHRvdWNoV2ViVmll
dygpIGNvbnN0OwogICAgIFFEZXNrdG9wV2ViVmlldyogZGVza3RvcFdlYlZpZXcoKSBjb25zdDsK
KyAgICB2b2lkIHRvZ2dsZVdlYkluc3BlY3Rvck1vZGUoYm9vbCBlbmFibGUpOworICAgIHZvaWQg
ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIGVuYWJsZSk7CiAKIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIHZvaWQgcmVzaXplRXZlbnQoUVJlc2l6ZUV2ZW50Kik7CkluZGV4OiBUb29scy9N
aW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5p
QnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9N
aW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDYg
KzEwNCwyMCBAQCBCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KFdpbmRvd09wdGlvCiAgICAg
Y29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZEZ1bGxTY3JlZW5Nb2RlKGJvb2wpKSwgdGhpcywg
U0xPVCh0b2dnbGVGdWxsU2NyZWVuTW9kZShib29sKSkpOwogCiAgICAgUU1lbnUqIHRvb2xzTWVu
dSA9IG1lbnVCYXIoKS0+YWRkTWVudSgiJkRldmVsb3AiKTsKKyAgICBlbmFibGVEZXZlbG9wZXJF
eHRyYXMgPSB0b29sc01lbnUtPmFkZEFjdGlvbigiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiLCB0
aGlzLCBTSUdOQUwoZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpKTsKKyAgICBlbmFi
bGVEZXZlbG9wZXJFeHRyYXMtPnNldENoZWNrYWJsZSh0cnVlKTsKKyAgICBlbmFibGVEZXZlbG9w
ZXJFeHRyYXMtPnNldENoZWNrZWQoZmFsc2UpOworICAgIGNvbm5lY3QodGhpcywgU0lHTkFMKGVu
dGVyZWREZXZlbG9wZXJFeHRyYXNNb2RlKGJvb2wpKSwgdGhpcywgU0xPVChlbmFibGVEZXZlbG9w
ZXJFeHRyYXNNb2RlKGJvb2wpKSk7CisgICAgCisgICAgUUFjdGlvbiogdG9nZ2xlV2ViSW5zcGVj
dG9yID0gdG9vbHNNZW51LT5hZGRBY3Rpb24oIlNob3cgV2ViIEluc3BlY3RvciIsIHRoaXMsIFNJ
R05BTChlbnRlcmVkV2ViSW5zcGVjdG9yTW9kZShib29sKSkpOworICAgIHRvZ2dsZVdlYkluc3Bl
Y3Rvci0+c2V0Q2hlY2thYmxlKHRydWUpOworICAgIHRvZ2dsZVdlYkluc3BlY3Rvci0+c2V0Q2hl
Y2tlZChmYWxzZSk7CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRFbmFibGVkKGZhbHNlKTsK
KyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPmNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWREZXZl
bG9wZXJFeHRyYXNNb2RlKGJvb2wpKSwgU0xPVChzZXRFbmFibGVkKGJvb2wpKSk7CisgICAgdG9n
Z2xlV2ViSW5zcGVjdG9yLT5jb25uZWN0KHRoaXMsIFNJR05BTChlbnRlcmVkV2ViSW5zcGVjdG9y
TW9kZShib29sKSksIFNMT1Qoc2V0Q2hlY2tlZChib29sKSkpOworICAgIGVuYWJsZURldmVsb3Bl
ckV4dHJhcy0+Y29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZFdlYkluc3BlY3Rvck1vZGUoYm9v
bCkpLCB0aGlzLCBTTE9UKHNldEVuYWJsZWRJbnZlcnQoYm9vbCkpKTsKKyAgICBjb25uZWN0KHRo
aXMsIFNJR05BTChlbnRlcmVkV2ViSW5zcGVjdG9yTW9kZShib29sKSksIHRoaXMsIFNMT1QodG9n
Z2xlV2ViSW5zcGVjdG9yTW9kZShib29sKSkpOworCiAgICAgdG9vbHNNZW51LT5hZGRBY3Rpb24o
IkNoYW5nZSBVc2VyIEFnZW50IiwgdGhpcywgU0xPVChzaG93VXNlckFnZW50RGlhbG9nKCkpKTsK
ICAgICB0b29sc01lbnUtPmFkZFNlcGFyYXRvcigpOwogICAgIHRvb2xzTWVudS0+YWRkQWN0aW9u
KCJMb2FkIFVSTHMgZnJvbSBmaWxlIiwgdGhpcywgU0xPVChsb2FkVVJMTGlzdEZyb21GaWxlKCkp
KTsKQEAgLTE1MSw2ICsxNjUsMTEgQEAgQnJvd3NlcldpbmRvdyogQnJvd3NlcldpbmRvdzo6bmV3
V2luZG93KAogICAgIHJldHVybiB3aW5kb3c7CiB9CiAKK3ZvaWQgQnJvd3NlcldpbmRvdzo6c2V0
RW5hYmxlZEludmVydChib29sIGVuYWJsZSkKK3sKKyAgICBlbmFibGVEZXZlbG9wZXJFeHRyYXMt
PnNldEVuYWJsZWQoIWVuYWJsZSk7Cit9CisKIHZvaWQgQnJvd3NlcldpbmRvdzo6b3BlbkxvY2F0
aW9uKCkKIHsKICAgICBtX2FkZHJlc3NCYXItPnNlbGVjdEFsbCgpOwpAQCAtMjMwLDYgKzI0OSwx
NiBAQCB2b2lkIEJyb3dzZXJXaW5kb3c6OnNjcmVlbnNob3QoKQogICAgIH0KIH0KIAordm9pZCBC
cm93c2VyV2luZG93OjplbmFibGVEZXZlbG9wZXJFeHRyYXNNb2RlKGJvb2wgZW5hYmxlKQorewor
ICAgIG1fYnJvd3Nlci0+ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShlbmFibGUpOworfQorCit2
b2lkIEJyb3dzZXJXaW5kb3c6OnRvZ2dsZVdlYkluc3BlY3Rvck1vZGUoYm9vbCBlbmFibGUpCit7
CisgICAgbV9icm93c2VyLT50b2dnbGVXZWJJbnNwZWN0b3JNb2RlKGVuYWJsZSk7Cit9CisKIHZv
aWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpCiB7CiAg
ICAgYm9vbCBhbHJlYWR5RW5hYmxlZCA9IHdpbmRvd1N0YXRlKCkgJiBRdDo6V2luZG93RnVsbFNj
cmVlbjsKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHJldmlzaW9uIDkz
NjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCSh3b3JraW5nIGNv
cHkpCkBAIC01Myw2ICs1Myw4IEBAIHB1YmxpYyBzbG90czoKIAogc2lnbmFsczoKICAgICB2b2lk
IGVudGVyZWRGdWxsU2NyZWVuTW9kZShib29sIG9uKTsKKyAgICB2b2lkIGVudGVyZWRXZWJJbnNw
ZWN0b3JNb2RlKGJvb2wgb24pOworICAgIHZvaWQgZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUo
Ym9vbCBvbik7CiAKIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lkIGNoYW5nZUxvY2F0aW9uKCk7
CkBAIC02Myw2ICs2NSw5IEBAIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lkIHNjcmVlbnNob3Qo
KTsKIAogICAgIHZvaWQgdG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpOworICAgIHZv
aWQgZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIGVuYWJsZSk7CisgICAgdm9pZCB0b2dn
bGVXZWJJbnNwZWN0b3JNb2RlKGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIHNldEVuYWJsZWRJbnZl
cnQoYm9vbCk7CiAKICAgICB2b2lkIHNob3dVc2VyQWdlbnREaWFsb2coKTsKIApAQCAtNzgsNiAr
ODMsOCBAQCBwcml2YXRlOgogICAgIEJyb3dzZXJWaWV3KiBtX2Jyb3dzZXI7CiAgICAgUUxpbmVF
ZGl0KiBtX2FkZHJlc3NCYXI7CiAgICAgUVN0cmluZ0xpc3QgbV91c2VyQWdlbnRMaXN0OworICAg
IAorICAgIFFBY3Rpb24qIGVuYWJsZURldmVsb3BlckV4dHJhczsKIH07CiAKICNlbmRpZgo=
</data>
<flag name="review"
          id="101347"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105540</attachid>
            <date>2011-08-29 16:36:55 -0700</date>
            <delta_ts>2011-08-30 15:36:50 -0700</delta_ts>
            <desc>Patch to add Web Inspector to WebKit2. Implemented 2 methods for qtouchwebview. </desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>15704</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MDI4KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDgtMjkgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcDoKKyAg
ICAgICAgKFFEZXNrdG9wV2ViVmlldzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKToKKyAgICAgICAg
KFFEZXNrdG9wV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
cXRvdWNod2VicGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmll
dy5jcHA6CisgICAgICAgIChRVG91Y2hXZWJWaWV3OjplbmFibGVEZXZlbG9wZXJFeHRyYXMpOgor
ICAgICAgICAoUVRvdWNoV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6
V2ViSW5zcGVjdG9yUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6
aW52YWxpZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3Blbik6CisgICAg
ICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JQYWdlVVJM
KToKKwogMjAxMS0wOC0yOSAgR29wYWwgUmFnaGF2YW4gIDxnb3BhbC4xLnJhZ2hhdmFuQG5va2lh
LmNvbT4KIAogICAgICAgICBbUXRdIFFEZXNrdG9wV2ViVmlldyB1cmwgcHJvcGVydHkgdGVzdCBt
aXNzaW5nCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQ
cm94eS5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykluc3BlY3RvclByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksMTEgKzI5LDExIEBACiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKIAogI2luY2x1ZGUgIldlYkluc3BlY3Rvck1lc3NhZ2VzLmgi
Ci0jaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycy5oIgorI2luY2x1ZGUgIldlYlBhZ2VHcm91cC5oIgorI2luY2x1ZGUgIldlYlBhZ2VQ
cm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vz
c1Byb3h5LmgiCi0jaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCiAKICNpZiBQTEFURk9STShXSU4p
CiAjaW5jbHVkZSAiV2ViVmlldy5oIgpAQCAtNzMsNiArNzMsMTAgQEAgV2ViSW5zcGVjdG9yUHJv
eHk6OldlYkluc3BlY3RvclByb3h5KFdlYgogI2lmIFBMQVRGT1JNKFdJTikKICAgICAsIG1faW5z
cGVjdG9yV2luZG93KDApCiAjZW5kaWYKKyNpZiBQTEFURk9STShRVCkKKyAgICAsIG1fdmlldygw
KQorICAgICwgbV9pbnNwZWN0b3JWaWV3KDApCisjZW5kaWYKIHsKIH0KIApAQCAtODYsNiArOTAs
MTAgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6aW52YWxpZGF0ZSgpCiAgICAgZGlkQ2xvc2Uo
KTsKIAogICAgIG1fcGFnZSA9IDA7CisjaWYgUExBVEZPUk0oUVQpCisgICAgbV9pbnNwZWN0b3JW
aWV3ID0gMDsKKyAgICBtX3ZpZXcgPSAwOworI2VuZGlmCiAKICAgICBtX2lzVmlzaWJsZSA9IGZh
bHNlOwogICAgIG1faXNEZWJ1Z2dpbmdKYXZhU2NyaXB0ID0gZmFsc2U7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAkocmV2aXNpb24gOTM2NTkp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDYsNiArNDYsMTIgQEAgT0JKQ19DTEFTUyBXZWJJbnNwZWN0b3JXS1ZpZXc7
CiAjaW5jbHVkZSA8V2ViQ29yZS9XaW5kb3dNZXNzYWdlTGlzdGVuZXIuaD4KICNlbmRpZgogCisj
aWYgUExBVEZPUk0oUVQpCitjbGFzcyBRU0dWaWV3OworY2xhc3MgUURlc2t0b3BXZWJWaWV3Owor
Y2xhc3MgUU9iamVjdDsKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2Vi
UGFnZUdyb3VwOwpAQCAtMTc0LDYgKzE4MCw5IEBAIHByaXZhdGU6CiAjZWxpZiBQTEFURk9STShX
SU4pCiAgICAgSFdORCBtX2luc3BlY3RvcldpbmRvdzsKICAgICBSZWZQdHI8V2ViVmlldz4gbV9p
bnNwZWN0b3JWaWV3OworI2VsaWYgUExBVEZPUk0oUVQpCisgICAgUVNHVmlldyogbV92aWV3Owor
ICAgIFFEZXNrdG9wV2ViVmlldyogbV9pbnNwZWN0b3JWaWV3OwogI2VuZGlmCiB9OwogCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZp
ZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsMTAgQEAK
ICNpbmNsdWRlIDxRdEd1aS9RVG91Y2hFdmVudD4KICNpbmNsdWRlIDxRdEd1aS9RV2hlZWxFdmVu
dD4KIAorI2luY2x1ZGUgPFdlYkluc3BlY3RvclByb3h5Lmg+CisjaW5jbHVkZSA8V2ViUGFnZUdy
b3VwLmg+CisjaW5jbHVkZSA8V2ViUHJlZmVyZW5jZXMuaD4KKwogUURlc2t0b3BXZWJWaWV3UHJp
dmF0ZTo6UURlc2t0b3BXZWJWaWV3UHJpdmF0ZShRRGVza3RvcFdlYlZpZXcqIHEsIFdLQ29udGV4
dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYpCiAgICAgOiBxKHEp
CiAgICAgLCBwYWdlKHRoaXMsIGNvbnRleHRSZWYgPyBuZXcgUVdLQ29udGV4dChjb250ZXh0UmVm
KSA6IGRlZmF1bHRXS0NvbnRleHQoKSwgcGFnZUdyb3VwUmVmKQpAQCAtMjk5LDYgKzMwMywyMiBA
QCB2b2lkIFFEZXNrdG9wV2ViVmlldzo6d2hlZWxFdmVudChRV2hlZWxFCiAgICAgdGhpcy0+ZXZl
bnQoJmdyYXBoaWNzRXZlbnQpOwogfQogCit2b2lkIFFEZXNrdG9wV2ViVmlldzo6ZW5hYmxlRGV2
ZWxvcGVyRXh0cmFzKGJvb2wgZW5hYmxlKQoreworICAgIFdLUGFnZUdyb3VwUmVmIG1fcGFnZUdy
b3VwUmVmID0gdG9BUEkodG9JbXBsKHBhZ2VSZWYoKSktPnBhZ2VHcm91cCgpKTsKKyAgICBXS1By
ZWZlcmVuY2VzUmVmIG1fcHJlZmVyZW5jZXMgPSB0b0FQSSh0b0ltcGwobV9wYWdlR3JvdXBSZWYp
LT5wcmVmZXJlbmNlcygpKTsKKyAgICB0b0ltcGwobV9wcmVmZXJlbmNlcyktPnNldERldmVsb3Bl
ckV4dHJhc0VuYWJsZWQoZW5hYmxlKTsKK30KKwordm9pZCBRRGVza3RvcFdlYlZpZXc6OnRvZ2ds
ZVdlYkluc3BlY3Rvcihib29sIGVuYWJsZSkKK3sKKyAgICBXS0luc3BlY3RvclJlZiBtX2luc3Bl
Y3RvciA9IHRvQVBJKHRvSW1wbChwYWdlUmVmKCkpLT5pbnNwZWN0b3IoKSk7CisgICAgaWYgKGVu
YWJsZSkKKyAgICAgICAgdG9JbXBsKG1faW5zcGVjdG9yKS0+c2hvdygpOworICAgIGVsc2UKKyAg
ICAgICAgdG9JbXBsKG1faW5zcGVjdG9yKS0+Y2xvc2UoKTsKK30KKwogdm9pZCBRRGVza3RvcFdl
YlZpZXc6OnRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqIGV2ZW50KQogewogICAgIHRoaXMtPmV2ZW50
KGV2ZW50KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3
ZWJ2aWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
ZGVza3RvcHdlYnZpZXcuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0
OCwxMCBAQCBuYW1lc3BhY2UgV1RSIHsKICAgICBjbGFzcyBXZWJWaWV3OwogfQogCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKyAgICBjbGFzcyBXZWJJbnNwZWN0b3JQcm94eTsKK30KKwogY2xhc3MgUVdF
QktJVF9FWFBPUlQgUURlc2t0b3BXZWJWaWV3IDogcHVibGljIFFTR1BhaW50ZWRJdGVtIHsKICAg
ICBRX09CSkVDVAogICAgIFFfUFJPUEVSVFkoUVN0cmluZyB0aXRsZSBSRUFEIHRpdGxlIE5PVElG
WSB0aXRsZUNoYW5nZWQpCkBAIC02Niw2ICs3MCw5IEBAIHB1YmxpYzoKICAgICBRRGVza3RvcFdl
YlZpZXcoUVNHSXRlbSogcGFyZW50ID0gMCk7CiAgICAgdmlydHVhbCB+UURlc2t0b3BXZWJWaWV3
KCk7CiAKKyAgICB2b2lkIGVuYWJsZURldmVsb3BlckV4dHJhcyhib29sIGVuYWJsZSk7CisgICAg
dm9pZCB0b2dnbGVXZWJJbnNwZWN0b3IoYm9vbCBlbmFibGUpOworICAgIAogICAgIFFVcmwgdXJs
KCkgY29uc3Q7CiAgICAgUVN0cmluZyB0aXRsZSgpIGNvbnN0OwogICAgIGludCBsb2FkUHJvZ3Jl
c3MoKSBjb25zdDsKQEAgLTExNCw2ICsxMjEsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBpbml0
KCk7CiAKKyAgICBmcmllbmQgY2xhc3MgV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTsKICAgICBm
cmllbmQgY2xhc3MgV1RSOjpXZWJWaWV3OwogICAgIGZyaWVuZCBjbGFzcyBRRGVza3RvcFdlYlZp
ZXdQcml2YXRlOwogICAgIFFEZXNrdG9wV2ViVmlld1ByaXZhdGUgKmQ7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaAkocmV2aXNpb24g
OTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEsNyBAQCBwcml2YXRlOgogICAgIFFfUFJJVkFU
RV9TTE9UKGQsIHZvaWQgX3FfY29tbWl0U2NhbGVDaGFuZ2UoKSk7CiAKICAgICBRVG91Y2hXZWJQ
YWdlUHJpdmF0ZSogZDsKKyAgICBmcmllbmQgY2xhc3MgUVRvdWNoV2ViVmlldzsKICAgICBmcmll
bmQgY2xhc3MgUVRvdWNoV2ViVmlld1ByaXZhdGU7CiAgICAgZnJpZW5kIGNsYXNzIFdlYktpdDo6
VG91Y2hWaWV3SW50ZXJmYWNlOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXRvdWNod2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiUXRXZWJQYWdlUHJveHkuaCIKICNpbmNs
dWRlICJXZWJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgorI2luY2x1
ZGUgPFdlYkluc3BlY3RvclByb3h5Lmg+CiAjaW5jbHVkZSA8cWdyYXBoaWNzc2NlbmVldmVudC5o
PgogCiBRVG91Y2hXZWJWaWV3UHJpdmF0ZTo6UVRvdWNoV2ViVmlld1ByaXZhdGUoUVRvdWNoV2Vi
VmlldyogcSkKQEAgLTExMSw0ICsxMTIsMjAgQEAgdm9pZCBRVG91Y2hXZWJWaWV3OjpnZW9tZXRy
eUNoYW5nZWQoY29ucwogICAgIH0KIH0KIAordm9pZCBRVG91Y2hXZWJWaWV3OjplbmFibGVEZXZl
bG9wZXJFeHRyYXMoYm9vbCBlbmFibGUpCit7CisgICAgV0tQYWdlR3JvdXBSZWYgbV9wYWdlR3Jv
dXBSZWYgPSB0b0FQSSh0b0ltcGwocGFnZSgpLT5kLT5wYWdlLT5wYWdlUmVmKCkpLT5wYWdlR3Jv
dXAoKSk7CisgICAgV0tQcmVmZXJlbmNlc1JlZiBtX3ByZWZlcmVuY2VzID0gdG9BUEkodG9JbXBs
KG1fcGFnZUdyb3VwUmVmKS0+cHJlZmVyZW5jZXMoKSk7CisgICAgdG9JbXBsKG1fcHJlZmVyZW5j
ZXMpLT5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGVuYWJsZSk7Cit9CisKK3ZvaWQgUVRvdWNo
V2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKGJvb2wgZW5hYmxlKQoreworICAgIFdLSW5zcGVj
dG9yUmVmIG1faW5zcGVjdG9yID0gdG9BUEkodG9JbXBsKHBhZ2UoKS0+ZC0+cGFnZS0+cGFnZVJl
ZigpKS0+aW5zcGVjdG9yKCkpOworICAgIGlmIChlbmFibGUpCisgICAgICAgIHRvSW1wbChtX2lu
c3BlY3RvciktPnNob3coKTsKKyAgICBlbHNlCisgICAgICAgIHRvSW1wbChtX2luc3BlY3Rvcikt
PmNsb3NlKCk7Cit9CisKICNpbmNsdWRlICJtb2NfcXRvdWNod2Vidmlldy5jcHAiCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAkocmV2
aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdl
YnZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgflFU
b3VjaFdlYlZpZXcoKTsKIAogICAgIFFUb3VjaFdlYlBhZ2UgKnBhZ2UoKTsKKyAgICB2b2lkIGVu
YWJsZURldmVsb3BlckV4dHJhcyhib29sIGVuYWJsZSk7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNw
ZWN0b3IoYm9vbCBlbmFibGUpOwogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGdlb21l
dHJ5Q2hhbmdlZChjb25zdCBRUmVjdEYmLCBjb25zdCBRUmVjdEYmKTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAJKHJl
dmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3Rv
clByb3h5UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwyOCArMjUsNTMgQEAKIAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3RvclByb3h5LmgiCisjaW5jbHVkZSAi
V2ViUHJvY2Vzc1Byb3h5LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCisjaW5jbHVkZSA8
UXREZWNsYXJhdGl2ZS9xc2d2aWV3Lmg+CisjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKIFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRl
SW5zcGVjdG9yUGFnZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsK
KyAgICBBU1NFUlQobV9wYWdlKTsKKyAgICBBU1NFUlQoIW1faW5zcGVjdG9yVmlldyk7CisgICAg
bV9pbnNwZWN0b3JWaWV3ID0gbmV3IFFEZXNrdG9wV2ViVmlldyh0b0FQSShwYWdlKCktPnByb2Nl
c3MoKS0+Y29udGV4dCgpKSwgdG9BUEkoaW5zcGVjdG9yUGFnZUdyb3VwKCkpKTsKKyAgICBBU1NF
UlQobV9pbnNwZWN0b3JWaWV3KTsKKyAgICBtX2luc3BlY3RvclZpZXctPnNldFgoMCk7CisgICAg
bV9pbnNwZWN0b3JWaWV3LT5zZXRZKDApOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0V2lkdGgo
aW5pdGlhbFdpbmRvd1dpZHRoKTsKKyAgICBtX2luc3BlY3RvclZpZXctPnNldEhlaWdodChpbml0
aWFsV2luZG93SGVpZ2h0KTsKKyAgICByZXR1cm4gdG9JbXBsKG1faW5zcGVjdG9yVmlldy0+cGFn
ZVJlZigpKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKCkKIHsK
LSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIEFTU0VSVCghbV92aWV3KTsKKyAgICBtX3ZpZXcg
PSBuZXcgUVNHVmlldygpOworICAgIEFTU0VSVChtX3ZpZXcpOworICAgIG1faW5zcGVjdG9yVmll
dy0+c2V0UGFyZW50SXRlbShtX3ZpZXctPnJvb3RJdGVtKCkpOworICAgIG1fdmlldy0+c2V0R2Vv
bWV0cnkoMCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93SGVpZ2h0KTsKKyAg
ICBtX3ZpZXctPnNob3coKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1E
aWRDbG9zZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBpZiAobV9pbnNwZWN0b3JW
aWV3KSB7CisgICAgICAgIGRlbGV0ZSBtX2luc3BlY3RvclZpZXc7CisgICAgICAgIG1faW5zcGVj
dG9yVmlldyA9IDA7CisgICAgfQorCisgICAgaWYgKG1fdmlldykgeworICAgICAgICBtX3ZpZXct
PmNsb3NlKCk7CisgICAgICAgIGRlbGV0ZSBtX3ZpZXc7CisgICAgICAgIG1fdmlldyA9IDA7Cisg
ICAgfQogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgp
CkBAIC01NCw5ICs3OSw5IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdU
b0YKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJikKK3ZvaWQgV2ViSW5zcGVj
dG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmIHVybCkK
IHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fdmlldy0+c2V0V2luZG93VGl0bGUoUU9i
amVjdDo6dHIoIldlYiBJbnNwZWN0b3IgLSAiKSArIFFPYmplY3Q6OnRyKHVybC51dGY4KCkuZGF0
YSgpKSk7CiB9CiAKIHVuc2lnbmVkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3Rl
ZFdpbmRvd0hlaWdodCgpCkBAIC04Miw4ICsxMDcsNyBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5
OjpwbGF0Zm9ybVNldEF0dGFjCiAKIFN0cmluZyBXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9y
UGFnZVVSTCgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gU3Ry
aW5nKCk7CisgICAgcmV0dXJuICgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rvci5odG1s
Iik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gOTQwMjgpCisrKyBUb29scy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wOC0yOSAgR2Vu
aXNpbSBUc2lsa2VyICA8Z2VuaXNpbUB5YWhvby5jb20+CisKKyAgICAgICAgQWRkIFdlYkluc3Bl
Y3RvciB0byBXZWJLaXQyIE1pbmlCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NDI5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwOgorICAg
ICAgICAoQnJvd3NlclZpZXc6OmVuYWJsZURldmVsb3BlckV4dHJhc01vZGUpOgorICAgICAgICAo
QnJvd3NlclZpZXc6OnRvZ2dsZVdlYkluc3BlY3Rvck1vZGUpOgorICAgICAgICAqIE1pbmlCcm93
c2VyL3F0L0Jyb3dzZXJWaWV3Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3Nlcldp
bmRvdy5jcHA6CisgICAgICAgIChCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KToKKyAgICAg
ICAgKEJyb3dzZXJXaW5kb3c6OnNldEVuYWJsZWRJbnZlcnQpOgorICAgICAgICAoQnJvd3Nlcldp
bmRvdzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZSk6CisgICAgICAgIChCcm93c2VyV2luZG93
Ojp0b2dnbGVXZWJJbnNwZWN0b3JNb2RlKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93
c2VyV2luZG93Lmg6CisKIDIwMTEtMDgtMjkgIFNoYXduIFNpbmdoICA8c2hhd25zaW5naEBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgU21hbGwgZml4IGluIGNocm9taXVtIHBvcnQgb2YgbmV3LXJ1
bi13ZWJraXQtdGVzdHMuCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwCShy
ZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsMjIgQEAgUURlc2t0b3BXZWJWaWV3KiBCcm93c2Vy
Vmlldzo6ZGVza3RvcFdlYgogICAgIHJldHVybiBxb2JqZWN0X2Nhc3Q8UURlc2t0b3BXZWJWaWV3
Kj4obV9pdGVtKTsKIH0KIAordm9pZCBCcm93c2VyVmlldzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFz
TW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZGVza3RvcFdlYlZpZXcoKSkKKyAgICAgICAg
ZGVza3RvcFdlYlZpZXcoKS0+ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKGVuYWJsZSk7CisgICAgZWxz
ZQorICAgICAgICB0b3VjaFdlYlZpZXcoKS0+ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKGVuYWJsZSk7
Cit9CisKK3ZvaWQgQnJvd3NlclZpZXc6OnRvZ2dsZVdlYkluc3BlY3Rvck1vZGUoYm9vbCBlbmFi
bGUpCit7CisgICAgaWYgKGRlc2t0b3BXZWJWaWV3KCkpCisgICAgICAgIGRlc2t0b3BXZWJWaWV3
KCktPnRvZ2dsZVdlYkluc3BlY3RvcihlbmFibGUpOworICAgIGVsc2UKKyAgICAgICAgdG91Y2hX
ZWJWaWV3KCktPnRvZ2dsZVdlYkluc3BlY3RvcihlbmFibGUpOworfQorCiBRQWN0aW9uKiBCcm93
c2VyVmlldzo6bmF2aWdhdGlvbkFjdGlvbihRdFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbiB3aGlj
aCkgY29uc3QKIHsKICAgICBpZiAoZGVza3RvcFdlYlZpZXcoKSkKSW5kZXg6IFRvb2xzL01pbmlC
cm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIv
cXQvQnJvd3NlclZpZXcuaAkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9x
dC9Ccm93c2VyVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw4IEBAIHB1YmxpYzoK
IAogICAgIFFUb3VjaFdlYlZpZXcqIHRvdWNoV2ViVmlldygpIGNvbnN0OwogICAgIFFEZXNrdG9w
V2ViVmlldyogZGVza3RvcFdlYlZpZXcoKSBjb25zdDsKKyAgICB2b2lkIHRvZ2dsZVdlYkluc3Bl
Y3Rvck1vZGUoYm9vbCBlbmFibGUpOworICAgIHZvaWQgZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9k
ZShib29sIGVuYWJsZSk7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVzaXplRXZl
bnQoUVJlc2l6ZUV2ZW50Kik7CkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2lu
ZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93
LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2lu
ZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDYgKzEwNCwyMCBAQCBCcm93c2VyV2luZG93
OjpCcm93c2VyV2luZG93KFdpbmRvd09wdGlvCiAgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoZW50
ZXJlZEZ1bGxTY3JlZW5Nb2RlKGJvb2wpKSwgdGhpcywgU0xPVCh0b2dnbGVGdWxsU2NyZWVuTW9k
ZShib29sKSkpOwogCiAgICAgUU1lbnUqIHRvb2xzTWVudSA9IG1lbnVCYXIoKS0+YWRkTWVudSgi
JkRldmVsb3AiKTsKKyAgICBlbmFibGVEZXZlbG9wZXJFeHRyYXMgPSB0b29sc01lbnUtPmFkZEFj
dGlvbigiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiLCB0aGlzLCBTSUdOQUwoZW50ZXJlZERldmVs
b3BlckV4dHJhc01vZGUoYm9vbCkpKTsKKyAgICBlbmFibGVEZXZlbG9wZXJFeHRyYXMtPnNldENo
ZWNrYWJsZSh0cnVlKTsKKyAgICBlbmFibGVEZXZlbG9wZXJFeHRyYXMtPnNldENoZWNrZWQoZmFs
c2UpOworICAgIGNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWREZXZlbG9wZXJFeHRyYXNNb2Rl
KGJvb2wpKSwgdGhpcywgU0xPVChlbmFibGVEZXZlbG9wZXJFeHRyYXNNb2RlKGJvb2wpKSk7Cisg
ICAgCisgICAgUUFjdGlvbiogdG9nZ2xlV2ViSW5zcGVjdG9yID0gdG9vbHNNZW51LT5hZGRBY3Rp
b24oIlNob3cgV2ViIEluc3BlY3RvciIsIHRoaXMsIFNJR05BTChlbnRlcmVkV2ViSW5zcGVjdG9y
TW9kZShib29sKSkpOworICAgIHRvZ2dsZVdlYkluc3BlY3Rvci0+c2V0Q2hlY2thYmxlKHRydWUp
OworICAgIHRvZ2dsZVdlYkluc3BlY3Rvci0+c2V0Q2hlY2tlZChmYWxzZSk7CisgICAgdG9nZ2xl
V2ViSW5zcGVjdG9yLT5zZXRFbmFibGVkKGZhbHNlKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0b3It
PmNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWREZXZlbG9wZXJFeHRyYXNNb2RlKGJvb2wpKSwg
U0xPVChzZXRFbmFibGVkKGJvb2wpKSk7CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5jb25uZWN0
KHRoaXMsIFNJR05BTChlbnRlcmVkV2ViSW5zcGVjdG9yTW9kZShib29sKSksIFNMT1Qoc2V0Q2hl
Y2tlZChib29sKSkpOworICAgIGVuYWJsZURldmVsb3BlckV4dHJhcy0+Y29ubmVjdCh0aGlzLCBT
SUdOQUwoZW50ZXJlZFdlYkluc3BlY3Rvck1vZGUoYm9vbCkpLCB0aGlzLCBTTE9UKHNldEVuYWJs
ZWRJbnZlcnQoYm9vbCkpKTsKKyAgICBjb25uZWN0KHRoaXMsIFNJR05BTChlbnRlcmVkV2ViSW5z
cGVjdG9yTW9kZShib29sKSksIHRoaXMsIFNMT1QodG9nZ2xlV2ViSW5zcGVjdG9yTW9kZShib29s
KSkpOworCiAgICAgdG9vbHNNZW51LT5hZGRBY3Rpb24oIkNoYW5nZSBVc2VyIEFnZW50IiwgdGhp
cywgU0xPVChzaG93VXNlckFnZW50RGlhbG9nKCkpKTsKICAgICB0b29sc01lbnUtPmFkZFNlcGFy
YXRvcigpOwogICAgIHRvb2xzTWVudS0+YWRkQWN0aW9uKCJMb2FkIFVSTHMgZnJvbSBmaWxlIiwg
dGhpcywgU0xPVChsb2FkVVJMTGlzdEZyb21GaWxlKCkpKTsKQEAgLTE1MSw2ICsxNjUsMTEgQEAg
QnJvd3NlcldpbmRvdyogQnJvd3NlcldpbmRvdzo6bmV3V2luZG93KAogICAgIHJldHVybiB3aW5k
b3c7CiB9CiAKK3ZvaWQgQnJvd3NlcldpbmRvdzo6c2V0RW5hYmxlZEludmVydChib29sIGVuYWJs
ZSkKK3sKKyAgICBlbmFibGVEZXZlbG9wZXJFeHRyYXMtPnNldEVuYWJsZWQoIWVuYWJsZSk7Cit9
CisKIHZvaWQgQnJvd3NlcldpbmRvdzo6b3BlbkxvY2F0aW9uKCkKIHsKICAgICBtX2FkZHJlc3NC
YXItPnNlbGVjdEFsbCgpOwpAQCAtMjMwLDYgKzI0OSwxNiBAQCB2b2lkIEJyb3dzZXJXaW5kb3c6
OnNjcmVlbnNob3QoKQogICAgIH0KIH0KIAordm9pZCBCcm93c2VyV2luZG93OjplbmFibGVEZXZl
bG9wZXJFeHRyYXNNb2RlKGJvb2wgZW5hYmxlKQoreworICAgIG1fYnJvd3Nlci0+ZW5hYmxlRGV2
ZWxvcGVyRXh0cmFzTW9kZShlbmFibGUpOworfQorCit2b2lkIEJyb3dzZXJXaW5kb3c6OnRvZ2ds
ZVdlYkluc3BlY3Rvck1vZGUoYm9vbCBlbmFibGUpCit7CisgICAgbV9icm93c2VyLT50b2dnbGVX
ZWJJbnNwZWN0b3JNb2RlKGVuYWJsZSk7Cit9CisKIHZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xl
RnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpCiB7CiAgICAgYm9vbCBhbHJlYWR5RW5hYmxlZCA9
IHdpbmRvd1N0YXRlKCkgJiBRdDo6V2luZG93RnVsbFNjcmVlbjsKSW5kZXg6IFRvb2xzL01pbmlC
cm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nl
ci9xdC9Ccm93c2VyV2luZG93LmgJKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dz
ZXIvcXQvQnJvd3NlcldpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw4IEBAIHB1
YmxpYyBzbG90czoKIAogc2lnbmFsczoKICAgICB2b2lkIGVudGVyZWRGdWxsU2NyZWVuTW9kZShi
b29sIG9uKTsKKyAgICB2b2lkIGVudGVyZWRXZWJJbnNwZWN0b3JNb2RlKGJvb2wgb24pOworICAg
IHZvaWQgZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9vbCBvbik7CiAKIHByb3RlY3RlZCBz
bG90czoKICAgICB2b2lkIGNoYW5nZUxvY2F0aW9uKCk7CkBAIC02Myw2ICs2NSw5IEBAIHByb3Rl
Y3RlZCBzbG90czoKICAgICB2b2lkIHNjcmVlbnNob3QoKTsKIAogICAgIHZvaWQgdG9nZ2xlRnVs
bFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpOworICAgIHZvaWQgZW5hYmxlRGV2ZWxvcGVyRXh0cmFz
TW9kZShib29sIGVuYWJsZSk7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3JNb2RlKGJvb2wg
ZW5hYmxlKTsKKyAgICB2b2lkIHNldEVuYWJsZWRJbnZlcnQoYm9vbCk7CiAKICAgICB2b2lkIHNo
b3dVc2VyQWdlbnREaWFsb2coKTsKIApAQCAtNzgsNiArODMsOCBAQCBwcml2YXRlOgogICAgIEJy
b3dzZXJWaWV3KiBtX2Jyb3dzZXI7CiAgICAgUUxpbmVFZGl0KiBtX2FkZHJlc3NCYXI7CiAgICAg
UVN0cmluZ0xpc3QgbV91c2VyQWdlbnRMaXN0OworICAgIAorICAgIFFBY3Rpb24qIGVuYWJsZURl
dmVsb3BlckV4dHJhczsKIH07CiAKICNlbmRpZgo=
</data>
<flag name="review"
          id="101734"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105562</attachid>
            <date>2011-08-29 19:05:40 -0700</date>
            <delta_ts>2011-08-30 15:36:50 -0700</delta_ts>
            <desc>Patch to add Web Inspector to WebKit2. Second variant - enableDeveloperExtras and toggleWebInspector implementation moves to the QtWebPageProxy</desc>
            <filename>Add_Web_Inspector_to_WebKit2_using_QtWebPageProxy.patch</filename>
            <type>text/plain</type>
            <size>16705</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MDM0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMDgtMjkgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcDoKKyAg
ICAgICAgKFFEZXNrdG9wV2ViVmlldzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKToKKyAgICAgICAg
KFFEZXNrdG9wV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
cXRvdWNod2VicGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmll
dy5jcHA6CisgICAgICAgIChRVG91Y2hXZWJWaWV3OjplbmFibGVEZXZlbG9wZXJFeHRyYXMpOgor
ICAgICAgICAoUVRvdWNoV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6
V2ViSW5zcGVjdG9yUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6
aW52YWxpZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFF0V2Vi
UGFnZVByb3h5OjpzZXRQYWdlSXNWaXNpYmxlKToKKyAgICAgICAgKFF0V2ViUGFnZVByb3h5Ojpl
bmFibGVEZXZlbG9wZXJFeHRyYXMpOiBlbmFibGVEZXZlbG9wZXJzRXh0cmEgaW1wbGVtZW50YXRp
b24KKyAgICAgICAgKFF0V2ViUGFnZVByb3h5Ojp0b2dnbGVXZWJJbnNwZWN0b3IpOiB0b2dnbGVX
ZWJJbnNwZWN0b3IgaW1wbGVtZW50YXRpb24KKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQ
YWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUlu
c3BlY3RvclBhZ2UpOiBnZXQgcGFnZSBmb3IgV2ViIEluc3BlY3RvcgorICAgICAgICAoV2ViS2l0
OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKTogc2hvdyBXZWIgSW5zcGVjdG9yCisg
ICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKTogY2xv
c2UgV2ViIEluc3BlY3RvcgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxh
dGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKTogU2V0IFdlYiBJbnNwZWN0b3IncyB3aW5kb3cgdGl0
bGUKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6Omluc3BlY3RvclBhZ2VVUkwp
OiBnZXQgV2ViIEluc3BlY3RvciByZXNvdXJjZXMKKwogMjAxMS0wOC0yOSAgR29wYWwgUmFnaGF2
YW4gIDxnb3BhbC4xLnJhZ2hhdmFuQG5va2lhLmNvbT4KIAogCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJKHJldmlzaW9uIDkzNjU5KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjksMTEgKzI5LDExIEBACiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAogI2lu
Y2x1ZGUgIldlYkluc3BlY3Rvck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiV2ViUGFnZVByb3h5Lmgi
CiAjaW5jbHVkZSAiV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIldlYlBh
Z2VHcm91cC5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZl
cmVuY2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCi0jaW5jbHVkZSAiV2ViUGFn
ZUdyb3VwLmgiCiAKICNpZiBQTEFURk9STShXSU4pCiAjaW5jbHVkZSAiV2ViVmlldy5oIgpAQCAt
NzMsNiArNzMsMTAgQEAgV2ViSW5zcGVjdG9yUHJveHk6OldlYkluc3BlY3RvclByb3h5KFdlYgog
I2lmIFBMQVRGT1JNKFdJTikKICAgICAsIG1faW5zcGVjdG9yV2luZG93KDApCiAjZW5kaWYKKyNp
ZiBQTEFURk9STShRVCkKKyAgICAsIG1fdmlldygwKQorICAgICwgbV9pbnNwZWN0b3JWaWV3KDAp
CisjZW5kaWYKIHsKIH0KIApAQCAtODYsNiArOTAsMTAgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94
eTo6aW52YWxpZGF0ZSgpCiAgICAgZGlkQ2xvc2UoKTsKIAogICAgIG1fcGFnZSA9IDA7CisjaWYg
UExBVEZPUk0oUVQpCisgICAgbV9pbnNwZWN0b3JWaWV3ID0gMDsKKyAgICBtX3ZpZXcgPSAwOwor
I2VuZGlmCiAKICAgICBtX2lzVmlzaWJsZSA9IGZhbHNlOwogICAgIG1faXNEZWJ1Z2dpbmdKYXZh
U2NyaXB0ID0gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViSW5zcGVjdG9yUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsMTIgQEAg
T0JKQ19DTEFTUyBXZWJJbnNwZWN0b3JXS1ZpZXc7CiAjaW5jbHVkZSA8V2ViQ29yZS9XaW5kb3dN
ZXNzYWdlTGlzdGVuZXIuaD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0oUVQpCitjbGFzcyBRU0dW
aWV3OworY2xhc3MgUURlc2t0b3BXZWJWaWV3OworY2xhc3MgUU9iamVjdDsKKyNlbmRpZgorCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZUdyb3VwOwpAQCAtMTc0LDYgKzE4MCw5
IEBAIHByaXZhdGU6CiAjZWxpZiBQTEFURk9STShXSU4pCiAgICAgSFdORCBtX2luc3BlY3Rvcldp
bmRvdzsKICAgICBSZWZQdHI8V2ViVmlldz4gbV9pbnNwZWN0b3JWaWV3OworI2VsaWYgUExBVEZP
Uk0oUVQpCisgICAgUVNHVmlldyogbV92aWV3OworICAgIFFEZXNrdG9wV2ViVmlldyogbV9pbnNw
ZWN0b3JWaWV3OwogI2VuZGlmCiB9OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjk5LDYgKzI5OSwxNiBAQCB2b2lkIFFEZXNrdG9wV2ViVmlldzo6d2hl
ZWxFdmVudChRV2hlZWxFCiAgICAgdGhpcy0+ZXZlbnQoJmdyYXBoaWNzRXZlbnQpOwogfQogCit2
b2lkIFFEZXNrdG9wV2ViVmlldzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKGJvb2wgZW5hYmxlKQor
eworICAgIGQtPnBhZ2UuZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKGVuYWJsZSk7Cit9CisKK3ZvaWQg
UURlc2t0b3BXZWJWaWV3Ojp0b2dnbGVXZWJJbnNwZWN0b3IoYm9vbCBlbmFibGUpCit7CisgICAg
ZC0+cGFnZS50b2dnbGVXZWJJbnNwZWN0b3IoZW5hYmxlKTsKK30KKwogdm9pZCBRRGVza3RvcFdl
YlZpZXc6OnRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqIGV2ZW50KQogewogICAgIHRoaXMtPmV2ZW50
KGV2ZW50KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3
ZWJ2aWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
ZGVza3RvcHdlYnZpZXcuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0
OCwxMCBAQCBuYW1lc3BhY2UgV1RSIHsKICAgICBjbGFzcyBXZWJWaWV3OwogfQogCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKyAgICBjbGFzcyBXZWJJbnNwZWN0b3JQcm94eTsKK30KKwogY2xhc3MgUVdF
QktJVF9FWFBPUlQgUURlc2t0b3BXZWJWaWV3IDogcHVibGljIFFTR1BhaW50ZWRJdGVtIHsKICAg
ICBRX09CSkVDVAogICAgIFFfUFJPUEVSVFkoUVN0cmluZyB0aXRsZSBSRUFEIHRpdGxlIE5PVElG
WSB0aXRsZUNoYW5nZWQpCkBAIC02Niw2ICs3MCw5IEBAIHB1YmxpYzoKICAgICBRRGVza3RvcFdl
YlZpZXcoUVNHSXRlbSogcGFyZW50ID0gMCk7CiAgICAgdmlydHVhbCB+UURlc2t0b3BXZWJWaWV3
KCk7CiAKKyAgICB2b2lkIGVuYWJsZURldmVsb3BlckV4dHJhcyhib29sIGVuYWJsZSk7CisgICAg
dm9pZCB0b2dnbGVXZWJJbnNwZWN0b3IoYm9vbCBlbmFibGUpOworICAgIAogICAgIFFVcmwgdXJs
KCkgY29uc3Q7CiAgICAgUVN0cmluZyB0aXRsZSgpIGNvbnN0OwogICAgIGludCBsb2FkUHJvZ3Jl
c3MoKSBjb25zdDsKQEAgLTExNCw2ICsxMjEsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBpbml0
KCk7CiAKKyAgICBmcmllbmQgY2xhc3MgV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTsKICAgICBm
cmllbmQgY2xhc3MgV1RSOjpXZWJWaWV3OwogICAgIGZyaWVuZCBjbGFzcyBRRGVza3RvcFdlYlZp
ZXdQcml2YXRlOwogICAgIFFEZXNrdG9wV2ViVmlld1ByaXZhdGUgKmQ7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaAkocmV2aXNpb24g
OTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEsNyBAQCBwcml2YXRlOgogICAgIFFfUFJJVkFU
RV9TTE9UKGQsIHZvaWQgX3FfY29tbWl0U2NhbGVDaGFuZ2UoKSk7CiAKICAgICBRVG91Y2hXZWJQ
YWdlUHJpdmF0ZSogZDsKKyAgICBmcmllbmQgY2xhc3MgUVRvdWNoV2ViVmlldzsKICAgICBmcmll
bmQgY2xhc3MgUVRvdWNoV2ViVmlld1ByaXZhdGU7CiAgICAgZnJpZW5kIGNsYXNzIFdlYktpdDo6
VG91Y2hWaWV3SW50ZXJmYWNlOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXRvdWNod2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTEsNCArMTExLDE0IEBAIHZvaWQgUVRvdWNoV2ViVmlldzo6Z2VvbWV0cnlDaGFu
Z2VkKGNvbnMKICAgICB9CiB9CiAKK3ZvaWQgUVRvdWNoV2ViVmlldzo6ZW5hYmxlRGV2ZWxvcGVy
RXh0cmFzKGJvb2wgZW5hYmxlKQoreworICAgIGQtPnBhZ2UuZW5hYmxlRGV2ZWxvcGVyRXh0cmFz
KGVuYWJsZSk7Cit9CisKK3ZvaWQgUVRvdWNoV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKGJv
b2wgZW5hYmxlKQoreworICAgIGQtPnBhZ2UudG9nZ2xlV2ViSW5zcGVjdG9yKGVuYWJsZSk7Cit9
CisKICNpbmNsdWRlICJtb2NfcXRvdWNod2Vidmlldy5jcHAiCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAkocmV2aXNpb24gOTM2NTkp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAkod29y
a2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgflFUb3VjaFdlYlZpZXco
KTsKIAogICAgIFFUb3VjaFdlYlBhZ2UgKnBhZ2UoKTsKKyAgICB2b2lkIGVuYWJsZURldmVsb3Bl
ckV4dHJhcyhib29sIGVuYWJsZSk7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3IoYm9vbCBl
bmFibGUpOwogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGdlb21ldHJ5Q2hhbmdlZChj
b25zdCBRUmVjdEYmLCBjb25zdCBRUmVjdEYmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01NCw2ICs1NCw5IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnRGF0YS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRl
ZC5oPgorI2luY2x1ZGUgPFdlYkluc3BlY3RvclByb3h5Lmg+CisjaW5jbHVkZSA8V2ViUGFnZUdy
b3VwLmg+CisjaW5jbHVkZSA8V2ViUHJlZmVyZW5jZXMuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dL
RnJhbWUuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLUGFnZUdyb3VwLmg+CiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS1JldGFpblB0ci5oPgpAQCAtNzM0LDQgKzczNywyMCBAQCB2b2lkIFF0V2ViUGFnZVBy
b3h5OjpzZXRQYWdlSXNWaXNpYmxlKGJvCiAgICAgbV93ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVh
KCktPnNldFBhZ2VJc1Zpc2libGUoaXNWaXNpYmxlKTsKIH0KIAordm9pZCBRdFdlYlBhZ2VQcm94
eTo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKGJvb2wgZW5hYmxlKQoreworICAgIFdLUGFnZUdyb3Vw
UmVmIG1fcGFnZUdyb3VwUmVmID0gdG9BUEkodG9JbXBsKHBhZ2VSZWYoKSktPnBhZ2VHcm91cCgp
KTsKKyAgICBXS1ByZWZlcmVuY2VzUmVmIG1fcHJlZmVyZW5jZXMgPSB0b0FQSSh0b0ltcGwobV9w
YWdlR3JvdXBSZWYpLT5wcmVmZXJlbmNlcygpKTsKKyAgICB0b0ltcGwobV9wcmVmZXJlbmNlcykt
PnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoZW5hYmxlKTsKK30KKwordm9pZCBRdFdlYlBhZ2VQ
cm94eTo6dG9nZ2xlV2ViSW5zcGVjdG9yKGJvb2wgZW5hYmxlKQoreworICAgIFdLSW5zcGVjdG9y
UmVmIG1faW5zcGVjdG9yID0gdG9BUEkodG9JbXBsKHBhZ2VSZWYoKSktPmluc3BlY3RvcigpKTsK
KyAgICBpZiAoZW5hYmxlKQorICAgICAgICB0b0ltcGwobV9pbnNwZWN0b3IpLT5zaG93KCk7Cisg
ICAgZWxzZQorICAgICAgICB0b0ltcGwobV9pbnNwZWN0b3IpLT5jbG9zZSgpOworfQorCiAjaW5j
bHVkZSAibW9jX1F0V2ViUGFnZVByb3h5LmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
NTcsNiArMTU3LDkgQEAgcHVibGljOgogCiAgICAgUVN0cmluZyB0aXRsZSgpIGNvbnN0OwogCisg
ICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3IoYm9vbCBlbmFibGUpOworICAgIHZvaWQgZW5hYmxl
RGV2ZWxvcGVyRXh0cmFzKGJvb2wgZW5hYmxlKTsKKyAgICAKICAgICBRQWN0aW9uKiBuYXZpZ2F0
aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uKSBjb25zdDsKIAogICAgIFFBY3Rp
b24qIGFjdGlvbihXZWJBY3Rpb24gYWN0aW9uKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAJKHJldmlzaW9u
IDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5
UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwyOCArMjUsNTMgQEAKIAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3RvclByb3h5LmgiCisjaW5jbHVkZSAiV2ViUHJv
Y2Vzc1Byb3h5LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCisjaW5jbHVkZSA8UXREZWNs
YXJhdGl2ZS9xc2d2aWV3Lmg+CisjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKIFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVj
dG9yUGFnZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICBB
U1NFUlQobV9wYWdlKTsKKyAgICBBU1NFUlQoIW1faW5zcGVjdG9yVmlldyk7CisgICAgbV9pbnNw
ZWN0b3JWaWV3ID0gbmV3IFFEZXNrdG9wV2ViVmlldyh0b0FQSShwYWdlKCktPnByb2Nlc3MoKS0+
Y29udGV4dCgpKSwgdG9BUEkoaW5zcGVjdG9yUGFnZUdyb3VwKCkpKTsKKyAgICBBU1NFUlQobV9p
bnNwZWN0b3JWaWV3KTsKKyAgICBtX2luc3BlY3RvclZpZXctPnNldFgoMCk7CisgICAgbV9pbnNw
ZWN0b3JWaWV3LT5zZXRZKDApOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0V2lkdGgoaW5pdGlh
bFdpbmRvd1dpZHRoKTsKKyAgICBtX2luc3BlY3RvclZpZXctPnNldEhlaWdodChpbml0aWFsV2lu
ZG93SGVpZ2h0KTsKKyAgICByZXR1cm4gdG9JbXBsKG1faW5zcGVjdG9yVmlldy0+cGFnZVJlZigp
KTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKCkKIHsKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIEFTU0VSVCghbV92aWV3KTsKKyAgICBtX3ZpZXcgPSBuZXcg
UVNHVmlldygpOworICAgIEFTU0VSVChtX3ZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0
UGFyZW50SXRlbShtX3ZpZXctPnJvb3RJdGVtKCkpOworICAgIG1fdmlldy0+c2V0R2VvbWV0cnko
MCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93SGVpZ2h0KTsKKyAgICBtX3Zp
ZXctPnNob3coKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1EaWRDbG9z
ZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBpZiAobV9pbnNwZWN0b3JWaWV3KSB7
CisgICAgICAgIGRlbGV0ZSBtX2luc3BlY3RvclZpZXc7CisgICAgICAgIG1faW5zcGVjdG9yVmll
dyA9IDA7CisgICAgfQorCisgICAgaWYgKG1fdmlldykgeworICAgICAgICBtX3ZpZXctPmNsb3Nl
KCk7CisgICAgICAgIGRlbGV0ZSBtX3ZpZXc7CisgICAgICAgIG1fdmlldyA9IDA7CisgICAgfQog
fQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpCkBAIC01
NCw5ICs3OSw5IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0YKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9y
bUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJikKK3ZvaWQgV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmIHVybCkKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fdmlldy0+c2V0V2luZG93VGl0bGUoUU9iamVjdDo6
dHIoIldlYiBJbnNwZWN0b3IgLSAiKSArIFFPYmplY3Q6OnRyKHVybC51dGY4KCkuZGF0YSgpKSk7
CiB9CiAKIHVuc2lnbmVkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFdpbmRv
d0hlaWdodCgpCkBAIC04Miw4ICsxMDcsNyBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0
Zm9ybVNldEF0dGFjCiAKIFN0cmluZyBXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yUGFnZVVS
TCgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gU3RyaW5nKCk7
CisgICAgcmV0dXJuICgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rvci5odG1sIik7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gOTQwMzQpCisrKyBUb29scy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAxMS0wOC0yOSAgR2VuaXNpbSBU
c2lsa2VyICA8Z2VuaXNpbUB5YWhvby5jb20+CisKKyAgICAgICAgQWRkIFdlYkluc3BlY3RvciB0
byBXZWJLaXQyIE1pbmlCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NDI5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwOgorICAgICAgICAo
QnJvd3NlclZpZXc6OmVuYWJsZURldmVsb3BlckV4dHJhc01vZGUpOgorICAgICAgICAoQnJvd3Nl
clZpZXc6OnRvZ2dsZVdlYkluc3BlY3Rvck1vZGUpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0
L0Jyb3dzZXJWaWV3Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5j
cHA6CisgICAgICAgIChCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KToKKyAgICAgICAgKEJy
b3dzZXJXaW5kb3c6OnNldEVuYWJsZWRJbnZlcnQpOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6
c2NyZWVuc2hvdCk6CisgICAgICAgIChCcm93c2VyV2luZG93OjplbmFibGVEZXZlbG9wZXJFeHRy
YXNNb2RlKTogZmlyc3QgZW5hYmxlIERldmVsb3BlckV4dHJhcywgYW5kIGFmdGVyIHRvZ2dsZSBX
ZWIgSW5zcGVjdG9yCisgICAgICAgIChCcm93c2VyV2luZG93Ojp0b2dnbGVXZWJJbnNwZWN0b3JN
b2RlKTogY2hlY2sgYm94IHVuYXZhaWxhYmxlIHdoZW4gRGV2ZWxvcGVyRXh0cmFzIG5vdCBlbmFi
bGVkCisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oOgorCiAyMDExLTA4
LTI5ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHN1cHBv
cnQgZm9yIGNob21pdW0tbWFjIChub24tQ29yZUdyYXBoaWNzKSBiYXNlbGluZXMKSW5kZXg6IFRv
b2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9N
aW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMv
TWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Niw2ICs4
NiwyMiBAQCBRRGVza3RvcFdlYlZpZXcqIEJyb3dzZXJWaWV3OjpkZXNrdG9wV2ViCiAgICAgcmV0
dXJuIHFvYmplY3RfY2FzdDxRRGVza3RvcFdlYlZpZXcqPihtX2l0ZW0pOwogfQogCit2b2lkIEJy
b3dzZXJWaWV3OjplbmFibGVEZXZlbG9wZXJFeHRyYXNNb2RlKGJvb2wgZW5hYmxlKQoreworICAg
IGlmIChkZXNrdG9wV2ViVmlldygpKQorICAgICAgICBkZXNrdG9wV2ViVmlldygpLT5lbmFibGVE
ZXZlbG9wZXJFeHRyYXMoZW5hYmxlKTsKKyAgICBlbHNlCisgICAgICAgIHRvdWNoV2ViVmlldygp
LT5lbmFibGVEZXZlbG9wZXJFeHRyYXMoZW5hYmxlKTsKK30KKwordm9pZCBCcm93c2VyVmlldzo6
dG9nZ2xlV2ViSW5zcGVjdG9yTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZGVza3RvcFdl
YlZpZXcoKSkKKyAgICAgICAgZGVza3RvcFdlYlZpZXcoKS0+dG9nZ2xlV2ViSW5zcGVjdG9yKGVu
YWJsZSk7CisgICAgZWxzZQorICAgICAgICB0b3VjaFdlYlZpZXcoKS0+dG9nZ2xlV2ViSW5zcGVj
dG9yKGVuYWJsZSk7Cit9CisKIFFBY3Rpb24qIEJyb3dzZXJWaWV3OjpuYXZpZ2F0aW9uQWN0aW9u
KFF0V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uIHdoaWNoKSBjb25zdAogewogICAgIGlmIChkZXNr
dG9wV2ViVmlldygpKQpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oCShyZXZpc2lv
biA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUwLDYgKzUwLDggQEAgcHVibGljOgogCiAgICAgUVRvdWNoV2ViVmlldyogdG91
Y2hXZWJWaWV3KCkgY29uc3Q7CiAgICAgUURlc2t0b3BXZWJWaWV3KiBkZXNrdG9wV2ViVmlldygp
IGNvbnN0OworICAgIHZvaWQgdG9nZ2xlV2ViSW5zcGVjdG9yTW9kZShib29sIGVuYWJsZSk7Cisg
ICAgdm9pZCBlbmFibGVEZXZlbG9wZXJFeHRyYXNNb2RlKGJvb2wgZW5hYmxlKTsKIAogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCByZXNpemVFdmVudChRUmVzaXplRXZlbnQqKTsKSW5kZXg6
IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysr
IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDQsNiArMTA0LDIwIEBAIEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3coV2luZG93T3B0
aW8KICAgICBjb25uZWN0KHRoaXMsIFNJR05BTChlbnRlcmVkRnVsbFNjcmVlbk1vZGUoYm9vbCkp
LCB0aGlzLCBTTE9UKHRvZ2dsZUZ1bGxTY3JlZW5Nb2RlKGJvb2wpKSk7CiAKICAgICBRTWVudSog
dG9vbHNNZW51ID0gbWVudUJhcigpLT5hZGRNZW51KCImRGV2ZWxvcCIpOworICAgIGVuYWJsZURl
dmVsb3BlckV4dHJhcyA9IHRvb2xzTWVudS0+YWRkQWN0aW9uKCJFbmFibGUgRGV2ZWxvcGVyIEV4
dHJhcyIsIHRoaXMsIFNJR05BTChlbnRlcmVkRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sKSkpOwor
ICAgIGVuYWJsZURldmVsb3BlckV4dHJhcy0+c2V0Q2hlY2thYmxlKHRydWUpOworICAgIGVuYWJs
ZURldmVsb3BlckV4dHJhcy0+c2V0Q2hlY2tlZChmYWxzZSk7CisgICAgY29ubmVjdCh0aGlzLCBT
SUdOQUwoZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpLCB0aGlzLCBTTE9UKGVuYWJs
ZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpKTsKKyAgICAKKyAgICBRQWN0aW9uKiB0b2dnbGVX
ZWJJbnNwZWN0b3IgPSB0b29sc01lbnUtPmFkZEFjdGlvbigiU2hvdyBXZWIgSW5zcGVjdG9yIiwg
dGhpcywgU0lHTkFMKGVudGVyZWRXZWJJbnNwZWN0b3JNb2RlKGJvb2wpKSk7CisgICAgdG9nZ2xl
V2ViSW5zcGVjdG9yLT5zZXRDaGVja2FibGUodHJ1ZSk7CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9y
LT5zZXRDaGVja2VkKGZhbHNlKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPnNldEVuYWJsZWQo
ZmFsc2UpOworICAgIHRvZ2dsZVdlYkluc3BlY3Rvci0+Y29ubmVjdCh0aGlzLCBTSUdOQUwoZW50
ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpLCBTTE9UKHNldEVuYWJsZWQoYm9vbCkpKTsK
KyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPmNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRXZWJJ
bnNwZWN0b3JNb2RlKGJvb2wpKSwgU0xPVChzZXRDaGVja2VkKGJvb2wpKSk7CisgICAgZW5hYmxl
RGV2ZWxvcGVyRXh0cmFzLT5jb25uZWN0KHRoaXMsIFNJR05BTChlbnRlcmVkV2ViSW5zcGVjdG9y
TW9kZShib29sKSksIHRoaXMsIFNMT1Qoc2V0RW5hYmxlZEludmVydChib29sKSkpOworICAgIGNv
bm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRXZWJJbnNwZWN0b3JNb2RlKGJvb2wpKSwgdGhpcywg
U0xPVCh0b2dnbGVXZWJJbnNwZWN0b3JNb2RlKGJvb2wpKSk7CisKICAgICB0b29sc01lbnUtPmFk
ZEFjdGlvbigiQ2hhbmdlIFVzZXIgQWdlbnQiLCB0aGlzLCBTTE9UKHNob3dVc2VyQWdlbnREaWFs
b2coKSkpOwogICAgIHRvb2xzTWVudS0+YWRkU2VwYXJhdG9yKCk7CiAgICAgdG9vbHNNZW51LT5h
ZGRBY3Rpb24oIkxvYWQgVVJMcyBmcm9tIGZpbGUiLCB0aGlzLCBTTE9UKGxvYWRVUkxMaXN0RnJv
bUZpbGUoKSkpOwpAQCAtMTUxLDYgKzE2NSwxMSBAQCBCcm93c2VyV2luZG93KiBCcm93c2VyV2lu
ZG93OjpuZXdXaW5kb3coCiAgICAgcmV0dXJuIHdpbmRvdzsKIH0KIAordm9pZCBCcm93c2VyV2lu
ZG93OjpzZXRFbmFibGVkSW52ZXJ0KGJvb2wgZW5hYmxlKQoreworICAgIGVuYWJsZURldmVsb3Bl
ckV4dHJhcy0+c2V0RW5hYmxlZCghZW5hYmxlKTsKK30KKwogdm9pZCBCcm93c2VyV2luZG93Ojpv
cGVuTG9jYXRpb24oKQogewogICAgIG1fYWRkcmVzc0Jhci0+c2VsZWN0QWxsKCk7CkBAIC0yMzAs
NiArMjQ5LDE2IEBAIHZvaWQgQnJvd3NlcldpbmRvdzo6c2NyZWVuc2hvdCgpCiAgICAgfQogfQog
Cit2b2lkIEJyb3dzZXJXaW5kb3c6OmVuYWJsZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCBlbmFi
bGUpCit7CisgICAgbV9icm93c2VyLT5lbmFibGVEZXZlbG9wZXJFeHRyYXNNb2RlKGVuYWJsZSk7
Cit9CisKK3ZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlV2ViSW5zcGVjdG9yTW9kZShib29sIGVu
YWJsZSkKK3sKKyAgICBtX2Jyb3dzZXItPnRvZ2dsZVdlYkluc3BlY3Rvck1vZGUoZW5hYmxlKTsK
K30KKwogdm9pZCBCcm93c2VyV2luZG93Ojp0b2dnbGVGdWxsU2NyZWVuTW9kZShib29sIGVuYWJs
ZSkKIHsKICAgICBib29sIGFscmVhZHlFbmFibGVkID0gd2luZG93U3RhdGUoKSAmIFF0OjpXaW5k
b3dGdWxsU2NyZWVuOwpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAkocmV2
aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHdv
cmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDggQEAgcHVibGljIHNsb3RzOgogCiBzaWduYWxzOgog
ICAgIHZvaWQgZW50ZXJlZEZ1bGxTY3JlZW5Nb2RlKGJvb2wgb24pOworICAgIHZvaWQgZW50ZXJl
ZFdlYkluc3BlY3Rvck1vZGUoYm9vbCBvbik7CisgICAgdm9pZCBlbnRlcmVkRGV2ZWxvcGVyRXh0
cmFzTW9kZShib29sIG9uKTsKIAogcHJvdGVjdGVkIHNsb3RzOgogICAgIHZvaWQgY2hhbmdlTG9j
YXRpb24oKTsKQEAgLTYzLDYgKzY1LDkgQEAgcHJvdGVjdGVkIHNsb3RzOgogICAgIHZvaWQgc2Ny
ZWVuc2hvdCgpOwogCiAgICAgdm9pZCB0b2dnbGVGdWxsU2NyZWVuTW9kZShib29sIGVuYWJsZSk7
CisgICAgdm9pZCBlbmFibGVEZXZlbG9wZXJFeHRyYXNNb2RlKGJvb2wgZW5hYmxlKTsKKyAgICB2
b2lkIHRvZ2dsZVdlYkluc3BlY3Rvck1vZGUoYm9vbCBlbmFibGUpOworICAgIHZvaWQgc2V0RW5h
YmxlZEludmVydChib29sKTsKIAogICAgIHZvaWQgc2hvd1VzZXJBZ2VudERpYWxvZygpOwogCkBA
IC03OCw2ICs4Myw4IEBAIHByaXZhdGU6CiAgICAgQnJvd3NlclZpZXcqIG1fYnJvd3NlcjsKICAg
ICBRTGluZUVkaXQqIG1fYWRkcmVzc0JhcjsKICAgICBRU3RyaW5nTGlzdCBtX3VzZXJBZ2VudExp
c3Q7CisgICAgCisgICAgUUFjdGlvbiogZW5hYmxlRGV2ZWxvcGVyRXh0cmFzOwogfTsKIAogI2Vu
ZGlmCg==
</data>
<flag name="review"
          id="101761"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105709</attachid>
            <date>2011-08-30 15:36:50 -0700</date>
            <delta_ts>2011-08-30 18:06:13 -0700</delta_ts>
            <desc>Patch to add Web Inspector to WebKit2 updated. using smart pointers OwnPtr, removed m_ prefix for local variable, added more info to ChangeLog&apos;s</desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>17305</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MTEyKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMDgtMzAgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnRlZCBRdCBwbGF0Zm9ybSBtZXRob2RzIGZvciBXZWIgSW5z
cGVjdG9yCisgICAgICAgIE9uZSB3aWxsIGFjdGl2YXRlIFdlYiBJbnNwZWN0b3IgZnJvbSBxZGVz
a3RvcHdlYnZpZXcKKyAgICAgICAgYW5kIHF0b3VjaHdlYnZpZXcgdmlld3MuIFdpdGggY3VycmVu
dCBwYXRjaCBXZWIgSW5zcGVjdG9yCisgICAgICAgIGZvciBib3RoIGNhc2VzIHVzaW5nIHFkZXNr
dG9wd2VidmlldworICAgICAgICAiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiIGFuZCAiVG9nZ2xl
IFdlYkluc3BlY3RvciIgZmVhdHVyZXMKKyAgICAgICAgaW1wbGVtZW50ZWQgaW4gUXRXZWJQYWdl
UHJveHkgY29tbW9uIGZvciBib3RoIHZpZXdzCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0
L3FkZXNrdG9wd2Vidmlldy5jcHA6CisgICAgICAgIChRRGVza3RvcFdlYlZpZXc6OmVuYWJsZURl
dmVsb3BlckV4dHJhcyk6CisgICAgICAgIChRRGVza3RvcFdlYlZpZXc6OnRvZ2dsZVdlYkluc3Bl
Y3Rvcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwOgorICAgICAgICAoUVRvdWNoV2ViVmlldzo6
ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKToKKyAgICAgICAgKFFUb3VjaFdlYlZpZXc6OnRvZ2dsZVdl
Ykluc3BlY3Rvcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoUXRXZWJQYWdlUHJveHk6OnNldFBhZ2VJc1Zpc2li
bGUpOgorICAgICAgICAoUXRXZWJQYWdlUHJveHk6OmVuYWJsZURldmVsb3BlckV4dHJhcyk6Cisg
ICAgICAgIChRdFdlYlBhZ2VQcm94eTo6dG9nZ2xlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2Vi
SW5zcGVjdG9yUHJveHlRdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5
OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNw
ZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKTogc3RhcnRzIFdlYiBJbnNwZWN0b3IKKyAgICAgICAg
KFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGlkQ2xvc2UpOiBjbG9zZSBXZWIg
SW5zcGVjdG9yCisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUlu
c3BlY3RlZFVSTENoYW5nZWQpOiBTZXQgV2ViIEluc3BlY3RvciB3aW5kb3dzIHRpdGxlCisgICAg
ICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JQYWdlVVJMKTogZ2V0IFdl
YiBJbnNwZWN0b3IgVUkKKwogMjAxMS0wOC0yOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBEdW1wUmVuZGVyVHJlZSBzaG91bGQgYmVnaW4gZWFjaCB0ZXN0
IHdpdGggYW4gZW1wdHkgY29va2llIHN0b3JlCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjksMTEgKzI5LDExIEBACiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAogI2luY2x1ZGUgIldl
Ykluc3BlY3Rvck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVk
ZSAiV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIldlYlBhZ2VHcm91cC5o
IgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCi0jaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgi
CiAKICNpZiBQTEFURk9STShXSU4pCiAjaW5jbHVkZSAiV2ViVmlldy5oIgpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgJKHJldmlzaW9uIDkzNjU5
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDcgKzMwLDExIEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNp
bmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+CisjaW5j
bHVkZSA8cXNndmlldy5oPiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00Niw2ICs1MCwxMSBA
QCBPQkpDX0NMQVNTIFdlYkluc3BlY3RvcldLVmlldzsKICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRv
d01lc3NhZ2VMaXN0ZW5lci5oPgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKK2NsYXNzIFFE
ZXNrdG9wV2ViVmlldzsKK2NsYXNzIFFPYmplY3Q7CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIFdlYlBhZ2VHcm91cDsKQEAgLTE3NCw2ICsxODMsOSBAQCBwcml2YXRlOgog
I2VsaWYgUExBVEZPUk0oV0lOKQogICAgIEhXTkQgbV9pbnNwZWN0b3JXaW5kb3c7CiAgICAgUmVm
UHRyPFdlYlZpZXc+IG1faW5zcGVjdG9yVmlldzsKKyNlbGlmIFBMQVRGT1JNKFFUKQorICAgIE93
blB0cjxRRGVza3RvcFdlYlZpZXc+IG1faW5zcGVjdG9yVmlldzsKKyAgICBPd25QdHI8UVNHVmll
dz4gbV92aWV3OwogI2VuZGlmCiB9OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjk5LDYgKzI5OSwxNiBAQCB2b2lkIFFEZXNrdG9wV2ViVmlldzo6d2hl
ZWxFdmVudChRV2hlZWxFCiAgICAgdGhpcy0+ZXZlbnQoJmdyYXBoaWNzRXZlbnQpOwogfQogCit2
b2lkIFFEZXNrdG9wV2ViVmlldzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKGJvb2wgZW5hYmxlKQor
eworICAgIGQtPnBhZ2UuZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKGVuYWJsZSk7Cit9CisKK3ZvaWQg
UURlc2t0b3BXZWJWaWV3Ojp0b2dnbGVXZWJJbnNwZWN0b3IoYm9vbCBlbmFibGUpCit7CisgICAg
ZC0+cGFnZS50b2dnbGVXZWJJbnNwZWN0b3IoZW5hYmxlKTsKK30KKwogdm9pZCBRRGVza3RvcFdl
YlZpZXc6OnRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqIGV2ZW50KQogewogICAgIHRoaXMtPmV2ZW50
KGV2ZW50KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3
ZWJ2aWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
ZGVza3RvcHdlYnZpZXcuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0
OCwxMCBAQCBuYW1lc3BhY2UgV1RSIHsKICAgICBjbGFzcyBXZWJWaWV3OwogfQogCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKyAgICBjbGFzcyBXZWJJbnNwZWN0b3JQcm94eTsKK30KKwogY2xhc3MgUVdF
QktJVF9FWFBPUlQgUURlc2t0b3BXZWJWaWV3IDogcHVibGljIFFTR1BhaW50ZWRJdGVtIHsKICAg
ICBRX09CSkVDVAogICAgIFFfUFJPUEVSVFkoUVN0cmluZyB0aXRsZSBSRUFEIHRpdGxlIE5PVElG
WSB0aXRsZUNoYW5nZWQpCkBAIC02Niw2ICs3MCw5IEBAIHB1YmxpYzoKICAgICBRRGVza3RvcFdl
YlZpZXcoUVNHSXRlbSogcGFyZW50ID0gMCk7CiAgICAgdmlydHVhbCB+UURlc2t0b3BXZWJWaWV3
KCk7CiAKKyAgICB2b2lkIGVuYWJsZURldmVsb3BlckV4dHJhcyhib29sIGVuYWJsZSk7CisgICAg
dm9pZCB0b2dnbGVXZWJJbnNwZWN0b3IoYm9vbCBlbmFibGUpOworICAgIAogICAgIFFVcmwgdXJs
KCkgY29uc3Q7CiAgICAgUVN0cmluZyB0aXRsZSgpIGNvbnN0OwogICAgIGludCBsb2FkUHJvZ3Jl
c3MoKSBjb25zdDsKQEAgLTExNCw2ICsxMjEsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBpbml0
KCk7CiAKKyAgICBmcmllbmQgY2xhc3MgV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTsKICAgICBm
cmllbmQgY2xhc3MgV1RSOjpXZWJWaWV3OwogICAgIGZyaWVuZCBjbGFzcyBRRGVza3RvcFdlYlZp
ZXdQcml2YXRlOwogICAgIFFEZXNrdG9wV2ViVmlld1ByaXZhdGUgKmQ7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaAkocmV2aXNpb24g
OTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEsNyBAQCBwcml2YXRlOgogICAgIFFfUFJJVkFU
RV9TTE9UKGQsIHZvaWQgX3FfY29tbWl0U2NhbGVDaGFuZ2UoKSk7CiAKICAgICBRVG91Y2hXZWJQ
YWdlUHJpdmF0ZSogZDsKKyAgICBmcmllbmQgY2xhc3MgUVRvdWNoV2ViVmlldzsKICAgICBmcmll
bmQgY2xhc3MgUVRvdWNoV2ViVmlld1ByaXZhdGU7CiAgICAgZnJpZW5kIGNsYXNzIFdlYktpdDo6
VG91Y2hWaWV3SW50ZXJmYWNlOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXRvdWNod2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTEsNCArMTExLDE0IEBAIHZvaWQgUVRvdWNoV2ViVmlldzo6Z2VvbWV0cnlDaGFu
Z2VkKGNvbnMKICAgICB9CiB9CiAKK3ZvaWQgUVRvdWNoV2ViVmlldzo6ZW5hYmxlRGV2ZWxvcGVy
RXh0cmFzKGJvb2wgZW5hYmxlKQoreworICAgIGQtPnBhZ2UuZW5hYmxlRGV2ZWxvcGVyRXh0cmFz
KGVuYWJsZSk7Cit9CisKK3ZvaWQgUVRvdWNoV2ViVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yKGJv
b2wgZW5hYmxlKQoreworICAgIGQtPnBhZ2UudG9nZ2xlV2ViSW5zcGVjdG9yKGVuYWJsZSk7Cit9
CisKICNpbmNsdWRlICJtb2NfcXRvdWNod2Vidmlldy5jcHAiCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAkocmV2aXNpb24gOTM2NTkp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAkod29y
a2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgflFUb3VjaFdlYlZpZXco
KTsKIAogICAgIFFUb3VjaFdlYlBhZ2UgKnBhZ2UoKTsKKyAgICB2b2lkIGVuYWJsZURldmVsb3Bl
ckV4dHJhcyhib29sIGVuYWJsZSk7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3IoYm9vbCBl
bmFibGUpOwogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGdlb21ldHJ5Q2hhbmdlZChj
b25zdCBRUmVjdEYmLCBjb25zdCBRUmVjdEYmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01NCw2ICs1NCw5IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnRGF0YS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRl
ZC5oPgorI2luY2x1ZGUgPFdlYkluc3BlY3RvclByb3h5Lmg+CisjaW5jbHVkZSA8V2ViUGFnZUdy
b3VwLmg+CisjaW5jbHVkZSA8V2ViUHJlZmVyZW5jZXMuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dL
RnJhbWUuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLUGFnZUdyb3VwLmg+CiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS1JldGFpblB0ci5oPgpAQCAtNzM0LDQgKzczNywyMCBAQCB2b2lkIFF0V2ViUGFnZVBy
b3h5OjpzZXRQYWdlSXNWaXNpYmxlKGJvCiAgICAgbV93ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVh
KCktPnNldFBhZ2VJc1Zpc2libGUoaXNWaXNpYmxlKTsKIH0KIAordm9pZCBRdFdlYlBhZ2VQcm94
eTo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKGJvb2wgZW5hYmxlKQoreworICAgIFdLUGFnZUdyb3Vw
UmVmIHBhZ2VHcm91cFJlZiA9IHRvQVBJKHRvSW1wbChwYWdlUmVmKCkpLT5wYWdlR3JvdXAoKSk7
CisgICAgV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyA9IHRvQVBJKHRvSW1wbChwYWdlR3Jv
dXBSZWYpLT5wcmVmZXJlbmNlcygpKTsKKyAgICB0b0ltcGwocHJlZmVyZW5jZXMpLT5zZXREZXZl
bG9wZXJFeHRyYXNFbmFibGVkKGVuYWJsZSk7Cit9CisKK3ZvaWQgUXRXZWJQYWdlUHJveHk6OnRv
Z2dsZVdlYkluc3BlY3Rvcihib29sIGVuYWJsZSkKK3sKKyAgICBXS0luc3BlY3RvclJlZiBpbnNw
ZWN0b3IgPSB0b0FQSSh0b0ltcGwocGFnZVJlZigpKS0+aW5zcGVjdG9yKCkpOworICAgIGlmIChl
bmFibGUpCisgICAgICAgIHRvSW1wbChpbnNwZWN0b3IpLT5zaG93KCk7CisgICAgZWxzZQorICAg
ICAgICB0b0ltcGwoaW5zcGVjdG9yKS0+Y2xvc2UoKTsKK30KKwogI2luY2x1ZGUgIm1vY19RdFdl
YlBhZ2VQcm94eS5jcHAiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQ
YWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlUHJveHkuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXRXZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMTU3LDYgKzE1Nyw5IEBA
IHB1YmxpYzoKIAogICAgIFFTdHJpbmcgdGl0bGUoKSBjb25zdDsKIAorICAgIHZvaWQgdG9nZ2xl
V2ViSW5zcGVjdG9yKGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIGVuYWJsZURldmVsb3BlckV4dHJh
cyhib29sIGVuYWJsZSk7CisgICAgCiAgICAgUUFjdGlvbiogbmF2aWdhdGlvbkFjdGlvbihRdFdl
YktpdDo6TmF2aWdhdGlvbkFjdGlvbikgY29uc3Q7CiAKICAgICBRQWN0aW9uKiBhY3Rpb24oV2Vi
QWN0aW9uIGFjdGlvbikgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
V2ViSW5zcGVjdG9yUHJveHlRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjUsMjggKzI1LDUwIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgog
CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAorI2luY2x1ZGUgPFF0RGVjbGFyYXRpdmUvcXNndmll
dy5oPgorI2luY2x1ZGUgPHFkZXNrdG9wd2Vidmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90
SW1wbGVtZW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBXZWJQYWdlUHJv
eHkqIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2UoKQogewot
ICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgQVNTRVJUKG1fcGFnZSk7
CisgICAgQVNTRVJUKCFtX2luc3BlY3RvclZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldyA9IGFk
b3B0UHRyKG5ldyBRRGVza3RvcFdlYlZpZXcodG9BUEkocGFnZSgpLT5wcm9jZXNzKCktPmNvbnRl
eHQoKSksIHRvQVBJKGluc3BlY3RvclBhZ2VHcm91cCgpKSkpOworICAgIEFTU0VSVChtX2luc3Bl
Y3RvclZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0WCgwKTsKKyAgICBtX2luc3BlY3Rv
clZpZXctPnNldFkoMCk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRXaWR0aChpbml0aWFsV2lu
ZG93V2lkdGgpOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0SGVpZ2h0KGluaXRpYWxXaW5kb3dI
ZWlnaHQpOworICAgIHJldHVybiB0b0ltcGwobV9pbnNwZWN0b3JWaWV3LT5wYWdlUmVmKCkpOwog
fQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9wZW4oKQogewotICAgIG5vdElt
cGxlbWVudGVkKCk7CisgICAgQVNTRVJUKCFtX3ZpZXcpOworICAgIG1fdmlldyA9IGFkb3B0UHRy
KG5ldyBRU0dWaWV3KTsKKyAgICBBU1NFUlQobV92aWV3KTsKKyAgICBtX2luc3BlY3RvclZpZXct
PnNldFBhcmVudEl0ZW0obV92aWV3LT5yb290SXRlbSgpKTsKKyAgICBtX3ZpZXctPnNldEdlb21l
dHJ5KDAsIDAsIGluaXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hlaWdodCk7CisgICAg
bV92aWV3LT5zaG93KCk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGlk
Q2xvc2UoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYgKG1faW5zcGVjdG9yVmll
dykKKyAgICAgICAgbV9pbnNwZWN0b3JWaWV3LmNsZWFyKCk7CisKKyAgICBpZiAobV92aWV3KSB7
CisgICAgICAgIG1fdmlldy0+Y2xvc2UoKTsKKyAgICAgICAgbV92aWV3LmNsZWFyKCk7CisgICAg
fQogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpCkBA
IC01NCw5ICs3Niw5IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0YK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0
Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJikKK3ZvaWQgV2ViSW5zcGVjdG9y
UHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmIHVybCkKIHsK
LSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fdmlldy0+c2V0V2luZG93VGl0bGUoUU9iamVj
dDo6dHIoIldlYiBJbnNwZWN0b3IgLSAiKSArIFFPYmplY3Q6OnRyKHVybC51dGY4KCkuZGF0YSgp
KSk7CiB9CiAKIHVuc2lnbmVkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFdp
bmRvd0hlaWdodCgpCkBAIC04Miw4ICsxMDQsNyBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9ybVNldEF0dGFjCiAKIFN0cmluZyBXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yUGFn
ZVVSTCgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gU3RyaW5n
KCk7CisgICAgcmV0dXJuICgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rvci5odG1sIik7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gOTQxMTIpCisrKyBUb29scy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMiBAQAorMjAxMS0wOC0zMCAgR2VuaXNp
bSBUc2lsa2VyICA8Z2VuaXNpbUB5YWhvby5jb20+CisKKyAgICAgICAgQWRkIFdlYkluc3BlY3Rv
ciB0byBXZWJLaXQyIE1pbmlCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NDI5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCB0byBNaW5pQnJvd3NlciBVSSB0d28gY2hlY2sgYm94ZXMgLSAi
RW5hYmxlIERldmVsb3BlciBFeHRyYXMiIGFuZAorICAgICAgICAiVG9nZ2xlIFdlYiBJbnNwZWN0
b3IiLiBBdmFpbGFibGUgZm9sbG93IGNvbWJpbmF0aW9uIC0gCisgICAgICAgIDEuICJFbmFibGUg
RGV2ZWxvcGVyIEV4dHJhcyIgYXZhaWxhYmxlLCBub3Qgc2VsZWN0ZWQKKyAgICAgICAgICAgIlRv
Z2dsZSBXZWIgSW5zcGVjdG9yIiB1bmF2YWlsYWJsZSwgbm90IHNlbGVjdGVkCisgICAgICAgIDIu
ICJFbmFibGUgRGV2ZWxvcGVyIEV4dHJhcyIgYXZhaWxhYmxlLCBzZWxlY3RlZAorICAgICAgICAg
ICAiVG9nZ2xlIFdlYiBJbnNwZWN0b3IiIGF2YWlsYWJsZSwgbm90IHNlbGVjdGVkCisgICAgICAg
IDMuICJFbmFibGUgRGV2ZWxvcGVyIEV4dHJhcyIgdW5hdmFpbGFibGUsIHNlbGVjdGVkCisgICAg
ICAgICAgICJUb2dnbGUgV2ViIEluc3BlY3RvciIgYXZhaWxhYmxlLCBzZWxlY3RlZAorICAgICAg
ICBVc2VyIGNhbiBzdGFydCBXZWIgSW5zcGVjdG9yIG9ubGUgYWZ0ZXIgIkVuYWJsZSBEZXZlbG9w
ZXIgRXh0cmFzIiB3YXMgc2VsZWN0ZWQKKyAgICAgICAgVXNlciBjYW4ndCBkaXNhYmxlICJFbmFi
bGUgRGV2ZWxvcGVyIEV4dHJhcyIgd2hlbiBXZWIgSW5zcGVjdG9yIGlzIHJ1bm5pbmcKKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHA6CisgICAgICAgIChCcm93c2VyVmll
dzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZSk6CisgICAgICAgIChCcm93c2VyVmlldzo6dG9n
Z2xlV2ViSW5zcGVjdG9yTW9kZSk6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlclZp
ZXcuaDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcDoKKyAgICAg
ICAgKEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3cpOgorICAgICAgICAoQnJvd3NlcldpbmRv
dzo6c2V0RW5hYmxlZEludmVydCk6CisgICAgICAgIChCcm93c2VyV2luZG93OjpzY3JlZW5zaG90
KToKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OmVuYWJsZURldmVsb3BlckV4dHJhc01vZGUpOgor
ICAgICAgICAoQnJvd3NlcldpbmRvdzo6dG9nZ2xlV2ViSW5zcGVjdG9yTW9kZSk6CisgICAgICAg
ICogTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oOgorCiAyMDExLTA4LTMwICBDYWlvIE1h
cmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CiAK
ICAgICAgICAgRW1pdCBsYXN0IHByb2dyZXNzIG5vdGlmaWNhdGlvbiBiZWZvcmUgY2FsbGluZyBk
aXNwYXRjaERpZEZpbmlzaExvYWQKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJW
aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5j
cHAJKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Niw2ICs4NiwyMiBAQCBRRGVza3RvcFdlYlZpZXcqIEJy
b3dzZXJWaWV3OjpkZXNrdG9wV2ViCiAgICAgcmV0dXJuIHFvYmplY3RfY2FzdDxRRGVza3RvcFdl
YlZpZXcqPihtX2l0ZW0pOwogfQogCit2b2lkIEJyb3dzZXJWaWV3OjplbmFibGVEZXZlbG9wZXJF
eHRyYXNNb2RlKGJvb2wgZW5hYmxlKQoreworICAgIGlmIChkZXNrdG9wV2ViVmlldygpKQorICAg
ICAgICBkZXNrdG9wV2ViVmlldygpLT5lbmFibGVEZXZlbG9wZXJFeHRyYXMoZW5hYmxlKTsKKyAg
ICBlbHNlCisgICAgICAgIHRvdWNoV2ViVmlldygpLT5lbmFibGVEZXZlbG9wZXJFeHRyYXMoZW5h
YmxlKTsKK30KKwordm9pZCBCcm93c2VyVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yTW9kZShib29s
IGVuYWJsZSkKK3sKKyAgICBpZiAoZGVza3RvcFdlYlZpZXcoKSkKKyAgICAgICAgZGVza3RvcFdl
YlZpZXcoKS0+dG9nZ2xlV2ViSW5zcGVjdG9yKGVuYWJsZSk7CisgICAgZWxzZQorICAgICAgICB0
b3VjaFdlYlZpZXcoKS0+dG9nZ2xlV2ViSW5zcGVjdG9yKGVuYWJsZSk7Cit9CisKIFFBY3Rpb24q
IEJyb3dzZXJWaWV3OjpuYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9u
IHdoaWNoKSBjb25zdAogewogICAgIGlmIChkZXNrdG9wV2ViVmlldygpKQpJbmRleDogVG9vbHMv
TWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJv
d3Nlci9xdC9Ccm93c2VyVmlldy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDggQEAgcHVi
bGljOgogCiAgICAgUVRvdWNoV2ViVmlldyogdG91Y2hXZWJWaWV3KCkgY29uc3Q7CiAgICAgUURl
c2t0b3BXZWJWaWV3KiBkZXNrdG9wV2ViVmlldygpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlV2Vi
SW5zcGVjdG9yTW9kZShib29sIGVuYWJsZSk7CisgICAgdm9pZCBlbmFibGVEZXZlbG9wZXJFeHRy
YXNNb2RlKGJvb2wgZW5hYmxlKTsKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCByZXNp
emVFdmVudChRUmVzaXplRXZlbnQqKTsKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dz
ZXJXaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJX
aW5kb3cuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dz
ZXJXaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsNiArMTA0LDIwIEBAIEJyb3dzZXJX
aW5kb3c6OkJyb3dzZXJXaW5kb3coV2luZG93T3B0aW8KICAgICBjb25uZWN0KHRoaXMsIFNJR05B
TChlbnRlcmVkRnVsbFNjcmVlbk1vZGUoYm9vbCkpLCB0aGlzLCBTTE9UKHRvZ2dsZUZ1bGxTY3Jl
ZW5Nb2RlKGJvb2wpKSk7CiAKICAgICBRTWVudSogdG9vbHNNZW51ID0gbWVudUJhcigpLT5hZGRN
ZW51KCImRGV2ZWxvcCIpOworICAgIGVuYWJsZURldmVsb3BlckV4dHJhcyA9IHRvb2xzTWVudS0+
YWRkQWN0aW9uKCJFbmFibGUgRGV2ZWxvcGVyIEV4dHJhcyIsIHRoaXMsIFNJR05BTChlbnRlcmVk
RGV2ZWxvcGVyRXh0cmFzTW9kZShib29sKSkpOworICAgIGVuYWJsZURldmVsb3BlckV4dHJhcy0+
c2V0Q2hlY2thYmxlKHRydWUpOworICAgIGVuYWJsZURldmVsb3BlckV4dHJhcy0+c2V0Q2hlY2tl
ZChmYWxzZSk7CisgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZERldmVsb3BlckV4dHJh
c01vZGUoYm9vbCkpLCB0aGlzLCBTTE9UKGVuYWJsZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCkp
KTsKKyAgICAKKyAgICBRQWN0aW9uKiB0b2dnbGVXZWJJbnNwZWN0b3IgPSB0b29sc01lbnUtPmFk
ZEFjdGlvbigiU2hvdyBXZWIgSW5zcGVjdG9yIiwgdGhpcywgU0lHTkFMKGVudGVyZWRXZWJJbnNw
ZWN0b3JNb2RlKGJvb2wpKSk7CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2FibGUo
dHJ1ZSk7CisgICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2VkKGZhbHNlKTsKKyAgICB0
b2dnbGVXZWJJbnNwZWN0b3ItPnNldEVuYWJsZWQoZmFsc2UpOworICAgIHRvZ2dsZVdlYkluc3Bl
Y3Rvci0+Y29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9v
bCkpLCBTTE9UKHNldEVuYWJsZWQoYm9vbCkpKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPmNv
bm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRXZWJJbnNwZWN0b3JNb2RlKGJvb2wpKSwgU0xPVChz
ZXRDaGVja2VkKGJvb2wpKSk7CisgICAgZW5hYmxlRGV2ZWxvcGVyRXh0cmFzLT5jb25uZWN0KHRo
aXMsIFNJR05BTChlbnRlcmVkV2ViSW5zcGVjdG9yTW9kZShib29sKSksIHRoaXMsIFNMT1Qoc2V0
RW5hYmxlZEludmVydChib29sKSkpOworICAgIGNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRX
ZWJJbnNwZWN0b3JNb2RlKGJvb2wpKSwgdGhpcywgU0xPVCh0b2dnbGVXZWJJbnNwZWN0b3JNb2Rl
KGJvb2wpKSk7CisKICAgICB0b29sc01lbnUtPmFkZEFjdGlvbigiQ2hhbmdlIFVzZXIgQWdlbnQi
LCB0aGlzLCBTTE9UKHNob3dVc2VyQWdlbnREaWFsb2coKSkpOwogICAgIHRvb2xzTWVudS0+YWRk
U2VwYXJhdG9yKCk7CiAgICAgdG9vbHNNZW51LT5hZGRBY3Rpb24oIkxvYWQgVVJMcyBmcm9tIGZp
bGUiLCB0aGlzLCBTTE9UKGxvYWRVUkxMaXN0RnJvbUZpbGUoKSkpOwpAQCAtMTUxLDYgKzE2NSwx
MSBAQCBCcm93c2VyV2luZG93KiBCcm93c2VyV2luZG93OjpuZXdXaW5kb3coCiAgICAgcmV0dXJu
IHdpbmRvdzsKIH0KIAordm9pZCBCcm93c2VyV2luZG93OjpzZXRFbmFibGVkSW52ZXJ0KGJvb2wg
ZW5hYmxlKQoreworICAgIGVuYWJsZURldmVsb3BlckV4dHJhcy0+c2V0RW5hYmxlZCghZW5hYmxl
KTsKK30KKwogdm9pZCBCcm93c2VyV2luZG93OjpvcGVuTG9jYXRpb24oKQogewogICAgIG1fYWRk
cmVzc0Jhci0+c2VsZWN0QWxsKCk7CkBAIC0yMzAsNiArMjQ5LDE2IEBAIHZvaWQgQnJvd3Nlcldp
bmRvdzo6c2NyZWVuc2hvdCgpCiAgICAgfQogfQogCit2b2lkIEJyb3dzZXJXaW5kb3c6OmVuYWJs
ZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCBlbmFibGUpCit7CisgICAgbV9icm93c2VyLT5lbmFi
bGVEZXZlbG9wZXJFeHRyYXNNb2RlKGVuYWJsZSk7Cit9CisKK3ZvaWQgQnJvd3NlcldpbmRvdzo6
dG9nZ2xlV2ViSW5zcGVjdG9yTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBtX2Jyb3dzZXItPnRv
Z2dsZVdlYkluc3BlY3Rvck1vZGUoZW5hYmxlKTsKK30KKwogdm9pZCBCcm93c2VyV2luZG93Ojp0
b2dnbGVGdWxsU2NyZWVuTW9kZShib29sIGVuYWJsZSkKIHsKICAgICBib29sIGFscmVhZHlFbmFi
bGVkID0gd2luZG93U3RhdGUoKSAmIFF0OjpXaW5kb3dGdWxsU2NyZWVuOwpJbmRleDogVG9vbHMv
TWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlC
cm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAkocmV2aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5p
QnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDgg
QEAgcHVibGljIHNsb3RzOgogCiBzaWduYWxzOgogICAgIHZvaWQgZW50ZXJlZEZ1bGxTY3JlZW5N
b2RlKGJvb2wgb24pOworICAgIHZvaWQgZW50ZXJlZFdlYkluc3BlY3Rvck1vZGUoYm9vbCBvbik7
CisgICAgdm9pZCBlbnRlcmVkRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIG9uKTsKIAogcHJvdGVj
dGVkIHNsb3RzOgogICAgIHZvaWQgY2hhbmdlTG9jYXRpb24oKTsKQEAgLTYzLDYgKzY1LDkgQEAg
cHJvdGVjdGVkIHNsb3RzOgogICAgIHZvaWQgc2NyZWVuc2hvdCgpOwogCiAgICAgdm9pZCB0b2dn
bGVGdWxsU2NyZWVuTW9kZShib29sIGVuYWJsZSk7CisgICAgdm9pZCBlbmFibGVEZXZlbG9wZXJF
eHRyYXNNb2RlKGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIHRvZ2dsZVdlYkluc3BlY3Rvck1vZGUo
Ym9vbCBlbmFibGUpOworICAgIHZvaWQgc2V0RW5hYmxlZEludmVydChib29sKTsKIAogICAgIHZv
aWQgc2hvd1VzZXJBZ2VudERpYWxvZygpOwogCkBAIC03OCw2ICs4Myw4IEBAIHByaXZhdGU6CiAg
ICAgQnJvd3NlclZpZXcqIG1fYnJvd3NlcjsKICAgICBRTGluZUVkaXQqIG1fYWRkcmVzc0JhcjsK
ICAgICBRU3RyaW5nTGlzdCBtX3VzZXJBZ2VudExpc3Q7CisgICAgCisgICAgUUFjdGlvbiogZW5h
YmxlRGV2ZWxvcGVyRXh0cmFzOwogfTsKIAogI2VuZGlmCg==
</data>
<flag name="review"
          id="101942"
          type_id="1"
          status="-"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105726</attachid>
            <date>2011-08-30 18:06:13 -0700</date>
            <delta_ts>2011-08-31 11:16:46 -0700</delta_ts>
            <desc>Patch to add Web Inspector to WebKit2 updated.</desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>17731</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MTM3KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTEtMDgtMzAgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnRlZCBRdCBwbGF0Zm9ybSBtZXRob2RzIGZvciBXZWIgSW5z
cGVjdG9yCisgICAgICAgIE9uZSB3aWxsIGFjdGl2YXRlIFdlYiBJbnNwZWN0b3IgZnJvbSBxZGVz
a3RvcHdlYnZpZXcKKyAgICAgICAgYW5kIHF0b3VjaHdlYnZpZXcgdmlld3MuIFdpdGggY3VycmVu
dCBwYXRjaCBXZWIgSW5zcGVjdG9yCisgICAgICAgIGZvciBib3RoIGNhc2VzIHVzaW5nIHFkZXNr
dG9wd2VidmlldworICAgICAgICAiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiIGFuZCAiVG9nZ2xl
IFdlYkluc3BlY3RvciIgZmVhdHVyZXMKKyAgICAgICAgaW1wbGVtZW50ZWQgaW4gUXRXZWJQYWdl
UHJveHkgY29tbW9uIGZvciBib3RoIHZpZXdzCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0
L3FkZXNrdG9wd2Vidmlldy5jcHA6CisgICAgICAgIChRRGVza3RvcFdlYlZpZXc6OnNldERldmVs
b3BlckV4dHJhc0VuYWJsZWQpOgorICAgICAgICAoUURlc2t0b3BXZWJWaWV3OjpzZXRXZWJJbnNw
ZWN0b3JFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmll
dy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2VicGFnZS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHA6CisgICAgICAgIChRVG91Y2hX
ZWJWaWV3OjpzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKToKKyAgICAgICAgKFFUb3VjaFdlYlZp
ZXc6OnNldFdlYkluc3BlY3RvckVuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
cXRvdWNod2Vidmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5j
cHA6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFF0V2ViUGFnZVByb3h5
OjpzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKToKKyAgICAgICAgKFF0V2ViUGFnZVByb3h5Ojpz
ZXRXZWJJbnNwZWN0b3JFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3Bl
Y3RvclBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1P
cGVuKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGlkQ2xv
c2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0
ZWRVUkxDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6Omluc3Bl
Y3RvclBhZ2VVUkwpOgorCiAyMDExLTA4LTMwICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNv
bT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njcx
NTAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5
LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTEgQEAKICNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yTWVzc2FnZXMuaCIKLSNp
bmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlQ3JlYXRpb25QYXJhbWV0
ZXJzLmgiCisjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5
LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJv
eHkuaCIKLSNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKIAogI2lmIFBMQVRGT1JNKFdJTikKICNp
bmNsdWRlICJXZWJWaWV3LmgiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsMTEg
QEAKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNp
bmNsdWRlIDxxZGVza3RvcHdlYnZpZXcuaD4KKyNpbmNsdWRlIDxxc2d2aWV3Lmg+IAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKQEAgLTQ2LDYgKzUwLDExIEBAIE9CSkNfQ0xBU1MgV2ViSW5zcGVjdG9y
V0tWaWV3OwogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93TWVzc2FnZUxpc3RlbmVyLmg+CiAjZW5k
aWYKIAorI2lmIFBMQVRGT1JNKFFUKQorY2xhc3MgUURlc2t0b3BXZWJWaWV3OworY2xhc3MgUU9i
amVjdDsKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZUdyb3Vw
OwpAQCAtMTc0LDYgKzE4Myw5IEBAIHByaXZhdGU6CiAjZWxpZiBQTEFURk9STShXSU4pCiAgICAg
SFdORCBtX2luc3BlY3RvcldpbmRvdzsKICAgICBSZWZQdHI8V2ViVmlldz4gbV9pbnNwZWN0b3JW
aWV3OworI2VsaWYgUExBVEZPUk0oUVQpCisgICAgT3duUHRyPFFEZXNrdG9wV2ViVmlldz4gbV9p
bnNwZWN0b3JWaWV3OworICAgIE93blB0cjxRU0dWaWV3PiBtX3ZpZXc7CiAjZW5kaWYKIH07CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9w
d2Vidmlldy5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTksNiArMjk5
LDE2IEBAIHZvaWQgUURlc2t0b3BXZWJWaWV3Ojp3aGVlbEV2ZW50KFFXaGVlbEUKICAgICB0aGlz
LT5ldmVudCgmZ3JhcGhpY3NFdmVudCk7CiB9CiAKK3ZvaWQgUURlc2t0b3BXZWJWaWV3OjpzZXRE
ZXZlbG9wZXJFeHRyYXNFbmFibGVkKGJvb2wgZW5hYmxlKQoreworICAgIGQtPnBhZ2Uuc2V0RGV2
ZWxvcGVyRXh0cmFzRW5hYmxlZChlbmFibGUpOworfQorCit2b2lkIFFEZXNrdG9wV2ViVmlldzo6
c2V0V2ViSW5zcGVjdG9yRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICBkLT5wYWdlLnNldFdl
Ykluc3BlY3RvckVuYWJsZWQoZW5hYmxlKTsKK30KKwogdm9pZCBRRGVza3RvcFdlYlZpZXc6OnRv
dWNoRXZlbnQoUVRvdWNoRXZlbnQqIGV2ZW50KQogewogICAgIHRoaXMtPmV2ZW50KGV2ZW50KTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdl
YnZpZXcuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3FkZXNrdG9wd2Vidmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCwxMCBAQCBu
YW1lc3BhY2UgV1RSIHsKICAgICBjbGFzcyBXZWJWaWV3OwogfQogCituYW1lc3BhY2UgV2ViS2l0
IHsKKyAgICBjbGFzcyBXZWJJbnNwZWN0b3JQcm94eTsKK30KKwogY2xhc3MgUVdFQktJVF9FWFBP
UlQgUURlc2t0b3BXZWJWaWV3IDogcHVibGljIFFTR1BhaW50ZWRJdGVtIHsKICAgICBRX09CSkVD
VAogICAgIFFfUFJPUEVSVFkoUVN0cmluZyB0aXRsZSBSRUFEIHRpdGxlIE5PVElGWSB0aXRsZUNo
YW5nZWQpCkBAIC02Niw2ICs3MCw5IEBAIHB1YmxpYzoKICAgICBRRGVza3RvcFdlYlZpZXcoUVNH
SXRlbSogcGFyZW50ID0gMCk7CiAgICAgdmlydHVhbCB+UURlc2t0b3BXZWJWaWV3KCk7CiAKKyAg
ICB2b2lkIHNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCk7CisgICAgdm9pZCBzZXRXZWJJ
bnNwZWN0b3JFbmFibGVkKGJvb2wpOworICAgIAogICAgIFFVcmwgdXJsKCkgY29uc3Q7CiAgICAg
UVN0cmluZyB0aXRsZSgpIGNvbnN0OwogICAgIGludCBsb2FkUHJvZ3Jlc3MoKSBjb25zdDsKQEAg
LTExNCw2ICsxMjEsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBpbml0KCk7CiAKKyAgICBmcmll
bmQgY2xhc3MgV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTsKICAgICBmcmllbmQgY2xhc3MgV1RS
OjpXZWJWaWV3OwogICAgIGZyaWVuZCBjbGFzcyBRRGVza3RvcFdlYlZpZXdQcml2YXRlOwogICAg
IFFEZXNrdG9wV2ViVmlld1ByaXZhdGUgKmQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaAkod29ya2luZyBjb3B5
KQpAQCAtODEsNiArODEsNyBAQCBwcml2YXRlOgogICAgIFFfUFJJVkFURV9TTE9UKGQsIHZvaWQg
X3FfY29tbWl0U2NhbGVDaGFuZ2UoKSk7CiAKICAgICBRVG91Y2hXZWJQYWdlUHJpdmF0ZSogZDsK
KyAgICBmcmllbmQgY2xhc3MgUVRvdWNoV2ViVmlldzsKICAgICBmcmllbmQgY2xhc3MgUVRvdWNo
V2ViVmlld1ByaXZhdGU7CiAgICAgZnJpZW5kIGNsYXNzIFdlYktpdDo6VG91Y2hWaWV3SW50ZXJm
YWNlOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vi
dmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
dG91Y2h3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNCAr
MTExLDE0IEBAIHZvaWQgUVRvdWNoV2ViVmlldzo6Z2VvbWV0cnlDaGFuZ2VkKGNvbnMKICAgICB9
CiB9CiAKK3ZvaWQgUVRvdWNoV2ViVmlldzo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChib29s
IGVuYWJsZSkKK3sKKyAgICBkLT5wYWdlLnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoZW5hYmxl
KTsKK30KKwordm9pZCBRVG91Y2hXZWJWaWV3OjpzZXRXZWJJbnNwZWN0b3JFbmFibGVkKGJvb2wg
ZW5hYmxlKQoreworICAgIGQtPnBhZ2Uuc2V0V2ViSW5zcGVjdG9yRW5hYmxlZChlbmFibGUpOwor
fQorCiAjaW5jbHVkZSAibW9jX3F0b3VjaHdlYnZpZXcuY3BwIgpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmgJKHJldmlzaW9uIDkzNjU5
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDggQEAgcHVibGljOgogICAgIH5RVG91Y2hXZWJWaWV3
KCk7CiAKICAgICBRVG91Y2hXZWJQYWdlICpwYWdlKCk7CisgICAgdm9pZCBzZXREZXZlbG9wZXJF
eHRyYXNFbmFibGVkKGJvb2wpOworICAgIHZvaWQgc2V0V2ViSW5zcGVjdG9yRW5hYmxlZChib29s
KTsKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRyeUNoYW5nZWQoY29uc3Qg
UVJlY3RGJiwgY29uc3QgUVJlY3RGJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRXZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTQsNiArNTQsOSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRHJhZ0RhdGEuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4K
KyNpbmNsdWRlIDxXZWJJbnNwZWN0b3JQcm94eS5oPgorI2luY2x1ZGUgPFdlYlBhZ2VHcm91cC5o
PgorI2luY2x1ZGUgPFdlYlByZWZlcmVuY2VzLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0ZyYW1l
Lmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2VHcm91cC5oPgogI2luY2x1ZGUgPFdlYktpdDIv
V0tSZXRhaW5QdHIuaD4KQEAgLTczNCw0ICs3MzcsMTcgQEAgdm9pZCBRdFdlYlBhZ2VQcm94eTo6
c2V0UGFnZUlzVmlzaWJsZShibwogICAgIG1fd2ViUGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpLT5z
ZXRQYWdlSXNWaXNpYmxlKGlzVmlzaWJsZSk7CiB9CiAKK3ZvaWQgUXRXZWJQYWdlUHJveHk6OnNl
dERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCBlbmFibGUpCit7CisgICAgbV93ZWJQYWdlUHJv
eHktPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygpLT5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVk
KGVuYWJsZSk7Cit9CisKK3ZvaWQgUXRXZWJQYWdlUHJveHk6OnNldFdlYkluc3BlY3RvckVuYWJs
ZWQoYm9vbCBlbmFibGUpCit7CisgICAgaWYgKGVuYWJsZSkKKyAgICAgICAgbV93ZWJQYWdlUHJv
eHktPmluc3BlY3RvcigpLT5zaG93KCk7CisgICAgZWxzZQorICAgICAgICBtX3dlYlBhZ2VQcm94
eS0+aW5zcGVjdG9yKCktPmNsb3NlKCk7Cit9CisKICNpbmNsdWRlICJtb2NfUXRXZWJQYWdlUHJv
eHkuY3BwIgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBy
b3h5LmgJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0
V2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTE1Nyw2ICsxNTcsOSBAQCBwdWJsaWM6
CiAKICAgICBRU3RyaW5nIHRpdGxlKCkgY29uc3Q7CiAKKyAgICB2b2lkIHNldFdlYkluc3BlY3Rv
ckVuYWJsZWQoYm9vbCk7CisgICAgdm9pZCBzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGJvb2wp
OworICAgIAogICAgIFFBY3Rpb24qIG5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6Ok5hdmlnYXRp
b25BY3Rpb24pIGNvbnN0OwogCiAgICAgUUFjdGlvbiogYWN0aW9uKFdlYkFjdGlvbiBhY3Rpb24p
IGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclBy
b3h5UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJ
bnNwZWN0b3JQcm94eVF0LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1
LDI4ICsyNSw0OSBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVj
dG9yUHJveHkuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKIAogI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAKKyNpbmNsdWRlIDxRdERlY2xhcmF0aXZlL3FzZ3ZpZXcuaD4KKyNpbmNsdWRl
IDxxZGVza3RvcHdlYnZpZXcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViUGFnZVByb3h5KiBXZWJJbnNwZWN0
b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdlKCkKIHsKLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIHJldHVybiAwOworICAgIEFTU0VSVChtX3BhZ2UpOworICAgIEFTU0VSVCgh
bV9pbnNwZWN0b3JWaWV3KTsKKyAgICBtX2luc3BlY3RvclZpZXcgPSBhZG9wdFB0cihuZXcgUURl
c2t0b3BXZWJWaWV3KHRvQVBJKHBhZ2UoKS0+cHJvY2VzcygpLT5jb250ZXh0KCkpLCB0b0FQSShp
bnNwZWN0b3JQYWdlR3JvdXAoKSkpKTsKKyAgICBBU1NFUlQobV9pbnNwZWN0b3JWaWV3KTsKKyAg
ICBtX2luc3BlY3RvclZpZXctPnNldFgoMCk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRZKDAp
OworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0V2lkdGgoaW5pdGlhbFdpbmRvd1dpZHRoKTsKKyAg
ICBtX2luc3BlY3RvclZpZXctPnNldEhlaWdodChpbml0aWFsV2luZG93SGVpZ2h0KTsKKyAgICBy
ZXR1cm4gdG9JbXBsKG1faW5zcGVjdG9yVmlldy0+cGFnZVJlZigpKTsKIH0KIAogdm9pZCBXZWJJ
bnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIEFTU0VSVCghbV92aWV3KTsKKyAgICBtX3ZpZXcgPSBhZG9wdFB0cihuZXcgUVNHVmlldyk7
CisgICAgQVNTRVJUKG1fdmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRQYXJlbnRJdGVt
KG1fdmlldy0+cm9vdEl0ZW0oKSk7CisgICAgbV92aWV3LT5zZXRHZW9tZXRyeSgwLCAwLCBpbml0
aWFsV2luZG93V2lkdGgsIGluaXRpYWxXaW5kb3dIZWlnaHQpOworICAgIG1fdmlldy0+c2hvdygp
OwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKCkKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1faW5zcGVjdG9yVmlldy5jbGVhcigpOworCisgICAg
aWYgKG1fdmlldykgeworICAgICAgICBtX3ZpZXctPmNsb3NlKCk7CisgICAgICAgIG1fdmlldy5j
bGVhcigpOworICAgIH0KIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1Ccmlu
Z1RvRnJvbnQoKQpAQCAtNTQsOSArNzUsOSBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0
Zm9ybUJyaW5nVG9GCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJJbnNwZWN0
b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYpCit2b2lk
IFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3Ry
aW5nJiB1cmwpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX3ZpZXctPnNldFdpbmRv
d1RpdGxlKFFPYmplY3Q6OnRyKCJXZWIgSW5zcGVjdG9yIC0gIikgKyBRT2JqZWN0Ojp0cih1cmwu
dXRmOCgpLmRhdGEoKSkpOwogfQogCiB1bnNpZ25lZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1JbnNwZWN0ZWRXaW5kb3dIZWlnaHQoKQpAQCAtODIsOCArMTAzLDcgQEAgdm9pZCBXZWJJbnNw
ZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRBdHRhYwogCiBTdHJpbmcgV2ViSW5zcGVjdG9yUHJveHk6
Omluc3BlY3RvclBhZ2VVUkwoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAg
cmV0dXJuIFN0cmluZygpOworICAgIHJldHVybiAicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3Bl
Y3Rvci5odG1sIjsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBUb29scy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NDEzNykKKysr
IFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDExLTA4
LTMwICBHZW5pc2ltIFRzaWxrZXIgIDxnZW5pc2ltQHlhaG9vLmNvbT4KKworICAgICAgICBBZGQg
V2ViSW5zcGVjdG9yIHRvIFdlYktpdDIgTWluaUJyb3dzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0Mjk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRvIE1pbmlCcm93c2VyIFVJIHR3byBjaGVj
ayBib3hlcyAtICJFbmFibGUgRGV2ZWxvcGVyIEV4dHJhcyIgYW5kCisgICAgICAgICJUb2dnbGUg
V2ViIEluc3BlY3RvciIuIEF2YWlsYWJsZSBmb2xsb3cgY29tYmluYXRpb24gLQorICAgICAgICAx
LiAiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiIGF2YWlsYWJsZSwgbm90IHNlbGVjdGVkCisgICAg
ICAgICAgICJUb2dnbGUgV2ViIEluc3BlY3RvciIgdW5hdmFpbGFibGUsIG5vdCBzZWxlY3RlZAor
ICAgICAgICAyLiAiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiIGF2YWlsYWJsZSwgc2VsZWN0ZWQK
KyAgICAgICAgICAgIlRvZ2dsZSBXZWIgSW5zcGVjdG9yIiBhdmFpbGFibGUsIG5vdCBzZWxlY3Rl
ZAorICAgICAgICAzLiAiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiIHVuYXZhaWxhYmxlLCBzZWxl
Y3RlZAorICAgICAgICAgICAiVG9nZ2xlIFdlYiBJbnNwZWN0b3IiIGF2YWlsYWJsZSwgc2VsZWN0
ZWQKKyAgICAgICAgVXNlciBjYW4gc3RhcnQgV2ViIEluc3BlY3RvciBvbmxlIGFmdGVyICJFbmFi
bGUgRGV2ZWxvcGVyIEV4dHJhcyIgd2FzIHNlbGVjdGVkCisgICAgICAgIFVzZXIgY2FuJ3QgZGlz
YWJsZSAiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiIHdoZW4gV2ViIEluc3BlY3RvciBpcyBydW5u
aW5nCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHA6CisgICAgICAg
IChCcm93c2VyVmlldzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZSk6CisgICAgICAgIChCcm93
c2VyVmlldzo6dG9nZ2xlV2ViSW5zcGVjdG9yTW9kZSk6CisgICAgICAgICogTWluaUJyb3dzZXIv
cXQvQnJvd3NlclZpZXcuaDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93
LmNwcDoKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3cpOgorICAgICAgICAo
QnJvd3NlcldpbmRvdzo6b25EZXZlbG9wZXJFeHRyYXNNb2RlQ2hhbmdlZCk6CisgICAgICAgIChC
cm93c2VyV2luZG93OjpvbldlYkluc3BlY3Rvck1vZGVDaGFuZ2VkKToKKyAgICAgICAgKEJyb3dz
ZXJXaW5kb3c6OmNoYW5nZURldmVsb3BlckV4dHJhc01vZGUpOgorICAgICAgICAoQnJvd3Nlcldp
bmRvdzo6c2NyZWVuc2hvdCk6CisgICAgICAgIChCcm93c2VyV2luZG93OjplbmFibGVEZXZlbG9w
ZXJFeHRyYXNNb2RlKToKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OnRvZ2dsZVdlYkluc3BlY3Rv
ck1vZGUpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaDoKKwogMjAx
MS0wOC0zMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFRlc3Qg
Zm9yIDxyZGFyOi8vcHJvYmxlbS85MjgxNjk1PiBBZGQgdGV4dCBzZWFyY2ggQVBJIGZvciBnZXR0
aW5nIHRoZSBET00gcmFuZ2Ugb2YgYSB0ZXh0IG1hdGNoCkluZGV4OiBUb29scy9NaW5pQnJvd3Nl
ci9xdC9Ccm93c2VyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQv
QnJvd3NlclZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0
L0Jyb3dzZXJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsMjIgQEAgUURlc2t0
b3BXZWJWaWV3KiBCcm93c2VyVmlldzo6ZGVza3RvcFdlYgogICAgIHJldHVybiBxb2JqZWN0X2Nh
c3Q8UURlc2t0b3BXZWJWaWV3Kj4obV9pdGVtKTsKIH0KIAordm9pZCBCcm93c2VyVmlldzo6ZW5h
YmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZGVza3RvcFdl
YlZpZXcoKSkKKyAgICAgICAgZGVza3RvcFdlYlZpZXcoKS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZChlbmFibGUpOworICAgIGVsc2UKKyAgICAgICAgdG91Y2hXZWJWaWV3KCktPnNldERldmVs
b3BlckV4dHJhc0VuYWJsZWQoZW5hYmxlKTsKK30KKwordm9pZCBCcm93c2VyVmlldzo6dG9nZ2xl
V2ViSW5zcGVjdG9yTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZGVza3RvcFdlYlZpZXco
KSkKKyAgICAgICAgZGVza3RvcFdlYlZpZXcoKS0+c2V0V2ViSW5zcGVjdG9yRW5hYmxlZChlbmFi
bGUpOworICAgIGVsc2UKKyAgICAgICAgdG91Y2hXZWJWaWV3KCktPnNldFdlYkluc3BlY3RvckVu
YWJsZWQoZW5hYmxlKTsKK30KKwogUUFjdGlvbiogQnJvd3NlclZpZXc6Om5hdmlnYXRpb25BY3Rp
b24oUXRXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb24gd2hpY2gpIGNvbnN0CiB7CiAgICAgaWYgKGRl
c2t0b3BXZWJWaWV3KCkpCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgJKHJldmlz
aW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTAsNiArNTAsOCBAQCBwdWJsaWM6CiAKICAgICBRVG91Y2hXZWJWaWV3KiB0
b3VjaFdlYlZpZXcoKSBjb25zdDsKICAgICBRRGVza3RvcFdlYlZpZXcqIGRlc2t0b3BXZWJWaWV3
KCkgY29uc3Q7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3JNb2RlKGJvb2wgZW5hYmxlKTsK
KyAgICB2b2lkIGVuYWJsZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCBlbmFibGUpOwogCiBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZUV2ZW50KFFSZXNpemVFdmVudCopOwpJbmRl
eDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHJldmlzaW9uIDkzNjU5KQor
KysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwNCw2ICsxMDQsMjAgQEAgQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyhXaW5kb3dP
cHRpbwogICAgIGNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRGdWxsU2NyZWVuTW9kZShib29s
KSksIHRoaXMsIFNMT1QodG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCkpKTsKIAogICAgIFFNZW51
KiB0b29sc01lbnUgPSBtZW51QmFyKCktPmFkZE1lbnUoIiZEZXZlbG9wIik7CisgICAgbV9lbmFi
bGVEZXZlbG9wZXJFeHRyYXMgPSB0b29sc01lbnUtPmFkZEFjdGlvbigiRW5hYmxlIERldmVsb3Bl
ciBFeHRyYXMiLCB0aGlzLCBTTE9UKG9uRGV2ZWxvcGVyRXh0cmFzTW9kZUNoYW5nZWQoYm9vbCkp
KTsgCisgICAgbV9lbmFibGVEZXZlbG9wZXJFeHRyYXMtPnNldENoZWNrYWJsZSh0cnVlKTsKKyAg
ICBtX2VuYWJsZURldmVsb3BlckV4dHJhcy0+c2V0Q2hlY2tlZChmYWxzZSk7CisgICAgY29ubmVj
dCh0aGlzLCBTSUdOQUwoZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpLCB0aGlzLCBT
TE9UKGVuYWJsZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpKTsKKyAgICAKKyAgICBRQWN0aW9u
KiB0b2dnbGVXZWJJbnNwZWN0b3IgPSB0b29sc01lbnUtPmFkZEFjdGlvbigiU2hvdyBXZWIgSW5z
cGVjdG9yIiwgdGhpcywgU0xPVChvbldlYkluc3BlY3Rvck1vZGVDaGFuZ2VkKGJvb2wpKSk7Cisg
ICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2FibGUodHJ1ZSk7CisgICAgdG9nZ2xlV2Vi
SW5zcGVjdG9yLT5zZXRDaGVja2VkKGZhbHNlKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPnNl
dEVuYWJsZWQoZmFsc2UpOworICAgIHRvZ2dsZVdlYkluc3BlY3Rvci0+Y29ubmVjdCh0aGlzLCBT
SUdOQUwoZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpLCBTTE9UKHNldEVuYWJsZWQo
Ym9vbCkpKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPmNvbm5lY3QodGhpcywgU0lHTkFMKGVu
dGVyZWRXZWJJbnNwZWN0b3JNb2RlKGJvb2wpKSwgU0xPVChzZXRDaGVja2VkKGJvb2wpKSk7Cisg
ICAgbV9lbmFibGVEZXZlbG9wZXJFeHRyYXMtPmNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRX
ZWJJbnNwZWN0b3JNb2RlKGJvb2wpKSwgdGhpcywgU0xPVChjaGFuZ2VEZXZlbG9wZXJFeHRyYXNN
b2RlKGJvb2wpKSk7CisgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZFdlYkluc3BlY3Rv
ck1vZGUoYm9vbCkpLCB0aGlzLCBTTE9UKHRvZ2dsZVdlYkluc3BlY3Rvck1vZGUoYm9vbCkpKTsK
KwogICAgIHRvb2xzTWVudS0+YWRkQWN0aW9uKCJDaGFuZ2UgVXNlciBBZ2VudCIsIHRoaXMsIFNM
T1Qoc2hvd1VzZXJBZ2VudERpYWxvZygpKSk7CiAgICAgdG9vbHNNZW51LT5hZGRTZXBhcmF0b3Io
KTsKICAgICB0b29sc01lbnUtPmFkZEFjdGlvbigiTG9hZCBVUkxzIGZyb20gZmlsZSIsIHRoaXMs
IFNMT1QobG9hZFVSTExpc3RGcm9tRmlsZSgpKSk7CkBAIC0xMzMsNiArMTQ3LDE2IEBAIEJyb3dz
ZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3coV2luZG93T3B0aW8KICAgICBzaG93KCk7CiB9CiAKK3Zv
aWQgQnJvd3NlcldpbmRvdzo6b25EZXZlbG9wZXJFeHRyYXNNb2RlQ2hhbmdlZChib29sIGVuYWJs
ZSkKK3sKKyAgICBlbWl0IGVudGVyZWREZXZlbG9wZXJFeHRyYXNNb2RlKGVuYWJsZSk7Cit9CisK
K3ZvaWQgQnJvd3NlcldpbmRvdzo6b25XZWJJbnNwZWN0b3JNb2RlQ2hhbmdlZChib29sIGVuYWJs
ZSkKK3sKKyAgICBlbWl0IGVudGVyZWRXZWJJbnNwZWN0b3JNb2RlKGVuYWJsZSk7Cit9CisKIHZv
aWQgQnJvd3NlcldpbmRvdzo6bG9hZChjb25zdCBRU3RyaW5nJiB1cmwpCiB7CiAgICAgbV9hZGRy
ZXNzQmFyLT5zZXRUZXh0KHVybCk7CkBAIC0xNTEsNiArMTc1LDExIEBAIEJyb3dzZXJXaW5kb3cq
IEJyb3dzZXJXaW5kb3c6Om5ld1dpbmRvdygKICAgICByZXR1cm4gd2luZG93OwogfQogCit2b2lk
IEJyb3dzZXJXaW5kb3c6OmNoYW5nZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCBlbmFibGUpCit7
CisgICAgbV9lbmFibGVEZXZlbG9wZXJFeHRyYXMtPnNldEVuYWJsZWQoIWVuYWJsZSk7Cit9CisK
IHZvaWQgQnJvd3NlcldpbmRvdzo6b3BlbkxvY2F0aW9uKCkKIHsKICAgICBtX2FkZHJlc3NCYXIt
PnNlbGVjdEFsbCgpOwpAQCAtMjMwLDYgKzI1OSwxNiBAQCB2b2lkIEJyb3dzZXJXaW5kb3c6OnNj
cmVlbnNob3QoKQogICAgIH0KIH0KIAordm9pZCBCcm93c2VyV2luZG93OjplbmFibGVEZXZlbG9w
ZXJFeHRyYXNNb2RlKGJvb2wgZW5hYmxlKQoreworICAgIG1fYnJvd3Nlci0+ZW5hYmxlRGV2ZWxv
cGVyRXh0cmFzTW9kZShlbmFibGUpOworfQorCit2b2lkIEJyb3dzZXJXaW5kb3c6OnRvZ2dsZVdl
Ykluc3BlY3Rvck1vZGUoYm9vbCBlbmFibGUpCit7CisgICAgbV9icm93c2VyLT50b2dnbGVXZWJJ
bnNwZWN0b3JNb2RlKGVuYWJsZSk7Cit9CisKIHZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlRnVs
bFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpCiB7CiAgICAgYm9vbCBhbHJlYWR5RW5hYmxlZCA9IHdp
bmRvd1N0YXRlKCkgJiBRdDo6V2luZG93RnVsbFNjcmVlbjsKSW5kZXg6IFRvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9x
dC9Ccm93c2VyV2luZG93LmgJKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIv
cXQvQnJvd3NlcldpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMCArNDksMTQgQEAgcHVi
bGljOgogCiBwdWJsaWMgc2xvdHM6CiAgICAgQnJvd3NlcldpbmRvdyogbmV3V2luZG93KGNvbnN0
IFFTdHJpbmcmIHVybCA9ICJhYm91dDpibGFuayIpOworICAgIHZvaWQgb25EZXZlbG9wZXJFeHRy
YXNNb2RlQ2hhbmdlZChib29sKTsKKyAgICB2b2lkIG9uV2ViSW5zcGVjdG9yTW9kZUNoYW5nZWQo
Ym9vbCk7CiAgICAgdm9pZCBvcGVuTG9jYXRpb24oKTsKIAogc2lnbmFsczoKICAgICB2b2lkIGVu
dGVyZWRGdWxsU2NyZWVuTW9kZShib29sIG9uKTsKKyAgICB2b2lkIGVudGVyZWRXZWJJbnNwZWN0
b3JNb2RlKGJvb2wgb24pOworICAgIHZvaWQgZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9v
bCBvbik7CiAKIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lkIGNoYW5nZUxvY2F0aW9uKCk7CkBA
IC02Myw2ICs2Nyw5IEBAIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lkIHNjcmVlbnNob3QoKTsK
IAogICAgIHZvaWQgdG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpOworICAgIHZvaWQg
ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIGVuYWJsZSk7CisgICAgdm9pZCB0b2dnbGVX
ZWJJbnNwZWN0b3JNb2RlKGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIGNoYW5nZURldmVsb3BlckV4
dHJhc01vZGUoYm9vbCk7CiAKICAgICB2b2lkIHNob3dVc2VyQWdlbnREaWFsb2coKTsKIApAQCAt
NzgsNiArODUsOCBAQCBwcml2YXRlOgogICAgIEJyb3dzZXJWaWV3KiBtX2Jyb3dzZXI7CiAgICAg
UUxpbmVFZGl0KiBtX2FkZHJlc3NCYXI7CiAgICAgUVN0cmluZ0xpc3QgbV91c2VyQWdlbnRMaXN0
OworICAgIAorICAgIFFBY3Rpb24qIG1fZW5hYmxlRGV2ZWxvcGVyRXh0cmFzOwogfTsKIAogI2Vu
ZGlmCg==
</data>
<flag name="commit-queue"
          id="102026"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105798</attachid>
            <date>2011-08-31 11:16:46 -0700</date>
            <delta_ts>2011-08-31 14:44:56 -0700</delta_ts>
            <desc>Patch to add Web Inspector to WebKit2 updated.</desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>17617</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjA1KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTEtMDgtMzEgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnRlZCBRdCBwbGF0Zm9ybSBtZXRob2RzIGZvciBXZWIgSW5z
cGVjdG9yCisgICAgICAgIE9uZSB3aWxsIGFjdGl2YXRlIFdlYiBJbnNwZWN0b3IgZnJvbSBxZGVz
a3RvcHdlYnZpZXcKKyAgICAgICAgYW5kIHF0b3VjaHdlYnZpZXcgdmlld3MuIFdpdGggY3VycmVu
dCBwYXRjaCBXZWIgSW5zcGVjdG9yCisgICAgICAgIGZvciBib3RoIGNhc2VzIHVzaW5nIHFkZXNr
dG9wd2VidmlldworICAgICAgICAiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiIGFuZCAiVG9nZ2xl
IFdlYkluc3BlY3RvciIgZmVhdHVyZXMKKyAgICAgICAgaW1wbGVtZW50ZWQgaW4gUXRXZWJQYWdl
UHJveHkgY29tbW9uIGZvciBib3RoIHZpZXdzCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0
L3FkZXNrdG9wd2Vidmlldy5jcHA6CisgICAgICAgIChRRGVza3RvcFdlYlZpZXc6OnNldERldmVs
b3BlckV4dHJhc0VuYWJsZWQpOgorICAgICAgICAoUURlc2t0b3BXZWJWaWV3OjpzZXRXZWJJbnNw
ZWN0b3JFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmll
dy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2VicGFnZS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHA6CisgICAgICAgIChRVG91Y2hX
ZWJWaWV3OjpzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKToKKyAgICAgICAgKFFUb3VjaFdlYlZp
ZXc6OnNldFdlYkluc3BlY3RvckVuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
cXRvdWNod2Vidmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5j
cHA6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFF0V2ViUGFnZVByb3h5
OjpzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKToKKyAgICAgICAgKFF0V2ViUGFnZVByb3h5Ojpz
ZXRXZWJJbnNwZWN0b3JFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3Bl
Y3RvclBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1P
cGVuKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGlkQ2xv
c2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0
ZWRVUkxDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6Omluc3Bl
Y3RvclBhZ2VVUkwpOgorCiAyMDExLTA4LTMwICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNv
bT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njcx
NTAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5
LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTEgQEAKICNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yTWVzc2FnZXMuaCIKLSNp
bmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlQ3JlYXRpb25QYXJhbWV0
ZXJzLmgiCisjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5
LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJv
eHkuaCIKLSNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKIAogI2lmIFBMQVRGT1JNKFdJTikKICNp
bmNsdWRlICJXZWJWaWV3LmgiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsOCBA
QAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCkBAIC00Niw2ICs0OCwxNCBAQCBPQkpDX0NMQVNTIFdlYkluc3BlY3Rv
cldLVmlldzsKICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01lc3NhZ2VMaXN0ZW5lci5oPgogI2Vu
ZGlmCiAKKyNpZiBQTEFURk9STShRVCkKKyNpbmNsdWRlIDxxZGVza3RvcHdlYnZpZXcuaD4KKyNp
bmNsdWRlIDxxc2d2aWV3Lmg+CisKK2NsYXNzIFFEZXNrdG9wV2ViVmlldzsKK2NsYXNzIFFPYmpl
Y3Q7CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBhZ2VHcm91cDsK
QEAgLTE3NCw2ICsxODQsOSBAQCBwcml2YXRlOgogI2VsaWYgUExBVEZPUk0oV0lOKQogICAgIEhX
TkQgbV9pbnNwZWN0b3JXaW5kb3c7CiAgICAgUmVmUHRyPFdlYlZpZXc+IG1faW5zcGVjdG9yVmll
dzsKKyNlbGlmIFBMQVRGT1JNKFFUKQorICAgIE93blB0cjxRRGVza3RvcFdlYlZpZXc+IG1faW5z
cGVjdG9yVmlldzsKKyAgICBPd25QdHI8UVNHVmlldz4gbV92aWV3OwogI2VuZGlmCiB9OwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdl
YnZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk5LDYgKzI5OSwx
NiBAQCB2b2lkIFFEZXNrdG9wV2ViVmlldzo6d2hlZWxFdmVudChRV2hlZWxFCiAgICAgdGhpcy0+
ZXZlbnQoJmdyYXBoaWNzRXZlbnQpOwogfQogCit2b2lkIFFEZXNrdG9wV2ViVmlldzo6c2V0RGV2
ZWxvcGVyRXh0cmFzRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICBkLT5wYWdlLnNldERldmVs
b3BlckV4dHJhc0VuYWJsZWQoZW5hYmxlKTsKK30KKwordm9pZCBRRGVza3RvcFdlYlZpZXc6OnNl
dFdlYkluc3BlY3RvckVuYWJsZWQoYm9vbCBlbmFibGUpCit7CisgICAgZC0+cGFnZS5zZXRXZWJJ
bnNwZWN0b3JFbmFibGVkKGVuYWJsZSk7Cit9CisKIHZvaWQgUURlc2t0b3BXZWJWaWV3Ojp0b3Vj
aEV2ZW50KFFUb3VjaEV2ZW50KiBldmVudCkKIHsKICAgICB0aGlzLT5ldmVudChldmVudCk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2
aWV3LmgJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xZGVza3RvcHdlYnZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsMTAgQEAgbmFt
ZXNwYWNlIFdUUiB7CiAgICAgY2xhc3MgV2ViVmlldzsKIH0KIAorbmFtZXNwYWNlIFdlYktpdCB7
CisgICAgY2xhc3MgV2ViSW5zcGVjdG9yUHJveHk7Cit9CisKIGNsYXNzIFFXRUJLSVRfRVhQT1JU
IFFEZXNrdG9wV2ViVmlldyA6IHB1YmxpYyBRU0dQYWludGVkSXRlbSB7CiAgICAgUV9PQkpFQ1QK
ICAgICBRX1BST1BFUlRZKFFTdHJpbmcgdGl0bGUgUkVBRCB0aXRsZSBOT1RJRlkgdGl0bGVDaGFu
Z2VkKQpAQCAtNjYsNiArNzAsOSBAQCBwdWJsaWM6CiAgICAgUURlc2t0b3BXZWJWaWV3KFFTR0l0
ZW0qIHBhcmVudCA9IDApOwogICAgIHZpcnR1YWwgflFEZXNrdG9wV2ViVmlldygpOwogCisgICAg
dm9pZCBzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGJvb2wpOworICAgIHZvaWQgc2V0V2ViSW5z
cGVjdG9yRW5hYmxlZChib29sKTsKKyAgICAKICAgICBRVXJsIHVybCgpIGNvbnN0OwogICAgIFFT
dHJpbmcgdGl0bGUoKSBjb25zdDsKICAgICBpbnQgbG9hZFByb2dyZXNzKCkgY29uc3Q7CkBAIC0x
MTQsNiArMTIxLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgaW5pdCgpOwogCisgICAgZnJpZW5k
IGNsYXNzIFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk7CiAgICAgZnJpZW5kIGNsYXNzIFdUUjo6
V2ViVmlldzsKICAgICBmcmllbmQgY2xhc3MgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTsKICAgICBR
RGVza3RvcFdlYlZpZXdQcml2YXRlICpkOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xdG91Y2h3ZWJwYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJwYWdlLmgJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJwYWdlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTgxLDYgKzgxLDcgQEAgcHJpdmF0ZToKICAgICBRX1BSSVZBVEVfU0xPVChkLCB2b2lkIF9x
X2NvbW1pdFNjYWxlQ2hhbmdlKCkpOwogCiAgICAgUVRvdWNoV2ViUGFnZVByaXZhdGUqIGQ7Cisg
ICAgZnJpZW5kIGNsYXNzIFFUb3VjaFdlYlZpZXc7CiAgICAgZnJpZW5kIGNsYXNzIFFUb3VjaFdl
YlZpZXdQcml2YXRlOwogICAgIGZyaWVuZCBjbGFzcyBXZWJLaXQ6OlRvdWNoVmlld0ludGVyZmFj
ZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZp
ZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRv
dWNod2Vidmlldy5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDQgKzEx
MSwxNCBAQCB2b2lkIFFUb3VjaFdlYlZpZXc6Omdlb21ldHJ5Q2hhbmdlZChjb25zCiAgICAgfQog
fQogCit2b2lkIFFUb3VjaFdlYlZpZXc6OnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCBl
bmFibGUpCit7CisgICAgZC0+cGFnZS5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGVuYWJsZSk7
Cit9CisKK3ZvaWQgUVRvdWNoV2ViVmlldzo6c2V0V2ViSW5zcGVjdG9yRW5hYmxlZChib29sIGVu
YWJsZSkKK3sKKyAgICBkLT5wYWdlLnNldFdlYkluc3BlY3RvckVuYWJsZWQoZW5hYmxlKTsKK30K
KwogI2luY2x1ZGUgIm1vY19xdG91Y2h3ZWJ2aWV3LmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCShyZXZpc2lvbiA5MzY1OSkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Miw2ICs0Miw4IEBAIHB1YmxpYzoKICAgICB+UVRvdWNoV2ViVmlldygp
OwogCiAgICAgUVRvdWNoV2ViUGFnZSAqcGFnZSgpOworICAgIHZvaWQgc2V0RGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZChib29sKTsKKyAgICB2b2lkIHNldFdlYkluc3BlY3RvckVuYWJsZWQoYm9vbCk7
CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbWV0cnlDaGFuZ2VkKGNvbnN0IFFS
ZWN0RiYsIGNvbnN0IFFSZWN0RiYpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0V2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0
LDYgKzU0LDkgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdEYXRhLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9GbG9hdFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+Cisj
aW5jbHVkZSA8V2ViSW5zcGVjdG9yUHJveHkuaD4KKyNpbmNsdWRlIDxXZWJQYWdlR3JvdXAuaD4K
KyNpbmNsdWRlIDxXZWJQcmVmZXJlbmNlcy5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tGcmFtZS5o
PgogI2luY2x1ZGUgPFdlYktpdDIvV0tQYWdlR3JvdXAuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dL
UmV0YWluUHRyLmg+CkBAIC03MzQsNCArNzM3LDE3IEBAIHZvaWQgUXRXZWJQYWdlUHJveHk6OnNl
dFBhZ2VJc1Zpc2libGUoYm8KICAgICBtX3dlYlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKS0+c2V0
UGFnZUlzVmlzaWJsZShpc1Zpc2libGUpOwogfQogCit2b2lkIFF0V2ViUGFnZVByb3h5OjpzZXRE
ZXZlbG9wZXJFeHRyYXNFbmFibGVkKGJvb2wgZW5hYmxlKQoreworICAgIG1fd2ViUGFnZVByb3h5
LT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChl
bmFibGUpOworfQorCit2b2lkIFF0V2ViUGFnZVByb3h5OjpzZXRXZWJJbnNwZWN0b3JFbmFibGVk
KGJvb2wgZW5hYmxlKQoreworICAgIGlmIChlbmFibGUpCisgICAgICAgIG1fd2ViUGFnZVByb3h5
LT5pbnNwZWN0b3IoKS0+c2hvdygpOworICAgIGVsc2UKKyAgICAgICAgbV93ZWJQYWdlUHJveHkt
Pmluc3BlY3RvcigpLT5jbG9zZSgpOworfQorCiAjaW5jbHVkZSAibW9jX1F0V2ViUGFnZVByb3h5
LmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94
eS5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdl
YlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNiArMTU3LDkgQEAgcHVibGljOgog
CiAgICAgUVN0cmluZyB0aXRsZSgpIGNvbnN0OwogCisgICAgdm9pZCBzZXRXZWJJbnNwZWN0b3JF
bmFibGVkKGJvb2wpOworICAgIHZvaWQgc2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChib29sKTsK
KyAgICAKICAgICBRQWN0aW9uKiBuYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9u
QWN0aW9uKSBjb25zdDsKIAogICAgIFFBY3Rpb24qIGFjdGlvbihXZWJBY3Rpb24gYWN0aW9uKSBj
b25zdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94
eVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5z
cGVjdG9yUHJveHlRdC5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwy
OCArMjUsNDkgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3Rv
clByb3h5LmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAKICNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogCisjaW5jbHVkZSA8UXREZWNsYXJhdGl2ZS9xc2d2aWV3Lmg+CisjaW5jbHVkZSA8
cWRlc2t0b3B3ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgor
I2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9y
UHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICBBU1NFUlQobV9wYWdlKTsKKyAgICBBU1NFUlQoIW1f
aW5zcGVjdG9yVmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3ID0gYWRvcHRQdHIobmV3IFFEZXNr
dG9wV2ViVmlldyh0b0FQSShwYWdlKCktPnByb2Nlc3MoKS0+Y29udGV4dCgpKSwgdG9BUEkoaW5z
cGVjdG9yUGFnZUdyb3VwKCkpKSk7CisgICAgQVNTRVJUKG1faW5zcGVjdG9yVmlldyk7CisgICAg
bV9pbnNwZWN0b3JWaWV3LT5zZXRYKDApOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0WSgwKTsK
KyAgICBtX2luc3BlY3RvclZpZXctPnNldFdpZHRoKGluaXRpYWxXaW5kb3dXaWR0aCk7CisgICAg
bV9pbnNwZWN0b3JWaWV3LT5zZXRIZWlnaHQoaW5pdGlhbFdpbmRvd0hlaWdodCk7CisgICAgcmV0
dXJuIHRvSW1wbChtX2luc3BlY3RvclZpZXctPnBhZ2VSZWYoKSk7CiB9CiAKIHZvaWQgV2ViSW5z
cGVjdG9yUHJveHk6OnBsYXRmb3JtT3BlbigpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBBU1NFUlQoIW1fdmlldyk7CisgICAgbV92aWV3ID0gYWRvcHRQdHIobmV3IFFTR1ZpZXcpOwor
ICAgIEFTU0VSVChtX3ZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0UGFyZW50SXRlbSht
X3ZpZXctPnJvb3RJdGVtKCkpOworICAgIG1fdmlldy0+c2V0R2VvbWV0cnkoMCwgMCwgaW5pdGlh
bFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93SGVpZ2h0KTsKKyAgICBtX3ZpZXctPnNob3coKTsK
IH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1EaWRDbG9zZSgpCiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX2luc3BlY3RvclZpZXcuY2xlYXIoKTsKKworICAgIGlm
IChtX3ZpZXcpIHsKKyAgICAgICAgbV92aWV3LT5jbG9zZSgpOworICAgICAgICBtX3ZpZXcuY2xl
YXIoKTsKKyAgICB9CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdU
b0Zyb250KCkKQEAgLTU0LDkgKzc1LDkgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1CcmluZ1RvRgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgV2ViSW5zcGVjdG9y
UHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmKQordm9pZCBX
ZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmlu
ZyYgdXJsKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV92aWV3LT5zZXRXaW5kb3dU
aXRsZShRT2JqZWN0Ojp0cigiV2ViIEluc3BlY3RvciAtICUxIikuYXJnKHVybCkpOwogfQogCiB1
bnNpZ25lZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRXaW5kb3dIZWlnaHQo
KQpAQCAtODIsOCArMTAzLDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRB
dHRhYwogCiBTdHJpbmcgV2ViSW5zcGVjdG9yUHJveHk6Omluc3BlY3RvclBhZ2VVUkwoKSBjb25z
dAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFN0cmluZygpOworICAgIHJl
dHVybiAicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rvci5odG1sIjsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NDIwNSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDExLTA4LTMxICBHZW5pc2ltIFRzaWxrZXIgIDxn
ZW5pc2ltQHlhaG9vLmNvbT4KKworICAgICAgICBBZGQgV2ViSW5zcGVjdG9yIHRvIFdlYktpdDIg
TWluaUJyb3dzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY0Mjk3CisgCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorIAorICAg
ICAgICBBZGQgdG8gTWluaUJyb3dzZXIgVUkgdHdvIGNoZWNrIGJveGVzIC0gIkVuYWJsZSBEZXZl
bG9wZXIgRXh0cmFzIiBhbmQKKyAgICAgICAgIlRvZ2dsZSBXZWIgSW5zcGVjdG9yIi4gQXZhaWxh
YmxlIGZvbGxvdyBjb21iaW5hdGlvbiAtCisgICAgICAgIDEuICJFbmFibGUgRGV2ZWxvcGVyIEV4
dHJhcyIgYXZhaWxhYmxlLCBub3Qgc2VsZWN0ZWQKKyAgICAgICAgICAgIlRvZ2dsZSBXZWIgSW5z
cGVjdG9yIiB1bmF2YWlsYWJsZSwgbm90IHNlbGVjdGVkCisgICAgICAgIDIuICJFbmFibGUgRGV2
ZWxvcGVyIEV4dHJhcyIgYXZhaWxhYmxlLCBzZWxlY3RlZAorICAgICAgICAgICAiVG9nZ2xlIFdl
YiBJbnNwZWN0b3IiIGF2YWlsYWJsZSwgbm90IHNlbGVjdGVkCisgICAgICAgIDMuICJFbmFibGUg
RGV2ZWxvcGVyIEV4dHJhcyIgdW5hdmFpbGFibGUsIHNlbGVjdGVkCisgICAgICAgICAgICJUb2dn
bGUgV2ViIEluc3BlY3RvciIgYXZhaWxhYmxlLCBzZWxlY3RlZAorICAgICAgICBVc2VyIGNhbiBz
dGFydCBXZWIgSW5zcGVjdG9yIG9ubGUgYWZ0ZXIgIkVuYWJsZSBEZXZlbG9wZXIgRXh0cmFzIiB3
YXMgc2VsZWN0ZWQKKyAgICAgICAgVXNlciBjYW4ndCBkaXNhYmxlICJFbmFibGUgRGV2ZWxvcGVy
IEV4dHJhcyIgd2hlbiBXZWIgSW5zcGVjdG9yIGlzIHJ1bm5pbmcKKworICAgICAgICAqIE1pbmlC
cm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcDoKKyAgICAgICAgKEJyb3dzZXJWaWV3OjplbmFibGVE
ZXZlbG9wZXJFeHRyYXNNb2RlKToKKyAgICAgICAgKEJyb3dzZXJWaWV3Ojp0b2dnbGVXZWJJbnNw
ZWN0b3JNb2RlKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oOgorICAg
ICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwOgorICAgICAgICAoQnJvd3Nl
cldpbmRvdzo6QnJvd3NlcldpbmRvdyk6CisgICAgICAgIChCcm93c2VyV2luZG93OjpvbkRldmVs
b3BlckV4dHJhc01vZGVDaGFuZ2VkKToKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6Om9uV2ViSW5z
cGVjdG9yTW9kZUNoYW5nZWQpOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6Y2hhbmdlRGV2ZWxv
cGVyRXh0cmFzTW9kZSk6CisgICAgICAgIChCcm93c2VyV2luZG93OjplbmFibGVEZXZlbG9wZXJF
eHRyYXNNb2RlKToKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OnRvZ2dsZVdlYkluc3BlY3Rvck1v
ZGUpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaDoKKwogMjAxMS0w
OC0zMSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIE1vdmUgc3Vt
bWFyeS5odG1sIHRvIGdhcmRlbi1vLW1hdGljLmh0bWwuCkluZGV4OiBUb29scy9NaW5pQnJvd3Nl
ci9xdC9Ccm93c2VyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQv
QnJvd3NlclZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0
L0Jyb3dzZXJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsMjIgQEAgUURlc2t0
b3BXZWJWaWV3KiBCcm93c2VyVmlldzo6ZGVza3RvcFdlYgogICAgIHJldHVybiBxb2JqZWN0X2Nh
c3Q8UURlc2t0b3BXZWJWaWV3Kj4obV9pdGVtKTsKIH0KIAordm9pZCBCcm93c2VyVmlldzo6ZW5h
YmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZGVza3RvcFdl
YlZpZXcoKSkKKyAgICAgICAgZGVza3RvcFdlYlZpZXcoKS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZChlbmFibGUpOworICAgIGVsc2UKKyAgICAgICAgdG91Y2hXZWJWaWV3KCktPnNldERldmVs
b3BlckV4dHJhc0VuYWJsZWQoZW5hYmxlKTsKK30KKwordm9pZCBCcm93c2VyVmlldzo6dG9nZ2xl
V2ViSW5zcGVjdG9yTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZGVza3RvcFdlYlZpZXco
KSkKKyAgICAgICAgZGVza3RvcFdlYlZpZXcoKS0+c2V0V2ViSW5zcGVjdG9yRW5hYmxlZChlbmFi
bGUpOworICAgIGVsc2UKKyAgICAgICAgdG91Y2hXZWJWaWV3KCktPnNldFdlYkluc3BlY3RvckVu
YWJsZWQoZW5hYmxlKTsKK30KKwogUUFjdGlvbiogQnJvd3NlclZpZXc6Om5hdmlnYXRpb25BY3Rp
b24oUXRXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb24gd2hpY2gpIGNvbnN0CiB7CiAgICAgaWYgKGRl
c2t0b3BXZWJWaWV3KCkpCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgJKHJldmlz
aW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTAsNiArNTAsOCBAQCBwdWJsaWM6CiAKICAgICBRVG91Y2hXZWJWaWV3KiB0
b3VjaFdlYlZpZXcoKSBjb25zdDsKICAgICBRRGVza3RvcFdlYlZpZXcqIGRlc2t0b3BXZWJWaWV3
KCkgY29uc3Q7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3JNb2RlKGJvb2wgZW5hYmxlKTsK
KyAgICB2b2lkIGVuYWJsZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCBlbmFibGUpOwogCiBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZUV2ZW50KFFSZXNpemVFdmVudCopOwpJbmRl
eDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHJldmlzaW9uIDkzNjU5KQor
KysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwNCw2ICsxMDQsMjAgQEAgQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyhXaW5kb3dP
cHRpbwogICAgIGNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRGdWxsU2NyZWVuTW9kZShib29s
KSksIHRoaXMsIFNMT1QodG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCkpKTsKIAogICAgIFFNZW51
KiB0b29sc01lbnUgPSBtZW51QmFyKCktPmFkZE1lbnUoIiZEZXZlbG9wIik7CisgICAgbV9lbmFi
bGVEZXZlbG9wZXJFeHRyYXMgPSB0b29sc01lbnUtPmFkZEFjdGlvbigiRW5hYmxlIERldmVsb3Bl
ciBFeHRyYXMiLCB0aGlzLCBTTE9UKG9uRGV2ZWxvcGVyRXh0cmFzTW9kZUNoYW5nZWQoYm9vbCkp
KTsgCisgICAgbV9lbmFibGVEZXZlbG9wZXJFeHRyYXMtPnNldENoZWNrYWJsZSh0cnVlKTsKKyAg
ICBtX2VuYWJsZURldmVsb3BlckV4dHJhcy0+c2V0Q2hlY2tlZChmYWxzZSk7CisgICAgY29ubmVj
dCh0aGlzLCBTSUdOQUwoZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpLCB0aGlzLCBT
TE9UKGVuYWJsZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpKTsKKyAgICAKKyAgICBRQWN0aW9u
KiB0b2dnbGVXZWJJbnNwZWN0b3IgPSB0b29sc01lbnUtPmFkZEFjdGlvbigiU2hvdyBXZWIgSW5z
cGVjdG9yIiwgdGhpcywgU0xPVChvbldlYkluc3BlY3Rvck1vZGVDaGFuZ2VkKGJvb2wpKSk7Cisg
ICAgdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2FibGUodHJ1ZSk7CisgICAgdG9nZ2xlV2Vi
SW5zcGVjdG9yLT5zZXRDaGVja2VkKGZhbHNlKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPnNl
dEVuYWJsZWQoZmFsc2UpOworICAgIHRvZ2dsZVdlYkluc3BlY3Rvci0+Y29ubmVjdCh0aGlzLCBT
SUdOQUwoZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpLCBTTE9UKHNldEVuYWJsZWQo
Ym9vbCkpKTsKKyAgICB0b2dnbGVXZWJJbnNwZWN0b3ItPmNvbm5lY3QodGhpcywgU0lHTkFMKGVu
dGVyZWRXZWJJbnNwZWN0b3JNb2RlKGJvb2wpKSwgU0xPVChzZXRDaGVja2VkKGJvb2wpKSk7Cisg
ICAgbV9lbmFibGVEZXZlbG9wZXJFeHRyYXMtPmNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRX
ZWJJbnNwZWN0b3JNb2RlKGJvb2wpKSwgdGhpcywgU0xPVChjaGFuZ2VEZXZlbG9wZXJFeHRyYXNN
b2RlKGJvb2wpKSk7CisgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZFdlYkluc3BlY3Rv
ck1vZGUoYm9vbCkpLCB0aGlzLCBTTE9UKHRvZ2dsZVdlYkluc3BlY3Rvck1vZGUoYm9vbCkpKTsK
KwogICAgIHRvb2xzTWVudS0+YWRkQWN0aW9uKCJDaGFuZ2UgVXNlciBBZ2VudCIsIHRoaXMsIFNM
T1Qoc2hvd1VzZXJBZ2VudERpYWxvZygpKSk7CiAgICAgdG9vbHNNZW51LT5hZGRTZXBhcmF0b3Io
KTsKICAgICB0b29sc01lbnUtPmFkZEFjdGlvbigiTG9hZCBVUkxzIGZyb20gZmlsZSIsIHRoaXMs
IFNMT1QobG9hZFVSTExpc3RGcm9tRmlsZSgpKSk7CkBAIC0xMzMsNiArMTQ3LDE2IEBAIEJyb3dz
ZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3coV2luZG93T3B0aW8KICAgICBzaG93KCk7CiB9CiAKK3Zv
aWQgQnJvd3NlcldpbmRvdzo6b25EZXZlbG9wZXJFeHRyYXNNb2RlQ2hhbmdlZChib29sIGVuYWJs
ZSkKK3sKKyAgICBlbWl0IGVudGVyZWREZXZlbG9wZXJFeHRyYXNNb2RlKGVuYWJsZSk7Cit9CisK
K3ZvaWQgQnJvd3NlcldpbmRvdzo6b25XZWJJbnNwZWN0b3JNb2RlQ2hhbmdlZChib29sIGVuYWJs
ZSkKK3sKKyAgICBlbWl0IGVudGVyZWRXZWJJbnNwZWN0b3JNb2RlKGVuYWJsZSk7Cit9CisKIHZv
aWQgQnJvd3NlcldpbmRvdzo6bG9hZChjb25zdCBRU3RyaW5nJiB1cmwpCiB7CiAgICAgbV9hZGRy
ZXNzQmFyLT5zZXRUZXh0KHVybCk7CkBAIC0xNTEsNiArMTc1LDExIEBAIEJyb3dzZXJXaW5kb3cq
IEJyb3dzZXJXaW5kb3c6Om5ld1dpbmRvdygKICAgICByZXR1cm4gd2luZG93OwogfQogCit2b2lk
IEJyb3dzZXJXaW5kb3c6OmNoYW5nZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCBlbmFibGUpCit7
CisgICAgbV9lbmFibGVEZXZlbG9wZXJFeHRyYXMtPnNldEVuYWJsZWQoIWVuYWJsZSk7Cit9CisK
IHZvaWQgQnJvd3NlcldpbmRvdzo6b3BlbkxvY2F0aW9uKCkKIHsKICAgICBtX2FkZHJlc3NCYXIt
PnNlbGVjdEFsbCgpOwpAQCAtMjMwLDYgKzI1OSwxNiBAQCB2b2lkIEJyb3dzZXJXaW5kb3c6OnNj
cmVlbnNob3QoKQogICAgIH0KIH0KIAordm9pZCBCcm93c2VyV2luZG93OjplbmFibGVEZXZlbG9w
ZXJFeHRyYXNNb2RlKGJvb2wgZW5hYmxlKQoreworICAgIG1fYnJvd3Nlci0+ZW5hYmxlRGV2ZWxv
cGVyRXh0cmFzTW9kZShlbmFibGUpOworfQorCit2b2lkIEJyb3dzZXJXaW5kb3c6OnRvZ2dsZVdl
Ykluc3BlY3Rvck1vZGUoYm9vbCBlbmFibGUpCit7CisgICAgbV9icm93c2VyLT50b2dnbGVXZWJJ
bnNwZWN0b3JNb2RlKGVuYWJsZSk7Cit9CisKIHZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlRnVs
bFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpCiB7CiAgICAgYm9vbCBhbHJlYWR5RW5hYmxlZCA9IHdp
bmRvd1N0YXRlKCkgJiBRdDo6V2luZG93RnVsbFNjcmVlbjsKSW5kZXg6IFRvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9x
dC9Ccm93c2VyV2luZG93LmgJKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIv
cXQvQnJvd3NlcldpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMCArNDksMTQgQEAgcHVi
bGljOgogCiBwdWJsaWMgc2xvdHM6CiAgICAgQnJvd3NlcldpbmRvdyogbmV3V2luZG93KGNvbnN0
IFFTdHJpbmcmIHVybCA9ICJhYm91dDpibGFuayIpOworICAgIHZvaWQgb25EZXZlbG9wZXJFeHRy
YXNNb2RlQ2hhbmdlZChib29sKTsKKyAgICB2b2lkIG9uV2ViSW5zcGVjdG9yTW9kZUNoYW5nZWQo
Ym9vbCk7CiAgICAgdm9pZCBvcGVuTG9jYXRpb24oKTsKIAogc2lnbmFsczoKICAgICB2b2lkIGVu
dGVyZWRGdWxsU2NyZWVuTW9kZShib29sIG9uKTsKKyAgICB2b2lkIGVudGVyZWRXZWJJbnNwZWN0
b3JNb2RlKGJvb2wgb24pOworICAgIHZvaWQgZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9v
bCBvbik7CiAKIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lkIGNoYW5nZUxvY2F0aW9uKCk7CkBA
IC02Myw2ICs2Nyw5IEBAIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lkIHNjcmVlbnNob3QoKTsK
IAogICAgIHZvaWQgdG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUpOworICAgIHZvaWQg
ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIGVuYWJsZSk7CisgICAgdm9pZCB0b2dnbGVX
ZWJJbnNwZWN0b3JNb2RlKGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIGNoYW5nZURldmVsb3BlckV4
dHJhc01vZGUoYm9vbCk7CiAKICAgICB2b2lkIHNob3dVc2VyQWdlbnREaWFsb2coKTsKIApAQCAt
NzgsNiArODUsOCBAQCBwcml2YXRlOgogICAgIEJyb3dzZXJWaWV3KiBtX2Jyb3dzZXI7CiAgICAg
UUxpbmVFZGl0KiBtX2FkZHJlc3NCYXI7CiAgICAgUVN0cmluZ0xpc3QgbV91c2VyQWdlbnRMaXN0
OworICAgIAorICAgIFFBY3Rpb24qIG1fZW5hYmxlRGV2ZWxvcGVyRXh0cmFzOwogfTsKIAogI2Vu
ZGlmCg==
</data>
<flag name="review"
          id="102049"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105830</attachid>
            <date>2011-08-31 14:44:56 -0700</date>
            <delta_ts>2011-08-31 15:00:35 -0700</delta_ts>
            <desc>Patch to add Web Inspector to WebKit2 updated.</desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>17232</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjM0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMDgtMzEgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnRlZCBXZWIgSW5zcGVjdG9yIGZlYXR1cmUgZm9yIFF0IGJh
c2VkIFdlYktpdDIuCisgICAgICAgIFdpdGggY3VycmVudCBwYXRjaCBXZWIgSW5zcGVjdG9yIHBh
Z2UgdXNpbmcgcWRlc2t0b3B3ZWJ2aWV3IG9ubHkuCisgCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwOgorICAgICAgICAoUURlc2t0b3BXZWJWaWV3OjpzZXRE
ZXZlbG9wZXJFeHRyYXNFbmFibGVkKToKKyAgICAgICAgKFFEZXNrdG9wV2ViVmlldzo6c2V0V2Vi
SW5zcGVjdG9yRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdl
YnZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwOgorICAgICAgICAoUVRv
dWNoV2ViVmlldzo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCk6CisgICAgICAgIChRVG91Y2hX
ZWJWaWV3OjpzZXRXZWJJbnNwZWN0b3JFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L3F0L3F0b3VjaHdlYnZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJv
eHkuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChRdFdlYlBhZ2VQ
cm94eTo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCk6CisgICAgICAgIChRdFdlYlBhZ2VQcm94
eTo6c2V0V2ViSW5zcGVjdG9yRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJ
bnNwZWN0b3JQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtT3Blbik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURp
ZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5z
cGVjdGVkVVJMQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5Ojpp
bnNwZWN0b3JQYWdlVVJMKToKKwogMjAxMS0wOC0zMCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY3MTUwCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQ
cm94eS5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykluc3BlY3RvclByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksMTEgKzI5LDExIEBACiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKIAogI2luY2x1ZGUgIldlYkluc3BlY3Rvck1lc3NhZ2VzLmgi
Ci0jaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycy5oIgorI2luY2x1ZGUgIldlYlBhZ2VHcm91cC5oIgorI2luY2x1ZGUgIldlYlBhZ2VQ
cm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vz
c1Byb3h5LmgiCi0jaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCiAKICNpZiBQTEFURk9STShXSU4p
CiAjaW5jbHVkZSAiV2ViVmlldy5oIgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykluc3BlY3RvclByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkluc3BlY3RvclByb3h5LmgJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMx
LDggQEAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDYsNiArNDgsMTEgQEAgT0JKQ19DTEFTUyBXZWJJbnNw
ZWN0b3JXS1ZpZXc7CiAjaW5jbHVkZSA8V2ViQ29yZS9XaW5kb3dNZXNzYWdlTGlzdGVuZXIuaD4K
ICNlbmRpZgogCisjaWYgUExBVEZPUk0oUVQpCisjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+
CisjaW5jbHVkZSA8cXNndmlldy5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBXZWJQYWdlR3JvdXA7CkBAIC0xNzQsNiArMTgxLDkgQEAgcHJpdmF0ZToKICNlbGlmIFBM
QVRGT1JNKFdJTikKICAgICBIV05EIG1faW5zcGVjdG9yV2luZG93OwogICAgIFJlZlB0cjxXZWJW
aWV3PiBtX2luc3BlY3RvclZpZXc7CisjZWxpZiBQTEFURk9STShRVCkKKyAgICBPd25QdHI8UURl
c2t0b3BXZWJWaWV3PiBtX2luc3BlY3RvclZpZXc7CisgICAgT3duUHRyPFFTR1ZpZXc+IG1fdmll
dzsKICNlbmRpZgogfTsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
ZGVza3RvcHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI5OSw2ICsyOTksMTYgQEAgdm9pZCBRRGVza3RvcFdlYlZpZXc6OndoZWVsRXZlbnQo
UVdoZWVsRQogICAgIHRoaXMtPmV2ZW50KCZncmFwaGljc0V2ZW50KTsKIH0KIAordm9pZCBRRGVz
a3RvcFdlYlZpZXc6OnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCBlbmFibGUpCit7Cisg
ICAgZC0+cGFnZS5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGVuYWJsZSk7Cit9CisKK3ZvaWQg
UURlc2t0b3BXZWJWaWV3OjpzZXRXZWJJbnNwZWN0b3JFbmFibGVkKGJvb2wgZW5hYmxlKQorewor
ICAgIGQtPnBhZ2Uuc2V0V2ViSW5zcGVjdG9yRW5hYmxlZChlbmFibGUpOworfQorCiB2b2lkIFFE
ZXNrdG9wV2ViVmlldzo6dG91Y2hFdmVudChRVG91Y2hFdmVudCogZXZlbnQpCiB7CiAgICAgdGhp
cy0+ZXZlbnQoZXZlbnQpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
ZGVza3RvcHdlYnZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ4LDYgKzQ4LDEwIEBAIG5hbWVzcGFjZSBXVFIgewogICAgIGNsYXNzIFdlYlZpZXc7CiB9CiAK
K25hbWVzcGFjZSBXZWJLaXQgeworICAgIGNsYXNzIFdlYkluc3BlY3RvclByb3h5OworfQorCiBj
bGFzcyBRV0VCS0lUX0VYUE9SVCBRRGVza3RvcFdlYlZpZXcgOiBwdWJsaWMgUVNHUGFpbnRlZEl0
ZW0gewogICAgIFFfT0JKRUNUCiAgICAgUV9QUk9QRVJUWShRU3RyaW5nIHRpdGxlIFJFQUQgdGl0
bGUgTk9USUZZIHRpdGxlQ2hhbmdlZCkKQEAgLTY2LDYgKzcwLDkgQEAgcHVibGljOgogICAgIFFE
ZXNrdG9wV2ViVmlldyhRU0dJdGVtKiBwYXJlbnQgPSAwKTsKICAgICB2aXJ0dWFsIH5RRGVza3Rv
cFdlYlZpZXcoKTsKIAorICAgIHZvaWQgc2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChib29sKTsK
KyAgICB2b2lkIHNldFdlYkluc3BlY3RvckVuYWJsZWQoYm9vbCk7CisgICAgCiAgICAgUVVybCB1
cmwoKSBjb25zdDsKICAgICBRU3RyaW5nIHRpdGxlKCkgY29uc3Q7CiAgICAgaW50IGxvYWRQcm9n
cmVzcygpIGNvbnN0OwpAQCAtMTE0LDYgKzEyMSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGlu
aXQoKTsKIAorICAgIGZyaWVuZCBjbGFzcyBXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OwogICAg
IGZyaWVuZCBjbGFzcyBXVFI6OldlYlZpZXc7CiAgICAgZnJpZW5kIGNsYXNzIFFEZXNrdG9wV2Vi
Vmlld1ByaXZhdGU7CiAgICAgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZSAqZDsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2VicGFnZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2VicGFnZS5oCShyZXZpc2lv
biA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2VicGFn
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04MSw2ICs4MSw3IEBAIHByaXZhdGU6CiAgICAgUV9QUklW
QVRFX1NMT1QoZCwgdm9pZCBfcV9jb21taXRTY2FsZUNoYW5nZSgpKTsKIAogICAgIFFUb3VjaFdl
YlBhZ2VQcml2YXRlKiBkOworICAgIGZyaWVuZCBjbGFzcyBRVG91Y2hXZWJWaWV3OwogICAgIGZy
aWVuZCBjbGFzcyBRVG91Y2hXZWJWaWV3UHJpdmF0ZTsKICAgICBmcmllbmQgY2xhc3MgV2ViS2l0
OjpUb3VjaFZpZXdJbnRlcmZhY2U7CiB9OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTExMSw0ICsxMTEsMTQgQEAgdm9pZCBRVG91Y2hXZWJWaWV3OjpnZW9tZXRyeUNo
YW5nZWQoY29ucwogICAgIH0KIH0KIAordm9pZCBRVG91Y2hXZWJWaWV3OjpzZXREZXZlbG9wZXJF
eHRyYXNFbmFibGVkKGJvb2wgZW5hYmxlKQoreworICAgIGQtPnBhZ2Uuc2V0RGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZChlbmFibGUpOworfQorCit2b2lkIFFUb3VjaFdlYlZpZXc6OnNldFdlYkluc3Bl
Y3RvckVuYWJsZWQoYm9vbCBlbmFibGUpCit7CisgICAgZC0+cGFnZS5zZXRXZWJJbnNwZWN0b3JF
bmFibGVkKGVuYWJsZSk7Cit9CisKICNpbmNsdWRlICJtb2NfcXRvdWNod2Vidmlldy5jcHAiCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcu
aAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0
b3VjaHdlYnZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAg
ICAgflFUb3VjaFdlYlZpZXcoKTsKIAogICAgIFFUb3VjaFdlYlBhZ2UgKnBhZ2UoKTsKKyAgICB2
b2lkIHNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCk7CisgICAgdm9pZCBzZXRXZWJJbnNw
ZWN0b3JFbmFibGVkKGJvb2wpOwogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGdlb21l
dHJ5Q2hhbmdlZChjb25zdCBRUmVjdEYmLCBjb25zdCBRUmVjdEYmKTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gOTM2
NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01NCw2ICs1NCw5IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnRGF0
YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9O
b3RJbXBsZW1lbnRlZC5oPgorI2luY2x1ZGUgPFdlYkluc3BlY3RvclByb3h5Lmg+CisjaW5jbHVk
ZSA8V2ViUGFnZUdyb3VwLmg+CisjaW5jbHVkZSA8V2ViUHJlZmVyZW5jZXMuaD4KICNpbmNsdWRl
IDxXZWJLaXQyL1dLRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLUGFnZUdyb3VwLmg+CiAj
aW5jbHVkZSA8V2ViS2l0Mi9XS1JldGFpblB0ci5oPgpAQCAtNzM0LDQgKzczNywxNyBAQCB2b2lk
IFF0V2ViUGFnZVByb3h5OjpzZXRQYWdlSXNWaXNpYmxlKGJvCiAgICAgbV93ZWJQYWdlUHJveHkt
PmRyYXdpbmdBcmVhKCktPnNldFBhZ2VJc1Zpc2libGUoaXNWaXNpYmxlKTsKIH0KIAordm9pZCBR
dFdlYlBhZ2VQcm94eTo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChib29sIGVuYWJsZSkKK3sK
KyAgICBtX3dlYlBhZ2VQcm94eS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldERldmVs
b3BlckV4dHJhc0VuYWJsZWQoZW5hYmxlKTsKK30KKwordm9pZCBRdFdlYlBhZ2VQcm94eTo6c2V0
V2ViSW5zcGVjdG9yRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZW5hYmxlKQorICAg
ICAgICBtX3dlYlBhZ2VQcm94eS0+aW5zcGVjdG9yKCktPnNob3coKTsKKyAgICBlbHNlCisgICAg
ICAgIG1fd2ViUGFnZVByb3h5LT5pbnNwZWN0b3IoKS0+Y2xvc2UoKTsKK30KKwogI2luY2x1ZGUg
Im1vY19RdFdlYlBhZ2VQcm94eS5jcHAiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRXZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXRXZWJQYWdlUHJveHkuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMTU3LDYg
KzE1Nyw5IEBAIHB1YmxpYzoKIAogICAgIFFTdHJpbmcgdGl0bGUoKSBjb25zdDsKIAorICAgIHZv
aWQgc2V0V2ViSW5zcGVjdG9yRW5hYmxlZChib29sKTsKKyAgICB2b2lkIHNldERldmVsb3BlckV4
dHJhc0VuYWJsZWQoYm9vbCk7CisgICAgCiAgICAgUUFjdGlvbiogbmF2aWdhdGlvbkFjdGlvbihR
dFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbikgY29uc3Q7CiAKICAgICBRQWN0aW9uKiBhY3Rpb24o
V2ViQWN0aW9uIGFjdGlvbikgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjUsMjggKzI1LDQ3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5o
IgogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAorI2luY2x1ZGUgPFF0RGVjbGFyYXRpdmUvcXNn
dmlldy5oPgorI2luY2x1ZGUgPHFkZXNrdG9wd2Vidmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
Tm90SW1wbGVtZW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBXZWJQYWdl
UHJveHkqIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2UoKQog
ewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgQVNTRVJUKG1fcGFn
ZSk7CisgICAgQVNTRVJUKCFtX2luc3BlY3RvclZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldyA9
IGFkb3B0UHRyKG5ldyBRRGVza3RvcFdlYlZpZXcodG9BUEkocGFnZSgpLT5wcm9jZXNzKCktPmNv
bnRleHQoKSksIHRvQVBJKGluc3BlY3RvclBhZ2VHcm91cCgpKSkpOworICAgIG1faW5zcGVjdG9y
Vmlldy0+c2V0WCgwKTsKKyAgICBtX2luc3BlY3RvclZpZXctPnNldFkoMCk7CisgICAgbV9pbnNw
ZWN0b3JWaWV3LT5zZXRXaWR0aChpbml0aWFsV2luZG93V2lkdGgpOworICAgIG1faW5zcGVjdG9y
Vmlldy0+c2V0SGVpZ2h0KGluaXRpYWxXaW5kb3dIZWlnaHQpOworICAgIHJldHVybiB0b0ltcGwo
bV9pbnNwZWN0b3JWaWV3LT5wYWdlUmVmKCkpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5
OjpwbGF0Zm9ybU9wZW4oKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgQVNTRVJUKCFt
X3ZpZXcpOworICAgIG1fdmlldyA9IGFkb3B0UHRyKG5ldyBRU0dWaWV3KTsKKyAgICBtX2luc3Bl
Y3RvclZpZXctPnNldFBhcmVudEl0ZW0obV92aWV3LT5yb290SXRlbSgpKTsKKyAgICBtX3ZpZXct
PnNldEdlb21ldHJ5KDAsIDAsIGluaXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hlaWdo
dCk7CisgICAgbV92aWV3LT5zaG93KCk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBs
YXRmb3JtRGlkQ2xvc2UoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9pbnNwZWN0
b3JWaWV3LmNsZWFyKCk7CisKKyAgICBpZiAobV92aWV3KSB7CisgICAgICAgIG1fdmlldy0+Y2xv
c2UoKTsKKyAgICAgICAgbV92aWV3LmNsZWFyKCk7CisgICAgfQogfQogCiB2b2lkIFdlYkluc3Bl
Y3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpCkBAIC01NCw5ICs3Myw5IEBAIHZvaWQg
V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0YKICAgICBub3RJbXBsZW1lbnRlZCgp
OwogfQogCi12b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5n
ZWQoY29uc3QgU3RyaW5nJikKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVj
dGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmIHVybCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIG1fdmlldy0+c2V0V2luZG93VGl0bGUoUU9iamVjdDo6dHIoIldlYiBJbnNwZWN0b3Ig
LSAlMSIpLmFyZyh1cmwpKTsKIH0KIAogdW5zaWduZWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtSW5zcGVjdGVkV2luZG93SGVpZ2h0KCkKQEAgLTgyLDggKzEwMSw3IEBAIHZvaWQgV2ViSW5z
cGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0QXR0YWMKIAogU3RyaW5nIFdlYkluc3BlY3RvclByb3h5
OjppbnNwZWN0b3JQYWdlVVJMKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
IHJldHVybiBTdHJpbmcoKTsKKyAgICByZXR1cm4gInFyYzovd2Via2l0L2luc3BlY3Rvci9pbnNw
ZWN0b3IuaHRtbCI7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogVG9vbHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gOTQyMzQpCisr
KyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzNCBAQAorMjAxMS0w
OC0zMSAgR2VuaXNpbSBUc2lsa2VyICA8Z2VuaXNpbUB5YWhvby5jb20+CisKKyAgICAgICAgQWRk
IFdlYkluc3BlY3RvciB0byBXZWJLaXQyIE1pbmlCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDI5NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0byBNaW5pQnJvd3NlciBVSSB0d28gY2hl
Y2sgYm94ZXMgLSAiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiIGFuZAorICAgICAgICAiVG9nZ2xl
IFdlYiBJbnNwZWN0b3IiLiBBdmFpbGFibGUgZm9sbG93IGNvbWJpbmF0aW9uIC0KKyAgICAgICAg
MS4gIkVuYWJsZSBEZXZlbG9wZXIgRXh0cmFzIiBhdmFpbGFibGUsIG5vdCBzZWxlY3RlZAorICAg
ICAgICAgICAiVG9nZ2xlIFdlYiBJbnNwZWN0b3IiIHVuYXZhaWxhYmxlLCBub3Qgc2VsZWN0ZWQK
KyAgICAgICAgMi4gIkVuYWJsZSBEZXZlbG9wZXIgRXh0cmFzIiBhdmFpbGFibGUsIHNlbGVjdGVk
CisgICAgICAgICAgICAiVG9nZ2xlIFdlYiBJbnNwZWN0b3IiIGF2YWlsYWJsZSwgbm90IHNlbGVj
dGVkCisgICAgICAgIDMuICJFbmFibGUgRGV2ZWxvcGVyIEV4dHJhcyIgdW5hdmFpbGFibGUsIHNl
bGVjdGVkCisgICAgICAgICAgICJUb2dnbGUgV2ViIEluc3BlY3RvciIgYXZhaWxhYmxlLCBzZWxl
Y3RlZAorICAgICAgICBVc2VyIGNhbiBzdGFydCBXZWIgSW5zcGVjdG9yIG9ubHkgYWZ0ZXIgIkVu
YWJsZSBEZXZlbG9wZXIgRXh0cmFzIiB3YXMgc2VsZWN0ZWQKKyAgICAgICAgVXNlciBjYW4ndCBk
aXNhYmxlICJFbmFibGUgRGV2ZWxvcGVyIEV4dHJhcyIgd2hlbiBXZWIgSW5zcGVjdG9yIGlzIHJ1
bm5pbmcKKworICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcDoKKyAgICAg
ICAgKEJyb3dzZXJWaWV3OjplbmFibGVEZXZlbG9wZXJFeHRyYXNNb2RlKToKKyAgICAgICAgKEJy
b3dzZXJWaWV3Ojp0b2dnbGVXZWJJbnNwZWN0b3JNb2RlKToKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9xdC9Ccm93c2VyVmlldy5oOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5k
b3cuY3BwOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyk6CisgICAgICAg
IChCcm93c2VyV2luZG93OjpvbkRldmVsb3BlckV4dHJhc01vZGVDaGFuZ2VkKToKKyAgICAgICAg
KEJyb3dzZXJXaW5kb3c6Om9uV2ViSW5zcGVjdG9yTW9kZUNoYW5nZWQpOgorICAgICAgICAoQnJv
d3NlcldpbmRvdzo6Y2hhbmdlRGV2ZWxvcGVyRXh0cmFzTW9kZSk6CisgICAgICAgIChCcm93c2Vy
V2luZG93OjplbmFibGVEZXZlbG9wZXJFeHRyYXNNb2RlKToKKyAgICAgICAgKEJyb3dzZXJXaW5k
b3c6OnRvZ2dsZVdlYkluc3BlY3Rvck1vZGUpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jy
b3dzZXJXaW5kb3cuaDoKKwogMjAxMS0wOC0zMSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgQWRkIHF1ZXVlcy53ZWJraXQub3JnL2FjdGl2ZS1ib3RzIHBhZ2UgdG8g
bWFrZSBpdCBlYXN5IHRvIHNlZSB3aGljaCBib3RzIGFyZSBkb3duCkluZGV4OiBUb29scy9NaW5p
QnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dz
ZXIvcXQvQnJvd3NlclZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsMjIgQEAg
UURlc2t0b3BXZWJWaWV3KiBCcm93c2VyVmlldzo6ZGVza3RvcFdlYgogICAgIHJldHVybiBxb2Jq
ZWN0X2Nhc3Q8UURlc2t0b3BXZWJWaWV3Kj4obV9pdGVtKTsKIH0KIAordm9pZCBCcm93c2VyVmll
dzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZGVz
a3RvcFdlYlZpZXcoKSkKKyAgICAgICAgZGVza3RvcFdlYlZpZXcoKS0+c2V0RGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZChlbmFibGUpOworICAgIGVsc2UKKyAgICAgICAgdG91Y2hXZWJWaWV3KCktPnNl
dERldmVsb3BlckV4dHJhc0VuYWJsZWQoZW5hYmxlKTsKK30KKwordm9pZCBCcm93c2VyVmlldzo6
dG9nZ2xlV2ViSW5zcGVjdG9yTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZGVza3RvcFdl
YlZpZXcoKSkKKyAgICAgICAgZGVza3RvcFdlYlZpZXcoKS0+c2V0V2ViSW5zcGVjdG9yRW5hYmxl
ZChlbmFibGUpOworICAgIGVsc2UKKyAgICAgICAgdG91Y2hXZWJWaWV3KCktPnNldFdlYkluc3Bl
Y3RvckVuYWJsZWQoZW5hYmxlKTsKK30KKwogUUFjdGlvbiogQnJvd3NlclZpZXc6Om5hdmlnYXRp
b25BY3Rpb24oUXRXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb24gd2hpY2gpIGNvbnN0CiB7CiAgICAg
aWYgKGRlc2t0b3BXZWJWaWV3KCkpCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2Vy
Vmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgJ
KHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAko
d29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsOCBAQCBwdWJsaWM6CiAKICAgICBRVG91Y2hXZWJW
aWV3KiB0b3VjaFdlYlZpZXcoKSBjb25zdDsKICAgICBRRGVza3RvcFdlYlZpZXcqIGRlc2t0b3BX
ZWJWaWV3KCkgY29uc3Q7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3JNb2RlKGJvb2wgZW5h
YmxlKTsKKyAgICB2b2lkIGVuYWJsZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCBlbmFibGUpOwog
CiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZUV2ZW50KFFSZXNpemVFdmVudCop
OwpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHJldmlzaW9uIDkz
NjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNCw2ICsxMDQsMTcgQEAgQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyhX
aW5kb3dPcHRpbwogICAgIGNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRGdWxsU2NyZWVuTW9k
ZShib29sKSksIHRoaXMsIFNMT1QodG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCkpKTsKIAogICAg
IFFNZW51KiB0b29sc01lbnUgPSBtZW51QmFyKCktPmFkZE1lbnUoIiZEZXZlbG9wIik7CisgICAg
bV9lbmFibGVEZXZlbG9wZXJFeHRyYXMgPSB0b29sc01lbnUtPmFkZEFjdGlvbigiRW5hYmxlIERl
dmVsb3BlciBFeHRyYXMiLCB0aGlzLCBTTE9UKG9uRGV2ZWxvcGVyRXh0cmFzTW9kZUNoYW5nZWQo
Ym9vbCkpKTsgCisgICAgbV9lbmFibGVEZXZlbG9wZXJFeHRyYXMtPnNldENoZWNrYWJsZSh0cnVl
KTsKKyAgICBtX2VuYWJsZURldmVsb3BlckV4dHJhcy0+c2V0Q2hlY2tlZChmYWxzZSk7CisgICAg
Y29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpLCB0
aGlzLCBTTE9UKGVuYWJsZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpKTsKKyAgICAKKyAgICBt
X3RvZ2dsZVdlYkluc3BlY3RvciA9IHRvb2xzTWVudS0+YWRkQWN0aW9uKCJUb2dnbGUgV2ViIElu
c3BlY3RvciIsIHRoaXMsIFNMT1Qob25XZWJJbnNwZWN0b3JNb2RlQ2hhbmdlZChib29sKSkpOwor
ICAgIG1fdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2FibGUodHJ1ZSk7CisgICAgbV90b2dn
bGVXZWJJbnNwZWN0b3ItPnNldENoZWNrZWQoZmFsc2UpOworICAgIG1fdG9nZ2xlV2ViSW5zcGVj
dG9yLT5zZXRFbmFibGVkKGZhbHNlKTsKKyAgICBjb25uZWN0KHRoaXMsIFNJR05BTChlbnRlcmVk
V2ViSW5zcGVjdG9yTW9kZShib29sKSksIHRoaXMsIFNMT1QodG9nZ2xlV2ViSW5zcGVjdG9yTW9k
ZShib29sKSkpOworCiAgICAgdG9vbHNNZW51LT5hZGRBY3Rpb24oIkNoYW5nZSBVc2VyIEFnZW50
IiwgdGhpcywgU0xPVChzaG93VXNlckFnZW50RGlhbG9nKCkpKTsKICAgICB0b29sc01lbnUtPmFk
ZFNlcGFyYXRvcigpOwogICAgIHRvb2xzTWVudS0+YWRkQWN0aW9uKCJMb2FkIFVSTHMgZnJvbSBm
aWxlIiwgdGhpcywgU0xPVChsb2FkVVJMTGlzdEZyb21GaWxlKCkpKTsKQEAgLTEzMyw2ICsxNDQs
MjAgQEAgQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyhXaW5kb3dPcHRpbwogICAgIHNob3co
KTsKIH0KIAordm9pZCBCcm93c2VyV2luZG93OjpvbkRldmVsb3BlckV4dHJhc01vZGVDaGFuZ2Vk
KGJvb2wgZW5hYmxlKQoreworICAgIG1fZW5hYmxlRGV2ZWxvcGVyRXh0cmFzLT5zZXRDaGVja2Vk
KGVuYWJsZSk7CisgICAgbV90b2dnbGVXZWJJbnNwZWN0b3ItPnNldEVuYWJsZWQoZW5hYmxlKTsK
KyAgICBlbWl0IGVudGVyZWREZXZlbG9wZXJFeHRyYXNNb2RlKGVuYWJsZSk7Cit9CisKK3ZvaWQg
QnJvd3NlcldpbmRvdzo6b25XZWJJbnNwZWN0b3JNb2RlQ2hhbmdlZChib29sIGVuYWJsZSkKK3sK
KyAgICBtX3RvZ2dsZVdlYkluc3BlY3Rvci0+c2V0Q2hlY2tlZChlbmFibGUpOworICAgIG1fZW5h
YmxlRGV2ZWxvcGVyRXh0cmFzLT5zZXRFbmFibGVkKCFlbmFibGUpOworICAgIGVtaXQgZW50ZXJl
ZFdlYkluc3BlY3Rvck1vZGUoZW5hYmxlKTsKK30KKwogdm9pZCBCcm93c2VyV2luZG93Ojpsb2Fk
KGNvbnN0IFFTdHJpbmcmIHVybCkKIHsKICAgICBtX2FkZHJlc3NCYXItPnNldFRleHQodXJsKTsK
QEAgLTE1MSw2ICsxNzYsMTEgQEAgQnJvd3NlcldpbmRvdyogQnJvd3NlcldpbmRvdzo6bmV3V2lu
ZG93KAogICAgIHJldHVybiB3aW5kb3c7CiB9CiAKK3ZvaWQgQnJvd3NlcldpbmRvdzo6Y2hhbmdl
RGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBtX2VuYWJsZURldmVsb3Bl
ckV4dHJhcy0+c2V0RW5hYmxlZCghZW5hYmxlKTsKK30KKwogdm9pZCBCcm93c2VyV2luZG93Ojpv
cGVuTG9jYXRpb24oKQogewogICAgIG1fYWRkcmVzc0Jhci0+c2VsZWN0QWxsKCk7CkBAIC0yMzAs
NiArMjYwLDE2IEBAIHZvaWQgQnJvd3NlcldpbmRvdzo6c2NyZWVuc2hvdCgpCiAgICAgfQogfQog
Cit2b2lkIEJyb3dzZXJXaW5kb3c6OmVuYWJsZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCBlbmFi
bGUpCit7CisgICAgbV9icm93c2VyLT5lbmFibGVEZXZlbG9wZXJFeHRyYXNNb2RlKGVuYWJsZSk7
Cit9CisKK3ZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlV2ViSW5zcGVjdG9yTW9kZShib29sIGVu
YWJsZSkKK3sKKyAgICBtX2Jyb3dzZXItPnRvZ2dsZVdlYkluc3BlY3Rvck1vZGUoZW5hYmxlKTsK
K30KKwogdm9pZCBCcm93c2VyV2luZG93Ojp0b2dnbGVGdWxsU2NyZWVuTW9kZShib29sIGVuYWJs
ZSkKIHsKICAgICBib29sIGFscmVhZHlFbmFibGVkID0gd2luZG93U3RhdGUoKSAmIFF0OjpXaW5k
b3dGdWxsU2NyZWVuOwpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAkocmV2
aXNpb24gOTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ5LDEwICs0OSwxNCBAQCBwdWJsaWM6CiAKIHB1YmxpYyBzbG90czoK
ICAgICBCcm93c2VyV2luZG93KiBuZXdXaW5kb3coY29uc3QgUVN0cmluZyYgdXJsID0gImFib3V0
OmJsYW5rIik7CisgICAgdm9pZCBvbkRldmVsb3BlckV4dHJhc01vZGVDaGFuZ2VkKGJvb2wpOwor
ICAgIHZvaWQgb25XZWJJbnNwZWN0b3JNb2RlQ2hhbmdlZChib29sKTsKICAgICB2b2lkIG9wZW5M
b2NhdGlvbigpOwogCiBzaWduYWxzOgogICAgIHZvaWQgZW50ZXJlZEZ1bGxTY3JlZW5Nb2RlKGJv
b2wgb24pOworICAgIHZvaWQgZW50ZXJlZFdlYkluc3BlY3Rvck1vZGUoYm9vbCBvbik7CisgICAg
dm9pZCBlbnRlcmVkRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIG9uKTsKIAogcHJvdGVjdGVkIHNs
b3RzOgogICAgIHZvaWQgY2hhbmdlTG9jYXRpb24oKTsKQEAgLTYzLDYgKzY3LDkgQEAgcHJvdGVj
dGVkIHNsb3RzOgogICAgIHZvaWQgc2NyZWVuc2hvdCgpOwogCiAgICAgdm9pZCB0b2dnbGVGdWxs
U2NyZWVuTW9kZShib29sIGVuYWJsZSk7CisgICAgdm9pZCBlbmFibGVEZXZlbG9wZXJFeHRyYXNN
b2RlKGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIHRvZ2dsZVdlYkluc3BlY3Rvck1vZGUoYm9vbCBl
bmFibGUpOworICAgIHZvaWQgY2hhbmdlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sKTsKIAogICAg
IHZvaWQgc2hvd1VzZXJBZ2VudERpYWxvZygpOwogCkBAIC03OCw2ICs4NSw5IEBAIHByaXZhdGU6
CiAgICAgQnJvd3NlclZpZXcqIG1fYnJvd3NlcjsKICAgICBRTGluZUVkaXQqIG1fYWRkcmVzc0Jh
cjsKICAgICBRU3RyaW5nTGlzdCBtX3VzZXJBZ2VudExpc3Q7CisgICAgCisgICAgUUFjdGlvbiog
bV9lbmFibGVEZXZlbG9wZXJFeHRyYXM7CisgICAgUUFjdGlvbiogbV90b2dnbGVXZWJJbnNwZWN0
b3I7CiB9OwogCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105836</attachid>
            <date>2011-08-31 15:00:35 -0700</date>
            <delta_ts>2011-08-31 16:08:15 -0700</delta_ts>
            <desc>Patch to add Web Inspector to WebKit2 updated.</desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>16858</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjM3KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMDgtMzEgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnRlZCBXZWIgSW5zcGVjdG9yIGZlYXR1cmUgZm9yIFF0IGJh
c2VkIFdlYktpdDIuCisgICAgICAgIFdpdGggY3VycmVudCBwYXRjaCBXZWIgSW5zcGVjdG9yIHBh
Z2UgdXNpbmcgcWRlc2t0b3B3ZWJ2aWV3IG9ubHkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L3F0L3FkZXNrdG9wd2Vidmlldy5jcHA6CisgICAgICAgIChRRGVza3RvcFdlYlZpZXc6OnNldERl
dmVsb3BlckV4dHJhc0VuYWJsZWQpOgorICAgICAgICAoUURlc2t0b3BXZWJWaWV3OjpzZXRXZWJJ
bnNwZWN0b3JFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vi
dmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2VicGFnZS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHA6CisgICAgICAgIChRVG91
Y2hXZWJWaWV3OjpzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKToKKyAgICAgICAgKFFUb3VjaFdl
YlZpZXc6OnNldFdlYkluc3BlY3RvckVuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvcXRvdWNod2Vidmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94
eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFF0V2ViUGFnZVBy
b3h5OjpzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKToKKyAgICAgICAgKFF0V2ViUGFnZVByb3h5
OjpzZXRXZWJJbnNwZWN0b3JFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQ
YWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUlu
c3BlY3RvclBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1PcGVuKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGlk
Q2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNw
ZWN0ZWRVUkxDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6Omlu
c3BlY3RvclBhZ2VVUkwpOgorCiAyMDExLTA4LTMwICBCZXRoIERha2luICA8YmRha2luQGFwcGxl
LmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjcxNTAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclBy
b3h5LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTEgQEAKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yTWVzc2FnZXMuaCIK
LSNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzLmgiCisjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCisjaW5jbHVkZSAiV2ViUGFnZVBy
b3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNz
UHJveHkuaCIKLSNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKIAogI2lmIFBMQVRGT1JNKFdJTikK
ICNpbmNsdWRlICJXZWJWaWV3LmgiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViSW5zcGVjdG9yUHJveHkuaAkocmV2aXNpb24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEs
OCBAQAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00Niw2ICs0OCwxMSBAQCBPQkpDX0NMQVNTIFdlYkluc3Bl
Y3RvcldLVmlldzsKICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01lc3NhZ2VMaXN0ZW5lci5oPgog
I2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKKyNpbmNsdWRlIDxxZGVza3RvcHdlYnZpZXcuaD4K
KyNpbmNsdWRlIDxxc2d2aWV3Lmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNs
YXNzIFdlYlBhZ2VHcm91cDsKQEAgLTE3NCw2ICsxODEsOSBAQCBwcml2YXRlOgogI2VsaWYgUExB
VEZPUk0oV0lOKQogICAgIEhXTkQgbV9pbnNwZWN0b3JXaW5kb3c7CiAgICAgUmVmUHRyPFdlYlZp
ZXc+IG1faW5zcGVjdG9yVmlldzsKKyNlbGlmIFBMQVRGT1JNKFFUKQorICAgIE93blB0cjxRRGVz
a3RvcFdlYlZpZXc+IG1faW5zcGVjdG9yVmlldzsKKyAgICBPd25QdHI8UVNHVmlldz4gbV92aWV3
OwogI2VuZGlmCiB9OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fk
ZXNrdG9wd2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjk5LDYgKzI5OSwxNiBAQCB2b2lkIFFEZXNrdG9wV2ViVmlldzo6d2hlZWxFdmVudChR
V2hlZWxFCiAgICAgdGhpcy0+ZXZlbnQoJmdyYXBoaWNzRXZlbnQpOwogfQogCit2b2lkIFFEZXNr
dG9wV2ViVmlldzo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAg
ICBkLT5wYWdlLnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoZW5hYmxlKTsKK30KKwordm9pZCBR
RGVza3RvcFdlYlZpZXc6OnNldFdlYkluc3BlY3RvckVuYWJsZWQoYm9vbCBlbmFibGUpCit7Cisg
ICAgZC0+cGFnZS5zZXRXZWJJbnNwZWN0b3JFbmFibGVkKGVuYWJsZSk7Cit9CisKIHZvaWQgUURl
c2t0b3BXZWJWaWV3Ojp0b3VjaEV2ZW50KFFUb3VjaEV2ZW50KiBldmVudCkKIHsKICAgICB0aGlz
LT5ldmVudChldmVudCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fk
ZXNrdG9wd2Vidmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAt
NDgsNiArNDgsMTAgQEAgbmFtZXNwYWNlIFdUUiB7CiAgICAgY2xhc3MgV2ViVmlldzsKIH0KIAor
bmFtZXNwYWNlIFdlYktpdCB7CisgICAgY2xhc3MgV2ViSW5zcGVjdG9yUHJveHk7Cit9CisKIGNs
YXNzIFFXRUJLSVRfRVhQT1JUIFFEZXNrdG9wV2ViVmlldyA6IHB1YmxpYyBRU0dQYWludGVkSXRl
bSB7CiAgICAgUV9PQkpFQ1QKICAgICBRX1BST1BFUlRZKFFTdHJpbmcgdGl0bGUgUkVBRCB0aXRs
ZSBOT1RJRlkgdGl0bGVDaGFuZ2VkKQpAQCAtNjYsNiArNzAsOSBAQCBwdWJsaWM6CiAgICAgUURl
c2t0b3BXZWJWaWV3KFFTR0l0ZW0qIHBhcmVudCA9IDApOwogICAgIHZpcnR1YWwgflFEZXNrdG9w
V2ViVmlldygpOwogCisgICAgdm9pZCBzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGJvb2wpOwor
ICAgIHZvaWQgc2V0V2ViSW5zcGVjdG9yRW5hYmxlZChib29sKTsKKyAgICAKICAgICBRVXJsIHVy
bCgpIGNvbnN0OwogICAgIFFTdHJpbmcgdGl0bGUoKSBjb25zdDsKICAgICBpbnQgbG9hZFByb2dy
ZXNzKCkgY29uc3Q7CkBAIC0xMTQsNiArMTIxLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgaW5p
dCgpOwogCisgICAgZnJpZW5kIGNsYXNzIFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk7CiAgICAg
ZnJpZW5kIGNsYXNzIFdUUjo6V2ViVmlldzsKICAgICBmcmllbmQgY2xhc3MgUURlc2t0b3BXZWJW
aWV3UHJpdmF0ZTsKICAgICBRRGVza3RvcFdlYlZpZXdQcml2YXRlICpkOwpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJwYWdlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJwYWdlLmgJKHJldmlzaW9u
IDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJwYWdl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDYgKzgxLDcgQEAgcHJpdmF0ZToKICAgICBRX1BSSVZB
VEVfU0xPVChkLCB2b2lkIF9xX2NvbW1pdFNjYWxlQ2hhbmdlKCkpOwogCiAgICAgUVRvdWNoV2Vi
UGFnZVByaXZhdGUqIGQ7CisgICAgZnJpZW5kIGNsYXNzIFFUb3VjaFdlYlZpZXc7CiAgICAgZnJp
ZW5kIGNsYXNzIFFUb3VjaFdlYlZpZXdQcml2YXRlOwogICAgIGZyaWVuZCBjbGFzcyBXZWJLaXQ6
OlRvdWNoVmlld0ludGVyZmFjZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTExLDQgKzExMSwxNCBAQCB2b2lkIFFUb3VjaFdlYlZpZXc6Omdlb21ldHJ5Q2hh
bmdlZChjb25zCiAgICAgfQogfQogCit2b2lkIFFUb3VjaFdlYlZpZXc6OnNldERldmVsb3BlckV4
dHJhc0VuYWJsZWQoYm9vbCBlbmFibGUpCit7CisgICAgZC0+cGFnZS5zZXREZXZlbG9wZXJFeHRy
YXNFbmFibGVkKGVuYWJsZSk7Cit9CisKK3ZvaWQgUVRvdWNoV2ViVmlldzo6c2V0V2ViSW5zcGVj
dG9yRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICBkLT5wYWdlLnNldFdlYkluc3BlY3RvckVu
YWJsZWQoZW5hYmxlKTsKK30KKwogI2luY2x1ZGUgIm1vY19xdG91Y2h3ZWJ2aWV3LmNwcCIKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5o
CShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRv
dWNod2Vidmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw4IEBAIHB1YmxpYzoKICAg
ICB+UVRvdWNoV2ViVmlldygpOwogCiAgICAgUVRvdWNoV2ViUGFnZSAqcGFnZSgpOworICAgIHZv
aWQgc2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChib29sKTsKKyAgICB2b2lkIHNldFdlYkluc3Bl
Y3RvckVuYWJsZWQoYm9vbCk7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbWV0
cnlDaGFuZ2VkKGNvbnN0IFFSZWN0RiYsIGNvbnN0IFFSZWN0RiYpOwpJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiA5MzY1
OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDkgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdEYXRh
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05v
dEltcGxlbWVudGVkLmg+CisjaW5jbHVkZSA8V2ViSW5zcGVjdG9yUHJveHkuaD4KKyNpbmNsdWRl
IDxXZWJQYWdlR3JvdXAuaD4KKyNpbmNsdWRlIDxXZWJQcmVmZXJlbmNlcy5oPgogI2luY2x1ZGUg
PFdlYktpdDIvV0tGcmFtZS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tQYWdlR3JvdXAuaD4KICNp
bmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+CkBAIC03MzQsNCArNzM3LDE3IEBAIHZvaWQg
UXRXZWJQYWdlUHJveHk6OnNldFBhZ2VJc1Zpc2libGUoYm8KICAgICBtX3dlYlBhZ2VQcm94eS0+
ZHJhd2luZ0FyZWEoKS0+c2V0UGFnZUlzVmlzaWJsZShpc1Zpc2libGUpOwogfQogCit2b2lkIFF0
V2ViUGFnZVByb3h5OjpzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGJvb2wgZW5hYmxlKQorewor
ICAgIG1fd2ViUGFnZVByb3h5LT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0RGV2ZWxv
cGVyRXh0cmFzRW5hYmxlZChlbmFibGUpOworfQorCit2b2lkIFF0V2ViUGFnZVByb3h5OjpzZXRX
ZWJJbnNwZWN0b3JFbmFibGVkKGJvb2wgZW5hYmxlKQoreworICAgIGlmIChlbmFibGUpCisgICAg
ICAgIG1fd2ViUGFnZVByb3h5LT5pbnNwZWN0b3IoKS0+c2hvdygpOworICAgIGVsc2UKKyAgICAg
ICAgbV93ZWJQYWdlUHJveHktPmluc3BlY3RvcigpLT5jbG9zZSgpOworfQorCiAjaW5jbHVkZSAi
bW9jX1F0V2ViUGFnZVByb3h5LmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdFdlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9RdFdlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNiAr
MTU3LDkgQEAgcHVibGljOgogCiAgICAgUVN0cmluZyB0aXRsZSgpIGNvbnN0OwogCisgICAgdm9p
ZCBzZXRXZWJJbnNwZWN0b3JFbmFibGVkKGJvb2wpOworICAgIHZvaWQgc2V0RGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZChib29sKTsKKyAgICAKICAgICBRQWN0aW9uKiBuYXZpZ2F0aW9uQWN0aW9uKFF0
V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uKSBjb25zdDsKIAogICAgIFFBY3Rpb24qIGFjdGlvbihX
ZWJBY3Rpb24gYWN0aW9uKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSwyOCArMjUsNDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIldlYkluc3BlY3RvclByb3h5LmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5Lmgi
CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCisjaW5jbHVkZSA8UXREZWNsYXJhdGl2ZS9xc2d2
aWV3Lmg+CisjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9O
b3RJbXBsZW1lbnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYlBhZ2VQ
cm94eSogV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSgpCiB7
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICBBU1NFUlQobV9wYWdl
KTsKKyAgICBBU1NFUlQoIW1faW5zcGVjdG9yVmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3ID0g
YWRvcHRQdHIobmV3IFFEZXNrdG9wV2ViVmlldyh0b0FQSShwYWdlKCktPnByb2Nlc3MoKS0+Y29u
dGV4dCgpKSwgdG9BUEkoaW5zcGVjdG9yUGFnZUdyb3VwKCkpKSk7CisgICAgbV9pbnNwZWN0b3JW
aWV3LT5zZXRYKDApOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0WSgwKTsKKyAgICBtX2luc3Bl
Y3RvclZpZXctPnNldFdpZHRoKGluaXRpYWxXaW5kb3dXaWR0aCk7CisgICAgbV9pbnNwZWN0b3JW
aWV3LT5zZXRIZWlnaHQoaW5pdGlhbFdpbmRvd0hlaWdodCk7CisgICAgcmV0dXJuIHRvSW1wbCht
X2luc3BlY3RvclZpZXctPnBhZ2VSZWYoKSk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6
OnBsYXRmb3JtT3BlbigpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBBU1NFUlQoIW1f
dmlldyk7CisgICAgbV92aWV3ID0gYWRvcHRQdHIobmV3IFFTR1ZpZXcpOworICAgIG1faW5zcGVj
dG9yVmlldy0+c2V0UGFyZW50SXRlbShtX3ZpZXctPnJvb3RJdGVtKCkpOworICAgIG1fdmlldy0+
c2V0R2VvbWV0cnkoMCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93SGVpZ2h0
KTsKKyAgICBtX3ZpZXctPnNob3coKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxh
dGZvcm1EaWRDbG9zZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX2luc3BlY3Rv
clZpZXcuY2xlYXIoKTsKKworICAgIGlmIChtX3ZpZXcpIHsKKyAgICAgICAgbV92aWV3LT5jbG9z
ZSgpOworICAgICAgICBtX3ZpZXcuY2xlYXIoKTsKKyAgICB9CiB9CiAKIHZvaWQgV2ViSW5zcGVj
dG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250KCkKQEAgLTU0LDkgKzczLDkgQEAgdm9pZCBX
ZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRgogICAgIG5vdEltcGxlbWVudGVkKCk7
CiB9CiAKLXZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdl
ZChjb25zdCBTdHJpbmcmKQordm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0
ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYgdXJsKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgbV92aWV3LT5zZXRXaW5kb3dUaXRsZShRT2JqZWN0Ojp0cigiV2ViIEluc3BlY3RvciAt
ICUxIikuYXJnKHVybCkpOwogfQogCiB1bnNpZ25lZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1JbnNwZWN0ZWRXaW5kb3dIZWlnaHQoKQpAQCAtODIsOCArMTAxLDcgQEAgdm9pZCBXZWJJbnNw
ZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRBdHRhYwogCiBTdHJpbmcgV2ViSW5zcGVjdG9yUHJveHk6
Omluc3BlY3RvclBhZ2VVUkwoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAg
cmV0dXJuIFN0cmluZygpOworICAgIHJldHVybiAicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3Bl
Y3Rvci5odG1sIjsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBUb29scy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NDIzNykKKysr
IFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDExLTA4
LTMxICBHZW5pc2ltIFRzaWxrZXIgIDxnZW5pc2ltQHlhaG9vLmNvbT4KKworICAgICAgICBBZGQg
V2ViSW5zcGVjdG9yIHRvIFdlYktpdDIgTWluaUJyb3dzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0Mjk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRvIE1pbmlCcm93c2VyIFVJIHR3byBjaGVj
ayBib3hlcyAtICJFbmFibGUgRGV2ZWxvcGVyIEV4dHJhcyIgYW5kCisgICAgICAgICJUb2dnbGUg
V2ViIEluc3BlY3RvciIuIEF2YWlsYWJsZSBmb2xsb3cgY29tYmluYXRpb24gLQorICAgICAgICAx
LiAiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiIGF2YWlsYWJsZSwgbm90IHNlbGVjdGVkCisgICAg
ICAgICAgICJUb2dnbGUgV2ViIEluc3BlY3RvciIgdW5hdmFpbGFibGUsIG5vdCBzZWxlY3RlZAor
ICAgICAgICAyLiAiRW5hYmxlIERldmVsb3BlciBFeHRyYXMiIGF2YWlsYWJsZSwgc2VsZWN0ZWQK
KyAgICAgICAgICAgICJUb2dnbGUgV2ViIEluc3BlY3RvciIgYXZhaWxhYmxlLCBub3Qgc2VsZWN0
ZWQKKyAgICAgICAgMy4gIkVuYWJsZSBEZXZlbG9wZXIgRXh0cmFzIiB1bmF2YWlsYWJsZSwgc2Vs
ZWN0ZWQKKyAgICAgICAgICAgIlRvZ2dsZSBXZWIgSW5zcGVjdG9yIiBhdmFpbGFibGUsIHNlbGVj
dGVkCisgICAgICAgIFVzZXIgY2FuIHN0YXJ0IFdlYiBJbnNwZWN0b3Igb25seSBhZnRlciAiRW5h
YmxlIERldmVsb3BlciBFeHRyYXMiIHdhcyBzZWxlY3RlZAorICAgICAgICBVc2VyIGNhbid0IGRp
c2FibGUgIkVuYWJsZSBEZXZlbG9wZXIgRXh0cmFzIiB3aGVuIFdlYiBJbnNwZWN0b3IgaXMgcnVu
bmluZworCisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwOgorICAgICAg
ICAoQnJvd3NlclZpZXc6OmVuYWJsZURldmVsb3BlckV4dHJhc01vZGUpOgorICAgICAgICAoQnJv
d3NlclZpZXc6OnRvZ2dsZVdlYkluc3BlY3Rvck1vZGUpOgorICAgICAgICAqIE1pbmlCcm93c2Vy
L3F0L0Jyb3dzZXJWaWV3Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRv
dy5jcHA6CisgICAgICAgIChCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KToKKyAgICAgICAg
KEJyb3dzZXJXaW5kb3c6Om9uRGV2ZWxvcGVyRXh0cmFzTW9kZUNoYW5nZWQpOgorICAgICAgICAo
QnJvd3NlcldpbmRvdzo6b25XZWJJbnNwZWN0b3JNb2RlQ2hhbmdlZCk6CisgICAgICAgIChCcm93
c2VyV2luZG93OjplbmFibGVEZXZlbG9wZXJFeHRyYXNNb2RlKToKKyAgICAgICAgKEJyb3dzZXJX
aW5kb3c6OnRvZ2dsZVdlYkluc3BlY3Rvck1vZGUpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0
L0Jyb3dzZXJXaW5kb3cuaDoKKwogMjAxMS0wOC0zMSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQWRkIHF1ZXVlcy53ZWJraXQub3JnL2FjdGl2ZS1ib3RzIHBhZ2Ug
dG8gbWFrZSBpdCBlYXN5IHRvIHNlZSB3aGljaCBib3RzIGFyZSBkb3duCkluZGV4OiBUb29scy9N
aW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJy
b3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlC
cm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsMjIg
QEAgUURlc2t0b3BXZWJWaWV3KiBCcm93c2VyVmlldzo6ZGVza3RvcFdlYgogICAgIHJldHVybiBx
b2JqZWN0X2Nhc3Q8UURlc2t0b3BXZWJWaWV3Kj4obV9pdGVtKTsKIH0KIAordm9pZCBCcm93c2Vy
Vmlldzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBpZiAo
ZGVza3RvcFdlYlZpZXcoKSkKKyAgICAgICAgZGVza3RvcFdlYlZpZXcoKS0+c2V0RGV2ZWxvcGVy
RXh0cmFzRW5hYmxlZChlbmFibGUpOworICAgIGVsc2UKKyAgICAgICAgdG91Y2hXZWJWaWV3KCkt
PnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoZW5hYmxlKTsKK30KKwordm9pZCBCcm93c2VyVmll
dzo6dG9nZ2xlV2ViSW5zcGVjdG9yTW9kZShib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZGVza3Rv
cFdlYlZpZXcoKSkKKyAgICAgICAgZGVza3RvcFdlYlZpZXcoKS0+c2V0V2ViSW5zcGVjdG9yRW5h
YmxlZChlbmFibGUpOworICAgIGVsc2UKKyAgICAgICAgdG91Y2hXZWJWaWV3KCktPnNldFdlYklu
c3BlY3RvckVuYWJsZWQoZW5hYmxlKTsKK30KKwogUUFjdGlvbiogQnJvd3NlclZpZXc6Om5hdmln
YXRpb25BY3Rpb24oUXRXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb24gd2hpY2gpIGNvbnN0CiB7CiAg
ICAgaWYgKGRlc2t0b3BXZWJWaWV3KCkpCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93
c2VyVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3
LmgJKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcu
aAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsOCBAQCBwdWJsaWM6CiAKICAgICBRVG91Y2hX
ZWJWaWV3KiB0b3VjaFdlYlZpZXcoKSBjb25zdDsKICAgICBRRGVza3RvcFdlYlZpZXcqIGRlc2t0
b3BXZWJWaWV3KCkgY29uc3Q7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3JNb2RlKGJvb2wg
ZW5hYmxlKTsKKyAgICB2b2lkIGVuYWJsZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCBlbmFibGUp
OwogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZUV2ZW50KFFSZXNpemVFdmVu
dCopOwpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHJldmlzaW9u
IDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwNCw2ICsxMDQsMTcgQEAgQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRv
dyhXaW5kb3dPcHRpbwogICAgIGNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRGdWxsU2NyZWVu
TW9kZShib29sKSksIHRoaXMsIFNMT1QodG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCkpKTsKIAog
ICAgIFFNZW51KiB0b29sc01lbnUgPSBtZW51QmFyKCktPmFkZE1lbnUoIiZEZXZlbG9wIik7Cisg
ICAgbV9lbmFibGVEZXZlbG9wZXJFeHRyYXMgPSB0b29sc01lbnUtPmFkZEFjdGlvbigiRW5hYmxl
IERldmVsb3BlciBFeHRyYXMiLCB0aGlzLCBTTE9UKG9uRGV2ZWxvcGVyRXh0cmFzTW9kZUNoYW5n
ZWQoYm9vbCkpKTsgCisgICAgbV9lbmFibGVEZXZlbG9wZXJFeHRyYXMtPnNldENoZWNrYWJsZSh0
cnVlKTsKKyAgICBtX2VuYWJsZURldmVsb3BlckV4dHJhcy0+c2V0Q2hlY2tlZChmYWxzZSk7Cisg
ICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9vbCkp
LCB0aGlzLCBTTE9UKGVuYWJsZURldmVsb3BlckV4dHJhc01vZGUoYm9vbCkpKTsKKyAgICAKKyAg
ICBtX3RvZ2dsZVdlYkluc3BlY3RvciA9IHRvb2xzTWVudS0+YWRkQWN0aW9uKCJUb2dnbGUgV2Vi
IEluc3BlY3RvciIsIHRoaXMsIFNMT1Qob25XZWJJbnNwZWN0b3JNb2RlQ2hhbmdlZChib29sKSkp
OworICAgIG1fdG9nZ2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2FibGUodHJ1ZSk7CisgICAgbV90
b2dnbGVXZWJJbnNwZWN0b3ItPnNldENoZWNrZWQoZmFsc2UpOworICAgIG1fdG9nZ2xlV2ViSW5z
cGVjdG9yLT5zZXRFbmFibGVkKGZhbHNlKTsKKyAgICBjb25uZWN0KHRoaXMsIFNJR05BTChlbnRl
cmVkV2ViSW5zcGVjdG9yTW9kZShib29sKSksIHRoaXMsIFNMT1QodG9nZ2xlV2ViSW5zcGVjdG9y
TW9kZShib29sKSkpOworCiAgICAgdG9vbHNNZW51LT5hZGRBY3Rpb24oIkNoYW5nZSBVc2VyIEFn
ZW50IiwgdGhpcywgU0xPVChzaG93VXNlckFnZW50RGlhbG9nKCkpKTsKICAgICB0b29sc01lbnUt
PmFkZFNlcGFyYXRvcigpOwogICAgIHRvb2xzTWVudS0+YWRkQWN0aW9uKCJMb2FkIFVSTHMgZnJv
bSBmaWxlIiwgdGhpcywgU0xPVChsb2FkVVJMTGlzdEZyb21GaWxlKCkpKTsKQEAgLTEzMyw2ICsx
NDQsMjAgQEAgQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyhXaW5kb3dPcHRpbwogICAgIHNo
b3coKTsKIH0KIAordm9pZCBCcm93c2VyV2luZG93OjpvbkRldmVsb3BlckV4dHJhc01vZGVDaGFu
Z2VkKGJvb2wgZW5hYmxlKQoreworICAgIG1fZW5hYmxlRGV2ZWxvcGVyRXh0cmFzLT5zZXRDaGVj
a2VkKGVuYWJsZSk7CisgICAgbV90b2dnbGVXZWJJbnNwZWN0b3ItPnNldEVuYWJsZWQoZW5hYmxl
KTsKKyAgICBlbWl0IGVudGVyZWREZXZlbG9wZXJFeHRyYXNNb2RlKGVuYWJsZSk7Cit9CisKK3Zv
aWQgQnJvd3NlcldpbmRvdzo6b25XZWJJbnNwZWN0b3JNb2RlQ2hhbmdlZChib29sIGVuYWJsZSkK
K3sKKyAgICBtX3RvZ2dsZVdlYkluc3BlY3Rvci0+c2V0Q2hlY2tlZChlbmFibGUpOworICAgIG1f
ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzLT5zZXRFbmFibGVkKCFlbmFibGUpOworICAgIGVtaXQgZW50
ZXJlZFdlYkluc3BlY3Rvck1vZGUoZW5hYmxlKTsKK30KKwogdm9pZCBCcm93c2VyV2luZG93Ojps
b2FkKGNvbnN0IFFTdHJpbmcmIHVybCkKIHsKICAgICBtX2FkZHJlc3NCYXItPnNldFRleHQodXJs
KTsKQEAgLTIzMCw2ICsyNTUsMTYgQEAgdm9pZCBCcm93c2VyV2luZG93OjpzY3JlZW5zaG90KCkK
ICAgICB9CiB9CiAKK3ZvaWQgQnJvd3NlcldpbmRvdzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9k
ZShib29sIGVuYWJsZSkKK3sKKyAgICBtX2Jyb3dzZXItPmVuYWJsZURldmVsb3BlckV4dHJhc01v
ZGUoZW5hYmxlKTsKK30KKwordm9pZCBCcm93c2VyV2luZG93Ojp0b2dnbGVXZWJJbnNwZWN0b3JN
b2RlKGJvb2wgZW5hYmxlKQoreworICAgIG1fYnJvd3Nlci0+dG9nZ2xlV2ViSW5zcGVjdG9yTW9k
ZShlbmFibGUpOworfQorCiB2b2lkIEJyb3dzZXJXaW5kb3c6OnRvZ2dsZUZ1bGxTY3JlZW5Nb2Rl
KGJvb2wgZW5hYmxlKQogewogICAgIGJvb2wgYWxyZWFkeUVuYWJsZWQgPSB3aW5kb3dTdGF0ZSgp
ICYgUXQ6OldpbmRvd0Z1bGxTY3JlZW47CkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93
c2VyV2luZG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3Nlcldp
bmRvdy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJX
aW5kb3cuaAkod29ya2luZyBjb3B5KQpAQCAtNDksMTAgKzQ5LDE0IEBAIHB1YmxpYzoKIAogcHVi
bGljIHNsb3RzOgogICAgIEJyb3dzZXJXaW5kb3cqIG5ld1dpbmRvdyhjb25zdCBRU3RyaW5nJiB1
cmwgPSAiYWJvdXQ6YmxhbmsiKTsKKyAgICB2b2lkIG9uRGV2ZWxvcGVyRXh0cmFzTW9kZUNoYW5n
ZWQoYm9vbCk7CisgICAgdm9pZCBvbldlYkluc3BlY3Rvck1vZGVDaGFuZ2VkKGJvb2wpOwogICAg
IHZvaWQgb3BlbkxvY2F0aW9uKCk7CiAKIHNpZ25hbHM6CiAgICAgdm9pZCBlbnRlcmVkRnVsbFNj
cmVlbk1vZGUoYm9vbCBvbik7CisgICAgdm9pZCBlbnRlcmVkV2ViSW5zcGVjdG9yTW9kZShib29s
IG9uKTsKKyAgICB2b2lkIGVudGVyZWREZXZlbG9wZXJFeHRyYXNNb2RlKGJvb2wgb24pOwogCiBw
cm90ZWN0ZWQgc2xvdHM6CiAgICAgdm9pZCBjaGFuZ2VMb2NhdGlvbigpOwpAQCAtNjMsNiArNjcs
OCBAQCBwcm90ZWN0ZWQgc2xvdHM6CiAgICAgdm9pZCBzY3JlZW5zaG90KCk7CiAKICAgICB2b2lk
IHRvZ2dsZUZ1bGxTY3JlZW5Nb2RlKGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIGVuYWJsZURldmVs
b3BlckV4dHJhc01vZGUoYm9vbCBlbmFibGUpOworICAgIHZvaWQgdG9nZ2xlV2ViSW5zcGVjdG9y
TW9kZShib29sIGVuYWJsZSk7CiAKICAgICB2b2lkIHNob3dVc2VyQWdlbnREaWFsb2coKTsKIApA
QCAtNzgsNiArODQsOSBAQCBwcml2YXRlOgogICAgIEJyb3dzZXJWaWV3KiBtX2Jyb3dzZXI7CiAg
ICAgUUxpbmVFZGl0KiBtX2FkZHJlc3NCYXI7CiAgICAgUVN0cmluZ0xpc3QgbV91c2VyQWdlbnRM
aXN0OworICAgIAorICAgIFFBY3Rpb24qIG1fZW5hYmxlRGV2ZWxvcGVyRXh0cmFzOworICAgIFFB
Y3Rpb24qIG1fdG9nZ2xlV2ViSW5zcGVjdG9yOwogfTsKIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105850</attachid>
            <date>2011-08-31 16:08:15 -0700</date>
            <delta_ts>2011-09-01 06:43:14 -0700</delta_ts>
            <desc>Patch to add Web Inspector to WebKit2 updated.</desc>
            <filename>Add_Web_Inspector_to_WebKit2.patch</filename>
            <type>text/plain</type>
            <size>16503</size>
            <attacher name="Genisim">genisim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjM3KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDgtMzEgIEdlbmlzaW0g
VHNpbGtlciAgPGdlbmlzaW1AeWFob28uY29tPgorCisgICAgICAgIEFkZCBXZWJJbnNwZWN0b3Ig
dG8gV2ViS2l0MiBNaW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQyOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnRlZCBXZWIgSW5zcGVjdG9yIGZlYXR1cmUgZm9yIFF0IGJh
c2VkIFdlYktpdDIuCisgICAgICAgIFVzaW5nIFFEZXNrdG9wV2ViVmlldyB0aGF0IHJlbmRlciB0
aGUgaW5zcGVjdG9yLCBhbmQgYSBRU0dWaWV3IHRvIGRpc3BsYXkgaXQuCisgICAgICAgIFdpdGgg
Y3VycmVudCBwYXRjaCBXZWIgSW5zcGVjdG9yIHBhZ2UgdXNpbmcgUURlc2t0b3BXZWJWaWV3IG9u
bHkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHA6Cisg
ICAgICAgIChRRGVza3RvcFdlYlZpZXc6OnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQpOgorICAg
ICAgICAoUURlc2t0b3BXZWJWaWV3OjpzZXRXZWJJbnNwZWN0b3JFbmFibGVkKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvcXQvcXRvdWNod2VicGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRv
dWNod2Vidmlldy5jcHA6CisgICAgICAgIChRVG91Y2hXZWJWaWV3OjpzZXREZXZlbG9wZXJFeHRy
YXNFbmFibGVkKToKKyAgICAgICAgKFFUb3VjaFdlYlZpZXc6OnNldFdlYkluc3BlY3RvckVuYWJs
ZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFF0V2ViUGFnZVByb3h5OjpzZXREZXZlbG9wZXJFeHRyYXNFbmFi
bGVkKToKKyAgICAgICAgKFF0V2ViUGFnZVByb3h5OjpzZXRXZWJJbnNwZWN0b3JFbmFibGVkKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJveHlRdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKToKKyAgICAgICAgKFdlYktpdDo6
V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGlkQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6Omluc3BlY3RvclBhZ2VVUkwpOgorCiAyMDExLTA4
LTMwICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxNTAKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAkocmV2aXNpb24gOTM2NTkpCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSwxMSArMjksMTEgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5j
bHVkZSAiV2ViSW5zcGVjdG9yTWVzc2FnZXMuaCIKLSNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIK
ICNpbmNsdWRlICJXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSAiV2ViUGFn
ZUdyb3VwLmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVy
ZW5jZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKLSNpbmNsdWRlICJXZWJQYWdl
R3JvdXAuaCIKIAogI2lmIFBMQVRGT1JNKFdJTikKICNpbmNsdWRlICJXZWJWaWV3LmgiCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAkocmV2aXNp
b24gOTM2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHku
aAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsOCBAQAogI2luY2x1ZGUgIkFQSU9iamVjdC5o
IgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00Niw2
ICs0OCwxMSBAQCBPQkpDX0NMQVNTIFdlYkluc3BlY3RvcldLVmlldzsKICNpbmNsdWRlIDxXZWJD
b3JlL1dpbmRvd01lc3NhZ2VMaXN0ZW5lci5oPgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkK
KyNpbmNsdWRlIDxxZGVza3RvcHdlYnZpZXcuaD4KKyNpbmNsdWRlIDxxc2d2aWV3Lmg+CisjZW5k
aWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBhZ2VHcm91cDsKQEAgLTE3NCw2
ICsxODEsOSBAQCBwcml2YXRlOgogI2VsaWYgUExBVEZPUk0oV0lOKQogICAgIEhXTkQgbV9pbnNw
ZWN0b3JXaW5kb3c7CiAgICAgUmVmUHRyPFdlYlZpZXc+IG1faW5zcGVjdG9yVmlldzsKKyNlbGlm
IFBMQVRGT1JNKFFUKQorICAgIE93blB0cjxRRGVza3RvcFdlYlZpZXc+IG1faW5zcGVjdG9yVmll
dzsKKyAgICBPd25QdHI8UVNHVmlldz4gbV92aWV3OwogI2VuZGlmCiB9OwogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3Bw
CShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRl
c2t0b3B3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk5LDYgKzI5OSwxNiBAQCB2b2lk
IFFEZXNrdG9wV2ViVmlldzo6d2hlZWxFdmVudChRV2hlZWxFCiAgICAgdGhpcy0+ZXZlbnQoJmdy
YXBoaWNzRXZlbnQpOwogfQogCit2b2lkIFFEZXNrdG9wV2ViVmlldzo6c2V0RGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICBkLT5wYWdlLnNldERldmVsb3BlckV4dHJh
c0VuYWJsZWQoZW5hYmxlKTsKK30KKwordm9pZCBRRGVza3RvcFdlYlZpZXc6OnNldFdlYkluc3Bl
Y3RvckVuYWJsZWQoYm9vbCBlbmFibGUpCit7CisgICAgZC0+cGFnZS5zZXRXZWJJbnNwZWN0b3JF
bmFibGVkKGVuYWJsZSk7Cit9CisKIHZvaWQgUURlc2t0b3BXZWJWaWV3Ojp0b3VjaEV2ZW50KFFU
b3VjaEV2ZW50KiBldmVudCkKIHsKICAgICB0aGlzLT5ldmVudChldmVudCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgJKHJl
dmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3Rv
cHdlYnZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsMTAgQEAgbmFtZXNwYWNlIFdU
UiB7CiAgICAgY2xhc3MgV2ViVmlldzsKIH0KIAorbmFtZXNwYWNlIFdlYktpdCB7CisgICAgY2xh
c3MgV2ViSW5zcGVjdG9yUHJveHk7Cit9CisKIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFEZXNrdG9w
V2ViVmlldyA6IHB1YmxpYyBRU0dQYWludGVkSXRlbSB7CiAgICAgUV9PQkpFQ1QKICAgICBRX1BS
T1BFUlRZKFFTdHJpbmcgdGl0bGUgUkVBRCB0aXRsZSBOT1RJRlkgdGl0bGVDaGFuZ2VkKQpAQCAt
NjYsNiArNzAsOSBAQCBwdWJsaWM6CiAgICAgUURlc2t0b3BXZWJWaWV3KFFTR0l0ZW0qIHBhcmVu
dCA9IDApOwogICAgIHZpcnR1YWwgflFEZXNrdG9wV2ViVmlldygpOwogCisgICAgdm9pZCBzZXRE
ZXZlbG9wZXJFeHRyYXNFbmFibGVkKGJvb2wpOworICAgIHZvaWQgc2V0V2ViSW5zcGVjdG9yRW5h
YmxlZChib29sKTsKKyAgICAKICAgICBRVXJsIHVybCgpIGNvbnN0OwogICAgIFFTdHJpbmcgdGl0
bGUoKSBjb25zdDsKICAgICBpbnQgbG9hZFByb2dyZXNzKCkgY29uc3Q7CkBAIC0xMTQsNiArMTIx
LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgaW5pdCgpOwogCisgICAgZnJpZW5kIGNsYXNzIFdl
YktpdDo6V2ViSW5zcGVjdG9yUHJveHk7CiAgICAgZnJpZW5kIGNsYXNzIFdUUjo6V2ViVmlldzsK
ICAgICBmcmllbmQgY2xhc3MgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTsKICAgICBRRGVza3RvcFdl
YlZpZXdQcml2YXRlICpkOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
dG91Y2h3ZWJwYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xdG91Y2h3ZWJwYWdlLmgJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJwYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDYg
KzgxLDcgQEAgcHJpdmF0ZToKICAgICBRX1BSSVZBVEVfU0xPVChkLCB2b2lkIF9xX2NvbW1pdFNj
YWxlQ2hhbmdlKCkpOwogCiAgICAgUVRvdWNoV2ViUGFnZVByaXZhdGUqIGQ7CisgICAgZnJpZW5k
IGNsYXNzIFFUb3VjaFdlYlZpZXc7CiAgICAgZnJpZW5kIGNsYXNzIFFUb3VjaFdlYlZpZXdQcml2
YXRlOwogICAgIGZyaWVuZCBjbGFzcyBXZWJLaXQ6OlRvdWNoVmlld0ludGVyZmFjZTsKIH07Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmll
dy5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xdG91Y2h3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDQgKzExMSwxNCBAQCB2
b2lkIFFUb3VjaFdlYlZpZXc6Omdlb21ldHJ5Q2hhbmdlZChjb25zCiAgICAgfQogfQogCit2b2lk
IFFUb3VjaFdlYlZpZXc6OnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCBlbmFibGUpCit7
CisgICAgZC0+cGFnZS5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGVuYWJsZSk7Cit9CisKK3Zv
aWQgUVRvdWNoV2ViVmlldzo6c2V0V2ViSW5zcGVjdG9yRW5hYmxlZChib29sIGVuYWJsZSkKK3sK
KyAgICBkLT5wYWdlLnNldFdlYkluc3BlY3RvckVuYWJsZWQoZW5hYmxlKTsKK30KKwogI2luY2x1
ZGUgIm1vY19xdG91Y2h3ZWJ2aWV3LmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCSh3b3JraW5nIGNvcHkp
CkBAIC00Miw2ICs0Miw4IEBAIHB1YmxpYzoKICAgICB+UVRvdWNoV2ViVmlldygpOwogCiAgICAg
UVRvdWNoV2ViUGFnZSAqcGFnZSgpOworICAgIHZvaWQgc2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxl
ZChib29sKTsKKyAgICB2b2lkIHNldFdlYkluc3BlY3RvckVuYWJsZWQoYm9vbCk7CiAKIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbWV0cnlDaGFuZ2VkKGNvbnN0IFFSZWN0RiYsIGNv
bnN0IFFSZWN0RiYpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFn
ZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDkg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdEYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9h
dFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CisjaW5jbHVkZSA8
V2ViSW5zcGVjdG9yUHJveHkuaD4KKyNpbmNsdWRlIDxXZWJQYWdlR3JvdXAuaD4KKyNpbmNsdWRl
IDxXZWJQcmVmZXJlbmNlcy5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tGcmFtZS5oPgogI2luY2x1
ZGUgPFdlYktpdDIvV0tQYWdlR3JvdXAuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRy
Lmg+CkBAIC03MzQsNCArNzM3LDE3IEBAIHZvaWQgUXRXZWJQYWdlUHJveHk6OnNldFBhZ2VJc1Zp
c2libGUoYm8KICAgICBtX3dlYlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKS0+c2V0UGFnZUlzVmlz
aWJsZShpc1Zpc2libGUpOwogfQogCit2b2lkIFF0V2ViUGFnZVByb3h5OjpzZXREZXZlbG9wZXJF
eHRyYXNFbmFibGVkKGJvb2wgZW5hYmxlKQoreworICAgIG1fd2ViUGFnZVByb3h5LT5wYWdlR3Jv
dXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChlbmFibGUpOwor
fQorCit2b2lkIFF0V2ViUGFnZVByb3h5OjpzZXRXZWJJbnNwZWN0b3JFbmFibGVkKGJvb2wgZW5h
YmxlKQoreworICAgIGlmIChlbmFibGUpCisgICAgICAgIG1fd2ViUGFnZVByb3h5LT5pbnNwZWN0
b3IoKS0+c2hvdygpOworICAgIGVsc2UKKyAgICAgICAgbV93ZWJQYWdlUHJveHktPmluc3BlY3Rv
cigpLT5jbG9zZSgpOworfQorCiAjaW5jbHVkZSAibW9jX1F0V2ViUGFnZVByb3h5LmNwcCIKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5oCShyZXZp
c2lvbiA5MzY1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94
eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNiArMTU3LDkgQEAgcHVibGljOgogCiAgICAgUVN0
cmluZyB0aXRsZSgpIGNvbnN0OwogCisgICAgdm9pZCBzZXRXZWJJbnNwZWN0b3JFbmFibGVkKGJv
b2wpOworICAgIHZvaWQgc2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChib29sKTsKKyAgICAKICAg
ICBRQWN0aW9uKiBuYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uKSBj
b25zdDsKIAogICAgIFFBY3Rpb24qIGFjdGlvbihXZWJBY3Rpb24gYWN0aW9uKSBjb25zdDsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJJbnNwZWN0b3JQcm94eVF0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViSW5zcGVjdG9yUHJv
eHlRdC5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1dlYkluc3BlY3RvclByb3h5UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwyOCArMjUsNDMg
QEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3RvclByb3h5Lmgi
CisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
CisjaW5jbHVkZSA8UXREZWNsYXJhdGl2ZS9xc2d2aWV3Lmg+CisjaW5jbHVkZSA8cWRlc2t0b3B3
ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJveHk6OnBs
YXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAg
ICByZXR1cm4gMDsKKyAgICBBU1NFUlQobV9wYWdlKTsKKyAgICBBU1NFUlQoIW1faW5zcGVjdG9y
Vmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3ID0gYWRvcHRQdHIobmV3IFFEZXNrdG9wV2ViVmll
dyh0b0FQSShwYWdlKCktPnByb2Nlc3MoKS0+Y29udGV4dCgpKSwgdG9BUEkoaW5zcGVjdG9yUGFn
ZUdyb3VwKCkpKSk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRYKDApOworICAgIG1faW5zcGVj
dG9yVmlldy0+c2V0WSgwKTsKKyAgICBtX2luc3BlY3RvclZpZXctPnNldFdpZHRoKGluaXRpYWxX
aW5kb3dXaWR0aCk7CisgICAgbV9pbnNwZWN0b3JWaWV3LT5zZXRIZWlnaHQoaW5pdGlhbFdpbmRv
d0hlaWdodCk7CisgICAgcmV0dXJuIHRvSW1wbChtX2luc3BlY3RvclZpZXctPnBhZ2VSZWYoKSk7
CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3BlbigpCiB7Ci0gICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICBBU1NFUlQoIW1fdmlldyk7CisgICAgbV92aWV3ID0gYWRvcHRQ
dHIobmV3IFFTR1ZpZXcpOworICAgIG1faW5zcGVjdG9yVmlldy0+c2V0UGFyZW50SXRlbShtX3Zp
ZXctPnJvb3RJdGVtKCkpOworICAgIG1fdmlldy0+c2V0R2VvbWV0cnkoMCwgMCwgaW5pdGlhbFdp
bmRvd1dpZHRoLCBpbml0aWFsV2luZG93SGVpZ2h0KTsKKyAgICBtX3ZpZXctPnNob3coKTsKIH0K
IAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1EaWRDbG9zZSgpCiB7Ci0gICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICBtX2luc3BlY3RvclZpZXcuY2xlYXIoKTsKKyAgICBtX3ZpZXcu
Y2xlYXIoKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRnJv
bnQoKQpAQCAtNTQsOSArNjksOSBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJy
aW5nVG9GCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYpCit2b2lkIFdlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiB1
cmwpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX3ZpZXctPnNldFdpbmRvd1RpdGxl
KFFPYmplY3Q6OnRyKCJXZWIgSW5zcGVjdG9yIC0gJTEiKS5hcmcodXJsKSk7CiB9CiAKIHVuc2ln
bmVkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFdpbmRvd0hlaWdodCgpCkBA
IC04Miw4ICs5Nyw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0QXR0YWMK
IAogU3RyaW5nIFdlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JQYWdlVVJMKCkgY29uc3QKIHsK
LSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICByZXR1cm4g
InFyYzovd2Via2l0L2luc3BlY3Rvci9pbnNwZWN0b3IuaHRtbCI7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0No
YW5nZUxvZwkocmV2aXNpb24gOTQyMzcpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyNyBAQAorMjAxMS0wOC0zMSAgR2VuaXNpbSBUc2lsa2VyICA8Z2VuaXNp
bUB5YWhvby5jb20+CisKKyAgICAgICAgQWRkIFdlYkluc3BlY3RvciB0byBXZWJLaXQyIE1pbmlC
cm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NDI5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIHRvIE1pbmlCcm93c2VyIFVJIHR3byBjaGVjayBib3hlcyAtICJFbmFibGUgRGV2ZWxvcGVy
IEV4dHJhcyIgYW5kCisgICAgICAgICJUb2dnbGUgV2ViIEluc3BlY3RvciIuCisgICAgICAgIFVz
ZXIgY2FuIHN0YXJ0IFdlYiBJbnNwZWN0b3Igb25seSBhZnRlciAiRW5hYmxlIERldmVsb3BlciBF
eHRyYXMiIHdhcyBzZWxlY3RlZC4KKyAgICAgICAgVXNlciBjYW4ndCBkaXNhYmxlICJFbmFibGUg
RGV2ZWxvcGVyIEV4dHJhcyIgd2hlbiBXZWIgSW5zcGVjdG9yIGlzIHJ1bm5pbmcuCisKKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHA6CisgICAgICAgIChCcm93c2VyVmll
dzo6ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZSk6CisgICAgICAgIChCcm93c2VyVmlldzo6dG9n
Z2xlV2ViSW5zcGVjdG9yTW9kZSk6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlclZp
ZXcuaDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcDoKKyAgICAg
ICAgKEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3cpOgorICAgICAgICAoQnJvd3NlcldpbmRv
dzo6b25EZXZlbG9wZXJFeHRyYXNNb2RlQ2hhbmdlZCk6CisgICAgICAgIChCcm93c2VyV2luZG93
OjpvbldlYkluc3BlY3Rvck1vZGVDaGFuZ2VkKToKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OmVu
YWJsZURldmVsb3BlckV4dHJhc01vZGUpOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6dG9nZ2xl
V2ViSW5zcGVjdG9yTW9kZSk6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRv
dy5oOgorCiAyMDExLTA4LTMxICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBBZGQgcXVldWVzLndlYmtpdC5vcmcvYWN0aXZlLWJvdHMgcGFnZSB0byBtYWtlIGl0IGVh
c3kgdG8gc2VlIHdoaWNoIGJvdHMgYXJlIGRvd24KSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0
L0Jyb3dzZXJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93
c2VyVmlldy5jcHAJKHJldmlzaW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJv
d3NlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Niw2ICs4NiwyMiBAQCBRRGVza3RvcFdl
YlZpZXcqIEJyb3dzZXJWaWV3OjpkZXNrdG9wV2ViCiAgICAgcmV0dXJuIHFvYmplY3RfY2FzdDxR
RGVza3RvcFdlYlZpZXcqPihtX2l0ZW0pOwogfQogCit2b2lkIEJyb3dzZXJWaWV3OjplbmFibGVE
ZXZlbG9wZXJFeHRyYXNNb2RlKGJvb2wgZW5hYmxlKQoreworICAgIGlmIChkZXNrdG9wV2ViVmll
dygpKQorICAgICAgICBkZXNrdG9wV2ViVmlldygpLT5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVk
KGVuYWJsZSk7CisgICAgZWxzZQorICAgICAgICB0b3VjaFdlYlZpZXcoKS0+c2V0RGV2ZWxvcGVy
RXh0cmFzRW5hYmxlZChlbmFibGUpOworfQorCit2b2lkIEJyb3dzZXJWaWV3Ojp0b2dnbGVXZWJJ
bnNwZWN0b3JNb2RlKGJvb2wgZW5hYmxlKQoreworICAgIGlmIChkZXNrdG9wV2ViVmlldygpKQor
ICAgICAgICBkZXNrdG9wV2ViVmlldygpLT5zZXRXZWJJbnNwZWN0b3JFbmFibGVkKGVuYWJsZSk7
CisgICAgZWxzZQorICAgICAgICB0b3VjaFdlYlZpZXcoKS0+c2V0V2ViSW5zcGVjdG9yRW5hYmxl
ZChlbmFibGUpOworfQorCiBRQWN0aW9uKiBCcm93c2VyVmlldzo6bmF2aWdhdGlvbkFjdGlvbihR
dFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbiB3aGljaCkgY29uc3QKIHsKICAgICBpZiAoZGVza3Rv
cFdlYlZpZXcoKSkKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAkocmV2aXNpb24g
OTM2NTkpCisrKyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oCSh3b3JraW5nIGNv
cHkpCkBAIC01MCw2ICs1MCw4IEBAIHB1YmxpYzoKIAogICAgIFFUb3VjaFdlYlZpZXcqIHRvdWNo
V2ViVmlldygpIGNvbnN0OwogICAgIFFEZXNrdG9wV2ViVmlldyogZGVza3RvcFdlYlZpZXcoKSBj
b25zdDsKKyAgICB2b2lkIHRvZ2dsZVdlYkluc3BlY3Rvck1vZGUoYm9vbCBlbmFibGUpOworICAg
IHZvaWQgZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sIGVuYWJsZSk7CiAKIHByb3RlY3Rl
ZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVzaXplRXZlbnQoUVJlc2l6ZUV2ZW50Kik7CkluZGV4OiBU
b29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAkocmV2aXNpb24gOTM2NTkpCisrKyBU
b29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA0LDYgKzEwNCwxNyBAQCBCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KFdpbmRvd09wdGlv
CiAgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoZW50ZXJlZEZ1bGxTY3JlZW5Nb2RlKGJvb2wpKSwg
dGhpcywgU0xPVCh0b2dnbGVGdWxsU2NyZWVuTW9kZShib29sKSkpOwogCiAgICAgUU1lbnUqIHRv
b2xzTWVudSA9IG1lbnVCYXIoKS0+YWRkTWVudSgiJkRldmVsb3AiKTsKKyAgICBtX2VuYWJsZURl
dmVsb3BlckV4dHJhcyA9IHRvb2xzTWVudS0+YWRkQWN0aW9uKCJFbmFibGUgRGV2ZWxvcGVyIEV4
dHJhcyIsIHRoaXMsIFNMT1Qob25EZXZlbG9wZXJFeHRyYXNNb2RlQ2hhbmdlZChib29sKSkpOyAK
KyAgICBtX2VuYWJsZURldmVsb3BlckV4dHJhcy0+c2V0Q2hlY2thYmxlKHRydWUpOworICAgIG1f
ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzLT5zZXRDaGVja2VkKGZhbHNlKTsKKyAgICBjb25uZWN0KHRo
aXMsIFNJR05BTChlbnRlcmVkRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sKSksIHRoaXMsIFNMT1Qo
ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShib29sKSkpOworICAgIAorICAgIG1fdG9nZ2xlV2Vi
SW5zcGVjdG9yID0gdG9vbHNNZW51LT5hZGRBY3Rpb24oIlRvZ2dsZSBXZWIgSW5zcGVjdG9yIiwg
dGhpcywgU0xPVChvbldlYkluc3BlY3Rvck1vZGVDaGFuZ2VkKGJvb2wpKSk7CisgICAgbV90b2dn
bGVXZWJJbnNwZWN0b3ItPnNldENoZWNrYWJsZSh0cnVlKTsKKyAgICBtX3RvZ2dsZVdlYkluc3Bl
Y3Rvci0+c2V0Q2hlY2tlZChmYWxzZSk7CisgICAgbV90b2dnbGVXZWJJbnNwZWN0b3ItPnNldEVu
YWJsZWQoZmFsc2UpOworICAgIGNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRXZWJJbnNwZWN0
b3JNb2RlKGJvb2wpKSwgdGhpcywgU0xPVCh0b2dnbGVXZWJJbnNwZWN0b3JNb2RlKGJvb2wpKSk7
CisKICAgICB0b29sc01lbnUtPmFkZEFjdGlvbigiQ2hhbmdlIFVzZXIgQWdlbnQiLCB0aGlzLCBT
TE9UKHNob3dVc2VyQWdlbnREaWFsb2coKSkpOwogICAgIHRvb2xzTWVudS0+YWRkU2VwYXJhdG9y
KCk7CiAgICAgdG9vbHNNZW51LT5hZGRBY3Rpb24oIkxvYWQgVVJMcyBmcm9tIGZpbGUiLCB0aGlz
LCBTTE9UKGxvYWRVUkxMaXN0RnJvbUZpbGUoKSkpOwpAQCAtMTMzLDYgKzE0NCwyMCBAQCBCcm93
c2VyV2luZG93OjpCcm93c2VyV2luZG93KFdpbmRvd09wdGlvCiAgICAgc2hvdygpOwogfQogCit2
b2lkIEJyb3dzZXJXaW5kb3c6Om9uRGV2ZWxvcGVyRXh0cmFzTW9kZUNoYW5nZWQoYm9vbCBlbmFi
bGUpCit7CisgICAgbV9lbmFibGVEZXZlbG9wZXJFeHRyYXMtPnNldENoZWNrZWQoZW5hYmxlKTsK
KyAgICBtX3RvZ2dsZVdlYkluc3BlY3Rvci0+c2V0RW5hYmxlZChlbmFibGUpOworICAgIGVtaXQg
ZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoZW5hYmxlKTsKK30KKwordm9pZCBCcm93c2VyV2lu
ZG93OjpvbldlYkluc3BlY3Rvck1vZGVDaGFuZ2VkKGJvb2wgZW5hYmxlKQoreworICAgIG1fdG9n
Z2xlV2ViSW5zcGVjdG9yLT5zZXRDaGVja2VkKGVuYWJsZSk7CisgICAgbV9lbmFibGVEZXZlbG9w
ZXJFeHRyYXMtPnNldEVuYWJsZWQoIWVuYWJsZSk7CisgICAgZW1pdCBlbnRlcmVkV2ViSW5zcGVj
dG9yTW9kZShlbmFibGUpOworfQorCiB2b2lkIEJyb3dzZXJXaW5kb3c6OmxvYWQoY29uc3QgUVN0
cmluZyYgdXJsKQogewogICAgIG1fYWRkcmVzc0Jhci0+c2V0VGV4dCh1cmwpOwpAQCAtMjMwLDYg
KzI1NSwxNiBAQCB2b2lkIEJyb3dzZXJXaW5kb3c6OnNjcmVlbnNob3QoKQogICAgIH0KIH0KIAor
dm9pZCBCcm93c2VyV2luZG93OjplbmFibGVEZXZlbG9wZXJFeHRyYXNNb2RlKGJvb2wgZW5hYmxl
KQoreworICAgIG1fYnJvd3Nlci0+ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9kZShlbmFibGUpOwor
fQorCit2b2lkIEJyb3dzZXJXaW5kb3c6OnRvZ2dsZVdlYkluc3BlY3Rvck1vZGUoYm9vbCBlbmFi
bGUpCit7CisgICAgbV9icm93c2VyLT50b2dnbGVXZWJJbnNwZWN0b3JNb2RlKGVuYWJsZSk7Cit9
CisKIHZvaWQgQnJvd3NlcldpbmRvdzo6dG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCBlbmFibGUp
CiB7CiAgICAgYm9vbCBhbHJlYWR5RW5hYmxlZCA9IHdpbmRvd1N0YXRlKCkgJiBRdDo6V2luZG93
RnVsbFNjcmVlbjsKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgJKHJldmlz
aW9uIDkzNjU5KQorKysgVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OSwxMCArNDksMTQgQEAgcHVibGljOgogCiBwdWJsaWMgc2xvdHM6CiAg
ICAgQnJvd3NlcldpbmRvdyogbmV3V2luZG93KGNvbnN0IFFTdHJpbmcmIHVybCA9ICJhYm91dDpi
bGFuayIpOworICAgIHZvaWQgb25EZXZlbG9wZXJFeHRyYXNNb2RlQ2hhbmdlZChib29sKTsKKyAg
ICB2b2lkIG9uV2ViSW5zcGVjdG9yTW9kZUNoYW5nZWQoYm9vbCk7CiAgICAgdm9pZCBvcGVuTG9j
YXRpb24oKTsKIAogc2lnbmFsczoKICAgICB2b2lkIGVudGVyZWRGdWxsU2NyZWVuTW9kZShib29s
IG9uKTsKKyAgICB2b2lkIGVudGVyZWRXZWJJbnNwZWN0b3JNb2RlKGJvb2wgb24pOworICAgIHZv
aWQgZW50ZXJlZERldmVsb3BlckV4dHJhc01vZGUoYm9vbCBvbik7CiAKIHByb3RlY3RlZCBzbG90
czoKICAgICB2b2lkIGNoYW5nZUxvY2F0aW9uKCk7CkBAIC02Myw2ICs2Nyw4IEBAIHByb3RlY3Rl
ZCBzbG90czoKICAgICB2b2lkIHNjcmVlbnNob3QoKTsKIAogICAgIHZvaWQgdG9nZ2xlRnVsbFNj
cmVlbk1vZGUoYm9vbCBlbmFibGUpOworICAgIHZvaWQgZW5hYmxlRGV2ZWxvcGVyRXh0cmFzTW9k
ZShib29sIGVuYWJsZSk7CisgICAgdm9pZCB0b2dnbGVXZWJJbnNwZWN0b3JNb2RlKGJvb2wgZW5h
YmxlKTsKIAogICAgIHZvaWQgc2hvd1VzZXJBZ2VudERpYWxvZygpOwogCkBAIC03OCw2ICs4NCw5
IEBAIHByaXZhdGU6CiAgICAgQnJvd3NlclZpZXcqIG1fYnJvd3NlcjsKICAgICBRTGluZUVkaXQq
IG1fYWRkcmVzc0JhcjsKICAgICBRU3RyaW5nTGlzdCBtX3VzZXJBZ2VudExpc3Q7CisgICAgCisg
ICAgUUFjdGlvbiogbV9lbmFibGVEZXZlbG9wZXJFeHRyYXM7CisgICAgUUFjdGlvbiogbV90b2dn
bGVXZWJJbnNwZWN0b3I7CiB9OwogCiAjZW5kaWYK
</data>
<flag name="review"
          id="102121"
          type_id="1"
          status="-"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>