<?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>204816</bug_id>
          
          <creation_ts>2019-12-03 14:50:32 -0800</creation_ts>
          <short_desc>PageConfiguration::dragClient should use a smart pointer</short_desc>
          <delta_ts>2019-12-05 16:01:49 -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>WebKit2</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1595198</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-03 14:50:32 -0800</bug_when>
    <thetext>PageConfiguration::dragClient should use a smart pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595199</commentid>
    <comment_count>1</comment_count>
      <attachid>384759</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-03 14:54:37 -0800</bug_when>
    <thetext>Created attachment 384759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595491</commentid>
    <comment_count>2</comment_count>
      <attachid>384815</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-04 09:05:49 -0800</bug_when>
    <thetext>Created attachment 384815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595920</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-05 12:09:01 -0800</bug_when>
    <thetext>ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596072</commentid>
    <comment_count>4</comment_count>
      <attachid>384815</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-05 15:55:16 -0800</bug_when>
    <thetext>Comment on attachment 384815
Patch

Clearing flags on attachment: 384815

Committed r253182: &lt;https://trac.webkit.org/changeset/253182&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596073</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-05 15:55:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596076</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-05 15:56:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/57680955&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384759</attachid>
            <date>2019-12-03 14:54:37 -0800</date>
            <delta_ts>2019-12-04 09:05:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204816-20191203145419.patch</filename>
            <type>text/plain</type>
            <size>22159</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzMxN2VlZTEyNGIzYjg1
NGNjYTEwMDU2OThmZDlkODBlODFlMjI5ZS4uOWFjMTVlOWMwNGUxNTEzZDE3MDdjOGU1OThlZmJk
Zjg1Mzk0ZGJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTEyLTAzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUGFnZUNvbmZpZ3VyYXRpb246
OmRyYWdDbGllbnQgc2hvdWxkIHVzZSBhIHNtYXJ0IHBvaW50ZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgxNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2VDb25maWd1cmF0aW9uOjpkcmFnQ2xp
ZW50IHNob3VsZCB1c2UgYSBzbWFydCBwb2ludGVyLiBJdCB3YXMgcHJldmlvdXNseQorICAgICAg
ICBnZXR0aW5nIGxlYWtlZC4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6cGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlDbGllbnRzKToKKyAg
ICAgICAgKiBwYWdlL0RyYWdDbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpEcmFnQ29udHJvbGxlcik6
CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6fkRyYWdDb250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpkcmFnRW5kZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6RHJhZ0NvbnRyb2xsZXI6OnBlcmZvcm1EcmFnT3BlcmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkRyYWdDb250cm9sbGVyOjpkZWxlZ2F0ZURyYWdTb3VyY2VBY3Rpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmNvbmNsdWRlRWRpdERyYWcpOgorICAgICAgICAo
V2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyk6CisgICAgICAgIChXZWJDb3JlOjpE
cmFnQ29udHJvbGxlcjo6YmVnaW5EcmFnKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9s
bGVyOjpkb1N5c3RlbURyYWcpOgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpjbGllbnQgY29uc3QpOgorICAgICAgICAq
IHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdlKToKKyAgICAgICAg
KiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1
cmF0aW9uLmg6CisgICAgICAgICogcGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW06CisgICAg
ICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKToK
KwogMjAxOS0xMi0wMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTdGFydCBhZGRpbmcgZW5jb2Rpbmcgc3VwcG9ydCBmb3IgRGlzcGxheUxpc3QgYW5k
IHNvbWUgRGlzcGxheUxpc3RJdGVtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5MzA3NmQ3YzU1NmI2M2Q0MzkxZmJj
NGM0OWE3M2M0MWI4NGM4YTIxLi5jNzIzMDYxZjYyM2U0MjIxYmNiZjdiYTEyNDM1NWU2Mjc4MjM3
YTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEyLTAzICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUGFnZUNvbmZpZ3VyYXRpb246OmRyYWdDbGll
bnQgc2hvdWxkIHVzZSBhIHNtYXJ0IHBvaW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgor
ICAgICAgICAoV2ViS2l0OjptX292ZXJyaWRkZW5NZWRpYVR5cGUpOgorCiAyMDE5LTEyLTAzICBQ
ZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
IGFzc2VydGlvbiBmaXggZm9yIG9sZGVyIG1hY09TIHZlcnNpb25zIGFmdGVyIHIyNTMwMTEuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggY2U1YjE2MzExY2EzYjllYjY4NTFiMjgyNzU4
OGE3NWNjZTZlZGZhOS4uMTY1ZjY0Y2Q0MGNhNjg2MGM4NTc2N2I1Y2JkMzc0YjQ1YTY1YWRkOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTEyLTAz
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUGFnZUNvbmZpZ3Vy
YXRpb246OmRyYWdDbGllbnQgc2hvdWxkIHVzZSBhIHNtYXJ0IHBvaW50ZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgxNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1t
OgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6
Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1lbnRX
aXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDE5LTEyLTAzICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBBbmltYXRp
b25zXSBBZGQgYSBydW50aW1lIGZsYWcgZm9yIFdlYiBBbmltYXRpb25zIGNvbXBvc2l0ZSBvcGVy
YXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggOWE1YTAyYTExYzg1NGNjZmJl
NWY5NWFlY2Q3MjFiZTlkMzNhYmNmOS4uMjg1YmMyMTYzNzI5ZmE2MzdiMmU1ZDllZmIxYjJjZjQy
MGJlOTY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDE5LTEyLTAzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUGFn
ZUNvbmZpZ3VyYXRpb246OmRyYWdDbGllbnQgc2hvdWxkIHVzZSBhIHNtYXJ0IHBvaW50ZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgxNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5j
cHA6CisgICAgICAgIChXZWJWaWV3Ojppbml0V2l0aEZyYW1lKToKKwogMjAxOS0xMi0wMyAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9u
c10gQWRkIGEgcnVudGltZSBmbGFnIGZvciBXZWIgQW5pbWF0aW9ucyBjb21wb3NpdGUgb3BlcmF0
aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA1Y2U5ZTExZWMw
YjY2MDU3YzU3YmQzOGRiOTU2ZjQwZTczYzk4ZTYwLi4xMjI2ZTM4MzZmN2JhMjk1YTQ2MDI4Mjk5
YTU0ZmQxZjRjZTZkZDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApA
QCAtNTcwLDggKzU3MCw3IEBAIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uV2l0
aEVtcHR5Q2xpZW50cyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiAjZW5kaWYKIAogI2lmIEVO
QUJMRShEUkFHX1NVUFBPUlQpCi0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEVtcHR5RHJhZ0Ns
aWVudD4gZHVtbXlEcmFnQ2xpZW50OwotICAgIHBhZ2VDb25maWd1cmF0aW9uLmRyYWdDbGllbnQg
PSAmZHVtbXlEcmFnQ2xpZW50LmdldCgpOworICAgIHBhZ2VDb25maWd1cmF0aW9uLmRyYWdDbGll
bnQgPSBtYWtlVW5pcXVlPEVtcHR5RHJhZ0NsaWVudD4oKTsKICNlbmRpZgogCiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEVtcHR5SW5zcGVjdG9yQ2xpZW50PiBkdW1teUluc3BlY3RvckNsaWVu
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKaW5kZXggMzc4NjA2ODA5OTZlMzljYWUzODgzZGI0
ODc3MDNlOGU0YTI3NjczZS4uYWEzZDdjNDIxZjhkMDBhNzk5YzI4OTYxZTVhZDg4MmQ5NjRlZTll
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgSW1h
Z2U7CiBzdHJ1Y3QgUHJvbWlzZWRBdHRhY2htZW50SW5mbzsKIAogY2xhc3MgRHJhZ0NsaWVudCB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGRyYWdDb250cm9sbGVyRGVzdHJveWVkKCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0Nv
bnRyb2xsZXIuY3BwCmluZGV4IGQ1MDhhNjM2ODE3MjVhNTFjZWQ3MzQzODJiZjk1ODcxOGE2YjYx
ZGEuLmVhMzBiNWQ2NDc4MmIwNmM0OTg4NTMxYmM0M2JlYmJhZjYyYTU3ZDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC0xMzMsMTUgKzEzMywxNSBAQCBzdGF0aWMg
UGxhdGZvcm1Nb3VzZUV2ZW50IGNyZWF0ZU1vdXNlRXZlbnQoY29uc3QgRHJhZ0RhdGEmIGRyYWdE
YXRhKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YUtleSwgV2FsbFRpbWU6Om5v
dygpLCBGb3JjZUF0Q2xpY2ssIE5vVGFwKTsKIH0KIAotRHJhZ0NvbnRyb2xsZXI6OkRyYWdDb250
cm9sbGVyKFBhZ2UmIHBhZ2UsIERyYWdDbGllbnQmIGNsaWVudCkKK0RyYWdDb250cm9sbGVyOjpE
cmFnQ29udHJvbGxlcihQYWdlJiBwYWdlLCBzdGQ6OnVuaXF1ZV9wdHI8RHJhZ0NsaWVudD4mJiBj
bGllbnQpCiAgICAgOiBtX3BhZ2UocGFnZSkKLSAgICAsIG1fY2xpZW50KGNsaWVudCkKKyAgICAs
IG1fY2xpZW50KFdURk1vdmUoY2xpZW50KSkKIHsKIH0KIAogRHJhZ0NvbnRyb2xsZXI6On5EcmFn
Q29udHJvbGxlcigpCiB7Ci0gICAgbV9jbGllbnQuZHJhZ0NvbnRyb2xsZXJEZXN0cm95ZWQoKTsK
KyAgICBjbGllbnQoKS5kcmFnQ29udHJvbGxlckRlc3Ryb3llZCgpOwogfQogCiBzdGF0aWMgUmVm
UHRyPERvY3VtZW50RnJhZ21lbnQ+IGRvY3VtZW50RnJhZ21lbnRGcm9tRHJhZ0RhdGEoY29uc3Qg
RHJhZ0RhdGEmIGRyYWdEYXRhLCBGcmFtZSYgZnJhbWUsIFJhbmdlJiBjb250ZXh0LCBib29sIGFs
bG93UGxhaW5UZXh0LCBib29sJiBjaG9zZVBsYWluVGV4dCkKQEAgLTIwOSw3ICsyMDksNyBAQCB2
b2lkIERyYWdDb250cm9sbGVyOjpkcmFnRW5kZWQoKQogICAgIGNsZWFyRHJhZ0NhcmV0KCk7CiAg
ICAgcmVtb3ZlQWxsRHJvcHBlZEltYWdlUGxhY2Vob2xkZXJzKCk7CiAgICAgCi0gICAgbV9jbGll
bnQuZHJhZ0VuZGVkKCk7CisgICAgY2xpZW50KCkuZHJhZ0VuZGVkKCk7CiB9CiAKIERyYWdPcGVy
YXRpb24gRHJhZ0NvbnRyb2xsZXI6OmRyYWdFbnRlcmVkKGNvbnN0IERyYWdEYXRhJiBkcmFnRGF0
YSkKQEAgLTI2MCw3ICsyNjAsNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpwZXJmb3JtRHJhZ09w
ZXJhdGlvbihjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEpCiAgICAgICAgIHNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3kgPSBtX2RvY3VtZW50VW5kZXJNb3VzZS0+c2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeVRvUHJvcGFnYXRlKCk7CiAKICAgICBpZiAoKG1fZHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uICYgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uREhUTUwpICYmIGRyYWdJc0hhbmRsZWRCeURvY3Vt
ZW50KG1fZHJhZ0hhbmRsaW5nTWV0aG9kKSkgewotICAgICAgICBtX2NsaWVudC53aWxsUGVyZm9y
bURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb25ESFRNTCwgZHJhZ0Rh
dGEpOworICAgICAgICBjbGllbnQoKS53aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihE
cmFnRGVzdGluYXRpb25BY3Rpb25ESFRNTCwgZHJhZ0RhdGEpOwogICAgICAgICBSZWY8RnJhbWU+
IG1haW5GcmFtZShtX3BhZ2UubWFpbkZyYW1lKCkpOwogICAgICAgICBib29sIHByZXZlbnRlZERl
ZmF1bHQgPSBmYWxzZTsKICAgICAgICAgaWYgKG1haW5GcmFtZS0+dmlldygpKQpAQCAtMjczLDcg
KzI3Myw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnBlcmZvcm1EcmFnT3BlcmF0aW9uKGNvbnN0
IERyYWdEYXRhJiBkcmFnRGF0YSkKICAgICB9CiAKICAgICBpZiAoKG1fZHJhZ0Rlc3RpbmF0aW9u
QWN0aW9uICYgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uRWRpdCkgJiYgY29uY2x1ZGVFZGl0RHJhZyhk
cmFnRGF0YSkpIHsKLSAgICAgICAgbV9jbGllbnQuZGlkQ29uY2x1ZGVFZGl0RHJhZygpOworICAg
ICAgICBjbGllbnQoKS5kaWRDb25jbHVkZUVkaXREcmFnKCk7CiAgICAgICAgIG1fZG9jdW1lbnRV
bmRlck1vdXNlID0gbnVsbHB0cjsKICAgICAgICAgY2xlYXJEcmFnQ2FyZXQoKTsKICAgICAgICAg
cmV0dXJuIHRydWU7CkBAIC0yODksNyArMjg5LDcgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6cGVy
Zm9ybURyYWdPcGVyYXRpb24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQogICAgIGlmICh1cmxT
dHJpbmcuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX2NsaWVudC53
aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2Fk
LCBkcmFnRGF0YSk7CisgICAgY2xpZW50KCkud2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rp
b24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTG9hZCwgZHJhZ0RhdGEpOwogICAgIEZyYW1lTG9hZFJl
cXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7IG1fcGFnZS5tYWluRnJhbWUoKSwgUmVzb3VyY2VSZXF1
ZXN0IHsgdXJsU3RyaW5nIH0sIHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgfTsKICAgICBm
cmFtZUxvYWRSZXF1ZXN0LnNldElzUmVxdWVzdEZyb21DbGllbnRPclVzZXJJbnB1dCgpOwogICAg
IG1fcGFnZS5tYWluRnJhbWUoKS5sb2FkZXIoKS5sb2FkKFdURk1vdmUoZnJhbWVMb2FkUmVxdWVz
dCkpOwpAQCAtNDg4LDcgKzQ4OCw3IEBAIERyYWdIYW5kbGluZ01ldGhvZCBEcmFnQ29udHJvbGxl
cjo6dHJ5RG9jdW1lbnREcmFnKGNvbnN0IERyYWdEYXRhJiBkcmFnRGF0YSwgRHJhCiAKIERyYWdT
b3VyY2VBY3Rpb24gRHJhZ0NvbnRyb2xsZXI6OmRlbGVnYXRlRHJhZ1NvdXJjZUFjdGlvbihjb25z
dCBJbnRQb2ludCYgcm9vdFZpZXdQb2ludCkKIHsKLSAgICBtX2RyYWdTb3VyY2VBY3Rpb24gPSBt
X2NsaWVudC5kcmFnU291cmNlQWN0aW9uTWFza0ZvclBvaW50KHJvb3RWaWV3UG9pbnQpOworICAg
IG1fZHJhZ1NvdXJjZUFjdGlvbiA9IGNsaWVudCgpLmRyYWdTb3VyY2VBY3Rpb25NYXNrRm9yUG9p
bnQocm9vdFZpZXdQb2ludCk7CiAgICAgcmV0dXJuIG1fZHJhZ1NvdXJjZUFjdGlvbjsKIH0KIApA
QCAtNTczLDcgKzU3Myw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OmNvbmNsdWRlRWRpdERyYWco
Y29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQogICAgICAgICBzdHlsZS0+c2V0UHJvcGVydHkoQ1NT
UHJvcGVydHlDb2xvciwgY29sb3Iuc2VyaWFsaXplZCgpLCBmYWxzZSk7CiAgICAgICAgIGlmICgh
aW5uZXJGcmFtZS0+ZWRpdG9yKCkuc2hvdWxkQXBwbHlTdHlsZShzdHlsZS5wdHIoKSwgaW5uZXJS
YW5nZS5nZXQoKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIG1fY2xpZW50
LndpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbkVk
aXQsIGRyYWdEYXRhKTsKKyAgICAgICAgY2xpZW50KCkud2lsbFBlcmZvcm1EcmFnRGVzdGluYXRp
b25BY3Rpb24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uRWRpdCwgZHJhZ0RhdGEpOwogICAgICAgICBp
bm5lckZyYW1lLT5lZGl0b3IoKS5hcHBseVN0eWxlKHN0eWxlLnB0cigpLCBFZGl0QWN0aW9uOjpT
ZXRDb2xvcik7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTYwOSw3ICs2MDksNyBA
QCBib29sIERyYWdDb250cm9sbGVyOjpjb25jbHVkZUVkaXREcmFnKGNvbnN0IERyYWdEYXRhJiBk
cmFnRGF0YSkKICAgICAgICAgaWYgKCFmcmFnbWVudCB8fCAhZWRpdG9yLnNob3VsZEluc2VydEZy
YWdtZW50KCpmcmFnbWVudCwgcmFuZ2UuZ2V0KCksIEVkaXRvckluc2VydEFjdGlvbjo6RHJvcHBl
ZCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgbV9jbGllbnQud2lsbFBl
cmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uRWRpdCwgZHJh
Z0RhdGEpOworICAgICAgICBjbGllbnQoKS53aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlv
bihEcmFnRGVzdGluYXRpb25BY3Rpb25FZGl0LCBkcmFnRGF0YSk7CiAKICAgICAgICAgaWYgKGVk
aXRvci5jbGllbnQoKSAmJiBlZGl0b3IuY2xpZW50KCktPnBlcmZvcm1Ud29TdGVwRHJvcCgqZnJh
Z21lbnQsICpyYW5nZSwgaXNNb3ZlKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNjM1
LDcgKzYzNSw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OmNvbmNsdWRlRWRpdERyYWcoY29uc3Qg
RHJhZ0RhdGEmIGRyYWdEYXRhKQogICAgICAgICBpZiAodGV4dC5pc0VtcHR5KCkgfHwgIWVkaXRv
ci5zaG91bGRJbnNlcnRUZXh0KHRleHQsIHJhbmdlLmdldCgpLCBFZGl0b3JJbnNlcnRBY3Rpb246
OkRyb3BwZWQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIG1fY2xpZW50
LndpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbkVk
aXQsIGRyYWdEYXRhKTsKKyAgICAgICAgY2xpZW50KCkud2lsbFBlcmZvcm1EcmFnRGVzdGluYXRp
b25BY3Rpb24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uRWRpdCwgZHJhZ0RhdGEpOwogICAgICAgICBS
ZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZnJhZ21lbnQgPSBjcmVhdGVGcmFnbWVudEZyb21UZXh0
KCpyYW5nZSwgdGV4dCk7CiAgICAgICAgIGlmICghZnJhZ21lbnQpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC05NTYsNyArOTU2LDcgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6c3RhcnRE
cmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0ZSYgc3RhdGUsIERyYWdPcGVyYXRpb24KICAg
ICBBU1NFUlQoc3RhdGUuc291cmNlKTsKICAgICBFbGVtZW50JiBlbGVtZW50ID0gKnN0YXRlLnNv
dXJjZTsKIAotICAgIGJvb2wgbXVzdFVzZUxlZ2FjeURyYWdDbGllbnQgPSBoYXNEYXRhID09IEhh
c05vbkRlZmF1bHRQYXN0ZWJvYXJkRGF0YTo6WWVzIHx8IG1fY2xpZW50LnVzZUxlZ2FjeURyYWdD
bGllbnQoKTsKKyAgICBib29sIG11c3RVc2VMZWdhY3lEcmFnQ2xpZW50ID0gaGFzRGF0YSA9PSBI
YXNOb25EZWZhdWx0UGFzdGVib2FyZERhdGE6OlllcyB8fCBjbGllbnQoKS51c2VMZWdhY3lEcmFn
Q2xpZW50KCk7CiAKICAgICBJbnRSZWN0IGRyYWdJbWFnZUJvdW5kczsKICAgICBJbWFnZSogaW1h
Z2UgPSBnZXRJbWFnZShlbGVtZW50KTsKQEAgLTEwMDIsNyArMTAwMiw3IEBAIGJvb2wgRHJhZ0Nv
bnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRlLCBE
cmFnT3BlcmF0aW9uCiAKICAgICAgICAgICAgIHNyYy5lZGl0b3IoKS5kaWRXcml0ZVNlbGVjdGlv
blRvUGFzdGVib2FyZCgpOwogICAgICAgICB9Ci0gICAgICAgIG1fY2xpZW50LndpbGxQZXJmb3Jt
RHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uU2VsZWN0aW9uLCBkcmFnT3JpZ2luLCBk
YXRhVHJhbnNmZXIpOworICAgICAgICBjbGllbnQoKS53aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rp
b24oRHJhZ1NvdXJjZUFjdGlvblNlbGVjdGlvbiwgZHJhZ09yaWdpbiwgZGF0YVRyYW5zZmVyKTsK
ICAgICAgICAgaWYgKCFkcmFnSW1hZ2UpIHsKICAgICAgICAgICAgIFRleHRJbmRpY2F0b3JEYXRh
IHRleHRJbmRpY2F0b3I7CiAgICAgICAgICAgICBkcmFnSW1hZ2UgPSBEcmFnSW1hZ2UgeyBkaXNz
b2x2ZURyYWdJbWFnZVRvRnJhY3Rpb24oY3JlYXRlRHJhZ0ltYWdlRm9yU2VsZWN0aW9uKHNyYywg
dGV4dEluZGljYXRvciksIERyYWdJbWFnZUFscGhhKSB9OwpAQCAtMTA1NCw3ICsxMDU0LDcgQEAg
Ym9vbCBEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0
ZSYgc3RhdGUsIERyYWdPcGVyYXRpb24KICAgICAgICAgICAgICAgICBkZWNsYXJlQW5kV3JpdGVE
cmFnSW1hZ2UoZGF0YVRyYW5zZmVyLCBlbGVtZW50LCAhbGlua1VSTC5pc0VtcHR5KCkgPyBsaW5r
VVJMIDogaW1hZ2VVUkwsIGhpdFRlc3RSZXN1bHQuYWx0RGlzcGxheVN0cmluZygpKTsKICAgICAg
ICAgfQogCi0gICAgICAgIG1fY2xpZW50LndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFn
U291cmNlQWN0aW9uSW1hZ2UsIGRyYWdPcmlnaW4sIGRhdGFUcmFuc2Zlcik7CisgICAgICAgIGNs
aWVudCgpLndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uSW1hZ2Us
IGRyYWdPcmlnaW4sIGRhdGFUcmFuc2Zlcik7CiAKICAgICAgICAgaWYgKCFkcmFnSW1hZ2UpCiAg
ICAgICAgICAgICBkb0ltYWdlRHJhZyhlbGVtZW50LCBkcmFnT3JpZ2luLCBoaXRUZXN0UmVzdWx0
LmltYWdlUmVjdCgpLCBzcmMsIG1fZHJhZ09mZnNldCwgc3RhdGUsIFdURk1vdmUoYXR0YWNobWVu
dEluZm8pKTsKQEAgLTEwOTgsNyArMTA5OCw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0
RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAg
ICAgICAgICAgICAgICAgc3JjLnNlbGVjdGlvbigpLnNldFNlbGVjdGlvbihWaXNpYmxlU2VsZWN0
aW9uOjpzZWxlY3Rpb25Gcm9tQ29udGVudHNPZk5vZGUobm9kZSkpOwogICAgICAgICB9CiAKLSAg
ICAgICAgbV9jbGllbnQud2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rp
b25MaW5rLCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIpOworICAgICAgICBjbGllbnQoKS53aWxs
UGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbkxpbmssIGRyYWdPcmlnaW4s
IGRhdGFUcmFuc2Zlcik7CiAgICAgICAgIGlmICghZHJhZ0ltYWdlKSB7CiAgICAgICAgICAgICBU
ZXh0SW5kaWNhdG9yRGF0YSB0ZXh0SW5kaWNhdG9yOwogICAgICAgICAgICAgZHJhZ0ltYWdlID0g
RHJhZ0ltYWdlIHsgY3JlYXRlRHJhZ0ltYWdlRm9yTGluayhlbGVtZW50LCBsaW5rVVJMLCB0ZXh0
Q29udGVudFdpdGhTaW1wbGlmaWVkV2hpdGVTcGFjZSwgdGV4dEluZGljYXRvciwgc3JjLnNldHRp
bmdzKCkuZm9udFJlbmRlcmluZ01vZGUoKSwgbV9wYWdlLmRldmljZVNjYWxlRmFjdG9yKCkpIH07
CkBAIC0xMTQ5LDcgKzExNDksNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpzdGFydERyYWcoRnJh
bWUmIHNyYywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBtX2NsaWVudC53aWxsUGVyZm9ybURy
YWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbkF0dGFjaG1lbnQsIGRyYWdPcmlnaW4sIGRh
dGFUcmFuc2Zlcik7CisgICAgICAgIGNsaWVudCgpLndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlv
bihEcmFnU291cmNlQWN0aW9uQXR0YWNobWVudCwgZHJhZ09yaWdpbiwgZGF0YVRyYW5zZmVyKTsK
ICAgICAgICAgCiAgICAgICAgIGlmICghZHJhZ0ltYWdlKSB7CiAgICAgICAgICAgICBUZXh0SW5k
aWNhdG9yRGF0YSB0ZXh0SW5kaWNhdG9yOwpAQCAtMTE4NCw3ICsxMTg0LDcgQEAgYm9vbCBEcmFn
Q29udHJvbGxlcjo6c3RhcnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0ZSYgc3RhdGUs
IERyYWdPcGVyYXRpb24KICAgICAgICAgZHJhZ0ltYWdlT2Zmc2V0ID0gSW50UG9pbnQgeyBkcmFn
SW1hZ2VTaXplKGRyYWdJbWFnZS5nZXQoKSkgfTsKICAgICAgICAgZHJhZ0xvYyA9IGRyYWdMb2NG
b3JESFRNTERyYWcobW91c2VEcmFnZ2VkUG9pbnQsIGRyYWdPcmlnaW4sIGRyYWdJbWFnZU9mZnNl
dCwgZmFsc2UpOwogCi0gICAgICAgIG1fY2xpZW50LndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlv
bihEcmFnU291cmNlQWN0aW9uQ29sb3IsIGRyYWdPcmlnaW4sIGRhdGFUcmFuc2Zlcik7CisgICAg
ICAgIGNsaWVudCgpLndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9u
Q29sb3IsIGRyYWdPcmlnaW4sIGRhdGFUcmFuc2Zlcik7CiAgICAgICAgIGRvU3lzdGVtRHJhZyhX
VEZNb3ZlKGRyYWdJbWFnZSksIGRyYWdMb2MsIGRyYWdPcmlnaW4sIHNyYywgc3RhdGUsIHsgfSk7
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTExOTIsNyArMTE5Miw3IEBAIGJvb2wg
RHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0
YXRlLCBEcmFnT3BlcmF0aW9uCiAKICAgICBpZiAoc3RhdGUudHlwZSA9PSBEcmFnU291cmNlQWN0
aW9uREhUTUwgJiYgZHJhZ0ltYWdlKSB7CiAgICAgICAgIEFTU0VSVChtX2RyYWdTb3VyY2VBY3Rp
b24gJiBEcmFnU291cmNlQWN0aW9uREhUTUwpOwotICAgICAgICBtX2NsaWVudC53aWxsUGVyZm9y
bURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbkRIVE1MLCBkcmFnT3JpZ2luLCBkYXRh
VHJhbnNmZXIpOworICAgICAgICBjbGllbnQoKS53aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24o
RHJhZ1NvdXJjZUFjdGlvbkRIVE1MLCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIpOwogICAgICAg
ICBkb1N5c3RlbURyYWcoV1RGTW92ZShkcmFnSW1hZ2UpLCBkcmFnTG9jLCBkcmFnT3JpZ2luLCBz
cmMsIHN0YXRlLCB7IH0pOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkBAIC0xMjQ4LDcg
KzEyNDgsNyBAQCB2b2lkIERyYWdDb250cm9sbGVyOjpkb0ltYWdlRHJhZyhFbGVtZW50JiBlbGVt
ZW50LCBjb25zdCBJbnRQb2ludCYgZHJhZ09yaWdpbiwgYwogCiB2b2lkIERyYWdDb250cm9sbGVy
OjpiZWdpbkRyYWcoRHJhZ0l0ZW0gZHJhZ0l0ZW0sIEZyYW1lJiBmcmFtZSwgY29uc3QgSW50UG9p
bnQmIG1vdXNlRG93blBvaW50LCBjb25zdCBJbnRQb2ludCYgbW91c2VEcmFnZ2VkUG9pbnQsIERh
dGFUcmFuc2ZlciYgZGF0YVRyYW5zZmVyLCBEcmFnU291cmNlQWN0aW9uIGRyYWdTb3VyY2VBY3Rp
b24pCiB7Ci0gICAgQVNTRVJUKCFtX2NsaWVudC51c2VMZWdhY3lEcmFnQ2xpZW50KCkpOworICAg
IEFTU0VSVCghY2xpZW50KCkudXNlTGVnYWN5RHJhZ0NsaWVudCgpKTsKIAogICAgIG1fZGlkSW5p
dGlhdGVEcmFnID0gdHJ1ZTsKICAgICBtX2RyYWdJbml0aWF0b3IgPSBmcmFtZS5kb2N1bWVudCgp
OwpAQCAtMTI2MCw3ICsxMjYwLDcgQEAgdm9pZCBEcmFnQ29udHJvbGxlcjo6YmVnaW5EcmFnKERy
YWdJdGVtIGRyYWdJdGVtLCBGcmFtZSYgZnJhbWUsIGNvbnN0IEludFBvaW50JgogICAgIGF1dG8g
bW91c2VEb3duUG9pbnRJblJvb3RWaWV3Q29vcmRpbmF0ZXMgPSB2aWV3UHJvdGVjdG9yLT5yb290
Vmlld1RvQ29udGVudHMoZnJhbWUudmlldygpLT5jb250ZW50c1RvUm9vdFZpZXcobW91c2VEb3du
UG9pbnQpKTsKICAgICBhdXRvIG1vdXNlRHJhZ2dlZFBvaW50SW5Sb290Vmlld0Nvb3JkaW5hdGVz
ID0gdmlld1Byb3RlY3Rvci0+cm9vdFZpZXdUb0NvbnRlbnRzKGZyYW1lLnZpZXcoKS0+Y29udGVu
dHNUb1Jvb3RWaWV3KG1vdXNlRHJhZ2dlZFBvaW50KSk7CiAKLSAgICBtX2NsaWVudC5iZWdpbkRy
YWcoV1RGTW92ZShkcmFnSXRlbSksIGZyYW1lLCBtb3VzZURvd25Qb2ludEluUm9vdFZpZXdDb29y
ZGluYXRlcywgbW91c2VEcmFnZ2VkUG9pbnRJblJvb3RWaWV3Q29vcmRpbmF0ZXMsIGRhdGFUcmFu
c2ZlciwgZHJhZ1NvdXJjZUFjdGlvbik7CisgICAgY2xpZW50KCkuYmVnaW5EcmFnKFdURk1vdmUo
ZHJhZ0l0ZW0pLCBmcmFtZSwgbW91c2VEb3duUG9pbnRJblJvb3RWaWV3Q29vcmRpbmF0ZXMsIG1v
dXNlRHJhZ2dlZFBvaW50SW5Sb290Vmlld0Nvb3JkaW5hdGVzLCBkYXRhVHJhbnNmZXIsIGRyYWdT
b3VyY2VBY3Rpb24pOwogfQogCiB2b2lkIERyYWdDb250cm9sbGVyOjpkb1N5c3RlbURyYWcoRHJh
Z0ltYWdlIGltYWdlLCBjb25zdCBJbnRQb2ludCYgZHJhZ0xvYywgY29uc3QgSW50UG9pbnQmIGV2
ZW50UG9zLCBGcmFtZSYgZnJhbWUsIGNvbnN0IERyYWdTdGF0ZSYgc3RhdGUsIFByb21pc2VkQXR0
YWNobWVudEluZm8mJiBwcm9taXNlZEF0dGFjaG1lbnRJbmZvKQpAQCAtMTMxNiw3ICsxMzE2LDcg
QEAgdm9pZCBEcmFnQ29udHJvbGxlcjo6ZG9TeXN0ZW1EcmFnKERyYWdJbWFnZSBpbWFnZSwgY29u
c3QgSW50UG9pbnQmIGRyYWdMb2MsIGNvbnMKICAgICAgICAgICAgIGl0ZW0udXJsID0gZnJhbWUu
ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2Vz
KGxpbmstPmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmhyZWZBdHRyKSkpOwogICAgICAgICB9CiAg
ICAgfQotICAgIG1fY2xpZW50LnN0YXJ0RHJhZyhXVEZNb3ZlKGl0ZW0pLCAqc3RhdGUuZGF0YVRy
YW5zZmVyLCBmcmFtZVByb3RlY3Rvci5nZXQoKSk7CisgICAgY2xpZW50KCkuc3RhcnREcmFnKFdU
Rk1vdmUoaXRlbSksICpzdGF0ZS5kYXRhVHJhbnNmZXIsIGZyYW1lUHJvdGVjdG9yLmdldCgpKTsK
ICAgICAvLyBEcmFnQ2xpZW50OjpzdGFydERyYWcgY2FuIGNhdXNlIG91ciBQYWdlIHRvIGRpc3Bl
YXIsIGRlYWxsb2NhdGluZyB8dGhpc3wuCiAgICAgaWYgKCFmcmFtZVByb3RlY3Rvci0+cGFnZSgp
KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdD
b250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKaW5kZXgg
ZDJiYTFmY2FiMTFjZjJiOWI4YzRhZDZjYmE3MWYwMzVjMjIzYWQyYS4uNTI3ZjEwMzFhZjhlYzJi
ZDdlMzQ2ZTM1N2Q3MTU3NGNhYTM1MjI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9EcmFnQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xs
ZXIuaApAQCAtNTMsMTMgKzUzLDEzIEBAIHN0cnVjdCBQcm9taXNlZEF0dGFjaG1lbnRJbmZvOwog
ICAgIGNsYXNzIERyYWdDb250cm9sbGVyIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RHJhZ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIERyYWdDb250cm9sbGVyKFBhZ2UmLCBEcmFnQ2xpZW50Jik7CisgICAgICAgIERyYWdD
b250cm9sbGVyKFBhZ2UmLCBzdGQ6OnVuaXF1ZV9wdHI8RHJhZ0NsaWVudD4mJik7CiAgICAgICAg
IH5EcmFnQ29udHJvbGxlcigpOwogCiAgICAgICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8RHJh
Z0NvbnRyb2xsZXI+IGNyZWF0ZShQYWdlJiwgRHJhZ0NsaWVudCYpOwogICAgICAgICBzdGF0aWMg
RHJhZ09wZXJhdGlvbiBwbGF0Zm9ybUdlbmVyaWNEcmFnT3BlcmF0aW9uKCk7CiAKLSAgICAgICAg
RHJhZ0NsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KKyAgICAgICAg
RHJhZ0NsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gKm1fY2xpZW50OyB9CiAKICAgICAg
ICAgV0VCQ09SRV9FWFBPUlQgRHJhZ09wZXJhdGlvbiBkcmFnRW50ZXJlZChjb25zdCBEcmFnRGF0
YSYpOwogICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRyYWdFeGl0ZWQoY29uc3QgRHJhZ0Rh
dGEmKTsKQEAgLTE0Nyw3ICsxNDcsNyBAQCBzdHJ1Y3QgUHJvbWlzZWRBdHRhY2htZW50SW5mbzsK
ICAgICAgICAgUHJvbWlzZWRBdHRhY2htZW50SW5mbyBwcm9taXNlZEF0dGFjaG1lbnRJbmZvKEZy
YW1lJiwgRWxlbWVudCYpOwogI2VuZGlmCiAgICAgICAgIFBhZ2UmIG1fcGFnZTsKLSAgICAgICAg
RHJhZ0NsaWVudCYgbV9jbGllbnQ7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxEcmFnQ2xpZW50
PiBtX2NsaWVudDsKIAogICAgICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnRVbmRlck1v
dXNlOyAvLyBUaGUgZG9jdW1lbnQgdGhlIG1vdXNlIHdhcyBsYXN0IGRyYWdnZWQgb3Zlci4KICAg
ICAgICAgUmVmUHRyPERvY3VtZW50PiBtX2RyYWdJbml0aWF0b3I7IC8vIFRoZSBEb2N1bWVudCAo
aWYgYW55KSB0aGF0IGluaXRpYXRlZCB0aGUgZHJhZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGRi
MGI1ZmJiNjI0MDAyNDkxMzJjOWIwNDkwODZhOTMxM2YyODE2YzYuLjE2ZGNlOGM4YzcyMWY4ZjE0
ZTJkN2QyMjZkNzc0ZWJlZGYzNzczZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjE4LDcgKzIx
OCw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdlQ29uZmlndXJhdGlvbikK
ICAgICA6IG1fY2hyb21lKG1ha2VVbmlxdWU8Q2hyb21lPigqdGhpcywgKnBhZ2VDb25maWd1cmF0
aW9uLmNocm9tZUNsaWVudCkpCiAgICAgLCBtX2RyYWdDYXJldENvbnRyb2xsZXIobWFrZVVuaXF1
ZTxEcmFnQ2FyZXRDb250cm9sbGVyPigpKQogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi0gICAg
LCBtX2RyYWdDb250cm9sbGVyKG1ha2VVbmlxdWU8RHJhZ0NvbnRyb2xsZXI+KCp0aGlzLCAqcGFn
ZUNvbmZpZ3VyYXRpb24uZHJhZ0NsaWVudCkpCisgICAgLCBtX2RyYWdDb250cm9sbGVyKG1ha2VV
bmlxdWU8RHJhZ0NvbnRyb2xsZXI+KCp0aGlzLCBXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLmRy
YWdDbGllbnQpKSkKICNlbmRpZgogICAgICwgbV9mb2N1c0NvbnRyb2xsZXIobWFrZVVuaXF1ZTxG
b2N1c0NvbnRyb2xsZXI+KCp0aGlzLCBwYWdlSW5pdGlhbEFjdGl2aXR5U3RhdGUoKSkpCiAjaWYg
RU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uY3BwCmluZGV4IDJkMzNkNzYzMTkzZjRmMTVmMDgxZDliNDlhOGZhYTk2YjUyZDM5YjUuLjcz
YTcyZDgwOTRhYTcyZmJkODlkM2U5ZjJmNWFmZjNlODZlNDU0NTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAi
Q29va2llSmFyLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmgiCisjaW5jbHVkZSAiRHJhZ0NsaWVudC5oIgogI2luY2x1
ZGUgIkVkaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5j
bHVkZSAiUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmgKaW5kZXggNjA2ZDYzOGJjODljMTNlYzVkMGRiOGI3ODVkZWM1ODY1NDY2
MmU2MS4uOTg2MDkwOTg1YTNjYWFmYjgzNjYwMjUwMzBjYjNiN2UzOGM2OGQxMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtODAsNyArODAsNyBAQCBwdWJsaWM6
CiAjZW5kaWYKICAgICBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiBlZGl0b3JDbGllbnQ7CiAgICAg
UmVmPFNvY2tldFByb3ZpZGVyPiBzb2NrZXRQcm92aWRlcjsKLSAgICBEcmFnQ2xpZW50KiBkcmFn
Q2xpZW50IHsgbnVsbHB0ciB9OworICAgIHN0ZDo6dW5pcXVlX3B0cjxEcmFnQ2xpZW50PiBkcmFn
Q2xpZW50OwogICAgIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50IHsgbnVsbHB0ciB9
OwogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50KiBw
YXltZW50Q29vcmRpbmF0b3JDbGllbnQgeyBudWxscHRyIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9EcmFnQ29udHJvbGxlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCmluZGV4IDBlM2RjNWYwODE1NmFiYjE1NGJkZGE2
ZDZhZTI5N2VlZTIxMjg2YmIuLjAzMzdkZDc0YjU5ZDlmNDU0NjFmMDYyMjZmOWZhNTJkYzA4YTBi
ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCkBA
IC0xNTksNyArMTU5LDcgQEAgdm9pZCBEcmFnQ29udHJvbGxlcjo6dXBkYXRlU3VwcG9ydGVkVHlw
ZUlkZW50aWZpZXJzRm9yRHJhZ0hhbmRsaW5nTWV0aG9kKERyYWdIYW4KIAogdm9pZCBEcmFnQ29u
dHJvbGxlcjo6ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKERhdGFUcmFuc2ZlciYgZGF0YVRyYW5z
ZmVyLCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBsYWJl
bCkKIHsKLSAgICBtX2NsaWVudC5kZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoZGF0YVRyYW5zZmVy
LnBhc3RlYm9hcmQoKS5uYW1lKCksIGVsZW1lbnQsIHVybCwgbGFiZWwsIGVsZW1lbnQuZG9jdW1l
bnQoKS5mcmFtZSgpKTsKKyAgICBjbGllbnQoKS5kZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoZGF0
YVRyYW5zZmVyLnBhc3RlYm9hcmQoKS5uYW1lKCksIGVsZW1lbnQsIHVybCwgbGFiZWwsIGVsZW1l
bnQuZG9jdW1lbnQoKS5mcmFtZSgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA2ZWY4ZTQ1
ZDI4NWZhZWE0YmEwMWU2OWQ0NDA5MzRmMjI2OWM0NjNiLi5jNzk3Njk3OWJkZGFkZDcwYWE4OTcx
NTAxNTZjOWMwODBiYmIzYTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcApAQCAtNDU2LDcgKzQ1Niw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UoUGFnZUlk
ZW50aWZpZXIgcGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykK
ICAgICBwYWdlQ29uZmlndXJhdGlvbi5jb250ZXh0TWVudUNsaWVudCA9IG5ldyBXZWJDb250ZXh0
TWVudUNsaWVudCh0aGlzKTsKICNlbmRpZgogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi0gICAg
cGFnZUNvbmZpZ3VyYXRpb24uZHJhZ0NsaWVudCA9IG5ldyBXZWJEcmFnQ2xpZW50KHRoaXMpOwor
ICAgIHBhZ2VDb25maWd1cmF0aW9uLmRyYWdDbGllbnQgPSBtYWtlVW5pcXVlPFdlYkRyYWdDbGll
bnQ+KHRoaXMpOwogI2VuZGlmCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uaW5zcGVjdG9yQ2xpZW50
ID0gbmV3IFdlYkluc3BlY3RvckNsaWVudCh0aGlzKTsKICNpZiBVU0UoQVVUT0NPUlJFQ1RJT05f
UEFORUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXgg
NGZkOWEzZDM4NzlhYTc3ODEyOTVlM2ViNzczOTZkNGIxNTA1NTViZS4uNGQ1YmQ0Mjk1MmFmZmMw
YjhjM2UxZTRmZGNjNWNhZWZjMjUzZmFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQpAQCAtMTQ1MSw3ICsxNDUxLDcgQEAgLSAodm9pZClfY29tbW9uSW5p
dGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6
KE5TU3QKICNlbmRpZgogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLSAgICBwYWdlQ29uZmln
dXJhdGlvbi5kcmFnQ2xpZW50ID0gbmV3IFdlYkRyYWdDbGllbnQoc2VsZik7CisgICAgcGFnZUNv
bmZpZ3VyYXRpb24uZHJhZ0NsaWVudCA9IG1ha2VVbmlxdWU8V2ViRHJhZ0NsaWVudD4oc2VsZik7
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCkBAIC0xNzEwLDcgKzE3MTAsNyBAQCAt
IChpZClpbml0U2ltcGxlSFRNTERvY3VtZW50V2l0aFN0eWxlOihOU1N0cmluZyAqKXN0eWxlIGZy
YW1lOihDR1JlY3QpZnJhbWUgcHJlZgogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hy
b21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudElPUyhzZWxmKTsKICNpZiBFTkFCTEUoRFJB
R19TVVBQT1JUKQotICAgIHBhZ2VDb25maWd1cmF0aW9uLmRyYWdDbGllbnQgPSBuZXcgV2ViRHJh
Z0NsaWVudChzZWxmKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi5kcmFnQ2xpZW50ID0gbWFrZVVu
aXF1ZTxXZWJEcmFnQ2xpZW50PihzZWxmKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEFQUExFX1BB
WSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggN2VjNGZmMTFhNjkyNGQ2MGZk
YTQ4YmM4MjI3NDNmOTNlMTQzY2QyMy4uYmZiY2Q0NDFiZGM3YThmMjAyNjcyZGI4MTliZjAxYzM1
N2Q0ZGM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTMxMjMsNyArMzEy
Myw3IEBAIEhSRVNVTFQgV2ViVmlldzo6aW5pdFdpdGhGcmFtZShSRUNUIGZyYW1lLCBfSW5fIEJT
VFIgZnJhbWVOYW1lLCBfSW5fIEJTVFIgZ3JvdXBOCiAgICAgKTsKICAgICBjb25maWd1cmF0aW9u
LmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQodGhpcyk7CiAgICAgY29uZmlndXJh
dGlvbi5jb250ZXh0TWVudUNsaWVudCA9IG5ldyBXZWJDb250ZXh0TWVudUNsaWVudCh0aGlzKTsK
LSAgICBjb25maWd1cmF0aW9uLmRyYWdDbGllbnQgPSBuZXcgV2ViRHJhZ0NsaWVudCh0aGlzKTsK
KyAgICBjb25maWd1cmF0aW9uLmRyYWdDbGllbnQgPSBtYWtlVW5pcXVlPFdlYkRyYWdDbGllbnQ+
KHRoaXMpOwogICAgIGNvbmZpZ3VyYXRpb24uaW5zcGVjdG9yQ2xpZW50ID0gbV9pbnNwZWN0b3JD
bGllbnQ7CiAgICAgY29uZmlndXJhdGlvbi5sb2FkZXJDbGllbnRGb3JNYWluRnJhbWUgPSBuZXcg
V2ViRnJhbWVMb2FkZXJDbGllbnQ7CiAgICAgY29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZSA9ICZXZWJBcHBsaWNhdGlvbkNhY2hlOjpzdG9yYWdlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384815</attachid>
            <date>2019-12-04 09:05:49 -0800</date>
            <delta_ts>2019-12-05 15:55:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204816-20191204090548.patch</filename>
            <type>text/plain</type>
            <size>26574</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjM4MDA4YTZkMGI4YjFi
MjY1MWUxOGQ0OWJiOGM3ZTBhYjhjYWZjZS4uMDA5YWNjNWRmMjM0ZTEyYmFkNDA4OTkzMjdhZDFm
MmNhZTJmZTY2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE5LTEyLTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUGFnZUNvbmZpZ3VyYXRpb246
OmRyYWdDbGllbnQgc2hvdWxkIHVzZSBhIHNtYXJ0IHBvaW50ZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgxNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgor
ICAgICAgICAqIHBhZ2UvRHJhZ0NsaWVudC5oOgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OkRyYWdDb250cm9sbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjp+RHJhZ0NvbnRyb2xsZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRyYWdFbmRlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6cGVyZm9ybURyYWdPcGVyYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRlbGVnYXRlRHJhZ1NvdXJjZUFjdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6Y29uY2x1ZGVFZGl0RHJhZyk6CisgICAgICAg
IChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKToKKyAgICAgICAgKFdlYkNvcmU6
OkRyYWdDb250cm9sbGVyOjpiZWdpbkRyYWcpOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRy
b2xsZXI6OmRvU3lzdGVtRHJhZyk6CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5oOgor
ICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmNsaWVudCBjb25zdCk6CisgICAgICAg
ICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAg
ICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZp
Z3VyYXRpb24uaDoKKyAgICAgICAgKiBwYWdlL21hYy9EcmFnQ29udHJvbGxlck1hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2Up
OgorCiAyMDE5LTEyLTA0ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNb3ZlIHNvZnQgdXBkYXRlIGhhbmRsaW5nIHRvIG5ldHdvcmsgcHJvY2VzcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCAzOWQ2OWU0MmQyM2ViY2Q5YmYwYjBhM2I4YTU4Y2I5MTliYTUyZjRlLi5iZjdkYjE4MGQ2
OTFkZWNjOTg2YTU4OWE2MDhhOTRmMjIwN2M1Y2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTEyLTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
UGFnZUNvbmZpZ3VyYXRpb246OmRyYWdDbGllbnQgc2hvdWxkIHVzZSBhIHNtYXJ0IHBvaW50ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgxNgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjptX292ZXJyaWRkZW5N
ZWRpYVR5cGUpOgorCiAyMDE5LTEyLTA0ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWJQcm9jZXNzUG9vbDo6dGVybWluYXRlU2VydmljZVdvcmtlclByb2Nl
c3Mgc2hvdWxkIGJlIHJlbmFtZWQgdGVybWluYXRlU2VydmljZVdvcmtlcnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCBhOGM3NzIzNDJiYTVmY2I1ZjQwZDFmOWJkZTA5NDUyODYwY2Jk
MzVhLi4xMmMxMGQ2ZjEzODY5M2Q5ZGQxODdkMmZkZjE5ZDNiMGE2MDM0NTc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMTItMDQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBQYWdlQ29uZmlndXJhdGlvbjo6ZHJh
Z0NsaWVudCBzaG91bGQgdXNlIGEgc21hcnQgcG9pbnRlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0ODE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6
XSk6CisgICAgICAgICgtW1dlYlZpZXcgaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTpm
cmFtZTpwcmVmZXJlbmNlczpncm91cE5hbWU6XSk6CisKIDIwMTktMTItMDQgIFRpbSBIb3J0b24g
IDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgSW50cm9kdWNlIGEgR1BVIHBy
b2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCA5YTVhMDJhMTFjODU0Y2NmYmU1
Zjk1YWVjZDcyMWJlOWQzM2FiY2Y5Li5kMmI1YTQwYWE4NWExMjdiNjJiNjIzMDBiOGYyNTQ1NWY3
ODkwNmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTktMTItMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBQYWdl
Q29uZmlndXJhdGlvbjo6ZHJhZ0NsaWVudCBzaG91bGQgdXNlIGEgc21hcnQgcG9pbnRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0ODE2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3LmNw
cDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAyMDE5LTEyLTAzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBBZGQgYSBydW50aW1lIGZsYWcgZm9yIFdlYiBBbmltYXRpb25zIGNvbXBvc2l0ZSBvcGVyYXRp
b25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDVjZTllMTFlYzBi
NjYwNTdjNTdiZDM4ZGI5NTZmNDBlNzNjOThlNjAuLjNhZDUxM2UyMmU4NjViYmQ1YmVmOGY5OWJi
N2EwNTA3NDMyNjJlZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNs
aWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBA
IC0xNDYsNyArMTQ2LDYgQEAgY2xhc3MgRW1wdHlEcmFnQ2xpZW50IGZpbmFsIDogcHVibGljIERy
YWdDbGllbnQgewogICAgIHZvaWQgd2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3Vy
Y2VBY3Rpb24sIGNvbnN0IEludFBvaW50JiwgRGF0YVRyYW5zZmVyJikgZmluYWwgeyB9CiAgICAg
RHJhZ1NvdXJjZUFjdGlvbiBkcmFnU291cmNlQWN0aW9uTWFza0ZvclBvaW50KGNvbnN0IEludFBv
aW50JikgZmluYWwgeyByZXR1cm4gRHJhZ1NvdXJjZUFjdGlvbk5vbmU7IH0KICAgICB2b2lkIHN0
YXJ0RHJhZyhEcmFnSXRlbSwgRGF0YVRyYW5zZmVyJiwgRnJhbWUmKSBmaW5hbCB7IH0KLSAgICB2
b2lkIGRyYWdDb250cm9sbGVyRGVzdHJveWVkKCkgZmluYWwgeyB9CiB9OwogCiAjZW5kaWYgLy8g
RU5BQkxFKERSQUdfU1VQUE9SVCkKQEAgLTU3MCw4ICs1NjksNyBAQCBQYWdlQ29uZmlndXJhdGlv
biBwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lv
bklEKQogI2VuZGlmCiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxFbXB0eURyYWdDbGllbnQ+IGR1bW15RHJhZ0NsaWVudDsKLSAgICBwYWdlQ29u
ZmlndXJhdGlvbi5kcmFnQ2xpZW50ID0gJmR1bW15RHJhZ0NsaWVudC5nZXQoKTsKKyAgICBwYWdl
Q29uZmlndXJhdGlvbi5kcmFnQ2xpZW50ID0gbWFrZVVuaXF1ZTxFbXB0eURyYWdDbGllbnQ+KCk7
CiAjZW5kaWYKIAogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxFbXB0eUluc3BlY3RvckNsaWVu
dD4gZHVtbXlJbnNwZWN0b3JDbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RyYWdDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NsaWVudC5oCmluZGV4IDM3
ODYwNjgwOTk2ZTM5Y2FlMzg4M2RiNDg3NzAzZThlNGEyNzY3M2UuLmIyYmNkYWRjMjU5YTg2NjAx
YzZhMjllYjY4MDFjNjJlNTNhYTYzZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RHJhZ0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NsaWVudC5oCkBAIC00
MCw5ICs0MCw4IEBAIGNsYXNzIEltYWdlOwogc3RydWN0IFByb21pc2VkQXR0YWNobWVudEluZm87
CiAKIGNsYXNzIERyYWdDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgotICAgIHZpcnR1YWwgdm9pZCBkcmFnQ29udHJvbGxlckRlc3Ryb3llZCgpID0gMDsKLQog
ICAgIHZpcnR1YWwgYm9vbCB1c2VMZWdhY3lEcmFnQ2xpZW50KCkgeyByZXR1cm4gdHJ1ZTsgfQog
CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdE
ZXN0aW5hdGlvbkFjdGlvbiwgY29uc3QgRHJhZ0RhdGEmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4IGQ1MDhhNjM2ODE3MjVhNTFjZWQ3MzQzODJiZjk1ODcx
OGE2YjYxZGEuLmRhZDAwMmIxOTY4YWQwYjQyNmZiMTJiN2E2NWEwZjM3Mzg2YmU4YmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC0xMzMsMTYgKzEzMywxMyBAQCBz
dGF0aWMgUGxhdGZvcm1Nb3VzZUV2ZW50IGNyZWF0ZU1vdXNlRXZlbnQoY29uc3QgRHJhZ0RhdGEm
IGRyYWdEYXRhKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YUtleSwgV2FsbFRp
bWU6Om5vdygpLCBGb3JjZUF0Q2xpY2ssIE5vVGFwKTsKIH0KIAotRHJhZ0NvbnRyb2xsZXI6OkRy
YWdDb250cm9sbGVyKFBhZ2UmIHBhZ2UsIERyYWdDbGllbnQmIGNsaWVudCkKK0RyYWdDb250cm9s
bGVyOjpEcmFnQ29udHJvbGxlcihQYWdlJiBwYWdlLCBzdGQ6OnVuaXF1ZV9wdHI8RHJhZ0NsaWVu
dD4mJiBjbGllbnQpCiAgICAgOiBtX3BhZ2UocGFnZSkKLSAgICAsIG1fY2xpZW50KGNsaWVudCkK
KyAgICAsIG1fY2xpZW50KFdURk1vdmUoY2xpZW50KSkKIHsKIH0KIAotRHJhZ0NvbnRyb2xsZXI6
On5EcmFnQ29udHJvbGxlcigpCi17Ci0gICAgbV9jbGllbnQuZHJhZ0NvbnRyb2xsZXJEZXN0cm95
ZWQoKTsKLX0KK0RyYWdDb250cm9sbGVyOjp+RHJhZ0NvbnRyb2xsZXIoKSA9IGRlZmF1bHQ7CiAK
IHN0YXRpYyBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZG9jdW1lbnRGcmFnbWVudEZyb21EcmFn
RGF0YShjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEsIEZyYW1lJiBmcmFtZSwgUmFuZ2UmIGNvbnRl
eHQsIGJvb2wgYWxsb3dQbGFpblRleHQsIGJvb2wmIGNob3NlUGxhaW5UZXh0KQogewpAQCAtMjA5
LDcgKzIwNiw3IEBAIHZvaWQgRHJhZ0NvbnRyb2xsZXI6OmRyYWdFbmRlZCgpCiAgICAgY2xlYXJE
cmFnQ2FyZXQoKTsKICAgICByZW1vdmVBbGxEcm9wcGVkSW1hZ2VQbGFjZWhvbGRlcnMoKTsKICAg
ICAKLSAgICBtX2NsaWVudC5kcmFnRW5kZWQoKTsKKyAgICBjbGllbnQoKS5kcmFnRW5kZWQoKTsK
IH0KIAogRHJhZ09wZXJhdGlvbiBEcmFnQ29udHJvbGxlcjo6ZHJhZ0VudGVyZWQoY29uc3QgRHJh
Z0RhdGEmIGRyYWdEYXRhKQpAQCAtMjYwLDcgKzI1Nyw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6
OnBlcmZvcm1EcmFnT3BlcmF0aW9uKGNvbnN0IERyYWdEYXRhJiBkcmFnRGF0YSkKICAgICAgICAg
c2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9IG1fZG9jdW1lbnRVbmRlck1vdXNlLT5zaG91
bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdhdGUoKTsKIAogICAgIGlmICgobV9kcmFn
RGVzdGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGluYXRpb25BY3Rpb25ESFRNTCkgJiYgZHJhZ0lz
SGFuZGxlZEJ5RG9jdW1lbnQobV9kcmFnSGFuZGxpbmdNZXRob2QpKSB7Ci0gICAgICAgIG1fY2xp
ZW50LndpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlv
bkRIVE1MLCBkcmFnRGF0YSk7CisgICAgICAgIGNsaWVudCgpLndpbGxQZXJmb3JtRHJhZ0Rlc3Rp
bmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbkRIVE1MLCBkcmFnRGF0YSk7CiAgICAg
ICAgIFJlZjxGcmFtZT4gbWFpbkZyYW1lKG1fcGFnZS5tYWluRnJhbWUoKSk7CiAgICAgICAgIGJv
b2wgcHJldmVudGVkRGVmYXVsdCA9IGZhbHNlOwogICAgICAgICBpZiAobWFpbkZyYW1lLT52aWV3
KCkpCkBAIC0yNzMsNyArMjcwLDcgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6cGVyZm9ybURyYWdP
cGVyYXRpb24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQogICAgIH0KIAogICAgIGlmICgobV9k
cmFnRGVzdGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGluYXRpb25BY3Rpb25FZGl0KSAmJiBjb25j
bHVkZUVkaXREcmFnKGRyYWdEYXRhKSkgewotICAgICAgICBtX2NsaWVudC5kaWRDb25jbHVkZUVk
aXREcmFnKCk7CisgICAgICAgIGNsaWVudCgpLmRpZENvbmNsdWRlRWRpdERyYWcoKTsKICAgICAg
ICAgbV9kb2N1bWVudFVuZGVyTW91c2UgPSBudWxscHRyOwogICAgICAgICBjbGVhckRyYWdDYXJl
dCgpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI4OSw3ICsyODYsNyBAQCBib29sIERyYWdD
b250cm9sbGVyOjpwZXJmb3JtRHJhZ09wZXJhdGlvbihjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEp
CiAgICAgaWYgKHVybFN0cmluZy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIG1fY2xpZW50LndpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5h
dGlvbkFjdGlvbkxvYWQsIGRyYWdEYXRhKTsKKyAgICBjbGllbnQoKS53aWxsUGVyZm9ybURyYWdE
ZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2FkLCBkcmFnRGF0YSk7CiAg
ICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1ZXN0IHsgbV9wYWdlLm1haW5GcmFtZSgp
LCBSZXNvdXJjZVJlcXVlc3QgeyB1cmxTdHJpbmcgfSwgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeSB9OwogICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0SXNSZXF1ZXN0RnJvbUNsaWVudE9yVXNl
cklucHV0KCk7CiAgICAgbV9wYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmxvYWQoV1RGTW92ZShm
cmFtZUxvYWRSZXF1ZXN0KSk7CkBAIC00ODgsNyArNDg1LDcgQEAgRHJhZ0hhbmRsaW5nTWV0aG9k
IERyYWdDb250cm9sbGVyOjp0cnlEb2N1bWVudERyYWcoY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRh
LCBEcmEKIAogRHJhZ1NvdXJjZUFjdGlvbiBEcmFnQ29udHJvbGxlcjo6ZGVsZWdhdGVEcmFnU291
cmNlQWN0aW9uKGNvbnN0IEludFBvaW50JiByb290Vmlld1BvaW50KQogewotICAgIG1fZHJhZ1Nv
dXJjZUFjdGlvbiA9IG1fY2xpZW50LmRyYWdTb3VyY2VBY3Rpb25NYXNrRm9yUG9pbnQocm9vdFZp
ZXdQb2ludCk7CisgICAgbV9kcmFnU291cmNlQWN0aW9uID0gY2xpZW50KCkuZHJhZ1NvdXJjZUFj
dGlvbk1hc2tGb3JQb2ludChyb290Vmlld1BvaW50KTsKICAgICByZXR1cm4gbV9kcmFnU291cmNl
QWN0aW9uOwogfQogCkBAIC01NzMsNyArNTcwLDcgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6Y29u
Y2x1ZGVFZGl0RHJhZyhjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEpCiAgICAgICAgIHN0eWxlLT5z
ZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUNvbG9yLCBjb2xvci5zZXJpYWxpemVkKCksIGZhbHNlKTsK
ICAgICAgICAgaWYgKCFpbm5lckZyYW1lLT5lZGl0b3IoKS5zaG91bGRBcHBseVN0eWxlKHN0eWxl
LnB0cigpLCBpbm5lclJhbmdlLmdldCgpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgbV9jbGllbnQud2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJhZ0Rlc3Rp
bmF0aW9uQWN0aW9uRWRpdCwgZHJhZ0RhdGEpOworICAgICAgICBjbGllbnQoKS53aWxsUGVyZm9y
bURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb25FZGl0LCBkcmFnRGF0
YSk7CiAgICAgICAgIGlubmVyRnJhbWUtPmVkaXRvcigpLmFwcGx5U3R5bGUoc3R5bGUucHRyKCks
IEVkaXRBY3Rpb246OlNldENvbG9yKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpAQCAt
NjA5LDcgKzYwNiw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OmNvbmNsdWRlRWRpdERyYWcoY29u
c3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQogICAgICAgICBpZiAoIWZyYWdtZW50IHx8ICFlZGl0b3Iu
c2hvdWxkSW5zZXJ0RnJhZ21lbnQoKmZyYWdtZW50LCByYW5nZS5nZXQoKSwgRWRpdG9ySW5zZXJ0
QWN0aW9uOjpEcm9wcGVkKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBt
X2NsaWVudC53aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25B
Y3Rpb25FZGl0LCBkcmFnRGF0YSk7CisgICAgICAgIGNsaWVudCgpLndpbGxQZXJmb3JtRHJhZ0Rl
c3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbkVkaXQsIGRyYWdEYXRhKTsKIAog
ICAgICAgICBpZiAoZWRpdG9yLmNsaWVudCgpICYmIGVkaXRvci5jbGllbnQoKS0+cGVyZm9ybVR3
b1N0ZXBEcm9wKCpmcmFnbWVudCwgKnJhbmdlLCBpc01vdmUpKQogICAgICAgICAgICAgcmV0dXJu
IHRydWU7CkBAIC02MzUsNyArNjMyLDcgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6Y29uY2x1ZGVF
ZGl0RHJhZyhjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEpCiAgICAgICAgIGlmICh0ZXh0LmlzRW1w
dHkoKSB8fCAhZWRpdG9yLnNob3VsZEluc2VydFRleHQodGV4dCwgcmFuZ2UuZ2V0KCksIEVkaXRv
ckluc2VydEFjdGlvbjo6RHJvcHBlZCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICAgICAgbV9jbGllbnQud2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJhZ0Rlc3Rp
bmF0aW9uQWN0aW9uRWRpdCwgZHJhZ0RhdGEpOworICAgICAgICBjbGllbnQoKS53aWxsUGVyZm9y
bURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb25FZGl0LCBkcmFnRGF0
YSk7CiAgICAgICAgIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBmcmFnbWVudCA9IGNyZWF0ZUZy
YWdtZW50RnJvbVRleHQoKnJhbmdlLCB0ZXh0KTsKICAgICAgICAgaWYgKCFmcmFnbWVudCkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTk1Niw3ICs5NTMsNyBAQCBib29sIERyYWdDb250
cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJh
Z09wZXJhdGlvbgogICAgIEFTU0VSVChzdGF0ZS5zb3VyY2UpOwogICAgIEVsZW1lbnQmIGVsZW1l
bnQgPSAqc3RhdGUuc291cmNlOwogCi0gICAgYm9vbCBtdXN0VXNlTGVnYWN5RHJhZ0NsaWVudCA9
IGhhc0RhdGEgPT0gSGFzTm9uRGVmYXVsdFBhc3RlYm9hcmREYXRhOjpZZXMgfHwgbV9jbGllbnQu
dXNlTGVnYWN5RHJhZ0NsaWVudCgpOworICAgIGJvb2wgbXVzdFVzZUxlZ2FjeURyYWdDbGllbnQg
PSBoYXNEYXRhID09IEhhc05vbkRlZmF1bHRQYXN0ZWJvYXJkRGF0YTo6WWVzIHx8IGNsaWVudCgp
LnVzZUxlZ2FjeURyYWdDbGllbnQoKTsKIAogICAgIEludFJlY3QgZHJhZ0ltYWdlQm91bmRzOwog
ICAgIEltYWdlKiBpbWFnZSA9IGdldEltYWdlKGVsZW1lbnQpOwpAQCAtMTAwMiw3ICs5OTksNyBA
QCBib29sIERyYWdDb250cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0
YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgogCiAgICAgICAgICAgICBzcmMuZWRpdG9yKCkuZGlk
V3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAgICAgICAgfQotICAgICAgICBtX2NsaWVu
dC53aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvblNlbGVjdGlvbiwg
ZHJhZ09yaWdpbiwgZGF0YVRyYW5zZmVyKTsKKyAgICAgICAgY2xpZW50KCkud2lsbFBlcmZvcm1E
cmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rpb25TZWxlY3Rpb24sIGRyYWdPcmlnaW4sIGRh
dGFUcmFuc2Zlcik7CiAgICAgICAgIGlmICghZHJhZ0ltYWdlKSB7CiAgICAgICAgICAgICBUZXh0
SW5kaWNhdG9yRGF0YSB0ZXh0SW5kaWNhdG9yOwogICAgICAgICAgICAgZHJhZ0ltYWdlID0gRHJh
Z0ltYWdlIHsgZGlzc29sdmVEcmFnSW1hZ2VUb0ZyYWN0aW9uKGNyZWF0ZURyYWdJbWFnZUZvclNl
bGVjdGlvbihzcmMsIHRleHRJbmRpY2F0b3IpLCBEcmFnSW1hZ2VBbHBoYSkgfTsKQEAgLTEwNTQs
NyArMTA1MSw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBj
b25zdCBEcmFnU3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAgICAgICAgICAgICAgICAgZGVj
bGFyZUFuZFdyaXRlRHJhZ0ltYWdlKGRhdGFUcmFuc2ZlciwgZWxlbWVudCwgIWxpbmtVUkwuaXNF
bXB0eSgpID8gbGlua1VSTCA6IGltYWdlVVJMLCBoaXRUZXN0UmVzdWx0LmFsdERpc3BsYXlTdHJp
bmcoKSk7CiAgICAgICAgIH0KIAotICAgICAgICBtX2NsaWVudC53aWxsUGVyZm9ybURyYWdTb3Vy
Y2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbkltYWdlLCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIp
OworICAgICAgICBjbGllbnQoKS53aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJj
ZUFjdGlvbkltYWdlLCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIpOwogCiAgICAgICAgIGlmICgh
ZHJhZ0ltYWdlKQogICAgICAgICAgICAgZG9JbWFnZURyYWcoZWxlbWVudCwgZHJhZ09yaWdpbiwg
aGl0VGVzdFJlc3VsdC5pbWFnZVJlY3QoKSwgc3JjLCBtX2RyYWdPZmZzZXQsIHN0YXRlLCBXVEZN
b3ZlKGF0dGFjaG1lbnRJbmZvKSk7CkBAIC0xMDk4LDcgKzEwOTUsNyBAQCBib29sIERyYWdDb250
cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJh
Z09wZXJhdGlvbgogICAgICAgICAgICAgICAgIHNyYy5zZWxlY3Rpb24oKS5zZXRTZWxlY3Rpb24o
VmlzaWJsZVNlbGVjdGlvbjo6c2VsZWN0aW9uRnJvbUNvbnRlbnRzT2ZOb2RlKG5vZGUpKTsKICAg
ICAgICAgfQogCi0gICAgICAgIG1fY2xpZW50LndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihE
cmFnU291cmNlQWN0aW9uTGluaywgZHJhZ09yaWdpbiwgZGF0YVRyYW5zZmVyKTsKKyAgICAgICAg
Y2xpZW50KCkud2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rpb25MaW5r
LCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIpOwogICAgICAgICBpZiAoIWRyYWdJbWFnZSkgewog
ICAgICAgICAgICAgVGV4dEluZGljYXRvckRhdGEgdGV4dEluZGljYXRvcjsKICAgICAgICAgICAg
IGRyYWdJbWFnZSA9IERyYWdJbWFnZSB7IGNyZWF0ZURyYWdJbWFnZUZvckxpbmsoZWxlbWVudCwg
bGlua1VSTCwgdGV4dENvbnRlbnRXaXRoU2ltcGxpZmllZFdoaXRlU3BhY2UsIHRleHRJbmRpY2F0
b3IsIHNyYy5zZXR0aW5ncygpLmZvbnRSZW5kZXJpbmdNb2RlKCksIG1fcGFnZS5kZXZpY2VTY2Fs
ZUZhY3RvcigpKSB9OwpAQCAtMTE0OSw3ICsxMTQ2LDcgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6
c3RhcnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0ZSYgc3RhdGUsIERyYWdPcGVyYXRp
b24KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgbV9jbGllbnQu
d2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rpb25BdHRhY2htZW50LCBk
cmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIpOworICAgICAgICBjbGllbnQoKS53aWxsUGVyZm9ybURy
YWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbkF0dGFjaG1lbnQsIGRyYWdPcmlnaW4sIGRh
dGFUcmFuc2Zlcik7CiAgICAgICAgIAogICAgICAgICBpZiAoIWRyYWdJbWFnZSkgewogICAgICAg
ICAgICAgVGV4dEluZGljYXRvckRhdGEgdGV4dEluZGljYXRvcjsKQEAgLTExODQsNyArMTE4MSw3
IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFn
U3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAgICAgICAgIGRyYWdJbWFnZU9mZnNldCA9IElu
dFBvaW50IHsgZHJhZ0ltYWdlU2l6ZShkcmFnSW1hZ2UuZ2V0KCkpIH07CiAgICAgICAgIGRyYWdM
b2MgPSBkcmFnTG9jRm9yREhUTUxEcmFnKG1vdXNlRHJhZ2dlZFBvaW50LCBkcmFnT3JpZ2luLCBk
cmFnSW1hZ2VPZmZzZXQsIGZhbHNlKTsKIAotICAgICAgICBtX2NsaWVudC53aWxsUGVyZm9ybURy
YWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbkNvbG9yLCBkcmFnT3JpZ2luLCBkYXRhVHJh
bnNmZXIpOworICAgICAgICBjbGllbnQoKS53aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJh
Z1NvdXJjZUFjdGlvbkNvbG9yLCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIpOwogICAgICAgICBk
b1N5c3RlbURyYWcoV1RGTW92ZShkcmFnSW1hZ2UpLCBkcmFnTG9jLCBkcmFnT3JpZ2luLCBzcmMs
IHN0YXRlLCB7IH0pOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkBAIC0xMTkyLDcgKzEx
ODksNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywgY29uc3Qg
RHJhZ1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgogCiAgICAgaWYgKHN0YXRlLnR5cGUgPT0g
RHJhZ1NvdXJjZUFjdGlvbkRIVE1MICYmIGRyYWdJbWFnZSkgewogICAgICAgICBBU1NFUlQobV9k
cmFnU291cmNlQWN0aW9uICYgRHJhZ1NvdXJjZUFjdGlvbkRIVE1MKTsKLSAgICAgICAgbV9jbGll
bnQud2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rpb25ESFRNTCwgZHJh
Z09yaWdpbiwgZGF0YVRyYW5zZmVyKTsKKyAgICAgICAgY2xpZW50KCkud2lsbFBlcmZvcm1EcmFn
U291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rpb25ESFRNTCwgZHJhZ09yaWdpbiwgZGF0YVRyYW5z
ZmVyKTsKICAgICAgICAgZG9TeXN0ZW1EcmFnKFdURk1vdmUoZHJhZ0ltYWdlKSwgZHJhZ0xvYywg
ZHJhZ09yaWdpbiwgc3JjLCBzdGF0ZSwgeyB9KTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQpAQCAtMTI0OCw3ICsxMjQ1LDcgQEAgdm9pZCBEcmFnQ29udHJvbGxlcjo6ZG9JbWFnZURyYWco
RWxlbWVudCYgZWxlbWVudCwgY29uc3QgSW50UG9pbnQmIGRyYWdPcmlnaW4sIGMKIAogdm9pZCBE
cmFnQ29udHJvbGxlcjo6YmVnaW5EcmFnKERyYWdJdGVtIGRyYWdJdGVtLCBGcmFtZSYgZnJhbWUs
IGNvbnN0IEludFBvaW50JiBtb3VzZURvd25Qb2ludCwgY29uc3QgSW50UG9pbnQmIG1vdXNlRHJh
Z2dlZFBvaW50LCBEYXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlciwgRHJhZ1NvdXJjZUFjdGlvbiBk
cmFnU291cmNlQWN0aW9uKQogewotICAgIEFTU0VSVCghbV9jbGllbnQudXNlTGVnYWN5RHJhZ0Ns
aWVudCgpKTsKKyAgICBBU1NFUlQoIWNsaWVudCgpLnVzZUxlZ2FjeURyYWdDbGllbnQoKSk7CiAK
ICAgICBtX2RpZEluaXRpYXRlRHJhZyA9IHRydWU7CiAgICAgbV9kcmFnSW5pdGlhdG9yID0gZnJh
bWUuZG9jdW1lbnQoKTsKQEAgLTEyNjAsNyArMTI1Nyw3IEBAIHZvaWQgRHJhZ0NvbnRyb2xsZXI6
OmJlZ2luRHJhZyhEcmFnSXRlbSBkcmFnSXRlbSwgRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRQb2lu
dCYKICAgICBhdXRvIG1vdXNlRG93blBvaW50SW5Sb290Vmlld0Nvb3JkaW5hdGVzID0gdmlld1By
b3RlY3Rvci0+cm9vdFZpZXdUb0NvbnRlbnRzKGZyYW1lLnZpZXcoKS0+Y29udGVudHNUb1Jvb3RW
aWV3KG1vdXNlRG93blBvaW50KSk7CiAgICAgYXV0byBtb3VzZURyYWdnZWRQb2ludEluUm9vdFZp
ZXdDb29yZGluYXRlcyA9IHZpZXdQcm90ZWN0b3ItPnJvb3RWaWV3VG9Db250ZW50cyhmcmFtZS52
aWV3KCktPmNvbnRlbnRzVG9Sb290Vmlldyhtb3VzZURyYWdnZWRQb2ludCkpOwogCi0gICAgbV9j
bGllbnQuYmVnaW5EcmFnKFdURk1vdmUoZHJhZ0l0ZW0pLCBmcmFtZSwgbW91c2VEb3duUG9pbnRJ
blJvb3RWaWV3Q29vcmRpbmF0ZXMsIG1vdXNlRHJhZ2dlZFBvaW50SW5Sb290Vmlld0Nvb3JkaW5h
dGVzLCBkYXRhVHJhbnNmZXIsIGRyYWdTb3VyY2VBY3Rpb24pOworICAgIGNsaWVudCgpLmJlZ2lu
RHJhZyhXVEZNb3ZlKGRyYWdJdGVtKSwgZnJhbWUsIG1vdXNlRG93blBvaW50SW5Sb290Vmlld0Nv
b3JkaW5hdGVzLCBtb3VzZURyYWdnZWRQb2ludEluUm9vdFZpZXdDb29yZGluYXRlcywgZGF0YVRy
YW5zZmVyLCBkcmFnU291cmNlQWN0aW9uKTsKIH0KIAogdm9pZCBEcmFnQ29udHJvbGxlcjo6ZG9T
eXN0ZW1EcmFnKERyYWdJbWFnZSBpbWFnZSwgY29uc3QgSW50UG9pbnQmIGRyYWdMb2MsIGNvbnN0
IEludFBvaW50JiBldmVudFBvcywgRnJhbWUmIGZyYW1lLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRl
LCBQcm9taXNlZEF0dGFjaG1lbnRJbmZvJiYgcHJvbWlzZWRBdHRhY2htZW50SW5mbykKQEAgLTEz
MTYsNyArMTMxMyw3IEBAIHZvaWQgRHJhZ0NvbnRyb2xsZXI6OmRvU3lzdGVtRHJhZyhEcmFnSW1h
Z2UgaW1hZ2UsIGNvbnN0IEludFBvaW50JiBkcmFnTG9jLCBjb25zCiAgICAgICAgICAgICBpdGVt
LnVybCA9IGZyYW1lLmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKHN0cmlwTGVhZGluZ0FuZFRyYWls
aW5nSFRNTFNwYWNlcyhsaW5rLT5nZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpocmVmQXR0cikpKTsK
ICAgICAgICAgfQogICAgIH0KLSAgICBtX2NsaWVudC5zdGFydERyYWcoV1RGTW92ZShpdGVtKSwg
KnN0YXRlLmRhdGFUcmFuc2ZlciwgZnJhbWVQcm90ZWN0b3IuZ2V0KCkpOworICAgIGNsaWVudCgp
LnN0YXJ0RHJhZyhXVEZNb3ZlKGl0ZW0pLCAqc3RhdGUuZGF0YVRyYW5zZmVyLCBmcmFtZVByb3Rl
Y3Rvci5nZXQoKSk7CiAgICAgLy8gRHJhZ0NsaWVudDo6c3RhcnREcmFnIGNhbiBjYXVzZSBvdXIg
UGFnZSB0byBkaXNwZWFyLCBkZWFsbG9jYXRpbmcgfHRoaXN8LgogICAgIGlmICghZnJhbWVQcm90
ZWN0b3ItPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9EcmFnQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJv
bGxlci5oCmluZGV4IDQyNTI2YjExNWM0NDVkZDY3MjRiZmFkMmE4ZjRhNmVlMTY4N2FkMzYuLmRl
NmRhMzEwZjE1Y2RhNjlkZmM0OWIyMjE1MmE4ZDdiYmZiM2VlMmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RyYWdDb250cm9sbGVyLmgKQEAgLTUzLDEwICs1Myw5IEBAIHN0cnVjdCBQcm9taXNlZEF0dGFj
aG1lbnRJbmZvOwogICAgIGNsYXNzIERyYWdDb250cm9sbGVyIHsKICAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRHJhZ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6Ci0gICAgICAgIERyYWdDb250cm9sbGVyKFBhZ2UmLCBEcmFnQ2xpZW50Jik7Cisg
ICAgICAgIERyYWdDb250cm9sbGVyKFBhZ2UmLCBzdGQ6OnVuaXF1ZV9wdHI8RHJhZ0NsaWVudD4m
Jik7CiAgICAgICAgIH5EcmFnQ29udHJvbGxlcigpOwogCi0gICAgICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8RHJhZ0NvbnRyb2xsZXI+IGNyZWF0ZShQYWdlJiwgRHJhZ0NsaWVudCYpOwogICAg
ICAgICBzdGF0aWMgRHJhZ09wZXJhdGlvbiBwbGF0Zm9ybUdlbmVyaWNEcmFnT3BlcmF0aW9uKCk7
CiAKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgRHJhZ09wZXJhdGlvbiBkcmFnRW50ZXJlZChjb25z
dCBEcmFnRGF0YSYpOwpAQCAtMTMzLDYgKzEzMiw4IEBAIHN0cnVjdCBQcm9taXNlZEF0dGFjaG1l
bnRJbmZvOwogI2VuZGlmCiAgICAgICAgIH0KIAorICAgICAgICBEcmFnQ2xpZW50JiBjbGllbnQo
KSBjb25zdCB7IHJldHVybiAqbV9jbGllbnQ7IH0KKwogICAgICAgICBib29sIHRyeVRvVXBkYXRl
RHJvcHBlZEltYWdlUGxhY2Vob2xkZXJzKGNvbnN0IERyYWdEYXRhJik7CiAgICAgICAgIHZvaWQg
cmVtb3ZlQWxsRHJvcHBlZEltYWdlUGxhY2Vob2xkZXJzKCk7CiAKQEAgLTE0NSw3ICsxNDYsNyBA
QCBzdHJ1Y3QgUHJvbWlzZWRBdHRhY2htZW50SW5mbzsKICAgICAgICAgUHJvbWlzZWRBdHRhY2ht
ZW50SW5mbyBwcm9taXNlZEF0dGFjaG1lbnRJbmZvKEZyYW1lJiwgRWxlbWVudCYpOwogI2VuZGlm
CiAgICAgICAgIFBhZ2UmIG1fcGFnZTsKLSAgICAgICAgRHJhZ0NsaWVudCYgbV9jbGllbnQ7Cisg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxEcmFnQ2xpZW50PiBtX2NsaWVudDsKIAogICAgICAgICBS
ZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnRVbmRlck1vdXNlOyAvLyBUaGUgZG9jdW1lbnQgdGhl
IG1vdXNlIHdhcyBsYXN0IGRyYWdnZWQgb3Zlci4KICAgICAgICAgUmVmUHRyPERvY3VtZW50PiBt
X2RyYWdJbml0aWF0b3I7IC8vIFRoZSBEb2N1bWVudCAoaWYgYW55KSB0aGF0IGluaXRpYXRlZCB0
aGUgZHJhZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGRiMGI1ZmJiNjI0MDAyNDkxMzJjOWIwNDkw
ODZhOTMxM2YyODE2YzYuLjE2ZGNlOGM4YzcyMWY4ZjE0ZTJkN2QyMjZkNzc0ZWJlZGYzNzczZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjE4LDcgKzIxOCw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNv
bmZpZ3VyYXRpb24mJiBwYWdlQ29uZmlndXJhdGlvbikKICAgICA6IG1fY2hyb21lKG1ha2VVbmlx
dWU8Q2hyb21lPigqdGhpcywgKnBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCkpCiAgICAg
LCBtX2RyYWdDYXJldENvbnRyb2xsZXIobWFrZVVuaXF1ZTxEcmFnQ2FyZXRDb250cm9sbGVyPigp
KQogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi0gICAgLCBtX2RyYWdDb250cm9sbGVyKG1ha2VV
bmlxdWU8RHJhZ0NvbnRyb2xsZXI+KCp0aGlzLCAqcGFnZUNvbmZpZ3VyYXRpb24uZHJhZ0NsaWVu
dCkpCisgICAgLCBtX2RyYWdDb250cm9sbGVyKG1ha2VVbmlxdWU8RHJhZ0NvbnRyb2xsZXI+KCp0
aGlzLCBXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLmRyYWdDbGllbnQpKSkKICNlbmRpZgogICAg
ICwgbV9mb2N1c0NvbnRyb2xsZXIobWFrZVVuaXF1ZTxGb2N1c0NvbnRyb2xsZXI+KCp0aGlzLCBw
YWdlSW5pdGlhbEFjdGl2aXR5U3RhdGUoKSkpCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDJkMzNkNzYzMTkz
ZjRmMTVmMDgxZDliNDlhOGZhYTk2YjUyZDM5YjUuLjczYTcyZDgwOTRhYTcyZmJkODlkM2U5ZjJm
NWFmZjNlODZlNDU0NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZp
Z3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24u
Y3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ29va2llSmFyLmgiCiAjaW5jbHVkZSAi
RGF0YWJhc2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmgi
CisjaW5jbHVkZSAiRHJhZ0NsaWVudC5oIgogI2luY2x1ZGUgIkVkaXRvckNsaWVudC5oIgogI2lu
Y2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VMb2dnaW5n
Q2xpZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggNjA2
ZDYzOGJjODljMTNlYzVkMGRiOGI3ODVkZWM1ODY1NDY2MmU2MS4uOTg2MDkwOTg1YTNjYWFmYjgz
NjYwMjUwMzBjYjNiN2UzOGM2OGQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3Vy
YXRpb24uaApAQCAtODAsNyArODAsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBVbmlxdWVSZWY8
RWRpdG9yQ2xpZW50PiBlZGl0b3JDbGllbnQ7CiAgICAgUmVmPFNvY2tldFByb3ZpZGVyPiBzb2Nr
ZXRQcm92aWRlcjsKLSAgICBEcmFnQ2xpZW50KiBkcmFnQ2xpZW50IHsgbnVsbHB0ciB9OworICAg
IHN0ZDo6dW5pcXVlX3B0cjxEcmFnQ2xpZW50PiBkcmFnQ2xpZW50OwogICAgIEluc3BlY3RvckNs
aWVudCogaW5zcGVjdG9yQ2xpZW50IHsgbnVsbHB0ciB9OwogI2lmIEVOQUJMRShBUFBMRV9QQVkp
CiAgICAgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50KiBwYXltZW50Q29vcmRpbmF0b3JDbGllbnQg
eyBudWxscHRyIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9EcmFnQ29u
dHJvbGxlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFj
Lm1tCmluZGV4IDBlM2RjNWYwODE1NmFiYjE1NGJkZGE2ZDZhZTI5N2VlZTIxMjg2YmIuLjAzMzdk
ZDc0YjU5ZDlmNDU0NjFmMDYyMjZmOWZhNTJkYzA4YTBiZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCkBAIC0xNTksNyArMTU5LDcgQEAgdm9pZCBE
cmFnQ29udHJvbGxlcjo6dXBkYXRlU3VwcG9ydGVkVHlwZUlkZW50aWZpZXJzRm9yRHJhZ0hhbmRs
aW5nTWV0aG9kKERyYWdIYW4KIAogdm9pZCBEcmFnQ29udHJvbGxlcjo6ZGVjbGFyZUFuZFdyaXRl
RHJhZ0ltYWdlKERhdGFUcmFuc2ZlciYgZGF0YVRyYW5zZmVyLCBFbGVtZW50JiBlbGVtZW50LCBj
b25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBsYWJlbCkKIHsKLSAgICBtX2NsaWVudC5kZWNs
YXJlQW5kV3JpdGVEcmFnSW1hZ2UoZGF0YVRyYW5zZmVyLnBhc3RlYm9hcmQoKS5uYW1lKCksIGVs
ZW1lbnQsIHVybCwgbGFiZWwsIGVsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKTsKKyAgICBjbGll
bnQoKS5kZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoZGF0YVRyYW5zZmVyLnBhc3RlYm9hcmQoKS5u
YW1lKCksIGVsZW1lbnQsIHVybCwgbGFiZWwsIGVsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuY3BwCmluZGV4IDYwOTU5
YTcyMjQ3YmU3ZTJhZGE3YmI1NjRkMjI2ZmYyOTE1MTRkN2UuLjFhOWE0ZTlhY2Q4MDY2MDRjNTI3
NmI3YTIzYTEyNzFhOTlmNDUwNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHAKQEAgLTYwLDExICs2MCw2
IEBAIHZvaWQgV2ViRHJhZ0NsaWVudDo6ZGlkQ29uY2x1ZGVFZGl0RHJhZygpCiB9CiAjZW5kaWYK
IAotdm9pZCBXZWJEcmFnQ2xpZW50OjpkcmFnQ29udHJvbGxlckRlc3Ryb3llZCgpCi17Ci0gICAg
ZGVsZXRlIHRoaXM7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5B
QkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oCmluZGV4IGIyNGVjZjc2YzQ1NTI0ZjYwZDg2
YWVkNmZiMWVjZjZmMGYzOTQyMWYuLjI3YzRiMjcyYTczOWRkODQ2OTgwZGJkYTUyOWIzMzYyZDJl
M2VlZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJEcmFnQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkRyYWdDbGllbnQuaApAQCAtNTQsOCArNTQsNiBAQCBwcml2YXRlOgogICAgIHZv
aWQgZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUs
IFdlYkNvcmU6OkVsZW1lbnQmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpG
cmFtZSopIG92ZXJyaWRlOwogI2VuZGlmCiAKLSAgICB2b2lkIGRyYWdDb250cm9sbGVyRGVzdHJv
eWVkKCkgb3ZlcnJpZGU7Ci0KICAgICBXZWJQYWdlKiBtX3BhZ2U7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDZlZjhlNDVkMjg1ZmFl
YTRiYTAxZTY5ZDQ0MDkzNGYyMjY5YzQ2M2IuLmM3OTc2OTc5YmRkYWRkNzBhYTg5NzE1MDE1NmM5
YzA4MGJiYjNhN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCkBAIC00NTYsNyArNDU2LDcgQEAgV2ViUGFnZTo6V2ViUGFnZShQYWdlSWRlbnRpZmll
ciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIHBh
Z2VDb25maWd1cmF0aW9uLmNvbnRleHRNZW51Q2xpZW50ID0gbmV3IFdlYkNvbnRleHRNZW51Q2xp
ZW50KHRoaXMpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLSAgICBwYWdlQ29u
ZmlndXJhdGlvbi5kcmFnQ2xpZW50ID0gbmV3IFdlYkRyYWdDbGllbnQodGhpcyk7CisgICAgcGFn
ZUNvbmZpZ3VyYXRpb24uZHJhZ0NsaWVudCA9IG1ha2VVbmlxdWU8V2ViRHJhZ0NsaWVudD4odGhp
cyk7CiAjZW5kaWYKICAgICBwYWdlQ29uZmlndXJhdGlvbi5pbnNwZWN0b3JDbGllbnQgPSBuZXcg
V2ViSW5zcGVjdG9yQ2xpZW50KHRoaXMpOwogI2lmIFVTRShBVVRPQ09SUkVDVElPTl9QQU5FTCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRy
YWdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRy
YWdDbGllbnQuaAppbmRleCAzMGRmM2Y3M2Q4NTBlYTc2OWM3MTM1MjIxZDJlODg2NWVhNjdlMDNh
Li4xNWRjYmE1NDQyMTE0NTBhMGE1ZWU2YzE1M2EwMzk2ZmE0YTg2NGI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5o
CkBAIC0zOCw3ICszOCw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVz
dGluYXRpb25BY3Rpb24oV2ViQ29yZTo6RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLCBjb25zdCBXZWJD
b3JlOjpEcmFnRGF0YSYpIG92ZXJyaWRlOwogICAgIHZvaWQgd2lsbFBlcmZvcm1EcmFnU291cmNl
QWN0aW9uKFdlYkNvcmU6OkRyYWdTb3VyY2VBY3Rpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiwgV2ViQ29yZTo6RGF0YVRyYW5zZmVyJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkcmFnQ29udHJv
bGxlckRlc3Ryb3llZCgpIG92ZXJyaWRlOwogICAgIFdlYkNvcmU6OkRyYWdTb3VyY2VBY3Rpb24g
ZHJhZ1NvdXJjZUFjdGlvbk1hc2tGb3JQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgd2lu
ZG93UG9pbnQpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RhcnREcmFnKFdlYkNvcmU6OkRyYWdJdGVt
LCBXZWJDb3JlOjpEYXRhVHJhbnNmZXImLCBXZWJDb3JlOjpGcmFtZSYpIG92ZXJyaWRlOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFn
Q2xpZW50Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJh
Z0NsaWVudC5tbQppbmRleCA2NDBjZTgzMjE0MmU1NGRiYTE2OTBkNDZiMzhhMGNhYjM3ZDhlY2M1
Li40Mjc4YjAzNDJmOWExYTBhYWJhM2U5NDIzNWI2YzgwYTU3MGQ4NjA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQu
bW0KQEAgLTI0OSw5ICsyNDksNCBAQCB2b2lkIFdlYkRyYWdDbGllbnQ6OmRpZENvbmNsdWRlRWRp
dERyYWcoKQogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAotdm9pZCBXZWJEcmFn
Q2xpZW50OjpkcmFnQ29udHJvbGxlckRlc3Ryb3llZCgpIAotewotICAgIGRlbGV0ZSB0aGlzOwot
fQotCiAjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBiZGQ2ZjBkNThjMDkzYzRiZWMzZGM3NjhlNTg0
YmU5MjFhMjljYzM2Li4wZDc2ZTQ3Yjg0NDljMjhlYTE4N2FlNDBjYTZhNTk2ODE4Y2UwOGFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNDUxLDcg
KzE0NTEsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6KE5T
U3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogI2VuZGlmCiAKICNpZiBFTkFCTEUo
RFJBR19TVVBQT1JUKQotICAgIHBhZ2VDb25maWd1cmF0aW9uLmRyYWdDbGllbnQgPSBuZXcgV2Vi
RHJhZ0NsaWVudChzZWxmKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi5kcmFnQ2xpZW50ID0gbWFr
ZVVuaXF1ZTxXZWJEcmFnQ2xpZW50PihzZWxmKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEFQUExF
X1BBWSkKQEAgLTE3MTAsNyArMTcxMCw3IEBAIC0gKGlkKWluaXRTaW1wbGVIVE1MRG9jdW1lbnRX
aXRoU3R5bGU6KE5TU3RyaW5nICopc3R5bGUgZnJhbWU6KENHUmVjdClmcmFtZSBwcmVmCiAgICAg
KTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xp
ZW50SU9TKHNlbGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi0gICAgcGFnZUNvbmZpZ3Vy
YXRpb24uZHJhZ0NsaWVudCA9IG5ldyBXZWJEcmFnQ2xpZW50KHNlbGYpOworICAgIHBhZ2VDb25m
aWd1cmF0aW9uLmRyYWdDbGllbnQgPSBtYWtlVW5pcXVlPFdlYkRyYWdDbGllbnQ+KHNlbGYpOwog
I2VuZGlmCiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcAppbmRleCAxYmMx
MzUyNmQ2MGQyZTRhODFiNjNhOGI3NWRkZmRhZTcyNGUyMWZhLi5kNDNjMmU0NGVjODAwY2Q1NTM5
YTJkMDIwYzlkZmE0YTUzN2Q1MDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcApAQCAtMTYyLDggKzE2Miwz
IEBAIHZvaWQgV2ViRHJhZ0NsaWVudDo6c3RhcnREcmFnKERyYWdJdGVtIGl0ZW0sIERhdGFUcmFu
c2ZlciYgZGF0YVRyYW5zZmVyLCBGcmFtZSYKICAgICAgICAgZnJhbWUuZXZlbnRIYW5kbGVyKCku
ZHJhZ1NvdXJjZUVuZGVkQXQoZ2VuZXJhdGVNb3VzZUV2ZW50KG1fd2ViVmlldywgZmFsc2UpLCBv
cGVyYXRpb24pOwogICAgIH0KIH0KLQotdm9pZCBXZWJEcmFnQ2xpZW50OjpkcmFnQ29udHJvbGxl
ckRlc3Ryb3llZCgpCi17Ci0gICAgZGVsZXRlIHRoaXM7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmgKaW5kZXggNDVl
M2NhNzI3NTNhZDFhYzExNTNiZTk2MTkzZjZlZDYyMWZmODlkMi4uMjdkNDdjOGMzMDVkZDUwZDFk
NDg3MjljYWI2NWY3MmJkMTAwNzBlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuaApAQCAtMzQsNyArMzQsNiBAQCBj
bGFzcyBXZWJEcmFnQ2xpZW50IDogcHVibGljIFdlYkNvcmU6OkRyYWdDbGllbnQgewogICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFdlYkRyYWdDbGllbnQoV2ViVmll
dyopOwotICAgIHZpcnR1YWwgdm9pZCBkcmFnQ29udHJvbGxlckRlc3Ryb3llZCgpOwogCiAgICAg
dmlydHVhbCBXZWJDb3JlOjpEcmFnU291cmNlQWN0aW9uIGRyYWdTb3VyY2VBY3Rpb25NYXNrRm9y
UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBl
cmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oV2ViQ29yZTo6RHJhZ0Rlc3RpbmF0aW9uQWN0aW9u
LCBjb25zdCBXZWJDb3JlOjpEcmFnRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cAppbmRleCA3ZWM0ZmYxMWE2OTI0ZDYwZmRhNDhiYzgyMjc0M2Y5M2UxNDNjZDIzLi5iZmJjZDQ0
MWJkYzdhOGYyMDI2NzJkYjgxOWJmMDFjMzU3ZDRkYzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcApAQCAtMzEyMyw3ICszMTIzLDcgQEAgSFJFU1VMVCBXZWJWaWV3Ojppbml0V2l0
aEZyYW1lKFJFQ1QgZnJhbWUsIF9Jbl8gQlNUUiBmcmFtZU5hbWUsIF9Jbl8gQlNUUiBncm91cE4K
ICAgICApOwogICAgIGNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNs
aWVudCh0aGlzKTsKICAgICBjb25maWd1cmF0aW9uLmNvbnRleHRNZW51Q2xpZW50ID0gbmV3IFdl
YkNvbnRleHRNZW51Q2xpZW50KHRoaXMpOwotICAgIGNvbmZpZ3VyYXRpb24uZHJhZ0NsaWVudCA9
IG5ldyBXZWJEcmFnQ2xpZW50KHRoaXMpOworICAgIGNvbmZpZ3VyYXRpb24uZHJhZ0NsaWVudCA9
IG1ha2VVbmlxdWU8V2ViRHJhZ0NsaWVudD4odGhpcyk7CiAgICAgY29uZmlndXJhdGlvbi5pbnNw
ZWN0b3JDbGllbnQgPSBtX2luc3BlY3RvckNsaWVudDsKICAgICBjb25maWd1cmF0aW9uLmxvYWRl
ckNsaWVudEZvck1haW5GcmFtZSA9IG5ldyBXZWJGcmFtZUxvYWRlckNsaWVudDsKICAgICBjb25m
aWd1cmF0aW9uLmFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlID0gJldlYkFwcGxpY2F0aW9uQ2FjaGU6
OnN0b3JhZ2UoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>