<?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>211769</bug_id>
          
          <creation_ts>2020-05-11 22:25:59 -0700</creation_ts>
          <short_desc>Perspective origin should be relative to the reference box</short_desc>
          <delta_ts>2020-05-12 13:40:14 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1651625</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-11 22:25:59 -0700</bug_when>
    <thetext>Perpective origin should be relative to the reference box</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651626</commentid>
    <comment_count>1</comment_count>
      <attachid>399098</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-11 22:28:09 -0700</bug_when>
    <thetext>Created attachment 399098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651817</commentid>
    <comment_count>2</comment_count>
      <attachid>399146</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-12 11:19:43 -0700</bug_when>
    <thetext>Created attachment 399146
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651901</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-12 13:39:29 -0700</bug_when>
    <thetext>Committed r261575: &lt;https://trac.webkit.org/changeset/261575&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399146.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651902</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-12 13:40:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/63151697&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399098</attachid>
            <date>2020-05-11 22:28:09 -0700</date>
            <delta_ts>2020-05-12 11:19:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211769-20200511222808.patch</filename>
            <type>text/plain</type>
            <size>18658</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI5MTc1MzZkOGZiMjgw
NDA3MTVjN2FiYmY2MDVhN2E0Y2U5Njg0Yy4uZTQ0MTczOGJkMmJiYTgzY2Q0NjVjOGUyZDRhYjYz
OWIwMmY5OTc4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTA1LTExICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBlcnBlY3RpdmUg
b3JpZ2luIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0aGUgcmVmZXJlbmNlIGJveAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNzY5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIHRoZSByZWZlcmVuY2Ug
Ym94IDxodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRyYW5zZm9ybXMtMS8jcmVmZXJlbmNl
LWJveD4gd2hlbgorICAgICAgICBjb21wdXRpbmcgcGVyc3BlY3RpdmUtb3JpZ2luIDxodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRyYW5zZm9ybXMtMi8jcGVyc3BlY3RpdmUtb3JpZ2luLXBy
b3BlcnR5PiwKKyAgICAgICAgYWRkaW5nIGEgcmVmZXJlbmNlQm94KCkgaGVscGVyIG9uIFJlbmRl
ckJveC4KKworICAgICAgICBUZXN0OiBjb21wb3NpdGluZy90cmFuc2Zvcm1zL3BlcnNwZWN0aXZl
LXdpdGgtY2xpcHBpbmcuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpub2RlQXRQb2ludCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6
OnJlZmVyZW5jZUJveCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
b21wdXRlUmVmZXJlbmNlUmVjdEZyb21Cb3gpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVJl
ZmVyZW5jZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlVHJhbnNm
b3JtKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjdXJyZW50VHJhbnNmb3JtIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwZXJzcGVjdGl2ZVRyYW5zZm9y
bSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y29tcHV0ZUNsaXBQYXRo
IGNvbnN0KToKKwogMjAyMC0wNS0xMSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgog
CiAgICAgICAgIEVuYWJsZSB0aGUgbW9jayB2aWRlbyBwcmVzZW50YXRpb24gbW9kZSBpbiByZWxh
dGVkIGxheW91dCB0ZXN0cyBhbmQgZml4IHRlc3QgZmFpbHVyZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGFmY2U5ZWJiYmM3YjEwOWY1MjBlZTk2YmI5MjIz
NjgxNDZjZDlkZmMuLjRkMjljMjRmZWYxYmUwN2FiY2E0ZmZkYWEzNjRhMTdjYTMyODc4N2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMjAyMiwyNSArMjAy
Miw3IEBAIGJvb2wgUmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0
JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1CiAgICAgICAgIHN3aXRjaCAoc3R5bGUoKS5j
bGlwUGF0aCgpLT50eXBlKCkpIHsKICAgICAgICAgY2FzZSBDbGlwUGF0aE9wZXJhdGlvbjo6U2hh
cGU6IHsKICAgICAgICAgICAgIGF1dG8mIGNsaXBQYXRoID0gZG93bmNhc3Q8U2hhcGVDbGlwUGF0
aE9wZXJhdGlvbj4oKnN0eWxlKCkuY2xpcFBhdGgoKSk7Ci0KLSAgICAgICAgICAgIExheW91dFJl
Y3QgcmVmZXJlbmNlQm94UmVjdDsKLSAgICAgICAgICAgIHN3aXRjaCAoY2xpcFBhdGgucmVmZXJl
bmNlQm94KCkpIHsKLSAgICAgICAgICAgIGNhc2UgQ1NTQm94VHlwZTo6TWFyZ2luQm94OgotICAg
ICAgICAgICAgICAgIHJlZmVyZW5jZUJveFJlY3QgPSBtYXJnaW5Cb3hSZWN0KCk7Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIENTU0JveFR5cGU6OlBhZGRpbmdCb3g6
Ci0gICAgICAgICAgICAgICAgcmVmZXJlbmNlQm94UmVjdCA9IHBhZGRpbmdCb3hSZWN0KCk7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIENTU0JveFR5cGU6OkZpbGxC
b3g6Ci0gICAgICAgICAgICBjYXNlIENTU0JveFR5cGU6OkNvbnRlbnRCb3g6Ci0gICAgICAgICAg
ICAgICAgcmVmZXJlbmNlQm94UmVjdCA9IGNvbnRlbnRCb3hSZWN0KCk7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIENTU0JveFR5cGU6OlN0cm9rZUJveDoKLSAgICAg
ICAgICAgIGNhc2UgQ1NTQm94VHlwZTo6Vmlld0JveDoKLSAgICAgICAgICAgIGNhc2UgQ1NTQm94
VHlwZTo6Qm9yZGVyQm94OgotICAgICAgICAgICAgY2FzZSBDU1NCb3hUeXBlOjpCb3hNaXNzaW5n
OgotICAgICAgICAgICAgICAgIHJlZmVyZW5jZUJveFJlY3QgPSBib3JkZXJCb3hSZWN0KCk7Ci0g
ICAgICAgICAgICB9CisgICAgICAgICAgICBhdXRvIHJlZmVyZW5jZUJveFJlY3QgPSByZWZlcmVu
Y2VCb3goY2xpcFBhdGgucmVmZXJlbmNlQm94KCkpOwogICAgICAgICAgICAgaWYgKCFjbGlwUGF0
aC5wYXRoRm9yUmVmZXJlbmNlUmVjdChyZWZlcmVuY2VCb3hSZWN0KS5jb250YWlucyhsb2NhdGlv
bkluQ29udGFpbmVyLnBvaW50KCkgLSBsb2NhbE9mZnNldCwgY2xpcFBhdGgud2luZFJ1bGUoKSkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDIyZmVlOGJmNmE2N2U0ZGJhZjFj
YjA3OGYzOGY1ZGMxZGY0NWEzN2IuLmFjN2M5ZjE4NzM3NTc3Y2JjMzY4NzBlNjZmOTViNTM3ZDBl
ZDlkM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC02OTgsNiAr
Njk4LDI3IEBAIExheW91dFBvaW50IFJlbmRlckJveDo6Y29udGVudEJveExvY2F0aW9uKCkgY29u
c3QKICAgICByZXR1cm4geyBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpICsgc2Nyb2xsYmFy
U3BhY2UsIGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpIH07CiB9CiAKK0xheW91dFJlY3QgUmVu
ZGVyQm94OjpyZWZlcmVuY2VCb3goQ1NTQm94VHlwZSBib3hUeXBlKSBjb25zdAoreworICAgIExh
eW91dFJlY3QgcmVmZXJlbmNlQm94OworICAgIHN3aXRjaCAoYm94VHlwZSkgeworICAgIGNhc2Ug
Q1NTQm94VHlwZTo6Q29udGVudEJveDoKKyAgICBjYXNlIENTU0JveFR5cGU6OkZpbGxCb3g6Cisg
ICAgICAgIHJldHVybiBjb250ZW50Qm94UmVjdCgpOworICAgIGNhc2UgQ1NTQm94VHlwZTo6UGFk
ZGluZ0JveDoKKyAgICAgICAgcmV0dXJuIHBhZGRpbmdCb3hSZWN0KCk7CisgICAgY2FzZSBDU1NC
b3hUeXBlOjpNYXJnaW5Cb3g6CisgICAgICAgIHJldHVybiBtYXJnaW5Cb3hSZWN0KCk7CisgICAg
Ly8gc3Ryb2tlLWJveCwgdmlldy1ib3ggY29tcHV0ZSB0byBib3JkZXItYm94IGZvciBIVE1MIGVs
ZW1lbnRzLgorICAgIGNhc2UgQ1NTQm94VHlwZTo6U3Ryb2tlQm94OgorICAgIGNhc2UgQ1NTQm94
VHlwZTo6Vmlld0JveDoKKyAgICBjYXNlIENTU0JveFR5cGU6OkJvcmRlckJveDoKKyAgICBjYXNl
IENTU0JveFR5cGU6OkJveE1pc3Npbmc6CisgICAgICAgIHJldHVybiBib3JkZXJCb3hSZWN0KCk7
CisgICAgfQorICAgIHJldHVybiB7IH07Cit9CisKIEludFJlY3QgUmVuZGVyQm94OjphYnNvbHV0
ZUNvbnRlbnRCb3goKSBjb25zdAogewogICAgIC8vIFRoaXMgaXMgd3Jvbmcgd2l0aCB0cmFuc2Zv
cm1zIGFuZCBmbGlwcGVkIHdyaXRpbmcgbW9kZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmgKaW5kZXggOTg2MjU4N2E2Y2UzOWRkNzRhYjgyOGI1YjRmMWVlZjkyNjhiZmU0MC4uZWJi
YzkxODhmZDNmY2M3ODIyZmJjNjdmNWViZjlkNjk3MDczNDAyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guaApAQCAtMTYwLDYgKzE2MCw5IEBAIHB1YmxpYzoKICAgICBMYXlvdXRS
ZWN0IGNvbnRlbnRCb3hSZWN0KCkgY29uc3Q7CiAgICAgTGF5b3V0UG9pbnQgY29udGVudEJveExv
Y2F0aW9uKCkgY29uc3Q7CiAKKyAgICAvLyAuaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10
cmFuc2Zvcm1zLTEvI3JlZmVyZW5jZS1ib3gKKyAgICBMYXlvdXRSZWN0IHJlZmVyZW5jZUJveChD
U1NCb3hUeXBlKSBjb25zdDsKKwogICAgIC8vIFRoZSBjb250ZW50IGJveCBpbiBhYnNvbHV0ZSBj
b29yZHMuIElnbm9yZXMgdHJhbnNmb3Jtcy4KICAgICBJbnRSZWN0IGFic29sdXRlQ29udGVudEJv
eCgpIGNvbnN0OwogICAgIC8vIFRoZSBjb250ZW50IGJveCBjb252ZXJ0ZWQgdG8gYWJzb2x1dGUg
Y29vcmRzICh0YWtpbmcgdHJhbnNmb3JtcyBpbnRvIGFjY291bnQpLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggOTBmZTQzN2JhOGI4NTA1MzJiMjRhZDQwOTdj
MTUxNzdjODBjNmFlMC4uNzY0ZmM1ODFiNjQ5ZWIxNzYwMmM4MDU3YmUxYzliYjJjODY5ZDYzOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0xMjQ2LDM3ICsx
MjQ2LDE0IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmRpcnR5QW5jZXN0b3JDaGFpbkhhc0JsZW5kaW5n
RGVzY2VuZGFudHMoKQogfQogI2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgTGF5b3V0UmVjdCBjb21w
dXRlUmVmZXJlbmNlUmVjdEZyb21Cb3goY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IENTU0Jv
eFR5cGUmIGJveFR5cGUsIGNvbnN0IExheW91dFNpemUmIG9mZnNldEZyb21Sb290KQotewotICAg
IExheW91dFJlY3QgcmVmZXJlbmNlQm94OwotICAgIHN3aXRjaCAoYm94VHlwZSkgewotICAgIGNh
c2UgQ1NTQm94VHlwZTo6Q29udGVudEJveDoKLSAgICBjYXNlIENTU0JveFR5cGU6OkZpbGxCb3g6
Ci0gICAgICAgIHJlZmVyZW5jZUJveCA9IGJveC5jb250ZW50Qm94UmVjdCgpOwotICAgICAgICBy
ZWZlcmVuY2VCb3gubW92ZShvZmZzZXRGcm9tUm9vdCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgQ1NTQm94VHlwZTo6UGFkZGluZ0JveDoKLSAgICAgICAgcmVmZXJlbmNlQm94ID0gYm94LnBh
ZGRpbmdCb3hSZWN0KCk7Ci0gICAgICAgIHJlZmVyZW5jZUJveC5tb3ZlKG9mZnNldEZyb21Sb290
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDU1NCb3hUeXBlOjpNYXJnaW5Cb3g6Ci0gICAg
ICAgIHJlZmVyZW5jZUJveCA9IGJveC5tYXJnaW5Cb3hSZWN0KCk7Ci0gICAgICAgIHJlZmVyZW5j
ZUJveC5tb3ZlKG9mZnNldEZyb21Sb290KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgLy8gc3Ryb2tl
LWJveCwgdmlldy1ib3ggY29tcHV0ZSB0byBib3JkZXItYm94IGZvciBIVE1MIGVsZW1lbnRzLgot
ICAgIGNhc2UgQ1NTQm94VHlwZTo6U3Ryb2tlQm94OgotICAgIGNhc2UgQ1NTQm94VHlwZTo6Vmll
d0JveDoKLSAgICBjYXNlIENTU0JveFR5cGU6OkJvcmRlckJveDoKLSAgICBjYXNlIENTU0JveFR5
cGU6OkJveE1pc3Npbmc6Ci0gICAgICAgIHJlZmVyZW5jZUJveCA9IGJveC5ib3JkZXJCb3hSZWN0
KCk7Ci0gICAgICAgIHJlZmVyZW5jZUJveC5tb3ZlKG9mZnNldEZyb21Sb290KTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgfQotCitzdGF0aWMgaW5saW5lIExheW91dFJlY3QgY29tcHV0ZVJlZmVyZW5j
ZVJlY3RGcm9tQm94KGNvbnN0IFJlbmRlckJveCYgYm94LCBDU1NCb3hUeXBlIGJveFR5cGUsIGNv
bnN0IExheW91dFNpemUmIG9mZnNldEZyb21Sb290KQoreworICAgIGF1dG8gcmVmZXJlbmNlQm94
ID0gYm94LnJlZmVyZW5jZUJveChib3hUeXBlKTsKKyAgICByZWZlcmVuY2VCb3gubW92ZShvZmZz
ZXRGcm9tUm9vdCk7CiAgICAgcmV0dXJuIHJlZmVyZW5jZUJveDsKIH0KIAotc3RhdGljIGlubGlu
ZSBMYXlvdXRSZWN0IGNvbXB1dGVSZWZlcmVuY2VCb3goY29uc3QgUmVuZGVyT2JqZWN0JiByZW5k
ZXJlciwgY29uc3QgQ1NTQm94VHlwZSYgYm94VHlwZSwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0
RnJvbVJvb3QsIGNvbnN0IExheW91dFJlY3QmIHJvb3RSZWxhdGl2ZUJvdW5kcykKK3N0YXRpYyBp
bmxpbmUgTGF5b3V0UmVjdCBjb21wdXRlUmVmZXJlbmNlQm94KGNvbnN0IFJlbmRlck9iamVjdCYg
cmVuZGVyZXIsIENTU0JveFR5cGUgYm94VHlwZSwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0RnJv
bVJvb3QsIGNvbnN0IExheW91dFJlY3QmIHJvb3RSZWxhdGl2ZUJvdW5kcykKIHsKICAgICAvLyBG
SVhNRTogU3VwcG9ydCBkaWZmZXJlbnQgcmVmZXJlbmNlIGJveGVzIGZvciBpbmxpbmUgY29udGVu
dC4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5MDQ3
CkBAIC0xMzIyLDEyICsxMjk5LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlVHJhbnNmb3Jt
KCkKICAgICB9CiAgICAgCiAgICAgaWYgKGhhc1RyYW5zZm9ybSkgewotICAgICAgICBSZW5kZXJC
b3gqIGJveCA9IHJlbmRlckJveCgpOwotICAgICAgICBBU1NFUlQoYm94KTsKKyAgICAgICAgYXV0
byYgcmVuZGVyQm94ID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKTsKICAgICAgICAg
bV90cmFuc2Zvcm0tPm1ha2VJZGVudGl0eSgpOwotICAgICAgICBMYXlvdXRTaXplIG9mZnNldEZy
b21Sb290OwotICAgICAgICBhdXRvIGNvbXB1dGVkUmVmZXJlbmNlQm94ID0gY29tcHV0ZVJlZmVy
ZW5jZVJlY3RGcm9tQm94KCpib3gsIHRyYW5zZm9ybUJveFRvQ1NTQm94VHlwZShib3gtPnN0eWxl
KCkudHJhbnNmb3JtQm94KCkpLCBvZmZzZXRGcm9tUm9vdCk7Ci0gICAgICAgIGJveC0+c3R5bGUo
KS5hcHBseVRyYW5zZm9ybSgqbV90cmFuc2Zvcm0sIHNuYXBSZWN0VG9EZXZpY2VQaXhlbHMoY29t
cHV0ZWRSZWZlcmVuY2VCb3gsIGJveC0+ZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpKSwg
UmVuZGVyU3R5bGU6OkluY2x1ZGVUcmFuc2Zvcm1PcmlnaW4pOworICAgICAgICByZW5kZXJCb3gu
c3R5bGUoKS5hcHBseVRyYW5zZm9ybSgqbV90cmFuc2Zvcm0sIHNuYXBSZWN0VG9EZXZpY2VQaXhl
bHMocmVuZGVyQm94LnJlZmVyZW5jZUJveCh0cmFuc2Zvcm1Cb3hUb0NTU0JveFR5cGUocmVuZGVy
Qm94LnN0eWxlKCkudHJhbnNmb3JtQm94KCkpKSwgcmVuZGVyQm94LmRvY3VtZW50KCkuZGV2aWNl
U2NhbGVGYWN0b3IoKSksIFJlbmRlclN0eWxlOjpJbmNsdWRlVHJhbnNmb3JtT3JpZ2luKTsKICAg
ICAgICAgbWFrZU1hdHJpeFJlbmRlcmFibGUoKm1fdHJhbnNmb3JtLCBjYW5SZW5kZXIzRFRyYW5z
Zm9ybXMoKSk7CiAgICAgfQogCkBAIC0xMzQxLDE4ICsxMzE1LDE5IEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OnVwZGF0ZVRyYW5zZm9ybSgpCiBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBSZW5kZXJMYXllcjo6
Y3VycmVudFRyYW5zZm9ybShSZW5kZXJTdHlsZTo6QXBwbHlUcmFuc2Zvcm1PcmlnaW4gYXBwbHlP
cmlnaW4pIGNvbnN0CiB7CiAgICAgaWYgKCFtX3RyYW5zZm9ybSkKLSAgICAgICAgcmV0dXJuIFRy
YW5zZm9ybWF0aW9uTWF0cml4KCk7Ci0gICAgCi0gICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJC
b3goKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmICghaXM8UmVuZGVyQm94PihyZW5k
ZXJlcigpKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGF1dG8mIHJlbmRlckJveCA9IGRv
d25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSk7CiAKICAgICBpZiAoUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFi
bGVkKCkpIHsKICAgICAgICAgaWYgKGF1dG8qIHRpbWVsaW5lID0gcmVuZGVyZXIoKS5kb2N1bWVu
dFRpbWVsaW5lKCkpIHsKICAgICAgICAgICAgIGlmICh0aW1lbGluZS0+aXNSdW5uaW5nQWNjZWxl
cmF0ZWRBbmltYXRpb25PblJlbmRlcmVyKHJlbmRlcmVyKCksIENTU1Byb3BlcnR5VHJhbnNmb3Jt
KSkgewogICAgICAgICAgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGN1cnJUcmFuc2Zvcm07
Ci0gICAgICAgICAgICAgICAgTGF5b3V0U2l6ZSBvZmZzZXRGcm9tUm9vdDsKICAgICAgICAgICAg
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IHN0eWxlID0gdGltZWxpbmUtPmFuaW1h
dGVkU3R5bGVGb3JSZW5kZXJlcihyZW5kZXJlcigpKTsKLSAgICAgICAgICAgICAgICBhdXRvIGNv
bXB1dGVkUmVmZXJlbmNlQm94ID0gY29tcHV0ZVJlZmVyZW5jZUJveChyZW5kZXJlcigpLCB0cmFu
c2Zvcm1Cb3hUb0NTU0JveFR5cGUoc3R5bGUtPnRyYW5zZm9ybUJveCgpKSwgb2Zmc2V0RnJvbVJv
b3QsIGJveC0+Ym9yZGVyQm94UmVjdCgpKTsKLSAgICAgICAgICAgICAgICBGbG9hdFJlY3QgcGl4
ZWxTbmFwcGVkQm9yZGVyUmVjdCA9IHNuYXBSZWN0VG9EZXZpY2VQaXhlbHMoY29tcHV0ZWRSZWZl
cmVuY2VCb3gsIGJveC0+ZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpKTsKKyAgICAgICAg
ICAgICAgICBGbG9hdFJlY3QgcGl4ZWxTbmFwcGVkQm9yZGVyUmVjdCA9IHNuYXBSZWN0VG9EZXZp
Y2VQaXhlbHMocmVuZGVyQm94LnJlZmVyZW5jZUJveCh0cmFuc2Zvcm1Cb3hUb0NTU0JveFR5cGUo
c3R5bGUtPnRyYW5zZm9ybUJveCgpKSksIHJlbmRlckJveC5kb2N1bWVudCgpLmRldmljZVNjYWxl
RmFjdG9yKCkpOwogICAgICAgICAgICAgICAgIHN0eWxlLT5hcHBseVRyYW5zZm9ybShjdXJyVHJh
bnNmb3JtLCBwaXhlbFNuYXBwZWRCb3JkZXJSZWN0LCBhcHBseU9yaWdpbik7CiAgICAgICAgICAg
ICAgICAgbWFrZU1hdHJpeFJlbmRlcmFibGUoY3VyclRyYW5zZm9ybSwgY2FuUmVuZGVyM0RUcmFu
c2Zvcm1zKCkpOwogICAgICAgICAgICAgICAgIHJldHVybiBjdXJyVHJhbnNmb3JtOwpAQCAtMTM2
Miw5ICsxMzM3LDcgQEAgVHJhbnNmb3JtYXRpb25NYXRyaXggUmVuZGVyTGF5ZXI6OmN1cnJlbnRU
cmFuc2Zvcm0oUmVuZGVyU3R5bGU6OkFwcGx5VHJhbnNmb3JtT3IKICAgICAgICAgaWYgKHJlbmRl
cmVyKCkubGVnYWN5QW5pbWF0aW9uKCkuaXNSdW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb25PblJl
bmRlcmVyKHJlbmRlcmVyKCksIENTU1Byb3BlcnR5VHJhbnNmb3JtKSkgewogICAgICAgICAgICAg
VHJhbnNmb3JtYXRpb25NYXRyaXggY3VyclRyYW5zZm9ybTsKICAgICAgICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5bGUgPSByZW5kZXJlcigpLmxlZ2FjeUFuaW1hdGlvbigp
LmFuaW1hdGVkU3R5bGVGb3JSZW5kZXJlcihyZW5kZXJlcigpKTsKLSAgICAgICAgICAgIExheW91
dFNpemUgb2Zmc2V0RnJvbVJvb3Q7Ci0gICAgICAgICAgICBhdXRvIGNvbXB1dGVkUmVmZXJlbmNl
Qm94ID0gY29tcHV0ZVJlZmVyZW5jZUJveChyZW5kZXJlcigpLCB0cmFuc2Zvcm1Cb3hUb0NTU0Jv
eFR5cGUoc3R5bGUtPnRyYW5zZm9ybUJveCgpKSwgb2Zmc2V0RnJvbVJvb3QsIGJveC0+Ym9yZGVy
Qm94UmVjdCgpKTsKLSAgICAgICAgICAgIEZsb2F0UmVjdCBwaXhlbFNuYXBwZWRCb3JkZXJSZWN0
ID0gc25hcFJlY3RUb0RldmljZVBpeGVscyhjb21wdXRlZFJlZmVyZW5jZUJveCwgYm94LT5kb2N1
bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCkpOworICAgICAgICAgICAgRmxvYXRSZWN0IHBpeGVs
U25hcHBlZEJvcmRlclJlY3QgPSBzbmFwUmVjdFRvRGV2aWNlUGl4ZWxzKHJlbmRlckJveC5yZWZl
cmVuY2VCb3godHJhbnNmb3JtQm94VG9DU1NCb3hUeXBlKHN0eWxlLT50cmFuc2Zvcm1Cb3goKSkp
LCByZW5kZXJCb3guZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpKTsKICAgICAgICAgICAg
IHN0eWxlLT5hcHBseVRyYW5zZm9ybShjdXJyVHJhbnNmb3JtLCBwaXhlbFNuYXBwZWRCb3JkZXJS
ZWN0LCBhcHBseU9yaWdpbik7CiAgICAgICAgICAgICBtYWtlTWF0cml4UmVuZGVyYWJsZShjdXJy
VHJhbnNmb3JtLCBjYW5SZW5kZXIzRFRyYW5zZm9ybXMoKSk7CiAgICAgICAgICAgICByZXR1cm4g
Y3VyclRyYW5zZm9ybTsKQEAgLTEzNzUsMTEgKzEzNDgsOSBAQCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCBSZW5kZXJMYXllcjo6Y3VycmVudFRyYW5zZm9ybShSZW5kZXJTdHlsZTo6QXBwbHlUcmFuc2Zv
cm1PcgogICAgIC8vIG1fdHJhbnNmb3JtIGluY2x1ZGVzIHRyYW5zZm9ybS1vcmlnaW4sIHNvIHdl
IG5lZWQgdG8gcmVjb21wdXRlIHRoZSB0cmFuc2Zvcm0gaGVyZS4KICAgICBpZiAoYXBwbHlPcmln
aW4gPT0gUmVuZGVyU3R5bGU6OkV4Y2x1ZGVUcmFuc2Zvcm1PcmlnaW4pIHsKICAgICAgICAgVHJh
bnNmb3JtYXRpb25NYXRyaXggY3VyclRyYW5zZm9ybTsKLSAgICAgICAgTGF5b3V0U2l6ZSBvZmZz
ZXRGcm9tUm9vdDsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBzdHlsZSA9
IHJlbmRlcmVyKCkubGVnYWN5QW5pbWF0aW9uKCkuYW5pbWF0ZWRTdHlsZUZvclJlbmRlcmVyKHJl
bmRlcmVyKCkpOwotICAgICAgICBhdXRvIGNvbXB1dGVkUmVmZXJlbmNlQm94ID0gY29tcHV0ZVJl
ZmVyZW5jZUJveChyZW5kZXJlcigpLCB0cmFuc2Zvcm1Cb3hUb0NTU0JveFR5cGUoc3R5bGUtPnRy
YW5zZm9ybUJveCgpKSwgb2Zmc2V0RnJvbVJvb3QsIGJveC0+Ym9yZGVyQm94UmVjdCgpKTsKLSAg
ICAgICAgRmxvYXRSZWN0IHBpeGVsU25hcHBlZEJvcmRlclJlY3QgPSBzbmFwUmVjdFRvRGV2aWNl
UGl4ZWxzKGNvbXB1dGVkUmVmZXJlbmNlQm94LCBib3gtPmRvY3VtZW50KCkuZGV2aWNlU2NhbGVG
YWN0b3IoKSk7Ci0gICAgICAgIGJveC0+c3R5bGUoKS5hcHBseVRyYW5zZm9ybShjdXJyVHJhbnNm
b3JtLCBwaXhlbFNuYXBwZWRCb3JkZXJSZWN0LCBSZW5kZXJTdHlsZTo6RXhjbHVkZVRyYW5zZm9y
bU9yaWdpbik7CisgICAgICAgIEZsb2F0UmVjdCBwaXhlbFNuYXBwZWRCb3JkZXJSZWN0ID0gc25h
cFJlY3RUb0RldmljZVBpeGVscyhyZW5kZXJCb3gucmVmZXJlbmNlQm94KHRyYW5zZm9ybUJveFRv
Q1NTQm94VHlwZShzdHlsZS0+dHJhbnNmb3JtQm94KCkpKSwgcmVuZGVyQm94LmRvY3VtZW50KCku
ZGV2aWNlU2NhbGVGYWN0b3IoKSk7CisgICAgICAgIHJlbmRlckJveC5zdHlsZSgpLmFwcGx5VHJh
bnNmb3JtKGN1cnJUcmFuc2Zvcm0sIHBpeGVsU25hcHBlZEJvcmRlclJlY3QsIFJlbmRlclN0eWxl
OjpFeGNsdWRlVHJhbnNmb3JtT3JpZ2luKTsKICAgICAgICAgbWFrZU1hdHJpeFJlbmRlcmFibGUo
Y3VyclRyYW5zZm9ybSwgY2FuUmVuZGVyM0RUcmFuc2Zvcm1zKCkpOwogICAgICAgICByZXR1cm4g
Y3VyclRyYW5zZm9ybTsKICAgICB9CkBAIC0xNzYzLDMyICsxNzM0LDMzIEBAIGJvb2wgUmVuZGVy
TGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb24oT3B0aW9uU2V0PFVwZGF0ZUxheWVyUG9zaXRpb25z
RmxhZz4qIGZsYWdzCiAKIFRyYW5zZm9ybWF0aW9uTWF0cml4IFJlbmRlckxheWVyOjpwZXJzcGVj
dGl2ZVRyYW5zZm9ybSgpIGNvbnN0CiB7Ci0gICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3go
KTsKLSAgICBpZiAoIWJveCkKLSAgICAgICAgcmV0dXJuIFRyYW5zZm9ybWF0aW9uTWF0cml4KCk7
Ci0gICAgCi0gICAgaWYgKCFib3gtPmhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpKQotICAg
ICAgICByZXR1cm4gVHJhbnNmb3JtYXRpb25NYXRyaXgoKTsKKyAgICBpZiAoIWlzPFJlbmRlckJv
eD4ocmVuZGVyZXIoKSkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvJiByZW5kZXJC
b3ggPSBkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpOworICAgIGlmICghcmVuZGVyQm94
Lmhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpKQorICAgICAgICByZXR1cm4geyB9OwogCi0g
ICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlID0gYm94LT5zdHlsZSgpOworICAgIGNvbnN0IGF1
dG8mIHN0eWxlID0gcmVuZGVyQm94LnN0eWxlKCk7CiAgICAgaWYgKCFzdHlsZS5oYXNQZXJzcGVj
dGl2ZSgpKQotICAgICAgICByZXR1cm4gVHJhbnNmb3JtYXRpb25NYXRyaXgoKTsKKyAgICAgICAg
cmV0dXJuIHsgfTsKKworICAgIGF1dG8gcmVmZXJlbmNlQm94ID0gcmVuZGVyQm94LnJlZmVyZW5j
ZUJveCh0cmFuc2Zvcm1Cb3hUb0NTU0JveFR5cGUoc3R5bGUudHJhbnNmb3JtQm94KCkpKTsKKyAg
ICBhdXRvIHBpeGVsU25hcHBlZFJlZmVyZW5jZUJveCA9IHNuYXBSZWN0VG9EZXZpY2VQaXhlbHMo
cmVmZXJlbmNlQm94LCByZW5kZXJCb3guZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpKTsK
IAotICAgIC8vIE1heWJlIGZldGNoIHRoZSBwZXJzcGVjdGl2ZSBmcm9tIHRoZSBiYWNraW5nPwot
ICAgIGNvbnN0IEZsb2F0UmVjdCBib3JkZXJCb3ggPSBzbmFwUmVjdFRvRGV2aWNlUGl4ZWxzKGJv
eC0+Ym9yZGVyQm94UmVjdCgpLCBib3gtPmRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSk7
Ci0gICAgZmxvYXQgcGVyc3BlY3RpdmVPcmlnaW5YID0gZmxvYXRWYWx1ZUZvckxlbmd0aChzdHls
ZS5wZXJzcGVjdGl2ZU9yaWdpblgoKSwgYm9yZGVyQm94LndpZHRoKCkpOwotICAgIGZsb2F0IHBl
cnNwZWN0aXZlT3JpZ2luWSA9IGZsb2F0VmFsdWVGb3JMZW5ndGgoc3R5bGUucGVyc3BlY3RpdmVP
cmlnaW5ZKCksIGJvcmRlckJveC5oZWlnaHQoKSk7CisgICAgZmxvYXQgcGVyc3BlY3RpdmVPcmln
aW5YID0gZmxvYXRWYWx1ZUZvckxlbmd0aChzdHlsZS5wZXJzcGVjdGl2ZU9yaWdpblgoKSwgcGl4
ZWxTbmFwcGVkUmVmZXJlbmNlQm94LndpZHRoKCkpOworICAgIGZsb2F0IHBlcnNwZWN0aXZlT3Jp
Z2luWSA9IGZsb2F0VmFsdWVGb3JMZW5ndGgoc3R5bGUucGVyc3BlY3RpdmVPcmlnaW5ZKCksIHBp
eGVsU25hcHBlZFJlZmVyZW5jZUJveC5oZWlnaHQoKSk7CiAKICAgICAvLyBBIHBlcnNwZWN0aXZl
IG9yaWdpbiBvZiAwLDAgbWFrZXMgdGhlIHZhbmlzaGluZyBwb2ludCBpbiB0aGUgY2VudGVyIG9m
IHRoZSBlbGVtZW50LgogICAgIC8vIFdlIHdhbnQgaXQgdG8gYmUgaW4gdGhlIHRvcC1sZWZ0LCBz
byBzdWJ0cmFjdCBoYWxmIHRoZSBoZWlnaHQgYW5kIHdpZHRoLgotICAgIHBlcnNwZWN0aXZlT3Jp
Z2luWCAtPSBib3JkZXJCb3gud2lkdGgoKSAvIDIuMGY7Ci0gICAgcGVyc3BlY3RpdmVPcmlnaW5Z
IC09IGJvcmRlckJveC5oZWlnaHQoKSAvIDIuMGY7Ci0gICAgCisgICAgcGVyc3BlY3RpdmVPcmln
aW5YIC09IHBpeGVsU25hcHBlZFJlZmVyZW5jZUJveC53aWR0aCgpIC8gMi4wZjsKKyAgICBwZXJz
cGVjdGl2ZU9yaWdpblkgLT0gcGl4ZWxTbmFwcGVkUmVmZXJlbmNlQm94LmhlaWdodCgpIC8gMi4w
ZjsKKwogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHQ7CiAgICAgdC50cmFuc2xhdGUocGVyc3Bl
Y3RpdmVPcmlnaW5YLCBwZXJzcGVjdGl2ZU9yaWdpblkpOwogICAgIHQuYXBwbHlQZXJzcGVjdGl2
ZShzdHlsZS5wZXJzcGVjdGl2ZSgpKTsKICAgICB0LnRyYW5zbGF0ZSgtcGVyc3BlY3RpdmVPcmln
aW5YLCAtcGVyc3BlY3RpdmVPcmlnaW5ZKTsKLSAgICAKKwogICAgIHJldHVybiB0OwogfQogCkBA
IC00NDIxLDE0ICs0MzkzLDIxIEBAIFBhdGggUmVuZGVyTGF5ZXI6OmNvbXB1dGVDbGlwUGF0aChj
b25zdCBMYXlvdXRTaXplJiBvZmZzZXRGcm9tUm9vdCwgTGF5b3V0UmVjdCYKIAogICAgIGlmIChp
czxTaGFwZUNsaXBQYXRoT3BlcmF0aW9uPigqc3R5bGUuY2xpcFBhdGgoKSkpIHsKICAgICAgICAg
YXV0byYgY2xpcFBhdGggPSBkb3duY2FzdDxTaGFwZUNsaXBQYXRoT3BlcmF0aW9uPigqc3R5bGUu
Y2xpcFBhdGgoKSk7Ci0gICAgICAgIEZsb2F0UmVjdCByZWZlcmVuY2VCb3ggPSBzbmFwUmVjdFRv
RGV2aWNlUGl4ZWxzKGNvbXB1dGVSZWZlcmVuY2VCb3gocmVuZGVyZXIoKSwgY2xpcFBhdGgucmVm
ZXJlbmNlQm94KCksIG9mZnNldEZyb21Sb290LCByb290UmVsYXRpdmVCb3VuZHMpLCBkZXZpY2VT
YWxlRmFjdG9yKTsKKworICAgICAgICBMYXlvdXRSZWN0IHJlZmVyZW5jZUJveDsKKyAgICAgICAg
aWYgKGlzPFJlbmRlckJveD4ocmVuZGVyZXIoKSkpIHsKKyAgICAgICAgICAgIHJlZmVyZW5jZUJv
eCA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkucmVmZXJlbmNlQm94KGNsaXBQYXRo
LnJlZmVyZW5jZUJveCgpKTsKKyAgICAgICAgICAgIHJlZmVyZW5jZUJveC5tb3ZlKG9mZnNldEZy
b21Sb290KTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICByZWZlcmVuY2VCb3ggPSByb290
UmVsYXRpdmVCb3VuZHM7CisKKyAgICAgICAgRmxvYXRSZWN0IHNuYXBwZWRSZWZlcmVuY2VCb3gg
PSBzbmFwUmVjdFRvRGV2aWNlUGl4ZWxzKHJlZmVyZW5jZUJveCwgZGV2aWNlU2FsZUZhY3Rvcik7
CiAKICAgICAgICAgd2luZFJ1bGUgPSBjbGlwUGF0aC53aW5kUnVsZSgpOwotICAgICAgICByZXR1
cm4gY2xpcFBhdGgucGF0aEZvclJlZmVyZW5jZVJlY3QocmVmZXJlbmNlQm94KTsKKyAgICAgICAg
cmV0dXJuIGNsaXBQYXRoLnBhdGhGb3JSZWZlcmVuY2VSZWN0KHNuYXBwZWRSZWZlcmVuY2VCb3gp
OwogICAgIH0KLSAgICAKLSAgICBpZiAoaXM8Qm94Q2xpcFBhdGhPcGVyYXRpb24+KCpzdHlsZS5j
bGlwUGF0aCgpKSAmJiBpczxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpKSB7CiAKKyAgICBpZiAoaXM8
Qm94Q2xpcFBhdGhPcGVyYXRpb24+KCpzdHlsZS5jbGlwUGF0aCgpKSAmJiBpczxSZW5kZXJCb3g+
KHJlbmRlcmVyKCkpKSB7CiAgICAgICAgIGF1dG8mIGNsaXBQYXRoID0gZG93bmNhc3Q8Qm94Q2xp
cFBhdGhPcGVyYXRpb24+KCpzdHlsZS5jbGlwUGF0aCgpKTsKIAogICAgICAgICBGbG9hdFJvdW5k
ZWRSZWN0IHNoYXBlUmVjdCA9IGNvbXB1dGVSb3VuZGVkUmVjdEZvckJveFNoYXBlKGNsaXBQYXRo
LnJlZmVyZW5jZUJveCgpLCBkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpKS5waXhlbFNu
YXBwZWRSb3VuZGVkUmVjdEZvclBhaW50aW5nKGRldmljZVNhbGVGYWN0b3IpOwpAQCAtNDQzNyw3
ICs0NDE2LDcgQEAgUGF0aCBSZW5kZXJMYXllcjo6Y29tcHV0ZUNsaXBQYXRoKGNvbnN0IExheW91
dFNpemUmIG9mZnNldEZyb21Sb290LCBMYXlvdXRSZWN0JgogICAgICAgICB3aW5kUnVsZSA9IFdp
bmRSdWxlOjpOb25aZXJvOwogICAgICAgICByZXR1cm4gY2xpcFBhdGgucGF0aEZvclJlZmVyZW5j
ZVJlY3Qoc2hhcGVSZWN0KTsKICAgICB9Ci0gICAgCisKICAgICByZXR1cm4gUGF0aCgpOwogfQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggZWM1MGUwZTA0NDA5MzA1ZWE0NGUzNDllOTRkNGMyZmJlZmU4ODNkZi4uMzMyMjFk
NjQ3Mzg0OGZkYWUzMWI3NDZkYjM1YmFkOTJlMzM2OTE2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIwLTA1LTExICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFBlcnBlY3RpdmUgb3JpZ2luIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0aGUgcmVmZXJl
bmNlIGJveAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjExNzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBjb21wb3NpdGluZy90cmFuc2Zvcm1zL3BlcnNwZWN0aXZlLXdpdGgtY2xpcHBpbmctZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvdHJhbnNmb3Jtcy9wZXJzcGVj
dGl2ZS13aXRoLWNsaXBwaW5nLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA1LTExICBEZXZpbiBSb3Vz
c28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBzaG93IEph
dmFTY3JpcHQgV29ya2VyIG5hbWUgYXMgYW4gaW50ZXJuYWwgcHJvcGVydHkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RyYW5zZm9ybXMvcGVyc3BlY3RpdmUtdHJhbnNmb3Jt
LWJveC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdHJhbnNmb3Jtcy9wZXJzcGVjdGl2
ZS10cmFuc2Zvcm0tYm94Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY4NWVhNzljZTExYzRmM2NiNGRjZTJm
ZmJjYTEzYzA0NWU3NWNiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3RyYW5zZm9ybXMvcGVyc3BlY3RpdmUtdHJhbnNmb3JtLWJveC5odG1sCkBAIC0wLDAgKzEs
NTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAg
ICAgIC5jb250YWluZXIgeworICAgICAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICAgICAg
aGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgIG1hcmdpbjogMjBweDsKKyAgICAgICAgICAgIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZl
cjsKKyAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgICAgIHBlcnNwZWN0
aXZlOiA1MDBweDsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLyogVHJhbnNmb3JtZWQg
dG8gYmUgZWRnZS1vbiwgYW5kIHRoZXJlZm9yZSBpbnZpc2libGUgKi8KKyAgICAgICAgLmFuZ2xl
ZCB7CisgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgICAgICB0b3A6IDA7
CisgICAgICAgICAgICBsZWZ0OiAwOworICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICBoZWlnaHQ6IDEwMCU7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cisg
ICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpOworICAgICAgICB9CisKKyAgICAg
ICAgLmFuZ2xlZC52ZXJ0aWNhbCB7CisgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBk
ZWcpOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDwhLS0g
PGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIj48L2Rp
dj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiIHN0eWxlPSJ0cmFuc2Zv
cm0tYm94OiBib3JkZXItYm94OyBib3JkZXItbGVmdDogNTBweCBzb2xpZCBibGFjazsgYm9yZGVy
LXRvcDogNTBweCBzb2xpZCBibGFjazsgcGVyc3BlY3RpdmUtb3JpZ2luOiAxNTBweCAxNTBweCI+
CisgICAgICAgIDxkaXYgY2xhc3M9ImFuZ2xlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9
ImFuZ2xlZCB2ZXJ0aWNhbCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0iY29u
dGFpbmVyIiBzdHlsZT0idHJhbnNmb3JtLWJveDogdmlldy1ib3g7IGJvcmRlci1sZWZ0OiA1MHB4
IHNvbGlkIGJsYWNrOyBib3JkZXItdG9wOiA1MHB4IHNvbGlkIGJsYWNrOyBwZXJzcGVjdGl2ZS1v
cmlnaW46IDE1MHB4IDE1MHB4Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIHZlcnRpY2FsIj48L2Rpdj4KKyAgICA8L2Rpdj4g
LS0+CisgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0idHJhbnNmb3JtLWJveDogY29u
dGVudC1ib3g7IGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkIGJsYWNrOyBib3JkZXItdG9wOiA1MHB4
IHNvbGlkIGJsYWNrOyBwZXJzcGVjdGl2ZS1vcmlnaW46IDE1MHB4IDE1MHB4Ij4KKyAgICAgICAg
PGRpdiBjbGFzcz0iYW5nbGVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIHZl
cnRpY2FsIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8IS0tIDxkaXYgY2xhc3M9ImNvbnRhaW5l
ciIgc3R5bGU9InRyYW5zZm9ybS1ib3g6IGZpbGwtYm94OyBib3JkZXItbGVmdDogNTBweCBzb2xp
ZCBibGFjazsgYm9yZGVyLXRvcDogNTBweCBzb2xpZCBibGFjazsgcGVyc3BlY3RpdmUtb3JpZ2lu
OiAxNTBweCAxNTBweCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImFuZ2xlZCI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImFuZ2xlZCB2ZXJ0aWNhbCI+PC9kaXY+CisgICAgPC9kaXY+IC0tPgor
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399146</attachid>
            <date>2020-05-12 11:19:43 -0700</date>
            <delta_ts>2020-05-12 13:39:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211769-20200512111942.patch</filename>
            <type>text/plain</type>
            <size>29622</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI5MTc1MzZkOGZiMjgw
NDA3MTVjN2FiYmY2MDVhN2E0Y2U5Njg0Yy4uOGEzOTIwMGY1NTQ1ZjA1MWNiNzE3ZGQ5Nzk3NjAz
ZjViOWMyODU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTA1LTExICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBlcnBlY3RpdmUg
b3JpZ2luIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0aGUgcmVmZXJlbmNlIGJveAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNzY5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIHRoZSByZWZlcmVuY2Ug
Ym94IDxodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRyYW5zZm9ybXMtMS8jcmVmZXJlbmNl
LWJveD4gd2hlbgorICAgICAgICBjb21wdXRpbmcgcGVyc3BlY3RpdmUtb3JpZ2luIDxodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRyYW5zZm9ybXMtMi8jcGVyc3BlY3RpdmUtb3JpZ2luLXBy
b3BlcnR5PiwKKyAgICAgICAgYWRkaW5nIGEgcmVmZXJlbmNlQm94KCkgaGVscGVyIG9uIFJlbmRl
ckJveC4KKworICAgICAgICBUaGUgY29kZSB0byBjb21wdXRlIHRoZSBwZXJzcGVjdGl2ZSB0cmFu
c2Zvcm0gaXMgd3Jvbmc7IGZvciBub3csIGZ1ZGdlIGl0IGJ5IHBhc3NpbmcgaW4gdGhlIGJvcmRl
ciBib3gsCisgICAgICAgIGJ1dCB0aGlzIGNvZGUgbmVlZHMgdG8gYWNjb3VudCBmb3IgR3JhcGhp
Y3NMYXllciBnZW9tZXRyeSBhbmQgdHJhbnNmb3JtLW9yaWdpbiBpbiBmdXR1cmUgKHdlYmtpdC5v
cmcvYi8yMTE3ODcpLgorCisgICAgICAgIFRlc3Q6IGNvbXBvc2l0aW5nL3RyYW5zZm9ybXMvcGVy
c3BlY3RpdmUtdHJhbnNmb3JtLWJveC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6cmVmZXJlbmNlQm94IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmNvbXB1dGVSZWZlcmVuY2VSZWN0RnJvbUJveCk6CisgICAgICAgIChXZWJDb3JlOjpj
b21wdXRlUmVmZXJlbmNlQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRh
dGVUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmN1cnJlbnRUcmFu
c2Zvcm0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBlcnNwZWN0aXZl
VHJhbnNmb3JtIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjb21wdXRl
Q2xpcFBhdGggY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9tZXRyeSk6CisKIDIwMjAtMDUtMTEgIFBl
bmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgdGhlIG1vY2sg
dmlkZW8gcHJlc2VudGF0aW9uIG1vZGUgaW4gcmVsYXRlZCBsYXlvdXQgdGVzdHMgYW5kIGZpeCB0
ZXN0IGZhaWx1cmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRl
eCBhZmNlOWViYmJjN2IxMDlmNTIwZWU5NmJiOTIyMzY4MTQ2Y2Q5ZGZjLi40ZDI5YzI0ZmVmMWJl
MDdhYmNhNGZmZGFhMzY0YTE3Y2EzMjg3ODdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHAKQEAgLTIwMjIsMjUgKzIwMjIsNyBAQCBib29sIFJlbmRlckJsb2NrOjpu
b2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYg
cmVzdQogICAgICAgICBzd2l0Y2ggKHN0eWxlKCkuY2xpcFBhdGgoKS0+dHlwZSgpKSB7CiAgICAg
ICAgIGNhc2UgQ2xpcFBhdGhPcGVyYXRpb246OlNoYXBlOiB7CiAgICAgICAgICAgICBhdXRvJiBj
bGlwUGF0aCA9IGRvd25jYXN0PFNoYXBlQ2xpcFBhdGhPcGVyYXRpb24+KCpzdHlsZSgpLmNsaXBQ
YXRoKCkpOwotCi0gICAgICAgICAgICBMYXlvdXRSZWN0IHJlZmVyZW5jZUJveFJlY3Q7Ci0gICAg
ICAgICAgICBzd2l0Y2ggKGNsaXBQYXRoLnJlZmVyZW5jZUJveCgpKSB7Ci0gICAgICAgICAgICBj
YXNlIENTU0JveFR5cGU6Ok1hcmdpbkJveDoKLSAgICAgICAgICAgICAgICByZWZlcmVuY2VCb3hS
ZWN0ID0gbWFyZ2luQm94UmVjdCgpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgY2FzZSBDU1NCb3hUeXBlOjpQYWRkaW5nQm94OgotICAgICAgICAgICAgICAgIHJlZmVyZW5j
ZUJveFJlY3QgPSBwYWRkaW5nQm94UmVjdCgpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgY2FzZSBDU1NCb3hUeXBlOjpGaWxsQm94OgotICAgICAgICAgICAgY2FzZSBDU1NC
b3hUeXBlOjpDb250ZW50Qm94OgotICAgICAgICAgICAgICAgIHJlZmVyZW5jZUJveFJlY3QgPSBj
b250ZW50Qm94UmVjdCgpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2Fz
ZSBDU1NCb3hUeXBlOjpTdHJva2VCb3g6Ci0gICAgICAgICAgICBjYXNlIENTU0JveFR5cGU6OlZp
ZXdCb3g6Ci0gICAgICAgICAgICBjYXNlIENTU0JveFR5cGU6OkJvcmRlckJveDoKLSAgICAgICAg
ICAgIGNhc2UgQ1NTQm94VHlwZTo6Qm94TWlzc2luZzoKLSAgICAgICAgICAgICAgICByZWZlcmVu
Y2VCb3hSZWN0ID0gYm9yZGVyQm94UmVjdCgpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAg
YXV0byByZWZlcmVuY2VCb3hSZWN0ID0gcmVmZXJlbmNlQm94KGNsaXBQYXRoLnJlZmVyZW5jZUJv
eCgpKTsKICAgICAgICAgICAgIGlmICghY2xpcFBhdGgucGF0aEZvclJlZmVyZW5jZVJlY3QocmVm
ZXJlbmNlQm94UmVjdCkuY29udGFpbnMobG9jYXRpb25JbkNvbnRhaW5lci5wb2ludCgpIC0gbG9j
YWxPZmZzZXQsIGNsaXBQYXRoLndpbmRSdWxlKCkpKQogICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcAppbmRleCAyMmZlZThiZjZhNjdlNGRiYWYxY2IwNzhmMzhmNWRjMWRmNDVhMzdiLi5hYzdj
OWYxODczNzU3N2NiYzM2ODcwZTY2Zjk1YjUzN2QwZWQ5ZDNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNjk4LDYgKzY5OCwyNyBAQCBMYXlvdXRQb2ludCBSZW5k
ZXJCb3g6OmNvbnRlbnRCb3hMb2NhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIHsgYm9yZGVyTGVm
dCgpICsgcGFkZGluZ0xlZnQoKSArIHNjcm9sbGJhclNwYWNlLCBib3JkZXJUb3AoKSArIHBhZGRp
bmdUb3AoKSB9OwogfQogCitMYXlvdXRSZWN0IFJlbmRlckJveDo6cmVmZXJlbmNlQm94KENTU0Jv
eFR5cGUgYm94VHlwZSkgY29uc3QKK3sKKyAgICBMYXlvdXRSZWN0IHJlZmVyZW5jZUJveDsKKyAg
ICBzd2l0Y2ggKGJveFR5cGUpIHsKKyAgICBjYXNlIENTU0JveFR5cGU6OkNvbnRlbnRCb3g6Cisg
ICAgY2FzZSBDU1NCb3hUeXBlOjpGaWxsQm94OgorICAgICAgICByZXR1cm4gY29udGVudEJveFJl
Y3QoKTsKKyAgICBjYXNlIENTU0JveFR5cGU6OlBhZGRpbmdCb3g6CisgICAgICAgIHJldHVybiBw
YWRkaW5nQm94UmVjdCgpOworICAgIGNhc2UgQ1NTQm94VHlwZTo6TWFyZ2luQm94OgorICAgICAg
ICByZXR1cm4gbWFyZ2luQm94UmVjdCgpOworICAgIC8vIHN0cm9rZS1ib3gsIHZpZXctYm94IGNv
bXB1dGUgdG8gYm9yZGVyLWJveCBmb3IgSFRNTCBlbGVtZW50cy4KKyAgICBjYXNlIENTU0JveFR5
cGU6OlN0cm9rZUJveDoKKyAgICBjYXNlIENTU0JveFR5cGU6OlZpZXdCb3g6CisgICAgY2FzZSBD
U1NCb3hUeXBlOjpCb3JkZXJCb3g6CisgICAgY2FzZSBDU1NCb3hUeXBlOjpCb3hNaXNzaW5nOgor
ICAgICAgICByZXR1cm4gYm9yZGVyQm94UmVjdCgpOworICAgIH0KKyAgICByZXR1cm4geyB9Owor
fQorCiBJbnRSZWN0IFJlbmRlckJveDo6YWJzb2x1dGVDb250ZW50Qm94KCkgY29uc3QKIHsKICAg
ICAvLyBUaGlzIGlzIHdyb25nIHdpdGggdHJhbnNmb3JtcyBhbmQgZmxpcHBlZCB3cml0aW5nIG1v
ZGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IDk4NjI1ODdhNmNlMzlk
ZDc0YWI4MjhiNWI0ZjFlZWY5MjY4YmZlNDAuLmViYmM5MTg4ZmQzZmNjNzgyMmZiYzY3ZjVlYmY5
ZDY5NzA3MzQwMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTE2MCw2
ICsxNjAsOSBAQCBwdWJsaWM6CiAgICAgTGF5b3V0UmVjdCBjb250ZW50Qm94UmVjdCgpIGNvbnN0
OwogICAgIExheW91dFBvaW50IGNvbnRlbnRCb3hMb2NhdGlvbigpIGNvbnN0OwogCisgICAgLy8g
Lmh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdHJhbnNmb3Jtcy0xLyNyZWZlcmVuY2UtYm94
CisgICAgTGF5b3V0UmVjdCByZWZlcmVuY2VCb3goQ1NTQm94VHlwZSkgY29uc3Q7CisKICAgICAv
LyBUaGUgY29udGVudCBib3ggaW4gYWJzb2x1dGUgY29vcmRzLiBJZ25vcmVzIHRyYW5zZm9ybXMu
CiAgICAgSW50UmVjdCBhYnNvbHV0ZUNvbnRlbnRCb3goKSBjb25zdDsKICAgICAvLyBUaGUgY29u
dGVudCBib3ggY29udmVydGVkIHRvIGFic29sdXRlIGNvb3JkcyAodGFraW5nIHRyYW5zZm9ybXMg
aW50byBhY2NvdW50KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmlu
ZGV4IDkwZmU0MzdiYThiODUwNTMyYjI0YWQ0MDk3YzE1MTc3YzgwYzZhZTAuLjNhYjUzZGEzNGYx
MDc0NDMxNTZjNTc2N2MxODgyMGRkNmFmYTI1NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcApAQCAtMTI0NiwzNyArMTI0NiwxNCBAQCB2b2lkIFJlbmRlckxheWVy
OjpkaXJ0eUFuY2VzdG9yQ2hhaW5IYXNCbGVuZGluZ0Rlc2NlbmRhbnRzKCkKIH0KICNlbmRpZgog
Ci1zdGF0aWMgaW5saW5lIExheW91dFJlY3QgY29tcHV0ZVJlZmVyZW5jZVJlY3RGcm9tQm94KGNv
bnN0IFJlbmRlckJveCYgYm94LCBjb25zdCBDU1NCb3hUeXBlJiBib3hUeXBlLCBjb25zdCBMYXlv
dXRTaXplJiBvZmZzZXRGcm9tUm9vdCkKLXsKLSAgICBMYXlvdXRSZWN0IHJlZmVyZW5jZUJveDsK
LSAgICBzd2l0Y2ggKGJveFR5cGUpIHsKLSAgICBjYXNlIENTU0JveFR5cGU6OkNvbnRlbnRCb3g6
Ci0gICAgY2FzZSBDU1NCb3hUeXBlOjpGaWxsQm94OgotICAgICAgICByZWZlcmVuY2VCb3ggPSBi
b3guY29udGVudEJveFJlY3QoKTsKLSAgICAgICAgcmVmZXJlbmNlQm94Lm1vdmUob2Zmc2V0RnJv
bVJvb3QpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENTU0JveFR5cGU6OlBhZGRpbmdCb3g6
Ci0gICAgICAgIHJlZmVyZW5jZUJveCA9IGJveC5wYWRkaW5nQm94UmVjdCgpOwotICAgICAgICBy
ZWZlcmVuY2VCb3gubW92ZShvZmZzZXRGcm9tUm9vdCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgQ1NTQm94VHlwZTo6TWFyZ2luQm94OgotICAgICAgICByZWZlcmVuY2VCb3ggPSBib3gubWFy
Z2luQm94UmVjdCgpOwotICAgICAgICByZWZlcmVuY2VCb3gubW92ZShvZmZzZXRGcm9tUm9vdCk7
Ci0gICAgICAgIGJyZWFrOwotICAgIC8vIHN0cm9rZS1ib3gsIHZpZXctYm94IGNvbXB1dGUgdG8g
Ym9yZGVyLWJveCBmb3IgSFRNTCBlbGVtZW50cy4KLSAgICBjYXNlIENTU0JveFR5cGU6OlN0cm9r
ZUJveDoKLSAgICBjYXNlIENTU0JveFR5cGU6OlZpZXdCb3g6Ci0gICAgY2FzZSBDU1NCb3hUeXBl
OjpCb3JkZXJCb3g6Ci0gICAgY2FzZSBDU1NCb3hUeXBlOjpCb3hNaXNzaW5nOgotICAgICAgICBy
ZWZlcmVuY2VCb3ggPSBib3guYm9yZGVyQm94UmVjdCgpOwotICAgICAgICByZWZlcmVuY2VCb3gu
bW92ZShvZmZzZXRGcm9tUm9vdCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQorc3RhdGljIGlu
bGluZSBMYXlvdXRSZWN0IGNvbXB1dGVSZWZlcmVuY2VSZWN0RnJvbUJveChjb25zdCBSZW5kZXJC
b3gmIGJveCwgQ1NTQm94VHlwZSBib3hUeXBlLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXRGcm9t
Um9vdCkKK3sKKyAgICBhdXRvIHJlZmVyZW5jZUJveCA9IGJveC5yZWZlcmVuY2VCb3goYm94VHlw
ZSk7CisgICAgcmVmZXJlbmNlQm94Lm1vdmUob2Zmc2V0RnJvbVJvb3QpOwogICAgIHJldHVybiBy
ZWZlcmVuY2VCb3g7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTGF5b3V0UmVjdCBjb21wdXRlUmVmZXJl
bmNlQm94KGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IENTU0JveFR5cGUmIGJv
eFR5cGUsIGNvbnN0IExheW91dFNpemUmIG9mZnNldEZyb21Sb290LCBjb25zdCBMYXlvdXRSZWN0
JiByb290UmVsYXRpdmVCb3VuZHMpCitzdGF0aWMgaW5saW5lIExheW91dFJlY3QgY29tcHV0ZVJl
ZmVyZW5jZUJveChjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBDU1NCb3hUeXBlIGJveFR5
cGUsIGNvbnN0IExheW91dFNpemUmIG9mZnNldEZyb21Sb290LCBjb25zdCBMYXlvdXRSZWN0JiBy
b290UmVsYXRpdmVCb3VuZHMpCiB7CiAgICAgLy8gRklYTUU6IFN1cHBvcnQgZGlmZmVyZW50IHJl
ZmVyZW5jZSBib3hlcyBmb3IgaW5saW5lIGNvbnRlbnQuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTA0NwpAQCAtMTMyMiwxMiArMTI5OSw5IEBAIHZv
aWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZVRyYW5zZm9ybSgpCiAgICAgfQogICAgIAogICAgIGlmICho
YXNUcmFuc2Zvcm0pIHsKLSAgICAgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKLSAg
ICAgICAgQVNTRVJUKGJveCk7CisgICAgICAgIGF1dG8mIHJlbmRlckJveCA9IGRvd25jYXN0PFJl
bmRlckJveD4ocmVuZGVyZXIoKSk7CiAgICAgICAgIG1fdHJhbnNmb3JtLT5tYWtlSWRlbnRpdHko
KTsKLSAgICAgICAgTGF5b3V0U2l6ZSBvZmZzZXRGcm9tUm9vdDsKLSAgICAgICAgYXV0byBjb21w
dXRlZFJlZmVyZW5jZUJveCA9IGNvbXB1dGVSZWZlcmVuY2VSZWN0RnJvbUJveCgqYm94LCB0cmFu
c2Zvcm1Cb3hUb0NTU0JveFR5cGUoYm94LT5zdHlsZSgpLnRyYW5zZm9ybUJveCgpKSwgb2Zmc2V0
RnJvbVJvb3QpOwotICAgICAgICBib3gtPnN0eWxlKCkuYXBwbHlUcmFuc2Zvcm0oKm1fdHJhbnNm
b3JtLCBzbmFwUmVjdFRvRGV2aWNlUGl4ZWxzKGNvbXB1dGVkUmVmZXJlbmNlQm94LCBib3gtPmRv
Y3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSksIFJlbmRlclN0eWxlOjpJbmNsdWRlVHJhbnNm
b3JtT3JpZ2luKTsKKyAgICAgICAgcmVuZGVyQm94LnN0eWxlKCkuYXBwbHlUcmFuc2Zvcm0oKm1f
dHJhbnNmb3JtLCBzbmFwUmVjdFRvRGV2aWNlUGl4ZWxzKHJlbmRlckJveC5yZWZlcmVuY2VCb3go
dHJhbnNmb3JtQm94VG9DU1NCb3hUeXBlKHJlbmRlckJveC5zdHlsZSgpLnRyYW5zZm9ybUJveCgp
KSksIHJlbmRlckJveC5kb2N1bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCkpLCBSZW5kZXJTdHls
ZTo6SW5jbHVkZVRyYW5zZm9ybU9yaWdpbik7CiAgICAgICAgIG1ha2VNYXRyaXhSZW5kZXJhYmxl
KCptX3RyYW5zZm9ybSwgY2FuUmVuZGVyM0RUcmFuc2Zvcm1zKCkpOwogICAgIH0KIApAQCAtMTM0
MSwxOCArMTMxNSwxOSBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVUcmFuc2Zvcm0oKQogVHJh
bnNmb3JtYXRpb25NYXRyaXggUmVuZGVyTGF5ZXI6OmN1cnJlbnRUcmFuc2Zvcm0oUmVuZGVyU3R5
bGU6OkFwcGx5VHJhbnNmb3JtT3JpZ2luIGFwcGx5T3JpZ2luKSBjb25zdAogewogICAgIGlmICgh
bV90cmFuc2Zvcm0pCi0gICAgICAgIHJldHVybiBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpOwotICAg
IAotICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CisgICAgICAgIHJldHVybiB7IH07
CisKKyAgICBpZiAoIWlzPFJlbmRlckJveD4ocmVuZGVyZXIoKSkpCisgICAgICAgIHJldHVybiB7
IH07CisKKyAgICBhdXRvJiByZW5kZXJCb3ggPSBkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVy
KCkpOwogCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
d2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCgpKSB7CiAgICAgICAgIGlmIChhdXRv
KiB0aW1lbGluZSA9IHJlbmRlcmVyKCkuZG9jdW1lbnRUaW1lbGluZSgpKSB7CiAgICAgICAgICAg
ICBpZiAodGltZWxpbmUtPmlzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uT25SZW5kZXJlcihy
ZW5kZXJlcigpLCBDU1NQcm9wZXJ0eVRyYW5zZm9ybSkpIHsKICAgICAgICAgICAgICAgICBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCBjdXJyVHJhbnNmb3JtOwotICAgICAgICAgICAgICAgIExheW91dFNp
emUgb2Zmc2V0RnJvbVJvb3Q7CiAgICAgICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRl
clN0eWxlPiBzdHlsZSA9IHRpbWVsaW5lLT5hbmltYXRlZFN0eWxlRm9yUmVuZGVyZXIocmVuZGVy
ZXIoKSk7Ci0gICAgICAgICAgICAgICAgYXV0byBjb21wdXRlZFJlZmVyZW5jZUJveCA9IGNvbXB1
dGVSZWZlcmVuY2VCb3gocmVuZGVyZXIoKSwgdHJhbnNmb3JtQm94VG9DU1NCb3hUeXBlKHN0eWxl
LT50cmFuc2Zvcm1Cb3goKSksIG9mZnNldEZyb21Sb290LCBib3gtPmJvcmRlckJveFJlY3QoKSk7
Ci0gICAgICAgICAgICAgICAgRmxvYXRSZWN0IHBpeGVsU25hcHBlZEJvcmRlclJlY3QgPSBzbmFw
UmVjdFRvRGV2aWNlUGl4ZWxzKGNvbXB1dGVkUmVmZXJlbmNlQm94LCBib3gtPmRvY3VtZW50KCku
ZGV2aWNlU2NhbGVGYWN0b3IoKSk7CisgICAgICAgICAgICAgICAgRmxvYXRSZWN0IHBpeGVsU25h
cHBlZEJvcmRlclJlY3QgPSBzbmFwUmVjdFRvRGV2aWNlUGl4ZWxzKHJlbmRlckJveC5yZWZlcmVu
Y2VCb3godHJhbnNmb3JtQm94VG9DU1NCb3hUeXBlKHN0eWxlLT50cmFuc2Zvcm1Cb3goKSkpLCBy
ZW5kZXJCb3guZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpKTsKICAgICAgICAgICAgICAg
ICBzdHlsZS0+YXBwbHlUcmFuc2Zvcm0oY3VyclRyYW5zZm9ybSwgcGl4ZWxTbmFwcGVkQm9yZGVy
UmVjdCwgYXBwbHlPcmlnaW4pOwogICAgICAgICAgICAgICAgIG1ha2VNYXRyaXhSZW5kZXJhYmxl
KGN1cnJUcmFuc2Zvcm0sIGNhblJlbmRlcjNEVHJhbnNmb3JtcygpKTsKICAgICAgICAgICAgICAg
ICByZXR1cm4gY3VyclRyYW5zZm9ybTsKQEAgLTEzNjIsOSArMTMzNyw3IEBAIFRyYW5zZm9ybWF0
aW9uTWF0cml4IFJlbmRlckxheWVyOjpjdXJyZW50VHJhbnNmb3JtKFJlbmRlclN0eWxlOjpBcHBs
eVRyYW5zZm9ybU9yCiAgICAgICAgIGlmIChyZW5kZXJlcigpLmxlZ2FjeUFuaW1hdGlvbigpLmlz
UnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uT25SZW5kZXJlcihyZW5kZXJlcigpLCBDU1NQcm9w
ZXJ0eVRyYW5zZm9ybSkpIHsKICAgICAgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGN1cnJU
cmFuc2Zvcm07CiAgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IHN0eWxl
ID0gcmVuZGVyZXIoKS5sZWdhY3lBbmltYXRpb24oKS5hbmltYXRlZFN0eWxlRm9yUmVuZGVyZXIo
cmVuZGVyZXIoKSk7Ci0gICAgICAgICAgICBMYXlvdXRTaXplIG9mZnNldEZyb21Sb290OwotICAg
ICAgICAgICAgYXV0byBjb21wdXRlZFJlZmVyZW5jZUJveCA9IGNvbXB1dGVSZWZlcmVuY2VCb3go
cmVuZGVyZXIoKSwgdHJhbnNmb3JtQm94VG9DU1NCb3hUeXBlKHN0eWxlLT50cmFuc2Zvcm1Cb3go
KSksIG9mZnNldEZyb21Sb290LCBib3gtPmJvcmRlckJveFJlY3QoKSk7Ci0gICAgICAgICAgICBG
bG9hdFJlY3QgcGl4ZWxTbmFwcGVkQm9yZGVyUmVjdCA9IHNuYXBSZWN0VG9EZXZpY2VQaXhlbHMo
Y29tcHV0ZWRSZWZlcmVuY2VCb3gsIGJveC0+ZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3Rvcigp
KTsKKyAgICAgICAgICAgIEZsb2F0UmVjdCBwaXhlbFNuYXBwZWRCb3JkZXJSZWN0ID0gc25hcFJl
Y3RUb0RldmljZVBpeGVscyhyZW5kZXJCb3gucmVmZXJlbmNlQm94KHRyYW5zZm9ybUJveFRvQ1NT
Qm94VHlwZShzdHlsZS0+dHJhbnNmb3JtQm94KCkpKSwgcmVuZGVyQm94LmRvY3VtZW50KCkuZGV2
aWNlU2NhbGVGYWN0b3IoKSk7CiAgICAgICAgICAgICBzdHlsZS0+YXBwbHlUcmFuc2Zvcm0oY3Vy
clRyYW5zZm9ybSwgcGl4ZWxTbmFwcGVkQm9yZGVyUmVjdCwgYXBwbHlPcmlnaW4pOwogICAgICAg
ICAgICAgbWFrZU1hdHJpeFJlbmRlcmFibGUoY3VyclRyYW5zZm9ybSwgY2FuUmVuZGVyM0RUcmFu
c2Zvcm1zKCkpOwogICAgICAgICAgICAgcmV0dXJuIGN1cnJUcmFuc2Zvcm07CkBAIC0xMzc1LDEx
ICsxMzQ4LDkgQEAgVHJhbnNmb3JtYXRpb25NYXRyaXggUmVuZGVyTGF5ZXI6OmN1cnJlbnRUcmFu
c2Zvcm0oUmVuZGVyU3R5bGU6OkFwcGx5VHJhbnNmb3JtT3IKICAgICAvLyBtX3RyYW5zZm9ybSBp
bmNsdWRlcyB0cmFuc2Zvcm0tb3JpZ2luLCBzbyB3ZSBuZWVkIHRvIHJlY29tcHV0ZSB0aGUgdHJh
bnNmb3JtIGhlcmUuCiAgICAgaWYgKGFwcGx5T3JpZ2luID09IFJlbmRlclN0eWxlOjpFeGNsdWRl
VHJhbnNmb3JtT3JpZ2luKSB7CiAgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGN1cnJUcmFu
c2Zvcm07Ci0gICAgICAgIExheW91dFNpemUgb2Zmc2V0RnJvbVJvb3Q7CiAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5bGUgPSByZW5kZXJlcigpLmxlZ2FjeUFuaW1hdGlv
bigpLmFuaW1hdGVkU3R5bGVGb3JSZW5kZXJlcihyZW5kZXJlcigpKTsKLSAgICAgICAgYXV0byBj
b21wdXRlZFJlZmVyZW5jZUJveCA9IGNvbXB1dGVSZWZlcmVuY2VCb3gocmVuZGVyZXIoKSwgdHJh
bnNmb3JtQm94VG9DU1NCb3hUeXBlKHN0eWxlLT50cmFuc2Zvcm1Cb3goKSksIG9mZnNldEZyb21S
b290LCBib3gtPmJvcmRlckJveFJlY3QoKSk7Ci0gICAgICAgIEZsb2F0UmVjdCBwaXhlbFNuYXBw
ZWRCb3JkZXJSZWN0ID0gc25hcFJlY3RUb0RldmljZVBpeGVscyhjb21wdXRlZFJlZmVyZW5jZUJv
eCwgYm94LT5kb2N1bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCkpOwotICAgICAgICBib3gtPnN0
eWxlKCkuYXBwbHlUcmFuc2Zvcm0oY3VyclRyYW5zZm9ybSwgcGl4ZWxTbmFwcGVkQm9yZGVyUmVj
dCwgUmVuZGVyU3R5bGU6OkV4Y2x1ZGVUcmFuc2Zvcm1PcmlnaW4pOworICAgICAgICBGbG9hdFJl
Y3QgcGl4ZWxTbmFwcGVkQm9yZGVyUmVjdCA9IHNuYXBSZWN0VG9EZXZpY2VQaXhlbHMocmVuZGVy
Qm94LnJlZmVyZW5jZUJveCh0cmFuc2Zvcm1Cb3hUb0NTU0JveFR5cGUoc3R5bGUtPnRyYW5zZm9y
bUJveCgpKSksIHJlbmRlckJveC5kb2N1bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCkpOworICAg
ICAgICByZW5kZXJCb3guc3R5bGUoKS5hcHBseVRyYW5zZm9ybShjdXJyVHJhbnNmb3JtLCBwaXhl
bFNuYXBwZWRCb3JkZXJSZWN0LCBSZW5kZXJTdHlsZTo6RXhjbHVkZVRyYW5zZm9ybU9yaWdpbik7
CiAgICAgICAgIG1ha2VNYXRyaXhSZW5kZXJhYmxlKGN1cnJUcmFuc2Zvcm0sIGNhblJlbmRlcjNE
VHJhbnNmb3JtcygpKTsKICAgICAgICAgcmV0dXJuIGN1cnJUcmFuc2Zvcm07CiAgICAgfQpAQCAt
MTc2MSwzNCArMTczMiwzNSBAQCBib29sIFJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9u
KE9wdGlvblNldDxVcGRhdGVMYXllclBvc2l0aW9uc0ZsYWc+KiBmbGFncwogICAgIHJldHVybiBw
b3NpdGlvbk9yT2Zmc2V0Q2hhbmdlZDsKIH0KIAotVHJhbnNmb3JtYXRpb25NYXRyaXggUmVuZGVy
TGF5ZXI6OnBlcnNwZWN0aXZlVHJhbnNmb3JtKCkgY29uc3QKK1RyYW5zZm9ybWF0aW9uTWF0cml4
IFJlbmRlckxheWVyOjpwZXJzcGVjdGl2ZVRyYW5zZm9ybShjb25zdCBMYXlvdXRSZWN0JiBsYXll
clJlY3QpIGNvbnN0CiB7Ci0gICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKLSAgICBp
ZiAoIWJveCkKLSAgICAgICAgcmV0dXJuIFRyYW5zZm9ybWF0aW9uTWF0cml4KCk7Ci0gICAgCi0g
ICAgaWYgKCFib3gtPmhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpKQotICAgICAgICByZXR1
cm4gVHJhbnNmb3JtYXRpb25NYXRyaXgoKTsKKyAgICBpZiAoIWlzPFJlbmRlckJveD4ocmVuZGVy
ZXIoKSkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvJiByZW5kZXJCb3ggPSBkb3du
Y2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpOworICAgIGlmICghcmVuZGVyQm94Lmhhc1RyYW5z
Zm9ybVJlbGF0ZWRQcm9wZXJ0eSgpKQorICAgICAgICByZXR1cm4geyB9OwogCi0gICAgY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlID0gYm94LT5zdHlsZSgpOworICAgIGNvbnN0IGF1dG8mIHN0eWxl
ID0gcmVuZGVyQm94LnN0eWxlKCk7CiAgICAgaWYgKCFzdHlsZS5oYXNQZXJzcGVjdGl2ZSgpKQot
ICAgICAgICByZXR1cm4gVHJhbnNmb3JtYXRpb25NYXRyaXgoKTsKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIGF1dG8gcmVmZXJlbmNlQm94ID0gcmVuZGVyQm94LnJlZmVyZW5jZUJveCh0cmFu
c2Zvcm1Cb3hUb0NTU0JveFR5cGUoc3R5bGUudHJhbnNmb3JtQm94KCkpKTsKKyAgICBhdXRvIHBp
eGVsU25hcHBlZFJlZmVyZW5jZUJveCA9IHNuYXBSZWN0VG9EZXZpY2VQaXhlbHMocmVmZXJlbmNl
Qm94LCByZW5kZXJCb3guZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpKTsKIAotICAgIC8v
IE1heWJlIGZldGNoIHRoZSBwZXJzcGVjdGl2ZSBmcm9tIHRoZSBiYWNraW5nPwotICAgIGNvbnN0
IEZsb2F0UmVjdCBib3JkZXJCb3ggPSBzbmFwUmVjdFRvRGV2aWNlUGl4ZWxzKGJveC0+Ym9yZGVy
Qm94UmVjdCgpLCBib3gtPmRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSk7Ci0gICAgZmxv
YXQgcGVyc3BlY3RpdmVPcmlnaW5YID0gZmxvYXRWYWx1ZUZvckxlbmd0aChzdHlsZS5wZXJzcGVj
dGl2ZU9yaWdpblgoKSwgYm9yZGVyQm94LndpZHRoKCkpOwotICAgIGZsb2F0IHBlcnNwZWN0aXZl
T3JpZ2luWSA9IGZsb2F0VmFsdWVGb3JMZW5ndGgoc3R5bGUucGVyc3BlY3RpdmVPcmlnaW5ZKCks
IGJvcmRlckJveC5oZWlnaHQoKSk7CisgICAgZmxvYXQgcGVyc3BlY3RpdmVPcmlnaW5YID0gcGl4
ZWxTbmFwcGVkUmVmZXJlbmNlQm94LngoKSArIGZsb2F0VmFsdWVGb3JMZW5ndGgoc3R5bGUucGVy
c3BlY3RpdmVPcmlnaW5YKCksIHBpeGVsU25hcHBlZFJlZmVyZW5jZUJveC53aWR0aCgpKTsKKyAg
ICBmbG9hdCBwZXJzcGVjdGl2ZU9yaWdpblkgPSBwaXhlbFNuYXBwZWRSZWZlcmVuY2VCb3gueSgp
ICsgZmxvYXRWYWx1ZUZvckxlbmd0aChzdHlsZS5wZXJzcGVjdGl2ZU9yaWdpblkoKSwgcGl4ZWxT
bmFwcGVkUmVmZXJlbmNlQm94LmhlaWdodCgpKTsKIAogICAgIC8vIEEgcGVyc3BlY3RpdmUgb3Jp
Z2luIG9mIDAsMCBtYWtlcyB0aGUgdmFuaXNoaW5nIHBvaW50IGluIHRoZSBjZW50ZXIgb2YgdGhl
IGVsZW1lbnQuCiAgICAgLy8gV2Ugd2FudCBpdCB0byBiZSBpbiB0aGUgdG9wLWxlZnQsIHNvIHN1
YnRyYWN0IGhhbGYgdGhlIGhlaWdodCBhbmQgd2lkdGguCi0gICAgcGVyc3BlY3RpdmVPcmlnaW5Y
IC09IGJvcmRlckJveC53aWR0aCgpIC8gMi4wZjsKLSAgICBwZXJzcGVjdGl2ZU9yaWdpblkgLT0g
Ym9yZGVyQm94LmhlaWdodCgpIC8gMi4wZjsKLSAgICAKKyAgICBwZXJzcGVjdGl2ZU9yaWdpblgg
LT0gbGF5ZXJSZWN0LndpZHRoKCkgLyAyLjBmOworICAgIHBlcnNwZWN0aXZlT3JpZ2luWSAtPSBs
YXllclJlY3QuaGVpZ2h0KCkgLyAyLjBmOworCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdDsK
ICAgICB0LnRyYW5zbGF0ZShwZXJzcGVjdGl2ZU9yaWdpblgsIHBlcnNwZWN0aXZlT3JpZ2luWSk7
CiAgICAgdC5hcHBseVBlcnNwZWN0aXZlKHN0eWxlLnBlcnNwZWN0aXZlKCkpOwogICAgIHQudHJh
bnNsYXRlKC1wZXJzcGVjdGl2ZU9yaWdpblgsIC1wZXJzcGVjdGl2ZU9yaWdpblkpOwotICAgIAor
CiAgICAgcmV0dXJuIHQ7CiB9CiAKQEAgLTQ0MjEsMTQgKzQzOTMsMjEgQEAgUGF0aCBSZW5kZXJM
YXllcjo6Y29tcHV0ZUNsaXBQYXRoKGNvbnN0IExheW91dFNpemUmIG9mZnNldEZyb21Sb290LCBM
YXlvdXRSZWN0JgogCiAgICAgaWYgKGlzPFNoYXBlQ2xpcFBhdGhPcGVyYXRpb24+KCpzdHlsZS5j
bGlwUGF0aCgpKSkgewogICAgICAgICBhdXRvJiBjbGlwUGF0aCA9IGRvd25jYXN0PFNoYXBlQ2xp
cFBhdGhPcGVyYXRpb24+KCpzdHlsZS5jbGlwUGF0aCgpKTsKLSAgICAgICAgRmxvYXRSZWN0IHJl
ZmVyZW5jZUJveCA9IHNuYXBSZWN0VG9EZXZpY2VQaXhlbHMoY29tcHV0ZVJlZmVyZW5jZUJveChy
ZW5kZXJlcigpLCBjbGlwUGF0aC5yZWZlcmVuY2VCb3goKSwgb2Zmc2V0RnJvbVJvb3QsIHJvb3RS
ZWxhdGl2ZUJvdW5kcyksIGRldmljZVNhbGVGYWN0b3IpOworCisgICAgICAgIExheW91dFJlY3Qg
cmVmZXJlbmNlQm94OworICAgICAgICBpZiAoaXM8UmVuZGVyQm94PihyZW5kZXJlcigpKSkgewor
ICAgICAgICAgICAgcmVmZXJlbmNlQm94ID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigp
KS5yZWZlcmVuY2VCb3goY2xpcFBhdGgucmVmZXJlbmNlQm94KCkpOworICAgICAgICAgICAgcmVm
ZXJlbmNlQm94Lm1vdmUob2Zmc2V0RnJvbVJvb3QpOworICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgIHJlZmVyZW5jZUJveCA9IHJvb3RSZWxhdGl2ZUJvdW5kczsKKworICAgICAgICBGbG9hdFJl
Y3Qgc25hcHBlZFJlZmVyZW5jZUJveCA9IHNuYXBSZWN0VG9EZXZpY2VQaXhlbHMocmVmZXJlbmNl
Qm94LCBkZXZpY2VTYWxlRmFjdG9yKTsKIAogICAgICAgICB3aW5kUnVsZSA9IGNsaXBQYXRoLndp
bmRSdWxlKCk7Ci0gICAgICAgIHJldHVybiBjbGlwUGF0aC5wYXRoRm9yUmVmZXJlbmNlUmVjdChy
ZWZlcmVuY2VCb3gpOworICAgICAgICByZXR1cm4gY2xpcFBhdGgucGF0aEZvclJlZmVyZW5jZVJl
Y3Qoc25hcHBlZFJlZmVyZW5jZUJveCk7CiAgICAgfQotICAgIAotICAgIGlmIChpczxCb3hDbGlw
UGF0aE9wZXJhdGlvbj4oKnN0eWxlLmNsaXBQYXRoKCkpICYmIGlzPFJlbmRlckJveD4ocmVuZGVy
ZXIoKSkpIHsKIAorICAgIGlmIChpczxCb3hDbGlwUGF0aE9wZXJhdGlvbj4oKnN0eWxlLmNsaXBQ
YXRoKCkpICYmIGlzPFJlbmRlckJveD4ocmVuZGVyZXIoKSkpIHsKICAgICAgICAgYXV0byYgY2xp
cFBhdGggPSBkb3duY2FzdDxCb3hDbGlwUGF0aE9wZXJhdGlvbj4oKnN0eWxlLmNsaXBQYXRoKCkp
OwogCiAgICAgICAgIEZsb2F0Um91bmRlZFJlY3Qgc2hhcGVSZWN0ID0gY29tcHV0ZVJvdW5kZWRS
ZWN0Rm9yQm94U2hhcGUoY2xpcFBhdGgucmVmZXJlbmNlQm94KCksIGRvd25jYXN0PFJlbmRlckJv
eD4ocmVuZGVyZXIoKSkpLnBpeGVsU25hcHBlZFJvdW5kZWRSZWN0Rm9yUGFpbnRpbmcoZGV2aWNl
U2FsZUZhY3Rvcik7CkBAIC00NDM3LDcgKzQ0MTYsNyBAQCBQYXRoIFJlbmRlckxheWVyOjpjb21w
dXRlQ2xpcFBhdGgoY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0RnJvbVJvb3QsIExheW91dFJlY3Qm
CiAgICAgICAgIHdpbmRSdWxlID0gV2luZFJ1bGU6Ok5vblplcm87CiAgICAgICAgIHJldHVybiBj
bGlwUGF0aC5wYXRoRm9yUmVmZXJlbmNlUmVjdChzaGFwZVJlY3QpOwogICAgIH0KLSAgICAKKwog
ICAgIHJldHVybiBQYXRoKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmgKaW5kZXggMjAzOTNmYmMzNjdjMjcwZDBiMGIwYjRmM2Y4YzIxNTJiMmIyYWFjZS4uNmRlMGQw
MDcyZWFiNWQyMDExNGIxY2QwZTY0NjRmNjEyZWQ3MWU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKQEAgLTgwMSw3ICs4MDEsNyBAQCBwdWJsaWM6CiAgICAgLy8gR2V0
IHRoZSBwZXJzcGVjdGl2ZSB0cmFuc2Zvcm0sIHdoaWNoIGlzIGFwcGxpZWQgdG8gdHJhbnNmb3Jt
ZWQgc3VibGF5ZXJzLgogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgbGF5ZXIgaGFzIGEgLXdl
YmtpdC1wZXJzcGVjdGl2ZS4KICAgICAvLyBOb3RlIHRoYXQgdGhpcyB0cmFuc2Zvcm0gaGFzIHRo
ZSBwZXJzcGVjdGl2ZS1vcmlnaW4gYmFrZWQgaW4uCi0gICAgVHJhbnNmb3JtYXRpb25NYXRyaXgg
cGVyc3BlY3RpdmVUcmFuc2Zvcm0oKSBjb25zdDsKKyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBw
ZXJzcGVjdGl2ZVRyYW5zZm9ybShjb25zdCBMYXlvdXRSZWN0JiBsYXllclJlY3QpIGNvbnN0Owog
ICAgIEZsb2F0UG9pbnQgcGVyc3BlY3RpdmVPcmlnaW4oKSBjb25zdDsKICAgICBib29sIHByZXNl
cnZlczNEKCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS5zdHlsZSgpLnRyYW5zZm9ybVN0eWxl
M0QoKSA9PSBUcmFuc2Zvcm1TdHlsZTNEOjpQcmVzZXJ2ZTNEOyB9CiAgICAgYm9vbCBoYXMzRFRy
YW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNmb3JtICYmICFtX3RyYW5zZm9ybS0+aXNB
ZmZpbmUoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcAppbmRleCBjNTQxMTllZmJjY2E0MWQ4MTRhOGI0YTA4Y2FkZjhjNDg5N2ZiZTYyLi5m
MWYxOTc2OWFiY2M3MDAyNGRiOGVlNjBkYmMwNmNmNjU1ZjliNjRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMTE3Miw2ICsxMTcy
LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdlb21ldHJ5KGNvbnN0IFJlbmRl
ckxheWVyKiBjb21wb3NpdGVkQW5jZXN0b3IpCiAgICAgQVNTRVJUKCFyZW5kZXJlcigpLnZpZXco
KS5uZWVkc0xheW91dCgpKTsKIAogICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSA9IHJlbmRl
cmVyKCkuc3R5bGUoKTsKKyAgICBjb25zdCBhdXRvIGRldmljZVNjYWxlRmFjdG9yID0gdGhpcy0+
ZGV2aWNlU2NhbGVGYWN0b3IoKTsKIAogICAgIGJvb2wgaXNSdW5uaW5nQWNjZWxlcmF0ZWRUcmFu
c2Zvcm1BbmltYXRpb24gPSBmYWxzZTsKICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS53ZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkKCkpIHsK
QEAgLTEyMDAsOCArMTIwMSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9t
ZXRyeShjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRlZEFuY2VzdG9yKQogCiAgICAgICAgIGZv
ciAoYXV0byYgZW50cnkgOiBtX2FuY2VzdG9yQ2xpcHBpbmdTdGFjay0+c3RhY2soKSkgewogICAg
ICAgICAgICAgYXV0byBjbGlwUmVjdCA9IGVudHJ5LmNsaXBEYXRhLmNsaXBSZWN0OwotICAgICAg
ICAgICAgTGF5b3V0U2l6ZSBjbGlwcGluZ09mZnNldCA9IGNvbXB1dGVPZmZzZXRGcm9tQW5jZXN0
b3JHcmFwaGljc0xheWVyKGNvbXBvc2l0ZWRBbmNlc3RvciwgY2xpcFJlY3QubG9jYXRpb24oKSAr
IG9mZnNldEZyb21Db21wb3NpdGVkQW5jZXN0b3IsIGRldmljZVNjYWxlRmFjdG9yKCkpOwotICAg
ICAgICAgICAgTGF5b3V0UmVjdCBzbmFwcGVkQ2xpcHBpbmdMYXllclJlY3QgPSBzbmFwcGVkR3Jh
cGhpY3NMYXllcihjbGlwcGluZ09mZnNldCwgY2xpcFJlY3Quc2l6ZSgpLCBkZXZpY2VTY2FsZUZh
Y3RvcigpKS5tX3NuYXBwZWRSZWN0OworICAgICAgICAgICAgTGF5b3V0U2l6ZSBjbGlwcGluZ09m
ZnNldCA9IGNvbXB1dGVPZmZzZXRGcm9tQW5jZXN0b3JHcmFwaGljc0xheWVyKGNvbXBvc2l0ZWRB
bmNlc3RvciwgY2xpcFJlY3QubG9jYXRpb24oKSArIG9mZnNldEZyb21Db21wb3NpdGVkQW5jZXN0
b3IsIGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICAgICAgICAgIExheW91dFJlY3Qgc25hcHBlZENs
aXBwaW5nTGF5ZXJSZWN0ID0gc25hcHBlZEdyYXBoaWNzTGF5ZXIoY2xpcHBpbmdPZmZzZXQsIGNs
aXBSZWN0LnNpemUoKSwgZGV2aWNlU2NhbGVGYWN0b3IpLm1fc25hcHBlZFJlY3Q7CiAKICAgICAg
ICAgICAgIGVudHJ5LmNsaXBwaW5nTGF5ZXItPnNldFBvc2l0aW9uKHRvTGF5b3V0UG9pbnQoc25h
cHBlZENsaXBwaW5nTGF5ZXJSZWN0LmxvY2F0aW9uKCkgLSBsYXN0Q2xpcExheWVyUmVjdC5sb2Nh
dGlvbigpKSk7CiAgICAgICAgICAgICBsYXN0Q2xpcExheWVyUmVjdCA9IHNuYXBwZWRDbGlwcGlu
Z0xheWVyUmVjdDsKQEAgLTEyNTYsNyArMTI1Nyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVHZW9tZXRyeShjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRlZEFuY2VzdG9yKQog
ICAgIC8vIHRoZSBzYW1lIGFzIHRoZSBhbmNlc3RvciBncmFwaGljcyBsYXllci4KICAgICBPZmZz
ZXRGcm9tUmVuZGVyZXIgcHJpbWFyeUdyYXBoaWNzTGF5ZXJPZmZzZXRGcm9tUmVuZGVyZXI7CiAg
ICAgTGF5b3V0U2l6ZSBvbGRTdWJwaXhlbE9mZnNldEZyb21SZW5kZXJlciA9IG1fc3VicGl4ZWxP
ZmZzZXRGcm9tUmVuZGVyZXI7Ci0gICAgcHJpbWFyeUdyYXBoaWNzTGF5ZXJPZmZzZXRGcm9tUmVu
ZGVyZXIgPSBjb21wdXRlT2Zmc2V0RnJvbVJlbmRlcmVyKC1yZW5kZXJlck9mZnNldC5mcm9tUHJp
bWFyeUdyYXBoaWNzTGF5ZXIoKSwgZGV2aWNlU2NhbGVGYWN0b3IoKSk7CisgICAgcHJpbWFyeUdy
YXBoaWNzTGF5ZXJPZmZzZXRGcm9tUmVuZGVyZXIgPSBjb21wdXRlT2Zmc2V0RnJvbVJlbmRlcmVy
KC1yZW5kZXJlck9mZnNldC5mcm9tUHJpbWFyeUdyYXBoaWNzTGF5ZXIoKSwgZGV2aWNlU2NhbGVG
YWN0b3IpOwogICAgIG1fc3VicGl4ZWxPZmZzZXRGcm9tUmVuZGVyZXIgPSBwcmltYXJ5R3JhcGhp
Y3NMYXllck9mZnNldEZyb21SZW5kZXJlci5tX3N1YnBpeGVsT2Zmc2V0OwogICAgIG1faGFzU3Vi
cGl4ZWxSb3VuZGluZyA9ICFtX3N1YnBpeGVsT2Zmc2V0RnJvbVJlbmRlcmVyLmlzWmVybygpIHx8
IGNvbXBvc2l0ZWRCb3VuZHMoKS5zaXplKCkgIT0gcHJpbWFyeUdyYXBoaWNzTGF5ZXJSZWN0LnNp
emUoKTsKIApAQCAtMTI3MSwxMyArMTI3MiwxMyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6
dXBkYXRlR2VvbWV0cnkoY29uc3QgUmVuZGVyTGF5ZXIqIGNvbXBvc2l0ZWRBbmNlc3RvcikKICAg
ICAgICAgY2xpcHBpbmdCb3ggPSBjbGlwcGluZ0xheWVyQm94KHJlbmRlckJveCk7CiAgICAgICAg
IC8vIENsaXBwaW5nIGxheWVyIGlzIHBhcmVudGVkIGluIHRoZSBwcmltYXJ5IGdyYXBoaWNzIGxh
eWVyLgogICAgICAgICBMYXlvdXRTaXplIGNsaXBCb3hPZmZzZXRGcm9tR3JhcGhpY3NMYXllciA9
IHRvTGF5b3V0U2l6ZShjbGlwcGluZ0JveC5sb2NhdGlvbigpKSArIHJlbmRlcmVyT2Zmc2V0LmZy
b21QcmltYXJ5R3JhcGhpY3NMYXllcigpOwotICAgICAgICBTbmFwcGVkUmVjdEluZm8gc25hcHBl
ZENsaXBwaW5nR3JhcGhpY3NMYXllciA9IHNuYXBwZWRHcmFwaGljc0xheWVyKGNsaXBCb3hPZmZz
ZXRGcm9tR3JhcGhpY3NMYXllciwgY2xpcHBpbmdCb3guc2l6ZSgpLCBkZXZpY2VTY2FsZUZhY3Rv
cigpKTsKKyAgICAgICAgU25hcHBlZFJlY3RJbmZvIHNuYXBwZWRDbGlwcGluZ0dyYXBoaWNzTGF5
ZXIgPSBzbmFwcGVkR3JhcGhpY3NMYXllcihjbGlwQm94T2Zmc2V0RnJvbUdyYXBoaWNzTGF5ZXIs
IGNsaXBwaW5nQm94LnNpemUoKSwgZGV2aWNlU2NhbGVGYWN0b3IpOwogICAgICAgICBjbGlwTGF5
ZXItPnNldFBvc2l0aW9uKHNuYXBwZWRDbGlwcGluZ0dyYXBoaWNzTGF5ZXIubV9zbmFwcGVkUmVj
dC5sb2NhdGlvbigpKTsKICAgICAgICAgY2xpcExheWVyLT5zZXRTaXplKHNuYXBwZWRDbGlwcGlu
Z0dyYXBoaWNzTGF5ZXIubV9zbmFwcGVkUmVjdC5zaXplKCkpOwogICAgICAgICBjbGlwTGF5ZXIt
PnNldE9mZnNldEZyb21SZW5kZXJlcih0b0xheW91dFNpemUoY2xpcHBpbmdCb3gubG9jYXRpb24o
KSAtIHNuYXBwZWRDbGlwcGluZ0dyYXBoaWNzTGF5ZXIubV9zbmFwRGVsdGEpKTsKIAogICAgICAg
ICBpZiAoKHJlbmRlcmVyKCkuc3R5bGUoKS5jbGlwUGF0aCgpIHx8IHJlbmRlcmVyKCkuc3R5bGUo
KS5oYXNCb3JkZXJSYWRpdXMoKSkgJiYgIW1fY2hpbGRDbGlwcGluZ01hc2tMYXllcikgewotICAg
ICAgICAgICAgRmxvYXRSb3VuZGVkUmVjdCBjb250ZW50c0NsaXBwaW5nUmVjdCA9IHJlbmRlckJv
eC5yb3VuZGVkQm9yZGVyQm94UmVjdCgpLnBpeGVsU25hcHBlZFJvdW5kZWRSZWN0Rm9yUGFpbnRp
bmcoZGV2aWNlU2NhbGVGYWN0b3IoKSk7CisgICAgICAgICAgICBGbG9hdFJvdW5kZWRSZWN0IGNv
bnRlbnRzQ2xpcHBpbmdSZWN0ID0gcmVuZGVyQm94LnJvdW5kZWRCb3JkZXJCb3hSZWN0KCkucGl4
ZWxTbmFwcGVkUm91bmRlZFJlY3RGb3JQYWludGluZyhkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAg
ICAgICAgICBjb250ZW50c0NsaXBwaW5nUmVjdC5tb3ZlKExheW91dFNpemUoLWNsaXBMYXllci0+
b2Zmc2V0RnJvbVJlbmRlcmVyKCkpKTsKICAgICAgICAgICAgIGNsaXBMYXllci0+c2V0TWFza3NU
b0JvdW5kc1JlY3QoY29udGVudHNDbGlwcGluZ1JlY3QpOwogICAgICAgICB9CkBAIC0xMjg4LDE0
ICsxMjg5LDE1IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9tZXRyeShjb25z
dCBSZW5kZXJMYXllciogY29tcG9zaXRlZEFuY2VzdG9yKQogICAgICAgICAgICAgbV9jaGlsZENs
aXBwaW5nTWFza0xheWVyLT5zZXRPZmZzZXRGcm9tUmVuZGVyZXIoY2xpcExheWVyLT5vZmZzZXRG
cm9tUmVuZGVyZXIoKSk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBpZiAobV9tYXNr
TGF5ZXIpCiAgICAgICAgIHVwZGF0ZU1hc2tpbmdMYXllckdlb21ldHJ5KCk7Ci0gICAgCisKICAg
ICBpZiAocmVuZGVyZXIoKS5oYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkoKSkgewogICAgICAg
ICAvLyBVcGRhdGUgcHJvcGVydGllcyB0aGF0IGRlcGVuZCBvbiBsYXllciBkaW1lbnNpb25zLgot
ICAgICAgICBGbG9hdFBvaW50M0QgdHJhbnNmb3JtT3JpZ2luID0gY29tcHV0ZVRyYW5zZm9ybU9y
aWdpbkZvclBhaW50aW5nKGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkuYm9yZGVyQm94
UmVjdCgpKTsKLSAgICAgICAgRmxvYXRQb2ludCBsYXllck9mZnNldCA9IHJvdW5kUG9pbnRUb0Rl
dmljZVBpeGVscyh0b0xheW91dFBvaW50KHJlbmRlcmVyT2Zmc2V0LmZyb21QYXJlbnRHcmFwaGlj
c0xheWVyKCkpLCBkZXZpY2VTY2FsZUZhY3RvcigpKTsKKyAgICAgICAgYXV0byBib3JkZXJCb3hS
ZWN0ID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKS5ib3JkZXJCb3hSZWN0KCk7Cisg
ICAgICAgIEZsb2F0UG9pbnQzRCB0cmFuc2Zvcm1PcmlnaW4gPSBjb21wdXRlVHJhbnNmb3JtT3Jp
Z2luRm9yUGFpbnRpbmcoYm9yZGVyQm94UmVjdCk7CisgICAgICAgIEZsb2F0UG9pbnQgbGF5ZXJP
ZmZzZXQgPSByb3VuZFBvaW50VG9EZXZpY2VQaXhlbHModG9MYXlvdXRQb2ludChyZW5kZXJlck9m
ZnNldC5mcm9tUGFyZW50R3JhcGhpY3NMYXllcigpKSwgZGV2aWNlU2NhbGVGYWN0b3IpOwogICAg
ICAgICAvLyBDb21wdXRlIHRoZSBhbmNob3IgcG9pbnQsIHdoaWNoIGlzIGluIHRoZSBjZW50ZXIg
b2YgdGhlIHJlbmRlcmVyIGJveCB1bmxlc3MgdHJhbnNmb3JtLW9yaWdpbiBpcyBzZXQuCiAgICAg
ICAgIEZsb2F0UG9pbnQzRCBhbmNob3IoCiAgICAgICAgICAgICBwcmltYXJ5R3JhcGhpY3NMYXll
clJlY3Qud2lkdGgoKSA/ICgobGF5ZXJPZmZzZXQueCgpIC0gcHJpbWFyeUdyYXBoaWNzTGF5ZXJS
ZWN0LngoKSkgKyB0cmFuc2Zvcm1PcmlnaW4ueCgpKSAvIHByaW1hcnlHcmFwaGljc0xheWVyUmVj
dC53aWR0aCgpIDogMC41LApAQCAtMTMwOSw3ICsxMzExLDggQEAgdm9pZCBSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZUdlb21ldHJ5KGNvbnN0IFJlbmRlckxheWVyKiBjb21wb3NpdGVkQW5jZXN0
b3IpCiAKICAgICAgICAgYXV0byogY2xpcExheWVyID0gY2xpcHBpbmdMYXllcigpOwogICAgICAg
ICBpZiAoc3R5bGUuaGFzUGVyc3BlY3RpdmUoKSkgewotICAgICAgICAgICAgVHJhbnNmb3JtYXRp
b25NYXRyaXggdCA9IG93bmluZ0xheWVyKCkucGVyc3BlY3RpdmVUcmFuc2Zvcm0oKTsKKyAgICAg
ICAgICAgIC8vIEZJWE1FOiBib3JkZXJCb3hSZWN0IGlzbid0IHF1aXRlIHJpZ2h0IGhlcmUuIFRo
aXMgbmVlZHMgd29yazogd2Via2l0Lm9yZy9iLzIxMTc4Ny4KKyAgICAgICAgICAgIFRyYW5zZm9y
bWF0aW9uTWF0cml4IHQgPSBvd25pbmdMYXllcigpLnBlcnNwZWN0aXZlVHJhbnNmb3JtKGJvcmRl
ckJveFJlY3QpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBpZiAoY2xpcExheWVyKSB7CiAg
ICAgICAgICAgICAgICAgY2xpcExheWVyLT5zZXRDaGlsZHJlblRyYW5zZm9ybSh0KTsKQEAgLTEz
NzcsNyArMTM4MCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9tZXRyeShj
b25zdCBSZW5kZXJMYXllciogY29tcG9zaXRlZEFuY2VzdG9yKQogICAgIGlmIChtX292ZXJmbG93
Q29udHJvbHNDb250YWluZXIpIHsKICAgICAgICAgTGF5b3V0UmVjdCBvdmVyZmxvd0NvbnRyb2xz
Qm94ID0gb3ZlcmZsb3dDb250cm9sc0hvc3RMYXllckJveChkb3duY2FzdDxSZW5kZXJCb3g+KHJl
bmRlcmVyKCkpKTsKICAgICAgICAgTGF5b3V0U2l6ZSBib3hPZmZzZXRGcm9tR3JhcGhpY3NMYXll
ciA9IHRvTGF5b3V0U2l6ZShvdmVyZmxvd0NvbnRyb2xzQm94LmxvY2F0aW9uKCkpICsgcmVuZGVy
ZXJPZmZzZXQuZnJvbVByaW1hcnlHcmFwaGljc0xheWVyKCk7Ci0gICAgICAgIFNuYXBwZWRSZWN0
SW5mbyBzbmFwcGVkQm94SW5mbyA9IHNuYXBwZWRHcmFwaGljc0xheWVyKGJveE9mZnNldEZyb21H
cmFwaGljc0xheWVyLCBvdmVyZmxvd0NvbnRyb2xzQm94LnNpemUoKSwgZGV2aWNlU2NhbGVGYWN0
b3IoKSk7CisgICAgICAgIFNuYXBwZWRSZWN0SW5mbyBzbmFwcGVkQm94SW5mbyA9IHNuYXBwZWRH
cmFwaGljc0xheWVyKGJveE9mZnNldEZyb21HcmFwaGljc0xheWVyLCBvdmVyZmxvd0NvbnRyb2xz
Qm94LnNpemUoKSwgZGV2aWNlU2NhbGVGYWN0b3IpOwogCiAgICAgICAgIG1fb3ZlcmZsb3dDb250
cm9sc0NvbnRhaW5lci0+c2V0UG9zaXRpb24oc25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVjdC5s
b2NhdGlvbigpKTsKICAgICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLT5zZXRTaXpl
KHNuYXBwZWRCb3hJbmZvLm1fc25hcHBlZFJlY3Quc2l6ZSgpKTsKQEAgLTE0MzQsNyArMTQzNyw3
IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9tZXRyeShjb25zdCBSZW5kZXJM
YXllciogY29tcG9zaXRlZEFuY2VzdG9yKQogCiAgICAgcG9zaXRpb25PdmVyZmxvd0NvbnRyb2xz
TGF5ZXJzKCk7CiAKLSAgICBpZiAoc3VicGl4ZWxPZmZzZXRGcm9tUmVuZGVyZXJDaGFuZ2VkKG9s
ZFN1YnBpeGVsT2Zmc2V0RnJvbVJlbmRlcmVyLCBtX3N1YnBpeGVsT2Zmc2V0RnJvbVJlbmRlcmVy
LCBkZXZpY2VTY2FsZUZhY3RvcigpKSAmJiBjYW5Jc3N1ZVNldE5lZWRzRGlzcGxheSgpKQorICAg
IGlmIChzdWJwaXhlbE9mZnNldEZyb21SZW5kZXJlckNoYW5nZWQob2xkU3VicGl4ZWxPZmZzZXRG
cm9tUmVuZGVyZXIsIG1fc3VicGl4ZWxPZmZzZXRGcm9tUmVuZGVyZXIsIGRldmljZVNjYWxlRmFj
dG9yKSAmJiBjYW5Jc3N1ZVNldE5lZWRzRGlzcGxheSgpKQogICAgICAgICBzZXRDb250ZW50c05l
ZWREaXNwbGF5KCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlYzUwZTBlMDQ0MDkzMDVlYTQ0ZTM0OWU5NGQ0YzJm
YmVmZTg4M2RmLi44MTJjM2UyYTg4YWI4Y2JmZGJjYzE3OTEzMGNlNjk5MGFmZGQzYjViIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDUtMTEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgUGVycGVjdGl2ZSBvcmlnaW4gc2hvdWxkIGJlIHJlbGF0
aXZlIHRvIHRoZSByZWZlcmVuY2UgYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTE3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZWYgdGVzdCB1c2luZyBlZGdlLW9uIGxheWVycyB0byB0ZXN0IHBl
cnNwZWN0aXZlIG9yaWdpbi4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL3RyYW5zZm9ybXMvcGVy
c3BlY3RpdmUtdHJhbnNmb3JtLWJveC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
b21wb3NpdGluZy90cmFuc2Zvcm1zL3BlcnNwZWN0aXZlLXRyYW5zZm9ybS1ib3guaHRtbDogQWRk
ZWQuCisKIDIwMjAtMDUtMTEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IHNob3cgSmF2YVNjcmlwdCBXb3JrZXIgbmFtZSBhcyBhbiBp
bnRlcm5hbCBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdHJh
bnNmb3Jtcy9wZXJzcGVjdGl2ZS10cmFuc2Zvcm0tYm94LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy90cmFuc2Zvcm1zL3BlcnNwZWN0aXZlLXRyYW5zZm9ybS1ib3gtZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NGZmZWQyMmI4ZWQxYmQ2MWY3Mjk1MGQ4ZTk5YzI4MzAx
ZThhZTRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdHJhbnNm
b3Jtcy9wZXJzcGVjdGl2ZS10cmFuc2Zvcm0tYm94LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw0
NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAg
ICAgLmNvbnRhaW5lciB7CisgICAgICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgICAgICBo
ZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAgbWFyZ2luOiAyMHB4OworICAgICAgICAgICAgZGlz
cGxheTogaW5saW5lLWJsb2NrOworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2lsdmVy
OworICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICAgICAgcGVyc3BlY3Rp
dmU6IDUwMHB4OworICAgICAgICB9CisgICAgICAgIC5hbmdsZWQgeworICAgICAgICAgICAgZGlz
cGxheTogbm9uZTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8ZGl2IGNsYXNzPSJjb250YWluZXIiIHN0eWxlPSJ0cmFuc2Zvcm0tYm94OiBib3JkZXItYm94
OyBib3JkZXItbGVmdDogNTBweCBzb2xpZCBibGFjazsgYm9yZGVyLXRvcDogNTBweCBzb2xpZCBi
bGFjazsgcGVyc3BlY3RpdmUtb3JpZ2luOiAxNTBweCAxNTBweDsiPgorICAgICAgICA8ZGl2IGNs
YXNzPSJhbmdsZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJhbmdsZWQgdmVydGljYWwi
PjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0i
dHJhbnNmb3JtLWJveDogdmlldy1ib3g7IGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkIGJsYWNrOyBi
b3JkZXItdG9wOiA1MHB4IHNvbGlkIGJsYWNrOyBwZXJzcGVjdGl2ZS1vcmlnaW46IDE1MHB4IDE1
MHB4Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBj
bGFzcz0iYW5nbGVkIHZlcnRpY2FsIj48L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxkaXYgY2xh
c3M9ImNvbnRhaW5lciIgc3R5bGU9InRyYW5zZm9ybS1ib3g6IGNvbnRlbnQtYm94OyBib3JkZXIt
cmlnaHQ6IDUwcHggc29saWQgYmxhY2s7IGJvcmRlci1ib3R0b206IDUwcHggc29saWQgYmxhY2s7
IHBlcnNwZWN0aXZlLW9yaWdpbjogMTAwcHggMTAwcHgiPgorICAgICAgICA8ZGl2IGNsYXNzPSJh
bmdsZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJhbmdsZWQgdmVydGljYWwiPjwvZGl2
PgorICAgIDwvZGl2PgorCisgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0idHJhbnNm
b3JtLWJveDogY29udGVudC1ib3g7IGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkIGJsYWNrOyBib3Jk
ZXItdG9wOiA1MHB4IHNvbGlkIGJsYWNrOyBwZXJzcGVjdGl2ZS1vcmlnaW46IDEwMHB4IDEwMHB4
Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iYW5nbGVkIHZlcnRpY2FsIj48L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxkaXYgY2xhc3M9
ImNvbnRhaW5lciIgc3R5bGU9InRyYW5zZm9ybS1ib3g6IGNvbnRlbnQtYm94OyBib3JkZXItbGVm
dDogNTBweCBzb2xpZCBibGFjazsgYm9yZGVyLXRvcDogNTBweCBzb2xpZCBibGFjazsgcGVyc3Bl
Y3RpdmUtb3JpZ2luOiA1MCUgNTAlIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIHZlcnRpY2FsIj48L2Rpdj4KKyAgICA8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L3RyYW5zZm9ybXMvcGVyc3BlY3RpdmUtdHJhbnNmb3JtLWJveC5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvdHJhbnNmb3Jtcy9wZXJzcGVjdGl2ZS10cmFuc2Zvcm0tYm94Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjk3OTc2NTczNGJkMzVlNzU5ZTM5ZDQxOGJlMDZmYzlhOGQ5MjE0MQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RyYW5zZm9ybXMvcGVyc3BlY3Rp
dmUtdHJhbnNmb3JtLWJveC5odG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIC5jb250YWluZXIgeworICAgICAg
ICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAg
ICAgIG1hcmdpbjogMjBweDsKKyAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAg
ICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgICAgICAgIHBlcnNwZWN0aXZlOiA1MDBweDsKKyAgICAgICAgfQor
CisgICAgICAgIC8qIFRyYW5zZm9ybWVkIHRvIGJlIGVkZ2Utb24sIGFuZCB0aGVyZWZvcmUgaW52
aXNpYmxlICovCisgICAgICAgIC5hbmdsZWQgeworICAgICAgICAgICAgcG9zaXRpb246IGFic29s
dXRlOworICAgICAgICAgICAgdG9wOiAwOworICAgICAgICAgICAgbGVmdDogMDsKKyAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOworICAgICAgICAgICAg
YmFja2dyb3VuZC1jb2xvcjogcmVkOworICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkw
ZGVnKTsKKyAgICAgICAgfQorCisgICAgICAgIC5hbmdsZWQudmVydGljYWwgeworICAgICAgICAg
ICAgdHJhbnNmb3JtOiByb3RhdGVYKDkwZGVnKTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiIHN0eWxlPSJ0cmFuc2Zv
cm0tYm94OiBib3JkZXItYm94OyBib3JkZXItbGVmdDogNTBweCBzb2xpZCBibGFjazsgYm9yZGVy
LXRvcDogNTBweCBzb2xpZCBibGFjazsgcGVyc3BlY3RpdmUtb3JpZ2luOiAxNTBweCAxNTBweDsi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJhbmdsZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJhbmdsZWQgdmVydGljYWwiPjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPGRpdiBjbGFzcz0i
Y29udGFpbmVyIiBzdHlsZT0idHJhbnNmb3JtLWJveDogdmlldy1ib3g7IGJvcmRlci1sZWZ0OiA1
MHB4IHNvbGlkIGJsYWNrOyBib3JkZXItdG9wOiA1MHB4IHNvbGlkIGJsYWNrOyBwZXJzcGVjdGl2
ZS1vcmlnaW46IDE1MHB4IDE1MHB4Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIHZlcnRpY2FsIj48L2Rpdj4KKyAgICA8L2Rp
dj4KKworICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciIgc3R5bGU9InRyYW5zZm9ybS1ib3g6IGNv
bnRlbnQtYm94OyBib3JkZXItcmlnaHQ6IDUwcHggc29saWQgYmxhY2s7IGJvcmRlci1ib3R0b206
IDUwcHggc29saWQgYmxhY2s7IHBlcnNwZWN0aXZlLW9yaWdpbjogMTAwcHggMTAwcHgiPgorICAg
ICAgICA8ZGl2IGNsYXNzPSJhbmdsZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJhbmds
ZWQgdmVydGljYWwiPjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPGRpdiBjbGFzcz0iY29udGFp
bmVyIiBzdHlsZT0idHJhbnNmb3JtLWJveDogY29udGVudC1ib3g7IGJvcmRlci1sZWZ0OiA1MHB4
IHNvbGlkIGJsYWNrOyBib3JkZXItdG9wOiA1MHB4IHNvbGlkIGJsYWNrOyBwZXJzcGVjdGl2ZS1v
cmlnaW46IDEwMHB4IDEwMHB4Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIHZlcnRpY2FsIj48L2Rpdj4KKyAgICA8L2Rpdj4K
KworICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciIgc3R5bGU9InRyYW5zZm9ybS1ib3g6IGNvbnRl
bnQtYm94OyBib3JkZXItbGVmdDogNTBweCBzb2xpZCBibGFjazsgYm9yZGVyLXRvcDogNTBweCBz
b2xpZCBibGFjazsgcGVyc3BlY3RpdmUtb3JpZ2luOiA1MCUgNTAlIj4KKyAgICAgICAgPGRpdiBj
bGFzcz0iYW5nbGVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYW5nbGVkIHZlcnRpY2Fs
Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>