<?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>79738</bug_id>
          
          <creation_ts>2012-02-27 20:06:21 -0800</creation_ts>
          <short_desc>[Qt] Authentication dialog does not work</short_desc>
          <delta_ts>2012-03-07 13:43:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yael">yael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abecsi</cc>
    
    <cc>dinu.jacob</cc>
    
    <cc>hausmann</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>566313</commentid>
    <comment_count>0</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2012-02-27 20:06:21 -0800</bug_when>
    <thetext>With latest Qt and latest webkit, cannot type username/password in HTTP Authentication dialog.

Try loading e.g. http://iop4.nokia-boston.com. The Authentication dialog shows, but users cannot type in it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568830</commentid>
    <comment_count>1</comment_count>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-01 12:45:23 -0800</bug_when>
    <thetext>The mouse press event on the text input field is translated to touch event in MiniBrowser. This results in qquickwebview getting focus (it calls forceActiveFocus in touchEvent handler). Hence, the text input field loses focus and doesn&apos;t take any input.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568832</commentid>
    <comment_count>2</comment_count>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-01 12:47:01 -0800</bug_when>
    <thetext>I have a patch preventing event conversion in MiniBrowser if dialogRunner is active. Needed to expose an API from webView experimental to indicate this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568833</commentid>
    <comment_count>3</comment_count>
      <attachid>129734</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-01 12:48:08 -0800</bug_when>
    <thetext>Created attachment 129734
Prevent coverting mouse events to touch events in MiniBrowser if dialogRunner is active</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572563</commentid>
    <comment_count>4</comment_count>
      <attachid>129734</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-03-06 23:02:10 -0800</bug_when>
    <thetext>Comment on attachment 129734
Prevent coverting mouse events to touch events in MiniBrowser if dialogRunner is active

I don&apos;t like that we have to work around our touch mocking. I&apos;m not even sure this workaround is needed anymore now that we send the event synchronously, but ultimately the fix belongs into QtQuick to make MouseArea accept touch events (see discussion on qt development list).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572829</commentid>
    <comment_count>5</comment_count>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-07 05:41:25 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 129734 [details])
&gt; I don&apos;t like that we have to work around our touch mocking. I&apos;m not even sure this workaround is needed anymore now that we send the event synchronously, but ultimately the fix belongs into QtQuick to make MouseArea accept touch events (see discussion on qt development list).

I should have updated the bug. With the changes for sending the event synchronously, it is not an issue just with the input editor anymore. None of the dialogs can even be dismissed/accepted because the mouse events are not sent to the dialog item as QQuickWebView accepts the touch event. Agreed that QQuickItems should handle touch events (we have been waiting for such a fix for quite some time :) as there are other issues like QQuickWebView receiving touch events which can possibly cause a link to be selected etc. ). 

On hardware the input editor should still have an issue as QQuickWebView would grab the focus (I added the work-around in MiniBrowser thinking that this is limited to only touch mocking). The touch event handler in QQuickWebView should grab focus only if there is no active dialog (agreed this too is a work-around in the absence of a Qt fix).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572832</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-03-07 05:52:15 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 129734 [details] [details])
&gt; &gt; I don&apos;t like that we have to work around our touch mocking. I&apos;m not even sure this workaround is needed anymore now that we send the event synchronously, but ultimately the fix belongs into QtQuick to make MouseArea accept touch events (see discussion on qt development list).
&gt; 
&gt; I should have updated the bug. With the changes for sending the event synchronously, it is not an issue just with the input editor anymore. None of the dialogs can even be dismissed/accepted because the mouse events are not sent to the dialog item as QQuickWebView accepts the touch event. Agreed that QQuickItems should handle touch events (we have been waiting for such a fix for quite some time :) as there are other issues like QQuickWebView receiving touch events which can possibly cause a link to be selected etc. ). 
&gt; 
&gt; On hardware the input editor should still have an issue as QQuickWebView would grab the focus (I added the work-around in MiniBrowser thinking that this is limited to only touch mocking). The touch event handler in QQuickWebView should grab focus only if there is no active dialog (agreed this too is a work-around in the absence of a Qt fix).

Right. We are also in discussion with the QQuick folks about the event handling, and in the meantime it seems the best &quot;workaround&quot; is to not accept touch events while the dialogrunner is running.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572833</commentid>
    <comment_count>7</comment_count>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-07 05:54:27 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; (From update of attachment 129734 [details] [details] [details])
&gt; &gt; &gt; I don&apos;t like that we have to work around our touch mocking. I&apos;m not even sure this workaround is needed anymore now that we send the event synchronously, but ultimately the fix belongs into QtQuick to make MouseArea accept touch events (see discussion on qt development list).
&gt; &gt; 
&gt; &gt; I should have updated the bug. With the changes for sending the event synchronously, it is not an issue just with the input editor anymore. None of the dialogs can even be dismissed/accepted because the mouse events are not sent to the dialog item as QQuickWebView accepts the touch event. Agreed that QQuickItems should handle touch events (we have been waiting for such a fix for quite some time :) as there are other issues like QQuickWebView receiving touch events which can possibly cause a link to be selected etc. ). 
&gt; &gt; 
&gt; &gt; On hardware the input editor should still have an issue as QQuickWebView would grab the focus (I added the work-around in MiniBrowser thinking that this is limited to only touch mocking). The touch event handler in QQuickWebView should grab focus only if there is no active dialog (agreed this too is a work-around in the absence of a Qt fix).
&gt; 
&gt; Right. We are also in discussion with the QQuick folks about the event handling, and in the meantime it seems the best &quot;workaround&quot; is to not accept touch events while the dialogrunner is running.

I will modify the patch to add the check in QQuickWebView rather than in MiniBrowser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572895</commentid>
    <comment_count>8</comment_count>
      <attachid>130628</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-07 08:17:33 -0800</bug_when>
    <thetext>Created attachment 130628
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572922</commentid>
    <comment_count>9</comment_count>
      <attachid>130628</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-07 08:51:03 -0800</bug_when>
    <thetext>Comment on attachment 130628
Updated Patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:285
&gt; +    dialogRunner = new QtDialogRunner;

This should use an OwnPtr and you should make a PassOwnPtr QtDialogRunner::create()

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:518
&gt; +void QQuickWebViewPrivate::destroyDialogRunner()
&gt; +{
&gt; +    delete dialogRunner;
&gt; +    dialogRunner = 0;
&gt; +}

ieck! this calls for an OwnPtr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572995</commentid>
    <comment_count>10</comment_count>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-07 10:22:01 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 130628 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=130628&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:285
&gt; &gt; +    dialogRunner = new QtDialogRunner;
&gt; 
&gt; This should use an OwnPtr and you should make a PassOwnPtr QtDialogRunner::create()
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:518
&gt; &gt; +void QQuickWebViewPrivate::destroyDialogRunner()
&gt; &gt; +{
&gt; &gt; +    delete dialogRunner;
&gt; &gt; +    dialogRunner = 0;
&gt; &gt; +}
&gt; 
&gt; ieck! this calls for an OwnPtr

Ah, didn&apos;t think about it :( Will change it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573049</commentid>
    <comment_count>11</comment_count>
      <attachid>130656</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-07 11:28:30 -0800</bug_when>
    <thetext>Created attachment 130656
Updated with Review Comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573097</commentid>
    <comment_count>12</comment_count>
      <attachid>130656</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-03-07 12:02:07 -0800</bug_when>
    <thetext>Comment on attachment 130656
Updated with Review Comments

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1385
&gt; +    if (d-&gt;dialogRunner.get())
&gt; +        event-&gt;ignore();
&gt; +    else {
&gt; +        forceActiveFocus();
&gt; +        d-&gt;pageView-&gt;eventHandler()-&gt;handleTouchEvent(event);
&gt; +    }

I think webkit style would be an early return, i.e.

    if (showingDialog)
        return;

    forceActiveFocus();
    d-&gt;pageView-&gt;eventHandler()-&gt;handleTouchEvent(event);

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h:157
&gt; +    OwnPtr&lt;QtDialogRunner&gt; dialogRunner;

Do we really need all that ownptr, etc. and all the resulting cosmetic code changes if all we want to know is if we&apos;re showing the runner? Why not simply put a boolean in place?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573100</commentid>
    <comment_count>13</comment_count>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-07 12:08:49 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 130656 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=130656&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1385
&gt; &gt; +    if (d-&gt;dialogRunner.get())
&gt; &gt; +        event-&gt;ignore();
&gt; &gt; +    else {
&gt; &gt; +        forceActiveFocus();
&gt; &gt; +        d-&gt;pageView-&gt;eventHandler()-&gt;handleTouchEvent(event);
&gt; &gt; +    }
&gt; 
&gt; I think webkit style would be an early return, i.e.
&gt; 
&gt;     if (showingDialog)
&gt;         return;
&gt; 
&gt;     forceActiveFocus();
&gt;     d-&gt;pageView-&gt;eventHandler()-&gt;handleTouchEvent(event);
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h:157
&gt; &gt; +    OwnPtr&lt;QtDialogRunner&gt; dialogRunner;
&gt; 
&gt; Do we really need all that ownptr, etc. and all the resulting cosmetic code changes if all we want to know is if we&apos;re showing the runner? Why not simply put a boolean in place?

I though of adding a bool but went the way of making dialogRunner a pointer so that we don&apos;t need to set the boolean every time we create a dialogRunner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573103</commentid>
    <comment_count>14</comment_count>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-07 12:11:32 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 130656 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=130656&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1385
&gt; &gt; +    if (d-&gt;dialogRunner.get())
&gt; &gt; +        event-&gt;ignore();
&gt; &gt; +    else {
&gt; &gt; +        forceActiveFocus();
&gt; &gt; +        d-&gt;pageView-&gt;eventHandler()-&gt;handleTouchEvent(event);
&gt; &gt; +    }
&gt; 
&gt; I think webkit style would be an early return, i.e.
&gt; 
&gt;     if (showingDialog)
&gt;         return;
&gt; 
&gt;     forceActiveFocus();
&gt;     d-&gt;pageView-&gt;eventHandler()-&gt;handleTouchEvent(event);

Need to explicitly ignore the event as it is set to accepted (by Qt) when it is received here.

&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h:157
&gt; &gt; +    OwnPtr&lt;QtDialogRunner&gt; dialogRunner;
&gt; 
&gt; Do we really need all that ownptr, etc. and all the resulting cosmetic code changes if all we want to know is if we&apos;re showing the runner? Why not simply put a boolean in place?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573127</commentid>
    <comment_count>15</comment_count>
      <attachid>130670</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-07 12:41:38 -0800</bug_when>
    <thetext>Created attachment 130670
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573148</commentid>
    <comment_count>16</comment_count>
      <attachid>130670</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-03-07 13:01:49 -0800</bug_when>
    <thetext>Comment on attachment 130670
Updated Patch

That looks indeed much simpler to me :-)

All those chunks of duplicated code when executing the dialogs smell like they could be simplified, but that&apos;s completely unrelated to this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573162</commentid>
    <comment_count>17</comment_count>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-07 13:16:35 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 130670 [details])
&gt; That looks indeed much simpler to me :-)
&gt; 
&gt; All those chunks of duplicated code when executing the dialogs smell like they could be simplified, but that&apos;s completely unrelated to this bug.

Yes. I agree. In fact for authentication and proxy authentication I was going to do a patch as that is almost entirely duplicated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573198</commentid>
    <comment_count>18</comment_count>
      <attachid>130670</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-07 13:43:54 -0800</bug_when>
    <thetext>Comment on attachment 130670
Updated Patch

Clearing flags on attachment: 130670

Committed r110098: &lt;http://trac.webkit.org/changeset/110098&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573199</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-07 13:43:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129734</attachid>
            <date>2012-03-01 12:48:08 -0800</date>
            <delta_ts>2012-03-07 08:17:33 -0800</delta_ts>
            <desc>Prevent coverting mouse events to touch events in MiniBrowser if dialogRunner is active</desc>
            <filename>79738.patch</filename>
            <type>text/plain</type>
            <size>11429</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAyNjE0MDU3Li45ZTUwYzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMDMtMDEgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdIEF1dGhlbnRpY2F0aW9uIGRpYWxvZyBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTczOAorCisgICAgICAgIEFk
ZCBBUEkgdG8gaW5kaWNhdGUgd2hldGhlciBkaWFsb2dSdW5uZXIgaXMgYWN0aXZlIG9yIG5vdAor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0
ZTo6UVF1aWNrV2ViVmlld1ByaXZhdGUpOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6
OnJ1bkphdmFTY3JpcHRBbGVydCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cnVu
SmF2YVNjcmlwdENvbmZpcm0pOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OnJ1bkph
dmFTY3JpcHRQcm9tcHQpOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRsZUF1
dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2
YXRlOjpoYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KToKKyAgICAgICAg
KFFRdWlja1dlYlZpZXdQcml2YXRlOjpoYW5kbGVDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVl
c3QpOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmRlc3Ryb3lEaWFsb2dSdW5uZXIp
OgorICAgICAgICAoUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6ZGlhbG9nUnVubmVyQWN0aXZl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaDoKKyAgICAgICAgKFFRdWlj
a1dlYlZpZXdQcml2YXRlKToKKwogMjAxMi0wMi0yNyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBw
bGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85NTU3NTk4PiBSRUdSRVNTSU9OIChX
ZWJLaXQyKTogTm9uLWFjdGl2YXRpbmcgbGlua3Mgc29tZXRpbWVzIGRvbuKAmXQgd29yawpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKaW5k
ZXggMmVlZWZhOC4uNDc0ZGI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCkBAIC03Niw2ICs3Niw3IEBAIFFRdWlja1dlYlZpZXdQ
cml2YXRlOjpRUXVpY2tXZWJWaWV3UHJpdmF0ZShRUXVpY2tXZWJWaWV3KiB2aWV3cG9ydCkKICAg
ICAsIGNlcnRpZmljYXRlVmVyaWZpY2F0aW9uRGlhbG9nKDApCiAgICAgLCBpdGVtU2VsZWN0b3Io
MCkKICAgICAsIHByb3h5QXV0aGVudGljYXRpb25EaWFsb2coMCkKKyAgICAsIGRpYWxvZ1J1bm5l
cigwKQogICAgICwgdXNlckRpZE92ZXJyaWRlQ29udGVudFdpZHRoKGZhbHNlKQogICAgICwgdXNl
ckRpZE92ZXJyaWRlQ29udGVudEhlaWdodChmYWxzZSkKICAgICAsIG1fbmF2aWdhdG9yUXRPYmpl
Y3RFbmFibGVkKGZhbHNlKQpAQCAtMjQ3LDE0ICsyNDgsMTggQEAgdm9pZCBRUXVpY2tXZWJWaWV3
UHJpdmF0ZTo6cnVuSmF2YVNjcmlwdEFsZXJ0KGNvbnN0IFFTdHJpbmcmIGFsZXJ0VGV4dCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgUV9RKFFRdWlja1dlYlZpZXcpOwotICAgIFF0RGlhbG9nUnVu
bmVyIGRpYWxvZ1J1bm5lcjsKLSAgICBpZiAoIWRpYWxvZ1J1bm5lci5pbml0Rm9yQWxlcnQoYWxl
cnREaWFsb2csIHEsIGFsZXJ0VGV4dCkpCisgICAgZGlhbG9nUnVubmVyID0gbmV3IFF0RGlhbG9n
UnVubmVyOworICAgIGlmICghZGlhbG9nUnVubmVyLT5pbml0Rm9yQWxlcnQoYWxlcnREaWFsb2cs
IHEsIGFsZXJ0VGV4dCkpIHsKKyAgICAgICAgZGVzdHJveURpYWxvZ1J1bm5lcigpOwogICAgICAg
ICByZXR1cm47Ci0gICAgc2V0Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRpYWxvZ1J1bm5lci5k
aWFsb2coKSk7CisgICAgfQorICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dS
dW5uZXItPmRpYWxvZygpKTsKIAogICAgIGRpc2FibGVNb3VzZUV2ZW50cygpOwotICAgIGRpYWxv
Z1J1bm5lci5leGVjKCk7CisgICAgZGlhbG9nUnVubmVyLT5leGVjKCk7CiAgICAgZW5hYmxlTW91
c2VFdmVudHMoKTsKKworICAgIGRlc3Ryb3lEaWFsb2dSdW5uZXIoKTsKIH0KIAogYm9vbCBRUXVp
Y2tXZWJWaWV3UHJpdmF0ZTo6cnVuSmF2YVNjcmlwdENvbmZpcm0oY29uc3QgUVN0cmluZyYgbWVz
c2FnZSkKQEAgLTI2MywxNiArMjY4LDIyIEBAIGJvb2wgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnJ1
bkphdmFTY3JpcHRDb25maXJtKGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UpCiAgICAgICAgIHJldHVy
biB0cnVlOwogCiAgICAgUV9RKFFRdWlja1dlYlZpZXcpOwotICAgIFF0RGlhbG9nUnVubmVyIGRp
YWxvZ1J1bm5lcjsKLSAgICBpZiAoIWRpYWxvZ1J1bm5lci5pbml0Rm9yQ29uZmlybShjb25maXJt
RGlhbG9nLCBxLCBtZXNzYWdlKSkKKyAgICBkaWFsb2dSdW5uZXIgPSBuZXcgUXREaWFsb2dSdW5u
ZXI7CisKKyAgICBpZiAoIWRpYWxvZ1J1bm5lci0+aW5pdEZvckNvbmZpcm0oY29uZmlybURpYWxv
ZywgcSwgbWVzc2FnZSkpIHsKKyAgICAgICAgZGVzdHJveURpYWxvZ1J1bm5lcigpOwogICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoZGlhbG9nUnVu
bmVyLmRpYWxvZygpKTsKKyAgICB9CisgICAgc2V0Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRp
YWxvZ1J1bm5lci0+ZGlhbG9nKCkpOwogCiAgICAgZGlzYWJsZU1vdXNlRXZlbnRzKCk7Ci0gICAg
ZGlhbG9nUnVubmVyLmV4ZWMoKTsKKyAgICBkaWFsb2dSdW5uZXItPmV4ZWMoKTsKICAgICBlbmFi
bGVNb3VzZUV2ZW50cygpOwogCi0gICAgcmV0dXJuIGRpYWxvZ1J1bm5lci53YXNBY2NlcHRlZCgp
OworICAgIGJvb2wgYWNjZXB0ZWQgPSBkaWFsb2dSdW5uZXItPndhc0FjY2VwdGVkKCk7CisKKyAg
ICBkZXN0cm95RGlhbG9nUnVubmVyKCk7CisgICAgcmV0dXJuIGFjY2VwdGVkOwogfQogCiBRU3Ry
aW5nIFFRdWlja1dlYlZpZXdQcml2YXRlOjpydW5KYXZhU2NyaXB0UHJvbXB0KGNvbnN0IFFTdHJp
bmcmIG1lc3NhZ2UsIGNvbnN0IFFTdHJpbmcmIGRlZmF1bHRWYWx1ZSwgYm9vbCYgb2spCkBAIC0y
ODMsMTkgKzI5NCwyMyBAQCBRU3RyaW5nIFFRdWlja1dlYlZpZXdQcml2YXRlOjpydW5KYXZhU2Ny
aXB0UHJvbXB0KGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0CiAgICAgfQogCiAgICAgUV9R
KFFRdWlja1dlYlZpZXcpOwotICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1bm5lcjsKLSAgICBp
ZiAoIWRpYWxvZ1J1bm5lci5pbml0Rm9yUHJvbXB0KHByb21wdERpYWxvZywgcSwgbWVzc2FnZSwg
ZGVmYXVsdFZhbHVlKSkgeworICAgIGRpYWxvZ1J1bm5lciA9IG5ldyBRdERpYWxvZ1J1bm5lcjsK
KyAgICBpZiAoIWRpYWxvZ1J1bm5lci0+aW5pdEZvclByb21wdChwcm9tcHREaWFsb2csIHEsIG1l
c3NhZ2UsIGRlZmF1bHRWYWx1ZSkpIHsKICAgICAgICAgb2sgPSB0cnVlOworICAgICAgICBkZXN0
cm95RGlhbG9nUnVubmVyKCk7CiAgICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7CiAgICAgfQot
ICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dSdW5uZXIuZGlhbG9nKCkpOwor
ICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dSdW5uZXItPmRpYWxvZygpKTsK
IAogICAgIGRpc2FibGVNb3VzZUV2ZW50cygpOwotICAgIGRpYWxvZ1J1bm5lci5leGVjKCk7Cisg
ICAgZGlhbG9nUnVubmVyLT5leGVjKCk7CiAgICAgZW5hYmxlTW91c2VFdmVudHMoKTsKIAotICAg
IG9rID0gZGlhbG9nUnVubmVyLndhc0FjY2VwdGVkKCk7Ci0gICAgcmV0dXJuIGRpYWxvZ1J1bm5l
ci5yZXN1bHQoKTsKKyAgICBvayA9IGRpYWxvZ1J1bm5lci0+d2FzQWNjZXB0ZWQoKTsKKyAgICBR
U3RyaW5nIHJlc3VsdCA9IGRpYWxvZ1J1bm5lci0+cmVzdWx0KCk7CisgICAgCisgICAgZGVzdHJv
eURpYWxvZ1J1bm5lcigpOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgUVF1aWNrV2Vi
Vmlld1ByaXZhdGU6OmhhbmRsZUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFFT
dHJpbmcmIGhvc3RuYW1lLCBjb25zdCBRU3RyaW5nJiByZWFsbSwgY29uc3QgUVN0cmluZyYgcHJl
ZmlsbGVkVXNlcm5hbWUsIFFTdHJpbmcmIHVzZXJuYW1lLCBRU3RyaW5nJiBwYXNzd29yZCkKQEAg
LTMwNCwxOCArMzE5LDI0IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRsZUF1dGhl
bnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGhvCiAgICAgICAgIHJldHVy
bjsKIAogICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKLSAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dS
dW5uZXI7Ci0gICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckF1dGhlbnRpY2F0aW9uKGF1dGhl
bnRpY2F0aW9uRGlhbG9nLCBxLCBob3N0bmFtZSwgcmVhbG0sIHByZWZpbGxlZFVzZXJuYW1lKSkK
KworICAgIGRpYWxvZ1J1bm5lciA9IG5ldyBRdERpYWxvZ1J1bm5lcjsKKyAgICBpZiAoIWRpYWxv
Z1J1bm5lci0+aW5pdEZvckF1dGhlbnRpY2F0aW9uKGF1dGhlbnRpY2F0aW9uRGlhbG9nLCBxLCBo
b3N0bmFtZSwgcmVhbG0sIHByZWZpbGxlZFVzZXJuYW1lKSkgeworICAgICAgICBkZXN0cm95RGlh
bG9nUnVubmVyKCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBzZXRWaWV3SW5BdHRh
Y2hlZFByb3BlcnRpZXMoZGlhbG9nUnVubmVyLmRpYWxvZygpKTsKKyAgICBzZXRWaWV3SW5BdHRh
Y2hlZFByb3BlcnRpZXMoZGlhbG9nUnVubmVyLT5kaWFsb2coKSk7CiAKICAgICBkaXNhYmxlTW91
c2VFdmVudHMoKTsKLSAgICBkaWFsb2dSdW5uZXIuZXhlYygpOworICAgIGRpYWxvZ1J1bm5lci0+
ZXhlYygpOwogICAgIGVuYWJsZU1vdXNlRXZlbnRzKCk7CiAKLSAgICB1c2VybmFtZSA9IGRpYWxv
Z1J1bm5lci51c2VybmFtZSgpOwotICAgIHBhc3N3b3JkID0gZGlhbG9nUnVubmVyLnBhc3N3b3Jk
KCk7CisgICAgdXNlcm5hbWUgPSBkaWFsb2dSdW5uZXItPnVzZXJuYW1lKCk7CisgICAgcGFzc3dv
cmQgPSBkaWFsb2dSdW5uZXItPnBhc3N3b3JkKCk7CisKKyAgICBkZXN0cm95RGlhbG9nUnVubmVy
KCk7CisKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlUHJveHlBdXRoZW50
aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3Qg
cG9ydCwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFFTdHJpbmcmIHVzZXJuYW1l
LCBRU3RyaW5nJiBwYXNzd29yZCkKQEAgLTMyNCwxNyArMzQ1LDIxIEBAIHZvaWQgUVF1aWNrV2Vi
Vmlld1ByaXZhdGU6OmhhbmRsZVByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29u
c3QgUVN0cmluCiAgICAgICAgIHJldHVybjsKIAogICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKLSAg
ICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0gICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5p
dEZvclByb3h5QXV0aGVudGljYXRpb24ocHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZywgcSwgaG9z
dG5hbWUsIHBvcnQsIHByZWZpbGxlZFVzZXJuYW1lKSkKKyAgICBkaWFsb2dSdW5uZXIgPSBuZXcg
UXREaWFsb2dSdW5uZXI7CisgICAgaWYgKCFkaWFsb2dSdW5uZXItPmluaXRGb3JQcm94eUF1dGhl
bnRpY2F0aW9uKHByb3h5QXV0aGVudGljYXRpb25EaWFsb2csIHEsIGhvc3RuYW1lLCBwb3J0LCBw
cmVmaWxsZWRVc2VybmFtZSkpIHsKKyAgICAgICAgZGVzdHJveURpYWxvZ1J1bm5lcigpOwogICAg
ICAgICByZXR1cm47CisgICAgfQogCi0gICAgc2V0Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRp
YWxvZ1J1bm5lci5kaWFsb2coKSk7CisgICAgc2V0Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRp
YWxvZ1J1bm5lci0+ZGlhbG9nKCkpOwogICAgIGRpc2FibGVNb3VzZUV2ZW50cygpOwotICAgIGRp
YWxvZ1J1bm5lci5leGVjKCk7CisgICAgZGlhbG9nUnVubmVyLT5leGVjKCk7CiAgICAgZW5hYmxl
TW91c2VFdmVudHMoKTsKIAotICAgIHVzZXJuYW1lID0gZGlhbG9nUnVubmVyLnVzZXJuYW1lKCk7
Ci0gICAgcGFzc3dvcmQgPSBkaWFsb2dSdW5uZXIucGFzc3dvcmQoKTsKKyAgICB1c2VybmFtZSA9
IGRpYWxvZ1J1bm5lci0+dXNlcm5hbWUoKTsKKyAgICBwYXNzd29yZCA9IGRpYWxvZ1J1bm5lci0+
cGFzc3dvcmQoKTsKKworICAgIGRlc3Ryb3lEaWFsb2dSdW5uZXIoKTsKIH0KIAogYm9vbCBRUXVp
Y2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0KGNv
bnN0IFFTdHJpbmcmIGhvc3RuYW1lKQpAQCAtMzQzLDE3ICszNjgsMjIgQEAgYm9vbCBRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6aGFuZGxlQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0KGNvbnN0
IFFTdHJpbmcmIGgKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgUV9RKFFRdWlja1dlYlZp
ZXcpOwotICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1bm5lcjsKLSAgICBpZiAoIWRpYWxvZ1J1
bm5lci5pbml0Rm9yQ2VydGlmaWNhdGVWZXJpZmljYXRpb24oY2VydGlmaWNhdGVWZXJpZmljYXRp
b25EaWFsb2csIHEsIGhvc3RuYW1lKSkKKyAgICBkaWFsb2dSdW5uZXIgPSBuZXcgUXREaWFsb2dS
dW5uZXI7CisgICAgaWYgKCFkaWFsb2dSdW5uZXItPmluaXRGb3JDZXJ0aWZpY2F0ZVZlcmlmaWNh
dGlvbihjZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbkRpYWxvZywgcSwgaG9zdG5hbWUpKSB7CisgICAg
ICAgIGRlc3Ryb3lEaWFsb2dSdW5uZXIoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
IAotICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dSdW5uZXIuZGlhbG9nKCkp
OworICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dSdW5uZXItPmRpYWxvZygp
KTsKIAogICAgIGRpc2FibGVNb3VzZUV2ZW50cygpOwotICAgIGRpYWxvZ1J1bm5lci5leGVjKCk7
CisgICAgZGlhbG9nUnVubmVyLT5leGVjKCk7CiAgICAgZW5hYmxlTW91c2VFdmVudHMoKTsKIAot
ICAgIHJldHVybiBkaWFsb2dSdW5uZXIud2FzQWNjZXB0ZWQoKTsKKyAgICBib29sIGFjY2VwdGVk
ID0gZGlhbG9nUnVubmVyLT53YXNBY2NlcHRlZCgpOworICAgIGRlc3Ryb3lEaWFsb2dSdW5uZXIo
KTsKKworICAgIHJldHVybiBhY2NlcHRlZDsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0
ZTo6Y2hvb3NlRmlsZXMoV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lclJlZiwg
Y29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZU5hbWVzLCBRdFdlYlBhZ2VVSUNsaWVudDo6
RmlsZUNob29zZXJUeXBlIHR5cGUpCkBAIC00NTksNiArNDg5LDEyIEBAIHZvaWQgUVF1aWNrV2Vi
Vmlld1ByaXZhdGU6OmRpZFJlY2VpdmVNZXNzYWdlRnJvbU5hdmlnYXRvclF0T2JqZWN0KGNvbnN0
IFN0cmluZyYKICAgICBlbWl0IHFfcHRyLT5leHBlcmltZW50YWwoKS0+bWVzc2FnZVJlY2VpdmVk
KHZhcmlhbnRNYXApOwogfQogCit2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpkZXN0cm95RGlh
bG9nUnVubmVyKCkKK3sKKyAgICBkZWxldGUgZGlhbG9nUnVubmVyOworICAgIGRpYWxvZ1J1bm5l
ciA9IDA7Cit9CisKIFFRdWlja1dlYlZpZXdMZWdhY3lQcml2YXRlOjpRUXVpY2tXZWJWaWV3TGVn
YWN5UHJpdmF0ZShRUXVpY2tXZWJWaWV3KiB2aWV3cG9ydCkKICAgICA6IFFRdWlja1dlYlZpZXdQ
cml2YXRlKHZpZXdwb3J0KQogewpAQCAtMTA5MCw2ICsxMTI2LDEyIEBAIHZvaWQgUVF1aWNrV2Vi
Vmlld0V4cGVyaW1lbnRhbDo6c2V0Q29udGVudFkocXJlYWwgeSkKICAgICBkLT5mbGlja1Byb3Zp
ZGVyLT5zZXRDb250ZW50WSh5KTsKIH0KIAorYm9vbCBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFs
OjpkaWFsb2dSdW5uZXJBY3RpdmUoKSBjb25zdAoreworICAgIFFfRChjb25zdCBRUXVpY2tXZWJW
aWV3KTsKKyAgICByZXR1cm4gKChkLT5kaWFsb2dSdW5uZXIpID8gdHJ1ZTogZmFsc2UpOworfQor
CiBRUXVpY2tXZWJWaWV3OjpRUXVpY2tXZWJWaWV3KFFRdWlja0l0ZW0qIHBhcmVudCkKICAgICA6
IFFRdWlja0l0ZW0ocGFyZW50KQogICAgICwgZF9wdHIoY3JlYXRlUHJpdmF0ZU9iamVjdCh0aGlz
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlld19wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdf
cC5oCmluZGV4IGRmYjhiNTguLjgwY2ViNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaApAQCAtMjk3LDYgKzI5Nyw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldENvbnRlbnRYKHFyZWFsKTsKICAgICBxcmVhbCBjb250ZW50WSgpIGNv
bnN0OwogICAgIHZvaWQgc2V0Q29udGVudFkocXJlYWwpOworICAgIGJvb2wgZGlhbG9nUnVubmVy
QWN0aXZlKCkgY29uc3Q7CiAKICAgICAvLyBDKysgb25seQogICAgIGJvb2wgcmVuZGVyVG9PZmZz
Y3JlZW5CdWZmZXIoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAppbmRleCBiOWZiYmFkLi4wNjY1NjU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5o
CkBAIC00Niw2ICs0Niw3IEBAIGNsYXNzIFdlYlBhZ2VQcm94eTsKIH0KIGNsYXNzIFFXZWJOYXZp
Z2F0aW9uSGlzdG9yeTsKIGNsYXNzIFFXZWJWaWV3cG9ydEluZm87CitjbGFzcyBRdERpYWxvZ1J1
bm5lcjsKIAogUVRfQkVHSU5fTkFNRVNQQUNFCiBjbGFzcyBRRGVjbGFyYXRpdmVDb21wb25lbnQ7
CkBAIC0xMTUsNiArMTE2LDggQEAgcHVibGljOgogICAgIGJvb2wgcmVuZGVyVG9PZmZzY3JlZW5C
dWZmZXIoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlclRvT2Zmc2NyZWVuQnVmZmVyOyB9CiAgICAg
dm9pZCBzZXROYXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQoYm9vbCk7CiAKKyAgICB2b2lkIGRlc3Ry
b3lEaWFsb2dSdW5uZXIoKTsKKwogICAgIC8vIFBhZ2VDbGllbnQuCiAgICAgV2ViQ29yZTo6SW50
U2l6ZSB2aWV3U2l6ZSgpIGNvbnN0OwogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tTmF2
aWdhdG9yUXRPYmplY3QoY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKQEAgLTE1MCw2ICsxNTMsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgUURlY2xhcmF0aXZlQ29tcG9uZW50KiBjZXJ0aWZpY2F0ZVZlcmlm
aWNhdGlvbkRpYWxvZzsKICAgICBRRGVjbGFyYXRpdmVDb21wb25lbnQqIGl0ZW1TZWxlY3RvcjsK
ICAgICBRRGVjbGFyYXRpdmVDb21wb25lbnQqIHByb3h5QXV0aGVudGljYXRpb25EaWFsb2c7Cisg
ICAgUXREaWFsb2dSdW5uZXIqIGRpYWxvZ1J1bm5lcjsKIAogICAgIFdlYkNvcmU6OlZpZXdwb3J0
QXJndW1lbnRzIHZpZXdwb3J0QXJndW1lbnRzOwogICAgIFFGaWxlRGlhbG9nKiBmaWxlRGlhbG9n
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDc1
OGRjYjYuLjlmNWE3OGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMy0wMSAgRGludSBKYWNvYiAgPGRpbnUu
amFjb2JAbm9raWEuY29tPgorCisgICAgICAgIFtRdF0gQXV0aGVudGljYXRpb24gZGlhbG9nIGRv
ZXMgbm90IHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc5NzM4CisKKyAgICAgICAgRG8gbm90IGNvbnZlcnQgbW91c2UgZXZlbnRzIHRvIHRvdWNo
IGV2ZW50cyB3aGVuIGRpYWxvZ1J1bm5lciBpcyBhY3RpdmUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1pbmlCcm93c2VyL3F0L01pbmlCcm93c2Vy
QXBwbGljYXRpb24uY3BwOgorICAgICAgICAoTWluaUJyb3dzZXJBcHBsaWNhdGlvbjo6bm90aWZ5
KToKKwogMjAxMi0wMi0yNyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZGVkIGEgdGVzdCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzk1NTc1OTg+IFJFR1JFU1NJT04g
KFdlYktpdDIpOiBOb24tYWN0aXZhdGluZyBsaW5rcyBzb21ldGltZXMgZG9u4oCZdCB3b3JrCmRp
ZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3NlckFwcGxpY2F0aW9uLmNw
cCBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyQXBwbGljYXRpb24uY3BwCmluZGV4
IDJlYzk1YWQuLjRiZDY5ZTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlC
cm93c2VyQXBwbGljYXRpb24uY3BwCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93
c2VyQXBwbGljYXRpb24uY3BwCkBAIC0xMjYsNyArMTI2LDggQEAgYm9vbCBNaW5pQnJvd3NlckFw
cGxpY2F0aW9uOjpub3RpZnkoUU9iamVjdCogdGFyZ2V0LCBRRXZlbnQqIGV2ZW50KQogICAgICAg
ICBzZW5kVG91Y2hFdmVudChicm93c2VyV2luZG93KTsKICAgICB9CiAKLSAgICBpZiAoaXNNb3Vz
ZUV2ZW50KGV2ZW50KSkgeworICAgIGlmIChpc01vdXNlRXZlbnQoZXZlbnQpICYmICFicm93c2Vy
V2luZG93LT53ZWJWaWV3KCktPmV4cGVyaW1lbnRhbCgpLT5kaWFsb2dSdW5uZXJBY3RpdmUoKSkg
eworCiAgICAgICAgIGNvbnN0IFFNb3VzZUV2ZW50KiBjb25zdCBtb3VzZUV2ZW50ID0gc3RhdGlj
X2Nhc3Q8UU1vdXNlRXZlbnQqPihldmVudCk7CiAKICAgICAgICAgUVdpbmRvd1N5c3RlbUludGVy
ZmFjZTo6VG91Y2hQb2ludCB0b3VjaFBvaW50Owo=
</data>
<flag name="review"
          id="132493"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130628</attachid>
            <date>2012-03-07 08:17:33 -0800</date>
            <delta_ts>2012-03-07 11:28:30 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>79738.patch</filename>
            <type>text/plain</type>
            <size>9525</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzM2ZhZTgwLi5kYTM3Mzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTItMDMtMDcgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdIEF1dGhlbnRpY2F0aW9uIGRpYWxvZyBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTczOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFFRdWlja1dlYlZpZXcgc2hvdWxk
IGFjY2VwdCB0b3VjaCBldmVudHMgb25seSBpZiB0aGVyZSBpcworICAgICAgICBubyBhY3RpdmUg
ZGlhbG9nLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcDoK
KyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6Cisg
ICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cnVuSmF2YVNjcmlwdEFsZXJ0KToKKyAgICAg
ICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpydW5KYXZhU2NyaXB0Q29uZmlybSk6CisgICAgICAg
IChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cnVuSmF2YVNjcmlwdFByb21wdCk6CisgICAgICAgIChR
UXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3Qp
OgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRsZVByb3h5QXV0aGVudGljYXRp
b25SZXF1aXJlZFJlcXVlc3QpOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRs
ZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3
UHJpdmF0ZTo6ZGVzdHJveURpYWxvZ1J1bm5lcik6CisgICAgICAgIChRUXVpY2tXZWJWaWV3Ojp0
b3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9w
Lmg6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6CisKIDIwMTItMDMtMDcgIEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFBp
bmNoIHpvb20gYWN0cyB3ZWlyZGx5IG9uIG55dGltZXMuY29tIHdoaWxlIGxvYWRpbmcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4
IGYwMWNlMDIuLjE1ZDcxYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAtNzYsNiArNzYsNyBAQCBRUXVpY2tXZWJWaWV3UHJp
dmF0ZTo6UVF1aWNrV2ViVmlld1ByaXZhdGUoUVF1aWNrV2ViVmlldyogdmlld3BvcnQpCiAgICAg
LCBjZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbkRpYWxvZygwKQogICAgICwgaXRlbVNlbGVjdG9yKDAp
CiAgICAgLCBwcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nKDApCisgICAgLCBkaWFsb2dSdW5uZXIo
MCkKICAgICAsIHVzZXJEaWRPdmVycmlkZUNvbnRlbnRXaWR0aChmYWxzZSkKICAgICAsIHVzZXJE
aWRPdmVycmlkZUNvbnRlbnRIZWlnaHQoZmFsc2UpCiAgICAgLCBtX25hdmlnYXRvclF0T2JqZWN0
RW5hYmxlZChmYWxzZSkKQEAgLTI2MSwxNCArMjYyLDE4IEBAIHZvaWQgUVF1aWNrV2ViVmlld1By
aXZhdGU6OnJ1bkphdmFTY3JpcHRBbGVydChjb25zdCBRU3RyaW5nJiBhbGVydFRleHQpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKLSAgICBRdERpYWxvZ1J1bm5l
ciBkaWFsb2dSdW5uZXI7Ci0gICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckFsZXJ0KGFsZXJ0
RGlhbG9nLCBxLCBhbGVydFRleHQpKQorICAgIGRpYWxvZ1J1bm5lciA9IG5ldyBRdERpYWxvZ1J1
bm5lcjsKKyAgICBpZiAoIWRpYWxvZ1J1bm5lci0+aW5pdEZvckFsZXJ0KGFsZXJ0RGlhbG9nLCBx
LCBhbGVydFRleHQpKSB7CisgICAgICAgIGRlc3Ryb3lEaWFsb2dSdW5uZXIoKTsKICAgICAgICAg
cmV0dXJuOwotICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dSdW5uZXIuZGlh
bG9nKCkpOworICAgIH0KKyAgICBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoZGlhbG9nUnVu
bmVyLT5kaWFsb2coKSk7CiAKICAgICBkaXNhYmxlTW91c2VFdmVudHMoKTsKLSAgICBkaWFsb2dS
dW5uZXIuZXhlYygpOworICAgIGRpYWxvZ1J1bm5lci0+ZXhlYygpOwogICAgIGVuYWJsZU1vdXNl
RXZlbnRzKCk7CisKKyAgICBkZXN0cm95RGlhbG9nUnVubmVyKCk7CiB9CiAKIGJvb2wgUVF1aWNr
V2ViVmlld1ByaXZhdGU6OnJ1bkphdmFTY3JpcHRDb25maXJtKGNvbnN0IFFTdHJpbmcmIG1lc3Nh
Z2UpCkBAIC0yNzcsMTYgKzI4MiwyMiBAQCBib29sIFFRdWlja1dlYlZpZXdQcml2YXRlOjpydW5K
YXZhU2NyaXB0Q29uZmlybShjb25zdCBRU3RyaW5nJiBtZXNzYWdlKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAogICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKLSAgICBRdERpYWxvZ1J1bm5lciBkaWFs
b2dSdW5uZXI7Ci0gICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckNvbmZpcm0oY29uZmlybURp
YWxvZywgcSwgbWVzc2FnZSkpCisgICAgZGlhbG9nUnVubmVyID0gbmV3IFF0RGlhbG9nUnVubmVy
OworCisgICAgaWYgKCFkaWFsb2dSdW5uZXItPmluaXRGb3JDb25maXJtKGNvbmZpcm1EaWFsb2cs
IHEsIG1lc3NhZ2UpKSB7CisgICAgICAgIGRlc3Ryb3lEaWFsb2dSdW5uZXIoKTsKICAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgc2V0Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRpYWxvZ1J1bm5l
ci5kaWFsb2coKSk7CisgICAgfQorICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFs
b2dSdW5uZXItPmRpYWxvZygpKTsKIAogICAgIGRpc2FibGVNb3VzZUV2ZW50cygpOwotICAgIGRp
YWxvZ1J1bm5lci5leGVjKCk7CisgICAgZGlhbG9nUnVubmVyLT5leGVjKCk7CiAgICAgZW5hYmxl
TW91c2VFdmVudHMoKTsKIAotICAgIHJldHVybiBkaWFsb2dSdW5uZXIud2FzQWNjZXB0ZWQoKTsK
KyAgICBib29sIGFjY2VwdGVkID0gZGlhbG9nUnVubmVyLT53YXNBY2NlcHRlZCgpOworCisgICAg
ZGVzdHJveURpYWxvZ1J1bm5lcigpOworICAgIHJldHVybiBhY2NlcHRlZDsKIH0KIAogUVN0cmlu
ZyBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cnVuSmF2YVNjcmlwdFByb21wdChjb25zdCBRU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBRU3RyaW5nJiBkZWZhdWx0VmFsdWUsIGJvb2wmIG9rKQpAQCAtMjk3
LDE5ICszMDgsMjMgQEAgUVN0cmluZyBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cnVuSmF2YVNjcmlw
dFByb21wdChjb25zdCBRU3RyaW5nJiBtZXNzYWdlLCBjb25zdAogICAgIH0KIAogICAgIFFfUShR
UXVpY2tXZWJWaWV3KTsKLSAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0gICAgaWYg
KCFkaWFsb2dSdW5uZXIuaW5pdEZvclByb21wdChwcm9tcHREaWFsb2csIHEsIG1lc3NhZ2UsIGRl
ZmF1bHRWYWx1ZSkpIHsKKyAgICBkaWFsb2dSdW5uZXIgPSBuZXcgUXREaWFsb2dSdW5uZXI7Cisg
ICAgaWYgKCFkaWFsb2dSdW5uZXItPmluaXRGb3JQcm9tcHQocHJvbXB0RGlhbG9nLCBxLCBtZXNz
YWdlLCBkZWZhdWx0VmFsdWUpKSB7CiAgICAgICAgIG9rID0gdHJ1ZTsKKyAgICAgICAgZGVzdHJv
eURpYWxvZ1J1bm5lcigpOwogICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlOwogICAgIH0KLSAg
ICBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoZGlhbG9nUnVubmVyLmRpYWxvZygpKTsKKyAg
ICBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoZGlhbG9nUnVubmVyLT5kaWFsb2coKSk7CiAK
ICAgICBkaXNhYmxlTW91c2VFdmVudHMoKTsKLSAgICBkaWFsb2dSdW5uZXIuZXhlYygpOworICAg
IGRpYWxvZ1J1bm5lci0+ZXhlYygpOwogICAgIGVuYWJsZU1vdXNlRXZlbnRzKCk7CiAKLSAgICBv
ayA9IGRpYWxvZ1J1bm5lci53YXNBY2NlcHRlZCgpOwotICAgIHJldHVybiBkaWFsb2dSdW5uZXIu
cmVzdWx0KCk7CisgICAgb2sgPSBkaWFsb2dSdW5uZXItPndhc0FjY2VwdGVkKCk7CisgICAgUVN0
cmluZyByZXN1bHQgPSBkaWFsb2dSdW5uZXItPnJlc3VsdCgpOworCisgICAgZGVzdHJveURpYWxv
Z1J1bm5lcigpOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlld1By
aXZhdGU6OmhhbmRsZUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFFTdHJpbmcm
IGhvc3RuYW1lLCBjb25zdCBRU3RyaW5nJiByZWFsbSwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVk
VXNlcm5hbWUsIFFTdHJpbmcmIHVzZXJuYW1lLCBRU3RyaW5nJiBwYXNzd29yZCkKQEAgLTMxOCwx
OCArMzMzLDI0IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRsZUF1dGhlbnRpY2F0
aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGhvCiAgICAgICAgIHJldHVybjsKIAog
ICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKLSAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7
Ci0gICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckF1dGhlbnRpY2F0aW9uKGF1dGhlbnRpY2F0
aW9uRGlhbG9nLCBxLCBob3N0bmFtZSwgcmVhbG0sIHByZWZpbGxlZFVzZXJuYW1lKSkKKworICAg
IGRpYWxvZ1J1bm5lciA9IG5ldyBRdERpYWxvZ1J1bm5lcjsKKyAgICBpZiAoIWRpYWxvZ1J1bm5l
ci0+aW5pdEZvckF1dGhlbnRpY2F0aW9uKGF1dGhlbnRpY2F0aW9uRGlhbG9nLCBxLCBob3N0bmFt
ZSwgcmVhbG0sIHByZWZpbGxlZFVzZXJuYW1lKSkgeworICAgICAgICBkZXN0cm95RGlhbG9nUnVu
bmVyKCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBzZXRWaWV3SW5BdHRhY2hlZFBy
b3BlcnRpZXMoZGlhbG9nUnVubmVyLmRpYWxvZygpKTsKKyAgICBzZXRWaWV3SW5BdHRhY2hlZFBy
b3BlcnRpZXMoZGlhbG9nUnVubmVyLT5kaWFsb2coKSk7CiAKICAgICBkaXNhYmxlTW91c2VFdmVu
dHMoKTsKLSAgICBkaWFsb2dSdW5uZXIuZXhlYygpOworICAgIGRpYWxvZ1J1bm5lci0+ZXhlYygp
OwogICAgIGVuYWJsZU1vdXNlRXZlbnRzKCk7CiAKLSAgICB1c2VybmFtZSA9IGRpYWxvZ1J1bm5l
ci51c2VybmFtZSgpOwotICAgIHBhc3N3b3JkID0gZGlhbG9nUnVubmVyLnBhc3N3b3JkKCk7Cisg
ICAgdXNlcm5hbWUgPSBkaWFsb2dSdW5uZXItPnVzZXJuYW1lKCk7CisgICAgcGFzc3dvcmQgPSBk
aWFsb2dSdW5uZXItPnBhc3N3b3JkKCk7CisKKyAgICBkZXN0cm95RGlhbG9nUnVubmVyKCk7CisK
IH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlUHJveHlBdXRoZW50aWNhdGlv
blJlcXVpcmVkUmVxdWVzdChjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwg
Y29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFFTdHJpbmcmIHVzZXJuYW1lLCBRU3Ry
aW5nJiBwYXNzd29yZCkKQEAgLTMzOCwxNyArMzU5LDIxIEBAIHZvaWQgUVF1aWNrV2ViVmlld1By
aXZhdGU6OmhhbmRsZVByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgUVN0
cmluCiAgICAgICAgIHJldHVybjsKIAogICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKLSAgICBRdERp
YWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0gICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvclBy
b3h5QXV0aGVudGljYXRpb24ocHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZywgcSwgaG9zdG5hbWUs
IHBvcnQsIHByZWZpbGxlZFVzZXJuYW1lKSkKKyAgICBkaWFsb2dSdW5uZXIgPSBuZXcgUXREaWFs
b2dSdW5uZXI7CisgICAgaWYgKCFkaWFsb2dSdW5uZXItPmluaXRGb3JQcm94eUF1dGhlbnRpY2F0
aW9uKHByb3h5QXV0aGVudGljYXRpb25EaWFsb2csIHEsIGhvc3RuYW1lLCBwb3J0LCBwcmVmaWxs
ZWRVc2VybmFtZSkpIHsKKyAgICAgICAgZGVzdHJveURpYWxvZ1J1bm5lcigpOwogICAgICAgICBy
ZXR1cm47CisgICAgfQogCi0gICAgc2V0Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRpYWxvZ1J1
bm5lci5kaWFsb2coKSk7CisgICAgc2V0Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRpYWxvZ1J1
bm5lci0+ZGlhbG9nKCkpOwogICAgIGRpc2FibGVNb3VzZUV2ZW50cygpOwotICAgIGRpYWxvZ1J1
bm5lci5leGVjKCk7CisgICAgZGlhbG9nUnVubmVyLT5leGVjKCk7CiAgICAgZW5hYmxlTW91c2VF
dmVudHMoKTsKIAotICAgIHVzZXJuYW1lID0gZGlhbG9nUnVubmVyLnVzZXJuYW1lKCk7Ci0gICAg
cGFzc3dvcmQgPSBkaWFsb2dSdW5uZXIucGFzc3dvcmQoKTsKKyAgICB1c2VybmFtZSA9IGRpYWxv
Z1J1bm5lci0+dXNlcm5hbWUoKTsKKyAgICBwYXNzd29yZCA9IGRpYWxvZ1J1bm5lci0+cGFzc3dv
cmQoKTsKKworICAgIGRlc3Ryb3lEaWFsb2dSdW5uZXIoKTsKIH0KIAogYm9vbCBRUXVpY2tXZWJW
aWV3UHJpdmF0ZTo6aGFuZGxlQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0KGNvbnN0IFFT
dHJpbmcmIGhvc3RuYW1lKQpAQCAtMzU3LDE3ICszODIsMjIgQEAgYm9vbCBRUXVpY2tXZWJWaWV3
UHJpdmF0ZTo6aGFuZGxlQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0KGNvbnN0IFFTdHJp
bmcmIGgKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgUV9RKFFRdWlja1dlYlZpZXcpOwot
ICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1bm5lcjsKLSAgICBpZiAoIWRpYWxvZ1J1bm5lci5p
bml0Rm9yQ2VydGlmaWNhdGVWZXJpZmljYXRpb24oY2VydGlmaWNhdGVWZXJpZmljYXRpb25EaWFs
b2csIHEsIGhvc3RuYW1lKSkKKyAgICBkaWFsb2dSdW5uZXIgPSBuZXcgUXREaWFsb2dSdW5uZXI7
CisgICAgaWYgKCFkaWFsb2dSdW5uZXItPmluaXRGb3JDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbihj
ZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbkRpYWxvZywgcSwgaG9zdG5hbWUpKSB7CisgICAgICAgIGRl
c3Ryb3lEaWFsb2dSdW5uZXIoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAotICAg
IHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dSdW5uZXIuZGlhbG9nKCkpOworICAg
IHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dSdW5uZXItPmRpYWxvZygpKTsKIAog
ICAgIGRpc2FibGVNb3VzZUV2ZW50cygpOwotICAgIGRpYWxvZ1J1bm5lci5leGVjKCk7CisgICAg
ZGlhbG9nUnVubmVyLT5leGVjKCk7CiAgICAgZW5hYmxlTW91c2VFdmVudHMoKTsKIAotICAgIHJl
dHVybiBkaWFsb2dSdW5uZXIud2FzQWNjZXB0ZWQoKTsKKyAgICBib29sIGFjY2VwdGVkID0gZGlh
bG9nUnVubmVyLT53YXNBY2NlcHRlZCgpOworICAgIGRlc3Ryb3lEaWFsb2dSdW5uZXIoKTsKKwor
ICAgIHJldHVybiBhY2NlcHRlZDsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Y2hv
b3NlRmlsZXMoV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lclJlZiwgY29uc3Qg
UVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZU5hbWVzLCBRdFdlYlBhZ2VVSUNsaWVudDo6RmlsZUNo
b29zZXJUeXBlIHR5cGUpCkBAIC00ODEsNiArNTExLDEyIEBAIHZvaWQgUVF1aWNrV2ViVmlld1By
aXZhdGU6OmRpZFJlY2VpdmVNZXNzYWdlRnJvbU5hdmlnYXRvclF0T2JqZWN0KGNvbnN0IFN0cmlu
ZyYKICAgICBlbWl0IHFfcHRyLT5leHBlcmltZW50YWwoKS0+bWVzc2FnZVJlY2VpdmVkKHZhcmlh
bnRNYXApOwogfQogCit2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpkZXN0cm95RGlhbG9nUnVu
bmVyKCkKK3sKKyAgICBkZWxldGUgZGlhbG9nUnVubmVyOworICAgIGRpYWxvZ1J1bm5lciA9IDA7
Cit9CisKIFFRdWlja1dlYlZpZXdMZWdhY3lQcml2YXRlOjpRUXVpY2tXZWJWaWV3TGVnYWN5UHJp
dmF0ZShRUXVpY2tXZWJWaWV3KiB2aWV3cG9ydCkKICAgICA6IFFRdWlja1dlYlZpZXdQcml2YXRl
KHZpZXdwb3J0KQogewpAQCAtMTM0Myw4ICsxMzc5LDEyIEBAIHZvaWQgUVF1aWNrV2ViVmlldzo6
Zm9jdXNPdXRFdmVudChRRm9jdXNFdmVudCogZXZlbnQpCiB2b2lkIFFRdWlja1dlYlZpZXc6OnRv
dWNoRXZlbnQoUVRvdWNoRXZlbnQqIGV2ZW50KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsK
LSAgICBmb3JjZUFjdGl2ZUZvY3VzKCk7Ci0gICAgZC0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigp
LT5oYW5kbGVUb3VjaEV2ZW50KGV2ZW50KTsKKyAgICBpZiAoZC0+ZGlhbG9nUnVubmVyKQorICAg
ICAgICBldmVudC0+aWdub3JlKCk7CisgICAgZWxzZSB7CisgICAgICAgIGZvcmNlQWN0aXZlRm9j
dXMoKTsKKyAgICAgICAgZC0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVUb3VjaEV2
ZW50KGV2ZW50KTsKKyAgICB9CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlldzo6bW91c2VQcmVzc0V2
ZW50KFFNb3VzZUV2ZW50KiBldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAppbmRleCAzZWQxMTA3Li4yZTc2MWZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9w
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3Bf
cC5oCkBAIC00Niw2ICs0Niw3IEBAIGNsYXNzIFdlYlBhZ2VQcm94eTsKIH0KIGNsYXNzIFFXZWJO
YXZpZ2F0aW9uSGlzdG9yeTsKIGNsYXNzIFFXZWJWaWV3cG9ydEluZm87CitjbGFzcyBRdERpYWxv
Z1J1bm5lcjsKIAogUVRfQkVHSU5fTkFNRVNQQUNFCiBjbGFzcyBRRGVjbGFyYXRpdmVDb21wb25l
bnQ7CkBAIC0xMTcsNiArMTE4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TmF2aWdhdG9yUXRP
YmplY3RFbmFibGVkKGJvb2wpOwogCiAgICAgUVJlY3QgdmlzaWJsZUNvbnRlbnRzUmVjdCgpIGNv
bnN0OworICAgIHZvaWQgZGVzdHJveURpYWxvZ1J1bm5lcigpOwogCiAgICAgLy8gUGFnZUNsaWVu
dC4KICAgICBXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXplKCkgY29uc3Q7CkBAIC0xNTMsNiArMTU1
LDcgQEAgcHJvdGVjdGVkOgogICAgIFFEZWNsYXJhdGl2ZUNvbXBvbmVudCogY2VydGlmaWNhdGVW
ZXJpZmljYXRpb25EaWFsb2c7CiAgICAgUURlY2xhcmF0aXZlQ29tcG9uZW50KiBpdGVtU2VsZWN0
b3I7CiAgICAgUURlY2xhcmF0aXZlQ29tcG9uZW50KiBwcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9n
OworICAgIFF0RGlhbG9nUnVubmVyKiBkaWFsb2dSdW5uZXI7CiAKICAgICBXZWJDb3JlOjpWaWV3
cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFyZ3VtZW50czsKICAgICBRRmlsZURpYWxvZyogZmlsZURp
YWxvZzsK
</data>
<flag name="review"
          id="133696"
          type_id="1"
          status="-"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130656</attachid>
            <date>2012-03-07 11:28:30 -0800</date>
            <delta_ts>2012-03-07 12:41:38 -0800</delta_ts>
            <desc>Updated with Review Comments</desc>
            <filename>79738.patch</filename>
            <type>text/plain</type>
            <size>10193</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzM2ZhZTgwLi5jYWIyOWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTItMDMtMDcgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdIEF1dGhlbnRpY2F0aW9uIGRpYWxvZyBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTczOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFFRdWlja1dlYlZpZXcgc2hvdWxk
IGFjY2VwdCB0b3VjaCBldmVudHMgb25seSBpZiB0aGVyZSBpcworICAgICAgICBubyBhY3RpdmUg
ZGlhbG9nLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcDoK
KyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpydW5KYXZhU2NyaXB0QWxlcnQpOgorICAg
ICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OnJ1bkphdmFTY3JpcHRDb25maXJtKToKKyAgICAg
ICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpydW5KYXZhU2NyaXB0UHJvbXB0KToKKyAgICAgICAg
KFFRdWlja1dlYlZpZXdQcml2YXRlOjpoYW5kbGVBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVz
dCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlUHJveHlBdXRoZW50aWNh
dGlvblJlcXVpcmVkUmVxdWVzdCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFu
ZGxlQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0KToKKyAgICAgICAgKFFRdWlja1dlYlZp
ZXc6OnRvdWNoRXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
d19wX3AuaDoKKyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwOgorICAgICAgICAoUXREaWFsb2dSdW5uZXI6OmNy
ZWF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmg6CisgICAgICAg
IChRdERpYWxvZ1J1bm5lcik6CisKIDIwMTItMDMtMDcgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFu
c2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFBpbmNoIHpvb20gYWN0cyB3ZWly
ZGx5IG9uIG55dGltZXMuY29tIHdoaWxlIGxvYWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IGYwMWNlMDIuLjMxM2NmZjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
LmNwcApAQCAtMjYxLDE0ICsyNjEsMTkgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cnVu
SmF2YVNjcmlwdEFsZXJ0KGNvbnN0IFFTdHJpbmcmIGFsZXJ0VGV4dCkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgUV9RKFFRdWlja1dlYlZpZXcpOwotICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1
bm5lcjsKLSAgICBpZiAoIWRpYWxvZ1J1bm5lci5pbml0Rm9yQWxlcnQoYWxlcnREaWFsb2csIHEs
IGFsZXJ0VGV4dCkpCisgICAgZGlhbG9nUnVubmVyID0gUXREaWFsb2dSdW5uZXI6OmNyZWF0ZSgp
OworCisgICAgaWYgKCFkaWFsb2dSdW5uZXItPmluaXRGb3JBbGVydChhbGVydERpYWxvZywgcSwg
YWxlcnRUZXh0KSkgeworICAgICAgICBkaWFsb2dSdW5uZXIuY2xlYXIoKTsKICAgICAgICAgcmV0
dXJuOwotICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dSdW5uZXIuZGlhbG9n
KCkpOworICAgIH0KKyAgICBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoZGlhbG9nUnVubmVy
LT5kaWFsb2coKSk7CiAKICAgICBkaXNhYmxlTW91c2VFdmVudHMoKTsKLSAgICBkaWFsb2dSdW5u
ZXIuZXhlYygpOworICAgIGRpYWxvZ1J1bm5lci0+ZXhlYygpOwogICAgIGVuYWJsZU1vdXNlRXZl
bnRzKCk7CisKKyAgICBkaWFsb2dSdW5uZXIuY2xlYXIoKTsKIH0KIAogYm9vbCBRUXVpY2tXZWJW
aWV3UHJpdmF0ZTo6cnVuSmF2YVNjcmlwdENvbmZpcm0oY29uc3QgUVN0cmluZyYgbWVzc2FnZSkK
QEAgLTI3NywxNiArMjgyLDIyIEBAIGJvb2wgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnJ1bkphdmFT
Y3JpcHRDb25maXJtKGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCiAgICAgUV9RKFFRdWlja1dlYlZpZXcpOwotICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1
bm5lcjsKLSAgICBpZiAoIWRpYWxvZ1J1bm5lci5pbml0Rm9yQ29uZmlybShjb25maXJtRGlhbG9n
LCBxLCBtZXNzYWdlKSkKKyAgICBkaWFsb2dSdW5uZXIgPSBRdERpYWxvZ1J1bm5lcjo6Y3JlYXRl
KCk7CisKKyAgICBpZiAoIWRpYWxvZ1J1bm5lci0+aW5pdEZvckNvbmZpcm0oY29uZmlybURpYWxv
ZywgcSwgbWVzc2FnZSkpIHsKKyAgICAgICAgZGlhbG9nUnVubmVyLmNsZWFyKCk7CiAgICAgICAg
IHJldHVybiB0cnVlOwotICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dSdW5u
ZXIuZGlhbG9nKCkpOworICAgIH0KKyAgICBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoZGlh
bG9nUnVubmVyLT5kaWFsb2coKSk7CiAKICAgICBkaXNhYmxlTW91c2VFdmVudHMoKTsKLSAgICBk
aWFsb2dSdW5uZXIuZXhlYygpOworICAgIGRpYWxvZ1J1bm5lci0+ZXhlYygpOwogICAgIGVuYWJs
ZU1vdXNlRXZlbnRzKCk7CiAKLSAgICByZXR1cm4gZGlhbG9nUnVubmVyLndhc0FjY2VwdGVkKCk7
CisgICAgYm9vbCBhY2NlcHRlZCA9IGRpYWxvZ1J1bm5lci0+d2FzQWNjZXB0ZWQoKTsKKworICAg
IGRpYWxvZ1J1bm5lci5jbGVhcigpOworICAgIHJldHVybiBhY2NlcHRlZDsKIH0KIAogUVN0cmlu
ZyBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cnVuSmF2YVNjcmlwdFByb21wdChjb25zdCBRU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBRU3RyaW5nJiBkZWZhdWx0VmFsdWUsIGJvb2wmIG9rKQpAQCAtMjk3
LDE5ICszMDgsMjQgQEAgUVN0cmluZyBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cnVuSmF2YVNjcmlw
dFByb21wdChjb25zdCBRU3RyaW5nJiBtZXNzYWdlLCBjb25zdAogICAgIH0KIAogICAgIFFfUShR
UXVpY2tXZWJWaWV3KTsKLSAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0gICAgaWYg
KCFkaWFsb2dSdW5uZXIuaW5pdEZvclByb21wdChwcm9tcHREaWFsb2csIHEsIG1lc3NhZ2UsIGRl
ZmF1bHRWYWx1ZSkpIHsKKyAgICBkaWFsb2dSdW5uZXIgPSBRdERpYWxvZ1J1bm5lcjo6Y3JlYXRl
KCk7CisKKyAgICBpZiAoIWRpYWxvZ1J1bm5lci0+aW5pdEZvclByb21wdChwcm9tcHREaWFsb2cs
IHEsIG1lc3NhZ2UsIGRlZmF1bHRWYWx1ZSkpIHsKICAgICAgICAgb2sgPSB0cnVlOworICAgICAg
ICBkaWFsb2dSdW5uZXIuY2xlYXIoKTsKICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTsKICAg
ICB9Ci0gICAgc2V0Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRpYWxvZ1J1bm5lci5kaWFsb2co
KSk7CisgICAgc2V0Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRpYWxvZ1J1bm5lci0+ZGlhbG9n
KCkpOwogCiAgICAgZGlzYWJsZU1vdXNlRXZlbnRzKCk7Ci0gICAgZGlhbG9nUnVubmVyLmV4ZWMo
KTsKKyAgICBkaWFsb2dSdW5uZXItPmV4ZWMoKTsKICAgICBlbmFibGVNb3VzZUV2ZW50cygpOwog
Ci0gICAgb2sgPSBkaWFsb2dSdW5uZXIud2FzQWNjZXB0ZWQoKTsKLSAgICByZXR1cm4gZGlhbG9n
UnVubmVyLnJlc3VsdCgpOworICAgIG9rID0gZGlhbG9nUnVubmVyLT53YXNBY2NlcHRlZCgpOwor
ICAgIFFTdHJpbmcgcmVzdWx0ID0gZGlhbG9nUnVubmVyLT5yZXN1bHQoKTsKKworICAgIGRpYWxv
Z1J1bm5lci5jbGVhcigpOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgUVF1aWNrV2Vi
Vmlld1ByaXZhdGU6OmhhbmRsZUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFFT
dHJpbmcmIGhvc3RuYW1lLCBjb25zdCBRU3RyaW5nJiByZWFsbSwgY29uc3QgUVN0cmluZyYgcHJl
ZmlsbGVkVXNlcm5hbWUsIFFTdHJpbmcmIHVzZXJuYW1lLCBRU3RyaW5nJiBwYXNzd29yZCkKQEAg
LTMxOCwxOCArMzM0LDI1IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRsZUF1dGhl
bnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGhvCiAgICAgICAgIHJldHVy
bjsKIAogICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKLSAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dS
dW5uZXI7Ci0gICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckF1dGhlbnRpY2F0aW9uKGF1dGhl
bnRpY2F0aW9uRGlhbG9nLCBxLCBob3N0bmFtZSwgcmVhbG0sIHByZWZpbGxlZFVzZXJuYW1lKSkK
KworICAgIGRpYWxvZ1J1bm5lciA9IFF0RGlhbG9nUnVubmVyOjpjcmVhdGUoKTsKKworICAgIGlm
ICghZGlhbG9nUnVubmVyLT5pbml0Rm9yQXV0aGVudGljYXRpb24oYXV0aGVudGljYXRpb25EaWFs
b2csIHEsIGhvc3RuYW1lLCByZWFsbSwgcHJlZmlsbGVkVXNlcm5hbWUpKSB7CisgICAgICAgIGRp
YWxvZ1J1bm5lci5jbGVhcigpOwogICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgc2V0Vmll
d0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRpYWxvZ1J1bm5lci5kaWFsb2coKSk7CisgICAgc2V0Vmll
d0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRpYWxvZ1J1bm5lci0+ZGlhbG9nKCkpOwogCiAgICAgZGlz
YWJsZU1vdXNlRXZlbnRzKCk7Ci0gICAgZGlhbG9nUnVubmVyLmV4ZWMoKTsKKyAgICBkaWFsb2dS
dW5uZXItPmV4ZWMoKTsKICAgICBlbmFibGVNb3VzZUV2ZW50cygpOwogCi0gICAgdXNlcm5hbWUg
PSBkaWFsb2dSdW5uZXIudXNlcm5hbWUoKTsKLSAgICBwYXNzd29yZCA9IGRpYWxvZ1J1bm5lci5w
YXNzd29yZCgpOworICAgIHVzZXJuYW1lID0gZGlhbG9nUnVubmVyLT51c2VybmFtZSgpOworICAg
IHBhc3N3b3JkID0gZGlhbG9nUnVubmVyLT5wYXNzd29yZCgpOworCisgICAgZGlhbG9nUnVubmVy
LmNsZWFyKCk7CisKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlUHJveHlB
dXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgdWlu
dDE2X3QgcG9ydCwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFFTdHJpbmcmIHVz
ZXJuYW1lLCBRU3RyaW5nJiBwYXNzd29yZCkKQEAgLTMzOCwxNyArMzYxLDIyIEBAIHZvaWQgUVF1
aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRsZVByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVl
c3QoY29uc3QgUVN0cmluCiAgICAgICAgIHJldHVybjsKIAogICAgIFFfUShRUXVpY2tXZWJWaWV3
KTsKLSAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0gICAgaWYgKCFkaWFsb2dSdW5u
ZXIuaW5pdEZvclByb3h5QXV0aGVudGljYXRpb24ocHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZywg
cSwgaG9zdG5hbWUsIHBvcnQsIHByZWZpbGxlZFVzZXJuYW1lKSkKKyAgICBkaWFsb2dSdW5uZXIg
PSBRdERpYWxvZ1J1bm5lcjo6Y3JlYXRlKCk7CisKKyAgICBpZiAoIWRpYWxvZ1J1bm5lci0+aW5p
dEZvclByb3h5QXV0aGVudGljYXRpb24ocHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZywgcSwgaG9z
dG5hbWUsIHBvcnQsIHByZWZpbGxlZFVzZXJuYW1lKSkgeworICAgICAgICBkaWFsb2dSdW5uZXIu
Y2xlYXIoKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIHNldFZpZXdJbkF0dGFjaGVk
UHJvcGVydGllcyhkaWFsb2dSdW5uZXIuZGlhbG9nKCkpOworICAgIHNldFZpZXdJbkF0dGFjaGVk
UHJvcGVydGllcyhkaWFsb2dSdW5uZXItPmRpYWxvZygpKTsKICAgICBkaXNhYmxlTW91c2VFdmVu
dHMoKTsKLSAgICBkaWFsb2dSdW5uZXIuZXhlYygpOworICAgIGRpYWxvZ1J1bm5lci0+ZXhlYygp
OwogICAgIGVuYWJsZU1vdXNlRXZlbnRzKCk7CiAKLSAgICB1c2VybmFtZSA9IGRpYWxvZ1J1bm5l
ci51c2VybmFtZSgpOwotICAgIHBhc3N3b3JkID0gZGlhbG9nUnVubmVyLnBhc3N3b3JkKCk7Cisg
ICAgdXNlcm5hbWUgPSBkaWFsb2dSdW5uZXItPnVzZXJuYW1lKCk7CisgICAgcGFzc3dvcmQgPSBk
aWFsb2dSdW5uZXItPnBhc3N3b3JkKCk7CisKKyAgICBkaWFsb2dSdW5uZXIuY2xlYXIoKTsKIH0K
IAogYm9vbCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlQ2VydGlmaWNhdGVWZXJpZmljYXRp
b25SZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lKQpAQCAtMzU3LDE3ICszODUsMjMgQEAg
Ym9vbCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlQ2VydGlmaWNhdGVWZXJpZmljYXRpb25S
ZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGgKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgUV9R
KFFRdWlja1dlYlZpZXcpOwotICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1bm5lcjsKLSAgICBp
ZiAoIWRpYWxvZ1J1bm5lci5pbml0Rm9yQ2VydGlmaWNhdGVWZXJpZmljYXRpb24oY2VydGlmaWNh
dGVWZXJpZmljYXRpb25EaWFsb2csIHEsIGhvc3RuYW1lKSkKKyAgICBkaWFsb2dSdW5uZXIgPSBR
dERpYWxvZ1J1bm5lcjo6Y3JlYXRlKCk7CisKKyAgICBpZiAoIWRpYWxvZ1J1bm5lci0+aW5pdEZv
ckNlcnRpZmljYXRlVmVyaWZpY2F0aW9uKGNlcnRpZmljYXRlVmVyaWZpY2F0aW9uRGlhbG9nLCBx
LCBob3N0bmFtZSkpIHsKKyAgICAgICAgZGlhbG9nUnVubmVyLmNsZWFyKCk7CiAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CiAKLSAgICBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoZGlh
bG9nUnVubmVyLmRpYWxvZygpKTsKKyAgICBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoZGlh
bG9nUnVubmVyLT5kaWFsb2coKSk7CiAKICAgICBkaXNhYmxlTW91c2VFdmVudHMoKTsKLSAgICBk
aWFsb2dSdW5uZXIuZXhlYygpOworICAgIGRpYWxvZ1J1bm5lci0+ZXhlYygpOwogICAgIGVuYWJs
ZU1vdXNlRXZlbnRzKCk7CiAKLSAgICByZXR1cm4gZGlhbG9nUnVubmVyLndhc0FjY2VwdGVkKCk7
CisgICAgYm9vbCBhY2NlcHRlZCA9IGRpYWxvZ1J1bm5lci0+d2FzQWNjZXB0ZWQoKTsKKyAgICBk
aWFsb2dSdW5uZXIuY2xlYXIoKTsKKworICAgIHJldHVybiBhY2NlcHRlZDsKIH0KIAogdm9pZCBR
UXVpY2tXZWJWaWV3UHJpdmF0ZTo6Y2hvb3NlRmlsZXMoV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5l
clJlZiBsaXN0ZW5lclJlZiwgY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZU5hbWVzLCBR
dFdlYlBhZ2VVSUNsaWVudDo6RmlsZUNob29zZXJUeXBlIHR5cGUpCkBAIC0xMzQzLDggKzEzNzcs
MTIgQEAgdm9pZCBRUXVpY2tXZWJWaWV3Ojpmb2N1c091dEV2ZW50KFFGb2N1c0V2ZW50KiBldmVu
dCkKIHZvaWQgUVF1aWNrV2ViVmlldzo6dG91Y2hFdmVudChRVG91Y2hFdmVudCogZXZlbnQpCiB7
CiAgICAgUV9EKFFRdWlja1dlYlZpZXcpOwotICAgIGZvcmNlQWN0aXZlRm9jdXMoKTsKLSAgICBk
LT5wYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZVRvdWNoRXZlbnQoZXZlbnQpOworICAg
IGlmIChkLT5kaWFsb2dSdW5uZXIuZ2V0KCkpCisgICAgICAgIGV2ZW50LT5pZ25vcmUoKTsKKyAg
ICBlbHNlIHsKKyAgICAgICAgZm9yY2VBY3RpdmVGb2N1cygpOworICAgICAgICBkLT5wYWdlVmll
dy0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZVRvdWNoRXZlbnQoZXZlbnQpOworICAgIH0KIH0KIAog
dm9pZCBRUXVpY2tXZWJWaWV3Ojptb3VzZVByZXNzRXZlbnQoUU1vdXNlRXZlbnQqIGV2ZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
X3BfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3Bf
cC5oCmluZGV4IDNlZDExMDcuLjU3ZWJlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgY2xh
c3MgV2ViUGFnZVByb3h5OwogfQogY2xhc3MgUVdlYk5hdmlnYXRpb25IaXN0b3J5OwogY2xhc3Mg
UVdlYlZpZXdwb3J0SW5mbzsKK2NsYXNzIFF0RGlhbG9nUnVubmVyOwogCiBRVF9CRUdJTl9OQU1F
U1BBQ0UKIGNsYXNzIFFEZWNsYXJhdGl2ZUNvbXBvbmVudDsKQEAgLTE1Myw2ICsxNTQsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgUURlY2xhcmF0aXZlQ29tcG9uZW50KiBjZXJ0aWZpY2F0ZVZlcmlmaWNh
dGlvbkRpYWxvZzsKICAgICBRRGVjbGFyYXRpdmVDb21wb25lbnQqIGl0ZW1TZWxlY3RvcjsKICAg
ICBRRGVjbGFyYXRpdmVDb21wb25lbnQqIHByb3h5QXV0aGVudGljYXRpb25EaWFsb2c7CisgICAg
T3duUHRyPFF0RGlhbG9nUnVubmVyPiBkaWFsb2dSdW5uZXI7CiAKICAgICBXZWJDb3JlOjpWaWV3
cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFyZ3VtZW50czsKICAgICBRRmlsZURpYWxvZyogZmlsZURp
YWxvZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1
bm5lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3Bw
CmluZGV4IDE2YzY0MjkuLmJiOGNiMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0RGlhbG9nUnVubmVyLmNwcApAQCAtMjUsNyArMjUsMTEgQEAKICNpbmNsdWRlIDxRdERl
Y2xhcmF0aXZlL1FEZWNsYXJhdGl2ZUNvbnRleHQ+CiAjaW5jbHVkZSA8UXREZWNsYXJhdGl2ZS9R
RGVjbGFyYXRpdmVFbmdpbmU+CiAjaW5jbHVkZSA8UXRRdWljay9RUXVpY2tJdGVtPgotI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKK1Bhc3NPd25QdHI8UXREaWFsb2dSdW5uZXI+IFF0RGlh
bG9nUnVubmVyOjpjcmVhdGUoKQoreworICAgIHJldHVybiBhZG9wdFB0cihuZXcgUXREaWFsb2dS
dW5uZXIoKSk7Cit9CiAKIFF0RGlhbG9nUnVubmVyOjpRdERpYWxvZ1J1bm5lcigpCiAgICAgOiBR
RXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERp
YWxvZ1J1bm5lci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVy
LmgKaW5kZXggN2ZiYWNlMS4uNjA5ZjE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0RGlhbG9nUnVubmVyLmgKQEAgLTIyLDYgKzIyLDcgQEAKICNkZWZpbmUgUXREaWFsb2dS
dW5uZXJfaAogCiAjaW5jbHVkZSA8UXRDb3JlL1FFdmVudExvb3A+CisjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIGNsYXNzIFFEZWNsYXJhdGl2
ZUNvbXBvbmVudDsKQEAgLTMxLDggKzMyLDkgQEAgY2xhc3MgUVF1aWNrSXRlbTsKIGNsYXNzIFF0
RGlhbG9nUnVubmVyIDogcHVibGljIFFFdmVudExvb3AgewogICAgIFFfT0JKRUNUCiAKLXB1Ymxp
YzoKLSAgICBRdERpYWxvZ1J1bm5lcigpOworcHVibGljOiAgICAKKyAgICBzdGF0aWMgUGFzc093
blB0cjxRdERpYWxvZ1J1bm5lcj4gY3JlYXRlKCk7CisKICAgICB2aXJ0dWFsIH5RdERpYWxvZ1J1
bm5lcigpOwogCiAgICAgYm9vbCBpbml0Rm9yQWxlcnQoUURlY2xhcmF0aXZlQ29tcG9uZW50Kiwg
UVF1aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nJiBtZXNzYWdlKTsKQEAgLTY0
LDYgKzY2LDcgQEAgcHVibGljIHNsb3RzOgogICAgIH0KIAogcHJpdmF0ZToKKyAgICBRdERpYWxv
Z1J1bm5lcigpOwogICAgIGJvb2wgY3JlYXRlRGlhbG9nKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCos
IFFRdWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgUU9iamVjdCogY29udGV4dE9iamVjdCk7CiAKICAg
ICBPd25QdHI8UURlY2xhcmF0aXZlQ29udGV4dD4gbV9kaWFsb2dDb250ZXh0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130670</attachid>
            <date>2012-03-07 12:41:38 -0800</date>
            <delta_ts>2012-03-07 13:43:53 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>79738_0307.patch</filename>
            <type>text/plain</type>
            <size>4742</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzM2ZhZTgwLi5lNDBhZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMDMtMDcgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdIEF1dGhlbnRpY2F0aW9uIGRpYWxvZyBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTczOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFFRdWlja1dlYlZpZXcgc2hvdWxk
IGFjY2VwdCB0b3VjaCBldmVudHMgb25seSBpZiB0aGVyZSBpcworICAgICAgICBubyBhY3RpdmUg
ZGlhbG9nLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcDoK
KyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6Cisg
ICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cnVuSmF2YVNjcmlwdEFsZXJ0KToKKyAgICAg
ICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpydW5KYXZhU2NyaXB0Q29uZmlybSk6CisgICAgICAg
IChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cnVuSmF2YVNjcmlwdFByb21wdCk6CisgICAgICAgIChR
UXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3Qp
OgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRsZVByb3h5QXV0aGVudGljYXRp
b25SZXF1aXJlZFJlcXVlc3QpOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRs
ZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3
Ojp0b3VjaEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdf
cF9wLmg6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6CisKIDIwMTItMDMtMDcgIEtl
bm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgogCiAgICAgICAg
IFBpbmNoIHpvb20gYWN0cyB3ZWlyZGx5IG9uIG55dGltZXMuY29tIHdoaWxlIGxvYWRpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmlu
ZGV4IGYwMWNlMDIuLjliM2E4YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAtODEsNiArODEsNyBAQCBRUXVpY2tXZWJWaWV3
UHJpdmF0ZTo6UVF1aWNrV2ViVmlld1ByaXZhdGUoUVF1aWNrV2ViVmlldyogdmlld3BvcnQpCiAg
ICAgLCBtX25hdmlnYXRvclF0T2JqZWN0RW5hYmxlZChmYWxzZSkKICAgICAsIG1fcmVuZGVyVG9P
ZmZzY3JlZW5CdWZmZXIoZmFsc2UpCiAgICAgLCBtX2xvYWRTdGFydGVkU2lnbmFsU2VudChmYWxz
ZSkKKyAgICAsIG1fZGlhbG9nUnVubmVyQWN0aXZlKGZhbHNlKQogewogICAgIHZpZXdwb3J0LT5z
ZXRGbGFncyhRUXVpY2tJdGVtOjpJdGVtQ2xpcHNDaGlsZHJlblRvU2hhcGUpOwogICAgIFFPYmpl
Y3Q6OmNvbm5lY3Qodmlld3BvcnQsIFNJR05BTCh2aXNpYmxlQ2hhbmdlZCgpKSwgdmlld3BvcnQs
IFNMT1QoX3Ffb25WaXNpYmxlQ2hhbmdlZCgpKSk7CkBAIC0yNjcsNyArMjY4LDEwIEBAIHZvaWQg
UVF1aWNrV2ViVmlld1ByaXZhdGU6OnJ1bkphdmFTY3JpcHRBbGVydChjb25zdCBRU3RyaW5nJiBh
bGVydFRleHQpCiAgICAgc2V0Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRpYWxvZ1J1bm5lci5k
aWFsb2coKSk7CiAKICAgICBkaXNhYmxlTW91c2VFdmVudHMoKTsKKyAgICBtX2RpYWxvZ1J1bm5l
ckFjdGl2ZSA9IHRydWU7CisKICAgICBkaWFsb2dSdW5uZXIuZXhlYygpOworICAgIG1fZGlhbG9n
UnVubmVyQWN0aXZlID0gZmFsc2U7CiAgICAgZW5hYmxlTW91c2VFdmVudHMoKTsKIH0KIApAQCAt
MjgzLDcgKzI4NywxMCBAQCBib29sIFFRdWlja1dlYlZpZXdQcml2YXRlOjpydW5KYXZhU2NyaXB0
Q29uZmlybShjb25zdCBRU3RyaW5nJiBtZXNzYWdlKQogICAgIHNldFZpZXdJbkF0dGFjaGVkUHJv
cGVydGllcyhkaWFsb2dSdW5uZXIuZGlhbG9nKCkpOwogCiAgICAgZGlzYWJsZU1vdXNlRXZlbnRz
KCk7CisgICAgbV9kaWFsb2dSdW5uZXJBY3RpdmUgPSB0cnVlOworCiAgICAgZGlhbG9nUnVubmVy
LmV4ZWMoKTsKKyAgICBtX2RpYWxvZ1J1bm5lckFjdGl2ZSA9IGZhbHNlOwogICAgIGVuYWJsZU1v
dXNlRXZlbnRzKCk7CiAKICAgICByZXR1cm4gZGlhbG9nUnVubmVyLndhc0FjY2VwdGVkKCk7CkBA
IC0zMDUsNyArMzEyLDEwIEBAIFFTdHJpbmcgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnJ1bkphdmFT
Y3JpcHRQcm9tcHQoY29uc3QgUVN0cmluZyYgbWVzc2FnZSwgY29uc3QKICAgICBzZXRWaWV3SW5B
dHRhY2hlZFByb3BlcnRpZXMoZGlhbG9nUnVubmVyLmRpYWxvZygpKTsKIAogICAgIGRpc2FibGVN
b3VzZUV2ZW50cygpOworICAgIG1fZGlhbG9nUnVubmVyQWN0aXZlID0gdHJ1ZTsKKwogICAgIGRp
YWxvZ1J1bm5lci5leGVjKCk7CisgICAgbV9kaWFsb2dSdW5uZXJBY3RpdmUgPSBmYWxzZTsKICAg
ICBlbmFibGVNb3VzZUV2ZW50cygpOwogCiAgICAgb2sgPSBkaWFsb2dSdW5uZXIud2FzQWNjZXB0
ZWQoKTsKQEAgLTMyNSw3ICszMzUsMTAgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFu
ZGxlQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgUVN0cmluZyYgaG8KICAgICBz
ZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoZGlhbG9nUnVubmVyLmRpYWxvZygpKTsKIAogICAg
IGRpc2FibGVNb3VzZUV2ZW50cygpOworICAgIG1fZGlhbG9nUnVubmVyQWN0aXZlID0gdHJ1ZTsK
KwogICAgIGRpYWxvZ1J1bm5lci5leGVjKCk7CisgICAgbV9kaWFsb2dSdW5uZXJBY3RpdmUgPSBm
YWxzZTsKICAgICBlbmFibGVNb3VzZUV2ZW50cygpOwogCiAgICAgdXNlcm5hbWUgPSBkaWFsb2dS
dW5uZXIudXNlcm5hbWUoKTsKQEAgLTM0NCw3ICszNTcsMTAgQEAgdm9pZCBRUXVpY2tXZWJWaWV3
UHJpdmF0ZTo6aGFuZGxlUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBR
U3RyaW4KIAogICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dSdW5uZXIuZGlh
bG9nKCkpOwogICAgIGRpc2FibGVNb3VzZUV2ZW50cygpOworICAgIG1fZGlhbG9nUnVubmVyQWN0
aXZlID0gdHJ1ZTsKKwogICAgIGRpYWxvZ1J1bm5lci5leGVjKCk7CisgICAgbV9kaWFsb2dSdW5u
ZXJBY3RpdmUgPSBmYWxzZTsKICAgICBlbmFibGVNb3VzZUV2ZW50cygpOwogCiAgICAgdXNlcm5h
bWUgPSBkaWFsb2dSdW5uZXIudXNlcm5hbWUoKTsKQEAgLTM2NCw3ICszODAsMTAgQEAgYm9vbCBR
UXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0
KGNvbnN0IFFTdHJpbmcmIGgKICAgICBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoZGlhbG9n
UnVubmVyLmRpYWxvZygpKTsKIAogICAgIGRpc2FibGVNb3VzZUV2ZW50cygpOworICAgIG1fZGlh
bG9nUnVubmVyQWN0aXZlID0gdHJ1ZTsKKwogICAgIGRpYWxvZ1J1bm5lci5leGVjKCk7CisgICAg
bV9kaWFsb2dSdW5uZXJBY3RpdmUgPSBmYWxzZTsKICAgICBlbmFibGVNb3VzZUV2ZW50cygpOwog
CiAgICAgcmV0dXJuIGRpYWxvZ1J1bm5lci53YXNBY2NlcHRlZCgpOwpAQCAtMTM0Myw2ICsxMzYy
LDExIEBAIHZvaWQgUVF1aWNrV2ViVmlldzo6Zm9jdXNPdXRFdmVudChRRm9jdXNFdmVudCogZXZl
bnQpCiB2b2lkIFFRdWlja1dlYlZpZXc6OnRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqIGV2ZW50KQog
ewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKKyAgICBpZiAoZC0+bV9kaWFsb2dSdW5uZXJBY3Rp
dmUpIHsKKyAgICAgICAgZXZlbnQtPmlnbm9yZSgpOworICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgZm9yY2VBY3RpdmVGb2N1cygpOwogICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIo
KS0+aGFuZGxlVG91Y2hFdmVudChldmVudCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKaW5kZXggM2VkMTEwNy4uYjE0MTlj
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2
aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlld19wX3AuaApAQCAtMTYzLDYgKzE2Myw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIG1fbmF2
aWdhdG9yUXRPYmplY3RFbmFibGVkOwogICAgIGJvb2wgbV9yZW5kZXJUb09mZnNjcmVlbkJ1ZmZl
cjsKICAgICBib29sIG1fbG9hZFN0YXJ0ZWRTaWduYWxTZW50OworICAgIGJvb2wgbV9kaWFsb2dS
dW5uZXJBY3RpdmU7CiAgICAgUVVybCBtX2ljb25VUkw7CiAgICAgUVVybCBtX2RlZmVyZWRVcmxU
b0xvYWQ7CiB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>