<?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>222291</bug_id>
          
          <creation_ts>2021-02-22 15:57:58 -0800</creation_ts>
          <short_desc>WebMouseEvent.h should avoid pulling in WebCore headers that know about DOM nodes</short_desc>
          <delta_ts>2021-02-22 19:17:15 -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>WebCore Misc.</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>222216</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>annulen</cc>
    
    <cc>berto</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1732351</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-22 15:57:58 -0800</bug_when>
    <thetext>WebMouseEvent.h includes PointerEvent.h, which then includes Node.h and a host of other DOM-related headers. Given that WebMouseEvent.h is a shared header included by code running in the UI process, we probably shouldn&apos;t.

...this also fixes a unified source build error, seen here: https://ews-build.webkit.org/#/builders/49/builds/9134/steps/8/logs/errors, which happens because `WebCore::UIEvent` collides with the globally namespaced `UIEvent` Objective-C class from UIKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732366</commentid>
    <comment_count>1</comment_count>
      <attachid>421259</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-22 16:13:50 -0800</bug_when>
    <thetext>Created attachment 421259
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732367</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-02-22 16:14:58 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732393</commentid>
    <comment_count>3</comment_count>
      <attachid>421259</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-22 17:16:23 -0800</bug_when>
    <thetext>Comment on attachment 421259
Patch

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

&gt; Source/WebCore/dom/PointerEventTypeNames.h:28
&gt; +namespace WebCore {

Since this header uses WTF::String, it should include &lt;wtf/Forward.h&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732399</commentid>
    <comment_count>4</comment_count>
      <attachid>421259</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-22 17:34:29 -0800</bug_when>
    <thetext>Comment on attachment 421259
Patch

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

&gt;&gt; Source/WebCore/dom/PointerEventTypeNames.h:28
&gt;&gt; +namespace WebCore {
&gt; 
&gt; Since this header uses WTF::String, it should include &lt;wtf/Forward.h&gt;.

Fixed, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732402</commentid>
    <comment_count>5</comment_count>
      <attachid>421274</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-22 17:42:14 -0800</bug_when>
    <thetext>Created attachment 421274
For landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732428</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-22 19:16:37 -0800</bug_when>
    <thetext>Committed r273296: &lt;https://commits.webkit.org/r273296&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421274.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732429</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-22 19:17:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/74625080&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421259</attachid>
            <date>2021-02-22 16:13:50 -0800</date>
            <delta_ts>2021-02-22 17:16:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222291-20210222161349.patch</filename>
            <type>text/plain</type>
            <size>28664</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmYwNDgxMDk2OGRjMWM1
OTk2MjdjZjIzZThkZDY1NjRiOTMzNzk1My4uZjRhMTQ5MDJjOTNiZWQ3MzczNmY4NTYyNzAzMDcz
NjEyYzBiY2QwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTAyLTIyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFdlYk1vdXNlRXZl
bnQuaCBzaG91bGQgYXZvaWQgcHVsbGluZyBpbiBXZWJDb3JlIGhlYWRlcnMgdGhhdCBrbm93IGFi
b3V0IERPTSBub2RlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIyMjkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVmYWN0b3IgYFBvaW50ZXJFdmVudC5oYCBzbyB0aGF0IHRoZSBzdGF0aWMgY2xhc3Mg
aGVscGVyIG1ldGhvZHMgZm9yIGdldHRpbmcgdGhlIG5hbWVzIG9mIG1vdXNlLCBwZW4gYW5kIHRv
dWNoCisgICAgICAgIHBvaW50ZXIgZXZlbnQgdHlwZXMgYXJlIGluc3RlYWQgc2VwYXJhdGUgZnVu
Y3Rpb25zIGluIGBQb2ludGVyRXZlbnRUeXBlTmFtZXMuaGAuIFRoaXMgYWxsb3dzIHVzIHRvIGp1
c3QgaW1wb3J0CisgICAgICAgIGBQb2ludGVyRXZlbnRUeXBlTmFtZXMuaGAgaW5zdGVhZCBvZiBg
UG9pbnRlckV2ZW50LmhgIGluIFdlYktpdCAtLSBhbmQsIGluIHBhcnRpY3VsYXIsIHdpdGhpbiBX
ZWJLaXQgaGVhZGVycworICAgICAgICB0aGF0IGFyZSBleGNsdXNpdmUgdG8gdGhlIFVJIHByb2Nl
c3MuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogSGVhZGVy
cy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL1BvaW50ZXJFdmVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQb2ludGVyRXZlbnQ6Om1vdXNlUG9pbnRlclR5cGUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckV2ZW50OjpwZW5Qb2ludGVyVHlwZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpQb2ludGVyRXZlbnQ6OnRvdWNoUG9pbnRlclR5cGUpOiBE
ZWxldGVkLgorICAgICAgICAqIGRvbS9Qb2ludGVyRXZlbnQuaDoKKworICAgICAgICBEcml2ZS1i
eSBmaXg6IGFsc28gZm9yd2FyZCBkZWNsYXJlIGBOb2RlYCBpbnN0ZWFkIG9mIGluY2x1ZGluZyBg
Tm9kZS5oYDsgYFdlYkNvcmU6Ok5vZGVgIGlzIG9ubHkgdXNlZCBpbiB0aGlzCisgICAgICAgIGhl
YWRlciBpbiB0aGUgY29udGV4dCBvZiBgUmVmUHRyPE5vZGU+YCwgc28gdGhlIGZvcndhcmQgZGVj
bGFyYXRpb24gaXMgc3VmZmljaWVudC4KKworICAgICAgICAqIGRvbS9Qb2ludGVyRXZlbnRUeXBl
TmFtZXMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1vdXNlUG9pbnRlckV2ZW50VHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpwZW5Qb2ludGVyRXZlbnRUeXBlKToKKyAgICAgICAgKFdl
YkNvcmU6OnRvdWNoUG9pbnRlckV2ZW50VHlwZSk6CisgICAgICAgICogZG9tL1BvaW50ZXJFdmVu
dFR5cGVOYW1lcy5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vaW9zL1BvaW50ZXJFdmVudElPUy5j
cHA6CisgICAgICAgICogcGFnZS9Qb2ludGVyQ2FwdHVyZUNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UG9pbnRlckNhcHR1cmVDb250cm9sbGVyOjpyZXNldCk6CisgICAgICAgIChX
ZWJDb3JlOjpQb2ludGVyQ2FwdHVyZUNvbnRyb2xsZXI6OnBvaW50ZXJFdmVudEZvck1vdXNlRXZl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckNhcHR1cmVDb250cm9sbGVyOjpkaXNwYXRj
aEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBvaW50ZXJDYXB0dXJlQ29udHJvbGxlcjo6cG9p
bnRlckV2ZW50V2lsbEJlRGlzcGF0Y2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpQb2ludGVyQ2Fw
dHVyZUNvbnRyb2xsZXI6OnBvaW50ZXJFdmVudFdhc0Rpc3BhdGNoZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6UG9pbnRlckNhcHR1cmVDb250cm9sbGVyOjpwcm9jZXNzUGVuZGluZ1BvaW50ZXJDYXB0
dXJlKToKKwogMjAyMS0wMi0yMSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgW1BhaW50IFRpbWluZ10gUmV0dXJuIGVhcmx5IGZyb20gY29udGVudGZ1bCBwYWlu
dCBjaGVjayB3aGVuIG5vIGNvbnRlbnRmdWwgcGl4ZWxzL2NoYXJhY3RlcnMgYXQgYWxsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDk1NjUxZGI3ZjU2YzhjZjQxMjBmNTk3ZmM0YWVlOTJmM2FkZDljYjUuLjY3ZTNmZjY0
ZmYzYjc3Y2Q4MmVkYzFmYTI3M2VlOTg2ODhkOWQ3NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMjEtMDItMjIgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisK
KyAgICAgICAgV2ViTW91c2VFdmVudC5oIHNob3VsZCBhdm9pZCBwdWxsaW5nIGluIFdlYkNvcmUg
aGVhZGVycyB0aGF0IGtub3cgYWJvdXQgRE9NIG5vZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjIyOTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnQgYFBvaW50ZXJFdmVudFR5cGVOYW1lcy5o
YCBpbnN0ZWFkIG9mIGBQb2ludGVyRXZlbnQuaGAgaW4gc2V2ZXJhbCBVSSBwcm9jZXNzIGFuZCBz
aGFyZWQgaGVhZGVycy4KKworICAgICAgICAqIFNoYXJlZC9XZWJNb3VzZUV2ZW50Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwOgorICAgICAgICAo
cHJpbWFyeVBvaW50ZXJGb3JUeXBlKToKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU3ludGhl
c2l6ZU1vdXNlRXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1NpbXVsYXRl
ZElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNpbXVsYXRlZElucHV0RGlz
cGF0Y2hlcjo6dHJhbnNpdGlvbklucHV0U291cmNlVG9TdGF0ZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGVyZm9ybU1vdXNlSW50ZXJhY3Rpb24pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9ndGsvUG9pbnRlckxvY2tNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UG9pbnRlckxvY2tNYW5hZ2VyOjpoYW5kbGVNb3Rpb24pOgorCiAyMDIxLTAyLTIwICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gVXBkYXRl
IFdlYkNvcmVBcmd1bWVudENvZGVyc01hYyB3aXRoIHNvbWUgbmV3IGFkZGl0aW9ucwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UKaW5kZXggZjJmM2Q3ZTVkOWQ1ZTlkZDIyZjI3ODZiMzUyNTE3MDJiZWRhMzllZC4u
NTg4MDBkNmVhMzlhMmVjMDQ5MDc5YzE4ZGNiNjE5OTJlZWJkYmY0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCkBAIC00OTEsNiArNDkxLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVB
REVSUwogICAgIGRvbS9Ob2RlVHJhdmVyc2FsLmgKICAgICBkb20vT3ZlcmZsb3dFdmVudC5oCiAg
ICAgZG9tL1BvaW50ZXJFdmVudC5oCisgICAgZG9tL1BvaW50ZXJFdmVudFR5cGVOYW1lcy5oCiAg
ICAgZG9tL1Bvc2l0aW9uLmgKICAgICBkb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgKICAgICBk
b20vUHJvZ3Jlc3NFdmVudC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDhhODYxNzI5ODg3MjBjZjg5NGI2
YTEzOGM1ZmI0NjQwNjAwZDZlMjUuLjBjZjE1YmE1MTFjOWEwMGY2NGNlM2UyMDIxZGM5ZjM3MzU3
ODA5ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC05NzgsNiArOTc4LDcgQEAgZG9tL092ZXJmbG93RXZl
bnQuY3BwCiBkb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAKIGRvbS9QZW5kaW5nU2NyaXB0LmNw
cAogZG9tL1BvaW50ZXJFdmVudC5jcHAKK2RvbS9Qb2ludGVyRXZlbnRUeXBlTmFtZXMuY3BwCiBk
b20vUG9wU3RhdGVFdmVudC5jcHAKIGRvbS9Qb3NpdGlvbi5jcHAKIGRvbS9Qb3NpdGlvbkl0ZXJh
dG9yLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGRkNjQ0YzI2YmI3ZDdjZWQ2MGU3NTAxYTU3OGVhZjRiNTQ0MWMyZDYuLmRi
ZjI0YjYyYzRkMDRiMzhmZjVjNGI1OTVkYWJmZmE0M2MxODY5MzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUyODEsNiArNTI4
MSw3IEBACiAJCUY0MDNFNzg3MjM2M0I1OEMwMDA0NDU1MCAvKiBFbnRlcktleUhpbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDNFNzg1MjM2M0I1
OEMwMDA0NDU1MCAvKiBFbnRlcktleUhpbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDBEQUFFQzI1RDlGMjVFMDAxMUI0RkEgLyogUGFzdGVi
b2FyZENvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY0MERBQUVCMjVEOUYyNUUwMDExQjRGQSAvKiBQYXN0ZWJvYXJkQ29udGV4dC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0MERBQUVGMjVE
OUYzQkYwMDExQjRGQSAvKiBQYWdlUGFzdGVib2FyZENvbnRleHQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MERBQUVFMjVEOUYzQkYwMDExQjRGQSAv
KiBQYWdlUGFzdGVib2FyZENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlGNDIwRjAwQTI1RTQ3NzkxMDA5MjUxRUYgLyogUG9pbnRlckV2
ZW50VHlwZU5hbWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNDIwRjAwODI1RTQ3NzkxMDA5MjUxRUYgLyogUG9pbnRlckV2ZW50VHlwZU5hbWVzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQyOTI2
MTgyNTI2NEQ0NDAwMDA3ODk4IC8qIE1lZGlhUGxheWVySWRlbnRpZmllci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQyOTI2MTcyNTI2NEQ0NDAwMDA3
ODk4IC8qIE1lZGlhUGxheWVySWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0MzNFOTAzMURCQkRCQTIwMEVGMEQxNCAvKiBTdGF0
aWNQYXN0ZWJvYXJkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNDMzRTkwMjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2FyZC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0Mzc3RDU3MjU1
MUM5QzYwMDgwQUJGRSAvKiBEaXNwbGF5TGlzdEl0ZW1UeXBlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDM3N0Q1NTI1NTFDOUM2MDA4MEFCRkUgLyog
RGlzcGxheUxpc3RJdGVtVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC0xNjYzMSw2ICsxNjYzMiw4IEBACiAJCUY0MDNFNzg2MjM2M0I1OEMw
MDA0NDU1MCAvKiBFbnRlcktleUhpbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRW50ZXJLZXlI
aW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQwREFBRUIyNUQ5RjI1RTAw
MTFCNEZBIC8qIFBhc3RlYm9hcmRDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhc3RlYm9hcmRD
b250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MERBQUVFMjVEOUYzQkYw
MDExQjRGQSAvKiBQYWdlUGFzdGVib2FyZENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZVBh
c3RlYm9hcmRDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0MjBGMDA4
MjVFNDc3OTEwMDkyNTFFRiAvKiBQb2ludGVyRXZlbnRUeXBlTmFtZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUG9pbnRlckV2ZW50VHlwZU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUY0MjBGMDA5MjVFNDc3OTEwMDkyNTFFRiAvKiBQb2ludGVyRXZlbnRUeXBlTmFtZXMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUG9pbnRlckV2ZW50VHlwZU5hbWVzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRjQyMkI4QjUyNTNGNzA2NTAwNEU3N0U4IC8qIERpc3BsYXlMaXN0
SXRlbUJ1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZW1CdWZmZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQyMkI4QjYyNTNGNzA2NTAwNEU3N0U4IC8qIERp
c3BsYXlMaXN0SXRlbUJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5TGlzdEl0
ZW1CdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDI5MjYxNzI1MjY0
RDQ0MDAwMDc4OTggLyogTWVkaWFQbGF5ZXJJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
ZGlhUGxheWVySWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzA0
MDIsNiArMzA0MDUsOCBAQAogCQkJCTMxN0QzRkYxMjE1NTk5RTIwMDM0RTNCOSAvKiBQb2ludGVy
RXZlbnQuY3BwICovLAogCQkJCTMxN0QzRkYyMjE1NTk5RTMwMDM0RTNCOSAvKiBQb2ludGVyRXZl
bnQuaCAqLywKIAkJCQkzMTdEM0ZFRjIxNTU5OUUxMDAzNEUzQjkgLyogUG9pbnRlckV2ZW50Lmlk
bCAqLywKKwkJCQlGNDIwRjAwOTI1RTQ3NzkxMDA5MjUxRUYgLyogUG9pbnRlckV2ZW50VHlwZU5h
bWVzLmNwcCAqLywKKwkJCQlGNDIwRjAwODI1RTQ3NzkxMDA5MjUxRUYgLyogUG9pbnRlckV2ZW50
VHlwZU5hbWVzLmggKi8sCiAJCQkJNTE4OUYwREQxMEI0NkIwRTAwRjNDNzM5IC8qIFBvcFN0YXRl
RXZlbnQuY3BwICovLAogCQkJCTUxNzRFMjA4MTBBMUY0NEYwMEY5NUU2RiAvKiBQb3BTdGF0ZUV2
ZW50LmggKi8sCiAJCQkJNTE3NEUyMEIxMEExRjQ5QTAwRjk1RTZGIC8qIFBvcFN0YXRlRXZlbnQu
aWRsICovLApAQCAtMzQyNDgsNiArMzQyNTMsNyBAQAogCQkJCTk1REY5RDI1MjUyQkVEQjIwMDBE
N0Y0NiAvKiBQb2ludGVyQ2hhcmFjdGVyaXN0aWNzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTdE
M0ZGMzIxNTU5OUY0MDAzNEUzQjkgLyogUG9pbnRlckV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMkIxRjcxNzBEMDBDQUE4MDA0QUVBNjQgLyogUG9pbnRlckV2ZW50c0hpdFJ1bGVzLmggaW4g
SGVhZGVycyAqLywKKwkJCQlGNDIwRjAwQTI1RTQ3NzkxMDA5MjUxRUYgLyogUG9pbnRlckV2ZW50
VHlwZU5hbWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3MUVBRENEODIyMDg3RTcyMDA2NUE0NUYg
LyogUG9pbnRlcklELmggaW4gSGVhZGVycyAqLywKIAkJCQkzRkY4MTNBNzFEQkE4NjQwMDA5QkYw
MDEgLyogUG9pbnRlckxvY2tDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ5
MjEyNDhGMEIzMDBEM0E5QzkgLyogUG9pbnRMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCmluZGV4IGU5OGIxMjc0MGYzY2Q3NDY4ZjE4NWFj
NTg4NmUwNzQxYzRhNTMzMjcuLmYyMTg3OWZkZmJjNjRlN2QyZjExYWIwODRkNDY3OTRhOWU2MDEx
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCkBAIC0yNywzMCArMjcsMTMgQEAK
ICNpbmNsdWRlICJQb2ludGVyRXZlbnQuaCIKIAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNp
bmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUG9pbnRlckV2
ZW50KTsKIAotY29uc3QgU3RyaW5nJiBQb2ludGVyRXZlbnQ6Om1vdXNlUG9pbnRlclR5cGUoKQot
ewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IG1vdXNlVHlwZShNQUtF
X1NUQVRJQ19TVFJJTkdfSU1QTCgibW91c2UiKSk7Ci0gICAgcmV0dXJuIG1vdXNlVHlwZTsKLX0K
LQotY29uc3QgU3RyaW5nJiBQb2ludGVyRXZlbnQ6OnBlblBvaW50ZXJUeXBlKCkKLXsKLSAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiBwZW5UeXBlKE1BS0VfU1RBVElDX1NU
UklOR19JTVBMKCJwZW4iKSk7Ci0gICAgcmV0dXJuIHBlblR5cGU7Ci19Ci0KLWNvbnN0IFN0cmlu
ZyYgUG9pbnRlckV2ZW50Ojp0b3VjaFBvaW50ZXJUeXBlKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiB0b3VjaFR5cGUoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwo
InRvdWNoIikpOwotICAgIHJldHVybiB0b3VjaFR5cGU7Ci19Ci0KIHN0YXRpYyBBdG9tU3RyaW5n
IHBvaW50ZXJFdmVudFR5cGUoY29uc3QgQXRvbVN0cmluZyYgbW91c2VFdmVudFR5cGUpCiB7CiAg
ICAgYXV0byYgbmFtZXMgPSBldmVudE5hbWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vUG9pbnRlckV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmgK
aW5kZXggYmFjNTlhMmU5MDZkNTJlZTI4NTNkM2FjMTAyOGRlZTM5MzIzNTYxMy4uOWQ2MGI4NTE1
MmYzNzg1NjYxMTg1NzQ2NjM3MDFjMjViMDAxZGYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1BvaW50ZXJFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZl
bnQuaApAQCAtMjcsNyArMjcsNyBAQAogCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1
ZGUgIk1vdXNlRXZlbnQuaCIKLSNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVkZSAiUG9pbnRlckV2
ZW50VHlwZU5hbWVzLmgiCiAjaW5jbHVkZSAiUG9pbnRlcklELmgiCiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKQEAgLTM3LDYgKzM3LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCitjbGFzcyBOb2RlOworCiBjbGFzcyBQb2ludGVyRXZlbnQgZmluYWwgOiBwdWJsaWMgTW91
c2VFdmVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQb2ludGVyRXZlbnQpOwogcHVi
bGljOgpAQCAtNDksNyArNTEsNyBAQCBwdWJsaWM6CiAgICAgICAgIGxvbmcgdGlsdFggeyAwIH07
CiAgICAgICAgIGxvbmcgdGlsdFkgeyAwIH07CiAgICAgICAgIGxvbmcgdHdpc3QgeyAwIH07Ci0g
ICAgICAgIFN0cmluZyBwb2ludGVyVHlwZSB7IFBvaW50ZXJFdmVudDo6bW91c2VQb2ludGVyVHlw
ZSgpIH07CisgICAgICAgIFN0cmluZyBwb2ludGVyVHlwZSB7IG1vdXNlUG9pbnRlckV2ZW50VHlw
ZSgpIH07CiAgICAgICAgIGJvb2wgaXNQcmltYXJ5IHsgZmFsc2UgfTsKICAgICB9OwogCkBAIC04
NCwxMCArODYsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxQb2ludGVyRXZlbnQ+IGNyZWF0
ZShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVudCYsIHVuc2lnbmVk
IHRvdWNoSW5kZXgsIGJvb2wgaXNQcmltYXJ5LCBSZWY8V2luZG93UHJveHk+JiYpOwogI2VuZGlm
CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgY29uc3QgU3RyaW5nJiBtb3VzZVBvaW50ZXJU
eXBlKCk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGNvbnN0IFN0cmluZyYgcGVuUG9pbnRl
clR5cGUoKTsKLSAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiB0b3VjaFBvaW50ZXJUeXBlKCk7Ci0K
ICAgICB2aXJ0dWFsIH5Qb2ludGVyRXZlbnQoKTsKIAogICAgIFBvaW50ZXJJRCBwb2ludGVySWQo
KSBjb25zdCB7IHJldHVybiBtX3BvaW50ZXJJZDsgfQpAQCAtMTM1LDcgKzEzMyw3IEBAIHByaXZh
dGU6CiAgICAgbG9uZyBtX3RpbHRYIHsgMCB9OwogICAgIGxvbmcgbV90aWx0WSB7IDAgfTsKICAg
ICBsb25nIG1fdHdpc3QgeyAwIH07Ci0gICAgU3RyaW5nIG1fcG9pbnRlclR5cGUgeyBQb2ludGVy
RXZlbnQ6Om1vdXNlUG9pbnRlclR5cGUoKSB9OworICAgIFN0cmluZyBtX3BvaW50ZXJUeXBlIHsg
bW91c2VQb2ludGVyRXZlbnRUeXBlKCkgfTsKICAgICBib29sIG1faXNQcmltYXJ5IHsgZmFsc2Ug
fTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnRUeXBl
TmFtZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVudFR5cGVOYW1lcy5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDM4NTdlYTdmZmQ2MzBjYjQwMzk0MTRjYjE2ZGFjYjcyODUxYjgxMgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnRUeXBlTmFtZXMu
Y3BwCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiUG9pbnRlckV2ZW50VHlwZU5hbWVzLmgiCisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjb25zdCBTdHJpbmcmIG1vdXNl
UG9pbnRlckV2ZW50VHlwZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0
cmluZz4gbW91c2VUeXBlKE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJtb3VzZSIpKTsKKyAgICBy
ZXR1cm4gbW91c2VUeXBlOworfQorCitjb25zdCBTdHJpbmcmIHBlblBvaW50ZXJFdmVudFR5cGUo
KQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHBlblR5cGUoTUFL
RV9TVEFUSUNfU1RSSU5HX0lNUEwoInBlbiIpKTsKKyAgICByZXR1cm4gcGVuVHlwZTsKK30KKwor
Y29uc3QgU3RyaW5nJiB0b3VjaFBvaW50ZXJFdmVudFR5cGUoKQoreworICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHRvdWNoVHlwZShNQUtFX1NUQVRJQ19TVFJJTkdfSU1Q
TCgidG91Y2giKSk7CisgICAgcmV0dXJuIHRvdWNoVHlwZTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVudFR5cGVO
YW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVudFR5cGVOYW1lcy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjExMGUzNGE2NTY0ZDNjZDU1NjQzMDAwMTAxZmFhZmZiOGY1YWIwMjAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50VHlwZU5hbWVzLmgKQEAg
LTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IFN0cmluZyYgbW91c2VQb2ludGVyRXZlbnRU
eXBlKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBTdHJpbmcmIHBlblBvaW50ZXJFdmVudFR5cGUo
KTsKK2NvbnN0IFN0cmluZyYgdG91Y2hQb2ludGVyRXZlbnRUeXBlKCk7CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9pb3MvUG9pbnRlckV2
ZW50SU9TLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9pb3MvUG9pbnRlckV2ZW50SU9TLmNwcApp
bmRleCA3OWQ2MDA0YmQ3N2Q3NmFmZDRiMzU2ZjdiMjQyMzliNTMzZDgxNzE4Li5iYzFiOWNlNjZm
OGVjNTQ2OTYyNDNmYTkwYzUyZGU3OWYxYWU0NDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vaW9zL1BvaW50ZXJFdmVudElPUy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL2lv
cy9Qb2ludGVyRXZlbnRJT1MuY3BwCkBAIC03OCw3ICs3OCw3IEBAIFBvaW50ZXJFdmVudDo6UG9p
bnRlckV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVu
dCYgZXZlCiAgICAgLCBtX3dpZHRoKDIgKiBldmVudC5yYWRpdXNYQXRJbmRleChpbmRleCkpCiAg
ICAgLCBtX2hlaWdodCgyICogZXZlbnQucmFkaXVzWUF0SW5kZXgoaW5kZXgpKQogICAgICwgbV9w
cmVzc3VyZShldmVudC5mb3JjZUF0SW5kZXgoaW5kZXgpKQotICAgICwgbV9wb2ludGVyVHlwZShl
dmVudC50b3VjaFR5cGVBdEluZGV4KGluZGV4KSA9PSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNo
VHlwZTo6U3R5bHVzID8gUG9pbnRlckV2ZW50OjpwZW5Qb2ludGVyVHlwZSgpIDogUG9pbnRlckV2
ZW50Ojp0b3VjaFBvaW50ZXJUeXBlKCkpCisgICAgLCBtX3BvaW50ZXJUeXBlKGV2ZW50LnRvdWNo
VHlwZUF0SW5kZXgoaW5kZXgpID09IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hUeXBlOjpTdHls
dXMgPyBwZW5Qb2ludGVyRXZlbnRUeXBlKCkgOiB0b3VjaFBvaW50ZXJFdmVudFR5cGUoKSkKICAg
ICAsIG1faXNQcmltYXJ5KGlzUHJpbWFyeSkKIHsKICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIu
Y29tL3czYy9wb2ludGVyZXZlbnRzL2lzc3Vlcy8yNzQuIFdlIG1pZ2h0IGV4cG9zZSB0aGUgYXpp
bXV0aCBhbmQgYWx0aXR1ZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRl
ckNhcHR1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckNhcHR1
cmVDb250cm9sbGVyLmNwcAppbmRleCA1Y2I2OTA3ZTlkZGY1NWY2MWE3ZWJlMzcwNGY1ZjJiOGM5
NWMwODAxLi43NTdmNTQ1NjhlMWQ4YjRkNWZlNDBmMzA5MTEwNzNlNmRlMmIxN2ExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJDYXB0dXJlQ29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyQ2FwdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC0x
NzMsNyArMTczLDcgQEAgdm9pZCBQb2ludGVyQ2FwdHVyZUNvbnRyb2xsZXI6OnJlc2V0KCkKICAg
ICBtX2hhdmVBbnlDYXB0dXJpbmdFbGVtZW50ID0gZmFsc2U7CiAKICAgICBDYXB0dXJpbmdEYXRh
IGNhcHR1cmluZ0RhdGE7Ci0gICAgY2FwdHVyaW5nRGF0YS5wb2ludGVyVHlwZSA9IFBvaW50ZXJF
dmVudDo6bW91c2VQb2ludGVyVHlwZSgpOworICAgIGNhcHR1cmluZ0RhdGEucG9pbnRlclR5cGUg
PSBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKTsKICAgICBtX2FjdGl2ZVBvaW50ZXJJZHNUb0NhcHR1
cmluZ0RhdGEuYWRkKG1vdXNlUG9pbnRlcklELCBjYXB0dXJpbmdEYXRhKTsKIH0KIApAQCAtMzI3
LDcgKzMyNyw3IEBAIFJlZlB0cjxQb2ludGVyRXZlbnQ+IFBvaW50ZXJDYXB0dXJlQ29udHJvbGxl
cjo6cG9pbnRlckV2ZW50Rm9yTW91c2VFdmVudChjb25zdCBNCiAgICAgLy8gSWYgd2UgYWxyZWFk
eSBoYXZlIGtub3duIHRvdWNoZXMgdGhlbiB3ZSBjYW5ub3QgZGlzcGF0Y2ggYSBtb3VzZSBldmVu
dCwKICAgICAvLyBmb3IgaW5zdGFuY2UgaW4gdGhlIGNhc2Ugb2YgYSBsb25nIHByZXNzIHRvIGlu
aXRpYXRlIGEgc3lzdGVtIGRyYWcuCiAgICAgZm9yIChhdXRvJiBjYXB0dXJpbmdEYXRhIDogbV9h
Y3RpdmVQb2ludGVySWRzVG9DYXB0dXJpbmdEYXRhLnZhbHVlcygpKSB7Ci0gICAgICAgIGlmIChj
YXB0dXJpbmdEYXRhLnBvaW50ZXJUeXBlID09IFBvaW50ZXJFdmVudDo6dG91Y2hQb2ludGVyVHlw
ZSgpICYmIGNhcHR1cmluZ0RhdGEucG9pbnRlcklzUHJlc3NlZCAmJiAhY2FwdHVyaW5nRGF0YS5j
YW5jZWxsZWQpCisgICAgICAgIGlmIChjYXB0dXJpbmdEYXRhLnBvaW50ZXJUeXBlID09IHRvdWNo
UG9pbnRlckV2ZW50VHlwZSgpICYmIGNhcHR1cmluZ0RhdGEucG9pbnRlcklzUHJlc3NlZCAmJiAh
Y2FwdHVyaW5nRGF0YS5jYW5jZWxsZWQpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICB9CiAKQEAgLTM3Niw3ICszNzYsNyBAQCB2b2lkIFBvaW50ZXJDYXB0dXJlQ29udHJvbGxlcjo6
ZGlzcGF0Y2hFdmVudChQb2ludGVyRXZlbnQmIGV2ZW50LCBFdmVudFRhcmdldCogdAogICAgIC8v
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wb2ludGVyZXZlbnRzLyNmaXJpbmctZXZlbnRzLXVzaW5n
LXRoZS1wb2ludGVyZXZlbnQtaW50ZXJmYWNlCiAgICAgLy8gSWYgdGhlIGV2ZW50IGlzIG5vdCBn
b3Rwb2ludGVyY2FwdHVyZSBvciBsb3N0cG9pbnRlcmNhcHR1cmUsIHJ1biBQcm9jZXNzIFBlbmRp
bmcgUG9pbnRlciBDYXB0dXJlIHN0ZXBzIGZvciB0aGlzIFBvaW50ZXJFdmVudC4KICAgICAvLyBX
ZSBvbmx5IG5lZWQgdG8gZG8gdGhpcyBmb3Igbm9uLW1vdXNlIHR5cGUgc2luY2UgZm9yIG1vdXNl
IGV2ZW50cyB0aGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBpbiBEb2N1bWVudDo6cHJlcGFyZU1v
dXNlRXZlbnQoKS4KLSAgICBpZiAoZXZlbnQucG9pbnRlclR5cGUoKSAhPSBQb2ludGVyRXZlbnQ6
Om1vdXNlUG9pbnRlclR5cGUoKSkKKyAgICBpZiAoZXZlbnQucG9pbnRlclR5cGUoKSAhPSBtb3Vz
ZVBvaW50ZXJFdmVudFR5cGUoKSkKICAgICAgICAgcHJvY2Vzc1BlbmRpbmdQb2ludGVyQ2FwdHVy
ZShldmVudC5wb2ludGVySWQoKSk7CiAKICAgICBwb2ludGVyRXZlbnRXaWxsQmVEaXNwYXRjaGVk
KGV2ZW50LCB0YXJnZXQpOwpAQCAtMzk2LDcgKzM5Niw3IEBAIHZvaWQgUG9pbnRlckNhcHR1cmVD
b250cm9sbGVyOjpwb2ludGVyRXZlbnRXaWxsQmVEaXNwYXRjaGVkKGNvbnN0IFBvaW50ZXJFdmVu
dCYKIAogICAgIGF1dG8gcG9pbnRlcklkID0gZXZlbnQucG9pbnRlcklkKCk7CiAKLSAgICBpZiAo
ZXZlbnQucG9pbnRlclR5cGUoKSAhPSBQb2ludGVyRXZlbnQ6OnRvdWNoUG9pbnRlclR5cGUoKSkg
eworICAgIGlmIChldmVudC5wb2ludGVyVHlwZSgpICE9IHRvdWNoUG9pbnRlckV2ZW50VHlwZSgp
KSB7CiAgICAgICAgIGF1dG8gaXRlcmF0b3IgPSBtX2FjdGl2ZVBvaW50ZXJJZHNUb0NhcHR1cmlu
Z0RhdGEuZmluZChwb2ludGVySWQpOwogICAgICAgICBpZiAoaXRlcmF0b3IgIT0gbV9hY3RpdmVQ
b2ludGVySWRzVG9DYXB0dXJpbmdEYXRhLmVuZCgpKQogICAgICAgICAgICAgaXRlcmF0b3ItPnZh
bHVlLnBvaW50ZXJJc1ByZXNzZWQgPSBpc1BvaW50ZXJkb3duOwpAQCAtNDUwLDcgKzQ1MCw3IEBA
IHZvaWQgUG9pbnRlckNhcHR1cmVDb250cm9sbGVyOjpwb2ludGVyRXZlbnRXYXNEaXNwYXRjaGVk
KGNvbnN0IFBvaW50ZXJFdmVudCYgZXZlCiAKICAgICAgICAgLy8gSWYgYSBtb3VzZSBwb2ludGVy
IGhhcyBtb3ZlZCB3aGlsZSBpdCBpc24ndCBwcmVzc2VkLCBtYWtlIHN1cmUgd2UgcmVzZXQgdGhl
IHByZXZlbnRzQ29tcGF0aWJpbGl0eU1vdXNlRXZlbnRzIGZsYWcgc2luY2UKICAgICAgICAgLy8g
d2UgY291bGQgb3RoZXJ3aXNlIHByZXZlbnQgY29tcGF0aWJpbGl0eSBtb3VzZSBldmVudHMgd2hp
bGUgdGhvc2UgYXJlIG9ubHkgc3VwcG9zZWQgdG8gYmUgcHJldmVudGVkIHdoaWxlIHRoZSBwb2lu
dGVyIGlzIHByZXNzZWQuCi0gICAgICAgIGlmIChldmVudC50eXBlKCkgPT0gZXZlbnROYW1lcygp
LnBvaW50ZXJtb3ZlRXZlbnQgJiYgY2FwdHVyaW5nRGF0YS5wb2ludGVyVHlwZSA9PSBQb2ludGVy
RXZlbnQ6Om1vdXNlUG9pbnRlclR5cGUoKSAmJiAhY2FwdHVyaW5nRGF0YS5wb2ludGVySXNQcmVz
c2VkKQorICAgICAgICBpZiAoZXZlbnQudHlwZSgpID09IGV2ZW50TmFtZXMoKS5wb2ludGVybW92
ZUV2ZW50ICYmIGNhcHR1cmluZ0RhdGEucG9pbnRlclR5cGUgPT0gbW91c2VQb2ludGVyRXZlbnRU
eXBlKCkgJiYgIWNhcHR1cmluZ0RhdGEucG9pbnRlcklzUHJlc3NlZCkKICAgICAgICAgICAgIGNh
cHR1cmluZ0RhdGEucHJldmVudHNDb21wYXRpYmlsaXR5TW91c2VFdmVudHMgPSBmYWxzZTsKIAog
ICAgICAgICAvLyBJZiB0aGUgcG9pbnRlciBldmVudCBkaXNwYXRjaGVkIHdhcyBwb2ludGVyZG93
biBhbmQgdGhlIGV2ZW50IHdhcyBjYW5jZWxlZCwgdGhlbiBzZXQgdGhlIFBSRVZFTlQgTU9VU0Ug
RVZFTlQgZmxhZyBmb3IgdGhpcyBwb2ludGVyVHlwZS4KQEAgLTUzNiw3ICs1MzYsNyBAQCB2b2lk
IFBvaW50ZXJDYXB0dXJlQ29udHJvbGxlcjo6cHJvY2Vzc1BlbmRpbmdQb2ludGVyQ2FwdHVyZShQ
b2ludGVySUQgcG9pbnRlcklkKQogICAgIGlmIChjYXB0dXJpbmdEYXRhLnRhcmdldE92ZXJyaWRl
ICYmIGNhcHR1cmluZ0RhdGEudGFyZ2V0T3ZlcnJpZGUgIT0gcGVuZGluZ1RhcmdldE92ZXJyaWRl
KSB7CiAgICAgICAgIGlmIChjYXB0dXJpbmdEYXRhLnRhcmdldE92ZXJyaWRlLT5pc0Nvbm5lY3Rl
ZCgpKQogICAgICAgICAgICAgY2FwdHVyaW5nRGF0YS50YXJnZXRPdmVycmlkZS0+ZGlzcGF0Y2hF
dmVudChQb2ludGVyRXZlbnQ6OmNyZWF0ZUZvclBvaW50ZXJDYXB0dXJlKGV2ZW50TmFtZXMoKS5s
b3N0cG9pbnRlcmNhcHR1cmVFdmVudCwgcG9pbnRlcklkLCBjYXB0dXJpbmdEYXRhLmlzUHJpbWFy
eSwgY2FwdHVyaW5nRGF0YS5wb2ludGVyVHlwZSkpOwotICAgICAgICBpZiAoY2FwdHVyaW5nRGF0
YS5wb2ludGVyVHlwZSA9PSBQb2ludGVyRXZlbnQ6Om1vdXNlUG9pbnRlclR5cGUoKSkgeworICAg
ICAgICBpZiAoY2FwdHVyaW5nRGF0YS5wb2ludGVyVHlwZSA9PSBtb3VzZVBvaW50ZXJFdmVudFR5
cGUoKSkgewogICAgICAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gY2FwdHVyaW5nRGF0YS50YXJn
ZXRPdmVycmlkZS0+ZG9jdW1lbnQoKS5mcmFtZSgpKQogICAgICAgICAgICAgICAgIGZyYW1lLT5l
dmVudEhhbmRsZXIoKS5wb2ludGVyQ2FwdHVyZUVsZW1lbnREaWRDaGFuZ2UobnVsbHB0cik7CiAg
ICAgICAgIH0KQEAgLTU0NSw3ICs1NDUsNyBAQCB2b2lkIFBvaW50ZXJDYXB0dXJlQ29udHJvbGxl
cjo6cHJvY2Vzc1BlbmRpbmdQb2ludGVyQ2FwdHVyZShQb2ludGVySUQgcG9pbnRlcklkKQogICAg
IC8vIDIuIElmIHRoZSBwZW5kaW5nIHBvaW50ZXIgY2FwdHVyZSB0YXJnZXQgb3ZlcnJpZGUgZm9y
IHRoaXMgcG9pbnRlciBpcyBzZXQgYW5kIGlzIG5vdCBlcXVhbCB0byB0aGUgcG9pbnRlciBjYXB0
dXJlIHRhcmdldCBvdmVycmlkZSwKICAgICAvLyB0aGVuIGZpcmUgYSBwb2ludGVyIGV2ZW50IG5h
bWVkIGdvdHBvaW50ZXJjYXB0dXJlIGF0IHRoZSBwZW5kaW5nIHBvaW50ZXIgY2FwdHVyZSB0YXJn
ZXQgb3ZlcnJpZGUuCiAgICAgaWYgKGNhcHR1cmluZ0RhdGEucGVuZGluZ1RhcmdldE92ZXJyaWRl
ICYmIGNhcHR1cmluZ0RhdGEudGFyZ2V0T3ZlcnJpZGUgIT0gcGVuZGluZ1RhcmdldE92ZXJyaWRl
KSB7Ci0gICAgICAgIGlmIChjYXB0dXJpbmdEYXRhLnBvaW50ZXJUeXBlID09IFBvaW50ZXJFdmVu
dDo6bW91c2VQb2ludGVyVHlwZSgpKSB7CisgICAgICAgIGlmIChjYXB0dXJpbmdEYXRhLnBvaW50
ZXJUeXBlID09IG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKSB7CiAgICAgICAgICAgICBpZiAoYXV0
byogZnJhbWUgPSBwZW5kaW5nVGFyZ2V0T3ZlcnJpZGUtPmRvY3VtZW50KCkuZnJhbWUoKSkKICAg
ICAgICAgICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkucG9pbnRlckNhcHR1cmVFbGVtZW50
RGlkQ2hhbmdlKHBlbmRpbmdUYXJnZXRPdmVycmlkZS5nZXQoKSk7CiAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuaCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuaAppbmRleCAzYWJhM2E1OGZmYmJjZGYyODNmNGE0ZmYy
ZjY2YjY4ZDIxYTg4MDk5Li40NGU2NzFjMWFlN2QyNTU3YzU1ZWE2YjMyNmU0MTVhODk0Y2EwY2U3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJNb3VzZUV2ZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5oCkBAIC0zMSw3ICszMSw3IEBACiAK
ICNpbmNsdWRlICJXZWJFdmVudC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UG9pbnQuaD4KLSNp
bmNsdWRlIDxXZWJDb3JlL1BvaW50ZXJFdmVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUG9pbnRl
ckV2ZW50VHlwZU5hbWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qb2ludGVySUQuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShN
QUMpCiAgICAgV2ViTW91c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRv
bnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwg
ZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRp
bWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UsIFN5bnRoZXRpY0NsaWNrVHlwZSA9IE5vVGFwLCBp
bnQgZXZlbnROdW1iZXIgPSAtMSwgaW50IG1lbnVUeXBlID0gMCk7CiAjZWxzZQotICAgIFdlYk1v
dXNlRXZlbnQoVHlwZSwgQnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYgcG9zaXRpb25JblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBn
bG9iYWxQb3NpdGlvbiwgZmxvYXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZsb2F0IGRlbHRhWiwg
aW50IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFtcCwg
ZG91YmxlIGZvcmNlID0gMCwgU3ludGhldGljQ2xpY2tUeXBlID0gTm9UYXAsIFdlYkNvcmU6OlBv
aW50ZXJJRCA9IFdlYkNvcmU6Om1vdXNlUG9pbnRlcklELCBjb25zdCBTdHJpbmcmIHBvaW50ZXJU
eXBlID0gV2ViQ29yZTo6UG9pbnRlckV2ZW50Ojptb3VzZVBvaW50ZXJUeXBlKCkpOworICAgIFdl
Yk1vdXNlRXZlbnQoVHlwZSwgQnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb25JblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBnbG9iYWxQb3NpdGlvbiwgZmxvYXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZsb2F0IGRlbHRh
WiwgaW50IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFt
cCwgZG91YmxlIGZvcmNlID0gMCwgU3ludGhldGljQ2xpY2tUeXBlID0gTm9UYXAsIFdlYkNvcmU6
OlBvaW50ZXJJRCA9IFdlYkNvcmU6Om1vdXNlUG9pbnRlcklELCBjb25zdCBTdHJpbmcmIHBvaW50
ZXJUeXBlID0gV2ViQ29yZTo6bW91c2VQb2ludGVyRXZlbnRUeXBlKCkpOwogI2VuZGlmCiAKICAg
ICBCdXR0b24gYnV0dG9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QnV0dG9uPihtX2J1
dHRvbik7IH0KQEAgLTkzLDcgKzkzLDcgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9mb3JjZSB7
IDAgfTsKICAgICB1aW50MzJfdCBtX3N5bnRoZXRpY0NsaWNrVHlwZSB7IE5vVGFwIH07CiAgICAg
V2ViQ29yZTo6UG9pbnRlcklEIG1fcG9pbnRlcklkIHsgV2ViQ29yZTo6bW91c2VQb2ludGVySUQg
fTsKLSAgICBTdHJpbmcgbV9wb2ludGVyVHlwZSB7IFdlYkNvcmU6OlBvaW50ZXJFdmVudDo6bW91
c2VQb2ludGVyVHlwZSgpIH07CisgICAgU3RyaW5nIG1fcG9pbnRlclR5cGUgeyBXZWJDb3JlOjpt
b3VzZVBvaW50ZXJFdmVudFR5cGUoKSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdC
YXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jh
c2UuY3BwCmluZGV4IDY3MzlkZmE2MzYyN2FhMDk4ZDNlODI3NzAxNTBkMWE5OTk0ZGQwYmMuLmRk
MGViNmFiMDg5NWE5MjY1Y2QyMjdlYTdjZDg0NThlN2RjMWJkZjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0y
NTI3LDEwICsyNTI3LDEwIEBAIHN0YXRpYyBpbmxpbmUgT3B0aW9uU2V0PFdlYkV2ZW50OjpNb2Rp
Zmllcj4gdG9XZWJLaXRNb2RpZmllcnModW5zaWduZWQgbW9kaWZpZXJzCiAKIHN0YXRpYyBpbmxp
bmUgUG9pbnRlcklEIHByaW1hcnlQb2ludGVyRm9yVHlwZShjb25zdCBTdHJpbmcmIHBvaW50ZXJU
eXBlKQogewotICAgIGlmIChwb2ludGVyVHlwZSA9PSBQb2ludGVyRXZlbnQ6Om1vdXNlUG9pbnRl
clR5cGUoKSkKKyAgICBpZiAocG9pbnRlclR5cGUgPT0gbW91c2VQb2ludGVyRXZlbnRUeXBlKCkp
CiAgICAgICAgIHJldHVybiBtb3VzZVBvaW50ZXJJRDsKIAotICAgIGlmIChwb2ludGVyVHlwZSA9
PSBQb2ludGVyRXZlbnQ6OnBlblBvaW50ZXJUeXBlKCkpCisgICAgaWYgKHBvaW50ZXJUeXBlID09
IHBlblBvaW50ZXJFdmVudFR5cGUoKSkKICAgICAgICAgcmV0dXJuIDI7CiAKICAgICByZXR1cm4g
bW91c2VQb2ludGVySUQ7CkBAIC0yNjE5LDcgKzI2MTksNyBAQCB2b2lkIHdlYmtpdFdlYlZpZXdC
YXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlLCBN
b3VzZQogCiAgICAgcHJpdi0+cGFnZVByb3h5LT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1v
dXNlRXZlbnQod2ViRXZlbnRUeXBlLCB3ZWJFdmVudEJ1dHRvbiwgd2ViRXZlbnRCdXR0b25zLCB7
IHgsIHkgfSwKICAgICAgICAgd2lkZ2V0Um9vdENvb3JkcyhHVEtfV0lER0VUKHdlYlZpZXdCYXNl
KSwgeCwgeSksIGNsaWNrQ291bnQsIHRvV2ViS2l0TW9kaWZpZXJzKG1vZGlmaWVycyksIG1vdmVt
ZW50RGVsdGEsCi0gICAgICAgIHByaW1hcnlQb2ludGVyRm9yVHlwZShwb2ludGVyVHlwZSksIHBv
aW50ZXJUeXBlLmlzTnVsbCgpID8gUG9pbnRlckV2ZW50Ojptb3VzZVBvaW50ZXJUeXBlKCkgOiBw
b2ludGVyVHlwZSkpOworICAgICAgICBwcmltYXJ5UG9pbnRlckZvclR5cGUocG9pbnRlclR5cGUp
LCBwb2ludGVyVHlwZS5pc051bGwoKSA/IG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpIDogcG9pbnRl
clR5cGUpKTsKIH0KIAogdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVLZXlFdmVudChX
ZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIEtleUV2ZW50VHlwZSB0eXBlLCB1bnNpZ25l
ZCBrZXl2YWwsIHVuc2lnbmVkIG1vZGlmaWVycywgU2hvdWxkVHJhbnNsYXRlS2V5Ym9hcmRTdGF0
ZSBzaG91bGRUcmFuc2xhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
dXRvbWF0aW9uL1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BdXRvbWF0aW9uL1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5jcHAKaW5kZXggMWZk
NDdiY2NhZmY2ODExNTg4MWM4NmIxYTM2NTI2YmQ2ODE3NTQ0OC4uODA0OTE4MmU2ODdjOTFkNzI2
NDAzYTdiMzE4NGY1NDliZDY3MjU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQXV0b21hdGlvbi9TaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmNwcApA
QCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJBdXRv
bWF0aW9uU2Vzc2lvbi5oIgogI2luY2x1ZGUgIldlYkF1dG9tYXRpb25TZXNzaW9uTWFjcm9zLmgi
Ci0jaW5jbHVkZSA8V2ViQ29yZS9Qb2ludGVyRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Bv
aW50ZXJFdmVudFR5cGVOYW1lcy5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgU2ltdWxhdGVkSW5wdXREaXNw
YXRjaGVyOjp0cmFuc2l0aW9uSW5wdXRTb3VyY2VUb1N0YXRlKFNpbXVsYXRlZElucHV0U291cmNl
CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBj
b25zdCBTdHJpbmcmIHBvaW50ZXJUeXBlID0gaW5wdXRTb3VyY2UgPT0gU2ltdWxhdGVkSW5wdXRT
b3VyY2VUeXBlOjpNb3VzZSA/IFdlYkNvcmU6OlBvaW50ZXJFdmVudDo6bW91c2VQb2ludGVyVHlw
ZSgpIDogV2ViQ29yZTo6UG9pbnRlckV2ZW50OjpwZW5Qb2ludGVyVHlwZSgpOworICAgICAgICAg
ICAgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSA9IGlucHV0U291cmNlID09IFNpbXVsYXRlZElu
cHV0U291cmNlVHlwZTo6TW91c2UgPyBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSA6
IFdlYkNvcmU6OnBlblBvaW50ZXJFdmVudFR5cGUoKTsKIAogICAgICAgICAgICAgYi5sb2NhdGlv
biA9IGxvY2F0aW9uOwogICAgICAgICAgICAgLy8gVGhlICJkaXNwYXRjaCBhIHBvaW50ZXJ7RG93
bixVcCxNb3ZlfSBhY3Rpb24iIGFsZ29yaXRobXMgKMKnMTcuNCBEaXNwYXRjaGluZyBBY3Rpb25z
KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0
b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9X
ZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKaW5kZXggNmIzZDQ5MjZiYTg0OWU1ZjA0NjliYjllODhh
ZjZiZWFmMDA0MDBkNS4uNjk3YzM0MjcyZjRhM2ViMDljODViZDFkNzkyOTY5ODVmMTA1YjVkNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0
aW9uU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9X
ZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAKICNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oPgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9N
SU1FVHlwZVJlZ2lzdHJ5Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9Qb2ludGVyRXZlbnQuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1BvaW50ZXJFdmVudFR5cGVOYW1lcy5oPgogI2luY2x1ZGUgPGFsZ29y
aXRobT4KICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CkBAIC0xNzkzLDcgKzE3OTMsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpwZXJm
b3JtTW91c2VJbnRlcmFjdGlvbihjb25zdCBJbnNwZWN0b3I6OlByb3RvY29sOjpBdQogICAgICAg
ICAgICAgY2FsbGJhY2tJbk1hcChBVVRPTUFUSU9OX0NPTU1BTkRfRVJST1JfV0lUSF9OQU1FKFRp
bWVvdXQpKTsKICAgICAgICAgY2FsbGJhY2tJbk1hcCA9IFdURk1vdmUobW91c2VFdmVudHNGbHVz
aGVkQ2FsbGJhY2spOwogCi0gICAgICAgIHBsYXRmb3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9u
KHBhZ2UsIG1vdXNlSW50ZXJhY3Rpb24sIG1vdXNlQnV0dG9uLCBsb2NhdGlvbkluVmlld3BvcnQs
IGtleU1vZGlmaWVycywgV2ViQ29yZTo6UG9pbnRlckV2ZW50Ojptb3VzZVBvaW50ZXJUeXBlKCkp
OworICAgICAgICBwbGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihwYWdlLCBtb3VzZUlu
dGVyYWN0aW9uLCBtb3VzZUJ1dHRvbiwgbG9jYXRpb25JblZpZXdwb3J0LCBrZXlNb2RpZmllcnMs
IFdlYkNvcmU6Om1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKTsKIAogICAgICAgICAvLyBJZiB0aGUg
ZXZlbnQgbG9jYXRpb24gd2FzIHByZXZpb3VzbHkgY2xpcHBlZCBhbmQgZG9lcyBub3QgaGl0IHRl
c3QgYW55dGhpbmcgaW4gdGhlIHdpbmRvdywgdGhlbiBpdCB3aWxsIG5vdCBiZSBwcm9jZXNzZWQu
CiAgICAgICAgIC8vIEZvciBjb21wYXRpYmlsaXR5IHdpdGggcHJlLVczQyBkcml2ZXIgaW1wbGVt
ZW50YXRpb25zLCBkb24ndCBtYWtlIHRoaXMgYSBoYXJkIGVycm9yOyBqdXN0IGRvIG5vdGhpbmcg
c2lsZW50bHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvUG9pbnRl
ckxvY2tNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9Qb2ludGVyTG9j
a01hbmFnZXIuY3BwCmluZGV4IGJiNTAxNzViYWQ4YzFiMDZiMDYxYWFiYWRkNjBkMTI5ODY4MjNh
MWIuLmEzMjI1ODlkODM5ODg5NTczMTJjM2E1MTA5ODFkOWNiNjY4MDExNjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9Qb2ludGVyTG9ja01hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9Qb2ludGVyTG9ja01hbmFnZXIuY3BwCkBAIC05
Myw3ICs5Myw3IEBAIGJvb2wgUG9pbnRlckxvY2tNYW5hZ2VyOjp1bmxvY2soKQogCiB2b2lkIFBv
aW50ZXJMb2NrTWFuYWdlcjo6aGFuZGxlTW90aW9uKEZsb2F0U2l6ZSYmIGRlbHRhKQogewotICAg
IG1fd2ViUGFnZS5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoV2ViRXZlbnQ6
Ok1vdXNlTW92ZSwgbV9idXR0b24sIG1fYnV0dG9ucywgSW50UG9pbnQobV9wb3NpdGlvbiksIElu
dFBvaW50KG1faW5pdGlhbFBvaW50KSwgMCwgbV9tb2RpZmllcnMsIGRlbHRhLCBtb3VzZVBvaW50
ZXJJRCwgUG9pbnRlckV2ZW50Ojptb3VzZVBvaW50ZXJUeXBlKCkpKTsKKyAgICBtX3dlYlBhZ2Uu
aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KFdlYkV2ZW50OjpNb3VzZU1vdmUs
IG1fYnV0dG9uLCBtX2J1dHRvbnMsIEludFBvaW50KG1fcG9zaXRpb24pLCBJbnRQb2ludChtX2lu
aXRpYWxQb2ludCksIDAsIG1fbW9kaWZpZXJzLCBkZWx0YSwgbW91c2VQb2ludGVySUQsIG1vdXNl
UG9pbnRlckV2ZW50VHlwZSgpKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="440059"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421274</attachid>
            <date>2021-02-22 17:42:14 -0800</date>
            <delta_ts>2021-02-22 19:16:39 -0800</delta_ts>
            <desc>For landing</desc>
            <filename>bug-222291-20210222174214.patch</filename>
            <type>text/plain</type>
            <size>28719</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmYwNDgxMDk2OGRjMWM1
OTk2MjdjZjIzZThkZDY1NjRiOTMzNzk1My4uYmY2NmZjZGVkN2M1MDUxNmI4ZDg2OGU5MjdkYjQ2
NTc5ZTA3NzMyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTAyLTIyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFdlYk1vdXNlRXZl
bnQuaCBzaG91bGQgYXZvaWQgcHVsbGluZyBpbiBXZWJDb3JlIGhlYWRlcnMgdGhhdCBrbm93IGFi
b3V0IERPTSBub2RlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIyMjkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgUmVmYWN0b3IgYFBvaW50ZXJFdmVudC5oYCBzbyB0aGF0IHRoZSBzdGF0aWMgY2xhc3MgaGVs
cGVyIG1ldGhvZHMgZm9yIGdldHRpbmcgdGhlIG5hbWVzIG9mIG1vdXNlLCBwZW4gYW5kIHRvdWNo
CisgICAgICAgIHBvaW50ZXIgZXZlbnQgdHlwZXMgYXJlIGluc3RlYWQgc2VwYXJhdGUgZnVuY3Rp
b25zIGluIGBQb2ludGVyRXZlbnRUeXBlTmFtZXMuaGAuIFRoaXMgYWxsb3dzIHVzIHRvIGp1c3Qg
aW1wb3J0CisgICAgICAgIGBQb2ludGVyRXZlbnRUeXBlTmFtZXMuaGAgaW5zdGVhZCBvZiBgUG9p
bnRlckV2ZW50LmhgIGluIFdlYktpdCAtLSBhbmQsIGluIHBhcnRpY3VsYXIsIHdpdGhpbiBXZWJL
aXQgaGVhZGVycworICAgICAgICB0aGF0IGFyZSBleGNsdXNpdmUgdG8gdGhlIFVJIHByb2Nlc3Mu
CisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogSGVhZGVycy5j
bWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL1BvaW50ZXJFdmVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQb2ludGVyRXZlbnQ6Om1vdXNlUG9pbnRlclR5cGUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckV2ZW50OjpwZW5Qb2ludGVyVHlwZSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpQb2ludGVyRXZlbnQ6OnRvdWNoUG9pbnRlclR5cGUpOiBEZWxl
dGVkLgorICAgICAgICAqIGRvbS9Qb2ludGVyRXZlbnQuaDoKKworICAgICAgICBEcml2ZS1ieSBm
aXg6IGFsc28gZm9yd2FyZCBkZWNsYXJlIGBOb2RlYCBpbnN0ZWFkIG9mIGluY2x1ZGluZyBgTm9k
ZS5oYDsgYFdlYkNvcmU6Ok5vZGVgIGlzIG9ubHkgdXNlZCBpbiB0aGlzCisgICAgICAgIGhlYWRl
ciBpbiB0aGUgY29udGV4dCBvZiBgUmVmUHRyPE5vZGU+YCwgc28gdGhlIGZvcndhcmQgZGVjbGFy
YXRpb24gaXMgc3VmZmljaWVudC4KKworICAgICAgICAqIGRvbS9Qb2ludGVyRXZlbnRUeXBlTmFt
ZXMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1vdXNlUG9pbnRlckV2ZW50VHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpwZW5Qb2ludGVyRXZlbnRUeXBlKToKKyAgICAgICAgKFdlYkNv
cmU6OnRvdWNoUG9pbnRlckV2ZW50VHlwZSk6CisgICAgICAgICogZG9tL1BvaW50ZXJFdmVudFR5
cGVOYW1lcy5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vaW9zL1BvaW50ZXJFdmVudElPUy5jcHA6
CisgICAgICAgICogcGFnZS9Qb2ludGVyQ2FwdHVyZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UG9pbnRlckNhcHR1cmVDb250cm9sbGVyOjpyZXNldCk6CisgICAgICAgIChXZWJD
b3JlOjpQb2ludGVyQ2FwdHVyZUNvbnRyb2xsZXI6OnBvaW50ZXJFdmVudEZvck1vdXNlRXZlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckNhcHR1cmVDb250cm9sbGVyOjpkaXNwYXRjaEV2
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBvaW50ZXJDYXB0dXJlQ29udHJvbGxlcjo6cG9pbnRl
ckV2ZW50V2lsbEJlRGlzcGF0Y2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpQb2ludGVyQ2FwdHVy
ZUNvbnRyb2xsZXI6OnBvaW50ZXJFdmVudFdhc0Rpc3BhdGNoZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UG9pbnRlckNhcHR1cmVDb250cm9sbGVyOjpwcm9jZXNzUGVuZGluZ1BvaW50ZXJDYXB0dXJl
KToKKwogMjAyMS0wMi0yMSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW1BhaW50IFRpbWluZ10gUmV0dXJuIGVhcmx5IGZyb20gY29udGVudGZ1bCBwYWludCBj
aGVjayB3aGVuIG5vIGNvbnRlbnRmdWwgcGl4ZWxzL2NoYXJhY3RlcnMgYXQgYWxsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDk1NjUxZGI3ZjU2YzhjZjQxMjBmNTk3ZmM0YWVlOTJmM2FkZDljYjUuLjM2YjQ1MTY2MWVi
ZjYxOGU3NWFiOWMxNzUwOTVmNGJjZTYxMzY1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMjEtMDItMjIgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgV2ViTW91c2VFdmVudC5oIHNob3VsZCBhdm9pZCBwdWxsaW5nIGluIFdlYkNvcmUgaGVh
ZGVycyB0aGF0IGtub3cgYWJvdXQgRE9NIG5vZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjIyOTEKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICBJbXBvcnQgYFBvaW50ZXJFdmVudFR5cGVOYW1lcy5oYCBpbnN0
ZWFkIG9mIGBQb2ludGVyRXZlbnQuaGAgaW4gc2V2ZXJhbCBVSSBwcm9jZXNzIGFuZCBzaGFyZWQg
aGVhZGVycy4KKworICAgICAgICAqIFNoYXJlZC9XZWJNb3VzZUV2ZW50Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwOgorICAgICAgICAocHJpbWFy
eVBvaW50ZXJGb3JUeXBlKToKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1v
dXNlRXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1NpbXVsYXRlZElucHV0
RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNpbXVsYXRlZElucHV0RGlzcGF0Y2hl
cjo6dHJhbnNpdGlvbklucHV0U291cmNlVG9TdGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0F1
dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJB
dXRvbWF0aW9uU2Vzc2lvbjo6cGVyZm9ybU1vdXNlSW50ZXJhY3Rpb24pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9ndGsvUG9pbnRlckxvY2tNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UG9p
bnRlckxvY2tNYW5hZ2VyOjpoYW5kbGVNb3Rpb24pOgorCiAyMDIxLTAyLTIwICBCcmVudCBGdWxn
aGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gVXBkYXRlIFdlYkNv
cmVBcmd1bWVudENvZGVyc01hYyB3aXRoIHNvbWUgbmV3IGFkZGl0aW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKaW5kZXggZjJmM2Q3ZTVkOWQ1ZTlkZDIyZjI3ODZiMzUyNTE3MDJiZWRhMzllZC4uNTg4MDBk
NmVhMzlhMmVjMDQ5MDc5YzE4ZGNiNjE5OTJlZWJkYmY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBA
IC00OTEsNiArNDkxLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
ICAgIGRvbS9Ob2RlVHJhdmVyc2FsLmgKICAgICBkb20vT3ZlcmZsb3dFdmVudC5oCiAgICAgZG9t
L1BvaW50ZXJFdmVudC5oCisgICAgZG9tL1BvaW50ZXJFdmVudFR5cGVOYW1lcy5oCiAgICAgZG9t
L1Bvc2l0aW9uLmgKICAgICBkb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgKICAgICBkb20vUHJv
Z3Jlc3NFdmVudC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDhhODYxNzI5ODg3MjBjZjg5NGI2YTEzOGM1
ZmI0NjQwNjAwZDZlMjUuLjBjZjE1YmE1MTFjOWEwMGY2NGNlM2UyMDIxZGM5ZjM3MzU3ODA5ZDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CkBAIC05NzgsNiArOTc4LDcgQEAgZG9tL092ZXJmbG93RXZlbnQuY3Bw
CiBkb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAKIGRvbS9QZW5kaW5nU2NyaXB0LmNwcAogZG9t
L1BvaW50ZXJFdmVudC5jcHAKK2RvbS9Qb2ludGVyRXZlbnRUeXBlTmFtZXMuY3BwCiBkb20vUG9w
U3RhdGVFdmVudC5jcHAKIGRvbS9Qb3NpdGlvbi5jcHAKIGRvbS9Qb3NpdGlvbkl0ZXJhdG9yLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGRkNjQ0YzI2YmI3ZDdjZWQ2MGU3NTAxYTU3OGVhZjRiNTQ0MWMyZDYuLmRiZjI0YjYy
YzRkMDRiMzhmZjVjNGI1OTVkYWJmZmE0M2MxODY5MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUyODEsNiArNTI4MSw3IEBA
CiAJCUY0MDNFNzg3MjM2M0I1OEMwMDA0NDU1MCAvKiBFbnRlcktleUhpbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDNFNzg1MjM2M0I1OEMwMDA0
NDU1MCAvKiBFbnRlcktleUhpbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlGNDBEQUFFQzI1RDlGMjVFMDAxMUI0RkEgLyogUGFzdGVib2FyZENv
bnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0
MERBQUVCMjVEOUYyNUUwMDExQjRGQSAvKiBQYXN0ZWJvYXJkQ29udGV4dC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0MERBQUVGMjVEOUYzQkYw
MDExQjRGQSAvKiBQYWdlUGFzdGVib2FyZENvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MERBQUVFMjVEOUYzQkYwMDExQjRGQSAvKiBQYWdl
UGFzdGVib2FyZENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlGNDIwRjAwQTI1RTQ3NzkxMDA5MjUxRUYgLyogUG9pbnRlckV2ZW50VHlw
ZU5hbWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NDIwRjAwODI1RTQ3NzkxMDA5MjUxRUYgLyogUG9pbnRlckV2ZW50VHlwZU5hbWVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQyOTI2MTgyNTI2
NEQ0NDAwMDA3ODk4IC8qIE1lZGlhUGxheWVySWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQyOTI2MTcyNTI2NEQ0NDAwMDA3ODk4IC8q
IE1lZGlhUGxheWVySWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUY0MzNFOTAzMURCQkRCQTIwMEVGMEQxNCAvKiBTdGF0aWNQYXN0
ZWJvYXJkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NDMzRTkwMjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2FyZC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0Mzc3RDU3MjU1MUM5QzYw
MDgwQUJGRSAvKiBEaXNwbGF5TGlzdEl0ZW1UeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDM3N0Q1NTI1NTFDOUM2MDA4MEFCRkUgLyogRGlzcGxh
eUxpc3RJdGVtVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC0xNjYzMSw2ICsxNjYzMiw4IEBACiAJCUY0MDNFNzg2MjM2M0I1OEMwMDA0NDU1
MCAvKiBFbnRlcktleUhpbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRW50ZXJLZXlIaW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQwREFBRUIyNUQ5RjI1RTAwMTFCNEZB
IC8qIFBhc3RlYm9hcmRDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhc3RlYm9hcmRDb250ZXh0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MERBQUVFMjVEOUYzQkYwMDExQjRG
QSAvKiBQYWdlUGFzdGVib2FyZENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZVBhc3RlYm9h
cmRDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0MjBGMDA4MjVFNDc3
OTEwMDkyNTFFRiAvKiBQb2ludGVyRXZlbnRUeXBlTmFtZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUG9p
bnRlckV2ZW50VHlwZU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0MjBG
MDA5MjVFNDc3OTEwMDkyNTFFRiAvKiBQb2ludGVyRXZlbnRUeXBlTmFtZXMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUG9pbnRlckV2ZW50VHlwZU5hbWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRjQyMkI4QjUyNTNGNzA2NTAwNEU3N0U4IC8qIERpc3BsYXlMaXN0SXRlbUJ1
ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZW1CdWZmZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQyMkI4QjYyNTNGNzA2NTAwNEU3N0U4IC8qIERpc3BsYXlM
aXN0SXRlbUJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZW1CdWZm
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDI5MjYxNzI1MjY0RDQ0MDAw
MDc4OTggLyogTWVkaWFQbGF5ZXJJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhUGxh
eWVySWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzA0MDIsNiAr
MzA0MDUsOCBAQAogCQkJCTMxN0QzRkYxMjE1NTk5RTIwMDM0RTNCOSAvKiBQb2ludGVyRXZlbnQu
Y3BwICovLAogCQkJCTMxN0QzRkYyMjE1NTk5RTMwMDM0RTNCOSAvKiBQb2ludGVyRXZlbnQuaCAq
LywKIAkJCQkzMTdEM0ZFRjIxNTU5OUUxMDAzNEUzQjkgLyogUG9pbnRlckV2ZW50LmlkbCAqLywK
KwkJCQlGNDIwRjAwOTI1RTQ3NzkxMDA5MjUxRUYgLyogUG9pbnRlckV2ZW50VHlwZU5hbWVzLmNw
cCAqLywKKwkJCQlGNDIwRjAwODI1RTQ3NzkxMDA5MjUxRUYgLyogUG9pbnRlckV2ZW50VHlwZU5h
bWVzLmggKi8sCiAJCQkJNTE4OUYwREQxMEI0NkIwRTAwRjNDNzM5IC8qIFBvcFN0YXRlRXZlbnQu
Y3BwICovLAogCQkJCTUxNzRFMjA4MTBBMUY0NEYwMEY5NUU2RiAvKiBQb3BTdGF0ZUV2ZW50Lmgg
Ki8sCiAJCQkJNTE3NEUyMEIxMEExRjQ5QTAwRjk1RTZGIC8qIFBvcFN0YXRlRXZlbnQuaWRsICov
LApAQCAtMzQyNDgsNiArMzQyNTMsNyBAQAogCQkJCTk1REY5RDI1MjUyQkVEQjIwMDBEN0Y0NiAv
KiBQb2ludGVyQ2hhcmFjdGVyaXN0aWNzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTdEM0ZGMzIx
NTU5OUY0MDAzNEUzQjkgLyogUG9pbnRlckV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkIx
RjcxNzBEMDBDQUE4MDA0QUVBNjQgLyogUG9pbnRlckV2ZW50c0hpdFJ1bGVzLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlGNDIwRjAwQTI1RTQ3NzkxMDA5MjUxRUYgLyogUG9pbnRlckV2ZW50VHlwZU5h
bWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3MUVBRENEODIyMDg3RTcyMDA2NUE0NUYgLyogUG9p
bnRlcklELmggaW4gSGVhZGVycyAqLywKIAkJCQkzRkY4MTNBNzFEQkE4NjQwMDA5QkYwMDEgLyog
UG9pbnRlckxvY2tDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ5MjEyNDhG
MEIzMDBEM0E5QzkgLyogUG9pbnRMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Qb2ludGVyRXZlbnQuY3BwCmluZGV4IGU5OGIxMjc0MGYzY2Q3NDY4ZjE4NWFjNTg4NmUw
NzQxYzRhNTMzMjcuLmYyMTg3OWZkZmJjNjRlN2QyZjExYWIwODRkNDY3OTRhOWU2MDExMTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuY3BwCkBAIC0yNywzMCArMjcsMTMgQEAKICNpbmNs
dWRlICJQb2ludGVyRXZlbnQuaCIKIAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRl
ICJOb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUG9pbnRlckV2ZW50KTsK
IAotY29uc3QgU3RyaW5nJiBQb2ludGVyRXZlbnQ6Om1vdXNlUG9pbnRlclR5cGUoKQotewotICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IG1vdXNlVHlwZShNQUtFX1NUQVRJ
Q19TVFJJTkdfSU1QTCgibW91c2UiKSk7Ci0gICAgcmV0dXJuIG1vdXNlVHlwZTsKLX0KLQotY29u
c3QgU3RyaW5nJiBQb2ludGVyRXZlbnQ6OnBlblBvaW50ZXJUeXBlKCkKLXsKLSAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiBwZW5UeXBlKE1BS0VfU1RBVElDX1NUUklOR19J
TVBMKCJwZW4iKSk7Ci0gICAgcmV0dXJuIHBlblR5cGU7Ci19Ci0KLWNvbnN0IFN0cmluZyYgUG9p
bnRlckV2ZW50Ojp0b3VjaFBvaW50ZXJUeXBlKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8Y29uc3QgU3RyaW5nPiB0b3VjaFR5cGUoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoInRvdWNo
IikpOwotICAgIHJldHVybiB0b3VjaFR5cGU7Ci19Ci0KIHN0YXRpYyBBdG9tU3RyaW5nIHBvaW50
ZXJFdmVudFR5cGUoY29uc3QgQXRvbVN0cmluZyYgbW91c2VFdmVudFR5cGUpCiB7CiAgICAgYXV0
byYgbmFtZXMgPSBldmVudE5hbWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
UG9pbnRlckV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmgKaW5kZXgg
YmFjNTlhMmU5MDZkNTJlZTI4NTNkM2FjMTAyOGRlZTM5MzIzNTYxMy4uOWQ2MGI4NTE1MmYzNzg1
NjYxMTg1NzQ2NjM3MDFjMjViMDAxZGYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1BvaW50ZXJFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuaApA
QCAtMjcsNyArMjcsNyBAQAogCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIk1v
dXNlRXZlbnQuaCIKLSNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVkZSAiUG9pbnRlckV2ZW50VHlw
ZU5hbWVzLmgiCiAjaW5jbHVkZSAiUG9pbnRlcklELmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKQEAgLTM3LDYgKzM3LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitj
bGFzcyBOb2RlOworCiBjbGFzcyBQb2ludGVyRXZlbnQgZmluYWwgOiBwdWJsaWMgTW91c2VFdmVu
dCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQb2ludGVyRXZlbnQpOwogcHVibGljOgpA
QCAtNDksNyArNTEsNyBAQCBwdWJsaWM6CiAgICAgICAgIGxvbmcgdGlsdFggeyAwIH07CiAgICAg
ICAgIGxvbmcgdGlsdFkgeyAwIH07CiAgICAgICAgIGxvbmcgdHdpc3QgeyAwIH07Ci0gICAgICAg
IFN0cmluZyBwb2ludGVyVHlwZSB7IFBvaW50ZXJFdmVudDo6bW91c2VQb2ludGVyVHlwZSgpIH07
CisgICAgICAgIFN0cmluZyBwb2ludGVyVHlwZSB7IG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpIH07
CiAgICAgICAgIGJvb2wgaXNQcmltYXJ5IHsgZmFsc2UgfTsKICAgICB9OwogCkBAIC04NCwxMCAr
ODYsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxQb2ludGVyRXZlbnQ+IGNyZWF0ZShjb25z
dCBTdHJpbmcmIHR5cGUsIGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVudCYsIHVuc2lnbmVkIHRvdWNo
SW5kZXgsIGJvb2wgaXNQcmltYXJ5LCBSZWY8V2luZG93UHJveHk+JiYpOwogI2VuZGlmCiAKLSAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgY29uc3QgU3RyaW5nJiBtb3VzZVBvaW50ZXJUeXBlKCk7
Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGNvbnN0IFN0cmluZyYgcGVuUG9pbnRlclR5cGUo
KTsKLSAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiB0b3VjaFBvaW50ZXJUeXBlKCk7Ci0KICAgICB2
aXJ0dWFsIH5Qb2ludGVyRXZlbnQoKTsKIAogICAgIFBvaW50ZXJJRCBwb2ludGVySWQoKSBjb25z
dCB7IHJldHVybiBtX3BvaW50ZXJJZDsgfQpAQCAtMTM1LDcgKzEzMyw3IEBAIHByaXZhdGU6CiAg
ICAgbG9uZyBtX3RpbHRYIHsgMCB9OwogICAgIGxvbmcgbV90aWx0WSB7IDAgfTsKICAgICBsb25n
IG1fdHdpc3QgeyAwIH07Ci0gICAgU3RyaW5nIG1fcG9pbnRlclR5cGUgeyBQb2ludGVyRXZlbnQ6
Om1vdXNlUG9pbnRlclR5cGUoKSB9OworICAgIFN0cmluZyBtX3BvaW50ZXJUeXBlIHsgbW91c2VQ
b2ludGVyRXZlbnRUeXBlKCkgfTsKICAgICBib29sIG1faXNQcmltYXJ5IHsgZmFsc2UgfTsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnRUeXBlTmFtZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVudFR5cGVOYW1lcy5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDViODgwMDMyZmM3ZWFkMTU2NGJiZmI5ZWQ0ODIxNjBhMjZmYTYwYQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnRUeXBlTmFtZXMuY3BwCkBA
IC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUG9pbnRlckV2ZW50VHlwZU5hbWVzLmgiCisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjb25zdCBTdHJpbmcmIG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpCit7CisgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4gbW91c2VUeXBlKE1BS0VfU1RBVElDX1NU
UklOR19JTVBMKCJtb3VzZSIpKTsKKyAgICByZXR1cm4gbW91c2VUeXBlOworfQorCitjb25zdCBT
dHJpbmcmIHBlblBvaW50ZXJFdmVudFR5cGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxjb25zdCBTdHJpbmc+IHBlblR5cGUoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoInBlbiIpKTsK
KyAgICByZXR1cm4gcGVuVHlwZTsKK30KKworY29uc3QgU3RyaW5nJiB0b3VjaFBvaW50ZXJFdmVu
dFR5cGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHRvdWNo
VHlwZShNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgidG91Y2giKSk7CisgICAgcmV0dXJuIHRvdWNo
VHlwZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1BvaW50ZXJFdmVudFR5cGVOYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bv
aW50ZXJFdmVudFR5cGVOYW1lcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiNTlkMTkwMzU0YzA4MDA1MjU3ZTQ1
ZmZlODk3YWNhMzQxMGU0ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
UG9pbnRlckV2ZW50VHlwZU5hbWVzLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitXRUJDT1JFX0VYUE9SVCBjb25zdCBTdHJpbmcmIG1vdXNlUG9pbnRlckV2ZW50VHlw
ZSgpOworV0VCQ09SRV9FWFBPUlQgY29uc3QgU3RyaW5nJiBwZW5Qb2ludGVyRXZlbnRUeXBlKCk7
Citjb25zdCBTdHJpbmcmIHRvdWNoUG9pbnRlckV2ZW50VHlwZSgpOworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vaW9zL1BvaW50ZXJFdmVu
dElPUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vaW9zL1BvaW50ZXJFdmVudElPUy5jcHAKaW5k
ZXggNzlkNjAwNGJkNzdkNzZhZmQ0YjM1NmY3YjI0MjM5YjUzM2Q4MTcxOC4uYmMxYjljZTY2Zjhl
YzU0Njk2MjQzZmE5MGM1MmRlNzlmMWFlNDQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL2lvcy9Qb2ludGVyRXZlbnRJT1MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9pb3Mv
UG9pbnRlckV2ZW50SU9TLmNwcApAQCAtNzgsNyArNzgsNyBAQCBQb2ludGVyRXZlbnQ6OlBvaW50
ZXJFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQm
IGV2ZQogICAgICwgbV93aWR0aCgyICogZXZlbnQucmFkaXVzWEF0SW5kZXgoaW5kZXgpKQogICAg
ICwgbV9oZWlnaHQoMiAqIGV2ZW50LnJhZGl1c1lBdEluZGV4KGluZGV4KSkKICAgICAsIG1fcHJl
c3N1cmUoZXZlbnQuZm9yY2VBdEluZGV4KGluZGV4KSkKLSAgICAsIG1fcG9pbnRlclR5cGUoZXZl
bnQudG91Y2hUeXBlQXRJbmRleChpbmRleCkgPT0gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFR5
cGU6OlN0eWx1cyA/IFBvaW50ZXJFdmVudDo6cGVuUG9pbnRlclR5cGUoKSA6IFBvaW50ZXJFdmVu
dDo6dG91Y2hQb2ludGVyVHlwZSgpKQorICAgICwgbV9wb2ludGVyVHlwZShldmVudC50b3VjaFR5
cGVBdEluZGV4KGluZGV4KSA9PSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoVHlwZTo6U3R5bHVz
ID8gcGVuUG9pbnRlckV2ZW50VHlwZSgpIDogdG91Y2hQb2ludGVyRXZlbnRUeXBlKCkpCiAgICAg
LCBtX2lzUHJpbWFyeShpc1ByaW1hcnkpCiB7CiAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNv
bS93M2MvcG9pbnRlcmV2ZW50cy9pc3N1ZXMvMjc0LiBXZSBtaWdodCBleHBvc2UgdGhlIGF6aW11
dGggYW5kIGFsdGl0dWRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJD
YXB0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJDYXB0dXJl
Q29udHJvbGxlci5jcHAKaW5kZXggNWNiNjkwN2U5ZGRmNTVmNjFhN2ViZTM3MDRmNWYyYjhjOTVj
MDgwMS4uNzU3ZjU0NTY4ZTFkOGI0ZDVmZTQwZjMwOTExMDczZTZkZTJiMTdhMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyQ2FwdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckNhcHR1cmVDb250cm9sbGVyLmNwcApAQCAtMTcz
LDcgKzE3Myw3IEBAIHZvaWQgUG9pbnRlckNhcHR1cmVDb250cm9sbGVyOjpyZXNldCgpCiAgICAg
bV9oYXZlQW55Q2FwdHVyaW5nRWxlbWVudCA9IGZhbHNlOwogCiAgICAgQ2FwdHVyaW5nRGF0YSBj
YXB0dXJpbmdEYXRhOwotICAgIGNhcHR1cmluZ0RhdGEucG9pbnRlclR5cGUgPSBQb2ludGVyRXZl
bnQ6Om1vdXNlUG9pbnRlclR5cGUoKTsKKyAgICBjYXB0dXJpbmdEYXRhLnBvaW50ZXJUeXBlID0g
bW91c2VQb2ludGVyRXZlbnRUeXBlKCk7CiAgICAgbV9hY3RpdmVQb2ludGVySWRzVG9DYXB0dXJp
bmdEYXRhLmFkZChtb3VzZVBvaW50ZXJJRCwgY2FwdHVyaW5nRGF0YSk7CiB9CiAKQEAgLTMyNyw3
ICszMjcsNyBAQCBSZWZQdHI8UG9pbnRlckV2ZW50PiBQb2ludGVyQ2FwdHVyZUNvbnRyb2xsZXI6
OnBvaW50ZXJFdmVudEZvck1vdXNlRXZlbnQoY29uc3QgTQogICAgIC8vIElmIHdlIGFscmVhZHkg
aGF2ZSBrbm93biB0b3VjaGVzIHRoZW4gd2UgY2Fubm90IGRpc3BhdGNoIGEgbW91c2UgZXZlbnQs
CiAgICAgLy8gZm9yIGluc3RhbmNlIGluIHRoZSBjYXNlIG9mIGEgbG9uZyBwcmVzcyB0byBpbml0
aWF0ZSBhIHN5c3RlbSBkcmFnLgogICAgIGZvciAoYXV0byYgY2FwdHVyaW5nRGF0YSA6IG1fYWN0
aXZlUG9pbnRlcklkc1RvQ2FwdHVyaW5nRGF0YS52YWx1ZXMoKSkgewotICAgICAgICBpZiAoY2Fw
dHVyaW5nRGF0YS5wb2ludGVyVHlwZSA9PSBQb2ludGVyRXZlbnQ6OnRvdWNoUG9pbnRlclR5cGUo
KSAmJiBjYXB0dXJpbmdEYXRhLnBvaW50ZXJJc1ByZXNzZWQgJiYgIWNhcHR1cmluZ0RhdGEuY2Fu
Y2VsbGVkKQorICAgICAgICBpZiAoY2FwdHVyaW5nRGF0YS5wb2ludGVyVHlwZSA9PSB0b3VjaFBv
aW50ZXJFdmVudFR5cGUoKSAmJiBjYXB0dXJpbmdEYXRhLnBvaW50ZXJJc1ByZXNzZWQgJiYgIWNh
cHR1cmluZ0RhdGEuY2FuY2VsbGVkKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
fQogCkBAIC0zNzYsNyArMzc2LDcgQEAgdm9pZCBQb2ludGVyQ2FwdHVyZUNvbnRyb2xsZXI6OmRp
c3BhdGNoRXZlbnQoUG9pbnRlckV2ZW50JiBldmVudCwgRXZlbnRUYXJnZXQqIHQKICAgICAvLyBo
dHRwczovL3czYy5naXRodWIuaW8vcG9pbnRlcmV2ZW50cy8jZmlyaW5nLWV2ZW50cy11c2luZy10
aGUtcG9pbnRlcmV2ZW50LWludGVyZmFjZQogICAgIC8vIElmIHRoZSBldmVudCBpcyBub3QgZ290
cG9pbnRlcmNhcHR1cmUgb3IgbG9zdHBvaW50ZXJjYXB0dXJlLCBydW4gUHJvY2VzcyBQZW5kaW5n
IFBvaW50ZXIgQ2FwdHVyZSBzdGVwcyBmb3IgdGhpcyBQb2ludGVyRXZlbnQuCiAgICAgLy8gV2Ug
b25seSBuZWVkIHRvIGRvIHRoaXMgZm9yIG5vbi1tb3VzZSB0eXBlIHNpbmNlIGZvciBtb3VzZSBl
dmVudHMgdGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgaW4gRG9jdW1lbnQ6OnByZXBhcmVNb3Vz
ZUV2ZW50KCkuCi0gICAgaWYgKGV2ZW50LnBvaW50ZXJUeXBlKCkgIT0gUG9pbnRlckV2ZW50Ojpt
b3VzZVBvaW50ZXJUeXBlKCkpCisgICAgaWYgKGV2ZW50LnBvaW50ZXJUeXBlKCkgIT0gbW91c2VQ
b2ludGVyRXZlbnRUeXBlKCkpCiAgICAgICAgIHByb2Nlc3NQZW5kaW5nUG9pbnRlckNhcHR1cmUo
ZXZlbnQucG9pbnRlcklkKCkpOwogCiAgICAgcG9pbnRlckV2ZW50V2lsbEJlRGlzcGF0Y2hlZChl
dmVudCwgdGFyZ2V0KTsKQEAgLTM5Niw3ICszOTYsNyBAQCB2b2lkIFBvaW50ZXJDYXB0dXJlQ29u
dHJvbGxlcjo6cG9pbnRlckV2ZW50V2lsbEJlRGlzcGF0Y2hlZChjb25zdCBQb2ludGVyRXZlbnQm
CiAKICAgICBhdXRvIHBvaW50ZXJJZCA9IGV2ZW50LnBvaW50ZXJJZCgpOwogCi0gICAgaWYgKGV2
ZW50LnBvaW50ZXJUeXBlKCkgIT0gUG9pbnRlckV2ZW50Ojp0b3VjaFBvaW50ZXJUeXBlKCkpIHsK
KyAgICBpZiAoZXZlbnQucG9pbnRlclR5cGUoKSAhPSB0b3VjaFBvaW50ZXJFdmVudFR5cGUoKSkg
ewogICAgICAgICBhdXRvIGl0ZXJhdG9yID0gbV9hY3RpdmVQb2ludGVySWRzVG9DYXB0dXJpbmdE
YXRhLmZpbmQocG9pbnRlcklkKTsKICAgICAgICAgaWYgKGl0ZXJhdG9yICE9IG1fYWN0aXZlUG9p
bnRlcklkc1RvQ2FwdHVyaW5nRGF0YS5lbmQoKSkKICAgICAgICAgICAgIGl0ZXJhdG9yLT52YWx1
ZS5wb2ludGVySXNQcmVzc2VkID0gaXNQb2ludGVyZG93bjsKQEAgLTQ1MCw3ICs0NTAsNyBAQCB2
b2lkIFBvaW50ZXJDYXB0dXJlQ29udHJvbGxlcjo6cG9pbnRlckV2ZW50V2FzRGlzcGF0Y2hlZChj
b25zdCBQb2ludGVyRXZlbnQmIGV2ZQogCiAgICAgICAgIC8vIElmIGEgbW91c2UgcG9pbnRlciBo
YXMgbW92ZWQgd2hpbGUgaXQgaXNuJ3QgcHJlc3NlZCwgbWFrZSBzdXJlIHdlIHJlc2V0IHRoZSBw
cmV2ZW50c0NvbXBhdGliaWxpdHlNb3VzZUV2ZW50cyBmbGFnIHNpbmNlCiAgICAgICAgIC8vIHdl
IGNvdWxkIG90aGVyd2lzZSBwcmV2ZW50IGNvbXBhdGliaWxpdHkgbW91c2UgZXZlbnRzIHdoaWxl
IHRob3NlIGFyZSBvbmx5IHN1cHBvc2VkIHRvIGJlIHByZXZlbnRlZCB3aGlsZSB0aGUgcG9pbnRl
ciBpcyBwcmVzc2VkLgotICAgICAgICBpZiAoZXZlbnQudHlwZSgpID09IGV2ZW50TmFtZXMoKS5w
b2ludGVybW92ZUV2ZW50ICYmIGNhcHR1cmluZ0RhdGEucG9pbnRlclR5cGUgPT0gUG9pbnRlckV2
ZW50Ojptb3VzZVBvaW50ZXJUeXBlKCkgJiYgIWNhcHR1cmluZ0RhdGEucG9pbnRlcklzUHJlc3Nl
ZCkKKyAgICAgICAgaWYgKGV2ZW50LnR5cGUoKSA9PSBldmVudE5hbWVzKCkucG9pbnRlcm1vdmVF
dmVudCAmJiBjYXB0dXJpbmdEYXRhLnBvaW50ZXJUeXBlID09IG1vdXNlUG9pbnRlckV2ZW50VHlw
ZSgpICYmICFjYXB0dXJpbmdEYXRhLnBvaW50ZXJJc1ByZXNzZWQpCiAgICAgICAgICAgICBjYXB0
dXJpbmdEYXRhLnByZXZlbnRzQ29tcGF0aWJpbGl0eU1vdXNlRXZlbnRzID0gZmFsc2U7CiAKICAg
ICAgICAgLy8gSWYgdGhlIHBvaW50ZXIgZXZlbnQgZGlzcGF0Y2hlZCB3YXMgcG9pbnRlcmRvd24g
YW5kIHRoZSBldmVudCB3YXMgY2FuY2VsZWQsIHRoZW4gc2V0IHRoZSBQUkVWRU5UIE1PVVNFIEVW
RU5UIGZsYWcgZm9yIHRoaXMgcG9pbnRlclR5cGUuCkBAIC01MzYsNyArNTM2LDcgQEAgdm9pZCBQ
b2ludGVyQ2FwdHVyZUNvbnRyb2xsZXI6OnByb2Nlc3NQZW5kaW5nUG9pbnRlckNhcHR1cmUoUG9p
bnRlcklEIHBvaW50ZXJJZCkKICAgICBpZiAoY2FwdHVyaW5nRGF0YS50YXJnZXRPdmVycmlkZSAm
JiBjYXB0dXJpbmdEYXRhLnRhcmdldE92ZXJyaWRlICE9IHBlbmRpbmdUYXJnZXRPdmVycmlkZSkg
ewogICAgICAgICBpZiAoY2FwdHVyaW5nRGF0YS50YXJnZXRPdmVycmlkZS0+aXNDb25uZWN0ZWQo
KSkKICAgICAgICAgICAgIGNhcHR1cmluZ0RhdGEudGFyZ2V0T3ZlcnJpZGUtPmRpc3BhdGNoRXZl
bnQoUG9pbnRlckV2ZW50OjpjcmVhdGVGb3JQb2ludGVyQ2FwdHVyZShldmVudE5hbWVzKCkubG9z
dHBvaW50ZXJjYXB0dXJlRXZlbnQsIHBvaW50ZXJJZCwgY2FwdHVyaW5nRGF0YS5pc1ByaW1hcnks
IGNhcHR1cmluZ0RhdGEucG9pbnRlclR5cGUpKTsKLSAgICAgICAgaWYgKGNhcHR1cmluZ0RhdGEu
cG9pbnRlclR5cGUgPT0gUG9pbnRlckV2ZW50Ojptb3VzZVBvaW50ZXJUeXBlKCkpIHsKKyAgICAg
ICAgaWYgKGNhcHR1cmluZ0RhdGEucG9pbnRlclR5cGUgPT0gbW91c2VQb2ludGVyRXZlbnRUeXBl
KCkpIHsKICAgICAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGNhcHR1cmluZ0RhdGEudGFyZ2V0
T3ZlcnJpZGUtPmRvY3VtZW50KCkuZnJhbWUoKSkKICAgICAgICAgICAgICAgICBmcmFtZS0+ZXZl
bnRIYW5kbGVyKCkucG9pbnRlckNhcHR1cmVFbGVtZW50RGlkQ2hhbmdlKG51bGxwdHIpOwogICAg
ICAgICB9CkBAIC01NDUsNyArNTQ1LDcgQEAgdm9pZCBQb2ludGVyQ2FwdHVyZUNvbnRyb2xsZXI6
OnByb2Nlc3NQZW5kaW5nUG9pbnRlckNhcHR1cmUoUG9pbnRlcklEIHBvaW50ZXJJZCkKICAgICAv
LyAyLiBJZiB0aGUgcGVuZGluZyBwb2ludGVyIGNhcHR1cmUgdGFyZ2V0IG92ZXJyaWRlIGZvciB0
aGlzIHBvaW50ZXIgaXMgc2V0IGFuZCBpcyBub3QgZXF1YWwgdG8gdGhlIHBvaW50ZXIgY2FwdHVy
ZSB0YXJnZXQgb3ZlcnJpZGUsCiAgICAgLy8gdGhlbiBmaXJlIGEgcG9pbnRlciBldmVudCBuYW1l
ZCBnb3Rwb2ludGVyY2FwdHVyZSBhdCB0aGUgcGVuZGluZyBwb2ludGVyIGNhcHR1cmUgdGFyZ2V0
IG92ZXJyaWRlLgogICAgIGlmIChjYXB0dXJpbmdEYXRhLnBlbmRpbmdUYXJnZXRPdmVycmlkZSAm
JiBjYXB0dXJpbmdEYXRhLnRhcmdldE92ZXJyaWRlICE9IHBlbmRpbmdUYXJnZXRPdmVycmlkZSkg
ewotICAgICAgICBpZiAoY2FwdHVyaW5nRGF0YS5wb2ludGVyVHlwZSA9PSBQb2ludGVyRXZlbnQ6
Om1vdXNlUG9pbnRlclR5cGUoKSkgeworICAgICAgICBpZiAoY2FwdHVyaW5nRGF0YS5wb2ludGVy
VHlwZSA9PSBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKSkgewogICAgICAgICAgICAgaWYgKGF1dG8q
IGZyYW1lID0gcGVuZGluZ1RhcmdldE92ZXJyaWRlLT5kb2N1bWVudCgpLmZyYW1lKCkpCiAgICAg
ICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLnBvaW50ZXJDYXB0dXJlRWxlbWVudERp
ZENoYW5nZShwZW5kaW5nVGFyZ2V0T3ZlcnJpZGUuZ2V0KCkpOwogICAgICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJNb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJNb3VzZUV2ZW50LmgKaW5kZXggM2FiYTNhNThmZmJiY2RmMjgzZjRhNGZmMmY2
NmI2OGQyMWE4ODA5OS4uNDRlNjcxYzFhZTdkMjU1N2M1NWVhNmIzMjZlNDE1YTg5NGNhMGNlNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuaApAQCAtMzEsNyArMzEsNyBAQAogCiAj
aW5jbHVkZSAiV2ViRXZlbnQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+Ci0jaW5j
bHVkZSA8V2ViQ29yZS9Qb2ludGVyRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BvaW50ZXJF
dmVudFR5cGVOYW1lcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUG9pbnRlcklELmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpAQCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIFdlYk1vdXNlRXZlbnQoVHlwZSwgQnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25z
LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb25JblZpZXcsIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgZmxvYXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZs
b2F0IGRlbHRhWiwgaW50IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1l
IHRpbWVzdGFtcCwgZG91YmxlIGZvcmNlLCBTeW50aGV0aWNDbGlja1R5cGUgPSBOb1RhcCwgaW50
IGV2ZW50TnVtYmVyID0gLTEsIGludCBtZW51VHlwZSA9IDApOwogI2Vsc2UKLSAgICBXZWJNb3Vz
ZUV2ZW50KFR5cGUsIEJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xv
YmFsUG9zaXRpb24sIGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGlu
dCBjbGlja0NvdW50LCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxsVGltZSB0aW1lc3RhbXAsIGRv
dWJsZSBmb3JjZSA9IDAsIFN5bnRoZXRpY0NsaWNrVHlwZSA9IE5vVGFwLCBXZWJDb3JlOjpQb2lu
dGVySUQgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJJRCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlw
ZSA9IFdlYkNvcmU6OlBvaW50ZXJFdmVudDo6bW91c2VQb2ludGVyVHlwZSgpKTsKKyAgICBXZWJN
b3VzZUV2ZW50KFR5cGUsIEJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgV2Vi
Q29yZTo6SW50UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
Z2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVos
IGludCBjbGlja0NvdW50LCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxsVGltZSB0aW1lc3RhbXAs
IGRvdWJsZSBmb3JjZSA9IDAsIFN5bnRoZXRpY0NsaWNrVHlwZSA9IE5vVGFwLCBXZWJDb3JlOjpQ
b2ludGVySUQgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJJRCwgY29uc3QgU3RyaW5nJiBwb2ludGVy
VHlwZSA9IFdlYkNvcmU6Om1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKTsKICNlbmRpZgogCiAgICAg
QnV0dG9uIGJ1dHRvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJ1dHRvbj4obV9idXR0
b24pOyB9CkBAIC05Myw3ICs5Myw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fZm9yY2UgeyAw
IH07CiAgICAgdWludDMyX3QgbV9zeW50aGV0aWNDbGlja1R5cGUgeyBOb1RhcCB9OwogICAgIFdl
YkNvcmU6OlBvaW50ZXJJRCBtX3BvaW50ZXJJZCB7IFdlYkNvcmU6Om1vdXNlUG9pbnRlcklEIH07
Ci0gICAgU3RyaW5nIG1fcG9pbnRlclR5cGUgeyBXZWJDb3JlOjpQb2ludGVyRXZlbnQ6Om1vdXNl
UG9pbnRlclR5cGUoKSB9OworICAgIFN0cmluZyBtX3BvaW50ZXJUeXBlIHsgV2ViQ29yZTo6bW91
c2VQb2ludGVyRXZlbnRUeXBlKCkgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNl
LmNwcAppbmRleCA2NzM5ZGZhNjM2MjdhYTA5OGQzZTgyNzcwMTUwZDFhOTk5NGRkMGJjLi5kZDBl
YjZhYjA4OTVhOTI2NWNkMjI3ZWE3Y2Q4NDU4ZTdkYzFiZGYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtMjUy
NywxMCArMjUyNywxMCBAQCBzdGF0aWMgaW5saW5lIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZp
ZXI+IHRvV2ViS2l0TW9kaWZpZXJzKHVuc2lnbmVkIG1vZGlmaWVycwogCiBzdGF0aWMgaW5saW5l
IFBvaW50ZXJJRCBwcmltYXJ5UG9pbnRlckZvclR5cGUoY29uc3QgU3RyaW5nJiBwb2ludGVyVHlw
ZSkKIHsKLSAgICBpZiAocG9pbnRlclR5cGUgPT0gUG9pbnRlckV2ZW50Ojptb3VzZVBvaW50ZXJU
eXBlKCkpCisgICAgaWYgKHBvaW50ZXJUeXBlID09IG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKQog
ICAgICAgICByZXR1cm4gbW91c2VQb2ludGVySUQ7CiAKLSAgICBpZiAocG9pbnRlclR5cGUgPT0g
UG9pbnRlckV2ZW50OjpwZW5Qb2ludGVyVHlwZSgpKQorICAgIGlmIChwb2ludGVyVHlwZSA9PSBw
ZW5Qb2ludGVyRXZlbnRUeXBlKCkpCiAgICAgICAgIHJldHVybiAyOwogCiAgICAgcmV0dXJuIG1v
dXNlUG9pbnRlcklEOwpAQCAtMjYxOSw3ICsyNjE5LDcgQEAgdm9pZCB3ZWJraXRXZWJWaWV3QmFz
ZVN5bnRoZXNpemVNb3VzZUV2ZW50KFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgTW91
c2UKIAogICAgIHByaXYtPnBhZ2VQcm94eS0+aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3Vz
ZUV2ZW50KHdlYkV2ZW50VHlwZSwgd2ViRXZlbnRCdXR0b24sIHdlYkV2ZW50QnV0dG9ucywgeyB4
LCB5IH0sCiAgICAgICAgIHdpZGdldFJvb3RDb29yZHMoR1RLX1dJREdFVCh3ZWJWaWV3QmFzZSks
IHgsIHkpLCBjbGlja0NvdW50LCB0b1dlYktpdE1vZGlmaWVycyhtb2RpZmllcnMpLCBtb3ZlbWVu
dERlbHRhLAotICAgICAgICBwcmltYXJ5UG9pbnRlckZvclR5cGUocG9pbnRlclR5cGUpLCBwb2lu
dGVyVHlwZS5pc051bGwoKSA/IFBvaW50ZXJFdmVudDo6bW91c2VQb2ludGVyVHlwZSgpIDogcG9p
bnRlclR5cGUpKTsKKyAgICAgICAgcHJpbWFyeVBvaW50ZXJGb3JUeXBlKHBvaW50ZXJUeXBlKSwg
cG9pbnRlclR5cGUuaXNOdWxsKCkgPyBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKSA6IHBvaW50ZXJU
eXBlKSk7CiB9CiAKIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplS2V5RXZlbnQoV2Vi
S2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlLCBLZXlFdmVudFR5cGUgdHlwZSwgdW5zaWduZWQg
a2V5dmFsLCB1bnNpZ25lZCBtb2RpZmllcnMsIFNob3VsZFRyYW5zbGF0ZUtleWJvYXJkU3RhdGUg
c2hvdWxkVHJhbnNsYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0
b21hdGlvbi9TaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQXV0b21hdGlvbi9TaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDFmZDQ3
YmNjYWZmNjgxMTU4ODFjODZiMWEzNjUyNmJkNjgxNzU0NDguLjgwNDkxODJlNjg3YzkxZDcyNjQw
M2E3YjMxODRmNTQ5YmQ2NzI1N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0F1dG9tYXRpb24vU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5jcHAKQEAg
LTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiV2ViQXV0b21h
dGlvblNlc3Npb24uaCIKICNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvbk1hY3Jvcy5oIgot
I2luY2x1ZGUgPFdlYkNvcmUvUG9pbnRlckV2ZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Qb2lu
dGVyRXZlbnRUeXBlTmFtZXMuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKQEAgLTI4Niw3ICsyODYsNyBAQCB2b2lkIFNpbXVsYXRlZElucHV0RGlzcGF0
Y2hlcjo6dHJhbnNpdGlvbklucHV0U291cmNlVG9TdGF0ZShTaW11bGF0ZWRJbnB1dFNvdXJjZQog
ICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgY29u
c3QgU3RyaW5nJiBwb2ludGVyVHlwZSA9IGlucHV0U291cmNlID09IFNpbXVsYXRlZElucHV0U291
cmNlVHlwZTo6TW91c2UgPyBXZWJDb3JlOjpQb2ludGVyRXZlbnQ6Om1vdXNlUG9pbnRlclR5cGUo
KSA6IFdlYkNvcmU6OlBvaW50ZXJFdmVudDo6cGVuUG9pbnRlclR5cGUoKTsKKyAgICAgICAgICAg
IGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUgPSBpbnB1dFNvdXJjZSA9PSBTaW11bGF0ZWRJbnB1
dFNvdXJjZVR5cGU6Ok1vdXNlID8gV2ViQ29yZTo6bW91c2VQb2ludGVyRXZlbnRUeXBlKCkgOiBX
ZWJDb3JlOjpwZW5Qb2ludGVyRXZlbnRUeXBlKCk7CiAKICAgICAgICAgICAgIGIubG9jYXRpb24g
PSBsb2NhdGlvbjsKICAgICAgICAgICAgIC8vIFRoZSAiZGlzcGF0Y2ggYSBwb2ludGVye0Rvd24s
VXAsTW92ZX0gYWN0aW9uIiBhbGdvcml0aG1zICjCpzE3LjQgRGlzcGF0Y2hpbmcgQWN0aW9ucyku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9t
YXRpb25TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2Vi
QXV0b21hdGlvblNlc3Npb24uY3BwCmluZGV4IDZiM2Q0OTI2YmE4NDllNWYwNDY5YmI5ZTg4YWY2
YmVhZjAwNDAwZDUuLjY5N2MzNDI3MmY0YTNlYjA5Yzg1YmQxZDc5Mjk2OTg1ZjEwNWI1ZDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlv
blNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2Vi
QXV0b21hdGlvblNlc3Npb24uY3BwCkBAIC00NSw3ICs0NSw3IEBACiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTUlN
RVR5cGVSZWdpc3RyeS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUG9pbnRlckV2ZW50Lmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9Qb2ludGVyRXZlbnRUeXBlTmFtZXMuaD4KICNpbmNsdWRlIDxhbGdvcml0
aG0+CiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgpAQCAtMTc5Myw3ICsxNzkzLDcgQEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGVyZm9y
bU1vdXNlSW50ZXJhY3Rpb24oY29uc3QgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXUKICAgICAgICAg
ICAgIGNhbGxiYWNrSW5NYXAoQVVUT01BVElPTl9DT01NQU5EX0VSUk9SX1dJVEhfTkFNRShUaW1l
b3V0KSk7CiAgICAgICAgIGNhbGxiYWNrSW5NYXAgPSBXVEZNb3ZlKG1vdXNlRXZlbnRzRmx1c2hl
ZENhbGxiYWNrKTsKIAotICAgICAgICBwbGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihw
YWdlLCBtb3VzZUludGVyYWN0aW9uLCBtb3VzZUJ1dHRvbiwgbG9jYXRpb25JblZpZXdwb3J0LCBr
ZXlNb2RpZmllcnMsIFdlYkNvcmU6OlBvaW50ZXJFdmVudDo6bW91c2VQb2ludGVyVHlwZSgpKTsK
KyAgICAgICAgcGxhdGZvcm1TaW11bGF0ZU1vdXNlSW50ZXJhY3Rpb24ocGFnZSwgbW91c2VJbnRl
cmFjdGlvbiwgbW91c2VCdXR0b24sIGxvY2F0aW9uSW5WaWV3cG9ydCwga2V5TW9kaWZpZXJzLCBX
ZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSk7CiAKICAgICAgICAgLy8gSWYgdGhlIGV2
ZW50IGxvY2F0aW9uIHdhcyBwcmV2aW91c2x5IGNsaXBwZWQgYW5kIGRvZXMgbm90IGhpdCB0ZXN0
IGFueXRoaW5nIGluIHRoZSB3aW5kb3csIHRoZW4gaXQgd2lsbCBub3QgYmUgcHJvY2Vzc2VkLgog
ICAgICAgICAvLyBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIHByZS1XM0MgZHJpdmVyIGltcGxlbWVu
dGF0aW9ucywgZG9uJ3QgbWFrZSB0aGlzIGEgaGFyZCBlcnJvcjsganVzdCBkbyBub3RoaW5nIHNp
bGVudGx5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1BvaW50ZXJM
b2NrTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvUG9pbnRlckxvY2tN
YW5hZ2VyLmNwcAppbmRleCBiYjUwMTc1YmFkOGMxYjA2YjA2MWFhYmFkZDYwZDEyOTg2ODIzYTFi
Li5hMzIyNTg5ZDgzOTg4OTU3MzEyYzNhNTEwOTgxZDljYjY2ODAxMTYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvUG9pbnRlckxvY2tNYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvUG9pbnRlckxvY2tNYW5hZ2VyLmNwcApAQCAtOTMs
NyArOTMsNyBAQCBib29sIFBvaW50ZXJMb2NrTWFuYWdlcjo6dW5sb2NrKCkKIAogdm9pZCBQb2lu
dGVyTG9ja01hbmFnZXI6OmhhbmRsZU1vdGlvbihGbG9hdFNpemUmJiBkZWx0YSkKIHsKLSAgICBt
X3dlYlBhZ2UuaGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KFdlYkV2ZW50OjpN
b3VzZU1vdmUsIG1fYnV0dG9uLCBtX2J1dHRvbnMsIEludFBvaW50KG1fcG9zaXRpb24pLCBJbnRQ
b2ludChtX2luaXRpYWxQb2ludCksIDAsIG1fbW9kaWZpZXJzLCBkZWx0YSwgbW91c2VQb2ludGVy
SUQsIFBvaW50ZXJFdmVudDo6bW91c2VQb2ludGVyVHlwZSgpKSk7CisgICAgbV93ZWJQYWdlLmhh
bmRsZU1vdXNlRXZlbnQoTmF0aXZlV2ViTW91c2VFdmVudChXZWJFdmVudDo6TW91c2VNb3ZlLCBt
X2J1dHRvbiwgbV9idXR0b25zLCBJbnRQb2ludChtX3Bvc2l0aW9uKSwgSW50UG9pbnQobV9pbml0
aWFsUG9pbnQpLCAwLCBtX21vZGlmaWVycywgZGVsdGEsIG1vdXNlUG9pbnRlcklELCBtb3VzZVBv
aW50ZXJFdmVudFR5cGUoKSkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>