<?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>229225</bug_id>
          
          <creation_ts>2021-08-17 21:25:29 -0700</creation_ts>
          <short_desc>[LFC][IFC] Introduce InlineInvalidation/InlineDamage</short_desc>
          <delta_ts>2021-09-14 12:31:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>annulen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1785041</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-08-17 21:25:29 -0700</bug_when>
    <thetext>For inline content specific invalidation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785042</commentid>
    <comment_count>1</comment_count>
      <attachid>435743</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-17 21:34:22 -0700</bug_when>
    <thetext>Created attachment 435743
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785126</commentid>
    <comment_count>2</comment_count>
      <attachid>435772</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-18 09:17:12 -0700</bug_when>
    <thetext>Created attachment 435772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785128</commentid>
    <comment_count>3</comment_count>
      <attachid>435773</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-18 09:18:22 -0700</bug_when>
    <thetext>Created attachment 435773
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785270</commentid>
    <comment_count>4</comment_count>
      <attachid>435815</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-18 16:29:51 -0700</bug_when>
    <thetext>Created attachment 435815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787074</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-24 21:26:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/82324227&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793319</commentid>
    <comment_count>6</comment_count>
      <attachid>438146</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-09-14 08:54:12 -0700</bug_when>
    <thetext>Created attachment 438146
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793379</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-14 12:31:10 -0700</bug_when>
    <thetext>Committed r282401 (241662@main): &lt;https://commits.webkit.org/241662@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438146.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435743</attachid>
            <date>2021-08-17 21:34:22 -0700</date>
            <delta_ts>2021-08-18 09:17:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229225-20210817213421.patch</filename>
            <type>text/plain</type>
            <size>35814</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgyN2EwOGQ0MjkyMzM4
MjNkMjVlODAyMTc1NjYwMGUxZGVhNDEyYS4uNjQ4YmUzODQyZmMxYTI5Mzg4ZTQ1YzQwOWFhNWYy
Y2Q0NTllZDNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA4LTE3ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEludHJvZHVj
ZSBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0L1N0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkyMjUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc2tlbGV0b24gaW1wbGVtZW50YXRpb24gZm9y
IGlubGluZSBsZXZlbCBpbnZhbGlkYXRpb24uCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbGF5
b3V0L0xheW91dENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRD
b250ZXh0OjpjcmVhdGVJbnZhbGlkYXRpb25Db250ZXh0KToKKyAgICAgICAgKiBsYXlvdXQvTGF5
b3V0Q29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9MYXlvdXRTdGF0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjplbnN1cmVJbmxpbmVJbnZhbGlkYXRpb25T
dGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjplc3RhYmxpc2hl
ZElubGluZUludmFsaWRhdGlvblN0YXRlIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvTGF5b3V0
U3RhdGUuaDoKKyAgICAgICAgKiBsYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvbkNvbnRl
eHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW52YWxpZGF0aW9uQ29udGV4dDo6c3R5
bGVEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbnZhbGlkYXRpb25Db250
ZXh0Ojpjb250ZW50Q2hhbmdlZCk6CisgICAgICAgICogbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZh
bGlkYXRpb25TdGF0ZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGxheW91dC9pbnZhbGlkYXRpb24v
aW5saW5lL0lubGluZUludmFsaWRhdGlvbkNvbnRleHQuY3BwOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0ZS5jcHAuCisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUludmFsaWRhdGlvbkNvbnRleHQ6OklubGluZUlu
dmFsaWRhdGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVJbnZh
bGlkYXRpb25Db250ZXh0OjpzdHlsZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OklubGluZUludmFsaWRhdGlvbkNvbnRleHQ6OmNvbnRlbnRDaGFuZ2VkKToKKyAgICAgICAg
KiBsYXlvdXQvaW52YWxpZGF0aW9uL2lubGluZS9JbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0Lmg6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRh
dGlvbkNvbnRleHQuY3BwLgorICAgICAgICAqIGxheW91dC9pbnZhbGlkYXRpb24vaW5saW5lL0lu
bGluZUludmFsaWRhdGlvblN0YXRlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZTo6bGF5b3V0RXh0ZW50IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OmRhbWFnZWRMaW5lcyBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUludmFsaWRhdGlvblN0YXRl
OjpzZXRMYXlvdXRFeHRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVJbnZh
bGlkYXRpb25TdGF0ZTo6c2V0RGFtYWdlZExpbmVzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OmxheW91dFN0YXRlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OklubGluZUludmFsaWRh
dGlvblN0YXRlKToKKwogMjAyMS0wOC0xNyAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0xGQ11bSUZDXSBEbyBub3QgcGFzcyBpbiB0aGUgSW52YWxpZGF0aW9uU3Rh
dGUgdG8gdGhlIGxheW91dCBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMmZlMmE2MDI0NDJk
YjY5Y2JiODkxYjM5MWVkM2VkZTVjZTE4NzBhZS4uMGY4YzI2YjY2Yzk0MGY2MThlZTVkZDVkZjEz
ZTZkMGNkNjRhMWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE1NTMsOCArMTU1Myw3IEBAIGxheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHAKIGxheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCiBsYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcAogbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuY3BwCi1sYXlvdXQvaW52YWxpZGF0aW9uL0lu
dmFsaWRhdGlvbkNvbnRleHQuY3BwCi1sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0
YXRlLmNwcAorbGF5b3V0L2ludmFsaWRhdGlvbi9pbmxpbmUvSW5saW5lSW52YWxpZGF0aW9uQ29u
dGV4dC5jcHAKIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKIGxheW91dC9sYXlvdXR0
cmVlL0xheW91dENvbnRhaW5lckJveC5jcHAKIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveEdl
b21ldHJ5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGU1MGQ2ODEyNDhlMWIyNDQ1ZDAyNjljNWJjMzE4M2JkMTkwYWRjNzcu
LjkwOGE4NjY0NzcwODc5YjdmNzNkNzdiMGEwMmJkMDQxZjUwM2NiZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIxNTUsNyAr
MjE1NSw2IEBACiAJCTZGN0NBM0NBMjA4QzJCMkUwMDJGMjlBQiAvKiBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkY3Q0EzQzgyMDhDMkIyRTAwMkYyOUFCIC8qIElubGluZUZvcm1hdHRpbmdDb250ZXh0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkY5MTQyMTEy
NTE1MjEzODAwNEU0RkVBIC8qIElubGluZUxpbmVHZW9tZXRyeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5MTQyMEYyNTE1MjEzNzAwNEU0RkVBIC8q
IElubGluZUxpbmVHZW9tZXRyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTZGOTVERTREMjM3Qjg4OUMwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25D
b250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
Rjk1REU0QjIzN0I4ODlCMDBFNTE3RTEgLyogSW52YWxpZGF0aW9uQ29udGV4dC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTZGOTVERTRFMjM3Qjg4
OUMwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5NURFNEMyMzdCODg5QzAwRTUxN0UxIC8qIEludmFs
aWRhdGlvblN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNkY5OTVBMTYxQTcwNzU2MjAwQTczNUY0IC8qIFdlYkdMU3luYy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5OTVBMTQxQTcwNzU2MjAw
QTczNUY0IC8qIFdlYkdMU3luYy5oICovOyB9OwogCQk2Rjk5NUEyMDFBNzA3OEIxMDBBNzM1RjQg
LyogV2ViR0xRdWVyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNkY5OTVBMTgxQTcwNzhCMTAwQTczNUY0IC8qIFdlYkdMUXVlcnkuaCAqLzsgfTsKIAkJ
NkY5OTVBMjIxQTcwNzhCMTAwQTczNUY0IC8qIFdlYkdMU2FtcGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5OTVBMUExQTcwNzhCMTAwQTczNUY0
IC8qIFdlYkdMU2FtcGxlci5oICovOyB9OwpAQCAtMjE4NSw2ICsyMTg0LDggQEAKIAkJNkZGOTEx
RjcyNjQ4N0ZDODAwMjAyMURGIC8qIEZsZXhGb3JtYXR0aW5nR2VvbWV0cnkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRjkxMUY2MjY0ODdGQzgwMDIw
MjFERiAvKiBGbGV4Rm9ybWF0dGluZ0dlb21ldHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkZGQTRDMDEyM0YyRkVEOTAwN0U0RUJDIC8qIExh
eW91dExpbmVCcmVha0JveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkZGQTRDMDAyM0YyRkVEOTAwN0U0RUJDIC8qIExheW91dExpbmVCcmVha0JveC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGRkRD
NDQyMjEyRUZGMTcwMEE5Q0E5MSAvKiBGbG9hdEF2b2lkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRkRDNDQwMjEyRUZGMTYwMEE5Q0E5MSAvKiBG
bG9hdEF2b2lkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk2RkZGRjc4QzI2Q0NCNzEwMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uQ29u
dGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZG
RkY3OEEyNkNDQjcwRjAwNzQ4MTVCIC8qIElubGluZUludmFsaWRhdGlvbkNvbnRleHQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk2RkZGRjc4RDI2
Q0NCNzEwMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uU3RhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRkZGNzhCMjZDQ0I3MTAwMDc0ODE1
QiAvKiBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcwOUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAvKiBNb2R1
bGVGZXRjaEZhaWx1cmVLaW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3MDlBMDFGRDFFM0QwQkNDMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJl
S2luZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTcxMDI1RUNEMUY5OUYwQ0UwMDRBMjUwQyAvKiBBbmltYXRpb25UaW1lbGluZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzEwMjVFQzcxRjk5RjA5NjAw
NEEyNTBDIC8qIEFuaW1hdGlvblRpbWVsaW5lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzEwMjVFRDAxRjk5RjBDRTAwNEEyNTBDIC8qIERvY3Vt
ZW50VGltZWxpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDcxMDI1RUM1MUY5OUYwOTYwMDRBMjUwQyAvKiBEb2N1bWVudFRpbWVsaW5lLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwMDUxLDcgKzEw
MDUyLDYgQEAKIAkJNkY4RjQ2MDMyMUIwM0JDNjAwNDFBQzNBIC8qIEJsb2NrRm9ybWF0dGluZ1F1
aXJrcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCbG9ja0Zvcm1hdHRpbmdRdWlya3MuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RjkxNDIwRjI1MTUyMTM3MDA0RTRGRUEgLyog
SW5saW5lTGluZUdlb21ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElu
bGluZUxpbmVHZW9tZXRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2Rjk1REU0
QjIzN0I4ODlCMDBFNTE3RTEgLyogSW52YWxpZGF0aW9uQ29udGV4dC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbnZhbGlkYXRpb25Db250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTZGOTVERTRDMjM3Qjg4OUMwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25T
dGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnZhbGlkYXRpb25TdGF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2Rjk5NUEwOTFBNzA3MEU2MDBBNzM1
RjQgLyogV2ViR0xRdWVyeS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR0xRdWVyeS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGOTk1QTBBMUE3MDcwRTYwMEE3MzVG
NCAvKiBXZWJHTFNhbXBsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdMU2FtcGxl
ci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGOTk1QTBCMUE3MDcwRTYwMEE3
MzVGNCAvKiBXZWJHTFN5bmMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdMU3luYy5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDEwNyw4ICsxMDEwNyw2IEBACiAJ
CTZGRTYzNkU3MjY0Nzk2MjkwMEYwOTUxRSAvKiBJbmxpbmVGb3JtYXR0aW5nUXVpcmtzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZUZvcm1hdHRpbmdRdWlya3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZFN0FBMjYyMUMzN0I2MzAwMjk2RENEIC8q
IE1hcmdpblR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hcmdpblR5cGVzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTZGRTdDRkEwMjE3N0VFRjEwMDVCMTU3MyAvKiBJbmxpbmVJdGVt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZUl0ZW0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNkZFOEU2RjcyMzdCQTVFODAwNzU4RDI2IC8qIEludmFs
aWRhdGlvbkNvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW52YWxpZGF0aW9uQ29udGV4
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTZGRThFNkY4MjM3QkE2QjIwMDc1
OEQyNiAvKiBJbnZhbGlkYXRpb25TdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnZhbGlk
YXRpb25TdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGRTlGMDkyMjIy
MTEwMzUwMDRDNTA4MiAvKiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudENoYW5nZU9ic2VydmVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZFRkU4MUQyMkY5RDIyQTAwMTE0OTI3IC8qIExheW91
dFBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dFBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTZGRjkxMUY2MjY0ODdGQzgwMDIwMjFERiAvKiBGbGV4Rm9ybWF0dGluZ0dl
b21ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsZXhGb3JtYXR0aW5n
R2VvbWV0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMTE3LDYgKzEwMTE1
LDkgQEAKIAkJNkZGQTRDMDAyM0YyRkVEOTAwN0U0RUJDIC8qIExheW91dExpbmVCcmVha0JveC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRMaW5lQnJlYWtCb3guaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZGREM0M0UyMTJFRkYxNjAwQTlDQTkxIC8q
IEZsb2F0QXZvaWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBG
bG9hdEF2b2lkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkZEQzQ0MDIx
MkVGRjE2MDBBOUNBOTEgLyogRmxvYXRBdm9pZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEZsb2F0QXZvaWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2
RkZGRjc4QTI2Q0NCNzBGMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZGRkZGNzhCMjZDQ0I3MTAwMDc0ODE1
QiAvKiBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk2RkZGRjc4RTI2Q0NCNzIxMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uQ29u
dGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzA5QTAxRkQxRTNEMEJDQzAwNkIwRDRD
IC8qIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3MTAwNEI5RDFEQzEzOTg4MDBBNTJBMzggLyogcGxheWJhY2stc3VwcG9ydC5qcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9ICJwbGF5YmFjay1zdXBwb3J0Lmpz
Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzEwMjVFQzIxRjk5RjA5NjAwNEEyNTBD
IC8qIFdlYkFuaW1hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBbmltYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyODIyLDEwICsyMjgyMyw4IEBACiAJCTZGOTVERTRB
MjM3Qjg4MzAwMEU1MTdFMSAvKiBpbnZhbGlkYXRpb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTZGRThFNkY3MjM3QkE1RTgwMDc1OEQyNiAvKiBJbnZh
bGlkYXRpb25Db250ZXh0LmNwcCAqLywKKwkJCQk2RkZGRjc4OTI2Q0NCMERGMDA3NDgxNUIgLyog
aW5saW5lICovLAogCQkJCTZGOTVERTRCMjM3Qjg4OUIwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25D
b250ZXh0LmggKi8sCi0JCQkJNkZFOEU2RjgyMzdCQTZCMjAwNzU4RDI2IC8qIEludmFsaWRhdGlv
blN0YXRlLmNwcCAqLywKLQkJCQk2Rjk1REU0QzIzN0I4ODlDMDBFNTE3RTEgLyogSW52YWxpZGF0
aW9uU3RhdGUuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gaW52YWxpZGF0aW9uOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIyODk1LDYgKzIyODk0LDE2IEBACiAJCQlwYXRoID0gdGV4
dDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTZGRkZGNzg5MjZDQ0IwREYw
MDc0ODE1QiAvKiBpbmxpbmUgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAorCQkJCTZGRkZGNzhFMjZDQ0I3MjEwMDc0ODE1QiAvKiBJbmxpbmVJbnZhbGlkYXRpb25D
b250ZXh0LmNwcCAqLywKKwkJCQk2RkZGRjc4QTI2Q0NCNzBGMDA3NDgxNUIgLyogSW5saW5lSW52
YWxpZGF0aW9uQ29udGV4dC5oICovLAorCQkJCTZGRkZGNzhCMjZDQ0I3MTAwMDc0ODE1QiAvKiBJ
bmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBpbmxpbmU7CisJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk3MTAyNUVDMTFGOTlGMDk2MDA0QTI1
MEMgLyogYW5pbWF0aW9uICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKQEAgLTMzMjk3LDcgKzMzMzA2LDYgQEAKIAkJCQlCMjc1MzU3NTBCMDUzODE0MDAyQ0U2NEYg
LyogSW50U2l6ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjI3NTM1NzYwQjA1MzgxNDAwMkNFNjRG
IC8qIEludFNpemVIYXNoLmggaW4gSGVhZGVycyAqLywKIAkJCQk2Rjk1REU0RDIzN0I4ODlDMDBF
NTE3RTEgLyogSW52YWxpZGF0aW9uQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNkY5NURF
NEUyMzdCODg5QzAwRTUxN0UxIC8qIEludmFsaWRhdGlvblN0YXRlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRDBCNEFBQjE4REExQ0NEMDA0MzRERTEgLyogSU9TdXJmYWNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQzIxRTU3RDE4M0VEMUZGMDAxQzI4OUQgLyogSU9TdXJmYWNlUG9vbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQ0Q1RkY0OTkyMTYyRTJCRTAwNEJEODZGIC8qIElTT0JveC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMzU2MSw2ICszMzU2OSw3IEBACiAJCQkJOTNBODA2MUUxRTAzQjU4NTAw
OEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENzg2OEJBMTM2
Qjk5OTIwMEQ0MDNERiAvKiBKU0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTU3NjgxNDQxMUU3MDlGQTQwMEU3Nzc1NCAvKiBKU0VjZGhLZXlEZXJpdmVQYXJhbXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTZGRkZGNzhEMjZDQ0I3MTAwMDc0ODE1QiAvKiBJbmxpbmVJ
bnZhbGlkYXRpb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdFRUFBNTUxRUEwMDFCMTAw
NzAxMTI0IC8qIEpTRWNkc2FQYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3NTBBOTgyMUU2
QTE1MDgwMDcwNUM0QSAvKiBKU0VjS2V5UGFyYW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQk3MTQ5
NUREQjIwMkIwNkYxMDBBREZEMzQgLyogSlNFZmZlY3RUaW1pbmcuaCBpbiBIZWFkZXJzICovLApA
QCAtMzQ0NjMsNiArMzQ0NzIsNyBAQAogCQkJCTUxQkE0QUNCMUJCQzVCRDkwMERGM0Q2RCAvKiBN
ZW1vcnlJREJCYWNraW5nU3RvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxOEY5NzAzMUJFOTRD
NjMwMDIzMTg3QyAvKiBNZW1vcnlJbmRleC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE5NzU1RkEx
QkZEN0RDMzAwM0RFOTgwIC8qIE1lbW9yeUluZGV4Q3Vyc29yLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk2RkZGRjc4QzI2Q0NCNzEwMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3NzFERkYxQkRCNDg1MDAwQ0FFOEU0IC8qIE1lbW9yeU9i
amVjdFN0b3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTcxMzkwNjFCRjY0REVDMDAwRDVGMDEg
LyogTWVtb3J5T2JqZWN0U3RvcmVDdXJzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxM0UwMDc5
MURCMEU0RjIwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggaW4gSGVhZGVycyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0LmNwcAppbmRleCBiZGQ0NmM0MDYzNTdlMDE5Yjgw
M2UwYWU4ZWM3MWM4OGVkYjIyMWY0Li42YTM0OGU4ZGE1NjQxNjg2MjJkYzNkNDdkMWM2OTkwNTc3
ODNmZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENvbnRleHQuY3BwCkBAIC0zNCw2
ICszNCw3IEBACiAjaW5jbHVkZSAiRmxleEZvcm1hdHRpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIklu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiSW5saW5lRm9ybWF0dGluZ1N0YXRl
LmgiCisjaW5jbHVkZSAiSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIkxh
eW91dEJveC5oIgogI2luY2x1ZGUgIkxheW91dEJveEdlb21ldHJ5LmgiCiAjaW5jbHVkZSAiTGF5
b3V0Q29udGFpbmVyQm94LmgiCkBAIC0xMzQsNiArMTM1LDE3IEBAIHN0ZDo6dW5pcXVlX3B0cjxG
b3JtYXR0aW5nQ29udGV4dD4gTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQo
Y29uc3QKICAgICBDUkFTSCgpOwogfQogCitzdGQ6OnVuaXF1ZV9wdHI8SW52YWxpZGF0aW9uQ29u
dGV4dD4gTGF5b3V0Q29udGV4dDo6Y3JlYXRlSW52YWxpZGF0aW9uQ29udGV4dChjb25zdCBDb250
YWluZXJCb3gmIGZvcm1hdHRpbmdDb250ZXh0Um9vdCwgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRl
KQoreworICAgIEFTU0VSVChmb3JtYXR0aW5nQ29udGV4dFJvb3QuZXN0YWJsaXNoZXNGb3JtYXR0
aW5nQ29udGV4dCgpKTsKKyAgICBpZiAoZm9ybWF0dGluZ0NvbnRleHRSb290LmVzdGFibGlzaGVz
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSkgeworICAgICAgICBhdXRvJiBpbmxpbmVJbnZhbGlk
YXRpb25TdGF0ZSA9IGxheW91dFN0YXRlLmVuc3VyZUlubGluZUludmFsaWRhdGlvblN0YXRlKGZv
cm1hdHRpbmdDb250ZXh0Um9vdCk7CisgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPElubGluZUlu
dmFsaWRhdGlvbkNvbnRleHQ+KGlubGluZUludmFsaWRhdGlvblN0YXRlKTsKKyAgICB9CisKKyAg
ICBDUkFTSCgpOworfQorCiB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9MYXlvdXRDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29udGV4dC5o
CmluZGV4IGJiYjQ4ODFkNGMyMWU2ODQ2NGZjOWY5NDcwZTAzZmFmZjI1YjNkYTIuLjMxMjBmNjll
MWI0YzA5MWRlYjk4OGIzZjRjZmY1MGU5YmRmMWI3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9MYXlvdXRDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xh
eW91dENvbnRleHQuaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIGNsYXNz
IENvbnRhaW5lckJveDsKIGNsYXNzIExheW91dFN0YXRlOwogY2xhc3MgRm9ybWF0dGluZ0NvbnRl
eHQ7CitjbGFzcyBJbnZhbGlkYXRpb25Db250ZXh0OwogCiAvLyBMYXlvdXRDb250ZXh0IGlzIHRo
ZSBlbnRyeSBwb2ludCBmb3IgbGF5b3V0LgogLy8gTGF5b3V0Q29udGV4dDo6bGF5b3V0KCkgZ2Vu
ZXJhdGVzIHRoZSBkaXNwbGF5IHRyZWUgZm9yIHRoZSByb290IGNvbnRhaW5lcidzIHN1YnRyZWUg
KGl0IGRvZXMgbm90IHJ1biBsYXlvdXQgb24gdGhlIHJvb3QgdGhvdWdoKS4KQEAgLTU3LDYgKzU4
LDcgQEAgcHVibGljOgogICAgIHZvaWQgbGF5b3V0V2l0aFByZXBhcmVkUm9vdEdlb21ldHJ5KCk7
CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZvcm1hdHRpbmdDb250ZXh0PiBjcmVhdGVG
b3JtYXR0aW5nQ29udGV4dChjb25zdCBDb250YWluZXJCb3gmIGZvcm1hdHRpbmdDb250ZXh0Um9v
dCwgTGF5b3V0U3RhdGUmKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEludmFsaWRhdGlv
bkNvbnRleHQ+IGNyZWF0ZUludmFsaWRhdGlvbkNvbnRleHQoY29uc3QgQ29udGFpbmVyQm94JiBm
b3JtYXR0aW5nQ29udGV4dFJvb3QsIExheW91dFN0YXRlJik7CiAKICNpZm5kZWYgTkRFQlVHCiAg
ICAgLy8gRm9yIHRlc3RpbmcgcHVycG9zZXMgb25seQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0xheW91dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRT
dGF0ZS5jcHAKaW5kZXggMjdiNGZiYjhlMjAyN2M3ZTQwYTJkY2I4NmU0ODA3YjE5Mjc0MTVkNS4u
Nzc0NDRmZGU3ODZkYzRmMzhhY2I2Zjk1M2Q2NGRkMTJlZTZlYmQ3MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvTGF5b3V0U3RhdGUuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiRmxleEZv
cm1hdHRpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIkZsb2F0aW5nU3RhdGUuaCIKICNpbmNsdWRlICJJ
bmxpbmVGb3JtYXR0aW5nU3RhdGUuaCIKKyNpbmNsdWRlICJJbmxpbmVJbnZhbGlkYXRpb25TdGF0
ZS5oIgogI2luY2x1ZGUgIkxheW91dEJveC5oIgogI2luY2x1ZGUgIkxheW91dEJveEdlb21ldHJ5
LmgiCiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94LmgiCkBAIC0yMzAsNiArMjMxLDIyIEBA
IEZsZXhGb3JtYXR0aW5nU3RhdGUmIExheW91dFN0YXRlOjplbnN1cmVGbGV4Rm9ybWF0dGluZ1N0
YXRlKGNvbnN0IENvbnRhaW5lckJveCYKICAgICByZXR1cm4gKm1fZmxleEZvcm1hdHRpbmdTdGF0
ZXMuZW5zdXJlKCZmb3JtYXR0aW5nQ29udGV4dFJvb3QsIGNyZWF0ZSkuaXRlcmF0b3ItPnZhbHVl
OwogfQogCitJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZSYgTGF5b3V0U3RhdGU6OmVuc3VyZUlubGlu
ZUludmFsaWRhdGlvblN0YXRlKGNvbnN0IENvbnRhaW5lckJveCYgaW5saW5lRm9ybWF0dGluZ0Nv
bnRleHRSb290KQoreworICAgIEFTU0VSVChpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3QuZXN0
YWJsaXNoZXNJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCgpKTsKKworICAgIGF1dG8gY3JlYXRlID0g
WyZdIHsKKyAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8SW5saW5lSW52YWxpZGF0aW9uU3RhdGU+
KCp0aGlzKTsKKyAgICB9OworICAgIHJldHVybiAqbV9pbmxpbmVJbnZhbGlkYXRpb25TdGF0ZXMu
ZW5zdXJlKCZpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3QsIGNyZWF0ZSkuaXRlcmF0b3ItPnZh
bHVlOworfQorCitJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZSYgTGF5b3V0U3RhdGU6OmVzdGFibGlz
aGVkSW5saW5lSW52YWxpZGF0aW9uU3RhdGUoY29uc3QgQ29udGFpbmVyQm94JiBpbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dFJvb3QpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlubGluZUZvcm1hdHRpbmdD
b250ZXh0Um9vdC5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkpOworICAgIHJl
dHVybiAqbV9pbmxpbmVJbnZhbGlkYXRpb25TdGF0ZXMuZ2V0KCZpbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dFJvb3QpOworfQorCiB2b2lkIExheW91dFN0YXRlOjpzZXRWaWV3cG9ydFNpemUoY29uc3Qg
TGF5b3V0U2l6ZSYgdmlld3BvcnRTaXplKQogewogICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRp
b25FbmFibGVkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0
YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0U3RhdGUuaAppbmRleCA5YTFiMzc0
ZmM3MzZkMTIyMmE1ZmQ2YWNmMWI2YWNiOTYzZWFiNDBmLi45OTljOTE0YjExMTA2YjI1ZDEwMWIz
Y2IwOGRjYzZjZTlkMmU1NDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5
b3V0U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0U3RhdGUuaApAQCAt
NDMsNiArNDMsNyBAQCBjbGFzcyBGb3JtYXR0aW5nQ29udGV4dDsKIGNsYXNzIEZvcm1hdHRpbmdT
dGF0ZTsKIGNsYXNzIEJveEdlb21ldHJ5OwogY2xhc3MgSW5saW5lRm9ybWF0dGluZ1N0YXRlOwor
Y2xhc3MgSW5saW5lSW52YWxpZGF0aW9uU3RhdGU7CiBjbGFzcyBUYWJsZUZvcm1hdHRpbmdTdGF0
ZTsKIAogY2xhc3MgTGF5b3V0U3RhdGUgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TGF5b3V0U3Rh
dGU+IHsKQEAgLTY2LDYgKzY3LDkgQEAgcHVibGljOgogCiAgICAgRm9ybWF0dGluZ1N0YXRlJiBm
b3JtYXR0aW5nU3RhdGVGb3JCb3goY29uc3QgQm94JikgY29uc3Q7CiAKKyAgICBJbmxpbmVJbnZh
bGlkYXRpb25TdGF0ZSYgZW5zdXJlSW5saW5lSW52YWxpZGF0aW9uU3RhdGUoY29uc3QgQ29udGFp
bmVyQm94JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3QpOworICAgIElubGluZUludmFsaWRh
dGlvblN0YXRlJiBlc3RhYmxpc2hlZElubGluZUludmFsaWRhdGlvblN0YXRlKGNvbnN0IENvbnRh
aW5lckJveCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290KSBjb25zdDsKKwogICAgIGJvb2wg
aGFzRm9ybWF0dGluZ1N0YXRlKGNvbnN0IENvbnRhaW5lckJveCYgZm9ybWF0dGluZ1Jvb3QpIGNv
bnN0OwogICAgIGJvb2wgaGFzSW5saW5lRm9ybWF0dGluZ1N0YXRlKGNvbnN0IENvbnRhaW5lckJv
eCYgZm9ybWF0dGluZ1Jvb3QpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lRm9ybWF0dGluZ1N0YXRl
cy5jb250YWlucygmZm9ybWF0dGluZ1Jvb3QpOyB9CiAKQEAgLTEwNiw2ICsxMTAsOCBAQCBwcml2
YXRlOgogICAgIEhhc2hNYXA8Y29uc3QgQ29udGFpbmVyQm94Kiwgc3RkOjp1bmlxdWVfcHRyPFRh
YmxlRm9ybWF0dGluZ1N0YXRlPj4gbV90YWJsZUZvcm1hdHRpbmdTdGF0ZXM7CiAgICAgSGFzaE1h
cDxjb25zdCBDb250YWluZXJCb3gqLCBzdGQ6OnVuaXF1ZV9wdHI8RmxleEZvcm1hdHRpbmdTdGF0
ZT4+IG1fZmxleEZvcm1hdHRpbmdTdGF0ZXM7CiAKKyAgICBIYXNoTWFwPGNvbnN0IENvbnRhaW5l
ckJveCosIHN0ZDo6dW5pcXVlX3B0cjxJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZT4+IG1faW5saW5l
SW52YWxpZGF0aW9uU3RhdGVzOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPElubGluZUZvcm1hdHRp
bmdTdGF0ZT4gbV9yb290SW5saW5lRm9ybWF0dGluZ1N0YXRlRm9ySW50ZWdyYXRpb247CiAKICNp
Zm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0
aW9uL0ludmFsaWRhdGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFs
aWRhdGlvbi9JbnZhbGlkYXRpb25Db250ZXh0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMGZiODcwNjUxZjRjNzU2YjZkMmY2MTI3NTA0ZjMyODUyMzEwOTMzNi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvbkNvbnRleHQuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJJbnZhbGlkYXRpb25Db250ZXh0LmgiCi0KLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkKLQotI2luY2x1ZGUgIkludmFsaWRhdGlvblN0YXRlLmgiCi0jaW5jbHVkZSA8d3Rm
L0lzb01hbGxvY0lubGluZXMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotbmFtZXNwYWNlIExh
eW91dCB7Ci0KLVdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChJbnZhbGlkYXRpb25Db250ZXh0
KTsKLQotSW52YWxpZGF0aW9uQ29udGV4dDo6SW52YWxpZGF0aW9uQ29udGV4dChJbnZhbGlkYXRp
b25TdGF0ZSYgaW52YWxpZGF0aW9uU3RhdGUpCi0gICAgOiBtX2ludmFsaWRhdGlvblN0YXRlKGlu
dmFsaWRhdGlvblN0YXRlKQotewotfQotCi12b2lkIEludmFsaWRhdGlvbkNvbnRleHQ6OnN0eWxl
Q2hhbmdlZChjb25zdCBCb3gmIGxheW91dEJveCwgU3R5bGVEaWZmZXJlbmNlKQotewotICAgIG1f
aW52YWxpZGF0aW9uU3RhdGUubWFya05lZWRzVXBkYXRlKGxheW91dEJveCk7Ci19Ci0KLXZvaWQg
SW52YWxpZGF0aW9uQ29udGV4dDo6Y29udGVudENoYW5nZWQoY29uc3QgQm94JikKLXsKLX0KLQot
dm9pZCBJbnZhbGlkYXRpb25Db250ZXh0OjpzdWJ0cmVlQ2hhbmdlZChjb25zdCBCb3gmKQotewot
fQotCi19Ci19Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZh
bGlkYXRpb24vSW52YWxpZGF0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dmFsaWRhdGlvbi9JbnZhbGlkYXRpb25Db250ZXh0LmgKaW5kZXggMmZkOTAyMGI3NzliY2UzZjc4
ZTliNmZmYWQ0ODEyMzY3MTk4NjUyMy4uYmEwNmRmNDcyOGJlOWViZmM5OGQ0YzkxODI4MGIxMWVl
YzE2MDRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9J
bnZhbGlkYXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRh
dGlvbi9JbnZhbGlkYXRpb25Db250ZXh0LmgKQEAgLTI3LDI4ICsyNywyNSBAQAogCiAjaWYgRU5B
QkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKLSNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CisjaW5jbHVkZSAiTGF5b3V0U3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5s
aW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1lbnVtIGNsYXNzIFN0eWxlRGlmZmVyZW5j
ZTsKK2NsYXNzIFJlbmRlclN0eWxlOwogCiBuYW1lc3BhY2UgTGF5b3V0IHsKIGNsYXNzIEJveDsK
LWNsYXNzIEludmFsaWRhdGlvblN0YXRlOwogCiBjbGFzcyBJbnZhbGlkYXRpb25Db250ZXh0IHsK
LSAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEludmFsaWRhdGlvbkNvbnRleHQpOworICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU5MSU5FKEludmFsaWRhdGlvbkNvbnRleHQpOwogcHVibGlj
OgotICAgIEludmFsaWRhdGlvbkNvbnRleHQoSW52YWxpZGF0aW9uU3RhdGUmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoY29uc3QgQm94JiwgY29uc3QgUmVuZGVyU3R5bGUmIC8q
b2xkU3R5bGUqLykgeyB9CisgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRDaGFuZ2VkKCkgeyB9CiAK
LSAgICB2b2lkIHN0eWxlQ2hhbmdlZChjb25zdCBCb3gmLCBTdHlsZURpZmZlcmVuY2UpOwotICAg
IC8vIEZJWE1FOiBXZSBtaWdodCBqdXN0IG1lcmdlIHRoaXMgd2l0aCBzdWJ0cmVlQ2hhbmdlZC4K
LSAgICB2b2lkIGNvbnRlbnRDaGFuZ2VkKGNvbnN0IEJveCYpOwotICAgIC8vIEZJWE1FOiBUaGlz
IGlzIGp1c3QgYSBwbGFjZWhvbGRlciBmb3IgdHJlZSBjaGFuZ2VzIGxpa2UgZ2FpbmluZyBhbmQg
bG9zaW5nIGRlc2NlbmRhbnRzLiAKLSAgICB2b2lkIHN1YnRyZWVDaGFuZ2VkKGNvbnN0IEJveCYp
OworICAgIHZpcnR1YWwgfkludmFsaWRhdGlvbkNvbnRleHQoKSA9IGRlZmF1bHQ7CiAKLXByaXZh
dGU6Ci0gICAgSW52YWxpZGF0aW9uU3RhdGUmIG1faW52YWxpZGF0aW9uU3RhdGU7Citwcm90ZWN0
ZWQ6CisgICAgSW52YWxpZGF0aW9uQ29udGV4dCgpID0gZGVmYXVsdDsKIH07CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vSW52YWxpZGF0aW9uU3Rh
dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25T
dGF0ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhMDFjZmMwNTFiMDE2ODU1
N2Y1OTQ3N2Q3Y2RiNGE3MDYwYjI1NTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlk
YXRpb25TdGF0ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1OCArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0g
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkludmFsaWRhdGlvblN0YXRlLmgiCi0K
LSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLQotI2luY2x1ZGUgIkxheW91
dEluaXRpYWxDb250YWluaW5nQmxvY2suaCIKLSNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5l
cy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1lc3BhY2UgTGF5b3V0IHsKLQotV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTVBMKEludmFsaWRhdGlvblN0YXRlKTsKLQotSW52YWxpZGF0aW9u
U3RhdGU6OkludmFsaWRhdGlvblN0YXRlKCkKLXsKLX0KLQotdm9pZCBJbnZhbGlkYXRpb25TdGF0
ZTo6bWFya05lZWRzVXBkYXRlKGNvbnN0IEJveCYgbGF5b3V0Qm94KQotewotICAgIC8vIFdlIG5l
dmVyIGxheSBvdXQgdGhlIGluaXRpYWwgY29udGFpbmluZyBibG9jay4gSXQgYWx3YXlzIGhhcyBw
cmUtZGV0ZXJtaW5lZCBnZW9tZXRyeS4KLSAgICBBU1NFUlQoIWlzPEluaXRpYWxDb250YWluaW5n
QmxvY2s+KGxheW91dEJveCkpOwotICAgIC8vIEZJWE1FOiBUaGlzIGlzIGp1c3QgYSBwbGFjZWhv
bGRlciBpbXBsZW1lbnRhdGlvbi4KLSAgICBtX2Zvcm1hdHRpbmdDb250ZXh0Um9vdHMuYWRkKCZs
YXlvdXRCb3guZm9ybWF0dGluZ0NvbnRleHRSb290KCkpOwotfQotCi1ib29sIEludmFsaWRhdGlv
blN0YXRlOjpuZWVkc0xheW91dChjb25zdCBCb3gmKSBjb25zdAotewotICAgIHJldHVybiB0cnVl
OwotfQotCi19Ci19Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnZhbGlkYXRpb24vSW52YWxpZGF0aW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnZhbGlkYXRpb24vSW52YWxpZGF0aW9uU3RhdGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMTcwZTAxNDQ4YTAwNzhiMzFjMjg3MjhiNDViOGQ2YTU0M2I1MzcwZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1
NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkKLQotI2luY2x1ZGUgIkxheW91dEJveC5oIgotI2luY2x1ZGUg
IkxheW91dENvbnRhaW5lckJveC5oIgotI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KLSNpbmNs
dWRlIDx3dGYvV2Vha0hhc2hTZXQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotbmFtZXNwYWNl
IExheW91dCB7Ci0KLWNsYXNzIEludmFsaWRhdGlvblN0YXRlIHsKLSAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKEludmFsaWRhdGlvblN0YXRlKTsKLXB1YmxpYzoKLSAgICBJbnZhbGlkYXRpb25T
dGF0ZSgpOwotCi0gICAgdm9pZCBtYXJrTmVlZHNVcGRhdGUoY29uc3QgQm94Jik7Ci0gICAgYm9v
bCBuZWVkc0xheW91dChjb25zdCBCb3gmKSBjb25zdDsKLQotICAgIHVzaW5nIEZvcm1hdHRpbmdD
b250ZXh0Um9vdHMgPSBXZWFrSGFzaFNldDxjb25zdCBDb250YWluZXJCb3g+OwotICAgIC8vIEZJ
WE1FOiBXZSBjdXJyZW50bHkgZG8gZnVsbCBmb3JtYXR0aW5nIGNvbnRleHQgbGF5b3V0cyAobm8g
cGFydGlhbCBsYXlvdXQgd2l0aGluIGEgZm9ybWF0dGluZyBjb250ZXh0KS4KLSAgICBjb25zdCBG
b3JtYXR0aW5nQ29udGV4dFJvb3RzJiBmb3JtYXR0aW5nQ29udGV4dFJvb3RzKCkgY29uc3QgeyBy
ZXR1cm4gbV9mb3JtYXR0aW5nQ29udGV4dFJvb3RzOyB9Ci0KLXByaXZhdGU6Ci0gICAgRm9ybWF0
dGluZ0NvbnRleHRSb290cyBtX2Zvcm1hdHRpbmdDb250ZXh0Um9vdHM7Ci19OwotCi19Ci19Ci0j
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vaW5s
aW5lL0lubGluZUludmFsaWRhdGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludmFsaWRhdGlvbi9pbmxpbmUvSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWU0ZjcxNGQ0MjllYjgwOTIxNWVjMDNlYmFlYmIzNzFlM2JiY2M0MAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vaW5saW5lL0lubGlu
ZUludmFsaWRhdGlvbkNvbnRleHQuY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5o
IgorCisjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCisKKyNpbmNsdWRlICJJ
bmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVz
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBMYXlvdXQgeworCitXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dCk7CisKK0lubGlu
ZUludmFsaWRhdGlvbkNvbnRleHQ6OklubGluZUludmFsaWRhdGlvbkNvbnRleHQoSW5saW5lSW52
YWxpZGF0aW9uU3RhdGUmIGlubGluZUludmFsaWRhdGlvblN0YXRlKQorICAgIDogbV9pbmxpbmVJ
bnZhbGlkYXRpb25TdGF0ZShpbmxpbmVJbnZhbGlkYXRpb25TdGF0ZSkKK3sKK30KKwordm9pZCBJ
bmxpbmVJbnZhbGlkYXRpb25Db250ZXh0OjpzdHlsZURpZENoYW5nZShjb25zdCBCb3gmLCBjb25z
dCBSZW5kZXJTdHlsZSYpCit7CisgICAgbV9pbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5zZXRMYXlv
dXRFeHRlbnQoSW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OkxheW91dEV4dGVudDo6TmVlZHNMaW5l
TGF5b3V0KTsKK30KKwordm9pZCBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0Ojpjb250ZW50Q2hh
bmdlZCgpCit7CisgICAgbV9pbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5zZXRMYXlvdXRFeHRlbnQo
SW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OkxheW91dEV4dGVudDo6TmVlZHNDb250ZW50UHJvY2Vz
c2luZyk7Cit9CisKK30KK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludmFsaWRhdGlvbi9pbmxpbmUvSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9pbmxpbmUvSW5saW5lSW52YWxpZGF0aW9u
Q29udGV4dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwNGQ0NTkwYTU4ZDNlNDc5ZGNmNjE1OTBjYjJjNjc4MjQ1
OWVhYmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0
aW9uL2lubGluZS9JbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0LmgKQEAgLTAsMCArMSw1MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpCisKKyNpbmNsdWRlICJJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oIgorI2luY2x1
ZGUgIkludmFsaWRhdGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBMYXlvdXQgeworCitjbGFzcyBJbmxpbmVJ
bnZhbGlkYXRpb25Db250ZXh0IDogcHVibGljIEludmFsaWRhdGlvbkNvbnRleHQgeworICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dCk7CitwdWJsaWM6
CisgICAgSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dChJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZSYp
OworCisgICAgdm9pZCBzdHlsZURpZENoYW5nZShjb25zdCBCb3gmLCBjb25zdCBSZW5kZXJTdHls
ZSYgb2xkU3R5bGUpIGZpbmFsOworICAgIHZvaWQgY29udGVudENoYW5nZWQoKSBmaW5hbDsKKwor
cHJpdmF0ZToKKyAgICBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZSYgbV9pbmxpbmVJbnZhbGlkYXRp
b25TdGF0ZTsKK307CisKK30KK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludmFsaWRhdGlvbi9pbmxpbmUvSW5saW5lSW52YWxpZGF0aW9uU3RhdGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vaW5saW5lL0lubGluZUludmFsaWRhdGlv
blN0YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNlZjhkMjgwZjU4OWU4YzdhMzA3YTlkYmI4MWI0OTBiMzUw
YTdhNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRp
b24vaW5saW5lL0lubGluZUludmFsaWRhdGlvblN0YXRlLmgKQEAgLTAsMCArMSw3MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpCisKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CituYW1lc3BhY2UgTGF5b3V0IHsKK2NsYXNzIElubGluZUludmFsaWRhdGlvbkNv
bnRleHQ7CisKK2NsYXNzIElubGluZUludmFsaWRhdGlvblN0YXRlIHsKKyAgICBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lOTElORShJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZSk7CitwdWJsaWM6Cisg
ICAgSW5saW5lSW52YWxpZGF0aW9uU3RhdGUoY29uc3QgTGF5b3V0U3RhdGUmKTsKKworICAgIGVu
dW0gY2xhc3MgTGF5b3V0RXh0ZW50IHsKKyAgICAgICAgTmVlZHNDb250ZW50UHJvY2Vzc2luZywg
Ly8gQ29udGVudCBjaGFuZ2VkIG9yIHNvbWUgc3R5bGUgdGhhdCBkcml2ZSBzb2Z0IHdyYXAgb3Bw
b3J0dW5pdGllcyAoZS5nLiB3aGl0ZS1zcGFjZTogcHJlIHRvIG5vcm1hbCkuIFRoaXMgdGVsbHMg
dXMgdG8gZS1wcm9jZXNzIHRoZSBpbmxpbmUgY29udGVudC4KKyAgICAgICAgTmVlZHNMaW5lTGF5
b3V0LCAvLyBTb21lIGNvbnRlbnQgYnV0IGVpdGhlciB0aGUgY29uc3RyYWludCBvciBzb21lIHN0
eWxlIHRoYXQgbWF5IGFmZmVjdCBsaW5lIGJyZWFraW5nIGNoYW5nZWQgKGUuZy4gZm9udC1zaXpl
IG9yIGNvbnRhaW5pZyBsb2NrIGhhcyBkaWZmZXJlbnQgbG9naWNhbCB3aWR0aCkuCisgICAgICAg
IE5lZWRzVmVydGljYWxBbGlnbm1lbnQsIC8vIExpbmUgYnJlYWtpbmcgcG9zaXRpb25zIGFyZSB0
aGUgc2FtZSwgb25seSBoZWlnaHQgcmVsYXRlZCBzdHlsZSBjaGFuZ2VkIChlLmcgaW1nJ3MgaGVp
Z2h0IGNoYW5nZXMpLgorICAgICAgICBOZWVkc0hvcml6b250YWxBbGlnbm1lbnQgLy8gTGluZSBi
cmVha2luZyBwb3NpdGlvbnMgYXJlIHRoZSBzYW1lLCBydW5zIG1heSBzaG93IHVwIGF0IGEgZGlm
ZmVyZW50IGhvcml6b250YWwgcG9zaXRpb24gKGUuZy4gdGV4dC1hbGlnbiBjaGFuZ2VzKS4KKyAg
ICB9OworICAgIExheW91dEV4dGVudCBsYXlvdXRFeHRlbnQoKSBjb25zdCB7IHJldHVybiBtX2xh
eW91dEV4dGVudDsgfQorICAgIC8vIEVpdGhlciB0aGUgdG9wLW1vc3QgZGFtYWdlZCBsaW5lIG9y
IGEgbGlzdCBvZiBpbmRlcGVuZGVudGx5IGRhbWFuZ2VkIGxpbmVzIChlLmcgd2l0aCBOZWVkc1Zl
cnRpY2FsQWxpZ25tZW50KS4KKyAgICB1c2luZyBEYW1hZ2VkTGluZXMgPSBWZWN0b3I8c2l6ZV90
LCAxPjsKKyAgICBjb25zdCBEYW1hZ2VkTGluZXMmIGRhbWFnZWRMaW5lcygpIGNvbnN0IHsgcmV0
dXJuIG1fZGFtYWdlZExpbmVzOyB9CisgICAgCitwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBJ
bmxpbmVJbnZhbGlkYXRpb25Db250ZXh0OworCisgICAgdm9pZCBzZXRMYXlvdXRFeHRlbnQoTGF5
b3V0RXh0ZW50IGxheW91dEV4dGVudCkgeyBtX2xheW91dEV4dGVudCA9IGxheW91dEV4dGVudDsg
fQorICAgIHZvaWQgc2V0RGFtYWdlZExpbmVzKERhbWFnZWRMaW5lcyYmIGRhbWFuZ2VkTGluZXMp
IHsgbV9kYW1hZ2VkTGluZXMgPSBXVEZNb3ZlKGRhbWFuZ2VkTGluZXMpOyB9CisgICAgY29uc3Qg
TGF5b3V0U3RhdGUmIGxheW91dFN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRTdGF0ZTsg
fQorCisgICAgTGF5b3V0RXh0ZW50IG1fbGF5b3V0RXh0ZW50IHsgTGF5b3V0RXh0ZW50OjpOZWVk
c0NvbnRlbnRQcm9jZXNzaW5nIH07CisgICAgRGFtYWdlZExpbmVzIG1fZGFtYWdlZExpbmVzOwor
ICAgIGNvbnN0IExheW91dFN0YXRlJiBtX2xheW91dFN0YXRlOworfTsKKworaW5saW5lIElubGlu
ZUludmFsaWRhdGlvblN0YXRlOjpJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZShjb25zdCBMYXlvdXRT
dGF0ZSYgbGF5b3V0U3RhdGUpCisgICAgOiBtX2xheW91dFN0YXRlKGxheW91dFN0YXRlKQorewor
fQorCit9Cit9CisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435772</attachid>
            <date>2021-08-18 09:17:12 -0700</date>
            <delta_ts>2021-08-18 09:18:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229225-20210818091711.patch</filename>
            <type>text/plain</type>
            <size>35833</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgyN2EwOGQ0MjkyMzM4
MjNkMjVlODAyMTc1NjYwMGUxZGVhNDEyYS4uNjQ4YmUzODQyZmMxYTI5Mzg4ZTQ1YzQwOWFhNWYy
Y2Q0NTllZDNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA4LTE3ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEludHJvZHVj
ZSBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0L1N0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkyMjUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc2tlbGV0b24gaW1wbGVtZW50YXRpb24gZm9y
IGlubGluZSBsZXZlbCBpbnZhbGlkYXRpb24uCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbGF5
b3V0L0xheW91dENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRD
b250ZXh0OjpjcmVhdGVJbnZhbGlkYXRpb25Db250ZXh0KToKKyAgICAgICAgKiBsYXlvdXQvTGF5
b3V0Q29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9MYXlvdXRTdGF0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjplbnN1cmVJbmxpbmVJbnZhbGlkYXRpb25T
dGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjplc3RhYmxpc2hl
ZElubGluZUludmFsaWRhdGlvblN0YXRlIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvTGF5b3V0
U3RhdGUuaDoKKyAgICAgICAgKiBsYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvbkNvbnRl
eHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW52YWxpZGF0aW9uQ29udGV4dDo6c3R5
bGVEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbnZhbGlkYXRpb25Db250
ZXh0Ojpjb250ZW50Q2hhbmdlZCk6CisgICAgICAgICogbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZh
bGlkYXRpb25TdGF0ZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGxheW91dC9pbnZhbGlkYXRpb24v
aW5saW5lL0lubGluZUludmFsaWRhdGlvbkNvbnRleHQuY3BwOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0ZS5jcHAuCisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUludmFsaWRhdGlvbkNvbnRleHQ6OklubGluZUlu
dmFsaWRhdGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVJbnZh
bGlkYXRpb25Db250ZXh0OjpzdHlsZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OklubGluZUludmFsaWRhdGlvbkNvbnRleHQ6OmNvbnRlbnRDaGFuZ2VkKToKKyAgICAgICAg
KiBsYXlvdXQvaW52YWxpZGF0aW9uL2lubGluZS9JbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0Lmg6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRh
dGlvbkNvbnRleHQuY3BwLgorICAgICAgICAqIGxheW91dC9pbnZhbGlkYXRpb24vaW5saW5lL0lu
bGluZUludmFsaWRhdGlvblN0YXRlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZTo6bGF5b3V0RXh0ZW50IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OmRhbWFnZWRMaW5lcyBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUludmFsaWRhdGlvblN0YXRl
OjpzZXRMYXlvdXRFeHRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVJbnZh
bGlkYXRpb25TdGF0ZTo6c2V0RGFtYWdlZExpbmVzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OmxheW91dFN0YXRlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OklubGluZUludmFsaWRh
dGlvblN0YXRlKToKKwogMjAyMS0wOC0xNyAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0xGQ11bSUZDXSBEbyBub3QgcGFzcyBpbiB0aGUgSW52YWxpZGF0aW9uU3Rh
dGUgdG8gdGhlIGxheW91dCBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMmZlMmE2MDI0NDJk
YjY5Y2JiODkxYjM5MWVkM2VkZTVjZTE4NzBhZS4uMGY4YzI2YjY2Yzk0MGY2MThlZTVkZDVkZjEz
ZTZkMGNkNjRhMWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE1NTMsOCArMTU1Myw3IEBAIGxheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHAKIGxheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCiBsYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcAogbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuY3BwCi1sYXlvdXQvaW52YWxpZGF0aW9uL0lu
dmFsaWRhdGlvbkNvbnRleHQuY3BwCi1sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0
YXRlLmNwcAorbGF5b3V0L2ludmFsaWRhdGlvbi9pbmxpbmUvSW5saW5lSW52YWxpZGF0aW9uQ29u
dGV4dC5jcHAKIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKIGxheW91dC9sYXlvdXR0
cmVlL0xheW91dENvbnRhaW5lckJveC5jcHAKIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveEdl
b21ldHJ5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGU1MGQ2ODEyNDhlMWIyNDQ1ZDAyNjljNWJjMzE4M2JkMTkwYWRjNzcu
LjkwOGE4NjY0NzcwODc5YjdmNzNkNzdiMGEwMmJkMDQxZjUwM2NiZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIxNTUsNyAr
MjE1NSw2IEBACiAJCTZGN0NBM0NBMjA4QzJCMkUwMDJGMjlBQiAvKiBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkY3Q0EzQzgyMDhDMkIyRTAwMkYyOUFCIC8qIElubGluZUZvcm1hdHRpbmdDb250ZXh0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkY5MTQyMTEy
NTE1MjEzODAwNEU0RkVBIC8qIElubGluZUxpbmVHZW9tZXRyeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5MTQyMEYyNTE1MjEzNzAwNEU0RkVBIC8q
IElubGluZUxpbmVHZW9tZXRyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTZGOTVERTREMjM3Qjg4OUMwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25D
b250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
Rjk1REU0QjIzN0I4ODlCMDBFNTE3RTEgLyogSW52YWxpZGF0aW9uQ29udGV4dC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTZGOTVERTRFMjM3Qjg4
OUMwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5NURFNEMyMzdCODg5QzAwRTUxN0UxIC8qIEludmFs
aWRhdGlvblN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNkY5OTVBMTYxQTcwNzU2MjAwQTczNUY0IC8qIFdlYkdMU3luYy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5OTVBMTQxQTcwNzU2MjAw
QTczNUY0IC8qIFdlYkdMU3luYy5oICovOyB9OwogCQk2Rjk5NUEyMDFBNzA3OEIxMDBBNzM1RjQg
LyogV2ViR0xRdWVyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNkY5OTVBMTgxQTcwNzhCMTAwQTczNUY0IC8qIFdlYkdMUXVlcnkuaCAqLzsgfTsKIAkJ
NkY5OTVBMjIxQTcwNzhCMTAwQTczNUY0IC8qIFdlYkdMU2FtcGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5OTVBMUExQTcwNzhCMTAwQTczNUY0
IC8qIFdlYkdMU2FtcGxlci5oICovOyB9OwpAQCAtMjE4NSw2ICsyMTg0LDggQEAKIAkJNkZGOTEx
RjcyNjQ4N0ZDODAwMjAyMURGIC8qIEZsZXhGb3JtYXR0aW5nR2VvbWV0cnkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRjkxMUY2MjY0ODdGQzgwMDIw
MjFERiAvKiBGbGV4Rm9ybWF0dGluZ0dlb21ldHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkZGQTRDMDEyM0YyRkVEOTAwN0U0RUJDIC8qIExh
eW91dExpbmVCcmVha0JveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkZGQTRDMDAyM0YyRkVEOTAwN0U0RUJDIC8qIExheW91dExpbmVCcmVha0JveC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGRkRD
NDQyMjEyRUZGMTcwMEE5Q0E5MSAvKiBGbG9hdEF2b2lkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRkRDNDQwMjEyRUZGMTYwMEE5Q0E5MSAvKiBG
bG9hdEF2b2lkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk2RkZGRjc4QzI2Q0NCNzEwMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uQ29u
dGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZG
RkY3OEEyNkNDQjcwRjAwNzQ4MTVCIC8qIElubGluZUludmFsaWRhdGlvbkNvbnRleHQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk2RkZGRjc4RDI2
Q0NCNzEwMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uU3RhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRkZGNzhCMjZDQ0I3MTAwMDc0ODE1
QiAvKiBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcwOUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAvKiBNb2R1
bGVGZXRjaEZhaWx1cmVLaW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3MDlBMDFGRDFFM0QwQkNDMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJl
S2luZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTcxMDI1RUNEMUY5OUYwQ0UwMDRBMjUwQyAvKiBBbmltYXRpb25UaW1lbGluZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzEwMjVFQzcxRjk5RjA5NjAw
NEEyNTBDIC8qIEFuaW1hdGlvblRpbWVsaW5lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzEwMjVFRDAxRjk5RjBDRTAwNEEyNTBDIC8qIERvY3Vt
ZW50VGltZWxpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDcxMDI1RUM1MUY5OUYwOTYwMDRBMjUwQyAvKiBEb2N1bWVudFRpbWVsaW5lLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwMDUxLDcgKzEw
MDUyLDYgQEAKIAkJNkY4RjQ2MDMyMUIwM0JDNjAwNDFBQzNBIC8qIEJsb2NrRm9ybWF0dGluZ1F1
aXJrcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCbG9ja0Zvcm1hdHRpbmdRdWlya3MuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RjkxNDIwRjI1MTUyMTM3MDA0RTRGRUEgLyog
SW5saW5lTGluZUdlb21ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElu
bGluZUxpbmVHZW9tZXRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2Rjk1REU0
QjIzN0I4ODlCMDBFNTE3RTEgLyogSW52YWxpZGF0aW9uQ29udGV4dC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbnZhbGlkYXRpb25Db250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTZGOTVERTRDMjM3Qjg4OUMwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25T
dGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnZhbGlkYXRpb25TdGF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2Rjk5NUEwOTFBNzA3MEU2MDBBNzM1
RjQgLyogV2ViR0xRdWVyeS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR0xRdWVyeS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGOTk1QTBBMUE3MDcwRTYwMEE3MzVG
NCAvKiBXZWJHTFNhbXBsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdMU2FtcGxl
ci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGOTk1QTBCMUE3MDcwRTYwMEE3
MzVGNCAvKiBXZWJHTFN5bmMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdMU3luYy5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDEwNyw4ICsxMDEwNyw2IEBACiAJ
CTZGRTYzNkU3MjY0Nzk2MjkwMEYwOTUxRSAvKiBJbmxpbmVGb3JtYXR0aW5nUXVpcmtzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZUZvcm1hdHRpbmdRdWlya3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZFN0FBMjYyMUMzN0I2MzAwMjk2RENEIC8q
IE1hcmdpblR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hcmdpblR5cGVzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTZGRTdDRkEwMjE3N0VFRjEwMDVCMTU3MyAvKiBJbmxpbmVJdGVt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZUl0ZW0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNkZFOEU2RjcyMzdCQTVFODAwNzU4RDI2IC8qIEludmFs
aWRhdGlvbkNvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW52YWxpZGF0aW9uQ29udGV4
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTZGRThFNkY4MjM3QkE2QjIwMDc1
OEQyNiAvKiBJbnZhbGlkYXRpb25TdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnZhbGlk
YXRpb25TdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGRTlGMDkyMjIy
MTEwMzUwMDRDNTA4MiAvKiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudENoYW5nZU9ic2VydmVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZFRkU4MUQyMkY5RDIyQTAwMTE0OTI3IC8qIExheW91
dFBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dFBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTZGRjkxMUY2MjY0ODdGQzgwMDIwMjFERiAvKiBGbGV4Rm9ybWF0dGluZ0dl
b21ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsZXhGb3JtYXR0aW5n
R2VvbWV0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMTE3LDYgKzEwMTE1
LDkgQEAKIAkJNkZGQTRDMDAyM0YyRkVEOTAwN0U0RUJDIC8qIExheW91dExpbmVCcmVha0JveC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRMaW5lQnJlYWtCb3guaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZGREM0M0UyMTJFRkYxNjAwQTlDQTkxIC8q
IEZsb2F0QXZvaWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBG
bG9hdEF2b2lkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkZEQzQ0MDIx
MkVGRjE2MDBBOUNBOTEgLyogRmxvYXRBdm9pZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEZsb2F0QXZvaWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2
RkZGRjc4QTI2Q0NCNzBGMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZGRkZGNzhCMjZDQ0I3MTAwMDc0ODE1
QiAvKiBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk2RkZGRjc4RTI2Q0NCNzIxMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uQ29u
dGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzA5QTAxRkQxRTNEMEJDQzAwNkIwRDRD
IC8qIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3MTAwNEI5RDFEQzEzOTg4MDBBNTJBMzggLyogcGxheWJhY2stc3VwcG9ydC5qcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9ICJwbGF5YmFjay1zdXBwb3J0Lmpz
Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzEwMjVFQzIxRjk5RjA5NjAwNEEyNTBD
IC8qIFdlYkFuaW1hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBbmltYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyODIyLDEwICsyMjgyMyw4IEBACiAJCTZGOTVERTRB
MjM3Qjg4MzAwMEU1MTdFMSAvKiBpbnZhbGlkYXRpb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTZGRThFNkY3MjM3QkE1RTgwMDc1OEQyNiAvKiBJbnZh
bGlkYXRpb25Db250ZXh0LmNwcCAqLywKKwkJCQk2RkZGRjc4OTI2Q0NCMERGMDA3NDgxNUIgLyog
aW5saW5lICovLAogCQkJCTZGOTVERTRCMjM3Qjg4OUIwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25D
b250ZXh0LmggKi8sCi0JCQkJNkZFOEU2RjgyMzdCQTZCMjAwNzU4RDI2IC8qIEludmFsaWRhdGlv
blN0YXRlLmNwcCAqLywKLQkJCQk2Rjk1REU0QzIzN0I4ODlDMDBFNTE3RTEgLyogSW52YWxpZGF0
aW9uU3RhdGUuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gaW52YWxpZGF0aW9uOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIyODk1LDYgKzIyODk0LDE2IEBACiAJCQlwYXRoID0gdGV4
dDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTZGRkZGNzg5MjZDQ0IwREYw
MDc0ODE1QiAvKiBpbmxpbmUgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAorCQkJCTZGRkZGNzhFMjZDQ0I3MjEwMDc0ODE1QiAvKiBJbmxpbmVJbnZhbGlkYXRpb25D
b250ZXh0LmNwcCAqLywKKwkJCQk2RkZGRjc4QTI2Q0NCNzBGMDA3NDgxNUIgLyogSW5saW5lSW52
YWxpZGF0aW9uQ29udGV4dC5oICovLAorCQkJCTZGRkZGNzhCMjZDQ0I3MTAwMDc0ODE1QiAvKiBJ
bmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBpbmxpbmU7CisJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk3MTAyNUVDMTFGOTlGMDk2MDA0QTI1
MEMgLyogYW5pbWF0aW9uICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKQEAgLTMzMjk3LDcgKzMzMzA2LDYgQEAKIAkJCQlCMjc1MzU3NTBCMDUzODE0MDAyQ0U2NEYg
LyogSW50U2l6ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjI3NTM1NzYwQjA1MzgxNDAwMkNFNjRG
IC8qIEludFNpemVIYXNoLmggaW4gSGVhZGVycyAqLywKIAkJCQk2Rjk1REU0RDIzN0I4ODlDMDBF
NTE3RTEgLyogSW52YWxpZGF0aW9uQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNkY5NURF
NEUyMzdCODg5QzAwRTUxN0UxIC8qIEludmFsaWRhdGlvblN0YXRlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRDBCNEFBQjE4REExQ0NEMDA0MzRERTEgLyogSU9TdXJmYWNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQzIxRTU3RDE4M0VEMUZGMDAxQzI4OUQgLyogSU9TdXJmYWNlUG9vbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQ0Q1RkY0OTkyMTYyRTJCRTAwNEJEODZGIC8qIElTT0JveC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMzU2MSw2ICszMzU2OSw3IEBACiAJCQkJOTNBODA2MUUxRTAzQjU4NTAw
OEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENzg2OEJBMTM2
Qjk5OTIwMEQ0MDNERiAvKiBKU0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTU3NjgxNDQxMUU3MDlGQTQwMEU3Nzc1NCAvKiBKU0VjZGhLZXlEZXJpdmVQYXJhbXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTZGRkZGNzhEMjZDQ0I3MTAwMDc0ODE1QiAvKiBJbmxpbmVJ
bnZhbGlkYXRpb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdFRUFBNTUxRUEwMDFCMTAw
NzAxMTI0IC8qIEpTRWNkc2FQYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3NTBBOTgyMUU2
QTE1MDgwMDcwNUM0QSAvKiBKU0VjS2V5UGFyYW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQk3MTQ5
NUREQjIwMkIwNkYxMDBBREZEMzQgLyogSlNFZmZlY3RUaW1pbmcuaCBpbiBIZWFkZXJzICovLApA
QCAtMzQ0NjMsNiArMzQ0NzIsNyBAQAogCQkJCTUxQkE0QUNCMUJCQzVCRDkwMERGM0Q2RCAvKiBN
ZW1vcnlJREJCYWNraW5nU3RvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxOEY5NzAzMUJFOTRD
NjMwMDIzMTg3QyAvKiBNZW1vcnlJbmRleC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE5NzU1RkEx
QkZEN0RDMzAwM0RFOTgwIC8qIE1lbW9yeUluZGV4Q3Vyc29yLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk2RkZGRjc4QzI2Q0NCNzEwMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3NzFERkYxQkRCNDg1MDAwQ0FFOEU0IC8qIE1lbW9yeU9i
amVjdFN0b3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTcxMzkwNjFCRjY0REVDMDAwRDVGMDEg
LyogTWVtb3J5T2JqZWN0U3RvcmVDdXJzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxM0UwMDc5
MURCMEU0RjIwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggaW4gSGVhZGVycyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0LmNwcAppbmRleCBiZGQ0NmM0MDYzNTdlMDE5Yjgw
M2UwYWU4ZWM3MWM4OGVkYjIyMWY0Li42YTM0OGU4ZGE1NjQxNjg2MjJkYzNkNDdkMWM2OTkwNTc3
ODNmZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENvbnRleHQuY3BwCkBAIC0zNCw2
ICszNCw3IEBACiAjaW5jbHVkZSAiRmxleEZvcm1hdHRpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIklu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiSW5saW5lRm9ybWF0dGluZ1N0YXRl
LmgiCisjaW5jbHVkZSAiSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIkxh
eW91dEJveC5oIgogI2luY2x1ZGUgIkxheW91dEJveEdlb21ldHJ5LmgiCiAjaW5jbHVkZSAiTGF5
b3V0Q29udGFpbmVyQm94LmgiCkBAIC0xMzQsNiArMTM1LDE3IEBAIHN0ZDo6dW5pcXVlX3B0cjxG
b3JtYXR0aW5nQ29udGV4dD4gTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQo
Y29uc3QKICAgICBDUkFTSCgpOwogfQogCitzdGQ6OnVuaXF1ZV9wdHI8SW52YWxpZGF0aW9uQ29u
dGV4dD4gTGF5b3V0Q29udGV4dDo6Y3JlYXRlSW52YWxpZGF0aW9uQ29udGV4dChjb25zdCBDb250
YWluZXJCb3gmIGZvcm1hdHRpbmdDb250ZXh0Um9vdCwgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRl
KQoreworICAgIEFTU0VSVChmb3JtYXR0aW5nQ29udGV4dFJvb3QuZXN0YWJsaXNoZXNGb3JtYXR0
aW5nQ29udGV4dCgpKTsKKyAgICBpZiAoZm9ybWF0dGluZ0NvbnRleHRSb290LmVzdGFibGlzaGVz
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSkgeworICAgICAgICBhdXRvJiBpbmxpbmVJbnZhbGlk
YXRpb25TdGF0ZSA9IGxheW91dFN0YXRlLmVuc3VyZUlubGluZUludmFsaWRhdGlvblN0YXRlKGZv
cm1hdHRpbmdDb250ZXh0Um9vdCk7CisgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPElubGluZUlu
dmFsaWRhdGlvbkNvbnRleHQ+KGlubGluZUludmFsaWRhdGlvblN0YXRlKTsKKyAgICB9CisKKyAg
ICBDUkFTSCgpOworfQorCiB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9MYXlvdXRDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29udGV4dC5o
CmluZGV4IGJiYjQ4ODFkNGMyMWU2ODQ2NGZjOWY5NDcwZTAzZmFmZjI1YjNkYTIuLjMxMjBmNjll
MWI0YzA5MWRlYjk4OGIzZjRjZmY1MGU5YmRmMWI3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9MYXlvdXRDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xh
eW91dENvbnRleHQuaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIGNsYXNz
IENvbnRhaW5lckJveDsKIGNsYXNzIExheW91dFN0YXRlOwogY2xhc3MgRm9ybWF0dGluZ0NvbnRl
eHQ7CitjbGFzcyBJbnZhbGlkYXRpb25Db250ZXh0OwogCiAvLyBMYXlvdXRDb250ZXh0IGlzIHRo
ZSBlbnRyeSBwb2ludCBmb3IgbGF5b3V0LgogLy8gTGF5b3V0Q29udGV4dDo6bGF5b3V0KCkgZ2Vu
ZXJhdGVzIHRoZSBkaXNwbGF5IHRyZWUgZm9yIHRoZSByb290IGNvbnRhaW5lcidzIHN1YnRyZWUg
KGl0IGRvZXMgbm90IHJ1biBsYXlvdXQgb24gdGhlIHJvb3QgdGhvdWdoKS4KQEAgLTU3LDYgKzU4
LDcgQEAgcHVibGljOgogICAgIHZvaWQgbGF5b3V0V2l0aFByZXBhcmVkUm9vdEdlb21ldHJ5KCk7
CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZvcm1hdHRpbmdDb250ZXh0PiBjcmVhdGVG
b3JtYXR0aW5nQ29udGV4dChjb25zdCBDb250YWluZXJCb3gmIGZvcm1hdHRpbmdDb250ZXh0Um9v
dCwgTGF5b3V0U3RhdGUmKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEludmFsaWRhdGlv
bkNvbnRleHQ+IGNyZWF0ZUludmFsaWRhdGlvbkNvbnRleHQoY29uc3QgQ29udGFpbmVyQm94JiBm
b3JtYXR0aW5nQ29udGV4dFJvb3QsIExheW91dFN0YXRlJik7CiAKICNpZm5kZWYgTkRFQlVHCiAg
ICAgLy8gRm9yIHRlc3RpbmcgcHVycG9zZXMgb25seQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0xheW91dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRT
dGF0ZS5jcHAKaW5kZXggMjdiNGZiYjhlMjAyN2M3ZTQwYTJkY2I4NmU0ODA3YjE5Mjc0MTVkNS4u
Nzc0NDRmZGU3ODZkYzRmMzhhY2I2Zjk1M2Q2NGRkMTJlZTZlYmQ3MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvTGF5b3V0U3RhdGUuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiRmxleEZv
cm1hdHRpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIkZsb2F0aW5nU3RhdGUuaCIKICNpbmNsdWRlICJJ
bmxpbmVGb3JtYXR0aW5nU3RhdGUuaCIKKyNpbmNsdWRlICJJbmxpbmVJbnZhbGlkYXRpb25TdGF0
ZS5oIgogI2luY2x1ZGUgIkxheW91dEJveC5oIgogI2luY2x1ZGUgIkxheW91dEJveEdlb21ldHJ5
LmgiCiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94LmgiCkBAIC0yMzAsNiArMjMxLDIyIEBA
IEZsZXhGb3JtYXR0aW5nU3RhdGUmIExheW91dFN0YXRlOjplbnN1cmVGbGV4Rm9ybWF0dGluZ1N0
YXRlKGNvbnN0IENvbnRhaW5lckJveCYKICAgICByZXR1cm4gKm1fZmxleEZvcm1hdHRpbmdTdGF0
ZXMuZW5zdXJlKCZmb3JtYXR0aW5nQ29udGV4dFJvb3QsIGNyZWF0ZSkuaXRlcmF0b3ItPnZhbHVl
OwogfQogCitJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZSYgTGF5b3V0U3RhdGU6OmVuc3VyZUlubGlu
ZUludmFsaWRhdGlvblN0YXRlKGNvbnN0IENvbnRhaW5lckJveCYgaW5saW5lRm9ybWF0dGluZ0Nv
bnRleHRSb290KQoreworICAgIEFTU0VSVChpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3QuZXN0
YWJsaXNoZXNJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCgpKTsKKworICAgIGF1dG8gY3JlYXRlID0g
WyZdIHsKKyAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8SW5saW5lSW52YWxpZGF0aW9uU3RhdGU+
KCp0aGlzKTsKKyAgICB9OworICAgIHJldHVybiAqbV9pbmxpbmVJbnZhbGlkYXRpb25TdGF0ZXMu
ZW5zdXJlKCZpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3QsIGNyZWF0ZSkuaXRlcmF0b3ItPnZh
bHVlOworfQorCitJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZSYgTGF5b3V0U3RhdGU6OmVzdGFibGlz
aGVkSW5saW5lSW52YWxpZGF0aW9uU3RhdGUoY29uc3QgQ29udGFpbmVyQm94JiBpbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dFJvb3QpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlubGluZUZvcm1hdHRpbmdD
b250ZXh0Um9vdC5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkpOworICAgIHJl
dHVybiAqbV9pbmxpbmVJbnZhbGlkYXRpb25TdGF0ZXMuZ2V0KCZpbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dFJvb3QpOworfQorCiB2b2lkIExheW91dFN0YXRlOjpzZXRWaWV3cG9ydFNpemUoY29uc3Qg
TGF5b3V0U2l6ZSYgdmlld3BvcnRTaXplKQogewogICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRp
b25FbmFibGVkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0
YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0U3RhdGUuaAppbmRleCA5YTFiMzc0
ZmM3MzZkMTIyMmE1ZmQ2YWNmMWI2YWNiOTYzZWFiNDBmLi45OTljOTE0YjExMTA2YjI1ZDEwMWIz
Y2IwOGRjYzZjZTlkMmU1NDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5
b3V0U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0U3RhdGUuaApAQCAt
NDMsNiArNDMsNyBAQCBjbGFzcyBGb3JtYXR0aW5nQ29udGV4dDsKIGNsYXNzIEZvcm1hdHRpbmdT
dGF0ZTsKIGNsYXNzIEJveEdlb21ldHJ5OwogY2xhc3MgSW5saW5lRm9ybWF0dGluZ1N0YXRlOwor
Y2xhc3MgSW5saW5lSW52YWxpZGF0aW9uU3RhdGU7CiBjbGFzcyBUYWJsZUZvcm1hdHRpbmdTdGF0
ZTsKIAogY2xhc3MgTGF5b3V0U3RhdGUgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TGF5b3V0U3Rh
dGU+IHsKQEAgLTY2LDYgKzY3LDkgQEAgcHVibGljOgogCiAgICAgRm9ybWF0dGluZ1N0YXRlJiBm
b3JtYXR0aW5nU3RhdGVGb3JCb3goY29uc3QgQm94JikgY29uc3Q7CiAKKyAgICBJbmxpbmVJbnZh
bGlkYXRpb25TdGF0ZSYgZW5zdXJlSW5saW5lSW52YWxpZGF0aW9uU3RhdGUoY29uc3QgQ29udGFp
bmVyQm94JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3QpOworICAgIElubGluZUludmFsaWRh
dGlvblN0YXRlJiBlc3RhYmxpc2hlZElubGluZUludmFsaWRhdGlvblN0YXRlKGNvbnN0IENvbnRh
aW5lckJveCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290KSBjb25zdDsKKwogICAgIGJvb2wg
aGFzRm9ybWF0dGluZ1N0YXRlKGNvbnN0IENvbnRhaW5lckJveCYgZm9ybWF0dGluZ1Jvb3QpIGNv
bnN0OwogICAgIGJvb2wgaGFzSW5saW5lRm9ybWF0dGluZ1N0YXRlKGNvbnN0IENvbnRhaW5lckJv
eCYgZm9ybWF0dGluZ1Jvb3QpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lRm9ybWF0dGluZ1N0YXRl
cy5jb250YWlucygmZm9ybWF0dGluZ1Jvb3QpOyB9CiAKQEAgLTEwNiw2ICsxMTAsOCBAQCBwcml2
YXRlOgogICAgIEhhc2hNYXA8Y29uc3QgQ29udGFpbmVyQm94Kiwgc3RkOjp1bmlxdWVfcHRyPFRh
YmxlRm9ybWF0dGluZ1N0YXRlPj4gbV90YWJsZUZvcm1hdHRpbmdTdGF0ZXM7CiAgICAgSGFzaE1h
cDxjb25zdCBDb250YWluZXJCb3gqLCBzdGQ6OnVuaXF1ZV9wdHI8RmxleEZvcm1hdHRpbmdTdGF0
ZT4+IG1fZmxleEZvcm1hdHRpbmdTdGF0ZXM7CiAKKyAgICBIYXNoTWFwPGNvbnN0IENvbnRhaW5l
ckJveCosIHN0ZDo6dW5pcXVlX3B0cjxJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZT4+IG1faW5saW5l
SW52YWxpZGF0aW9uU3RhdGVzOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPElubGluZUZvcm1hdHRp
bmdTdGF0ZT4gbV9yb290SW5saW5lRm9ybWF0dGluZ1N0YXRlRm9ySW50ZWdyYXRpb247CiAKICNp
Zm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0
aW9uL0ludmFsaWRhdGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFs
aWRhdGlvbi9JbnZhbGlkYXRpb25Db250ZXh0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMGZiODcwNjUxZjRjNzU2YjZkMmY2MTI3NTA0ZjMyODUyMzEwOTMzNi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvbkNvbnRleHQuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJJbnZhbGlkYXRpb25Db250ZXh0LmgiCi0KLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkKLQotI2luY2x1ZGUgIkludmFsaWRhdGlvblN0YXRlLmgiCi0jaW5jbHVkZSA8d3Rm
L0lzb01hbGxvY0lubGluZXMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotbmFtZXNwYWNlIExh
eW91dCB7Ci0KLVdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChJbnZhbGlkYXRpb25Db250ZXh0
KTsKLQotSW52YWxpZGF0aW9uQ29udGV4dDo6SW52YWxpZGF0aW9uQ29udGV4dChJbnZhbGlkYXRp
b25TdGF0ZSYgaW52YWxpZGF0aW9uU3RhdGUpCi0gICAgOiBtX2ludmFsaWRhdGlvblN0YXRlKGlu
dmFsaWRhdGlvblN0YXRlKQotewotfQotCi12b2lkIEludmFsaWRhdGlvbkNvbnRleHQ6OnN0eWxl
Q2hhbmdlZChjb25zdCBCb3gmIGxheW91dEJveCwgU3R5bGVEaWZmZXJlbmNlKQotewotICAgIG1f
aW52YWxpZGF0aW9uU3RhdGUubWFya05lZWRzVXBkYXRlKGxheW91dEJveCk7Ci19Ci0KLXZvaWQg
SW52YWxpZGF0aW9uQ29udGV4dDo6Y29udGVudENoYW5nZWQoY29uc3QgQm94JikKLXsKLX0KLQot
dm9pZCBJbnZhbGlkYXRpb25Db250ZXh0OjpzdWJ0cmVlQ2hhbmdlZChjb25zdCBCb3gmKQotewot
fQotCi19Ci19Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZh
bGlkYXRpb24vSW52YWxpZGF0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dmFsaWRhdGlvbi9JbnZhbGlkYXRpb25Db250ZXh0LmgKaW5kZXggMmZkOTAyMGI3NzliY2UzZjc4
ZTliNmZmYWQ0ODEyMzY3MTk4NjUyMy4uMmM4MTJmM2FkNzEwM2IwYzE5MDZjMjA0ZjFiNTNiZjgw
NTc1MjEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9J
bnZhbGlkYXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRh
dGlvbi9JbnZhbGlkYXRpb25Db250ZXh0LmgKQEAgLTI3LDI4ICsyNywyNSBAQAogCiAjaWYgRU5B
QkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKLSNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CisjaW5jbHVkZSAiTGF5b3V0U3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5s
aW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1lbnVtIGNsYXNzIFN0eWxlRGlmZmVyZW5j
ZTsKK2NsYXNzIFJlbmRlclN0eWxlOwogCiBuYW1lc3BhY2UgTGF5b3V0IHsKIGNsYXNzIEJveDsK
LWNsYXNzIEludmFsaWRhdGlvblN0YXRlOwogCiBjbGFzcyBJbnZhbGlkYXRpb25Db250ZXh0IHsK
LSAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEludmFsaWRhdGlvbkNvbnRleHQpOworICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU5MSU5FKEludmFsaWRhdGlvbkNvbnRleHQpOwogcHVibGlj
OgotICAgIEludmFsaWRhdGlvbkNvbnRleHQoSW52YWxpZGF0aW9uU3RhdGUmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoY29uc3QgQm94JiwgY29uc3QgUmVuZGVyU3R5bGUmIC8q
b2xkU3R5bGUqLykgeyB9CisgICAgdmlydHVhbCB2b2lkIGNvbnRlbnREaWRDaGFuZ2UoKSB7IH0K
IAotICAgIHZvaWQgc3R5bGVDaGFuZ2VkKGNvbnN0IEJveCYsIFN0eWxlRGlmZmVyZW5jZSk7Ci0g
ICAgLy8gRklYTUU6IFdlIG1pZ2h0IGp1c3QgbWVyZ2UgdGhpcyB3aXRoIHN1YnRyZWVDaGFuZ2Vk
LgotICAgIHZvaWQgY29udGVudENoYW5nZWQoY29uc3QgQm94Jik7Ci0gICAgLy8gRklYTUU6IFRo
aXMgaXMganVzdCBhIHBsYWNlaG9sZGVyIGZvciB0cmVlIGNoYW5nZXMgbGlrZSBnYWluaW5nIGFu
ZCBsb3NpbmcgZGVzY2VuZGFudHMuIAotICAgIHZvaWQgc3VidHJlZUNoYW5nZWQoY29uc3QgQm94
Jik7CisgICAgdmlydHVhbCB+SW52YWxpZGF0aW9uQ29udGV4dCgpID0gZGVmYXVsdDsKIAotcHJp
dmF0ZToKLSAgICBJbnZhbGlkYXRpb25TdGF0ZSYgbV9pbnZhbGlkYXRpb25TdGF0ZTsKK3Byb3Rl
Y3RlZDoKKyAgICBJbnZhbGlkYXRpb25Db250ZXh0KCkgPSBkZWZhdWx0OwogfTsKIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25T
dGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlv
blN0YXRlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWEwMWNmYzA1MWIwMTY4
NTU3ZjU5NDc3ZDdjZGI0YTcwNjBiMjU1MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFs
aWRhdGlvblN0YXRlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSW52YWxpZGF0aW9uU3RhdGUuaCIK
LQotI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotCi0jaW5jbHVkZSAiTGF5
b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5oIgotI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxp
bmVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLW5hbWVzcGFjZSBMYXlvdXQgewotCi1XVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSW52YWxpZGF0aW9uU3RhdGUpOwotCi1JbnZhbGlkYXRp
b25TdGF0ZTo6SW52YWxpZGF0aW9uU3RhdGUoKQotewotfQotCi12b2lkIEludmFsaWRhdGlvblN0
YXRlOjptYXJrTmVlZHNVcGRhdGUoY29uc3QgQm94JiBsYXlvdXRCb3gpCi17Ci0gICAgLy8gV2Ug
bmV2ZXIgbGF5IG91dCB0aGUgaW5pdGlhbCBjb250YWluaW5nIGJsb2NrLiBJdCBhbHdheXMgaGFz
IHByZS1kZXRlcm1pbmVkIGdlb21ldHJ5LgotICAgIEFTU0VSVCghaXM8SW5pdGlhbENvbnRhaW5p
bmdCbG9jaz4obGF5b3V0Qm94KSk7Ci0gICAgLy8gRklYTUU6IFRoaXMgaXMganVzdCBhIHBsYWNl
aG9sZGVyIGltcGxlbWVudGF0aW9uLgotICAgIG1fZm9ybWF0dGluZ0NvbnRleHRSb290cy5hZGQo
JmxheW91dEJveC5mb3JtYXR0aW5nQ29udGV4dFJvb3QoKSk7Ci19Ci0KLWJvb2wgSW52YWxpZGF0
aW9uU3RhdGU6Om5lZWRzTGF5b3V0KGNvbnN0IEJveCYpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRy
dWU7Ci19Ci0KLX0KLX0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAxNzBlMDE0NDhhMDA3OGIzMWMyODcyOGI0NWI4ZDZhNTQzYjUzNzBmLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnZhbGlkYXRpb24vSW52YWxpZGF0aW9uU3RhdGUuaAorKysgL2Rldi9udWxsCkBAIC0x
LDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShMQVlP
VVRfRk9STUFUVElOR19DT05URVhUKQotCi0jaW5jbHVkZSAiTGF5b3V0Qm94LmgiCi0jaW5jbHVk
ZSAiTGF5b3V0Q29udGFpbmVyQm94LmgiCi0jaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgotI2lu
Y2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1lc3Bh
Y2UgTGF5b3V0IHsKLQotY2xhc3MgSW52YWxpZGF0aW9uU3RhdGUgewotICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoSW52YWxpZGF0aW9uU3RhdGUpOwotcHVibGljOgotICAgIEludmFsaWRhdGlv
blN0YXRlKCk7Ci0KLSAgICB2b2lkIG1hcmtOZWVkc1VwZGF0ZShjb25zdCBCb3gmKTsKLSAgICBi
b29sIG5lZWRzTGF5b3V0KGNvbnN0IEJveCYpIGNvbnN0OwotCi0gICAgdXNpbmcgRm9ybWF0dGlu
Z0NvbnRleHRSb290cyA9IFdlYWtIYXNoU2V0PGNvbnN0IENvbnRhaW5lckJveD47Ci0gICAgLy8g
RklYTUU6IFdlIGN1cnJlbnRseSBkbyBmdWxsIGZvcm1hdHRpbmcgY29udGV4dCBsYXlvdXRzIChu
byBwYXJ0aWFsIGxheW91dCB3aXRoaW4gYSBmb3JtYXR0aW5nIGNvbnRleHQpLgotICAgIGNvbnN0
IEZvcm1hdHRpbmdDb250ZXh0Um9vdHMmIGZvcm1hdHRpbmdDb250ZXh0Um9vdHMoKSBjb25zdCB7
IHJldHVybiBtX2Zvcm1hdHRpbmdDb250ZXh0Um9vdHM7IH0KLQotcHJpdmF0ZToKLSAgICBGb3Jt
YXR0aW5nQ29udGV4dFJvb3RzIG1fZm9ybWF0dGluZ0NvbnRleHRSb290czsKLX07Ci0KLX0KLX0K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9p
bmxpbmUvSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW52YWxpZGF0aW9uL2lubGluZS9JbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0LmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42ZTUzYzg1YTA3NzVlOTM2NDVjMWQyYmM4YzYwMGYwZDY1YTM4YjgxCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9pbmxpbmUvSW5s
aW5lSW52YWxpZGF0aW9uQ29udGV4dC5jcHAKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0
LmgiCisKKyNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKKworI2luY2x1ZGUg
IklubGluZUludmFsaWRhdGlvblN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGlu
ZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIExheW91dCB7CisKK1dURl9N
QUtFX0lTT19BTExPQ0FURURfSU1QTChJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0KTsKKworSW5s
aW5lSW52YWxpZGF0aW9uQ29udGV4dDo6SW5saW5lSW52YWxpZGF0aW9uQ29udGV4dChJbmxpbmVJ
bnZhbGlkYXRpb25TdGF0ZSYgaW5saW5lSW52YWxpZGF0aW9uU3RhdGUpCisgICAgOiBtX2lubGlu
ZUludmFsaWRhdGlvblN0YXRlKGlubGluZUludmFsaWRhdGlvblN0YXRlKQoreworfQorCit2b2lk
IElubGluZUludmFsaWRhdGlvbkNvbnRleHQ6OnN0eWxlRGlkQ2hhbmdlKGNvbnN0IEJveCYsIGNv
bnN0IFJlbmRlclN0eWxlJiAvKm9sZFN0eWxlKi8pCit7CisgICAgbV9pbmxpbmVJbnZhbGlkYXRp
b25TdGF0ZS5zZXRMYXlvdXRFeHRlbnQoSW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OkxheW91dEV4
dGVudDo6TmVlZHNMaW5lTGF5b3V0KTsKK30KKwordm9pZCBJbmxpbmVJbnZhbGlkYXRpb25Db250
ZXh0Ojpjb250ZW50RGlkQ2hhbmdlKCkKK3sKKyAgICBtX2lubGluZUludmFsaWRhdGlvblN0YXRl
LnNldExheW91dEV4dGVudChJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZTo6TGF5b3V0RXh0ZW50OjpO
ZWVkc0NvbnRlbnRQcm9jZXNzaW5nKTsKK30KKworfQorfQorI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL2lubGluZS9JbmxpbmVJbnZhbGlkYXRp
b25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL2lubGluZS9J
bmxpbmVJbnZhbGlkYXRpb25Db250ZXh0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzdhYmVmZjIxMmRlZTg2MTk3
MTg4MjlkMDY1YWRkNzlmOTg5MGVjMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnZhbGlkYXRpb24vaW5saW5lL0lubGluZUludmFsaWRhdGlvbkNvbnRleHQuaApA
QCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
TEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKKworI2luY2x1ZGUgIklubGluZUludmFsaWRhdGlv
blN0YXRlLmgiCisjaW5jbHVkZSAiSW52YWxpZGF0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2MuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIExheW91dCB7
CisKK2NsYXNzIElubGluZUludmFsaWRhdGlvbkNvbnRleHQgOiBwdWJsaWMgSW52YWxpZGF0aW9u
Q29udGV4dCB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChJbmxpbmVJbnZhbGlkYXRpb25D
b250ZXh0KTsKK3B1YmxpYzoKKyAgICBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0KElubGluZUlu
dmFsaWRhdGlvblN0YXRlJik7CisKKyAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKGNvbnN0IEJveCYs
IGNvbnN0IFJlbmRlclN0eWxlJiBvbGRTdHlsZSkgZmluYWw7CisgICAgdm9pZCBjb250ZW50RGlk
Q2hhbmdlKCkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgSW5saW5lSW52YWxpZGF0aW9uU3RhdGUm
IG1faW5saW5lSW52YWxpZGF0aW9uU3RhdGU7Cit9OworCit9Cit9CisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vaW5saW5lL0lubGluZUludmFs
aWRhdGlvblN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL2lubGlu
ZS9JbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjZWY4ZDI4MGY1ODllOGM3
YTMwN2E5ZGJiODFiNDkwYjM1MGE3YTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW52YWxpZGF0aW9uL2lubGluZS9JbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oCkBA
IC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShM
QVlPVVRfRk9STUFUVElOR19DT05URVhUKQorCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGlu
ZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIExheW91dCB7CitjbGFzcyBJ
bmxpbmVJbnZhbGlkYXRpb25Db250ZXh0OworCitjbGFzcyBJbmxpbmVJbnZhbGlkYXRpb25TdGF0
ZSB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTkxJTkUoSW5saW5lSW52YWxpZGF0aW9u
U3RhdGUpOworcHVibGljOgorICAgIElubGluZUludmFsaWRhdGlvblN0YXRlKGNvbnN0IExheW91
dFN0YXRlJik7CisKKyAgICBlbnVtIGNsYXNzIExheW91dEV4dGVudCB7CisgICAgICAgIE5lZWRz
Q29udGVudFByb2Nlc3NpbmcsIC8vIENvbnRlbnQgY2hhbmdlZCBvciBzb21lIHN0eWxlIHRoYXQg
ZHJpdmUgc29mdCB3cmFwIG9wcG9ydHVuaXRpZXMgKGUuZy4gd2hpdGUtc3BhY2U6IHByZSB0byBu
b3JtYWwpLiBUaGlzIHRlbGxzIHVzIHRvIGUtcHJvY2VzcyB0aGUgaW5saW5lIGNvbnRlbnQuCisg
ICAgICAgIE5lZWRzTGluZUxheW91dCwgLy8gU29tZSBjb250ZW50IGJ1dCBlaXRoZXIgdGhlIGNv
bnN0cmFpbnQgb3Igc29tZSBzdHlsZSB0aGF0IG1heSBhZmZlY3QgbGluZSBicmVha2luZyBjaGFu
Z2VkIChlLmcuIGZvbnQtc2l6ZSBvciBjb250YWluaWcgbG9jayBoYXMgZGlmZmVyZW50IGxvZ2lj
YWwgd2lkdGgpLgorICAgICAgICBOZWVkc1ZlcnRpY2FsQWxpZ25tZW50LCAvLyBMaW5lIGJyZWFr
aW5nIHBvc2l0aW9ucyBhcmUgdGhlIHNhbWUsIG9ubHkgaGVpZ2h0IHJlbGF0ZWQgc3R5bGUgY2hh
bmdlZCAoZS5nIGltZydzIGhlaWdodCBjaGFuZ2VzKS4KKyAgICAgICAgTmVlZHNIb3Jpem9udGFs
QWxpZ25tZW50IC8vIExpbmUgYnJlYWtpbmcgcG9zaXRpb25zIGFyZSB0aGUgc2FtZSwgcnVucyBt
YXkgc2hvdyB1cCBhdCBhIGRpZmZlcmVudCBob3Jpem9udGFsIHBvc2l0aW9uIChlLmcuIHRleHQt
YWxpZ24gY2hhbmdlcykuCisgICAgfTsKKyAgICBMYXlvdXRFeHRlbnQgbGF5b3V0RXh0ZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9sYXlvdXRFeHRlbnQ7IH0KKyAgICAvLyBFaXRoZXIgdGhlIHRvcC1t
b3N0IGRhbWFnZWQgbGluZSBvciBhIGxpc3Qgb2YgaW5kZXBlbmRlbnRseSBkYW1hbmdlZCBsaW5l
cyAoZS5nIHdpdGggTmVlZHNWZXJ0aWNhbEFsaWdubWVudCkuCisgICAgdXNpbmcgRGFtYWdlZExp
bmVzID0gVmVjdG9yPHNpemVfdCwgMT47CisgICAgY29uc3QgRGFtYWdlZExpbmVzJiBkYW1hZ2Vk
TGluZXMoKSBjb25zdCB7IHJldHVybiBtX2RhbWFnZWRMaW5lczsgfQorICAgIAorcHJpdmF0ZToK
KyAgICBmcmllbmQgY2xhc3MgSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dDsKKworICAgIHZvaWQg
c2V0TGF5b3V0RXh0ZW50KExheW91dEV4dGVudCBsYXlvdXRFeHRlbnQpIHsgbV9sYXlvdXRFeHRl
bnQgPSBsYXlvdXRFeHRlbnQ7IH0KKyAgICB2b2lkIHNldERhbWFnZWRMaW5lcyhEYW1hZ2VkTGlu
ZXMmJiBkYW1hbmdlZExpbmVzKSB7IG1fZGFtYWdlZExpbmVzID0gV1RGTW92ZShkYW1hbmdlZExp
bmVzKTsgfQorICAgIGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbGF5b3V0U3RhdGU7IH0KKworICAgIExheW91dEV4dGVudCBtX2xheW91dEV4dGVudCB7
IExheW91dEV4dGVudDo6TmVlZHNDb250ZW50UHJvY2Vzc2luZyB9OworICAgIERhbWFnZWRMaW5l
cyBtX2RhbWFnZWRMaW5lczsKKyAgICBjb25zdCBMYXlvdXRTdGF0ZSYgbV9sYXlvdXRTdGF0ZTsK
K307CisKK2lubGluZSBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZTo6SW5saW5lSW52YWxpZGF0aW9u
U3RhdGUoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlKQorICAgIDogbV9sYXlvdXRTdGF0
ZShsYXlvdXRTdGF0ZSkKK3sKK30KKworfQorfQorI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435773</attachid>
            <date>2021-08-18 09:18:22 -0700</date>
            <delta_ts>2021-08-18 16:29:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229225-20210818091821.patch</filename>
            <type>text/plain</type>
            <size>37361</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgyN2EwOGQ0MjkyMzM4
MjNkMjVlODAyMTc1NjYwMGUxZGVhNDEyYS4uNjQ4YmUzODQyZmMxYTI5Mzg4ZTQ1YzQwOWFhNWYy
Y2Q0NTllZDNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA4LTE3ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEludHJvZHVj
ZSBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0L1N0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkyMjUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc2tlbGV0b24gaW1wbGVtZW50YXRpb24gZm9y
IGlubGluZSBsZXZlbCBpbnZhbGlkYXRpb24uCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbGF5
b3V0L0xheW91dENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRD
b250ZXh0OjpjcmVhdGVJbnZhbGlkYXRpb25Db250ZXh0KToKKyAgICAgICAgKiBsYXlvdXQvTGF5
b3V0Q29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9MYXlvdXRTdGF0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjplbnN1cmVJbmxpbmVJbnZhbGlkYXRpb25T
dGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjplc3RhYmxpc2hl
ZElubGluZUludmFsaWRhdGlvblN0YXRlIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvTGF5b3V0
U3RhdGUuaDoKKyAgICAgICAgKiBsYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvbkNvbnRl
eHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW52YWxpZGF0aW9uQ29udGV4dDo6c3R5
bGVEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbnZhbGlkYXRpb25Db250
ZXh0Ojpjb250ZW50Q2hhbmdlZCk6CisgICAgICAgICogbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZh
bGlkYXRpb25TdGF0ZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGxheW91dC9pbnZhbGlkYXRpb24v
aW5saW5lL0lubGluZUludmFsaWRhdGlvbkNvbnRleHQuY3BwOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0ZS5jcHAuCisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUludmFsaWRhdGlvbkNvbnRleHQ6OklubGluZUlu
dmFsaWRhdGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVJbnZh
bGlkYXRpb25Db250ZXh0OjpzdHlsZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OklubGluZUludmFsaWRhdGlvbkNvbnRleHQ6OmNvbnRlbnRDaGFuZ2VkKToKKyAgICAgICAg
KiBsYXlvdXQvaW52YWxpZGF0aW9uL2lubGluZS9JbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0Lmg6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRh
dGlvbkNvbnRleHQuY3BwLgorICAgICAgICAqIGxheW91dC9pbnZhbGlkYXRpb24vaW5saW5lL0lu
bGluZUludmFsaWRhdGlvblN0YXRlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZTo6bGF5b3V0RXh0ZW50IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OmRhbWFnZWRMaW5lcyBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUludmFsaWRhdGlvblN0YXRl
OjpzZXRMYXlvdXRFeHRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVJbnZh
bGlkYXRpb25TdGF0ZTo6c2V0RGFtYWdlZExpbmVzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OmxheW91dFN0YXRlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OklubGluZUludmFsaWRh
dGlvblN0YXRlKToKKwogMjAyMS0wOC0xNyAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0xGQ11bSUZDXSBEbyBub3QgcGFzcyBpbiB0aGUgSW52YWxpZGF0aW9uU3Rh
dGUgdG8gdGhlIGxheW91dCBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMmZlMmE2MDI0NDJk
YjY5Y2JiODkxYjM5MWVkM2VkZTVjZTE4NzBhZS4uMGY4YzI2YjY2Yzk0MGY2MThlZTVkZDVkZjEz
ZTZkMGNkNjRhMWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE1NTMsOCArMTU1Myw3IEBAIGxheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHAKIGxheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCiBsYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcAogbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuY3BwCi1sYXlvdXQvaW52YWxpZGF0aW9uL0lu
dmFsaWRhdGlvbkNvbnRleHQuY3BwCi1sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0
YXRlLmNwcAorbGF5b3V0L2ludmFsaWRhdGlvbi9pbmxpbmUvSW5saW5lSW52YWxpZGF0aW9uQ29u
dGV4dC5jcHAKIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKIGxheW91dC9sYXlvdXR0
cmVlL0xheW91dENvbnRhaW5lckJveC5jcHAKIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveEdl
b21ldHJ5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGU1MGQ2ODEyNDhlMWIyNDQ1ZDAyNjljNWJjMzE4M2JkMTkwYWRjNzcu
LjE1NWU2MDc4M2Q1ZjRjMjI5YzE5ZGI1ZTk5NzhkMzk4NWNmYTQyNzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIxNTUsNyAr
MjE1NSw2IEBACiAJCTZGN0NBM0NBMjA4QzJCMkUwMDJGMjlBQiAvKiBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkY3Q0EzQzgyMDhDMkIyRTAwMkYyOUFCIC8qIElubGluZUZvcm1hdHRpbmdDb250ZXh0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkY5MTQyMTEy
NTE1MjEzODAwNEU0RkVBIC8qIElubGluZUxpbmVHZW9tZXRyeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5MTQyMEYyNTE1MjEzNzAwNEU0RkVBIC8q
IElubGluZUxpbmVHZW9tZXRyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTZGOTVERTREMjM3Qjg4OUMwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25D
b250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
Rjk1REU0QjIzN0I4ODlCMDBFNTE3RTEgLyogSW52YWxpZGF0aW9uQ29udGV4dC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTZGOTVERTRFMjM3Qjg4
OUMwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5NURFNEMyMzdCODg5QzAwRTUxN0UxIC8qIEludmFs
aWRhdGlvblN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNkY5OTVBMTYxQTcwNzU2MjAwQTczNUY0IC8qIFdlYkdMU3luYy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5OTVBMTQxQTcwNzU2MjAw
QTczNUY0IC8qIFdlYkdMU3luYy5oICovOyB9OwogCQk2Rjk5NUEyMDFBNzA3OEIxMDBBNzM1RjQg
LyogV2ViR0xRdWVyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNkY5OTVBMTgxQTcwNzhCMTAwQTczNUY0IC8qIFdlYkdMUXVlcnkuaCAqLzsgfTsKIAkJ
NkY5OTVBMjIxQTcwNzhCMTAwQTczNUY0IC8qIFdlYkdMU2FtcGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5OTVBMUExQTcwNzhCMTAwQTczNUY0
IC8qIFdlYkdMU2FtcGxlci5oICovOyB9OwpAQCAtMjE4NSw2ICsyMTg0LDggQEAKIAkJNkZGOTEx
RjcyNjQ4N0ZDODAwMjAyMURGIC8qIEZsZXhGb3JtYXR0aW5nR2VvbWV0cnkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRjkxMUY2MjY0ODdGQzgwMDIw
MjFERiAvKiBGbGV4Rm9ybWF0dGluZ0dlb21ldHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkZGQTRDMDEyM0YyRkVEOTAwN0U0RUJDIC8qIExh
eW91dExpbmVCcmVha0JveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkZGQTRDMDAyM0YyRkVEOTAwN0U0RUJDIC8qIExheW91dExpbmVCcmVha0JveC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGRkRD
NDQyMjEyRUZGMTcwMEE5Q0E5MSAvKiBGbG9hdEF2b2lkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRkRDNDQwMjEyRUZGMTYwMEE5Q0E5MSAvKiBG
bG9hdEF2b2lkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk2RkZGRjc4QzI2Q0NCNzEwMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uQ29u
dGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZG
RkY3OEEyNkNDQjcwRjAwNzQ4MTVCIC8qIElubGluZUludmFsaWRhdGlvbkNvbnRleHQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk2RkZGRjc4RDI2
Q0NCNzEwMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uU3RhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRkZGNzhCMjZDQ0I3MTAwMDc0ODE1
QiAvKiBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcwOUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAvKiBNb2R1
bGVGZXRjaEZhaWx1cmVLaW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3MDlBMDFGRDFFM0QwQkNDMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJl
S2luZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTcxMDI1RUNEMUY5OUYwQ0UwMDRBMjUwQyAvKiBBbmltYXRpb25UaW1lbGluZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzEwMjVFQzcxRjk5RjA5NjAw
NEEyNTBDIC8qIEFuaW1hdGlvblRpbWVsaW5lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzEwMjVFRDAxRjk5RjBDRTAwNEEyNTBDIC8qIERvY3Vt
ZW50VGltZWxpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDcxMDI1RUM1MUY5OUYwOTYwMDRBMjUwQyAvKiBEb2N1bWVudFRpbWVsaW5lLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwMDUxLDcgKzEw
MDUyLDYgQEAKIAkJNkY4RjQ2MDMyMUIwM0JDNjAwNDFBQzNBIC8qIEJsb2NrRm9ybWF0dGluZ1F1
aXJrcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCbG9ja0Zvcm1hdHRpbmdRdWlya3MuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RjkxNDIwRjI1MTUyMTM3MDA0RTRGRUEgLyog
SW5saW5lTGluZUdlb21ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElu
bGluZUxpbmVHZW9tZXRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2Rjk1REU0
QjIzN0I4ODlCMDBFNTE3RTEgLyogSW52YWxpZGF0aW9uQ29udGV4dC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbnZhbGlkYXRpb25Db250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTZGOTVERTRDMjM3Qjg4OUMwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25T
dGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnZhbGlkYXRpb25TdGF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2Rjk5NUEwOTFBNzA3MEU2MDBBNzM1
RjQgLyogV2ViR0xRdWVyeS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR0xRdWVyeS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGOTk1QTBBMUE3MDcwRTYwMEE3MzVG
NCAvKiBXZWJHTFNhbXBsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdMU2FtcGxl
ci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGOTk1QTBCMUE3MDcwRTYwMEE3
MzVGNCAvKiBXZWJHTFN5bmMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdMU3luYy5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDEwNyw4ICsxMDEwNyw2IEBACiAJ
CTZGRTYzNkU3MjY0Nzk2MjkwMEYwOTUxRSAvKiBJbmxpbmVGb3JtYXR0aW5nUXVpcmtzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZUZvcm1hdHRpbmdRdWlya3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZFN0FBMjYyMUMzN0I2MzAwMjk2RENEIC8q
IE1hcmdpblR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hcmdpblR5cGVzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTZGRTdDRkEwMjE3N0VFRjEwMDVCMTU3MyAvKiBJbmxpbmVJdGVt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZUl0ZW0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNkZFOEU2RjcyMzdCQTVFODAwNzU4RDI2IC8qIEludmFs
aWRhdGlvbkNvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW52YWxpZGF0aW9uQ29udGV4
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTZGRThFNkY4MjM3QkE2QjIwMDc1
OEQyNiAvKiBJbnZhbGlkYXRpb25TdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnZhbGlk
YXRpb25TdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGRTlGMDkyMjIy
MTEwMzUwMDRDNTA4MiAvKiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudENoYW5nZU9ic2VydmVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZFRkU4MUQyMkY5RDIyQTAwMTE0OTI3IC8qIExheW91
dFBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dFBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTZGRjkxMUY2MjY0ODdGQzgwMDIwMjFERiAvKiBGbGV4Rm9ybWF0dGluZ0dl
b21ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsZXhGb3JtYXR0aW5n
R2VvbWV0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMTE3LDYgKzEwMTE1
LDkgQEAKIAkJNkZGQTRDMDAyM0YyRkVEOTAwN0U0RUJDIC8qIExheW91dExpbmVCcmVha0JveC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRMaW5lQnJlYWtCb3guaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZGREM0M0UyMTJFRkYxNjAwQTlDQTkxIC8q
IEZsb2F0QXZvaWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBG
bG9hdEF2b2lkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkZEQzQ0MDIx
MkVGRjE2MDBBOUNBOTEgLyogRmxvYXRBdm9pZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEZsb2F0QXZvaWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2
RkZGRjc4QTI2Q0NCNzBGMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZGRkZGNzhCMjZDQ0I3MTAwMDc0ODE1
QiAvKiBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk2RkZGRjc4RTI2Q0NCNzIxMDA3NDgxNUIgLyogSW5saW5lSW52YWxpZGF0aW9uQ29u
dGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzA5QTAxRkQxRTNEMEJDQzAwNkIwRDRD
IC8qIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3MTAwNEI5RDFEQzEzOTg4MDBBNTJBMzggLyogcGxheWJhY2stc3VwcG9ydC5qcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9ICJwbGF5YmFjay1zdXBwb3J0Lmpz
Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzEwMjVFQzIxRjk5RjA5NjAwNEEyNTBD
IC8qIFdlYkFuaW1hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBbmltYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4Mzk5LDggKzE4NDAwLDYgQEAKIAkJCQk2RkUxOTgx
NTIxNzgzOTdDMDA0NDZGMDggLyogSW5saW5lQ29udGVudEJyZWFrZXIuaCAqLywKIAkJCQk2RjdD
QTNDOTIwOEMyQjJFMDAyRjI5QUIgLyogSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwICovLAog
CQkJCTZGN0NBM0M4MjA4QzJCMkUwMDJGMjlBQiAvKiBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5o
ICovLAotCQkJCTZGQzQxQUI4MjZDQUY3NEIwMDVDODkwOSAvKiBJbmxpbmVMaW5lQm94VmVydGlj
YWxBbGlnbmVyLmNwcCAqLywKLQkJCQk2RkM0MUFCQTI2Q0FGNzVDMDA1Qzg5MDkgLyogSW5saW5l
TGluZUJveFZlcnRpY2FsQWxpZ25lci5oICovLAogCQkJCTZGMzVFRkFGMjE4N0NCRDUwMDQ0RTBG
NCAvKiBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwICovLAogCQkJCTQ3QzRENTdDMjY1MDhC
Q0EwMEM3QUIxRiAvKiBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaCAqLywKIAkJCQk2RjEwQjA4
NjIyQjg1NjhEMDA5MEU2OUMgLyogSW5saW5lRm9ybWF0dGluZ1F1aXJrcy5jcHAgKi8sCkBAIC0x
ODQxNCw2ICsxODQxMyw4IEBACiAJCQkJNkYwQ0Q2OTQyMjlFRDMyNzAwQzU5OTRFIC8qIElubGlu
ZUxpbmUuaCAqLywKIAkJCQk2RjY5QTc5OTI0RDZGQUI4MDBFNkI4NUQgLyogSW5saW5lTGluZUJv
eC5jcHAgKi8sCiAJCQkJNkZCMjQwMDMyM0RGRjEyNzAwNzk2NDU4IC8qIElubGluZUxpbmVCb3gu
aCAqLywKKwkJCQk2RkM0MUFCODI2Q0FGNzRCMDA1Qzg5MDkgLyogSW5saW5lTGluZUJveFZlcnRp
Y2FsQWxpZ25lci5jcHAgKi8sCisJCQkJNkZDNDFBQkEyNkNBRjc1QzAwNUM4OTA5IC8qIElubGlu
ZUxpbmVCb3hWZXJ0aWNhbEFsaWduZXIuaCAqLywKIAkJCQk2RjI1QjIwMDIyMEE4NUFCMDAwMDAx
MUIgLyogSW5saW5lTGluZUJ1aWxkZXIuY3BwICovLAogCQkJCTZGMjZFQjQ2MjM0MDA0QTUwMDY5
MDZFMiAvKiBJbmxpbmVMaW5lQnVpbGRlci5oICovLAogCQkJCTZGOTE0MjBGMjUxNTIxMzcwMDRF
NEZFQSAvKiBJbmxpbmVMaW5lR2VvbWV0cnkuaCAqLywKQEAgLTIyODIyLDEwICsyMjgyMyw4IEBA
CiAJCTZGOTVERTRBMjM3Qjg4MzAwMEU1MTdFMSAvKiBpbnZhbGlkYXRpb24gKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTZGRThFNkY3MjM3QkE1RTgwMDc1
OEQyNiAvKiBJbnZhbGlkYXRpb25Db250ZXh0LmNwcCAqLywKKwkJCQk2RkZGRjc4OTI2Q0NCMERG
MDA3NDgxNUIgLyogaW5saW5lICovLAogCQkJCTZGOTVERTRCMjM3Qjg4OUIwMEU1MTdFMSAvKiBJ
bnZhbGlkYXRpb25Db250ZXh0LmggKi8sCi0JCQkJNkZFOEU2RjgyMzdCQTZCMjAwNzU4RDI2IC8q
IEludmFsaWRhdGlvblN0YXRlLmNwcCAqLywKLQkJCQk2Rjk1REU0QzIzN0I4ODlDMDBFNTE3RTEg
LyogSW52YWxpZGF0aW9uU3RhdGUuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gaW52YWxpZGF0aW9u
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIyODk1LDYgKzIyODk0LDE2IEBACiAJ
CQlwYXRoID0gdGV4dDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTZGRkZG
Nzg5MjZDQ0IwREYwMDc0ODE1QiAvKiBpbmxpbmUgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCTZGRkZGNzhFMjZDQ0I3MjEwMDc0ODE1QiAvKiBJbmxpbmVJ
bnZhbGlkYXRpb25Db250ZXh0LmNwcCAqLywKKwkJCQk2RkZGRjc4QTI2Q0NCNzBGMDA3NDgxNUIg
LyogSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5oICovLAorCQkJCTZGRkZGNzhCMjZDQ0I3MTAw
MDc0ODE1QiAvKiBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oICovLAorCQkJKTsKKwkJCXBhdGgg
PSBpbmxpbmU7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk3MTAyNUVDMTFG
OTlGMDk2MDA0QTI1MEMgLyogYW5pbWF0aW9uICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKQEAgLTMyNDAzLDcgKzMyNDEyLDYgQEAKIAkJCQk5N0JDNkEzMDE1MDVG
MDgxMDAxQjc0QUMgLyogRGF0YWJhc2VUaHJlYWQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QkM2
QTMyMTUwNUYwODEwMDFCNzRBQyAvKiBEYXRhYmFzZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJFMjM0ODBEMThBOTg3MTQwMEU0QjZFOCAvKiBEYXRhQ3VlLmggaW4gSGVhZGVycyAqLywK
LQkJCQk2RkM0MUFCQjI2Q0FGNzVEMDA1Qzg5MDkgLyogSW5saW5lTGluZUJveFZlcnRpY2FsQWxp
Z25lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzUyMjdERjExQzNDNkRGMTAwRjVFRDU0IC8qIERh
dGFEZXRlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUY0NDZFRERGMjY1REFGRTMwMDMxREE4
RiAvKiBEYXRhRGV0ZWN0aW9uUmVzdWx0c1N0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUY0
NDZFREU4MjY1REQ4OTAwMDMxREE4RiAvKiBEYXRhRGV0ZWN0b3JFbGVtZW50SW5mby5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMzIxOSwxMSArMzMyMjcsMTQgQEAKIAkJCQk0N0M0RDU3RDI2NTA4QkNC
MDBDN0FCMUYgLyogSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk2RkU2MzZFODI2NDc5NjI5MDBGMDk1MUUgLyogSW5saW5lRm9ybWF0dGluZ1F1aXJrcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMTE1Q0ZBN0UyMDhCOEUxMDAwMUU2OTkxIC8qIElubGluZUZvcm1h
dHRpbmdTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNkZGRkY3OEMyNkNDQjcxMDAwNzQ4MTVC
IC8qIElubGluZUludmFsaWRhdGlvbkNvbnRleHQuaCBpbiBIZWFkZXJzICovLAorCQkJCTZGRkZG
NzhEMjZDQ0I3MTAwMDc0ODE1QiAvKiBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNkZFN0NGQTIyMTc3RUVGMjAwNUIxNTczIC8qIElubGluZUl0ZW0uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDRTc4OTE2MTEyMEQ2MDgwMDYwRUNFNSAvKiBJbmxpbmVJdGVyYXRv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkZBQUU3MTMyNkEyODE0QjAwRTA3NTAyIC8qIElubGlu
ZUxldmVsQm94LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RjBDRDY5NTIyOUVEMzI3MDBDNTk5NEUg
LyogSW5saW5lTGluZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkZCMjQwMDUyM0RGRjEyODAwNzk2
NDU4IC8qIElubGluZUxpbmVCb3guaCBpbiBIZWFkZXJzICovLAorCQkJCTZGQzQxQUJCMjZDQUY3
NUQwMDVDODkwOSAvKiBJbmxpbmVMaW5lQm94VmVydGljYWxBbGlnbmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk2RjI2RUI0ODIzNDAwNEE1MDA2OTA2RTIgLyogSW5saW5lTGluZUJ1aWxkZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTZGOTE0MjExMjUxNTIxMzgwMDRFNEZFQSAvKiBJbmxpbmVMaW5l
R2VvbWV0cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGQzNGOTQ3MjUxNjc1NjcwMEE0OUJFQSAv
KiBJbmxpbmVMaW5lUnVuLmggaW4gSGVhZGVycyAqLywKQEAgLTMzMjk3LDcgKzMzMzA4LDYgQEAK
IAkJCQlCMjc1MzU3NTBCMDUzODE0MDAyQ0U2NEYgLyogSW50U2l6ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQjI3NTM1NzYwQjA1MzgxNDAwMkNFNjRGIC8qIEludFNpemVIYXNoLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2Rjk1REU0RDIzN0I4ODlDMDBFNTE3RTEgLyogSW52YWxpZGF0aW9uQ29udGV4
dC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNkY5NURFNEUyMzdCODg5QzAwRTUxN0UxIC8qIEludmFs
aWRhdGlvblN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDBCNEFBQjE4REExQ0NEMDA0MzRE
RTEgLyogSU9TdXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzIxRTU3RDE4M0VEMUZGMDAx
QzI4OUQgLyogSU9TdXJmYWNlUG9vbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q1RkY0OTkyMTYy
RTJCRTAwNEJEODZGIC8qIElTT0JveC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvTGF5b3V0Q29udGV4dC5jcHAKaW5kZXggYmRkNDZjNDA2MzU3ZTAxOWI4MDNlMGFlOGVjNzFj
ODhlZGIyMjFmNC4uNmEzNDhlOGRhNTY0MTY4NjIyZGMzZDQ3ZDFjNjk5MDU3NzgzZmRmNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0LmNwcApAQCAtMzQsNiArMzQsNyBAQAog
I2luY2x1ZGUgIkZsZXhGb3JtYXR0aW5nU3RhdGUuaCIKICNpbmNsdWRlICJJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIklubGluZUZvcm1hdHRpbmdTdGF0ZS5oIgorI2luY2x1
ZGUgIklubGluZUludmFsaWRhdGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJMYXlvdXRCb3guaCIK
ICNpbmNsdWRlICJMYXlvdXRCb3hHZW9tZXRyeS5oIgogI2luY2x1ZGUgIkxheW91dENvbnRhaW5l
ckJveC5oIgpAQCAtMTM0LDYgKzEzNSwxNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8Rm9ybWF0dGluZ0Nv
bnRleHQ+IExheW91dENvbnRleHQ6OmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGNvbnN0CiAgICAg
Q1JBU0goKTsKIH0KIAorc3RkOjp1bmlxdWVfcHRyPEludmFsaWRhdGlvbkNvbnRleHQ+IExheW91
dENvbnRleHQ6OmNyZWF0ZUludmFsaWRhdGlvbkNvbnRleHQoY29uc3QgQ29udGFpbmVyQm94JiBm
b3JtYXR0aW5nQ29udGV4dFJvb3QsIExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSkKK3sKKyAgICBB
U1NFUlQoZm9ybWF0dGluZ0NvbnRleHRSb290LmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRleHQo
KSk7CisgICAgaWYgKGZvcm1hdHRpbmdDb250ZXh0Um9vdC5lc3RhYmxpc2hlc0lubGluZUZvcm1h
dHRpbmdDb250ZXh0KCkpIHsKKyAgICAgICAgYXV0byYgaW5saW5lSW52YWxpZGF0aW9uU3RhdGUg
PSBsYXlvdXRTdGF0ZS5lbnN1cmVJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZShmb3JtYXR0aW5nQ29u
dGV4dFJvb3QpOworICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxJbmxpbmVJbnZhbGlkYXRpb25D
b250ZXh0PihpbmxpbmVJbnZhbGlkYXRpb25TdGF0ZSk7CisgICAgfQorCisgICAgQ1JBU0goKTsK
K30KKwogfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29u
dGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENvbnRleHQuaAppbmRleCBiYmI0
ODgxZDRjMjFlNjg0NjRmYzlmOTQ3MGUwM2ZhZmYyNWIzZGEyLi4zMTIwZjY5ZTFiNGMwOTFkZWI5
ODhiM2Y0Y2ZmNTBlOWJkZjFiN2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
TGF5b3V0Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0
LmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBjbGFzcyBDb250YWluZXJC
b3g7CiBjbGFzcyBMYXlvdXRTdGF0ZTsKIGNsYXNzIEZvcm1hdHRpbmdDb250ZXh0OworY2xhc3Mg
SW52YWxpZGF0aW9uQ29udGV4dDsKIAogLy8gTGF5b3V0Q29udGV4dCBpcyB0aGUgZW50cnkgcG9p
bnQgZm9yIGxheW91dC4KIC8vIExheW91dENvbnRleHQ6OmxheW91dCgpIGdlbmVyYXRlcyB0aGUg
ZGlzcGxheSB0cmVlIGZvciB0aGUgcm9vdCBjb250YWluZXIncyBzdWJ0cmVlIChpdCBkb2VzIG5v
dCBydW4gbGF5b3V0IG9uIHRoZSByb290IHRob3VnaCkuCkBAIC01Nyw2ICs1OCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGxheW91dFdpdGhQcmVwYXJlZFJvb3RHZW9tZXRyeSgpOwogCiAgICAgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxGb3JtYXR0aW5nQ29udGV4dD4gY3JlYXRlRm9ybWF0dGluZ0Nv
bnRleHQoY29uc3QgQ29udGFpbmVyQm94JiBmb3JtYXR0aW5nQ29udGV4dFJvb3QsIExheW91dFN0
YXRlJik7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbnZhbGlkYXRpb25Db250ZXh0PiBj
cmVhdGVJbnZhbGlkYXRpb25Db250ZXh0KGNvbnN0IENvbnRhaW5lckJveCYgZm9ybWF0dGluZ0Nv
bnRleHRSb290LCBMYXlvdXRTdGF0ZSYpOwogCiAjaWZuZGVmIE5ERUJVRwogICAgIC8vIEZvciB0
ZXN0aW5nIHB1cnBvc2VzIG9ubHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9M
YXlvdXRTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0U3RhdGUuY3BwCmlu
ZGV4IDI3YjRmYmI4ZTIwMjdjN2U0MGEyZGNiODZlNDgwN2IxOTI3NDE1ZDUuLjc3NDQ0ZmRlNzg2
ZGM0ZjM4YWNiNmY5NTNkNjRkZDEyZWU2ZWJkNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9MYXlvdXRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91
dFN0YXRlLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkZsZXhGb3JtYXR0aW5nU3Rh
dGUuaCIKICNpbmNsdWRlICJGbG9hdGluZ1N0YXRlLmgiCiAjaW5jbHVkZSAiSW5saW5lRm9ybWF0
dGluZ1N0YXRlLmgiCisjaW5jbHVkZSAiSW5saW5lSW52YWxpZGF0aW9uU3RhdGUuaCIKICNpbmNs
dWRlICJMYXlvdXRCb3guaCIKICNpbmNsdWRlICJMYXlvdXRCb3hHZW9tZXRyeS5oIgogI2luY2x1
ZGUgIkxheW91dENvbnRhaW5lckJveC5oIgpAQCAtMjMwLDYgKzIzMSwyMiBAQCBGbGV4Rm9ybWF0
dGluZ1N0YXRlJiBMYXlvdXRTdGF0ZTo6ZW5zdXJlRmxleEZvcm1hdHRpbmdTdGF0ZShjb25zdCBD
b250YWluZXJCb3gmCiAgICAgcmV0dXJuICptX2ZsZXhGb3JtYXR0aW5nU3RhdGVzLmVuc3VyZSgm
Zm9ybWF0dGluZ0NvbnRleHRSb290LCBjcmVhdGUpLml0ZXJhdG9yLT52YWx1ZTsKIH0KIAorSW5s
aW5lSW52YWxpZGF0aW9uU3RhdGUmIExheW91dFN0YXRlOjplbnN1cmVJbmxpbmVJbnZhbGlkYXRp
b25TdGF0ZShjb25zdCBDb250YWluZXJCb3gmIGlubGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdCkK
K3sKKyAgICBBU1NFUlQoaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290LmVzdGFibGlzaGVzSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQoKSk7CisKKyAgICBhdXRvIGNyZWF0ZSA9IFsmXSB7CisgICAg
ICAgIHJldHVybiBtYWtlVW5pcXVlPElubGluZUludmFsaWRhdGlvblN0YXRlPigqdGhpcyk7Cisg
ICAgfTsKKyAgICByZXR1cm4gKm1faW5saW5lSW52YWxpZGF0aW9uU3RhdGVzLmVuc3VyZSgmaW5s
aW5lRm9ybWF0dGluZ0NvbnRleHRSb290LCBjcmVhdGUpLml0ZXJhdG9yLT52YWx1ZTsKK30KKwor
SW5saW5lSW52YWxpZGF0aW9uU3RhdGUmIExheW91dFN0YXRlOjplc3RhYmxpc2hlZElubGluZUlu
dmFsaWRhdGlvblN0YXRlKGNvbnN0IENvbnRhaW5lckJveCYgaW5saW5lRm9ybWF0dGluZ0NvbnRl
eHRSb290KSBjb25zdAoreworICAgIEFTU0VSVChpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3Qu
ZXN0YWJsaXNoZXNJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCgpKTsKKyAgICByZXR1cm4gKm1faW5s
aW5lSW52YWxpZGF0aW9uU3RhdGVzLmdldCgmaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290KTsK
K30KKwogdm9pZCBMYXlvdXRTdGF0ZTo6c2V0Vmlld3BvcnRTaXplKGNvbnN0IExheW91dFNpemUm
IHZpZXdwb3J0U2l6ZSkKIHsKICAgICBBU1NFUlQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRTdGF0ZS5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmgKaW5kZXggOWExYjM3NGZjNzM2ZDEyMjJh
NWZkNmFjZjFiNmFjYjk2M2VhYjQwZi4uOTk5YzkxNGIxMTEwNmIyNWQxMDFiM2NiMDhkY2M2Y2U5
ZDJlNTQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmgKQEAgLTQzLDYgKzQzLDcg
QEAgY2xhc3MgRm9ybWF0dGluZ0NvbnRleHQ7CiBjbGFzcyBGb3JtYXR0aW5nU3RhdGU7CiBjbGFz
cyBCb3hHZW9tZXRyeTsKIGNsYXNzIElubGluZUZvcm1hdHRpbmdTdGF0ZTsKK2NsYXNzIElubGlu
ZUludmFsaWRhdGlvblN0YXRlOwogY2xhc3MgVGFibGVGb3JtYXR0aW5nU3RhdGU7CiAKIGNsYXNz
IExheW91dFN0YXRlIDogcHVibGljIENhbk1ha2VXZWFrUHRyPExheW91dFN0YXRlPiB7CkBAIC02
Niw2ICs2Nyw5IEBAIHB1YmxpYzoKIAogICAgIEZvcm1hdHRpbmdTdGF0ZSYgZm9ybWF0dGluZ1N0
YXRlRm9yQm94KGNvbnN0IEJveCYpIGNvbnN0OwogCisgICAgSW5saW5lSW52YWxpZGF0aW9uU3Rh
dGUmIGVuc3VyZUlubGluZUludmFsaWRhdGlvblN0YXRlKGNvbnN0IENvbnRhaW5lckJveCYgaW5s
aW5lRm9ybWF0dGluZ0NvbnRleHRSb290KTsKKyAgICBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZSYg
ZXN0YWJsaXNoZWRJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZShjb25zdCBDb250YWluZXJCb3gmIGlu
bGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdCkgY29uc3Q7CisKICAgICBib29sIGhhc0Zvcm1hdHRp
bmdTdGF0ZShjb25zdCBDb250YWluZXJCb3gmIGZvcm1hdHRpbmdSb290KSBjb25zdDsKICAgICBi
b29sIGhhc0lubGluZUZvcm1hdHRpbmdTdGF0ZShjb25zdCBDb250YWluZXJCb3gmIGZvcm1hdHRp
bmdSb290KSBjb25zdCB7IHJldHVybiBtX2lubGluZUZvcm1hdHRpbmdTdGF0ZXMuY29udGFpbnMo
JmZvcm1hdHRpbmdSb290KTsgfQogCkBAIC0xMDYsNiArMTEwLDggQEAgcHJpdmF0ZToKICAgICBI
YXNoTWFwPGNvbnN0IENvbnRhaW5lckJveCosIHN0ZDo6dW5pcXVlX3B0cjxUYWJsZUZvcm1hdHRp
bmdTdGF0ZT4+IG1fdGFibGVGb3JtYXR0aW5nU3RhdGVzOwogICAgIEhhc2hNYXA8Y29uc3QgQ29u
dGFpbmVyQm94Kiwgc3RkOjp1bmlxdWVfcHRyPEZsZXhGb3JtYXR0aW5nU3RhdGU+PiBtX2ZsZXhG
b3JtYXR0aW5nU3RhdGVzOwogCisgICAgSGFzaE1hcDxjb25zdCBDb250YWluZXJCb3gqLCBzdGQ6
OnVuaXF1ZV9wdHI8SW5saW5lSW52YWxpZGF0aW9uU3RhdGU+PiBtX2lubGluZUludmFsaWRhdGlv
blN0YXRlczsKKwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbmxpbmVGb3JtYXR0aW5nU3RhdGU+IG1f
cm9vdElubGluZUZvcm1hdHRpbmdTdGF0ZUZvckludGVncmF0aW9uOwogCiAjaWZuZGVmIE5ERUJV
RwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlk
YXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vSW52
YWxpZGF0aW9uQ29udGV4dC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmYjg3
MDY1MWY0Yzc1NmI2ZDJmNjEyNzUwNGYzMjg1MjMxMDkzMzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRh
dGlvbi9JbnZhbGlkYXRpb25Db250ZXh0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSW52YWxpZGF0
aW9uQ29udGV4dC5oIgotCi0jaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0K
LSNpbmNsdWRlICJJbnZhbGlkYXRpb25TdGF0ZS5oIgotI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJ
bmxpbmVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLW5hbWVzcGFjZSBMYXlvdXQgewotCi1X
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSW52YWxpZGF0aW9uQ29udGV4dCk7Ci0KLUludmFs
aWRhdGlvbkNvbnRleHQ6OkludmFsaWRhdGlvbkNvbnRleHQoSW52YWxpZGF0aW9uU3RhdGUmIGlu
dmFsaWRhdGlvblN0YXRlKQotICAgIDogbV9pbnZhbGlkYXRpb25TdGF0ZShpbnZhbGlkYXRpb25T
dGF0ZSkKLXsKLX0KLQotdm9pZCBJbnZhbGlkYXRpb25Db250ZXh0OjpzdHlsZUNoYW5nZWQoY29u
c3QgQm94JiBsYXlvdXRCb3gsIFN0eWxlRGlmZmVyZW5jZSkKLXsKLSAgICBtX2ludmFsaWRhdGlv
blN0YXRlLm1hcmtOZWVkc1VwZGF0ZShsYXlvdXRCb3gpOwotfQotCi12b2lkIEludmFsaWRhdGlv
bkNvbnRleHQ6OmNvbnRlbnRDaGFuZ2VkKGNvbnN0IEJveCYpCi17Ci19Ci0KLXZvaWQgSW52YWxp
ZGF0aW9uQ29udGV4dDo6c3VidHJlZUNoYW5nZWQoY29uc3QgQm94JikKLXsKLX0KLQotfQotfQot
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL0lu
dmFsaWRhdGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24v
SW52YWxpZGF0aW9uQ29udGV4dC5oCmluZGV4IDJmZDkwMjBiNzc5YmNlM2Y3OGU5YjZmZmFkNDgx
MjM2NzE5ODY1MjMuLjJjODEyZjNhZDcxMDNiMGMxOTA2YzIwNGYxYjUzYmY4MDU3NTIxMzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vSW52YWxpZGF0aW9u
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vSW52YWxp
ZGF0aW9uQ29udGV4dC5oCkBAIC0yNywyOCArMjcsMjUgQEAKIAogI2lmIEVOQUJMRShMQVlPVVRf
Rk9STUFUVElOR19DT05URVhUKQogCi0jaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgorI2luY2x1
ZGUgIkxheW91dFN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewotZW51bSBjbGFzcyBTdHlsZURpZmZlcmVuY2U7CitjbGFzcyBS
ZW5kZXJTdHlsZTsKIAogbmFtZXNwYWNlIExheW91dCB7CiBjbGFzcyBCb3g7Ci1jbGFzcyBJbnZh
bGlkYXRpb25TdGF0ZTsKIAogY2xhc3MgSW52YWxpZGF0aW9uQ29udGV4dCB7Ci0gICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChJbnZhbGlkYXRpb25Db250ZXh0KTsKKyAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEX0lOTElORShJbnZhbGlkYXRpb25Db250ZXh0KTsKIHB1YmxpYzoKLSAgICBJbnZh
bGlkYXRpb25Db250ZXh0KEludmFsaWRhdGlvblN0YXRlJik7CisgICAgdmlydHVhbCB2b2lkIHN0
eWxlRGlkQ2hhbmdlKGNvbnN0IEJveCYsIGNvbnN0IFJlbmRlclN0eWxlJiAvKm9sZFN0eWxlKi8p
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBjb250ZW50RGlkQ2hhbmdlKCkgeyB9CiAKLSAgICB2b2lk
IHN0eWxlQ2hhbmdlZChjb25zdCBCb3gmLCBTdHlsZURpZmZlcmVuY2UpOwotICAgIC8vIEZJWE1F
OiBXZSBtaWdodCBqdXN0IG1lcmdlIHRoaXMgd2l0aCBzdWJ0cmVlQ2hhbmdlZC4KLSAgICB2b2lk
IGNvbnRlbnRDaGFuZ2VkKGNvbnN0IEJveCYpOwotICAgIC8vIEZJWE1FOiBUaGlzIGlzIGp1c3Qg
YSBwbGFjZWhvbGRlciBmb3IgdHJlZSBjaGFuZ2VzIGxpa2UgZ2FpbmluZyBhbmQgbG9zaW5nIGRl
c2NlbmRhbnRzLiAKLSAgICB2b2lkIHN1YnRyZWVDaGFuZ2VkKGNvbnN0IEJveCYpOworICAgIHZp
cnR1YWwgfkludmFsaWRhdGlvbkNvbnRleHQoKSA9IGRlZmF1bHQ7CiAKLXByaXZhdGU6Ci0gICAg
SW52YWxpZGF0aW9uU3RhdGUmIG1faW52YWxpZGF0aW9uU3RhdGU7Citwcm90ZWN0ZWQ6CisgICAg
SW52YWxpZGF0aW9uQ29udGV4dCgpID0gZGVmYXVsdDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vSW52YWxpZGF0aW9uU3RhdGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0ZS5jcHAK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhMDFjZmMwNTFiMDE2ODU1N2Y1OTQ3N2Q3
Y2RiNGE3MDYwYjI1NTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0
ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkludmFsaWRhdGlvblN0YXRlLmgiCi0KLSNpZiBFTkFC
TEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLQotI2luY2x1ZGUgIkxheW91dEluaXRpYWxD
b250YWluaW5nQmxvY2suaCIKLSNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1lc3BhY2UgTGF5b3V0IHsKLQotV1RGX01BS0VfSVNPX0FM
TE9DQVRFRF9JTVBMKEludmFsaWRhdGlvblN0YXRlKTsKLQotSW52YWxpZGF0aW9uU3RhdGU6Oklu
dmFsaWRhdGlvblN0YXRlKCkKLXsKLX0KLQotdm9pZCBJbnZhbGlkYXRpb25TdGF0ZTo6bWFya05l
ZWRzVXBkYXRlKGNvbnN0IEJveCYgbGF5b3V0Qm94KQotewotICAgIC8vIFdlIG5ldmVyIGxheSBv
dXQgdGhlIGluaXRpYWwgY29udGFpbmluZyBibG9jay4gSXQgYWx3YXlzIGhhcyBwcmUtZGV0ZXJt
aW5lZCBnZW9tZXRyeS4KLSAgICBBU1NFUlQoIWlzPEluaXRpYWxDb250YWluaW5nQmxvY2s+KGxh
eW91dEJveCkpOwotICAgIC8vIEZJWE1FOiBUaGlzIGlzIGp1c3QgYSBwbGFjZWhvbGRlciBpbXBs
ZW1lbnRhdGlvbi4KLSAgICBtX2Zvcm1hdHRpbmdDb250ZXh0Um9vdHMuYWRkKCZsYXlvdXRCb3gu
Zm9ybWF0dGluZ0NvbnRleHRSb290KCkpOwotfQotCi1ib29sIEludmFsaWRhdGlvblN0YXRlOjpu
ZWVkc0xheW91dChjb25zdCBCb3gmKSBjb25zdAotewotICAgIHJldHVybiB0cnVlOwotfQotCi19
Ci19Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRp
b24vSW52YWxpZGF0aW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRp
b24vSW52YWxpZGF0aW9uU3RhdGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTcw
ZTAxNDQ4YTAwNzhiMzFjMjg3MjhiNDViOGQ2YTU0M2I1MzcwZi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxp
ZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkKLQotI2luY2x1ZGUgIkxheW91dEJveC5oIgotI2luY2x1ZGUgIkxheW91dENv
bnRhaW5lckJveC5oIgotI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KLSNpbmNsdWRlIDx3dGYv
V2Vha0hhc2hTZXQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotbmFtZXNwYWNlIExheW91dCB7
Ci0KLWNsYXNzIEludmFsaWRhdGlvblN0YXRlIHsKLSAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
KEludmFsaWRhdGlvblN0YXRlKTsKLXB1YmxpYzoKLSAgICBJbnZhbGlkYXRpb25TdGF0ZSgpOwot
Ci0gICAgdm9pZCBtYXJrTmVlZHNVcGRhdGUoY29uc3QgQm94Jik7Ci0gICAgYm9vbCBuZWVkc0xh
eW91dChjb25zdCBCb3gmKSBjb25zdDsKLQotICAgIHVzaW5nIEZvcm1hdHRpbmdDb250ZXh0Um9v
dHMgPSBXZWFrSGFzaFNldDxjb25zdCBDb250YWluZXJCb3g+OwotICAgIC8vIEZJWE1FOiBXZSBj
dXJyZW50bHkgZG8gZnVsbCBmb3JtYXR0aW5nIGNvbnRleHQgbGF5b3V0cyAobm8gcGFydGlhbCBs
YXlvdXQgd2l0aGluIGEgZm9ybWF0dGluZyBjb250ZXh0KS4KLSAgICBjb25zdCBGb3JtYXR0aW5n
Q29udGV4dFJvb3RzJiBmb3JtYXR0aW5nQ29udGV4dFJvb3RzKCkgY29uc3QgeyByZXR1cm4gbV9m
b3JtYXR0aW5nQ29udGV4dFJvb3RzOyB9Ci0KLXByaXZhdGU6Ci0gICAgRm9ybWF0dGluZ0NvbnRl
eHRSb290cyBtX2Zvcm1hdHRpbmdDb250ZXh0Um9vdHM7Ci19OwotCi19Ci19Ci0jZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vaW5saW5lL0lubGlu
ZUludmFsaWRhdGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRh
dGlvbi9pbmxpbmUvSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmU1
M2M4NWEwNzc1ZTkzNjQ1YzFkMmJjOGM2MDBmMGQ2NWEzOGI4MQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vaW5saW5lL0lubGluZUludmFsaWRh
dGlvbkNvbnRleHQuY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5oIgorCisjaWYg
RU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCisKKyNpbmNsdWRlICJJbmxpbmVJbnZh
bGlkYXRpb25TdGF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBMYXlvdXQgeworCitXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dCk7CisKK0lubGluZUludmFsaWRh
dGlvbkNvbnRleHQ6OklubGluZUludmFsaWRhdGlvbkNvbnRleHQoSW5saW5lSW52YWxpZGF0aW9u
U3RhdGUmIGlubGluZUludmFsaWRhdGlvblN0YXRlKQorICAgIDogbV9pbmxpbmVJbnZhbGlkYXRp
b25TdGF0ZShpbmxpbmVJbnZhbGlkYXRpb25TdGF0ZSkKK3sKK30KKwordm9pZCBJbmxpbmVJbnZh
bGlkYXRpb25Db250ZXh0OjpzdHlsZURpZENoYW5nZShjb25zdCBCb3gmLCBjb25zdCBSZW5kZXJT
dHlsZSYgLypvbGRTdHlsZSovKQoreworICAgIG1faW5saW5lSW52YWxpZGF0aW9uU3RhdGUuc2V0
TGF5b3V0RXh0ZW50KElubGluZUludmFsaWRhdGlvblN0YXRlOjpMYXlvdXRFeHRlbnQ6Ok5lZWRz
TGluZUxheW91dCk7Cit9CisKK3ZvaWQgSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dDo6Y29udGVu
dERpZENoYW5nZSgpCit7CisgICAgbV9pbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5zZXRMYXlvdXRF
eHRlbnQoSW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OkxheW91dEV4dGVudDo6TmVlZHNDb250ZW50
UHJvY2Vzc2luZyk7Cit9CisKK30KK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludmFsaWRhdGlvbi9pbmxpbmUvSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dC5o
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9pbmxpbmUvSW5saW5lSW52YWxp
ZGF0aW9uQ29udGV4dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3YWJlZmYyMTJkZWU4NjE5NzE4ODI5ZDA2NWFk
ZDc5Zjk4OTBlYzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52
YWxpZGF0aW9uL2lubGluZS9JbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0LmgKQEAgLTAsMCArMSw1
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKExBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpCisKKyNpbmNsdWRlICJJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZS5oIgor
I2luY2x1ZGUgIkludmFsaWRhdGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBMYXlvdXQgeworCitjbGFzcyBJ
bmxpbmVJbnZhbGlkYXRpb25Db250ZXh0IDogcHVibGljIEludmFsaWRhdGlvbkNvbnRleHQgewor
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dCk7Citw
dWJsaWM6CisgICAgSW5saW5lSW52YWxpZGF0aW9uQ29udGV4dChJbmxpbmVJbnZhbGlkYXRpb25T
dGF0ZSYpOworCisgICAgdm9pZCBzdHlsZURpZENoYW5nZShjb25zdCBCb3gmLCBjb25zdCBSZW5k
ZXJTdHlsZSYgb2xkU3R5bGUpIGZpbmFsOworICAgIHZvaWQgY29udGVudERpZENoYW5nZSgpIGZp
bmFsOworCitwcml2YXRlOgorICAgIElubGluZUludmFsaWRhdGlvblN0YXRlJiBtX2lubGluZUlu
dmFsaWRhdGlvblN0YXRlOworfTsKKworfQorfQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL2lubGluZS9JbmxpbmVJbnZhbGlkYXRpb25TdGF0
ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9pbmxpbmUvSW5saW5lSW52
YWxpZGF0aW9uU3RhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2VmOGQyODBmNTg5ZThjN2EzMDdhOWRiYjgx
YjQ5MGIzNTBhN2E1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dmFsaWRhdGlvbi9pbmxpbmUvSW5saW5lSW52YWxpZGF0aW9uU3RhdGUuaApAQCAtMCwwICsxLDcx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkKKworI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBMYXlvdXQgeworY2xhc3MgSW5saW5lSW52YWxp
ZGF0aW9uQ29udGV4dDsKKworY2xhc3MgSW5saW5lSW52YWxpZGF0aW9uU3RhdGUgeworICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU5MSU5FKElubGluZUludmFsaWRhdGlvblN0YXRlKTsKK3B1
YmxpYzoKKyAgICBJbmxpbmVJbnZhbGlkYXRpb25TdGF0ZShjb25zdCBMYXlvdXRTdGF0ZSYpOwor
CisgICAgZW51bSBjbGFzcyBMYXlvdXRFeHRlbnQgeworICAgICAgICBOZWVkc0NvbnRlbnRQcm9j
ZXNzaW5nLCAvLyBDb250ZW50IGNoYW5nZWQgb3Igc29tZSBzdHlsZSB0aGF0IGRyaXZlIHNvZnQg
d3JhcCBvcHBvcnR1bml0aWVzIChlLmcuIHdoaXRlLXNwYWNlOiBwcmUgdG8gbm9ybWFsKS4gVGhp
cyB0ZWxscyB1cyB0byBlLXByb2Nlc3MgdGhlIGlubGluZSBjb250ZW50LgorICAgICAgICBOZWVk
c0xpbmVMYXlvdXQsIC8vIFNvbWUgY29udGVudCBidXQgZWl0aGVyIHRoZSBjb25zdHJhaW50IG9y
IHNvbWUgc3R5bGUgdGhhdCBtYXkgYWZmZWN0IGxpbmUgYnJlYWtpbmcgY2hhbmdlZCAoZS5nLiBm
b250LXNpemUgb3IgY29udGFpbmlnIGxvY2sgaGFzIGRpZmZlcmVudCBsb2dpY2FsIHdpZHRoKS4K
KyAgICAgICAgTmVlZHNWZXJ0aWNhbEFsaWdubWVudCwgLy8gTGluZSBicmVha2luZyBwb3NpdGlv
bnMgYXJlIHRoZSBzYW1lLCBvbmx5IGhlaWdodCByZWxhdGVkIHN0eWxlIGNoYW5nZWQgKGUuZyBp
bWcncyBoZWlnaHQgY2hhbmdlcykuCisgICAgICAgIE5lZWRzSG9yaXpvbnRhbEFsaWdubWVudCAv
LyBMaW5lIGJyZWFraW5nIHBvc2l0aW9ucyBhcmUgdGhlIHNhbWUsIHJ1bnMgbWF5IHNob3cgdXAg
YXQgYSBkaWZmZXJlbnQgaG9yaXpvbnRhbCBwb3NpdGlvbiAoZS5nLiB0ZXh0LWFsaWduIGNoYW5n
ZXMpLgorICAgIH07CisgICAgTGF5b3V0RXh0ZW50IGxheW91dEV4dGVudCgpIGNvbnN0IHsgcmV0
dXJuIG1fbGF5b3V0RXh0ZW50OyB9CisgICAgLy8gRWl0aGVyIHRoZSB0b3AtbW9zdCBkYW1hZ2Vk
IGxpbmUgb3IgYSBsaXN0IG9mIGluZGVwZW5kZW50bHkgZGFtYW5nZWQgbGluZXMgKGUuZyB3aXRo
IE5lZWRzVmVydGljYWxBbGlnbm1lbnQpLgorICAgIHVzaW5nIERhbWFnZWRMaW5lcyA9IFZlY3Rv
cjxzaXplX3QsIDE+OworICAgIGNvbnN0IERhbWFnZWRMaW5lcyYgZGFtYWdlZExpbmVzKCkgY29u
c3QgeyByZXR1cm4gbV9kYW1hZ2VkTGluZXM7IH0KKyAgICAKK3ByaXZhdGU6CisgICAgZnJpZW5k
IGNsYXNzIElubGluZUludmFsaWRhdGlvbkNvbnRleHQ7CisKKyAgICB2b2lkIHNldExheW91dEV4
dGVudChMYXlvdXRFeHRlbnQgbGF5b3V0RXh0ZW50KSB7IG1fbGF5b3V0RXh0ZW50ID0gbGF5b3V0
RXh0ZW50OyB9CisgICAgdm9pZCBzZXREYW1hZ2VkTGluZXMoRGFtYWdlZExpbmVzJiYgZGFtYW5n
ZWRMaW5lcykgeyBtX2RhbWFnZWRMaW5lcyA9IFdURk1vdmUoZGFtYW5nZWRMaW5lcyk7IH0KKyAg
ICBjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUoKSBjb25zdCB7IHJldHVybiBtX2xheW91
dFN0YXRlOyB9CisKKyAgICBMYXlvdXRFeHRlbnQgbV9sYXlvdXRFeHRlbnQgeyBMYXlvdXRFeHRl
bnQ6Ok5lZWRzQ29udGVudFByb2Nlc3NpbmcgfTsKKyAgICBEYW1hZ2VkTGluZXMgbV9kYW1hZ2Vk
TGluZXM7CisgICAgY29uc3QgTGF5b3V0U3RhdGUmIG1fbGF5b3V0U3RhdGU7Cit9OworCitpbmxp
bmUgSW5saW5lSW52YWxpZGF0aW9uU3RhdGU6OklubGluZUludmFsaWRhdGlvblN0YXRlKGNvbnN0
IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSkKKyAgICA6IG1fbGF5b3V0U3RhdGUobGF5b3V0U3Rh
dGUpCit7Cit9CisKK30KK30KKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435815</attachid>
            <date>2021-08-18 16:29:51 -0700</date>
            <delta_ts>2021-09-14 08:54:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229225-20210818162950.patch</filename>
            <type>text/plain</type>
            <size>39296</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgyN2EwOGQ0MjkyMzM4
MjNkMjVlODAyMTc1NjYwMGUxZGVhNDEyYS4uZTQ4MWQzMjc0YWY2M2RjMDdhZTM5MDhmMzAzODNl
OWE0MjllY2QyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA4LTE4ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEludHJvZHVj
ZSBJbmxpbmVJbnZhbGlkYXRpb25Db250ZXh0L1N0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkyMjUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc2tlbGV0b24gaW1wbGVtZW50YXRpb24gZm9y
IGlubGluZSBsZXZlbCBpbnZhbGlkYXRpb24uCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbGF5
b3V0L0xheW91dENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRD
b250ZXh0OjpjcmVhdGVGb3JtYXR0aW5nQ29udGV4dCk6CisgICAgICAgICogbGF5b3V0L0xheW91
dFN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0U3RhdGU6OmVuc3Vy
ZUlubGluZUludmFsaWRhdGlvblNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGF5
b3V0U3RhdGU6OmludmFsaWRhdGlvblNjb3BlRm9ySW5saW5lRm9ybWF0dGluZ0NvbnRleHQgY29u
c3QpOgorICAgICAgICAqIGxheW91dC9MYXlvdXRTdGF0ZS5oOgorICAgICAgICAqIGxheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hWZXJ0aWNhbEFsaWduZXIuY3Bw
OgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlv
dXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6
OkxpbmVMYXlvdXQpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVMYXlvdXQuaDoKKyAgICAgICAgKiBsYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRh
dGlvbkNvbnRleHQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGxheW91dC9pbnZhbGlkYXRpb24v
SW52YWxpZGF0aW9uQ29udGV4dC5oOiBSZW1vdmVkLgorICAgICAgICAqIGxheW91dC9pbnZhbGlk
YXRpb24vSW52YWxpZGF0aW9uU3RhdGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGxheW91dC9p
bnZhbGlkYXRpb24vSW52YWxpZGF0aW9uU3RhdGUuaDogUmVtb3ZlZC4KKwogMjAyMS0wOC0xNyAg
QWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBEbyBu
b3QgcGFzcyBpbiB0aGUgSW52YWxpZGF0aW9uU3RhdGUgdG8gdGhlIGxheW91dCBmdW5jdGlvbnMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKaW5kZXggMmZlMmE2MDI0NDJkYjY5Y2JiODkxYjM5MWVkM2VkZTVjZTE4NzBh
ZS4uMGFiMDU1Y2JkMWRlN2I3ZDU0OGExZWJkM2ZiMjZiMjIyZjQ0OTc1ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKQEAgLTE1MzgsNiArMTUzOCw3IEBAIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcAogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1F1aXJrcy5jcHAKIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdTdGF0ZS5jcHAKK2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUludmFsaWRhdGlvbi5jcHAKIGxheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUl0ZW0uY3BwCiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lLmNwcAogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lTGluZUJveC5jcHAKQEAgLTE1NTMsOCArMTU1NCw2IEBAIGxheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHAKIGxheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcAogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uUnVuSXRlcmF0b3IuY3BwCi1sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlv
bkNvbnRleHQuY3BwCi1sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcAog
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcAogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
Q29udGFpbmVyQm94LmNwcAogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94R2VvbWV0cnkuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggZTUwZDY4MTI0OGUxYjI0NDVkMDI2OWM1YmMzMTgzYmQxOTBhZGM3Ny4uYThhNzZhNDEx
ZTNmZmI0YTRhMzRhYWNmN2UzNzUxMmYwMzAwZTlkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjE0OSwxMyArMjE0OSwxMyBA
QAogCQk2RjQwREE4MjI1MTMwMzNBMDBFQzA0QjcgLyogSW5saW5lUmVjdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY0MERBODEyNTEzMDMzQTAwRUMw
NEI3IC8qIElubGluZVJlY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk2RjQ5QzNFNzI2NDc5QjNDMDA1MTk1M0QgLyogVGFibGVGb3JtYXR0aW5n
UXVpcmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
RjQ5QzNFNjI2NDc5QjNCMDA1MTk1M0QgLyogVGFibGVGb3JtYXR0aW5nUXVpcmtzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkY1NkI0NDcyNjQ3
OUU2MjAwQUFFMjU3IC8qIEZvcm1hdHRpbmdRdWlya3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNTZCNDQ2MjY0NzlFNjEwMEFBRTI1NyAvKiBGb3Jt
YXR0aW5nUXVpcmtzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNkY2MDdENEUyNkNEQUQwRDAwMTRGMEUxIC8qIElubGluZUludmFsaWRhdGlvblNj
b3BlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RjYw
N0Q0QjI2Q0RBRDBEMDAxNEYwRTEgLyogSW5saW5lSW52YWxpZGF0aW9uU2NvcGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk2RjYwN0Q0RjI2Q0RB
RDBEMDAxNEYwRTEgLyogSW5saW5lSW52YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RjYwN0Q0RDI2Q0RBRDBEMDAxNEYwRTEgLyogSW5s
aW5lSW52YWxpZGF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNkY2MzgzRjYyNDI3QUY0QTAwREFCQTUzIC8qIExheW91dEluaXRpYWxDb250
YWluaW5nQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDZGNjM4M0Y0MjQyN0FGNDkwMERBQkE1MyAvKiBMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Js
b2NrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NkY2REYzNkYyNjQ3MjJFQTAwOTNFODM0IC8qIEJsb2NrTWFyZ2luQ29sbGFwc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNkRGMzZFMjY0NzIyRUEw
MDkzRTgzNCAvKiBCbG9ja01hcmdpbkNvbGxhcHNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkY3Q0EzQzYyMDhDMjk1NzAwMkYyOUFCIC8qIExh
eW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2RjdDQTNDNDIwOEMyOTU2MDAyRjI5QUIgLyogTGF5b3V0U3RhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RjdDQTNDQTIwOEMyQjJFMDAy
RjI5QUIgLyogSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGN0NBM0M4MjA4QzJCMkUwMDJGMjlBQiAvKiBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTZGOTE0MjExMjUxNTIxMzgwMDRFNEZFQSAvKiBJbmxpbmVMaW5lR2Vv
bWV0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZG
OTE0MjBGMjUxNTIxMzcwMDRFNEZFQSAvKiBJbmxpbmVMaW5lR2VvbWV0cnkuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk2Rjk1REU0RDIzN0I4ODlD
MDBFNTE3RTEgLyogSW52YWxpZGF0aW9uQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY5NURFNEIyMzdCODg5QjAwRTUxN0UxIC8qIEludmFs
aWRhdGlvbkNvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQk2Rjk1REU0RTIzN0I4ODlDMDBFNTE3RTEgLyogSW52YWxpZGF0aW9uU3RhdGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGOTVERTRD
MjM3Qjg4OUMwMEU1MTdFMSAvKiBJbnZhbGlkYXRpb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGOTk1QTE2MUE3MDc1NjIwMEE3MzVG
NCAvKiBXZWJHTFN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDZGOTk1QTE0MUE3MDc1NjIwMEE3MzVGNCAvKiBXZWJHTFN5bmMuaCAqLzsgfTsKIAkJ
NkY5OTVBMjAxQTcwNzhCMTAwQTczNUY0IC8qIFdlYkdMUXVlcnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGOTk1QTE4MUE3MDc4QjEwMEE3MzVGNCAv
KiBXZWJHTFF1ZXJ5LmggKi87IH07CiAJCTZGOTk1QTIyMUE3MDc4QjEwMEE3MzVGNCAvKiBXZWJH
TFNhbXBsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDZGOTk1QTFBMUE3MDc4QjEwMEE3MzVGNCAvKiBXZWJHTFNhbXBsZXIuaCAqLzsgfTsKQEAgLTEw
MDM2LDYgKzEwMDM2LDkgQEAKIAkJNkY0QTVCRDUyMkY5RjE2QjAwQTgwRjI1IC8qIExheW91dFBo
YXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFBoYXNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNkY1NkI0NDYyNjQ3OUU2MTAwQUFFMjU3IC8qIEZvcm1hdHRpbmdR
dWlya3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9ybWF0dGluZ1F1aXJr
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RjVCN0VBQTIzMDBBNzlFMDA2N0Q5
QzMgLyogVGFibGVHcmlkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRhYmxlR3JpZC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZGNjA3RDRCMjZDREFEMEQwMDE0RjBFMSAvKiBJ
bmxpbmVJbnZhbGlkYXRpb25TY29wZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJbmxpbmVJbnZhbGlkYXRpb25TY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk2RjYwN0Q0RDI2Q0RBRDBEMDAxNEYwRTEgLyogSW5saW5lSW52YWxpZGF0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZUludmFsaWRhdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2RjYwN0Q1MDI2Q0RBRDI5MDAxNEYwRTEgLyogSW5saW5l
SW52YWxpZGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElubGluZUludmFsaWRhdGlvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGNjM4M0Y0MjQyN0FGNDkwMERBQkE1
MyAvKiBMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNkY2NjM4RDQyNDlFMjY4QjAwMTkyNUZDIC8qIFRhYmxlV3JhcHBl
ckJsb2NrRm9ybWF0dGluZ1F1aXJrcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUYWJsZVdyYXBw
ZXJCbG9ja0Zvcm1hdHRpbmdRdWlya3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2RjY5QTc5OTI0RDZGQUI4MDBFNkI4NUQgLyogSW5saW5lTGluZUJveC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJbmxpbmVMaW5lQm94LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTEwMDUwLDggKzEwMDUzLDYgQEAKIAkJNkY4RjQ2MDEyMUIwM0JCNDAwNDFBQzNBIC8qIEZv
cm1hdHRpbmdRdWlya3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9ybWF0dGluZ1F1aXJrcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGOEY0NjAzMjFCMDNCQzYwMDQxQUMz
QSAvKiBCbG9ja0Zvcm1hdHRpbmdRdWlya3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmxvY2tG
b3JtYXR0aW5nUXVpcmtzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY5MTQy
MEYyNTE1MjEzNzAwNEU0RkVBIC8qIElubGluZUxpbmVHZW9tZXRyeS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbmxpbmVMaW5lR2VvbWV0cnkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNkY5NURFNEIyMzdCODg5QjAwRTUxN0UxIC8qIEludmFsaWRhdGlvbkNv
bnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW52YWxpZGF0aW9uQ29u
dGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2Rjk1REU0QzIzN0I4ODlDMDBF
NTE3RTEgLyogSW52YWxpZGF0aW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSW52YWxpZGF0aW9uU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NkY5OTVBMDkxQTcwNzBFNjAwQTczNUY0IC8qIFdlYkdMUXVlcnkuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFdlYkdMUXVlcnkuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2
Rjk5NUEwQTFBNzA3MEU2MDBBNzM1RjQgLyogV2ViR0xTYW1wbGVyLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBXZWJHTFNhbXBsZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2Rjk5NUEwQjFBNzA3MEU2MDBBNzM1RjQgLyogV2ViR0xTeW5jLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBXZWJHTFN5bmMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTAxMDcsOCArMTAxMDgsNiBAQAogCQk2RkU2MzZFNzI2NDc5NjI5MDBGMDk1MUUgLyogSW5saW5l
Rm9ybWF0dGluZ1F1aXJrcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmxp
bmVGb3JtYXR0aW5nUXVpcmtzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGRTdB
QTI2MjFDMzdCNjMwMDI5NkRDRCAvKiBNYXJnaW5UeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXJn
aW5UeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkU3Q0ZBMDIxNzdFRUYx
MDA1QjE1NzMgLyogSW5saW5lSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJbmxpbmVJdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTZGRThFNkY3MjM3
QkE1RTgwMDc1OEQyNiAvKiBJbnZhbGlkYXRpb25Db250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEludmFsaWRhdGlvbkNvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk2RkU4RTZGODIzN0JBNkIyMDA3NThEMjYgLyogSW52YWxpZGF0aW9uU3RhdGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSW52YWxpZGF0aW9uU3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2RkU5RjA5MjIyMjExMDM1MDA0QzUwODIgLyogQ29udGVudENoYW5nZU9ic2Vy
dmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnRlbnRDaGFu
Z2VPYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGRUZFODFEMjJG
OUQyMkEwMDExNDkyNyAvKiBMYXlvdXRQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRQaGFz
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkY5MTFGNjI2NDg3RkM4MDAyMDIx
REYgLyogRmxleEZvcm1hdHRpbmdHZW9tZXRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBGbGV4Rm9ybWF0dGluZ0dlb21ldHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xODMyNiw3ICsxODMyNSw2IEBACiAJCQkJNkZDRkMwNTUyMTJEQUNDMjAwNzY5NUQy
IC8qIGZsb2F0cyAqLywKIAkJCQk2Rjg0NEY3RjI2M0Q5MTYxMDBGOTEzNzAgLyogZm9ybWF0dGlu
Z0NvbnRleHRzICovLAogCQkJCUU0RkI0QjFFMjM5NTM1NkYwMDNDMzM2QSAvKiBpbnRlZ3JhdGlv
biAqLywKLQkJCQk2Rjk1REU0QTIzN0I4ODMwMDBFNTE3RTEgLyogaW52YWxpZGF0aW9uICovLAog
CQkJCTExNUNGQTkwMjA4Qjk0NDEwMDFFNjk5MSAvKiBsYXlvdXR0cmVlICovLAogCQkJCTExNUNG
QTc1MjA4QUZFMzAwMDFFNjk5MSAvKiBGb3JtYXR0aW5nU3RhdGUuY3BwICovLAogCQkJCTExNUNG
QTc0MjA4QUZFMzAwMDFFNjk5MSAvKiBGb3JtYXR0aW5nU3RhdGUuaCAqLywKQEAgLTE4NDA3LDYg
KzE4NDA1LDkgQEAKIAkJCQk2RkU2MzZFNzI2NDc5NjI5MDBGMDk1MUUgLyogSW5saW5lRm9ybWF0
dGluZ1F1aXJrcy5oICovLAogCQkJCTExNUNGQTdEMjA4QjhFMTAwMDFFNjk5MSAvKiBJbmxpbmVG
b3JtYXR0aW5nU3RhdGUuY3BwICovLAogCQkJCTExNUNGQTdDMjA4QjhFMTAwMDFFNjk5MSAvKiBJ
bmxpbmVGb3JtYXR0aW5nU3RhdGUuaCAqLywKKwkJCQk2RjYwN0Q1MDI2Q0RBRDI5MDAxNEYwRTEg
LyogSW5saW5lSW52YWxpZGF0aW9uLmNwcCAqLywKKwkJCQk2RjYwN0Q0RDI2Q0RBRDBEMDAxNEYw
RTEgLyogSW5saW5lSW52YWxpZGF0aW9uLmggKi8sCisJCQkJNkY2MDdENEIyNkNEQUQwRDAwMTRG
MEUxIC8qIElubGluZUludmFsaWRhdGlvblNjb3BlLmggKi8sCiAJCQkJNkY3QjhDRUMyMzYyNkU2
NjAwQzlGRjE1IC8qIElubGluZUl0ZW0uY3BwICovLAogCQkJCTZGRTdDRkEwMjE3N0VFRjEwMDVC
MTU3MyAvKiBJbmxpbmVJdGVtLmggKi8sCiAJCQkJNkZBQUU3MTEyNkEyODE0QTAwRTA3NTAyIC8q
IElubGluZUxldmVsQm94LmggKi8sCkBAIC0yMjgxOSwxNyArMjI4MjAsNiBAQAogCQkJcGF0aCA9
IGZvcm1hdHRpbmdDb250ZXh0czsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07Ci0J
CTZGOTVERTRBMjM3Qjg4MzAwMEU1MTdFMSAvKiBpbnZhbGlkYXRpb24gKi8gPSB7Ci0JCQlpc2Eg
PSBQQlhHcm91cDsKLQkJCWNoaWxkcmVuID0gKAotCQkJCTZGRThFNkY3MjM3QkE1RTgwMDc1OEQy
NiAvKiBJbnZhbGlkYXRpb25Db250ZXh0LmNwcCAqLywKLQkJCQk2Rjk1REU0QjIzN0I4ODlCMDBF
NTE3RTEgLyogSW52YWxpZGF0aW9uQ29udGV4dC5oICovLAotCQkJCTZGRThFNkY4MjM3QkE2QjIw
MDc1OEQyNiAvKiBJbnZhbGlkYXRpb25TdGF0ZS5jcHAgKi8sCi0JCQkJNkY5NURFNEMyMzdCODg5
QzAwRTUxN0UxIC8qIEludmFsaWRhdGlvblN0YXRlLmggKi8sCi0JCQkpOwotCQkJcGF0aCA9IGlu
dmFsaWRhdGlvbjsKLQkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0JCX07CiAJCTZGQjdEMkQ1
MjUwRkQ3QjUwMDAyMDdBQSAvKiBmbGV4ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKQEAgLTMyOTM4LDYgKzMyOTI4LDcgQEAKIAkJCQk1MTBBOTFFQTI0RDAwNEMz
MDBCRkQ4OUMgLyogSElERWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1QkUxOUMxRDU0
RjZDMTAwREQ3QzY4IC8qIEhJREdhbWVwYWQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMEE5MURB
MjRDRjNEOEMwMEJGRDg5QyAvKiBISURHYW1lcGFkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNkY2MDdENEYyNkNEQUQwRDAwMTRGMEUxIC8qIElubGluZUludmFsaWRhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTE1QkUxOUUxRDU0RjZDMTAwREQ3QzY4IC8qIEhJREdhbWVwYWRQcm92
aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQzMEQwMEIyNTc1QTgzRTAwNDZENDAxIC8qIEhp
Z2hsaWdodC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDRkFCQkQxOEMwQUY3ODAwNkY4NDUwIC8q
IEhpZ2hsaWdodERhdGEuaCBpbiBIZWFkZXJzICovLApAQCAtMzMyOTYsOCArMzMyODcsNiBAQAog
CQkJCUUxMzRGNUFCMTJFRTM0M0YwMDRFQzU4RCAvKiBJbnRSZWN0SGFzaC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQjI3NTM1NzUwQjA1MzgxNDAwMkNFNjRGIC8qIEludFNpemUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyNzUzNTc2MEIwNTM4MTQwMDJDRTY0RiAvKiBJbnRTaXplSGFzaC5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNkY5NURFNEQyMzdCODg5QzAwRTUxN0UxIC8qIEludmFsaWRhdGlvbkNv
bnRleHQuaCBpbiBIZWFkZXJzICovLAotCQkJCTZGOTVERTRFMjM3Qjg4OUMwMEU1MTdFMSAvKiBJ
bnZhbGlkYXRpb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQwQjRBQUIxOERBMUNDRDAw
NDM0REUxIC8qIElPU3VyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUMyMUU1N0QxODNFRDFG
RjAwMUMyODlEIC8qIElPU3VyZmFjZVBvb2wuaCBpbiBIZWFkZXJzICovLAogCQkJCUNENUZGNDk5
MjE2MkUyQkUwMDRCRDg2RiAvKiBJU09Cb3guaCBpbiBIZWFkZXJzICovLApAQCAtMzUxMDUsNiAr
MzUwOTQsNyBAQAogCQkJCTdFRTY4NDZEMTJEMjZFMzgwMEU3OTQxNSAvKiBSZXNvdXJjZVJlcXVl
c3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNEM3NjdEMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNv
dXJjZVJlcXVlc3RCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3RUU2ODQ2RjEyRDI2RTM4MDBF
Nzk0MTUgLyogUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTZGNjA3
RDRFMjZDREFEMEQwMDE0RjBFMSAvKiBJbmxpbmVJbnZhbGlkYXRpb25TY29wZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJN0VFNjg0NzAxMkQyNkUzODAwRTc5NDE1IC8qIFJlc291cmNlUmVzcG9uc2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxNEM3NjdGMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJj
ZVJlc3BvbnNlQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVDRTlGM0YxRTRDNDE3NDAwMUJC
RTdDIC8qIFJlc291cmNlVGltaW5nLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9MYXlvdXRDb250ZXh0LmNwcAppbmRleCBiZGQ0NmM0MDYzNTdlMDE5YjgwM2UwYWU4ZWM3MWM4
OGVkYjIyMWY0Li5kMzFmZWQwOGJjZTJkNjliOWRlNmE1OTg2NTgzYzQwZGNlNWM0OGE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENvbnRleHQuY3BwCkBAIC0xMTAsNiArMTEwLDcgQEAg
c3RkOjp1bmlxdWVfcHRyPEZvcm1hdHRpbmdDb250ZXh0PiBMYXlvdXRDb250ZXh0OjpjcmVhdGVG
b3JtYXR0aW5nQ29udGV4dChjb25zdAogICAgIEFTU0VSVChmb3JtYXR0aW5nQ29udGV4dFJvb3Qu
ZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpKTsKICAgICBpZiAoZm9ybWF0dGluZ0NvbnRl
eHRSb290LmVzdGFibGlzaGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSkgewogICAgICAgICBh
dXRvJiBpbmxpbmVGb3JtYXR0aW5nU3RhdGUgPSBsYXlvdXRTdGF0ZS5lbnN1cmVJbmxpbmVGb3Jt
YXR0aW5nU3RhdGUoZm9ybWF0dGluZ0NvbnRleHRSb290KTsKKyAgICAgICAgbGF5b3V0U3RhdGUu
ZW5zdXJlSW5saW5lSW52YWxpZGF0aW9uU2NvcGUoZm9ybWF0dGluZ0NvbnRleHRSb290KTsKICAg
ICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ+KGZvcm1hdHRp
bmdDb250ZXh0Um9vdCwgaW5saW5lRm9ybWF0dGluZ1N0YXRlKTsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvTGF5b3V0U3RhdGUuY3BwCmluZGV4IDI3YjRmYmI4ZTIwMjdjN2U0MGEyZGNiODZl
NDgwN2IxOTI3NDE1ZDUuLjI4NmYwMzM5MzZmZTQ5ZmNjZDllMmZmODI1M2RjN2Q0MzY3Zjc1MGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRTdGF0ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmNwcApAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIkZsZXhGb3JtYXR0aW5nU3RhdGUuaCIKICNpbmNsdWRlICJGbG9hdGluZ1N0YXRl
LmgiCiAjaW5jbHVkZSAiSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgiCisjaW5jbHVkZSAiSW5saW5l
SW52YWxpZGF0aW9uU2NvcGUuaCIKICNpbmNsdWRlICJMYXlvdXRCb3guaCIKICNpbmNsdWRlICJM
YXlvdXRCb3hHZW9tZXRyeS5oIgogI2luY2x1ZGUgIkxheW91dENvbnRhaW5lckJveC5oIgpAQCAt
MjMwLDYgKzIzMSwyMiBAQCBGbGV4Rm9ybWF0dGluZ1N0YXRlJiBMYXlvdXRTdGF0ZTo6ZW5zdXJl
RmxleEZvcm1hdHRpbmdTdGF0ZShjb25zdCBDb250YWluZXJCb3gmCiAgICAgcmV0dXJuICptX2Zs
ZXhGb3JtYXR0aW5nU3RhdGVzLmVuc3VyZSgmZm9ybWF0dGluZ0NvbnRleHRSb290LCBjcmVhdGUp
Lml0ZXJhdG9yLT52YWx1ZTsKIH0KIAorSW5saW5lSW52YWxpZGF0aW9uU2NvcGUmIExheW91dFN0
YXRlOjplbnN1cmVJbmxpbmVJbnZhbGlkYXRpb25TY29wZShjb25zdCBDb250YWluZXJCb3gmIGlu
bGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdCkKK3sKKyAgICBBU1NFUlQoaW5saW5lRm9ybWF0dGlu
Z0NvbnRleHRSb290LmVzdGFibGlzaGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSk7CisKKyAg
ICBhdXRvIGNyZWF0ZSA9IFsmXSB7CisgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPElubGluZUlu
dmFsaWRhdGlvblNjb3BlPigqdGhpcyk7CisgICAgfTsKKyAgICByZXR1cm4gKm1faW5saW5lSW52
YWxpZGF0aW9uU2NvcGVzLmVuc3VyZSgmaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290LCBjcmVh
dGUpLml0ZXJhdG9yLT52YWx1ZTsKK30KKworSW5saW5lSW52YWxpZGF0aW9uU2NvcGUmIExheW91
dFN0YXRlOjppbnZhbGlkYXRpb25TY29wZUZvcklubGluZUZvcm1hdHRpbmdDb250ZXh0KGNvbnN0
IENvbnRhaW5lckJveCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290KSBjb25zdAoreworICAg
IEFTU0VSVChpbmxpbmVGb3JtYXR0aW5nQ29udGV4dFJvb3QuZXN0YWJsaXNoZXNJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dCgpKTsKKyAgICByZXR1cm4gKm1faW5saW5lSW52YWxpZGF0aW9uU2NvcGVz
LmdldCgmaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290KTsKK30KKwogdm9pZCBMYXlvdXRTdGF0
ZTo6c2V0Vmlld3BvcnRTaXplKGNvbnN0IExheW91dFNpemUmIHZpZXdwb3J0U2l6ZSkKIHsKICAg
ICBBU1NFUlQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYXlvdXRG
b3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9MYXlvdXRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xh
eW91dFN0YXRlLmgKaW5kZXggOWExYjM3NGZjNzM2ZDEyMjJhNWZkNmFjZjFiNmFjYjk2M2VhYjQw
Zi4uNGVjMmU1MGFiNGQ4Zjk5OTQ3OThiYmVjMTMyZmViZDgwN2Y0MmUwMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0xheW91dFN0YXRlLmgKQEAgLTQzLDYgKzQzLDcgQEAgY2xhc3MgRm9ybWF0dGluZ0Nv
bnRleHQ7CiBjbGFzcyBGb3JtYXR0aW5nU3RhdGU7CiBjbGFzcyBCb3hHZW9tZXRyeTsKIGNsYXNz
IElubGluZUZvcm1hdHRpbmdTdGF0ZTsKK2NsYXNzIElubGluZUludmFsaWRhdGlvblNjb3BlOwog
Y2xhc3MgVGFibGVGb3JtYXR0aW5nU3RhdGU7CiAKIGNsYXNzIExheW91dFN0YXRlIDogcHVibGlj
IENhbk1ha2VXZWFrUHRyPExheW91dFN0YXRlPiB7CkBAIC02OSw2ICs3MCw5IEBAIHB1YmxpYzoK
ICAgICBib29sIGhhc0Zvcm1hdHRpbmdTdGF0ZShjb25zdCBDb250YWluZXJCb3gmIGZvcm1hdHRp
bmdSb290KSBjb25zdDsKICAgICBib29sIGhhc0lubGluZUZvcm1hdHRpbmdTdGF0ZShjb25zdCBD
b250YWluZXJCb3gmIGZvcm1hdHRpbmdSb290KSBjb25zdCB7IHJldHVybiBtX2lubGluZUZvcm1h
dHRpbmdTdGF0ZXMuY29udGFpbnMoJmZvcm1hdHRpbmdSb290KTsgfQogCisgICAgSW5saW5lSW52
YWxpZGF0aW9uU2NvcGUmIGVuc3VyZUlubGluZUludmFsaWRhdGlvblNjb3BlKGNvbnN0IENvbnRh
aW5lckJveCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHRSb290KTsKKyAgICBJbmxpbmVJbnZhbGlk
YXRpb25TY29wZSYgaW52YWxpZGF0aW9uU2NvcGVGb3JJbmxpbmVGb3JtYXR0aW5nQ29udGV4dChj
b25zdCBDb250YWluZXJCb3gmIGlubGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdCkgY29uc3Q7CisK
ICNpZm5kZWYgTkRFQlVHCiAgICAgdm9pZCByZWdpc3RlckZvcm1hdHRpbmdDb250ZXh0KGNvbnN0
IEZvcm1hdHRpbmdDb250ZXh0Jik7CiAgICAgdm9pZCBkZXJlZ2lzdGVyRm9ybWF0dGluZ0NvbnRl
eHQoY29uc3QgRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0KSB7IG1fZm9ybWF0
dGluZ0NvbnRleHRMaXN0LnJlbW92ZSgmZm9ybWF0dGluZ0NvbnRleHQpOyB9CkBAIC0xMDYsNiAr
MTEwLDggQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPGNvbnN0IENvbnRhaW5lckJveCosIHN0ZDo6
dW5pcXVlX3B0cjxUYWJsZUZvcm1hdHRpbmdTdGF0ZT4+IG1fdGFibGVGb3JtYXR0aW5nU3RhdGVz
OwogICAgIEhhc2hNYXA8Y29uc3QgQ29udGFpbmVyQm94Kiwgc3RkOjp1bmlxdWVfcHRyPEZsZXhG
b3JtYXR0aW5nU3RhdGU+PiBtX2ZsZXhGb3JtYXR0aW5nU3RhdGVzOwogCisgICAgSGFzaE1hcDxj
b25zdCBDb250YWluZXJCb3gqLCBzdGQ6OnVuaXF1ZV9wdHI8SW5saW5lSW52YWxpZGF0aW9uU2Nv
cGU+PiBtX2lubGluZUludmFsaWRhdGlvblNjb3BlczsKKwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJ
bmxpbmVGb3JtYXR0aW5nU3RhdGU+IG1fcm9vdElubGluZUZvcm1hdHRpbmdTdGF0ZUZvckludGVn
cmF0aW9uOwogCiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lSW52YWxpZGF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUludmFs
aWRhdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTlmMTgyZjEzODcwM2M4NWI4OGY2Mzc5OWJmODE0NzU0
MjI2NGQ0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUludmFsaWRhdGlvbi5jcHAKQEAgLTAsMCArMSw2OCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbmxpbmVJbnZh
bGlkYXRpb24uaCIKKworI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQorCisj
aW5jbHVkZSAiSW5saW5lSW52YWxpZGF0aW9uU2NvcGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworbmFtZXNwYWNlIExheW91dCB7CisKK0lubGluZUludmFsaWRhdGlvbjo6SW5saW5lSW52YWxp
ZGF0aW9uKElubGluZUludmFsaWRhdGlvblNjb3BlJiBpbmxpbmVJbnZhbGlkYXRpb25TY29wZSkK
KyAgICA6IG1faW5saW5lSW52YWxpZGF0aW9uU2NvcGUoaW5saW5lSW52YWxpZGF0aW9uU2NvcGUp
Cit7Cit9CisKK3ZvaWQgSW5saW5lSW52YWxpZGF0aW9uOjpzdHlsZUNoYW5nZWQoY29uc3QgQm94
JiwgY29uc3QgUmVuZGVyU3R5bGUmIC8qb2xkU3R5bGUqLykKK3sKKyAgICBtX2lubGluZUludmFs
aWRhdGlvblNjb3BlLnNldExheW91dEV4dGVudChJbmxpbmVJbnZhbGlkYXRpb25TY29wZTo6TGF5
b3V0RXh0ZW50OjpOZWVkc0xpbmVMYXlvdXQpOworfQorCit2b2lkIElubGluZUludmFsaWRhdGlv
bjo6dGV4dEluc2VydGVkKGNvbnN0IElubGluZVRleHRCb3gmLCBzdGQ6Om9wdGlvbmFsPHNpemVf
dD4gLypvZmZzZXQqLywgc3RkOjpvcHRpb25hbDxzaXplX3Q+IC8qbGVuZ3RoKi8pCit7CisgICAg
bV9pbmxpbmVJbnZhbGlkYXRpb25TY29wZS5zZXRMYXlvdXRFeHRlbnQoSW5saW5lSW52YWxpZGF0
aW9uU2NvcGU6OkxheW91dEV4dGVudDo6TmVlZHNDb250ZW50QW5kTGF5b3V0VXBkYXRlKTsKK30K
Kwordm9pZCBJbmxpbmVJbnZhbGlkYXRpb246OnRleHRSZW1vdmVkKGNvbnN0IElubGluZVRleHRC
b3gmLCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gLypvZmZzZXQqLywgc3RkOjpvcHRpb25hbDxzaXpl
X3Q+IC8qbGVuZ3RoKi8pCit7CisgICAgbV9pbmxpbmVJbnZhbGlkYXRpb25TY29wZS5zZXRMYXlv
dXRFeHRlbnQoSW5saW5lSW52YWxpZGF0aW9uU2NvcGU6OkxheW91dEV4dGVudDo6TmVlZHNDb250
ZW50QW5kTGF5b3V0VXBkYXRlKTsKK30KKwordm9pZCBJbmxpbmVJbnZhbGlkYXRpb246OmlubGlu
ZUxldmVsQm94SW5zZXJ0ZWQoY29uc3QgQm94JikKK3sKKyAgICBtX2lubGluZUludmFsaWRhdGlv
blNjb3BlLnNldExheW91dEV4dGVudChJbmxpbmVJbnZhbGlkYXRpb25TY29wZTo6TGF5b3V0RXh0
ZW50OjpOZWVkc0NvbnRlbnRBbmRMYXlvdXRVcGRhdGUpOworfQorCit2b2lkIElubGluZUludmFs
aWRhdGlvbjo6aW5saW5lTGV2ZWxCb3hSZW1vdmVkKGNvbnN0IEJveCYpCit7CisgICAgbV9pbmxp
bmVJbnZhbGlkYXRpb25TY29wZS5zZXRMYXlvdXRFeHRlbnQoSW5saW5lSW52YWxpZGF0aW9uU2Nv
cGU6OkxheW91dEV4dGVudDo6TmVlZHNDb250ZW50QW5kTGF5b3V0VXBkYXRlKTsKK30KKworfQor
fQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVJbnZhbGlkYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUludmFsaWRhdGlvbi5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEwYWMzMmEwYjIzNjcxNjJlZmYwYjQ3OGQyNmZmNTIxYzUzYWRhNmIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVJbnZhbGlkYXRpb24uaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIExheW91dCB7CitjbGFzcyBJbmxpbmVJbnZhbGlkYXRp
b25TY29wZTsKKworY2xhc3MgSW5saW5lSW52YWxpZGF0aW9uIHsKK3B1YmxpYzoKKyAgICBJbmxp
bmVJbnZhbGlkYXRpb24oSW5saW5lSW52YWxpZGF0aW9uU2NvcGUmKTsKKworICAgIHZvaWQgc3R5
bGVDaGFuZ2VkKGNvbnN0IEJveCYsIGNvbnN0IFJlbmRlclN0eWxlJiBvbGRTdHlsZSk7CisKKyAg
ICB2b2lkIHRleHRJbnNlcnRlZChjb25zdCBJbmxpbmVUZXh0Qm94Jiwgc3RkOjpvcHRpb25hbDxz
aXplX3Q+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IGxlbmd0aCk7CisgICAgdm9pZCB0
ZXh0UmVtb3ZlZChjb25zdCBJbmxpbmVUZXh0Qm94Jiwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG9m
ZnNldCwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IGxlbmd0aCk7CisKKyAgICB2b2lkIGlubGluZUxl
dmVsQm94SW5zZXJ0ZWQoY29uc3QgQm94Jik7CisgICAgdm9pZCBpbmxpbmVMZXZlbEJveFJlbW92
ZWQoY29uc3QgQm94Jik7CisKK3ByaXZhdGU6CisgICAgSW5saW5lSW52YWxpZGF0aW9uU2NvcGUm
IG1faW5saW5lSW52YWxpZGF0aW9uU2NvcGU7Cit9OworCit9Cit9CisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUludmFsaWRhdGlvblNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVJbnZhbGlkYXRpb25TY29wZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1NjIz
YTA3MTc3ODUxOGM1ZjczNDlmYzMyNmExNTcyYzY3M2ZmY2UKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVJbnZh
bGlkYXRpb25TY29wZS5oCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQorCisjaW5jbHVkZSA8
d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNl
IExheW91dCB7CisKK2NsYXNzIElubGluZUludmFsaWRhdGlvblNjb3BlIHsKKyAgICBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lOTElORShJbmxpbmVJbnZhbGlkYXRpb25TY29wZSk7CitwdWJsaWM6
CisgICAgSW5saW5lSW52YWxpZGF0aW9uU2NvcGUoY29uc3QgTGF5b3V0U3RhdGUmKTsKKworICAg
IGVudW0gY2xhc3MgTGF5b3V0RXh0ZW50IHsKKyAgICAgICAgTmVlZHNDb250ZW50QW5kTGF5b3V0
VXBkYXRlLCAvLyBDb250ZW50IGNoYW5nZWQgb3Igc29tZSBzdHlsZSB0aGF0IGRyaXZlIHNvZnQg
d3JhcCBvcHBvcnR1bml0aWVzIChlLmcuIHdoaXRlLXNwYWNlOiBwcmUgdG8gbm9ybWFsKS4gVGhp
cyB0ZWxscyB1cyB0byByZS1wcm9jZXNzIHRoZSBpbmxpbmUgY29udGVudC4KKyAgICAgICAgTmVl
ZHNMaW5lTGF5b3V0LCAvLyBTYW1lIGNvbnRlbnQgYnV0IGVpdGhlciB0aGUgY29uc3RyYWludCBv
ciBzb21lIHN0eWxlIHRoYXQgbWF5IGFmZmVjdCBsaW5lIGJyZWFraW5nIGNoYW5nZWQgKGUuZy4g
Zm9udC1zaXplIG9yIGNvbnRhaW5pZyBibG9jayBzZXQgbmV3IGhvcml6b250YWwgY29uc3RyYWlu
dCkuCisgICAgICAgIE5lZWRzVmVydGljYWxBbGlnbm1lbnQsIC8vIExpbmUgYnJlYWtpbmcgcG9z
aXRpb25zIGFyZSB0aGUgc2FtZSwgb25seSBoZWlnaHQgcmVsYXRlZCBzdHlsZSBjaGFuZ2VkIChl
LmcgaW1nJ3MgaGVpZ2h0IGNoYW5nZXMpLgorICAgICAgICBOZWVkc0hvcml6b250YWxBbGlnbm1l
bnQgLy8gTGluZSBicmVha2luZyBwb3NpdGlvbnMgYXJlIHRoZSBzYW1lLCBydW5zIG1heSBzaG93
IHVwIGF0IGEgZGlmZmVyZW50IGhvcml6b250YWwgcG9zaXRpb24gKGUuZy4gdGV4dC1hbGlnbiBj
aGFuZ2VzKS4KKyAgICB9OworICAgIExheW91dEV4dGVudCBsYXlvdXRFeHRlbnQoKSBjb25zdCB7
IHJldHVybiBtX2xheW91dEV4dGVudDsgfQorICAgIC8vIEVpdGhlciB0aGUgdG9wLW1vc3QgZGFt
YWdlZCBsaW5lIG9yIGEgbGlzdCBvZiBpbmRlcGVuZGVudGx5IGRhbWFuZ2VkIGxpbmVzIChlLmcg
d2l0aCBOZWVkc1ZlcnRpY2FsQWxpZ25tZW50KS4KKyAgICB1c2luZyBEYW1hZ2VkTGluZXMgPSBW
ZWN0b3I8c2l6ZV90LCAxPjsKKyAgICBjb25zdCBEYW1hZ2VkTGluZXMmIGRhbWFnZWRMaW5lcygp
IGNvbnN0IHsgcmV0dXJuIG1fZGFtYWdlZExpbmVzOyB9CisKK3ByaXZhdGU6CisgICAgZnJpZW5k
IGNsYXNzIElubGluZUludmFsaWRhdGlvbjsKKworICAgIHZvaWQgc2V0TGF5b3V0RXh0ZW50KExh
eW91dEV4dGVudCBsYXlvdXRFeHRlbnQpIHsgbV9sYXlvdXRFeHRlbnQgPSBsYXlvdXRFeHRlbnQ7
IH0KKyAgICB2b2lkIHNldERhbWFnZWRMaW5lcyhEYW1hZ2VkTGluZXMmJiBkYW1hbmdlZExpbmVz
KSB7IG1fZGFtYWdlZExpbmVzID0gV1RGTW92ZShkYW1hbmdlZExpbmVzKTsgfQorICAgIGNvbnN0
IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0U3RhdGU7
IH0KKworICAgIExheW91dEV4dGVudCBtX2xheW91dEV4dGVudCB7IExheW91dEV4dGVudDo6TmVl
ZHNDb250ZW50QW5kTGF5b3V0VXBkYXRlIH07CisgICAgRGFtYWdlZExpbmVzIG1fZGFtYWdlZExp
bmVzOworICAgIGNvbnN0IExheW91dFN0YXRlJiBtX2xheW91dFN0YXRlOworfTsKKworaW5saW5l
IElubGluZUludmFsaWRhdGlvblNjb3BlOjpJbmxpbmVJbnZhbGlkYXRpb25TY29wZShjb25zdCBM
YXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUpCisgICAgOiBtX2xheW91dFN0YXRlKGxheW91dFN0YXRl
KQoreworfQorCit9Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hWZXJ0aWNhbEFsaWduZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJveFZlcnRpY2FsQWxpZ25lci5jcHAKaW5kZXggNzE0NzlhYmNkMTRjNzhmNDQ5N2Ix
MTIzMDJiYjFjYWZkMTJiYTM1Ny4uNWMzNzk4NDEwNzliMzQ2M2ZjNTBhZGMwYTM5NjVkZDA5YjI0
N2VlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lTGluZUJveFZlcnRpY2FsQWxpZ25lci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveFZlcnRp
Y2FsQWxpZ25lci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJJbmxpbmVMaW5lQm94
VmVydGljYWxBbGlnbmVyLmgiCiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkKKyNpbmNsdWRlICJMYXlvdXRCb3hHZW9tZXRyeS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBuYW1lc3BhY2UgTGF5b3V0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5k
ZXggODRmYWJiMjRmNDg3NDVhOTkzZjFhYWE2NjJjN2NjNWI0YzdiNjQyNi4uOTJlYzE4YWI1ZTJh
N2QyZDNiYjgzMDkxZjkyZjhkOTZlOGU2ZjliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxh
eW91dC5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAj
aW5jbHVkZSAiSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJJbmxpbmVGb3Jt
YXR0aW5nU3RhdGUuaCIKKyNpbmNsdWRlICJJbmxpbmVJbnZhbGlkYXRpb25TY29wZS5oIgogI2lu
Y2x1ZGUgIkxheW91dEJveEdlb21ldHJ5LmgiCiAjaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25D
b3ZlcmFnZS5oIgogI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxk
ZXIuaCIKQEAgLTYxLDYgKzYyLDcgQEAgTGluZUxheW91dDo6TGluZUxheW91dChSZW5kZXJCbG9j
a0Zsb3cmIGZsb3cpCiAgICAgOiBtX2JveFRyZWUoZmxvdykKICAgICAsIG1fbGF5b3V0U3RhdGUo
Zmxvdy5kb2N1bWVudCgpLCByb290TGF5b3V0Qm94KCkpCiAgICAgLCBtX2lubGluZUZvcm1hdHRp
bmdTdGF0ZShtX2xheW91dFN0YXRlLmVuc3VyZUlubGluZUZvcm1hdHRpbmdTdGF0ZShyb290TGF5
b3V0Qm94KCkpKQorICAgICwgbV9pbmxpbmVJbnZhbGlkYXRpb25TY29wZShtX2xheW91dFN0YXRl
LmVuc3VyZUlubGluZUludmFsaWRhdGlvblNjb3BlKHJvb3RMYXlvdXRCb3goKSkpCiB7CiAgICAg
bV9sYXlvdXRTdGF0ZS5zZXRJc0ludGVncmF0ZWRSb290Qm94Rmlyc3RDaGlsZChmbG93LnBhcmVu
dCgpLT5maXJzdENoaWxkKCkgPT0gJmZsb3cpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91
dC5oCmluZGV4IDA5MWE2MDE0YjcxOWI1M2VjNDdmMDUyYWEzYWJhODZmOGZhMDZmYzYuLjdkMDFk
YjIzMTg5NmM3NGRlMWE5MDQwYjcxYWZkOWVmOGRiYTYyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFU
VElOR19DT05URVhUKQogCisjaW5jbHVkZSAiSW5saW5lSW52YWxpZGF0aW9uU2NvcGUuaCIKICNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCIKICNpbmNsdWRlICJMYXlvdXRJbnRl
Z3JhdGlvbkxpbmVJdGVyYXRvci5oIgogI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRl
cmF0b3IuaCIKQEAgLTEyMiw2ICsxMjMsNyBAQCBwcml2YXRlOgogICAgIEJveFRyZWUgbV9ib3hU
cmVlOwogICAgIExheW91dDo6TGF5b3V0U3RhdGUgbV9sYXlvdXRTdGF0ZTsKICAgICBMYXlvdXQ6
OklubGluZUZvcm1hdHRpbmdTdGF0ZSYgbV9pbmxpbmVGb3JtYXR0aW5nU3RhdGU7CisgICAgTGF5
b3V0OjpJbmxpbmVJbnZhbGlkYXRpb25TY29wZSBtX2lubGluZUludmFsaWRhdGlvblNjb3BlOwog
ICAgIFJlZlB0cjxJbmxpbmVDb250ZW50PiBtX2lubGluZUNvbnRlbnQ7CiAgICAgc3RkOjpvcHRp
b25hbDxMYXlvdXRVbml0PiBtX3BhZ2luYXRlZEhlaWdodDsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvbkNvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25Db250ZXh0LmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGZiODcwNjUxZjRjNzU2YjZkMmY2MTI3
NTA0ZjMyODUyMzEwOTMzNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvbkNv
bnRleHQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJJbnZhbGlkYXRpb25Db250ZXh0LmgiCi0KLSNp
ZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLQotI2luY2x1ZGUgIkludmFsaWRh
dGlvblN0YXRlLmgiCi0jaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotbmFtZXNwYWNlIExheW91dCB7Ci0KLVdURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChJbnZhbGlkYXRpb25Db250ZXh0KTsKLQotSW52YWxpZGF0aW9uQ29udGV4dDo6SW52
YWxpZGF0aW9uQ29udGV4dChJbnZhbGlkYXRpb25TdGF0ZSYgaW52YWxpZGF0aW9uU3RhdGUpCi0g
ICAgOiBtX2ludmFsaWRhdGlvblN0YXRlKGludmFsaWRhdGlvblN0YXRlKQotewotfQotCi12b2lk
IEludmFsaWRhdGlvbkNvbnRleHQ6OnN0eWxlQ2hhbmdlZChjb25zdCBCb3gmIGxheW91dEJveCwg
U3R5bGVEaWZmZXJlbmNlKQotewotICAgIG1faW52YWxpZGF0aW9uU3RhdGUubWFya05lZWRzVXBk
YXRlKGxheW91dEJveCk7Ci19Ci0KLXZvaWQgSW52YWxpZGF0aW9uQ29udGV4dDo6Y29udGVudENo
YW5nZWQoY29uc3QgQm94JikKLXsKLX0KLQotdm9pZCBJbnZhbGlkYXRpb25Db250ZXh0OjpzdWJ0
cmVlQ2hhbmdlZChjb25zdCBCb3gmKQotewotfQotCi19Ci19Ci0jZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vSW52YWxpZGF0aW9uQ29udGV4dC5o
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25Db250ZXh0
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJmZDkwMjBiNzc5YmNlM2Y3OGU5YjZm
ZmFkNDgxMjM2NzE5ODY1MjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25D
b250ZXh0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3By
YWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLQotI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotZW51bSBjbGFz
cyBTdHlsZURpZmZlcmVuY2U7Ci0KLW5hbWVzcGFjZSBMYXlvdXQgewotY2xhc3MgQm94OwotY2xh
c3MgSW52YWxpZGF0aW9uU3RhdGU7Ci0KLWNsYXNzIEludmFsaWRhdGlvbkNvbnRleHQgewotICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW52YWxpZGF0aW9uQ29udGV4dCk7Ci1wdWJsaWM6Ci0g
ICAgSW52YWxpZGF0aW9uQ29udGV4dChJbnZhbGlkYXRpb25TdGF0ZSYpOwotCi0gICAgdm9pZCBz
dHlsZUNoYW5nZWQoY29uc3QgQm94JiwgU3R5bGVEaWZmZXJlbmNlKTsKLSAgICAvLyBGSVhNRTog
V2UgbWlnaHQganVzdCBtZXJnZSB0aGlzIHdpdGggc3VidHJlZUNoYW5nZWQuCi0gICAgdm9pZCBj
b250ZW50Q2hhbmdlZChjb25zdCBCb3gmKTsKLSAgICAvLyBGSVhNRTogVGhpcyBpcyBqdXN0IGEg
cGxhY2Vob2xkZXIgZm9yIHRyZWUgY2hhbmdlcyBsaWtlIGdhaW5pbmcgYW5kIGxvc2luZyBkZXNj
ZW5kYW50cy4gCi0gICAgdm9pZCBzdWJ0cmVlQ2hhbmdlZChjb25zdCBCb3gmKTsKLQotcHJpdmF0
ZToKLSAgICBJbnZhbGlkYXRpb25TdGF0ZSYgbV9pbnZhbGlkYXRpb25TdGF0ZTsKLX07Ci0KLX0K
LX0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlv
bi9JbnZhbGlkYXRpb25TdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52YWxpZGF0
aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NWEwMWNmYzA1MWIwMTY4NTU3ZjU5NDc3ZDdjZGI0YTcwNjBiMjU1MS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW52
YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSW52YWxp
ZGF0aW9uU3RhdGUuaCIKLQotI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQot
Ci0jaW5jbHVkZSAiTGF5b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5oIgotI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2NJbmxpbmVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLW5hbWVzcGFjZSBM
YXlvdXQgewotCi1XVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSW52YWxpZGF0aW9uU3RhdGUp
OwotCi1JbnZhbGlkYXRpb25TdGF0ZTo6SW52YWxpZGF0aW9uU3RhdGUoKQotewotfQotCi12b2lk
IEludmFsaWRhdGlvblN0YXRlOjptYXJrTmVlZHNVcGRhdGUoY29uc3QgQm94JiBsYXlvdXRCb3gp
Ci17Ci0gICAgLy8gV2UgbmV2ZXIgbGF5IG91dCB0aGUgaW5pdGlhbCBjb250YWluaW5nIGJsb2Nr
LiBJdCBhbHdheXMgaGFzIHByZS1kZXRlcm1pbmVkIGdlb21ldHJ5LgotICAgIEFTU0VSVCghaXM8
SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4obGF5b3V0Qm94KSk7Ci0gICAgLy8gRklYTUU6IFRoaXMg
aXMganVzdCBhIHBsYWNlaG9sZGVyIGltcGxlbWVudGF0aW9uLgotICAgIG1fZm9ybWF0dGluZ0Nv
bnRleHRSb290cy5hZGQoJmxheW91dEJveC5mb3JtYXR0aW5nQ29udGV4dFJvb3QoKSk7Ci19Ci0K
LWJvb2wgSW52YWxpZGF0aW9uU3RhdGU6Om5lZWRzTGF5b3V0KGNvbnN0IEJveCYpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0KLX0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludmFsaWRhdGlvbi9JbnZhbGlkYXRpb25TdGF0ZS5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzBlMDE0NDhhMDA3OGIzMWMyODcyOGI0NWI4ZDZhNTQz
YjUzNzBmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnZhbGlkYXRpb24vSW52YWxpZGF0aW9uU3RhdGUuaAorKysg
L2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQot
I2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotCi0jaW5jbHVkZSAiTGF5b3V0
Qm94LmgiCi0jaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94LmgiCi0jaW5jbHVkZSA8d3RmL0lz
b01hbGxvYy5oPgotI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci1uYW1lc3BhY2UgTGF5b3V0IHsKLQotY2xhc3MgSW52YWxpZGF0aW9uU3RhdGUgewot
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW52YWxpZGF0aW9uU3RhdGUpOwotcHVibGljOgot
ICAgIEludmFsaWRhdGlvblN0YXRlKCk7Ci0KLSAgICB2b2lkIG1hcmtOZWVkc1VwZGF0ZShjb25z
dCBCb3gmKTsKLSAgICBib29sIG5lZWRzTGF5b3V0KGNvbnN0IEJveCYpIGNvbnN0OwotCi0gICAg
dXNpbmcgRm9ybWF0dGluZ0NvbnRleHRSb290cyA9IFdlYWtIYXNoU2V0PGNvbnN0IENvbnRhaW5l
ckJveD47Ci0gICAgLy8gRklYTUU6IFdlIGN1cnJlbnRseSBkbyBmdWxsIGZvcm1hdHRpbmcgY29u
dGV4dCBsYXlvdXRzIChubyBwYXJ0aWFsIGxheW91dCB3aXRoaW4gYSBmb3JtYXR0aW5nIGNvbnRl
eHQpLgotICAgIGNvbnN0IEZvcm1hdHRpbmdDb250ZXh0Um9vdHMmIGZvcm1hdHRpbmdDb250ZXh0
Um9vdHMoKSBjb25zdCB7IHJldHVybiBtX2Zvcm1hdHRpbmdDb250ZXh0Um9vdHM7IH0KLQotcHJp
dmF0ZToKLSAgICBGb3JtYXR0aW5nQ29udGV4dFJvb3RzIG1fZm9ybWF0dGluZ0NvbnRleHRSb290
czsKLX07Ci0KLX0KLX0KLSNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438146</attachid>
            <date>2021-09-14 08:54:12 -0700</date>
            <delta_ts>2021-09-14 12:31:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229225-20210914085412.patch</filename>
            <type>text/plain</type>
            <size>18017</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmRmZDA5MDMyNzFmMTQw
MWZkNThmOGY1ZjczMzYxMGM4NzllNGJkZi4uYmVkYjczOTQ5MTE3YWI3MTExZjYzNzY4OTIzZTdi
ODJhM2Q3MTM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA5LTE0ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEludHJvZHVj
ZSBJbmxpbmVJbnZhbGlkYXRpb24vSW5saW5lRGFtYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkyMjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzgyMzI0MjI3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgcGFydGlhbCBpbmxpbmUg
bGF5b3V0LgorCisgICAgICAgIFRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGlzIGdvaW5nIHRv
IG9ubHkgc3VwcG9ydCBhIHNpbmdsZSB0eXBlIG9mIGRhbWFnZSAoY29udGVudCBjaGFuZ2VkLCBz
dHlsZSBjaGFuZ2VkIGV0Yykgb24gYSBzaW5nbGUgbGluZS4KKyAgICAgICAgQW55dGhpbmcgbW9y
ZSBpbnZvbHZlZCBlaXRoZXIKKyAgICAgICAgMS4gZm9sZHMgaW50byBhIGZ1bGwgZGFtYWdlIHR5
cGUgb2YgbGF5b3V0IChpLmUuIG5vIHJhbmdlIHN1cHBvcnQpIGUuZyBjaGFuZ2luZyBtdWx0aXBs
ZSBpbWFnZXMgb24gZGlmZmVyZW50IGxpbmVzIHRyaWdnZXJzIHZlcnRpY2FsIGFsaWdubWVudCBv
biBhbGwgdGhlIGxpbmVzCisgICAgICAgIDIuIHRyaWdnZXJzIHRoZSBsb3dlc3QgbGV2ZWwgdHlw
ZSBvZiBsYXlvdXQgZS5nLiBjaGFuZ2luZyBjb250ZW50IG9uIHRoZSBmaXJzdCBsaW5lIHdoaWxl
IHJlc2l6aW5nIHRoZSBjb250YWluaW5nIGJsb2NrIGZvbGRzIGludG8gTmVlZHNDb250ZW50VXBk
YXRlQW5kTGluZUxheW91dC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9pbnZhbGlkYXRp
b24vSW5saW5lRGFtYWdlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxp
bmVEYW1hZ2U6OnR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVE
YW1hZ2U6OmxpbmUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEYW1h
Z2U6OnNldERhbWFnZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEYW1h
Z2U6OnNldERhbWFnZWRMaW5lKToKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9pbnZhbGlkYXRpb24vSW5saW5lSW52YWxpZGF0aW9uLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUludmFsaWRhdGlvbjo6SW5saW5lSW52YWxpZGF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lSW52YWxpZGF0aW9uOjpzdHls
ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVJbnZhbGlkYXRpb246
OnRleHRJbnNlcnRlZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUludmFsaWRh
dGlvbjo6dGV4dFdpbGxCZVJlbW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxp
bmVJbnZhbGlkYXRpb246OmlubGluZUxldmVsQm94SW5zZXJ0ZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpJbmxpbmVJbnZhbGlkYXRpb246OmlubGluZUxldmVsQm94V2lsbEJlUmVtb3Zl
ZCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvaW52YWxpZGF0
aW9uL0lubGluZUludmFsaWRhdGlvbi5oOiBBZGRlZC4KKwogMjAyMS0wOS0xNCAgQWxhbiBCdWp0
YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBJbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXIgc2hvdWxkIG5vdCBvcGVyYXRlIG9uIHRoZSBnbG9iYWwgaW5saW5lIHJ1
biBsaXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGU3NzU0M2JmYmY4OTAyZjAzODM1ZDNlNWU3
NGYyMjIyNDg0ZDQ1MmIuLjE2ZTZmMmJjZDdhOTM1M2M1NGEzZDgwNmZkZWM5MWI3MjI1NDU4MTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMTIsNiArMTEyLDcgQEAgc2V0KFdlYkNvcmVfUFJJ
VkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvZmxleCIKICAgICAiJHtXRUJDT1JFX0RJUn0vbGF5b3V0L2Zsb2F0cyIK
ICAgICAiJHtXRUJDT1JFX0RJUn0vbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUiCisg
ICAgIiR7V0VCQ09SRV9ESVJ9L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW52YWxpZGF0aW9u
IgogICAgICIke1dFQkNPUkVfRElSfS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90
ZXh0IgogICAgICIke1dFQkNPUkVfRElSfS9sYXlvdXQvaW50ZWdyYXRpb24iCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L2xheW91dC9sYXlvdXR0cmVlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCAzOGE3ZDM0NzUw
NWQ5NDBjM2YwZTM0ZDNkNjk3MzM4MzQzNzljYTIyLi4zZDc4NWIwYmNjM2EwODYzYmM5YTY3ODU5
MjYzMDZkM2JjNzVhNWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTQ4OSw2ICsxNDg5LDcgQEAgbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwCiBs
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKIGxh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hWZXJ0aWNhbEFsaWdu
ZXIuY3BwCiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVUZXh0SXRlbS5j
cHAKK2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2ludmFsaWRhdGlvbi9JbmxpbmVJ
bnZhbGlkYXRpb24uY3BwCiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0L1Rl
eHRVdGlsLmNwcAogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQm94VHJlZS5j
cHAKIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGQyMTM0NGVjODIzMGNjM2IzMzgxNTBkNzM0ZDA5YTRmYTc1Y2Y1MTkuLjY5NThkYTc5NmI0ZTE0
YjQ0Mzg0ZjA3ZmM5YzhkZmRjMWJjY2NkZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM5MSw2ICszOTEsOCBAQAogCQkwRkZE
NDVBQTI0M0MzMDI3MDAwRDRCRUEgLyogU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGRDQ1QTcy
NDNCRjI1NzAwMEQ0QkVBIC8qIFNjcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkZENEQ2MTE4
NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGRDRENUYxODY1MUZBMzAwNTEy
RjZFIC8qIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxMEZCMDg0QjE0RTE1QzdFMDBBM0RCOTggLyog
UHVibGljVVJMTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTBGQjA4NEExNEUxNUM3RTAwQTNEQjk4IC8qIFB1YmxpY1VSTE1hbmFnZXIuaCAq
LzsgfTsKKwkJMTExRkExQzcyNkYwRjMwRjAwM0I4RjE2IC8qIElubGluZUludmFsaWRhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTExRkExQzUy
NkYwRjMwRjAwM0I4RjE2IC8qIElubGluZUludmFsaWRhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTExMUZBMUM4MjZGMEYzMEYwMDNCOEYx
NiAvKiBJbmxpbmVEYW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDExMUZBMUM2MjZGMEYzMEYwMDNCOEYxNiAvKiBJbmxpbmVEYW1hZ2UuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxMTMxMENGMjIw
QkE0QTMyMDA2NUE4RDAgLyogTGF5b3V0VHJlZUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDExMTAwRkQ3MjA5NTE0REYwMDgxQUE2QyAvKiBM
YXlvdXRUcmVlQnVpbGRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTExMzEwQ0YzMjBCQTRBMzcwMDY1QThEMCAvKiBMYXlvdXRSZXBsYWNlZEJv
eC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTExQzYx
NTYyMEFEMUFFMTAwNUI4MkZBIC8qIExheW91dFJlcGxhY2VkQm94LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTEzMTBDRjQyMEJBNEEzRDAwNjVB
OEQwIC8qIExheW91dEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxMTEwMEZDNzIwOTI3NjRDMDA4MUFBNkMgLyogTGF5b3V0SXRlcmF0b3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNjQ0
OSw2ICs2NDUxLDkgQEAKIAkJMTExMDBGRDcyMDk1MTRERjAwODFBQTZDIC8qIExheW91dFRyZWVC
dWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dFRyZWVCdWlsZGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTExMUM2MTU2MjBBRDFBRTEwMDVCODJGQSAvKiBMYXlvdXRSZXBs
YWNlZEJveC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRSZXBsYWNlZEJveC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxMTFDNjE1NzIwQUQxQUUxMDA1QjgyRkEgLyogTGF5b3V0UmVw
bGFjZWRCb3guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0UmVwbGFjZWRCb3guY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxMTFGQTFDNTI2RjBGMzBGMDAzQjhGMTYgLyog
SW5saW5lSW52YWxpZGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElu
bGluZUludmFsaWRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxMTFGQTFD
NjI2RjBGMzBGMDAzQjhGMTYgLyogSW5saW5lRGFtYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IElubGluZURhbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxMTFGQTFDOTI2RjBGNDM4MDAzQjhGMTYgLyogSW5saW5lSW52YWxpZGF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IElubGluZUludmFsaWRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTExMzQwOUQ3MjAzRTAzODAwMEM2NjkxNSAvKiBSZW5kZXJUcmVlQnVpbGRl
ckNvbnRpbnVhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUcmVlQnVpbGRlckNv
bnRpbnVhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTExMzQwOUQ4MjAz
RTAzODAwMEM2NjkxNSAvKiBSZW5kZXJUcmVlQnVpbGRlckNvbnRpbnVhdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW5kZXJUcmVlQnVpbGRlckNvbnRpbnVhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxMTNEMEI0RjFGOUZERDJCMDBGNjExQkIgLyogRnJhbWVWaWV3TGF5b3V0
Q29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MTE1LDYgKzE4MTIwLDE2IEBACiAJ
CQlwYXRoID0gY3NzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJMTExRkEx
QzMyNkYwRjJFNjAwM0I4RjE2IC8qIGludmFsaWRhdGlvbiAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMTExRkExQzYyNkYwRjMwRjAwM0I4RjE2IC8qIElu
bGluZURhbWFnZS5oICovLAorCQkJCTExMUZBMUM5MjZGMEY0MzgwMDNCOEYxNiAvKiBJbmxpbmVJ
bnZhbGlkYXRpb24uY3BwICovLAorCQkJCTExMUZBMUM1MjZGMEYzMEYwMDNCOEYxNiAvKiBJbmxp
bmVJbnZhbGlkYXRpb24uaCAqLywKKwkJCSk7CisJCQlwYXRoID0gaW52YWxpZGF0aW9uOworCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMTE1Q0ZBNjYyMDhBRjcyMDAwMUU2OTkx
IC8qIGxheW91dCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBA
IC0xODE4OCw2ICsxODIwMyw3IEBACiAJCTExNUNGQTlBMjA4QkMxNDAwMDFFNjk5MSAvKiBpbmxp
bmUgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTExMUZB
MUMzMjZGMEYyRTYwMDNCOEYxNiAvKiBpbnZhbGlkYXRpb24gKi8sCiAJCQkJNkZFN0REREQyMEVD
NkU4QjAwOEI1QjRFIC8qIHRleHQgKi8sCiAJCQkJNkZFMTk4MTMyMTc4Mzk3QjAwNDQ2RjA4IC8q
IElubGluZUNvbnRlbnRCcmVha2VyLmNwcCAqLywKIAkJCQk2RkUxOTgxNTIxNzgzOTdDMDA0NDZG
MDggLyogSW5saW5lQ29udGVudEJyZWFrZXIuaCAqLywKQEAgLTMyNzIxLDExICszMjczNywxMyBA
QAogCQkJCUNEMDYzRjgzMUUyM0ZBODkwMDgxMkJFMyAvKiBJbml0RGF0YVJlZ2lzdHJ5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMzA1OTI2NDFFMjdBM0FEMDBENTdDOTggLyogSW5saW5lQ2xhc3Np
Y1NjcmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkZFMTk4MTcyMTc4Mzk3QzAwNDQ2RjA4IC8q
IElubGluZUNvbnRlbnRCcmVha2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQkxMTFGQTFDODI2RjBG
MzBGMDAzQjhGMTYgLyogSW5saW5lRGFtYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxMTUxM0Qw
MzI2RDk4MUU4MDA0RDNGQUEgLyogSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2RjdDQTNDQTIwOEMyQjJFMDAyRjI5QUIgLyogSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ3QzRENTdEMjY1MDhCQ0IwMEM3QUIxRiAv
KiBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGRTYzNkU4
MjY0Nzk2MjkwMEYwOTUxRSAvKiBJbmxpbmVGb3JtYXR0aW5nUXVpcmtzLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxMTVDRkE3RTIwOEI4RTEwMDAxRTY5OTEgLyogSW5saW5lRm9ybWF0dGluZ1N0YXRl
LmggaW4gSGVhZGVycyAqLywKKwkJCQkxMTFGQTFDNzI2RjBGMzBGMDAzQjhGMTYgLyogSW5saW5l
SW52YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RkU3Q0ZBMjIxNzdFRUYyMDA1QjE1
NzMgLyogSW5saW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNzg5MTYxMTIwRDYwODAw
NjBFQ0U1IC8qIElubGluZUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RkFBRTcxMzI2
QTI4MTRCMDBFMDc1MDIgLyogSW5saW5lTGV2ZWxCb3guaCBpbiBIZWFkZXJzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvaW52
YWxpZGF0aW9uL0lubGluZURhbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvaW52YWxpZGF0aW9uL0lubGluZURhbWFnZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc0NTg2M2JhMjIzNDU5MGViNThiNTlkOTNhNGNkYjQ0YmY2MWM4MTkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9pbnZh
bGlkYXRpb24vSW5saW5lRGFtYWdlLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCisKKyNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7Citu
YW1lc3BhY2UgTGF5b3V0IHsKKworY2xhc3MgSW5saW5lRGFtYWdlIHsKKyAgICBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lOTElORShJbmxpbmVEYW1hZ2UpOworcHVibGljOgorICAgIElubGluZURh
bWFnZSgpID0gZGVmYXVsdDsKKworICAgIGVudW0gY2xhc3MgVHlwZSB7CisgICAgICAgIC8vIENv
bnRlbnQgY2hhbmdlZCBvciBzb21lIHN0eWxlIHByb3BlcnR5IHRoYXQgZHJpdmVzIHNvZnQgd3Jh
cCBvcHBvcnR1bml0aWVzIChlLmcuIGdvaW5nIGZyb20gd2hpdGUtc3BhY2U6IHByZSB0byBub3Jt
YWwpLgorICAgICAgICAvLyBUaGlzIHRlbGxzIHVzIHRvIHJlLXByb2Nlc3MgdGhlIGlubGluZSBj
b250ZW50IGFuZCBydW4gbGluZSBsYXlvdXQuCisgICAgICAgIE5lZWRzQ29udGVudFVwZGF0ZUFu
ZExpbmVMYXlvdXQsCisgICAgICAgIC8vIFNhbWUgY29udGVudCBidXQgZWl0aGVyIHRoZSBjb25z
dHJhaW50IG9yIHNvbWUgc3R5bGUgdGhhdCBtYXkgYWZmZWN0IGxpbmUgYnJlYWtpbmcgY2hhbmdl
ZCAoZS5nLiBmb250LXNpemUgb3IgY29udGFpbmluZyBibG9jayBzZXQgbmV3IGhvcml6b250YWwg
Y29uc3RyYWludCkuIAorICAgICAgICBOZWVkc0xpbmVMYXlvdXQsCisgICAgICAgIC8vIExpbmUg
YnJlYWtpbmcgcG9zaXRpb25zIGFyZSB0aGUgc2FtZSwgb25seSBoZWlnaHQgcmVsYXRlZCBzdHls
ZSBjaGFuZ2VkIChlLmcgaW1nJ3MgaGVpZ2h0IGNoYW5nZXMpLgorICAgICAgICBOZWVkc1ZlcnRp
Y2FsQWRqdXN0bWVudCwKKyAgICAgICAgLy8gTGluZSBicmVha2luZyBwb3NpdGlvbnMgYXJlIHRo
ZSBzYW1lLCBydW5zIG1heSBzaG93IHVwIGF0IGEgZGlmZmVyZW50IGhvcml6b250YWwgcG9zaXRp
b24gKGUuZy4gdGV4dC1hbGlnbiBjaGFuZ2VzKS4KKyAgICAgICAgTmVlZHNIb3Jpem9udGFsQWRq
dXN0bWVudCAKKyAgICB9OworICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGFtYWdl
VHlwZTsgfQorICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgZGFtYWdlIHJhbmdlIHdpdGgg
bXVsdGlwbGUsIGRpZmZlcmVudCBkYW1hZ2UgdHlwZXMuCisgICAgc3RkOjpvcHRpb25hbDxzaXpl
X3Q+IGxpbmUoKSBjb25zdCB7IHJldHVybiBtX2RhbWFnZWRMaW5lOyB9CisKK3ByaXZhdGU6Cisg
ICAgZnJpZW5kIGNsYXNzIElubGluZUludmFsaWRhdGlvbjsKKworICAgIHZvaWQgc2V0RGFtYWdl
VHlwZShUeXBlIHR5cGUpIHsgbV9kYW1hZ2VUeXBlID0gdHlwZTsgfQorICAgIHZvaWQgc2V0RGFt
YWdlZExpbmUoc2l6ZV90IGxpbmVJbmRleCkgeyBtX2RhbWFnZWRMaW5lID0gbGluZUluZGV4OyB9
CisKKyAgICBUeXBlIG1fZGFtYWdlVHlwZSB7IFR5cGU6Ok5lZWRzQ29udGVudFVwZGF0ZUFuZExp
bmVMYXlvdXQgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gbV9kYW1hZ2VkTGluZTsKK307
CisKK30KK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvaW52YWxpZGF0aW9uL0lubGluZUludmFsaWRhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9pbnZhbGlk
YXRpb24vSW5saW5lSW52YWxpZGF0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODQxMmRkNDE1MDI0Mzhl
NzFhNWE3OGExYjRkMGU0YzcwY2NiOWM5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvaW52YWxpZGF0aW9uL0lubGluZUlu
dmFsaWRhdGlvbi5jcHAKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJJbmxpbmVJbnZhbGlkYXRpb24uaCIKKworI2lmIEVOQUJMRShM
QVlPVVRfRk9STUFUVElOR19DT05URVhUKQorCisjaW5jbHVkZSAiSW5saW5lRGFtYWdlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBMYXlvdXQgeworCitJbmxpbmVJbnZhbGlk
YXRpb246OklubGluZUludmFsaWRhdGlvbihJbmxpbmVEYW1hZ2UmIGlubGluZURhbWFnZSkKKyAg
ICA6IG1faW5saW5lRGFtYWdlKGlubGluZURhbWFnZSkKK3sKK30KKwordm9pZCBJbmxpbmVJbnZh
bGlkYXRpb246OnN0eWxlQ2hhbmdlZChjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgUmVuZGVy
U3R5bGUmIG9sZFN0eWxlKQoreworICAgIFVOVVNFRF9QQVJBTShsYXlvdXRCb3gpOworICAgIFVO
VVNFRF9QQVJBTShvbGRTdHlsZSk7CisKKyAgICBtX2lubGluZURhbWFnZS5zZXREYW1hZ2VUeXBl
KElubGluZURhbWFnZTo6VHlwZTo6TmVlZHNDb250ZW50VXBkYXRlQW5kTGluZUxheW91dCk7Cit9
CisKK3ZvaWQgSW5saW5lSW52YWxpZGF0aW9uOjp0ZXh0SW5zZXJ0ZWQoY29uc3QgSW5saW5lVGV4
dEJveCYgdGV4dEJveCwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG9mZnNldCwgc3RkOjpvcHRpb25h
bDxzaXplX3Q+IGxlbmd0aCkKK3sKKyAgICBVTlVTRURfUEFSQU0odGV4dEJveCk7CisgICAgVU5V
U0VEX1BBUkFNKG9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKGxlbmd0aCk7CisKKyAgICBtX2lu
bGluZURhbWFnZS5zZXREYW1hZ2VUeXBlKElubGluZURhbWFnZTo6VHlwZTo6TmVlZHNDb250ZW50
VXBkYXRlQW5kTGluZUxheW91dCk7Cit9CisKK3ZvaWQgSW5saW5lSW52YWxpZGF0aW9uOjp0ZXh0
V2lsbEJlUmVtb3ZlZChjb25zdCBJbmxpbmVUZXh0Qm94JiB0ZXh0Qm94LCBzdGQ6Om9wdGlvbmFs
PHNpemVfdD4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gbGVuZ3RoKQoreworICAgIFVO
VVNFRF9QQVJBTSh0ZXh0Qm94KTsKKyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsKKyAgICBVTlVT
RURfUEFSQU0obGVuZ3RoKTsKKworICAgIG1faW5saW5lRGFtYWdlLnNldERhbWFnZVR5cGUoSW5s
aW5lRGFtYWdlOjpUeXBlOjpOZWVkc0NvbnRlbnRVcGRhdGVBbmRMaW5lTGF5b3V0KTsKK30KKwor
dm9pZCBJbmxpbmVJbnZhbGlkYXRpb246OmlubGluZUxldmVsQm94SW5zZXJ0ZWQoY29uc3QgQm94
JiBsYXlvdXRCb3gpCit7CisgICAgVU5VU0VEX1BBUkFNKGxheW91dEJveCk7CisKKyAgICBtX2lu
bGluZURhbWFnZS5zZXREYW1hZ2VUeXBlKElubGluZURhbWFnZTo6VHlwZTo6TmVlZHNDb250ZW50
VXBkYXRlQW5kTGluZUxheW91dCk7Cit9CisKK3ZvaWQgSW5saW5lSW52YWxpZGF0aW9uOjppbmxp
bmVMZXZlbEJveFdpbGxCZVJlbW92ZWQoY29uc3QgQm94JiBsYXlvdXRCb3gpCit7CisgICAgVU5V
U0VEX1BBUkFNKGxheW91dEJveCk7CisKKyAgICBtX2lubGluZURhbWFnZS5zZXREYW1hZ2VUeXBl
KElubGluZURhbWFnZTo6VHlwZTo6TmVlZHNDb250ZW50VXBkYXRlQW5kTGluZUxheW91dCk7Cit9
CisKK30KK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvaW52YWxpZGF0aW9uL0lubGluZUludmFsaWRhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvaW52YWxpZGF0
aW9uL0lubGluZUludmFsaWRhdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3NjMzYWQwNzc0ZjIwNDM2NDFh
Nzg5NWRkMGIyMjI1MjBhMWIyZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9pbnZhbGlkYXRpb24vSW5saW5lSW52YWxp
ZGF0aW9uLmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKK25hbWVzcGFjZSBMYXlvdXQgeworY2xhc3MgSW5saW5lRGFtYWdlOworCitjbGFzcyBJbmxp
bmVJbnZhbGlkYXRpb24geworcHVibGljOgorICAgIElubGluZUludmFsaWRhdGlvbihJbmxpbmVE
YW1hZ2UmKTsKKworICAgIHZvaWQgc3R5bGVDaGFuZ2VkKGNvbnN0IEJveCYsIGNvbnN0IFJlbmRl
clN0eWxlJiBvbGRTdHlsZSk7CisKKyAgICB2b2lkIHRleHRJbnNlcnRlZChjb25zdCBJbmxpbmVU
ZXh0Qm94Jiwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxzaXpl
X3Q+IGxlbmd0aCk7CisgICAgdm9pZCB0ZXh0V2lsbEJlUmVtb3ZlZChjb25zdCBJbmxpbmVUZXh0
Qm94Jiwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxzaXplX3Q+
IGxlbmd0aCk7CisKKyAgICB2b2lkIGlubGluZUxldmVsQm94SW5zZXJ0ZWQoY29uc3QgQm94Jik7
CisgICAgdm9pZCBpbmxpbmVMZXZlbEJveFdpbGxCZVJlbW92ZWQoY29uc3QgQm94Jik7CisKK3By
aXZhdGU6CisgICAgSW5saW5lRGFtYWdlJiBtX2lubGluZURhbWFnZTsKK307CisKK30KK30KKyNl
bmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>