<?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>237596</bug_id>
          
          <creation_ts>2022-03-08 04:12:33 -0800</creation_ts>
          <short_desc>Make SharedVideoFrameReader use VideoFrameCV instead of MediaSample</short_desc>
          <delta_ts>2022-03-17 11:10:18 -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>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>237706</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1849190</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-08 04:12:33 -0800</bug_when>
    <thetext>Make SharedVideoFrameReader use VideoFrameCV instead of MediaSample</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849191</commentid>
    <comment_count>1</comment_count>
      <attachid>454099</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-08 04:16:09 -0800</bug_when>
    <thetext>Created attachment 454099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849200</commentid>
    <comment_count>2</comment_count>
      <attachid>454104</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-08 05:00:13 -0800</bug_when>
    <thetext>Created attachment 454104
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851204</commentid>
    <comment_count>3</comment_count>
      <attachid>454681</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-15 01:45:38 -0700</bug_when>
    <thetext>Created attachment 454681
Rebasing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851229</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-15 04:26:10 -0700</bug_when>
    <thetext>ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851241</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-15 05:13:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/90300894&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852304</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-17 08:20:52 -0700</bug_when>
    <thetext>ping review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852381</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-17 11:10:14 -0700</bug_when>
    <thetext>Committed r291421 (248548@main): &lt;https://commits.webkit.org/248548@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454681.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454099</attachid>
            <date>2022-03-08 04:16:09 -0800</date>
            <delta_ts>2022-03-08 05:00:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237596-20220308131607.patch</filename>
            <type>text/plain</type>
            <size>21351</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwOTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjNiMzI4ZDc4MTQyMTRj
NTUyNjI1NjQ1ZTU2MGI0NWU4OTA2ODk3MC4uNmViMjdiODBlM2Q0N2IwOWZjYWZhODZkNjk4Mjc4
NDZmY2FiN2UyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTAzLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFNoYXJlZFZpZGVv
RnJhbWVSZWFkZXIgdXNlIFZpZGVvRnJhbWVDViBpbnN0ZWFkIG9mIE1lZGlhU2FtcGxlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc1OTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgbWVkaWEg
cmVjb3JkZXIgYW5kIGRpc3BsYXkgbGF5ZXIgdG8gdXNlIHBpeGVsIGJ1ZmZlcnMgaW5zdGVhZCBv
ZiBNZWRpYVNhbXBsZS4KKyAgICAgICAgVGhpcyBhbGxvd3MgbWlncmF0aW5nIHRvIFZpZGVvRnJh
bWVDVi4KKyAgICAgICAgTm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICogcGxhdGZv
cm0vY29jb2EvTWVkaWFVdGlsaXRpZXMuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL01l
ZGlhVXRpbGl0aWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
ci5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlQVZGSW1wbC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJl
Y29yZGVyUHJpdmF0ZUFWRkltcGwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2Eu
bW06CisKIDIwMjItMDMtMDggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbmFtZSBWaWRlb1NhbXBsZU1ldGFkYXRhIHRvIFZpZGVvRnJhbWVUaW1lTWV0YWRh
dGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggMDQxYzk0YjNkNWQ1NGRmY2I3NDhmYzJjYTM3ODc2N2I1NjNkMGIzMC4u
MTM3NTY3ZDJmMDZkOWRhNWM1YmYyN2EwM2I0ZWM0ZGFlNDJmNzk4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMi0wMy0wOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgTWFrZSBTaGFyZWRWaWRlb0ZyYW1lUmVhZGVyIHVzZSBWaWRlb0ZyYW1lQ1Yg
aW5zdGVhZCBvZiBNZWRpYVNhbXBsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM3NTk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNw
cDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TaGFyZWRWaWRlb0Zy
YW1lLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvU2hhcmVkVmlkZW9GcmFt
ZS5oOgorCiAyMDIyLTAzLTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW5hbWUgVmlkZW9TYW1wbGVNZXRhZGF0YSB0byBWaWRlb0ZyYW1lVGltZU1ldGFk
YXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZWRpYVV0aWxp
dGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZWRpYVV0aWxpdGllcy5j
cHAKaW5kZXggYzU1ZDJhNTZkZTk3MzQwYmExYzRhYjc4NjA5MTRmZmZhZmY5MGM1ZS4uZGZmNzg1
M2Y5ODRkNmEwNjcwM2I4NzYxMTM4MDNjY2Y0MjI3ZWJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvTWVkaWFVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL01lZGlhVXRpbGl0aWVzLmNwcApAQCAtNjgsNCArNjgsMjEgQEAg
UmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBjcmVhdGVBdWRpb1NhbXBsZUJ1ZmZlcihjb25z
dCBQbGF0Zm9ybUF1ZGlvRGF0YSYgZGEKICAgICByZXR1cm4gYnVmZmVyOwogfQogCitSZXRhaW5Q
dHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNyZWF0ZVZpZGVvU2FtcGxlQnVmZmVyKENWUGl4ZWxCdWZm
ZXJSZWYgcGl4ZWxCdWZmZXIsIENNVGltZSBwcmVzZW50YXRpb25UaW1lKQoreworICAgIENNVmlk
ZW9Gb3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IG51bGxwdHI7CisgICAg
YXV0byBzdGF0dXMgPSBQQUw6OkNNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZUZvckltYWdl
QnVmZmVyKGtDRkFsbG9jYXRvckRlZmF1bHQsIHBpeGVsQnVmZmVyLCAmZm9ybWF0RGVzY3JpcHRp
b24pOworICAgIGlmIChzdGF0dXMpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGF1dG8g
cmV0YWluZWRGb3JtYXREZXNjcmlwdGlvbiA9IGFkb3B0Q0YoZm9ybWF0RGVzY3JpcHRpb24pOwor
CisgICAgQ01TYW1wbGVUaW1pbmdJbmZvIHRpbWluZ0luZm8geyBQQUw6OmtDTVRpbWVJbnZhbGlk
LCBwcmVzZW50YXRpb25UaW1lLCBQQUw6OmtDTVRpbWVJbnZhbGlkIH07CisgICAgQ01TYW1wbGVC
dWZmZXJSZWYgc2FtcGxlQnVmZmVyOworICAgIHN0YXR1cyA9IFBBTDo6Q01TYW1wbGVCdWZmZXJD
cmVhdGVSZWFkeVdpdGhJbWFnZUJ1ZmZlcihrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBwaXhlbEJ1ZmZl
ciwgZm9ybWF0RGVzY3JpcHRpb24sICZ0aW1pbmdJbmZvLCAmc2FtcGxlQnVmZmVyKTsKKyAgICBp
ZiAoc3RhdHVzKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBhZG9wdENG
KHNhbXBsZUJ1ZmZlcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL01lZGlhVXRpbGl0aWVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZWRpYVV0aWxpdGllcy5oCmluZGV4IDkxNzA4ZWEyMmFk
NGI1YmJjN2VmODlkNGNiNWRiMzU5OWQ4ZTYyNWUuLjAzMzdhN2M0NzY0OTMwNzNlZjQ3OGE0NTE4
N2RhOGE5MTgyYTBjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L01lZGlhVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTWVk
aWFVdGlsaXRpZXMuaApAQCAtMzgsNSArMzgsNiBAQCBjbGFzcyBQbGF0Zm9ybUF1ZGlvRGF0YTsK
IAogUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZUF1ZGlvRm9ybWF0RGVz
Y3JpcHRpb24oY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCBtYWdpY0Nvb2tp
ZVNpemUgPSAwLCBjb25zdCB2b2lkKiBtYWdpY0Nvb2tpZSA9IG51bGxwdHIpOwogUmV0YWluUHRy
PENNU2FtcGxlQnVmZmVyUmVmPiBjcmVhdGVBdWRpb1NhbXBsZUJ1ZmZlcihjb25zdCBQbGF0Zm9y
bUF1ZGlvRGF0YSYsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCBDTVRpbWUsIHNpemVf
dCBzYW1wbGVDb3VudCk7CitSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNyZWF0ZVZpZGVv
U2FtcGxlQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYsIENNVGltZSk7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllci5oCmluZGV4IGJmNGNjYWZjZDgxODBjYzE0Njk5Y2UxMTgwNjhjZmE4
MTUyMGMwMWUuLmE2NmIyNzM1YmNlYWVkZWMzNTZlYzdmMDgzNzQyMzU2NTRlZGIyM2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIuaApAQCAtNzksNiArNzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwbGF5KCkgZmluYWw7
CiAgICAgdm9pZCBwYXVzZSgpIGZpbmFsOwogCisgICAgdm9pZCBlbnF1ZXVlKENWUGl4ZWxCdWZm
ZXJSZWYsIE1lZGlhVGltZSk7CiAgICAgdm9pZCBlbnF1ZXVlU2FtcGxlKE1lZGlhU2FtcGxlJikg
ZmluYWw7CiAgICAgdm9pZCBjbGVhckVucXVldWVkU2FtcGxlcygpIGZpbmFsOwogICAgIHZvaWQg
c2V0UmVuZGVyUG9saWN5KFJlbmRlclBvbGljeSkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tCmluZGV4IDli
ZjRiMGI4ZDVjNDgxYTUzNGZkOTBjZjE2Yzk1NTlmYjZjZDcxNmEuLjFjY2RkZmE4ODE1YTRmNzY0
ZTI0OTFjNzA0NzViOGQyMGJkYzQ5MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tCkBAIC0zMiw2ICszMiw3IEBA
CiAjaW1wb3J0ICJJbnRTaXplLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRp
YVNhbXBsZUFWRk9iakMuaCIKKyNpbXBvcnQgIk1lZGlhVXRpbGl0aWVzLmgiCiAKICNpbXBvcnQg
PEFWRm91bmRhdGlvbi9BVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oPgogI2ltcG9ydCA8UXVh
cnR6Q29yZS9DQUxheWVyLmg+CkBAIC0zMzIsMjQgKzMzMywyOSBAQCB2b2lkIExvY2FsU2FtcGxl
QnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVlU2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpCiB9
CiAKIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVucXVldWVTYW1wbGVCdWZm
ZXIoTWVkaWFTYW1wbGUmIHNhbXBsZSkKK3sKKyAgICBlbnF1ZXVlKHNhbXBsZS5waXhlbEJ1ZmZl
cigpLCBzYW1wbGUucHJlc2VudGF0aW9uVGltZSgpKTsKK30KKworc3RhdGljIHZvaWQgc2V0U2Ft
cGxlQnVmZmVyQXNEaXNwbGF5SW1tZWRpYXRlbHkoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVm
ZmVyKQoreworICAgIENGQXJyYXlSZWYgYXR0YWNobWVudHNBcnJheSA9IFBBTDo6Q01TYW1wbGVC
dWZmZXJHZXRTYW1wbGVBdHRhY2htZW50c0FycmF5KHNhbXBsZUJ1ZmZlciwgdHJ1ZSk7CisgICAg
Zm9yIChDRkluZGV4IGkgPSAwOyBpIDwgQ0ZBcnJheUdldENvdW50KGF0dGFjaG1lbnRzQXJyYXkp
OyArK2kpIHsKKyAgICAgICAgQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBhdHRhY2htZW50cyA9IGNo
ZWNrZWRfY2ZfY2FzdDxDRk11dGFibGVEaWN0aW9uYXJ5UmVmPihDRkFycmF5R2V0VmFsdWVBdElu
ZGV4KGF0dGFjaG1lbnRzQXJyYXksIGkpKTsKKyAgICAgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUo
YXR0YWNobWVudHMsIFBBTDo6a0NNU2FtcGxlQXR0YWNobWVudEtleV9EaXNwbGF5SW1tZWRpYXRl
bHksIGtDRkJvb2xlYW5UcnVlKTsKKyAgICB9Cit9CisKK3ZvaWQgTG9jYWxTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXI6OmVucXVldWUoQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlciwgTWVkaWFU
aW1lIHByZXNlbnRhdGlvblRpbWUpCiB7CiAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7Ci0g
ICAgLy8gRklYTUU6IExvY2FsIHBsYXliYWNrIG9mIFJlbW90ZVZpZGVvRnJhbWVQcm94eSBpcyBu
b3QgaW1wbGVtZW50ZWQuCi0gICAgaWYgKCFpczxNZWRpYVNhbXBsZUFWRk9iakM+KHNhbXBsZSkp
Ci0gICAgICAgIHJldHVybjsKIAotICAgIGF1dG8gc2FtcGxlVG9FbnF1ZXVlID0gc2FtcGxlLnBs
YXRmb3JtU2FtcGxlKCkuc2FtcGxlLmNtU2FtcGxlQnVmZmVyOworICAgIGF1dG8gc2FtcGxlQnVm
ZmVyID0gY3JlYXRlVmlkZW9TYW1wbGVCdWZmZXIocGl4ZWxCdWZmZXIsIFBBTDo6dG9DTVRpbWUo
cHJlc2VudGF0aW9uVGltZSkpOwogICAgIGF1dG8gbm93ID0gTWVkaWFUaW1lOjpjcmVhdGVXaXRo
RG91YmxlKE1vbm90b25pY1RpbWU6Om5vdygpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSAr
IHJlbmRlcmVyTGF0ZW5jeSk7CisgICAgaWYgKG1fcmVuZGVyUG9saWN5ID09IFJlbmRlclBvbGlj
eTo6SW1tZWRpYXRlbHkgfHwgbm93ID49IHByZXNlbnRhdGlvblRpbWUpCisgICAgICAgIHNldFNh
bXBsZUJ1ZmZlckFzRGlzcGxheUltbWVkaWF0ZWx5KHNhbXBsZUJ1ZmZlci5nZXQoKSk7CiAKLSAg
ICAvLyBJZiBuZWVkZWQsIHdlIHNldCB0aGUgc2FtcGxlIGJ1ZmZlciB0byBrQ01TYW1wbGVBdHRh
Y2htZW50S2V5X0Rpc3BsYXlJbW1lZGlhdGVseSBhcyBhIHdvcmthcm91bmQgdG8gcmRhcjovL3By
b2JsZW0vNDkyNzQwODMuCi0gICAgLy8gV2UgY2xvbmUgdGhlIHNhbXBsZSBidWZmZXIgYXMgbW9k
aWZ5aW5nIHRoZSBhdHRhY2htZW50cyBvZiBhIHNhbXBsZSBidWZmZXIgdXNlZCBlbHNld2hlcmUg
KGVuY29kaW5nIGUuZy4pIG1heSBub3QgYmUgdGhyZWFkIHNhZmUuCi0gICAgUmV0YWluUHRyPENN
U2FtcGxlQnVmZmVyUmVmPiBuZXdTYW1wbGVCdWZmZXI7Ci0gICAgaWYgKG1fcmVuZGVyUG9saWN5
ID09IFJlbmRlclBvbGljeTo6SW1tZWRpYXRlbHkgfHwgbm93ID49IHNhbXBsZS5wcmVzZW50YXRp
b25UaW1lKCkpIHsKLSAgICAgICAgbmV3U2FtcGxlQnVmZmVyID0gTWVkaWFTYW1wbGVBVkZPYmpD
OjpjbG9uZVNhbXBsZUJ1ZmZlckFuZFNldEFzRGlzcGxheUltbWVkaWF0ZWx5KHNhbXBsZVRvRW5x
dWV1ZSk7Ci0gICAgICAgIHNhbXBsZVRvRW5xdWV1ZSA9IG5ld1NhbXBsZUJ1ZmZlci5nZXQoKTsK
LSAgICB9Ci0KLSAgICBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgZW5xdWV1ZVNhbXBsZUJ1
ZmZlcjpzYW1wbGVUb0VucXVldWVdOworICAgIFttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciBl
bnF1ZXVlU2FtcGxlQnVmZmVyOnNhbXBsZUJ1ZmZlci5nZXQoKV07CiAKICNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKICAgICBjb25zdGV4cHIgc2l6ZV90IGZyYW1lQ291bnRQZXJMb2cgPSAxODAw
OyAvLyBsb2cgZXZlcnkgbWludXRlIGF0IDMwIGZwcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGwuY3BwCmluZGV4IGU2MGIwNTNhNTVhMTVkOTM3Nzg1OGEzNzBiMDI4NGZiYmY5
YmFlYTUuLjFjMGQzZTUzYzYxYzJmMTY4ZmE1ZGNmZWZlM2RhMmMzNjNkMjkyYmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclBy
aXZhdGVBVkZJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKQEAgLTMzLDEwICszMywxMCBAQAog
I2luY2x1ZGUgIkNWVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUg
Ik1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaCIKLSNpbmNsdWRlICJNZWRpYVNhbXBs
ZUFWRk9iakMuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVByaXZhdGUuaCIKICNpbmNsdWRlICJS
ZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZl
ci5oIgorI2luY2x1ZGUgIlZpZGVvRnJhbWVDVi5oIgogI2luY2x1ZGUgIldlYkF1ZGlvQnVmZmVy
TGlzdC5oIgogCiAjaW5jbHVkZSAiQ29yZVZpZGVvU29mdExpbmsuaCIKQEAgLTgzLDQwICs4Mywx
OSBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6c3RhcnRSZWNvcmRpbmcoU3Rh
cnRSZWNvcmRpbmdDYWxsYmFjayYmIGNhbGxiYQogICAgIGNhbGxiYWNrKFN0cmluZyhtX3dyaXRl
ci0+bWltZVR5cGUoKSksIG1fd3JpdGVyLT5hdWRpb0JpdFJhdGUoKSwgbV93cml0ZXItPnZpZGVv
Qml0UmF0ZSgpKTsKIH0KIAotdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OnZpZGVv
U2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGVCdWZmZXIsIFZpZGVvRnJhbWVUaW1l
TWV0YWRhdGEpCit2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6dmlkZW9TYW1wbGVB
dmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlkZW9GcmFtZVRpbWVNZXRhZGF0YSkKIHsK
ICAgICBpZiAoc2hvdWxkTXV0ZVZpZGVvKCkpIHsKICAgICAgICAgaWYgKCFtX2JsYWNrRnJhbWUp
IHsKLSAgICAgICAgICAgIG1fYmxhY2tGcmFtZURlc2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1
ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1ZmZlci5wbGF0Zm9ybVNhbXBsZSgpLnNh
bXBsZS5jbVNhbXBsZUJ1ZmZlcik7Ci0gICAgICAgICAgICBhdXRvIGRpbWVuc2lvbnMgPSBQQUw6
OkNNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkdldERpbWVuc2lvbnMobV9ibGFja0ZyYW1lRGVzY3Jp
cHRpb24uZ2V0KCkpOwotICAgICAgICAgICAgbV9ibGFja0ZyYW1lID0gY3JlYXRlQmxhY2tQaXhl
bEJ1ZmZlcihkaW1lbnNpb25zLndpZHRoLCBkaW1lbnNpb25zLmhlaWdodCk7Ci0KLSAgICAgICAg
ICAgIENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IG51bGxw
dHI7Ci0gICAgICAgICAgICBhdXRvIHN0YXR1cyA9IFBBTDo6Q01WaWRlb0Zvcm1hdERlc2NyaXB0
aW9uQ3JlYXRlRm9ySW1hZ2VCdWZmZXIoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbV9ibGFja0ZyYW1l
LmdldCgpLCAmZm9ybWF0RGVzY3JpcHRpb24pOwotICAgICAgICAgICAgaWYgKHN0YXR1cyAhPSBu
b0VycikgewotICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAiTWVkaWFS
ZWNvcmRlclByaXZhdGVBVkZJbXBsOjp2aWRlb1NhbXBsZUF2YWlsYWJsZSA6OnVuYWJsZSB0byBj
cmVhdGUgYSBibGFjayBmcmFtZSBkZXNjcmlwdGlvbjogJWQiLCBzdGF0aWNfY2FzdDxpbnQ+KHN0
YXR1cykpOwotICAgICAgICAgICAgICAgIG1fYmxhY2tGcmFtZSA9IG51bGxwdHI7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgbV9ibGFja0ZyYW1l
RGVzY3JpcHRpb24gPSBhZG9wdENGKGZvcm1hdERlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgIGF1
dG8gc2l6ZSA9IHNhbXBsZS5wcmVzZW50YXRpb25TaXplKCk7CisgICAgICAgICAgICBtX2JsYWNr
RnJhbWUgPSBWaWRlb0ZyYW1lQ1Y6OmNyZWF0ZShzYW1wbGUucHJlc2VudGF0aW9uVGltZSgpLCBz
YW1wbGUudmlkZW9NaXJyb3JlZCgpLCBzYW1wbGUudmlkZW9Sb3RhdGlvbigpLCBjcmVhdGVCbGFj
a1BpeGVsQnVmZmVyKHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSkpOwogICAgICAgICB9Ci0K
LSAgICAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlID0gbnVsbHB0cjsKLSAgICAgICAgQ01T
YW1wbGVUaW1pbmdJbmZvIHRpbWluZ0luZm8geyBQQUw6OmtDTVRpbWVJbnZhbGlkLCBQQUw6OnRv
Q01UaW1lKHNhbXBsZUJ1ZmZlci5wcmVzZW50YXRpb25UaW1lKCkpLCBQQUw6OnRvQ01UaW1lKHNh
bXBsZUJ1ZmZlci5kZWNvZGVUaW1lKCkpIH07Ci0gICAgICAgIGF1dG8gc3RhdHVzID0gUEFMOjpD
TVNhbXBsZUJ1ZmZlckNyZWF0ZVJlYWR5V2l0aEltYWdlQnVmZmVyKGtDRkFsbG9jYXRvckRlZmF1
bHQsIChDVkltYWdlQnVmZmVyUmVmKW1fYmxhY2tGcmFtZS5nZXQoKSwgbV9ibGFja0ZyYW1lRGVz
Y3JpcHRpb24uZ2V0KCksICZ0aW1pbmdJbmZvLCAmc2FtcGxlKTsKLQotICAgICAgICBpZiAoc3Rh
dHVzICE9IG5vRXJyKSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYVN0cmVh
bSwgIk1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6dmlkZW9TYW1wbGVBdmFpbGFibGUgLSB1
bmFibGUgdG8gY3JlYXRlIGEgYmxhY2sgZnJhbWU6ICVkIiwgc3RhdGljX2Nhc3Q8aW50PihzdGF0
dXMpKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBhdXRvIG5ld1Nh
bXBsZSA9IGFkb3B0Q0Yoc2FtcGxlKTsKLSAgICAgICAgbV93cml0ZXItPmFwcGVuZFZpZGVvU2Ft
cGxlQnVmZmVyKE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlKG5ld1NhbXBsZS5nZXQoKSwgc2Ft
cGxlQnVmZmVyLnZpZGVvUm90YXRpb24oKSwgc2FtcGxlQnVmZmVyLnZpZGVvTWlycm9yZWQoKSkp
OworICAgICAgICBtX3dyaXRlci0+YXBwZW5kVmlkZW9GcmFtZSgqbV9ibGFja0ZyYW1lKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIG1fYmxhY2tGcmFtZSA9IG51bGxwdHI7Ci0gICAg
bV9ibGFja0ZyYW1lRGVzY3JpcHRpb24gPSBudWxscHRyOwotICAgIG1fd3JpdGVyLT5hcHBlbmRW
aWRlb1NhbXBsZUJ1ZmZlcihzYW1wbGVCdWZmZXIpOworICAgIG1fd3JpdGVyLT5hcHBlbmRWaWRl
b0ZyYW1lKFZpZGVvRnJhbWVDVjo6Y3JlYXRlKHNhbXBsZS5wcmVzZW50YXRpb25UaW1lKCksIHNh
bXBsZS52aWRlb01pcnJvcmVkKCksIHNhbXBsZS52aWRlb1JvdGF0aW9uKCksIHNhbXBsZS5waXhl
bEJ1ZmZlcigpKSk7CiB9CiAKIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjphdWRp
b1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiBtZWRpYVRpbWUsIGNvbnN0IFBsYXRm
b3JtQXVkaW9EYXRhJiBkYXRhLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlw
dGlvbiwgc2l6ZV90IHNhbXBsZUNvdW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJ
bXBsLmgKaW5kZXggMDQ3NjdkMDg0YTI3YmRlZTQyNGRlZjkzZDU4MDNkYmZlZWU4OWRmZS4uOTU3
ZjVkMDg3NzlmYTljMzkyNzdlOTE1OTNjNTYzOTY4Y2Q3ODgyNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRklt
cGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXJQcml2YXRlQVZGSW1wbC5oCkBAIC02MCw4ICs2MCw3IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCByZXN1bWVSZWNvcmRpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsKIAog
ICAgIFJlZjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4gbV93cml0ZXI7Ci0gICAgUmV0YWlu
UHRyPENWUGl4ZWxCdWZmZXJSZWY+IG1fYmxhY2tGcmFtZTsKLSAgICBSZXRhaW5QdHI8Q01Gb3Jt
YXREZXNjcmlwdGlvblJlZj4gbV9ibGFja0ZyYW1lRGVzY3JpcHRpb247CisgICAgUmVmUHRyPFZp
ZGVvRnJhbWU+IG1fYmxhY2tGcmFtZTsKICAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gbV9k
ZXNjcmlwdGlvbjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQXVkaW9CdWZmZXJMaXN0PiBtX2F1
ZGlvQnVmZmVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0
ZVdyaXRlckNvY29hLmgKaW5kZXggNDRlMjA4ZWViYzVhZmVmZTBiNWZhYTNkYjM1M2M3NTU1MTAx
NzAxMy4uYWRjZTQ4MzAyZjVkYTlmNzMwNWY5ZGYyZjRiYmIwOGMwY2QxZWRmMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29y
ZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgKQEAgLTU2
LDkgKzU2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBdWRpb1NhbXBsZUJ1ZmZl
ckNvbXByZXNzb3I7CiBjbGFzcyBBdWRpb1N0cmVhbURlc2NyaXB0aW9uOwotY2xhc3MgTWVkaWFT
YW1wbGU7CiBjbGFzcyBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTsKIGNsYXNzIFBsYXRmb3JtQXVk
aW9EYXRhOworY2xhc3MgVmlkZW9GcmFtZTsKIGNsYXNzIFZpZGVvU2FtcGxlQnVmZmVyQ29tcHJl
c3NvcjsKIHN0cnVjdCBNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnM7CiAKQEAgLTY3LDcgKzY3
LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0
ZXI+IGNyZWF0ZShib29sIGhhc0F1ZGlvLCBib29sIGhhc1ZpZGVvLCBjb25zdCBNZWRpYVJlY29y
ZGVyUHJpdmF0ZU9wdGlvbnMmKTsKICAgICB+TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIoKTsK
IAotICAgIHZvaWQgYXBwZW5kVmlkZW9TYW1wbGVCdWZmZXIoTWVkaWFTYW1wbGUmKTsKKyAgICB2
b2lkIGFwcGVuZFZpZGVvRnJhbWUoVmlkZW9GcmFtZSYpOwogICAgIHZvaWQgYXBwZW5kQXVkaW9T
YW1wbGVCdWZmZXIoY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmLCBjb25zdCBBdWRpb1N0cmVhbURl
c2NyaXB0aW9uJiwgY29uc3QgV1RGOjpNZWRpYVRpbWUmLCBzaXplX3QpOwogICAgIHZvaWQgc3Rv
cFJlY29yZGluZygpOwogICAgIHZvaWQgZmV0Y2hEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
UmVmUHRyPEZyYWdtZW50ZWRTaGFyZWRCdWZmZXI+JiYsIGRvdWJsZSk+JiYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29y
ZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCmluZGV4IGY1
ZTg0MzA3ZTk1ZWZiMmE2NjJmNzRlYjZhNzczNjZkYWE5OTZmYjQuLjMxNjZlODE0NjI5ZTkwNDhl
MTBkNGM4OTBiODlhMmE3ZTYyMGMyNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRl
ICJNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIk1lZGlhVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAiVmlk
ZW9GcmFtZS5oIgogI2luY2x1ZGUgIlZpZGVvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5oIgogI2lu
Y2x1ZGUgIldlYkF1ZGlvQnVmZmVyTGlzdC5oIgogI2luY2x1ZGUgPEFWRm91bmRhdGlvbi9BVkFz
c2V0V3JpdGVyLmg+CkBAIC0zODAsNDIgKzM4MSwyMSBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyOjpmbHVzaENvbXByZXNzZWRTYW1wbGVCdWZmZXJzKEZ1bmN0aW9uPHZvaWQoKT4m
JgogICAgICAgICBbbV92aWRlb0Fzc2V0V3JpdGVySW5wdXQgcmVxdWVzdE1lZGlhRGF0YVdoZW5S
ZWFkeU9uUXVldWU6ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOmJsb2NrLmdl
dCgpXTsKIH0KIAotc3RhdGljIGlubGluZSBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNv
cHlTYW1wbGVCdWZmZXJXaXRoQ3VycmVudFRpbWVTdGFtcChDTVNhbXBsZUJ1ZmZlclJlZiBvcmln
aW5hbEJ1ZmZlciwgQ01UaW1lIHN0YXJ0VGltZSkKLXsKLSAgICBDTUl0ZW1Db3VudCBjb3VudCA9
IDA7Ci0gICAgUEFMOjpDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm9BcnJheShvcmln
aW5hbEJ1ZmZlciwgMCwgbmlsLCAmY291bnQpOwotCi0gICAgVmVjdG9yPENNU2FtcGxlVGltaW5n
SW5mbz4gdGltZUluZm8oY291bnQpOwotICAgIFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRTYW1wbGVU
aW1pbmdJbmZvQXJyYXkob3JpZ2luYWxCdWZmZXIsIGNvdW50LCB0aW1lSW5mby5kYXRhKCksICZj
b3VudCk7Ci0KLSAgICBmb3IgKGF1dG8gaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7Ci0gICAgICAg
IHRpbWVJbmZvW2ldLmRlY29kZVRpbWVTdGFtcCA9IFBBTDo6a0NNVGltZUludmFsaWQ7Ci0gICAg
ICAgIHRpbWVJbmZvW2ldLnByZXNlbnRhdGlvblRpbWVTdGFtcCA9IHN0YXJ0VGltZTsKLSAgICB9
Ci0KLSAgICBDTVNhbXBsZUJ1ZmZlclJlZiBuZXdCdWZmZXIgPSBudWxscHRyOwotICAgIGlmIChh
dXRvIGVycm9yID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckNyZWF0ZUNvcHlXaXRoTmV3VGltaW5nKGtD
RkFsbG9jYXRvckRlZmF1bHQsIG9yaWdpbmFsQnVmZmVyLCBjb3VudCwgdGltZUluZm8uZGF0YSgp
LCAmbmV3QnVmZmVyKSkgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYVN0cmVhbSwg
Ik1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyIENNU2FtcGxlQnVmZmVyQ3JlYXRlQ29weVdpdGhO
ZXdUaW1pbmcgZmFpbGVkIHdpdGggJWQiLCBlcnJvcik7Ci0gICAgICAgIHJldHVybiBudWxscHRy
OwotICAgIH0KLSAgICByZXR1cm4gYWRvcHRDRihuZXdCdWZmZXIpOwotfQotCi12b2lkIE1lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyOjphcHBlbmRWaWRlb1NhbXBsZUJ1ZmZlcihNZWRpYVNhbXBs
ZSYgc2FtcGxlKQordm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6YXBwZW5kVmlkZW9G
cmFtZShWaWRlb0ZyYW1lJiBmcmFtZSkKIHsKICAgICBpZiAoIW1fZmlyc3RWaWRlb0ZyYW1lKSB7
CiAgICAgICAgIG1fZmlyc3RWaWRlb0ZyYW1lID0gdHJ1ZTsKICAgICAgICAgbV9yZXN1bWVkVmlk
ZW9UaW1lID0gUEFMOjpDTUNsb2NrR2V0VGltZShQQUw6OkNNQ2xvY2tHZXRIb3N0VGltZUNsb2Nr
KCkpOwotICAgICAgICBpZiAoc2FtcGxlLnZpZGVvUm90YXRpb24oKSAhPSBNZWRpYVNhbXBsZTo6
VmlkZW9Sb3RhdGlvbjo6Tm9uZSB8fCBzYW1wbGUudmlkZW9NaXJyb3JlZCgpKSB7Ci0gICAgICAg
ICAgICBtX3ZpZGVvVHJhbnNmb3JtID0gQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlUm90YXRpb24oc3Rh
dGljX2Nhc3Q8aW50PihzYW1wbGUudmlkZW9Sb3RhdGlvbigpKSAqIE1fUEkgLyAxODApOwotICAg
ICAgICAgICAgaWYgKHNhbXBsZS52aWRlb01pcnJvcmVkKCkpCisgICAgICAgIGlmIChmcmFtZS52
aWRlb1JvdGF0aW9uKCkgIT0gTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb246Ok5vbmUgfHwgZnJh
bWUudmlkZW9NaXJyb3JlZCgpKSB7CisgICAgICAgICAgICBtX3ZpZGVvVHJhbnNmb3JtID0gQ0dB
ZmZpbmVUcmFuc2Zvcm1NYWtlUm90YXRpb24oc3RhdGljX2Nhc3Q8aW50PihmcmFtZS52aWRlb1Jv
dGF0aW9uKCkpICogTV9QSSAvIDE4MCk7CisgICAgICAgICAgICBpZiAoZnJhbWUudmlkZW9NaXJy
b3JlZCgpKQogICAgICAgICAgICAgICAgIG1fdmlkZW9UcmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5z
Zm9ybVNjYWxlKCptX3ZpZGVvVHJhbnNmb3JtLCAtMSwgMSk7CiAgICAgICAgIH0KICAgICB9CiAK
LSAgICBhdXRvIHNhbXBsZVRpbWUgPSBQQUw6OkNNVGltZVN1YnRyYWN0KFBBTDo6Q01DbG9ja0dl
dFRpbWUoUEFMOjpDTUNsb2NrR2V0SG9zdFRpbWVDbG9jaygpKSwgbV9yZXN1bWVkVmlkZW9UaW1l
KTsKLSAgICBzYW1wbGVUaW1lID0gUEFMOjpDTVRpbWVBZGQoc2FtcGxlVGltZSwgbV9jdXJyZW50
VmlkZW9EdXJhdGlvbik7Ci0gICAgaWYgKGF1dG8gYnVmZmVyV2l0aEN1cnJlbnRUaW1lID0gY29w
eVNhbXBsZUJ1ZmZlcldpdGhDdXJyZW50VGltZVN0YW1wKHNhbXBsZS5wbGF0Zm9ybVNhbXBsZSgp
LnNhbXBsZS5jbVNhbXBsZUJ1ZmZlciwgc2FtcGxlVGltZSkpCisgICAgYXV0byBmcmFtZVRpbWUg
PSBQQUw6OkNNVGltZVN1YnRyYWN0KFBBTDo6Q01DbG9ja0dldFRpbWUoUEFMOjpDTUNsb2NrR2V0
SG9zdFRpbWVDbG9jaygpKSwgbV9yZXN1bWVkVmlkZW9UaW1lKTsKKyAgICBmcmFtZVRpbWUgPSBQ
QUw6OkNNVGltZUFkZChmcmFtZVRpbWUsIG1fY3VycmVudFZpZGVvRHVyYXRpb24pOworICAgIGlm
IChhdXRvIGJ1ZmZlcldpdGhDdXJyZW50VGltZSA9IGNyZWF0ZVZpZGVvU2FtcGxlQnVmZmVyKGZy
YW1lLnBpeGVsQnVmZmVyKCksIGZyYW1lVGltZSkpCiAgICAgICAgIG1fdmlkZW9Db21wcmVzc29y
LT5hZGRTYW1wbGVCdWZmZXIoYnVmZmVyV2l0aEN1cnJlbnRUaW1lLmdldCgpKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29y
ZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNv
cmRlci5jcHAKaW5kZXggMmQ1OGYxZWQxOGM3OTcyMWYxZjgzMDhhNGM4MWY1ZDRhNjcxNDQyZS4u
YmQxYzJkMTI1YmE5YTc3MWVjNjJhOTk1NTAyN2QyMmMzZjE2NjY5NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuY3Bw
CkBAIC04OSw4ICs4OSw4IEBAIHZvaWQgUmVtb3RlTWVkaWFSZWNvcmRlcjo6YXVkaW9TYW1wbGVz
QXZhaWxhYmxlKE1lZGlhVGltZSB0aW1lLCB1aW50NjRfdCBudW1iZXJPCiAKIHZvaWQgUmVtb3Rl
TWVkaWFSZWNvcmRlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGUoU2hhcmVkVmlkZW9GcmFtZSYmIHNo
YXJlZFZpZGVvRnJhbWUpCiB7Ci0gICAgaWYgKGF1dG8gc2FtcGxlID0gbV9zaGFyZWRWaWRlb0Zy
YW1lUmVhZGVyLnJlYWQoV1RGTW92ZShzaGFyZWRWaWRlb0ZyYW1lKSkpCi0gICAgICAgIG1fd3Jp
dGVyLT5hcHBlbmRWaWRlb1NhbXBsZUJ1ZmZlcigqc2FtcGxlKTsKKyAgICBpZiAoYXV0byBmcmFt
ZSA9IG1fc2hhcmVkVmlkZW9GcmFtZVJlYWRlci5yZWFkKFdURk1vdmUoc2hhcmVkVmlkZW9GcmFt
ZSkpKQorICAgICAgICBtX3dyaXRlci0+YXBwZW5kVmlkZW9GcmFtZSgqZnJhbWUpOwogfQogCiB2
b2lkIFJlbW90ZU1lZGlhUmVjb3JkZXI6OmZldGNoRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KElQQzo6RGF0YVJlZmVyZW5jZSYmLCBkb3VibGUpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuY3BwCmluZGV4IGJmNTdjZjQyNjI0MTFhNDBmMDhm
MTFjNjcwOTM5MWQ0MDFmNmE1NDIuLjk0MDI2MzI3ZDAwNDUyMmI1Yzk4YjdkMTA2MmU0MTU1ZTA5
ZjlhODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3Rl
U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5jcHAKQEAgLTExOSwxMiAr
MTE5LDggQEAgdm9pZCBSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnBhdXNlKCkKIAog
dm9pZCBSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVucXVldWUoU2hhcmVkVmlkZW9G
cmFtZSYmIGZyYW1lKQogewotICAgIGF1dG8gc2FtcGxlID0gbV9zaGFyZWRWaWRlb0ZyYW1lUmVh
ZGVyLnJlYWQoV1RGTW92ZShmcmFtZSkpOwotICAgIGlmICghc2FtcGxlKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakM6OnNldEFzRGlzcGxheUltbWVkaWF0ZWx5KCpz
YW1wbGUpOwotICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLT5lbnF1ZXVlU2FtcGxlKCpz
YW1wbGUpOworICAgIGlmIChhdXRvIHZpZGVvRnJhbWUgPSBtX3NoYXJlZFZpZGVvRnJhbWVSZWFk
ZXIucmVhZChXVEZNb3ZlKGZyYW1lKSkpCisgICAgICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyLT5lbnF1ZXVlKHZpZGVvRnJhbWUtPnBpeGVsQnVmZmVyKCksIHZpZGVvRnJhbWUtPnByZXNl
bnRhdGlvblRpbWUoKSk7CiB9CiAKIHZvaWQgUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
OjpjbGVhckVucXVldWVkU2FtcGxlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9TaGFyZWRWaWRlb0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL1NoYXJlZFZpZGVvRnJhbWUuY3BwCmluZGV4IGQ4NDM3NjY1OTRm
ZTRkMmM0OGI2ZTU5NWE4NmNkNTZhMzA5OWI0MzMuLjI2YTM0Zjg0NDZjN2YwZjY2MGY2NzI0NjU0
NjcxNTRhNTM4ZmI3ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL1NoYXJlZFZpZGVvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvd2VicnRjL1NoYXJlZFZpZGVvRnJhbWUuY3BwCkBAIC0zMyw4ICszMyw4IEBACiAjaW5j
bHVkZSAiUmVtb3RlVmlkZW9GcmFtZVByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9DVlV0aWxp
dGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSU9TdXJmYWNlLmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9NZWRpYVNhbXBsZUFWRk9iakMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFZpZGVvRnJh
bWVJbmZvLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9WaWRlb0ZyYW1lQ1YuaD4KICNpbmNsdWRlIDx3
dGYvU2NvcGUuaD4KIAogI2lmIFVTRShMSUJXRUJSVEMpCkBAIC0yMTgsMTMgKzIxOCwxMyBAQCBS
ZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gU2hhcmVkVmlkZW9GcmFtZVJlYWRlcjo6cmVhZEJ1
ZmZlcihTaGFyZWRWaWRlb0ZyYW1lOgogICAgIH0pOwogfQogCi1SZWZQdHI8TWVkaWFTYW1wbGU+
IFNoYXJlZFZpZGVvRnJhbWVSZWFkZXI6OnJlYWQoU2hhcmVkVmlkZW9GcmFtZSYmIHNoYXJlZFZp
ZGVvRnJhbWUpCitSZWZQdHI8VmlkZW9GcmFtZT4gU2hhcmVkVmlkZW9GcmFtZVJlYWRlcjo6cmVh
ZChTaGFyZWRWaWRlb0ZyYW1lJiYgc2hhcmVkVmlkZW9GcmFtZSkKIHsKICAgICBhdXRvIHBpeGVs
QnVmZmVyID0gcmVhZEJ1ZmZlcihXVEZNb3ZlKHNoYXJlZFZpZGVvRnJhbWUuYnVmZmVyKSk7CiAg
ICAgaWYgKCFwaXhlbEJ1ZmZlcikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICByZXR1
cm4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGVGcm9tUGl4ZWxCdWZmZXIoV1RGTW92ZShwaXhl
bEJ1ZmZlciksIHNoYXJlZFZpZGVvRnJhbWUucm90YXRpb24sIHNoYXJlZFZpZGVvRnJhbWUubWly
cm9yZWQsIHNoYXJlZFZpZGVvRnJhbWUudGltZSk7CisgICAgcmV0dXJuIFZpZGVvRnJhbWVDVjo6
Y3JlYXRlKHNoYXJlZFZpZGVvRnJhbWUudGltZSwgc2hhcmVkVmlkZW9GcmFtZS5taXJyb3JlZCwg
c2hhcmVkVmlkZW9GcmFtZS5yb3RhdGlvbiwgV1RGTW92ZShwaXhlbEJ1ZmZlcikpOwogfQogCiBD
VlBpeGVsQnVmZmVyUG9vbFJlZiBTaGFyZWRWaWRlb0ZyYW1lUmVhZGVyOjpwaXhlbEJ1ZmZlclBv
b2woY29uc3QgU2hhcmVkVmlkZW9GcmFtZUluZm8mIGluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TaGFyZWRWaWRlb0ZyYW1lLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TaGFyZWRWaWRlb0ZyYW1lLmgKaW5kZXggNWFi
NDZlODA2NjM1NDE2ZTZmZDRhMGVjYzE5ZDQ1ZjEyMzAxZDc3OS4uY2ZkMTBjMTk4NjUxMzkxYWQz
YWE4ZjNiODgzNTk4OTk5Mjk2OGY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS93ZWJydGMvU2hhcmVkVmlkZW9GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL1NoYXJlZFZpZGVvRnJhbWUuaApAQCAtMzAsOCArMzAsOCBAQAog
I2luY2x1ZGUgIklQQ1NlbWFwaG9yZS5oIgogI2luY2x1ZGUgIlJlbW90ZVZpZGVvRnJhbWVJZGVu
dGlmaWVyLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9N
ZWRpYVNhbXBsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvY2Vzc0lkZW50aXR5Lmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9WaWRlb0ZyYW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CkBAIC05
Niw3ICs5Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNlbWFwaG9yZShJUEM6OlNlbWFwaG9y
ZSYmIHNlbWFwaG9yZSkgeyBtX3NlbWFwaG9yZSA9IFdURk1vdmUoc2VtYXBob3JlKTsgfQogICAg
IGJvb2wgc2V0U2hhcmVkTWVtb3J5KGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJik7CiAK
LSAgICBSZWZQdHI8V2ViQ29yZTo6TWVkaWFTYW1wbGU+IHJlYWQoU2hhcmVkVmlkZW9GcmFtZSYm
KTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6VmlkZW9GcmFtZT4gcmVhZChTaGFyZWRWaWRlb0ZyYW1l
JiYpOwogICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiByZWFkQnVmZmVyKFNoYXJlZFZp
ZGVvRnJhbWU6OkJ1ZmZlciYmKTsKIAogcHJpdmF0ZToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454104</attachid>
            <date>2022-03-08 05:00:13 -0800</date>
            <delta_ts>2022-03-15 01:45:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237596-20220308140011.patch</filename>
            <type>text/plain</type>
            <size>21572</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwOTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDY0NDE3ODY5NjVhZTEw
M2FhYjdlNGQ1MzZmMjcxMjdhMDRjYTc0Zi4uNjYyZjYzOGE0YWFhMDRhNDk4YTU4Njg5ZTMyZWE4
MDNkYmU3ODZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTAzLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFNoYXJlZFZpZGVv
RnJhbWVSZWFkZXIgdXNlIFZpZGVvRnJhbWVDViBpbnN0ZWFkIG9mIE1lZGlhU2FtcGxlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc1OTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgbWVkaWEg
cmVjb3JkZXIgYW5kIGRpc3BsYXkgbGF5ZXIgdG8gdXNlIHBpeGVsIGJ1ZmZlcnMgaW5zdGVhZCBv
ZiBNZWRpYVNhbXBsZS4KKyAgICAgICAgVGhpcyBhbGxvd3MgbWlncmF0aW5nIHRvIFZpZGVvRnJh
bWVDVi4KKyAgICAgICAgTm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICogcGxhdGZv
cm0vY29jb2EvTWVkaWFVdGlsaXRpZXMuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL01l
ZGlhVXRpbGl0aWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
ci5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlQVZGSW1wbC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJl
Y29yZGVyUHJpdmF0ZUFWRkltcGwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2Eu
bW06CisKIDIwMjItMDMtMDggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbmFtZSBWaWRlb1NhbXBsZU1ldGFkYXRhIHRvIFZpZGVvRnJhbWVUaW1lTWV0YWRh
dGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggMmNkYzFjYTllNDE1ZmEwMTAzMGIzMWQyNjZkYjE1N2ZjMjI1YTRiMi4u
ZDJjNWE0Zjg4YjliOTViNTRlZWJkYWJlMWU0YzQ0MGE2ZmY2MWMxYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMi0wMy0wOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgTWFrZSBTaGFyZWRWaWRlb0ZyYW1lUmVhZGVyIHVzZSBWaWRlb0ZyYW1lQ1Yg
aW5zdGVhZCBvZiBNZWRpYVNhbXBsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM3NTk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNw
cDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TaGFyZWRWaWRlb0Zy
YW1lLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvU2hhcmVkVmlkZW9GcmFt
ZS5oOgorCiAyMDIyLTAzLTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW5hbWUgVmlkZW9TYW1wbGVNZXRhZGF0YSB0byBWaWRlb0ZyYW1lVGltZU1ldGFk
YXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZWRpYVV0aWxp
dGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZWRpYVV0aWxpdGllcy5j
cHAKaW5kZXggYzU1ZDJhNTZkZTk3MzQwYmExYzRhYjc4NjA5MTRmZmZhZmY5MGM1ZS4uZGZmNzg1
M2Y5ODRkNmEwNjcwM2I4NzYxMTM4MDNjY2Y0MjI3ZWJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvTWVkaWFVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL01lZGlhVXRpbGl0aWVzLmNwcApAQCAtNjgsNCArNjgsMjEgQEAg
UmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBjcmVhdGVBdWRpb1NhbXBsZUJ1ZmZlcihjb25z
dCBQbGF0Zm9ybUF1ZGlvRGF0YSYgZGEKICAgICByZXR1cm4gYnVmZmVyOwogfQogCitSZXRhaW5Q
dHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNyZWF0ZVZpZGVvU2FtcGxlQnVmZmVyKENWUGl4ZWxCdWZm
ZXJSZWYgcGl4ZWxCdWZmZXIsIENNVGltZSBwcmVzZW50YXRpb25UaW1lKQoreworICAgIENNVmlk
ZW9Gb3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IG51bGxwdHI7CisgICAg
YXV0byBzdGF0dXMgPSBQQUw6OkNNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZUZvckltYWdl
QnVmZmVyKGtDRkFsbG9jYXRvckRlZmF1bHQsIHBpeGVsQnVmZmVyLCAmZm9ybWF0RGVzY3JpcHRp
b24pOworICAgIGlmIChzdGF0dXMpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGF1dG8g
cmV0YWluZWRGb3JtYXREZXNjcmlwdGlvbiA9IGFkb3B0Q0YoZm9ybWF0RGVzY3JpcHRpb24pOwor
CisgICAgQ01TYW1wbGVUaW1pbmdJbmZvIHRpbWluZ0luZm8geyBQQUw6OmtDTVRpbWVJbnZhbGlk
LCBwcmVzZW50YXRpb25UaW1lLCBQQUw6OmtDTVRpbWVJbnZhbGlkIH07CisgICAgQ01TYW1wbGVC
dWZmZXJSZWYgc2FtcGxlQnVmZmVyOworICAgIHN0YXR1cyA9IFBBTDo6Q01TYW1wbGVCdWZmZXJD
cmVhdGVSZWFkeVdpdGhJbWFnZUJ1ZmZlcihrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBwaXhlbEJ1ZmZl
ciwgZm9ybWF0RGVzY3JpcHRpb24sICZ0aW1pbmdJbmZvLCAmc2FtcGxlQnVmZmVyKTsKKyAgICBp
ZiAoc3RhdHVzKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBhZG9wdENG
KHNhbXBsZUJ1ZmZlcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL01lZGlhVXRpbGl0aWVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZWRpYVV0aWxpdGllcy5oCmluZGV4IDkxNzA4ZWEyMmFk
NGI1YmJjN2VmODlkNGNiNWRiMzU5OWQ4ZTYyNWUuLmMyYzBkYjUxZmQ5YTcyNTljYmRlY2EzYjM5
ZDM5YzY4OWY2OGE3NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L01lZGlhVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTWVk
aWFVdGlsaXRpZXMuaApAQCAtMzAsNiArMzAsNyBAQAogCiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBv
cGFxdWVDTUZvcm1hdERlc2NyaXB0aW9uKiBDTUZvcm1hdERlc2NyaXB0aW9uUmVmOwogdHlwZWRl
ZiBzdHJ1Y3Qgb3BhcXVlQ01TYW1wbGVCdWZmZXIqIENNU2FtcGxlQnVmZmVyUmVmOwordHlwZWRl
ZiBzdHJ1Y3QgX19DVkJ1ZmZlciAqQ1ZQaXhlbEJ1ZmZlclJlZjsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC0zOCw1ICszOSw2IEBAIGNsYXNzIFBsYXRmb3JtQXVkaW9EYXRhOwogCiBSZXRh
aW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlv
bihjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgc2l6ZV90IG1hZ2ljQ29va2llU2l6ZSA9
IDAsIGNvbnN0IHZvaWQqIG1hZ2ljQ29va2llID0gbnVsbHB0cik7CiBSZXRhaW5QdHI8Q01TYW1w
bGVCdWZmZXJSZWY+IGNyZWF0ZUF1ZGlvU2FtcGxlQnVmZmVyKGNvbnN0IFBsYXRmb3JtQXVkaW9E
YXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIENNVGltZSwgc2l6ZV90IHNhbXBs
ZUNvdW50KTsKK1JldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gY3JlYXRlVmlkZW9TYW1wbGVC
dWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZiwgQ01UaW1lKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyLmgKaW5kZXggYmY0Y2NhZmNkODE4MGNjMTQ2OTljZTExODA2OGNmYTgxNTIwYzAx
ZS4uYTY2YjI3MzViY2VhZWRlYzM1NmVjN2YwODM3NDIzNTY1NGVkYjIzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5o
CkBAIC03OSw2ICs3OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHBsYXkoKSBmaW5hbDsKICAgICB2
b2lkIHBhdXNlKCkgZmluYWw7CiAKKyAgICB2b2lkIGVucXVldWUoQ1ZQaXhlbEJ1ZmZlclJlZiwg
TWVkaWFUaW1lKTsKICAgICB2b2lkIGVucXVldWVTYW1wbGUoTWVkaWFTYW1wbGUmKSBmaW5hbDsK
ICAgICB2b2lkIGNsZWFyRW5xdWV1ZWRTYW1wbGVzKCkgZmluYWw7CiAgICAgdm9pZCBzZXRSZW5k
ZXJQb2xpY3koUmVuZGVyUG9saWN5KSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KaW5kZXggOWJmNGIwYjhk
NWM0ODFhNTM0ZmQ5MGNmMTZjOTU1OWZiNmNkNzE2YS4uMWNjZGRmYTg4MTVhNGY3NjRlMjQ5MWM3
MDQ3NWI4ZDIwYmRjNDkwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KQEAgLTMyLDYgKzMyLDcgQEAKICNpbXBv
cnQgIkludFNpemUuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1lZGlhU2FtcGxl
QVZGT2JqQy5oIgorI2ltcG9ydCAiTWVkaWFVdGlsaXRpZXMuaCIKIAogI2ltcG9ydCA8QVZGb3Vu
ZGF0aW9uL0FWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmg+CiAjaW1wb3J0IDxRdWFydHpDb3Jl
L0NBTGF5ZXIuaD4KQEAgLTMzMiwyNCArMzMzLDI5IEBAIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXI6OmVucXVldWVTYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKIH0KIAogdm9p
ZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBsZUJ1ZmZlcihNZWRp
YVNhbXBsZSYgc2FtcGxlKQoreworICAgIGVucXVldWUoc2FtcGxlLnBpeGVsQnVmZmVyKCksIHNh
bXBsZS5wcmVzZW50YXRpb25UaW1lKCkpOworfQorCitzdGF0aWMgdm9pZCBzZXRTYW1wbGVCdWZm
ZXJBc0Rpc3BsYXlJbW1lZGlhdGVseShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIpCit7
CisgICAgQ0ZBcnJheVJlZiBhdHRhY2htZW50c0FycmF5ID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdl
dFNhbXBsZUF0dGFjaG1lbnRzQXJyYXkoc2FtcGxlQnVmZmVyLCB0cnVlKTsKKyAgICBmb3IgKENG
SW5kZXggaSA9IDA7IGkgPCBDRkFycmF5R2V0Q291bnQoYXR0YWNobWVudHNBcnJheSk7ICsraSkg
eworICAgICAgICBDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGF0dGFjaG1lbnRzID0gY2hlY2tlZF9j
Zl9jYXN0PENGTXV0YWJsZURpY3Rpb25hcnlSZWY+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgoYXR0
YWNobWVudHNBcnJheSwgaSkpOworICAgICAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShhdHRhY2ht
ZW50cywgUEFMOjprQ01TYW1wbGVBdHRhY2htZW50S2V5X0Rpc3BsYXlJbW1lZGlhdGVseSwga0NG
Qm9vbGVhblRydWUpOworICAgIH0KK30KKwordm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllcjo6ZW5xdWV1ZShDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyLCBNZWRpYVRpbWUgcHJl
c2VudGF0aW9uVGltZSkKIHsKICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKLSAgICAvLyBG
SVhNRTogTG9jYWwgcGxheWJhY2sgb2YgUmVtb3RlVmlkZW9GcmFtZVByb3h5IGlzIG5vdCBpbXBs
ZW1lbnRlZC4KLSAgICBpZiAoIWlzPE1lZGlhU2FtcGxlQVZGT2JqQz4oc2FtcGxlKSkKLSAgICAg
ICAgcmV0dXJuOwogCi0gICAgYXV0byBzYW1wbGVUb0VucXVldWUgPSBzYW1wbGUucGxhdGZvcm1T
YW1wbGUoKS5zYW1wbGUuY21TYW1wbGVCdWZmZXI7CisgICAgYXV0byBzYW1wbGVCdWZmZXIgPSBj
cmVhdGVWaWRlb1NhbXBsZUJ1ZmZlcihwaXhlbEJ1ZmZlciwgUEFMOjp0b0NNVGltZShwcmVzZW50
YXRpb25UaW1lKSk7CiAgICAgYXV0byBub3cgPSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUo
TW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpICsgcmVuZGVy
ZXJMYXRlbmN5KTsKKyAgICBpZiAobV9yZW5kZXJQb2xpY3kgPT0gUmVuZGVyUG9saWN5OjpJbW1l
ZGlhdGVseSB8fCBub3cgPj0gcHJlc2VudGF0aW9uVGltZSkKKyAgICAgICAgc2V0U2FtcGxlQnVm
ZmVyQXNEaXNwbGF5SW1tZWRpYXRlbHkoc2FtcGxlQnVmZmVyLmdldCgpKTsKIAotICAgIC8vIElm
IG5lZWRlZCwgd2Ugc2V0IHRoZSBzYW1wbGUgYnVmZmVyIHRvIGtDTVNhbXBsZUF0dGFjaG1lbnRL
ZXlfRGlzcGxheUltbWVkaWF0ZWx5IGFzIGEgd29ya2Fyb3VuZCB0byByZGFyOi8vcHJvYmxlbS80
OTI3NDA4My4KLSAgICAvLyBXZSBjbG9uZSB0aGUgc2FtcGxlIGJ1ZmZlciBhcyBtb2RpZnlpbmcg
dGhlIGF0dGFjaG1lbnRzIG9mIGEgc2FtcGxlIGJ1ZmZlciB1c2VkIGVsc2V3aGVyZSAoZW5jb2Rp
bmcgZS5nLikgbWF5IG5vdCBiZSB0aHJlYWQgc2FmZS4KLSAgICBSZXRhaW5QdHI8Q01TYW1wbGVC
dWZmZXJSZWY+IG5ld1NhbXBsZUJ1ZmZlcjsKLSAgICBpZiAobV9yZW5kZXJQb2xpY3kgPT0gUmVu
ZGVyUG9saWN5OjpJbW1lZGlhdGVseSB8fCBub3cgPj0gc2FtcGxlLnByZXNlbnRhdGlvblRpbWUo
KSkgewotICAgICAgICBuZXdTYW1wbGVCdWZmZXIgPSBNZWRpYVNhbXBsZUFWRk9iakM6OmNsb25l
U2FtcGxlQnVmZmVyQW5kU2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoc2FtcGxlVG9FbnF1ZXVlKTsK
LSAgICAgICAgc2FtcGxlVG9FbnF1ZXVlID0gbmV3U2FtcGxlQnVmZmVyLmdldCgpOwotICAgIH0K
LQotICAgIFttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciBlbnF1ZXVlU2FtcGxlQnVmZmVyOnNh
bXBsZVRvRW5xdWV1ZV07CisgICAgW21fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIGVucXVldWVT
YW1wbGVCdWZmZXI6c2FtcGxlQnVmZmVyLmdldCgpXTsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAogICAgIGNvbnN0ZXhwciBzaXplX3QgZnJhbWVDb3VudFBlckxvZyA9IDE4MDA7IC8vIGxv
ZyBldmVyeSBtaW51dGUgYXQgMzAgZnBzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZG
SW1wbC5jcHAKaW5kZXggZTYwYjA1M2E1NWExNWQ5Mzc3ODU4YTM3MGIwMjg0ZmJiZjliYWVhNS4u
MWMwZDNlNTNjNjFjMmYxNjhmYTVkY2ZlZmUzZGEyYzM2M2QyOTJiZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcApAQCAtMzMsMTAgKzMzLDEwIEBACiAjaW5jbHVk
ZSAiQ1ZVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFS
ZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oIgotI2luY2x1ZGUgIk1lZGlhU2FtcGxlQVZGT2Jq
Qy5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtUHJpdmF0ZS5oIgogI2luY2x1ZGUgIlJlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCisj
aW5jbHVkZSAiVmlkZW9GcmFtZUNWLmgiCiAjaW5jbHVkZSAiV2ViQXVkaW9CdWZmZXJMaXN0Lmgi
CiAKICNpbmNsdWRlICJDb3JlVmlkZW9Tb2Z0TGluay5oIgpAQCAtODMsNDAgKzgzLDE5IEBAIHZv
aWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpzdGFydFJlY29yZGluZyhTdGFydFJlY29y
ZGluZ0NhbGxiYWNrJiYgY2FsbGJhCiAgICAgY2FsbGJhY2soU3RyaW5nKG1fd3JpdGVyLT5taW1l
VHlwZSgpKSwgbV93cml0ZXItPmF1ZGlvQml0UmF0ZSgpLCBtX3dyaXRlci0+dmlkZW9CaXRSYXRl
KCkpOwogfQogCi12b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6dmlkZW9TYW1wbGVB
dmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZUJ1ZmZlciwgVmlkZW9GcmFtZVRpbWVNZXRhZGF0
YSkKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjp2aWRlb1NhbXBsZUF2YWlsYWJs
ZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb0ZyYW1lVGltZU1ldGFkYXRhKQogewogICAgIGlm
IChzaG91bGRNdXRlVmlkZW8oKSkgewogICAgICAgICBpZiAoIW1fYmxhY2tGcmFtZSkgewotICAg
ICAgICAgICAgbV9ibGFja0ZyYW1lRGVzY3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0
Rm9ybWF0RGVzY3JpcHRpb24oc2FtcGxlQnVmZmVyLnBsYXRmb3JtU2FtcGxlKCkuc2FtcGxlLmNt
U2FtcGxlQnVmZmVyKTsKLSAgICAgICAgICAgIGF1dG8gZGltZW5zaW9ucyA9IFBBTDo6Q01WaWRl
b0Zvcm1hdERlc2NyaXB0aW9uR2V0RGltZW5zaW9ucyhtX2JsYWNrRnJhbWVEZXNjcmlwdGlvbi5n
ZXQoKSk7Ci0gICAgICAgICAgICBtX2JsYWNrRnJhbWUgPSBjcmVhdGVCbGFja1BpeGVsQnVmZmVy
KGRpbWVuc2lvbnMud2lkdGgsIGRpbWVuc2lvbnMuaGVpZ2h0KTsKLQotICAgICAgICAgICAgQ01W
aWRlb0Zvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gbnVsbHB0cjsKLSAg
ICAgICAgICAgIGF1dG8gc3RhdHVzID0gUEFMOjpDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25DcmVh
dGVGb3JJbWFnZUJ1ZmZlcihrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBtX2JsYWNrRnJhbWUuZ2V0KCks
ICZmb3JtYXREZXNjcmlwdGlvbik7Ci0gICAgICAgICAgICBpZiAoc3RhdHVzICE9IG5vRXJyKSB7
Ci0gICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJNZWRpYVJlY29yZGVy
UHJpdmF0ZUFWRkltcGw6OnZpZGVvU2FtcGxlQXZhaWxhYmxlIDo6dW5hYmxlIHRvIGNyZWF0ZSBh
IGJsYWNrIGZyYW1lIGRlc2NyaXB0aW9uOiAlZCIsIHN0YXRpY19jYXN0PGludD4oc3RhdHVzKSk7
Ci0gICAgICAgICAgICAgICAgbV9ibGFja0ZyYW1lID0gbnVsbHB0cjsKLSAgICAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBtX2JsYWNrRnJhbWVEZXNjcmlw
dGlvbiA9IGFkb3B0Q0YoZm9ybWF0RGVzY3JpcHRpb24pOworICAgICAgICAgICAgYXV0byBzaXpl
ID0gc2FtcGxlLnByZXNlbnRhdGlvblNpemUoKTsKKyAgICAgICAgICAgIG1fYmxhY2tGcmFtZSA9
IFZpZGVvRnJhbWVDVjo6Y3JlYXRlKHNhbXBsZS5wcmVzZW50YXRpb25UaW1lKCksIHNhbXBsZS52
aWRlb01pcnJvcmVkKCksIHNhbXBsZS52aWRlb1JvdGF0aW9uKCksIGNyZWF0ZUJsYWNrUGl4ZWxC
dWZmZXIoc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpKSk7CiAgICAgICAgIH0KLQotICAgICAg
ICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUgPSBudWxscHRyOwotICAgICAgICBDTVNhbXBsZVRp
bWluZ0luZm8gdGltaW5nSW5mbyB7IFBBTDo6a0NNVGltZUludmFsaWQsIFBBTDo6dG9DTVRpbWUo
c2FtcGxlQnVmZmVyLnByZXNlbnRhdGlvblRpbWUoKSksIFBBTDo6dG9DTVRpbWUoc2FtcGxlQnVm
ZmVyLmRlY29kZVRpbWUoKSkgfTsKLSAgICAgICAgYXV0byBzdGF0dXMgPSBQQUw6OkNNU2FtcGxl
QnVmZmVyQ3JlYXRlUmVhZHlXaXRoSW1hZ2VCdWZmZXIoa0NGQWxsb2NhdG9yRGVmYXVsdCwgKENW
SW1hZ2VCdWZmZXJSZWYpbV9ibGFja0ZyYW1lLmdldCgpLCBtX2JsYWNrRnJhbWVEZXNjcmlwdGlv
bi5nZXQoKSwgJnRpbWluZ0luZm8sICZzYW1wbGUpOwotCi0gICAgICAgIGlmIChzdGF0dXMgIT0g
bm9FcnIpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhU3RyZWFtLCAiTWVk
aWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjp2aWRlb1NhbXBsZUF2YWlsYWJsZSAtIHVuYWJsZSB0
byBjcmVhdGUgYSBibGFjayBmcmFtZTogJWQiLCBzdGF0aWNfY2FzdDxpbnQ+KHN0YXR1cykpOwot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIGF1dG8gbmV3U2FtcGxlID0g
YWRvcHRDRihzYW1wbGUpOwotICAgICAgICBtX3dyaXRlci0+YXBwZW5kVmlkZW9TYW1wbGVCdWZm
ZXIoTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGUobmV3U2FtcGxlLmdldCgpLCBzYW1wbGVCdWZm
ZXIudmlkZW9Sb3RhdGlvbigpLCBzYW1wbGVCdWZmZXIudmlkZW9NaXJyb3JlZCgpKSk7CisgICAg
ICAgIG1fd3JpdGVyLT5hcHBlbmRWaWRlb0ZyYW1lKCptX2JsYWNrRnJhbWUpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCiAgICAgbV9ibGFja0ZyYW1lID0gbnVsbHB0cjsKLSAgICBtX2JsYWNr
RnJhbWVEZXNjcmlwdGlvbiA9IG51bGxwdHI7Ci0gICAgbV93cml0ZXItPmFwcGVuZFZpZGVvU2Ft
cGxlQnVmZmVyKHNhbXBsZUJ1ZmZlcik7CisgICAgbV93cml0ZXItPmFwcGVuZFZpZGVvRnJhbWUo
VmlkZW9GcmFtZUNWOjpjcmVhdGUoc2FtcGxlLnByZXNlbnRhdGlvblRpbWUoKSwgc2FtcGxlLnZp
ZGVvTWlycm9yZWQoKSwgc2FtcGxlLnZpZGVvUm90YXRpb24oKSwgc2FtcGxlLnBpeGVsQnVmZmVy
KCkpKTsKIH0KIAogdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OmF1ZGlvU2FtcGxl
c0F2YWlsYWJsZShjb25zdCBNZWRpYVRpbWUmIG1lZGlhVGltZSwgY29uc3QgUGxhdGZvcm1BdWRp
b0RhdGEmIGRhdGEsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBz
aXplX3Qgc2FtcGxlQ291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaApp
bmRleCAwNDc2N2QwODRhMjdiZGVlNDI0ZGVmOTNkNTgwM2RiZmVlZTg5ZGZlLi45NTdmNWQwODc3
OWZhOWMzOTI3N2U5MTU5M2M1NjM5NjhjZDc4ODI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclBy
aXZhdGVBVkZJbXBsLmgKQEAgLTYwLDggKzYwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlc3Vt
ZVJlY29yZGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwogCiAgICAgUmVm
PE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiBtX3dyaXRlcjsKLSAgICBSZXRhaW5QdHI8Q1ZQ
aXhlbEJ1ZmZlclJlZj4gbV9ibGFja0ZyYW1lOwotICAgIFJldGFpblB0cjxDTUZvcm1hdERlc2Ny
aXB0aW9uUmVmPiBtX2JsYWNrRnJhbWVEZXNjcmlwdGlvbjsKKyAgICBSZWZQdHI8VmlkZW9GcmFt
ZT4gbV9ibGFja0ZyYW1lOwogICAgIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBtX2Rlc2NyaXB0
aW9uOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJBdWRpb0J1ZmZlckxpc3Q+IG1fYXVkaW9CdWZm
ZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRl
ci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
Q29jb2EuaAppbmRleCA0NGUyMDhlZWJjNWFmZWZlMGI1ZmFhM2RiMzUzYzc1NTUxMDE3MDEzLi5h
ZGNlNDgzMDJmNWRhOWY3MzA1ZjlkZjJmNGJiYjA4YzBjZDFlZGYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29y
ZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaApAQCAtNTYsOSArNTYs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJl
c3NvcjsKIGNsYXNzIEF1ZGlvU3RyZWFtRGVzY3JpcHRpb247Ci1jbGFzcyBNZWRpYVNhbXBsZTsK
IGNsYXNzIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOwogY2xhc3MgUGxhdGZvcm1BdWRpb0RhdGE7
CitjbGFzcyBWaWRlb0ZyYW1lOwogY2xhc3MgVmlkZW9TYW1wbGVCdWZmZXJDb21wcmVzc29yOwog
c3RydWN0IE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9uczsKIApAQCAtNjcsNyArNjcsNyBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIFJlZlB0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4gY3Jl
YXRlKGJvb2wgaGFzQXVkaW8sIGJvb2wgaGFzVmlkZW8sIGNvbnN0IE1lZGlhUmVjb3JkZXJQcml2
YXRlT3B0aW9ucyYpOwogICAgIH5NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcigpOwogCi0gICAg
dm9pZCBhcHBlbmRWaWRlb1NhbXBsZUJ1ZmZlcihNZWRpYVNhbXBsZSYpOworICAgIHZvaWQgYXBw
ZW5kVmlkZW9GcmFtZShWaWRlb0ZyYW1lJik7CiAgICAgdm9pZCBhcHBlbmRBdWRpb1NhbXBsZUJ1
ZmZlcihjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRp
b24mLCBjb25zdCBXVEY6Ok1lZGlhVGltZSYsIHNpemVfdCk7CiAgICAgdm9pZCBzdG9wUmVjb3Jk
aW5nKCk7CiAgICAgdm9pZCBmZXRjaERhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8
RnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcj4mJiwgZG91YmxlKT4mJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KaW5kZXggZjVlODQzMDdl
OTVlZmIyYTY2MmY3NGViNmE3NzM2NmRhYTk5NmZiNC4uMzE2NmU4MTQ2MjllOTA0OGUxMGQ0Yzg5
MGI4OWEyYTdlNjIwYzI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRl
clByaXZhdGVXcml0ZXJDb2NvYS5tbQpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIk1lZGlh
UmVjb3JkZXJQcml2YXRlT3B0aW9ucy5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2tQcml2
YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFVdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJWaWRlb0ZyYW1l
LmgiCiAjaW5jbHVkZSAiVmlkZW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLmgiCiAjaW5jbHVkZSAi
V2ViQXVkaW9CdWZmZXJMaXN0LmgiCiAjaW5jbHVkZSA8QVZGb3VuZGF0aW9uL0FWQXNzZXRXcml0
ZXIuaD4KQEAgLTM4MCw0MiArMzgxLDIxIEBAIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0
ZXI6OmZsdXNoQ29tcHJlc3NlZFNhbXBsZUJ1ZmZlcnMoRnVuY3Rpb248dm9pZCgpPiYmCiAgICAg
ICAgIFttX3ZpZGVvQXNzZXRXcml0ZXJJbnB1dCByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25R
dWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6YmxvY2suZ2V0KCldOwog
fQogCi1zdGF0aWMgaW5saW5lIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gY29weVNhbXBs
ZUJ1ZmZlcldpdGhDdXJyZW50VGltZVN0YW1wKENNU2FtcGxlQnVmZmVyUmVmIG9yaWdpbmFsQnVm
ZmVyLCBDTVRpbWUgc3RhcnRUaW1lKQotewotICAgIENNSXRlbUNvdW50IGNvdW50ID0gMDsKLSAg
ICBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mb0FycmF5KG9yaWdpbmFsQnVm
ZmVyLCAwLCBuaWwsICZjb3VudCk7Ci0KLSAgICBWZWN0b3I8Q01TYW1wbGVUaW1pbmdJbmZvPiB0
aW1lSW5mbyhjb3VudCk7Ci0gICAgUEFMOjpDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0lu
Zm9BcnJheShvcmlnaW5hbEJ1ZmZlciwgY291bnQsIHRpbWVJbmZvLmRhdGEoKSwgJmNvdW50KTsK
LQotICAgIGZvciAoYXV0byBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKLSAgICAgICAgdGltZUlu
Zm9baV0uZGVjb2RlVGltZVN0YW1wID0gUEFMOjprQ01UaW1lSW52YWxpZDsKLSAgICAgICAgdGlt
ZUluZm9baV0ucHJlc2VudGF0aW9uVGltZVN0YW1wID0gc3RhcnRUaW1lOwotICAgIH0KLQotICAg
IENNU2FtcGxlQnVmZmVyUmVmIG5ld0J1ZmZlciA9IG51bGxwdHI7Ci0gICAgaWYgKGF1dG8gZXJy
b3IgPSBQQUw6OkNNU2FtcGxlQnVmZmVyQ3JlYXRlQ29weVdpdGhOZXdUaW1pbmcoa0NGQWxsb2Nh
dG9yRGVmYXVsdCwgb3JpZ2luYWxCdWZmZXIsIGNvdW50LCB0aW1lSW5mby5kYXRhKCksICZuZXdC
dWZmZXIpKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhU3RyZWFtLCAiTWVkaWFS
ZWNvcmRlclByaXZhdGVXcml0ZXIgQ01TYW1wbGVCdWZmZXJDcmVhdGVDb3B5V2l0aE5ld1RpbWlu
ZyBmYWlsZWQgd2l0aCAlZCIsIGVycm9yKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAg
fQotICAgIHJldHVybiBhZG9wdENGKG5ld0J1ZmZlcik7Ci19Ci0KLXZvaWQgTWVkaWFSZWNvcmRl
clByaXZhdGVXcml0ZXI6OmFwcGVuZFZpZGVvU2FtcGxlQnVmZmVyKE1lZGlhU2FtcGxlJiBzYW1w
bGUpCit2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjphcHBlbmRWaWRlb0ZyYW1lKFZp
ZGVvRnJhbWUmIGZyYW1lKQogewogICAgIGlmICghbV9maXJzdFZpZGVvRnJhbWUpIHsKICAgICAg
ICAgbV9maXJzdFZpZGVvRnJhbWUgPSB0cnVlOwogICAgICAgICBtX3Jlc3VtZWRWaWRlb1RpbWUg
PSBQQUw6OkNNQ2xvY2tHZXRUaW1lKFBBTDo6Q01DbG9ja0dldEhvc3RUaW1lQ2xvY2soKSk7Ci0g
ICAgICAgIGlmIChzYW1wbGUudmlkZW9Sb3RhdGlvbigpICE9IE1lZGlhU2FtcGxlOjpWaWRlb1Jv
dGF0aW9uOjpOb25lIHx8IHNhbXBsZS52aWRlb01pcnJvcmVkKCkpIHsKLSAgICAgICAgICAgIG1f
dmlkZW9UcmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybU1ha2VSb3RhdGlvbihzdGF0aWNfY2Fz
dDxpbnQ+KHNhbXBsZS52aWRlb1JvdGF0aW9uKCkpICogTV9QSSAvIDE4MCk7Ci0gICAgICAgICAg
ICBpZiAoc2FtcGxlLnZpZGVvTWlycm9yZWQoKSkKKyAgICAgICAgaWYgKGZyYW1lLnZpZGVvUm90
YXRpb24oKSAhPSBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbjo6Tm9uZSB8fCBmcmFtZS52aWRl
b01pcnJvcmVkKCkpIHsKKyAgICAgICAgICAgIG1fdmlkZW9UcmFuc2Zvcm0gPSBDR0FmZmluZVRy
YW5zZm9ybU1ha2VSb3RhdGlvbihzdGF0aWNfY2FzdDxpbnQ+KGZyYW1lLnZpZGVvUm90YXRpb24o
KSkgKiBNX1BJIC8gMTgwKTsKKyAgICAgICAgICAgIGlmIChmcmFtZS52aWRlb01pcnJvcmVkKCkp
CiAgICAgICAgICAgICAgICAgbV92aWRlb1RyYW5zZm9ybSA9IENHQWZmaW5lVHJhbnNmb3JtU2Nh
bGUoKm1fdmlkZW9UcmFuc2Zvcm0sIC0xLCAxKTsKICAgICAgICAgfQogICAgIH0KIAotICAgIGF1
dG8gc2FtcGxlVGltZSA9IFBBTDo6Q01UaW1lU3VidHJhY3QoUEFMOjpDTUNsb2NrR2V0VGltZShQ
QUw6OkNNQ2xvY2tHZXRIb3N0VGltZUNsb2NrKCkpLCBtX3Jlc3VtZWRWaWRlb1RpbWUpOwotICAg
IHNhbXBsZVRpbWUgPSBQQUw6OkNNVGltZUFkZChzYW1wbGVUaW1lLCBtX2N1cnJlbnRWaWRlb0R1
cmF0aW9uKTsKLSAgICBpZiAoYXV0byBidWZmZXJXaXRoQ3VycmVudFRpbWUgPSBjb3B5U2FtcGxl
QnVmZmVyV2l0aEN1cnJlbnRUaW1lU3RhbXAoc2FtcGxlLnBsYXRmb3JtU2FtcGxlKCkuc2FtcGxl
LmNtU2FtcGxlQnVmZmVyLCBzYW1wbGVUaW1lKSkKKyAgICBhdXRvIGZyYW1lVGltZSA9IFBBTDo6
Q01UaW1lU3VidHJhY3QoUEFMOjpDTUNsb2NrR2V0VGltZShQQUw6OkNNQ2xvY2tHZXRIb3N0VGlt
ZUNsb2NrKCkpLCBtX3Jlc3VtZWRWaWRlb1RpbWUpOworICAgIGZyYW1lVGltZSA9IFBBTDo6Q01U
aW1lQWRkKGZyYW1lVGltZSwgbV9jdXJyZW50VmlkZW9EdXJhdGlvbik7CisgICAgaWYgKGF1dG8g
YnVmZmVyV2l0aEN1cnJlbnRUaW1lID0gY3JlYXRlVmlkZW9TYW1wbGVCdWZmZXIoZnJhbWUucGl4
ZWxCdWZmZXIoKSwgZnJhbWVUaW1lKSkKICAgICAgICAgbV92aWRlb0NvbXByZXNzb3ItPmFkZFNh
bXBsZUJ1ZmZlcihidWZmZXJXaXRoQ3VycmVudFRpbWUuZ2V0KCkpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNw
cAppbmRleCAyZDU4ZjFlZDE4Yzc5NzIxZjFmODMwOGE0YzgxZjVkNGE2NzE0NDJlLi5iZDFjMmQx
MjViYTlhNzcxZWM2MmE5OTU1MDI3ZDIyYzNmMTY2Njk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5jcHAKQEAgLTg5
LDggKzg5LDggQEAgdm9pZCBSZW1vdGVNZWRpYVJlY29yZGVyOjphdWRpb1NhbXBsZXNBdmFpbGFi
bGUoTWVkaWFUaW1lIHRpbWUsIHVpbnQ2NF90IG51bWJlck8KIAogdm9pZCBSZW1vdGVNZWRpYVJl
Y29yZGVyOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShTaGFyZWRWaWRlb0ZyYW1lJiYgc2hhcmVkVmlk
ZW9GcmFtZSkKIHsKLSAgICBpZiAoYXV0byBzYW1wbGUgPSBtX3NoYXJlZFZpZGVvRnJhbWVSZWFk
ZXIucmVhZChXVEZNb3ZlKHNoYXJlZFZpZGVvRnJhbWUpKSkKLSAgICAgICAgbV93cml0ZXItPmFw
cGVuZFZpZGVvU2FtcGxlQnVmZmVyKCpzYW1wbGUpOworICAgIGlmIChhdXRvIGZyYW1lID0gbV9z
aGFyZWRWaWRlb0ZyYW1lUmVhZGVyLnJlYWQoV1RGTW92ZShzaGFyZWRWaWRlb0ZyYW1lKSkpCisg
ICAgICAgIG1fd3JpdGVyLT5hcHBlbmRWaWRlb0ZyYW1lKCpmcmFtZSk7CiB9CiAKIHZvaWQgUmVt
b3RlTWVkaWFSZWNvcmRlcjo6ZmV0Y2hEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoSVBDOjpE
YXRhUmVmZXJlbmNlJiYsIGRvdWJsZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci5jcHAKaW5kZXggYmY1N2NmNDI2MjQxMWE0MGYwOGYxMWM2NzA5
MzkxZDQwMWY2YTU0Mi4uOTQwMjYzMjdkMDA0NTIyYjVjOThiN2QxMDYyZTQxNTVlMDlmOWE4MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJy
dGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmNwcApAQCAtMTE5LDEyICsxMTksOCBA
QCB2b2lkIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6cGF1c2UoKQogCiB2b2lkIFJl
bW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZShTaGFyZWRWaWRlb0ZyYW1lJiYg
ZnJhbWUpCiB7Ci0gICAgYXV0byBzYW1wbGUgPSBtX3NoYXJlZFZpZGVvRnJhbWVSZWFkZXIucmVh
ZChXVEZNb3ZlKGZyYW1lKSk7Ci0gICAgaWYgKCFzYW1wbGUpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIE1lZGlhU2FtcGxlQVZGT2JqQzo6c2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoKnNhbXBsZSk7
Ci0gICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPmVucXVldWVTYW1wbGUoKnNhbXBsZSk7
CisgICAgaWYgKGF1dG8gdmlkZW9GcmFtZSA9IG1fc2hhcmVkVmlkZW9GcmFtZVJlYWRlci5yZWFk
KFdURk1vdmUoZnJhbWUpKSkKKyAgICAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPmVu
cXVldWUodmlkZW9GcmFtZS0+cGl4ZWxCdWZmZXIoKSwgdmlkZW9GcmFtZS0+cHJlc2VudGF0aW9u
VGltZSgpKTsKIH0KIAogdm9pZCBSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmNsZWFy
RW5xdWV1ZWRTYW1wbGVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL1NoYXJlZFZpZGVvRnJhbWUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvU2hhcmVkVmlkZW9GcmFtZS5jcHAKaW5kZXggZDg0Mzc2NjU5NGZlNGQyYzQ4
YjZlNTk1YTg2Y2Q1NmEzMDk5YjQzMy4uMjZhMzRmODQ0NmM3ZjBmNjYwZjY3MjQ2NTQ2NzE1NGE1
MzhmYjc4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMv
U2hhcmVkVmlkZW9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93
ZWJydGMvU2hhcmVkVmlkZW9GcmFtZS5jcHAKQEAgLTMzLDggKzMzLDggQEAKICNpbmNsdWRlICJS
ZW1vdGVWaWRlb0ZyYW1lUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NWVXRpbGl0aWVzLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9JT1N1cmZhY2UuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL01lZGlh
U2FtcGxlQVZGT2JqQy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkVmlkZW9GcmFtZUluZm8u
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJhbWVDVi5oPgogI2luY2x1ZGUgPHd0Zi9TY29w
ZS5oPgogCiAjaWYgVVNFKExJQldFQlJUQykKQEAgLTIxOCwxMyArMjE4LDEzIEBAIFJldGFpblB0
cjxDVlBpeGVsQnVmZmVyUmVmPiBTaGFyZWRWaWRlb0ZyYW1lUmVhZGVyOjpyZWFkQnVmZmVyKFNo
YXJlZFZpZGVvRnJhbWU6CiAgICAgfSk7CiB9CiAKLVJlZlB0cjxNZWRpYVNhbXBsZT4gU2hhcmVk
VmlkZW9GcmFtZVJlYWRlcjo6cmVhZChTaGFyZWRWaWRlb0ZyYW1lJiYgc2hhcmVkVmlkZW9GcmFt
ZSkKK1JlZlB0cjxWaWRlb0ZyYW1lPiBTaGFyZWRWaWRlb0ZyYW1lUmVhZGVyOjpyZWFkKFNoYXJl
ZFZpZGVvRnJhbWUmJiBzaGFyZWRWaWRlb0ZyYW1lKQogewogICAgIGF1dG8gcGl4ZWxCdWZmZXIg
PSByZWFkQnVmZmVyKFdURk1vdmUoc2hhcmVkVmlkZW9GcmFtZS5idWZmZXIpKTsKICAgICBpZiAo
IXBpeGVsQnVmZmVyKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIHJldHVybiBNZWRp
YVNhbXBsZUFWRk9iakM6OmNyZWF0ZUZyb21QaXhlbEJ1ZmZlcihXVEZNb3ZlKHBpeGVsQnVmZmVy
KSwgc2hhcmVkVmlkZW9GcmFtZS5yb3RhdGlvbiwgc2hhcmVkVmlkZW9GcmFtZS5taXJyb3JlZCwg
c2hhcmVkVmlkZW9GcmFtZS50aW1lKTsKKyAgICByZXR1cm4gVmlkZW9GcmFtZUNWOjpjcmVhdGUo
c2hhcmVkVmlkZW9GcmFtZS50aW1lLCBzaGFyZWRWaWRlb0ZyYW1lLm1pcnJvcmVkLCBzaGFyZWRW
aWRlb0ZyYW1lLnJvdGF0aW9uLCBXVEZNb3ZlKHBpeGVsQnVmZmVyKSk7CiB9CiAKIENWUGl4ZWxC
dWZmZXJQb29sUmVmIFNoYXJlZFZpZGVvRnJhbWVSZWFkZXI6OnBpeGVsQnVmZmVyUG9vbChjb25z
dCBTaGFyZWRWaWRlb0ZyYW1lSW5mbyYgaW5mbykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NoYXJlZFZpZGVvRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NoYXJlZFZpZGVvRnJhbWUuaAppbmRleCA1YWI0NmU4MDY2
MzU0MTZlNmZkNGEwZWNjMTlkNDVmMTIzMDFkNzc5Li5jZmQxMGMxOTg2NTEzOTFhZDNhYThmM2I4
ODM1OTg5OTkyOTY4ZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9TaGFyZWRWaWRlb0ZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvU2hhcmVkVmlkZW9GcmFtZS5oCkBAIC0zMCw4ICszMCw4IEBACiAjaW5jbHVk
ZSAiSVBDU2VtYXBob3JlLmgiCiAjaW5jbHVkZSAiUmVtb3RlVmlkZW9GcmFtZUlkZW50aWZpZXIu
aCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU2Ft
cGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9jZXNzSWRlbnRpdHkuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1ZpZGVvRnJhbWUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KQEAgLTk2LDcgKzk2
LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2VtYXBob3JlKElQQzo6U2VtYXBob3JlJiYgc2Vt
YXBob3JlKSB7IG1fc2VtYXBob3JlID0gV1RGTW92ZShzZW1hcGhvcmUpOyB9CiAgICAgYm9vbCBz
ZXRTaGFyZWRNZW1vcnkoY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmKTsKIAotICAgIFJl
ZlB0cjxXZWJDb3JlOjpNZWRpYVNhbXBsZT4gcmVhZChTaGFyZWRWaWRlb0ZyYW1lJiYpOworICAg
IFJlZlB0cjxXZWJDb3JlOjpWaWRlb0ZyYW1lPiByZWFkKFNoYXJlZFZpZGVvRnJhbWUmJik7CiAg
ICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IHJlYWRCdWZmZXIoU2hhcmVkVmlkZW9GcmFt
ZTo6QnVmZmVyJiYpOwogCiBwcml2YXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454681</attachid>
            <date>2022-03-15 01:45:38 -0700</date>
            <delta_ts>2022-03-17 11:10:17 -0700</delta_ts>
            <desc>Rebasing</desc>
            <filename>bug-237596-20220315094534.patch</filename>
            <type>text/plain</type>
            <size>21604</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjMwNDYzYjIyMWJlNmNl
MjJlMjNlMGVhMWNhMDU1OTlhOTk2MTVlZC4uZWQwZmZlZjY0MDZjYjEyMTY5NzhhYzRmODRkM2Y0
NmRkNGNkYjc0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTAzLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFNoYXJlZFZpZGVv
RnJhbWVSZWFkZXIgdXNlIFZpZGVvRnJhbWVDViBpbnN0ZWFkIG9mIE1lZGlhU2FtcGxlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc1OTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgbWVkaWEg
cmVjb3JkZXIgYW5kIGRpc3BsYXkgbGF5ZXIgdG8gdXNlIHBpeGVsIGJ1ZmZlcnMgaW5zdGVhZCBv
ZiBNZWRpYVNhbXBsZS4KKyAgICAgICAgVGhpcyBhbGxvd3MgbWlncmF0aW5nIHRvIFZpZGVvRnJh
bWVDVi4KKyAgICAgICAgTm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICogcGxhdGZv
cm0vY29jb2EvTWVkaWFVdGlsaXRpZXMuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL01l
ZGlhVXRpbGl0aWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
ci5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlQVZGSW1wbC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJl
Y29yZGVyUHJpdmF0ZUFWRkltcGwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2Eu
bW06CisKIDIwMjItMDMtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIE1ha2UgTUlNRVR5cGVSZWdpc3RyeTo6bWltZVR5cGVGb3JQYXRoIHRha2UgYSBTdHJp
bmdWaWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IGM5ZmExZDExODFhZmM0OGM2NmY0YjY5M2U3MzU3NGY2ZjE4MzZj
NWYuLmNhZWQ5ZWI1MzI0MTRhMjQ3YWRmM2RiYmEwMzNmY2I5N2FiYmZhZTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMjItMDMtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgorCisgICAgICAgIE1ha2UgU2hhcmVkVmlkZW9GcmFtZVJlYWRlciB1c2UgVmlkZW9GcmFt
ZUNWIGluc3RlYWQgb2YgTWVkaWFTYW1wbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNzU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRl
ci5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvU2hhcmVkVmlk
ZW9GcmFtZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NoYXJlZFZpZGVv
RnJhbWUuaDoKKwogMjAyMi0wMy0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgTWFrZSBNSU1FVHlwZVJlZ2lzdHJ5OjptaW1lVHlwZUZvclBhdGggdGFrZSBh
IFN0cmluZ1ZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL01l
ZGlhVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL01lZGlhVXRp
bGl0aWVzLmNwcAppbmRleCBjNTVkMmE1NmRlOTczNDBiYTFjNGFiNzg2MDkxNGZmZmFmZjkwYzVl
Li5kZmY3ODUzZjk4NGQ2YTA2NzAzYjg3NjExMzgwM2NjZjQyMjdlYmUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZWRpYVV0aWxpdGllcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTWVkaWFVdGlsaXRpZXMuY3BwCkBAIC02OCw0ICs2
OCwyMSBAQCBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNyZWF0ZUF1ZGlvU2FtcGxlQnVm
ZmVyKGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiBkYQogICAgIHJldHVybiBidWZmZXI7CiB9CiAK
K1JldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gY3JlYXRlVmlkZW9TYW1wbGVCdWZmZXIoQ1ZQ
aXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlciwgQ01UaW1lIHByZXNlbnRhdGlvblRpbWUpCit7Cisg
ICAgQ01WaWRlb0Zvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gbnVsbHB0
cjsKKyAgICBhdXRvIHN0YXR1cyA9IFBBTDo6Q01WaWRlb0Zvcm1hdERlc2NyaXB0aW9uQ3JlYXRl
Rm9ySW1hZ2VCdWZmZXIoa0NGQWxsb2NhdG9yRGVmYXVsdCwgcGl4ZWxCdWZmZXIsICZmb3JtYXRE
ZXNjcmlwdGlvbik7CisgICAgaWYgKHN0YXR1cykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgYXV0byByZXRhaW5lZEZvcm1hdERlc2NyaXB0aW9uID0gYWRvcHRDRihmb3JtYXREZXNjcmlw
dGlvbik7CisKKyAgICBDTVNhbXBsZVRpbWluZ0luZm8gdGltaW5nSW5mbyB7IFBBTDo6a0NNVGlt
ZUludmFsaWQsIHByZXNlbnRhdGlvblRpbWUsIFBBTDo6a0NNVGltZUludmFsaWQgfTsKKyAgICBD
TVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXI7CisgICAgc3RhdHVzID0gUEFMOjpDTVNhbXBs
ZUJ1ZmZlckNyZWF0ZVJlYWR5V2l0aEltYWdlQnVmZmVyKGtDRkFsbG9jYXRvckRlZmF1bHQsIHBp
eGVsQnVmZmVyLCBmb3JtYXREZXNjcmlwdGlvbiwgJnRpbWluZ0luZm8sICZzYW1wbGVCdWZmZXIp
OworICAgIGlmIChzdGF0dXMpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJu
IGFkb3B0Q0Yoc2FtcGxlQnVmZmVyKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTWVkaWFVdGlsaXRpZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL01lZGlhVXRpbGl0aWVzLmgKaW5kZXggOTE3
MDhlYTIyYWQ0YjViYmM3ZWY4OWQ0Y2I1ZGIzNTk5ZDhlNjI1ZS4uYzJjMGRiNTFmZDlhNzI1OWNi
ZGVjYTNiMzlkMzljNjg5ZjY4YTc0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvTWVkaWFVdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9NZWRpYVV0aWxpdGllcy5oCkBAIC0zMCw2ICszMCw3IEBACiAKIHR5cGVkZWYgY29uc3Qg
c3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24qIENNRm9ybWF0RGVzY3JpcHRpb25SZWY7
CiB0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTVNhbXBsZUJ1ZmZlciogQ01TYW1wbGVCdWZmZXJSZWY7
Cit0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyICpDVlBpeGVsQnVmZmVyUmVmOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTM4LDUgKzM5LDYgQEAgY2xhc3MgUGxhdGZvcm1BdWRpb0RhdGE7
CiAKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVBdWRpb0Zvcm1hdERl
c2NyaXB0aW9uKGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCBzaXplX3QgbWFnaWNDb29r
aWVTaXplID0gMCwgY29uc3Qgdm9pZCogbWFnaWNDb29raWUgPSBudWxscHRyKTsKIFJldGFpblB0
cjxDTVNhbXBsZUJ1ZmZlclJlZj4gY3JlYXRlQXVkaW9TYW1wbGVCdWZmZXIoY29uc3QgUGxhdGZv
cm1BdWRpb0RhdGEmLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgQ01UaW1lLCBzaXpl
X3Qgc2FtcGxlQ291bnQpOworUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBjcmVhdGVWaWRl
b1NhbXBsZUJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmLCBDTVRpbWUpOwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIuaAppbmRleCBiZjRjY2FmY2Q4MTgwY2MxNDY5OWNlMTE4MDY4Y2Zh
ODE1MjBjMDFlLi5hNjZiMjczNWJjZWFlZGVjMzU2ZWM3ZjA4Mzc0MjM1NjU0ZWRiMjNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyLmgKQEAgLTc5LDYgKzc5LDcgQEAgcHVibGljOgogICAgIHZvaWQgcGxheSgpIGZpbmFs
OwogICAgIHZvaWQgcGF1c2UoKSBmaW5hbDsKIAorICAgIHZvaWQgZW5xdWV1ZShDVlBpeGVsQnVm
ZmVyUmVmLCBNZWRpYVRpbWUpOwogICAgIHZvaWQgZW5xdWV1ZVNhbXBsZShNZWRpYVNhbXBsZSYp
IGZpbmFsOwogICAgIHZvaWQgY2xlYXJFbnF1ZXVlZFNhbXBsZXMoKSBmaW5hbDsKICAgICB2b2lk
IHNldFJlbmRlclBvbGljeShSZW5kZXJQb2xpY3kpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tbQppbmRleCA5
YmY0YjBiOGQ1YzQ4MWE1MzRmZDkwY2YxNmM5NTU5ZmI2Y2Q3MTZhLi4xY2NkZGZhODgxNWE0Zjc2
NGUyNDkxYzcwNDc1YjhkMjBiZGM0OTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tbQpAQCAtMzIsNiArMzIsNyBA
QAogI2ltcG9ydCAiSW50U2l6ZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTWVk
aWFTYW1wbGVBVkZPYmpDLmgiCisjaW1wb3J0ICJNZWRpYVV0aWxpdGllcy5oIgogCiAjaW1wb3J0
IDxBVkZvdW5kYXRpb24vQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaD4KICNpbXBvcnQgPFF1
YXJ0ekNvcmUvQ0FMYXllci5oPgpAQCAtMzMyLDI0ICszMzMsMjkgQEAgdm9pZCBMb2NhbFNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQog
fQogCiB2b2lkIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVlU2FtcGxlQnVm
ZmVyKE1lZGlhU2FtcGxlJiBzYW1wbGUpCit7CisgICAgZW5xdWV1ZShzYW1wbGUucGl4ZWxCdWZm
ZXIoKSwgc2FtcGxlLnByZXNlbnRhdGlvblRpbWUoKSk7Cit9CisKK3N0YXRpYyB2b2lkIHNldFNh
bXBsZUJ1ZmZlckFzRGlzcGxheUltbWVkaWF0ZWx5KENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1
ZmZlcikKK3sKKyAgICBDRkFycmF5UmVmIGF0dGFjaG1lbnRzQXJyYXkgPSBQQUw6OkNNU2FtcGxl
QnVmZmVyR2V0U2FtcGxlQXR0YWNobWVudHNBcnJheShzYW1wbGVCdWZmZXIsIHRydWUpOworICAg
IGZvciAoQ0ZJbmRleCBpID0gMDsgaSA8IENGQXJyYXlHZXRDb3VudChhdHRhY2htZW50c0FycmF5
KTsgKytpKSB7CisgICAgICAgIENGTXV0YWJsZURpY3Rpb25hcnlSZWYgYXR0YWNobWVudHMgPSBj
aGVja2VkX2NmX2Nhc3Q8Q0ZNdXRhYmxlRGljdGlvbmFyeVJlZj4oQ0ZBcnJheUdldFZhbHVlQXRJ
bmRleChhdHRhY2htZW50c0FycmF5LCBpKSk7CisgICAgICAgIENGRGljdGlvbmFyeVNldFZhbHVl
KGF0dGFjaG1lbnRzLCBQQUw6OmtDTVNhbXBsZUF0dGFjaG1lbnRLZXlfRGlzcGxheUltbWVkaWF0
ZWx5LCBrQ0ZCb29sZWFuVHJ1ZSk7CisgICAgfQorfQorCit2b2lkIExvY2FsU2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyOjplbnF1ZXVlKENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIsIE1lZGlh
VGltZSBwcmVzZW50YXRpb25UaW1lKQogewogICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOwot
ICAgIC8vIEZJWE1FOiBMb2NhbCBwbGF5YmFjayBvZiBSZW1vdGVWaWRlb0ZyYW1lUHJveHkgaXMg
bm90IGltcGxlbWVudGVkLgotICAgIGlmICghaXM8TWVkaWFTYW1wbGVBVkZPYmpDPihzYW1wbGUp
KQotICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIHNhbXBsZVRvRW5xdWV1ZSA9IHNhbXBsZS5w
bGF0Zm9ybVNhbXBsZSgpLnNhbXBsZS5jbVNhbXBsZUJ1ZmZlcjsKKyAgICBhdXRvIHNhbXBsZUJ1
ZmZlciA9IGNyZWF0ZVZpZGVvU2FtcGxlQnVmZmVyKHBpeGVsQnVmZmVyLCBQQUw6OnRvQ01UaW1l
KHByZXNlbnRhdGlvblRpbWUpKTsKICAgICBhdXRvIG5vdyA9IE1lZGlhVGltZTo6Y3JlYXRlV2l0
aERvdWJsZShNb25vdG9uaWNUaW1lOjpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCkg
KyByZW5kZXJlckxhdGVuY3kpOworICAgIGlmIChtX3JlbmRlclBvbGljeSA9PSBSZW5kZXJQb2xp
Y3k6OkltbWVkaWF0ZWx5IHx8IG5vdyA+PSBwcmVzZW50YXRpb25UaW1lKQorICAgICAgICBzZXRT
YW1wbGVCdWZmZXJBc0Rpc3BsYXlJbW1lZGlhdGVseShzYW1wbGVCdWZmZXIuZ2V0KCkpOwogCi0g
ICAgLy8gSWYgbmVlZGVkLCB3ZSBzZXQgdGhlIHNhbXBsZSBidWZmZXIgdG8ga0NNU2FtcGxlQXR0
YWNobWVudEtleV9EaXNwbGF5SW1tZWRpYXRlbHkgYXMgYSB3b3JrYXJvdW5kIHRvIHJkYXI6Ly9w
cm9ibGVtLzQ5Mjc0MDgzLgotICAgIC8vIFdlIGNsb25lIHRoZSBzYW1wbGUgYnVmZmVyIGFzIG1v
ZGlmeWluZyB0aGUgYXR0YWNobWVudHMgb2YgYSBzYW1wbGUgYnVmZmVyIHVzZWQgZWxzZXdoZXJl
IChlbmNvZGluZyBlLmcuKSBtYXkgbm90IGJlIHRocmVhZCBzYWZlLgotICAgIFJldGFpblB0cjxD
TVNhbXBsZUJ1ZmZlclJlZj4gbmV3U2FtcGxlQnVmZmVyOwotICAgIGlmIChtX3JlbmRlclBvbGlj
eSA9PSBSZW5kZXJQb2xpY3k6OkltbWVkaWF0ZWx5IHx8IG5vdyA+PSBzYW1wbGUucHJlc2VudGF0
aW9uVGltZSgpKSB7Ci0gICAgICAgIG5ld1NhbXBsZUJ1ZmZlciA9IE1lZGlhU2FtcGxlQVZGT2Jq
Qzo6Y2xvbmVTYW1wbGVCdWZmZXJBbmRTZXRBc0Rpc3BsYXlJbW1lZGlhdGVseShzYW1wbGVUb0Vu
cXVldWUpOwotICAgICAgICBzYW1wbGVUb0VucXVldWUgPSBuZXdTYW1wbGVCdWZmZXIuZ2V0KCk7
Ci0gICAgfQotCi0gICAgW21fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIGVucXVldWVTYW1wbGVC
dWZmZXI6c2FtcGxlVG9FbnF1ZXVlXTsKKyAgICBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIg
ZW5xdWV1ZVNhbXBsZUJ1ZmZlcjpzYW1wbGVCdWZmZXIuZ2V0KCldOwogCiAjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECiAgICAgY29uc3RleHByIHNpemVfdCBmcmFtZUNvdW50UGVyTG9nID0gMTgw
MDsgLy8gbG9nIGV2ZXJ5IG1pbnV0ZSBhdCAzMCBmcHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclBy
aXZhdGVBVkZJbXBsLmNwcAppbmRleCBlNjBiMDUzYTU1YTE1ZDkzNzc4NThhMzcwYjAyODRmYmJm
OWJhZWE1Li4xYzBkM2U1M2M2MWMyZjE2OGZhNWRjZmVmZTNkYTJjMzYzZDI5MmJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCkBAIC0zMywxMCArMzMsMTAgQEAK
ICNpbmNsdWRlICJDVlV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRl
ICJNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgiCi0jaW5jbHVkZSAiTWVkaWFTYW1w
bGVBVkZPYmpDLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgiCiAjaW5jbHVkZSAi
UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZm
ZXIuaCIKKyNpbmNsdWRlICJWaWRlb0ZyYW1lQ1YuaCIKICNpbmNsdWRlICJXZWJBdWRpb0J1ZmZl
ckxpc3QuaCIKIAogI2luY2x1ZGUgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCkBAIC04Myw0MCArODMs
MTkgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OnN0YXJ0UmVjb3JkaW5nKFN0
YXJ0UmVjb3JkaW5nQ2FsbGJhY2smJiBjYWxsYmEKICAgICBjYWxsYmFjayhTdHJpbmcobV93cml0
ZXItPm1pbWVUeXBlKCkpLCBtX3dyaXRlci0+YXVkaW9CaXRSYXRlKCksIG1fd3JpdGVyLT52aWRl
b0JpdFJhdGUoKSk7CiB9CiAKLXZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjp2aWRl
b1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlQnVmZmVyLCBWaWRlb0ZyYW1lVGlt
ZU1ldGFkYXRhKQordm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OnZpZGVvU2FtcGxl
QXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIFZpZGVvRnJhbWVUaW1lTWV0YWRhdGEpCiB7
CiAgICAgaWYgKHNob3VsZE11dGVWaWRlbygpKSB7CiAgICAgICAgIGlmICghbV9ibGFja0ZyYW1l
KSB7Ci0gICAgICAgICAgICBtX2JsYWNrRnJhbWVEZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVC
dWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIucGxhdGZvcm1TYW1wbGUoKS5z
YW1wbGUuY21TYW1wbGVCdWZmZXIpOwotICAgICAgICAgICAgYXV0byBkaW1lbnNpb25zID0gUEFM
OjpDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25HZXREaW1lbnNpb25zKG1fYmxhY2tGcmFtZURlc2Ny
aXB0aW9uLmdldCgpKTsKLSAgICAgICAgICAgIG1fYmxhY2tGcmFtZSA9IGNyZWF0ZUJsYWNrUGl4
ZWxCdWZmZXIoZGltZW5zaW9ucy53aWR0aCwgZGltZW5zaW9ucy5oZWlnaHQpOwotCi0gICAgICAg
ICAgICBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVzY3JpcHRpb24gPSBudWxs
cHRyOwotICAgICAgICAgICAgYXV0byBzdGF0dXMgPSBQQUw6OkNNVmlkZW9Gb3JtYXREZXNjcmlw
dGlvbkNyZWF0ZUZvckltYWdlQnVmZmVyKGtDRkFsbG9jYXRvckRlZmF1bHQsIG1fYmxhY2tGcmFt
ZS5nZXQoKSwgJmZvcm1hdERlc2NyaXB0aW9uKTsKLSAgICAgICAgICAgIGlmIChzdGF0dXMgIT0g
bm9FcnIpIHsKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgIk1lZGlh
UmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6dmlkZW9TYW1wbGVBdmFpbGFibGUgOjp1bmFibGUgdG8g
Y3JlYXRlIGEgYmxhY2sgZnJhbWUgZGVzY3JpcHRpb246ICVkIiwgc3RhdGljX2Nhc3Q8aW50Pihz
dGF0dXMpKTsKLSAgICAgICAgICAgICAgICBtX2JsYWNrRnJhbWUgPSBudWxscHRyOwotICAgICAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG1fYmxhY2tGcmFt
ZURlc2NyaXB0aW9uID0gYWRvcHRDRihmb3JtYXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBh
dXRvIHNpemUgPSBzYW1wbGUucHJlc2VudGF0aW9uU2l6ZSgpOworICAgICAgICAgICAgbV9ibGFj
a0ZyYW1lID0gVmlkZW9GcmFtZUNWOjpjcmVhdGUoc2FtcGxlLnByZXNlbnRhdGlvblRpbWUoKSwg
c2FtcGxlLnZpZGVvTWlycm9yZWQoKSwgc2FtcGxlLnZpZGVvUm90YXRpb24oKSwgY3JlYXRlQmxh
Y2tQaXhlbEJ1ZmZlcihzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCkpKTsKICAgICAgICAgfQot
Ci0gICAgICAgIENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSA9IG51bGxwdHI7Ci0gICAgICAgIENN
U2FtcGxlVGltaW5nSW5mbyB0aW1pbmdJbmZvIHsgUEFMOjprQ01UaW1lSW52YWxpZCwgUEFMOjp0
b0NNVGltZShzYW1wbGVCdWZmZXIucHJlc2VudGF0aW9uVGltZSgpKSwgUEFMOjp0b0NNVGltZShz
YW1wbGVCdWZmZXIuZGVjb2RlVGltZSgpKSB9OwotICAgICAgICBhdXRvIHN0YXR1cyA9IFBBTDo6
Q01TYW1wbGVCdWZmZXJDcmVhdGVSZWFkeVdpdGhJbWFnZUJ1ZmZlcihrQ0ZBbGxvY2F0b3JEZWZh
dWx0LCAoQ1ZJbWFnZUJ1ZmZlclJlZiltX2JsYWNrRnJhbWUuZ2V0KCksIG1fYmxhY2tGcmFtZURl
c2NyaXB0aW9uLmdldCgpLCAmdGltaW5nSW5mbywgJnNhbXBsZSk7Ci0KLSAgICAgICAgaWYgKHN0
YXR1cyAhPSBub0VycikgewotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWFTdHJl
YW0sICJNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OnZpZGVvU2FtcGxlQXZhaWxhYmxlIC0g
dW5hYmxlIHRvIGNyZWF0ZSBhIGJsYWNrIGZyYW1lOiAlZCIsIHN0YXRpY19jYXN0PGludD4oc3Rh
dHVzKSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgYXV0byBuZXdT
YW1wbGUgPSBhZG9wdENGKHNhbXBsZSk7Ci0gICAgICAgIG1fd3JpdGVyLT5hcHBlbmRWaWRlb1Nh
bXBsZUJ1ZmZlcihNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZShuZXdTYW1wbGUuZ2V0KCksIHNh
bXBsZUJ1ZmZlci52aWRlb1JvdGF0aW9uKCksIHNhbXBsZUJ1ZmZlci52aWRlb01pcnJvcmVkKCkp
KTsKKyAgICAgICAgbV93cml0ZXItPmFwcGVuZFZpZGVvRnJhbWUoKm1fYmxhY2tGcmFtZSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBtX2JsYWNrRnJhbWUgPSBudWxscHRyOwotICAg
IG1fYmxhY2tGcmFtZURlc2NyaXB0aW9uID0gbnVsbHB0cjsKLSAgICBtX3dyaXRlci0+YXBwZW5k
VmlkZW9TYW1wbGVCdWZmZXIoc2FtcGxlQnVmZmVyKTsKKyAgICBtX3dyaXRlci0+YXBwZW5kVmlk
ZW9GcmFtZShWaWRlb0ZyYW1lQ1Y6OmNyZWF0ZShzYW1wbGUucHJlc2VudGF0aW9uVGltZSgpLCBz
YW1wbGUudmlkZW9NaXJyb3JlZCgpLCBzYW1wbGUudmlkZW9Sb3RhdGlvbigpLCBzYW1wbGUucGl4
ZWxCdWZmZXIoKSkpOwogfQogCiB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6YXVk
aW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgbWVkaWFUaW1lLCBjb25zdCBQbGF0
Zm9ybUF1ZGlvRGF0YSYgZGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3Jp
cHRpb24sIHNpemVfdCBzYW1wbGVDb3VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZG
SW1wbC5oCmluZGV4IDA0NzY3ZDA4NGEyN2JkZWU0MjRkZWY5M2Q1ODAzZGJmZWVlODlkZmUuLjk1
N2Y1ZDA4Nzc5ZmE5YzM5Mjc3ZTkxNTkzYzU2Mzk2OGNkNzg4MjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJ
bXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJl
Y29yZGVyUHJpdmF0ZUFWRkltcGwuaApAQCAtNjAsOCArNjAsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgcmVzdW1lUmVjb3JkaW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgZmluYWw7CiAK
ICAgICBSZWY8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI+IG1fd3JpdGVyOwotICAgIFJldGFp
blB0cjxDVlBpeGVsQnVmZmVyUmVmPiBtX2JsYWNrRnJhbWU7Ci0gICAgUmV0YWluUHRyPENNRm9y
bWF0RGVzY3JpcHRpb25SZWY+IG1fYmxhY2tGcmFtZURlc2NyaXB0aW9uOworICAgIFJlZlB0cjxW
aWRlb0ZyYW1lPiBtX2JsYWNrRnJhbWU7CiAgICAgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIG1f
ZGVzY3JpcHRpb247CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkF1ZGlvQnVmZmVyTGlzdD4gbV9h
dWRpb0J1ZmZlcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZh
dGVXcml0ZXJDb2NvYS5oCmluZGV4IDQ0ZTIwOGVlYmM1YWZlZmUwYjVmYWEzZGIzNTNjNzU1NTEw
MTcwMTMuLmFkY2U0ODMwMmY1ZGE5ZjczMDVmOWRmMmY0YmJiMDhjMGNkMWVkZjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNv
cmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCkBAIC01
Niw5ICs1Niw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVkaW9TYW1wbGVCdWZm
ZXJDb21wcmVzc29yOwogY2xhc3MgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbjsKLWNsYXNzIE1lZGlh
U2FtcGxlOwogY2xhc3MgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU7CiBjbGFzcyBQbGF0Zm9ybUF1
ZGlvRGF0YTsKK2NsYXNzIFZpZGVvRnJhbWU7CiBjbGFzcyBWaWRlb1NhbXBsZUJ1ZmZlckNvbXBy
ZXNzb3I7CiBzdHJ1Y3QgTWVkaWFSZWNvcmRlclByaXZhdGVPcHRpb25zOwogCkBAIC02Nyw3ICs2
Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlV3Jp
dGVyPiBjcmVhdGUoYm9vbCBoYXNBdWRpbywgYm9vbCBoYXNWaWRlbywgY29uc3QgTWVkaWFSZWNv
cmRlclByaXZhdGVPcHRpb25zJik7CiAgICAgfk1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyKCk7
CiAKLSAgICB2b2lkIGFwcGVuZFZpZGVvU2FtcGxlQnVmZmVyKE1lZGlhU2FtcGxlJik7CisgICAg
dm9pZCBhcHBlbmRWaWRlb0ZyYW1lKFZpZGVvRnJhbWUmKTsKICAgICB2b2lkIGFwcGVuZEF1ZGlv
U2FtcGxlQnVmZmVyKGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1E
ZXNjcmlwdGlvbiYsIGNvbnN0IFdURjo6TWVkaWFUaW1lJiwgc2l6ZV90KTsKICAgICB2b2lkIHN0
b3BSZWNvcmRpbmcoKTsKICAgICB2b2lkIGZldGNoRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFJlZlB0cjxGcmFnbWVudGVkU2hhcmVkQnVmZmVyPiYmLCBkb3VibGUpPiYmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNv
cmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQppbmRleCBm
NWU4NDMwN2U5NWVmYjJhNjYyZjc0ZWI2YTc3MzY2ZGFhOTk2ZmI0Li4zMTY2ZTgxNDYyOWU5MDQ4
ZTEwZDRjODkwYjg5YTJhN2U2MjBjMjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVk
ZSAiTWVkaWFSZWNvcmRlclByaXZhdGVPcHRpb25zLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1U
cmFja1ByaXZhdGUuaCIKICNpbmNsdWRlICJNZWRpYVV0aWxpdGllcy5oIgorI2luY2x1ZGUgIlZp
ZGVvRnJhbWUuaCIKICNpbmNsdWRlICJWaWRlb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IuaCIKICNp
bmNsdWRlICJXZWJBdWRpb0J1ZmZlckxpc3QuaCIKICNpbmNsdWRlIDxBVkZvdW5kYXRpb24vQVZB
c3NldFdyaXRlci5oPgpAQCAtMzgwLDQyICszODEsMjEgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlcjo6Zmx1c2hDb21wcmVzc2VkU2FtcGxlQnVmZmVycyhGdW5jdGlvbjx2b2lkKCk+
JiYKICAgICAgICAgW21fdmlkZW9Bc3NldFdyaXRlcklucHV0IHJlcXVlc3RNZWRpYURhdGFXaGVu
UmVhZHlPblF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9jazpibG9jay5n
ZXQoKV07CiB9CiAKLXN0YXRpYyBpbmxpbmUgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBj
b3B5U2FtcGxlQnVmZmVyV2l0aEN1cnJlbnRUaW1lU3RhbXAoQ01TYW1wbGVCdWZmZXJSZWYgb3Jp
Z2luYWxCdWZmZXIsIENNVGltZSBzdGFydFRpbWUpCi17Ci0gICAgQ01JdGVtQ291bnQgY291bnQg
PSAwOwotICAgIFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvQXJyYXkob3Jp
Z2luYWxCdWZmZXIsIDAsIG5pbCwgJmNvdW50KTsKLQotICAgIFZlY3RvcjxDTVNhbXBsZVRpbWlu
Z0luZm8+IHRpbWVJbmZvKGNvdW50KTsKLSAgICBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0U2FtcGxl
VGltaW5nSW5mb0FycmF5KG9yaWdpbmFsQnVmZmVyLCBjb3VudCwgdGltZUluZm8uZGF0YSgpLCAm
Y291bnQpOwotCi0gICAgZm9yIChhdXRvIGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewotICAgICAg
ICB0aW1lSW5mb1tpXS5kZWNvZGVUaW1lU3RhbXAgPSBQQUw6OmtDTVRpbWVJbnZhbGlkOwotICAg
ICAgICB0aW1lSW5mb1tpXS5wcmVzZW50YXRpb25UaW1lU3RhbXAgPSBzdGFydFRpbWU7Ci0gICAg
fQotCi0gICAgQ01TYW1wbGVCdWZmZXJSZWYgbmV3QnVmZmVyID0gbnVsbHB0cjsKLSAgICBpZiAo
YXV0byBlcnJvciA9IFBBTDo6Q01TYW1wbGVCdWZmZXJDcmVhdGVDb3B5V2l0aE5ld1RpbWluZyhr
Q0ZBbGxvY2F0b3JEZWZhdWx0LCBvcmlnaW5hbEJ1ZmZlciwgY291bnQsIHRpbWVJbmZvLmRhdGEo
KSwgJm5ld0J1ZmZlcikpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWFTdHJlYW0s
ICJNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlciBDTVNhbXBsZUJ1ZmZlckNyZWF0ZUNvcHlXaXRo
TmV3VGltaW5nIGZhaWxlZCB3aXRoICVkIiwgZXJyb3IpOwotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLSAgICB9Ci0gICAgcmV0dXJuIGFkb3B0Q0YobmV3QnVmZmVyKTsKLX0KLQotdm9pZCBNZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6YXBwZW5kVmlkZW9TYW1wbGVCdWZmZXIoTWVkaWFTYW1w
bGUmIHNhbXBsZSkKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmFwcGVuZFZpZGVv
RnJhbWUoVmlkZW9GcmFtZSYgZnJhbWUpCiB7CiAgICAgaWYgKCFtX2ZpcnN0VmlkZW9GcmFtZSkg
ewogICAgICAgICBtX2ZpcnN0VmlkZW9GcmFtZSA9IHRydWU7CiAgICAgICAgIG1fcmVzdW1lZFZp
ZGVvVGltZSA9IFBBTDo6Q01DbG9ja0dldFRpbWUoUEFMOjpDTUNsb2NrR2V0SG9zdFRpbWVDbG9j
aygpKTsKLSAgICAgICAgaWYgKHNhbXBsZS52aWRlb1JvdGF0aW9uKCkgIT0gTWVkaWFTYW1wbGU6
OlZpZGVvUm90YXRpb246Ok5vbmUgfHwgc2FtcGxlLnZpZGVvTWlycm9yZWQoKSkgewotICAgICAg
ICAgICAgbV92aWRlb1RyYW5zZm9ybSA9IENHQWZmaW5lVHJhbnNmb3JtTWFrZVJvdGF0aW9uKHN0
YXRpY19jYXN0PGludD4oc2FtcGxlLnZpZGVvUm90YXRpb24oKSkgKiBNX1BJIC8gMTgwKTsKLSAg
ICAgICAgICAgIGlmIChzYW1wbGUudmlkZW9NaXJyb3JlZCgpKQorICAgICAgICBpZiAoZnJhbWUu
dmlkZW9Sb3RhdGlvbigpICE9IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lIHx8IGZy
YW1lLnZpZGVvTWlycm9yZWQoKSkgeworICAgICAgICAgICAgbV92aWRlb1RyYW5zZm9ybSA9IENH
QWZmaW5lVHJhbnNmb3JtTWFrZVJvdGF0aW9uKHN0YXRpY19jYXN0PGludD4oZnJhbWUudmlkZW9S
b3RhdGlvbigpKSAqIE1fUEkgLyAxODApOworICAgICAgICAgICAgaWYgKGZyYW1lLnZpZGVvTWly
cm9yZWQoKSkKICAgICAgICAgICAgICAgICBtX3ZpZGVvVHJhbnNmb3JtID0gQ0dBZmZpbmVUcmFu
c2Zvcm1TY2FsZSgqbV92aWRlb1RyYW5zZm9ybSwgLTEsIDEpOwogICAgICAgICB9CiAgICAgfQog
Ci0gICAgYXV0byBzYW1wbGVUaW1lID0gUEFMOjpDTVRpbWVTdWJ0cmFjdChQQUw6OkNNQ2xvY2tH
ZXRUaW1lKFBBTDo6Q01DbG9ja0dldEhvc3RUaW1lQ2xvY2soKSksIG1fcmVzdW1lZFZpZGVvVGlt
ZSk7Ci0gICAgc2FtcGxlVGltZSA9IFBBTDo6Q01UaW1lQWRkKHNhbXBsZVRpbWUsIG1fY3VycmVu
dFZpZGVvRHVyYXRpb24pOwotICAgIGlmIChhdXRvIGJ1ZmZlcldpdGhDdXJyZW50VGltZSA9IGNv
cHlTYW1wbGVCdWZmZXJXaXRoQ3VycmVudFRpbWVTdGFtcChzYW1wbGUucGxhdGZvcm1TYW1wbGUo
KS5zYW1wbGUuY21TYW1wbGVCdWZmZXIsIHNhbXBsZVRpbWUpKQorICAgIGF1dG8gZnJhbWVUaW1l
ID0gUEFMOjpDTVRpbWVTdWJ0cmFjdChQQUw6OkNNQ2xvY2tHZXRUaW1lKFBBTDo6Q01DbG9ja0dl
dEhvc3RUaW1lQ2xvY2soKSksIG1fcmVzdW1lZFZpZGVvVGltZSk7CisgICAgZnJhbWVUaW1lID0g
UEFMOjpDTVRpbWVBZGQoZnJhbWVUaW1lLCBtX2N1cnJlbnRWaWRlb0R1cmF0aW9uKTsKKyAgICBp
ZiAoYXV0byBidWZmZXJXaXRoQ3VycmVudFRpbWUgPSBjcmVhdGVWaWRlb1NhbXBsZUJ1ZmZlcihm
cmFtZS5waXhlbEJ1ZmZlcigpLCBmcmFtZVRpbWUpKQogICAgICAgICBtX3ZpZGVvQ29tcHJlc3Nv
ci0+YWRkU2FtcGxlQnVmZmVyKGJ1ZmZlcldpdGhDdXJyZW50VGltZS5nZXQoKSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNv
cmRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVj
b3JkZXIuY3BwCmluZGV4IDJkNThmMWVkMThjNzk3MjFmMWY4MzA4YTRjODFmNWQ0YTY3MTQ0MmUu
LmJkMWMyZDEyNWJhOWE3NzFlYzYyYTk5NTUwMjdkMjJjM2YxNjY2OTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNw
cApAQCAtODksOCArODksOCBAQCB2b2lkIFJlbW90ZU1lZGlhUmVjb3JkZXI6OmF1ZGlvU2FtcGxl
c0F2YWlsYWJsZShNZWRpYVRpbWUgdGltZSwgdWludDY0X3QgbnVtYmVyTwogCiB2b2lkIFJlbW90
ZU1lZGlhUmVjb3JkZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFNoYXJlZFZpZGVvRnJhbWUmJiBz
aGFyZWRWaWRlb0ZyYW1lKQogewotICAgIGlmIChhdXRvIHNhbXBsZSA9IG1fc2hhcmVkVmlkZW9G
cmFtZVJlYWRlci5yZWFkKFdURk1vdmUoc2hhcmVkVmlkZW9GcmFtZSkpKQotICAgICAgICBtX3dy
aXRlci0+YXBwZW5kVmlkZW9TYW1wbGVCdWZmZXIoKnNhbXBsZSk7CisgICAgaWYgKGF1dG8gZnJh
bWUgPSBtX3NoYXJlZFZpZGVvRnJhbWVSZWFkZXIucmVhZChXVEZNb3ZlKHNoYXJlZFZpZGVvRnJh
bWUpKSkKKyAgICAgICAgbV93cml0ZXItPmFwcGVuZFZpZGVvRnJhbWUoKmZyYW1lKTsKIH0KIAog
dm9pZCBSZW1vdGVNZWRpYVJlY29yZGVyOjpmZXRjaERhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChJUEM6OkRhdGFSZWZlcmVuY2UmJiwgZG91YmxlKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVt
b3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmNwcAppbmRleCBiZjU3Y2Y0MjYyNDExYTQwZjA4
ZjExYzY3MDkzOTFkNDAxZjZhNTQyLi45NDAyNjMyN2QwMDQ1MjJiNWM5OGI3ZDEwNjJlNDE1NWUw
OWY5YTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90
ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuY3BwCkBAIC0xMTksMTIg
KzExOSw4IEBAIHZvaWQgUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpwYXVzZSgpCiAK
IHZvaWQgUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVlKFNoYXJlZFZpZGVv
RnJhbWUmJiBmcmFtZSkKIHsKLSAgICBhdXRvIHNhbXBsZSA9IG1fc2hhcmVkVmlkZW9GcmFtZVJl
YWRlci5yZWFkKFdURk1vdmUoZnJhbWUpKTsKLSAgICBpZiAoIXNhbXBsZSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgTWVkaWFTYW1wbGVBVkZPYmpDOjpzZXRBc0Rpc3BsYXlJbW1lZGlhdGVseSgq
c2FtcGxlKTsKLSAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci0+ZW5xdWV1ZVNhbXBsZSgq
c2FtcGxlKTsKKyAgICBpZiAoYXV0byB2aWRlb0ZyYW1lID0gbV9zaGFyZWRWaWRlb0ZyYW1lUmVh
ZGVyLnJlYWQoV1RGTW92ZShmcmFtZSkpKQorICAgICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllci0+ZW5xdWV1ZSh2aWRlb0ZyYW1lLT5waXhlbEJ1ZmZlcigpLCB2aWRlb0ZyYW1lLT5wcmVz
ZW50YXRpb25UaW1lKCkpOwogfQogCiB2b2lkIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
cjo6Y2xlYXJFbnF1ZXVlZFNhbXBsZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS93ZWJydGMvU2hhcmVkVmlkZW9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL3dlYnJ0Yy9TaGFyZWRWaWRlb0ZyYW1lLmNwcAppbmRleCBjYzkxNmYyMWU0
MThkNDExMjJjZmI3MGYzYTFlNzYyM2U1ZDk1ZWJhLi5jZThlYzVmY2RjNzJkMjU3ZjBkOTRjZWIy
ODhiZmJiM2JiYWIzZWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9TaGFyZWRWaWRlb0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9TaGFyZWRWaWRlb0ZyYW1lLmNwcApAQCAtMzMsOCArMzMsOCBAQAogI2lu
Y2x1ZGUgIlJlbW90ZVZpZGVvRnJhbWVQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ1ZVdGls
aXRpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lPU3VyZmFjZS5oPgotI2luY2x1ZGUgPFdlYkNv
cmUvTWVkaWFTYW1wbGVBVkZPYmpDLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRWaWRlb0Zy
YW1lSW5mby5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVmlkZW9GcmFtZUNWLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9WaWRlb0ZyYW1lTGliV2ViUlRDLmg+CiAjaW5jbHVkZSA8d3RmL1Njb3BlLmg+CiAK
QEAgLTIyOSwxMyArMjI5LDEzIEBAIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBTaGFyZWRW
aWRlb0ZyYW1lUmVhZGVyOjpyZWFkQnVmZmVyKFNoYXJlZFZpZGVvRnJhbWU6CiAgICAgfSk7CiB9
CiAKLVJlZlB0cjxNZWRpYVNhbXBsZT4gU2hhcmVkVmlkZW9GcmFtZVJlYWRlcjo6cmVhZChTaGFy
ZWRWaWRlb0ZyYW1lJiYgc2hhcmVkVmlkZW9GcmFtZSkKK1JlZlB0cjxWaWRlb0ZyYW1lPiBTaGFy
ZWRWaWRlb0ZyYW1lUmVhZGVyOjpyZWFkKFNoYXJlZFZpZGVvRnJhbWUmJiBzaGFyZWRWaWRlb0Zy
YW1lKQogewogICAgIGF1dG8gcGl4ZWxCdWZmZXIgPSByZWFkQnVmZmVyKFdURk1vdmUoc2hhcmVk
VmlkZW9GcmFtZS5idWZmZXIpKTsKICAgICBpZiAoIXBpeGVsQnVmZmVyKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAotICAgIHJldHVybiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUZyb21Q
aXhlbEJ1ZmZlcihXVEZNb3ZlKHBpeGVsQnVmZmVyKSwgc2hhcmVkVmlkZW9GcmFtZS5yb3RhdGlv
biwgc2hhcmVkVmlkZW9GcmFtZS5taXJyb3JlZCwgc2hhcmVkVmlkZW9GcmFtZS50aW1lKTsKKyAg
ICByZXR1cm4gVmlkZW9GcmFtZUNWOjpjcmVhdGUoc2hhcmVkVmlkZW9GcmFtZS50aW1lLCBzaGFy
ZWRWaWRlb0ZyYW1lLm1pcnJvcmVkLCBzaGFyZWRWaWRlb0ZyYW1lLnJvdGF0aW9uLCBXVEZNb3Zl
KHBpeGVsQnVmZmVyKSk7CiB9CiAKIENWUGl4ZWxCdWZmZXJQb29sUmVmIFNoYXJlZFZpZGVvRnJh
bWVSZWFkZXI6OnBpeGVsQnVmZmVyUG9vbChjb25zdCBTaGFyZWRWaWRlb0ZyYW1lSW5mbyYgaW5m
bykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NoYXJl
ZFZpZGVvRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NoYXJl
ZFZpZGVvRnJhbWUuaAppbmRleCAzZGVhNjgxYTI0MmI1OTYzZmY2NWUzNGQ0NDBjZTlkZDZjMmVl
OWQzLi5mYTNkODNjNWQ5NGI4YWZkMGU1ZDc5YzAwZGRjZDM5ZGZlM2EzMzM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TaGFyZWRWaWRlb0ZyYW1lLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvU2hhcmVkVmlkZW9GcmFt
ZS5oCkBAIC0zMCw4ICszMCw4IEBACiAjaW5jbHVkZSAiSVBDU2VtYXBob3JlLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlVmlkZW9GcmFtZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnku
aCIKLSNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU2FtcGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
cm9jZXNzSWRlbnRpdHkuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJhbWUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9VbmlxdWVSZWYuaD4KQEAgLTEwMSw3ICsxMDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRTZW1hcGhvcmUoSVBDOjpTZW1hcGhvcmUmJiBzZW1hcGhvcmUpIHsgbV9zZW1hcGhvcmUgPSBX
VEZNb3ZlKHNlbWFwaG9yZSk7IH0KICAgICBib29sIHNldFNoYXJlZE1lbW9yeShjb25zdCBTaGFy
ZWRNZW1vcnk6OklQQ0hhbmRsZSYpOwogCi0gICAgUmVmUHRyPFdlYkNvcmU6Ok1lZGlhU2FtcGxl
PiByZWFkKFNoYXJlZFZpZGVvRnJhbWUmJik7CisgICAgUmVmUHRyPFdlYkNvcmU6OlZpZGVvRnJh
bWU+IHJlYWQoU2hhcmVkVmlkZW9GcmFtZSYmKTsKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZl
clJlZj4gcmVhZEJ1ZmZlcihTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXImJik7CiAKIHByaXZhdGU6
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>