<?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>74364</bug_id>
          
          <creation_ts>2011-12-12 15:51:29 -0800</creation_ts>
          <short_desc>[Qt][WK2] Move undo &amp; edit command PageClient callbacks into QtWebUndoController</short_desc>
          <delta_ts>2011-12-13 02:25:07 -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>New Bugs</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>
          
          <blocked>72943</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>hausmann</cc>
    
    <cc>jesus</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>519616</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-12-12 15:51:29 -0800</bug_when>
    <thetext>[Qt][WK2] Move undo &amp; edit command PageClient callbacks into QtWebUndoController</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519619</commentid>
    <comment_count>1</comment_count>
      <attachid>118891</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-12-12 15:53:36 -0800</bug_when>
    <thetext>Created attachment 118891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519767</commentid>
    <comment_count>2</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2011-12-12 18:38:03 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=118891) [details]
&gt; Patch

LGTM. Couldn&apos;t it sit straight inside QtPageClient, though?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519923</commentid>
    <comment_count>3</comment_count>
      <attachid>118891</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-12-13 00:31:28 -0800</bug_when>
    <thetext>Comment on attachment 118891
Patch

r=me, but we should get rid of our usage of QUndoStack in the future. It lives in QtWidgets and provides us with relatively little functionality that we use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519972</commentid>
    <comment_count>4</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-12-13 02:25:07 -0800</bug_when>
    <thetext>Committed r102666: &lt;http://trac.webkit.org/changeset/102666&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118891</attachid>
            <date>2011-12-12 15:53:36 -0800</date>
            <delta_ts>2011-12-13 00:31:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74364-20111212205433.patch</filename>
            <type>text/plain</type>
            <size>20030</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzViOWQwM2U3Y2Q4YzRl
YjYyYzIzZDA2YmFkNDk0ZGUwZmNiMTIzMC4uYTIzMzA4YTU1ZTdlMTk1N2IyMTMxYzUwN2RiYzQ0
NDUwZmU4NTI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDExLTEyLTEyICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgW1F0XVtXSzJdIE1vdmUgdW5kbyAmIGVkaXQgY29tbWFuZCBQYWdlQ2xpZW50
IGNhbGxiYWNrcyBpbnRvIFF0V2ViVW5kb0NvbnRyb2xsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGZvdXIgY2FsbGJhY2tzIGluIFBhZ2VDbGll
bnQgcmVsYXRlZCB0byBVbmRvIGRlcGVuZCBvbmx5IG9uIHRoZSBRVW5kb1N0YWNrLiBTbyB3ZQor
ICAgICAgICBtb3ZlIHRoZWlyIGhhbmRsaW5nIHRvIGEgUXRXZWJVbmRvQ29udHJvbGxlciAob3du
ZWQgYnkgUVF1aWNrV2ViVmlld1ByaXZhdGUpLiBUaGlzIGFsc28KKyAgICAgICAgbWFrZSBRdFdl
YlVuZG9Db21tYW5kIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbC4KKworICAgICAgICAqIFRhcmdl
dC5wcmk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcDoKKyAg
ICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuY3BwOgorICAgICAgICAoUXRQYWdlQ2xpZW50OjpyZWdp
c3RlckVkaXRDb21tYW5kKToKKyAgICAgICAgKFF0UGFnZUNsaWVudDo6Y2xlYXJBbGxFZGl0Q29t
bWFuZHMpOgorICAgICAgICAoUXRQYWdlQ2xpZW50OjpjYW5VbmRvUmVkbyk6CisgICAgICAgIChR
dFBhZ2VDbGllbnQ6OmV4ZWN1dGVVbmRvUmVkbyk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0
UGFnZUNsaWVudC5oOgorICAgICAgICAoUXRQYWdlQ2xpZW50Ojppbml0aWFsaXplKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAqIFVJUHJvY2Vz
cy9xdC9RdFdlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFdlYlVuZG9D
b250cm9sbGVyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9R
dFdlYlVuZG9Db21tYW5kLmNwcC4KKyAgICAgICAgKFF0V2ViVW5kb0NvbW1hbmQ6OmluVW5kb1Jl
ZG8pOgorICAgICAgICAoUXRXZWJVbmRvQ29tbWFuZDo6UXRXZWJVbmRvQ29tbWFuZCk6CisgICAg
ICAgIChRdFdlYlVuZG9Db21tYW5kOjp+UXRXZWJVbmRvQ29tbWFuZCk6CisgICAgICAgIChRdFdl
YlVuZG9Db21tYW5kOjpyZWRvKToKKyAgICAgICAgKFF0V2ViVW5kb0NvbW1hbmQ6OnVuZG8pOgor
ICAgICAgICAoUXRXZWJVbmRvQ29udHJvbGxlcjo6UXRXZWJVbmRvQ29udHJvbGxlcik6CisgICAg
ICAgIChRdFdlYlVuZG9Db250cm9sbGVyOjpyZWdpc3RlckVkaXRDb21tYW5kKToKKyAgICAgICAg
KFF0V2ViVW5kb0NvbnRyb2xsZXI6OmNsZWFyQWxsRWRpdENvbW1hbmRzKToKKyAgICAgICAgKFF0
V2ViVW5kb0NvbnRyb2xsZXI6OmNhblVuZG9SZWRvKToKKyAgICAgICAgKFF0V2ViVW5kb0NvbnRy
b2xsZXI6OmV4ZWN1dGVVbmRvUmVkbyk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViVW5k
b0NvbnRyb2xsZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9R
dFdlYlVuZG9Db21tYW5kLmguCisKIDIwMTEtMTItMTIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgV2ViS2l0IGNvZGUgc2hvdWxkbid0IGJlIGNhbGxpbmcgYXBw
bHlDb21tYW5kIGRpcmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJp
IGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQppbmRleCA1ZTdjOTFjYzI1YmYxMGMxZjM3ZGI1
YThiZDczODY4MmJkNWI2MTZhLi5iNmVhYTJkZDZjNTFmODM0MTNmODIyMDI4Njc1OGNmMmIyZjRk
ZWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1RhcmdldC5wcmkKQEAgLTI2OSw3ICsyNjksNyBAQCBIRUFERVJTICs9IFwKICAgICBV
SVByb2Nlc3MvcXQvUXRTR1VwZGF0ZVF1ZXVlLmggXAogICAgIFVJUHJvY2Vzcy9xdC9RdFNHVGls
ZU5vZGUuaCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5o
IFwKLSAgICBVSVByb2Nlc3MvcXQvUXRXZWJVbmRvQ29tbWFuZC5oIFwKKyAgICBVSVByb2Nlc3Mv
cXQvUXRXZWJVbmRvQ29udHJvbGxlci5oIFwKICAgICBVSVByb2Nlc3MvcXQvV2ViQ29udGV4dE1l
bnVQcm94eVF0LmggXAogICAgIFVJUHJvY2Vzcy9xdC9XZWJHZW9sb2NhdGlvblByb3ZpZGVyUXQu
aCBcCiAgICAgVUlQcm9jZXNzL3F0L1dlYlBvcHVwTWVudVByb3h5UXQuaCBcCkBAIC01MTAsNyAr
NTEwLDcgQEAgU09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFBy
b3h5LmNwcCBcCiAgICAgVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIFwKICAgICBVSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIFwKLSAgICBVSVByb2Nlc3MvcXQvUXRXZWJV
bmRvQ29tbWFuZC5jcHAgXAorICAgIFVJUHJvY2Vzcy9xdC9RdFdlYlVuZG9Db250cm9sbGVyLmNw
cCBcCiAgICAgVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwIFwKICAgICBVSVByb2Nlc3MvR2Vv
bG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgXAogICAgIFVJUHJvY2Vz
cy9HZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDExZGM4OWRi
ZDY1MmE5ZmQ2MjUyMDYwMjcyOWIxZWJiZDRmNWVkZTkuLjU5YjE2MzdjZmE3YjFlMDI0NjkxNWVk
NjYyNDIwNmI1NGEzYTliOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAtNjksOCArNjksNyBAQCBRUXVpY2tXZWJWaWV3UHJp
dmF0ZTo6UVF1aWNrV2ViVmlld1ByaXZhdGUoUVF1aWNrV2ViVmlldyogdmlld3BvcnQsIFdLQ29u
dGV4dFJlZgogICAgIHNldFVzZVRyYWRpdGlvbmFsRGVza3RvcEJlaGF2aW91cihmYWxzZSk7CiAg
ICAgUVdlYlByZWZlcmVuY2VzUHJpdmF0ZTo6Z2V0KHBhZ2VQcm94eS0+cHJlZmVyZW5jZXMoKSkt
PnNldEF0dHJpYnV0ZShRV2ViUHJlZmVyZW5jZXNQcml2YXRlOjpBY2NlbGVyYXRlZENvbXBvc2l0
aW5nRW5hYmxlZCwgdHJ1ZSk7CiAKLSAgICBwYWdlQ2xpZW50LT5zZXRFdmVudEhhbmRsZXIoZXZl
bnRIYW5kbGVyLmRhdGEoKSk7Ci0gICAgcGFnZUNsaWVudC0+c2V0UGFnZVByb3h5KHBhZ2VQcm94
eS5kYXRhKCkpOworICAgIHBhZ2VDbGllbnQtPmluaXRpYWxpemUocGFnZVByb3h5LmRhdGEoKSwg
ZXZlbnRIYW5kbGVyLmRhdGEoKSwgJnVuZG9Db250cm9sbGVyKTsKIAogICAgIC8vIENyZWF0ZXMg
YSBwYWdlIHdpdGggdGhlIHBhZ2UgY3JlYXRpb24gcGFyYW1ldGVycy4KICAgICBwYWdlUHJveHkt
PmluaXQoZXZlbnRIYW5kbGVyLmRhdGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKaW5kZXggYjcwZWJhYTE0MGViODMxMDhk
YjMxOTlkNmFmOTIzOGE4NjIzYmJhYS4uODI3YzA1YjJmMDhhZWJmOWJlZjRiN2ZjNDhmNWI4Njgx
ZTA3MWMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1
aWNrd2Vidmlld19wX3AuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIlF0V2ViUGFnZVBv
bGljeUNsaWVudC5oIgogI2luY2x1ZGUgIlF0V2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAiUXRX
ZWJQYWdlVUlDbGllbnQuaCIKKyNpbmNsdWRlICJRdFdlYlVuZG9Db250cm9sbGVyLmgiCiAKICNp
bmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3AuaCIKICNpbmNsdWRlICJxcXVpY2t3ZWJwYWdlX3AuaCIK
QEAgLTExNiw2ICsxMTcsOCBAQCBwcml2YXRlOgogICAgICAgICBRUG9pbnQgcG9zaXRpb247CiAg
ICAgfTsKIAorICAgIFF0V2ViVW5kb0NvbnRyb2xsZXIgdW5kb0NvbnRyb2xsZXI7CisKICAgICBR
U2NvcGVkUG9pbnRlcjxRdFBhZ2VDbGllbnQ+IHBhZ2VDbGllbnQ7CiAgICAgUVNjb3BlZFBvaW50
ZXI8UXRXZWJQYWdlRXZlbnRIYW5kbGVyPiBldmVudEhhbmRsZXI7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAKaW5kZXggZTdiYTg5MDJjNDcxOTkxYjlh
ZjI1NDI3MmViMGE4Yzc0YzQxNjIwNC4uMWJiMmQ5NmJjODFmZmMxNjRlZWUyNDE1YmE3MTAyYTM5
Mzk1ZGJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNs
aWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5j
cHAKQEAgLTIzLDcgKzIzLDcgQEAKIAogI2luY2x1ZGUgIlF0V2ViUGFnZUV2ZW50SGFuZGxlci5o
IgogI2luY2x1ZGUgIlF0V2ViUGFnZVByb3h5LmgiCi0jaW5jbHVkZSAiUXRXZWJVbmRvQ29tbWFu
ZC5oIgorI2luY2x1ZGUgIlF0V2ViVW5kb0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXZWJDb250
ZXh0TWVudVByb3h5UXQuaCIKICNpbmNsdWRlICJXZWJFZGl0Q29tbWFuZFByb3h5LmgiCiAjaW5j
bHVkZSA8UUd1aUFwcGxpY2F0aW9uPgpAQCAtMTA4LDIyICsxMDgsMjIgQEAgdm9pZCBRdFBhZ2VD
bGllbnQ6OnRvb2xUaXBDaGFuZ2VkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgbmV3VG9v
bHRpcCkKIAogdm9pZCBRdFBhZ2VDbGllbnQ6OnJlZ2lzdGVyRWRpdENvbW1hbmQoUGFzc1JlZlB0
cjxXZWJFZGl0Q29tbWFuZFByb3h5PiBjb21tYW5kLCBXZWJQYWdlUHJveHk6OlVuZG9PclJlZG8g
dW5kb09yUmVkbykKIHsKLSAgICBtX3F0V2ViUGFnZVByb3h5LT5yZWdpc3RlckVkaXRDb21tYW5k
KGNvbW1hbmQsIHVuZG9PclJlZG8pOworICAgIG1fdW5kb0NvbnRyb2xsZXItPnJlZ2lzdGVyRWRp
dENvbW1hbmQoY29tbWFuZCwgdW5kb09yUmVkbyk7CiB9CiAKIHZvaWQgUXRQYWdlQ2xpZW50Ojpj
bGVhckFsbEVkaXRDb21tYW5kcygpCiB7Ci0gICAgbV9xdFdlYlBhZ2VQcm94eS0+Y2xlYXJBbGxF
ZGl0Q29tbWFuZHMoKTsKKyAgICBtX3VuZG9Db250cm9sbGVyLT5jbGVhckFsbEVkaXRDb21tYW5k
cygpOwogfQogCiBib29sIFF0UGFnZUNsaWVudDo6Y2FuVW5kb1JlZG8oV2ViUGFnZVByb3h5OjpV
bmRvT3JSZWRvIHVuZG9PclJlZG8pCiB7Ci0gICAgcmV0dXJuIG1fcXRXZWJQYWdlUHJveHktPmNh
blVuZG9SZWRvKHVuZG9PclJlZG8pOworICAgIHJldHVybiBtX3VuZG9Db250cm9sbGVyLT5jYW5V
bmRvUmVkbyh1bmRvT3JSZWRvKTsKIH0KIAogdm9pZCBRdFBhZ2VDbGllbnQ6OmV4ZWN1dGVVbmRv
UmVkbyhXZWJQYWdlUHJveHk6OlVuZG9PclJlZG8gdW5kb09yUmVkbykKIHsKLSAgICBtX3F0V2Vi
UGFnZVByb3h5LT5leGVjdXRlVW5kb1JlZG8odW5kb09yUmVkbyk7CisgICAgbV91bmRvQ29udHJv
bGxlci0+ZXhlY3V0ZVVuZG9SZWRvKHVuZG9PclJlZG8pOwogfQogCiBGbG9hdFJlY3QgUXRQYWdl
Q2xpZW50Ojpjb252ZXJ0VG9EZXZpY2VTcGFjZShjb25zdCBGbG9hdFJlY3QmIHJlY3QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmgKaW5kZXggMDg1OWVmZTJkYjM3
YWIzNzNlOTlkNmI3NTU4M2MwZGI1MmQzOTg2OS4uNmJhYzBjMjRlYTMwNTBjMTkzM2Q5MWJhZmUz
Njc3MWQ2NTA1M2Y4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0
UGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGll
bnQuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAK
IGNsYXNzIFF0V2ViUGFnZUV2ZW50SGFuZGxlcjsKK2NsYXNzIFF0V2ViVW5kb0NvbnRyb2xsZXI7
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKQEAgLTU5LDEwICs2MCwxMyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpOwogICAg
IHZpcnR1YWwgdm9pZCB0b29sVGlwQ2hhbmdlZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcm
KTsKKworICAgIC8vIFF0V2ViVW5kb0NvbnRyb2xsZXIKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0
ZXJFZGl0Q29tbWFuZChQYXNzUmVmUHRyPFdlYkVkaXRDb21tYW5kUHJveHk+LCBXZWJQYWdlUHJv
eHk6OlVuZG9PclJlZG8pOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhckFsbEVkaXRDb21tYW5kcygp
OwogICAgIHZpcnR1YWwgYm9vbCBjYW5VbmRvUmVkbyhXZWJQYWdlUHJveHk6OlVuZG9PclJlZG8p
OwogICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlVW5kb1JlZG8oV2ViUGFnZVByb3h5OjpVbmRvT3JS
ZWRvKTsKKwogICAgIHZpcnR1YWwgV2ViQ29yZTo6RmxvYXRSZWN0IGNvbnZlcnRUb0RldmljZVNw
YWNlKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Rmxv
YXRSZWN0IGNvbnZlcnRUb1VzZXJTcGFjZShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKICAg
ICB2aXJ0dWFsIFdlYkNvcmU6OkludFBvaW50IHNjcmVlblRvV2luZG93KGNvbnN0IFdlYkNvcmU6
OkludFBvaW50Jik7CkBAIC04OCwxMiArOTIsMTcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBkb25lV2l0aFRvdWNoRXZlbnQoY29uc3QgTmF0aXZlV2ViVG91Y2hFdmVudCYsIGJvb2wgd2Fz
RXZlbnRIYW5kbGVkKTsKICNlbmRpZgogCi0gICAgdm9pZCBzZXRFdmVudEhhbmRsZXIoUXRXZWJQ
YWdlRXZlbnRIYW5kbGVyKiBldmVudEhhbmRsZXIpIHsgbV9ldmVudEhhbmRsZXIgPSBldmVudEhh
bmRsZXI7IH0KLSAgICB2b2lkIHNldFBhZ2VQcm94eShRdFdlYlBhZ2VQcm94eSogcGFnZVByb3h5
KSB7IG1fcXRXZWJQYWdlUHJveHkgPSBwYWdlUHJveHk7IH0KKyAgICB2b2lkIGluaXRpYWxpemUo
UXRXZWJQYWdlUHJveHkqIHBhZ2VQcm94eSwgUXRXZWJQYWdlRXZlbnRIYW5kbGVyKiBldmVudEhh
bmRsZXIsIFF0V2ViVW5kb0NvbnRyb2xsZXIqIHVuZG9Db250cm9sbGVyKQorICAgIHsKKyAgICAg
ICAgbV9ldmVudEhhbmRsZXIgPSBldmVudEhhbmRsZXI7CisgICAgICAgIG1fcXRXZWJQYWdlUHJv
eHkgPSBwYWdlUHJveHk7CisgICAgICAgIG1fdW5kb0NvbnRyb2xsZXIgPSB1bmRvQ29udHJvbGxl
cjsKKyAgICB9CiAKIHByaXZhdGU6CiAgICAgUXRXZWJQYWdlUHJveHkqIG1fcXRXZWJQYWdlUHJv
eHk7CiAgICAgUXRXZWJQYWdlRXZlbnRIYW5kbGVyKiBtX2V2ZW50SGFuZGxlcjsKKyAgICBRdFdl
YlVuZG9Db250cm9sbGVyKiBtX3VuZG9Db250cm9sbGVyOwogfTsKIAogI2VuZGlmIC8qIFF0UGFn
ZUNsaWVudF9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBy
b3h5LmNwcAppbmRleCAwODZlM2IyNDdmOGNhOWIzN2IyMTgxM2ZiNjg0NzNjMTY1ODJmYzk3Li40
ZmM1NmQ0NDVmM2JkMGI1NWQyMjRhNzgzYzc2MmU4NTA3N2I4YmJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAKQEAgLTM5LDcgKzM5LDYgQEAK
ICNpbmNsdWRlICJRdERvd25sb2FkTWFuYWdlci5oIgogI2luY2x1ZGUgIlF0UGFnZUNsaWVudC5o
IgogI2luY2x1ZGUgIlF0V2ViUGFnZUV2ZW50SGFuZGxlci5oIgotI2luY2x1ZGUgIlF0V2ViVW5k
b0NvbW1hbmQuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJX
ZWJDb250ZXh0TWVudVByb3h5UXQuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eVF0Lmgi
CkBAIC0xNDIsMzYgKzE0MSw2IEBAIHZvaWQgUXRXZWJQYWdlUHJveHk6OmRpZENoYW5nZVZpZXdw
b3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50CiAgICAgbV9xbWxX
ZWJWaWV3LT5kX2Z1bmMoKS0+ZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGFyZ3MpOwogfQog
Ci12b2lkIFF0V2ViUGFnZVByb3h5OjpyZWdpc3RlckVkaXRDb21tYW5kKFBhc3NSZWZQdHI8V2Vi
RWRpdENvbW1hbmRQcm94eT4gY29tbWFuZCwgV2ViUGFnZVByb3h5OjpVbmRvT3JSZWRvIHVuZG9P
clJlZG8pCi17Ci0gICAgaWYgKHVuZG9PclJlZG8gPT0gV2ViUGFnZVByb3h5OjpVbmRvKSB7Ci0g
ICAgICAgIGNvbnN0IFF0V2ViVW5kb0NvbW1hbmQqIHdlYlVuZG9Db21tYW5kID0gc3RhdGljX2Nh
c3Q8Y29uc3QgUXRXZWJVbmRvQ29tbWFuZCo+KG1fdW5kb1N0YWNrLT5jb21tYW5kKG1fdW5kb1N0
YWNrLT5pbmRleCgpKSk7Ci0gICAgICAgIGlmICh3ZWJVbmRvQ29tbWFuZCAmJiB3ZWJVbmRvQ29t
bWFuZC0+aW5VbmRvUmVkbygpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX3VuZG9T
dGFjay0+cHVzaChuZXcgUXRXZWJVbmRvQ29tbWFuZChjb21tYW5kKSk7Ci0gICAgfQotfQotCi12
b2lkIFF0V2ViUGFnZVByb3h5OjpjbGVhckFsbEVkaXRDb21tYW5kcygpCi17Ci0gICAgbV91bmRv
U3RhY2stPmNsZWFyKCk7Ci19Ci0KLWJvb2wgUXRXZWJQYWdlUHJveHk6OmNhblVuZG9SZWRvKFdl
YlBhZ2VQcm94eTo6VW5kb09yUmVkbyB1bmRvT3JSZWRvKQotewotICAgIGlmICh1bmRvT3JSZWRv
ID09IFdlYlBhZ2VQcm94eTo6VW5kbykKLSAgICAgICAgcmV0dXJuIG1fdW5kb1N0YWNrLT5jYW5V
bmRvKCk7Ci0gICAgcmV0dXJuIG1fdW5kb1N0YWNrLT5jYW5SZWRvKCk7Ci19Ci0KLXZvaWQgUXRX
ZWJQYWdlUHJveHk6OmV4ZWN1dGVVbmRvUmVkbyhXZWJQYWdlUHJveHk6OlVuZG9PclJlZG8gdW5k
b09yUmVkbykKLXsKLSAgICBpZiAodW5kb09yUmVkbyA9PSBXZWJQYWdlUHJveHk6OlVuZG8pCi0g
ICAgICAgIG1fdW5kb1N0YWNrLT51bmRvKCk7Ci0gICAgZWxzZQotICAgICAgICBtX3VuZG9TdGFj
ay0+cmVkbygpOwotfQotCiBQYXNzUmVmUHRyPFdlYlBvcHVwTWVudVByb3h5PiBRdFdlYlBhZ2VQ
cm94eTo6Y3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5KikKIHsKICAgICByZXR1cm4g
V2ViUG9wdXBNZW51UHJveHlRdDo6Y3JlYXRlKG1fd2ViUGFnZVByb3h5LmdldCgpLCBtX3FtbFdl
YlZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFn
ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaApp
bmRleCA5YTcxMmQxMjUwNTMyMmQ0ZGVhMDA2Mjg0YTQwMmYzNzM1NGNhOGU2Li41ZjcwNjJlMzhl
YTUxYzkzNDllYjIzZjMzZjgxNjczYzIxZjk4YmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaApAQCAtNjksMTEgKzY5LDYgQEAgcHVibGljOgogICAg
IHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKICAg
ICB2b2lkIGRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9y
dEFyZ3VtZW50cyYpOwogCi0gICAgdm9pZCByZWdpc3RlckVkaXRDb21tYW5kKFBhc3NSZWZQdHI8
V2ViS2l0OjpXZWJFZGl0Q29tbWFuZFByb3h5PiwgV2ViS2l0OjpXZWJQYWdlUHJveHk6OlVuZG9P
clJlZG8pOwotICAgIHZvaWQgY2xlYXJBbGxFZGl0Q29tbWFuZHMoKTsKLSAgICBib29sIGNhblVu
ZG9SZWRvKFdlYlBhZ2VQcm94eTo6VW5kb09yUmVkbyk7Ci0gICAgdm9pZCBleGVjdXRlVW5kb1Jl
ZG8oV2ViUGFnZVByb3h5OjpVbmRvT3JSZWRvKTsKLQogICAgIFBhc3NSZWZQdHI8V2ViS2l0OjpX
ZWJQb3B1cE1lbnVQcm94eT4gY3JlYXRlUG9wdXBNZW51UHJveHkoV2ViS2l0OjpXZWJQYWdlUHJv
eHkqKTsKIAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tTmF2aWdhdG9yUXRPYmplY3Qo
Y29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
UXRXZWJVbmRvQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJV
bmRvQ29tbWFuZC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2ZDBlYmM2ZjU4
MjNiZjcxM2Q5NWQyMDVhZTdiNWU3OTFmNTA0ZjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViVW5k
b0NvbW1hbmQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotLyoKLSAgICBDb3B5
cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1p
ZXMpCi0gICAgQ29weXJpZ2h0IChDKSAyMDA3IFN0YWlrb3MgQ29tcHV0aW5nIFNlcnZpY2VzIElu
Yy4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
Ci0qLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUXRXZWJVbmRvQ29tbWFuZC5o
IgotCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCi1RdFdlYlVuZG9Db21tYW5kOjpRdFdlYlVu
ZG9Db21tYW5kKFBhc3NSZWZQdHI8V2ViRWRpdENvbW1hbmRQcm94eT4gY29tbWFuZCwgUVVuZG9D
b21tYW5kKiBwYXJlbnQpCi0gICAgOiBRVW5kb0NvbW1hbmQocGFyZW50KQotICAgICwgbV9jb21t
YW5kKGNvbW1hbmQpCi0gICAgLCBtX2ZpcnN0KHRydWUpCi0gICAgLCBtX2luVW5kb1JlZG8oZmFs
c2UpCi17Ci19Ci0KLVF0V2ViVW5kb0NvbW1hbmQ6On5RdFdlYlVuZG9Db21tYW5kKCkKLXsKLX0K
LQotdm9pZCBRdFdlYlVuZG9Db21tYW5kOjpyZWRvKCkKLXsKLSAgICBtX2luVW5kb1JlZG8gPSB0
cnVlOwotCi0gICAgLy8gSWdub3JlIHRoZSBmaXJzdCByZWRvIGNhbGxlZCBmcm9tIFFVbmRvU3Rh
Y2s6OnB1c2goKS4KLSAgICBpZiAobV9maXJzdCkgewotICAgICAgICBtX2ZpcnN0ID0gZmFsc2U7
Ci0gICAgICAgIG1faW5VbmRvUmVkbyA9IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
ICAgIGlmIChtX2NvbW1hbmQpCi0gICAgICAgIG1fY29tbWFuZC0+cmVhcHBseSgpOwotCi0gICAg
bV9pblVuZG9SZWRvID0gZmFsc2U7Ci19Ci0KLXZvaWQgUXRXZWJVbmRvQ29tbWFuZDo6dW5kbygp
Ci17Ci0gICAgbV9pblVuZG9SZWRvID0gdHJ1ZTsKLQotICAgIGlmIChtX2NvbW1hbmQpCi0gICAg
ICAgIG1fY29tbWFuZC0+dW5hcHBseSgpOwotCi0gICAgbV9pblVuZG9SZWRvID0gZmFsc2U7Ci19
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJVbmRvQ29tbWFu
ZC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViVW5kb0NvbW1hbmQuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMwMGI0MDdiZDYyYzU3ZWUyZjUwYmM3MTE0ODBm
ZjQwZDc3MjAwZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJVbmRvQ29tbWFuZC5oCisrKyAvZGV2
L251bGwKQEAgLTEsNDUgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTEgTm9raWEg
Q29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0gICAgQ29weXJpZ2h0IChD
KSAyMDA3IFN0YWlrb3MgQ29tcHV0aW5nIFNlcnZpY2VzIEluYy4KLQotICAgIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIFF0V2Vi
VW5kb0NvbW1hbmRfaAotI2RlZmluZSBRdFdlYlVuZG9Db21tYW5kX2gKLQotI2luY2x1ZGUgIldl
YkVkaXRDb21tYW5kUHJveHkuaCIKLSNpbmNsdWRlIDxRVW5kb0NvbW1hbmQ+Ci0jaW5jbHVkZSA8
cWdsb2JhbC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLQotY2xhc3MgUXRXZWJVbmRvQ29t
bWFuZCA6IHB1YmxpYyBRVW5kb0NvbW1hbmQgewotcHVibGljOgotICAgIFF0V2ViVW5kb0NvbW1h
bmQoUGFzc1JlZlB0cjxXZWJLaXQ6OldlYkVkaXRDb21tYW5kUHJveHk+LCBRVW5kb0NvbW1hbmQq
IHBhcmVudCA9IDApOwotICAgIH5RdFdlYlVuZG9Db21tYW5kKCk7Ci0KLSAgICB2b2lkIHJlZG8o
KTsKLSAgICB2b2lkIHVuZG8oKTsKLQotICAgIGJvb2wgaW5VbmRvUmVkbygpIGNvbnN0IHsgcmV0
dXJuIG1faW5VbmRvUmVkbzsgfTsKLQotcHJpdmF0ZToKLSAgICBSZWZQdHI8V2ViS2l0OjpXZWJF
ZGl0Q29tbWFuZFByb3h5PiBtX2NvbW1hbmQ7Ci0gICAgYm9vbCBtX2ZpcnN0OwotICAgIGJvb2wg
bV9pblVuZG9SZWRvOwotfTsKLQotI2VuZGlmIC8vIFF0V2ViVW5kb0NvbW1hbmRfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViVW5kb0NvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViVW5kb0NvbnRyb2xsZXIuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVkNjcxOTk2M2YxZjdiYTU3ZDBjNDQ5NGU0Mzc2MzczOGI3YTVlMDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJVbmRvQ29udHJv
bGxlci5jcHAKQEAgLTAsMCArMSwxMTYgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDExIE5v
a2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICAgIENvcHlyaWdo
dCAoQykgMjAwNyBTdGFpa29zIENvbXB1dGluZyBTZXJ2aWNlcyBJbmMuCisKKyAgICBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
ICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAg
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlF0V2ViVW5kb0NvbnRyb2xsZXIuaCIKKworI2luY2x1ZGUg
IldlYkVkaXRDb21tYW5kUHJveHkuaCIKKyNpbmNsdWRlIDxxZ2xvYmFsLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitjbGFzcyBRdFdlYlVu
ZG9Db21tYW5kIDogcHVibGljIFFVbmRvQ29tbWFuZCB7CitwdWJsaWM6CisgICAgUXRXZWJVbmRv
Q29tbWFuZChQYXNzUmVmUHRyPFdlYkVkaXRDb21tYW5kUHJveHk+LCBRVW5kb0NvbW1hbmQqIHBh
cmVudCA9IDApOworICAgIH5RdFdlYlVuZG9Db21tYW5kKCk7CisKKyAgICB2b2lkIHJlZG8oKTsK
KyAgICB2b2lkIHVuZG8oKTsKKworICAgIGJvb2wgaW5VbmRvUmVkbygpIGNvbnN0IHsgcmV0dXJu
IG1faW5VbmRvUmVkbzsgfTsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8V2ViRWRpdENvbW1hbmRQ
cm94eT4gbV9jb21tYW5kOworICAgIGJvb2wgbV9maXJzdDsKKyAgICBib29sIG1faW5VbmRvUmVk
bzsKK307CisKK1F0V2ViVW5kb0NvbW1hbmQ6OlF0V2ViVW5kb0NvbW1hbmQoUGFzc1JlZlB0cjxX
ZWJFZGl0Q29tbWFuZFByb3h5PiBjb21tYW5kLCBRVW5kb0NvbW1hbmQqIHBhcmVudCkKKyAgICA6
IFFVbmRvQ29tbWFuZChwYXJlbnQpCisgICAgLCBtX2NvbW1hbmQoY29tbWFuZCkKKyAgICAsIG1f
Zmlyc3QodHJ1ZSkKKyAgICAsIG1faW5VbmRvUmVkbyhmYWxzZSkKK3sKK30KKworUXRXZWJVbmRv
Q29tbWFuZDo6flF0V2ViVW5kb0NvbW1hbmQoKQoreworfQorCit2b2lkIFF0V2ViVW5kb0NvbW1h
bmQ6OnJlZG8oKQoreworICAgIG1faW5VbmRvUmVkbyA9IHRydWU7CisKKyAgICAvLyBJZ25vcmUg
dGhlIGZpcnN0IHJlZG8gY2FsbGVkIGZyb20gUVVuZG9TdGFjazo6cHVzaCgpLgorICAgIGlmICht
X2ZpcnN0KSB7CisgICAgICAgIG1fZmlyc3QgPSBmYWxzZTsKKyAgICAgICAgbV9pblVuZG9SZWRv
ID0gZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKG1fY29tbWFuZCkKKyAg
ICAgICAgbV9jb21tYW5kLT5yZWFwcGx5KCk7CisKKyAgICBtX2luVW5kb1JlZG8gPSBmYWxzZTsK
K30KKwordm9pZCBRdFdlYlVuZG9Db21tYW5kOjp1bmRvKCkKK3sKKyAgICBtX2luVW5kb1JlZG8g
PSB0cnVlOworCisgICAgaWYgKG1fY29tbWFuZCkKKyAgICAgICAgbV9jb21tYW5kLT51bmFwcGx5
KCk7CisKKyAgICBtX2luVW5kb1JlZG8gPSBmYWxzZTsKK30KKworUXRXZWJVbmRvQ29udHJvbGxl
cjo6UXRXZWJVbmRvQ29udHJvbGxlcigpCit7Cit9CisKK3ZvaWQgUXRXZWJVbmRvQ29udHJvbGxl
cjo6cmVnaXN0ZXJFZGl0Q29tbWFuZChQYXNzUmVmUHRyPFdlYkVkaXRDb21tYW5kUHJveHk+IGNv
bW1hbmQsIFdlYlBhZ2VQcm94eTo6VW5kb09yUmVkbyB1bmRvT3JSZWRvKQoreworICAgIGlmICh1
bmRvT3JSZWRvID09IFdlYlBhZ2VQcm94eTo6VW5kbykgeworICAgICAgICBjb25zdCBRdFdlYlVu
ZG9Db21tYW5kKiB3ZWJVbmRvQ29tbWFuZCA9IHN0YXRpY19jYXN0PGNvbnN0IFF0V2ViVW5kb0Nv
bW1hbmQqPihtX3VuZG9TdGFjay5jb21tYW5kKG1fdW5kb1N0YWNrLmluZGV4KCkpKTsKKyAgICAg
ICAgaWYgKHdlYlVuZG9Db21tYW5kICYmIHdlYlVuZG9Db21tYW5kLT5pblVuZG9SZWRvKCkpCisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIG1fdW5kb1N0YWNrLnB1c2gobmV3IFF0V2ViVW5k
b0NvbW1hbmQoY29tbWFuZCkpOworICAgIH0KK30KKwordm9pZCBRdFdlYlVuZG9Db250cm9sbGVy
OjpjbGVhckFsbEVkaXRDb21tYW5kcygpCit7CisgICAgbV91bmRvU3RhY2suY2xlYXIoKTsKK30K
KworYm9vbCBRdFdlYlVuZG9Db250cm9sbGVyOjpjYW5VbmRvUmVkbyhXZWJQYWdlUHJveHk6OlVu
ZG9PclJlZG8gdW5kb09yUmVkbykKK3sKKyAgICBpZiAodW5kb09yUmVkbyA9PSBXZWJQYWdlUHJv
eHk6OlVuZG8pCisgICAgICAgIHJldHVybiBtX3VuZG9TdGFjay5jYW5VbmRvKCk7CisgICAgcmV0
dXJuIG1fdW5kb1N0YWNrLmNhblJlZG8oKTsKK30KKwordm9pZCBRdFdlYlVuZG9Db250cm9sbGVy
OjpleGVjdXRlVW5kb1JlZG8oV2ViUGFnZVByb3h5OjpVbmRvT3JSZWRvIHVuZG9PclJlZG8pCit7
CisgICAgaWYgKHVuZG9PclJlZG8gPT0gV2ViUGFnZVByb3h5OjpVbmRvKQorICAgICAgICBtX3Vu
ZG9TdGFjay51bmRvKCk7CisgICAgZWxzZQorICAgICAgICBtX3VuZG9TdGFjay5yZWRvKCk7Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJVbmRvQ29udHJv
bGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViVW5kb0NvbnRyb2xsZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45MDRmNzE0ZjY2YzFjMDQwZmM0ZDQwNzI0NWNhOGZjNTBmYzJiMDc3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViVW5kb0Nv
bnRyb2xsZXIuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMSBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAgICBDb3B5cmln
aHQgKEMpIDIwMDcgU3RhaWtvcyBDb21wdXRpbmcgU2VydmljZXMgSW5jLgorCisgICAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAg
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisKKyNpZm5kZWYg
UXRXZWJVbmRvQ29udHJvbGxlcl9oCisjZGVmaW5lIFF0V2ViVW5kb0NvbnRyb2xsZXJfaAorCisj
aW5jbHVkZSAiUGFnZUNsaWVudC5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorI2luY2x1
ZGUgPFFVbmRvU3RhY2s+CisKK2NsYXNzIFF0V2ViVW5kb0NvbnRyb2xsZXIgeworcHVibGljOgor
ICAgIFF0V2ViVW5kb0NvbnRyb2xsZXIoKTsKKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3Mg
UXRQYWdlQ2xpZW50OworCisgICAgLy8gUGFnZSBDbGllbnQuCisgICAgdm9pZCByZWdpc3RlckVk
aXRDb21tYW5kKFBhc3NSZWZQdHI8V2ViS2l0OjpXZWJFZGl0Q29tbWFuZFByb3h5PiwgV2ViS2l0
OjpXZWJQYWdlUHJveHk6OlVuZG9PclJlZG8pOworICAgIHZvaWQgY2xlYXJBbGxFZGl0Q29tbWFu
ZHMoKTsKKyAgICBib29sIGNhblVuZG9SZWRvKFdlYktpdDo6V2ViUGFnZVByb3h5OjpVbmRvT3JS
ZWRvKTsKKyAgICB2b2lkIGV4ZWN1dGVVbmRvUmVkbyhXZWJLaXQ6OldlYlBhZ2VQcm94eTo6VW5k
b09yUmVkbyk7CisKKyAgICBRVW5kb1N0YWNrIG1fdW5kb1N0YWNrOworfTsKKworI2VuZGlmIC8v
IFF0V2ViVW5kb0NvbnRyb2xsZXJfaAo=
</data>
<flag name="review"
          id="118755"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>