<?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>68125</bug_id>
          
          <creation_ts>2011-09-14 15:23:15 -0700</creation_ts>
          <short_desc>[WK2] mouseDidMoveOverElement needs to send more information about hovered element to UiProcess.</short_desc>
          <delta_ts>2011-09-16 17:15:19 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Igor Trindade Oliveira">igor.oliveira</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>sam</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>467400</commentid>
    <comment_count>0</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-09-14 15:23:15 -0700</bug_when>
    <thetext>mouseDidMoveOverElement needs to send more information about hovered element to UiProcess. Currently when a link is hovered, UiProcess can not know the link url.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467426</commentid>
    <comment_count>1</comment_count>
      <attachid>107411</attachid>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-09-14 15:42:17 -0700</bug_when>
    <thetext>Created attachment 107411
Patch v1

Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467662</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-09-14 23:38:41 -0700</bug_when>
    <thetext>Could you please provide a rationale in more practical terms? Why does UI process need to know the URL - is it for some functionality similar to status bar?

There is no stable WebKit2 API yet, so anything that didn&apos;t come with good rationale is likely to be simply deleted at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467680</commentid>
    <comment_count>3</comment_count>
      <attachid>107411</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-09-15 00:24:15 -0700</bug_when>
    <thetext>Comment on attachment 107411
Patch v1

Attachment 107411 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9657953</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467724</commentid>
    <comment_count>4</comment_count>
      <attachid>107411</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-15 02:59:58 -0700</bug_when>
    <thetext>Comment on attachment 107411
Patch v1

Attachment 107411 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/9686007</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467809</commentid>
    <comment_count>5</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-09-15 08:00:06 -0700</bug_when>
    <thetext>In Chrome and Firefox when the user move the mouse over a link in a page the link is showed. It improves the browser usability. Additionally, we from QtWebKit have plans to use this feature, so this code will not be a dead code.

(In reply to comment #2)
&gt; Could you please provide a rationale in more practical terms? Why does UI process need to know the URL - is it for some functionality similar to status bar?
&gt; 
&gt; There is no stable WebKit2 API yet, so anything that didn&apos;t come with good rationale is likely to be simply deleted at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467830</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-09-15 08:54:47 -0700</bug_when>
    <thetext>That looks pretty much like status bar in Safari, which already works in WebKit2, showing the URL. What is the difference between these?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467858</commentid>
    <comment_count>7</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-09-15 09:39:21 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; That looks pretty much like status bar in Safari, which already works in WebKit2, showing the URL. What is the difference between these?

The way this works in Safari is that we gather the information in the injected bundle and pass it over. I think this way is better because it eases the burden on the WebKit2 client apps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468681</commentid>
    <comment_count>8</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-09-16 11:52:23 -0700</bug_when>
    <thetext>manually committed r95303: http://trac.webkit.org/changeset/95303</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468709</commentid>
    <comment_count>9</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-09-16 12:29:26 -0700</bug_when>
    <thetext>I had to revert part of this because it changes the signature of the mouseDidMoveOverElement callback which breaks the ABI and thus WebKit nighties. I&apos;m working on a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468752</commentid>
    <comment_count>10</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-09-16 13:17:15 -0700</bug_when>
    <thetext>Fix landed in r95315: &lt;http://trac.webkit.org/changeset/95315&gt; and everything should be back to normal!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468915</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-09-16 17:15:19 -0700</bug_when>
    <thetext>This change started installing source and header files in to the WebKit2 framework.  Please be more careful when making Xcode project changes in the future!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107411</attachid>
            <date>2011-09-14 15:42:17 -0700</date>
            <delta_ts>2011-09-15 09:39:50 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>0001-WK2-WebProcess-needs-to-send-HitTestResult-informati.patch</filename>
            <type>text/plain</type>
            <size>19578</size>
            <attacher name="Igor Trindade Oliveira">igor.oliveira</attacher>
            
              <data encoding="base64">RnJvbSBjYzc3NmRiZTA4Mjk1ZjdhZThiNjY0ZDhiYjVmNjdiMGY3YTYzYjY4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBJZ29yIE9saXZlaXJhIDxpZ29yLm9saXZlaXJhQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFdlZCwgMTQgU2VwIDIwMTEgMTQ6NTA6NDQgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBbV0syXSBXZWJQcm9jZXNzIG5lZWRzIHRvIHNlbmQgSGl0VGVzdFJlc3VsdCBpbmZvcm1h
dGlvbiB0byBVaVByb2Nlc3MKCi0tLQogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDM5ICsrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS0Jhc2UuaCAgICAgICAgICAgICAgIHwgICAgMSArCiBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJT2JqZWN0LmggICAgICAgICAgICAgICAgICB8ICAgIDEgKwogU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHQuY3BwICAgICAgICAgfCAgIDU4ICsrKysrKysrKysr
KysrKwogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHQuaCAgICAgICAgICAg
fCAgIDc3ICsrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tBUElDYXN0LmggICAgICAgICB8ICAgIDIgKwogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5oICAgICAgICAgICAgfCAgICAyICstCiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcCAgICAgICAgICB8ICAgIDQgKy0KIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCAgICAgICAgICAgIHwgICAgNCArLQogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiAgfCAgICAyICstCiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwICAgICAgICAgICB8ICAgIDUgKy0K
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oICAgICAgICAgICAgIHwgICAg
MyArLQogU291cmNlL1dlYktpdDIvV2ViS2l0Mi5wcm8gICAgICAgICAgICAgICAgICAgICAgICAg
fCAgICAyICsKIC4uLi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAgIHwgICAgOSArKy0KIDE0IGZpbGVzIGNoYW5nZWQsIDIwMCBpbnNlcnRpb25zKCspLCA5IGRl
bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJI
aXRUZXN0UmVzdWx0LmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJIaXRUZXN0UmVzdWx0LmgKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTQ0OWYyMi4uMGNlY2JlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDExLTA5LTE0ICBJZ29yIE9saXZlaXJhICA8aWdv
ci5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFtXSzJdIG1vdXNlRGlkTW92ZU92
ZXJFbGVtZW50IG5lZWRzIHRvIHNlbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBob3ZlcmVkIGVs
ZW1lbnQgdG8gVWlQcm9jZXNzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjgxMjUKKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgc3VwcG9y
dCBmb3IgdGhlIFVpUHJvY2VzcyB0byBrbm93IHdoYXQgaXMgdGhlIGxpbmsgdXJsIG9mIGEgaG92
ZXJlZCBlbGVtZW50LiAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS0Jhc2UuaDoKKyAgICAgICAgKiBTaGFyZWQvQVBJT2Jq
ZWN0Lmg6CisgICAgICAgICogU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHQuY3BwOiBBZGRlZC4KKwor
ICAgICAgICBXZWJIaXRUZXN0UmVzdWx0IGhhcyBob3ZlcmVkIGVsZW1lbnQgaW5mb3JtYXRpb24u
CisKKyAgICAgICAgKFdlYktpdDo6V2ViSGl0VGVzdFJlc3VsdDo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViSGl0VGVzdFJlc3VsdDo6RGF0YTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViSGl0VGVzdFJlc3VsdDo6RGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2Vi
SGl0VGVzdFJlc3VsdC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSGl0VGVzdFJlc3Vs
dDo6YWJzb2x1dGVJbWFnZVVSTCk6CisgICAgICAgIChXZWJLaXQ6OldlYkhpdFRlc3RSZXN1bHQ6
OmFic29sdXRlTGlua1VSTCk6CisgICAgICAgIChXZWJLaXQ6OldlYkhpdFRlc3RSZXN1bHQ6OmFi
c29sdXRlTWVkaWFVUkwpOgorICAgICAgICAoV2ViS2l0OjpXZWJIaXRUZXN0UmVzdWx0OjpsaW5r
TGFiZWwpOgorICAgICAgICAoV2ViS2l0OjpXZWJIaXRUZXN0UmVzdWx0OjpsaW5rVGl0bGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJIaXRUZXN0UmVzdWx0OjpXZWJIaXRUZXN0UmVzdWx0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViSGl0VGVzdFJlc3VsdDo6dHlwZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLQVBJQ2FzdC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5Ojptb3VzZURpZE1vdmVPdmVyRWxlbWVudCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViVUlDbGllbnQ6Om1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViVUlDbGllbnQuaDoKKyAgICAgICAgKiBXZWJLaXQyLnBybzoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQp
OgorCiAyMDExLTA5LTEyICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S0Jhc2UuaAppbmRleCAxYmFhODcyLi5lODk1MDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLQmFzZS5oCkBAIC04NCw2ICs4NCw3IEBAIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdL
RnJhbWVQb2xpY3lMaXN0ZW5lciogV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmOwogdHlwZWRlZiBj
b25zdCBzdHJ1Y3QgT3BhcXVlV0tHZW9sb2NhdGlvbk1hbmFnZXIqIFdLR2VvbG9jYXRpb25NYW5h
Z2VyUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tHZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0KiBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWY7CiB0eXBlZGVmIGNv
bnN0IHN0cnVjdCBPcGFxdWVXS0dlb2xvY2F0aW9uUG9zaXRpb24qIFdLR2VvbG9jYXRpb25Qb3Np
dGlvblJlZjsKK3R5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLSGl0VGVzdFJlc3VsdCogV0tI
aXRUZXN0UmVzdWx0UmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tJY29uRGF0YWJh
c2UqIFdLSWNvbkRhdGFiYXNlUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tJbnNw
ZWN0b3IqIFdLSW5zcGVjdG9yUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tLZXlW
YWx1ZVN0b3JhZ2VNYW5hZ2VyKiBXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXJSZWY7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJT2JqZWN0LmgKaW5kZXggZTVhN2VlZC4uNzkxNmJmNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUElPYmplY3QuaApAQCAtNzUsNiArNzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIFR5cGVGdWxs
U2NyZWVuTWFuYWdlciwKICAgICAgICAgVHlwZUdlb2xvY2F0aW9uTWFuYWdlciwKICAgICAgICAg
VHlwZUdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QsCisgICAgICAgIFR5cGVIaXRUZXN0UmVz
dWx0LAogICAgICAgICBUeXBlR2VvbG9jYXRpb25Qb3NpdGlvbiwKICAgICAgICAgVHlwZUljb25E
YXRhYmFzZSwKICAgICAgICAgVHlwZUluc3BlY3RvciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJIaXRUZXN0UmVzdWx0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5m
MDRiODQ3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkhpdFRl
c3RSZXN1bHQuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJXZWJIaXRUZXN0UmVzdWx0LmgiCisKKyNpbmNsdWRlICJXZWJD
b3JlQXJndW1lbnRDb2RlcnMuaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvS1VSTC5oPgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK1Bhc3NSZWZQdHI8V2ViSGl0VGVzdFJlc3VsdD4gV2ViSGl0
VGVzdFJlc3VsdDo6Y3JlYXRlKGNvbnN0IFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEmIGhpdFRlc3RS
ZXN1bHREYXRhKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViSGl0VGVzdFJlc3VsdCho
aXRUZXN0UmVzdWx0RGF0YSkpOworfQorCit2b2lkIFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGE6OmVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5j
b2Rlci0+ZW5jb2RlKGFic29sdXRlSW1hZ2VVUkwpOworICAgIGVuY29kZXItPmVuY29kZShhYnNv
bHV0ZUxpbmtVUkwpOworICAgIGVuY29kZXItPmVuY29kZShhYnNvbHV0ZU1lZGlhVVJMKTsKKyAg
ICBlbmNvZGVyLT5lbmNvZGUobGlua0xhYmVsKTsKKyAgICBlbmNvZGVyLT5lbmNvZGUobGlua1Rp
dGxlKTsKK30KKworYm9vbCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhOjpkZWNvZGUoQ29yZUlQQzo6
QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhJiBoaXRUZXN0
UmVzdWx0RGF0YSkKK3sKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShoaXRUZXN0UmVzdWx0RGF0
YS5hYnNvbHV0ZUltYWdlVVJMKQorICAgICAgICB8fCAhZGVjb2Rlci0+ZGVjb2RlKGhpdFRlc3RS
ZXN1bHREYXRhLmFic29sdXRlTGlua1VSTCkKKyAgICAgICAgfHwgIWRlY29kZXItPmRlY29kZSho
aXRUZXN0UmVzdWx0RGF0YS5hYnNvbHV0ZU1lZGlhVVJMKQorICAgICAgICB8fCAhZGVjb2Rlci0+
ZGVjb2RlKGhpdFRlc3RSZXN1bHREYXRhLmxpbmtMYWJlbCkKKyAgICAgICAgfHwgIWRlY29kZXIt
PmRlY29kZShoaXRUZXN0UmVzdWx0RGF0YS5saW5rVGl0bGUpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0LmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViSGl0VGVzdFJlc3VsdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjA2Zjk3MzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
SGl0VGVzdFJlc3VsdC5oCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYg
V2ViSGl0VGVzdFJlc3VsdF9oCisjZGVmaW5lIFdlYkhpdFRlc3RSZXN1bHRfaAorCisjaW5jbHVk
ZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9IaXRUZXN0UmVzdWx0Lmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9LVVJMLmg+CisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIENvcmVJUEMgeworY2xhc3MgQXJndW1l
bnREZWNvZGVyOworY2xhc3MgQXJndW1lbnRFbmNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0
IHsKKworY2xhc3MgV2ViRnJhbWU7CisKK2NsYXNzIFdlYkhpdFRlc3RSZXN1bHQgOiBwdWJsaWMg
QVBJT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3QgVHlwZSBBUElUeXBlID0gVHlw
ZUhpdFRlc3RSZXN1bHQ7CisKKyAgICBzdHJ1Y3QgRGF0YSB7CisgICAgICAgIFN0cmluZyBhYnNv
bHV0ZUltYWdlVVJMOworICAgICAgICBTdHJpbmcgYWJzb2x1dGVMaW5rVVJMOworICAgICAgICBT
dHJpbmcgYWJzb2x1dGVNZWRpYVVSTDsKKyAgICAgICAgU3RyaW5nIGxpbmtMYWJlbDsKKyAgICAg
ICAgU3RyaW5nIGxpbmtUaXRsZTsKKworICAgICAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1
bWVudEVuY29kZXIqKSBjb25zdDsKKyAgICAgICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciosIFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEmKTsKKyAgICB9OworCisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViSGl0VGVzdFJlc3VsdD4gY3JlYXRlKGNvbnN0IFdlYkhp
dFRlc3RSZXN1bHQ6OkRhdGEmKTsKKworICAgIFN0cmluZyBhYnNvbHV0ZUltYWdlVVJMKCkgY29u
c3QgeyByZXR1cm4gbV9kYXRhLmFic29sdXRlSW1hZ2VVUkw7IH0KKyAgICBTdHJpbmcgYWJzb2x1
dGVMaW5rVVJMKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLmFic29sdXRlTGlua1VSTDsgfQorICAg
IFN0cmluZyBhYnNvbHV0ZU1lZGlhVVJMKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLmFic29sdXRl
TWVkaWFVUkw7IH0KKworICAgIFN0cmluZyBsaW5rTGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2Rh
dGEubGlua0xhYmVsOyB9CisgICAgU3RyaW5nIGxpbmtUaXRsZSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZGF0YS5saW5rVGl0bGU7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBXZWJIaXRUZXN0UmVz
dWx0KGNvbnN0IFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEmIGhpdFRlc3RSZXN1bHREYXRhKQorICAg
ICAgICA6IG1fZGF0YShoaXRUZXN0UmVzdWx0RGF0YSkKKyAgICB7CisgICAgfQorCisgICAgdmly
dHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBBUElUeXBlOyB9CisKKyAgICBEYXRhIG1f
ZGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViSGl0VGVz
dFJlc3VsdF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKaW5k
ZXggODFjMmY1Zi4uYzYzNGY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0FQSUNhc3QuaApAQCAtNjQsNiArNjQsNyBAQCBjbGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVy
UHJveHk7CiBjbGFzcyBXZWJGcmFtZVByb3h5OwogY2xhc3MgV2ViR2VvbG9jYXRpb25NYW5hZ2Vy
UHJveHk7CiBjbGFzcyBXZWJHZW9sb2NhdGlvblBvc2l0aW9uOworY2xhc3MgV2ViSGl0VGVzdFJl
c3VsdDsKIGNsYXNzIFdlYkljb25EYXRhYmFzZTsKIGNsYXNzIFdlYkluc3BlY3RvclByb3h5Owog
Y2xhc3MgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5OwpAQCAtOTQsNiArOTUsNyBAQCBX
S19BRERfQVBJX01BUFBJTkcoV0tGcmFtZVJlZiwgV2ViRnJhbWVQcm94eSkKIFdLX0FERF9BUElf
TUFQUElORyhXS0dlb2xvY2F0aW9uTWFuYWdlclJlZiwgV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJv
eHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UmVm
LCBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHkpCiBXS19BRERfQVBJX01BUFBJTkco
V0tHZW9sb2NhdGlvblBvc2l0aW9uUmVmLCBXZWJHZW9sb2NhdGlvblBvc2l0aW9uKQorV0tfQURE
X0FQSV9NQVBQSU5HKFdLSGl0VGVzdFJlc3VsdFJlZiwgV2ViSGl0VGVzdFJlc3VsdCkKIFdLX0FE
RF9BUElfTUFQUElORyhXS0ljb25EYXRhYmFzZVJlZiwgV2ViSWNvbkRhdGFiYXNlKQogV0tfQURE
X0FQSV9NQVBQSU5HKFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlclJlZiwgV2ViS2V5VmFsdWVTdG9y
YWdlTWFuYWdlclByb3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLTWVkaWFDYWNoZU1hbmFnZXJS
ZWYsIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlLmgKaW5kZXggYmZmYjk2YS4uNjdiZmI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2UuaApAQCAtMTY4LDcgKzE2OCw3IEBAIHR5cGVkZWYgdm9pZCAoKldL
UGFnZVRha2VGb2N1c0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tGb2N1c0RpcmVjdGlvbiBk
aXJlY3RpCiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VGb2N1c0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VVbmZvY3Vz
Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVk
ZWYgdm9pZCAoKldLUGFnZVNldFN0YXR1c1RleHRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdL
U3RyaW5nUmVmIHRleHQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgq
V0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdL
RXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQg
KmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1l
bnRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVz
dWx0LCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZU1pc3NpbmdQbHVnaW5C
dXR0b25DbGlja2VkQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtaW1lVHlw
ZSwgV0tTdHJpbmdSZWYgdXJsLCBXS1N0cmluZ1JlZiBwbHVnaW5zUGFnZVVSTCwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWROb3RIYW5kbGVLZXlFdmVu
dENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tOYXRpdmVFdmVudFB0ciBldmVudCwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWROb3RIYW5kbGVXaGVl
bEV2ZW50Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS05hdGl2ZUV2ZW50UHRyIGV2ZW50LCBj
b25zdCB2b2lkICpjbGllbnRJbmZvKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggZGU0OTFkOC4uMjkyODczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTE5OTEsNyArMTk5MSw3IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpzZXRTdGF0dXNUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCkKICAgICBtX3VpQ2xpZW50LnNl
dFN0YXR1c1RleHQodGhpcywgdGV4dCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojptb3VzZURp
ZE1vdmVPdmVyRWxlbWVudCh1aW50MzJfdCBvcGFxdWVNb2RpZmllcnMsIENvcmVJUEM6OkFyZ3Vt
ZW50RGVjb2RlciogYXJndW1lbnRzKQordm9pZCBXZWJQYWdlUHJveHk6Om1vdXNlRGlkTW92ZU92
ZXJFbGVtZW50KGNvbnN0IFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEmIGhpdFRlc3RSZXN1bHREYXRh
LCB1aW50MzJfdCBvcGFxdWVNb2RpZmllcnMsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJn
dW1lbnRzKQogewogICAgIFJlZlB0cjxBUElPYmplY3Q+IHVzZXJEYXRhOwogICAgIFdlYkNvbnRl
eHRVc2VyTWVzc2FnZURlY29kZXIgbWVzc2FnZURlY29kZXIodXNlckRhdGEsIG1fcHJvY2Vzcy0+
Y29udGV4dCgpKTsKQEAgLTIwMDAsNyArMjAwMCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojptb3Vz
ZURpZE1vdmVPdmVyRWxlbWVudCh1aW50MzJfdCBvcGFxdWVNb2RpZmllcnMsIENvcmVJUEM6OkFy
CiAKICAgICBXZWJFdmVudDo6TW9kaWZpZXJzIG1vZGlmaWVycyA9IHN0YXRpY19jYXN0PFdlYkV2
ZW50OjpNb2RpZmllcnM+KG9wYXF1ZU1vZGlmaWVycyk7CiAKLSAgICBtX3VpQ2xpZW50Lm1vdXNl
RGlkTW92ZU92ZXJFbGVtZW50KHRoaXMsIG1vZGlmaWVycywgdXNlckRhdGEuZ2V0KCkpOworICAg
IG1fdWlDbGllbnQubW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQodGhpcywgaGl0VGVzdFJlc3VsdERh
dGEsIG1vZGlmaWVycywgdXNlckRhdGEuZ2V0KCkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6
bWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWQoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgcGx1Z2luc1BhZ2VVUkwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggY2NkZTY0Ny4uZDVlOWU5YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1
ZGUgIldlYkZvcm1DbGllbnQuaCIKICNpbmNsdWRlICJXZWJGcmFtZVByb3h5LmgiCiAjaW5jbHVk
ZSAiV2ViSGlzdG9yeUNsaWVudC5oIgorI2luY2x1ZGUgIldlYkhpdFRlc3RSZXN1bHQuaCIKICNp
bmNsdWRlICJXZWJMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQYWdlQ29udGV4dE1lbnVD
bGllbnQuaCIKICNpbmNsdWRlICJXZWJQb2xpY3lDbGllbnQuaCIKQEAgLTUzLDYgKzU0LDcgQEAK
ICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRDbGllbnQuaCIKICNpbmNsdWRlICJXZWJVSUNsaWVu
dC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRHJhZ0FjdGlvbnMuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L0hpdFRlc3RSZXN1bHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Njcm9sbFR5cGVzLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9UZXh0Q2hlY2tpbmcuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpA
QCAtNjIzLDcgKzYyNSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBydW5KYXZhU2NyaXB0UHJvbXB0
KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFN0cmluZyYg
cmVzdWx0KTsKICAgICB2b2lkIHNob3VsZEludGVycnVwdEphdmFTY3JpcHQoYm9vbCYgcmVzdWx0
KTsKICAgICB2b2lkIHNldFN0YXR1c1RleHQoY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCBtb3Vz
ZURpZE1vdmVPdmVyRWxlbWVudCh1aW50MzJfdCBtb2RpZmllcnMsIENvcmVJUEM6OkFyZ3VtZW50
RGVjb2RlciopOworICAgIHZvaWQgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQoY29uc3QgV2ViSGl0
VGVzdFJlc3VsdDo6RGF0YSYgaGl0VGVzdFJlc3VsdERhdGEsIHVpbnQzMl90IG1vZGlmaWVycywg
Q29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAgICAgdm9pZCBtaXNzaW5nUGx1Z2luQnV0dG9u
Q2xpY2tlZChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3Qg
U3RyaW5nJiBwbHVnaW5zUGFnZVVSTCk7CiAgICAgdm9pZCBzZXRUb29sYmFyc0FyZVZpc2libGUo
Ym9vbCB0b29sYmFyc0FyZVZpc2libGUpOwogICAgIHZvaWQgZ2V0VG9vbGJhcnNBcmVWaXNpYmxl
KGJvb2wmIHRvb2xiYXJzQXJlVmlzaWJsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBiZDhmZjFiLi5jZDM5MjJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
QEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBSdW5KYXZh
U2NyaXB0Q29uZmlybSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtZXNzYWdlKSAtPiAo
Ym9vbCByZXN1bHQpCiAgICAgUnVuSmF2YVNjcmlwdFByb21wdCh1aW50NjRfdCBmcmFtZUlELCBX
VEY6OlN0cmluZyBtZXNzYWdlLCBXVEY6OlN0cmluZyBkZWZhdWx0VmFsdWUpIC0+IChXVEY6OlN0
cmluZyByZXN1bHQpCiAgICAgU2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgpIC0+IChib29sIHNo
b3VsZEludGVydXB0KQotICAgIE1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KHVpbnQzMl90IG1vZGlm
aWVycywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSk7
CisgICAgTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQoV2ViS2l0OjpXZWJIaXRUZXN0UmVzdWx0OjpE
YXRhIGhpdFRlc3RSZXN1bHREYXRhLCB1aW50MzJfdCBtb2RpZmllcnMsIFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpOwogICAgIE1pc3NpbmdQbHVnaW5C
dXR0b25DbGlja2VkKFdURjo6U3RyaW5nIG1pbWVUeXBlLCBXVEY6OlN0cmluZyB1cmwsIFdURjo6
U3RyaW5nIHBsdWdpbnNQYWdlVVJMKQogICAgIERpZENoYW5nZVZpZXdwb3J0RGF0YShXZWJDb3Jl
OjpWaWV3cG9ydEFyZ3VtZW50cyBhcmd1bWVudHMpCiAgICAgRGlkUmVjZWl2ZUV2ZW50KHVpbnQz
Ml90IHR5cGUsIGJvb2wgaGFuZGxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJVSUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGll
bnQuY3BwCmluZGV4IDMyNmUyZjAuLjBjYmIwNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlVJQ2xpZW50LmNwcApAQCAtMTU1LDEyICsxNTUsMTMgQEAgdm9pZCBXZWJVSUNsaWVudDo6
c2V0U3RhdHVzVGV4dChXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYgdGV4dCkKICAg
ICBtX2NsaWVudC5zZXRTdGF0dXNUZXh0KHRvQVBJKHBhZ2UpLCB0b0FQSSh0ZXh0LmltcGwoKSks
IG1fY2xpZW50LmNsaWVudEluZm8pOwogfQogCi12b2lkIFdlYlVJQ2xpZW50Ojptb3VzZURpZE1v
dmVPdmVyRWxlbWVudChXZWJQYWdlUHJveHkqIHBhZ2UsIFdlYkV2ZW50OjpNb2RpZmllcnMgbW9k
aWZpZXJzLCBBUElPYmplY3QqIHVzZXJEYXRhKQordm9pZCBXZWJVSUNsaWVudDo6bW91c2VEaWRN
b3ZlT3ZlckVsZW1lbnQoV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBXZWJIaXRUZXN0UmVzdWx0
OjpEYXRhJiBkYXRhLCBXZWJFdmVudDo6TW9kaWZpZXJzIG1vZGlmaWVycywgQVBJT2JqZWN0KiB1
c2VyRGF0YSkKIHsKICAgICBpZiAoIW1fY2xpZW50Lm1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2NsaWVudC5tb3VzZURpZE1vdmVPdmVyRWxlbWVudCh0
b0FQSShwYWdlKSwgdG9BUEkobW9kaWZpZXJzKSwgdG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5j
bGllbnRJbmZvKTsKKyAgICBSZWZQdHI8V2ViSGl0VGVzdFJlc3VsdD4gd2ViSGl0VGVzdFJlc3Vs
dCA9IFdlYkhpdFRlc3RSZXN1bHQ6OmNyZWF0ZShkYXRhKTsKKyAgICBtX2NsaWVudC5tb3VzZURp
ZE1vdmVPdmVyRWxlbWVudCh0b0FQSShwYWdlKSwgdG9BUEkod2ViSGl0VGVzdFJlc3VsdC5nZXQo
KSksIHRvQVBJKG1vZGlmaWVycyksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuY2xpZW50SW5m
byk7CiB9CiAKIHZvaWQgV2ViVUlDbGllbnQ6Om1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkKFdl
YlBhZ2VQcm94eSogcGFnZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IFN0cmluZyYgcGx1Z2luc1BhZ2VVUkwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJVSUNsaWVudC5oCmluZGV4IDQ3MGM2MWEuLjZkZjliMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJVSUNsaWVudC5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQVBJQ2xpZW50
LmgiCiAjaW5jbHVkZSAiV0tQYWdlLmgiCiAjaW5jbHVkZSAiV2ViRXZlbnQuaCIKKyNpbmNsdWRl
ICJXZWJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiV2ViT3BlblBhbmVsUGFyYW1ldGVycy5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
QEAgLTY3LDcgKzY4LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBydW5KYXZhU2NyaXB0UHJvbXB0
KFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFdlYkZyYW1lUHJv
eHkqKTsKIAogICAgIHZvaWQgc2V0U3RhdHVzVGV4dChXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJp
bmcmKTsKLSAgICB2b2lkIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KFdlYlBhZ2VQcm94eSosIFdl
YkV2ZW50OjpNb2RpZmllcnMsIEFQSU9iamVjdCopOworICAgIHZvaWQgbW91c2VEaWRNb3ZlT3Zl
ckVsZW1lbnQoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSYsIFdl
YkV2ZW50OjpNb2RpZmllcnMsIEFQSU9iamVjdCopOwogICAgIHZvaWQgbWlzc2luZ1BsdWdpbkJ1
dHRvbkNsaWNrZWQoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgcGx1Z2luc1BhZ2VVUkwpOwogICAgIAogICAgIGJv
b2wgaW1wbGVtZW50c0RpZE5vdEhhbmRsZUtleUV2ZW50KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJvCmlu
ZGV4IDJkMGU2ZGQuLjk2YjIxMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
cHJvCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJvCkBAIC0xNTMsNiArMTUzLDcgQEAg
SEVBREVSUyArPSBcCiAgICAgU2hhcmVkL1dlYkZpbmRPcHRpb25zLmggXAogICAgIFNoYXJlZC9X
ZWJHZW9sb2NhdGlvblBvc2l0aW9uLmggXAogICAgIFNoYXJlZC9XZWJHcmFwaGljc0NvbnRleHQu
aCBcCisgICAgU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHQuaCBcCiAgICAgU2hhcmVkL1dlYkltYWdl
LmggXAogICAgIFNoYXJlZC9XZWJOYXZpZ2F0aW9uRGF0YVN0b3JlLmggXAogICAgIFNoYXJlZC9X
ZWJOdW1iZXIuaCBcCkBAIC0zODMsNiArMzg0LDcgQEAgU09VUkNFUyArPSBcCiAgICAgU2hhcmVk
L1dlYkV2ZW50Q29udmVyc2lvbi5jcHAgXAogICAgIFNoYXJlZC9XZWJHZW9sb2NhdGlvblBvc2l0
aW9uLmNwcCBcCiAgICAgU2hhcmVkL1dlYkdyYXBoaWNzQ29udGV4dC5jcHAgXAorICAgIFNoYXJl
ZC9XZWJIaXRUZXN0UmVzdWx0LmNwcCBcCiAgICAgU2hhcmVkL1dlYktleWJvYXJkRXZlbnQuY3Bw
IFwKICAgICBTaGFyZWQvV2ViSW1hZ2UuY3BwIFwKICAgICBTaGFyZWQvV2ViTW91c2VFdmVudC5j
cHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDgwZDg5MjIuLmFiZjZmN2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQ5Niw4ICs0OTYsMTUgQEAgdm9pZCBXZWJDaHJvbWVD
bGllbnQ6Om1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGNvbnN0IEhpdFRlc3RSZXN1bHQmIGhpdFRl
c3RSZXN1bHQKICAgICAvLyBOb3RpZnkgdGhlIGJ1bmRsZSBjbGllbnQuCiAgICAgbV9wYWdlLT5p
bmplY3RlZEJ1bmRsZVVJQ2xpZW50KCkubW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQobV9wYWdlLCBo
aXRUZXN0UmVzdWx0LCBzdGF0aWNfY2FzdDxXZWJFdmVudDo6TW9kaWZpZXJzPihtb2RpZmllckZs
YWdzKSwgdXNlckRhdGEpOwogCisgICAgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSB3ZWJIaXRUZXN0
UmVzdWx0RGF0YTsKKyAgICB3ZWJIaXRUZXN0UmVzdWx0RGF0YS5hYnNvbHV0ZUltYWdlVVJMID0g
aGl0VGVzdFJlc3VsdC5hYnNvbHV0ZUltYWdlVVJMKCkuc3RyaW5nKCk7CisgICAgd2ViSGl0VGVz
dFJlc3VsdERhdGEuYWJzb2x1dGVMaW5rVVJMID0gaGl0VGVzdFJlc3VsdC5hYnNvbHV0ZUxpbmtV
UkwoKS5zdHJpbmcoKTsKKyAgICB3ZWJIaXRUZXN0UmVzdWx0RGF0YS5hYnNvbHV0ZU1lZGlhVVJM
ID0gaGl0VGVzdFJlc3VsdC5hYnNvbHV0ZU1lZGlhVVJMKCkuc3RyaW5nKCk7CisgICAgd2ViSGl0
VGVzdFJlc3VsdERhdGEubGlua0xhYmVsID0gaGl0VGVzdFJlc3VsdC50ZXh0Q29udGVudCgpOwor
ICAgIHdlYkhpdFRlc3RSZXN1bHREYXRhLmxpbmtUaXRsZSA9IGhpdFRlc3RSZXN1bHQudGl0bGVE
aXNwbGF5U3RyaW5nKCk7CisKICAgICAvLyBOb3RpZnkgdGhlIFVJUHJvY2Vzcy4KLSAgICBtX3Bh
Z2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQo
bW9kaWZpZXJGbGFncywgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNlckRhdGEu
Z2V0KCkpKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vdXNl
RGlkTW92ZU92ZXJFbGVtZW50KHdlYkhpdFRlc3RSZXN1bHREYXRhLCBtb2RpZmllckZsYWdzLCBJ
bmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsKIH0KIAog
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNldFRvb2xUaXAoY29uc3QgU3RyaW5nJiB0b29sVGlwLCBU
ZXh0RGlyZWN0aW9uKQotLSAKMS43LjQuMQoK
</data>
<flag name="review"
          id="104104"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="104105"
          type_id="3"
          status="-"
          setter="gustavo.noronha"
    />
          </attachment>
      

    </bug>

</bugzilla>