<?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>59715</bug_id>
          
          <creation_ts>2011-04-28 10:57:24 -0700</creation_ts>
          <short_desc>[GTK] Click counting logic should be shared between WebKit1 and WebKit2</short_desc>
          <delta_ts>2011-04-29 05:33:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>abarth</cc>
    
    <cc>alex</cc>
    
    <cc>cgarcia</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>394558</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-28 10:57:24 -0700</bug_when>
    <thetext>The click counting logic is currently duplicated for both ports. We should push this down into WebCore as a utility class. This has the added benefit of helping put WebKitWebView on a diet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394566</commentid>
    <comment_count>1</comment_count>
      <attachid>91519</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-28 11:10:07 -0700</bug_when>
    <thetext>Created attachment 91519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394568</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-28 11:13:22 -0700</bug_when>
    <thetext>Attachment 91519 did not pass style-queue:

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

Source/WebCore/platform/gtk/GtkClickCounter.cpp:80:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 1 in 11 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>394587</commentid>
    <comment_count>3</comment_count>
      <attachid>91519</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-04-28 11:28:16 -0700</bug_when>
    <thetext>Comment on attachment 91519
Patch

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

Great stuff!

&gt; Source/WebCore/platform/gtk/GtkClickCounter.cpp:23
&gt; +#include &lt;gdk/gdk.h&gt;

I suppose this comes for free from gtk.h

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:-339
&gt; -

I actually object to this line being removed! Buurn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394605</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-28 11:38:16 -0700</bug_when>
    <thetext>Committed r85214: &lt;http://trac.webkit.org/changeset/85214&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394666</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-28 12:45:17 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/85214 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394823</commentid>
    <comment_count>6</comment_count>
      <attachid>91519</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-28 15:33:00 -0700</bug_when>
    <thetext>Comment on attachment 91519
Patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:274
&gt;      WebKitWebViewBasePrivate* priv = webViewBase-&gt;priv;
&gt; -
&gt;      priv-&gt;page-&gt;handleMouseEvent(NativeWebMouseEvent(reinterpret_cast&lt;GdkEvent*&gt;(event), 0 /* currentClickCount */));

This was extra and I can omit it from the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395138</commentid>
    <comment_count>7</comment_count>
      <attachid>91519</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-04-28 23:46:29 -0700</bug_when>
    <thetext>Comment on attachment 91519
Patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:-151
&gt; -    priv-&gt;pageClient = PageClientImpl::create(GTK_WIDGET(webkitWebViewBase));

This line should not be removed.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:-268
&gt; -    if (buttonEvent-&gt;button == 3) {
&gt; -        // FIXME: [GTK] Add context menu support for Webkit2.
&gt; -        // https://bugs.webkit.org/show_bug.cgi?id=54827
&gt; -        notImplemented();
&gt; -        return FALSE;
&gt; -    }
&gt; -

Why did you remove these lines? we haven&apos;t added support for context menus yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395224</commentid>
    <comment_count>8</comment_count>
      <attachid>91519</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-29 05:25:35 -0700</bug_when>
    <thetext>Comment on attachment 91519
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:-151
&gt;&gt; -    priv-&gt;pageClient = PageClientImpl::create(GTK_WIDGET(webkitWebViewBase));
&gt; 
&gt; This line should not be removed.

Indeed. That was a mistake.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:-268
&gt;&gt; -
&gt; 
&gt; Why did you remove these lines? we haven&apos;t added support for context menus yet.

That&apos;s correct, but I believe that an early return here prevents detecting double, triple, quadruple, etc third button clicks. If we need to generate context menu events, it should happen later in this method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395227</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-04-29 05:33:57 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 91519 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=91519&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:-151
&gt; &gt;&gt; -    priv-&gt;pageClient = PageClientImpl::create(GTK_WIDGET(webkitWebViewBase));
&gt; &gt; 
&gt; &gt; This line should not be removed.
&gt; 
&gt; Indeed. That was a mistake.

No problem, I already fixed it.

&gt; &gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:-268
&gt; &gt;&gt; -
&gt; &gt; 
&gt; &gt; Why did you remove these lines? we haven&apos;t added support for context menus yet.
&gt; 
&gt; That&apos;s correct, but I believe that an early return here prevents detecting double, triple, quadruple, etc third button clicks. If we need to generate context menu events, it should happen later in this method.

Patch for bug #54827 would remove those lines anyway.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91519</attachid>
            <date>2011-04-28 11:10:07 -0700</date>
            <delta_ts>2011-04-29 05:25:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59715-20110428111006.patch</filename>
            <type>text/plain</type>
            <size>22295</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUyMDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNjAyOTg4ODIwMjMyNTUw
NzAwMzgwMjdiZWUyNjU2NzhkOGMyN2ZiLi45ZjExMjRlNWYzMTkyYzUwN2I1NDQzOWFiMDk0NThl
YTcyMjdlZWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDQtMjggIE1hcnRp
biBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIENsaWNrIGNvdW50aW5nIGxvZ2ljIHNo
b3VsZCBiZSBzaGFyZWQgYmV0d2VlbiBXZWJLaXQxIGFuZCBXZWJLaXQyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTcxNQorCisgICAgICAgIEFkZGVk
IGEgR3RrQ2xpY2tDb3VudGVyIGNsYXNzIHdoaWNoIGlzIGp1c3QgdGhlIGxvZ2ljIGZyb20gV2Vi
S2l0MSBwdXNoZWQgZG93bgorICAgICAgICBpbnRvIFdlYkNvcmUgc28gdGhhdCBXZWJLaXQxIGFu
ZCBXZWJLaXQyIGNhbiBzaGFyZSB0aGUgY29kZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRo
aXMgaXMgY292ZXJlZCBieSBmYXN0L2V2ZW50cy9jbGljay1jb3VudC5odG1sLgorCisgICAgICAg
ICogR05VbWFrZWZpbGUubGlzdC5hbTogQWRkZWQgbmV3IGZpbGVzLgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9HdGtDbGlja0NvdW50ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okd0
a0NsaWNrQ291bnRlcjo6R3RrQ2xpY2tDb3VudGVyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpHdGtDbGlja0NvdW50ZXI6OnJlc2V0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpHdGtD
bGlja0NvdW50ZXI6OnNob3VsZFByb2Nlc3NCdXR0b25FdmVudCk6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6Z2V0RXZlbnRUaW1lKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpHdGtDbGlj
a0NvdW50ZXI6OmNsaWNrQ291bnRGb3JHZGtCdXR0b25FdmVudCk6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2d0ay9HdGtDbGlja0NvdW50ZXIuaDogQWRkZWQuCisKIDIwMTEtMDQtMjggIEFy
bm8gUmVuZXZpZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBH
dXN0YXZvIE5vcm9uaGEgU2lsdmEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA1
NmFlZWI4YzA1NGQzMjVlMDQxMDY0NTQzM2JjM2ZhZjczMjY1ZGEyLi5jYTkyY2QyMGNhZjY3OGI0
NmNmZDQ1MDcwMTFjYmIzOWVjZTlmOWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
QEAgLTM3NTcsNiArMzc1Nyw4IEBAIHdlYmNvcmVndGtfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0V2ZW50TG9vcEd0ay5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9GaWxlQ2hvb3Nlckd0ay5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9GaWxlU3lzdGVtR3RrLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0
a0NsaWNrQ291bnRlci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtDbGlj
a0NvdW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2Vy
dmljZUd0ay5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNl
cnZpY2VHdGsuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dPd25QdHJHdGsuY3Bw
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtDbGlja0NvdW50
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a0NsaWNrQ291bnRlci5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWIwMDMxM2FjNjY2OGM0NmU2ZDA3MmQ1MWU5ZjMwYjFhN2RiODZmYgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtDbGlja0NvdW50
ZXIuY3BwCkBAIC0wLDAgKzEsMTA2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEx
IElnYWxpYSBTLkwuCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
ICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICog
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy
ZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiR3RrQ2xpY2tDb3VudGVyLmgiCisKKyNpbmNsdWRlICJHT3du
UHRyR3RrLmgiCisjaW5jbHVkZSA8Z2RrL2dkay5oPgorI2luY2x1ZGUgPGd0ay9ndGsuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitHdGtDbGlja0NvdW50ZXI6Okd0a0NsaWNrQ291bnRlcigp
CisgICAgOiBtX2N1cnJlbnRDbGlja0NvdW50KDApCisgICAgLCBtX3ByZXZpb3VzQ2xpY2tCdXR0
b24oMCkKKyAgICAsIG1fcHJldmlvdXNDbGlja1RpbWUoMCkKK3sKK30KKwordm9pZCBHdGtDbGlj
a0NvdW50ZXI6OnJlc2V0KCkKK3sKKyAgICBtX2N1cnJlbnRDbGlja0NvdW50ID0gMDsKKyAgICBt
X3ByZXZpb3VzQ2xpY2tQb2ludCA9IEludFBvaW50KCk7CisgICAgbV9wcmV2aW91c0NsaWNrVGlt
ZSA9IDA7CisgICAgbV9wcmV2aW91c0NsaWNrQnV0dG9uID0gMDsKK30KKworYm9vbCBHdGtDbGlj
a0NvdW50ZXI6OnNob3VsZFByb2Nlc3NCdXR0b25FdmVudChHZGtFdmVudEJ1dHRvbiogYnV0dG9u
RXZlbnQpCit7CisgICAgLy8gRm9yIGRvdWJsZSBhbmQgdHJpcGxlIGNsaWNrcyBHREsgc2VuZHMg
Ym90aCBhIG5vcm1hbCBidXR0b24gcHJlc3MgZXZlbnQKKyAgICAvLyBhbmQgYSBzcGVjaWZpYyB0
eXBlIChsaWtlIEdES18yQlVUVE9OX1BSRVNTKS4gSWYgd2UgZGV0ZWN0IGEgc3BlY2lhbCBwcmVz
cworICAgIC8vIGNvbWluZyB1cCwgaWdub3JlIHRoaXMgZXZlbnQgYXMgaXQgY2VydGFpbmx5IGdl
bmVyYXRlZCB0aGUgZG91YmxlIG9yIHRyaXBsZQorICAgIC8vIGNsaWNrLiBUaGUgY29uc2VxdWVu
Y2Ugb2Ygbm90IGVhdGluZyB0aGlzIGV2ZW50IGlzIHR3byBET00gYnV0dG9uIHByZXNzIGV2ZW50
cworICAgIC8vIGFyZSBnZW5lcmF0ZWQuCisgICAgR093blB0cjxHZGtFdmVudD4gbmV4dEV2ZW50
KGdka19ldmVudF9wZWVrKCkpOworICAgIGlmICghbmV4dEV2ZW50KQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICBpZiAobmV4dEV2ZW50LT5hbnkudHlwZSA9PSBHREtfMkJVVFRPTl9QUkVTUyB8
fCBuZXh0RXZlbnQtPmFueS50eXBlID09IEdES18zQlVUVE9OX1BSRVNTKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBndWludDMyIGdldEV2ZW50
VGltZShHZGtFdmVudCogZXZlbnQpCit7CisgICAgZ3VpbnQzMiB0aW1lID0gZ2RrX2V2ZW50X2dl
dF90aW1lKGV2ZW50KTsKKyAgICBpZiAodGltZSkKKyAgICAgICAgcmV0dXJuIHRpbWU7CisKKyAg
ICAvLyBSZWFsIGV2ZW50cyBhbHdheXMgaGF2ZSBhIG5vbi16ZXJvIHRpbWUsIGJ1dCBldmVudHMg
c3ludGhlc2l6ZWQKKyAgICAvLyBieSB0aGUgRFJUIGRvIG5vdCBhbmQgd2UgbXVzdCBjYWxjdWxh
dGUgYSB0aW1lIG1hbnVhbGx5LiBUaGlzIHRpbWUKKyAgICAvLyBpcyBub3QgY2FsY3VsYXRlZCBp
biB0aGUgRFJULCBiZWNhdXNlIEdUSysgZG9lcyBub3Qgd29yayB3ZWxsIHdpdGgKKyAgICAvLyBh
bnl0aGluZyBvdGhlciB0aGFuIEdES19DVVJSRU5UX1RJTUUgb24gc3ludGhlc2l6ZWQgZXZlbnRz
LgorICAgIEdUaW1lVmFsIHRpbWVWYWx1ZTsKKyAgICBnX2dldF9jdXJyZW50X3RpbWUoJnRpbWVW
YWx1ZSk7CisgICAgcmV0dXJuICh0aW1lVmFsdWUudHZfc2VjICogMTAwMCkgKyAodGltZVZhbHVl
LnR2X3VzZWMgLyAxMDAwKTsKK30KKworaW50IEd0a0NsaWNrQ291bnRlcjo6Y2xpY2tDb3VudEZv
ckdka0J1dHRvbkV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEJ1dHRvbiogYnV0dG9u
RXZlbnQpCit7CisgICAgZ2ludCBkb3VibGVDbGlja0Rpc3RhbmNlID0gMjUwOworICAgIGdpbnQg
ZG91YmxlQ2xpY2tUaW1lID0gNTsKKyAgICBHdGtTZXR0aW5ncyogc2V0dGluZ3MgPSBndGtfc2V0
dGluZ3NfZ2V0X2Zvcl9zY3JlZW4oZ3RrX3dpZGdldF9nZXRfc2NyZWVuKHdpZGdldCkpOworICAg
IGdfb2JqZWN0X2dldChzZXR0aW5ncywKKyAgICAgICAgICAgICAgICAgImd0ay1kb3VibGUtY2xp
Y2stZGlzdGFuY2UiLCAmZG91YmxlQ2xpY2tEaXN0YW5jZSwKKyAgICAgICAgICAgICAgICAgImd0
ay1kb3VibGUtY2xpY2stdGltZSIsICZkb3VibGVDbGlja1RpbWUsIE5VTEwpOworCisgICAgLy8g
R1RLKyBvbmx5IGNvdW50cyB1cCB0byB0cmlwbGUgY2xpY2tzLCBidXQgV2ViQ29yZSB3YW50cyB0
byBrbm93IGFib3V0CisgICAgLy8gcXVhZHJ1cGxlIGNsaWNrcywgcXVpbnR1cGxlIGNsaWNrcywg
YWQgaW5maW5pdHVtLiBIZXJlLCB3ZSByZXBsaWNhdGUgdGhlCisgICAgLy8gR0RLIGxvZ2ljIGZv
ciBjb3VudGluZyBjbGlja3MuCisgICAgR2RrRXZlbnQqIGV2ZW50KHJlaW50ZXJwcmV0X2Nhc3Q8
R2RrRXZlbnQqPihidXR0b25FdmVudCkpOworICAgIGd1aW50MzIgZXZlbnRUaW1lID0gZ2V0RXZl
bnRUaW1lKGV2ZW50KTsKKworICAgIGlmICgoZXZlbnQtPnR5cGUgPT0gR0RLXzJCVVRUT05fUFJF
U1MgfHwgZXZlbnQtPnR5cGUgPT0gR0RLXzNCVVRUT05fUFJFU1MpCisgICAgICAgIHx8ICgoYWJz
KGJ1dHRvbkV2ZW50LT54IC0gbV9wcmV2aW91c0NsaWNrUG9pbnQueCgpKSA8IGRvdWJsZUNsaWNr
RGlzdGFuY2UpCisgICAgICAgICAgICAmJiAoYWJzKGJ1dHRvbkV2ZW50LT55IC0gbV9wcmV2aW91
c0NsaWNrUG9pbnQueSgpKSA8IGRvdWJsZUNsaWNrRGlzdGFuY2UpCisgICAgICAgICAgICAmJiAo
ZXZlbnRUaW1lIC0gbV9wcmV2aW91c0NsaWNrVGltZSA8IHN0YXRpY19jYXN0PGd1aW50Pihkb3Vi
bGVDbGlja1RpbWUpKQorICAgICAgICAgICAgJiYgKGJ1dHRvbkV2ZW50LT5idXR0b24gPT0gbV9w
cmV2aW91c0NsaWNrQnV0dG9uKSkpCisgICAgICAgIG1fY3VycmVudENsaWNrQ291bnQrKzsKKyAg
ICBlbHNlCisgICAgICAgIG1fY3VycmVudENsaWNrQ291bnQgPSAxOworCisgICAgZ2RvdWJsZSB4
LCB5OworICAgIGdka19ldmVudF9nZXRfY29vcmRzKGV2ZW50LCAmeCwgJnkpOworICAgIG1fcHJl
dmlvdXNDbGlja1BvaW50ID0gSW50UG9pbnQoeCwgeSk7CisgICAgbV9wcmV2aW91c0NsaWNrQnV0
dG9uID0gYnV0dG9uRXZlbnQtPmJ1dHRvbjsKKyAgICBtX3ByZXZpb3VzQ2xpY2tUaW1lID0gZXZl
bnRUaW1lOworCisgICAgcmV0dXJuIG1fY3VycmVudENsaWNrQ291bnQ7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9H
dGtDbGlja0NvdW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtDbGlja0Nv
dW50ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42NmNhMWRlYzkxODA3OTRmMmY3NTE5YjhiYzUyYjY3OTRiMWY5
N2NmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a0Ns
aWNrQ291bnRlci5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAs
IDIwMTEgSWdhbGlhIFMuTC4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0
aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpZm5k
ZWYgR3RrQ2xpY2tDb3VudGVyX2gKKyNkZWZpbmUgR3RrQ2xpY2tDb3VudGVyX2gKKworI2luY2x1
ZGUgIkludFBvaW50LmgiCisKK3R5cGVkZWYgc3RydWN0IF9HZGtFdmVudEJ1dHRvbiBHZGtFdmVu
dEJ1dHRvbjsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBHdGtDbGlja0NvdW50ZXIg
eworcHVibGljOgorICAgIEd0a0NsaWNrQ291bnRlcigpOworICAgIHZvaWQgcmVzZXQoKTsKKyAg
ICBib29sIHNob3VsZFByb2Nlc3NCdXR0b25FdmVudChHZGtFdmVudEJ1dHRvbiopOworICAgIGlu
dCBjbGlja0NvdW50Rm9yR2RrQnV0dG9uRXZlbnQoR3RrV2lkZ2V0KiwgR2RrRXZlbnRCdXR0b24q
KTsKKworcHJpdmF0ZToKKyAgICBpbnQgbV9jdXJyZW50Q2xpY2tDb3VudDsKKyAgICBJbnRQb2lu
dCBtX3ByZXZpb3VzQ2xpY2tQb2ludDsKKyAgICB1bnNpZ25lZCBpbnQgbV9wcmV2aW91c0NsaWNr
QnV0dG9uOworICAgIGludCBtX3ByZXZpb3VzQ2xpY2tUaW1lOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDdkODY2MDNkN2Q2MWUw
NTdjZTlhYzU2OTViZDQzMGEyNWM0OGZkMTguLjYzODMzNTVmODc3N2ZjZWM4MzQ0NTJhYzAxYzJl
ZmIwMTA1OTRkYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMS0wNC0y
OCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gQ2xpY2sgY291bnRpbmcg
bG9naWMgc2hvdWxkIGJlIHNoYXJlZCBiZXR3ZWVuIFdlYktpdDEgYW5kIFdlYktpdDIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NzE1CisKKyAgICAg
ICAgU3dpdGNoIFdlYktpdDEgdG8gdXNlIHRoZSBuZXcgR3RrQ2xpY2tDb3VudGVyIGZvciBjb3Vu
dGluZyA+IDMgY2xpY2tzIGluIGEgcm93LgorICAgICAgICBUaGlzIGFsbG93cyB0aGUgY29kZSB0
byBiZSBzaGFyZWQgYmV0d2VlbiBXZWJLaXQxIGFuZCBXZWJLaXQyLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvRHJhZ0NsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYWdDbGll
bnQ6OnN0YXJ0RHJhZyk6IENhbGwgR3RrQ2xpY2tDb3VudGVyOjpyZXNldCBpbnN0ZWFkIG9mIGZp
ZGRsaW5nCisgICAgICAgIHRoZSBXZWJWaWV3IHByaXZhdGUgZGF0YSBkaXJlY3RseS4KKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OnBvc3RDb21taXRGcmFtZVZpZXdTZXR1cCk6IERpdHRvLgorICAgICAgICAqIHdlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19idXR0b25fcHJl
c3NfZXZlbnQpOiBDYWxsIGludG8gR3RrQ2xpY2tDb3VudGVyIG5vdy4KKyAgICAgICAgKHdlYmtp
dF93ZWJfdmlld19pbml0KTogUmVtb3ZlIHByaXZhdGUgbWVtYmVyIGludGlhbGl6YXRpb24uCisg
ICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXdwcml2YXRlLmg6IFJlbW92ZSB1bm5lZWRlZCBw
cml2YXRlIG1lbWJlcnMuCisKIDIwMTEtMDQtMjcgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNv
bkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHJhZ0NsaWVudEd0ay5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EcmFnQ2xpZW50R3RrLmNwcAppbmRl
eCAzM2FiNGZhNjA4ZTYxYzRlOTAxNTkwYjVmYTJiMTQ5NzRjMjZkZTBkLi5iZmM4YTUyNzQzZTE3
NjhkZWE2MjAwNmYxYTA4ZTcyNDJlZGQzODVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9EcmFnQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9EcmFnQ2xpZW50R3RrLmNwcApAQCAtMTExLDcgKzExMSw3IEBAIHZv
aWQgRHJhZ0NsaWVudDo6c3RhcnREcmFnKERyYWdJbWFnZVJlZiBpbWFnZSwgY29uc3QgSW50UG9p
bnQmIGRyYWdJbWFnZU9yaWdpbiwKIAogICAgIC8vIEEgZHJhZyBzdGFydGluZyBzaG91bGQgcHJl
dmVudCBhIGRvdWJsZS1jbGljayBmcm9tIGhhcHBlbmluZy4gVGhpcyBtaWdodAogICAgIC8vIGhh
cHBlbiBpZiBhIGRyYWcgaXMgZm9sbG93ZWQgdmVyeSBxdWlja2x5IGJ5IGFub3RoZXIgY2xpY2sg
KGxpa2UgaW4gdGhlIERSVCkuCi0gICAgd2ViVmlldy0+cHJpdi0+cHJldmlvdXNDbGlja1RpbWUg
PSAwOworICAgIHdlYlZpZXctPnByaXYtPmNsaWNrQ291bnRlci5yZXNldCgpOwogCiAgICAgLy8g
VGhpcyBzdHJhdGVneSBvcmlnaW5hbGx5IGNvbWVzIGZyb20gQ2hyb21pdW06CiAgICAgLy8gc3Jj
L2Nocm9tZS9icm93c2VyL2d0ay90YWJfY29udGVudHNfZHJhZ19zb3VyY2UuY2MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
R3RrLmNwcAppbmRleCA1Mzk2NzVhOWY4NWE1ZjE5ZDQ2MDhmYzg1NWI3MmYzZjViYWNjMDRlLi4z
OWMwM2M5NGM3NzY5ZTc5Y2ZmNmUxNTEyNTFmNTY0Yzc1N2UyYTk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsu
Y3BwCkBAIC0xMzc0LDcgKzEzNzQsNyBAQCBzdGF0aWMgdm9pZCBwb3N0Q29tbWl0RnJhbWVWaWV3
U2V0dXAoV2ViS2l0V2ViRnJhbWUgKmZyYW1lLCBGcmFtZVZpZXcgKnZpZXcsIGJvbwogICAgIH0K
IAogICAgIC8vIERvIG5vdCBhbGxvdyBjbGljayBjb3VudGluZyBiZXR3ZWVuIG1haW4gZnJhbWUg
bG9hZHMuCi0gICAgcHJpdi0+cHJldmlvdXNDbGlja1RpbWUgPSAwOworICAgIHByaXYtPmNsaWNr
Q291bnRlci5yZXNldCgpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9u
VG9Db21taXR0ZWRGcm9tQ2FjaGVkRnJhbWUoQ2FjaGVkRnJhbWUqIGNhY2hlZEZyYW1lKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwIGIvU291
cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IDg1YWQ5MDRhNjgw
MDJmM2VjZTc4MDM5ZTI2YWI5YzA2OWU0MzBlZDguLjEyYWM3NTlhNzdhOWE0NzExMjQ5MGQ1NWFi
OWNmNzM0MWRiYTk1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmll
dy5jcHAKQEAgLTc1NywyMSArNzU3LDYgQEAgc3RhdGljIGdib29sZWFuIHdlYmtpdF93ZWJfdmll
d19rZXlfcmVsZWFzZV9ldmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRLZXkKICAgICBy
ZXR1cm4gR1RLX1dJREdFVF9DTEFTUyh3ZWJraXRfd2ViX3ZpZXdfcGFyZW50X2NsYXNzKS0+a2V5
X3JlbGVhc2VfZXZlbnQod2lkZ2V0LCBldmVudCk7CiB9CiAKLXN0YXRpYyBndWludDMyIGdldEV2
ZW50VGltZShHZGtFdmVudCogZXZlbnQpCi17Ci0gICAgZ3VpbnQzMiB0aW1lID0gZ2RrX2V2ZW50
X2dldF90aW1lKGV2ZW50KTsKLSAgICBpZiAodGltZSkKLSAgICAgICAgcmV0dXJuIHRpbWU7Ci0K
LSAgICAvLyBSZWFsIGV2ZW50cyBhbHdheXMgaGF2ZSBhIG5vbi16ZXJvIHRpbWUsIGJ1dCBldmVu
dHMgc3ludGhlc2l6ZWQKLSAgICAvLyBieSB0aGUgRFJUIGRvIG5vdCBhbmQgd2UgbXVzdCBjYWxj
dWxhdGUgYSB0aW1lIG1hbnVhbGx5LiBUaGlzIHRpbWUKLSAgICAvLyBpcyBub3QgY2FsY3VsYXRl
ZCBpbiB0aGUgRFJULCBiZWNhdXNlIEdUSysgZG9lcyBub3Qgd29yayB3ZWxsIHdpdGgKLSAgICAv
LyBhbnl0aGluZyBvdGhlciB0aGFuIEdES19DVVJSRU5UX1RJTUUgb24gc3ludGhlc2l6ZWQgZXZl
bnRzLgotICAgIEdUaW1lVmFsIHRpbWVWYWx1ZTsKLSAgICBnX2dldF9jdXJyZW50X3RpbWUoJnRp
bWVWYWx1ZSk7Ci0gICAgcmV0dXJuICh0aW1lVmFsdWUudHZfc2VjICogMTAwMCkgKyAodGltZVZh
bHVlLnR2X3VzZWMgLyAxMDAwKTsKLX0gCi0KIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRfd2ViX3Zp
ZXdfYnV0dG9uX3ByZXNzX2V2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEJ1dHRvbiog
ZXZlbnQpCiB7CiAgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyh3
aWRnZXQpOwpAQCAtNzgwLDQwICs3NjUsMTEgQEAgc3RhdGljIGdib29sZWFuIHdlYmtpdF93ZWJf
dmlld19idXR0b25fcHJlc3NfZXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50QnUKICAg
ICAvLyBGSVhNRTogbmVlZCB0byBrZWVwIHRyYWNrIG9mIHN1YmZyYW1lIGZvY3VzIGZvciBrZXkg
ZXZlbnRzCiAgICAgZ3RrX3dpZGdldF9ncmFiX2ZvY3VzKHdpZGdldCk7CiAKLSAgICAvLyBGb3Ig
ZG91YmxlIGFuZCB0cmlwbGUgY2xpY2tzIEdESyBzZW5kcyBib3RoIGEgbm9ybWFsIGJ1dHRvbiBw
cmVzcyBldmVudAotICAgIC8vIGFuZCBhIHNwZWNpZmljIHR5cGUgKGxpa2UgR0RLXzJCVVRUT05f
UFJFU1MpLiBJZiB3ZSBkZXRlY3QgYSBzcGVjaWFsIHByZXNzCi0gICAgLy8gY29taW5nIHVwLCBp
Z25vcmUgdGhpcyBldmVudCBhcyBpdCBjZXJ0YWlubHkgZ2VuZXJhdGVkIHRoZSBkb3VibGUgb3Ig
dHJpcGxlCi0gICAgLy8gY2xpY2suIFRoZSBjb25zZXF1ZW5jZSBvZiBub3QgZWF0aW5nIHRoaXMg
ZXZlbnQgaXMgdHdvIERPTSBidXR0b24gcHJlc3MgZXZlbnRzCi0gICAgLy8gYXJlIGdlbmVyYXRl
ZC4KLSAgICBHT3duUHRyPEdka0V2ZW50PiBuZXh0RXZlbnQoZ2RrX2V2ZW50X3BlZWsoKSk7Ci0g
ICAgaWYgKG5leHRFdmVudCAmJiAobmV4dEV2ZW50LT5hbnkudHlwZSA9PSBHREtfMkJVVFRPTl9Q
UkVTUyB8fCBuZXh0RXZlbnQtPmFueS50eXBlID09IEdES18zQlVUVE9OX1BSRVNTKSkKKyAgICBp
ZiAoIXByaXYtPmNsaWNrQ291bnRlci5zaG91bGRQcm9jZXNzQnV0dG9uRXZlbnQoZXZlbnQpKQog
ICAgICAgICByZXR1cm4gVFJVRTsKIAotICAgIGdpbnQgZG91YmxlQ2xpY2tEaXN0YW5jZSA9IDI1
MDsKLSAgICBnaW50IGRvdWJsZUNsaWNrVGltZSA9IDU7Ci0gICAgR3RrU2V0dGluZ3MqIHNldHRp
bmdzID0gZ3RrX3NldHRpbmdzX2dldF9mb3Jfc2NyZWVuKGd0a193aWRnZXRfZ2V0X3NjcmVlbih3
aWRnZXQpKTsKLSAgICBnX29iamVjdF9nZXQoc2V0dGluZ3MsIAotICAgICAgICAiZ3RrLWRvdWJs
ZS1jbGljay1kaXN0YW5jZSIsICZkb3VibGVDbGlja0Rpc3RhbmNlLAotICAgICAgICAiZ3RrLWRv
dWJsZS1jbGljay10aW1lIiwgJmRvdWJsZUNsaWNrVGltZSwgTlVMTCk7Ci0KLSAgICAvLyBHVEsr
IG9ubHkgY291bnRzIHVwIHRvIHRyaXBsZSBjbGlja3MsIGJ1dCBXZWJDb3JlIHdhbnRzIHRvIGtu
b3cgYWJvdXQKLSAgICAvLyBxdWFkcnVwbGUgY2xpY2tzLCBxdWludHVwbGUgY2xpY2tzLCBhZCBp
bmZpbml0dW0uIEhlcmUsIHdlIHJlcGxpY2F0ZSB0aGUKLSAgICAvLyBHREsgbG9naWMgZm9yIGNv
dW50aW5nIGNsaWNrcy4KLSAgICBndWludDMyIGV2ZW50VGltZSA9IGdldEV2ZW50VGltZShyZWlu
dGVycHJldF9jYXN0PEdka0V2ZW50Kj4oZXZlbnQpKTsKLSAgICBpZiAoKGV2ZW50LT50eXBlID09
IEdES18yQlVUVE9OX1BSRVNTIHx8IGV2ZW50LT50eXBlID09IEdES18zQlVUVE9OX1BSRVNTKQot
ICAgICAgICB8fCAoKGFicyhldmVudC0+eCAtIHByaXYtPnByZXZpb3VzQ2xpY2tQb2ludC54KCkp
IDwgZG91YmxlQ2xpY2tEaXN0YW5jZSkKLSAgICAgICAgICAgICYmIChhYnMoZXZlbnQtPnkgLSBw
cml2LT5wcmV2aW91c0NsaWNrUG9pbnQueSgpKSA8IGRvdWJsZUNsaWNrRGlzdGFuY2UpCi0gICAg
ICAgICAgICAmJiAoZXZlbnRUaW1lIC0gcHJpdi0+cHJldmlvdXNDbGlja1RpbWUgPCBzdGF0aWNf
Y2FzdDxndWludD4oZG91YmxlQ2xpY2tUaW1lKSkKLSAgICAgICAgICAgICYmIChldmVudC0+YnV0
dG9uID09IHByaXYtPnByZXZpb3VzQ2xpY2tCdXR0b24pKSkKLSAgICAgICAgcHJpdi0+Y3VycmVu
dENsaWNrQ291bnQrKzsKLSAgICBlbHNlCi0gICAgICAgIHByaXYtPmN1cnJlbnRDbGlja0NvdW50
ID0gMTsKLQogICAgIFBsYXRmb3JtTW91c2VFdmVudCBwbGF0Zm9ybUV2ZW50KGV2ZW50KTsKLSAg
ICBwbGF0Zm9ybUV2ZW50LnNldENsaWNrQ291bnQocHJpdi0+Y3VycmVudENsaWNrQ291bnQpOwot
ICAgIHByaXYtPnByZXZpb3VzQ2xpY2tQb2ludCA9IHBsYXRmb3JtRXZlbnQucG9zKCk7Ci0gICAg
cHJpdi0+cHJldmlvdXNDbGlja0J1dHRvbiA9IGV2ZW50LT5idXR0b247Ci0gICAgcHJpdi0+cHJl
dmlvdXNDbGlja1RpbWUgPSBldmVudFRpbWU7CisgICAgcGxhdGZvcm1FdmVudC5zZXRDbGlja0Nv
dW50KHByaXYtPmNsaWNrQ291bnRlci5jbGlja0NvdW50Rm9yR2RrQnV0dG9uRXZlbnQod2lkZ2V0
LCBldmVudCkpOwogCiAgICAgaWYgKGV2ZW50LT5idXR0b24gPT0gMykKICAgICAgICAgcmV0dXJu
IHdlYmtpdF93ZWJfdmlld19mb3J3YXJkX2NvbnRleHRfbWVudV9ldmVudCh3ZWJWaWV3LCBQbGF0
Zm9ybU1vdXNlRXZlbnQoZXZlbnQpKTsKQEAgLTM1MzUsOSArMzQ5MSw2IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdF93ZWJfdmlld19pbml0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAKICAgICBwcml2
LT5zdWJSZXNvdXJjZXMgPSBhZG9wdEdSZWYoZ19oYXNoX3RhYmxlX25ld19mdWxsKGdfc3RyX2hh
c2gsIGdfc3RyX2VxdWFsLCBnX2ZyZWUsIGdfb2JqZWN0X3VucmVmKSk7CiAKLSAgICBwcml2LT5j
dXJyZW50Q2xpY2tDb3VudCA9IDA7Ci0gICAgcHJpdi0+cHJldmlvdXNDbGlja0J1dHRvbiA9IDA7
Ci0gICAgcHJpdi0+cHJldmlvdXNDbGlja1RpbWUgPSAwOwogICAgIGd0a19kcmFnX2Rlc3Rfc2V0
KEdUS19XSURHRVQod2ViVmlldyksIHN0YXRpY19jYXN0PEd0a0Rlc3REZWZhdWx0cz4oMCksIDAs
IDAsIHN0YXRpY19jYXN0PEdka0RyYWdBY3Rpb24+KEdES19BQ1RJT05fQ09QWSB8IEdES19BQ1RJ
T05fQ09QWSB8IEdES19BQ1RJT05fTU9WRSB8IEdES19BQ1RJT05fTElOSyB8IEdES19BQ1RJT05f
UFJJVkFURSkpOwogICAgIGd0a19kcmFnX2Rlc3Rfc2V0X3RhcmdldF9saXN0KEdUS19XSURHRVQo
d2ViVmlldyksIHBhc3RlYm9hcmRIZWxwZXJJbnN0YW5jZSgpLT50YXJnZXRMaXN0KCkpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXdwcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlld3ByaXZhdGUuaAppbmRl
eCBhMzU1YTUzMzcwZGNjM2I1ZWIxY2M0MGFkOThhZjJlNzI4ZDk4YmFlLi4wNWI2NjI4OTkwMzAx
NWQ2YzdmNGZiMWVmOWI1YzJhNWU2MzgzNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0d2Vidmlld3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0d2Vidmlld3ByaXZhdGUuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjaW5jbHVk
ZSAiRGF0YU9iamVjdEd0ay5oIgogI2luY2x1ZGUgIkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIu
aCIKKyNpbmNsdWRlICJHdGtDbGlja0NvdW50ZXIuaCIKICNpbmNsdWRlICJHT3duUHRyLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0d2Vidmll
dy5oPgpAQCAtMTAxLDEwICsxMDIsNyBAQCBzdHJ1Y3QgX1dlYktpdFdlYlZpZXdQcml2YXRlIHsK
ICAgICBDU3RyaW5nIHRvb2x0aXBUZXh0OwogICAgIFdlYkNvcmU6OkludFJlY3QgdG9vbHRpcEFy
ZWE7CiAKLSAgICBpbnQgY3VycmVudENsaWNrQ291bnQ7Ci0gICAgV2ViQ29yZTo6SW50UG9pbnQg
cHJldmlvdXNDbGlja1BvaW50OwotICAgIGd1aW50IHByZXZpb3VzQ2xpY2tCdXR0b247Ci0gICAg
Z3VpbnQzMiBwcmV2aW91c0NsaWNrVGltZTsKKyAgICBXZWJDb3JlOjpHdGtDbGlja0NvdW50ZXIg
Y2xpY2tDb3VudGVyOwogICAgIEhhc2hNYXA8R2RrRHJhZ0NvbnRleHQqLCBSZWZQdHI8V2ViQ29y
ZTo6RGF0YU9iamVjdEd0az4gPiBkcmFnZ2luZ0RhdGFPYmplY3RzOwogICAgIEhhc2hNYXA8R2Rr
RHJhZ0NvbnRleHQqLCBXZWJLaXQ6OkRyb3BwaW5nQ29udGV4dCo+IGRyb3BwaW5nQ29udGV4dHM7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDliNTIyNzRmYTA1ZGJlNTk2YTYxYjhkY2U1MTUwZTlkMDA1MTc2
M2EuLmQ4NWExMGY3ZDBkNWM1YTJkZjk0MGU4ZTY2NDcyMmQ3MDg0NTlkZDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwyMCBAQAogMjAxMS0wNC0yOCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29u
QGlnYWxpYS5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgW0dUS10gQ2xpY2sgY291bnRpbmcgbG9naWMgc2hvdWxkIGJlIHNoYXJlZCBiZXR3ZWVu
IFdlYktpdDEgYW5kIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU5NzE1CisKKyAgICAgICAgVXNlIHRoZSBHdGtDbGlja0NvdW50ZXIgaW5z
dGVhZCBvZiBkb2luZyBjbGljayBjb3VudGluZyBtYW51YWxseS4gVGhpcyBtZWFucyB0aGF0Cisg
ICAgICAgIHRoZSBjb2RlIHdpbGwgbm93IGJlIHNoYXJlZCBiZXR3ZWVuIFdlYktpdDEgYW5kIFdl
YktpdDIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5j
cHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfYmFzZV9pbml0KTogUmVtb3ZlIHByaXZhdGUg
bWVtYmVyIGluaXRpYWxpemF0aW9uLgorICAgICAgICAod2ViVmlld0J1dHRvblByZXNzRXZlbnQp
OiBDYWxsIGludG8gR3RrQ2xpY2tDb3VudGVyLgorICAgICAgICAod2ViVmlld01vdGlvbk5vdGlm
eUV2ZW50KToKKworMjAxMS0wNC0yOCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxp
YS5jb20+CisKICAgICAgICAgQnVpbGQgZml4IGFmdGVyIHI4NTE5Ny4KIAogICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAppbmRleCBi
YTFiMmMwNmY1ZjgyM2E0ZmFlZTY5ZWUxNGQzNDM5YTBmYTdmYTExLi4xZWEwY2M0MmZjM2E2YmNm
YzdjNDJlNGZmNGRmZjMzNDJmZjAxMTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBA
CiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlld0Jhc2UuaCIKIAogI2luY2x1ZGUgIkdPd25QdHJHdGsu
aCIKKyNpbmNsdWRlICJHdGtDbGlja0NvdW50ZXIuaCIKICNpbmNsdWRlICJHdGtWZXJzaW9uaW5n
LmgiCiAjaW5jbHVkZSAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIk5hdGl2
ZVdlYk1vdXNlRXZlbnQuaCIKQEAgLTQ5LDEwICs1MCw3IEBAIHN0cnVjdCBfV2ViS2l0V2ViVmll
d0Jhc2VQcml2YXRlIHsKICAgICBSZWZQdHI8V2ViUGFnZVByb3h5PiBwYWdlOwogICAgIGdib29s
ZWFuIGlzUGFnZUFjdGl2ZTsKICAgICBHdGtJTUNvbnRleHQqIGltQ29udGV4dDsKLSAgICBnaW50
IGN1cnJlbnRDbGlja0NvdW50OwotICAgIEludFBvaW50IHByZXZpb3VzQ2xpY2tQb2ludDsKLSAg
ICBndWludCBwcmV2aW91c0NsaWNrQnV0dG9uOwotICAgIGd1aW50MzIgcHJldmlvdXNDbGlja1Rp
bWU7CisgICAgR3RrQ2xpY2tDb3VudGVyIGNsaWNrQ291bnRlcjsKIH07CiAKIEdfREVGSU5FX1RZ
UEUoV2ViS2l0V2ViVmlld0Jhc2UsIHdlYmtpdF93ZWJfdmlld19iYXNlLCBHVEtfVFlQRV9DT05U
QUlORVIpCkBAIC0xNDMsMTIgKzE0MSw2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19i
YXNlX2luaXQoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYmtpdFdlYlZpZXdCYXNlKQogCiAgICAgZ3Rr
X3dpZGdldF9zZXRfY2FuX2ZvY3VzKEdUS19XSURHRVQod2Via2l0V2ViVmlld0Jhc2UpLCBUUlVF
KTsKICAgICBwcml2LT5pbUNvbnRleHQgPSBndGtfaW1fbXVsdGljb250ZXh0X25ldygpOwotCi0g
ICAgcHJpdi0+Y3VycmVudENsaWNrQ291bnQgPSAwOwotICAgIHByaXYtPnByZXZpb3VzQ2xpY2tC
dXR0b24gPSAwOwotICAgIHByaXYtPnByZXZpb3VzQ2xpY2tUaW1lID0gMDsKLQotICAgIHByaXYt
PnBhZ2VDbGllbnQgPSBQYWdlQ2xpZW50SW1wbDo6Y3JlYXRlKEdUS19XSURHRVQod2Via2l0V2Vi
Vmlld0Jhc2UpKTsKIH0KIAogI2lmZGVmIEdUS19BUElfVkVSU0lPTl8yCkBAIC0yNDEsNzMgKzIz
MywxNiBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2ViVmlld0tleVJlbGVhc2VFdmVudChHdGtXaWRnZXQq
IHdpZGdldCwgR2RrRXZlbnRLZXkqIGV2ZW50KQogICAgIHJldHVybiBHVEtfV0lER0VUX0NMQVNT
KHdlYmtpdF93ZWJfdmlld19iYXNlX3BhcmVudF9jbGFzcyktPmtleV9yZWxlYXNlX2V2ZW50KHdp
ZGdldCwgZXZlbnQpOwogfQogCi0vLyBDb3BpZWQgZnJvbSB3ZWJraXR3ZWJ2aWV3LmNwcAotc3Rh
dGljIGd1aW50MzIgZ2V0RXZlbnRUaW1lKEdka0V2ZW50KiBldmVudCkKLXsKLSAgICBndWludDMy
IHRpbWUgPSBnZGtfZXZlbnRfZ2V0X3RpbWUoZXZlbnQpOwotICAgIGlmICh0aW1lKQotICAgICAg
ICByZXR1cm4gdGltZTsKLQotICAgIC8vIFJlYWwgZXZlbnRzIGFsd2F5cyBoYXZlIGEgbm9uLXpl
cm8gdGltZSwgYnV0IGV2ZW50cyBzeW50aGVzaXplZAotICAgIC8vIGJ5IHRoZSBEUlQgZG8gbm90
IGFuZCB3ZSBtdXN0IGNhbGN1bGF0ZSBhIHRpbWUgbWFudWFsbHkuIFRoaXMgdGltZQotICAgIC8v
IGlzIG5vdCBjYWxjdWxhdGVkIGluIHRoZSBEUlQsIGJlY2F1c2UgR1RLKyBkb2VzIG5vdCB3b3Jr
IHdlbGwgd2l0aAotICAgIC8vIGFueXRoaW5nIG90aGVyIHRoYW4gR0RLX0NVUlJFTlRfVElNRSBv
biBzeW50aGVzaXplZCBldmVudHMuCi0gICAgR1RpbWVWYWwgdGltZVZhbHVlOwotICAgIGdfZ2V0
X2N1cnJlbnRfdGltZSgmdGltZVZhbHVlKTsKLSAgICByZXR1cm4gKHRpbWVWYWx1ZS50dl9zZWMg
KiAxMDAwKSArICh0aW1lVmFsdWUudHZfdXNlYyAvIDEwMDApOwotfQotCiBzdGF0aWMgZ2Jvb2xl
YW4gd2ViVmlld0J1dHRvblByZXNzRXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50QnV0
dG9uKiBidXR0b25FdmVudCkKIHsKLSAgICBpZiAoYnV0dG9uRXZlbnQtPmJ1dHRvbiA9PSAzKSB7
Ci0gICAgICAgIC8vIEZJWE1FOiBbR1RLXSBBZGQgY29udGV4dCBtZW51IHN1cHBvcnQgZm9yIFdl
YmtpdDIuCi0gICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NDgyNwotICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICByZXR1cm4gRkFMU0U7
Ci0gICAgfQotCisgICAgV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlID0gV0VCS0lUX1dF
Ql9WSUVXX0JBU0Uod2lkZ2V0KTsKKyAgICBXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUqIHByaXYg
PSB3ZWJWaWV3QmFzZS0+cHJpdjsKICAgICBndGtfd2lkZ2V0X2dyYWJfZm9jdXMod2lkZ2V0KTsK
IAotICAgIC8vIEZvciBkb3VibGUgYW5kIHRyaXBsZSBjbGlja3MgR0RLIHNlbmRzIGJvdGggYSBu
b3JtYWwgYnV0dG9uIHByZXNzIGV2ZW50Ci0gICAgLy8gYW5kIGEgc3BlY2lmaWMgdHlwZSAobGlr
ZSBHREtfMkJVVFRPTl9QUkVTUykuIElmIHdlIGRldGVjdCBhIHNwZWNpYWwgcHJlc3MKLSAgICAv
LyBjb21pbmcgdXAsIGlnbm9yZSB0aGlzIGV2ZW50IGFzIGl0IGNlcnRhaW5seSBnZW5lcmF0ZWQg
dGhlIGRvdWJsZSBvciB0cmlwbGUKLSAgICAvLyBjbGljay4gVGhlIGNvbnNlcXVlbmNlIG9mIG5v
dCBlYXRpbmcgdGhpcyBldmVudCBpcyB0d28gRE9NIGJ1dHRvbiBwcmVzcyBldmVudHMKLSAgICAv
LyBhcmUgZ2VuZXJhdGVkLgotICAgIEdPd25QdHI8R2RrRXZlbnQ+IG5leHRFdmVudChnZGtfZXZl
bnRfcGVlaygpKTsKLSAgICBpZiAobmV4dEV2ZW50ICYmIChuZXh0RXZlbnQtPmFueS50eXBlID09
IEdES18yQlVUVE9OX1BSRVNTIHx8IG5leHRFdmVudC0+YW55LnR5cGUgPT0gR0RLXzNCVVRUT05f
UFJFU1MpKQorICAgIGlmICghcHJpdi0+Y2xpY2tDb3VudGVyLnNob3VsZFByb2Nlc3NCdXR0b25F
dmVudChidXR0b25FdmVudCkpCiAgICAgICAgIHJldHVybiBUUlVFOwotCi0gICAgZ2ludCBkb3Vi
bGVDbGlja0Rpc3RhbmNlID0gMjUwOwotICAgIGdpbnQgZG91YmxlQ2xpY2tUaW1lID0gNTsKLSAg
ICBHdGtTZXR0aW5ncyogc2V0dGluZ3MgPSBndGtfc2V0dGluZ3NfZ2V0X2Zvcl9zY3JlZW4oZ3Rr
X3dpZGdldF9nZXRfc2NyZWVuKHdpZGdldCkpOwotICAgIGdfb2JqZWN0X2dldChzZXR0aW5ncywK
LSAgICAgICAgICAgICAgICAgImd0ay1kb3VibGUtY2xpY2stZGlzdGFuY2UiLCAmZG91YmxlQ2xp
Y2tEaXN0YW5jZSwKLSAgICAgICAgICAgICAgICAgImd0ay1kb3VibGUtY2xpY2stdGltZSIsICZk
b3VibGVDbGlja1RpbWUsIE5VTEwpOwotCi0gICAgLy8gR1RLKyBvbmx5IGNvdW50cyB1cCB0byB0
cmlwbGUgY2xpY2tzLCBidXQgV2ViQ29yZSB3YW50cyB0byBrbm93IGFib3V0Ci0gICAgLy8gcXVh
ZHJ1cGxlIGNsaWNrcywgcXVpbnR1cGxlIGNsaWNrcywgYWQgaW5maW5pdHVtLiBIZXJlLCB3ZSBy
ZXBsaWNhdGUgdGhlCi0gICAgLy8gR0RLIGxvZ2ljIGZvciBjb3VudGluZyBjbGlja3MuCi0gICAg
R2RrRXZlbnQqIGV2ZW50KHJlaW50ZXJwcmV0X2Nhc3Q8R2RrRXZlbnQqPihidXR0b25FdmVudCkp
OwotICAgIGd1aW50MzIgZXZlbnRUaW1lID0gZ2V0RXZlbnRUaW1lKGV2ZW50KTsKLSAgICBXZWJL
aXRXZWJWaWV3QmFzZSogd2Via2l0V2ViVmlld0Jhc2UgPSBXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3
aWRnZXQpOwotICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdlYmtpdFdlYlZp
ZXdCYXNlLT5wcml2OwotICAgIGlmICgoZXZlbnQtPnR5cGUgPT0gR0RLXzJCVVRUT05fUFJFU1Mg
fHwgZXZlbnQtPnR5cGUgPT0gR0RLXzNCVVRUT05fUFJFU1MpCi0gICAgICAgIHx8ICgoYWJzKGJ1
dHRvbkV2ZW50LT54IC0gcHJpdi0+cHJldmlvdXNDbGlja1BvaW50LngoKSkgPCBkb3VibGVDbGlj
a0Rpc3RhbmNlKQotICAgICAgICAgICAgJiYgKGFicyhidXR0b25FdmVudC0+eSAtIHByaXYtPnBy
ZXZpb3VzQ2xpY2tQb2ludC55KCkpIDwgZG91YmxlQ2xpY2tEaXN0YW5jZSkKLSAgICAgICAgICAg
ICYmIChldmVudFRpbWUgLSBwcml2LT5wcmV2aW91c0NsaWNrVGltZSA8IHN0YXRpY19jYXN0PGd1
aW50Pihkb3VibGVDbGlja1RpbWUpKQotICAgICAgICAgICAgJiYgKGJ1dHRvbkV2ZW50LT5idXR0
b24gPT0gcHJpdi0+cHJldmlvdXNDbGlja0J1dHRvbikpKQotICAgICAgICBwcml2LT5jdXJyZW50
Q2xpY2tDb3VudCsrOwotICAgIGVsc2UKLSAgICAgICAgcHJpdi0+Y3VycmVudENsaWNrQ291bnQg
PSAxOwotCi0gICAgcHJpdi0+cGFnZS0+aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2
ZW50KGV2ZW50LCBwcml2LT5jdXJyZW50Q2xpY2tDb3VudCkpOwotCi0gICAgZ2RvdWJsZSB4LCB5
OwotICAgIGdka19ldmVudF9nZXRfY29vcmRzKGV2ZW50LCAmeCwgJnkpOwotICAgIHByaXYtPnBy
ZXZpb3VzQ2xpY2tQb2ludCA9IEludFBvaW50KHgsIHkpOwotICAgIHByaXYtPnByZXZpb3VzQ2xp
Y2tCdXR0b24gPSBidXR0b25FdmVudC0+YnV0dG9uOwotICAgIHByaXYtPnByZXZpb3VzQ2xpY2tU
aW1lID0gZXZlbnRUaW1lOwotCisgICAgcHJpdi0+cGFnZS0+aGFuZGxlTW91c2VFdmVudChOYXRp
dmVXZWJNb3VzZUV2ZW50KHJlaW50ZXJwcmV0X2Nhc3Q8R2RrRXZlbnQqPihidXR0b25FdmVudCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBy
aXYtPmNsaWNrQ291bnRlci5jbGlja0NvdW50Rm9yR2RrQnV0dG9uRXZlbnQod2lkZ2V0LCBidXR0
b25FdmVudCkpKTsKICAgICByZXR1cm4gRkFMU0U7CiB9CiAKQEAgLTMzNiw3ICsyNzEsNiBAQCBz
dGF0aWMgZ2Jvb2xlYW4gd2ViVmlld01vdGlvbk5vdGlmeUV2ZW50KEd0a1dpZGdldCogd2lkZ2V0
LCBHZGtFdmVudE1vdGlvbiogZXZlbgogewogICAgIFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3
QmFzZSA9IFdFQktJVF9XRUJfVklFV19CQVNFKHdpZGdldCk7CiAgICAgV2ViS2l0V2ViVmlld0Jh
c2VQcml2YXRlKiBwcml2ID0gd2ViVmlld0Jhc2UtPnByaXY7Ci0KICAgICBwcml2LT5wYWdlLT5o
YW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQocmVpbnRlcnByZXRfY2FzdDxHZGtF
dmVudCo+KGV2ZW50KSwgMCAvKiBjdXJyZW50Q2xpY2tDb3VudCAqLykpOwogCiAgICAgcmV0dXJu
IEZBTFNFOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>