<?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>223232</bug_id>
          
          <creation_ts>2021-03-15 19:09:53 -0700</creation_ts>
          <short_desc>Revert r272629 as it caused regressions in some apps</short_desc>
          <delta_ts>2021-03-15 20:24:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>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>
          
          <blocked>215782</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739795</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-15 19:09:53 -0700</bug_when>
    <thetext>Revert r272629 as it caused regressions in some apps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739796</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-15 19:10:04 -0700</bug_when>
    <thetext>&lt;rdar://75440378&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739797</commentid>
    <comment_count>2</comment_count>
      <attachid>423281</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-15 19:11:43 -0700</bug_when>
    <thetext>Created attachment 423281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739798</commentid>
    <comment_count>3</comment_count>
      <attachid>423282</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-15 19:17:01 -0700</bug_when>
    <thetext>Created attachment 423282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739815</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-15 20:24:11 -0700</bug_when>
    <thetext>Committed r274462: &lt;https://commits.webkit.org/r274462&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423282.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423281</attachid>
            <date>2021-03-15 19:11:43 -0700</date>
            <delta_ts>2021-03-15 19:16:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223232-20210315191142.patch</filename>
            <type>text/plain</type>
            <size>25090</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcwNWNjMWM5MDdlZGFlNzJk
NGJlZTk1ZjNkMjU1ZDM1MDQ1ZTYwMjUuLjk4MmZiMzRkNTRhMGNmODkwODUxNTBiZGFlZGI4ZWU3
YjJhNDVkYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjEtMDMtMTUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByZXZlcnQgcjI3
MjYyOSBhcyBpdCBjYXVzZWQgcmVncmVzc2lvbnMgaW4gc29tZSBhcHBzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyMzIKKyAgICAgICAgPHJkYXI6
Ly83NTQ0MDM3OD4KKworICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50
SW1wbENvY29hLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29j
b2EubW06CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLQmxhbmtPdmVybGF5Vmlldy5oOiBS
ZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
ZGlkQ29tbWl0TG9hZEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpy
dW5KYXZhU2NyaXB0QWxlcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJ1bkph
dmFTY3JpcHRDb25maXJtKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpydW5KYXZh
U2NyaXB0UHJvbXB0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpkaWRDb21taXRMYXllclRyZWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFn
ZVByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlUmVuZGVyaW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06CisKIDIwMjEtMDMtMTUgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBdm9pZCBoZWFwIGFsbG9jYXRpb24gaW4gUmVt
b3RlQXVkaW9EZXN0aW5hdGlvblByb3h5OjpyZW5kZXJRdWFudHVtKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dAppbmRleCBhZmVmYzMyYjE2MDRlYjYyYzJiMjBjYjFhODJmYjQwYTUwN2M0MmY5Li5kNGQy
ZDMzZTVlNzAzNDZlYjRkM2ZjNmIzYTJjNTE3MzE5MWViYTU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2Eu
dHh0CkBAIC00MTEsNyArNDExLDYgQEAgVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW0KIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQogVUlQcm9jZXNz
L0NvY29hL1dlYlVSTFNjaGVtZUhhbmRsZXJDb2NvYS5tbQogVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLm1tCi1VSVByb2Nlc3MvQ29jb2EvV0tCbGFua092ZXJsYXlWaWV3Lm1tCiBVSVByb2Nl
c3MvQ29jb2EvV0tDb250YWN0UGlja2VyLm1tCiBVSVByb2Nlc3MvQ29jb2EvV0tFZGl0Q29tbWFu
ZC5tbQogVUlQcm9jZXNzL0NvY29hL1dLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYTNk
ZGYwMzRmNDYyMWFiZDQ4MTRjNjVkOWIxMTgwNjU0ZWYwZTIzZS4uOGU1MWU1ODUwMWEzNDA1Mzhh
Yzc1ZjhkZTBlMTY1NjIxMDMyZDM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xNDAzLDI0ICsxNDAzLDYgQEAgLSAodm9pZClfZGlk
SW52YWxpZGF0ZURhdGFGb3JBdHRhY2htZW50OihBUEk6OkF0dGFjaG1lbnQmKWF0dGFjaG1lbnQK
IAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKLS0gKEJPT0wpX2hhc0Js
YW5rT3ZlcmxheQotewotICAgIHJldHVybiAhIV9ibGFua092ZXJsYXlWaWV3OwotfQotCi0tICh2
b2lkKV9zZXRIYXNCbGFua092ZXJsYXk6KEJPT0wpaGFzQmxhbmtPdmVybGF5Ci17Ci0gICAgaWYg
KCEhX2JsYW5rT3ZlcmxheVZpZXcgPT0gaGFzQmxhbmtPdmVybGF5KQotICAgICAgICByZXR1cm47
Ci0KLSAgICBpZiAoaGFzQmxhbmtPdmVybGF5KSB7Ci0gICAgICAgIF9ibGFua092ZXJsYXlWaWV3
ID0gYWRvcHROUyhbW1dLQmxhbmtPdmVybGF5VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpbc2Vs
ZiBib3VuZHNdXSk7Ci0gICAgICAgIFtzZWxmIGFkZFN1YnZpZXc6X2JsYW5rT3ZlcmxheVZpZXcu
Z2V0KCldOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFtfYmxhbmtPdmVybGF5VmlldyByZW1vdmVG
cm9tU3VwZXJ2aWV3XTsKLSAgICAgICAgX2JsYW5rT3ZlcmxheVZpZXcgPSBudWxscHRyOwotICAg
IH0KLX0KIAogLSAoaWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPilfYXBwSGlnaGxpZ2h0RGVs
ZWdhdGUKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0ludGVybmFsLmgKaW5kZXggMmE1ZmMzOTJkMmVlZDNmYmVkYjFiMGJiNTk5MWU4ZmE0
NzU1NDhiYS4uMTc3ODdmZDUwMmQxOThhMzBjMDBjZmM1NjU0MzE1MDBlZTZhNmJkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFs
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVy
bmFsLmgKQEAgLTI1LDcgKzI1LDYgQEAKIAogI2ltcG9ydCAiUERGUGx1Z2luSWRlbnRpZmllci5o
IgogI2ltcG9ydCAiU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUuaCIKLSNpbXBvcnQgIldLQmxh
bmtPdmVybGF5Vmlldy5oIgogI2ltcG9ydCAiV0tTaGFyZVNoZWV0LmgiCiAjaW1wb3J0ICJXS1dl
YlZpZXdDb25maWd1cmF0aW9uLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdQcml2YXRlLmgiCkBAIC0x
MzMsOCArMTMyLDYgQEAgY2xhc3MgVmlld0dlc3R1cmVDb250cm9sbGVyOwogICAgIF9XS1JlbmRl
cmluZ1Byb2dyZXNzRXZlbnRzIF9vYnNlcnZlZFJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzOwogICAg
IEJPT0wgX3VzZVBsYXRmb3JtRmluZFVJOwogCi0gICAgUmV0YWluUHRyPFdLQmxhbmtPdmVybGF5
Vmlldz4gX2JsYW5rT3ZlcmxheVZpZXc7Ci0KICNpZiBQTEFURk9STShNQUMpCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFdlYktpdDo6V2ViVmlld0ltcGw+IF9pbXBsOwogICAgIFJldGFpblB0cjxXS1Rl
eHRGaW5kZXJDbGllbnQ+IF90ZXh0RmluZGVyQ2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNDc3NDlhZGQ0
ZDJlMzc0MGZkMmE4ODFlNWJkYzA2OGNlOGIzYjM4NS4uNjQ4NWMzMmU2MzdlMGYzNjNhYmMwNWIy
NDllMDMxZjNjZGI4NzNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0zODgsOCArMzg4LDYgQEAgZm9yIHRoaXMg
cHJvcGVydHkuCiAtICh2b2lkKV9kaWRFbmFibGVCcm93c2VyRXh0ZW5zaW9uczooTlNEaWN0aW9u
YXJ5PE5TU3RyaW5nICosIE5TU3RyaW5nICo+ICopZXh0ZW5zaW9uSURUb05hbWVNYXAgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQp
X2RpZERpc2FibGVCcm93c2VyRXh0ZW5zaW9uczooTlNTZXQ8TlNTdHJpbmcgKj4gKilleHRlbnNp
b25JRHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKIAotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SGFzQmxhbmtPdmVybGF5Oikg
Qk9PTCBfaGFzQmxhbmtPdmVybGF5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7Ci0KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCB3ZWFrLCBzZXR0ZXI9
X3NldEFwcEhpZ2hsaWdodERlbGVnYXRlOikgaWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPiBf
YXBwSGlnaGxpZ2h0RGVsZWdhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3Jlc3RvcmVBcHBIaWdobGlnaHRzOihOU0FycmF5
PE5TRGF0YSAqPiAqKWRhdGEgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX2FkZEFwcEhpZ2hsaWdodCBXS19BUElfQVZBSUxBQkxF
KG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCmluZGV4IDMxODlmYTAy
OGM1NTkyMTJlNTk4NjUwYTA3NzNlNjE1NTlhN2Y4OWMuLjI2ZWM4YzBkYzQzZTExNTkyZGY3MGFh
ZTZhYzdjMjhiNGI3ODhjYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKQEAgLTYwLDggKzYwLDYgQEAgcHVibGljOgogCiAg
ICAgYm9vbCBzY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nKCkgZmluYWw7CiAKLSAg
ICB2b2lkIHNldEhhc0JsYW5rT3ZlcmxheShib29sKSBmaW5hbDsKLQogI2lmIEVOQUJMRShBVFRB
Q0hNRU5UX0VMRU1FTlQpCiAgICAgdm9pZCBkaWRJbnNlcnRBdHRhY2htZW50KEFQSTo6QXR0YWNo
bWVudCYsIGNvbnN0IFN0cmluZyYgc291cmNlKSBmaW5hbDsKICAgICB2b2lkIGRpZFJlbW92ZUF0
dGFjaG1lbnQoQVBJOjpBdHRhY2htZW50JikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQppbmRleCAzNzg4M2ZiN2E5
MzM2YmEyOTY2ODg3ZmY5NjMyNjQ3MjQ4MDk3MWMxLi43ZDUwN2JlOTA4NDUxNWIxYWEyOTU4MjRk
OGIyNDIwNmU0NGUyYTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KQEAgLTI4LDcgKzI4LDYgQEAKIAogI2ltcG9ydCAi
V0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVy
bmFsLmgiCi0jaW1wb3J0ICJXS1dlYlZpZXdQcml2YXRlLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdQ
cml2YXRlRm9yVGVzdGluZy5oIgogI2ltcG9ydCA8V2ViQ29yZS9BbHRlcm5hdGl2ZVRleHRVSUNv
bnRyb2xsZXIuaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KQEAgLTgwLDExICs3OSw2IEBAIGJv
b2wgUGFnZUNsaWVudEltcGxDb2NvYTo6c2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGlu
ZygpCiAgICAgcmV0dXJuIFttX3dlYlZpZXcgX3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRl
c3RpbmddOwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OnNldEhhc0JsYW5rT3Zlcmxh
eShib29sIGhhc0JsYW5rT3ZlcmxheSkKLXsKLSAgICBbbV93ZWJWaWV3IF9zZXRIYXNCbGFua092
ZXJsYXk6aGFzQmxhbmtPdmVybGF5XTsKLX0KLQogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1F
TlQpCiAKIHZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlkSW5zZXJ0QXR0YWNobWVudChBUEk6
OkF0dGFjaG1lbnQmIGF0dGFjaG1lbnQsIGNvbnN0IFN0cmluZyYgc291cmNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tCbGFua092ZXJsYXlWaWV3LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0JsYW5rT3ZlcmxheVZpZXcuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDEzNDMxNTY2MDJmMzQ1ODM0MmUwOTJiNTUwNThmNjQ2
NmVjMWFmMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0JsYW5rT3ZlcmxheVZpZXcuaAorKysgL2Rl
di9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
LSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0g
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lm
IFBMQVRGT1JNKE1BQykKLSNpbXBvcnQgPEFwcEtpdC9BcHBLaXQuaD4KLQotdXNpbmcgVmlld1R5
cGUgPSBOU1ZpZXc7Ci11c2luZyBSZWN0VHlwZSA9IE5TUmVjdDsKLSNlbHNlCi0jaW1wb3J0IDxV
SUtpdC9VSUtpdC5oPgotCi11c2luZyBWaWV3VHlwZSA9IFVJVmlldzsKLXVzaW5nIFJlY3RUeXBl
ID0gQ0dSZWN0OwotI2VuZGlmCi0KLUBpbnRlcmZhY2UgV0tCbGFua092ZXJsYXlWaWV3IDogVmll
d1R5cGUKLQotLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KFJlY3RUeXBlKWZyYW1lOwot
Ci1AZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggYjZjMDc1YjFhOTU5
MmIxYjUzNDVhYWUyZTA3M2U2YjIzZjVkMDY1OS4uY2YzNTRhYTQ5N2I3YzhhODllNTAyMGVhNWZj
Y2UzMmE0YWYxNmM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtNTE3
LDggKzUxNyw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRNb3VzZUV2ZW50UG9s
aWN5KFdlYkNvcmU6Ok1vdXNlRXZlbnRQb2xpY3kpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIHNl
dEhhc0JsYW5rT3ZlcmxheShib29sKSB7IH0KLQogI2lmIEhBVkUoUEFTVEVCT0FSRF9EQVRBX09X
TkVSKQogICAgIHZpcnR1YWwgV2ViQ29yZTo6RGF0YU93bmVyVHlwZSBkYXRhT3duZXJGb3JQYXN0
ZWJvYXJkKFBhc3RlYm9hcmRBY2Nlc3NJbnRlbnQpIGNvbnN0IHsgcmV0dXJuIFdlYkNvcmU6OkRh
dGFPd25lclR5cGU6OlVuZGVmaW5lZDsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCA3MThlMjJjY2Q4ZWQwNzE0YWQxMmJhMGVlNmIzMDYzYzYx
NjEyNDliLi5mM2JiMmJkMjVhYjYyOWMxYzcwMzBkZjRmNGU3MmNjYTQ3M2VlYzQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTI0NjUsMjUgKzI0NjUsNiBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6bGF5ZXJUcmVlQ29tbWl0Q29tcGxldGUoKQogfQogI2VuZGlm
CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpzdG9wTWFraW5nVmlld0JsYW5rRHVlVG9MYWNrT2ZSZW5k
ZXJpbmdVcGRhdGUoKQotewotI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIEFTU0VSVChtX2hhc1Vw
ZGF0ZWRSZW5kZXJpbmdBZnRlckRpZENvbW1pdExvYWQpOwotICAgIHBhZ2VDbGllbnQoKS5zZXRI
YXNCbGFua092ZXJsYXkoZmFsc2UpOwotI2VuZGlmCi19Ci0KLXZvaWQgV2ViUGFnZVByb3h5Ojpt
YWtlVmlld0JsYW5rSWZVbnBhaW50ZWRTaW5jZUxhc3RMb2FkQ29tbWl0KCkKLXsKLSNpZiBQTEFU
Rk9STShDT0NPQSkKLSAgICBpZiAoIW1faGFzVXBkYXRlZFJlbmRlcmluZ0FmdGVyRGlkQ29tbWl0
TG9hZCkgewotICAgICAgICAvLyBBZGQgYSBibGFuayBvdmVybGF5IHZpZXcgdG8gbWFrZSB0aGUg
dmlldyBibGFuay4gVGhpcyBvdmVybGF5IHdpbGwgYmUgdGFrZW4gZG93biBvbmNlCi0gICAgICAg
IC8vIHdoZW4gd2UndmUgcGFpbnRlZCBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgY29tbWl0dGlu
ZyBhIGxvYWQuCi0gICAgICAgIHBhZ2VDbGllbnQoKS5zZXRIYXNCbGFua092ZXJsYXkodHJ1ZSk7
Ci0gICAgfQotI2VuZGlmCi19Ci0KIHZvaWQgV2ViUGFnZVByb3h5OjpkaXNjYXJkUXVldWVkTW91
c2VFdmVudHMoKQogewogICAgIHdoaWxlIChtX21vdXNlRXZlbnRRdWV1ZS5zaXplKCkgPiAxKQpA
QCAtNDY2MSwxMiArNDY0MiwxMCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZv
ckZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBGcmFtZUluZm9EYXRhJgogICAgIG1faGFz
Q29tbWl0dGVkQW55UHJvdmlzaW9uYWxMb2FkcyA9IHRydWU7CiAgICAgbV9wcm9jZXNzLT5kaWRD
b21taXRQcm92aXNpb25hbExvYWQoKTsKIAotI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGlmIChm
cmFtZS0+aXNNYWluRnJhbWUoKSkgewotICAgICAgICBtX2hhc1VwZGF0ZWRSZW5kZXJpbmdBZnRl
ckRpZENvbW1pdExvYWQgPSBmYWxzZTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlm
IChmcmFtZS0+aXNNYWluRnJhbWUoKSkgeworICAgICAgICBtX2hhc1JlY2VpdmVkTGF5ZXJUcmVl
VHJhbnNhY3Rpb25BZnRlckRpZENvbW1pdExvYWQgPSBmYWxzZTsKICAgICAgICAgbV9maXJzdExh
eWVyVHJlZVRyYW5zYWN0aW9uSWRBZnRlckRpZENvbW1pdExvYWQgPSBkb3duY2FzdDxSZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYVByb3h5PigqZHJhd2luZ0FyZWEoKSkubmV4dExheWVyVHJlZVRy
YW5zYWN0aW9uSUQoKTsKLSNlbmRpZgogICAgIH0KICNlbmRpZgogCkBAIC01NjU1LDEyICs1NjM0
LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJ1bkphdmFTY3JpcHRBbGVydChGcmFtZUlkZW50aWZp
ZXIgZnJhbWVJRCwgRnJhbWVJbmZvRGF0YSYmIGYKICAgICAgICAgaWYgKGF1dG8qIGF1dG9tYXRp
b25TZXNzaW9uID0gcHJvY2VzcygpLnByb2Nlc3NQb29sKCkuYXV0b21hdGlvblNlc3Npb24oKSkK
ICAgICAgICAgICAgIGF1dG9tYXRpb25TZXNzaW9uLT53aWxsU2hvd0phdmFTY3JpcHREaWFsb2co
KnRoaXMpOwogICAgIH0KLQotICAgIC8vIElmIHdlIGhhdmUgbm90IHBhaW50ZWQgeWV0IHNpbmNl
IHRoZSBsYXN0IGxvYWQgY29tbWl0LCB0aGVuIHdlIGFyZSBsaWtlbHkgc3RpbGwgZGlzcGxheWlu
ZyB0aGUgcHJldmlvdXMgcGFnZS4KLSAgICAvLyBEaXNwbGF5aW5nIGEgSlMgcHJvbXB0IGZvciB0
aGUgbmV3IHBhZ2Ugd2l0aCB0aGUgb2xkIHBhZ2UgYmVoaW5kIHdvdWxkIGJlIGNvbmZ1c2luZyBz
byB3ZSBhZGQgYSBibGFuayBvdmVybGF5Ci0gICAgLy8gb24gdG9wIG9mIHRoZSB2aWV3IGluIHRo
aXMgY2FzZS4KLSAgICBtYWtlVmlld0JsYW5rSWZVbnBhaW50ZWRTaW5jZUxhc3RMb2FkQ29tbWl0
KCk7Ci0KICAgICBtX3VpQ2xpZW50LT5ydW5KYXZhU2NyaXB0QWxlcnQoKnRoaXMsIG1lc3NhZ2Us
IGZyYW1lLCBXVEZNb3ZlKGZyYW1lSW5mbyksIFdURk1vdmUocmVwbHkpKTsKIH0KIApAQCAtNTY3
OSwxMSArNTY1Miw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpydW5KYXZhU2NyaXB0Q29uZmlybShG
cmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgRnJhbWVJbmZvRGF0YSYmCiAgICAgICAgICAgICBhdXRv
bWF0aW9uU2Vzc2lvbi0+d2lsbFNob3dKYXZhU2NyaXB0RGlhbG9nKCp0aGlzKTsKICAgICB9CiAK
LSAgICAvLyBJZiB3ZSBoYXZlIG5vdCBwYWludGVkIHlldCBzaW5jZSB0aGUgbGFzdCBsb2FkIGNv
bW1pdCwgdGhlbiB3ZSBhcmUgbGlrZWx5IHN0aWxsIGRpc3BsYXlpbmcgdGhlIHByZXZpb3VzIHBh
Z2UuCi0gICAgLy8gRGlzcGxheWluZyBhIEpTIHByb21wdCBmb3IgdGhlIG5ldyBwYWdlIHdpdGgg
dGhlIG9sZCBwYWdlIGJlaGluZCB3b3VsZCBiZSBjb25mdXNpbmcgc28gd2UgYWRkIGEgYmxhbmsg
b3ZlcmxheQotICAgIC8vIG9uIHRvcCBvZiB0aGUgdmlldyBpbiB0aGlzIGNhc2UuCi0gICAgbWFr
ZVZpZXdCbGFua0lmVW5wYWludGVkU2luY2VMYXN0TG9hZENvbW1pdCgpOwotCiAgICAgbV91aUNs
aWVudC0+cnVuSmF2YVNjcmlwdENvbmZpcm0oKnRoaXMsIG1lc3NhZ2UsIGZyYW1lLCBXVEZNb3Zl
KGZyYW1lSW5mbyksIFdURk1vdmUocmVwbHkpKTsKIH0KIApAQCAtNTcwMiwxMSArNTY3MCw2IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpydW5KYXZhU2NyaXB0UHJvbXB0KEZyYW1lSWRlbnRpZmllciBm
cmFtZUlELCBGcmFtZUluZm9EYXRhJiYKICAgICAgICAgICAgIGF1dG9tYXRpb25TZXNzaW9uLT53
aWxsU2hvd0phdmFTY3JpcHREaWFsb2coKnRoaXMpOwogICAgIH0KIAotICAgIC8vIElmIHdlIGhh
dmUgbm90IHBhaW50ZWQgeWV0IHNpbmNlIHRoZSBsYXN0IGxvYWQgY29tbWl0LCB0aGVuIHdlIGFy
ZSBsaWtlbHkgc3RpbGwgZGlzcGxheWluZyB0aGUgcHJldmlvdXMgcGFnZS4KLSAgICAvLyBEaXNw
bGF5aW5nIGEgSlMgcHJvbXB0IGZvciB0aGUgbmV3IHBhZ2Ugd2l0aCB0aGUgb2xkIHBhZ2UgYmVo
aW5kIHdvdWxkIGJlIGNvbmZ1c2luZyBzbyB3ZSBhZGQgYSBibGFuayBvdmVybGF5Ci0gICAgLy8g
b24gdG9wIG9mIHRoZSB2aWV3IGluIHRoaXMgY2FzZS4KLSAgICBtYWtlVmlld0JsYW5rSWZVbnBh
aW50ZWRTaW5jZUxhc3RMb2FkQ29tbWl0KCk7Ci0KICAgICBtX3VpQ2xpZW50LT5ydW5KYXZhU2Ny
aXB0UHJvbXB0KCp0aGlzLCBtZXNzYWdlLCBkZWZhdWx0VmFsdWUsIGZyYW1lLCBXVEZNb3ZlKGZy
YW1lSW5mbyksIFdURk1vdmUocmVwbHkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCBlYjYwNGE1MDI2MDUwN2EwMTM2NDI2MTVlMWViNTgxYjU5ZTAxMGRl
Li5mNWNlZjZmMTgwZmNlM2RhNGZmYzA5YzBjODczNzc4MjU3YjIzMDlkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjE3MCw5ICsyMTcwLDYgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGRpZFBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwKGNvbnN0IFdlYkNvcmU6OkRpY3Rp
b25hcnlQb3B1cEluZm8mKTsKICNlbmRpZgogCi0gICAgdm9pZCBzdG9wTWFraW5nVmlld0JsYW5r
RHVlVG9MYWNrT2ZSZW5kZXJpbmdVcGRhdGUoKTsKLSAgICB2b2lkIG1ha2VWaWV3QmxhbmtJZlVu
cGFpbnRlZFNpbmNlTGFzdExvYWRDb21taXQoKTsKLQogICAgIC8vIFNwZWxsaW5nIGFuZCBncmFt
bWFyLgogICAgIHZvaWQgY2hlY2tTcGVsbGluZ09mU3RyaW5nKGNvbnN0IFN0cmluZyYgdGV4dCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQzMl90IG1pc3NwZWxsaW5nTG9jYXRpb24sIGludDMy
X3QgbWlzc3BlbGxpbmdMZW5ndGgpPiYmKTsKICAgICB2b2lkIGNoZWNrR3JhbW1hck9mU3RyaW5n
KGNvbnN0IFN0cmluZyYgdGV4dCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2ViQ29y
ZTo6R3JhbW1hckRldGFpbD4mJiwgaW50MzJfdCBiYWRHcmFtbWFyTG9jYXRpb24sIGludDMyX3Qg
YmFkR3JhbW1hckxlbmd0aCk+JiYpOwpAQCAtMjE5Miw3ICsyMTg5LDYgQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgZGlkUmVjZWl2ZUV2ZW50KHVpbnQzMl90IG9wYXF1ZVR5cGUsIGJvb2wgaGFuZGxl
ZCk7CiAjaWYgUExBVEZPUk0oTUFDKQotICAgIHZvaWQgZGlkVXBkYXRlUmVuZGVyaW5nQWZ0ZXJD
b21taXR0aW5nTG9hZCgpOwogICAgIHZvaWQgZm9udEF0U2VsZWN0aW9uQ2FsbGJhY2soY29uc3Qg
Rm9udEluZm8mLCBkb3VibGUsIGJvb2wsIENhbGxiYWNrSUQpOwogI2VuZGlmCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKQEAgLTI0ODcsMTMgKzI0ODMsMTEgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8TWVkaWFVc2FnZU1hbmFnZXI+IG1fbWVkaWFVc2FnZU1hbmFnZXI7CiAjZW5k
aWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGJvb2wgbV9oYXNVcGRhdGVkUmVuZGVyaW5n
QWZ0ZXJEaWRDb21taXRMb2FkIHsgdHJ1ZSB9OwotI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBPcHRpb25hbDxXZWJDb3JlOjpJbnB1dE1vZGU+IG1fcGVuZGluZ0lucHV0TW9k
ZUNoYW5nZTsKICAgICBUcmFuc2FjdGlvbklEIG1fZmlyc3RMYXllclRyZWVUcmFuc2FjdGlvbklk
QWZ0ZXJEaWRDb21taXRMb2FkOwogICAgIGludDMyX3QgbV9kZXZpY2VPcmllbnRhdGlvbiB7IDAg
fTsKKyAgICBib29sIG1faGFzUmVjZWl2ZWRMYXllclRyZWVUcmFuc2FjdGlvbkFmdGVyRGlkQ29t
bWl0TG9hZCB7IHRydWUgfTsKICAgICBib29sIG1faGFzTmV0d29ya1JlcXVlc3RzT25TdXNwZW5k
ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0tleWJvYXJkQW5pbWF0aW5nSW4geyBmYWxzZSB9
OwogICAgIGJvb2wgbV9pc1Njcm9sbGluZ09yWm9vbWluZyB7IGZhbHNlIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggODczMTc2
ZDk1OTE2ZmYwNDhjMGI1MjI1NWJkZTk4ZmE5MDMxZmQ1Ny4uNGM1NDI0ZDVjMDQ5MTA5NTA2Y2Vm
MGU0M2FiODY1Nzc0NTFhN2M3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzcwLDcgKzM3MCw2IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2VQcm94eSB7CiAgICAgUmVjb3JkQXV0b2NvcnJlY3Rpb25SZXNwb25zZShpbnQzMl90IHJl
c3BvbnNlLCBTdHJpbmcgcmVwbGFjZWRTdHJpbmcsIFN0cmluZyByZXBsYWNlbWVudFN0cmluZyk7
CiAKICAgICBTZXRFZGl0YWJsZUVsZW1lbnRJc0ZvY3VzZWQoYm9vbCBlZGl0YWJsZUVsZW1lbnRJ
c0ZvY3VzZWQpCi0gICAgRGlkVXBkYXRlUmVuZGVyaW5nQWZ0ZXJDb21taXR0aW5nTG9hZCgpCiAj
ZW5kaWYKIAogI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggNWRlMTVhM2RiYmYyNDc2
NTE3MWY2YmQwYWVhMDczOWRjMjE4NTYyZS4uZDNmMDNmNTM1Mzc2ZDViN2JlZmNhOTA3NzE2NzBl
NDU2Nzk3N2MwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBh
Z2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVBy
b3h5SU9TLm1tCkBAIC0zMzgsMTAgKzMzOCw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21t
aXRMYXllclRyZWUoY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYKICAg
ICB0aGVtZUNvbG9yQ2hhbmdlZChsYXllclRyZWVUcmFuc2FjdGlvbi50aGVtZUNvbG9yKCkpOwog
ICAgIHBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvckRpZENoYW5nZShsYXllclRyZWVUcmFuc2Fj
dGlvbi5wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IoKSk7CiAKLSAgICBpZiAoIW1faGFzVXBk
YXRlZFJlbmRlcmluZ0FmdGVyRGlkQ29tbWl0TG9hZCkgeworICAgIGlmICghbV9oYXNSZWNlaXZl
ZExheWVyVHJlZVRyYW5zYWN0aW9uQWZ0ZXJEaWRDb21taXRMb2FkKSB7CiAgICAgICAgIGlmIChs
YXllclRyZWVUcmFuc2FjdGlvbi50cmFuc2FjdGlvbklEKCkgPj0gbV9maXJzdExheWVyVHJlZVRy
YW5zYWN0aW9uSWRBZnRlckRpZENvbW1pdExvYWQpIHsKLSAgICAgICAgICAgIG1faGFzVXBkYXRl
ZFJlbmRlcmluZ0FmdGVyRGlkQ29tbWl0TG9hZCA9IHRydWU7Ci0gICAgICAgICAgICBzdG9wTWFr
aW5nVmlld0JsYW5rRHVlVG9MYWNrT2ZSZW5kZXJpbmdVcGRhdGUoKTsKKyAgICAgICAgICAgIG1f
aGFzUmVjZWl2ZWRMYXllclRyZWVUcmFuc2FjdGlvbkFmdGVyRGlkQ29tbWl0TG9hZCA9IHRydWU7
CiAgICAgICAgICAgICBtX2xhc3RWaXNpYmxlQ29udGVudFJlY3RVcGRhdGUgPSBWaXNpYmxlQ29u
dGVudFJlY3RVcGRhdGVJbmZvKCk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQppbmRleCA2NDk4MmIxMmFiMDhjNDAw
YjZlM2MwMzI1M2E1ZjgyN2Q1ZTQ0MWY2Li5mMDU2YjY4ZDE4YTdmMDFmZWJmNGUyODA0YjU5Y2Y4
YzQwYWI5N2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFn
ZVByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJv
eHlNYWMubW0KQEAgLTY1MywxNSArNjUzLDYgQEAgYm9vbCBXZWJQYWdlUHJveHk6OnVzZWlUdW5l
c0FWT3V0cHV0Q29udGV4dCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJlZmVyZW5jZXMtPnN0b3Jl
KCkuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VpVHVuZXNBVk91dHB1
dENvbnRleHRLZXkoKSk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpkaWRVcGRhdGVSZW5kZXJp
bmdBZnRlckNvbW1pdHRpbmdMb2FkKCkKLXsKLSAgICBpZiAobV9oYXNVcGRhdGVkUmVuZGVyaW5n
QWZ0ZXJEaWRDb21taXRMb2FkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2hhc1VwZGF0ZWRS
ZW5kZXJpbmdBZnRlckRpZENvbW1pdExvYWQgPSB0cnVlOwotICAgIHN0b3BNYWtpbmdWaWV3Qmxh
bmtEdWVUb0xhY2tPZlJlbmRlcmluZ1VwZGF0ZSgpOwotfQotCiAjaWYgRU5BQkxFKFVJX1BST0NF
U1NfUERGX0hVRCkKIAogdm9pZCBXZWJQYWdlUHJveHk6OmNyZWF0ZVBERkhVRChQREZQbHVnaW5J
ZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkMzVj
NDJlYjMxZDgzNDVjZTlhZTAxNTUwNzhjZGJmMzFiY2U0MDBmLi4yNmE5ZjgzZmIzNDNlMGVjNTA2
NDRjNmI4Njk1MjZkYmQ0ZjVlNTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk0OCw3ICs5NDgsNiBAQAogCQk0NEVDM0VBOTI0N0Y1
QzA5MDA1OTQ4OUMgLyogX1dLRHJhZ0FjdGlvbnNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFQzNFQTgyNDdGNUMwODAwNTk0ODlDIC8q
IF9XS0RyYWdBY3Rpb25zSW50ZXJuYWwuaCAqLzsgfTsKIAkJNDYwRjQ4OEYxRjk5NkY3MTAwQ0Y0
Qjg3IC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MEY0ODhEMUY5
OTZGNkMwMENGNEI4NyAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CiAJCTQ2MEY0ODkwMUY5OTZGNzEwMENGNEI4NyAvKiBXZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NjBGNDg4RTFGOTk2RjZDMDBDRjRCODcgLyogV2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb25NZXNzYWdlcy5oICovOyB9OwotCQk0NjEzQTc0NDI1RDMyQ0NG
MDBBNTAzM0EgLyogV0tCbGFua092ZXJsYXlWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjEzQTc0MjI1RDMyQ0I4MDBBNTAzM0EgLyogV0tCbGFu
a092ZXJsYXlWaWV3LmggKi87IH07CiAJCTQ2MTRGMTMyMjVERUQ4NzUwMDcwMDZFNyAvKiBHUFVQ
cm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QUM1MzI0MjVERUQ4MUUwMDNCNTdFQyAvKiBHUFVQcm9jZXNz
Q29ubmVjdGlvblBhcmFtZXRlcnMuaCAqLzsgfTsKIAkJNDYxQ0NDQTUyMzE0ODVBNzAwQjY1OUI5
IC8qIFVJUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MzIzNjg1MjMxNDgzM0YwMEE0OEZBNyAvKiBVSVJlbW90ZU9i
amVjdFJlZ2lzdHJ5LmggKi87IH07CiAJCTQ2MUNDQ0E2MjMxNDg1QUEwMEI2NTlCOSAvKiBXZWJS
ZW1vdGVPYmplY3RSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDYzMjM2ODMyMzE0ODFFRjAwQTQ4RkE3IC8qIFdlYlJlbW90ZU9iamVjdFJl
Z2lzdHJ5LmggKi87IH07CkBAIC0zODIyLDggKzM4MjEsNiBAQAogCQk0NjAzMDExQjIzNEJFMzFF
MDA5QzgyMTcgLyogV2ViQmFja0ZvcndhcmRDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJCYWNrRm9yd2FyZENhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ2MEY0ODhEMUY5OTZGNkMwMENGNEI4NyAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHA7
IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKIAkJNDYwRjQ4OEUxRjk5NkY2QzAwQ0Y0Qjg3IC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb25NZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VzLmg7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTQ2MTNBNzQyMjVEMzJDQjgwMEE1MDMzQSAv
KiBXS0JsYW5rT3ZlcmxheVZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCbGFua092ZXJsYXlWaWV3
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2MTNBNzQzMjVEMzJDQjkwMEE1MDMz
QSAvKiBXS0JsYW5rT3ZlcmxheVZpZXcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS0JsYW5r
T3ZlcmxheVZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2MjEwN0Q3MUYz
OERCRDMwMERENzgxMCAvKiBQaW5nTG9hZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQaW5nTG9hZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2
MzIzNjgzMjMxNDgxRUYwMEE0OEZBNyAvKiBXZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0NjMyMzY4NDIzMTQ4MjVDMDBBNDhGQTcgLyogV2ViUmVtb3RlT2JqZWN0UmVn
aXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjk0NSw4ICs2OTQyLDYgQEAKIAkJCQk1
MUQxMjQzMjFFNkRFNTIxMDAyQjI4MjAgLyogV2ViVVJMU2NoZW1lSGFuZGxlckNvY29hLm1tICov
LAogCQkJCTJERkM3REI5MUJDQ0MxOTUwMEMxNTQ4QyAvKiBXZWJWaWV3SW1wbC5oICovLAogCQkJ
CTJERkM3REJBMUJDQ0MxOTUwMEMxNTQ4QyAvKiBXZWJWaWV3SW1wbC5tbSAqLywKLQkJCQk0NjEz
QTc0MjI1RDMyQ0I4MDBBNTAzM0EgLyogV0tCbGFua092ZXJsYXlWaWV3LmggKi8sCi0JCQkJNDYx
M0E3NDMyNUQzMkNCOTAwQTUwMzNBIC8qIFdLQmxhbmtPdmVybGF5Vmlldy5tbSAqLywKIAkJCQlF
NTk2REQ2ODI1MUU3MUQzMDBDMjc1QTcgLyogV0tDb250YWN0UGlja2VyLmggKi8sCiAJCQkJRTU5
NkRENjkyNTFFNzFENDAwQzI3NUE3IC8qIFdLQ29udGFjdFBpY2tlci5tbSAqLywKIAkJCQkyRUNG
NjZDQzIxRDZCNzdFMDA5RTVDM0YgLyogV0tFZGl0Q29tbWFuZC5oICovLApAQCAtMTI0MzcsNyAr
MTI0MzIsNiBAQAogCQkJCUJDNjQ2QzFCMTFERDM5OUYwMDY0NTVCMCAvKiBXS0JhY2tGb3J3YXJk
TGlzdFJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEREIzMTcxMjRFQkQxMzAwNDhEMTNDIC8q
IFdLQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NENUVCQkIxNzQ2QTgzRTAwMEMxQzQ1IC8q
IFdLQmFzZU1hYy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDYxM0E3NDQyNUQzMkNDRjAwQTUwMzNB
IC8qIFdLQmxhbmtPdmVybGF5Vmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCQUFDNzMxNDRF
NjE5RTAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNCQUFDNzQxNDRFNjFBNTAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlckludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzg4QTA1QzE0NzQzQzkwMDA2
MzE5RTUgLyogV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyUHJpdmF0ZS5oIGluIEhlYWRlcnMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4
IDAyMzM0YzlmZjc3MTEzMmFlMDc5MWI1MDM2YjdiMWQwY2I3MjZmNmYuLjFhMzc3YjQwOGMzMjUx
ZDcwNDEzZDEyNWRlNDZhODQ1Mzc3NWFjMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02MTkwLDkgKzYxOTAsNiBAQCB2b2lkIFdlYlBhZ2U6
OmRpZENvbW1pdExvYWQoV2ViRnJhbWUqIGZyYW1lKQogICAgICAgICAgICAgc2NhbGVQYWdlKDEs
IEludFBvaW50KCkpOwogICAgIH0KIAotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBtX2RpZFVwZGF0
ZVJlbmRlcmluZ0FmdGVyQ29tbWl0dGluZ0xvYWQgPSBmYWxzZTsKLSNlbmRpZgogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgbV9oYXNSZWNlaXZlZFZpc2libGVDb250ZW50UmVjdHNBZnRl
ckRpZENvbW1pdExvYWQgPSBmYWxzZTsKICAgICBtX2hhc1Jlc3RvcmVkRXhwb3NlZENvbnRlbnRS
ZWN0QWZ0ZXJEaWRDb21taXRMb2FkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggM2IyNzYxYTUxMWI0ZTE4YzA2MDk0ZTM2NTFmYjQ1Mjk5
NjE0MTE3NC4uYzdkNGQxOTA4ODVhYmE3ZjU4MDI4YWYyYTdlYzAyZTI2Nzc2MTM4YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNjI4LDggKzYyOCw2
IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCBzZXRUb3BPdmVyaGFuZ0lt
YWdlKFdlYkltYWdlKik7CiAgICAgdm9pZCBzZXRCb3R0b21PdmVyaGFuZ0ltYWdlKFdlYkltYWdl
Kik7Ci0KLSAgICB2b2lkIGRpZFVwZGF0ZVJlbmRlcmluZygpOwogICAgIAogICAgIHZvaWQgc2V0
VXNlU3lzdGVtQXBwZWFyYW5jZShib29sKTsKIApAQCAtMjE0Myw5ICsyMTQxLDYgQEAgcHJpdmF0
ZToKICAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBv
c2l0aW9uJiYpPiBtX3BlbmRpbmdTeW5jaHJvbm91c1Bvc2l0aW9uSW5mb3JtYXRpb25SZXBseTsK
ICAgICBPcHRpb25hbDxzdGQ6OnBhaXI8VHJhbnNhY3Rpb25JRCwgZG91YmxlPj4gbV9sYXN0TGF5
ZXJUcmVlVHJhbnNhY3Rpb25JZEFuZFBhZ2VTY2FsZUJlZm9yZVNjYWxpbmdQYWdlOwogI2VuZGlm
Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIGJvb2wgbV9kaWRVcGRhdGVSZW5kZXJpbmdBZnRlckNv
bW1pdHRpbmdMb2FkIHsgZmFsc2UgfTsKLSNlbmRpZgogCiAgICAgV2ViQ29yZTo6VGltZXIgbV9s
YXllclZvbGF0aWxpdHlUaW1lcjsKICAgICBWZWN0b3I8Q29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4+IG1fbWFya0xheWVyc0FzVm9sYXRpbGVDb21wbGV0aW9uSGFuZGxlcnM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggZjZjZjExYWE1MjBiZWM1ZGM2
OTE3NGQ3Yzk2YWM1MjgwMmFlMGUxZS4uNWY2NmJmZDcyZmZmMzU2Njg4YTYyYWNhZjQ5NGRkOGJj
ZmFkMGE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAt
NDg1LDcgKzQ4NSw2IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnVwZGF0
ZVJlbmRlcmluZyhVcGRhdGVSZW5kZXJpbmdUeXBlIGZsdXNoVHlwCiAgICAgICAgIH0KIAogICAg
ICAgICBzZW5kRGlkRmlyc3RMYXllckZsdXNoSWZOZWVkZWQoKTsKLSAgICAgICAgbV93ZWJQYWdl
LmRpZFVwZGF0ZVJlbmRlcmluZygpOwogICAgICAgICBoYW5kbGVBY3Rpdml0eVN0YXRlQ2hhbmdl
Q2FsbGJhY2tzSWZOZWVkZWQoKTsKICAgICAgICAgaW52YWxpZGF0ZVJlbmRlcmluZ1VwZGF0ZVJ1
bkxvb3BPYnNlcnZlcigpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KaW5kZXggNzRkYTYzNTc4ODJjZDAxMzAyMDg0MDk3
ZjA2NGQyMWMzYjkxNWQwNC4uNWUyOTdiZDkxNjhmZWM3OGQ2MjU1NmI4MDA5MWViMjZlMjNjMTU5
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBh
Z2VNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBh
Z2VNYWMubW0KQEAgLTEwMzIsMTUgKzEwMzIsNiBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVZpc2li
bGVDb250ZW50UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYsIE1vbgog
ewogfQogCi12b2lkIFdlYlBhZ2U6OmRpZFVwZGF0ZVJlbmRlcmluZygpCi17Ci0gICAgaWYgKG1f
ZGlkVXBkYXRlUmVuZGVyaW5nQWZ0ZXJDb21taXR0aW5nTG9hZCkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgbV9kaWRVcGRhdGVSZW5kZXJpbmdBZnRlckNvbW1pdHRpbmdMb2FkID0gdHJ1ZTsKLSAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFVwZGF0ZVJlbmRlcmluZ0FmdGVyQ29t
bWl0dGluZ0xvYWQoKSk7Ci19Ci0KICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHZvaWQgV2ViUGFnZTo6cGxheWJhY2tUYXJnZXRT
ZWxlY3RlZChQbGF5YmFja1RhcmdldENsaWVudENvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwg
Y29uc3QgV2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldENvbnRleHQmIHRhcmdldENvbnRleHQp
IGNvbnN0CiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423282</attachid>
            <date>2021-03-15 19:17:01 -0700</date>
            <delta_ts>2021-03-15 20:24:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223232-20210315191700.patch</filename>
            <type>text/plain</type>
            <size>27480</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcwNWNjMWM5MDdlZGFlNzJk
NGJlZTk1ZjNkMjU1ZDM1MDQ1ZTYwMjUuLjk4MmZiMzRkNTRhMGNmODkwODUxNTBiZGFlZGI4ZWU3
YjJhNDVkYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjEtMDMtMTUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByZXZlcnQgcjI3
MjYyOSBhcyBpdCBjYXVzZWQgcmVncmVzc2lvbnMgaW4gc29tZSBhcHBzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyMzIKKyAgICAgICAgPHJkYXI6
Ly83NTQ0MDM3OD4KKworICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50
SW1wbENvY29hLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29j
b2EubW06CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLQmxhbmtPdmVybGF5Vmlldy5oOiBS
ZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
ZGlkQ29tbWl0TG9hZEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpy
dW5KYXZhU2NyaXB0QWxlcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJ1bkph
dmFTY3JpcHRDb25maXJtKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpydW5KYXZh
U2NyaXB0UHJvbXB0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpkaWRDb21taXRMYXllclRyZWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFn
ZVByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlUmVuZGVyaW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06CisKIDIwMjEtMDMtMTUgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBdm9pZCBoZWFwIGFsbG9jYXRpb24gaW4gUmVt
b3RlQXVkaW9EZXN0aW5hdGlvblByb3h5OjpyZW5kZXJRdWFudHVtKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dAppbmRleCBhZmVmYzMyYjE2MDRlYjYyYzJiMjBjYjFhODJmYjQwYTUwN2M0MmY5Li5kNGQy
ZDMzZTVlNzAzNDZlYjRkM2ZjNmIzYTJjNTE3MzE5MWViYTU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2Eu
dHh0CkBAIC00MTEsNyArNDExLDYgQEAgVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW0KIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQogVUlQcm9jZXNz
L0NvY29hL1dlYlVSTFNjaGVtZUhhbmRsZXJDb2NvYS5tbQogVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLm1tCi1VSVByb2Nlc3MvQ29jb2EvV0tCbGFua092ZXJsYXlWaWV3Lm1tCiBVSVByb2Nl
c3MvQ29jb2EvV0tDb250YWN0UGlja2VyLm1tCiBVSVByb2Nlc3MvQ29jb2EvV0tFZGl0Q29tbWFu
ZC5tbQogVUlQcm9jZXNzL0NvY29hL1dLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYTNk
ZGYwMzRmNDYyMWFiZDQ4MTRjNjVkOWIxMTgwNjU0ZWYwZTIzZS4uOGU1MWU1ODUwMWEzNDA1Mzhh
Yzc1ZjhkZTBlMTY1NjIxMDMyZDM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xNDAzLDI0ICsxNDAzLDYgQEAgLSAodm9pZClfZGlk
SW52YWxpZGF0ZURhdGFGb3JBdHRhY2htZW50OihBUEk6OkF0dGFjaG1lbnQmKWF0dGFjaG1lbnQK
IAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKLS0gKEJPT0wpX2hhc0Js
YW5rT3ZlcmxheQotewotICAgIHJldHVybiAhIV9ibGFua092ZXJsYXlWaWV3OwotfQotCi0tICh2
b2lkKV9zZXRIYXNCbGFua092ZXJsYXk6KEJPT0wpaGFzQmxhbmtPdmVybGF5Ci17Ci0gICAgaWYg
KCEhX2JsYW5rT3ZlcmxheVZpZXcgPT0gaGFzQmxhbmtPdmVybGF5KQotICAgICAgICByZXR1cm47
Ci0KLSAgICBpZiAoaGFzQmxhbmtPdmVybGF5KSB7Ci0gICAgICAgIF9ibGFua092ZXJsYXlWaWV3
ID0gYWRvcHROUyhbW1dLQmxhbmtPdmVybGF5VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpbc2Vs
ZiBib3VuZHNdXSk7Ci0gICAgICAgIFtzZWxmIGFkZFN1YnZpZXc6X2JsYW5rT3ZlcmxheVZpZXcu
Z2V0KCldOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFtfYmxhbmtPdmVybGF5VmlldyByZW1vdmVG
cm9tU3VwZXJ2aWV3XTsKLSAgICAgICAgX2JsYW5rT3ZlcmxheVZpZXcgPSBudWxscHRyOwotICAg
IH0KLX0KIAogLSAoaWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPilfYXBwSGlnaGxpZ2h0RGVs
ZWdhdGUKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0ludGVybmFsLmgKaW5kZXggMmE1ZmMzOTJkMmVlZDNmYmVkYjFiMGJiNTk5MWU4ZmE0
NzU1NDhiYS4uMTc3ODdmZDUwMmQxOThhMzBjMDBjZmM1NjU0MzE1MDBlZTZhNmJkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFs
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVy
bmFsLmgKQEAgLTI1LDcgKzI1LDYgQEAKIAogI2ltcG9ydCAiUERGUGx1Z2luSWRlbnRpZmllci5o
IgogI2ltcG9ydCAiU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUuaCIKLSNpbXBvcnQgIldLQmxh
bmtPdmVybGF5Vmlldy5oIgogI2ltcG9ydCAiV0tTaGFyZVNoZWV0LmgiCiAjaW1wb3J0ICJXS1dl
YlZpZXdDb25maWd1cmF0aW9uLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdQcml2YXRlLmgiCkBAIC0x
MzMsOCArMTMyLDYgQEAgY2xhc3MgVmlld0dlc3R1cmVDb250cm9sbGVyOwogICAgIF9XS1JlbmRl
cmluZ1Byb2dyZXNzRXZlbnRzIF9vYnNlcnZlZFJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzOwogICAg
IEJPT0wgX3VzZVBsYXRmb3JtRmluZFVJOwogCi0gICAgUmV0YWluUHRyPFdLQmxhbmtPdmVybGF5
Vmlldz4gX2JsYW5rT3ZlcmxheVZpZXc7Ci0KICNpZiBQTEFURk9STShNQUMpCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFdlYktpdDo6V2ViVmlld0ltcGw+IF9pbXBsOwogICAgIFJldGFpblB0cjxXS1Rl
eHRGaW5kZXJDbGllbnQ+IF90ZXh0RmluZGVyQ2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNDc3NDlhZGQ0
ZDJlMzc0MGZkMmE4ODFlNWJkYzA2OGNlOGIzYjM4NS4uNjQ4NWMzMmU2MzdlMGYzNjNhYmMwNWIy
NDllMDMxZjNjZGI4NzNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0zODgsOCArMzg4LDYgQEAgZm9yIHRoaXMg
cHJvcGVydHkuCiAtICh2b2lkKV9kaWRFbmFibGVCcm93c2VyRXh0ZW5zaW9uczooTlNEaWN0aW9u
YXJ5PE5TU3RyaW5nICosIE5TU3RyaW5nICo+ICopZXh0ZW5zaW9uSURUb05hbWVNYXAgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQp
X2RpZERpc2FibGVCcm93c2VyRXh0ZW5zaW9uczooTlNTZXQ8TlNTdHJpbmcgKj4gKilleHRlbnNp
b25JRHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKIAotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SGFzQmxhbmtPdmVybGF5Oikg
Qk9PTCBfaGFzQmxhbmtPdmVybGF5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7Ci0KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCB3ZWFrLCBzZXR0ZXI9
X3NldEFwcEhpZ2hsaWdodERlbGVnYXRlOikgaWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPiBf
YXBwSGlnaGxpZ2h0RGVsZWdhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3Jlc3RvcmVBcHBIaWdobGlnaHRzOihOU0FycmF5
PE5TRGF0YSAqPiAqKWRhdGEgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX2FkZEFwcEhpZ2hsaWdodCBXS19BUElfQVZBSUxBQkxF
KG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCmluZGV4IDMxODlmYTAy
OGM1NTkyMTJlNTk4NjUwYTA3NzNlNjE1NTlhN2Y4OWMuLjI2ZWM4YzBkYzQzZTExNTkyZGY3MGFh
ZTZhYzdjMjhiNGI3ODhjYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKQEAgLTYwLDggKzYwLDYgQEAgcHVibGljOgogCiAg
ICAgYm9vbCBzY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nKCkgZmluYWw7CiAKLSAg
ICB2b2lkIHNldEhhc0JsYW5rT3ZlcmxheShib29sKSBmaW5hbDsKLQogI2lmIEVOQUJMRShBVFRB
Q0hNRU5UX0VMRU1FTlQpCiAgICAgdm9pZCBkaWRJbnNlcnRBdHRhY2htZW50KEFQSTo6QXR0YWNo
bWVudCYsIGNvbnN0IFN0cmluZyYgc291cmNlKSBmaW5hbDsKICAgICB2b2lkIGRpZFJlbW92ZUF0
dGFjaG1lbnQoQVBJOjpBdHRhY2htZW50JikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQppbmRleCAzNzg4M2ZiN2E5
MzM2YmEyOTY2ODg3ZmY5NjMyNjQ3MjQ4MDk3MWMxLi43ZDUwN2JlOTA4NDUxNWIxYWEyOTU4MjRk
OGIyNDIwNmU0NGUyYTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KQEAgLTI4LDcgKzI4LDYgQEAKIAogI2ltcG9ydCAi
V0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVy
bmFsLmgiCi0jaW1wb3J0ICJXS1dlYlZpZXdQcml2YXRlLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdQ
cml2YXRlRm9yVGVzdGluZy5oIgogI2ltcG9ydCA8V2ViQ29yZS9BbHRlcm5hdGl2ZVRleHRVSUNv
bnRyb2xsZXIuaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KQEAgLTgwLDExICs3OSw2IEBAIGJv
b2wgUGFnZUNsaWVudEltcGxDb2NvYTo6c2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGlu
ZygpCiAgICAgcmV0dXJuIFttX3dlYlZpZXcgX3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRl
c3RpbmddOwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OnNldEhhc0JsYW5rT3Zlcmxh
eShib29sIGhhc0JsYW5rT3ZlcmxheSkKLXsKLSAgICBbbV93ZWJWaWV3IF9zZXRIYXNCbGFua092
ZXJsYXk6aGFzQmxhbmtPdmVybGF5XTsKLX0KLQogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1F
TlQpCiAKIHZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlkSW5zZXJ0QXR0YWNobWVudChBUEk6
OkF0dGFjaG1lbnQmIGF0dGFjaG1lbnQsIGNvbnN0IFN0cmluZyYgc291cmNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tCbGFua092ZXJsYXlWaWV3LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0JsYW5rT3ZlcmxheVZpZXcuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDEzNDMxNTY2MDJmMzQ1ODM0MmUwOTJiNTUwNThmNjQ2
NmVjMWFmMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0JsYW5rT3ZlcmxheVZpZXcuaAorKysgL2Rl
di9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
LSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0g
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lm
IFBMQVRGT1JNKE1BQykKLSNpbXBvcnQgPEFwcEtpdC9BcHBLaXQuaD4KLQotdXNpbmcgVmlld1R5
cGUgPSBOU1ZpZXc7Ci11c2luZyBSZWN0VHlwZSA9IE5TUmVjdDsKLSNlbHNlCi0jaW1wb3J0IDxV
SUtpdC9VSUtpdC5oPgotCi11c2luZyBWaWV3VHlwZSA9IFVJVmlldzsKLXVzaW5nIFJlY3RUeXBl
ID0gQ0dSZWN0OwotI2VuZGlmCi0KLUBpbnRlcmZhY2UgV0tCbGFua092ZXJsYXlWaWV3IDogVmll
d1R5cGUKLQotLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KFJlY3RUeXBlKWZyYW1lOwot
Ci1AZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0JsYW5r
T3ZlcmxheVZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0JsYW5rT3Zl
cmxheVZpZXcubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3NTQ1MTdhZmExZmRj
YjMwYTZiOGVlN2E4MWRhMmM0MGMzNmZjZWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tCbGFua092
ZXJsYXlWaWV3Lm1tCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiV0tCbGFua092ZXJsYXlWaWV3LmgiCi0KLUBp
bXBsZW1lbnRhdGlvbiBXS0JsYW5rT3ZlcmxheVZpZXcgewotfQotCi0tIChpbnN0YW5jZXR5cGUp
aW5pdFdpdGhGcmFtZTooUmVjdFR5cGUpZnJhbWUKLXsKLSAgICBpZiAoIShzZWxmID0gW3N1cGVy
IGluaXRXaXRoRnJhbWU6ZnJhbWVdKSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLQotI2lmIFBMQVRG
T1JNKE1BQykKLSAgICBbc2VsZiBzZXRBdXRvcmVzaXppbmdNYXNrOk5TVmlld1dpZHRoU2l6YWJs
ZSB8IE5TVmlld0hlaWdodFNpemFibGVdOwotICAgIFtzZWxmIHNldFdhbnRzTGF5ZXI6WUVTXTsK
LSAgICBbW3NlbGYgbGF5ZXJdIHNldEJhY2tncm91bmRDb2xvcjpbW05TQ29sb3Igd2hpdGVDb2xv
cl0gQ0dDb2xvcl1dOwotI2Vsc2UKLSAgICBbc2VsZiBzZXRBdXRvcmVzaXppbmdNYXNrOlVJVmll
d0F1dG9yZXNpemluZ0ZsZXhpYmxlV2lkdGggfCBVSVZpZXdBdXRvcmVzaXppbmdGbGV4aWJsZUhl
aWdodF07Ci0gICAgW1tzZWxmIGxheWVyXSBzZXRCYWNrZ3JvdW5kQ29sb3I6W1tVSUNvbG9yIHdo
aXRlQ29sb3JdIENHQ29sb3JdXTsKLSNlbmRpZgotICAgIFtbc2VsZiBsYXllcl0gc2V0TmFtZTpA
IldLQmxhbmtPdmVybGF5VmlldyBsYXllciJdOwotCi0gICAgcmV0dXJuIHNlbGY7Ci19Ci0KLUBl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBiNmMwNzViMWE5NTkyYjFi
NTM0NWFhZTJlMDczZTZiMjNmNWQwNjU5Li5jZjM1NGFhNDk3YjdjOGE4OWU1MDIwZWE1ZmNjZTMy
YTRhZjE2YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC01MTcsOCAr
NTE3LDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldE1vdXNlRXZlbnRQb2xpY3ko
V2ViQ29yZTo6TW91c2VFdmVudFBvbGljeSkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0SGFz
QmxhbmtPdmVybGF5KGJvb2wpIHsgfQotCiAjaWYgSEFWRShQQVNURUJPQVJEX0RBVEFfT1dORVIp
CiAgICAgdmlydHVhbCBXZWJDb3JlOjpEYXRhT3duZXJUeXBlIGRhdGFPd25lckZvclBhc3RlYm9h
cmQoUGFzdGVib2FyZEFjY2Vzc0ludGVudCkgY29uc3QgeyByZXR1cm4gV2ViQ29yZTo6RGF0YU93
bmVyVHlwZTo6VW5kZWZpbmVkOyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCmluZGV4IDcxOGUyMmNjZDhlZDA3MTRhZDEyYmEwZWU2YjMwNjNjNjE2MTI0
OWIuLmYzYmIyYmQyNWFiNjI5YzFjNzAzMGRmNGY0ZTcyY2NhNDczZWVjNDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjQ2NSwyNSArMjQ2NSw2IEBAIHZv
aWQgV2ViUGFnZVByb3h5OjpsYXllclRyZWVDb21taXRDb21wbGV0ZSgpCiB9CiAjZW5kaWYKIAot
dm9pZCBXZWJQYWdlUHJveHk6OnN0b3BNYWtpbmdWaWV3QmxhbmtEdWVUb0xhY2tPZlJlbmRlcmlu
Z1VwZGF0ZSgpCi17Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgQVNTRVJUKG1faGFzVXBkYXRl
ZFJlbmRlcmluZ0FmdGVyRGlkQ29tbWl0TG9hZCk7Ci0gICAgcGFnZUNsaWVudCgpLnNldEhhc0Js
YW5rT3ZlcmxheShmYWxzZSk7Ci0jZW5kaWYKLX0KLQotdm9pZCBXZWJQYWdlUHJveHk6Om1ha2VW
aWV3QmxhbmtJZlVucGFpbnRlZFNpbmNlTGFzdExvYWRDb21taXQoKQotewotI2lmIFBMQVRGT1JN
KENPQ09BKQotICAgIGlmICghbV9oYXNVcGRhdGVkUmVuZGVyaW5nQWZ0ZXJEaWRDb21taXRMb2Fk
KSB7Ci0gICAgICAgIC8vIEFkZCBhIGJsYW5rIG92ZXJsYXkgdmlldyB0byBtYWtlIHRoZSB2aWV3
IGJsYW5rLiBUaGlzIG92ZXJsYXkgd2lsbCBiZSB0YWtlbiBkb3duIG9uY2UKLSAgICAgICAgLy8g
d2hlbiB3ZSd2ZSBwYWludGVkIGZvciB0aGUgZmlyc3QgdGltZSBhZnRlciBjb21taXR0aW5nIGEg
bG9hZC4KLSAgICAgICAgcGFnZUNsaWVudCgpLnNldEhhc0JsYW5rT3ZlcmxheSh0cnVlKTsKLSAg
ICB9Ci0jZW5kaWYKLX0KLQogdm9pZCBXZWJQYWdlUHJveHk6OmRpc2NhcmRRdWV1ZWRNb3VzZUV2
ZW50cygpCiB7CiAgICAgd2hpbGUgKG1fbW91c2VFdmVudFF1ZXVlLnNpemUoKSA+IDEpCkBAIC00
NjYxLDEyICs0NjQyLDEwIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJh
bWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIEZyYW1lSW5mb0RhdGEmCiAgICAgbV9oYXNDb21t
aXR0ZWRBbnlQcm92aXNpb25hbExvYWRzID0gdHJ1ZTsKICAgICBtX3Byb2Nlc3MtPmRpZENvbW1p
dFByb3Zpc2lvbmFsTG9hZCgpOwogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgaWYgKGZyYW1l
LT5pc01haW5GcmFtZSgpKSB7Ci0gICAgICAgIG1faGFzVXBkYXRlZFJlbmRlcmluZ0FmdGVyRGlk
Q29tbWl0TG9hZCA9IGZhbHNlOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKGZy
YW1lLT5pc01haW5GcmFtZSgpKSB7CisgICAgICAgIG1faGFzUmVjZWl2ZWRMYXllclRyZWVUcmFu
c2FjdGlvbkFmdGVyRGlkQ29tbWl0TG9hZCA9IGZhbHNlOwogICAgICAgICBtX2ZpcnN0TGF5ZXJU
cmVlVHJhbnNhY3Rpb25JZEFmdGVyRGlkQ29tbWl0TG9hZCA9IGRvd25jYXN0PFJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHk+KCpkcmF3aW5nQXJlYSgpKS5uZXh0TGF5ZXJUcmVlVHJhbnNh
Y3Rpb25JRCgpOwotI2VuZGlmCiAgICAgfQogI2VuZGlmCiAKQEAgLTU2NTUsMTIgKzU2MzQsNiBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6cnVuSmF2YVNjcmlwdEFsZXJ0KEZyYW1lSWRlbnRpZmllciBm
cmFtZUlELCBGcmFtZUluZm9EYXRhJiYgZgogICAgICAgICBpZiAoYXV0byogYXV0b21hdGlvblNl
c3Npb24gPSBwcm9jZXNzKCkucHJvY2Vzc1Bvb2woKS5hdXRvbWF0aW9uU2Vzc2lvbigpKQogICAg
ICAgICAgICAgYXV0b21hdGlvblNlc3Npb24tPndpbGxTaG93SmF2YVNjcmlwdERpYWxvZygqdGhp
cyk7CiAgICAgfQotCi0gICAgLy8gSWYgd2UgaGF2ZSBub3QgcGFpbnRlZCB5ZXQgc2luY2UgdGhl
IGxhc3QgbG9hZCBjb21taXQsIHRoZW4gd2UgYXJlIGxpa2VseSBzdGlsbCBkaXNwbGF5aW5nIHRo
ZSBwcmV2aW91cyBwYWdlLgotICAgIC8vIERpc3BsYXlpbmcgYSBKUyBwcm9tcHQgZm9yIHRoZSBu
ZXcgcGFnZSB3aXRoIHRoZSBvbGQgcGFnZSBiZWhpbmQgd291bGQgYmUgY29uZnVzaW5nIHNvIHdl
IGFkZCBhIGJsYW5rIG92ZXJsYXkKLSAgICAvLyBvbiB0b3Agb2YgdGhlIHZpZXcgaW4gdGhpcyBj
YXNlLgotICAgIG1ha2VWaWV3QmxhbmtJZlVucGFpbnRlZFNpbmNlTGFzdExvYWRDb21taXQoKTsK
LQogICAgIG1fdWlDbGllbnQtPnJ1bkphdmFTY3JpcHRBbGVydCgqdGhpcywgbWVzc2FnZSwgZnJh
bWUsIFdURk1vdmUoZnJhbWVJbmZvKSwgV1RGTW92ZShyZXBseSkpOwogfQogCkBAIC01Njc5LDEx
ICs1NjUyLDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJ1bkphdmFTY3JpcHRDb25maXJtKEZyYW1l
SWRlbnRpZmllciBmcmFtZUlELCBGcmFtZUluZm9EYXRhJiYKICAgICAgICAgICAgIGF1dG9tYXRp
b25TZXNzaW9uLT53aWxsU2hvd0phdmFTY3JpcHREaWFsb2coKnRoaXMpOwogICAgIH0KIAotICAg
IC8vIElmIHdlIGhhdmUgbm90IHBhaW50ZWQgeWV0IHNpbmNlIHRoZSBsYXN0IGxvYWQgY29tbWl0
LCB0aGVuIHdlIGFyZSBsaWtlbHkgc3RpbGwgZGlzcGxheWluZyB0aGUgcHJldmlvdXMgcGFnZS4K
LSAgICAvLyBEaXNwbGF5aW5nIGEgSlMgcHJvbXB0IGZvciB0aGUgbmV3IHBhZ2Ugd2l0aCB0aGUg
b2xkIHBhZ2UgYmVoaW5kIHdvdWxkIGJlIGNvbmZ1c2luZyBzbyB3ZSBhZGQgYSBibGFuayBvdmVy
bGF5Ci0gICAgLy8gb24gdG9wIG9mIHRoZSB2aWV3IGluIHRoaXMgY2FzZS4KLSAgICBtYWtlVmll
d0JsYW5rSWZVbnBhaW50ZWRTaW5jZUxhc3RMb2FkQ29tbWl0KCk7Ci0KICAgICBtX3VpQ2xpZW50
LT5ydW5KYXZhU2NyaXB0Q29uZmlybSgqdGhpcywgbWVzc2FnZSwgZnJhbWUsIFdURk1vdmUoZnJh
bWVJbmZvKSwgV1RGTW92ZShyZXBseSkpOwogfQogCkBAIC01NzAyLDExICs1NjcwLDYgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OnJ1bkphdmFTY3JpcHRQcm9tcHQoRnJhbWVJZGVudGlmaWVyIGZyYW1l
SUQsIEZyYW1lSW5mb0RhdGEmJgogICAgICAgICAgICAgYXV0b21hdGlvblNlc3Npb24tPndpbGxT
aG93SmF2YVNjcmlwdERpYWxvZygqdGhpcyk7CiAgICAgfQogCi0gICAgLy8gSWYgd2UgaGF2ZSBu
b3QgcGFpbnRlZCB5ZXQgc2luY2UgdGhlIGxhc3QgbG9hZCBjb21taXQsIHRoZW4gd2UgYXJlIGxp
a2VseSBzdGlsbCBkaXNwbGF5aW5nIHRoZSBwcmV2aW91cyBwYWdlLgotICAgIC8vIERpc3BsYXlp
bmcgYSBKUyBwcm9tcHQgZm9yIHRoZSBuZXcgcGFnZSB3aXRoIHRoZSBvbGQgcGFnZSBiZWhpbmQg
d291bGQgYmUgY29uZnVzaW5nIHNvIHdlIGFkZCBhIGJsYW5rIG92ZXJsYXkKLSAgICAvLyBvbiB0
b3Agb2YgdGhlIHZpZXcgaW4gdGhpcyBjYXNlLgotICAgIG1ha2VWaWV3QmxhbmtJZlVucGFpbnRl
ZFNpbmNlTGFzdExvYWRDb21taXQoKTsKLQogICAgIG1fdWlDbGllbnQtPnJ1bkphdmFTY3JpcHRQ
cm9tcHQoKnRoaXMsIG1lc3NhZ2UsIGRlZmF1bHRWYWx1ZSwgZnJhbWUsIFdURk1vdmUoZnJhbWVJ
bmZvKSwgV1RGTW92ZShyZXBseSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IGViNjA0YTUwMjYwNTA3YTAxMzY0MjYxNWUxZWI1ODFiNTllMDEwZGUuLmY1
Y2VmNmYxODBmY2UzZGE0ZmZjMDljMGM4NzM3NzgyNTdiMjMwOWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yMTcwLDkgKzIxNzAsNiBAQCBwcml2YXRlOgogICAg
IHZvaWQgZGlkUGVyZm9ybURpY3Rpb25hcnlMb29rdXAoY29uc3QgV2ViQ29yZTo6RGljdGlvbmFy
eVBvcHVwSW5mbyYpOwogI2VuZGlmCiAKLSAgICB2b2lkIHN0b3BNYWtpbmdWaWV3QmxhbmtEdWVU
b0xhY2tPZlJlbmRlcmluZ1VwZGF0ZSgpOwotICAgIHZvaWQgbWFrZVZpZXdCbGFua0lmVW5wYWlu
dGVkU2luY2VMYXN0TG9hZENvbW1pdCgpOwotCiAgICAgLy8gU3BlbGxpbmcgYW5kIGdyYW1tYXIu
CiAgICAgdm9pZCBjaGVja1NwZWxsaW5nT2ZTdHJpbmcoY29uc3QgU3RyaW5nJiB0ZXh0LCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGludDMyX3QgbWlzc3BlbGxpbmdMb2NhdGlvbiwgaW50MzJfdCBt
aXNzcGVsbGluZ0xlbmd0aCk+JiYpOwogICAgIHZvaWQgY2hlY2tHcmFtbWFyT2ZTdHJpbmcoY29u
c3QgU3RyaW5nJiB0ZXh0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxXZWJDb3JlOjpH
cmFtbWFyRGV0YWlsPiYmLCBpbnQzMl90IGJhZEdyYW1tYXJMb2NhdGlvbiwgaW50MzJfdCBiYWRH
cmFtbWFyTGVuZ3RoKT4mJik7CkBAIC0yMTkyLDcgKzIxODksNiBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCBkaWRSZWNlaXZlRXZlbnQodWludDMyX3Qgb3BhcXVlVHlwZSwgYm9vbCBoYW5kbGVkKTsK
ICNpZiBQTEFURk9STShNQUMpCi0gICAgdm9pZCBkaWRVcGRhdGVSZW5kZXJpbmdBZnRlckNvbW1p
dHRpbmdMb2FkKCk7CiAgICAgdm9pZCBmb250QXRTZWxlY3Rpb25DYWxsYmFjayhjb25zdCBGb250
SW5mbyYsIGRvdWJsZSwgYm9vbCwgQ2FsbGJhY2tJRCk7CiAjZW5kaWYKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQpAQCAtMjQ4NywxMyArMjQ4MywxMSBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5p
cXVlX3B0cjxNZWRpYVVzYWdlTWFuYWdlcj4gbV9tZWRpYVVzYWdlTWFuYWdlcjsKICNlbmRpZgog
Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYm9vbCBtX2hhc1VwZGF0ZWRSZW5kZXJpbmdBZnRl
ckRpZENvbW1pdExvYWQgeyB0cnVlIH07Ci0jZW5kaWYKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIE9wdGlvbmFsPFdlYkNvcmU6OklucHV0TW9kZT4gbV9wZW5kaW5nSW5wdXRNb2RlQ2hh
bmdlOwogICAgIFRyYW5zYWN0aW9uSUQgbV9maXJzdExheWVyVHJlZVRyYW5zYWN0aW9uSWRBZnRl
ckRpZENvbW1pdExvYWQ7CiAgICAgaW50MzJfdCBtX2RldmljZU9yaWVudGF0aW9uIHsgMCB9Owor
ICAgIGJvb2wgbV9oYXNSZWNlaXZlZExheWVyVHJlZVRyYW5zYWN0aW9uQWZ0ZXJEaWRDb21taXRM
b2FkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9oYXNOZXR3b3JrUmVxdWVzdHNPblN1c3BlbmRlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzS2V5Ym9hcmRBbmltYXRpbmdJbiB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX2lzU2Nyb2xsaW5nT3Jab29taW5nIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA4NzMxNzZkOTU5
MTZmZjA0OGMwYjUyMjU1YmRlOThmYTkwMzFmZDU3Li40YzU0MjRkNWMwNDkxMDk1MDZjZWYwZTQz
YWI4NjU3NzQ1MWE3Yzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0zNzAsNyArMzcwLDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFn
ZVByb3h5IHsKICAgICBSZWNvcmRBdXRvY29ycmVjdGlvblJlc3BvbnNlKGludDMyX3QgcmVzcG9u
c2UsIFN0cmluZyByZXBsYWNlZFN0cmluZywgU3RyaW5nIHJlcGxhY2VtZW50U3RyaW5nKTsKIAog
ICAgIFNldEVkaXRhYmxlRWxlbWVudElzRm9jdXNlZChib29sIGVkaXRhYmxlRWxlbWVudElzRm9j
dXNlZCkKLSAgICBEaWRVcGRhdGVSZW5kZXJpbmdBZnRlckNvbW1pdHRpbmdMb2FkKCkKICNlbmRp
ZgogCiAjaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCA1ZGUxNWEzZGJiZjI0NzY1MTcx
ZjZiZDBhZWEwNzM5ZGMyMTg1NjJlLi5kM2YwM2Y1MzUzNzZkNWI3YmVmY2E5MDc3MTY3MGU0NTY3
OTc3YzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVBy
b3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW0KQEAgLTMzOCwxMCArMzM4LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExh
eWVyVHJlZShjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJgogICAgIHRo
ZW1lQ29sb3JDaGFuZ2VkKGxheWVyVHJlZVRyYW5zYWN0aW9uLnRoZW1lQ29sb3IoKSk7CiAgICAg
cGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yRGlkQ2hhbmdlKGxheWVyVHJlZVRyYW5zYWN0aW9u
LnBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcigpKTsKIAotICAgIGlmICghbV9oYXNVcGRhdGVk
UmVuZGVyaW5nQWZ0ZXJEaWRDb21taXRMb2FkKSB7CisgICAgaWYgKCFtX2hhc1JlY2VpdmVkTGF5
ZXJUcmVlVHJhbnNhY3Rpb25BZnRlckRpZENvbW1pdExvYWQpIHsKICAgICAgICAgaWYgKGxheWVy
VHJlZVRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSUQoKSA+PSBtX2ZpcnN0TGF5ZXJUcmVlVHJhbnNh
Y3Rpb25JZEFmdGVyRGlkQ29tbWl0TG9hZCkgewotICAgICAgICAgICAgbV9oYXNVcGRhdGVkUmVu
ZGVyaW5nQWZ0ZXJEaWRDb21taXRMb2FkID0gdHJ1ZTsKLSAgICAgICAgICAgIHN0b3BNYWtpbmdW
aWV3QmxhbmtEdWVUb0xhY2tPZlJlbmRlcmluZ1VwZGF0ZSgpOworICAgICAgICAgICAgbV9oYXNS
ZWNlaXZlZExheWVyVHJlZVRyYW5zYWN0aW9uQWZ0ZXJEaWRDb21taXRMb2FkID0gdHJ1ZTsKICAg
ICAgICAgICAgIG1fbGFzdFZpc2libGVDb250ZW50UmVjdFVwZGF0ZSA9IFZpc2libGVDb250ZW50
UmVjdFVwZGF0ZUluZm8oKTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCmluZGV4IDY0OTgyYjEyYWIwOGM0MDBiNmUz
YzAzMjUzYTVmODI3ZDVlNDQxZjYuLmYwNTZiNjhkMThhN2YwMWZlYmY0ZTI4MDRiNTljZjhjNDBh
Yjk3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJv
eHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1h
Yy5tbQpAQCAtNjUzLDE1ICs2NTMsNiBAQCBib29sIFdlYlBhZ2VQcm94eTo6dXNlaVR1bmVzQVZP
dXRwdXRDb250ZXh0KCkgY29uc3QKICAgICByZXR1cm4gbV9wcmVmZXJlbmNlcy0+c3RvcmUoKS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnVzZWlUdW5lc0FWT3V0cHV0Q29u
dGV4dEtleSgpKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmRpZFVwZGF0ZVJlbmRlcmluZ0Fm
dGVyQ29tbWl0dGluZ0xvYWQoKQotewotICAgIGlmIChtX2hhc1VwZGF0ZWRSZW5kZXJpbmdBZnRl
ckRpZENvbW1pdExvYWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1faGFzVXBkYXRlZFJlbmRl
cmluZ0FmdGVyRGlkQ29tbWl0TG9hZCA9IHRydWU7Ci0gICAgc3RvcE1ha2luZ1ZpZXdCbGFua0R1
ZVRvTGFja09mUmVuZGVyaW5nVXBkYXRlKCk7Ci19Ci0KICNpZiBFTkFCTEUoVUlfUFJPQ0VTU19Q
REZfSFVEKQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6Y3JlYXRlUERGSFVEKFBERlBsdWdpbklkZW50
aWZpZXIgaWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQzNWM0MmVi
MzFkODM0NWNlOWFlMDE1NTA3OGNkYmYzMWJjZTQwMGYuLjI2YTlmODNmYjM0M2UwZWM1MDY0NGM2
Yjg2OTUyNmRiZDRmNWU1NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtOTQ4LDcgKzk0OCw2IEBACiAJCTQ0RUMzRUE5MjQ3RjVDMDkw
MDU5NDg5QyAvKiBfV0tEcmFnQWN0aW9uc0ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVDM0VBODI0N0Y1QzA4MDA1OTQ4OUMgLyogX1dL
RHJhZ0FjdGlvbnNJbnRlcm5hbC5oICovOyB9OwogCQk0NjBGNDg4RjFGOTk2RjcxMDBDRjRCODcg
LyogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYwRjQ4OEQxRjk5NkY2
QzAwQ0Y0Qjg3IC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLzsgfTsKIAkJNDYwRjQ4OTAxRjk5NkY3MTAwQ0Y0Qjg3IC8qIFdlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ2MEY0ODhFMUY5OTZGNkMwMENGNEI4NyAvKiBXZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VzLmggKi87IH07Ci0JCTQ2MTNBNzQ0MjVEMzJDQ0YwMEE1
MDMzQSAvKiBXS0JsYW5rT3ZlcmxheVZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MTNBNzQyMjVEMzJDQjgwMEE1MDMzQSAvKiBXS0JsYW5rT3Zl
cmxheVZpZXcuaCAqLzsgfTsKIAkJNDYxNEYxMzIyNURFRDg3NTAwNzAwNkU3IC8qIEdQVVByb2Nl
c3NDb25uZWN0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDZBQzUzMjQyNURFRDgxRTAwM0I1N0VDIC8qIEdQVVByb2Nlc3NDb25u
ZWN0aW9uUGFyYW1ldGVycy5oICovOyB9OwogCQk0NjFDQ0NBNTIzMTQ4NUE3MDBCNjU5QjkgLyog
VUlSZW1vdGVPYmplY3RSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDYzMjM2ODUyMzE0ODMzRjAwQTQ4RkE3IC8qIFVJUmVtb3RlT2JqZWN0
UmVnaXN0cnkuaCAqLzsgfTsKIAkJNDYxQ0NDQTYyMzE0ODVBQTAwQjY1OUI5IC8qIFdlYlJlbW90
ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjMyMzY4MzIzMTQ4MUVGMDBBNDhGQTcgLyogV2ViUmVtb3RlT2JqZWN0UmVnaXN0
cnkuaCAqLzsgfTsKQEAgLTM4MjIsOCArMzgyMSw2IEBACiAJCTQ2MDMwMTFCMjM0QkUzMUUwMDlD
ODIxNyAvKiBXZWJCYWNrRm9yd2FyZENhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYkJhY2tGb3J3YXJkQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDYwRjQ4OEQxRjk5NkY2QzAwQ0Y0Qjg3IC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0
aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb25N
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owog
CQk0NjBGNDg4RTFGOTk2RjZDMDBDRjRCODcgLyogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b25NZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKLQkJNDYxM0E3NDIyNUQzMkNCODAwQTUwMzNBIC8qIFdL
QmxhbmtPdmVybGF5Vmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0JsYW5rT3ZlcmxheVZpZXcuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDYxM0E3NDMyNUQzMkNCOTAwQTUwMzNBIC8q
IFdLQmxhbmtPdmVybGF5Vmlldy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLQmxhbmtPdmVy
bGF5Vmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYyMTA3RDcxRjM4REJE
MzAwREQ3ODEwIC8qIFBpbmdMb2FkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFBpbmdMb2FkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYzMjM2
ODMyMzE0ODFFRjAwQTQ4RkE3IC8qIFdlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ2MzIzNjg0MjMxNDgyNUMwMEE0OEZBNyAvKiBXZWJSZW1vdGVPYmplY3RSZWdpc3Ry
eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02OTQ1LDggKzY5NDIsNiBAQAogCQkJCTUxRDEy
NDMyMUU2REU1MjEwMDJCMjgyMCAvKiBXZWJVUkxTY2hlbWVIYW5kbGVyQ29jb2EubW0gKi8sCiAJ
CQkJMkRGQzdEQjkxQkNDQzE5NTAwQzE1NDhDIC8qIFdlYlZpZXdJbXBsLmggKi8sCiAJCQkJMkRG
QzdEQkExQkNDQzE5NTAwQzE1NDhDIC8qIFdlYlZpZXdJbXBsLm1tICovLAotCQkJCTQ2MTNBNzQy
MjVEMzJDQjgwMEE1MDMzQSAvKiBXS0JsYW5rT3ZlcmxheVZpZXcuaCAqLywKLQkJCQk0NjEzQTc0
MzI1RDMyQ0I5MDBBNTAzM0EgLyogV0tCbGFua092ZXJsYXlWaWV3Lm1tICovLAogCQkJCUU1OTZE
RDY4MjUxRTcxRDMwMEMyNzVBNyAvKiBXS0NvbnRhY3RQaWNrZXIuaCAqLywKIAkJCQlFNTk2REQ2
OTI1MUU3MUQ0MDBDMjc1QTcgLyogV0tDb250YWN0UGlja2VyLm1tICovLAogCQkJCTJFQ0Y2NkND
MjFENkI3N0UwMDlFNUMzRiAvKiBXS0VkaXRDb21tYW5kLmggKi8sCkBAIC0xMjQzNyw3ICsxMjQz
Miw2IEBACiAJCQkJQkM2NDZDMUIxMUREMzk5RjAwNjQ1NUIwIC8qIFdLQmFja0ZvcndhcmRMaXN0
UmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0REQjMxNzEyNEVCRDEzMDA0OEQxM0MgLyogV0tC
YXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0Q1RUJCQjE3NDZBODNFMDAwQzFDNDUgLyogV0tC
YXNlTWFjLmggaW4gSGVhZGVycyAqLywKLQkJCQk0NjEzQTc0NDI1RDMyQ0NGMDBBNTAzM0EgLyog
V0tCbGFua092ZXJsYXlWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0JBQUM3MzE0NEU2MTlF
MDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQ0JBQUM3NDE0NEU2MUE1MDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRDb250cm9s
bGVySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3ODhBMDVDMTQ3NDNDOTAwMDYzMTlF
NSAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMDIz
MzRjOWZmNzcxMTMyYWUwNzkxYjUwMzZiN2IxZDBjYjcyNmY2Zi4uMWEzNzdiNDA4YzMyNTFkNzA0
MTNkMTI1ZGU0NmE4NDUzNzc1YWMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTYxOTAsOSArNjE5MCw2IEBAIHZvaWQgV2ViUGFnZTo6ZGlk
Q29tbWl0TG9hZChXZWJGcmFtZSogZnJhbWUpCiAgICAgICAgICAgICBzY2FsZVBhZ2UoMSwgSW50
UG9pbnQoKSk7CiAgICAgfQogCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIG1fZGlkVXBkYXRlUmVu
ZGVyaW5nQWZ0ZXJDb21taXR0aW5nTG9hZCA9IGZhbHNlOwotI2VuZGlmCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKICAgICBtX2hhc1JlY2VpdmVkVmlzaWJsZUNvbnRlbnRSZWN0c0FmdGVyRGlk
Q29tbWl0TG9hZCA9IGZhbHNlOwogICAgIG1faGFzUmVzdG9yZWRFeHBvc2VkQ29udGVudFJlY3RB
ZnRlckRpZENvbW1pdExvYWQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAppbmRleCAzYjI3NjFhNTExYjRlMThjMDYwOTRlMzY1MWZiNDUyOTk2MTQx
MTc0Li5jN2Q0ZDE5MDg4NWFiYTdmNTgwMjhhZjJhN2VjMDJlMjY3NzYxMzhiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC02MjgsOCArNjI4LDYgQEAg
cHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHNldFRvcE92ZXJoYW5nSW1hZ2Uo
V2ViSW1hZ2UqKTsKICAgICB2b2lkIHNldEJvdHRvbU92ZXJoYW5nSW1hZ2UoV2ViSW1hZ2UqKTsK
LQotICAgIHZvaWQgZGlkVXBkYXRlUmVuZGVyaW5nKCk7CiAgICAgCiAgICAgdm9pZCBzZXRVc2VT
eXN0ZW1BcHBlYXJhbmNlKGJvb2wpOwogCkBAIC0yMTQzLDkgKzIxNDEsNiBAQCBwcml2YXRlOgog
ICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRp
b24mJik+IG1fcGVuZGluZ1N5bmNocm9ub3VzUG9zaXRpb25JbmZvcm1hdGlvblJlcGx5OwogICAg
IE9wdGlvbmFsPHN0ZDo6cGFpcjxUcmFuc2FjdGlvbklELCBkb3VibGU+PiBtX2xhc3RMYXllclRy
ZWVUcmFuc2FjdGlvbklkQW5kUGFnZVNjYWxlQmVmb3JlU2NhbGluZ1BhZ2U7CiAjZW5kaWYKLSNp
ZiBQTEFURk9STShNQUMpCi0gICAgYm9vbCBtX2RpZFVwZGF0ZVJlbmRlcmluZ0FmdGVyQ29tbWl0
dGluZ0xvYWQgeyBmYWxzZSB9OwotI2VuZGlmCiAKICAgICBXZWJDb3JlOjpUaW1lciBtX2xheWVy
Vm9sYXRpbGl0eVRpbWVyOwogICAgIFZlY3RvcjxDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
Pj4gbV9tYXJrTGF5ZXJzQXNWb2xhdGlsZUNvbXBsZXRpb25IYW5kbGVyczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQppbmRleCBmNmNmMTFhYTUyMGJlYzVkYzY5MTc0
ZDdjOTZhYzUyODAyYWUwZTFlLi41ZjY2YmZkNzJmZmYzNTY2ODhhNjJhY2FmNDk0ZGQ4YmNmYWQw
YTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCkBAIC00ODUs
NyArNDg1LDYgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlUmVu
ZGVyaW5nKFVwZGF0ZVJlbmRlcmluZ1R5cGUgZmx1c2hUeXAKICAgICAgICAgfQogCiAgICAgICAg
IHNlbmREaWRGaXJzdExheWVyRmx1c2hJZk5lZWRlZCgpOwotICAgICAgICBtX3dlYlBhZ2UuZGlk
VXBkYXRlUmVuZGVyaW5nKCk7CiAgICAgICAgIGhhbmRsZUFjdGl2aXR5U3RhdGVDaGFuZ2VDYWxs
YmFja3NJZk5lZWRlZCgpOwogICAgICAgICBpbnZhbGlkYXRlUmVuZGVyaW5nVXBkYXRlUnVuTG9v
cE9ic2VydmVyKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCA3NGRhNjM1Nzg4MmNkMDEzMDIwODQwOTdmMDY0
ZDIxYzNiOTE1ZDA0Li41ZTI5N2JkOTE2OGZlYzc4ZDYyNTU2YjgwMDkxZWIyNmUyM2MxNTk2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbQpAQCAtMTAzMiwxNSArMTAzMiw2IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlVmlzaWJsZUNv
bnRlbnRSZWN0cyhjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvJiwgTW9uCiB7CiB9
CiAKLXZvaWQgV2ViUGFnZTo6ZGlkVXBkYXRlUmVuZGVyaW5nKCkKLXsKLSAgICBpZiAobV9kaWRV
cGRhdGVSZW5kZXJpbmdBZnRlckNvbW1pdHRpbmdMb2FkKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBtX2RpZFVwZGF0ZVJlbmRlcmluZ0FmdGVyQ29tbWl0dGluZ0xvYWQgPSB0cnVlOwotICAgIHNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkVXBkYXRlUmVuZGVyaW5nQWZ0ZXJDb21taXR0
aW5nTG9hZCgpKTsKLX0KLQogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICYm
ICFQTEFURk9STShJT1NfRkFNSUxZKQogdm9pZCBXZWJQYWdlOjpwbGF5YmFja1RhcmdldFNlbGVj
dGVkKFBsYXliYWNrVGFyZ2V0Q2xpZW50Q29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBjb25z
dCBXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dCYgdGFyZ2V0Q29udGV4dCkgY29u
c3QKIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>