<?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>211807</bug_id>
          
          <creation_ts>2020-05-12 14:30:25 -0700</creation_ts>
          <short_desc>Clean up some transformOrigin and perspectiveOrigin code</short_desc>
          <delta_ts>2020-05-12 16:06:15 -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>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</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>1651950</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-12 14:30:25 -0700</bug_when>
    <thetext>Clean up some transformOrigin and perspectiveOrigin code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651951</commentid>
    <comment_count>1</comment_count>
      <attachid>399178</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-12 14:32:21 -0700</bug_when>
    <thetext>Created attachment 399178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652004</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-12 16:05:18 -0700</bug_when>
    <thetext>Committed r261585: &lt;https://trac.webkit.org/changeset/261585&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399178.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652007</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-12 16:06:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/63158505&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399178</attachid>
            <date>2020-05-12 14:32:21 -0700</date>
            <delta_ts>2020-05-12 16:05:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211807-20200512143220.patch</filename>
            <type>text/plain</type>
            <size>19135</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZiNmNkNWM1N2VmZDA1
MWFlZjEzMDQ3ZTVhNGJiM2FjOWM0OGIxYi4uMDU0YjQzOTE5ZGRlZjAzNGFjNWU0OTQxMDcyODI2
ZTFiNzg3Yjk3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTA1LTEyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHNv
bWUgdHJhbnNmb3JtT3JpZ2luIGFuZCBwZXJzcGVjdGl2ZU9yaWdpbiBjb2RlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE4MDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgTGVuZ3RoUG9pbnQgYW5k
IExlbmd0aFNpemUtYmFzZWQgInZhbHVlIGZvciBsZW5ndGgiIGZ1bmN0aW9ucyBzbyB3ZSBjYW4g
ZG8KKyAgICAgICAgcG9pbnQgYW5kIHNpemUgbWF0aCBhcyB3ZSBkbyBmb3IgTGF5b3V0UG9pbnQv
RmxvYXRQb2ludCBldGMuCisKKyAgICAgICAgVXNlIHRoZW0gaW4gY29kZSB0aGF0IGNvbXB1dGVz
IHRyYW5zZm9ybSBhbmQgcGVyc3BlY3RpdmUgb3JpZ2lucy4KKworICAgICAgICAqIGFuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6
Y29tcHV0ZVRyYW5zZm9ybWVkRXh0ZW50VmlhVHJhbnNmb3JtTGlzdCBjb25zdCk6CisgICAgICAg
ICogY3NzL0xlbmd0aEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaXplRm9yTGVu
Z3RoU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpwb2ludEZvckxlbmd0aFBvaW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OmZsb2F0UG9pbnRGb3JMZW5ndGhQb2ludCk6CisgICAgICAgICogY3NzL0xl
bmd0aEZ1bmN0aW9ucy5oOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQmFzZTo6Y29tcHV0ZVRyYW5zZm9ybWVk
RXh0ZW50VmlhVHJhbnNmb3JtTGlzdCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3Ro
Lmg6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoUG9pbnQuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBlcnNw
ZWN0aXZlVHJhbnNmb3JtIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpw
ZXJzcGVjdGl2ZU9yaWdpbiBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmNvbXB1
dGVUcmFuc2Zvcm1PcmlnaW5Gb3JQYWludGluZyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL0Jhc2ljU2hhcGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVJbnNl
dDo6cGF0aCk6CisgICAgICAgIChXZWJDb3JlOjpmbG9hdFNpemVGb3JMZW5ndGhTaXplKTogRGVs
ZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmFwcGx5VHJhbnNmb3JtIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clN0eWxlOjp0cmFuc2Zvcm1PcmlnaW5YWSBjb25zdCk6IEV4cGxpY2l0bHkgInh5IiBiZWNhdXNl
IGl0IGV4Y2x1ZGVzIHRoZSB6IGNvbXBvbmVudC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0
eWxlOjpwZXJzcGVjdGl2ZU9yaWdpbiBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGE6OnBlcnNwZWN0aXZlT3JpZ2luIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVRyYW5zZm9ybURhdGE6Om9yaWdpblhZIGNvbnN0KToKKwogMjAyMC0wNS0xMSAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBQZXJwZWN0aXZlIG9y
aWdpbiBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhlIHJlZmVyZW5jZSBib3gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCmluZGV4IGQxMGIwMmNlOGY2MjE1MDkx
NTYzMzY5ZDY3ZDdkM2Y2Y2RmMzJlNTMuLjJjMmZhMDRhMjU5NmQxMTgzZmZjYzM3NWM3YzJjNDE2
NGNmZjBjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNw
cApAQCAtMTcyNywxMCArMTcyNyw4IEBAIGJvb2wgS2V5ZnJhbWVFZmZlY3Q6OmNvbXB1dGVUcmFu
c2Zvcm1lZEV4dGVudFZpYVRyYW5zZm9ybUxpc3QoY29uc3QgRmxvYXRSZWN0JiByCiAKICAgICBi
b29sIGFwcGx5VHJhbnNmb3JtT3JpZ2luID0gY29udGFpbnNSb3RhdGlvbihzdHlsZS50cmFuc2Zv
cm0oKS5vcGVyYXRpb25zKCkpIHx8IHN0eWxlLnRyYW5zZm9ybSgpLmFmZmVjdGVkQnlUcmFuc2Zv
cm1PcmlnaW4oKTsKICAgICBpZiAoYXBwbHlUcmFuc2Zvcm1PcmlnaW4pIHsKLSAgICAgICAgdHJh
bnNmb3JtT3JpZ2luLnNldFgocmVuZGVyZXJCb3gueCgpICsgZmxvYXRWYWx1ZUZvckxlbmd0aChz
dHlsZS50cmFuc2Zvcm1PcmlnaW5YKCksIHJlbmRlcmVyQm94LndpZHRoKCkpKTsKLSAgICAgICAg
dHJhbnNmb3JtT3JpZ2luLnNldFkocmVuZGVyZXJCb3gueSgpICsgZmxvYXRWYWx1ZUZvckxlbmd0
aChzdHlsZS50cmFuc2Zvcm1PcmlnaW5ZKCksIHJlbmRlcmVyQm94LmhlaWdodCgpKSk7CisgICAg
ICAgIHRyYW5zZm9ybU9yaWdpbiA9IHJlbmRlcmVyQm94LmxvY2F0aW9uKCkgKyBmbG9hdFBvaW50
Rm9yTGVuZ3RoUG9pbnQoc3R5bGUudHJhbnNmb3JtT3JpZ2luWFkoKSwgcmVuZGVyZXJCb3guc2l6
ZSgpKTsKICAgICAgICAgLy8gSWdub3JlIHRyYW5zZm9ybU9yaWdpblogYmVjYXVzZSB3ZSdsbCBi
YWlsIGlmIHdlIGVuY291bnRlciBhbnkgM0QgdHJhbnNmb3Jtcy4KLQogICAgICAgICBmbG9hdEJv
dW5kcy5tb3ZlQnkoLXRyYW5zZm9ybU9yaWdpbik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTGVuZ3RoRnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9M
ZW5ndGhGdW5jdGlvbnMuY3BwCmluZGV4IDY4ZmZmZGViOWU0MmM3MTYyM2Q4N2E1NzVjYTBkYzVj
NzBhYWY3MGQuLjY5NTMzZWVmMTVjOWU4MzdiN2FkNjExOTNlY2ZmMzlmMzdlYzk3NDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9MZW5ndGhGdW5jdGlvbnMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9MZW5ndGhGdW5jdGlvbnMuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAKICNp
bmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlICJMYXlvdXRTaXplLmgiCisjaW5jbHVkZSAi
TGVuZ3RoUG9pbnQuaCIKICNpbmNsdWRlICJMZW5ndGhTaXplLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTU5LDExICs2MCw2IEBAIExheW91dFVuaXQgdmFsdWVGb3JMZW5ndGgoY29uc3Qg
TGVuZ3RoJiBsZW5ndGgsIExheW91dFVuaXQgbWF4aW11bVZhbHVlKQogICAgIHJldHVybiAwOwog
fQogCi1MYXlvdXRTaXplIHNpemVGb3JMZW5ndGhTaXplKGNvbnN0IExlbmd0aFNpemUmIGxlbmd0
aCwgY29uc3QgTGF5b3V0U2l6ZSYgbWF4aW11bVZhbHVlKQotewotICAgIHJldHVybiB7IHZhbHVl
Rm9yTGVuZ3RoKGxlbmd0aC53aWR0aCwgbWF4aW11bVZhbHVlLndpZHRoKCkpLCB2YWx1ZUZvckxl
bmd0aChsZW5ndGguaGVpZ2h0LCBtYXhpbXVtVmFsdWUuaGVpZ2h0KCkpIH07Ci19Ci0KIC8vIEZJ
WE1FOiB3aGVuIHN1YnBpeGVsIGxheW91dCBpcyBzdXBwb3J0ZWQgdGhpcyBjb3B5IG9mIGZsb2F0
VmFsdWVGb3JMZW5ndGgoKSBjYW4gYmUgcmVtb3ZlZC4gU2VlIGJ1ZyA3MTE0My4KIGZsb2F0IGZs
b2F0VmFsdWVGb3JMZW5ndGgoY29uc3QgTGVuZ3RoJiBsZW5ndGgsIExheW91dFVuaXQgbWF4aW11
bVZhbHVlKQogewpAQCAtMTE3LDkgKzExMywyNCBAQCBmbG9hdCBmbG9hdFZhbHVlRm9yTGVuZ3Ro
KGNvbnN0IExlbmd0aCYgbGVuZ3RoLCBmbG9hdCBtYXhpbXVtVmFsdWUpCiAgICAgcmV0dXJuIDA7
CiB9CiAKK0xheW91dFNpemUgc2l6ZUZvckxlbmd0aFNpemUoY29uc3QgTGVuZ3RoU2l6ZSYgbGVu
Z3RoLCBjb25zdCBMYXlvdXRTaXplJiBtYXhpbXVtVmFsdWUpCit7CisgICAgcmV0dXJuIHsgdmFs
dWVGb3JMZW5ndGgobGVuZ3RoLndpZHRoLCBtYXhpbXVtVmFsdWUud2lkdGgoKSksIHZhbHVlRm9y
TGVuZ3RoKGxlbmd0aC5oZWlnaHQsIG1heGltdW1WYWx1ZS5oZWlnaHQoKSkgfTsKK30KKworTGF5
b3V0UG9pbnQgcG9pbnRGb3JMZW5ndGhQb2ludChjb25zdCBMZW5ndGhQb2ludCYgbGVuZ3RoUG9p
bnQsIGNvbnN0IExheW91dFNpemUmIG1heGltdW1WYWx1ZSkKK3sKKyAgICByZXR1cm4geyB2YWx1
ZUZvckxlbmd0aChsZW5ndGhQb2ludC54KCksIG1heGltdW1WYWx1ZS53aWR0aCgpKSwgdmFsdWVG
b3JMZW5ndGgobGVuZ3RoUG9pbnQueSgpLCBtYXhpbXVtVmFsdWUuaGVpZ2h0KCkpIH07Cit9CisK
IEZsb2F0U2l6ZSBmbG9hdFNpemVGb3JMZW5ndGhTaXplKGNvbnN0IExlbmd0aFNpemUmIGxlbmd0
aFNpemUsIGNvbnN0IEZsb2F0U2l6ZSYgYm94U2l6ZSkKIHsKICAgICByZXR1cm4geyBmbG9hdFZh
bHVlRm9yTGVuZ3RoKGxlbmd0aFNpemUud2lkdGgsIGJveFNpemUud2lkdGgoKSksIGZsb2F0VmFs
dWVGb3JMZW5ndGgobGVuZ3RoU2l6ZS5oZWlnaHQsIGJveFNpemUuaGVpZ2h0KCkpIH07CiB9CiAK
K0Zsb2F0UG9pbnQgZmxvYXRQb2ludEZvckxlbmd0aFBvaW50KGNvbnN0IExlbmd0aFBvaW50JiBs
ZW5ndGhQb2ludCwgY29uc3QgRmxvYXRTaXplJiBib3hTaXplKQoreworICAgIHJldHVybiB7IGZs
b2F0VmFsdWVGb3JMZW5ndGgobGVuZ3RoUG9pbnQueCgpLCBib3hTaXplLndpZHRoKCkpLCBmbG9h
dFZhbHVlRm9yTGVuZ3RoKGxlbmd0aFBvaW50LnkoKSwgYm94U2l6ZS5oZWlnaHQoKSkgfTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0xlbmd0aEZ1bmN0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0xlbmd0aEZ1bmN0aW9ucy5o
CmluZGV4IDk4OThjNjIxN2IxOTY0ZTRmMDlkMWU0NmM3ZjdmOWE5NWQ5YzhjOWIuLjVjMDVhYjFi
YWY0NWNmNjc4YzI3Mjk2ZjdhYzA1MDFmNGZjYTI5OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9MZW5ndGhGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVuZ3Ro
RnVuY3Rpb25zLmgKQEAgLTI5LDE4ICsyOSwyMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBGbG9hdFNpemU7CitjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgTGF5b3V0U2l6ZTsKLWNs
YXNzIFJlbmRlclZpZXc7CiAKIHN0cnVjdCBMZW5ndGg7CiBzdHJ1Y3QgTGVuZ3RoU2l6ZTsKK3N0
cnVjdCBMZW5ndGhQb2ludDsKIAogaW50IGludFZhbHVlRm9yTGVuZ3RoKGNvbnN0IExlbmd0aCYs
IExheW91dFVuaXQgbWF4aW11bVZhbHVlKTsKLVdFQkNPUkVfRVhQT1JUIExheW91dFVuaXQgdmFs
dWVGb3JMZW5ndGgoY29uc3QgTGVuZ3RoJiwgTGF5b3V0VW5pdCBtYXhpbXVtVmFsdWUpOwotTGF5
b3V0U2l6ZSBzaXplRm9yTGVuZ3RoU2l6ZShjb25zdCBMZW5ndGhTaXplJiwgY29uc3QgTGF5b3V0
U2l6ZSYgbWF4aW11bVZhbHVlKTsKIGZsb2F0IGZsb2F0VmFsdWVGb3JMZW5ndGgoY29uc3QgTGVu
Z3RoJiwgTGF5b3V0VW5pdCBtYXhpbXVtVmFsdWUpOwogV0VCQ09SRV9FWFBPUlQgZmxvYXQgZmxv
YXRWYWx1ZUZvckxlbmd0aChjb25zdCBMZW5ndGgmLCBmbG9hdCBtYXhpbXVtVmFsdWUpOwotRmxv
YXRTaXplIGZsb2F0U2l6ZUZvckxlbmd0aFNpemUoY29uc3QgTGVuZ3RoU2l6ZSYsIGNvbnN0IEZs
b2F0U2l6ZSYpOworV0VCQ09SRV9FWFBPUlQgTGF5b3V0VW5pdCB2YWx1ZUZvckxlbmd0aChjb25z
dCBMZW5ndGgmLCBMYXlvdXRVbml0IG1heGltdW1WYWx1ZSk7CisKK0xheW91dFNpemUgc2l6ZUZv
ckxlbmd0aFNpemUoY29uc3QgTGVuZ3RoU2l6ZSYsIGNvbnN0IExheW91dFNpemUmIG1heGltdW1W
YWx1ZSk7CitGbG9hdFNpemUgZmxvYXRTaXplRm9yTGVuZ3RoU2l6ZShjb25zdCBMZW5ndGhTaXpl
JiwgY29uc3QgRmxvYXRTaXplJiBtYXhpbXVtVmFsdWUpOworCitMYXlvdXRQb2ludCBwb2ludEZv
ckxlbmd0aFBvaW50KGNvbnN0IExlbmd0aFBvaW50JiwgY29uc3QgTGF5b3V0U2l6ZSYgbWF4aW11
bVZhbHVlKTsKK0Zsb2F0UG9pbnQgZmxvYXRQb2ludEZvckxlbmd0aFBvaW50KGNvbnN0IExlbmd0
aFBvaW50JiwgY29uc3QgRmxvYXRTaXplJiBtYXhpbXVtVmFsdWUpOwogCiBpbmxpbmUgTGF5b3V0
VW5pdCBtaW5pbXVtVmFsdWVGb3JMZW5ndGgoY29uc3QgTGVuZ3RoJiBsZW5ndGgsIExheW91dFVu
aXQgbWF4aW11bVZhbHVlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcAppbmRleCAwYTZhZmY5ZDcxYjRjNWM1OGNmOGQ3YjdjZmFkYTViNWM4
N2ViZmU5Li5kZTQwMmVkNjc0ZTY1YmFiOWJmODBmYjk4OTYyZDg5MzVkNTczNDEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcApAQCAtNzMx
LDEwICs3MzEsOCBAQCBib29sIEFuaW1hdGlvbkJhc2U6OmNvbXB1dGVUcmFuc2Zvcm1lZEV4dGVu
dFZpYVRyYW5zZm9ybUxpc3QoY29uc3QgRmxvYXRSZWN0JiByZQogICAgIAogICAgIGJvb2wgYXBw
bHlUcmFuc2Zvcm1PcmlnaW4gPSBjb250YWluc1JvdGF0aW9uKHN0eWxlLnRyYW5zZm9ybSgpLm9w
ZXJhdGlvbnMoKSkgfHwgc3R5bGUudHJhbnNmb3JtKCkuYWZmZWN0ZWRCeVRyYW5zZm9ybU9yaWdp
bigpOwogICAgIGlmIChhcHBseVRyYW5zZm9ybU9yaWdpbikgewotICAgICAgICB0cmFuc2Zvcm1P
cmlnaW4uc2V0WChyZW5kZXJlckJveC54KCkgKyBmbG9hdFZhbHVlRm9yTGVuZ3RoKHN0eWxlLnRy
YW5zZm9ybU9yaWdpblgoKSwgcmVuZGVyZXJCb3gud2lkdGgoKSkpOwotICAgICAgICB0cmFuc2Zv
cm1PcmlnaW4uc2V0WShyZW5kZXJlckJveC55KCkgKyBmbG9hdFZhbHVlRm9yTGVuZ3RoKHN0eWxl
LnRyYW5zZm9ybU9yaWdpblkoKSwgcmVuZGVyZXJCb3guaGVpZ2h0KCkpKTsKKyAgICAgICAgdHJh
bnNmb3JtT3JpZ2luID0gcmVuZGVyZXJCb3gubG9jYXRpb24oKSArIGZsb2F0UG9pbnRGb3JMZW5n
dGhQb2ludChzdHlsZS50cmFuc2Zvcm1PcmlnaW5YWSgpLCByZW5kZXJlckJveC5zaXplKCkpOwog
ICAgICAgICAvLyBJZ25vcmUgdHJhbnNmb3JtT3JpZ2luWiBiZWNhdXNlIHdlJ2xsIGJhaWwgaWYg
d2UgZW5jb3VudGVyIGFueSAzRCB0cmFuc2Zvcm1zLgotCiAgICAgICAgIGZsb2F0Qm91bmRzLm1v
dmVCeSgtdHJhbnNmb3JtT3JpZ2luKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0xlbmd0aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgK
aW5kZXggN2QwYmQxN2M0NDZlZTQ3ZGYxOGY3OTgyZThkYmVhZmVjMzEzOGU1Ni4uMTRiZWZmOWMz
ZDI2ZmY5MDc4Y2RhMDUzOWE5ZDc4ZjRjNGE2Y2Y1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3Ro
LmgKQEAgLTIwLDggKzIwLDcgQEAKICAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICov
CiAKLSNpZm5kZWYgTGVuZ3RoX2gKLSNkZWZpbmUgTGVuZ3RoX2gKKyNwcmFnbWEgb25jZQogCiAj
aW5jbHVkZSAiQW5pbWF0aW9uVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSA8bWVtb3J5PgpAQCAtNDI0
LDUgKzQyMywzIEBAIExlbmd0aCBjb252ZXJ0VG8xMDBQZXJjZW50TWludXNMZW5ndGgoY29uc3Qg
TGVuZ3RoJik7CiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwg
TGVuZ3RoKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gTGVuZ3RoX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aFBvaW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGhQb2ludC5oCmluZGV4IGY3YWRkNjBlODFlN2I4ZGU3
MDEzOWUyNTNiNWYxZTgxOGFmZTdkZjYuLmY2OTQ4MzNkOGMwYTE5NjQ0Y2EzMTE3YTFmMDUwMDE1
ZDc4MjJmOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aFBvaW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoUG9pbnQuaApAQCAtMjMsOCAr
MjMsNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5k
ZWYgTGVuZ3RoUG9pbnRfaAotI2RlZmluZSBMZW5ndGhQb2ludF9oCisjcHJhZ21hIG9uY2UKIAog
I2luY2x1ZGUgIkxlbmd0aC5oIgogCkBAIC03Miw1ICs3MSwzIEBAIGlubGluZSBMZW5ndGhQb2lu
dCBibGVuZChjb25zdCBMZW5ndGhQb2ludCYgZnJvbSwgY29uc3QgTGVuZ3RoUG9pbnQmIHRvLCBk
b3VibGUKIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBjb25z
dCBMZW5ndGhQb2ludCYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBM
ZW5ndGhQb2ludF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRl
eCAzYWI1M2RhMzRmMTA3NDQzMTU2YzU3NjdjMTg4MjBkZDZhZmEyNTViLi4zMjYxOTE2ZGQ4YjQ0
YmY3NTBhNjUyNTZmZjc4Yzg4MTdjZTZkODA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAKQEAgLTE3NDUsMjEgKzE3NDUsMjEgQEAgVHJhbnNmb3JtYXRpb25NYXRy
aXggUmVuZGVyTGF5ZXI6OnBlcnNwZWN0aXZlVHJhbnNmb3JtKGNvbnN0IExheW91dFJlY3QmIGxh
eWVyUmUKICAgICBpZiAoIXN0eWxlLmhhc1BlcnNwZWN0aXZlKCkpCiAgICAgICAgIHJldHVybiB7
IH07CiAKKyAgICBhdXRvIGRldmljZVNjYWxlRmFjdG9yID0gcmVuZGVyQm94LmRvY3VtZW50KCku
ZGV2aWNlU2NhbGVGYWN0b3IoKTsKICAgICBhdXRvIHJlZmVyZW5jZUJveCA9IHJlbmRlckJveC5y
ZWZlcmVuY2VCb3godHJhbnNmb3JtQm94VG9DU1NCb3hUeXBlKHN0eWxlLnRyYW5zZm9ybUJveCgp
KSk7Ci0gICAgYXV0byBwaXhlbFNuYXBwZWRSZWZlcmVuY2VCb3ggPSBzbmFwUmVjdFRvRGV2aWNl
UGl4ZWxzKHJlZmVyZW5jZUJveCwgcmVuZGVyQm94LmRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0
b3IoKSk7CisgICAgYXV0byBwaXhlbFNuYXBwZWRSZWZlcmVuY2VCb3ggPSBzbmFwUmVjdFRvRGV2
aWNlUGl4ZWxzKHJlZmVyZW5jZUJveCwgZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGF1dG8gc25h
cHBlZExheWVyUmVjdCA9IHNuYXBSZWN0VG9EZXZpY2VQaXhlbHMobGF5ZXJSZWN0LCBkZXZpY2VT
Y2FsZUZhY3Rvcik7CiAKLSAgICBmbG9hdCBwZXJzcGVjdGl2ZU9yaWdpblggPSBwaXhlbFNuYXBw
ZWRSZWZlcmVuY2VCb3gueCgpICsgZmxvYXRWYWx1ZUZvckxlbmd0aChzdHlsZS5wZXJzcGVjdGl2
ZU9yaWdpblgoKSwgcGl4ZWxTbmFwcGVkUmVmZXJlbmNlQm94LndpZHRoKCkpOwotICAgIGZsb2F0
IHBlcnNwZWN0aXZlT3JpZ2luWSA9IHBpeGVsU25hcHBlZFJlZmVyZW5jZUJveC55KCkgKyBmbG9h
dFZhbHVlRm9yTGVuZ3RoKHN0eWxlLnBlcnNwZWN0aXZlT3JpZ2luWSgpLCBwaXhlbFNuYXBwZWRS
ZWZlcmVuY2VCb3guaGVpZ2h0KCkpOworICAgIGF1dG8gcGVyc3BlY3RpdmVPcmlnaW4gPSBwaXhl
bFNuYXBwZWRSZWZlcmVuY2VCb3gubG9jYXRpb24oKSArIGZsb2F0UG9pbnRGb3JMZW5ndGhQb2lu
dChzdHlsZS5wZXJzcGVjdGl2ZU9yaWdpbigpLCBwaXhlbFNuYXBwZWRSZWZlcmVuY2VCb3guc2l6
ZSgpKTsKIAogICAgIC8vIEEgcGVyc3BlY3RpdmUgb3JpZ2luIG9mIDAsMCBtYWtlcyB0aGUgdmFu
aXNoaW5nIHBvaW50IGluIHRoZSBjZW50ZXIgb2YgdGhlIGVsZW1lbnQuCiAgICAgLy8gV2Ugd2Fu
dCBpdCB0byBiZSBpbiB0aGUgdG9wLWxlZnQsIHNvIHN1YnRyYWN0IGhhbGYgdGhlIGhlaWdodCBh
bmQgd2lkdGguCi0gICAgcGVyc3BlY3RpdmVPcmlnaW5YIC09IGxheWVyUmVjdC53aWR0aCgpIC8g
Mi4wZjsKLSAgICBwZXJzcGVjdGl2ZU9yaWdpblkgLT0gbGF5ZXJSZWN0LmhlaWdodCgpIC8gMi4w
ZjsKKyAgICBwZXJzcGVjdGl2ZU9yaWdpbiAtPSBzbmFwcGVkTGF5ZXJSZWN0LnNpemUoKSAvIDIu
MGY7CiAKICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0OwotICAgIHQudHJhbnNsYXRlKHBlcnNw
ZWN0aXZlT3JpZ2luWCwgcGVyc3BlY3RpdmVPcmlnaW5ZKTsKKyAgICB0LnRyYW5zbGF0ZShwZXJz
cGVjdGl2ZU9yaWdpbi54KCksIHBlcnNwZWN0aXZlT3JpZ2luLnkoKSk7CiAgICAgdC5hcHBseVBl
cnNwZWN0aXZlKHN0eWxlLnBlcnNwZWN0aXZlKCkpOwotICAgIHQudHJhbnNsYXRlKC1wZXJzcGVj
dGl2ZU9yaWdpblgsIC1wZXJzcGVjdGl2ZU9yaWdpblkpOworICAgIHQudHJhbnNsYXRlKC1wZXJz
cGVjdGl2ZU9yaWdpbi54KCksIC1wZXJzcGVjdGl2ZU9yaWdpbi55KCkpOwogCiAgICAgcmV0dXJu
IHQ7CiB9CkBAIC0xNzY3LDEzICsxNzY3LDEwIEBAIFRyYW5zZm9ybWF0aW9uTWF0cml4IFJlbmRl
ckxheWVyOjpwZXJzcGVjdGl2ZVRyYW5zZm9ybShjb25zdCBMYXlvdXRSZWN0JiBsYXllclJlCiBG
bG9hdFBvaW50IFJlbmRlckxheWVyOjpwZXJzcGVjdGl2ZU9yaWdpbigpIGNvbnN0CiB7CiAgICAg
aWYgKCFyZW5kZXJlcigpLmhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpKQotICAgICAgICBy
ZXR1cm4gRmxvYXRQb2ludCgpOwotCi0gICAgY29uc3QgTGF5b3V0UmVjdCBib3JkZXJCb3ggPSBk
b3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpLmJvcmRlckJveFJlY3QoKTsKLSAgICBjb25z
dCBSZW5kZXJTdHlsZSYgc3R5bGUgPSByZW5kZXJlcigpLnN0eWxlKCk7CisgICAgICAgIHJldHVy
biB7IH07CiAKLSAgICByZXR1cm4gRmxvYXRQb2ludChmbG9hdFZhbHVlRm9yTGVuZ3RoKHN0eWxl
LnBlcnNwZWN0aXZlT3JpZ2luWCgpLCBib3JkZXJCb3gud2lkdGgoKSksCi0gICAgICAgICAgICAg
ICAgICAgICAgZmxvYXRWYWx1ZUZvckxlbmd0aChzdHlsZS5wZXJzcGVjdGl2ZU9yaWdpblkoKSwg
Ym9yZGVyQm94LmhlaWdodCgpKSk7CisgICAgYXV0byBib3JkZXJCb3ggPSBkb3duY2FzdDxSZW5k
ZXJCb3g+KHJlbmRlcmVyKCkpLmJvcmRlckJveFJlY3QoKTsKKyAgICByZXR1cm4gZmxvYXRQb2lu
dEZvckxlbmd0aFBvaW50KHJlbmRlcmVyKCkuc3R5bGUoKS5wZXJzcGVjdGl2ZU9yaWdpbigpLCBi
b3JkZXJCb3guc2l6ZSgpKTsKIH0KIAogc3RhdGljIGlubGluZSBib29sIGlzQ29udGFpbmVyRm9y
UG9zaXRpb25lZChSZW5kZXJMYXllciYgbGF5ZXIsIFBvc2l0aW9uVHlwZSBwb3NpdGlvbikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXgg
ZjFmMTk3NjlhYmNjNzAwMjRkYjhlZTYwZGJjMDZjZjY1NWY5YjY0ZS4uY2YwNjNjNWVmYjMwZGI1
NDY5OGEyMTgwZmRkMTQxYmYyMmEzYjExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTI3MjQsMTEgKzI3MjQsOSBAQCB2b2lkIFJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlSW1hZ2VDb250ZW50cyhQYWludGVkQ29udGVudHNJbmZv
JiBjb250ZW50c0luZm8pCiBGbG9hdFBvaW50M0QgUmVuZGVyTGF5ZXJCYWNraW5nOjpjb21wdXRl
VHJhbnNmb3JtT3JpZ2luRm9yUGFpbnRpbmcoY29uc3QgTGF5b3V0UmVjdCYgYm9yZGVyQm94KSBj
b25zdAogewogICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSA9IHJlbmRlcmVyKCkuc3R5bGUo
KTsKLSAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IHRoaXMtPmRldmljZVNjYWxlRmFjdG9y
KCk7CiAKICAgICBGbG9hdFBvaW50M0Qgb3JpZ2luOwotICAgIG9yaWdpbi5zZXRYKHJvdW5kVG9E
ZXZpY2VQaXhlbChmbG9hdFZhbHVlRm9yTGVuZ3RoKHN0eWxlLnRyYW5zZm9ybU9yaWdpblgoKSwg
Ym9yZGVyQm94LndpZHRoKCkpLCBkZXZpY2VTY2FsZUZhY3RvcikpOwotICAgIG9yaWdpbi5zZXRZ
KHJvdW5kVG9EZXZpY2VQaXhlbChmbG9hdFZhbHVlRm9yTGVuZ3RoKHN0eWxlLnRyYW5zZm9ybU9y
aWdpblkoKSwgYm9yZGVyQm94LmhlaWdodCgpKSwgZGV2aWNlU2NhbGVGYWN0b3IpKTsKKyAgICBv
cmlnaW4uc2V0WFkocm91bmRQb2ludFRvRGV2aWNlUGl4ZWxzKHBvaW50Rm9yTGVuZ3RoUG9pbnQo
c3R5bGUudHJhbnNmb3JtT3JpZ2luWFkoKSwgYm9yZGVyQm94LnNpemUoKSksIGRldmljZVNjYWxl
RmFjdG9yKCkpKTsKICAgICBvcmlnaW4uc2V0WihzdHlsZS50cmFuc2Zvcm1PcmlnaW5aKCkpOwog
CiAgICAgcmV0dXJuIG9yaWdpbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
QmFzaWNTaGFwZXMuY3BwCmluZGV4IDdhODIzNDMzZDQ2N2M0NTEyN2M0MjNmZmNkNWZhOTZiNTg0
ZjIwYWIuLjM1NjljNTI2YjFhNjY3ZWFkOWVjNWZjOTJhYTU2YTQzNzQ4MDZiZDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hhcGVzLmNwcApAQCAtNDA5LDEy
ICs0MDksNiBAQCBib29sIEJhc2ljU2hhcGVJbnNldDo6b3BlcmF0b3I9PShjb25zdCBCYXNpY1No
YXBlJiBvdGhlcikgY29uc3QKICAgICAgICAgJiYgbV9ib3R0b21MZWZ0UmFkaXVzID09IG90aGVy
SW5zZXQubV9ib3R0b21MZWZ0UmFkaXVzOwogfQogCi1zdGF0aWMgRmxvYXRTaXplIGZsb2F0U2l6
ZUZvckxlbmd0aFNpemUoY29uc3QgTGVuZ3RoU2l6ZSYgbGVuZ3RoU2l6ZSwgY29uc3QgRmxvYXRS
ZWN0JiBib3VuZGluZ0JveCkKLXsKLSAgICByZXR1cm4geyBmbG9hdFZhbHVlRm9yTGVuZ3RoKGxl
bmd0aFNpemUud2lkdGgsIGJvdW5kaW5nQm94LndpZHRoKCkpLAotICAgICAgICBmbG9hdFZhbHVl
Rm9yTGVuZ3RoKGxlbmd0aFNpemUuaGVpZ2h0LCBib3VuZGluZ0JveC5oZWlnaHQoKSkgfTsKLX0K
LQogY29uc3QgUGF0aCYgQmFzaWNTaGFwZUluc2V0OjpwYXRoKGNvbnN0IEZsb2F0UmVjdCYgYm91
bmRpbmdCb3gpCiB7CiAgICAgZmxvYXQgbGVmdCA9IGZsb2F0VmFsdWVGb3JMZW5ndGgobV9sZWZ0
LCBib3VuZGluZ0JveC53aWR0aCgpKTsKQEAgLTQyMiwxMCArNDE2LDEwIEBAIGNvbnN0IFBhdGgm
IEJhc2ljU2hhcGVJbnNldDo6cGF0aChjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAg
IGF1dG8gcmVjdCA9IEZsb2F0UmVjdChsZWZ0ICsgYm91bmRpbmdCb3gueCgpLCB0b3AgKyBib3Vu
ZGluZ0JveC55KCksCiAgICAgICAgIHN0ZDo6bWF4PGZsb2F0Pihib3VuZGluZ0JveC53aWR0aCgp
IC0gbGVmdCAtIGZsb2F0VmFsdWVGb3JMZW5ndGgobV9yaWdodCwgYm91bmRpbmdCb3gud2lkdGgo
KSksIDApLAogICAgICAgICBzdGQ6Om1heDxmbG9hdD4oYm91bmRpbmdCb3guaGVpZ2h0KCkgLSB0
b3AgLSBmbG9hdFZhbHVlRm9yTGVuZ3RoKG1fYm90dG9tLCBib3VuZGluZ0JveC5oZWlnaHQoKSks
IDApKTsKLSAgICBhdXRvIHJhZGlpID0gRmxvYXRSb3VuZGVkUmVjdDo6UmFkaWkoZmxvYXRTaXpl
Rm9yTGVuZ3RoU2l6ZShtX3RvcExlZnRSYWRpdXMsIGJvdW5kaW5nQm94KSwKLSAgICAgICAgZmxv
YXRTaXplRm9yTGVuZ3RoU2l6ZShtX3RvcFJpZ2h0UmFkaXVzLCBib3VuZGluZ0JveCksCi0gICAg
ICAgIGZsb2F0U2l6ZUZvckxlbmd0aFNpemUobV9ib3R0b21MZWZ0UmFkaXVzLCBib3VuZGluZ0Jv
eCksCi0gICAgICAgIGZsb2F0U2l6ZUZvckxlbmd0aFNpemUobV9ib3R0b21SaWdodFJhZGl1cywg
Ym91bmRpbmdCb3gpKTsKKyAgICBhdXRvIHJhZGlpID0gRmxvYXRSb3VuZGVkUmVjdDo6UmFkaWko
ZmxvYXRTaXplRm9yTGVuZ3RoU2l6ZShtX3RvcExlZnRSYWRpdXMsIGJvdW5kaW5nQm94LnNpemUo
KSksCisgICAgICAgIGZsb2F0U2l6ZUZvckxlbmd0aFNpemUobV90b3BSaWdodFJhZGl1cywgYm91
bmRpbmdCb3guc2l6ZSgpKSwKKyAgICAgICAgZmxvYXRTaXplRm9yTGVuZ3RoU2l6ZShtX2JvdHRv
bUxlZnRSYWRpdXMsIGJvdW5kaW5nQm94LnNpemUoKSksCisgICAgICAgIGZsb2F0U2l6ZUZvckxl
bmd0aFNpemUobV9ib3R0b21SaWdodFJhZGl1cywgYm91bmRpbmdCb3guc2l6ZSgpKSk7CiAgICAg
cmFkaWkuc2NhbGUoY2FsY0JvcmRlclJhZGlpQ29uc3RyYWludFNjYWxlRm9yKHJlY3QsIHJhZGlp
KSk7CiAKICAgICByZXR1cm4gY2FjaGVkUm91bmRlZFJlY3RQYXRoKEZsb2F0Um91bmRlZFJlY3Qo
cmVjdCwgcmFkaWkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuY3BwCmluZGV4IGJkMGI5MGU1ZjkyYTQxOGJiMmVjNTBmZDg2ZmYzYTM3NzEyM2RkODgu
LjNhOGEyZWVlZWJhZWNhODVmOTkwNWI2NTU2ODYzZDYxNmUyOWMxMTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtMTM4NSw4ICsxMzg1
LDcgQEAgdm9pZCBSZW5kZXJTdHlsZTo6YXBwbHlUcmFuc2Zvcm0oVHJhbnNmb3JtYXRpb25NYXRy
aXgmIHRyYW5zZm9ybSwgY29uc3QgRmxvYXRSZWMKICAgICAKICAgICBGbG9hdFBvaW50M0Qgb3Jp
Z2luVHJhbnNsYXRlOwogICAgIGlmIChhcHBseVRyYW5zZm9ybU9yaWdpbikgewotICAgICAgICBv
cmlnaW5UcmFuc2xhdGUuc2V0WChib3VuZGluZ0JveC54KCkgKyBmbG9hdFZhbHVlRm9yTGVuZ3Ro
KHRyYW5zZm9ybU9yaWdpblgoKSwgYm91bmRpbmdCb3gud2lkdGgoKSkpOwotICAgICAgICBvcmln
aW5UcmFuc2xhdGUuc2V0WShib3VuZGluZ0JveC55KCkgKyBmbG9hdFZhbHVlRm9yTGVuZ3RoKHRy
YW5zZm9ybU9yaWdpblkoKSwgYm91bmRpbmdCb3guaGVpZ2h0KCkpKTsKKyAgICAgICAgb3JpZ2lu
VHJhbnNsYXRlLnNldFhZKGJvdW5kaW5nQm94LmxvY2F0aW9uKCkgKyBmbG9hdFBvaW50Rm9yTGVu
Z3RoUG9pbnQodHJhbnNmb3JtT3JpZ2luWFkoKSwgYm91bmRpbmdCb3guc2l6ZSgpKSk7CiAgICAg
ICAgIG9yaWdpblRyYW5zbGF0ZS5zZXRaKHRyYW5zZm9ybU9yaWdpblooKSk7CiAgICAgICAgIHRy
YW5zZm9ybS50cmFuc2xhdGUzZChvcmlnaW5UcmFuc2xhdGUueCgpLCBvcmlnaW5UcmFuc2xhdGUu
eSgpLCBvcmlnaW5UcmFuc2xhdGUueigpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGIxYTNiMTNiZGRiOTYzMTJhNDY5NWMzYjlk
Y2RjYjY2ZTI5Y2M2YmMuLjFmNDBjNjEzOWRmNmU3ODExYTVlZjBmMTgxODFjNjY4ZTkxYTVmNTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC02
MTQsNiArNjE0LDggQEAgcHVibGljOgogICAgIGNvbnN0IExlbmd0aCYgdHJhbnNmb3JtT3JpZ2lu
WCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnRyYW5zZm9ybS0+eDsg
fQogICAgIGNvbnN0IExlbmd0aCYgdHJhbnNmb3JtT3JpZ2luWSgpIGNvbnN0IHsgcmV0dXJuIG1f
cmFyZU5vbkluaGVyaXRlZERhdGEtPnRyYW5zZm9ybS0+eTsgfQogICAgIGZsb2F0IHRyYW5zZm9y
bU9yaWdpblooKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT50cmFuc2Zv
cm0tPno7IH0KKyAgICBMZW5ndGhQb2ludCB0cmFuc2Zvcm1PcmlnaW5YWSgpIGNvbnN0IHsgcmV0
dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnRyYW5zZm9ybS0+b3JpZ2luWFkoKTsgfQorCiAg
ICAgVHJhbnNmb3JtQm94IHRyYW5zZm9ybUJveCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbklu
aGVyaXRlZERhdGEtPnRyYW5zZm9ybS0+dHJhbnNmb3JtQm94OyB9CiAKICAgICBUZXh0RW1waGFz
aXNGaWxsIHRleHRFbXBoYXNpc0ZpbGwoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUZXh0
RW1waGFzaXNGaWxsPihtX3JhcmVJbmhlcml0ZWREYXRhLT50ZXh0RW1waGFzaXNGaWxsKTsgfQpA
QCAtNjgyLDYgKzY4NCw4IEBAIHB1YmxpYzoKICAgICBib29sIGhhc1BlcnNwZWN0aXZlKCkgY29u
c3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+cGVyc3BlY3RpdmUgPiAwOyB9CiAg
ICAgY29uc3QgTGVuZ3RoJiBwZXJzcGVjdGl2ZU9yaWdpblgoKSBjb25zdCB7IHJldHVybiBtX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLT5wZXJzcGVjdGl2ZU9yaWdpblg7IH0KICAgICBjb25zdCBMZW5n
dGgmIHBlcnNwZWN0aXZlT3JpZ2luWSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPnBlcnNwZWN0aXZlT3JpZ2luWTsgfQorICAgIExlbmd0aFBvaW50IHBlcnNwZWN0aXZl
T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+cGVyc3BlY3Rp
dmVPcmlnaW4oKTsgfQorCiAgICAgY29uc3QgTGVuZ3RoU2l6ZSYgcGFnZVNpemUoKSBjb25zdCB7
IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5wYWdlU2l6ZTsgfQogICAgIFBhZ2VTaXpl
VHlwZSBwYWdlU2l6ZVR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxQYWdlU2l6ZVR5
cGU+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnBhZ2VTaXplVHlwZSk7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERh
dGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhLmgKaW5kZXggZWRiY2UzMDYxMTNkNzU4NDJiZGE1NmM1OWZiMDhiZjk3NzVmN2Y3Mi4u
ZjdkODM5MjBkMWE1MzlmZmY2YjgwYTcwY2UxMTEzZDk4ODUwNjRiMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oCkBAIC04NSw2ICs4NSw4IEBAIHB1YmxpYzoKICAgICBib29sIG9wZXJhdG9yPT0oY29u
c3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSYpIGNvbnN0OwogICAgIGJvb2wgb3BlcmF0b3Ih
PShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhJiBvdGhlcikgY29uc3QgeyByZXR1cm4g
ISgqdGhpcyA9PSBvdGhlcik7IH0KIAorICAgIExlbmd0aFBvaW50IHBlcnNwZWN0aXZlT3JpZ2lu
KCkgY29uc3QgeyByZXR1cm4geyBwZXJzcGVjdGl2ZU9yaWdpblgsIHBlcnNwZWN0aXZlT3JpZ2lu
WSB9OyB9CisKICAgICBib29sIGNvbnRlbnREYXRhRXF1aXZhbGVudChjb25zdCBTdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhJikgY29uc3Q7CiAKICAgICBib29sIGhhc0ZpbHRlcnMoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5zZm9y
bURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5zZm9ybURh
dGEuaAppbmRleCBhN2NhNTkxZWRhMDA4NWFhZjVmNDM2ZGQwNmY1ZDgxZmQyMDI5MTYzLi5jMzQx
NWM5OTRlOTM3ZTlkNTViNTNjMDMzOTViZjljNzQ1OTQ1OTJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNmb3JtRGF0YS5oCkBAIC0yNCw3ICsy
NCw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiTGVuZ3RoLmgiCisjaW5jbHVkZSAi
TGVuZ3RoUG9pbnQuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgogI2luY2x1
ZGUgIlRyYW5zZm9ybU9wZXJhdGlvbnMuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CkBAIC00Nyw2
ICs0Nyw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIGhhc1RyYW5zZm9ybSgpIGNvbnN0IHsg
cmV0dXJuIG9wZXJhdGlvbnMuc2l6ZSgpOyB9CiAKKyAgICBMZW5ndGhQb2ludCBvcmlnaW5YWSgp
IGNvbnN0IHsgcmV0dXJuIHsgeCwgeSB9OyB9CisKICAgICBUcmFuc2Zvcm1PcGVyYXRpb25zIG9w
ZXJhdGlvbnM7CiAgICAgTGVuZ3RoIHg7CiAgICAgTGVuZ3RoIHk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>