<?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>59678</bug_id>
          
          <creation_ts>2011-04-28 01:52:19 -0700</creation_ts>
          <short_desc>Remove WML</short_desc>
          <delta_ts>2011-11-20 23:26:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>60262</blocked>
    
    <blocked>60646</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>mjs</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>394307</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-28 01:52:19 -0700</bug_when>
    <thetext>Remove WML</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394312</commentid>
    <comment_count>1</comment_count>
      <attachid>91450</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-28 02:04:06 -0700</bug_when>
    <thetext>Created attachment 91450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394315</commentid>
    <comment_count>2</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-28 02:20:22 -0700</bug_when>
    <thetext>Attachment 91450 did not build on qt:
Build output: http://queues.webkit.org/results/8513683</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394340</commentid>
    <comment_count>3</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-04-28 03:42:51 -0700</bug_when>
    <thetext>Attachment 91450 did not build on gtk:
Build output: http://queues.webkit.org/results/8511739</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394777</commentid>
    <comment_count>4</comment_count>
      <attachid>91561</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-28 14:51:49 -0700</bug_when>
    <thetext>Created attachment 91561
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394893</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-28 16:28:24 -0700</bug_when>
    <thetext>Committed r85256: &lt;http://trac.webkit.org/changeset/85256&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395447</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-04-29 12:46:53 -0700</bug_when>
    <thetext>You missed a line in Source/WebCore/DerivedSources.make:

$ grep wml Source/WebCore/DerivedSources.make
    $(WebCore)/wml \

Committed r85353.  &lt;http://trac.webkit.org/changeset/85353&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395482</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-29 13:59:33 -0700</bug_when>
    <thetext>&gt; You missed a line in Source/WebCore/DerivedSources.make:

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506729</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-20 23:26:16 -0800</bug_when>
    <thetext>This action was taken based on previous discussions on WebKit-dev, including:
https://lists.webkit.org/pipermail/webkit-dev/2011-April/016445.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91450</attachid>
            <date>2011-04-28 02:04:06 -0700</date>
            <delta_ts>2011-04-28 14:51:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59678-20110428020404.patch</filename>
            <type>text/plain</type>
            <size>713591</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDg1MTcx
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQt
MjggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgV01MCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTY3OAorCisgICAgICAgIFJlbW92ZSBX
TUwgY29uZmlndXJhdGlvbiBvcHRpb24gZnJvbSB0aGUgQ01ha2UgYnVpbGQgc3lzdGVtLgorCisg
ICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2U6CisgICAgICAgICogU291cmNl
L2NtYWtlL09wdGlvbnNXaW5DRS5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcu
aC5jbWFrZToKKwogMjAxMS0wNC0yNyAgWWkgU2hlbiAgPHlpLjQuc2hlbkBub2tpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCkluZGV4OiBT
b3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2Vjb25m
aWcuaC5jbWFrZQkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFr
ZQkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNiBAQAogI2RlZmluZSBFTkFCTEVfVE9VQ0hf
RVZFTlRTIEBFTkFCTEVfVE9VQ0hfRVZFTlRTX1ZBTFVFQAogI2RlZmluZSBFTkFCTEVfVklERU8g
QEVOQUJMRV9WSURFT19WQUxVRUAKICNkZWZpbmUgRU5BQkxFX1dFQl9TT0NLRVRTIEBFTkFCTEVf
V0VCX1NPQ0tFVFNfVkFMVUVACi0jZGVmaW5lIEVOQUJMRV9XTUwgQEVOQUJMRV9XTUxfVkFMVUVA
CiAjZGVmaW5lIEVOQUJMRV9XT1JLRVJTIEBFTkFCTEVfV09SS0VSU19WQUxVRUAKICNkZWZpbmUg
RU5BQkxFX1hIVE1MTVAgQEVOQUJMRV9YSFRNTE1QX1ZBTFVFQAogI2RlZmluZSBFTkFCTEVfWFBB
VEggQEVOQUJMRV9YUEFUSF9WQUxVRUAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2
aXNpb24gODUxNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDQtMjggIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmUgV01MCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01OTY3OAorCisgICAgICAgIFJlbW92ZSB0aGUgV01MIGNvbmZpZ3VyYXRpb24gb3B0
aW9uIGZyb20gdGhlIE1hYyBidWlsZCBzeXN0ZW0uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxMS0wNC0yNyAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtp
bmcgY29weSkKQEAgLTEyMiw3ICsxMjIsNiBAQCBFTkFCTEVfV0VCX1NPQ0tFVFMgPSAkKEVOQUJM
RV9XRUJfU09DS0VUCiBFTkFCTEVfV0VCX1NPQ0tFVFNfbWFjb3N4ID0gRU5BQkxFX1dFQl9TT0NL
RVRTOwogCiBFTkFCTEVfV0VCX1RJTUlORyA9IDsKLUVOQUJMRV9XTUwgPSA7CiAKIEVOQUJMRV9X
T1JLRVJTID0gJChFTkFCTEVfV09SS0VSU18kKFJFQUxfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxF
X1dPUktFUlNfbWFjb3N4ID0gRU5BQkxFX1dPUktFUlM7CkBAIC0xMzEsNCArMTMwLDQgQEAgRU5B
QkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBBVEggPSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNM
VCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNF
KSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RP
UllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU1BR0VfUkVTSVpFUikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5Q
VVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZG
TElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVO
QUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVO
QUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19E
T01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlH
Tl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV01MKSAk
KEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV8zRF9S
RU5ERVJJTkcpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJM
RV9EQVRBTElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlM
UykgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FE
KSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJ
TFRFUlMpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0Vf
UkVTSVpFUikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNI
KSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FVEVSX1RBRykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJf
QVBQTElDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9H
UkVTU19UQUcpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdf
QU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19C
SU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1Qp
ICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFC
TEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwkocmV2aXNpb24gODUxNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwyMzIgQEAKKzIwMTEtMDQtMjggIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmUgV01MCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01OTY3OAorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyBXTUwgZnJvbSBXZWJD
b3JlLiAgQWZ0ZXIgcmVtb3ZpbmcgV01MLCB0aGVyZSdzIGEKKyAgICAgICAgYnVuY2ggb2YgdHdp
c3RlZCBjb2RlIHRoYXQgY291bGQgYmUgdW50d2lzdGVkLCBidXQgdGhpcyBwYXRjaCBjb250YWlu
cworICAgICAgICBvbmx5IHRoZSBwdXJlbHkgbWVjaGFuaWNhbCBwYXJ0IG9mIHJlbW92aW5nIHRo
ZSBmZWF0dXJlLgorCisgICAgICAgIFRoZXJlJ3MgYmVlbiBhIGxvdCBvZiBkaXNjdXNzaW9uIG9u
IHdlYmtpdC1kZXYgYWJvdXQgd2hldGhlciB3ZSBzaG91bGQKKyAgICAgICAgcmVtb3ZlIFdNTC4g
IEluIGFkZGl0aW9uIHRvIHRob3NlIHRocmVhZHMsIHdlJ3ZlIGhhZCBhbiBpbmZvcm1hbCBwb2xs
CisgICAgICAgIG9mIHRoZSByZXZpZXdlcnMgYXMgd2VsbCBhcyBhbiBpbi1wZXJzb24gZGlzY3Vz
c2lvbiBhdCB0aGUgV2ViS2l0CisgICAgICAgIGNvbnRyaWJ1dG9yJ3MgbWVldGluZy4gIFJlbW92
aW5nIGFueSBmZWF0dXJlIGlzIGxpa2VseSB0byBtYWtlIHNvbWUKKyAgICAgICAgZm9sa3MgdW5o
YXBweSwgYnV0LCBvbiBiYWxhbmNlLCByZW1vdmluZyBXTUwgYXBwZWFycyB0byBiZSB0aGUgcmln
aHQKKyAgICAgICAgdGhpbmcgZm9yIHRoZSBwcm9qZWN0IHRvIGRvIGF0IHRoaXMgdGltZS4KKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIENvZGVHZW5lcmF0b3JzLnByaToK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFt
OgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6bGlua0F0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpz
dHlsZUZvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YWRq
dXN0UmVuZGVyU3R5bGUpOgorICAgICAgICAqIGNzcy93bWwuY3NzOiBSZW1vdmVkLgorICAgICAg
ICAqIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01JbXBs
ZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OmNyZWF0ZUVsZW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzTWVkaWFEb2N1bWVudCk6CisgICAgICAgICog
ZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20vSW5wdXRFbGVtZW50Lmg6CisgICAgICAg
ICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6dG9JbnB1dEVsZW1lbnQp
OgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9PcHRpb25FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OmlzT3B0aW9uRWxlbWVudCk6CisgICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuaDoKKyAgICAg
ICAgKiBkb20vT3B0aW9uR3JvdXBFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvT3B0
aW9uR3JvdXBFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmlzT3B0aW9uR3JvdXBFbGVtZW50
KToKKyAgICAgICAgKiBkb20vU2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
b1NlbGVjdEVsZW1lbnQpOgorICAgICAgICAqIGRvbS9TZWxlY3RFbGVtZW50Lmg6CisgICAgICAg
ICogZG9tL1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dDo6YXR0YWNoKToKKyAgICAg
ICAgKiBkb20vWE1MRG9jdW1lbnRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MRG9j
dW1lbnRQYXJzZXI6Omluc2VydEVycm9yTWVzc2FnZUJsb2NrKToKKyAgICAgICAgKiBkb20vWE1M
RG9jdW1lbnRQYXJzZXIuaDoKKyAgICAgICAgKiBkb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTERvY3VtZW50UGFyc2VyOjppbnRlcm5hbFN1YnNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpnZXRFbnRpdHlIYW5kbGVyKToKKyAgICAgICAgKiBkb20v
WE1MRG9jdW1lbnRQYXJzZXJRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBh
cnNlcjo6cGFyc2UpOgorICAgICAgICAoV2ViQ29yZTo6WE1MRG9jdW1lbnRQYXJzZXI6OnBhcnNl
RHRkKToKKyAgICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmNhbkhhdmVDaGlsZHJlbkZvckVkaXRpbmcpOgorICAgICAgICAqIGZlYXR1cmVzLnByaToK
KyAgICAgICAgKiBoaXN0b3J5L0JhY2tGb3J3YXJkTGlzdC5oOgorICAgICAgICAqIGhpc3Rvcnkv
QmFja0ZvcndhcmRMaXN0SW1wbC5jcHA6CisgICAgICAgICogaGlzdG9yeS9CYWNrRm9yd2FyZExp
c3RJbXBsLmg6CisgICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZUNhY2hlOjpjYW5DYWNoZVBhZ2VDb250YWluaW5nVGhpc0ZyYW1lKToKKyAgICAg
ICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1lc3NhZ2VTb3VyY2VWYWx1ZSk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUudG9TdHJpbmcpOgorICAgICAgICAq
IGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0JhY2tGb3J3YXJk
TG9hZFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnRyYW5zaXRpb25Ub0Nv
bW1pdHRlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2hvdWxkUmVsb2FkKToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVt
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkSXRlbSk6CisgICAgICAgICog
bG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaDoKKyAgICAgICAgKiBsb2FkZXIvSGlzdG9yeUNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRyb2xsZXI6OnJlc3RvcmVE
b2N1bWVudFN0YXRlKToKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sOiBSZW1vdmVkLgorICAg
ICAgICAqIG1hbnVhbC10ZXN0cy93bWwvU3RhcnRUZXN0cy53bWw6IFJlbW92ZWQuCisgICAgICAg
ICogbWFudWFsLXRlc3RzL3dtbC9hLWJyLWVsZW1lbnQud21sOiBSZW1vdmVkLgorICAgICAgICAq
IG1hbnVhbC10ZXN0cy93bWwvYS1lbGVtZW50LndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBtYW51
YWwtdGVzdHMvd21sL2EtaW1nLWVsZW1lbnQud21sOiBSZW1vdmVkLgorICAgICAgICAqIG1hbnVh
bC10ZXN0cy93bWwvYWNjZXNzLXRhcmdldC53bWw6IFJlbW92ZWQuCisgICAgICAgICogbWFudWFs
LXRlc3RzL3dtbC9hbmNob3ItYnItZWxlbWVudC53bWw6IFJlbW92ZWQuCisgICAgICAgICogbWFu
dWFsLXRlc3RzL3dtbC9hbmNob3ItZWxlbWVudC53bWw6IFJlbW92ZWQuCisgICAgICAgICogbWFu
dWFsLXRlc3RzL3dtbC9hbmNob3ItaW1nLWVsZW1lbnQud21sOiBSZW1vdmVkLgorICAgICAgICAq
IG1hbnVhbC10ZXN0cy93bWwvY2FyZC1uZXdjb250ZXh0LWF0dHIud21sOiBSZW1vdmVkLgorICAg
ICAgICAqIG1hbnVhbC10ZXN0cy93bWwvY2FyZC1vbmVudGVyYmFja3dhcmQud21sOiBSZW1vdmVk
LgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvY2FyZC1vbmVudGVyZm9yd2FyZC53bWw6IFJl
bW92ZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9jYXJkLW9udGltZXIud21sOiBSZW1v
dmVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvZGVjay1hY2Nlc3MtY29udHJvbC53bWw6
IFJlbW92ZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9pbnB1dC1mb3JtYXQud21sOiBS
ZW1vdmVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvb25ldmVudC1nby53bWw6IFJlbW92
ZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50LW5vb3Aud21sOiBSZW1vdmVk
LgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvb25ldmVudC1wcmV2LndtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL29uZXZlbnQtcmVmcmVzaC53bWw6IFJlbW92ZWQu
CisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50LXNoYWRvdy53bWw6IFJlbW92ZWQu
CisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9yZXNvdXJjZXM6IFJlbW92ZWQuCisgICAgICAg
ICogbWFudWFsLXRlc3RzL3dtbC9yZXNvdXJjZXMvc21pbGV5LnBuZzogUmVtb3ZlZC4KKyAgICAg
ICAgKiBtYW51YWwtdGVzdHMvd21sL3NlbGVjdC1lbGVtZW50LndtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBtYW51YWwtdGVzdHMvd21sL3NlbGVjdC1vbnBpY2stZXZlbnQtY3Jhc2gud21sOiBSZW1v
dmVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvc2VsZWN0LW9ucGljay1ldmVudC53bWw6
IFJlbW92ZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9zZXR2YXItZWxlbWVudC53bWw6
IFJlbW92ZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC90YXJnZXRkZWNrLndtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL3Rhc2stZ28taW4tYW5jaG9yLndtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL3Rhc2stcHJldi1pbi1hbmNob3Iu
d21sOiBSZW1vdmVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvdGFzay1yZWZyZXNoLWlu
LWFuY2hvci53bWw6IFJlbW92ZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC90ZW1wbGF0
ZS1nby53bWw6IFJlbW92ZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC90ZW1wbGF0ZS1v
bnRpbWVyLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL3RpbWVyLndt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL3ZhcmlhYmxlLXN1YnN0aXR1
dGlvbi53bWw6IFJlbW92ZWQuCisgICAgICAgICogcGFnZS9Db25zb2xlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KToKKyAgICAgICAgKiBw
YWdlL0NvbnNvbGUuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lOjpGcmFtZSk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKiBw
YWdlL1BhZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmluaXRpYWxpemVTdXBwb3J0ZWROb25JbWFnZU1pbWVUeXBlcyk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbToKKyAgICAgICAgKC1bV2Vi
Q29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZSBjb25uZWN0aW9uOmRpZFJlY2VpdmVSZXNwb25z
ZTpdKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2luQ0UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6aW5pdE1JTUVUeXBlRW50ZW5zaW9uTWFwKToKKyAgICAgICAg
KiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0
UmVzdWx0OjphbHREaXNwbGF5U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1
bHQ6OmFic29sdXRlSW1hZ2VVUkwpOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6
YWJzb2x1dGVMaW5rVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmlzTGl2
ZUxpbmspOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCdXR0b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQnV0dG9u
Ojp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZpZWxkc2V0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpZWxkc2V0OjpmaW5kTGVnZW5kKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySW1hZ2U6OnVwZGF0ZUFsdFRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc0xlZ2VuZCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6Om9mZnNldFBhcmVudCk6CisgICAgICAgICogd21s
OiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxBRWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogd21sL1dNTEFFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTEFjY2Vz
c0VsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxBY2Nlc3NFbGVtZW50Lmg6
IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTEFuY2hvckVsZW1lbnQuY3BwOiBSZW1vdmVkLgor
ICAgICAgICAqIHdtbC9XTUxBbmNob3JFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogd21s
L1dNTEF0dHJpYnV0ZU5hbWVzLmluOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxCUkVsZW1l
bnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxCUkVsZW1lbnQuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiB3bWwvV01MQ2FyZEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdt
bC9XTUxDYXJkRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxEb0VsZW1lbnQu
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxEb0VsZW1lbnQuaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3bWwvV01MRG9jdW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxE
b2N1bWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxFbGVtZW50LmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiB3bWwvV01MRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9X
TUxFcnJvckhhbmRsaW5nLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MRXJyb3JIYW5k
bGluZy5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxFdmVudEhhbmRsaW5nRWxlbWVudC5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTEV2ZW50SGFuZGxpbmdFbGVtZW50Lmg6IFJl
bW92ZWQuCisgICAgICAgICogd21sL1dNTEZpZWxkU2V0RWxlbWVudC5jcHA6IFJlbW92ZWQuCisg
ICAgICAgICogd21sL1dNTEZpZWxkU2V0RWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdt
bC9XTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxG
b3JtQ29udHJvbEVsZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MR29FbGVtZW50
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MR29FbGVtZW50Lmg6IFJlbW92ZWQuCisg
ICAgICAgICogd21sL1dNTEltYWdlRWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd21s
L1dNTEltYWdlRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxJbWFnZUxvYWRl
ci5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTEltYWdlTG9hZGVyLmg6IFJlbW92ZWQu
CisgICAgICAgICogd21sL1dNTElucHV0RWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
d21sL1dNTElucHV0RWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxJbnNlcnRl
ZExlZ2VuZEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxJbnNlcnRlZExl
Z2VuZEVsZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MSW50cmluc2ljRXZlbnQu
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxJbnRyaW5zaWNFdmVudC5oOiBSZW1vdmVk
LgorICAgICAgICAqIHdtbC9XTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuY3BwOiBSZW1vdmVkLgor
ICAgICAgICAqIHdtbC9XTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuaDogUmVtb3ZlZC4KKyAgICAg
ICAgKiB3bWwvV01MTWV0YUVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxN
ZXRhRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxOb29wRWxlbWVudC5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTE5vb3BFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAg
ICAgICogd21sL1dNTE9uRXZlbnRFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwv
V01MT25FdmVudEVsZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MT3B0R3JvdXBF
bGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MT3B0R3JvdXBFbGVtZW50Lmg6
IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTE9wdGlvbkVsZW1lbnQuY3BwOiBSZW1vdmVkLgor
ICAgICAgICAqIHdtbC9XTUxPcHRpb25FbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogd21s
L1dNTFBFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MUEVsZW1lbnQuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MUGFnZVN0YXRlLmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiB3bWwvV01MUGFnZVN0YXRlLmg6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTFBvc3Rm
aWVsZEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxQb3N0ZmllbGRFbGVt
ZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTFByZXZFbGVtZW50LmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiB3bWwvV01MUHJldkVsZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3
bWwvV01MUmVmcmVzaEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxSZWZy
ZXNoRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxTZWxlY3RFbGVtZW50LmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MU2VsZWN0RWxlbWVudC5oOiBSZW1vdmVkLgor
ICAgICAgICAqIHdtbC9XTUxTZXR2YXJFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3
bWwvV01MU2V0dmFyRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxUYWJsZUVs
ZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxUYWJsZUVsZW1lbnQuaDogUmVt
b3ZlZC4KKyAgICAgICAgKiB3bWwvV01MVGFnTmFtZXMuaW46IFJlbW92ZWQuCisgICAgICAgICog
d21sL1dNTFRhc2tFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MVGFza0Vs
ZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MVGVtcGxhdGVFbGVtZW50LmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MVGVtcGxhdGVFbGVtZW50Lmg6IFJlbW92ZWQuCisg
ICAgICAgICogd21sL1dNTFRpbWVyRWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd21s
L1dNTFRpbWVyRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxWYXJpYWJsZXMu
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxWYXJpYWJsZXMuaDogUmVtb3ZlZC4KKwog
MjAxMS0wNC0yOCAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgU2ltb24gRnJhc2VyLgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDg1
MTY2KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTE5MTgsNDcgKzE5MTgsNiBAQCBJRiAoRU5BQkxFX1ZJREVPX1RSQUNLKQogICAgICkKIEVORElG
KCkKIAotSUYgKEVOQUJMRV9XTUwpCi0gICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCi0g
ICAgICAgIHdtbC9XTUxBRWxlbWVudC5jcHAKLSAgICAgICAgd21sL1dNTEFjY2Vzc0VsZW1lbnQu
Y3BwCi0gICAgICAgIHdtbC9XTUxBbmNob3JFbGVtZW50LmNwcAotICAgICAgICB3bWwvV01MQlJF
bGVtZW50LmNwcAotICAgICAgICB3bWwvV01MQ2FyZEVsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9X
TUxEb0VsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxEb2N1bWVudC5jcHAKLSAgICAgICAgd21s
L1dNTEVsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxFcnJvckhhbmRsaW5nLmNwcAotICAgICAg
ICB3bWwvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxGaWVsZFNl
dEVsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCi0gICAg
ICAgIHdtbC9XTUxHb0VsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxJbWFnZUVsZW1lbnQuY3Bw
Ci0gICAgICAgIHdtbC9XTUxJbWFnZUxvYWRlci5jcHAKLSAgICAgICAgd21sL1dNTElucHV0RWxl
bWVudC5jcHAKLSAgICAgICAgd21sL1dNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAKLSAgICAg
ICAgd21sL1dNTEludHJpbnNpY0V2ZW50LmNwcAotICAgICAgICB3bWwvV01MSW50cmluc2ljRXZl
bnRIYW5kbGVyLmNwcAotICAgICAgICB3bWwvV01MTWV0YUVsZW1lbnQuY3BwCi0gICAgICAgIHdt
bC9XTUxOb29wRWxlbWVudC5jcHAKLSAgICAgICAgd21sL1dNTE9uRXZlbnRFbGVtZW50LmNwcAot
ICAgICAgICB3bWwvV01MUEVsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxPcHRHcm91cEVsZW1l
bnQuY3BwCi0gICAgICAgIHdtbC9XTUxPcHRpb25FbGVtZW50LmNwcAotICAgICAgICB3bWwvV01M
UGFnZVN0YXRlLmNwcAotICAgICAgICB3bWwvV01MUG9zdGZpZWxkRWxlbWVudC5jcHAKLSAgICAg
ICAgd21sL1dNTFByZXZFbGVtZW50LmNwcAotICAgICAgICB3bWwvV01MUmVmcmVzaEVsZW1lbnQu
Y3BwCi0gICAgICAgIHdtbC9XTUxTZWxlY3RFbGVtZW50LmNwcAotICAgICAgICB3bWwvV01MU2V0
dmFyRWxlbWVudC5jcHAKLSAgICAgICAgd21sL1dNTFRhYmxlRWxlbWVudC5jcHAKLSAgICAgICAg
d21sL1dNTFRhc2tFbGVtZW50LmNwcAotICAgICAgICB3bWwvV01MVGVtcGxhdGVFbGVtZW50LmNw
cAotICAgICAgICB3bWwvV01MVGltZXJFbGVtZW50LmNwcAotICAgICAgICB3bWwvV01MVmFyaWFi
bGVzLmNwcAotICAgICkKLUVORElGKCkKLQogSUYgKEVOQUJMRV9QUk9HUkVTU19UQUcpCiAgICAg
TElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcApAQCAtMjEyOCwxMyArMjA4Nyw2IEBAIElGIChF
TkFCTEVfU1ZHKQogRU5ESUYgKCkKIAogCi1HRU5FUkFURV9ET01fTkFNRVMoV01MICR7V0VCQ09S
RV9ESVJ9L3dtbC9XTUxBdHRyaWJ1dGVOYW1lcy5pbiAke1dFQkNPUkVfRElSfS93bWwvV01MVGFn
TmFtZXMuaW4gIiR7V01MX0ZFQVRVUkVTfSIpCi1MSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMg
JHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1dNTE5hbWVzLmNwcCkKLUlGIChFTkFCTEVf
V01MKQotICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19X
RUJDT1JFX0RJUn0vV01MRWxlbWVudEZhY3RvcnkuY3BwKQotRU5ESUYgKCkKLQotCiBHRU5FUkFU
RV9ET01fTkFNRVMoWExpbmsgJHtXRUJDT1JFX0RJUn0vc3ZnL3hsaW5rYXR0cnMuaW4pCiBMSVNU
KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1hM
aW5rTmFtZXMuY3BwKQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCShyZXZpc2lv
biA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQkod29ya2luZyBj
b3B5KQpAQCAtMTIsOCArMTIsNiBAQCBDT05GSUcoc3RhbmRhbG9uZV9wYWNrYWdlKSB7CiAjIyBE
ZXJpdmVkIHNvdXJjZSBnZW5lcmF0b3JzCiBNQVRITUxfTkFNRVMgPSAkJFBXRC9tYXRobWwvbWF0
aHRhZ3MuaW4KIAotV01MX05BTUVTID0gJCRQV0Qvd21sL1dNTFRhZ05hbWVzLmluCi0KIFNWR19O
QU1FUyA9ICQkUFdEL3N2Zy9zdmd0YWdzLmluCiAKIFhMSU5LX05BTUVTID0gJCRQV0Qvc3ZnL3hs
aW5rYXR0cnMuaW4KQEAgLTU2MywxNSArNTYxLDYgQEAgbWF0aG1sbmFtZXMuY29tbWFuZHMgPSBw
ZXJsIC1JJCRQV0QvYmluZAogbWF0aG1sbmFtZXMud2tFeHRyYVNvdXJjZXMgPSAkJHtXQ19HRU5F
UkFURURfU09VUkNFU19ESVJ9L01hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCAKIGFkZEV4dHJhQ29t
cGlsZXIobWF0aG1sbmFtZXMpCiAKLWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9XTUw9MSkgewot
ICAgIHdtbG5hbWVzLm91dHB1dCA9ICQke1dDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUn0vV01MTmFt
ZXMuY3BwCi0gICAgd21sbmFtZXMuaW5wdXQgPSBXTUxfTkFNRVMKLSAgICB3bWxuYW1lcy53a1Nj
cmlwdCA9ICQkUFdEL2RvbS9tYWtlX25hbWVzLnBsCi0gICAgd21sbmFtZXMuY29tbWFuZHMgPSBw
ZXJsIC1JJCRQV0QvYmluZGluZ3Mvc2NyaXB0cyAkJHdtbG5hbWVzLndrU2NyaXB0IC0tdGFncyAk
JFBXRC93bWwvV01MVGFnTmFtZXMuaW4gLS1hdHRycyAkJFBXRC93bWwvV01MQXR0cmlidXRlTmFt
ZXMuaW4gLS1leHRyYURlZmluZXMgXCIkJHtERUZJTkVTfVwiIC0tcHJlcHJvY2Vzc29yIFwiJCR7
UU1BS0VfTU9DfSAtRVwiIC0tZmFjdG9yeSAkJHdyYXBwZXJGYWN0b3J5QXJnIC0tb3V0cHV0RGly
ICQkV0NfR0VORVJBVEVEX1NPVVJDRVNfRElSCi0gICAgd21sbmFtZXMud2tFeHRyYVNvdXJjZXMg
PSAkJHtXQ19HRU5FUkFURURfU09VUkNFU19ESVJ9L1dNTEVsZW1lbnRGYWN0b3J5LmNwcAotICAg
IGFkZEV4dHJhQ29tcGlsZXIod21sbmFtZXMpCi19Ci0KICMgR0VORVJBVE9SIDUtQzoKIHN2Z25h
bWVzLm91dHB1dCA9ICQke1dDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUn0vU1ZHTmFtZXMuY3BwCiBz
dmduYW1lcy5pbnB1dCA9IFNWR19OQU1FUwpJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ2Miw4ICs0NjIsNiBAQAogI2luY2x1ZGUgIkpTWFBhdGhOU1Jl
c29sdmVyLmNwcCIKICNpbmNsdWRlICJKU1hQYXRoUmVzdWx0LmNwcCIKICNpbmNsdWRlICJKU1hT
TFRQcm9jZXNzb3IuY3BwIgotI2luY2x1ZGUgIldNTEVsZW1lbnRGYWN0b3J5LmNwcCIKLSNpbmNs
dWRlICJXTUxOYW1lcy5jcHAiCiAjaW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHNEYXRhLmNw
cCIKIAogLy8gT24gTVNWQywgaW5jbHVkaW5nIFN0YXRpY0NvbnN0cnVjdG9ycy5oIGNhdXNlcyBh
bGwgZ2xvYmFsIG9iamVjdHMgbm90IHRvIGJlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQkod29ya2luZyBjb3B5KQpAQCAtNTY3LDggKzU2Nyw2IEBAIGFsbCA6IFwKICAgICBIVE1M
RWxlbWVudEZhY3RvcnkuY3BwIFwKICAgICBIVE1MRW50aXR5VGFibGUuY3BwIFwKICAgICBIVE1M
TmFtZXMuY3BwIFwKLSAgICBXTUxFbGVtZW50RmFjdG9yeS5jcHAgXAotICAgIFdNTE5hbWVzLmNw
cCBcCiAgICAgSlNTVkdFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwIFwKICAgICBTVkdFbGVtZW50
RmFjdG9yeS5jcHAgXAogICAgIFNWR05hbWVzLmNwcCBcCkBAIC03MzUsMTAgKzczMyw2IEBAIGlm
ZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfU1ZHLCQoRkVBVFVSRV8KICAgICBVU0VSX0FHRU5UX1NU
WUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTKSAkKFdlYkNvcmUpL2Nzcy9z
dmcuY3NzIAogZW5kaWYKIAotaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9XTUwsJChGRUFUVVJF
X0RFRklORVMpKSwgRU5BQkxFX1dNTCkKLSAgICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAk
KFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTKSAkKFdlYkNvcmUpL2Nzcy93bWwuY3NzCi1lbmRpZgot
CiBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX01BVEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBF
TkFCTEVfTUFUSE1MKQogICAgIFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VO
VF9TVFlMRV9TSEVFVFMpICQoV2ViQ29yZSkvY3NzL21hdGhtbC5jc3MKIGVuZGlmCkBAIC04NTAs
MjUgKzg0NCw2IEBAIFhMaW5rTmFtZXMuY3BwIDogZG9tL21ha2VfbmFtZXMucGwgc3ZnL3gKIAlw
ZXJsIC1JICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLWF0dHJzICQoV2ViQ29yZSkv
c3ZnL3hsaW5rYXR0cnMuaW4KIAogIyAtLS0tLS0tLQotCi0jIFdNTCB0YWcgYW5kIGF0dHJpYnV0
ZSBuYW1lcywgYW5kIGVsZW1lbnQgZmFjdG9yeQotCi1pZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxF
X1dNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfV01MKQotCi1XTUxFbGVtZW50RmFjdG9y
eS5jcHAgV01MTmFtZXMuY3BwIDogZG9tL21ha2VfbmFtZXMucGwgd21sL1dNTFRhZ05hbWVzLmlu
IHdtbC9XTUxBdHRyaWJ1dGVOYW1lcy5pbgotCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0tdGFncyAkKFdlYkNvcmUpL3dtbC9XTUxUYWdOYW1lcy5pbiAtLWF0dHJzICQo
V2ViQ29yZSkvd21sL1dNTEF0dHJpYnV0ZU5hbWVzLmluIC0tZmFjdG9yeSAtLXdyYXBwZXJGYWN0
b3J5Ci0KLWVsc2UKLQotV01MRWxlbWVudEZhY3RvcnkuY3BwIDoKLQllY2hvID4gJEAKLQotV01M
TmFtZXMuY3BwIDoKLQllY2hvID4gJEAKLQotZW5kaWYKLQotIyAtLS0tLS0tLQogIAogIyBNYXRo
TUwgdGFnIGFuZCBhdHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZhY3RvcnkKIApJbmRleDog
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTQwMywxOSArNDAzLDYgQEAgd2ViY29yZV9j
cHBmbGFncyArPSAtREVOQUJMRV9TSEFSRURfV09SSwogZW5kaWYKIAogIyAtLS0tCi0jIFdNTCBT
dXBwb3J0Ci0jIC0tLS0KLWlmIEVOQUJMRV9XTUwKLUZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVf
V01MPTEKLXdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfV01MPTEKLQotIyBXTUwgdGFnIGFu
ZCBhdHRyaWJ1dGUgbmFtZXMKLURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvV01MTmFtZXMuY3BwOiBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL1dNTEVsZW1lbnRGYWN0b3J5LmNwcAotRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9XTUxFbGVtZW50RmFjdG9yeS5jcHA6ICQoV2ViQ29yZSkvZG9tL21ha2VfbmFt
ZXMucGwgJChXZWJDb3JlKS93bWwvV01MVGFnTmFtZXMuaW4gJChXZWJDb3JlKS93bWwvV01MQXR0
cmlidXRlTmFtZXMuaW4KLQkkKEFNX1ZfR0VOKSQoUEVSTCkgLUkkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS10YWdzICQoV2ViQ29yZSkvd21sL1dNTFRhZ05hbWVzLmluIC0tYXR0cnMg
JChXZWJDb3JlKS93bWwvV01MQXR0cmlidXRlTmFtZXMuaW4gLS1mYWN0b3J5IC0td3JhcHBlckZh
Y3RvcnkgLS1vdXRwdXREaXIgIiQoR0VOU09VUkNFU19XRUJDT1JFKSIKLWVuZGlmICMgRU5EIEVO
QUJMRV9XTUwKLQotIyAtLS0tCiAjIFdDU1MgU3VwcG9ydAogIyAtLS0tCiBpZiBFTkFCTEVfV0NT
UwpJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiA4NTE2NikKKysr
IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTM1
NTEsNDIgKzM1NTEsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3dl
YnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UuaCBcCiAJU291cmNlL1dlYkNvcmUv
d2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCBc
Ci0JU291cmNlL1dlYkNvcmUvd21sL1dNTEFjY2Vzc0VsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2Vi
Q29yZS93bWwvV01MQUVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MQW5jaG9y
RWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dtbC9XTUxCUkVsZW1lbnQuY3BwIFwKLQlT
b3VyY2UvV2ViQ29yZS93bWwvV01MQ2FyZEVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93
bWwvV01MRG9jdW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MRG9FbGVtZW50LmNw
cCBcCi0JU291cmNlL1dlYkNvcmUvd21sL1dNTEVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29y
ZS93bWwvV01MRXJyb3JIYW5kbGluZy5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dtbC9XTUxFdmVu
dEhhbmRsaW5nRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dtbC9XTUxGaWVsZFNldEVs
ZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MRm9ybUNvbnRyb2xFbGVtZW50LmNw
cCBcCi0JU291cmNlL1dlYkNvcmUvd21sL1dNTEdvRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJD
b3JlL3dtbC9XTUxJbWFnZUVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1h
Z2VMb2FkZXIuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MSW5wdXRFbGVtZW50LmNwcCBc
Ci0JU291cmNlL1dlYkNvcmUvd21sL1dNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAgXAotCVNv
dXJjZS9XZWJDb3JlL3dtbC9XTUxJbnRyaW5zaWNFdmVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3Jl
L3dtbC9XTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwv
V01MTWV0YUVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MTm9vcEVsZW1lbnQu
Y3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MT25FdmVudEVsZW1lbnQuY3BwIFwKLQlTb3Vy
Y2UvV2ViQ29yZS93bWwvV01MT3B0R3JvdXBFbGVtZW50LmNwcCBcCi0JU291cmNlL1dlYkNvcmUv
d21sL1dNTE9wdGlvbkVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MUGFnZVN0
YXRlLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvd21sL1dNTFBFbGVtZW50LmNwcCBcCi0JU291cmNl
L1dlYkNvcmUvd21sL1dNTFBvc3RmaWVsZEVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93
bWwvV01MUHJldkVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MUmVmcmVzaEVs
ZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MU2VsZWN0RWxlbWVudC5jcHAgXAot
CVNvdXJjZS9XZWJDb3JlL3dtbC9XTUxTZXR2YXJFbGVtZW50LmNwcCBcCi0JU291cmNlL1dlYkNv
cmUvd21sL1dNTFRhYmxlRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYXNr
RWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUZW1wbGF0ZUVsZW1lbnQuY3Bw
IFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MVGltZXJFbGVtZW50LmNwcCBcCi0JU291cmNlL1dl
YkNvcmUvd21sL1dNTFZhcmlhYmxlcy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvQWJz
dHJhY3RXb3JrZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Fic3RyYWN0V29ya2Vy
LmggXAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAg
XApAQCAtNDA3MSwxNSArNDAzNSw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiBlbmRp
ZiAjIEVORCBFTkFCTEVfWFBBVEgKIAogIyAtLS0tCi0jIFdNTCBTdXBwb3J0Ci0jIC0tLS0KLWlm
IEVOQUJMRV9XTUwKLXdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCi0JRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9XTUxFbGVtZW50RmFjdG9yeS5jcHAgXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
V01MTmFtZXMuY3BwCi1lbmRpZiAjIEVORCBFTkFCTEVfV01MCi0KLSMgLS0tLQogIyBTVkcgU3Vw
cG9ydAogIwogIyBGSVhNRTogYWxsb3cgYSBtb3JlIGZpbmUtZ3JhaW5lZCBpbmNsdXNpb24vZ2Vu
ZXJhdGlvbiBvZiBzb3VyY2VzIHBlciBTVkcgZmVhdHVyZQpJbmRleDogU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQko
cmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcg
Y29weSkKQEAgLTU5NDksODAgKzU5NDksNiBAQAogICAgICAgICAgICAgJ3dlYnNvY2tldHMvV2Vi
U29ja2V0SGFuZHNoYWtlUmVzcG9uc2UuaCcsCiAgICAgICAgICAgICAnd2Vic29ja2V0cy9Xb3Jr
ZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAnLAogICAgICAgICAgICAgJ3dlYnNvY2tl
dHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCcsCi0gICAgICAgICAgICAjIEZJ
WE1FOiBGb3Igc29tZSByZWFzb24gaW5jbHVkaW5nIHRoZXNlIGZpbGVzIGFuZCBleGNsdWRpbmcg
dGhlbQotICAgICAgICAgICAgIyBpbiB0aGUgR1lQIGZpbGUgY2F1c2VzIEdZUCBub3QgdG8gY3Jl
YXRlIGEgdmFsaWQgWGNvZGUgcHJvamVjdC4KLSAgICAgICAgICAgICMgJ3dtbC9XTUxBRWxlbWVu
dC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTEFFbGVtZW50LmgnLAotICAgICAgICAgICAg
IyAnd21sL1dNTEFjY2Vzc0VsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxBY2Nl
c3NFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTEFuY2hvckVsZW1lbnQuY3BwJywK
LSAgICAgICAgICAgICMgJ3dtbC9XTUxBbmNob3JFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAn
d21sL1dNTEJSRWxlbWVudC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTEJSRWxlbWVudC5o
JywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxDYXJkRWxlbWVudC5jcHAnLAotICAgICAgICAgICAg
IyAnd21sL1dNTENhcmRFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTERvRWxlbWVu
dC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTERvRWxlbWVudC5oJywKLSAgICAgICAgICAg
ICMgJ3dtbC9XTUxEb2N1bWVudC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTERvY3VtZW50
LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTEVsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMg
J3dtbC9XTUxFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTEVycm9ySGFuZGxpbmcu
Y3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxFcnJvckhhbmRsaW5nLmgnLAotICAgICAgICAg
ICAgIyAnd21sL1dNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmNwcCcsCi0gICAgICAgICAgICAjICd3
bWwvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuaCcsCi0gICAgICAgICAgICAjICd3bWwvV01MRmll
bGRTZXRFbGVtZW50LmNwcCcsCi0gICAgICAgICAgICAjICd3bWwvV01MRmllbGRTZXRFbGVtZW50
LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTEZvcm1Db250cm9sRWxlbWVudC5jcHAnLAotICAg
ICAgICAgICAgIyAnd21sL1dNTEZvcm1Db250cm9sRWxlbWVudC5oJywKLSAgICAgICAgICAgICMg
J3dtbC9XTUxHb0VsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxHb0VsZW1lbnQu
aCcsCi0gICAgICAgICAgICAjICd3bWwvV01MSW1hZ2VFbGVtZW50LmNwcCcsCi0gICAgICAgICAg
ICAjICd3bWwvV01MSW1hZ2VFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTEltYWdl
TG9hZGVyLmNwcCcsCi0gICAgICAgICAgICAjICd3bWwvV01MSW1hZ2VMb2FkZXIuaCcsCi0gICAg
ICAgICAgICAjICd3bWwvV01MSW5wdXRFbGVtZW50LmNwcCcsCi0gICAgICAgICAgICAjICd3bWwv
V01MSW5wdXRFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTEluc2VydGVkTGVnZW5k
RWxlbWVudC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTEluc2VydGVkTGVnZW5kRWxlbWVu
dC5oJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxJbnRyaW5zaWNFdmVudC5jcHAnLAotICAgICAg
ICAgICAgIyAnd21sL1dNTEludHJpbnNpY0V2ZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dN
TEludHJpbnNpY0V2ZW50SGFuZGxlci5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTEludHJp
bnNpY0V2ZW50SGFuZGxlci5oJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxNZXRhRWxlbWVudC5j
cHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTE1ldGFFbGVtZW50LmgnLAotICAgICAgICAgICAg
IyAnd21sL1dNTE5vb3BFbGVtZW50LmNwcCcsCi0gICAgICAgICAgICAjICd3bWwvV01MTm9vcEVs
ZW1lbnQuaCcsCi0gICAgICAgICAgICAjICd3bWwvV01MT25FdmVudEVsZW1lbnQuY3BwJywKLSAg
ICAgICAgICAgICMgJ3dtbC9XTUxPbkV2ZW50RWxlbWVudC5oJywKLSAgICAgICAgICAgICMgJ3dt
bC9XTUxPcHRHcm91cEVsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxPcHRHcm91
cEVsZW1lbnQuaCcsCi0gICAgICAgICAgICAjICd3bWwvV01MT3B0aW9uRWxlbWVudC5jcHAnLAot
ICAgICAgICAgICAgIyAnd21sL1dNTE9wdGlvbkVsZW1lbnQuaCcsCi0gICAgICAgICAgICAjICd3
bWwvV01MUEVsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxQRWxlbWVudC5oJywK
LSAgICAgICAgICAgICMgJ3dtbC9XTUxQYWdlU3RhdGUuY3BwJywKLSAgICAgICAgICAgICMgJ3dt
bC9XTUxQYWdlU3RhdGUuaCcsCi0gICAgICAgICAgICAjICd3bWwvV01MUG9zdGZpZWxkRWxlbWVu
dC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTFBvc3RmaWVsZEVsZW1lbnQuaCcsCi0gICAg
ICAgICAgICAjICd3bWwvV01MUHJldkVsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9X
TUxQcmV2RWxlbWVudC5oJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxSZWZyZXNoRWxlbWVudC5j
cHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTFJlZnJlc2hFbGVtZW50LmgnLAotICAgICAgICAg
ICAgIyAnd21sL1dNTFNlbGVjdEVsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxT
ZWxlY3RFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTFNldHZhckVsZW1lbnQuY3Bw
JywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxTZXR2YXJFbGVtZW50LmgnLAotICAgICAgICAgICAg
IyAnd21sL1dNTFRhYmxlRWxlbWVudC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTFRhYmxl
RWxlbWVudC5oJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxUYXNrRWxlbWVudC5jcHAnLAotICAg
ICAgICAgICAgIyAnd21sL1dNTFRhc2tFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dN
TFRlbXBsYXRlRWxlbWVudC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTFRlbXBsYXRlRWxl
bWVudC5oJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxUaW1lckVsZW1lbnQuY3BwJywKLSAgICAg
ICAgICAgICMgJ3dtbC9XTUxUaW1lckVsZW1lbnQuaCcsCi0gICAgICAgICAgICAjICd3bWwvV01M
VmFyaWFibGVzLmNwcCcsCi0gICAgICAgICAgICAjICd3bWwvV01MVmFyaWFibGVzLmgnLAogICAg
ICAgICAgICAgJ3dvcmtlcnMvQWJzdHJhY3RXb3JrZXIuY3BwJywKICAgICAgICAgICAgICd3b3Jr
ZXJzL0Fic3RyYWN0V29ya2VyLmgnLAogICAgICAgICAgICAgJ3dvcmtlcnMvRGVkaWNhdGVkV29y
a2VyQ29udGV4dC5jcHAnLApAQCAtNzk4MCw4ICs3OTA2LDYgQEAKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1NWR05hbWVzLmNwcCcsCiAgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Vc2VyQWdlbnRTdHls
ZVNoZWV0cy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL1VzZXJBZ2VudFN0eWxlU2hlZXRzRGF0YS5jcHAnLAotICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvV01MRWxlbWVudEZhY3RvcnkuY3BwJywK
LSAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1dNTE5h
bWVzLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9YTGlua05hbWVzLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9YTGlua05hbWVzLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvWE1MTlNOYW1lcy5jcHAnLApJbmRleDogU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8JKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8JKHdv
cmtpbmcgY29weSkKQEAgLTI0MTUsNDIgKzI0MTUsNiBAQCBIRUFERVJTICs9IFwKICAgICBzdmcv
U1ZHVktlcm5FbGVtZW50LmggXAogICAgIHN2Zy9TVkdab29tQW5kUGFuLmggXAogICAgIHN2Zy9T
Vkdab29tRXZlbnQuaCBcCi0gICAgd21sL1dNTEFjY2Vzc0VsZW1lbnQuaCBcCi0gICAgd21sL1dN
TEFFbGVtZW50LmggXAotICAgIHdtbC9XTUxBbmNob3JFbGVtZW50LmggXAotICAgIHdtbC9XTUxC
UkVsZW1lbnQuaCBcCi0gICAgd21sL1dNTENhcmRFbGVtZW50LmggXAotICAgIHdtbC9XTUxEb2N1
bWVudC5oIFwKLSAgICB3bWwvV01MRG9FbGVtZW50LmggXAotICAgIHdtbC9XTUxFbGVtZW50Lmgg
XAotICAgIHdtbC9XTUxFcnJvckhhbmRsaW5nLmggXAotICAgIHdtbC9XTUxFdmVudEhhbmRsaW5n
RWxlbWVudC5oIFwKLSAgICB3bWwvV01MRmllbGRTZXRFbGVtZW50LmggXAotICAgIHdtbC9XTUxG
b3JtQ29udHJvbEVsZW1lbnQuaCBcCi0gICAgd21sL1dNTEdvRWxlbWVudC5oIFwKLSAgICB3bWwv
V01MSW1hZ2VFbGVtZW50LmggXAotICAgIHdtbC9XTUxJbWFnZUxvYWRlci5oIFwKLSAgICB3bWwv
V01MSW5wdXRFbGVtZW50LmggXAotICAgIHdtbC9XTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQuaCBc
Ci0gICAgd21sL1dNTEludHJpbnNpY0V2ZW50LmggXAotICAgIHdtbC9XTUxJbnRyaW5zaWNFdmVu
dEhhbmRsZXIuaCBcCi0gICAgd21sL1dNTE1ldGFFbGVtZW50LmggXAotICAgIHdtbC9XTUxOb29w
RWxlbWVudC5oIFwKLSAgICB3bWwvV01MT25FdmVudEVsZW1lbnQuaCBcCi0gICAgd21sL1dNTE9w
dEdyb3VwRWxlbWVudC5oIFwKLSAgICB3bWwvV01MT3B0aW9uRWxlbWVudC5oIFwKLSAgICB3bWwv
V01MUGFnZVN0YXRlLmggXAotICAgIHdtbC9XTUxQRWxlbWVudC5oIFwKLSAgICB3bWwvV01MUG9z
dGZpZWxkRWxlbWVudC5oIFwKLSAgICB3bWwvV01MUHJldkVsZW1lbnQuaCBcCi0gICAgd21sL1dN
TFJlZnJlc2hFbGVtZW50LmggXAotICAgIHdtbC9XTUxTZWxlY3RFbGVtZW50LmggXAotICAgIHdt
bC9XTUxTZXR2YXJFbGVtZW50LmggXAotICAgIHdtbC9XTUxUYWJsZUVsZW1lbnQuaCBcCi0gICAg
d21sL1dNTFRhc2tFbGVtZW50LmggXAotICAgIHdtbC9XTUxUZW1wbGF0ZUVsZW1lbnQuaCBcCi0g
ICAgd21sL1dNTFRpbWVyRWxlbWVudC5oIFwKLSAgICB3bWwvV01MVmFyaWFibGVzLmggXAogICAg
IHdvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaCBcCiAgICAgd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJD
b250ZXh0LmggXAogICAgIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmggXApAQCAtMzA3
OCw0NiArMzA0Miw2IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NQVRITUw9MSkgewogICAg
ICAgICByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAKIH0KIAotY29u
dGFpbnMoREVGSU5FUywgRU5BQkxFX1dNTD0xKSB7Ci0gICAgU09VUkNFUyArPSBcCi0gICAgICAg
IHdtbC9XTUxBRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MQWNjZXNzRWxlbWVudC5jcHAg
XAotICAgICAgICB3bWwvV01MQW5jaG9yRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MQlJF
bGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxDYXJkRWxlbWVudC5jcHAgXAotICAgICAgICB3
bWwvV01MRG9FbGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxEb2N1bWVudC5jcHAgXAotICAg
ICAgICB3bWwvV01MRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MRXJyb3JIYW5kbGluZy5j
cHAgXAotICAgICAgICB3bWwvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuY3BwIFwKLSAgICAgICAg
d21sL1dNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MRmllbGRTZXRF
bGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxHb0VsZW1lbnQuY3BwIFwKLSAgICAgICAgd21s
L1dNTEltYWdlRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MSW1hZ2VMb2FkZXIuY3BwIFwK
LSAgICAgICAgd21sL1dNTElucHV0RWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MSW5zZXJ0
ZWRMZWdlbmRFbGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxJbnRyaW5zaWNFdmVudC5jcHAg
XAotICAgICAgICB3bWwvV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcCBcCi0gICAgICAgIHdt
bC9XTUxNZXRhRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MTm9vcEVsZW1lbnQuY3BwIFwK
LSAgICAgICAgd21sL1dNTE9uRXZlbnRFbGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxQRWxl
bWVudC5jcHAgXAotICAgICAgICB3bWwvV01MT3B0R3JvdXBFbGVtZW50LmNwcCBcCi0gICAgICAg
IHdtbC9XTUxPcHRpb25FbGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxQYWdlU3RhdGUuY3Bw
IFwKLSAgICAgICAgd21sL1dNTFBvc3RmaWVsZEVsZW1lbnQuY3BwIFwKLSAgICAgICAgd21sL1dN
TFByZXZFbGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxSZWZyZXNoRWxlbWVudC5jcHAgXAot
ICAgICAgICB3bWwvV01MU2VsZWN0RWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MU2V0dmFy
RWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MVGFibGVFbGVtZW50LmNwcCBcCi0gICAgICAg
IHdtbC9XTUxUYXNrRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MVGVtcGxhdGVFbGVtZW50
LmNwcCBcCi0gICAgICAgIHdtbC9XTUxUaW1lckVsZW1lbnQuY3BwIFwKLSAgICAgICAgd21sL1dN
TFZhcmlhYmxlcy5jcHAKLX0KLQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1hIVE1MTVA9MSkg
ewogICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBodG1sL0hUTUxOb1NjcmlwdEVsZW1lbnQuY3Bw
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5wcmkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZmVhdHVyZXMucHJpCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3Jl
L2ZlYXR1cmVzLnByaQkod29ya2luZyBjb3B5KQpAQCAtNjAsNyArNjAsNiBAQCBjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfU0lOR0xFX1RIUkVBREVECiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X1hQQVRIPS4pOiBERUZJTkVTICs9IEVOQUJMRV9YUEFUSD0xCiAjIWNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9YQkw9Lik6IERFRklORVMgKz0gRU5BQkxFX1hCTD0xCiAhY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX1dDU1M9Lik6IERFRklORVMgKz0gRU5BQkxFX1dDU1M9MAotIWNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9XTUw9Lik6IERFRklORVMgKz0gRU5BQkxFX1dNTD0wCiAhY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX1NIQVJFRF9XT1JLRVJTPS4pOiBERUZJTkVTICs9IEVOQUJMRV9TSEFS
RURfV09SS0VSUz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1dPUktFUlM9Lik6IERFRklO
RVMgKz0gRU5BQkxFX1dPUktFUlM9MQogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9YSFRNTE1Q
PS4pOiBERUZJTkVTICs9IEVOQUJMRV9YSFRNTE1QPTAKQEAgLTIxMSw3ICsyMTAsNiBAQCBjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfWFNMVD0xKTogRkVBVFVSCiBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfWEJMPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfWEJMPTEK
IGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxURVJTPTEpOiBGRUFUVVJFX0RFRklORVNfSkFW
QVNDUklQVCArPSBFTkFCTEVfRklMVEVSUz0xCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfV0NT
Uz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1dDU1M9MQotY29udGFp
bnMoREVGSU5FUywgRU5BQkxFX1dNTD0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0g
RU5BQkxFX1dNTD0xCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfWEhUTUxNUD0xKTogRkVBVFVS
RV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1hIVE1MTVA9MQogY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX1NWRz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1NW
Rz0xCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZHX0FOSU1BVElPTj0xKTogRkVBVFVSRV9E
RUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1NWR19BTklNQVRJT049MQpJbmRleDogU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw3ICsxMjIsNiBAQCBF
TkFCTEVfV0VCX1NPQ0tFVFMgPSAkKEVOQUJMRV9XRUJfU09DS0VUCiBFTkFCTEVfV0VCX1NPQ0tF
VFNfbWFjb3N4ID0gRU5BQkxFX1dFQl9TT0NLRVRTOwogCiBFTkFCTEVfV0VCX1RJTUlORyA9IDsK
LUVOQUJMRV9XTUwgPSA7CiAKIEVOQUJMRV9XT1JLRVJTID0gJChFTkFCTEVfV09SS0VSU18kKFJF
QUxfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX1dPUktFUlNfbWFjb3N4ID0gRU5BQkxFX1dPUktF
UlM7CkBAIC0xMzEsNCArMTMwLDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBBVEgg
PSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JM
T0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFH
RSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVf
U1lTVEVNKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBU
X0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJM
RV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1JF
R0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9TSEFSRURf
V09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9T
VkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfV01MKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRN
TE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0IpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFC
TEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VS
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJ
U0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1JFR0lTVEVSX1BS
T1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykg
JChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1B
R0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlO
RykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQo
RU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAJ
KHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXAJKHdvcmtpbmcgY29weSkKQEAgLTYzNyw3ICs2MzcsNiBAQAogICAgICAgICAgICAgJy4uL2Nz
cy90aGVtZVdpbi5jc3MnLAogICAgICAgICAgICAgJy4uL2Nzcy90aGVtZVdpblF1aXJrcy5jc3Mn
LAogICAgICAgICAgICAgJy4uL2Nzcy9zdmcuY3NzJywKLSAgICAgICAgICAgICMgU2tpcCBXTUwu
CiAgICAgICAgICAgICAnLi4vY3NzL21hdGhtbC5jc3MnLAogICAgICAgICAgICAgJy4uL2Nzcy9t
ZWRpYUNvbnRyb2xzLmNzcycsCiAgICAgICAgICAgICAnLi4vY3NzL21lZGlhQ29udHJvbHNDaHJv
bWl1bS5jc3MnLApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTIzMDk4LDExOCArMjMwOTgsNiBA
QAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdNTEVs
ZW1lbnRGYWN0b3J5LmNwcCIKLQkJCQk+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgot
CQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJ
CQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1
Z19DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJ
CQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgot
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
LQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgotCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9u
Ci0JCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xXTUxFbGVtZW50RmFjdG9yeS5oIgotCQkJCT4KLQkJCTwvRmls
ZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdNTE5hbWVzLmNwcCIKLQkJCQk+Ci0J
CQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgotCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgotCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0J
CQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdp
bjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAot
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2lu
MzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0J
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlByb2R1Y3Rpb258V2lu
MzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0J
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xXTUxOYW1l
cy5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFhM
aW5rTmFtZXMuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY3MDkxLDM0NiArNjY5NzksNiBA
QAogCQkJPC9GaWx0ZXI+CiAJCTwvRmlsdGVyPgogCQk8RmlsdGVyCi0JCQlOYW1lPSJ3bWwiCi0J
CQk+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEFjY2Vzc0VsZW1lbnQu
Y3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3
bWxcV01MQWNjZXNzRWxlbWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MQUVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4K
LQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MQUVsZW1lbnQuaCIKLQkJCQk+
Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEFuY2hv
ckVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlx3bWxcV01MQW5jaG9yRWxlbWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxG
aWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MQlJFbGVtZW50LmNwcCIKLQkJCQk+Ci0J
CQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEJSRWxlbWVu
dC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3
bWxcV01MQ2FyZEVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MQ2FyZEVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+
Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTERvY3VtZW50LmNwcCIKLQkJ
CQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTERv
Y3VtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHdtbFxXTUxEb0VsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MRG9FbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxl
PgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxFbGVtZW50LmNwcCIKLQkJ
CQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEVs
ZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0i
Li5cd21sXFdNTEVycm9ySGFuZGxpbmcuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxl
Ci0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MRXJyb3JIYW5kbGluZy5oIgotCQkJCT4KLQkJ
CTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MRXZlbnRIYW5k
bGluZ0VsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIuLlx3bWxcV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0Zp
bGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEZpZWxkU2V0RWxlbWVu
dC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XHdtbFxXTUxGaWVsZFNldEVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEZvcm1Db250cm9sRWxlbWVudC5jcHAiCi0JCQkJ
PgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxGb3Jt
Q29udHJvbEVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5cd21sXFdNTEdvRWxlbWVudC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxHb0VsZW1lbnQuaCIKLQkJCQk+Ci0J
CQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEltYWdlRWxl
bWVudC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHdtbFxXTUxJbWFnZUVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEltYWdlTG9hZGVyLmNwcCIKLQkJCQk+Ci0JCQk8
L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEltYWdlTG9hZGVy
LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdt
bFxXTUxJbnB1dEVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MSW5wdXRFbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxl
PgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxJbnNlcnRlZExlZ2VuZEVs
ZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuLlx3bWxcV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgot
CQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxJbnRyaW5zaWNFdmVudC5jcHAi
Ci0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxX
TUxJbnRyaW5zaWNFdmVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlx3bWxcV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcCIKLQkJCQk+Ci0J
CQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEludHJpbnNp
Y0V2ZW50SGFuZGxlci5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIuLlx3bWxcV01MTWV0YUVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MTWV0YUVsZW1lbnQuaCIKLQkJCQk+
Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTE5vb3BF
bGVtZW50LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0
aD0iLi5cd21sXFdNTE5vb3BFbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxPbkV2ZW50RWxlbWVudC5jcHAiCi0JCQkJPgot
CQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxPbkV2ZW50
RWxlbWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuLlx3bWxcV01MT3B0R3JvdXBFbGVtZW50LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8
RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTE9wdEdyb3VwRWxlbWVudC5oIgotCQkJ
CT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MT3B0
aW9uRWxlbWVudC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHdtbFxXTUxPcHRpb25FbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxQYWdlU3RhdGUuY3BwIgotCQkJCT4K
LQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MUGFnZVN0
YXRlLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XHdtbFxXTUxQRWxlbWVudC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxQRWxlbWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MUG9zdGZpZWxkRWxlbWVudC5jcHAi
Ci0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxX
TUxQb3N0ZmllbGRFbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxQcmV2RWxlbWVudC5jcHAiCi0JCQkJPgotCQkJPC9GaWxl
PgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxQcmV2RWxlbWVudC5oIgot
CQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01M
UmVmcmVzaEVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlx3bWxcV01MUmVmcmVzaEVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+
Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTFNlbGVjdEVsZW1lbnQuY3Bw
IgotCQkJCT4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIi
Ci0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJ
CQlEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz0iNDgxOSIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdp
bjMyIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQkJCQkJRGlzYWJsZVNwZWNpZmljV2FybmluZ3M9IjQ4MTkiCi0JCQkJCS8+Ci0JCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgotCQkJCQkJRGlzYWJsZVNwZWNpZmljV2FybmluZ3M9IjQ4MTkiCi0JCQkJ
CS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCT4KLQkJCQkJPFRvb2wK
LQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlEaXNhYmxlU3BlY2lmaWNXYXJu
aW5ncz0iNDgxOSIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0JCQkJCT4KLQkJCQkJ
PFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlEaXNhYmxlU3BlY2lm
aWNXYXJuaW5ncz0iNDgxOSIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJCQk+
Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJRGlzYWJs
ZVNwZWNpZmljV2FybmluZ3M9IjQ4MTkiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MU2Vs
ZWN0RWxlbWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlx3bWxcV01MU2V0dmFyRWxlbWVudC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxTZXR2YXJFbGVtZW50LmgiCi0JCQkJ
PgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxUYWJs
ZUVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlx3bWxcV01MVGFibGVFbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxUYXNrRWxlbWVudC5jcHAiCi0JCQkJPgot
CQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxUYXNrRWxl
bWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIu
Llx3bWxcV01MVGVtcGxhdGVFbGVtZW50LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8Rmls
ZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTFRlbXBsYXRlRWxlbWVudC5oIgotCQkJCT4K
LQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MVGltZXJF
bGVtZW50LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0
aD0iLi5cd21sXFdNTFRpbWVyRWxlbWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxl
Ci0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MVmFyaWFibGVzLmNwcCIKLQkJCQk+Ci0JCQk8
L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTFZhcmlhYmxlcy5o
IgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJPC9GaWx0ZXI+Ci0JCTxGaWx0ZXIKIAkJCU5hbWU9Indl
YnNvY2tldHMiCiAJCQk+CiAJCQk8RmlsZQpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gODUxNjYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29w
eSkKQEAgLTYwLDM2ICs2MCwxOCBAQAogCQkwNzZGMEQwRTEyQjgxOTI3MDBDMjZBQTQgLyogTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwNzZGMEQwQTEyQjgxOTI3MDBDMjZBQTQgLyogTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggKi87IH07CiAJCTA3NkYwRDBGMTJCODE5MjcwMEMyNkFB
NCAvKiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzZGMEQwQjEyQjgxOTI3MDBDMjZBQTQg
LyogTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oICovOyB9OwogCQkwN0IwMTEz
RjEwMzIyNDIyMDBGQkRDMzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QjAxMTNFMTAzMjI0MjIw
MEZCREMzMyAvKiBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oICovOyB9OwotCQkwODAwODE5
NjBFRDNCMkREMDBDNTNCQzAgLyogV01MQW5jaG9yRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODAwODE5NDBFRDNCMkREMDBDNTNCQzAg
LyogV01MQW5jaG9yRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4MDA4MTk3MEVEM0IyREQwMEM1M0JD
MCAvKiBXTUxBbmNob3JFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwODAwODE5NTBFRDNCMkREMDBDNTNCQzAgLyogV01MQW5jaG9yRWxlbWVu
dC5oICovOyB9OwotCQkwODA0QkY2RTBFRTA5QzNCMDAwNkMwMDAgLyogV01MRG9FbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MDRCRjZD
MEVFMDlDM0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuY3BwICovOyB9OwotCQkwODA0QkY2RjBF
RTA5QzNCMDAwNkMwMDAgLyogV01MRG9FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODA0QkY2RDBFRTA5QzNCMDAwNkMwMDAgLyogV01MRG9F
bGVtZW50LmggKi87IH07CiAJCTA4MDZFNTdBMTI4OTMwNDUwMDdDRUQzMiAvKiBTVkdNYXRyaXgu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MDZFNTc5
MTI4OTMwNDUwMDdDRUQzMiAvKiBTVkdNYXRyaXguaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwODBBRUM4MTBFRDg3MDhCMDBERjRDQ0UgLyogV01M
SW50cmluc2ljRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDgwQUVDN0QwRUQ4NzA4QTAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50LmNw
cCAqLzsgfTsKLQkJMDgwQUVDODIwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODBBRUM3
RTBFRDg3MDhCMDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnQuaCAqLzsgfTsKLQkJMDgwQUVD
ODMwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODBBRUM3RjBFRDg3MDhC
MDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcCAqLzsgfTsKLQkJMDgwQUVD
ODQwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwQUVDODAwRUQ4NzA4QjAw
REY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlci5oICovOyB9OwogCQkwODBFNDkyNjEy
NTVGM0JEMDBFRkNBMjcgLyogU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODBFNDkyMjEyNTVGM0JEMDBF
RkNBMjcgLyogU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmggKi87IH07CiAJCTA4MEU0OTI4
MTI1NUYzQkQwMEVGQ0EyNyAvKiBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwRTQ5MjQxMjU1RjNCRDAw
RUZDQTI3IC8qIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmggKi87IH07Ci0JCTA4MEZBRTFB
MEVFRUJEQTgwMEFBQ0RFOSAvKiBXTUxUZW1wbGF0ZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwRkFFMTgwRUVFQkRBODAwQUFDREU5
IC8qIFdNTFRlbXBsYXRlRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4MEZBRTFCMEVFRUJEQTgwMEFB
Q0RFOSAvKiBXTUxUZW1wbGF0ZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4MEZBRTE5MEVFRUJEQTgwMEFBQ0RFOSAvKiBXTUxUZW1wbGF0
ZUVsZW1lbnQuaCAqLzsgfTsKIAkJMDgxMDc2NDQxMjgyODU1NjAwN0M2M0JBIC8qIFNWR0xpc3RQ
cm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDgxMDc2NDMxMjgyODU1NjAwN0M2M0JBIC8qIFNWR0xpc3RQcm9wZXJ0eS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4MTA5M0RDMTI1NUYwRTcw
MEVEOUQyOSAvKiBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MTA5M0RBMTI1NUYwRTcwMEVEOUQy
OSAvKiBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCAqLzsgfTsKIAkJMDgxM0E0RUEx
Mjg0MTMyNjAwOTkyNTExIC8qIFNWR1N0YXRpY1Byb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgxM0E0RTkxMjg0MTMyNjAwOTky
NTExIC8qIFNWR1N0YXRpY1Byb3BlcnR5VGVhck9mZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4MTY2OEQ0MTI1NjAzQkYwMDZGMjVERSAvKiBT
VkdUZXh0Q2h1bmtCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwODE2NjhEMjEyNTYwM0JGMDA2RjI1REUgLyogU1ZHVGV4dENodW5rQnVpbGRl
ci5oICovOyB9OwogCQkwODE2NjhEQTEyNTYwM0Q1MDA2RjI1REUgLyogU1ZHVGV4dExheW91dEVu
Z2luZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgx
NjY4RDgxMjU2MDNENTAwNkYyNURFIC8qIFNWR1RleHRMYXlvdXRFbmdpbmUuaCAqLzsgfTsKLQkJ
MDgxOEFFRTIwRURCODZCQzAwNjQ3QjY2IC8qIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MThBRUUwMEVE
Qjg2QkMwMDY0N0I2NiAvKiBXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4
MThBRUUzMEVEQjg2QkMwMDY0N0I2NiAvKiBXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgxOEFFRTEwRURCODZC
QzAwNjQ3QjY2IC8qIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmggKi87IH07CiAJCTA4MUFBOERB
MTExMTIzN0UwMDJBQjA2RSAvKiBTVkdFbGVtZW50UmFyZURhdGEuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MUFBOEQ5MTExMTIzN0UwMDJBQjA2RSAv
KiBTVkdFbGVtZW50UmFyZURhdGEuaCAqLzsgfTsKIAkJMDgxQ0RGQkYxMjZFQ0ZFODAwRDIxNUNB
IC8qIFNWR0FuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MUNERkJFMTI2RUNGRTgwMEQyMTVDQSAvKiBT
VkdBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDgxRDgxMzEwRUUwRTc0RDAwRDczNjg5IC8qIFdN
TFRpbWVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwODFEODEyRjBFRTBFNzREMDBENzM2ODkgLyogV01MVGltZXJFbGVtZW50LmNwcCAq
LzsgfTsKLQkJMDgxRDgxMzIwRUUwRTc0RDAwRDczNjg5IC8qIFdNTFRpbWVyRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgxRDgxMzAwRUUw
RTc0RDAwRDczNjg5IC8qIFdNTFRpbWVyRWxlbWVudC5oICovOyB9OwogCQkwODFFQkYzQTBGRDM0
RjQxMDBEQTc1NTkgLyogU1ZHRmlsdGVyQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODFFQkYzODBGRDM0RjQxMDBEQTc1NTkgLyogU1ZH
RmlsdGVyQnVpbGRlci5jcHAgKi87IH07CiAJCTA4MUVCRjNCMEZEMzRGNDEwMERBNzU1OSAvKiBT
VkdGaWx0ZXJCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwODFFQkYzOTBGRDM0RjQxMDBEQTc1NTkgLyogU1ZHRmlsdGVyQnVpbGRlci5oICov
OyB9OwotCQkwODIwM0E5RjBFRDhDMzUzMDBCOEI2MUEgLyogV01MQWNjZXNzRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODIwM0E5RDBF
RDhDMzUzMDBCOEI2MUEgLyogV01MQWNjZXNzRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4MjAzQUEw
MEVEOEMzNTMwMEI4QjYxQSAvKiBXTUxBY2Nlc3NFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODIwM0E5RTBFRDhDMzUzMDBCOEI2MUEgLyog
V01MQWNjZXNzRWxlbWVudC5oICovOyB9OwotCQkwODIzNDFDNTBGQ0YzQTk1MDBENzVCRDYgLyog
V01MU2VsZWN0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwODIzNDFDMzBGQ0YzQTk0MDBENzVCRDYgLyogV01MU2VsZWN0RWxlbWVudC5j
cHAgKi87IH07Ci0JCTA4MjM0MUM2MEZDRjNBOTUwMEQ3NUJENiAvKiBXTUxTZWxlY3RFbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODIzNDFD
NDBGQ0YzQTk0MDBENzVCRDYgLyogV01MU2VsZWN0RWxlbWVudC5oICovOyB9OwogCQkwODIzRDE1
OTEyN0FENkFDMDAwRUJDOTUgLyogU1ZHQW5pbWF0ZWRJbnRlZ2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODIzRDE1ODEyN0FENkFDMDAwRUJDOTUg
LyogU1ZHQW5pbWF0ZWRJbnRlZ2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMDgyNTA5MzkxMjhCRDREODAwRTJFRDhFIC8qIFNWR0FuaW1hdGVk
VHJhbnNmb3JtTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDgyNTA5MzgxMjhCRDREODAwRTJFRDhFIC8qIFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlz
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4
MkRFNDJEMTI5MjYyMTYwMEQ5MjNERiAvKiBTVkdQYXRoU2VnV2l0aENvbnRleHQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MkRFNDJDMTI5MjYyMTYw
MEQ5MjNERiAvKiBTVkdQYXRoU2VnV2l0aENvbnRleHQuaCAqLzsgfTsKQEAgLTEwMywxMyArODUs
NyBAQAogCQkwODRBMDgyOTEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0
eVRlYXJPZmYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA4NEEwODI4MTI4RDc4NjcwMDJEQjFGMSAvKiBTVkdQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9m
Zi5oICovOyB9OwogCQkwODRBRUJFNDBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODRBRUJF
MjBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5jcHAgKi87IH07CiAJCTA4NEFFQkU1
MEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODRBRUJFMzBGQjUwNUZBMDAzODQ4M0UgLyogU2Vs
ZWN0RWxlbWVudC5oICovOyB9OwotCQkwODRDRTVDQjBGMjdEQURDMDBFNjI0MEUgLyogV01MT3B0
R3JvdXBFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA4NENFNUM3MEYyN0RBREMwMEU2MjQwRSAvKiBXTUxPcHRHcm91cEVsZW1lbnQuY3Bw
ICovOyB9OwotCQkwODRDRTVDQzBGMjdEQURDMDBFNjI0MEUgLyogV01MT3B0R3JvdXBFbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODRDRTVD
ODBGMjdEQURDMDBFNjI0MEUgLyogV01MT3B0R3JvdXBFbGVtZW50LmggKi87IH07Ci0JCTA4NENF
NUNEMEYyN0RBREMwMEU2MjQwRSAvKiBXTUxPcHRpb25FbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NENFNUM5MEYyN0RBREMwMEU2MjQw
RSAvKiBXTUxPcHRpb25FbGVtZW50LmNwcCAqLzsgfTsKLQkJMDg0Q0U1Q0UwRjI3REFEQzAwRTYy
NDBFIC8qIFdNTE9wdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA4NENFNUNBMEYyN0RBREMwMEU2MjQwRSAvKiBXTUxPcHRpb25FbGVt
ZW50LmggKi87IH07CiAJCTA4NERCNTlCMTI4MDA4Q0MwMDJBNkQ2NCAvKiBTVkdBbmltYXRlZFN0
cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0
REI1OUExMjgwMDhDQzAwMkE2RDY0IC8qIFNWR0FuaW1hdGVkU3RyaW5nLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDg0REJBQTEwRUQzOUQzNjAw
MzhDMjI2IC8qIFdNTFZhcmlhYmxlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwODREQkE5RDBFRDM5RDM1MDAzOEMyMjYgLyogV01MVmFyaWFibGVz
LmNwcCAqLzsgfTsKLQkJMDg0REJBQTIwRUQzOUQzNjAwMzhDMjI2IC8qIFdNTFZhcmlhYmxlcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0REJBOUUw
RUQzOUQzNjAwMzhDMjI2IC8qIFdNTFZhcmlhYmxlcy5oICovOyB9OwogCQkwODUyNUU2MzEyNzhD
MDAxMDBBODQ3NzggLyogU1ZHQW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NTI1RTYyMTI3OEMwMDEw
MEE4NDc3OCAvKiBTVkdBbmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9mZi5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4NTRCMDE1MTI1NUU0RTYw
MEI5Q0REMCAvKiBSZW5kZXJTVkdJbmxpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4NTRCMDAzMTI1NUU0RTYwMEI5Q0REMCAvKiBSZW5kZXJTVkdJ
bmxpbmUuaCAqLzsgfTsKIAkJMDg1NEIwMTcxMjU1RTRFNjAwQjlDREQwIC8qIFJlbmRlclNWR0lu
bGluZVRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA4NTRCMDA1MTI1NUU0RTYwMEI5Q0REMCAvKiBSZW5kZXJTVkdJbmxpbmVUZXh0LmggKi87IH07
CkBAIC0xMjMsMTQgKzk5LDEwIEBACiAJCTA4NTc5NzA5MTI3ODM5NEMwMEE4RUM1RiAvKiBTVkdB
bmltYXRlZEJvb2xlYW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA4NTc5NzA4MTI3ODM5NEMwMEE4RUM1RiAvKiBTVkdBbmltYXRlZEJvb2xlYW4uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwODU5MUFB
NTBGMDg1QzRFMDA5QkFDQjEgLyogSW5wdXRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODU5MUFBNDBGMDg1QzRFMDA5QkFDQjEgLyogSW5w
dXRFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMDg1QTE1OTMxMjg5QThERDAwMjcxMEUzIC8qIFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlz
dFByb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDg1QTE1OTIxMjg5QThERDAwMjcxMEUzIC8qIFNWR0FuaW1hdGVkVHJhbnNmb3Jt
TGlzdFByb3BlcnR5VGVhck9mZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCTA4NUFGREM4MEYyOTc3MzUwMDYxRjJCMyAvKiBXTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDg1QUZEQzYwRjI5NzczNTAwNjFGMkIzIC8qIFdNTEZvcm1Db250cm9sRWxlbWVudC5jcHAg
Ki87IH07Ci0JCTA4NUFGREM5MEYyOTc3MzUwMDYxRjJCMyAvKiBXTUxGb3JtQ29udHJvbEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NUFG
REM3MEYyOTc3MzUwMDYxRjJCMyAvKiBXTUxGb3JtQ29udHJvbEVsZW1lbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OwogCQkwODVCOTJCQTBFRkRFNzNEMDBFNjEyM0Mg
LyogRm9ybURhdGFCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA4NUI5MkI4MEVGREU3M0QwMEU2MTIzQyAvKiBGb3JtRGF0YUJ1aWxkZXIu
Y3BwICovOyB9OwogCQkwODVCOTJCQjBFRkRFNzNEMDBFNjEyM0MgLyogRm9ybURhdGFCdWlsZGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODVCOTJC
OTBFRkRFNzNEMDBFNjEyM0MgLyogRm9ybURhdGFCdWlsZGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJMDg2NDFENDcxMjE0MkY3RDAwOERFOUY2IC8qIFJlbmRl
ckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4NjQxRDQ1MTIxNDJGN0QwMDhERTlGNiAvKiBSZW5kZXJJbWFn
ZVJlc291cmNlU3R5bGVJbWFnZS5jcHAgKi87IH07CiAJCTA4NjQxRDQ4MTIxNDJGN0QwMDhERTlG
NiAvKiBSZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg2NDFENDYxMjE0MkY3RDAwOERFOUY2IC8qIFJl
bmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDg2NUNDRTYwRURERjUxQjAwREY5RUMzIC8qIFdNTE5v
b3BFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA4NjVDQ0U0MEVEREY1MUIwMERGOUVDMyAvKiBXTUxOb29wRWxlbWVudC5jcHAgKi87IH07
Ci0JCTA4NjVDQ0U3MEVEREY1MUIwMERGOUVDMyAvKiBXTUxOb29wRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg2NUNDRTUwRURERjUxQjAw
REY5RUMzIC8qIFdNTE5vb3BFbGVtZW50LmggKi87IH07CiAJCTA4NkJCRDBGMTM2MDM5QzIwMDhC
MTVEOCAvKiBHbHlwaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDg2QkJEMEUxMzYwMzlDMjAwOEIxNUQ4IC8qIEdseXBoLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDg3MDBCRTcwRjA4NkM1MzAwOTE5
NDE5IC8qIElucHV0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwODcwMEJFNjBGMDg2QzUzMDA5MTk0MTkgLyogSW5wdXRFbGVtZW50LmNw
cCAqLzsgfTsKIAkJMDg3MjgxNTUwRjI2QjlCNjAwQUZDNTk2IC8qIE9wdGlvbkVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg3MjgxNTEw
RjI2QjlCNjAwQUZDNTk2IC8qIE9wdGlvbkVsZW1lbnQuY3BwICovOyB9OwpAQCAtMTM4LDI2ICsx
MTAsMTAgQEAKIAkJMDg3MjgxNTcwRjI2QjlCNjAwQUZDNTk2IC8qIE9wdGlvbkdyb3VwRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODcy
ODE1MzBGMjZCOUI2MDBBRkM1OTYgLyogT3B0aW9uR3JvdXBFbGVtZW50LmNwcCAqLzsgfTsKIAkJ
MDg3MjgxNTgwRjI2QjlCNjAwQUZDNTk2IC8qIE9wdGlvbkdyb3VwRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg3MjgxNTQwRjI2QjlCNjAw
QUZDNTk2IC8qIE9wdGlvbkdyb3VwRWxlbWVudC5oICovOyB9OwogCQkwODczQjg2QjEzNjA2NEVB
MDBBNTIyQzIgLyogR2x5cGhQYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwODczQjg2QTEzNjA2NEVBMDBBNTIyQzIgLyogR2x5cGhQYWdlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDg3NDRCQUEw
RURCN0Q4NjAwNEM5RTYzIC8qIFdNTE9uRXZlbnRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NzQ0QkE5MEVEQjdEODYwMDRDOUU2MyAv
KiBXTUxPbkV2ZW50RWxlbWVudC5jcHAgKi87IH07Ci0JCTA4NzQ0QkFFMEVEQjdEOTIwMDRDOUU2
MyAvKiBXTUxPbkV2ZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDg3NDRCQUQwRURCN0Q5MjAwNEM5RTYzIC8qIFdNTE9uRXZlbnRFbGVt
ZW50LmggKi87IH07CiAJCTA4N0I4NDk2MTI3MkNFQzgwMEExNDQxNyAvKiBTVkdBbmltYXRlZEFu
Z2xlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODdC
ODQ5NTEyNzJDRUM3MDBBMTQ0MTcgLyogU1ZHQW5pbWF0ZWRBbmdsZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4N0UwQUY2MTM2MDZEMEIwMEZB
NEJBOCAvKiBTVkdHbHlwaC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwODdFMEFGNDEzNjA2RDBCMDBGQTRCQTggLyogU1ZHR2x5cGguY3BwICovOyB9
OwogCQkwODdFMEFGNzEzNjA2RDBCMDBGQTRCQTggLyogU1ZHR2x5cGguaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4N0UwQUY1MTM2MDZEMEIwMEZBNEJB
OCAvKiBTVkdHbHlwaC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07Ci0JCTA4N0ZGQTBGMEVGRjNFRDMwMDlEQkQ4OCAvKiBXTUxJbnNlcnRlZExlZ2VuZEVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDg3RkZBMEQwRUZGM0VEMzAwOURCRDg4IC8qIFdNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAg
Ki87IH07Ci0JCTA4N0ZGQTEwMEVGRjNFRDMwMDlEQkQ4OCAvKiBXTUxJbnNlcnRlZExlZ2VuZEVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4
N0ZGQTBFMEVGRjNFRDMwMDlEQkQ4OCAvKiBXTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQuaCAqLzsg
fTsKLQkJMDg4MDdCNzYwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTEdvRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODgwN0I2QTBFRDcwOUFC
MDAzRjY5NzUgLyogV01MR29FbGVtZW50LmNwcCAqLzsgfTsKLQkJMDg4MDdCNzcwRUQ3MDlBQjAw
M0Y2OTc1IC8qIFdNTEdvRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDg4MDdCNkIwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTEdvRWxlbWVudC5o
ICovOyB9OwotCQkwODgwN0I3QzBFRDcwOUFCMDAzRjY5NzUgLyogV01MUHJldkVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg4MDdCNzAw
RUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTFByZXZFbGVtZW50LmNwcCAqLzsgfTsKLQkJMDg4MDdCN0Qw
RUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTFByZXZFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODgwN0I3MTBFRDcwOUFCMDAzRjY5NzUgLyogV01M
UHJldkVsZW1lbnQuaCAqLzsgfTsKLQkJMDg4MDdCN0UwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTFJl
ZnJlc2hFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA4ODA3QjcyMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxSZWZyZXNoRWxlbWVudC5jcHAg
Ki87IH07Ci0JCTA4ODA3QjdGMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxSZWZyZXNoRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg4MDdCNzMw
RUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTFJlZnJlc2hFbGVtZW50LmggKi87IH07Ci0JCTA4ODA3Qjgw
MEVENzA5QUIwMDNGNjk3NSAvKiBXTUxTZXR2YXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4ODA3Qjc0MEVENzA5QUIwMDNGNjk3NSAv
KiBXTUxTZXR2YXJFbGVtZW50LmNwcCAqLzsgfTsKLQkJMDg4MDdCODEwRUQ3MDlBQjAwM0Y2OTc1
IC8qIFdNTFNldHZhckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA4ODA3Qjc1MEVENzA5QUIwMDNGNjk3NSAvKiBXTUxTZXR2YXJFbGVtZW50
LmggKi87IH07CiAJCTA4ODBGNzBFMTI4MkI0NkQwMDk0ODUwNSAvKiBTVkdTdGF0aWNMaXN0UHJv
cGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwODgwRjcwRDEyODJCNDZEMDA5NDg1MDUgLyogU1ZHU3RhdGljTGlzdFByb3BlcnR5VGVh
ck9mZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0J
CTA4ODIwQkRFMEVGNUQzODEwMDkwOTlBOCAvKiBXTUxUYWJsZUVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg4MjBCREMwRUY1RDM4MTAw
OTA5OUE4IC8qIFdNTFRhYmxlRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4ODIwQkRGMEVGNUQzODEw
MDkwOTlBOCAvKiBXTUxUYWJsZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4ODIwQkREMEVGNUQzODEwMDkwOTlBOCAvKiBXTUxUYWJsZUVs
ZW1lbnQuaCAqLzsgfTsKLQkJMDg4NDUxMTUwRjI2N0I2MzAwN0YxMzlFIC8qIFdNTElucHV0RWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
ODg0NTExMzBGMjY3QjYyMDA3RjEzOUUgLyogV01MSW5wdXRFbGVtZW50LmNwcCAqLzsgfTsKLQkJ
MDg4NDUxMTYwRjI2N0I2MzAwN0YxMzlFIC8qIFdNTElucHV0RWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg4NDUxMTQwRjI2N0I2MzAwN0Yx
MzlFIC8qIFdNTElucHV0RWxlbWVudC5oICovOyB9OwogCQkwODg1MDY3RjExREEwNDVCMDAxODJC
OTggLyogUGFpbnRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwODg1MDY3RDExREEwNDVCMDAxODJCOTggLyogUGFpbnRJbmZvLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDg4NTA2ODAxMURBMDQ1
QjAwMTgyQjk4IC8qIFBhaW50UGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA4ODUwNjdFMTFEQTA0NUIwMDE4MkI5OCAvKiBQYWludFBoYXNlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDg4QTBF
MDQxMjZFRjFEQjAwOTc4RjdBIC8qIFNWR0FuaW1hdGVkTGlzdFByb3BlcnR5VGVhck9mZi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg4QTBERkIxMjZF
RjFEQjAwOTc4RjdBIC8qIFNWR0FuaW1hdGVkTGlzdFByb3BlcnR5VGVhck9mZi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNzIsMjYgKzEyOCwx
MCBAQAogCQkwODhDMkY3QTEyMzkwMDgxMDAzRDY1Q0UgLyogU1ZHVGV4dExheW91dEF0dHJpYnV0
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OEMy
Rjc2MTIzOTAwODAwMDNENjVDRSAvKiBTVkdUZXh0TGF5b3V0QXR0cmlidXRlcy5oICovOyB9Owog
CQkwODhDOTcxMjBFQ0I2RDkyMDAwNTM0QkEgLyogV01MTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNENBM0FCNDkwRTU1NkYyNDAwRTlDMEMw
IC8qIFdNTE5hbWVzLmNwcCAqLzsgfTsKIAkJMDg4Qzk3MTMwRUNCNkQ5RDAwMDUzNEJBIC8qIFdN
TE5hbWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
Q0EzQUI0ODBFNTU2RjI0MDBFOUMwQzAgLyogV01MTmFtZXMuaCAqLzsgfTsKLQkJMDg4Qzk3NTEw
RUNCNkUyODAwMDUzNEJBIC8qIFdNTEFFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRDNkI5OTE4MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxB
RWxlbWVudC5jcHAgKi87IH07Ci0JCTA4OEM5NzUyMEVDQjZFMjgwMDA1MzRCQSAvKiBXTUxBRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEM2
Qjk5MTkwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTEFFbGVtZW50LmggKi87IH07Ci0JCTA4OEM5NzU2
MEVDQjZFMjgwMDA1MzRCQSAvKiBXTUxDYXJkRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QzZCOTkxRjBFNTJFMzczMDA0ODdCQjcgLyog
V01MQ2FyZEVsZW1lbnQuY3BwICovOyB9OwotCQkwODhDOTc1NzBFQ0I2RTI4MDAwNTM0QkEgLyog
V01MQ2FyZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDRDNkI5OTIwMEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxDYXJkRWxlbWVudC5oICovOyB9
OwotCQkwODhDOTc1ODBFQ0I2RTI4MDAwNTM0QkEgLyogV01MRG9jdW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEM2Qjk5MjEwRTUyRTM3MzAw
NDg3QkI3IC8qIFdNTERvY3VtZW50LmNwcCAqLzsgfTsKLQkJMDg4Qzk3NTkwRUNCNkUyODAwMDUz
NEJBIC8qIFdNTERvY3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0QzZCOTkyMjBFNTJFMzczMDA0ODdCQjcgLyogV01MRG9jdW1lbnQuaCAqLzsg
fTsKLQkJMDg4Qzk3NUMwRUNCNkUyODAwMDUzNEJBIC8qIFdNTEVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEM2Qjk5MjUwRTUyRTM3MzAw
NDg3QkI3IC8qIFdNTEVsZW1lbnQuY3BwICovOyB9OwotCQkwODhDOTc1RDBFQ0I2RTI4MDAwNTM0
QkEgLyogV01MRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNEM2Qjk5MjYwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTEVsZW1lbnQuaCAqLzsgfTsK
LQkJMDg4Qzk3NkMwRUNCNkUyOTAwMDUzNEJBIC8qIFdNTFBhZ2VTdGF0ZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODkzRTQ2NTBFQ0I2OEY0MDBB
Mjg1NjMgLyogV01MUGFnZVN0YXRlLmNwcCAqLzsgfTsKLQkJMDg4Qzk3NkQwRUNCNkUyOTAwMDUz
NEJBIC8qIFdNTFBhZ2VTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDg5M0U0NjYwRUNCNjhGNDAwQTI4NTYzIC8qIFdNTFBhZ2VTdGF0ZS5oICov
OyB9OwotCQkwODhDOTc2RTBFQ0I2RTI5MDAwNTM0QkEgLyogV01MUEVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEM2Qjk5MzUwRTUyRTM3
MzAwNDg3QkI3IC8qIFdNTFBFbGVtZW50LmNwcCAqLzsgfTsKLQkJMDg4Qzk3NkYwRUNCNkUyOTAw
MDUzNEJBIC8qIFdNTFBFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0QzZCOTkzNjBFNTJFMzczMDA0ODdCQjcgLyogV01MUEVsZW1lbnQuaCAq
LzsgfTsKIAkJMDg5MDIxQTkxMjZFRjVERTAwOTJENUVBIC8qIFNWR0FuaW1hdGVkTGVuZ3RoLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODkwMjFBODEy
NkVGNURFMDA5MkQ1RUEgLyogU1ZHQW5pbWF0ZWRMZW5ndGguaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwODkwMjFBRDEyNkVGNUU5MDA5MkQ1RUEg
LyogU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwODkwMjFBQzEyNkVGNUU5MDA5MkQ1RUEgLyogU1ZHQW5pbWF0ZWRM
ZW5ndGhMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMDg5NTgyNTUwRTg1N0E3RTAwRjgyQzgzIC8qIEltYWdlTG9hZGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OTU4MjUzMEU4NTdBN0Uw
MEY4MkM4MyAvKiBJbWFnZUxvYWRlci5jcHAgKi87IH07CiAJCTA4OTU4MjU2MEU4NTdBN0UwMEY4
MkM4MyAvKiBJbWFnZUxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDg5NTgyNTQwRTg1N0E3RTAwRjgyQzgzIC8qIEltYWdlTG9hZGVyLmggKi87
IH07Ci0JCTA4OTdDMTRDMEVEMkVCQTUwMEFFMDZEQiAvKiBXTUxCUkVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg5N0MxNEEwRUQyRUJB
NDAwQUUwNkRCIC8qIFdNTEJSRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4OTdDMTREMEVEMkVCQTUw
MEFFMDZEQiAvKiBXTUxCUkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA4OTdDMTRCMEVEMkVCQTQwMEFFMDZEQiAvKiBXTUxCUkVsZW1lbnQu
aCAqLzsgfTsKLQkJMDg5N0Q5N0EwRjAwN0E0NjAwNDExQkIzIC8qIFdNTE1ldGFFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OTdEOTc4
MEYwMDdBNDYwMDQxMUJCMyAvKiBXTUxNZXRhRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4OTdEOTdC
MEYwMDdBNDYwMDQxMUJCMyAvKiBXTUxNZXRhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg5N0Q5NzkwRjAwN0E0NjAwNDExQkIzIC8qIFdN
TE1ldGFFbGVtZW50LmggKi87IH07CiAJCTA4OUE4RTA3MTI4RDhCM0QwMEU3QTUzNCAvKiBTVkdB
bmltYXRlZFBhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODlBOEUwNjEyOEQ4QjNEMDBFN0E1MzQgLyogU1ZH
QW5pbWF0ZWRQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5oICovOyB9OwogCQkwODlGMEQ1MTEz
MTZDRTkzMDA1ODc3QUQgLyogQ1NTTXV0YWJsZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODlGMEQ1MDEzMTZDRTkzMDA1ODc3QUQgLyogQ1NT
TXV0YWJsZVZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMDhBNDg0NzcwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhBNDg0NzUwRTUy
NzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1lbnQuY3BwICovOyB9OwpAQCAtMTk5LDI2ICsxMzks
MTQgQEAKIAkJMDhBNDhBNkUwRTg2Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxlbWVudEluc3RhbmNl
Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA4QTQ4QTZEMEU4NkNGNkQwMEUyMjVERCAvKiBKU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5j
cHAgKi87IH07CiAJCTA4QjM1QjEzMTI3QjZBN0MwMDUzMTRERCAvKiBTVkdBbmltYXRlZE51bWJl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhCMzVC
MTIxMjdCNkE3QzAwNTMxNEREIC8qIFNWR0FuaW1hdGVkTnVtYmVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDhCMzVCMTcxMjdCNkE4ODAwNTMx
NEREIC8qIFNWR0FuaW1hdGVkTnVtYmVyTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDhCMzVCMTYxMjdCNkE4ODAwNTMxNEREIC8qIFNWR0FuaW1h
dGVkTnVtYmVyTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07Ci0JCTA4QzRDNTE4MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDNEM1MTQw
RUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4QzRDNTE5
MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QzRDNTE1MEVGMTlBNDAwMEU0ODQwRiAvKiBX
TUxJbWFnZUVsZW1lbnQuaCAqLzsgfTsKLQkJMDhDNEM1MUEwRUYxOUE0MDAwRTQ4NDBGIC8qIFdN
TEltYWdlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA4QzRDNTE2MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUxvYWRlci5jcHAgKi87
IH07Ci0JCTA4QzRDNTFCMEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUxvYWRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDNEM1MTcwRUYxOUE0
MDAwRTQ4NDBGIC8qIFdNTEltYWdlTG9hZGVyLmggKi87IH07CiAJCTA4QzcxMzZFMTI4OTU2QTMw
MDFCMTA3RSAvKiBTVkdUcmFuc2Zvcm1MaXN0UHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEM3MTM2RDEyODk1NkEzMDAxQjEw
N0UgLyogU1ZHVHJhbnNmb3JtTGlzdFByb3BlcnR5VGVhck9mZi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4QzdBMkM3MTBEQzc0NjIwMDJEMzY4
QiAvKiBTVkdOYW1lcy5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNjU2NTgxRTkwOUQxNTA4RDAwMEU2MUQ3IC8qIFNWR05hbWVz
LmggKi87IH07CiAJCTA4Qzg1OUMwMTI3NDU3NTQwMEE1NzI4RCAvKiBTVkdBbmltYXRlZFJlY3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4Qzg1OUJG
MTI3NDU3NTMwMEE1NzI4RCAvKiBTVkdBbmltYXRlZFJlY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwOEM5MjUxOTBGQ0M3QzRBMDA0ODBERUMg
LyogRmlsdGVyRWZmZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA4QzkyNTE3MEZDQzdDNEEwMDQ4MERFQyAvKiBGaWx0ZXJFZmZlY3QuY3BwICov
OyB9OwogCQkwOEM5MjUxQTBGQ0M3QzRBMDA0ODBERUMgLyogRmlsdGVyRWZmZWN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEM5MjUxODBGQ0M3QzRB
MDA0ODBERUMgLyogRmlsdGVyRWZmZWN0LmggKi87IH07CiAJCTA4Q0EzRDQ0MTI4OTRBMzgwMEZG
RjI2MCAvKiBTVkdTdGF0aWNQcm9wZXJ0eVdpdGhQYXJlbnRUZWFyT2ZmLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOENBM0Q0MzEyODk0QTM4MDBGRkYy
NjAgLyogU1ZHU3RhdGljUHJvcGVydHlXaXRoUGFyZW50VGVhck9mZi5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTA4Q0Q2MUJDMEVEMzkyOUMwMDJE
REY1MSAvKiBXTUxUYXNrRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwOENENjFCODBFRDM5MjlDMDAyRERGNTEgLyogV01MVGFza0VsZW1l
bnQuY3BwICovOyB9OwotCQkwOENENjFCRDBFRDM5MjlDMDAyRERGNTEgLyogV01MVGFza0VsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4Q0Q2
MUI5MEVEMzkyOUMwMDJEREY1MSAvKiBXTUxUYXNrRWxlbWVudC5oICovOyB9OwogCQkwOEQ0NkNF
MzEyN0FENUZDMDA4OTY5NEIgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhENDZDRTIxMjdBRDVGQzAwODk2
OTRCIC8qIFNWR0FuaW1hdGVkRW51bWVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwOEUxOTI1MzBFREUwQzNBMDA4N0I3ODAgLyogV01M
RXJyb3JIYW5kbGluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwOEUxOTI1MTBFREUwQzM5MDA4N0I3ODAgLyogV01MRXJyb3JIYW5kbGluZy5jcHAg
Ki87IH07Ci0JCTA4RTE5MjU0MEVERTBDM0EwMDg3Qjc4MCAvKiBXTUxFcnJvckhhbmRsaW5nLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEUxOTI1MjBF
REUwQzNBMDA4N0I3ODAgLyogV01MRXJyb3JIYW5kbGluZy5oICovOyB9OwogCQkwOEU0RkU0NjBF
MkJENDE0MDBGNENBRTAgLyogSlNTVkdMZW5ndGhDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhFNEZFNDUwRTJCRDQxNDAwRjRDQUUwIC8q
IEpTU1ZHTGVuZ3RoQ3VzdG9tLmNwcCAqLzsgfTsKLQkJMDhFNkEyRTgwRUVFMDM1MjAwQUMxMjA2
IC8qIFdNTFBvc3RmaWVsZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDhFNkEyRTYwRUVFMDM1MjAwQUMxMjA2IC8qIFdNTFBvc3RmaWVs
ZEVsZW1lbnQuY3BwICovOyB9OwotCQkwOEU2QTJFOTBFRUUwMzUyMDBBQzEyMDYgLyogV01MUG9z
dGZpZWxkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDhFNkEyRTcwRUVFMDM1MjAwQUMxMjA2IC8qIFdNTFBvc3RmaWVsZEVsZW1lbnQuaCAq
LzsgfTsKLQkJMDhFNkUwRjEwRUZGNDJCQTAwMDI5RkJGIC8qIFdNTEZpZWxkU2V0RWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEU2RTBF
RjBFRkY0MkJBMDAwMjlGQkYgLyogV01MRmllbGRTZXRFbGVtZW50LmNwcCAqLzsgfTsKLQkJMDhF
NkUwRjIwRUZGNDJCQTAwMDI5RkJGIC8qIFdNTEZpZWxkU2V0RWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhFNkUwRjAwRUZGNDJCQTAwMDI5
RkJGIC8qIFdNTEZpZWxkU2V0RWxlbWVudC5oICovOyB9OwogCQkwOEVERTE5RjEyQTUwQjhFMDBC
OTU3OTcgLyogU1ZHUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDhFREUxOUUxMkE1MEI4RTAwQjk1Nzk3IC8qIFNWR1JlY3QuaCAqLzsgfTsKIAkJ
MDhGMEJGQzMxMjU1QzUzQzAwMDc1MTg1IC8qIFNWR1RleHRDaHVuay5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhGMEJGQkUxMjU1QzUzQzAwMDc1MTg1
IC8qIFNWR1RleHRDaHVuay5oICovOyB9OwogCQkwOEYwQkZDNDEyNTVDNTNDMDAwNzUxODUgLyog
U1ZHVGV4dEZyYWdtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwOEYwQkZCRjEyNTVDNTNDMDAwNzUxODUgLyogU1ZHVGV4dEZyYWdtZW50LmggKi87
IH07CkBAIC02NDcwLDIxICs2Mzk4LDExIEBACiAJCTA3OUY1RTRCMEYzQkVCRUEwMDVFMDc4MiAv
KiBNZWRpYVBsYXllclByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TWVkaWFQbGF5ZXJQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QUZF
NTkwMEYxNDQ2QkQwMDg0MTYxNyAvKiBtZWRpYUNvbnRyb2xzUXVpY2tUaW1lLmNzcyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuY3NzOyBwYXRoID0gbWVkaWFDb250cm9sc1F1aWNrVGltZS5jc3M7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QjAxMTNFMTAzMjI0MjIwMEZCREMzMyAvKiBBY2Nlc3Np
YmlsaXR5TWVkaWFDb250cm9scy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
Y2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkwODAwODE5NDBFRDNCMkREMDBDNTNCQzAgLyogV01MQW5jaG9yRWxlbWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxBbmNob3JFbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDgwMDgxOTUwRUQzQjJERDAwQzUzQkMwIC8qIFdN
TEFuY2hvckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MQW5j
aG9yRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODA0QkY2QzBFRTA5
QzNCMDAwNkMwMDAgLyogV01MRG9FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdNTERvRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTA4MDRCRjZEMEVFMDlDM0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MRG9FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA4MDZFNTc5MTI4OTMwNDUwMDdDRUQzMiAvKiBTVkdNYXRyaXguaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHTWF0cml4Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTA4MEFFQzdEMEVEODcwOEEwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNF
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxJbnRyaW5z
aWNFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4MEFFQzdFMEVEODcw
OEIwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXTUxJbnRyaW5zaWNFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQkwODBBRUM3RjBFRDg3MDhCMDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnRIYW5kbGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTEludHJpbnNpY0V2
ZW50SGFuZGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4MEFFQzgwMEVE
ODcwOEIwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4MEU0OTIxMTI1NUYzQkQwMEVGQ0EyNyAvKiBTVkdUZXh0
TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMDgwRTQ5MjIxMjU1RjNCRDAwRUZDQTI3IC8qIFNWR1RleHRMYXlvdXRFbmdp
bmVCYXNlbGluZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdUZXh0TGF5
b3V0RW5naW5lQmFzZWxpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgwRTQ5
MjMxMjU1RjNCRDAwRUZDQTI3IC8qIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1RleHRMYXlvdXRFbmdpbmVTcGFj
aW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgwRTQ5MjQxMjU1RjNCRDAw
RUZDQTI3IC8qIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTA4MEZBRTE4MEVFRUJEQTgwMEFBQ0RFOSAvKiBXTUxUZW1wbGF0
ZUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MVGVt
cGxhdGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDgwRkFFMTkw
RUVFQkRBODAwQUFDREU5IC8qIFdNTFRlbXBsYXRlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXTUxUZW1wbGF0ZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMDgxMDc2NDMxMjgyODU1NjAwN0M2M0JBIC8qIFNWR0xpc3RQcm9wZXJ0eS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdMaXN0UHJvcGVydHkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgxMDkzRDkxMjU1RjBFNzAwRUQ5RDI5IC8qIFNW
R1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwODEwOTNEQTEyNTVGMEU3MDBFRDlEMjkgLyogU1ZHVGV4
dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNjQ5MywxOCArNjQxMSwxMCBAQAogCQkwODE2NjhEMjEyNTYwM0JGMDA2RjI1
REUgLyogU1ZHVGV4dENodW5rQnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTVkdUZXh0Q2h1bmtCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTA4MTY2OEQ3MTI1NjAzRDUwMDZGMjVERSAvKiBTVkdUZXh0TGF5b3V0RW5naW5lLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1RleHRMYXlvdXRFbmdpbmUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODE2NjhEODEyNTYwM0Q1MDA2RjI1REUg
LyogU1ZHVGV4dExheW91dEVuZ2luZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTVkdUZXh0TGF5b3V0RW5naW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4
MThBRUUwMEVEQjg2QkMwMDY0N0I2NiAvKiBXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxFdmVudEhhbmRsaW5nRWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4MThBRUUxMEVEQjg2QkMwMDY0
N0I2NiAvKiBXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwODFBQThEOTExMTEyMzdFMDAyQUIwNkUgLyogU1ZHRWxlbWVudFJhcmVEYXRh
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0VsZW1lbnRSYXJlRGF0YS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODFDREZCRTEyNkVDRkU4MDBEMjE1Q0Eg
LyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTVkdBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4MUQ4MTJGMEVFMEU3NEQwMEQ3MzY4OSAvKiBXTUxUaW1l
ckVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MVGlt
ZXJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDgxRDgxMzAwRUUw
RTc0RDAwRDczNjg5IC8qIFdNTFRpbWVyRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXTUxUaW1lckVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDgxRUJGMzgwRkQzNEY0MTAwREE3NTU5IC8qIFNWR0ZpbHRlckJ1aWxkZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHRmlsdGVyQnVpbGRlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4MUVCRjM5MEZEMzRGNDEwMERBNzU1OSAvKiBT
VkdGaWx0ZXJCdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0Zp
bHRlckJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDgyMDNBOUQwRUQ4
QzM1MzAwQjhCNjFBIC8qIFdNTEFjY2Vzc0VsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV01MQWNjZXNzRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTA4MjAzQTlFMEVEOEMzNTMwMEI4QjYxQSAvKiBXTUxBY2Nlc3NFbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEFjY2Vzc0VsZW1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDgyMzQxQzMwRkNGM0E5NDAwRDc1QkQ2IC8q
IFdNTFNlbGVjdEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV01MU2VsZWN0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4
MjM0MUM0MEZDRjNBOTQwMEQ3NUJENiAvKiBXTUxTZWxlY3RFbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTFNlbGVjdEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMDgyM0QxNTgxMjdBRDZBQzAwMEVCQzk1IC8qIFNWR0FuaW1hdGVkSW50
ZWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRlZEludGVn
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgyNTA5MzgxMjhCRDREODAwRTJF
RDhFIC8qIFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMDgyREU0MkMxMjkyNjIxNjAwRDkyM0RGIC8qIFNWR1BhdGhTZWdXaXRoQ29u
dGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnV2l0aENv
bnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY1MTYsMTMgKzY0MjYsNyBA
QAogCQkwODRBMDgyODEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0eVRl
YXJPZmYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0xpc3RQ
cm9wZXJ0eVRlYXJPZmYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QUVCRTIw
RkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU2VsZWN0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA4NEFFQkUzMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlbGVjdEVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDg0Q0U1QzcwRjI3REFEQzAwRTYyNDBFIC8qIFdNTE9wdEdy
b3VwRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxP
cHRHcm91cEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODRDRTVD
ODBGMjdEQURDMDBFNjI0MEUgLyogV01MT3B0R3JvdXBFbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdNTE9wdEdyb3VwRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQkwODRDRTVDOTBGMjdEQURDMDBFNjI0MEUgLyogV01MT3B0aW9uRWxlbWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxPcHRpb25FbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDg0Q0U1Q0EwRjI3REFEQzAw
RTYyNDBFIC8qIFdNTE9wdGlvbkVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV01MT3B0aW9uRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
ODREQjU5QTEyODAwOENDMDAyQTZENjQgLyogU1ZHQW5pbWF0ZWRTdHJpbmcuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRTdHJpbmcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMDg0REJBOUQwRUQzOUQzNTAwMzhDMjI2IC8qIFdNTFZhcmlhYmxl
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxWYXJpYWJsZXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODREQkE5RTBFRDM5RDM2MDAzOEMy
MjYgLyogV01MVmFyaWFibGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdN
TFZhcmlhYmxlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODUyNUU2MjEyNzhD
MDAxMDBBODQ3NzggLyogU1ZHQW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJP
ZmYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg1NEIwMDIxMjU1RTRFNjAwQjlD
REQwIC8qIFJlbmRlclNWR0lubGluZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW5kZXJTVkdJbmxpbmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwODU0QjAwMzEyNTVFNEU2MDBCOUNERDAgLyogUmVuZGVyU1ZHSW5saW5lLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR0lubGluZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNjU0NSwxNCArNjQ0OSwxMCBAQAogCQkwODU3OTcwODEyNzgzOTRD
MDBBOEVDNUYgLyogU1ZHQW5pbWF0ZWRCb29sZWFuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR0FuaW1hdGVkQm9vbGVhbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwODU5MUFBNDBGMDg1QzRFMDA5QkFDQjEgLyogSW5wdXRFbGVtZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElucHV0RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwODVBMTU5MjEyODlBOEREMDAyNzEwRTMgLyogU1ZHQW5pbWF0ZWRUcmFu
c2Zvcm1MaXN0UHJvcGVydHlUZWFyT2ZmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdFByb3BlcnR5VGVhck9mZi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQkwODVBRkRDNjBGMjk3NzM1MDA2MUYyQjMgLyogV01MRm9ybUNv
bnRyb2xFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdN
TEZvcm1Db250cm9sRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4
NUFGREM3MEYyOTc3MzUwMDYxRjJCMyAvKiBXTUxGb3JtQ29udHJvbEVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MRm9ybUNvbnRyb2xFbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NUI5MkI4MEVGREU3M0QwMEU2MTIzQyAvKiBGb3Jt
RGF0YUJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9y
bURhdGFCdWlsZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg1QjkyQjkw
RUZERTczRDAwRTYxMjNDIC8qIEZvcm1EYXRhQnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBGb3JtRGF0YUJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMDg2NDFENDUxMjE0MkY3RDAwOERFOUY2IC8qIFJlbmRlckltYWdlUmVzb3VyY2VTdHls
ZUltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlcklt
YWdlUmVzb3VyY2VTdHlsZUltYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDg2NDFENDYxMjE0MkY3RDAwOERFOUY2IC8qIFJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlckltYWdlUmVzb3VyY2VT
dHlsZUltYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4NjVDQ0U0MEVEREY1
MUIwMERGOUVDMyAvKiBXTUxOb29wRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXTUxOb29wRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTA4NjVDQ0U1MEVEREY1MUIwMERGOUVDMyAvKiBXTUxOb29wRWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxOb29wRWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwODZCQkQwRTEzNjAzOUMyMDA4QjE1RDggLyogR2x5cGguaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2x5cGguaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMDg3MDBCRTYwRjA4NkM1MzAwOTE5NDE5IC8qIElucHV0RWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnB1dEVsZW1lbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODcyODE1MTBGMjZCOUI2MDBBRkM1OTYg
LyogT3B0aW9uRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBPcHRpb25FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY1NjAs
MjYgKzY0NjAsMTAgQEAKIAkJMDg3MjgxNTMwRjI2QjlCNjAwQUZDNTk2IC8qIE9wdGlvbkdyb3Vw
RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPcHRpb25H
cm91cEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODcyODE1NDBG
MjZCOUI2MDBBRkM1OTYgLyogT3B0aW9uR3JvdXBFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE9wdGlvbkdyb3VwRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwODczQjg2QTEzNjA2NEVBMDBBNTIyQzIgLyogR2x5cGhQYWdlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdseXBoUGFnZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQkwODc0NEJBOTBFREI3RDg2MDA0QzlFNjMgLyogV01MT25FdmVudEVsZW1l
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MT25FdmVudEVs
ZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODc0NEJBRDBFREI3RDky
MDA0QzlFNjMgLyogV01MT25FdmVudEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV01MT25FdmVudEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDg3Qjg0OTUxMjcyQ0VDNzAwQTE0NDE3IC8qIFNWR0FuaW1hdGVkQW5nbGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRBbmdsZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwODdFMEFGNDEzNjA2RDBCMDBGQTRCQTggLyogU1ZHR2x5cGgu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHR2x5cGguY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODdFMEFGNTEzNjA2RDBCMDBGQTRCQTggLyog
U1ZHR2x5cGguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHR2x5cGguaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDg3RkZBMEQwRUZGM0VEMzAwOURCRDg4IC8q
IFdNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQkwODdGRkEwRTBFRkYzRUQzMDA5REJEODggLyogV01MSW5zZXJ0ZWRMZWdl
bmRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEluc2VydGVk
TGVnZW5kRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODgwN0I2QTBF
RDcwOUFCMDAzRjY5NzUgLyogV01MR29FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdNTEdvRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTA4ODA3QjZCMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxHb0VsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MR29FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTA4ODA3QjcwMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxQcmV2RWxlbWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxQcmV2RWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4ODA3QjcxMEVENzA5QUIwMDNG
Njk3NSAvKiBXTUxQcmV2RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXTUxQcmV2RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODgwN0I3
MjBFRDcwOUFCMDAzRjY5NzUgLyogV01MUmVmcmVzaEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MUmVmcmVzaEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQkwODgwN0I3MzBFRDcwOUFCMDAzRjY5NzUgLyogV01MUmVmcmVz
aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MUmVmcmVzaEVs
ZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDg4MDdCNzQwRUQ3MDlBQjAw
M0Y2OTc1IC8qIFdNTFNldHZhckVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV01MU2V0dmFyRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTA4ODA3Qjc1MEVENzA5QUIwMDNGNjk3NSAvKiBXTUxTZXR2YXJFbGVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTFNldHZhckVsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg4MEY3MEQxMjgyQjQ2RDAwOTQ4NTA1IC8qIFNWR1N0
YXRpY0xpc3RQcm9wZXJ0eVRlYXJPZmYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU1ZHU3RhdGljTGlzdFByb3BlcnR5VGVhck9mZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQkwODgyMEJEQzBFRjVEMzgxMDA5MDk5QTggLyogV01MVGFibGVFbGVtZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTFRhYmxlRWxlbWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4ODIwQkREMEVGNUQzODEwMDkwOTlBOCAv
KiBXTUxUYWJsZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01M
VGFibGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4ODQ1MTEzMEYy
NjdCNjIwMDdGMTM5RSAvKiBXTUxJbnB1dEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV01MSW5wdXRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJMDg4NDUxMTQwRjI2N0I2MzAwN0YxMzlFIC8qIFdNTElucHV0RWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxJbnB1dEVsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg4NTA2N0QxMURBMDQ1QjAwMTgyQjk4IC8qIFBh
aW50SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWludEluZm8uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg4NTA2N0UxMURBMDQ1QjAwMTgyQjk4IC8q
IFBhaW50UGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFpbnRQaGFz
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODhBMERGQjEyNkVGMURCMDA5NzhG
N0EgLyogU1ZHQW5pbWF0ZWRMaXN0UHJvcGVydHlUZWFyT2ZmLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkTGlzdFByb3BlcnR5VGVhck9mZi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjU5NSwxNCArNjQ3OSw4IEBACiAJCTA4OEMyRjc2MTIz
OTAwODAwMDNENjVDRSAvKiBTVkdUZXh0TGF5b3V0QXR0cmlidXRlcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTVkdUZXh0TGF5b3V0QXR0cmlidXRlcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwODkwMjFBODEyNkVGNURFMDA5MkQ1RUEgLyogU1ZHQW5pbWF0
ZWRMZW5ndGguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRM
ZW5ndGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg5MDIxQUMxMjZFRjVFOTAw
OTJENUVBIC8qIFNWR0FuaW1hdGVkTGVuZ3RoTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdBbmltYXRlZExlbmd0aExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJMDg5M0U0NjUwRUNCNjhGNDAwQTI4NTYzIC8qIFdNTFBhZ2VTdGF0ZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxQYWdlU3RhdGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODkzRTQ2NjBFQ0I2OEY0MDBBMjg1NjMgLyogV01M
UGFnZVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTFBhZ2VTdGF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODk1ODI1MzBFODU3QTdFMDBGODJD
ODMgLyogSW1hZ2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSW1hZ2VMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODk1ODI1
NDBFODU3QTdFMDBGODJDODMgLyogSW1hZ2VMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW1hZ2VMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
MDg5N0MxNEEwRUQyRUJBNDAwQUUwNkRCIC8qIFdNTEJSRWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxCUkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkwODk3QzE0QjBFRDJFQkE0MDBBRTA2REIgLyogV01MQlJFbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEJSRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODk3RDk3ODBGMDA3QTQ2MDA0MTFCQjMgLyogV01M
TWV0YUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01M
TWV0YUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODk3RDk3OTBG
MDA3QTQ2MDA0MTFCQjMgLyogV01MTWV0YUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV01MTWV0YUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDg5QThFMDYxMjhEOEIzRDAwRTdBNTM0IC8qIFNWR0FuaW1hdGVkUGF0aFNlZ0xpc3RQcm9w
ZXJ0eVRlYXJPZmYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0
ZWRQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwODlGMEQ1MDEzMTZDRTkzMDA1ODc3QUQgLyogQ1NTTXV0YWJsZVZhbHVlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU011dGFibGVWYWx1ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwOEE0ODQ3NTBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxl
bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2MTAsMjUgKzY0ODgsMTMg
QEAKIAkJMDhBNDhBNkQwRTg2Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxlbWVudEluc3RhbmNlQ3Vz
dG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHRWxlbWVu
dEluc3RhbmNlQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhCMzVC
MTIxMjdCNkE3QzAwNTMxNEREIC8qIFNWR0FuaW1hdGVkTnVtYmVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkTnVtYmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA4QjM1QjE2MTI3QjZBODgwMDUzMTRERCAvKiBTVkdBbmltYXRlZE51bWJl
ckxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWROdW1i
ZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4QzRDNTE0MEVGMTlBNDAw
MEU0ODQwRiAvKiBXTUxJbWFnZUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV01MSW1hZ2VFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJMDhDNEM1MTUwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlRWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxJbWFnZUVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDhDNEM1MTYwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdl
TG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTEltYWdl
TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDhDNEM1MTcwRUYxOUE0
MDAwRTQ4NDBGIC8qIFdNTEltYWdlTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdNTEltYWdlTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4
QzcxMzZEMTI4OTU2QTMwMDFCMTA3RSAvKiBTVkdUcmFuc2Zvcm1MaXN0UHJvcGVydHlUZWFyT2Zm
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1RyYW5zZm9ybUxpc3RQcm9w
ZXJ0eVRlYXJPZmYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhDODU5QkYxMjc0
NTc1MzAwQTU3MjhEIC8qIFNWR0FuaW1hdGVkUmVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdBbmltYXRlZFJlY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDhDOTI1MTcwRkNDN0M0QTAwNDgwREVDIC8qIEZpbHRlckVmZmVjdC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGaWx0ZXJFZmZlY3QuY3BwOyBwYXRoID0gZmls
dGVycy9GaWx0ZXJFZmZlY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwOEM5
MjUxODBGQ0M3QzRBMDA0ODBERUMgLyogRmlsdGVyRWZmZWN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEZpbHRlckVmZmVjdC5oOyBwYXRoID0gZmlsdGVycy9GaWx0ZXJFZmZl
Y3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhDQTNENDMxMjg5NEEzODAwRkZG
MjYwIC8qIFNWR1N0YXRpY1Byb3BlcnR5V2l0aFBhcmVudFRlYXJPZmYuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHU3RhdGljUHJvcGVydHlXaXRoUGFyZW50VGVhck9mZi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwOENENjFCODBFRDM5MjlDMDAyRERGNTEg
LyogV01MVGFza0VsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV01MVGFza0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwOENE
NjFCOTBFRDM5MjlDMDAyRERGNTEgLyogV01MVGFza0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV01MVGFza0VsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMDhENDZDRTIxMjdBRDVGQzAwODk2OTRCIC8qIFNWR0FuaW1hdGVkRW51bWVyYXRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRFbnVtZXJh
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwOEUxOTI1MTBFREUwQzM5MDA4
N0I3ODAgLyogV01MRXJyb3JIYW5kbGluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXTUxFcnJvckhhbmRsaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJMDhFMTkyNTIwRURFMEMzQTAwODdCNzgwIC8qIFdNTEVycm9ySGFuZGxpbmcuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MRXJyb3JIYW5kbGluZy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwOEU0RkU0NTBFMkJENDE0MDBGNENBRTAgLyogSlNTVkdM
ZW5ndGhDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNT
VkdMZW5ndGhDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwOEU2QTJF
NjBFRUUwMzUyMDBBQzEyMDYgLyogV01MUG9zdGZpZWxkRWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxQb3N0ZmllbGRFbGVtZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDhFNkEyRTcwRUVFMDM1MjAwQUMxMjA2IC8qIFdNTFBv
c3RmaWVsZEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MUG9z
dGZpZWxkRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwOEU2RTBFRjBF
RkY0MkJBMDAwMjlGQkYgLyogV01MRmllbGRTZXRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTEZpZWxkU2V0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTA4RTZFMEYwMEVGRjQyQkEwMDAyOUZCRiAvKiBXTUxGaWVsZFNl
dEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MRmllbGRTZXRF
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4RURFMTlFMTJBNTBCOEUw
MEI5NTc5NyAvKiBTVkdSZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R1JlY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhGMEJGQkQxMjU1QzUzQzAw
MDc1MTg1IC8qIFNWR1RleHRDaHVuay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTVkdUZXh0Q2h1bmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
OEYwQkZCRTEyNTVDNTNDMDAwNzUxODUgLyogU1ZHVGV4dENodW5rLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1RleHRDaHVuay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNzgwNiwxOCArNzY3Miw2IEBACiAJCTRCNkZBNkY2MEMzOUU0QTEwMDA4NzAxMSAv
KiBTbWFydFJlcGxhY2VDRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTbWFydFJlcGxhY2VDRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCOEFG
NEE5MEIxQ0UwMkIwMDY4NzY5MCAvKiBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBib2FyZEFjY2Vzc1BvbGljeS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0QkFFOTVCMDBCMkZBOUNFMDBBRUQ4QTAgLyogRWRpdG9y
RGVsZXRlQWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVkaXRvckRl
bGV0ZUFjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0QzZCOTkxODBFNTJF
MzczMDA0ODdCQjcgLyogV01MQUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdNTEFFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNEM2Qjk5MTkwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTEFFbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxBRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk0QzZCOTkxQzBFNTJFMzczMDA0ODdCQjcgLyogV01MQXR0cmlidXRlTmFtZXMu
aW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdNTEF0dHJpYnV0ZU5hbWVzLmluOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk0QzZCOTkxRjBFNTJFMzczMDA0ODdCQjcgLyogV01MQ2Fy
ZEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTENh
cmRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNEM2Qjk5MjAwRTUy
RTM3MzAwNDg3QkI3IC8qIFdNTENhcmRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXTUxDYXJkRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk0QzZCOTkyMTBFNTJFMzczMDA0ODdCQjcgLyogV01MRG9jdW1lbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTERvY3VtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNEM2Qjk5MjIwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTERvY3VtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxEb2N1bWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0QzZCOTkyNTBFNTJFMzczMDA0ODdCQjcgLyogV01M
RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MRWxl
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRDNkI5OTI2MEU1MkUzNzMw
MDQ4N0JCNyAvKiBXTUxFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXTUxFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRDNkI5OTM1MEU1
MkUzNzMwMDQ4N0JCNyAvKiBXTUxQRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV01MUEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk0QzZCOTkzNjBFNTJFMzczMDA0ODdCQjcgLyogV01MUEVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTFBFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTRDNkI5OTQzMEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxUYWdOYW1lcy5pbiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV01MVGFnTmFtZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTRDQTNBQjQ4MEU1NTZGMjQwMEU5QzBDMCAvKiBXTUxOYW1lcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MTmFtZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNENBM0FCNDkwRTU1NkYyNDAwRTlDMEMwIC8qIFdNTE5hbWVzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxOYW1lcy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRDREU1NEVDMEU1NTc5NzgwMDg5RTI2QyAvKiB3bWwu
Y3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSB3bWwuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTI2ODgsNyArMTI1NDIsNiBAQAogCQkJCUIyMjI3N0NBMEQwMEJGMUUwMDcx
Qjc4MiAvKiBzdmcgKi8sCiAJCQkJRkQzMTVGQTIxMkIwMjVCMTAwQzFBMzU5IC8qIHdlYmF1ZGlv
ICovLAogCQkJCTUxOEEzNEJEMTAyNkM4MzEwMDFCNjg5NiAvKiB3ZWJzb2NrZXRzICovLAotCQkJ
CTRDNkI5OTE1MEU1MkUzNzMwMDQ4N0JCNyAvKiB3bWwgKi8sCiAJCQkJMkU0MzQ2MzEwRjU0NkE2
ODAwQjBGMUJBIC8qIHdvcmtlcnMgKi8sCiAJCQkJRTFGMDQyNDMwOTgzOTM4OTAwNjY5NEVBIC8q
IHhtbCAqLywKIAkJCQk2NTY1ODBFQzA5RDEyQjIwMDAwRTYxRDcgLyogRGVyaXZlZCBTb3VyY2Vz
ICovLApAQCAtMTM3OTAsODcgKzEzNjQzLDYgQEAKIAkJCW5hbWUgPSBhbmltYXRpb247CiAJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OwotCQk0QzZCOTkxNTBFNTJFMzczMDA0ODdCQjcg
Lyogd21sICovID0gewotCQkJaXNhID0gUEJYR3JvdXA7Ci0JCQljaGlsZHJlbiA9ICgKLQkJCQkw
ODIwM0E5RDBFRDhDMzUzMDBCOEI2MUEgLyogV01MQWNjZXNzRWxlbWVudC5jcHAgKi8sCi0JCQkJ
MDgyMDNBOUUwRUQ4QzM1MzAwQjhCNjFBIC8qIFdNTEFjY2Vzc0VsZW1lbnQuaCAqLywKLQkJCQk0
QzZCOTkxODBFNTJFMzczMDA0ODdCQjcgLyogV01MQUVsZW1lbnQuY3BwICovLAotCQkJCTRDNkI5
OTE5MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxBRWxlbWVudC5oICovLAotCQkJCTA4MDA4MTk0MEVE
M0IyREQwMEM1M0JDMCAvKiBXTUxBbmNob3JFbGVtZW50LmNwcCAqLywKLQkJCQkwODAwODE5NTBF
RDNCMkREMDBDNTNCQzAgLyogV01MQW5jaG9yRWxlbWVudC5oICovLAotCQkJCTRDNkI5OTFDMEU1
MkUzNzMwMDQ4N0JCNyAvKiBXTUxBdHRyaWJ1dGVOYW1lcy5pbiAqLywKLQkJCQkwODk3QzE0QTBF
RDJFQkE0MDBBRTA2REIgLyogV01MQlJFbGVtZW50LmNwcCAqLywKLQkJCQkwODk3QzE0QjBFRDJF
QkE0MDBBRTA2REIgLyogV01MQlJFbGVtZW50LmggKi8sCi0JCQkJNEM2Qjk5MUYwRTUyRTM3MzAw
NDg3QkI3IC8qIFdNTENhcmRFbGVtZW50LmNwcCAqLywKLQkJCQk0QzZCOTkyMDBFNTJFMzczMDA0
ODdCQjcgLyogV01MQ2FyZEVsZW1lbnQuaCAqLywKLQkJCQk0QzZCOTkyMTBFNTJFMzczMDA0ODdC
QjcgLyogV01MRG9jdW1lbnQuY3BwICovLAotCQkJCTRDNkI5OTIyMEU1MkUzNzMwMDQ4N0JCNyAv
KiBXTUxEb2N1bWVudC5oICovLAotCQkJCTA4MDRCRjZDMEVFMDlDM0IwMDA2QzAwMCAvKiBXTUxE
b0VsZW1lbnQuY3BwICovLAotCQkJCTA4MDRCRjZEMEVFMDlDM0IwMDA2QzAwMCAvKiBXTUxEb0Vs
ZW1lbnQuaCAqLywKLQkJCQk0QzZCOTkyNTBFNTJFMzczMDA0ODdCQjcgLyogV01MRWxlbWVudC5j
cHAgKi8sCi0JCQkJNEM2Qjk5MjYwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTEVsZW1lbnQuaCAqLywK
LQkJCQkwOEUxOTI1MTBFREUwQzM5MDA4N0I3ODAgLyogV01MRXJyb3JIYW5kbGluZy5jcHAgKi8s
Ci0JCQkJMDhFMTkyNTIwRURFMEMzQTAwODdCNzgwIC8qIFdNTEVycm9ySGFuZGxpbmcuaCAqLywK
LQkJCQkwODE4QUVFMDBFREI4NkJDMDA2NDdCNjYgLyogV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQu
Y3BwICovLAotCQkJCTA4MThBRUUxMEVEQjg2QkMwMDY0N0I2NiAvKiBXTUxFdmVudEhhbmRsaW5n
RWxlbWVudC5oICovLAotCQkJCTA4RTZFMEVGMEVGRjQyQkEwMDAyOUZCRiAvKiBXTUxGaWVsZFNl
dEVsZW1lbnQuY3BwICovLAotCQkJCTA4RTZFMEYwMEVGRjQyQkEwMDAyOUZCRiAvKiBXTUxGaWVs
ZFNldEVsZW1lbnQuaCAqLywKLQkJCQkwODVBRkRDNjBGMjk3NzM1MDA2MUYyQjMgLyogV01MRm9y
bUNvbnRyb2xFbGVtZW50LmNwcCAqLywKLQkJCQkwODVBRkRDNzBGMjk3NzM1MDA2MUYyQjMgLyog
V01MRm9ybUNvbnRyb2xFbGVtZW50LmggKi8sCi0JCQkJMDg4MDdCNkEwRUQ3MDlBQjAwM0Y2OTc1
IC8qIFdNTEdvRWxlbWVudC5jcHAgKi8sCi0JCQkJMDg4MDdCNkIwRUQ3MDlBQjAwM0Y2OTc1IC8q
IFdNTEdvRWxlbWVudC5oICovLAotCQkJCTA4QzRDNTE0MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJ
bWFnZUVsZW1lbnQuY3BwICovLAotCQkJCTA4QzRDNTE1MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJ
bWFnZUVsZW1lbnQuaCAqLywKLQkJCQkwOEM0QzUxNjBFRjE5QTQwMDBFNDg0MEYgLyogV01MSW1h
Z2VMb2FkZXIuY3BwICovLAotCQkJCTA4QzRDNTE3MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFn
ZUxvYWRlci5oICovLAotCQkJCTA4ODQ1MTEzMEYyNjdCNjIwMDdGMTM5RSAvKiBXTUxJbnB1dEVs
ZW1lbnQuY3BwICovLAotCQkJCTA4ODQ1MTE0MEYyNjdCNjMwMDdGMTM5RSAvKiBXTUxJbnB1dEVs
ZW1lbnQuaCAqLywKLQkJCQkwODdGRkEwRDBFRkYzRUQzMDA5REJEODggLyogV01MSW5zZXJ0ZWRM
ZWdlbmRFbGVtZW50LmNwcCAqLywKLQkJCQkwODdGRkEwRTBFRkYzRUQzMDA5REJEODggLyogV01M
SW5zZXJ0ZWRMZWdlbmRFbGVtZW50LmggKi8sCi0JCQkJMDgwQUVDN0QwRUQ4NzA4QTAwREY0Q0NF
IC8qIFdNTEludHJpbnNpY0V2ZW50LmNwcCAqLywKLQkJCQkwODBBRUM3RTBFRDg3MDhCMDBERjRD
Q0UgLyogV01MSW50cmluc2ljRXZlbnQuaCAqLywKLQkJCQkwODBBRUM3RjBFRDg3MDhCMDBERjRD
Q0UgLyogV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcCAqLywKLQkJCQkwODBBRUM4MDBFRDg3
MDhCMDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmggKi8sCi0JCQkJMDg5N0Q5
NzgwRjAwN0E0NjAwNDExQkIzIC8qIFdNTE1ldGFFbGVtZW50LmNwcCAqLywKLQkJCQkwODk3RDk3
OTBGMDA3QTQ2MDA0MTFCQjMgLyogV01MTWV0YUVsZW1lbnQuaCAqLywKLQkJCQkwODY1Q0NFNDBF
RERGNTFCMDBERjlFQzMgLyogV01MTm9vcEVsZW1lbnQuY3BwICovLAotCQkJCTA4NjVDQ0U1MEVE
REY1MUIwMERGOUVDMyAvKiBXTUxOb29wRWxlbWVudC5oICovLAotCQkJCTA4NzQ0QkE5MEVEQjdE
ODYwMDRDOUU2MyAvKiBXTUxPbkV2ZW50RWxlbWVudC5jcHAgKi8sCi0JCQkJMDg3NDRCQUQwRURC
N0Q5MjAwNEM5RTYzIC8qIFdNTE9uRXZlbnRFbGVtZW50LmggKi8sCi0JCQkJMDg0Q0U1QzcwRjI3
REFEQzAwRTYyNDBFIC8qIFdNTE9wdEdyb3VwRWxlbWVudC5jcHAgKi8sCi0JCQkJMDg0Q0U1Qzgw
RjI3REFEQzAwRTYyNDBFIC8qIFdNTE9wdEdyb3VwRWxlbWVudC5oICovLAotCQkJCTA4NENFNUM5
MEYyN0RBREMwMEU2MjQwRSAvKiBXTUxPcHRpb25FbGVtZW50LmNwcCAqLywKLQkJCQkwODRDRTVD
QTBGMjdEQURDMDBFNjI0MEUgLyogV01MT3B0aW9uRWxlbWVudC5oICovLAotCQkJCTA4OTNFNDY1
MEVDQjY4RjQwMEEyODU2MyAvKiBXTUxQYWdlU3RhdGUuY3BwICovLAotCQkJCTA4OTNFNDY2MEVD
QjY4RjQwMEEyODU2MyAvKiBXTUxQYWdlU3RhdGUuaCAqLywKLQkJCQk0QzZCOTkzNTBFNTJFMzcz
MDA0ODdCQjcgLyogV01MUEVsZW1lbnQuY3BwICovLAotCQkJCTRDNkI5OTM2MEU1MkUzNzMwMDQ4
N0JCNyAvKiBXTUxQRWxlbWVudC5oICovLAotCQkJCTA4RTZBMkU2MEVFRTAzNTIwMEFDMTIwNiAv
KiBXTUxQb3N0ZmllbGRFbGVtZW50LmNwcCAqLywKLQkJCQkwOEU2QTJFNzBFRUUwMzUyMDBBQzEy
MDYgLyogV01MUG9zdGZpZWxkRWxlbWVudC5oICovLAotCQkJCTA4ODA3QjcwMEVENzA5QUIwMDNG
Njk3NSAvKiBXTUxQcmV2RWxlbWVudC5jcHAgKi8sCi0JCQkJMDg4MDdCNzEwRUQ3MDlBQjAwM0Y2
OTc1IC8qIFdNTFByZXZFbGVtZW50LmggKi8sCi0JCQkJMDg4MDdCNzIwRUQ3MDlBQjAwM0Y2OTc1
IC8qIFdNTFJlZnJlc2hFbGVtZW50LmNwcCAqLywKLQkJCQkwODgwN0I3MzBFRDcwOUFCMDAzRjY5
NzUgLyogV01MUmVmcmVzaEVsZW1lbnQuaCAqLywKLQkJCQkwODIzNDFDMzBGQ0YzQTk0MDBENzVC
RDYgLyogV01MU2VsZWN0RWxlbWVudC5jcHAgKi8sCi0JCQkJMDgyMzQxQzQwRkNGM0E5NDAwRDc1
QkQ2IC8qIFdNTFNlbGVjdEVsZW1lbnQuaCAqLywKLQkJCQkwODgwN0I3NDBFRDcwOUFCMDAzRjY5
NzUgLyogV01MU2V0dmFyRWxlbWVudC5jcHAgKi8sCi0JCQkJMDg4MDdCNzUwRUQ3MDlBQjAwM0Y2
OTc1IC8qIFdNTFNldHZhckVsZW1lbnQuaCAqLywKLQkJCQkwODgyMEJEQzBFRjVEMzgxMDA5MDk5
QTggLyogV01MVGFibGVFbGVtZW50LmNwcCAqLywKLQkJCQkwODgyMEJERDBFRjVEMzgxMDA5MDk5
QTggLyogV01MVGFibGVFbGVtZW50LmggKi8sCi0JCQkJNEM2Qjk5NDMwRTUyRTM3MzAwNDg3QkI3
IC8qIFdNTFRhZ05hbWVzLmluICovLAotCQkJCTA4Q0Q2MUI4MEVEMzkyOUMwMDJEREY1MSAvKiBX
TUxUYXNrRWxlbWVudC5jcHAgKi8sCi0JCQkJMDhDRDYxQjkwRUQzOTI5QzAwMkRERjUxIC8qIFdN
TFRhc2tFbGVtZW50LmggKi8sCi0JCQkJMDgwRkFFMTgwRUVFQkRBODAwQUFDREU5IC8qIFdNTFRl
bXBsYXRlRWxlbWVudC5jcHAgKi8sCi0JCQkJMDgwRkFFMTkwRUVFQkRBODAwQUFDREU5IC8qIFdN
TFRlbXBsYXRlRWxlbWVudC5oICovLAotCQkJCTA4MUQ4MTJGMEVFMEU3NEQwMEQ3MzY4OSAvKiBX
TUxUaW1lckVsZW1lbnQuY3BwICovLAotCQkJCTA4MUQ4MTMwMEVFMEU3NEQwMEQ3MzY4OSAvKiBX
TUxUaW1lckVsZW1lbnQuaCAqLywKLQkJCQkwODREQkE5RDBFRDM5RDM1MDAzOEMyMjYgLyogV01M
VmFyaWFibGVzLmNwcCAqLywKLQkJCQkwODREQkE5RTBFRDM5RDM2MDAzOEMyMjYgLyogV01MVmFy
aWFibGVzLmggKi8sCi0JCQkpOwotCQkJcGF0aCA9IHdtbDsKLQkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7Ci0JCX07CiAJCTUxMjZFNkI2MEEyRTNBRUYwMDVDMjlGQSAvKiBpY29uICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTIyODU0LDQ0ICsyMjYyNiw4
IEBACiAJCQkJNDEyM0U1NjkxMjdCMzA0MTAwMEZFRUE3IC8qIFdpbmRvd0V2ZW50Q29udGV4dC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4MjQzRTkwRDBDRkQ3NTAwNDYwQzhGIC8qIFdpbmRvd0Zl
YXR1cmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUUxQkYwMDExNUZGNkZCMDA2RjUyQ0EgLyog
V2luZG93c0tleWJvYXJkQ29kZXMuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4MjAzQUEwMEVEOEMz
NTMwMEI4QjYxQSAvKiBXTUxBY2Nlc3NFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQkwODhD
OTc1MjBFQ0I2RTI4MDAwNTM0QkEgLyogV01MQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTA4MDA4MTk3MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxBbmNob3JFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKLQkJCQkwODk3QzE0RDBFRDJFQkE1MDBBRTA2REIgLyogV01MQlJFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKLQkJCQkwODhDOTc1NzBFQ0I2RTI4MDAwNTM0QkEgLyogV01MQ2FyZEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4OEM5NzU5MEVDQjZFMjgwMDA1MzRCQSAvKiBXTUxE
b2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDgwNEJGNkYwRUUwOUMzQjAwMDZDMDAwIC8q
IFdNTERvRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDg4Qzk3NUQwRUNCNkUyODAwMDUz
NEJBIC8qIFdNTEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4Mzk0NzZEMEVDRTRCRDYw
MDAyNzM1MCAvKiBXTUxFbGVtZW50RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDhFMTky
NTQwRURFMEMzQTAwODdCNzgwIC8qIFdNTEVycm9ySGFuZGxpbmcuaCBpbiBIZWFkZXJzICovLAot
CQkJCTA4MThBRUUzMEVEQjg2QkMwMDY0N0I2NiAvKiBXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJMDhFNkUwRjIwRUZGNDJCQTAwMDI5RkJGIC8qIFdNTEZpZWxk
U2V0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDg1QUZEQzkwRjI5NzczNTAwNjFGMkIz
IC8qIFdNTEZvcm1Db250cm9sRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDg4MDdCNzcw
RUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTEdvRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDhD
NEM1MTkwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJMDhDNEM1MUIwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlTG9hZGVyLmggaW4gSGVh
ZGVycyAqLywKLQkJCQkwODg0NTExNjBGMjY3QjYzMDA3RjEzOUUgLyogV01MSW5wdXRFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKLQkJCQkwODdGRkExMDBFRkYzRUQzMDA5REJEODggLyogV01MSW5z
ZXJ0ZWRMZWdlbmRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQkwODBBRUM4MjBFRDg3MDhC
MDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4MEFF
Qzg0MEVEODcwOEIwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTA4OTdEOTdCMEYwMDdBNDYwMDQxMUJCMyAvKiBXTUxNZXRhRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDg4Qzk3MTMwRUNCNkQ5RDAwMDUzNEJBIC8qIFdNTE5hbWVz
LmggaW4gSGVhZGVycyAqLywKLQkJCQkwODY1Q0NFNzBFRERGNTFCMDBERjlFQzMgLyogV01MTm9v
cEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4NzQ0QkFFMEVEQjdEOTIwMDRDOUU2MyAv
KiBXTUxPbkV2ZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDg0Q0U1Q0MwRjI3REFE
QzAwRTYyNDBFIC8qIFdNTE9wdEdyb3VwRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDg0
Q0U1Q0UwRjI3REFEQzAwRTYyNDBFIC8qIFdNTE9wdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAotCQkJCTA4OEM5NzZEMEVDQjZFMjkwMDA1MzRCQSAvKiBXTUxQYWdlU3RhdGUuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTA4OEM5NzZGMEVDQjZFMjkwMDA1MzRCQSAvKiBXTUxQRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJMDhFNkEyRTkwRUVFMDM1MjAwQUMxMjA2IC8qIFdNTFBvc3RmaWVs
ZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4ODA3QjdEMEVENzA5QUIwMDNGNjk3NSAv
KiBXTUxQcmV2RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDg4MDdCN0YwRUQ3MDlBQjAw
M0Y2OTc1IC8qIFdNTFJlZnJlc2hFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQkwODIzNDFD
NjBGQ0YzQTk1MDBENzVCRDYgLyogV01MU2VsZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJMDg4MDdCODEwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTFNldHZhckVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTA4ODIwQkRGMEVGNUQzODEwMDkwOTlBOCAvKiBXTUxUYWJsZUVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAotCQkJCTA4Q0Q2MUJEMEVEMzkyOUMwMDJEREY1MSAvKiBXTUxUYXNr
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDgwRkFFMUIwRUVFQkRBODAwQUFDREU5IC8q
IFdNTFRlbXBsYXRlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDgxRDgxMzIwRUUwRTc0
RDAwRDczNjg5IC8qIFdNTFRpbWVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDg0REJB
QTIwRUQzOUQzNjAwMzhDMjI2IC8qIFdNTFZhcmlhYmxlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Mzc5OTE5OTcxMjAwRERGNDAwRUEwNDFDIC8qIFdPRkZGaWxlRm9ybWF0LmggaW4gSGVhZGVycyAq
LywKIAkJCQkyRTQzNDY0NjBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyRTQzNDY0OTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyQ29udGV4dC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNTU1OCw0NCArMjUyOTQsOCBAQAogCQkJCTkzOUIwMkVFMEVBMkRCQzQw
MEM1NDU3MCAvKiBXaWR0aEl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxMjNFNTZB
MTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dFdmVudENvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM4MjQzRTgwRDBDRkQ3NTAwNDYwQzhGIC8qIFdpbmRvd0ZlYXR1cmVzLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTA4MjAzQTlGMEVEOEMzNTMwMEI4QjYxQSAvKiBXTUxBY2Nlc3NFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4OEM5NzUxMEVDQjZFMjgwMDA1MzRCQSAvKiBX
TUxBRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODAwODE5NjBFRDNCMkREMDBDNTNC
QzAgLyogV01MQW5jaG9yRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODk3QzE0QzBF
RDJFQkE1MDBBRTA2REIgLyogV01MQlJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4
OEM5NzU2MEVDQjZFMjgwMDA1MzRCQSAvKiBXTUxDYXJkRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQkwODhDOTc1ODBFQ0I2RTI4MDAwNTM0QkEgLyogV01MRG9jdW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJMDgwNEJGNkUwRUUwOUMzQjAwMDZDMDAwIC8qIFdNTERvRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQkwODhDOTc1QzBFQ0I2RTI4MDAwNTM0QkEgLyogV01MRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwODM5NDc2QzBFQ0U0QkQ2MDAwMjczNTAgLyog
V01MRWxlbWVudEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDhFMTkyNTMwRURFMEMz
QTAwODdCNzgwIC8qIFdNTEVycm9ySGFuZGxpbmcuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDgx
OEFFRTIwRURCODZCQzAwNjQ3QjY2IC8qIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTA4RTZFMEYxMEVGRjQyQkEwMDAyOUZCRiAvKiBXTUxGaWVsZFNldEVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDg1QUZEQzgwRjI5NzczNTAwNjFGMkIzIC8q
IFdNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODgwN0I3NjBF
RDcwOUFCMDAzRjY5NzUgLyogV01MR29FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4
QzRDNTE4MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJMDhDNEM1MUEwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlTG9hZGVyLmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTA4ODQ1MTE1MEYyNjdCNjMwMDdGMTM5RSAvKiBXTUxJbnB1dEVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDg3RkZBMEYwRUZGM0VEMzAwOURCRDg4IC8q
IFdNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODBBRUM4
MTBFRDg3MDhCMDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMDgwQUVDODMwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50SGFuZGxl
ci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODk3RDk3QTBGMDA3QTQ2MDA0MTFCQjMgLyogV01M
TWV0YUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDg4Qzk3MTIwRUNCNkQ5MjAwMDUz
NEJBIC8qIFdNTE5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4NjVDQ0U2MEVEREY1MUIw
MERGOUVDMyAvKiBXTUxOb29wRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODc0NEJB
QTBFREI3RDg2MDA0QzlFNjMgLyogV01MT25FdmVudEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMDg0Q0U1Q0IwRjI3REFEQzAwRTYyNDBFIC8qIFdNTE9wdEdyb3VwRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQkwODRDRTVDRDBGMjdEQURDMDBFNjI0MEUgLyogV01MT3B0aW9u
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODhDOTc2QzBFQ0I2RTI5MDAwNTM0QkEg
LyogV01MUGFnZVN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4OEM5NzZFMEVDQjZFMjkw
MDA1MzRCQSAvKiBXTUxQRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwOEU2QTJFODBF
RUUwMzUyMDBBQzEyMDYgLyogV01MUG9zdGZpZWxkRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQkwODgwN0I3QzBFRDcwOUFCMDAzRjY5NzUgLyogV01MUHJldkVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJMDg4MDdCN0UwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTFJlZnJlc2hFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4MjM0MUM1MEZDRjNBOTUwMEQ3NUJENiAvKiBX
TUxTZWxlY3RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4ODA3QjgwMEVENzA5QUIw
MDNGNjk3NSAvKiBXTUxTZXR2YXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4ODIw
QkRFMEVGNUQzODEwMDkwOTlBOCAvKiBXTUxUYWJsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMDhDRDYxQkMwRUQzOTI5QzAwMkRERjUxIC8qIFdNTFRhc2tFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTA4MEZBRTFBMEVFRUJEQTgwMEFBQ0RFOSAvKiBXTUxUZW1wbGF0ZUVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDgxRDgxMzEwRUUwRTc0RDAwRDczNjg5IC8q
IFdNTFRpbWVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODREQkFBMTBFRDM5RDM2
MDAzOEMyMjYgLyogV01MVmFyaWFibGVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3OTkxOTk2
MTIwMERERjQwMEVBMDQxQyAvKiBXT0ZGRmlsZUZvcm1hdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRTQzNDY0NTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTJFNDM0NjQ4MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJDb250ZXh0LmNwcCBpbiBTb3Vy
Y2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkocmV2
aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTExNiwxMCArMTE2LDYgQEAKICNpbmNsdWRlICJTVkdOYW1lcy5o
IgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jZW5k
aWYKLQogI2lmIFBMQVRGT1JNKFFUKQogI2luY2x1ZGUgPHF3ZWJoaXN0b3J5aW50ZXJmYWNlLmg+
CiAjZW5kaWYKQEAgLTg5MiwxNyArODg4LDYgQEAgc3RhdGljIGlubGluZSBjb25zdCBBdG9taWNT
dHJpbmcqIGxpbmtBdAogICAgIGlmIChlbGVtZW50LT5pc0hUTUxFbGVtZW50KCkpCiAgICAgICAg
IHJldHVybiAmZWxlbWVudC0+ZmFzdEdldEF0dHJpYnV0ZShocmVmQXR0cik7CiAKLSNpZiBFTkFC
TEUoV01MKQotICAgIGlmIChlbGVtZW50LT5pc1dNTEVsZW1lbnQoKSkgewotICAgICAgICAvLyA8
YW5jaG9yPiBlbGVtZW50cyBkb24ndCBoYXZlIGhyZWYgYXR0cmlidXRlcywgYnV0IHdlIHN0aWxs
IHdhbnQgdG8KLSAgICAgICAgLy8gYXBwZWFyIGFzIGxpbmssIHNvIGxpbmtBdHRyaWJ1dGUoKSBo
YXMgdG8gcmV0dXJuIGEgbm9uLW51bGwgdmFsdWUhCi0gICAgICAgIGlmIChlbGVtZW50LT5oYXNU
YWdOYW1lKFdNTE5hbWVzOjphbmNob3JUYWcpKQotICAgICAgICAgICAgcmV0dXJuICZlbXB0eUF0
b207Ci0KLSAgICAgICAgcmV0dXJuICZlbGVtZW50LT5mYXN0R2V0QXR0cmlidXRlKGhyZWZBdHRy
KTsKLSAgICB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShTVkcpCiAgICAgaWYgKGVsZW1lbnQtPmlz
U1ZHRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gJmVsZW1lbnQtPmZhc3RHZXRBdHRyaWJ1dGUo
WExpbmtOYW1lczo6aHJlZkF0dHIpOwpAQCAtMTM3NiwxOCArMTM2MSw2IEBAIFBhc3NSZWZQdHI8
UmVuZGVyU3R5bGU+IENTU1N0eWxlU2VsZWN0b3IKICAgICB9CiAjZW5kaWYKIAotI2lmIEVOQUJM
RShXTUwpCi0gICAgc3RhdGljIGJvb2wgbG9hZGVkV01MVXNlckFnZW50U2hlZXQ7Ci0gICAgaWYg
KGUtPmlzV01MRWxlbWVudCgpICYmICFsb2FkZWRXTUxVc2VyQWdlbnRTaGVldCkgewotICAgICAg
ICAvLyBXTUwgcnVsZXMuCi0gICAgICAgIGxvYWRlZFdNTFVzZXJBZ2VudFNoZWV0ID0gdHJ1ZTsK
LSAgICAgICAgQ1NTU3R5bGVTaGVldCogd21sU2hlZXQgPSBwYXJzZVVBU2hlZXQod21sVXNlckFn
ZW50U3R5bGVTaGVldCwgc2l6ZW9mKHdtbFVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKLSAgICAgICAg
ZGVmYXVsdFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldCh3bWxTaGVldCwgc2NyZWVuRXZhbCgpKTsK
LSAgICAgICAgZGVmYXVsdFByaW50U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KHdtbFNoZWV0LCBw
cmludEV2YWwoKSk7Ci0gICAgICAgIGFzc2VydE5vU2libGluZ1J1bGVzSW5EZWZhdWx0U3R5bGUo
KTsKLSAgICB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShWSURFTykKICAgICBzdGF0aWMgYm9vbCBs
b2FkZWRNZWRpYVN0eWxlU2hlZXQ7CiAgICAgaWYgKCFsb2FkZWRNZWRpYVN0eWxlU2hlZXQgJiYg
KGUtPmhhc1RhZ05hbWUodmlkZW9UYWcpIHx8IGUtPmhhc1RhZ05hbWUoYXVkaW9UYWcpKSkgewpA
QCAtMTkxMiwxMyArMTg4NSw2IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YWRqdXN0UmVuZGVy
U3R5bGUKICAgICBpZiAoc3R5bGUtPmhhc0F1dG9aSW5kZXgoKSAmJiAoKGUgJiYgZS0+ZG9jdW1l
bnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkgPT0gZSkgfHwgc3R5bGUtPm9wYWNpdHkoKSA8IDEuMGYg
fHwgCiAgICAgICAgIHN0eWxlLT5oYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkoKSB8fCBzdHls
ZS0+aGFzTWFzaygpIHx8IHN0eWxlLT5ib3hSZWZsZWN0KCkpKQogICAgICAgICBzdHlsZS0+c2V0
WkluZGV4KDApOwotICAgIAotI2lmIEVOQUJMRShXTUwpCi0gICAgaWYgKGUgJiYgKGUtPmhhc1Rh
Z05hbWUoV01MTmFtZXM6Omluc2VydGVkTGVnZW5kVGFnKQotICAgICAgICAgICAgICB8fCBlLT5o
YXNUYWdOYW1lKFdNTE5hbWVzOjppbnB1dFRhZykpCi0gICAgICAgICAgICAmJiBzdHlsZS0+d2lk
dGgoKS5pc0F1dG8oKSkKLSAgICAgICAgc3R5bGUtPnNldFdpZHRoKExlbmd0aChJbnRyaW5zaWMp
KTsKLSNlbmRpZgogCiAgICAgLy8gVGV4dGFyZWEgY29uc2lkZXJzIG92ZXJmbG93IHZpc2libGUg
YXMgYXV0by4KICAgICBpZiAoZSAmJiBlLT5oYXNUYWdOYW1lKHRleHRhcmVhVGFnKSkgewpJbmRl
eDogU291cmNlL1dlYkNvcmUvY3NzL3dtbC5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL3dtbC5jc3MJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL3dt
bC5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTEsMjU3ICswLDAgQEAKLS8qCi0gKiBUaGUgZGVmYXVs
dCBzdHlsZSBzaGVldCB1c2VkIHRvIHJlbmRlciBXTUwuCi0gKgotICogQ29weXJpZ2h0IChDKSAy
MDAwIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIw
MDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi1AbmFtZXNwYWNlICJodHRw
Oi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiCi0KLXdtbCB7Ci0gICAgZGlzcGxh
eTogYmxvY2sKLX0KLQotLyogY2hpbGRyZW4gb2YgdGhlIDxoZWFkPiBlbGVtZW50IGFsbCBoYXZl
IGRpc3BsYXk6bm9uZSAqLwotaGVhZCB7Ci0gICAgZGlzcGxheTogbm9uZQotfQotCi1tZXRhIHsK
LSAgICBkaXNwbGF5OiBub25lCi19Ci0KLWFjY2VzcyB7Ci0gICAgZGlzcGxheTogbm9uZQotfQot
Ci0vKiBnZW5lcmljIGJsb2NrLWxldmVsIGVsZW1lbnRzICovCi0KLWNhcmQgewotICAgIGRpc3Bs
YXk6IGJsb2NrOwotICAgIG1hcmdpbjogOHB4Ci19Ci0KLXAgewotICAgIGRpc3BsYXk6IGJsb2Nr
OwotICAgIG1hcmdpbjogMS4wX19xZW0gMHB4Ci19Ci0KLS8qIHRhYmxlcyAqLwotCi10YWJsZSB7
Ci0gICAgZGlzcGxheTogdGFibGU7Ci0gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsKLSAg
ICBib3JkZXItc3BhY2luZzogMnB4OwotICAgIGJvcmRlci1jb2xvcjogZ3JheQotfQotCi0vKiBm
b3IgdGFibGVzIHdpdGhvdXQgdGFibGUgc2VjdGlvbiBlbGVtZW50cyAoY2FuIGhhcHBlbiB3aXRo
IFhIVE1MIG9yIGR5bmFtaWNhbGx5IGNyZWF0ZWQgdGFibGVzKSAqLwotdGFibGUgPiB0ciB7Ci0g
ICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKLX0KLQotdHIgewotICAgIGRpc3BsYXk6IHRhYmxl
LXJvdzsKLSAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDsKLSAgICBib3JkZXItY29sb3I6IGlu
aGVyaXQKLX0KLQotdGQgewotICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7Ci0gICAgdmVydGljYWwt
YWxpZ246IGluaGVyaXQKLX0KLQotLyogZm9ybSBlbGVtZW50cyAqLwotCi1nbyB7Ci0gICAgZGlz
cGxheTogYmxvY2s7Ci0gICAgbWFyZ2luLXRvcDogMF9fcWVtCi19Ci0KLWluc2VydGVkTGVnZW5k
IHsKLSAgICBkaXNwbGF5OiBibG9jazsKLSAgICBwYWRkaW5nLWxlZnQ6IDJweDsKLSAgICBwYWRk
aW5nLXJpZ2h0OiAycHg7Ci0gICAgYm9yZGVyOiBub25lCi19Ci0KLWZpZWxkc2V0IHsKLSAgICBk
aXNwbGF5OiBibG9jazsKLSAgICBtYXJnaW4tbGVmdDogMnB4OwotICAgIG1hcmdpbi1yaWdodDog
MnB4OwotICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsKLSAgICBib3JkZXI6IDJw
eCBncm9vdmUgVGhyZWVERmFjZQotfQotCi1kbyB7Ci0gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBi
dXR0b247Ci0gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKLSAgICB0ZXh0LWFsaWduOiBj
ZW50ZXI7Ci0gICAgY3Vyc29yOiBkZWZhdWx0OwotICAgIGNvbG9yOiBCdXR0b25UZXh0OwotICAg
IHBhZGRpbmc6IDJweCA2cHggM3B4IDZweDsKLSAgICBib3JkZXI6IDJweCBvdXRzZXQgQnV0dG9u
RmFjZTsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBCdXR0b25GYWNlOwotICAgIGJveC1zaXppbmc6
IGJvcmRlci1ib3gKLX0KLQotaW5wdXQsIHNlbGVjdCwgZG8gewotICAgIG1hcmdpbjogMF9fcWVt
OwotICAgIGZvbnQ6IC13ZWJraXQtc21hbGwtY29udHJvbDsKLSAgICBjb2xvcjogaW5pdGlhbDsK
LSAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOwotICAgIHdvcmQtc3BhY2luZzogbm9ybWFsOwot
ICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7Ci0gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7Ci0gICAg
dGV4dC1pbmRlbnQ6IDA7Ci0gICAgdGV4dC1zaGFkb3c6IG5vbmU7Ci0gICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOwotICAgIHRleHQtYWxpZ246IC13ZWJraXQtYXV0bzsKLX0KLQotaW5wdXQsIGlu
cHV0W3R5cGU9InBhc3N3b3JkIl0gewotICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxk
OwotICAgIHBhZGRpbmc6IDFweDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKLSAgICBi
b3JkZXI6IDJweCBpbnNldDsKLSAgICAtd2Via2l0LXJ0bC1vcmRlcmluZzogbG9naWNhbDsKLSAg
ICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0OwotICAgIGN1cnNvcjogYXV0bzsKLX0KLQotaW5w
dXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgewotICAgIGNvbG9yOiBkYXJrR3JheTsKLX0K
LQotaW5wdXRbdHlwZT0icGFzc3dvcmQiXSB7Ci0gICAgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBk
aXNjICFpbXBvcnRhbnQ7Ci19Ci0KLWlucHV0Oi13ZWJraXQtYXV0b2ZpbGwgewotICAgIGJhY2tn
cm91bmQtY29sb3I6ICNGQUZGQkQgIWltcG9ydGFudDsKLSAgICBiYWNrZ3JvdW5kLWltYWdlOm5v
bmUgIWltcG9ydGFudDsKLSAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OwotfQotCi1kbzpk
aXNhYmxlZCwgc2VsZWN0OmRpc2FibGVkLCBvcHRncm91cDpkaXNhYmxlZCwgb3B0aW9uOmRpc2Fi
bGVkIHsKLSAgICBjb2xvcjogR3JheVRleHQKLX0KLQotZG86YWN0aXZlIHsKLSAgICBib3JkZXIt
c3R5bGU6IGluc2V0Ci19Ci0KLWRvOmFjdGl2ZTpkaXNhYmxlZCB7Ci0gICAgYm9yZGVyLXN0eWxl
OiBvdXRzZXQKLX0KLQotc2VsZWN0IHsKLSAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0
OwotICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ci0gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNl
bnRlcjsKLSAgICBib3JkZXI6IDFweCBzb2xpZDsKLSAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6
IDVweDsKLSAgICB3aGl0ZS1zcGFjZTogcHJlOwotICAgIC13ZWJraXQtcnRsLW9yZGVyaW5nOiBs
b2dpY2FsOwotICAgIGNvbG9yOiBibGFjazsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsK
LSAgICBjdXJzb3I6IGRlZmF1bHQ7Ci19Ci0KLXNlbGVjdFtzaXplXSwKLXNlbGVjdFttdWx0aXBs
ZV0sCi1zZWxlY3Rbc2l6ZV1bbXVsdGlwbGVdIHsKLSAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGxp
c3Rib3g7Ci0gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0OwotICAgIGJvcmRlcjogMXB4IGlu
c2V0IGdyYXk7Ci0gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiBpbml0aWFsOwotICAgIHdoaXRl
LXNwYWNlOiBpbml0aWFsOwotfQotCi1zZWxlY3Rbc2l6ZT0iMCJdLAotc2VsZWN0W3NpemU9IjEi
XSB7Ci0gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdDsKLSAgICAtd2Via2l0LWJveC1h
bGlnbjogY2VudGVyOwotICAgIGJvcmRlcjogMXB4IHNvbGlkOwotICAgIC13ZWJraXQtYm9yZGVy
LXJhZGl1czogNXB4OwotICAgIHdoaXRlLXNwYWNlOiBwcmU7Ci19Ci0KLW9wdGdyb3VwIHsKLSAg
ICBmb250LXdlaWdodDogYm9sZGVyOwotfQotCi1vcHRpb24gewotICAgIGZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ci19Ci0KLS8qIGlubGluZSBlbGVtZW50cyAqLwotCi11IHsKLSAgICB0ZXh0LWRlY29y
YXRpb246IHVuZGVybGluZQotfQotCi1zdHJvbmcsIGIgewotICAgIGZvbnQtd2VpZ2h0OiBib2xk
ZXIKLX0KLQotaSwgZW0gewotICAgIGZvbnQtc3R5bGU6IGl0YWxpYwotfQotCi1iaWcgewotICAg
IGZvbnQtc2l6ZTogbGFyZ2VyCi19Ci0KLXNtYWxsIHsKLSAgICBmb250LXNpemU6IHNtYWxsZXIK
LX0KLQotcHJlIHsKLSAgICBkaXNwbGF5OiBibG9jazsKLSAgICBmb250LWZhbWlseTogbW9ub3Nw
YWNlOwotICAgIHdoaXRlLXNwYWNlOiBwcmU7Ci0gICAgbWFyZ2luOiAxX19xZW0gMAotfQotCi0v
KiBzdGF0ZXMgKi8KLQotOmZvY3VzIHsgCi0gICAgb3V0bGluZTogYXV0byA1cHggLXdlYmtpdC1m
b2N1cy1yaW5nLWNvbG9yCi19Ci0KLS8qIFJlYWQtb25seSB0ZXh0IGZpZWxkcyBkbyBub3Qgc2hv
dyBhIGZvY3VzIHJpbmcgYnV0IGRvIHN0aWxsIHJlY2VpdmUgZm9jdXMgKi8KLXdtbDpmb2N1cywg
Y2FyZDpmb2N1cyB7Ci0gICAgb3V0bGluZTogbm9uZQotfQotICAKLWlucHV0OmZvY3VzLCBzZWxl
Y3Q6Zm9jdXMgewotICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4Ci19Ci0KLWE6LXdlYmtpdC1hbnkt
bGluaywgYW5jaG9yOi13ZWJraXQtYW55LWxpbmsgewotICAgIGNvbG9yOiAtd2Via2l0LWxpbms7
Ci0gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ci0gICAgY3Vyc29yOiBhdXRvOwotfQot
Ci1hOi13ZWJraXQtYW55LWxpbms6YWN0aXZlLCBhbmNob3I6LXdlYmtpdC1hbnktbGluazphY3Rp
dmUgewotICAgIGNvbG9yOiAtd2Via2l0LWFjdGl2ZWxpbmsKLX0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niwx
MSArNTYsNiBAQAogI2luY2x1ZGUgIlNWR0RvY3VtZW50LmgiCiAjZW5kaWYKIAotI2lmIEVOQUJM
RShXTUwpCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNpbmNsdWRlICJXTUxEb2N1bWVudC5oIgot
I2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShTVkcpCkBAIC0yMzUs
MTEgKzIzMCw2IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IERPTUltcGxlbWVudGF0aW9uOjoKICAg
ICAgICAgZG9jID0gU1ZHRG9jdW1lbnQ6OmNyZWF0ZSgwLCBLVVJMKCkpOwogICAgIGVsc2UKICNl
bmRpZgotI2lmIEVOQUJMRShXTUwpCi0gICAgaWYgKG5hbWVzcGFjZVVSSSA9PSBXTUxOYW1lczo6
d21sTmFtZXNwYWNlVVJJKQotICAgICAgICBkb2MgPSBXTUxEb2N1bWVudDo6Y3JlYXRlKDAsIEtV
UkwoKSk7Ci0gICAgZWxzZQotI2VuZGlmCiAgICAgaWYgKG5hbWVzcGFjZVVSSSA9PSBIVE1MTmFt
ZXM6OnhodG1sTmFtZXNwYWNlVVJJKQogICAgICAgICBkb2MgPSBEb2N1bWVudDo6Y3JlYXRlWEhU
TUwoMCwgS1VSTCgpKTsKICAgICBlbHNlCkBAIC0zMjcsMTEgKzMxNyw2IEBAIFBhc3NSZWZQdHI8
RG9jdW1lbnQ+IERPTUltcGxlbWVudGF0aW9uOjoKICAgICAgICAgKQogICAgICAgICByZXR1cm4g
RG9jdW1lbnQ6OmNyZWF0ZVhIVE1MKGZyYW1lLCB1cmwpOwogCi0jaWYgRU5BQkxFKFdNTCkKLSAg
ICBpZiAodHlwZSA9PSAidGV4dC92bmQud2FwLndtbCIgfHwgdHlwZSA9PSAiYXBwbGljYXRpb24v
dm5kLndhcC53bWxjIikKLSAgICAgICAgcmV0dXJuIFdNTERvY3VtZW50OjpjcmVhdGUoZnJhbWUs
IHVybCk7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShGVFBESVIpCiAgICAgLy8gUGx1Z2lucyBjYW5u
b3QgdGFrZSBGVFAgZnJvbSB1cyBlaXRoZXIKICAgICBpZiAodHlwZSA9PSAiYXBwbGljYXRpb24v
eC1mdHAtZGlyZWN0b3J5IikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24g
ODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTIsMTMgKzE5Miw2IEBACiAjaW5jbHVkZSAiVG91Y2hFdmVudC5oIgogI2VuZGlmCiAK
LSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTERvY3VtZW50LmgiCi0jaW5jbHVkZSAiV01M
RWxlbWVudC5oIgotI2luY2x1ZGUgIldNTEVsZW1lbnRGYWN0b3J5LmgiCi0jaW5jbHVkZSAiV01M
TmFtZXMuaCIKLSNlbmRpZgotCiAjaWYgRU5BQkxFKE1BVEhNTCkKICNpbmNsdWRlICJNYXRoTUxF
bGVtZW50LmgiCiAjaW5jbHVkZSAiTWF0aE1MRWxlbWVudEZhY3RvcnkuaCIKQEAgLTQxNCw5ICs0
MDcsNiBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLCiAgICAgLCBt
X3Nhd0VsZW1lbnRzSW5Lbm93bk5hbWVzcGFjZXMoZmFsc2UpCiAgICAgLCBtX3VzaW5nR2VvbG9j
YXRpb24oZmFsc2UpCiAgICAgLCBtX2V2ZW50UXVldWUoRXZlbnRRdWV1ZTo6Y3JlYXRlKHRoaXMp
KQotI2lmIEVOQUJMRShXTUwpCi0gICAgLCBtX2NvbnRhaW5zV01MQ29udGVudChmYWxzZSkKLSNl
bmRpZgogICAgICwgbV93ZWFrUmVmZXJlbmNlKERvY3VtZW50V2Vha1JlZmVyZW5jZTo6Y3JlYXRl
KHRoaXMpKQogICAgICwgbV9pZEF0dHJpYnV0ZU5hbWUoaWRBdHRyKQogI2lmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKQEAgLTkzMywxMiArOTIzLDYgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBEb2N1
bWVudDo6Y3JlYXRlRWxlbQogICAgIGVsc2UgaWYgKHFOYW1lLm5hbWVzcGFjZVVSSSgpID09IFNW
R05hbWVzOjpzdmdOYW1lc3BhY2VVUkkpCiAgICAgICAgIGUgPSBTVkdFbGVtZW50RmFjdG9yeTo6
Y3JlYXRlU1ZHRWxlbWVudChxTmFtZSwgdGhpcywgY3JlYXRlZEJ5UGFyc2VyKTsKICNlbmRpZgot
I2lmIEVOQUJMRShXTUwpCi0gICAgZWxzZSBpZiAocU5hbWUubmFtZXNwYWNlVVJJKCkgPT0gV01M
TmFtZXM6OndtbE5hbWVzcGFjZVVSSSkKLSAgICAgICAgZSA9IFdNTEVsZW1lbnRGYWN0b3J5Ojpj
cmVhdGVXTUxFbGVtZW50KHFOYW1lLCB0aGlzLCBjcmVhdGVkQnlQYXJzZXIpOwotICAgIGVsc2Ug
aWYgKGlzV01MRG9jdW1lbnQoKSkKLSAgICAgICAgZSA9IFdNTEVsZW1lbnRGYWN0b3J5OjpjcmVh
dGVXTUxFbGVtZW50KFF1YWxpZmllZE5hbWUobnVsbEF0b20sIHFOYW1lLmxvY2FsTmFtZSgpLCBX
TUxOYW1lczo6d21sTmFtZXNwYWNlVVJJKSwgdGhpcywgY3JlYXRlZEJ5UGFyc2VyKTsKLSNlbmRp
ZgogI2lmIEVOQUJMRShNQVRITUwpCiAgICAgZWxzZSBpZiAocU5hbWUubmFtZXNwYWNlVVJJKCkg
PT0gTWF0aE1MTmFtZXM6Om1hdGhtbE5hbWVzcGFjZVVSSSkKICAgICAgICAgZSA9IE1hdGhNTEVs
ZW1lbnRGYWN0b3J5OjpjcmVhdGVNYXRoTUxFbGVtZW50KHFOYW1lLCB0aGlzLCBjcmVhdGVkQnlQ
YXJzZXIpOwpAQCAtOTUwLDkgKzkzNCw2IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gRG9jdW1lbnQ6
OmNyZWF0ZUVsZW0KICAgICAgICAgZSA9IEVsZW1lbnQ6OmNyZWF0ZShxTmFtZSwgZG9jdW1lbnQo
KSk7CiAKICAgICAvLyA8aW1hZ2U+IHVzZXMgaW1nVGFnIHNvIHdlIG5lZWQgYSBzcGVjaWFsIHJ1
bGUuCi0jaWYgRU5BQkxFKFdNTCkKLSAgICBpZiAoIWlzV01MRG9jdW1lbnQoKSkKLSNlbmRpZgog
ICAgIEFTU0VSVCgocU5hbWUubWF0Y2hlcyhpbWFnZVRhZykgJiYgZS0+dGFnUU5hbWUoKS5tYXRj
aGVzKGltZ1RhZykgJiYgZS0+dGFnUU5hbWUoKS5wcmVmaXgoKSA9PSBxTmFtZS5wcmVmaXgoKSkg
fHwgcU5hbWUgPT0gZS0+dGFnUU5hbWUoKSk7CiAKICAgICByZXR1cm4gZS5yZWxlYXNlKCk7CkBA
IC00NTY4LDIyICs0NTQ5LDYgQEAgRE9NU2VsZWN0aW9uKiBEb2N1bWVudDo6Z2V0U2VsZWN0aW9u
KCkgYwogICAgIHJldHVybiBmcmFtZSgpID8gZnJhbWUoKS0+ZG9tV2luZG93KCktPmdldFNlbGVj
dGlvbigpIDogMDsKIH0KIAotI2lmIEVOQUJMRShXTUwpCi12b2lkIERvY3VtZW50OjpyZXNldFdN
TFBhZ2VTdGF0ZSgpCi17Ci0gICAgaWYgKFdNTFBhZ2VTdGF0ZSogcGFnZVN0YXRlID0gd21sUGFn
ZVN0YXRlRm9yRG9jdW1lbnQodGhpcykpCi0gICAgICAgIHBhZ2VTdGF0ZS0+cmVzZXQoKTsKLX0K
LQotdm9pZCBEb2N1bWVudDo6aW5pdGlhbGl6ZVdNTFBhZ2VTdGF0ZSgpCi17Ci0gICAgaWYgKCFp
c1dNTERvY3VtZW50KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHN0YXRpY19jYXN0PFdNTERv
Y3VtZW50Kj4odGhpcyktPmluaXRpYWxpemUoKTsKLX0KLSNlbmRpZgotCiB2b2lkIERvY3VtZW50
OjphdHRhY2hSYW5nZShSYW5nZSogcmFuZ2UpCiB7CiAgICAgQVNTRVJUKCFtX3Jhbmdlcy5jb250
YWlucyhyYW5nZSkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDg1MTY2KQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQxMyw5
ICs0MTMsNiBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgaXNQbHVnaW5Eb2N1
bWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzTWVkaWFE
b2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0jaWYgRU5BQkxFKFdNTCkKLSAgICB2
aXJ0dWFsIGJvb2wgaXNXTUxEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0jZW5k
aWYKICNpZiBFTkFCTEUoWEhUTUxNUCkKICAgICBib29sIGlzWEhUTUxNUERvY3VtZW50KCkgY29u
c3Q7IAogICAgIGJvb2wgc2hvdWxkUHJvY2Vzc05vc2NyaXB0RWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIG1fc2hvdWxkUHJvY2Vzc05vU2NyaXB0RWxlbWVudDsgfQpAQCAtMTAxOCwxNCArMTAxNSw2
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVzaW5nR2VvbG9jYXRpb24oYm9vbCBmKSB7IG1fdXNp
bmdHZW9sb2NhdGlvbiA9IGY7IH0KICAgICBib29sIHVzaW5nR2VvbG9jYXRpb24oKSBjb25zdCB7
IHJldHVybiBtX3VzaW5nR2VvbG9jYXRpb247IH07CiAKLSNpZiBFTkFCTEUoV01MKQotICAgIHZv
aWQgc2V0Q29udGFpbnNXTUxDb250ZW50KGJvb2wgdmFsdWUpIHsgbV9jb250YWluc1dNTENvbnRl
bnQgPSB2YWx1ZTsgfQotICAgIGJvb2wgY29udGFpbnNXTUxDb250ZW50KCkgY29uc3QgeyByZXR1
cm4gbV9jb250YWluc1dNTENvbnRlbnQ7IH0KLQotICAgIHZvaWQgcmVzZXRXTUxQYWdlU3RhdGUo
KTsKLSAgICB2b2lkIGluaXRpYWxpemVXTUxQYWdlU3RhdGUoKTsKLSNlbmRpZgotICAgIAogICAg
IGJvb2wgY29udGFpbnNWYWxpZGl0eVN0eWxlUnVsZXMoKSBjb25zdCB7IHJldHVybiBtX2NvbnRh
aW5zVmFsaWRpdHlTdHlsZVJ1bGVzOyB9CiAgICAgdm9pZCBzZXRDb250YWluc1ZhbGlkaXR5U3R5
bGVSdWxlcygpIHsgbV9jb250YWluc1ZhbGlkaXR5U3R5bGVSdWxlcyA9IHRydWU7IH0KIApAQCAt
MTM0OCwxOSArMTMzNywxNSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zYXdFbGVtZW50c0luS25v
d25OYW1lc3BhY2VzOwogCiAgICAgYm9vbCBtX3VzaW5nR2VvbG9jYXRpb247Ci0gICAgCi0gICAg
UmVmUHRyPEV2ZW50UXVldWU+IG1fZXZlbnRRdWV1ZTsKIAotI2lmIEVOQUJMRShXTUwpCi0gICAg
Ym9vbCBtX2NvbnRhaW5zV01MQ29udGVudDsKLSNlbmRpZgorICAgIFJlZlB0cjxFdmVudFF1ZXVl
PiBtX2V2ZW50UXVldWU7CiAKICAgICBSZWZQdHI8RG9jdW1lbnRXZWFrUmVmZXJlbmNlPiBtX3dl
YWtSZWZlcmVuY2U7CiAKICAgICBIYXNoU2V0PE1lZGlhQ2FuU3RhcnRMaXN0ZW5lcio+IG1fbWVk
aWFDYW5TdGFydExpc3RlbmVyczsKIAogICAgIFF1YWxpZmllZE5hbWUgbV9pZEF0dHJpYnV0ZU5h
bWU7Ci0gICAgCisKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgYm9vbCBtX2FyZUtl
eXNFbmFibGVkSW5GdWxsU2NyZWVuOwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2Z1bGxTY3JlZW5F
bGVtZW50OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCShyZXZpc2lvbiA4NTE2NikKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIzNSwx
MiArMjM1LDYgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBbUmVxdWlyZXNBbGxBcmd1bWVudHM9
UmFpc2VdIE5vZGVMaXN0IHF1ZXJ5U2VsZWN0b3JBbGwoaW4gRE9NU3RyaW5nIHNlbGVjdG9ycykK
ICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0jaWYgZGVmaW5lZChFTkFCTEVf
V01MKSAmJiBFTkFCTEVfV01MCi0gICAgICAgIC8vIE9ubHkgdXNlZCBmcm9tIHdpdGhpbiBXTUwg
bGF5b3V0IHRlc3RzLCBXTUwgZG9lc24ndCBoYXZlIEpTIHN1cHBvcnQgYXQgYWxsLgotICAgICAg
ICBbRG9udEVudW1dIHZvaWQgcmVzZXRXTUxQYWdlU3RhdGUoKTsKLSAgICAgICAgW0RvbnRFbnVt
XSB2b2lkIGluaXRpYWxpemVXTUxQYWdlU3RhdGUoKTsKLSNlbmRpZgotCiAjaWYgZGVmaW5lZChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICYmIEVOQUJMRV9GVUxMU0NSRUVOX0FQSQogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXRJc0Z1bGxTY3JlZW47CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdlYmtpdEZ1bGxTY3JlZW5LZXlib2FyZElucHV0QWxs
b3dlZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vSW5wdXRFbGVtZW50LmgJKHJldmlzaW9uIDg1MTY2KQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDgsNyArMTA4LDcgQEAgcHJvdGVjdGVkOgogI2VuZGlmCiB9OwogCi0vLyBIVE1ML1dNTElucHV0
RWxlbWVudCBob2xkIHRoaXMgc3RydWN0IGFzIG1lbWJlciB2YXJpYWJsZQorLy8gSFRNTElucHV0
RWxlbWVudCBob2xkIHRoaXMgc3RydWN0IGFzIG1lbWJlciB2YXJpYWJsZQogLy8gYW5kIHBhc3Mg
aXQgdG8gdGhlIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zIGluIElucHV0RWxlbWVudAogY2xhc3Mg
SW5wdXRFbGVtZW50RGF0YSB7CiBwdWJsaWM6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZpc2lv
biA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTA1LDEwICsxMDUsNiBAQAogI2luY2x1ZGUgIlNWR1VzZUVsZW1lbnQuaCIKICNlbmRpZgog
Ci0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotI2VuZGlmCi0KICNpZiBF
TkFCTEUoWEhUTUxNUCkKICNpbmNsdWRlICJIVE1MTm9TY3JpcHRFbGVtZW50LmgiCiAjZW5kaWYK
QEAgLTU2OCw5ICs1NjQsNiBAQCBJbnB1dEVsZW1lbnQqIE5vZGU6OnRvSW5wdXRFbGVtZW50KCkK
ICAgICAvLyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGZyb20gYSBjb25zdHJ1Y3RvciBvciBkZXN0
cnVjdG9yIG9mIHRoaXMgb2JqZWN0LgogICAgIC8vIERvbid0IGRvIHRoaXMhCiAgICAgQVNTRVJU
KCEoaXNIVE1MRWxlbWVudCgpICYmIGhhc1RhZ05hbWUoaW5wdXRUYWcpKSk7Ci0jaWYgRU5BQkxF
KFdNTCkKLSAgICBBU1NFUlQoIShpc1dNTEVsZW1lbnQoKSAmJiBoYXNUYWdOYW1lKFdNTE5hbWVz
OjppbnB1dFRhZykpKTsKLSNlbmRpZgogICAgIHJldHVybiAwOwogfQogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmgJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjAxLDEyICsyMDEsNiBAQCBwdWJsaWM6CiAgICAgU1ZHVXNlRWxlbWVudCog
c3ZnU2hhZG93SG9zdCgpIGNvbnN0OwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV01MKQotICAgIHZp
cnR1YWwgYm9vbCBpc1dNTEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotI2Vsc2UK
LSAgICBzdGF0aWMgYm9vbCBpc1dNTEVsZW1lbnQoKSB7IHJldHVybiBmYWxzZTsgfQotI2VuZGlm
Ci0KICAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYUNvbnRyb2xFbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICBib29sIGlzU3R5bGVkRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGdl
dEZsYWcoSXNTdHlsZWRFbGVtZW50RmxhZyk7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNGcmFtZU93
bmVyRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vT3B0aW9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L09wdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9PcHRpb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTEgKzMwLDYgQEAKICNp
bmNsdWRlICJTZWxlY3RFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIAot
I2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MT3B0aW9uRWxlbWVudC5oIgotI2luY2x1ZGUg
IldNTE5hbWVzLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIE9wdGlv
bkVsZW1lbnQ6OnNldFNlbGVjdGVkU3RhdGUoT3B0aW9uRWxlbWVudERhdGEmIGRhdGEsIEVsZW1l
bnQqIGVsZW1lbnQsIGJvb2wgc2VsZWN0ZWQpCkBAIC0xNDIsMjIgKzEzNywxMiBAQCBPcHRpb25F
bGVtZW50KiB0b09wdGlvbkVsZW1lbnQoRWxlbWVudCogCiB7CiAgICAgaWYgKGVsZW1lbnQtPmlz
SFRNTEVsZW1lbnQoKSAmJiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6b3B0aW9uVGFn
KSkKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxPcHRpb25FbGVtZW50Kj4oZWxlbWVu
dCk7Ci0KLSNpZiBFTkFCTEUoV01MKQotICAgIGlmIChlbGVtZW50LT5pc1dNTEVsZW1lbnQoKSAm
JiBlbGVtZW50LT5oYXNUYWdOYW1lKFdNTE5hbWVzOjpvcHRpb25UYWcpKQotICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8V01MT3B0aW9uRWxlbWVudCo+KGVsZW1lbnQpOwotI2VuZGlmCi0KICAg
ICByZXR1cm4gMDsKIH0KIAogYm9vbCBpc09wdGlvbkVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkK
IHsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzTG9jYWxOYW1lKEhUTUxOYW1lczo6b3B0aW9uVGFn
KQotI2lmIEVOQUJMRShXTUwpCi0gICAgICAgIHx8IGVsZW1lbnQtPmhhc0xvY2FsTmFtZShXTUxO
YW1lczo6b3B0aW9uVGFnKQotI2VuZGlmCi0gICAgICAgIDsKKyAgICByZXR1cm4gZWxlbWVudC0+
aGFzTG9jYWxOYW1lKEhUTUxOYW1lczo6b3B0aW9uVGFnKTsKIH0KIAogfQpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vT3B0aW9uRWxlbWVudC5oCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9PcHRpb25FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgcHJp
dmF0ZToKICAgICBzdGF0aWMgU3RyaW5nIG5vcm1hbGl6ZVRleHQoY29uc3QgRG9jdW1lbnQqLCBj
b25zdCBTdHJpbmcmKTsKIH07CiAKLS8vIEhUTUwvV01MT3B0aW9uRWxlbWVudCBob2xkIHRoaXMg
c3RydWN0IGFzIG1lbWJlciB2YXJpYWJsZQorLy8gSFRNTE9wdGlvbkVsZW1lbnQgaG9sZCB0aGlz
IHN0cnVjdCBhcyBtZW1iZXIgdmFyaWFibGUKIC8vIGFuZCBwYXNzIGl0IHRvIHRoZSBzdGF0aWMg
aGVscGVyIGZ1bmN0aW9ucyBpbiBPcHRpb25FbGVtZW50CiBjbGFzcyBPcHRpb25FbGVtZW50RGF0
YSB7CiBwdWJsaWM6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uR3JvdXBFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uR3JvdXBFbGVtZW50
LmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uR3JvdXBF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsMzMgKzI2LDE4IEBACiAjaW5jbHVkZSAi
SFRNTE9wdEdyb3VwRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKLSNp
ZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE9wdEdyb3VwRWxlbWVudC5oIgotI2luY2x1ZGUg
IldNTE5hbWVzLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBPcHRpb25Hcm91
cEVsZW1lbnQqIHRvT3B0aW9uR3JvdXBFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAg
aWYgKGVsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSAmJiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxO
YW1lczo6b3B0Z3JvdXBUYWcpKQogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTE9wdEdy
b3VwRWxlbWVudCo+KGVsZW1lbnQpOwotCi0jaWYgRU5BQkxFKFdNTCkKLSAgICBpZiAoZWxlbWVu
dC0+aXNXTUxFbGVtZW50KCkgJiYgZWxlbWVudC0+aGFzVGFnTmFtZShXTUxOYW1lczo6b3B0Z3Jv
dXBUYWcpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V01MT3B0R3JvdXBFbGVtZW50Kj4o
ZWxlbWVudCk7Ci0jZW5kaWYKLQogICAgIHJldHVybiAwOwogfQogCiBib29sIGlzT3B0aW9uR3Jv
dXBFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpCiB7Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc0xv
Y2FsTmFtZShIVE1MTmFtZXM6Om9wdGdyb3VwVGFnKQotI2lmIEVOQUJMRShXTUwpCi0gICAgICAg
IHx8IGVsZW1lbnQtPmhhc0xvY2FsTmFtZShXTUxOYW1lczo6b3B0Z3JvdXBUYWcpCi0jZW5kaWYK
LSAgICAgICAgOworICAgIHJldHVybiBlbGVtZW50LT5oYXNMb2NhbE5hbWUoSFRNTE5hbWVzOjpv
cHRncm91cFRhZyk7CiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TZWxlY3RFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5j
cHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MywxMSArNDMsNiBAQAogI2luY2x1ZGUgPHd0Zi9Bc3Nl
cnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAotI2lm
IEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNpbmNsdWRlICJXTUxTZWxlY3RF
bGVtZW50LmgiCi0jZW5kaWYKLQogLy8gQ29uZmlndXJlIHBsYXRmb3JtLXNwZWNpZmljIGJlaGF2
aW9yIHdoZW4gZm9jdXNlZCBwb3AtdXAgcmVjZWl2ZXMgYXJyb3cvc3BhY2UvcmV0dXJuIGtleXN0
cm9rZS4KIC8vIChQTEFURk9STShNQUMpIGFuZCBQTEFURk9STShHVEspIGFyZSBhbHdheXMgZmFs
c2UgaW4gQ2hyb21pdW0sIGhlbmNlIHRoZSBleHRyYSB0ZXN0cy4pCiAjaWYgUExBVEZPUk0oTUFD
KSB8fCAoUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikpCkBAIC0xMDkwLDEyICsxMDg1
LDYgQEAgU2VsZWN0RWxlbWVudCogdG9TZWxlY3RFbGVtZW50KEVsZW1lbnQqIAogewogICAgIGlm
IChlbGVtZW50LT5pc0hUTUxFbGVtZW50KCkgJiYgZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFt
ZXM6OnNlbGVjdFRhZykpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MU2VsZWN0RWxl
bWVudCo+KGVsZW1lbnQpOwotCi0jaWYgRU5BQkxFKFdNTCkKLSAgICBpZiAoZWxlbWVudC0+aXNX
TUxFbGVtZW50KCkgJiYgZWxlbWVudC0+aGFzVGFnTmFtZShXTUxOYW1lczo6c2VsZWN0VGFnKSkK
LSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdNTFNlbGVjdEVsZW1lbnQqPihlbGVtZW50KTsK
LSNlbmRpZgotCiAgICAgcmV0dXJuIDA7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9T
ZWxlY3RFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NlbGVjdEVs
ZW1lbnQuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2VsZWN0RWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICBz
dGF0aWMgdm9pZCBzZXRPcHRpb25zQ2hhbmdlZE9uUmVuZGVyZXIoU2VsZWN0RWxlbWVudERhdGEm
LCBFbGVtZW50Kik7CiB9OwogCi0vLyBIVE1ML1dNTFNlbGVjdEVsZW1lbnQgaG9sZCB0aGlzIHN0
cnVjdCBhcyBtZW1iZXIgdmFyaWFibGUKKy8vIEhUTUxTZWxlY3RFbGVtZW50IGhvbGQgdGhpcyBz
dHJ1Y3QgYXMgbWVtYmVyIHZhcmlhYmxlCiAvLyBhbmQgcGFzcyBpdCB0byB0aGUgc3RhdGljIGhl
bHBlciBmdW5jdGlvbnMgaW4gU2VsZWN0RWxlbWVudAogY2xhc3MgU2VsZWN0RWxlbWVudERhdGEg
ewogcHVibGljOgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RleHQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDExICszMSw2IEBA
CiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNs
dWRlICJXTUxEb2N1bWVudC5oIgotI2luY2x1ZGUgIldNTFZhcmlhYmxlcy5oIgotI2VuZGlmCi0K
IHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI1NiwxOSAr
MjUxLDYgQEAgUmVuZGVyT2JqZWN0KiBUZXh0OjpjcmVhdGVSZW5kZXJlcihSZW5kZQogCiB2b2lk
IFRleHQ6OmF0dGFjaCgpCiB7Ci0jaWYgRU5BQkxFKFdNTCkKLSAgICBpZiAoZG9jdW1lbnQoKS0+
aXNXTUxEb2N1bWVudCgpICYmICFjb250YWluc09ubHlXaGl0ZXNwYWNlKCkpIHsKLSAgICAgICAg
U3RyaW5nIHRleHQgPSBkYXRhKCk7Ci0gICAgICAgIEFTU0VSVCghdGV4dC5pc0VtcHR5KCkpOwot
Ci0gICAgICAgIHRleHQgPSBzdWJzdGl0dXRlVmFyaWFibGVSZWZlcmVuY2VzKHRleHQsIGRvY3Vt
ZW50KCkpOwotCi0gICAgICAgIEV4Y2VwdGlvbkNvZGUgY29kZSA9IDA7Ci0gICAgICAgIHNldERh
dGEodGV4dCwgY29kZSk7Ci0gICAgICAgIEFTU0VSVCghY29kZSk7Ci0gICAgfQotI2VuZGlmCi0K
ICAgICBjcmVhdGVSZW5kZXJlcklmTmVlZGVkKCk7CiAgICAgQ2hhcmFjdGVyRGF0YTo6YXR0YWNo
KCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5jcHAJKHJl
dmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjgsMTMgKzY4LDYgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKIAogY29uc3QgaW50IG1heEVycm9ycyA9IDI1OwogCi0jaWYgRU5BQkxFKFdNTCkKLWJv
b2wgWE1MRG9jdW1lbnRQYXJzZXI6OmlzV01MRG9jdW1lbnQoKSBjb25zdAotewotICAgIHJldHVy
biBkb2N1bWVudCgpLT5pc1dNTERvY3VtZW50KCk7Ci19Ci0jZW5kaWYKLQogdm9pZCBYTUxEb2N1
bWVudFBhcnNlcjo6cHVzaEN1cnJlbnROb2RlKE5vZGUqIG4pCiB7CiAgICAgQVNTRVJUKG4pOwpA
QCAtMzExLDE3ICszMDQsNiBAQCB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjppbnNlcnRFcnJvck1l
c3NhCiAgICAgICAgIGRvY3VtZW50RWxlbWVudCA9IGJvZHkuZ2V0KCk7CiAgICAgfQogI2VuZGlm
Ci0jaWYgRU5BQkxFKFdNTCkKLSAgICBlbHNlIGlmIChpc1dNTERvY3VtZW50KCkpIHsKLSAgICAg
ICAgUmVmUHRyPEVsZW1lbnQ+IHJvb3RFbGVtZW50ID0gZG9jdW1lbnQtPmNyZWF0ZUVsZW1lbnQo
aHRtbFRhZywgZmFsc2UpOwotICAgICAgICBSZWZQdHI8RWxlbWVudD4gYm9keSA9IGRvY3VtZW50
LT5jcmVhdGVFbGVtZW50KGJvZHlUYWcsIGZhbHNlKTsKLSAgICAgICAgcm9vdEVsZW1lbnQtPmFw
cGVuZENoaWxkKGJvZHksIGVjKTsKLSAgICAgICAgYm9keS0+YXBwZW5kQ2hpbGQoZG9jdW1lbnRF
bGVtZW50LCBlYyk7Ci0gICAgICAgIGRvY3VtZW50LT5hcHBlbmRDaGlsZChyb290RWxlbWVudC5n
ZXQoKSwgZWMpOwotICAgICAgICBkb2N1bWVudEVsZW1lbnQgPSBib2R5LmdldCgpOwotICAgIH0K
LSNlbmRpZgotCiAgICAgUmVmUHRyPEVsZW1lbnQ+IHJlcG9ydEVsZW1lbnQgPSBjcmVhdGVYSFRN
TFBhcnNlckVycm9ySGVhZGVyKGRvY3VtZW50LCBtX2Vycm9yTWVzc2FnZXMpOwogICAgIGRvY3Vt
ZW50RWxlbWVudC0+aW5zZXJ0QmVmb3JlKHJlcG9ydEVsZW1lbnQsIGRvY3VtZW50RWxlbWVudC0+
Zmlyc3RDaGlsZCgpLCBlYyk7CiAjaWYgRU5BQkxFKFhTTFQpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vWE1MRG9jdW1lbnRQYXJzZXIuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtOTUsMTMgKzk1LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRJc1hIVE1MTVBEb2N1bWVu
dChib29sIGlzWEhUTUwpIHsgbV9pc1hIVE1MTVBEb2N1bWVudCA9IGlzWEhUTUw7IH0KICAgICAg
ICAgYm9vbCBpc1hIVE1MTVBEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1faXNYSFRNTE1QRG9j
dW1lbnQ7IH0KICNlbmRpZgotI2lmIEVOQUJMRShXTUwpCi0gICAgICAgIGJvb2wgaXNXTUxEb2N1
bWVudCgpIGNvbnN0OwotI2VuZGlmCiAKICAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VEb2N1bWVu
dEZyYWdtZW50KGNvbnN0IFN0cmluZyYsIERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBwYXJl
bnQgPSAwLCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24gPSBGcmFnbWVudFNjcmlwdGluZ0Fs
bG93ZWQpOwogCi0gICAgICAgIC8vIFdNTEVycm9ySGFuZGxpbmcgdXNlcyB0aGVzZSBmdW5jdGlv
bnMuCisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGZ1bmN0aW9uIHVzZWQgdG8gYmUgdXNlZCBieSBX
TUwuIENhbiB3ZSByZW1vdmUgaXQ/CiAgICAgICAgIHZpcnR1YWwgYm9vbCB3ZWxsRm9ybWVkKCkg
Y29uc3QgeyByZXR1cm4gIW1fc2F3RXJyb3I7IH0KIAogICAgICAgICBUZXh0UG9zaXRpb24wIHRl
eHRQb3NpdGlvbigpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyTGlieG1sMi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1hNTERv
Y3VtZW50UGFyc2VyTGlieG1sMi5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
NjMsMTggKzEwNjMsOCBAQCB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjppbnRlcm5hbFN1YnNldChj
CiAgICAgfQogCiAgICAgaWYgKGRvY3VtZW50KCkpIHsKLSNpZiBFTkFCTEUoV01MKSB8fCBFTkFC
TEUoWEhUTUxNUCkKLSAgICAgICAgU3RyaW5nIGV4dElkID0gdG9TdHJpbmcoZXh0ZXJuYWxJRCk7
Ci0jZW5kaWYKLSNpZiBFTkFCTEUoV01MKQotICAgICAgICBpZiAoaXNXTUxEb2N1bWVudCgpCi0g
ICAgICAgICAgICAmJiBleHRJZCAhPSAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4zLy9FTiIKLSAg
ICAgICAgICAgICYmIGV4dElkICE9ICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjIvL0VOIgotICAg
ICAgICAgICAgJiYgZXh0SWQgIT0gIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iCi0gICAg
ICAgICAgICAmJiBleHRJZCAhPSAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4wLy9FTiIpCi0gICAg
ICAgICAgICBoYW5kbGVFcnJvcihmYXRhbCwgIkludmFsaWQgRFREIFB1YmxpYyBJRCIsIGxpbmVO
dW1iZXIoKSwgY29sdW1uTnVtYmVyKCkpOwotI2VuZGlmCiAjaWYgRU5BQkxFKFhIVE1MTVApCisg
ICAgICAgIFN0cmluZyBleHRJZCA9IHRvU3RyaW5nKGV4dGVybmFsSUQpOwogICAgICAgICBTdHJp
bmcgZHRkTmFtZSA9IHRvU3RyaW5nKG5hbWUpOwogICAgICAgICBpZiAoZXh0SWQgPT0gIi0vL1dB
UEZPUlVNLy9EVEQgWEhUTUwgTW9iaWxlIDEuMC8vRU4iCiAgICAgICAgICAgICB8fCBleHRJZCA9
PSAiLS8vV0FQRk9SVU0vL0RURCBYSFRNTCBNb2JpbGUgMS4xLy9FTiIpIHsKQEAgLTEyMzgsOSAr
MTIyOCw2IEBAIHN0YXRpYyB4bWxFbnRpdHlQdHIgZ2V0RW50aXR5SGFuZGxlcih2b2kKICNpZiBF
TkFCTEUoWEhUTUxNUCkKICAgICAgICAgICAgICAgICAgfHwgZ2V0UGFyc2VyKGNsb3N1cmUpLT5p
c1hIVE1MTVBEb2N1bWVudCgpCiAjZW5kaWYKLSNpZiBFTkFCTEUoV01MKQotICAgICAgICAgICAg
ICAgICB8fCBnZXRQYXJzZXIoY2xvc3VyZSktPmlzV01MRG9jdW1lbnQoKQotI2VuZGlmCiAgICAg
ICAgKSkgewogICAgICAgICBlbnQgPSBnZXRYSFRNTEVudGl0eShuYW1lKTsKICAgICAgICAgaWYg
KGVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclF0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJRdC5jcHAJ
KHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2Vy
UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MjIsOSArNDIyLDYgQEAgdm9pZCBYTUxEb2N1bWVu
dFBhcnNlcjo6cGFyc2UoKQogI2lmIEVOQUJMRShYSFRNTE1QKQogICAgICAgICAgICAgICAgIHx8
IGlzWEhUTUxNUERvY3VtZW50KCkKICNlbmRpZgotI2lmIEVOQUJMRShXTUwpCi0gICAgICAgICAg
ICAgICAgfHwgaXNXTUxEb2N1bWVudCgpCi0jZW5kaWYKICAgICAgICAgICAgICAgICkgewogICAg
ICAgICAgICAgICAgIFFTdHJpbmcgZW50aXR5ID0gbV9zdHJlYW0ubmFtZSgpLnRvU3RyaW5nKCk7
CiAgICAgICAgICAgICAgICAgVUNoYXIgYyA9IGRlY29kZU5hbWVkRW50aXR5KGVudGl0eS50b1V0
ZjgoKS5jb25zdERhdGEoKSk7CkBAIC03MTgsMTQgKzcxNSw2IEBAIHZvaWQgWE1MRG9jdW1lbnRQ
YXJzZXI6OnBhcnNlRHRkKCkKICAgICAgICAgICAgIHNldElzWEhUTUxEb2N1bWVudCh0cnVlKTsK
ICAgICB9CiAjZW5kaWYKLSNpZiBFTkFCTEUoV01MKQotICAgIGVsc2UgaWYgKGRvY3VtZW50KCkt
PmlzV01MRG9jdW1lbnQoKQotICAgICAgICAgICAgICYmIHB1YmxpY0lkICE9IFFMYXRpbjFTdHJp
bmcoIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMy8vRU4iKQotICAgICAgICAgICAgICYmIHB1Ymxp
Y0lkICE9IFFMYXRpbjFTdHJpbmcoIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMi8vRU4iKQotICAg
ICAgICAgICAgICYmIHB1YmxpY0lkICE9IFFMYXRpbjFTdHJpbmcoIi0vL1dBUEZPUlVNLy9EVEQg
V01MIDEuMS8vRU4iKQotICAgICAgICAgICAgICYmIHB1YmxpY0lkICE9IFFMYXRpbjFTdHJpbmco
Ii0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMC8vRU4iKSkKLSAgICAgICAgaGFuZGxlRXJyb3IoZmF0
YWwsICJJbnZhbGlkIERURCBQdWJsaWMgSUQiLCBsaW5lTnVtYmVyKCksIGNvbHVtbk51bWJlcigp
KTsKLSNlbmRpZgogICAgIGlmICghbV9wYXJzaW5nRnJhZ21lbnQpCiAgICAgICAgIGRvY3VtZW50
KCktPnBhcnNlckFkZENoaWxkKERvY3VtZW50VHlwZTo6Y3JlYXRlKGRvY3VtZW50KCksIG5hbWUs
IHB1YmxpY0lkLCBzeXN0ZW1JZCkpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0
bWxlZGl0aW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxl
ZGl0aW5nLmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0
bWxlZGl0aW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTAgKzQ4LDYgQEAKICNpbmNsdWRl
IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFt
ZXMuaD4KIAotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNlbmRpZgot
CiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04NCw5ICs4
MCw2IEBAIGJvb2wgY2FuSGF2ZUNoaWxkcmVuRm9yRWRpdGluZyhjb25zdCBOb2QKICAgICAgICAg
JiYgIW5vZGUtPmhhc1RhZ05hbWUoZW1iZWRUYWcpCiAgICAgICAgICYmICFub2RlLT5oYXNUYWdO
YW1lKGFwcGxldFRhZykKICAgICAgICAgJiYgIW5vZGUtPmhhc1RhZ05hbWUoc2VsZWN0VGFnKQot
I2lmIEVOQUJMRShXTUwpCi0gICAgICAgICYmICFub2RlLT5oYXNUYWdOYW1lKFdNTE5hbWVzOjpk
b1RhZykKLSNlbmRpZgogICAgICAgICAmJiAoIW5vZGUtPmhhc1RhZ05hbWUoaHJUYWcpIHx8IG5v
ZGUtPmhhc0NoaWxkTm9kZXMoKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
QmFja0ZvcndhcmRMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaGlzdG9yeS9C
YWNrRm9yd2FyZExpc3QuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9oaXN0
b3J5L0JhY2tGb3J3YXJkTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NSwxNCArNTUsNiBAQCBw
dWJsaWM6IAogCiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCkgPSAwOwogCi0jaWYgRU5BQkxFKFdN
TCkKLSAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgdG8ganVzdCAiY2xlYXIiIGFuZCBjaGFuZ2Ug
aXQgc28gaXQncyBub3QKLSAgICAvLyBXTUwtc3BlY2lmaWMuIFRoaXMgaXMgdGhlIHNhbWUgb3Bl
cmF0aW9uIGFzIGNsZWFyQmFja0ZvcndhcmRMaXN0Ci0gICAgLy8gaW4gdGhlIGxheW91dCB0ZXN0
IGNvbnRyb2xsZXI7IGl0IHdvdWxkIGJlIHJlYXNvbmFibGUgdG8gaGF2ZSBpdAotICAgIC8vIGhl
cmUgZXZlbiB0aG91Z2ggSFRNTCBET00gaW50ZXJmYWNlcyBkb24ndCByZXF1aXJlIGl0LgotICAg
IHZpcnR1YWwgdm9pZCBjbGVhcldNTFBhZ2VIaXN0b3J5KCkgID0gMDsKLSNlbmRpZgotCiAgICAg
Ly8gRklYTUU6IERlbGV0ZSB0aGVzZSBvbmNlIGFsbCBjYWxsZXJzIGFyZSB1c2luZyBCYWNrRm9y
d2FyZENvbnRyb2xsZXIKICAgICAvLyBpbnN0ZWFkIG9mIGNhbGxpbmcgdGhpcyBkaXJlY3RseS4K
ICAgICBIaXN0b3J5SXRlbSogYmFja0l0ZW0oKSB7IHJldHVybiBpdGVtQXRJbmRleCgtMSk7IH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRMaXN0SW1wbC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZExpc3RJbXBsLmNw
cAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJk
TGlzdEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODUsMjIgKzI4NSw0IEBAIGJvb2wgQmFj
a0ZvcndhcmRMaXN0SW1wbDo6Y29udGFpbnNJdGVtKEgKICAgICByZXR1cm4gbV9lbnRyeUhhc2gu
Y29udGFpbnMoZW50cnkpOwogfQogCi0jaWYgRU5BQkxFKFdNTCkKLXZvaWQgQmFja0ZvcndhcmRM
aXN0SW1wbDo6Y2xlYXJXTUxQYWdlSGlzdG9yeSgpCi17Ci0gICAgUmVmUHRyPEhpc3RvcnlJdGVt
PiBjdXJyZW50SXRlbSA9IHRoaXMtPmN1cnJlbnRJdGVtKCk7Ci0KLSAgICBpbnQgc2l6ZSA9IG1f
ZW50cmllcy5zaXplKCk7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyArK2kpCi0gICAg
ICAgIHBhZ2VDYWNoZSgpLT5yZW1vdmUobV9lbnRyaWVzW2ldLmdldCgpKTsKLQotICAgIG1fZW50
cmllcy5jbGVhcigpOwotICAgIG1fZW50cnlIYXNoLmNsZWFyKCk7Ci0gICAgbV9jdXJyZW50ID0g
Tm9DdXJyZW50SXRlbUluZGV4OwotCi0gICAgLy8gU3BlYzogVGhlIGhpc3Rvcnkgc3RhY2sgbWF5
IGJlIHJlc2V0IHRvIGEgc3RhdGUgd2hlcmUgaXQgb25seSBjb250YWlucyB0aGUgY3VycmVudCBj
YXJkLgotICAgIGFkZEl0ZW0oY3VycmVudEl0ZW0pOwotfQotI2VuZGlmCi0KIH07IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkTGlz
dEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJk
TGlzdEltcGwuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0Jh
Y2tGb3J3YXJkTGlzdEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNzEsMTMgKzcxLDkgQEAgcHVi
bGljOiAKIAogICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgpOwogICAgIGJvb2wgY2xvc2VkKCk7Ci0g
ICAgCisKICAgICB2b2lkIHJlbW92ZUl0ZW0oSGlzdG9yeUl0ZW0qKTsKICAgICBIaXN0b3J5SXRl
bVZlY3RvciYgZW50cmllcygpOwotICAgIAotI2lmIEVOQUJMRShXTUwpCi0gICAgdmlydHVhbCB2
b2lkIGNsZWFyV01MUGFnZUhpc3RvcnkoKTsKLSNlbmRpZgogCiBwcml2YXRlOgogICAgIEJhY2tG
b3J3YXJkTGlzdEltcGwoUGFnZSopOwpJbmRleDogU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdl
Q2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hl
LmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNo
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3OSwxMCArMjc5LDYgQEAgYm9vbCBQYWdlQ2FjaGU6
OmNhbkNhY2hlUGFnZUNvbnRhaW5pbmdUaAogICAgICAgICAvLyBhcHBsaWNhdGlvbiBjYWNoZS4g
PHJkYXI6Ly9wcm9ibGVtLzU5MTc4OTk+IHRyYWNrcyB0aGF0IHdvcmsuCiAgICAgICAgICYmIGZy
YW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+YXBwbGljYXRpb25DYWNoZUhvc3QoKS0+
Y2FuQ2FjaGVJblBhZ2VDYWNoZSgpCiAjZW5kaWYKLSNpZiBFTkFCTEUoV01MKQotICAgICAgICAm
JiAhZnJhbWUtPmRvY3VtZW50KCktPmNvbnRhaW5zV01MQ29udGVudCgpCi0gICAgICAgICYmICFm
cmFtZS0+ZG9jdW1lbnQoKS0+aXNXTUxEb2N1bWVudCgpCi0jZW5kaWYKICAgICAgICAgJiYgZnJh
bWUtPmxvYWRlcigpLT5jbGllbnQoKS0+Y2FuQ2FjaGVQYWdlKCk7CiB9CiAgICAgCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCShyZXZpc2lvbiA4NTE2NikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMTI4LDcgKzEyOCw3IEBAIHByaXZhdGU6CiAgICAgdWludDMyX3QgbV9saW5rUmVsYXRpb25z
OwogfTsKIAotLy8gRnVuY3Rpb25zIHNoYXJlZCB3aXRoIHRoZSBvdGhlciBhbmNob3IgZWxlbWVu
dHMgKFNWRyBhbmQgV01MKS4KKy8vIEZ1bmN0aW9ucyBzaGFyZWQgd2l0aCB0aGUgb3RoZXIgYW5j
aG9yIGVsZW1lbnRzIChpLmUuLCBTVkcpLgogCiBib29sIGlzRW50ZXJLZXlLZXlkb3duRXZlbnQo
RXZlbnQqKTsKIGJvb2wgaXNNaWRkbGVNb3VzZUJ1dHRvbkV2ZW50KEV2ZW50Kik7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAJKHJldmlzaW9uIDg1
MTY2KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTEsNyArOTEsNiBAQCBzdGF0aWMgU3RyaW5nIG1lc3NhZ2VTb3VyY2VW
YWx1ZShNZXNzYWdlCiB7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKICAgICBjYXNlIEhUTUxNZXNz
YWdlU291cmNlOiByZXR1cm4gImh0bWwiOwotICAgIGNhc2UgV01MTWVzc2FnZVNvdXJjZTogcmV0
dXJuICJ3bWwiOwogICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJjZTogcmV0dXJuICJ4bWwiOwogICAg
IGNhc2UgSlNNZXNzYWdlU291cmNlOiByZXR1cm4gImphdmFzY3JpcHQiOwogICAgIGNhc2UgQ1NT
TWVzc2FnZVNvdXJjZTogcmV0dXJuICJjc3MiOwpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCShyZXZpc2lvbiA4NTE2NikKKysr
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMJKHdvcmtp
bmcgY29weSkKQEAgLTk0OSw5ICs5NDksNiBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2Uu
cHJvdG90eXBlID0gCiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2Fn
ZS5NZXNzYWdlU291cmNlLkhUTUw6CiAgICAgICAgICAgICAgICAgc291cmNlU3RyaW5nID0gIkhU
TUwiOwogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0
b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVNvdXJjZS5XTUw6Ci0gICAgICAgICAgICAgICAgc291
cmNlU3RyaW5nID0gIldNTCI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBj
YXNlIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlU291cmNlLlhNTDoKICAgICAg
ICAgICAgICAgICBzb3VyY2VTdHJpbmcgPSAiWE1MIjsKICAgICAgICAgICAgICAgICBicmVhazsK
QEAgLTEwNDgsNyArMTA0NSw2IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5
cGUgPSAKIC8vIE5vdGU6IEtlZXAgdGhlc2UgY29uc3RhbnRzIGluIHN5bmMgd2l0aCB0aGUgb25l
cyBpbiBDb25zb2xlLmgKIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlU291cmNl
ID0gewogICAgIEhUTUw6ICJodG1sIiwKLSAgICBXTUw6ICJ3bWwiLAogICAgIFhNTDogInhtbCIs
CiAgICAgSlM6ICJqYXZhc2NyaXB0IiwKICAgICBDU1M6ICJjc3MiLApJbmRleDogU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Niw3ICsxNDYs
NiBAQCBib29sIGlzQmFja0ZvcndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBlCiAgICAgICAgIGNh
c2UgRnJhbWVMb2FkVHlwZVJlcGxhY2U6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIGNhc2UgRnJhbWVMb2FkVHlwZUJhY2s6Ci0gICAgICAgIGNhc2UgRnJhbWVMb2FkVHlwZUJh
Y2tXTUxEZWNrTm90QWNjZXNzaWJsZToKICAgICAgICAgY2FzZSBGcmFtZUxvYWRUeXBlRm9yd2Fy
ZDoKICAgICAgICAgY2FzZSBGcmFtZUxvYWRUeXBlSW5kZXhlZEJhY2tGb3J3YXJkOgogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMTI5LDE3ICsxMTI4LDYgQEAgdm9pZCBGcmFtZUxvYWRl
cjo6d2lsbFNldEVuY29kaW5nKCkKICAgICAgICAgcmVjZWl2ZWRGaXJzdERhdGEoKTsKIH0KIAot
I2lmIEVOQUJMRShXTUwpCi1zdGF0aWMgaW5saW5lIGJvb2wgZnJhbWVDb250YWluc1dNTENvbnRl
bnQoRnJhbWUqIGZyYW1lKQotewotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lID8gZnJh
bWUtPmRvY3VtZW50KCkgOiAwOwotICAgIGlmICghZG9jdW1lbnQpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLQotICAgIHJldHVybiBkb2N1bWVudC0+Y29udGFpbnNXTUxDb250ZW50KCkgfHwgZG9j
dW1lbnQtPmlzV01MRG9jdW1lbnQoKTsKLX0KLSNlbmRpZgotCiB2b2lkIEZyYW1lTG9hZGVyOjp1
cGRhdGVGaXJzdFBhcnR5Rm9yQ29va2llcygpCiB7CiAgICAgaWYgKG1fZnJhbWUtPnRyZWUoKS0+
cGFyZW50KCkpCkBAIC0yMDIxLDcgKzIwMDksNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjp0cmFuc2l0
aW9uVG9Db21taXR0ZWQoCiAgICAgc3dpdGNoIChtX2xvYWRUeXBlKSB7CiAgICAgICAgIGNhc2Ug
RnJhbWVMb2FkVHlwZUZvcndhcmQ6CiAgICAgICAgIGNhc2UgRnJhbWVMb2FkVHlwZUJhY2s6Ci0g
ICAgICAgIGNhc2UgRnJhbWVMb2FkVHlwZUJhY2tXTUxEZWNrTm90QWNjZXNzaWJsZToKICAgICAg
ICAgY2FzZSBGcmFtZUxvYWRUeXBlSW5kZXhlZEJhY2tGb3J3YXJkOgogICAgICAgICAgICAgaWYg
KG1fZnJhbWUtPnBhZ2UoKSkgewogICAgICAgICAgICAgICAgIC8vIElmIHRoZSBmaXJzdCBsb2Fk
IHdpdGhpbiBhIGZyYW1lIGlzIGEgbmF2aWdhdGlvbiB3aXRoaW4gYSBiYWNrL2ZvcndhcmQgbGlz
dCB0aGF0IHdhcyBhdHRhY2hlZApAQCAtMjExOSwxMiArMjEwNiw2IEBAIHZvaWQgRnJhbWVMb2Fk
ZXI6OmNsaWVudFJlZGlyZWN0ZWQoY29uc3QKIAogYm9vbCBGcmFtZUxvYWRlcjo6c2hvdWxkUmVs
b2FkKGNvbnN0IEtVUkwmIGN1cnJlbnRVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKQog
ewotI2lmIEVOQUJMRShXTUwpCi0gICAgLy8gQWxsIFdNTCBkZWNrcyBhcmUgc3VwcG9zZWQgdG8g
YmUgcmVsb2FkZWQsIGV2ZW4gd2l0aGluIHRoZSBzYW1lIFVSTCBmcmFnbWVudAotICAgIGlmIChm
cmFtZUNvbnRhaW5zV01MQ29udGVudChtX2ZyYW1lKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0j
ZW5kaWYKLQogICAgIC8vIFRoaXMgZnVuY3Rpb24gaW1wbGVtZW50cyB0aGUgcnVsZTogIkRvbid0
IHJlbG9hZCBpZiBuYXZpZ2F0aW5nIGJ5IGZyYWdtZW50IHdpdGhpbgogICAgIC8vIHRoZSBzYW1l
IFVSTCwgYnV0IGRvIHJlbG9hZCBpZiBnb2luZyB0byBhIG5ldyBVUkwgb3IgdG8gdGhlIHNhbWUg
VVJMIHdpdGggbm8KICAgICAvLyBmcmFnbWVudCBpZGVudGlmaWVyIGF0IGFsbC4iCkBAIC0zMjcx
LDcgKzMyNTIsNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJCiAg
ICAgICAgICAgICAgICAgcmVxdWVzdC5zZXRDYWNoZVBvbGljeShSZWxvYWRJZ25vcmluZ0NhY2hl
RGF0YSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIEZyYW1lTG9h
ZFR5cGVCYWNrOgotICAgICAgICAgICAgY2FzZSBGcmFtZUxvYWRUeXBlQmFja1dNTERlY2tOb3RB
Y2Nlc3NpYmxlOgogICAgICAgICAgICAgY2FzZSBGcmFtZUxvYWRUeXBlRm9yd2FyZDoKICAgICAg
ICAgICAgIGNhc2UgRnJhbWVMb2FkVHlwZUluZGV4ZWRCYWNrRm9yd2FyZDoKICAgICAgICAgICAg
ICAgICAvLyBJZiB0aGUgZmlyc3QgbG9hZCB3aXRoaW4gYSBmcmFtZSBpcyBhIG5hdmlnYXRpb24g
d2l0aGluIGEgYmFjay9mb3J3YXJkIGxpc3QgdGhhdCB3YXMgYXR0YWNoZWQgCkBAIC0zMzAyLDE3
ICszMjgyLDYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZEl0ZW0oSGlzdG9yeUl0ZW0qIAogICAg
IEhpc3RvcnlJdGVtKiBjdXJyZW50SXRlbSA9IGhpc3RvcnkoKS0+Y3VycmVudEl0ZW0oKTsKICAg
ICBib29sIHNhbWVEb2N1bWVudE5hdmlnYXRpb24gPSBjdXJyZW50SXRlbSAmJiBpdGVtLT5zaG91
bGREb1NhbWVEb2N1bWVudE5hdmlnYXRpb25UbyhjdXJyZW50SXRlbSk7CiAKLSNpZiBFTkFCTEUo
V01MKQotICAgIC8vIEFsbCBXTUwgZGVja3Mgc2hvdWxkIGdvIHRocm91Z2ggdGhlIHJlYWwgbG9h
ZCBtZWNoYW5pc20sIG5vdCB0aGUgc2Nyb2xsLXRvLWFuY2hvciBjb2RlCi0gICAgLy8gRklYTUU6
IFdoeSBkbyBXTUwgZGVja3MgaGF2ZSB0aGlzIGRpZmZlcmVudCBiZWhhdmlvcj8KLSAgICAvLyBB
cmUgV01MIGRlY2tzIGluY29tcGF0aWJsZSB3aXRoIEhUTUw1IHB1c2hTdGF0ZS9yZXBsYWNlU3Rh
dGUgd2hpY2ggcmVxdWlyZSBpbnRlci1kb2N1bWVudCBoaXN0b3J5IG5hdmlnYXRpb25zPwotICAg
IC8vIFNob3VsZCB0aGlzIG5ldyBBUEkgYmUgZGlzYWJsZWQgZm9yIFdNTCBwYWdlcywgb3IgZG9l
cyBXTUwgbmVlZCB0byB1cGRhdGUgdGhlaXIgbWVjaGFuaXNtIHRvIGFjdCBsaWtlIG5vcm1hbCBs
b2Fkcz8KLSAgICAvLyBJZiBzY3JvbGwtdG8tYW5jaG9yIG5hdmlnYXRpb25zIHdlcmUgYnJva2Vu
IGZvciBXTUwgYW5kIHJlcXVpcmVkIHRoZW0gdG8gaGF2ZSBkaWZmZXJlbnQgbG9hZGluZyBiZWhh
dmlvciwgdGhlbiAgCi0gICAgLy8gc3RhdGUgb2JqZWN0IGxvYWRzIGFyZSBjZXJ0YWlubHkgYWxz
byBicm9rZW4gZm9yIHRoZW0uCi0gICAgaWYgKGZyYW1lQ29udGFpbnNXTUxDb250ZW50KG1fZnJh
bWUpKQotICAgICAgICBzYW1lRG9jdW1lbnROYXZpZ2F0aW9uID0gZmFsc2U7Ci0jZW5kaWYKLQog
ICAgIGlmIChzYW1lRG9jdW1lbnROYXZpZ2F0aW9uKQogICAgICAgICBsb2FkU2FtZURvY3VtZW50
SXRlbShpdGVtKTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXJUeXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlclR5cGVzLmgJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNTcsNyArNTcsNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIEZyYW1lTG9hZFR5cGVSZWRpcmVjdFdpdGhMb2NrZWRCYWNr
Rm9yd2FyZExpc3QsIC8vIEZJWE1FOiBNZXJnZSAibG9ja0JhY2tGb3J3YXJkTGlzdCIsICJsb2Nr
SGlzdG9yeSIsICJxdWlja1JlZGlyZWN0IiBhbmQgImNsaWVudFJlZGlyZWN0IiBpbnRvIGEgc2lu
Z2xlIGNvbmNlcHQgb2YgcmVkaXJlY3QuCiAgICAgICAgIEZyYW1lTG9hZFR5cGVSZXBsYWNlLAog
ICAgICAgICBGcmFtZUxvYWRUeXBlUmVsb2FkRnJvbU9yaWdpbiwKLSAgICAgICAgRnJhbWVMb2Fk
VHlwZUJhY2tXTUxEZWNrTm90QWNjZXNzaWJsZQogICAgIH07CiAKICAgICBlbnVtIE5hdmlnYXRp
b25UeXBlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVy
LmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODcsNyArMTg3LDYgQEAgdm9pZCBIaXN0
b3J5Q29udHJvbGxlcjo6cmVzdG9yZURvY3VtZW50UwogICAgICAgICBjYXNlIEZyYW1lTG9hZFR5
cGVSZXBsYWNlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgRnJhbWVMb2FkVHlw
ZUJhY2s6Ci0gICAgICAgIGNhc2UgRnJhbWVMb2FkVHlwZUJhY2tXTUxEZWNrTm90QWNjZXNzaWJs
ZToKICAgICAgICAgY2FzZSBGcmFtZUxvYWRUeXBlRm9yd2FyZDoKICAgICAgICAgY2FzZSBGcmFt
ZUxvYWRUeXBlSW5kZXhlZEJhY2tGb3J3YXJkOgogICAgICAgICBjYXNlIEZyYW1lTG9hZFR5cGVS
ZWRpcmVjdFdpdGhMb2NrZWRCYWNrRm9yd2FyZExpc3Q6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9t
YW51YWwtdGVzdHMvd21sL1N0YXJ0VGVzdHMud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL21hbnVhbC10ZXN0cy93bWwvU3RhcnRUZXN0cy53bWwJKHJldmlzaW9uIDg1MTY2KQorKysg
U291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9TdGFydFRlc3RzLndtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwzNSArMCwwIEBACi08d21sPgotPGNhcmQ+Ci08YSBocmVmPSJhLWJyLWVsZW1l
bnQud21sIj5hLWJyLWVsZW1lbnQud21sPC9hPjxici8+Ci08YSBocmVmPSJhLWVsZW1lbnQud21s
Ij5hLWVsZW1lbnQud21sPC9hPjxici8+Ci08YSBocmVmPSJhLWltZy1lbGVtZW50LndtbCI+YS1p
bWctZWxlbWVudC53bWw8L2E+PGJyLz4KLTxhIGhyZWY9ImFjY2Vzcy10YXJnZXQud21sIj5hY2Nl
c3MtdGFyZ2V0LndtbDwvYT48YnIvPgotPGEgaHJlZj0iYW5jaG9yLWJyLWVsZW1lbnQud21sIj5h
bmNob3ItYnItZWxlbWVudC53bWw8L2E+PGJyLz4KLTxhIGhyZWY9ImFuY2hvci1lbGVtZW50Lndt
bCI+YW5jaG9yLWVsZW1lbnQud21sPC9hPjxici8+Ci08YSBocmVmPSJhbmNob3ItaW1nLWVsZW1l
bnQud21sIj5hbmNob3ItaW1nLWVsZW1lbnQud21sPC9hPjxici8+Ci08YSBocmVmPSJjYXJkLW5l
d2NvbnRleHQtYXR0ci53bWwiPmNhcmQtbmV3Y29udGV4dC1hdHRyLndtbDwvYT48YnIvPgotPGEg
aHJlZj0iY2FyZC1vbmVudGVyYmFja3dhcmQud21sIj5jYXJkLW9uZW50ZXJiYWNrd2FyZC53bWw8
L2E+PGJyLz4KLTxhIGhyZWY9ImNhcmQtb25lbnRlcmZvcndhcmQud21sIj5jYXJkLW9uZW50ZXJm
b3J3YXJkLndtbDwvYT48YnIvPgotPGEgaHJlZj0iY2FyZC1vbnRpbWVyLndtbCI+Y2FyZC1vbnRp
bWVyLndtbDwvYT48YnIvPgotPGEgaHJlZj0iZGVjay1hY2Nlc3MtY29udHJvbC53bWwiPmRlY2st
YWNjZXNzLWNvbnRyb2wud21sPC9hPjxici8+Ci08YSBocmVmPSJnby1lbGVtZW50LndtbCI+Z28t
ZWxlbWVudC53bWw8L2E+PGJyLz4KLTxhIGhyZWY9ImlucHV0LWZvcm1hdC53bWwiPmlucHV0LWZv
cm1hdC53bWw8L2E+PGJyLz4KLTxhIGhyZWY9Im9uZXZlbnQtZ28ud21sIj5vbmV2ZW50LWdvLndt
bDwvYT48YnIvPgotPGEgaHJlZj0ib25ldmVudC1ub29wLndtbCI+b25ldmVudC1ub29wLndtbDwv
YT48YnIvPgotPGEgaHJlZj0ib25ldmVudC1wcmV2LndtbCI+b25ldmVudC1wcmV2LndtbDwvYT48
YnIvPgotPGEgaHJlZj0ib25ldmVudC1yZWZyZXNoLndtbCI+b25ldmVudC1yZWZyZXNoLndtbDwv
YT48YnIvPgotPGEgaHJlZj0ib25ldmVudC1zaGFkb3cud21sIj5vbmV2ZW50LXNoYWRvdy53bWw8
L2E+PGJyLz4KLTxhIGhyZWY9InNlbGVjdC1lbGVtZW50LndtbCI+c2VsZWN0LWVsZW1lbnQud21s
PC9hPjxici8+Ci08YSBocmVmPSJzZWxlY3Qtb25waWNrLWV2ZW50LndtbCI+c2VsZWN0LW9ucGlj
ay1ldmVudC53bWw8L2E+PGJyLz4KLTxhIGhyZWY9InNldHZhci1lbGVtZW50LndtbCI+c2V0dmFy
LWVsZW1lbnQud21sPC9hPjxici8+Ci08YSBocmVmPSJ0YXJnZXRkZWNrLndtbCI+dGFyZ2V0ZGVj
ay53bWw8L2E+PGJyLz4KLTxhIGhyZWY9InRhc2stZ28taW4tYW5jaG9yLndtbCI+dGFzay1nby1p
bi1hbmNob3Iud21sPC9hPjxici8+Ci08YSBocmVmPSJ0YXNrLW5vb3AtaW4tZG8ud21sIj50YXNr
LW5vb3AtaW4tZG8ud21sPC9hPjxici8+Ci08YSBocmVmPSJ0YXNrLXByZXYtaW4tYW5jaG9yLndt
bCI+dGFzay1wcmV2LWluLWFuY2hvci53bWw8L2E+PGJyLz4KLTxhIGhyZWY9InRhc2stcmVmcmVz
aC1pbi1hbmNob3Iud21sIj50YXNrLXJlZnJlc2gtaW4tYW5jaG9yLndtbDwvYT48YnIvPgotPGEg
aHJlZj0idGVtcGxhdGUtZ28ud21sIj50ZW1wbGF0ZS1nby53bWw8L2E+PGJyLz4KLTxhIGhyZWY9
InRlbXBsYXRlLW9udGltZXIud21sIj50ZW1wbGF0ZS1vbnRpbWVyLndtbDwvYT48YnIvPgotPGEg
aHJlZj0idGltZXIud21sIj50aW1lci53bWw8L2E+PGJyLz4KLTxhIGhyZWY9InZhcmlhYmxlLXN1
YnN0aXR1dGlvbi53bWwiPnZhcmlhYmxlLXN1YnN0aXR1dGlvbi53bWw8L2E+PGJyLz4KLTwvY2Fy
ZD4KLTwvd21sPgpJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hLWJyLWVs
ZW1lbnQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwv
YS1ici1lbGVtZW50LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51
YWwtdGVzdHMvd21sL2EtYnItZWxlbWVudC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQ
Rk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxf
MS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkIHRpdGxlPSJBIGVsZW1lbnQgVGVzdCI+Ci0gICAg
ICAgIDxwPlRlc3QgZm9yIEEgZWxlbWVudCBpbmNsdWRpbmcgQlIgZWxlbWVudDwvcD4KLSAgICAg
ICAgPHA+Ci0gICAgICAgICAgICAiTmV4dCBQYWdlIiB3aWxsIGJlIGJyb2tlbiBieSBCUiBlbGVt
ZW50IGJldHdlZW4gdGhlbTxici8+Ci0gICAgICAgICAgICA8YSBocmVmPSJTdGFydFRlc3RzLndt
bCI+TmV4dCA8YnIvPiBwYWdlPC9hPgotICAgICAgICA8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+
IApJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hLWVsZW1lbnQud21sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYS1lbGVtZW50Lndt
bAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2Et
ZWxlbWVudC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4x
Ly9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgot
ICAgIDxjYXJkIHRpdGxlPSJBIGVsZW1lbnQgVGVzdCI+Ci0gICAgICAgIDxwPlRlc3QgZm9yIEEg
ZWxlbWVudC4gPGJyLz5XaGVuIG1vdXNlIG1vdmVzIGludG8gbGluaywgImdvIHRvIFN0YXJ0VGVz
dHMud21sIiB3aWxsIGFwcGVhciwgY2xpY2sgdGhlIGxpbmssIHdpbGwganVtcCB0byBTdGFydFRl
c3RzLndtbDwvcD4KLSAgICAgICAgPHA+Ci0gICAgICAgICAgICA8YSBocmVmPSJTdGFydFRlc3Rz
LndtbCIgdGl0bGU9ImdvIHRvIFN0YXJ0VGVzdHMud21sIiA+TmV4dCBwYWdlPC9hPgotICAgICAg
ICA8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+IApJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFs
LXRlc3RzL3dtbC9hLWltZy1lbGVtZW50LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9tYW51YWwtdGVzdHMvd21sL2EtaW1nLWVsZW1lbnQud21sCShyZXZpc2lvbiA4NTE2NikKKysr
IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYS1pbWctZWxlbWVudC53bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZ
UEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cu
d2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkIHRpdGxlPSJB
IGVsZW1lbnQgVGVzdCI+Ci0gICAgICAgIDxwPlRlc3QgZm9yIEEgZWxlbWVudCBpbmNsdWRpbmcg
aW1nIGVsZW1lbnQuIDwvcD4KLSAgICAgICAgPHA+Ci0gICAgICAgICAgICA8YSBocmVmPSJTdGFy
dFRlc3RzLndtbCIgdGl0bGU9Ik5leHQgUGFnZSI+PGltZyBzcmM9InJlc291cmNlcy9zbWlsZXku
cG5nIi8+PC9hPgotICAgICAgICA8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQud21sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYWNjZXNzLXRhcmdldC53bWwJKHJl
dmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hY2Nlc3Mt
dGFyZ2V0LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSw5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249
IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8v
RU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAg
ICA8Y2FyZCBvbnRpbWVyPSIuL3RhcmdldGRlY2sud21sIj4KLSAgICAgICAgPHRpbWVyIG5hbWU9
InQxIiB2YWx1ZT0iMzAiLz4KLSAgICAgICAgPHA+VGVzdCBmb3IgRGVjayBBY2Nlc3MgY29udHJv
bCBpbiBXTUwuPC9wPgotICAgICAgICA8cD5JZiB0aGUgdGVzdCBwYXNzZXMsIHRoaXMgZGVjayB3
aWxsIGp1bXAgdG8gInRhcmdldGRlY2sud21sIiBhZnRlciAzIHNlY29uZDwvcD4KLSAgICA8L2Nh
cmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYW5jaG9y
LWJyLWVsZW1lbnQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0
cy93bWwvYW5jaG9yLWJyLWVsZW1lbnQud21sCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9X
ZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYW5jaG9yLWJyLWVsZW1lbnQud21sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDEwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgPz4KLTwhRE9DVFlQRSB3
bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBm
b3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGNhcmQgdGl0bGU9IkFuY2hv
ciBUYWciPgotICAgICAgICA8cD5UZXN0IGZvciBiciBlbGVtZW50IGVuY2xvc2VkIHdpdGggYW5j
aG9yIGVsZW1lbnQ8L3A+Ci0gICAgICAgIDxwPgotICAgICAgICAgICAgPGFuY2hvcj48Z28gaHJl
Zj0iU3RhcnRUZXN0cy53bWwiLz5HbyB0byA8YnIvPlN0YXJ0VGVzdHMud21sPC9hbmNob3I+Ci0g
ICAgICAgIDwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21h
bnVhbC10ZXN0cy93bWwvYW5jaG9yLWVsZW1lbnQud21sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYW5jaG9yLWVsZW1lbnQud21sCShyZXZpc2lvbiA4NTE2
NikKKysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYW5jaG9yLWVsZW1lbnQud21s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pgot
PCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRw
Oi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCB0
aXRsZT0iQW5jaG9yIFRhZyI+Ci0gICAgICAgIDxwPlRoaXMgaXMgYW4gYW5jaG9yIGJvdW5kIHRv
IGdvIHRhc2s8YnIvPgotICAgICAgICAgICAgPGFuY2hvcj4KLSAgICAgICAgICAgICAgICBOZXh0
IHBhZ2UKLSAgICAgICAgICAgICAgICA8Z28gaHJlZj0iYW5jaG9yLWltZy1lbGVtZW50LndtbCIv
PgotICAgICAgICAgICAgPC9hbmNob3I+Ci0gICAgICAgIDwvcD4KLQotICAgICAgICA8cD5UaGlz
IGFuIGFuY2hvciBib3VuZCB0byBwcmV2IHRhc2s8YnIvPgotICAgICAgICAgICAgPGFuY2hvciB0
aXRsZT0iUHJldmlvdXMiID5QcmV2IHBhZ2UKLSAgICAgICAgICAgICAgICA8cHJldi8+Ci0gICAg
ICAgICAgICA8L2FuY2hvcj4KLSAgICAgICAgPC9wPgotCi0gICAgICAgIDxwPlRoaXMgYW4gYW5j
aG9yIGJvdW5kIHRvIHJlZnJlc2ggdGFzazxici8+Ci0gICAgICAgICAgICA8YW5jaG9yIHRpdGxl
PSJSZWZyZXNoIj5SZWZyZXNoICR2YXIKLSAgICAgICAgICAgICAgICA8cmVmcmVzaD4gCi0gICAg
ICAgICAgICAgICAgICAgIDxzZXR2YXIgbmFtZT0idmFyIiB2YWx1ZT0ibWUiLz4KLSAgICAgICAg
ICAgICAgICA8L3JlZnJlc2g+Ci0gICAgICAgICAgICA8L2FuY2hvcj4KLSAgICAgICAgPC9wPgot
Ci0gICAgICAgIDxwPlRoaXMgaXMgYW4gYW5jaG9yIGNvbnRhaW5zIGltZyBlbGVtZW50LCBib3Vu
ZCB0byBwcmV2IHRhc2s8YnIvPgotICAgICAgICAgICAgPGFuY2hvciB0aXRsZT0iY2xpY2sgdG8g
Z28gYmFjayI+Ci0gICAgICAgICAgICAgICAgPHByZXYvPgotICAgICAgICAgICAgICAgIDxpbWcg
c3JjPSJyZXNvdXJjZXMvc21pbGV5LnBuZyIvPgotICAgICAgICAgICAgPC9hbmNob3I+Ci0gICAg
ICAgIDwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVh
bC10ZXN0cy93bWwvYW5jaG9yLWltZy1lbGVtZW50LndtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2FuY2hvci1pbWctZWxlbWVudC53bWwJKHJldmlzaW9u
IDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hbmNob3ItaW1nLWVs
ZW1lbnQud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICswLDAgQEAKLTw/eG1sIHZlcnNpb249
IjEuMCIgPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEv
L0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0g
ICAgPGNhcmQgdGl0bGU9IkFuY2hvciBUYWciPgotICAgICAgICA8cD5UZXN0IGZvciBXTUwgaW1n
IGVuY2xvc2VkIHdpdGggYW5jaG9yIGVsZW1lbnQsIHdoZW4gdGhlIG1vdXNlIG1vdmUgaW50byB0
aGUgaW1hZ2UsIHRoZSB0aXAgImdvIHRvIFN0YXJ0VGVzdHMud21sIiB3aWxsIGFwcGVhcjwvcD4K
LSAgICAgICAgPHA+Ci0gICAgICAgICAgICA8YW5jaG9yIHRpdGxlPSJnbyB0byBTdGFydFRlc3Rz
LndtbCI+PGltZyBzcmM9InJlc291cmNlcy9zbWlsZXkucG5nIi8+IDxnbyBocmVmPSJTdGFydFRl
c3RzLndtbCIvPjwvYW5jaG9yPgotICAgICAgICA8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2NhcmQtbmV3Y29udGV4dC1hdHRy
LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2NhcmQt
bmV3Y29udGV4dC1hdHRyLndtbAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9t
YW51YWwtdGVzdHMvd21sL2NhcmQtbmV3Y29udGV4dC1hdHRyLndtbAkod29ya2luZyBjb3B5KQpA
QCAtMSwxOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVC
TElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5v
cmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGNhcmQgaWQ9ImZpcnN0Y2FyZCIgdGl0
bGU9Ik9uZSI+Ci0gICAgICAgIDxwPlRlc3QgZm9yIG5ld2NvbnRleHQgYXR0cmlidXRlIG9mIGNh
cmQgZWxlbWVudDwvcD4KLSAgICAgICAgPHA+VGhpcyBpcyB0aGUgZmlyc3QgY2FyZCwgQ2xpY2sg
IkdvIiB0byBlbnRlciBjYXJkIHR3by48YnIvPkJlY2F1c2UgbmV3Y29udGV4dCBvZiBjYXJkIHR3
byBpcyB0cnVlLCB0aGUgaGlzdG9yeSBzdGF0ZSB3aWxsIGJlIGNsZWFuLCBhbmQgdGhlIHZhcmlh
YmxlICIkdmFyMSIgd29uJ3QgYmUgcmVwbGFjZWQ8L3A+Ci0gICAgICAgIDxkbyB0eXBlPSJhY2Nl
cHQiIGxhYmVsPSJHbyI+Ci0gICAgICAgICAgICA8Z28gaHJlZj0iI3NlY29uZGNhcmQiPgotICAg
ICAgICAgICAgICAgIDxzZXR2YXIgbmFtZT0idmFyMSIgdmFsdWU9InR3byIvPiAKLSAgICAgICAg
ICAgIDwvZ28+Ci0gICAgICAgIDwvZG8+Ci0gICAgPC9jYXJkPgotCi0gICAgPGNhcmQgaWQ9InNl
Y29uZGNhcmQiIHRpdGxlPSIkdmFyMSIgbmV3Y29udGV4dD0idHJ1ZSI+Ci0gICAgICAgIDxwPlRo
aXMgaXMgdGhlIGNhcmQgJHZhcjE8L3A+Ci0gICAgICAgIDxwPkJlY2F1c2UgbmV3Y29udGV4dCBv
ZiB0aGlzIGNhcmQgaXMgdHJ1ZSwgdGhlIGhpc3Rvcnkgc3RhdGUgd2lsbCBiZSBjbGVhbiwgYW5k
IHRoZSB2YXJpYWJsZSAiJHZhcjEiIHdvbid0IGJlIHJlcGxhY2VkPC9wPgotICAgIDwvY2FyZD4K
LTwvd21sPgpJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9jYXJkLW9uZW50
ZXJiYWNrd2FyZC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3Rz
L3dtbC9jYXJkLW9uZW50ZXJiYWNrd2FyZC53bWwJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNl
L1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9jYXJkLW9uZW50ZXJiYWNrd2FyZC53bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsMjMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZ
UEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cu
d2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkIGlkPSJjYXJk
MSIgdGl0bGU9IkNhcmQgMSIgb25lbnRlcmJhY2t3YXJkPSIjY2FyZDMiPiAKLSAgICAgICAgPHA+
VGVzdCBmb3IgY2FyZCBvbmVudGVyYmFja3dhcmQgaW50cmluc2ljIGV2ZW50PC9wPgotICAgICAg
ICA8cD5DbGljayAiR28iIHRvIGp1bXAgdG8gdGhlIGNhcmQyLCBpZiB5b3UgZ28gYmFjayBmcm9t
IGNhcmQyLCBpdCB3aWxsIGp1bXAgdG8gY2FyZDM8L3A+Ci0gICAgICAgIDxhbmNob3IgdGl0bGU9
ImdvIHRvIGNhcmQyIj4KLSAgICAgICAgICAgIDxnbyBocmVmPSIjY2FyZDIiPkdvPC9nbz4KLSAg
ICAgICAgPC9hbmNob3I+Ci0gICAgPC9jYXJkPgotCi0gICAgPGNhcmQgaWQ9ImNhcmQyIiB0aXRs
ZT0iQ2FyZCAyIj4gCi0gICAgICAgIDxwPlRoaXMgaXMgY2FyZDIsY2xpY2sgIkJhY2siIHdpbGwg
YmFjayB0byB0aGUgcHJldmlvdXMgcGFnZTwvcD4gCi0gICAgICAgIDxhbmNob3I+Ci0gICAgICAg
ICAgICBCYWNrCi0gICAgICAgICAgICA8cHJldi8+Ci0gICAgICAgIDwvYW5jaG9yPgotICAgIDwv
Y2FyZD4KLQotICAgIDxjYXJkIGlkPSJjYXJkMyIgdGl0bGU9IkNhcmQgMyI+Ci0gICAgICAgIDxw
PlRoaXMgaXMgY2FyZDM8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+IApJbmRleDogU291cmNlL1dl
YkNvcmUvbWFudWFsLXRlc3RzL3dtbC9jYXJkLW9uZW50ZXJmb3J3YXJkLndtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2NhcmQtb25lbnRlcmZvcndhcmQu
d21sCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwv
Y2FyZC1vbmVudGVyZm9yd2FyZC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTMgKzAsMCBAQAot
PD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0v
L0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnht
bCI+Ci08d21sPgotICAgIDxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQgMSIgb25lbnRlcmZv
cndhcmQ9IiNjYXJkMiI+Ci0gICAgICAgIDxwPlRlc3QgZm9yIGNhcmQgb25lbnRlcmZvcndhcmQg
ZXZlbnQ8L3A+Ci0gICAgICAgIDxwPkNhcmQgb25lIHdpbGwganVtcCB0byBjYXJkIHR3byB3aGVu
IGVudGVyZWQgZm9yd2FyZCBpdDwvcD4KLSAgICA8L2NhcmQ+Ci0KLSAgICA8Y2FyZCBpZD0iY2Fy
ZDIiIHRpdGxlPSJDYXJkIDIiPgotICAgICAgICA8cD5UZXN0IGZvciBjYXJkIG9uZW50ZXJmb3J3
YXJkIGV2ZW50PC9wPgotICAgICAgICA8cD5UaGlzIGlzIGNhcmQyLCBJIGFtIGVudGVyZWQgYnkg
Y2FyZCBvbmUgZm9yd2FyZGluZzwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvY2FyZC1vbnRpbWVyLndtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2NhcmQtb250aW1lci53bWwJKHJldmlz
aW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9jYXJkLW9udGlt
ZXIud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEu
MCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4i
ICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8
aGVhZD4KLSAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ2FjaGUtQ29udHJvbCIgY29udGVudD0i
bWF4LWFnZT0wIi8+Ci0gICAgPC9oZWFkPgotCi0gICAgPGNhcmQgaWQ9ImNhcmQxIiBvbnRpbWVy
PSIjY2FyZDIiIHRpdGxlPSJDYXJkIG9uZSI+Ci0gICAgICAgIDxwPlRlc3QgZm9yIGNhcmQgb250
aW1lciBpbnRyaW5zaWMgZXZlbnQgaW4gV01MPC9wPgotICAgICAgICA8dGltZXIgbmFtZT0idGlt
ZTEiIHZhbHVlPSI1MCIvPgotICAgICAgICA8cD4KLSAgICAgICAgICAgIFRoaXMgaXMgY2FyZCBv
bmU8YnIvPgotICAgICAgICAgICAgVGhlIHRpbWVyIGlzIHRyaWdnZXJlZCBieSB0aGUgb250aW1l
ciBpbnRyaW5zaWMgZXZlbnQob250aW1lciBhcyBhdHRyaWJ1dGUgb2YgY2FyZCBlbGVtZW50KTxi
ci8+Ci0gICAgICAgICAgICBXaGVuIHRoZSB0aW1lciBpcyB0aW1lb3V0KGFmdGVyIDVzKSwgd2ls
bCBqdW1wIHRvIGNhcmQgdHdvLgotICAgICAgICA8L3A+Ci0gICAgPC9jYXJkPgotCi0gICAgPGNh
cmQgaWQ9ImNhcmQyIj4KLSAgICAgICAgVGhpcyBpcyBDYXJkIHR3bwotICAgIDwvY2FyZD4KLTwv
d21sPgpJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9kZWNrLWFjY2Vzcy1j
b250cm9sLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21s
L2RlY2stYWNjZXNzLWNvbnRyb2wud21sCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJD
b3JlL21hbnVhbC10ZXN0cy93bWwvZGVjay1hY2Nlc3MtY29udHJvbC53bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21s
IFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9y
dW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkIG9uZW50ZXJmb3J3YXJk
PSJ0YXJnZXRkZWNrLndtbCI+Ci0gICAgICAgIDxwPlRlc3QgZm9yIERlY2sgQWNjZXNzIGNvbnRy
b2wgaW4gV01MLiA8L3A+Ci0gICAgICAgIDxwPlRoaXMgZGVjayB3aWxsIHRyeSB0byBqdW1wIHRv
ICJ0YXJnZXRkZWNrLndtbCIgd2hlbiBpdCBpcyBsb2FkZWQuIEJ1dCBpdCB3aWxsIDxzdHJvbmc+
RkFJTDwvc3Ryb25nPiBiZWNhdXNlICJ0YXJnZXRkZWNrLndtbCIganVzdCBhbGxvd3MgImFjY2Vz
cy10YXJnZXQud21sIiB0byBhY2Nlc3MgaXQuPC9wPgotICAgICAgICA8cD5Zb3UgY2FuIGNsaWNr
ICdHbycgdG8gZW50ZXIgJ2FjY2Vzcy10YXJnZXQud21sJywgYW5kIHRoZW4gZW50ZXIgJ3Rhcmdl
dGRlY2sud21sJyBmcm9tIHRoZXJlPC9wPgotICAgICAgICA8YW5jaG9yIHRpdGxlPSJnbyB0byBh
Y2Nlc3MtdGFyZ2V0LndtbCI+PGdvIGhyZWY9Ii4vYWNjZXNzLXRhcmdldC53bWwiPkdvPC9nbz48
L2FuY2hvcj4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVh
bC10ZXN0cy93bWwvaW5wdXQtZm9ybWF0LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9tYW51YWwtdGVzdHMvd21sL2lucHV0LWZvcm1hdC53bWwJKHJldmlzaW9uIDg1MTY2KQorKysg
U291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9pbnB1dC1mb3JtYXQud21sCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDIyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBF
IHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iImh0dHA6Ly93d3cud2Fw
Zm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkIHRpdGxlPSJJbnB1
dCI+Ci0gICAgICAgIDxwPlRlc3QgZm9yIGlucHV0IGZvcm1hdCBpbiBXTUw8L3A+Ci0gICAgICAg
IDxwPgotICAgICAgICAgICAgUGFzc3dvcmQoZGVmYXVsdDoqTSk6PGlucHV0IG5hbWU9ImRlZmF1
bHQiLz48YnIvPgotICAgICAgICAgICAgUGFzc3dvcmQoNk0pOiA8aW5wdXQgbmFtZT0iUHdkIiB0
eXBlPSJwYXNzd29yZCIgZm9ybWF0PSI2TSIvPjxici8+Ci0gICAgICAgICAgICBQYXNzd29yZChB
QWEpOiA8aW5wdXQgbmFtZT0iUHdkMiIgdHlwZT0icGFzc3dvcmQiIGZvcm1hdD0iQUFhIi8+PGJy
Lz4KLSAgICAgICAgICAgIG9uZS1udW1lcmljK2xvd2VyY2FzZShOKmEpOjxpbnB1dCBuYW1lPSJ1
cHBlciIgZm9ybWF0PSJOKmEiLz48YnIvPgotICAgICAgICAgICAgVXBwZXJjYXNlK25vbi1udW1l
cmljKEFBQTtzaXplPTgpOjxpbnB1dCBuYW1lPSJ1cHBlciIgc2l6ZT0iOCIgZm9ybWF0PSJBQUEi
Lz48YnIvPgotICAgICAgICAgICAgTG93ZXJjYXNlK25vbi1udW1lcmljKGFhYTtzaXplPTg7d2lk
dGg9Mik6PGlucHV0IG5hbWU9Imxvd2VyIiBzaXplPSI4IiB3aWR0aD0iMiIgZm9ybWF0PSJhYWEi
Lz48YnIvPgotICAgICAgICAgICAgTnVtZXJpYyg1TjttYXhsZW49Myk6PGlucHV0IG5hbWU9Im51
bWVyaWMiIG1heGxlbmd0aD0iMyIgZm9ybWF0PSI1TiIvPjxici8+Ci0gICAgICAgICAgICBOdW1l
cmljK3N5bWJvbHMobm5uKTo8aW5wdXQgbmFtZT0ibnVtZXJpYysiIGZvcm1hdD0ibm5uIi8+PGJy
Lz4KLSAgICAgICAgICAgIFVwcGVyY2FzZStudW1lcmljK3N5bWJvbHMoWFhYKTo8aW5wdXQgbmFt
ZT0idXBwZXIrIiBmb3JtYXQ9IlhYWCIvPjxici8+Ci0gICAgICAgICAgICBMb3dlcmNhc2UrbnVt
ZXJpYytzeW1ib2xzKHh4eCk6PGlucHV0IG5hbWU9Imxvd2VyKyIgZm9ybWF0PSJ4eHgiLz48YnIv
PgotICAgICAgICAgICAgVXBwZXJjYXNlK251bWVyaWMrc3ltYm9scyhNTU0pOjxpbnB1dCBuYW1l
PSJkZWZfdXBwZXIrIiBmb3JtYXQ9Ik1NTSIvPjxici8+Ci0gICAgICAgICAgICBMb3dlcmNhc2Ur
bnVtZXJpYytzeW1ib2xzKG1tbSk6PGlucHV0IG5hbWU9ImRlZl9sb3dlcisiIGZvcm1hdD0ibW1t
Ii8+PGJyLz4KLSAgICAgICAgICAgIE1peGVkIGRhdGEoYVwtTk4qeCk8aW5wdXQgbmFtZT0iYW55
IiBmb3JtYXQ9ImFcLU5OKngiLz48YnIvPgotICAgICAgICA8L3A+Ci0gICAgPC9jYXJkPgotPC93
bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZlbnQtZ28ud21s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvb25ldmVudC1n
by53bWwJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dt
bC9vbmV2ZW50LWdvLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNyArMCwwIEBACi08P3htbCB2
ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdN
TCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3
bWw+Ci0gICAgPGNhcmQgaWQ9ImNhcmQxIiB0aXRsZT0iQ2FyZCAxIj4gCi0gICAgICAgIDxvbmV2
ZW50IHR5cGU9Im9uZW50ZXJmb3J3YXJkIj4KLSAgICAgICAgICAgIDxnbyBocmVmPSIjY2FyZDIi
Lz4KLSAgICAgICAgPC9vbmV2ZW50PgotICAgICAgICA8cD5UZXN0IGZvciBvbmV2ZW50IGVsZW1l
bnQgd2hpY2ggYmluZHMgZ28gdGFzayB3aXRoIG9uZW50ZXJmb3J3YXJkIGV2ZW50PC9wPgotICAg
ICAgICA8cD53aGVuIGVudGVyIGZvcndhcmQgdG8gdGhpcyBjYXJkLCBpdCB3aWxsIGp1bXAgdG8g
Y2FyZCAyPC9wPgotICAgIDwvY2FyZD4KLQotICAgIDxjYXJkIGlkPSJjYXJkMiIgdGl0bGU9IkNh
cmQgMiI+Ci0gICAgICAgIDxwPlRlc3QgZm9yIG9uZXZlbnQgZWxlbWVudCB3aGljaCBiaW5kcyBn
byB0YXNrIHdpdGggb25lbnRlcmZvcndhcmQgZXZlbnQ8L3A+Ci0gICAgICAgIDxwPndoaWxlIGNh
cmQgMSBpcyBsb2FkZWQsIGl0IHdpbGwgdHJpZ2dlciB0aGUgb25lbnRlcmZvcndhcmQgZXZlbnQg
YW5kIGp1bXAgdG8gY2FyZDIgaW1tZWRpYXRlbHk8L3A+Ci0gICAgICAgIDxwPlRoaXMgaXMgY2Fy
ZDI8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+IApJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFs
LXRlc3RzL3dtbC9vbmV2ZW50LW5vb3Aud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L21hbnVhbC10ZXN0cy93bWwvb25ldmVudC1ub29wLndtbAkocmV2aXNpb24gODUxNjYpCisrKyBT
b3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZlbnQtbm9vcC53bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUg
d21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2Fw
Zm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkIGlkPSJjYXJkMSIg
dGl0bGU9IkNhcmQgMSI+IAotICAgICAgICA8b25ldmVudCB0eXBlPSJvbmVudGVyZm9yd2FyZCI+
Ci0gICAgICAgICAgICA8bm9vcC8+Ci0gICAgICAgIDwvb25ldmVudD4KLSAgICAgICAgPHA+VGVz
dCBmb3Igb25ldmVudCBlbGVtZW50IHdoaWNoIGJpbmRzIG5vb3AgdGFzayB3aXRoIG9uZW50ZXJm
b3J3YXJkIGV2ZW50PC9wPgotICAgICAgICA8cD53aGVuIGVudGVyIGZvcndhcmQgdG8gdGhpcyBj
YXJkLCBpdCB3b24ndCBkbyBhbnl0aGluZyBhcyBpZiB0aGUgb25lbnRlcmZvcndhcmQgZXZlbnQg
d2Fzbid0IHRyaWdnZXJlZDwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4gCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZlbnQtcHJldi53bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50LXByZXYud21sCShyZXZpc2lv
biA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvb25ldmVudC1wcmV2
LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAi
Pz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAi
aHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGNh
cmQgaWQ9ImNhcmQxIiB0aXRsZT0iQ2FyZCAxIj4gCi0gICAgICAgIDxwPlRlc3QgZm9yIG9uZXZl
bnQgZWxlbWVudCB3aGljaCBiaW5kcyBwcmV2IHRhc2sgd2l0aCBvbmVudGVyZm9yd2FyZCBldmVu
dDwvcD4KLSAgICAgICAgPHA+Q2xpY2tpbmcgIkdvIiB3aWxsIGNhdXNlIGl0IHRvIGp1bXAgdG8g
dGhlIGNhcmQyLCBidXQgd2hpY2ggYmluZHMgcHJldiB0YXNrIHRvIG9uZW50ZXJmb3J3YXJkIGV2
ZW50IHdpdGhpbiBvbmV2ZW50IGVsZW1lbnQsIGFzIGEgcmVzdWx0LCBpdCB3aWxsIGp1bXAgYmFj
ayB0byBjYXJkIDE8L3A+Ci0gICAgICAgIDxhbmNob3IgdGl0bGU9IkdvIHRvIGNhcmQyIj5Hbwot
ICAgICAgICAgICAgPGdvIGhyZWY9IiNjYXJkMiIvPgotICAgICAgICA8L2FuY2hvcj4KLSAgICA8
L2NhcmQ+Ci0KLSAgICA8Y2FyZCBpZD0iY2FyZDIiIHRpdGxlPSJDYXJkIDIiPgotICAgICAgICA8
cD5UZXN0IGZvciBvbmV2ZW50IGVsZW1lbnQgd2hpY2ggYmluZHMgcHJldiB0YXNrIHdpdGggb25l
bnRlcmZvcndhcmQgZXZlbnQ8L3A+Ci0gICAgICAgIDxwPlRoaXMgaXMgY2FyZDIuIFdoZW4gY2Fy
ZCAyIGlzIGVudGVyZWQgZm9yd2FyZCwgaXQgd2lsbCBqdW1wIGJhY2sgdG8gdGhlIHByZXZpb3Vz
IHBhZ2U8L3A+Ci0gICAgICAgIDxvbmV2ZW50IHR5cGU9Im9uZW50ZXJmb3J3YXJkIj4KLSAgICAg
ICAgICAgIDxwcmV2Lz4KLSAgICAgICAgPC9vbmV2ZW50PgotICAgIDwvY2FyZD4KLTwvd21sPiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvb25ldmVudC1yZWZyZXNoLndt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZlbnQt
cmVmcmVzaC53bWwJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRl
c3RzL3dtbC9vbmV2ZW50LXJlZnJlc2gud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE2ICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZP
UlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEu
MS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCBpZD0iY2FyZDEiIHRpdGxlPSJDYXJkIDEiPiAKLSAg
ICAgICAgPHRpbWVyIG5hbWU9IlQiIHZhbHVlPSIzMCIvPgotICAgICAgICA8b25ldmVudCB0eXBl
PSJvbnRpbWVyIj4KLSAgICAgICAgICAgIDxyZWZyZXNoPgotICAgICAgICAgICAgICAgIDxzZXR2
YXIgbmFtZT0idmFyIiB2YWx1ZT0iVkFSSUFCTEUiLz4KLSAgICAgICAgICAgIDwvcmVmcmVzaD4K
LSAgICAgICAgPC9vbmV2ZW50PgotCi0gICAgICAgIDxwPlRlc3QgZm9yIG9uZXZlbnQgZWxlbWVu
dCB3aGljaCBiaW5kcyByZWZyZXNoIHRhc2sgd2l0aCBvbnRpbWVyIGV2ZW50PC9wPgotICAgICAg
ICA8cD5XaGVuIHRoZSB0aW1lciB0aW1lb3V0KDNzKSwgdGhlIHBhZ2Ugd2lsbCBiZSByZWZyZXNo
LiBBcyBhIGNvbnNlcXVlbmNlLCB3ZSBjYW4gc2VlIHRoZSBmb2xsb3dpbmcgdmFyaWFibGUgcmVm
ZXJlbmNlIGhhcyBiZWVuIHN1YnN0aXR1dGVkPC9wPgotICAgICAgICA8cCBhbGlnbj0iY2VudGVy
Ij4gSGVyZSBpcyBhIHZhcmlhYmxlIDogdmFyID0gJHZhcjwvcD4KLSAgICA8L2NhcmQ+Ci08L3dt
bD4gCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZlbnQtc2hhZG93
LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZl
bnQtc2hhZG93LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwt
dGVzdHMvd21sL29uZXZlbnQtc2hhZG93LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwyOCArMCww
IEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBG
T1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8x
LjEueG1sIj4KLTx3bWw+Ci0gICAgPHRlbXBsYXRlPgotICAgICAgICA8b25ldmVudCB0eXBlPSJv
bmVudGVyZm9yd2FyZCI+Ci0gICAgICAgICAgICA8Z28gaHJlZj0iI2NhcmQyIi8+Ci0gICAgICAg
IDwvb25ldmVudD4KLSAgICA8L3RlbXBsYXRlPgotCi0gICAgPGNhcmQgaWQ9ImNhcmQxIiB0aXRs
ZT0iQ2FyZCBPbmUiPgotICAgICAgICA8b25ldmVudCB0eXBlPSJvbmVudGVyZm9yd2FyZCI+Ci0g
ICAgICAgICAgICA8Z28gaHJlZj0iI2NhcmQzIi8+Ci0gICAgICAgIDwvb25ldmVudD4KLQotICAg
ICAgICA8cD5UZXN0IGZvciBvbmV2ZW50IHNoYWRvd2luZyBpbiBXTUw8L3A+Ci0gICAgICAgIDxw
PlRoZSBjYXJkLWxldmVsIG9uZXZlbnQgd2lsbCBzaGFkb3cgdGhlIGRlY2stbGV2ZWwgb25ldmVu
dC4gQXMgYSByZXN1bHQsIGNhcmQgMSB3b24ndCBqdW1wIHRvIGNhcmQyIGJ1dAotICAgICAgICAg
ICB0byBjYXJkIDMgYWNjb3JkaW5nIHRvIHRoZSBjYXJkLWxldmVsIG9uZXZlbnQncyByZXF1aXJl
bWVudC4gQWZ0ZXIgZW50ZXJlZCB0aGUgY2FyZCAzLCB0aGUgZGVjay1sZXZlbCBvbmV2ZW50Ci0g
ICAgICAgICAgIGVsZW1lbnQgaXNuJ3Qgc2hhZG93ZWQgYnkgdGhpcyBjYXJkLCBzbyBpdCB3aWxs
IGp1bXAgdG8gY2FyZCAyIGltbWVkaWF0ZWx5LjwvcD4KLSAgICA8L2NhcmQ+Ci0KLSAgICA8Y2Fy
ZCBpZD0iY2FyZDIiIHRpdGxlPSJDYXJkIHR3byIgb25lbnRlcmZvcndhcmQ9IiI+Ci0gICAgICAg
IDxwPlRoaXMgaXMgY2FyZCAyPC9wPgotICAgIDwvY2FyZD4KLQotICAgIDxjYXJkIGlkPSJjYXJk
MyIgdGl0bGU9IkNhcmQgVGhyZWUiPgotICAgICAgICA8cD5UaGlzIGlzIGNhcmQgMzwvcD4KLSAg
ICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwv
c2VsZWN0LWVsZW1lbnQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10
ZXN0cy93bWwvc2VsZWN0LWVsZW1lbnQud21sCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9X
ZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvc2VsZWN0LWVsZW1lbnQud21sCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDI0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQ
VUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVt
Lm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCBpZD0iY2FyZDEiIHRpdGxl
PSJTZWxlY3QgVGVzdCI+Ci0gICAgICAgIDxwPlRlc3QgZm9yIHNlbGVjdCBlbGVtZW50IGluIFdN
TDwvcD4KLSAgICAgICAgPHA+WW91IGNhbiBzZWxlY3Qgb25lIG9yIG1vcmUgb3B0aW9ucywgYW5k
IHRoZW4gY2xpY2sgJ0Fuc3dlcicsIHRoZSBzZWNvbmQgY2FyZCB3aWxsIHRlbGwgeW91IHdoYXQg
eW91IHNlbGVjdGVkPC9wPgotICAgICAgICA8cD4KLSAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0i
Y2FycyIgdGl0bGU9IlNFTEVDVCIgbXVsdGlwbGU9InRydWUiPgotICAgICAgICAgICAgICAgIDxv
cHRpb24gdmFsdWU9InZvbHZvIiA+Vm9sdm88L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0
aW9uIHZhbHVlPSJmaWF0Ij5GaWF0PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbiB2
YWx1ZT0ic2FhYiI+U2FhYjwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9
ImF1ZGkiPkF1ZGk8L29wdGlvbj4KLSAgICAgICAgICAgIDwvc2VsZWN0PgotICAgICAgICA8L3A+
Ci0KLSAgICAgICAgPGRvIHR5cGU9ImFjY2VwdCIgbGFiZWw9IkFuc3dlciI+Ci0gICAgICAgICAg
ICA8Z28gaHJlZj0iI2NhcmQyIi8+Ci0gICAgICAgIDwvZG8+Ci0gICAgPC9jYXJkPgotCi0gICAg
PGNhcmQgaWQ9ImNhcmQyIiB0aXRsZT0iQW5zd2VyIj4KLSAgICAgICAgPHA+WW91IHNlbGVjdGVk
OiAkKGNhcnMpPC9wPgotICAgIDwvY2FyZD4KLTwvd21sPgpJbmRleDogU291cmNlL1dlYkNvcmUv
bWFudWFsLXRlc3RzL3dtbC9zZWxlY3Qtb25waWNrLWV2ZW50LWNyYXNoLndtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3NlbGVjdC1vbnBpY2stZXZlbnQt
Y3Jhc2gud21sCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0
cy93bWwvc2VsZWN0LW9ucGljay1ldmVudC1jcmFzaC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAi
LS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RU
RC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkPgotICAgICAgICA8c2VsZWN0IG5hbWU9
InJlc3VsdCIgZG11bHRpcGxlPSJ0cnVlIj4KLSAgICAgICAgICAgIDxvcHRpb24gb25waWNrPSIj
Y2FyZDIiIHZhbHVlPSJmb28iPkZvbzwvb3B0aW9uPgotICAgICAgICAgICAgPG9wdGlvbiBvbnBp
Y2s9IiNjYXJkMiIgdmFsdWU9ImJhciI+QmFyPC9vcHRpb24+Ci0gICAgICAgIDwvc2VsZWN0Pgot
ICAgIDwvY2FyZD4KLQotICAgIDxjYXJkIGlkPSJjYXJkMiI+VGVzdCBwYXNzLCBpZiBpdCBkaWRu
J3QgY3Jhc2guPC9jYXJkPgotPC93bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVz
dHMvd21sL3NlbGVjdC1vbnBpY2stZXZlbnQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL21hbnVhbC10ZXN0cy93bWwvc2VsZWN0LW9ucGljay1ldmVudC53bWwJKHJldmlzaW9uIDg1
MTY2KQorKysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9zZWxlY3Qtb25waWNrLWV2
ZW50LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VO
IiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAg
PGNhcmQ+Ci0gICAgICAgIDxwPlRlc3QgZm9yIHNlbGVjdCBvbnBpY2sgaW50cmluc2ljIGV2ZW50
IGluIFdNTDwvcD4KLSAgICAgICAgPHA+V2hlbiB5b3Ugc2VsZWN0IHRoZSAnTGlvbicgb3B0aW9u
LCB3aWxsIGp1bXAgdG8gU3RhcnRUZXN0cy53bWw8L3A+Ci0gICAgICAgIFBsZWFzZSBjaG9vc2Ug
eW91ciBmYXZvdXJpdGUgYW5pbWFsOjxici8+Ci0gICAgICAgIDxzZWxlY3QgbmFtZT0iWCIgbXVs
dGlwbGU9InRydWUiPgotICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRCI+RG9nPC9vcHRpb24+
Ci0gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDIj5DYXQ8L29wdGlvbj4KLSAgICAgICAgICAg
IDxvcHRpb24gdmFsdWU9IkwiIG9ucGljaz0iU3RhcnRUZXN0cy53bWwiPkxpb248L29wdGlvbj4K
LSAgICAgICAgPC9zZWxlY3Q+Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9tYW51YWwtdGVzdHMvd21sL3NldHZhci1lbGVtZW50LndtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3NldHZhci1lbGVtZW50LndtbAkocmV2aXNp
b24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3NldHZhci1lbGVt
ZW50LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VO
IiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAg
PGNhcmQgaWQ9ImZpcnN0Y2FyZCIgdGl0bGU9IlRlc3QgZm9yIFNldHZhciBlbGVtZW50Ij4KLSAg
ICAgICAgPHA+VGVzdCBmb3Igc2V0dmFyIGVsZW1lbnQgaW4gV01MIDwvcD4KLSAgICAgICAgPHA+
VGhpcyBpcyB0aGUgZmlyc3QgY2FyZCAsIGhhcyB2YXJpYWJsZTogVkFSPSckdmFyJzwvcD4KLSAg
ICAgICAgPHA+Q2xpY2sgIlJlZnJlc2giIHdpbGwgdXBkYXRlIHRoZSB2YWx1ZSBvZiBWQVIgdmFy
YWlibGUgd2hpY2ggc3BlY2lmaWVkIGJ5IHNldHZhciBlbGVtZW50PC9wPgotCi0gICAgICAgIDxk
byBuYW1lPSJSZWZyZXNoIiB0eXBlPSJhY2NlcHQiPiAKLSAgICAgICAgICAgIDxyZWZyZXNoPgot
ICAgICAgICAgICAgICAgIDxzZXR2YXIgbmFtZT0idmFyIiB2YWx1ZT0iVkFMVUUiLz4KLSAgICAg
ICAgICAgIDwvcmVmcmVzaD4KLSAgICAgICAgPC9kbz4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGFyZ2V0ZGVjay53bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90YXJnZXRkZWNrLndtbAko
cmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3Rhcmdl
dGRlY2sud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLTw/eG1sIHZlcnNpb249
IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8v
RU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAg
ICA8aGVhZD4KLSAgICAgICAgPGFjY2VzcyBkb21haW49ImxvY2FsaG9zdCIgcGF0aD0iYWNjZXNz
LXRhcmdldC53bWwiLz4KLSAgICA8L2hlYWQ+Ci0KLSAgICA8Y2FyZD4KLSAgICAgICAgPHA+VGVz
dCBmb3IgRGVjayBBY2Nlc3MgY29udHJvbCBpbiBXTUwuPC9wPgotICAgICAgICA8cD5UaGlzIGlz
IHRoZSB0YXJnZXRkZWNrLCBvbmx5ICcuL2FjY2Vzcy10YXJnZXQud21sIiBjYW4gYWNjZXNzIG1l
PC9wPgotICAgICAgICA8YSBocmVmPSJTdGFydFRlc3RzLndtbCI+TmV4dCBwYWdlPC9hPgotICAg
IDwvY2FyZD4KLTwvd21sPgpJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90
YXNrLWdvLWluLWFuY2hvci53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFs
LXRlc3RzL3dtbC90YXNrLWdvLWluLWFuY2hvci53bWwJKHJldmlzaW9uIDg1MTY2KQorKysgU291
cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90YXNrLWdvLWluLWFuY2hvci53bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiID8+Ci08IURPQ1RZ
UEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cu
d2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkIHRpdGxlPSJB
bmNob3IgVGFnIj4KLSAgICAgICAgPHA+VGVzdCBmb3IgV01MIGdvIHRhc2sgZW5jbG9zZWQgd2l0
aCBhbmNob3IgZWxlbWVudDwvcD4KLSAgICAgICAgPHA+Y2xpY2sgJ05leHQgcGFnZScgdG8gZ28g
dG8gU3RhcnRUZXN0cy53bWw8L3A+Ci0gICAgICAgIDxwPjxhbmNob3I+TmV4dCBwYWdlPGdvIGhy
ZWY9IlN0YXJ0VGVzdHMud21sIi8+PC9hbmNob3I+PC9wPgotICAgIDwvY2FyZD4KLTwvd21sPgpJ
bmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90YXNrLXByZXYtaW4tYW5jaG9y
LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3Rhc2st
cHJldi1pbi1hbmNob3Iud21sCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL21h
bnVhbC10ZXN0cy93bWwvdGFzay1wcmV2LWluLWFuY2hvci53bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsMTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiA/PgotPCFET0NUWVBFIHdtbCBQVUJM
SUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9y
Zy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCB0aXRsZT0iQW5jaG9yIFRhZyI+
Ci0gICAgICAgIDxwPlRlc3QgZm9yIFdNTCBwcmV2IHRhc2sgZW5jbG9zZWQgd2l0aCBhbmNob3Ig
ZWxlbWVudCA8L3A+Ci0gICAgICAgIDxwPmNsaWNrICdwcmV2IHBhZ2UnIHRvIGdvIHRvIHByZXZp
b3VzIHBhZ2UgaWYgaXQgaXMgbm90IHRoZSBmaXJzdCBwYWdlIGluIGhpc3Rvcnk8L3A+Ci0gICAg
ICAgIDxwPgotICAgICAgICAgICAgPGFuY2hvcj5QcmV2IHBhZ2U8cHJldi8+PC9hbmNob3I+Ci0g
ICAgICAgIDwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21h
bnVhbC10ZXN0cy93bWwvdGFzay1yZWZyZXNoLWluLWFuY2hvci53bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90YXNrLXJlZnJlc2gtaW4tYW5jaG9yLndt
bAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3Rh
c2stcmVmcmVzaC1pbi1hbmNob3Iud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAK
LTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVN
Ly9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54
bWwiPgotPHdtbD4KLSAgICA8Y2FyZCB0aXRsZT0iJFQiPgotICAgICAgICA8cD5UZXN0IGZvciBy
ZWZyZXNoIHRhc2sgd2l0aGluIFdNTCBhbmNob3IgZWxlbWVudC48YnIvPmNsaWNrICJSZWZyZXNo
IiB3aWxsIHJlZnJlc2ggdGhpcyBwYWdlLCBhcyBhIHJlc3VsdCB0aGUgcGFnZSB0aXRsZSB3aWxs
IGJlIHVwZGF0ZWQuPC9wPgotICAgICAgICA8cD4KLSAgICAgICAgICAgIDxhbmNob3I+Ci0gICAg
ICAgICAgICAgICAgUmVmcmVzaAotICAgICAgICAgICAgICAgIDxyZWZyZXNoPgotICAgICAgICAg
ICAgICAgICAgICA8c2V0dmFyIG5hbWU9IlQiIHZhbHVlPSJUZXN0IHJlZnJlc2ggdGFzayIvPgot
ICAgICAgICAgICAgICAgIDwvcmVmcmVzaD4KLSAgICAgICAgICAgIDwvYW5jaG9yPgotICAgICAg
ICA8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9tYW51YWwt
dGVzdHMvd21sL3RlbXBsYXRlLWdvLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9t
YW51YWwtdGVzdHMvd21sL3RlbXBsYXRlLWdvLndtbAkocmV2aXNpb24gODUxNjYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3RlbXBsYXRlLWdvLndtbAkod29ya2luZyBjb3B5
KQpAQCAtMSwxOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwg
UFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1
bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPHRlbXBsYXRlPgotICAgICAgICA8
ZG8gbmFtZT0iZ28iIHR5cGU9ImFjY2VwdCIgbGFiZWw9IlRlbXBsYXRlIEdvIj4KLSAgICAgICAg
ICAgIDxnbyBocmVmPSIjY2FyZDIiLz4KLSAgICAgICAgPC9kbz4KLSAgICA8L3RlbXBsYXRlPgot
Ci0gICAgPGNhcmQgaWQ9ImNhcmQxIiB0aXRsZT0iQ2FyZCAxIj4KLSAgICAgICAgPHA+VGVzdCBm
b3IgdGVtcGxhdGUgZWxlbWVudCBpbiBXTUwuIFRlbXBsYXRlIGdvIGJ1dHRvbiBpcyBnbG9iYWw8
L3A+Ci0gICAgICAgIDxwPlRoaXMgaXMgQ2FyZCBvbmUsIGNsaWNrICdUZW1wbGF0ZSBHbycgdG8g
anVtcCB0byBDYXJkIHR3bzwvcD4KLSAgICA8L2NhcmQ+Ci0KLSAgICA8Y2FyZCBpZD0iY2FyZDIi
IHRpdGxlPSJDYXJkIDIiPgotICAgICAgICA8cD5UaGlzIGlzIGNhcmQgdHdvLjxici8+VGhlIGds
b2JhbCB0ZW1wbGF0ZSBHbyBidXR0b24gaXMgc3RpbGwgdmlzaWJsZSBmb3IgbWU8L3A+Ci0gICAg
PC9jYXJkPgotPC93bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3Rl
bXBsYXRlLW9udGltZXIud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10
ZXN0cy93bWwvdGVtcGxhdGUtb250aW1lci53bWwJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNl
L1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90ZW1wbGF0ZS1vbnRpbWVyLndtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwxNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3
bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIgotImh0dHA6Ly93d3cud2Fw
Zm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDx0ZW1wbGF0ZSBvbnRpbWVy
PSIjY2FyZDIiLz4KLQotICAgIDxjYXJkIGlkPSJjYXJkMSI+Ci0gICAgICAgIDxwPlRlc3QgZm9y
IHRlbXBsYXRlIG9udGltZXIgZXZlbnQgaW4gV01MPC9wPgotICAgICAgICA8cD5UaGlzIGlzIENh
cmQgb25lLHdlIHdpbGwganVtcCB0byBjYXJkIDIgYWZ0ZXIgNXMgYmVjYXVzZSBvZiB0aGUgdGVt
cGxhdGUgb250aW1lciBldmVudDwvcD4KLSAgICAgICAgPHRpbWVyIHZhbHVlPSI1MCIvPgotICAg
IDwvY2FyZD4KLSAgICAKLSAgICA8Y2FyZCBpZD0iY2FyZDIiIHRpdGxlPSJjYXJkIDIiPgotICAg
ICAgICA8cD5UaGlzIGlzIGNhcmQgMjwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGltZXIud21sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGltZXIud21sCShyZXZpc2lvbiA4NTE2NikK
KysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGltZXIud21sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdt
bCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZv
cnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPG1l
dGEgaHR0cC1lcXVpdj0iQ2FjaGUtQ29udHJvbCIgY29udGVudD0ibWF4LWFnZT0wIi8+Ci0gICAg
PC9oZWFkPgotCi0gICAgPGNhcmQgaWQ9ImNhcmQxIiBvbnRpbWVyPSIjY2FyZDIiIHRpdGxlPSJD
YXJkIG9uZSI+Ci0gICAgICAgIDxwPlRoaXMgdGVzdCBjYXNlIGlzIHVzZWQgdG8gdGVzdCB0aW1l
ciBpbiBXTUwgPC9wPgotICAgICAgICA8dGltZXIgbmFtZT0idGltZTEiIHZhbHVlPSI1MCIvPgot
ICAgICAgICA8cD4KLSAgICAgICAgICAgIFRoaXMgaXMgY2FyZCBvbmU8YnIvPgotICAgICAgICAg
ICAgVGhlIHRpbWVyIGlzIHRyaWdnZXJlZCBieSB0aGUgb250aW1lciBpbnRyaW5zaWMgZXZlbnQo
b250aW1lciBhcyBhdHRyaWJ1dGUgb2YgY2FyZCBlbGVtZW50KTxici8+Ci0gICAgICAgICAgICBX
aGVuIHRoZSB0aW1lciBpcyB0aW1lb3V0KGFmdGVyIDVzKSwgd2lsbCBqdW1wIHRvIGNhcmQgdHdv
LgotICAgICAgICA8L3A+Ci0gICAgPC9jYXJkPgotCi0gICAgPGNhcmQgaWQ9ImNhcmQyIiB0aXRs
ZT0iQ2FyZCB0d28iPgotICAgICAgICA8b25ldmVudCB0eXBlPSJvbnRpbWVyIj4KLSAgICAgICAg
ICAgIDxnbyBocmVmPSIjY2FyZDEiLz4KLSAgICAgICAgPC9vbmV2ZW50PgotICAgICAgICA8dGlt
ZXIgbmFtZT0idGltZXIyIiB2YWx1ZT0iMzAiLz4KLQotICAgICAgICA8cD4gCi0gICAgICAgICAg
ICBUaGlzIGlzIGNhcmQgVHdvITxici8+Ci0gICAgICAgICAgICBUaGUgdGltZXIgaXMgdHJpZ2dl
cmVkIGJ5IHRoZSBvbnRpbWVyIGludHJpbnNpYyBldmVudChvbnRpbWVyIGlzIHNwZWNpZmllZCBi
eSBvbmV2ZW50IGVsZW1lbnQpPGJyLz4KLSAgICAgICAgICAgIFdoZW4gdGhlIHRpbWVyIGlzIHRp
bWVvdXQoYWZ0ZXIgM3MpLCB3aWxsIGp1bXAgYmFjayB0byBjYXJkIG9uZS4KLSAgICAgICAgPC9w
PgotICAgIDwvY2FyZD4KLTwvd21sPgpJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3Rz
L3dtbC92YXJpYWJsZS1zdWJzdGl0dXRpb24ud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL21hbnVhbC10ZXN0cy93bWwvdmFyaWFibGUtc3Vic3RpdHV0aW9uLndtbAkocmV2aXNpb24g
ODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3ZhcmlhYmxlLXN1YnN0
aXR1dGlvbi53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzMgKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4x
Ly9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgot
ICAgIDxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IlRlc3QgdmFyaWFibGUgc3Vic3RpdHV0aW9uIj4K
LSAgICAgICAgPHA+VGVzdCBmb3IgdmFyaWFibGUgc3Vic3RpdHV0aW9uPC9wPgotICAgICAgICA8
cD5DbGljayAiUmVmZXJzaCIgdG8gcmVmcmVzaCB0aGUgY2FyZCwgYW5kIHRoZSB2YXJhaWJsZSBy
ZWZlcmVuY2VzIGluIHRoZSBjYXJkIHdpbGwgYmUgc3Vic3RpdHVlZDwvcD4KLSAgICAgICAgPGFu
Y2hvcj5SZWZyZXNoPGJyLz4KLSAgICAgICAgICAgIDxyZWZyZXNoPiAKLSAgICAgICAgICAgICAg
ICA8c2V0dmFyIG5hbWU9ImhpIiB2YWx1ZT0iaGVsbG8iLz4KLSAgICAgICAgICAgICAgICA8c2V0
dmFyIG5hbWU9Im5hbWUiIHZhbHVlPSIgWWkgY2hhbyIvPgotICAgICAgICAgICAgICAgIDxzZXR2
YXIgbmFtZT0ibmFtZTIiIHZhbHVlPSIkKG5hbWU6ZSkiLz4KLSAgICAgICAgICAgICAgICA8c2V0
dmFyIG5hbWU9Im5hbWUzIiB2YWx1ZT0iJChuYW1lMjp1KSIvPgotICAgICAgICAgICAgPC9yZWZy
ZXNoPgotICAgICAgICA8L2FuY2hvcj4KLQotICAgICAgICA8cD5zZXQgaGkgPSAiaGVsbG8iLCBu
YW1lID0gIiBZaSBjaGFvIjxici8+Ci0gICAgICAgIDwhW0NEQVRBWyQoaGkpLCRuYW1lXV0+ID0+
ICQoaGkpLCRuYW1lPGJyLz4KLSAgICAgICAgPCFbQ0RBVEFbJGhpLCQobmFtZTplc2NhcGUpXV0+
ID0+ICRoaSwkKG5hbWU6ZXNjYXBlKTxici8+Ci0gICAgICAgIDwhW0NEQVRBWyRoaSwkKG5hbWU6
ZSldXT4gPT4gJGhpLCQobmFtZTplKTxici8+Ci0gICAgICAgIDwhW0NEQVRBWyRoaSwkKG5hbWU6
dSldXT4gPT4gJGhpLCQobmFtZTp1KTxici8+Ci0gICAgICAgIDwvcD4KLQotICAgICAgICA8cD5z
ZXQgbmFtZTIgPSAkJChuYW1lOmUpPGJyLz4KLSAgICAgICAgPCFbQ0RBVEFbJChoaSksJChuYW1l
MildXT4gPT4gJChoaSksJChuYW1lMik8YnIvPgotICAgICAgICA8IVtDREFUQVskKGhpKSwkJChu
YW1lOmUpXV0+ID0+ICQoaGkpLCQkKG5hbWU6ZSk8YnIvPgotICAgICAgICA8L3A+Ci0KLSAgICAg
ICAgPHA+c2V0IG5hbWUzID0gJCQobmFtZTI6dSk8YnIvPgotICAgICAgICA8IVtDREFUQVskKGhp
KSwkbmFtZTNdXT4gPT4gJChoaSksJG5hbWUzPGJyLz4KLSAgICAgICAgPCFbQ0RBVEFbJChoaSks
JChuYW1lMzplKV1dPiA9PiAkKGhpKSwkKG5hbWUzOmUpPGJyLz4KLSAgICAgICAgPC9wPgotICAg
IDwvY2FyZD4KLTwvd21sPgpJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9y
ZXNvdXJjZXMvc21pbGV5LnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtl
ZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3Ry
ZWFtCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODUsOSArODUs
NiBAQCBzdGF0aWMgdm9pZCBwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByCiAgICAgY2FzZSBI
VE1MTWVzc2FnZVNvdXJjZToKICAgICAgICAgc291cmNlU3RyaW5nID0gIkhUTUwiOwogICAgICAg
ICBicmVhazsKLSAgICBjYXNlIFdNTE1lc3NhZ2VTb3VyY2U6Ci0gICAgICAgIHNvdXJjZVN0cmlu
ZyA9ICJXTUwiOwotICAgICAgICBicmVhazsKICAgICBjYXNlIFhNTE1lc3NhZ2VTb3VyY2U6CiAg
ICAgICAgIHNvdXJjZVN0cmluZyA9ICJYTUwiOwogICAgICAgICBicmVhazsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29uc29sZS5oCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29u
c29sZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw2IEBAIGNsYXNzIFNjcmlwdENhbGxT
dGFjazsKIAogZW51bSBNZXNzYWdlU291cmNlIHsKICAgICBIVE1MTWVzc2FnZVNvdXJjZSwKLSAg
ICBXTUxNZXNzYWdlU291cmNlLAogICAgIFhNTE1lc3NhZ2VTb3VyY2UsCiAgICAgSlNNZXNzYWdl
U291cmNlLAogICAgIENTU01lc3NhZ2VTb3VyY2UsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAko
cmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA5LDEwICsxMDksNiBAQAogI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3Jl
LmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNl
bmRpZgotCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0x
NzksMTAgKzE3NSw2IEBAIGlubGluZSBGcmFtZTo6RnJhbWUoUGFnZSogcGFnZSwgSFRNTEZyYW0K
ICAgICBYTUxOU05hbWVzOjppbml0KCk7CiAgICAgWE1MTmFtZXM6OmluaXQoKTsKIAotI2lmIEVO
QUJMRShXTUwpCi0gICAgV01MTmFtZXM6OmluaXQoKTsKLSNlbmRpZgotCiAgICAgaWYgKCFvd25l
ckVsZW1lbnQpIHsKICNpZiBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkKICAgICAgICAgLy8g
VG9wIGxldmVsIGZyYW1lIG9ubHkgZm9yIG5vdy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2
aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC04MiwxMCArODIsNiBAQAogI2luY2x1ZGUgIlN0b3JhZ2VOYW1lc3BhY2UuaCIKICNl
bmRpZgogCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxQYWdlU3RhdGUuaCIKLSNlbmRp
ZgotCiAjaWYgRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKICNpbmNsdWRlICJHZW9s
b2NhdGlvbkNvbnRyb2xsZXIuaCIKICNlbmRpZgpAQCAtNzc4LDE1ICs3NzQsNiBAQCB2b2lkIFBh
Z2U6OnNldFNlc3Npb25TdG9yYWdlKFBhc3NSZWZQdHI8CiB9CiAjZW5kaWYKIAotI2lmIEVOQUJM
RShXTUwpCi1XTUxQYWdlU3RhdGUqIFBhZ2U6OndtbFBhZ2VTdGF0ZSgpCi17Ci0gICAgaWYgKCFt
X3dtbFBhZ2VTdGF0ZSkgICAgCi0gICAgICAgIG1fd21sUGFnZVN0YXRlLnNldChuZXcgV01MUGFn
ZVN0YXRlKHRoaXMpKTsKLSAgICByZXR1cm4gbV93bWxQYWdlU3RhdGUuZ2V0KCk7IAotfQotI2Vu
ZGlmCi0KIHZvaWQgUGFnZTo6c2V0Q3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheShkb3VibGUg
Y3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheSkKIHsKICAgICBpZiAoY3VzdG9tSFRNTFRva2Vu
aXplclRpbWVEZWxheSA8IDApIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiA4NTE2NikK
KysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04Niw5ICs4
Niw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAg
ICBjbGFzcyBOb3RpZmljYXRpb25QcmVzZW50ZXI7CiAjZW5kaWYKLSNpZiBFTkFCTEUoV01MKQot
ICAgIGNsYXNzIFdNTFBhZ2VTdGF0ZTsKLSNlbmRpZgogCiAgICAgdHlwZWRlZiB1aW50NjRfdCBM
aW5rSGFzaDsKIApAQCAtMjY4LDEwICsyNjUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZvaWQgc2V0U2Vzc2lvblN0b3JhZ2UoUGFzc1JlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPik7
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShXTUwpCi0gICAgICAgIFdNTFBhZ2VTdGF0ZSogd21sUGFn
ZVN0YXRlKCk7Ci0jZW5kaWYKLQogICAgICAgICB2b2lkIHNldEN1c3RvbUhUTUxUb2tlbml6ZXJU
aW1lRGVsYXkoZG91YmxlKTsKICAgICAgICAgYm9vbCBoYXNDdXN0b21IVE1MVG9rZW5pemVyVGlt
ZURlbGF5KCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21IVE1MVG9rZW5pemVyVGltZURlbGF5ICE9
IC0xOyB9CiAgICAgICAgIGRvdWJsZSBjdXN0b21IVE1MVG9rZW5pemVyVGltZURlbGF5KCkgY29u
c3QgeyBBU1NFUlQobV9jdXN0b21IVE1MVG9rZW5pemVyVGltZURlbGF5ICE9IC0xKTsgcmV0dXJu
IG1fY3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheTsgfQpAQCAtMzkwLDEwICszODMsNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFJlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBtX3Nl
c3Npb25TdG9yYWdlOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV01MKQotICAgICAgICBPd25QdHI8
V01MUGFnZVN0YXRlPiBtX3dtbFBhZ2VTdGF0ZTsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCiAgICAgICAgIE5vdGlmaWNhdGlvblByZXNlbnRlciogbV9ub3RpZmljYXRpb25Q
cmVzZW50ZXI7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBl
UmVnaXN0cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVU
eXBlUmVnaXN0cnkuY3BwCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTgsMTAgKzE5OCw2
IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVTdXBwb3J0ZWRKYXZhU2NyaXAKIHN0YXRpYyB2b2lk
IGluaXRpYWxpemVTdXBwb3J0ZWROb25JbWFnZU1pbWVUeXBlcygpCiB7CiAgICAgc3RhdGljIGNv
bnN0IGNoYXIqIHR5cGVzW10gPSB7Ci0jaWYgRU5BQkxFKFdNTCkKLSAgICAgICAgInRleHQvdm5k
LndhcC53bWwiLAotICAgICAgICAiYXBwbGljYXRpb24vdm5kLndhcC53bWxjIiwKLSNlbmRpZgog
ICAgICAgICAidGV4dC9odG1sIiwKICAgICAgICAgInRleHQveG1sIiwKICAgICAgICAgInRleHQv
eHNsIiwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWls
ZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3Jt
RGF0YUJ1aWxkZXIuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3
IEBAIGNsYXNzIEZvcm1EYXRhQnVpbGRlciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRleHRFbmNv
ZGluZyBlbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0Q2hhcnNl
dCwgRG9jdW1lbnQqIGRvY3VtZW50KTsKIAotICAgIC8vIEhlbHBlciBmdW5jdGlvbnMgdXNlZCBi
eSBIVE1MRm9ybUVsZW1lbnQvV01MR29FbGVtZW50IGZvciBtdWx0aS1wYXJ0IGZvcm0gZGF0YQor
ICAgIC8vIEhlbHBlciBmdW5jdGlvbnMgdXNlZCBieSBIVE1MRm9ybUVsZW1lbnQgZm9yIG11bHRp
LXBhcnQgZm9ybSBkYXRhCiAgICAgc3RhdGljIFZlY3RvcjxjaGFyPiBnZW5lcmF0ZVVuaXF1ZUJv
dW5kYXJ5U3RyaW5nKCk7CiAgICAgc3RhdGljIHZvaWQgYmVnaW5NdWx0aVBhcnRIZWFkZXIoVmVj
dG9yPGNoYXI+JiwgY29uc3QgQ1N0cmluZyYgYm91bmRhcnksIGNvbnN0IENTdHJpbmcmIG5hbWUp
OwogICAgIHN0YXRpYyB2b2lkIGFkZEJvdW5kYXJ5VG9NdWx0aVBhcnRIZWFkZXIoVmVjdG9yPGNo
YXI+JiwgY29uc3QgQ1N0cmluZyYgYm91bmRhcnksIGJvb2wgaXNMYXN0Qm91bmRhcnkgPSBmYWxz
ZSk7CkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhZGRDb250ZW50
VHlwZVRvTXVsdGlQYXJ0SGVhZGVyKFZlY3RvcjxjaGFyPiYsIGNvbnN0IENTdHJpbmcmIG1pbWVU
eXBlKTsKICAgICBzdGF0aWMgdm9pZCBmaW5pc2hNdWx0aVBhcnRIZWFkZXIoVmVjdG9yPGNoYXI+
Jik7CiAKLSAgICAvLyBIZWxwZXIgZnVuY3Rpb25zIHVzZWQgYnkgSFRNTEZvcm1FbGVtZW50L1dN
TEdvRWxlbWVudCBmb3Igbm9uIG11bHRpLXBhcnQgZm9ybSBkYXRhCisgICAgLy8gSGVscGVyIGZ1
bmN0aW9ucyB1c2VkIGJ5IEhUTUxGb3JtRWxlbWVudCBmb3Igbm9uIG11bHRpLXBhcnQgZm9ybSBk
YXRhCiAgICAgc3RhdGljIHZvaWQgYWRkS2V5VmFsdWVQYWlyQXNGb3JtRGF0YShWZWN0b3I8Y2hh
cj4mLCBjb25zdCBDU3RyaW5nJiBrZXksIGNvbnN0IENTdHJpbmcmIHZhbHVlKTsKICAgICBzdGF0
aWMgdm9pZCBlbmNvZGVTdHJpbmdBc0Zvcm1EYXRhKFZlY3RvcjxjaGFyPiYsIGNvbnN0IENTdHJp
bmcmKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3Vy
Y2VIYW5kbGVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHdvcmtp
bmcgY29weSkKQEAgLTgwOCwyMiArODA4LDYgQEAgLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENv
bm5lY3Rpb24gKiljbwogICAgIGlmIChbbV9oYW5kbGUtPmZpcnN0UmVxdWVzdCgpLm5zVVJMUmVx
dWVzdCgpIF9wcm9wZXJ0eUZvcktleTpAIkZvcmNlSFRNTE1JTUVUeXBlIl0pCiAgICAgICAgIFty
IF9zZXRNSU1FVHlwZTpAInRleHQvaHRtbCJdOwogCi0jaWYgRU5BQkxFKFdNTCkKLSAgICBjb25z
dCBLVVJMJiB1cmwgPSBbciBVUkxdOwotICAgIGlmICh1cmwuaXNMb2NhbEZpbGUoKSkgewotICAg
ICAgICAvLyBGSVhNRTogV29ya2Fyb3VuZCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzY5MTc1NzE+OiBU
aGUgV01MIGZpbGUgZXh0ZW5zaW9uICIud21sIiBpcyBub3QgbWFwcGVkIHRvCi0gICAgICAgIC8v
IHRoZSByaWdodCBNSU1FIHR5cGUsIHdvcmsgYXJvdW5kIHRoYXQgQ0ZOZXR3b3JrIHByb2JsZW0s
IHRvIHVuYnJlYWsgV01MIHN1cHBvcnQgZm9yIGxvY2FsIGZpbGVzLgotICAgICAgICBjb25zdCBT
dHJpbmcmIHBhdGggPSB1cmwucGF0aCgpOwotICAKLSAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChjb25zdCBTdHJpbmcsIHdtbEV4dCwgKCIud21sIikpOwotICAgICAgICBpZiAocGF0aC5lbmRz
V2l0aCh3bWxFeHQsIGZhbHNlKSkgewotICAgICAgICAgICAgc3RhdGljIE5TU3RyaW5nKiBkZWZh
dWx0TUlNRVR5cGVTdHJpbmcgPSBbKE5TU3RyaW5nKikgZGVmYXVsdE1JTUVUeXBlKCkgcmV0YWlu
XTsKLSAgICAgICAgICAgIGlmIChbW3IgTUlNRVR5cGVdIGlzRXF1YWxUb1N0cmluZzpkZWZhdWx0
TUlNRVR5cGVTdHJpbmddKQotICAgICAgICAgICAgICAgIFtyIF9zZXRNSU1FVHlwZTpAInRleHQv
dm5kLndhcC53bWwiXTsKLSAgICAgICAgfQotICAgIH0KLSNlbmRpZgotCiAgICAgbV9oYW5kbGUt
PmNsaWVudCgpLT5kaWRSZWNlaXZlUmVzcG9uc2UobV9oYW5kbGUsIHIpOwogfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2luQ0UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0
cnlXaW5DRS5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbkNFLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsOSAr
ODYsNiBAQCBzdGF0aWMgdm9pZCBpbml0TUlNRVR5cGVFbnRlbnNpb25NYXAoKQogICAgICAgICAv
LyBGSVhNRTogQ3VzdG9tIGZvbnQgd29ya3Mgb25seSB3aGVuIE1JTUUgaXMgInRleHQvcGxhaW4i
CiAgICAgICAgIG1pbWV0eXBlTWFwLmFkZCgidHRmIiwgInRleHQvcGxhaW4iKTsgLy8gImZvbnQv
dHRmIgogICAgICAgICBtaW1ldHlwZU1hcC5hZGQoIm90ZiIsICJ0ZXh0L3BsYWluIik7IC8vICJm
b250L290ZiIKLSNpZiBFTkFCTEUoV01MKQotICAgICAgICBtaW1ldHlwZU1hcC5hZGQoIndtbCIs
ICJ0ZXh0L3ZuZC53YXAud21sIik7Ci0jZW5kaWYKICNpZiBFTkFCTEUoV0JYTUwpCiAgICAgICAg
IG1pbWV0eXBlTWFwLmFkZCgid2J4bWwiLCAiYXBwbGljYXRpb24vdm5kLndhcC53bWxjIik7CiAj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJ
KHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMSArNDEsNiBAQAogI2luY2x1ZGUgIlhMaW5r
TmFtZXMuaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxJbWFnZUVs
ZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTI2MywxMyArMjU4LDYgQEAg
U3RyaW5nIEhpdFRlc3RSZXN1bHQ6OmFsdERpc3BsYXlTdHJpbmcoKQogICAgICAgICByZXR1cm4g
ZGlzcGxheVN0cmluZyhpbnB1dC0+YWx0KCksIG1faW5uZXJOb25TaGFyZWROb2RlLmdldCgpKTsK
ICAgICB9CiAKLSNpZiBFTkFCTEUoV01MKQotICAgIGlmIChtX2lubmVyTm9uU2hhcmVkTm9kZS0+
aGFzVGFnTmFtZShXTUxOYW1lczo6aW1nVGFnKSkgewotICAgICAgICBXTUxJbWFnZUVsZW1lbnQq
IGltYWdlID0gc3RhdGljX2Nhc3Q8V01MSW1hZ2VFbGVtZW50Kj4obV9pbm5lck5vblNoYXJlZE5v
ZGUuZ2V0KCkpOwotICAgICAgICByZXR1cm4gZGlzcGxheVN0cmluZyhpbWFnZS0+YWx0VGV4dCgp
LCBtX2lubmVyTm9uU2hhcmVkTm9kZS5nZXQoKSk7Ci0gICAgfQotI2VuZGlmCi0KICAgICByZXR1
cm4gU3RyaW5nKCk7CiB9CiAKQEAgLTMxMSw5ICsyOTksNiBAQCBLVVJMIEhpdFRlc3RSZXN1bHQ6
OmFic29sdXRlSW1hZ2VVUkwoKSBjCiAjaWYgRU5BQkxFKFNWRykKICAgICAgICAgfHwgbV9pbm5l
ck5vblNoYXJlZE5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmltYWdlVGFnKQogI2VuZGlmCi0j
aWYgRU5BQkxFKFdNTCkKLSAgICAgICAgfHwgbV9pbm5lck5vblNoYXJlZE5vZGUtPmhhc1RhZ05h
bWUoV01MTmFtZXM6OmltZ1RhZykKLSNlbmRpZgogICAgICAgICkgewogICAgICAgICBFbGVtZW50
KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG1faW5uZXJOb25TaGFyZWROb2RlLmdl
dCgpKTsKICAgICAgICAgdXJsU3RyaW5nID0gZWxlbWVudC0+Z2V0QXR0cmlidXRlKGVsZW1lbnQt
PmltYWdlU291cmNlQXR0cmlidXRlTmFtZSgpKTsKQEAgLTQ2OSwxMCArNDU0LDYgQEAgS1VSTCBI
aXRUZXN0UmVzdWx0OjphYnNvbHV0ZUxpbmtVUkwoKSBjbwogICAgIGVsc2UgaWYgKG1faW5uZXJV
UkxFbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjphVGFnKSkKICAgICAgICAgdXJsU3RyaW5n
ID0gbV9pbm5lclVSTEVsZW1lbnQtPmdldEF0dHJpYnV0ZShYTGlua05hbWVzOjpocmVmQXR0cik7
CiAjZW5kaWYKLSNpZiBFTkFCTEUoV01MKQotICAgIGVsc2UgaWYgKG1faW5uZXJVUkxFbGVtZW50
LT5oYXNUYWdOYW1lKFdNTE5hbWVzOjphVGFnKSkKLSAgICAgICAgdXJsU3RyaW5nID0gbV9pbm5l
clVSTEVsZW1lbnQtPmdldEF0dHJpYnV0ZShocmVmQXR0cik7Ci0jZW5kaWYKICAgICBlbHNlCiAg
ICAgICAgIHJldHVybiBLVVJMKCk7CiAKQEAgLTQ5MCwxMCArNDcxLDYgQEAgYm9vbCBIaXRUZXN0
UmVzdWx0Ojppc0xpdmVMaW5rKCkgY29uc3QKICAgICBpZiAobV9pbm5lclVSTEVsZW1lbnQtPmhh
c1RhZ05hbWUoU1ZHTmFtZXM6OmFUYWcpKQogICAgICAgICByZXR1cm4gbV9pbm5lclVSTEVsZW1l
bnQtPmlzTGluaygpOwogI2VuZGlmCi0jaWYgRU5BQkxFKFdNTCkKLSAgICBpZiAobV9pbm5lclVS
TEVsZW1lbnQtPmhhc1RhZ05hbWUoV01MTmFtZXM6OmFUYWcpKQotICAgICAgICByZXR1cm4gbV9p
bm5lclVSTEVsZW1lbnQtPmlzTGluaygpOwotI2VuZGlmCiAKICAgICByZXR1cm4gZmFsc2U7CiB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24gODUx
NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTIsMTAgKzUyLDYgQEAKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8
bWF0aC5oPgogCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotI2VuZGlm
Ci0KIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uY3BwCShyZXZpc2lvbiA4NTE2NikK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCwxMSArMjgsNiBAQAogI2luY2x1ZGUgIlJlbmRlclRleHRGcmFnbWVudC5oIgog
I2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAKLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldN
TERvRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtMTIxLDE5ICsxMTYs
NiBAQCB2b2lkIFJlbmRlckJ1dHRvbjo6dXBkYXRlRnJvbUVsZW1lbnQoKQogICAgICAgICBTdHJp
bmcgdmFsdWUgPSBpbnB1dC0+dmFsdWVXaXRoRGVmYXVsdCgpOwogICAgICAgICBzZXRUZXh0KHZh
bHVlKTsKICAgICB9Ci0KLQotI2lmIEVOQUJMRShXTUwpCi0gICAgZWxzZSBpZiAobm9kZSgpLT5o
YXNUYWdOYW1lKFdNTE5hbWVzOjpkb1RhZykpIHsKLSAgICAgICAgV01MRG9FbGVtZW50KiBkb0Vs
ZW1lbnQgPSBzdGF0aWNfY2FzdDxXTUxEb0VsZW1lbnQqPihub2RlKCkpOwotCi0gICAgICAgIFN0
cmluZyB2YWx1ZSA9IGRvRWxlbWVudC0+bGFiZWwoKTsKLSAgICAgICAgaWYgKHZhbHVlLmlzRW1w
dHkoKSkKLSAgICAgICAgICAgIHZhbHVlID0gZG9FbGVtZW50LT5uYW1lKCk7Ci0KLSAgICAgICAg
c2V0VGV4dCh2YWx1ZSk7Ci0gICAgfQotI2VuZGlmCiB9CiAKIGJvb2wgUmVuZGVyQnV0dG9uOjpj
YW5IYXZlQ2hpbGRyZW4oKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZpZWxkc2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmllbGRzZXQuY3BwCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGaWVsZHNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDEwICsyOSw2
IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAKLSNp
ZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jZW5kaWYKLQogdXNpbmcgc3Rk
OjptaW47CiB1c2luZyBzdGQ6Om1heDsKIApAQCAtMTE2LDEzICsxMTIsNyBAQCBSZW5kZXJPYmpl
Y3QqIFJlbmRlckZpZWxkc2V0OjpsYXlvdXRTcGVjCiBSZW5kZXJCb3gqIFJlbmRlckZpZWxkc2V0
OjpmaW5kTGVnZW5kKCkgY29uc3QKIHsKICAgICBmb3IgKFJlbmRlck9iamVjdCogbGVnZW5kID0g
Zmlyc3RDaGlsZCgpOyBsZWdlbmQ7IGxlZ2VuZCA9IGxlZ2VuZC0+bmV4dFNpYmxpbmcoKSkgewot
ICAgICAgICBpZiAoIWxlZ2VuZC0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgpICYmIGxlZ2VuZC0+
bm9kZSgpICYmCi0gICAgICAgICAgICAobGVnZW5kLT5ub2RlKCktPmhhc1RhZ05hbWUobGVnZW5k
VGFnKQotI2lmIEVOQUJMRShXTUwpCi0gICAgICAgICAgICB8fCBsZWdlbmQtPm5vZGUoKS0+aGFz
VGFnTmFtZShXTUxOYW1lczo6aW5zZXJ0ZWRMZWdlbmRUYWcpCi0jZW5kaWYKLSAgICAgICAgICAg
ICkKLSAgICAgICAgICAgKQorICAgICAgICBpZiAoIWxlZ2VuZC0+aXNGbG9hdGluZ09yUG9zaXRp
b25lZCgpICYmIGxlZ2VuZC0+bm9kZSgpICYmIChsZWdlbmQtPm5vZGUoKS0+aGFzVGFnTmFtZShs
ZWdlbmRUYWcpKSkKICAgICAgICAgICAgIHJldHVybiB0b1JlbmRlckJveChsZWdlbmQpOwogICAg
IH0KICAgICByZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxMSArNDIsNiBAQAogI2luY2x1ZGUg
IlRleHRSdW4uaCIKICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAotI2lmIEVOQUJMRShX
TUwpCi0jaW5jbHVkZSAiV01MSW1hZ2VFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIK
LSNlbmRpZgotCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC00MzAsMTAgKzQyNSw2IEBAIHZvaWQgUmVuZGVySW1hZ2U6OnVwZGF0ZUFsdFRleHQoKQogICAg
ICAgICBtX2FsdFRleHQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obm9kZSgpKS0+
YWx0VGV4dCgpOwogICAgIGVsc2UgaWYgKG5vZGUoKS0+aGFzVGFnTmFtZShpbWdUYWcpKQogICAg
ICAgICBtX2FsdFRleHQgPSBzdGF0aWNfY2FzdDxIVE1MSW1hZ2VFbGVtZW50Kj4obm9kZSgpKS0+
YWx0VGV4dCgpOwotI2lmIEVOQUJMRShXTUwpCi0gICAgZWxzZSBpZiAobm9kZSgpLT5oYXNUYWdO
YW1lKFdNTE5hbWVzOjppbWdUYWcpKQotICAgICAgICBtX2FsdFRleHQgPSBzdGF0aWNfY2FzdDxX
TUxJbWFnZUVsZW1lbnQqPihub2RlKCkpLT5hbHRUZXh0KCk7Ci0jZW5kaWYKIH0KIAogYm9vbCBS
ZW5kZXJJbWFnZTo6aXNMb2dpY2FsV2lkdGhTcGVjaWZpZWQoKSBjb25zdApJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY3LDEwICs2Nyw2IEBACiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNlbmRpZgot
CiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5o
IgogI2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIKQEAgLTI2MSwxMSArMjU3LDcgQEAgYm9v
bCBSZW5kZXJPYmplY3Q6OmlzSFIoKSBjb25zdAogCiBib29sIFJlbmRlck9iamVjdDo6aXNMZWdl
bmQoKSBjb25zdAogewotICAgIHJldHVybiBub2RlKCkgJiYgKG5vZGUoKS0+aGFzVGFnTmFtZShs
ZWdlbmRUYWcpCi0jaWYgRU5BQkxFKFdNTCkKLSAgICAgICAgICAgICAgICAgICAgICB8fCBub2Rl
KCktPmhhc1RhZ05hbWUoV01MTmFtZXM6Omluc2VydGVkTGVnZW5kVGFnKQotI2VuZGlmCi0gICAg
ICAgICAgICAgICAgICAgICApOworICAgIHJldHVybiBub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdO
YW1lKGxlZ2VuZFRhZyk7CiB9CiAKIGJvb2wgUmVuZGVyT2JqZWN0Ojppc0hUTUxNYXJxdWVlKCkg
Y29uc3QKQEAgLTI1MDIsMjAgKzI0OTQsOCBAQCBSZW5kZXJCb3hNb2RlbE9iamVjdCogUmVuZGVy
T2JqZWN0OjpvZmZzCiAgICAgUmVuZGVyT2JqZWN0KiBjdXJyID0gcGFyZW50KCk7CiAgICAgd2hp
bGUgKGN1cnIgJiYgKCFjdXJyLT5ub2RlKCkgfHwgKCFjdXJyLT5pc1Bvc2l0aW9uZWQoKSAmJiAh
Y3Vyci0+aXNSZWxQb3NpdGlvbmVkKCkgJiYgIWN1cnItPmlzQm9keSgpKSkpIHsKICAgICAgICAg
Tm9kZSogZWxlbWVudCA9IGN1cnItPm5vZGUoKTsKLSAgICAgICAgaWYgKCFza2lwVGFibGVzICYm
IGVsZW1lbnQpIHsKLSAgICAgICAgICAgIGJvb2wgaXNUYWJsZUVsZW1lbnQgPSBlbGVtZW50LT5o
YXNUYWdOYW1lKHRhYmxlVGFnKSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVsZW1lbnQtPmhhc1RhZ05hbWUodGRUYWcpIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZWxlbWVudC0+aGFzVGFnTmFtZSh0aFRhZyk7Ci0KLSNpZiBFTkFCTEUoV01MKQot
ICAgICAgICAgICAgaWYgKCFpc1RhYmxlRWxlbWVudCAmJiBlbGVtZW50LT5pc1dNTEVsZW1lbnQo
KSkKLSAgICAgICAgICAgICAgICBpc1RhYmxlRWxlbWVudCA9IGVsZW1lbnQtPmhhc1RhZ05hbWUo
V01MTmFtZXM6OnRhYmxlVGFnKSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZWxlbWVudC0+aGFzVGFnTmFtZShXTUxOYW1lczo6dGRUYWcpOwotI2VuZGlmCi0KLSAgICAgICAg
ICAgIGlmIChpc1RhYmxlRWxlbWVudCkKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQorICAgICAgICBpZiAoIXNraXBUYWJsZXMgJiYgZWxlbWVudCAmJiAoZWxlbWVudC0+aGFzVGFn
TmFtZSh0YWJsZVRhZykgfHwgZWxlbWVudC0+aGFzVGFnTmFtZSh0ZFRhZykgfHwgZWxlbWVudC0+
aGFzVGFnTmFtZSh0aFRhZykpKQorICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgZmxvYXQg
bmV3Wm9vbSA9IGN1cnItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKTsKICAgICAgICAgaWYgKGN1
cnJab29tICE9IG5ld1pvb20pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MQUVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxBRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTEFFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMSwxNTggKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgg
VG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2ht
b2JpbGUuY29tLykKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxA
a2RlLm9yZykKLSAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9A
a2RlLm9yZykKLSAqICAgICAgICAgICAoQykgMjAwMCBTaW1vbiBIYXVzbWFubiA8aGF1c21hbm5A
a2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNiwgMjAwNywgMjAwOCwgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAgICAgICAgICAgKEMpIDIwMDYgR3Jh
aGFtIERlbm5pcyAoZ3JhaGFtLmRlbm5pc0BnbWFpbC5jb20pCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEFFbGVtZW50LmgiCi0KLSNpbmNs
dWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJFdmVudC5oIgotI2luY2x1ZGUgIkV2ZW50SGFu
ZGxlci5oIgotI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJGcmFtZS5oIgotI2lu
Y2x1ZGUgIkZyYW1lTG9hZGVyLmgiCi0jaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKLSNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCi0jaW5j
bHVkZSAiS2V5Ym9hcmRFdmVudC5oIgotI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKLSNpbmNsdWRl
ICJSZW5kZXJCb3guaCIKLSNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgotI2luY2x1ZGUgIldN
TE5hbWVzLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIFdNTE5h
bWVzOwotCi1XTUxBRWxlbWVudDo6V01MQUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTEVsZW1lbnQodGFnTmFtZSwgZG9jKQotewot
fQotCi1QYXNzUmVmUHRyPFdNTEFFbGVtZW50PiBXTUxBRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFdNTEFFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Ci19Ci0KLXZvaWQg
V01MQUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKLXsKLSAg
ICBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6aHJlZkF0dHIpIHsKLSAgICAgICAgYm9v
bCB3YXNMaW5rID0gaXNMaW5rKCk7Ci0gICAgICAgIHNldElzTGluayghYXR0ci0+aXNOdWxsKCkp
OwotICAgICAgICBpZiAod2FzTGluayAhPSBpc0xpbmsoKSkKLSAgICAgICAgICAgIHNldE5lZWRz
U3R5bGVSZWNhbGMoKTsKLSAgICAgICAgaWYgKGlzTGluaygpICYmIGRvY3VtZW50KCktPmlzRE5T
UHJlZmV0Y2hFbmFibGVkKCkpIHsKLSAgICAgICAgICAgIFN0cmluZyB2YWx1ZSA9IGF0dHItPnZh
bHVlKCk7Ci0gICAgICAgICAgICBpZiAocHJvdG9jb2xJcyh2YWx1ZSwgImh0dHAiKSB8fCBwcm90
b2NvbElzKHZhbHVlLCAiaHR0cHMiKSB8fCB2YWx1ZS5zdGFydHNXaXRoKCIvLyIpKQotICAgICAg
ICAgICAgICAgIFJlc291cmNlSGFuZGxlOjpwcmVwYXJlRm9yVVJMKGRvY3VtZW50KCktPmNvbXBs
ZXRlVVJMKHZhbHVlKSk7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9
PSBIVE1MTmFtZXM6Om5hbWVBdHRyCi0gICAgICAgICAgICAgICB8fCBhdHRyLT5uYW1lKCkgPT0g
SFRNTE5hbWVzOjp0aXRsZUF0dHIKLSAgICAgICAgICAgICAgIHx8IGF0dHItPm5hbWUoKSA9PSBI
VE1MTmFtZXM6OnJlbEF0dHIpIHsKLSAgICAgICAgLy8gRG8gbm90aGluZy4KLSAgICB9IGVsc2UK
LSAgICAgICAgV01MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Ci19Ci0KLWJv
b2wgV01MQUVsZW1lbnQ6OnN1cHBvcnRzRm9jdXMoKSBjb25zdAotewotICAgIHJldHVybiBpc0xp
bmsoKSB8fCBXTUxFbGVtZW50OjpzdXBwb3J0c0ZvY3VzKCk7Ci19Ci0KLWJvb2wgV01MQUVsZW1l
bnQ6OmlzTW91c2VGb2N1c2FibGUoKSBjb25zdAotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQot
Ym9vbCBXTUxBRWxlbWVudDo6aXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KiBldmVu
dCkgY29uc3QKLXsKLSAgICBpZiAoIWlzRm9jdXNhYmxlKCkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAKLSAgICBpZiAoIWRvY3VtZW50KCktPmZyYW1lKCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLQotICAgIGlmICghZG9jdW1lbnQoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPnRh
YnNUb0xpbmtzKGV2ZW50KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFyZW5k
ZXJlcigpIHx8ICFyZW5kZXJlcigpLT5pc0JveE1vZGVsT2JqZWN0KCkpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIC8vIEJlZm9yZSBjYWxsaW5nIGFic29sdXRlUmVjdHMsIGNoZWNrIGZv
ciB0aGUgY29tbW9uIGNhc2Ugd2hlcmUgdGhlIHJlbmRlcmVyCi0gICAgLy8gaXMgbm9uLWVtcHR5
LCBzaW5jZSB0aGlzIGlzIGEgZmFzdGVyIGNoZWNrIGFuZCBhbG1vc3QgYWx3YXlzIHJldHVybnMg
dHJ1ZS4KLSAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogYm94ID0gdG9SZW5kZXJCb3hNb2RlbE9i
amVjdChyZW5kZXJlcigpKTsKLSAgICBpZiAoIWJveC0+Ym9yZGVyQm91bmRpbmdCb3goKS5pc0Vt
cHR5KCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgVmVjdG9yPEludFJlY3Q+IHJlY3Rz
OwotICAgIEZsb2F0UG9pbnQgYWJzUG9zID0gcmVuZGVyZXIoKS0+bG9jYWxUb0Fic29sdXRlKCk7
Ci0gICAgcmVuZGVyZXIoKS0+YWJzb2x1dGVSZWN0cyhyZWN0cywgYWJzUG9zLngoKSwgYWJzUG9z
LnkoKSk7Ci0gICAgc2l6ZV90IG4gPSByZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBuOyArK2kpCi0gICAgICAgIGlmICghcmVjdHNbaV0uaXNFbXB0eSgpKQotICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgV01MQUVs
ZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQotewotICAgIGlmIChpc0xp
bmsoKSkgewotICAgICAgICBpZiAoZm9jdXNlZCgpICYmIGlzRW50ZXJLZXlLZXlkb3duRXZlbnQo
ZXZlbnQpKSB7Ci0gICAgICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICAg
ICAgICAgIGRpc3BhdGNoU2ltdWxhdGVkQ2xpY2soZXZlbnQpOwotICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGlzTGlua0NsaWNrKGV2ZW50KSkgewotICAgICAg
ICAgICAgaGFuZGxlTGlua0NsaWNrKGV2ZW50LCBkb2N1bWVudCgpLCBzdHJpcExlYWRpbmdBbmRU
cmFpbGluZ0hUTUxTcGFjZXMoZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6aHJlZkF0dHIpKSwgdGFy
Z2V0KCksIGV2ZW50KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgIH0KLQot
ICAgIFdNTEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQpOwotfQotCi12b2lkIFdN
TEFFbGVtZW50OjphY2Nlc3NLZXlBY3Rpb24oYm9vbCBzZW5kVG9BbnlFbGVtZW50KQotewotICAg
IC8vIHNlbmQgdGhlIG1vdXNlIGJ1dHRvbiBldmVudHMgaWYgdGhlIGNhbGxlciBzcGVjaWZpZWQg
c2VuZFRvQW55RWxlbWVudAotICAgIGRpc3BhdGNoU2ltdWxhdGVkQ2xpY2soMCwgc2VuZFRvQW55
RWxlbWVudCk7Ci19Ci0KLWJvb2wgV01MQUVsZW1lbnQ6OmlzVVJMQXR0cmlidXRlKEF0dHJpYnV0
ZSAqYXR0cikgY29uc3QKLXsKLSAgICByZXR1cm4gYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6
aHJlZkF0dHI7Ci19Ci0KLVN0cmluZyBXTUxBRWxlbWVudDo6dGFyZ2V0KCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6dGFyZ2V0QXR0cik7Ci19Ci0KLX0KLQot
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MQUVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MQUVsZW1lbnQuaAkocmV2aXNpb24gODUxNjYpCisr
KyBTb3VyY2UvV2ViQ29yZS93bWwvV01MQUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1
NiArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAq
IENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogICAgICAg
ICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQotICogICAgICAg
ICAgIChDKSAyMDAwIFNpbW9uIEhhdXNtYW5uIDxoYXVzbWFubkBrZGUub3JnPgotICogQ29weXJp
Z2h0IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAot
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0j
aWZuZGVmIFdNTEFFbGVtZW50X2gKLSNkZWZpbmUgV01MQUVsZW1lbnRfaAotCi0jaWYgRU5BQkxF
KFdNTCkKLSNpbmNsdWRlICJXTUxFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgV01MQUVsZW1lbnQgOiBwdWJsaWMgV01MRWxlbWVudCB7Ci1wdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8V01MQUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCopOwotCi0gICAgV01MQUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLQotICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0ZvY3Vz
KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIGJvb2wgaXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3Q7
Ci0KLSAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0g
ICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKLQotICAgIHZpcnR1
YWwgdm9pZCBhY2Nlc3NLZXlBY3Rpb24oYm9vbCBmdWxsQWN0aW9uKTsKLSAgICB2aXJ0dWFsIGJv
b2wgaXNVUkxBdHRyaWJ1dGUoQXR0cmlidXRlKikgY29uc3Q7Ci0KLSAgICB2aXJ0dWFsIFN0cmlu
ZyB0YXJnZXQoKSBjb25zdDsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3dtbC9XTUxBY2Nlc3NFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS93bWwvV01MQWNjZXNzRWxlbWVudC5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291
cmNlL1dlYkNvcmUvd21sL1dNTEFjY2Vzc0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDc3ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgot
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEFjY2Vz
c0VsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2luY2x1ZGUgIldNTERvY3Vt
ZW50LmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNpbmNsdWRlICJXTUxWYXJpYWJsZXMuaCIK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdN
TEFjY2Vzc0VsZW1lbnQ6OldNTEFjY2Vzc0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTEVsZW1lbnQodGFnTmFtZSwgZG9jKQotewot
fQotCi1QYXNzUmVmUHRyPFdNTEFjY2Vzc0VsZW1lbnQ+IFdNTEFjY2Vzc0VsZW1lbnQ6OmNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0g
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxBY2Nlc3NFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KSk7Ci19Ci0KLXZvaWQgV01MQWNjZXNzRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0
cmlidXRlKiBhdHRyKQotewotICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gZG9tYWluQXR0cikgewot
ICAgICAgICBTdHJpbmcgdmFsdWUgPSBwYXJzZVZhbHVlRm9yYmlkZGluZ1ZhcmlhYmxlUmVmZXJl
bmNlcyhhdHRyLT52YWx1ZSgpKTsKLSAgICAgICAgaWYgKHZhbHVlLmlzRW1wdHkoKSkKLSAgICAg
ICAgICAgIHJldHVybjsKLQotICAgICAgICBtX2RvbWFpbiA9IHZhbHVlOwotICAgIH0gZWxzZSBp
ZiAoYXR0ci0+bmFtZSgpID09IHBhdGhBdHRyKSB7Ci0gICAgICAgIFN0cmluZyB2YWx1ZSA9IHBh
cnNlVmFsdWVGb3JiaWRkaW5nVmFyaWFibGVSZWZlcmVuY2VzKGF0dHItPnZhbHVlKCkpOwotICAg
ICAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAg
IG1fcGF0aCA9IHZhbHVlOwotICAgIH0gZWxzZQotICAgICAgICBXTUxFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShhdHRyKTsKLX0KLQotdm9pZCBXTUxBY2Nlc3NFbGVtZW50OjppbnNlcnRl
ZEludG9Eb2N1bWVudCgpCi17Ci0gICAgV01MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQo
KTsKLQotICAgIFdNTFBhZ2VTdGF0ZSogcGFnZVN0YXRlID0gd21sUGFnZVN0YXRlRm9yRG9jdW1l
bnQoZG9jdW1lbnQoKSk7Ci0gICAgaWYgKCFwYWdlU3RhdGUgfHwgcGFnZVN0YXRlLT5wcm9jZXNz
QWNjZXNzQ29udHJvbERhdGEobV9kb21haW4sIG1fcGF0aCkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIHBhZ2VTdGF0ZS0+cmVzZXRBY2Nlc3NDb250cm9sRGF0YSgpOwotICAgIHJlcG9ydFdNTEVy
cm9yKGRvY3VtZW50KCksIFdNTEVycm9yTXVsdGlwbGVBY2Nlc3NFbGVtZW50cyk7Ci19Ci0KLX0K
LQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MQWNjZXNzRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxBY2Nlc3NFbGVtZW50LmgJKHJldmlz
aW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTEFjY2Vzc0VsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMSw0NiArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBU
b3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1v
YmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0g
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxBY2Nlc3NFbGVtZW50X2gKLSNkZWZpbmUgV01MQWNj
ZXNzRWxlbWVudF9oCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXTUxBY2Nlc3NFbGVtZW50IDogcHVibGlj
IFdNTEVsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdNTEFjY2Vzc0Vs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwot
Ci0gICAgV01MQWNjZXNzRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCopOwotCi0gICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0
ZSopOwotICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwotCi1wcml2YXRl
OgotICAgIFN0cmluZyBtX2RvbWFpbjsKLSAgICBTdHJpbmcgbV9wYXRoOwotfTsKLQotfQotCi0j
ZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEFuY2hvckVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxBbmNob3JFbGVtZW50LmNw
cAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MQW5jaG9yRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsODUgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93
d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJM
RShXTUwpCi0jaW5jbHVkZSAiV01MQW5jaG9yRWxlbWVudC5oIgotCi0jaW5jbHVkZSAiRXZlbnRO
YW1lcy5oIgotI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKLSNpbmNsdWRlICJXTUxUYXNrRWxl
bWVudC5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LVdNTEFuY2hvckVsZW1lbnQ6OldNTEFuY2hvckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTEFFbGVtZW50KHRhZ05hbWUsIGRvYykK
LSAgICAsIG1fdGFzaygwKQotewotICAgIC8vIENhbGxpbmcgc2V0SXNMaW5rKCksIGFuZCByZXR1
cm5pbmcgYSBub24tbnVsbCB2YWx1ZSBvbiBDU1NTdHlsZVNlbGVjdG9ycycgbGlua0F0dHJpYnV0
ZQotICAgIC8vIG1ldGhvZCwgbWFrZXMgaXQgcG9zc2libGUgdG8gJ2FwcGVhciBhcyBsaW5rJyAo
anVzdCBsaWtlIDxhIGhyZWY9Ii4uIj4pIHdpdGhvdXQgdGhlIG5lZWQgdG8KLSAgICAvLyBhY3R1
YWxseSBzZXQgdGhlIGhyZWYgdmFsdWUgdG8gYW4gZW1wdHkgdmFsdWUgaW4gdGhlIERPTSB0cmVl
LgotICAgIHNldElzTGluaygpOwotfQotCi1QYXNzUmVmUHRyPFdNTEFuY2hvckVsZW1lbnQ+IFdN
TEFuY2hvckVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxBbmNob3JFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Ci19Ci0KLVdNTEFuY2hvckVsZW1lbnQ6On5XTUxBbmNo
b3JFbGVtZW50KCkKLXsKLX0KLQotdm9pZCBXTUxBbmNob3JFbGVtZW50OjpkZWZhdWx0RXZlbnRI
YW5kbGVyKEV2ZW50KiBldmVudCkKLXsKLSAgICBib29sIHNob3VsZEhhbmRsZSA9IGZhbHNlOwot
Ci0gICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmNsaWNrRXZlbnQpCi0gICAg
ICAgIHNob3VsZEhhbmRsZSA9IHRydWU7Ci0gICAgZWxzZSBpZiAoZXZlbnQtPnR5cGUoKSA9PSBl
dmVudE5hbWVzKCkua2V5ZG93bkV2ZW50ICYmIGV2ZW50LT5pc0tleWJvYXJkRXZlbnQoKSAmJiBm
b2N1c2VkKCkpCi0gICAgICAgIHNob3VsZEhhbmRsZSA9IHN0YXRpY19jYXN0PEtleWJvYXJkRXZl
bnQqPihldmVudCktPmtleUlkZW50aWZpZXIoKSA9PSAiRW50ZXIiOwotCi0gICAgaWYgKHNob3Vs
ZEhhbmRsZSAmJiBtX3Rhc2spIHsKLSAgICAgICAgbV90YXNrLT5leGVjdXRlVGFzaygpOwotICAg
ICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIC8vIFNraXAgV01MQUVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIsIHdlIGRvbid0
IG93biBhIGhyZWYgYXR0cmlidXRlLCB0aGF0IG5lZWRzIHRvIGJlIGhhbmRsZWQuCi0gICAgV01M
RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7IAotfQotCi12b2lkIFdNTEFuY2hv
ckVsZW1lbnQ6OnJlZ2lzdGVyVGFzayhXTUxUYXNrRWxlbWVudCogdGFzaykKLXsKLSAgICBBU1NF
UlQoIW1fdGFzayk7Ci0gICAgbV90YXNrID0gdGFzazsKLX0KLQotdm9pZCBXTUxBbmNob3JFbGVt
ZW50OjpkZXJlZ2lzdGVyVGFzayhXTUxUYXNrRWxlbWVudCogdGFzaykKLXsKLSAgICBBU1NFUlRf
VU5VU0VEKHRhc2ssIG1fdGFzayA9PSB0YXNrKTsKLSAgICBtX3Rhc2sgPSAwOwotfQotCi19Ci0K
LSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEFuY2hvckVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MQW5jaG9yRWxlbWVudC5oCShyZXZpc2lv
biA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxBbmNob3JFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNTEgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9y
Y2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2Jp
bGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICog
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
Ci0gKgotICovCi0KLSNpZm5kZWYgV01MQW5jaG9yRWxlbWVudF9oCi0jZGVmaW5lIFdNTEFuY2hv
ckVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxBRWxlbWVudC5oIgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdNTFRhc2tFbGVtZW50OwotCi1jbGFzcyBX
TUxBbmNob3JFbGVtZW50IDogcHVibGljIFdNTEFFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxXTUxBbmNob3JFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLQotICAgIFdNTEFuY2hvckVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLSAgICB2aXJ0dWFsIH5XTUxBbmNob3JF
bGVtZW50KCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCop
OwotCi1wcml2YXRlOgotICAgIGZyaWVuZCBjbGFzcyBXTUxUYXNrRWxlbWVudDsKLSAgICB2b2lk
IHJlZ2lzdGVyVGFzayhXTUxUYXNrRWxlbWVudCopOwotICAgIHZvaWQgZGVyZWdpc3RlclRhc2so
V01MVGFza0VsZW1lbnQqKTsKLQotICAgIFdNTFRhc2tFbGVtZW50KiBtX3Rhc2s7Ci19OwotCi19
Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MQXR0cmlidXRl
TmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEF0dHJpYnV0ZU5h
bWVzLmluCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxBdHRyaWJ1
dGVOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMSwyNCArMCwwIEBACi1uYW1lc3BhY2U9IldN
TCIKLW5hbWVzcGFjZVVSST0iaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1s
IgotZ3VhcmRGYWN0b3J5V2l0aD0iRU5BQkxFKFdNTCkiCi1hdHRyc051bGxOYW1lc3BhY2UKLQot
Y2FjaGVfY29udHJvbAotY29sdW1ucwotZG9tYWluCi1lbXB0eW9rCi1mb3JtYXQKLWZvcnVhCi1p
bmFtZQotaXZhbHVlCi1sb2NhbHNyYwotbW9kZQotbmV3Y29udGV4dAotb25lbnRlcmJhY2t3YXJk
Ci1vbmVudGVyZm9yd2FyZAotb25waWNrCi1vbnRpbWVyCi1vcHRpb25hbAotb3JkZXJlZAotcGF0
aAotc2VuZHJlZmVyZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxCUkVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxCUkVsZW1lbnQuY3BwCShyZXZp
c2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxCUkVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDgyICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRv
cmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9i
aWxlLmNvbS8pCi0gKgotICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtk
ZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtk
ZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDIwMDAgU2ltb24gSGF1c21hbm4gPGhhdXNtYW5uQGtk
ZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4K
LSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01M
QlJFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJDU1NQcm9w
ZXJ0eU5hbWVzLmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiUmVuZGVyQlIu
aCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1XTUxCUkVsZW1lbnQ6OldNTEJSRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQotICAgIDogV01MRWxl
bWVudCh0YWdOYW1lLCBkb2MpCi17Ci19Ci0KLVBhc3NSZWZQdHI8V01MQlJFbGVtZW50PiBXTUxC
UkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCog
ZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxCUkVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpKTsKLX0KLQotYm9vbCBXTUxCUkVsZW1lbnQ6Om1hcFRvRW50cnkoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUsIE1hcHBlZEF0dHJpYnV0ZUVudHJ5JiByZXN1bHQpIGNv
bnN0Ci17Ci0gICAgaWYgKGF0dHJOYW1lID09IEhUTUxOYW1lczo6Y2xlYXJBdHRyKSB7Ci0gICAg
ICAgIHJlc3VsdCA9IGVVbml2ZXJzYWw7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0K
LSAgICByZXR1cm4gV01MRWxlbWVudDo6bWFwVG9FbnRyeShhdHRyTmFtZSwgcmVzdWx0KTsKLX0K
LQotdm9pZCBXTUxCUkVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0
cikKLXsKLSAgICBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6Y2xlYXJBdHRyKSB7Ci0g
ICAgICAgIC8vIElmIHRoZSBzdHJpbmcgaXMgZW1wdHksIHRoZW4gZG9uJ3QgYWRkIHRoZSBjbGVh
ciBwcm9wZXJ0eS4gCi0gICAgICAgIC8vIDxiciBjbGVhcj4gYW5kIDxiciBjbGVhcj0iIj4gYXJl
IGp1c3QgdHJlYXRlZCBsaWtlIDxicj4gYnkgR2Vja28sIE1hYyBJRSwgZXRjLiAtZHdoCi0gICAg
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUgPSBhdHRyLT52YWx1ZSgpOwotICAgICAgICBp
ZiAodmFsdWUuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmIChl
cXVhbElnbm9yaW5nQ2FzZSh2YWx1ZSwgImFsbCIpKQotICAgICAgICAgICAgYWRkQ1NTUHJvcGVy
dHkoYXR0ciwgQ1NTUHJvcGVydHlDbGVhciwgImJvdGgiKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwgQ1NTUHJvcGVydHlDbGVhciwgdmFsdWUpOwotICAg
IH0gZWxzZQotICAgICAgICBXTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsK
LX0KLQotUmVuZGVyT2JqZWN0KiBXTUxCUkVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFy
ZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQotewotICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5k
ZXJCUih0aGlzKTsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9X
TUxCUkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MQlJFbGVt
ZW50LmgJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTEJSRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ4ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChD
KSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3
LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwg
KGtub2xsQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtv
aXZpc3RvQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDIwMDAgU2ltb24gSGF1c21hbm4gPGhh
dXNtYW5uQGtkZS5vcmc+Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
Ci0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTEJSRWxlbWVudF9oCi0jZGVmaW5lIFdNTEJS
RWxlbWVudF9oCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXTUxCUkVsZW1lbnQgOiBwdWJsaWMgV01MRWxl
bWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V01MQlJFbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLQotICAgIFdNTEJS
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwotCi0gICAg
dmlydHVhbCBib29sIG1hcFRvRW50cnkoY29uc3QgUXVhbGlmaWVkTmFtZSYsIE1hcHBlZEF0dHJp
YnV0ZUVudHJ5JikgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRl
KEF0dHJpYnV0ZSopOwotCi0gICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVy
KFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxDYXJkRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvd21sL1dNTENhcmRFbGVtZW50LmNwcAkocmV2aXNpb24gODUxNjYp
CisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MQ2FyZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDM1MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNo
IE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxl
LmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgot
ICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1
ZGUgIldNTENhcmRFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRl
ICJGcmFtZS5oIgotI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCi0jaW5jbHVkZSAiTm9kZUxpc3QuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAi
UmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJXTUxEb0VsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxE
b2N1bWVudC5oIgotI2luY2x1ZGUgIldNTElucHV0RWxlbWVudC5oIgotI2luY2x1ZGUgIldNTElu
dHJpbnNpY0V2ZW50SGFuZGxlci5oIgotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jaW5jbHVkZSAi
V01MU2VsZWN0RWxlbWVudC5oIgotI2luY2x1ZGUgIldNTFRlbXBsYXRlRWxlbWVudC5oIgotI2lu
Y2x1ZGUgIldNTFRpbWVyRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTFZhcmlhYmxlcy5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKLQotV01MQ2Fy
ZEVsZW1lbnQ6OldNTENhcmRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2MpCi0gICAgOiBXTUxFbGVtZW50KHRhZ05hbWUsIGRvYykKLSAgICAsIG1faXNO
ZXdDb250ZXh0KGZhbHNlKQotICAgICwgbV9pc09yZGVyZWQoZmFsc2UpCi0gICAgLCBtX2lzVmlz
aWJsZShmYWxzZSkKLSAgICAsIG1fZXZlbnRUaW1lcigwKQotICAgICwgbV90ZW1wbGF0ZSgwKQot
ewotICAgIEFTU0VSVChoYXNUYWdOYW1lKGNhcmRUYWcpKTsKLX0KLQotUGFzc1JlZlB0cjxXTUxD
YXJkRWxlbWVudD4gV01MQ2FyZEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBX
TUxDYXJkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi1XTUxDYXJkRWxlbWVudDo6
fldNTENhcmRFbGVtZW50KCkKLXsKLX0KLQotdm9pZCBXTUxDYXJkRWxlbWVudDo6c2hvd0NhcmQo
KQotewotICAgIEFTU0VSVChhdHRhY2hlZCgpKTsKLQotICAgIGlmIChtX2lzVmlzaWJsZSkgewot
ICAgICAgICBBU1NFUlQocmVuZGVyZXIoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBtX2lzVmlzaWJsZSA9IHRydWU7Ci0gICAgQVNTRVJUKCFyZW5kZXJlcigpKTsKLQotICAgIGRl
dGFjaCgpOwotICAgIGF0dGFjaCgpOwotCi0gICAgQVNTRVJUKGF0dGFjaGVkKCkpOwotICAgIEFT
U0VSVChyZW5kZXJlcigpKTsKLX0KLQotdm9pZCBXTUxDYXJkRWxlbWVudDo6aGlkZUNhcmQoKQot
ewotICAgIEFTU0VSVChhdHRhY2hlZCgpKTsKLQotICAgIGlmICghbV9pc1Zpc2libGUpIHsKLSAg
ICAgICAgQVNTRVJUKCFyZW5kZXJlcigpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IG1faXNWaXNpYmxlID0gZmFsc2U7Ci0gICAgQVNTRVJUKHJlbmRlcmVyKCkpOwotCi0gICAgZGV0
YWNoKCk7Ci0gICAgYXR0YWNoKCk7Ci0KLSAgICBBU1NFUlQoYXR0YWNoZWQoKSk7Ci0gICAgQVNT
RVJUKCFyZW5kZXJlcigpKTsKLX0KLQotdm9pZCBXTUxDYXJkRWxlbWVudDo6c2V0VGVtcGxhdGVF
bGVtZW50KFdNTFRlbXBsYXRlRWxlbWVudCogdGVtcCkKLXsKLSAgICAvLyBPbmx5IG9uZSB0ZW1w
bGF0ZSBpcyBhbGxvd2VkIHRvIGJlIGF0dGFjaGVkIHRvIGEgY2FyZAotICAgIGlmIChtX3RlbXBs
YXRlKSB7Ci0gICAgICAgIHJlcG9ydFdNTEVycm9yKGRvY3VtZW50KCksIFdNTEVycm9yTXVsdGlw
bGVUZW1wbGF0ZUVsZW1lbnRzKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fdGVt
cGxhdGUgPSB0ZW1wOwotfQotCi12b2lkIFdNTENhcmRFbGVtZW50OjpzZXRJbnRyaW5zaWNFdmVu
dFRpbWVyKFdNTFRpbWVyRWxlbWVudCogdGltZXIpCi17Ci0gICAgLy8gT25seSBvbmUgdGltZXIg
aXMgYWxsb3dlZCBpbiBhIGNhcmQgCi0gICAgaWYgKG1fZXZlbnRUaW1lcikgewotICAgICAgICBy
ZXBvcnRXTUxFcnJvcihkb2N1bWVudCgpLCBXTUxFcnJvck11bHRpcGxlVGltZXJFbGVtZW50cyk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX2V2ZW50VGltZXIgPSB0aW1lcjsKLX0K
LQotdm9pZCBXTUxDYXJkRWxlbWVudDo6aGFuZGxlSW50cmluc2ljRXZlbnRJZk5lZWRlZCgpCi17
Ci0gICAgV01MUGFnZVN0YXRlKiBwYWdlU3RhdGUgPSB3bWxQYWdlU3RhdGVGb3JEb2N1bWVudChk
b2N1bWVudCgpKTsKLSAgICBpZiAoIXBhZ2VTdGF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
RnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKTsKLSAgICBpZiAoIWZyYW1lKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBGcmFtZUxvYWRlciogbG9hZGVyID0gZnJhbWUtPmxvYWRlcigp
OwotICAgIGlmICghbG9hZGVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBDYWxjdWxhdGUg
dGhlIGVudHJ5IG1ldGhvZCBvZiBjdXJyZW50IGNhcmQgCi0gICAgV01MSW50cmluc2ljRXZlbnRU
eXBlIGV2ZW50VHlwZSA9IFdNTEludHJpbnNpY0V2ZW50VW5rbm93bjsKLQotICAgIHN3aXRjaCAo
bG9hZGVyLT5wb2xpY3lDaGVja2VyKCktPmxvYWRUeXBlKCkpIHsKLSAgICBjYXNlIEZyYW1lTG9h
ZFR5cGVSZWxvYWQ6Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRnJhbWVMb2FkVHlwZUJhY2s6
Ci0gICAgICAgIGV2ZW50VHlwZSA9IFdNTEludHJpbnNpY0V2ZW50T25FbnRlckJhY2t3YXJkOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIEZyYW1lTG9hZFR5cGVCYWNrV01MRGVja05vdEFjY2Vz
c2libGU6Ci0gICAgICAgIHJlcG9ydFdNTEVycm9yKGRvY3VtZW50KCksIFdNTEVycm9yRGVja05v
dEFjY2Vzc2libGUpOwotICAgICAgICByZXR1cm47Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgZXZl
bnRUeXBlID0gV01MSW50cmluc2ljRXZlbnRPbkVudGVyRm9yd2FyZDsKLSAgICAgICAgYnJlYWs7
Ci0gICAgfQotCi0gICAgLy8gRmlndXJlIG91dCB0YXJnZXQgZXZlbnQgaGFuZGxlcgotICAgIFdN
TEludHJpbnNpY0V2ZW50SGFuZGxlciogZXZlbnRIYW5kbGVyID0gdGhpcy0+ZXZlbnRIYW5kbGVy
KCk7Ci0gICAgYm9vbCBoYXNJbnRyaW5zaWNFdmVudCA9IGZhbHNlOwotCi0gICAgaWYgKGV2ZW50
VHlwZSAhPSBXTUxJbnRyaW5zaWNFdmVudFVua25vd24pIHsKLSAgICAgICAgaWYgKGV2ZW50SGFu
ZGxlciAmJiBldmVudEhhbmRsZXItPmhhc0ludHJpbnNpY0V2ZW50KGV2ZW50VHlwZSkpCi0gICAg
ICAgICAgICBoYXNJbnRyaW5zaWNFdmVudCA9IHRydWU7Ci0gICAgICAgIGVsc2UgaWYgKG1fdGVt
cGxhdGUpIHsKLSAgICAgICAgICAgIGV2ZW50SGFuZGxlciA9IG1fdGVtcGxhdGUtPmV2ZW50SGFu
ZGxlcigpOwotICAgICAgICAgICAgaWYgKGV2ZW50SGFuZGxlciAmJiBldmVudEhhbmRsZXItPmhh
c0ludHJpbnNpY0V2ZW50KGV2ZW50VHlwZSkpCi0gICAgICAgICAgICAgICAgaGFzSW50cmluc2lj
RXZlbnQgPSB0cnVlOwotICAgICAgICB9Ci0gICAgfQotIAotICAgIGlmIChoYXNJbnRyaW5zaWNF
dmVudCkKLSAgICAgICAgZXZlbnRIYW5kbGVyLT50cmlnZ2VySW50cmluc2ljRXZlbnQoZXZlbnRU
eXBlKTsKLQotICAgIC8vIFN0YXJ0IHRoZSB0aW1lciBpZiBpdCBleGlzdHMgaW4gY3VycmVudCBj
YXJkCi0gICAgaWYgKG1fZXZlbnRUaW1lcikKLSAgICAgICAgbV9ldmVudFRpbWVyLT5zdGFydCgp
OwotCi0gICAgZm9yIChOb2RlKiBub2RlID0gdHJhdmVyc2VOZXh0Tm9kZSgpOyBub2RlICE9IDA7
IG5vZGUgPSBub2RlLT50cmF2ZXJzZU5leHROb2RlKCkpIHsKLSAgICAgICAgaWYgKCFub2RlLT5p
c0VsZW1lbnROb2RlKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBpZiAobm9k
ZS0+aGFzVGFnTmFtZShpbnB1dFRhZykpCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxXTUxJbnB1
dEVsZW1lbnQqPihub2RlKS0+aW5pdGlhbGl6ZSgpOwotICAgICAgICBlbHNlIGlmIChub2RlLT5o
YXNUYWdOYW1lKHNlbGVjdFRhZykpCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxXTUxTZWxlY3RF
bGVtZW50Kj4obm9kZSktPnNlbGVjdEluaXRpYWxPcHRpb25zKCk7Ci0gICAgfQotfQotCi12b2lk
IFdNTENhcmRFbGVtZW50OjpoYW5kbGVEZWNrTGV2ZWxUYXNrT3ZlcnJpZGVzSWZOZWVkZWQoKQot
ewotICAgIC8vIFNwZWM6IFRoZSBldmVudC1oYW5kbGluZyBlbGVtZW50IG1heSBhcHBlYXIgaW5z
aWRlIGEgdGVtcGxhdGUgZWxlbWVudCBhbmQgc3BlY2lmeSAKLSAgICAvLyBldmVudC1wcm9jZXNz
aW5nIGJlaGF2aW91ciBmb3IgYWxsIGNhcmRzIGluIHRoZSBkZWNrLiBBIGRlY2stbGV2ZWwgZXZl
bnQtaGFuZGxpbmcKLSAgICAvLyBlbGVtZW50IGlzIGVxdWl2YWxlbnQgdG8gc3BlY2lmeWluZyB0
aGUgZXZlbnQtaGFuZGxpbmcgZWxlbWVudCBpbiBlYWNoIGNhcmQuIAotICAgIGlmICghbV90ZW1w
bGF0ZSkgCi0gICAgICAgIHJldHVybjsKLQotICAgIFZlY3RvcjxXTUxEb0VsZW1lbnQqPiYgdGVt
cGxhdGVEb0VsZW1lbnRzID0gbV90ZW1wbGF0ZS0+ZG9FbGVtZW50cygpOwotICAgIGlmICh0ZW1w
bGF0ZURvRWxlbWVudHMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBWZWN0b3I8
V01MRG9FbGVtZW50Kj4mIGNhcmREb0VsZW1lbnRzID0gZG9FbGVtZW50cygpOwotICAgIFZlY3Rv
cjxXTUxEb0VsZW1lbnQqPjo6aXRlcmF0b3IgaXQgPSBjYXJkRG9FbGVtZW50cy5iZWdpbigpOwot
ICAgIFZlY3RvcjxXTUxEb0VsZW1lbnQqPjo6aXRlcmF0b3IgZW5kID0gY2FyZERvRWxlbWVudHMu
ZW5kKCk7Ci0KLSAgICBIYXNoU2V0PFN0cmluZz4gY2FyZERvRWxlbWVudE5hbWVzOwotICAgIGZv
ciAoOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIGNhcmREb0VsZW1lbnROYW1lcy5hZGQoKCpp
dCktPm5hbWUoKSk7Ci0KLSAgICBpdCA9IHRlbXBsYXRlRG9FbGVtZW50cy5iZWdpbigpOwotICAg
IGVuZCA9IHRlbXBsYXRlRG9FbGVtZW50cy5lbmQoKTsKLQotICAgIGZvciAoOyBpdCAhPSBlbmQ7
ICsraXQpCi0gICAgICAgICgqaXQpLT5zZXRBY3RpdmUoIWNhcmREb0VsZW1lbnROYW1lcy5jb250
YWlucygoKml0KS0+bmFtZSgpKSk7Ci19Ci0KLXZvaWQgV01MQ2FyZEVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKLXsKLSAgICBXTUxJbnRyaW5zaWNFdmVudFR5
cGUgZXZlbnRUeXBlID0gV01MSW50cmluc2ljRXZlbnRVbmtub3duOwotCi0gICAgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBvbmVudGVyZm9yd2FyZEF0dHIpCi0gICAgICAgIGV2ZW50VHlwZSA9IFdNTElu
dHJpbnNpY0V2ZW50T25FbnRlckZvcndhcmQ7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09
IG9uZW50ZXJiYWNrd2FyZEF0dHIpCi0gICAgICAgIGV2ZW50VHlwZSA9IFdNTEludHJpbnNpY0V2
ZW50T25FbnRlckJhY2t3YXJkOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbnRpbWVy
QXR0cikKLSAgICAgICAgZXZlbnRUeXBlID0gV01MSW50cmluc2ljRXZlbnRPblRpbWVyOwotICAg
IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBuZXdjb250ZXh0QXR0cikKLSAgICAgICAgbV9pc05l
d0NvbnRleHQgPSAoYXR0ci0+dmFsdWUoKSA9PSAidHJ1ZSIpOwotICAgIGVsc2UgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBvcmRlcmVkQXR0cikKLSAgICAgICAgbV9pc09yZGVyZWQgPSAoYXR0ci0+dmFs
dWUoKSA9PSAidHJ1ZSIpOwotICAgIGVsc2UgewotICAgICAgICBXTUxFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShhdHRyKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChl
dmVudFR5cGUgPT0gV01MSW50cmluc2ljRXZlbnRVbmtub3duKQotICAgICAgICByZXR1cm47Ci0K
LSAgICAvLyBSZWdpc3RlciBpbnRyaW5zaWMgZXZlbnQgaW4gY2FyZAotICAgIFJlZlB0cjxXTUxJ
bnRyaW5zaWNFdmVudD4gZXZlbnQgPSBXTUxJbnRyaW5zaWNFdmVudDo6Y3JlYXRlKGRvY3VtZW50
KCksIGF0dHItPnZhbHVlKCkpOwotCi0gICAgY3JlYXRlRXZlbnRIYW5kbGVySWZOZWVkZWQoKTsK
LSAgICBldmVudEhhbmRsZXIoKS0+cmVnaXN0ZXJJbnRyaW5zaWNFdmVudChldmVudFR5cGUsIGV2
ZW50KTsKLX0KLQotdm9pZCBXTUxDYXJkRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQot
ewotICAgIFdNTEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0gICAgRG9jdW1lbnQq
IGRvY3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKTsKLQotICAgIC8vIFRoZSBmaXJzdCBjYXJkIGlu
c2VydGVkIGludG8gYSBkb2N1bWVudCwgaXMgdmlzaWJsZSBieSBkZWZhdWx0LgotICAgIGlmICgh
bV9pc1Zpc2libGUpIHsKLSAgICAgICAgUmVmUHRyPE5vZGVMaXN0PiBub2RlTGlzdCA9IGRvY3Vt
ZW50LT5nZXRFbGVtZW50c0J5VGFnTmFtZSgiY2FyZCIpOwotICAgICAgICBpZiAobm9kZUxpc3Qg
JiYgbm9kZUxpc3QtPmxlbmd0aCgpID09IDEgJiYgbm9kZUxpc3QtPml0ZW0oMCkgPT0gdGhpcykK
LSAgICAgICAgICAgIG1faXNWaXNpYmxlID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBGb3IgdGhl
IFdNTCBsYXlvdXQgdGVzdHMgd2UgZW1iZWQgV01MIGNvbnRlbnQgaW4gYSBYSFRNTCBkb2N1bWVu
dC4gTmF2aWdhdGluZyB0byBkaWZmZXJlbnQgY2FyZHMKLSAgICAvLyB3aXRoaW4gdGhlIHNhbWUg
ZGVjayBoYXMgYSBkaWZmZXJlbnQgYmVoYXZpb3VyIGluIEhUTUwgdGhhbiBpbiBXTUwuIEhUTUwg
d2FudHMgdG8gInNjcm9sbCB0byBhbmNob3IiCi0gICAgLy8gKHNlZSBGcmFtZUxvYWRlcikgYnV0
IFdNTCB3YW50cyBhIHJlbG9hZC4gTm90aWZ5IHRoZSByb290IGRvY3VtZW50IG9mIHRoZSBsYXlv
dXQgdGVzdCB0aGF0IHdlIHdhbnQKLSAgICAvLyB0byBtaW1pYyBXTUwgYmVoYXZpb3VyLiBUaGlz
IGlzIHJhdGhlciB0cmlja3ksIGJ1dCBoYXMgYmVlbiB0ZXN0ZWQgZXh0ZW5zaXZlbHkuIFVzdWFs
bHkgaXQncyBub3QgcG9zc2libGUKLSAgICAvLyBhdCBhbGwgdG8gZW1iZWQgV01MIGluIEhUTUws
IGl0J3Mgbm90IGRlc2lnbmVkIHRoYXQgd2F5LCB3ZSdyZSBqdXN0ICJhYnVzaW5nIiBpdCBmb3Ig
ZHluYW1pY2FsbHkgY3JlYXRlZCBsYXlvdXQgdGVzdHMuCi0gICAgaWYgKGRvY3VtZW50LT5wYWdl
KCkgJiYgZG9jdW1lbnQtPnBhZ2UoKS0+bWFpbkZyYW1lKCkpIHsKLSAgICAgICAgRG9jdW1lbnQq
IHJvb3REb2N1bWVudCA9IGRvY3VtZW50LT5wYWdlKCktPm1haW5GcmFtZSgpLT5kb2N1bWVudCgp
OwotICAgICAgICBpZiAocm9vdERvY3VtZW50ICYmIHJvb3REb2N1bWVudCAhPSBkb2N1bWVudCkK
LSAgICAgICAgICAgIHJvb3REb2N1bWVudC0+c2V0Q29udGFpbnNXTUxDb250ZW50KHRydWUpOwot
ICAgIH0KLX0KLQotUmVuZGVyT2JqZWN0KiBXTUxDYXJkRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIo
UmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSogc3R5bGUpIAotewotICAgIGlmICghbV9p
c1Zpc2libGUpIHsKLSAgICAgICAgc3R5bGUtPnNldFVuaXF1ZSgpOwotICAgICAgICBzdHlsZS0+
c2V0RGlzcGxheShOT05FKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gV01MRWxlbWVudDo6Y3JlYXRl
UmVuZGVyZXIoYXJlbmEsIHN0eWxlKTsKLX0KLQotV01MQ2FyZEVsZW1lbnQqIFdNTENhcmRFbGVt
ZW50OjpmaW5kTmFtZWRDYXJkSW5Eb2N1bWVudChEb2N1bWVudCogZG9jLCBjb25zdCBTdHJpbmcm
IGNhcmROYW1lKQotewotICAgIGlmIChjYXJkTmFtZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVy
biAwOwotCi0gICAgUmVmUHRyPE5vZGVMaXN0PiBub2RlTGlzdCA9IGRvYy0+Z2V0RWxlbWVudHNC
eVRhZ05hbWUoImNhcmQiKTsKLSAgICBpZiAoIW5vZGVMaXN0KQotICAgICAgICByZXR1cm4gMDsK
LQotICAgIHVuc2lnbmVkIGxlbmd0aCA9IG5vZGVMaXN0LT5sZW5ndGgoKTsKLSAgICBpZiAobGVu
Z3RoIDwgMSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgV01MQ2FyZEVsZW1lbnQqIGNhcmQgPSBzdGF0aWNf
Y2FzdDxXTUxDYXJkRWxlbWVudCo+KG5vZGVMaXN0LT5pdGVtKGkpKTsKLSAgICAgICAgaWYgKGNh
cmQtPmdldElkQXR0cmlidXRlKCkgIT0gY2FyZE5hbWUpCi0gICAgICAgICAgICBjb250aW51ZTsK
LQotICAgICAgICByZXR1cm4gY2FyZDsKLSAgICB9Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotV01M
Q2FyZEVsZW1lbnQqIFdNTENhcmRFbGVtZW50OjpkZXRlcm1pbmVBY3RpdmVDYXJkKERvY3VtZW50
KiBkb2MpCi17Ci0gICAgV01MUGFnZVN0YXRlKiBwYWdlU3RhdGUgPSB3bWxQYWdlU3RhdGVGb3JE
b2N1bWVudChkb2MpOwotICAgIGlmICghcGFnZVN0YXRlKQotICAgICAgICByZXR1cm4gMDsKLQot
ICAgIFJlZlB0cjxOb2RlTGlzdD4gbm9kZUxpc3QgPSBkb2MtPmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJjYXJkIik7Ci0gICAgaWYgKCFub2RlTGlzdCkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICB1
bnNpZ25lZCBsZW5ndGggPSBub2RlTGlzdC0+bGVuZ3RoKCk7Ci0gICAgaWYgKGxlbmd0aCA8IDEp
Ci0gICAgICAgIHJldHVybiAwOwotCi0gICAgLy8gRmlndXJlIG91dCB0aGUgbmV3IHRhcmdldCBj
YXJkCi0gICAgU3RyaW5nIGNhcmROYW1lID0gZG9jLT51cmwoKS5mcmFnbWVudElkZW50aWZpZXIo
KTsKLQotICAgIFdNTENhcmRFbGVtZW50KiBhY3RpdmVDYXJkID0gZmluZE5hbWVkQ2FyZEluRG9j
dW1lbnQoZG9jLCBjYXJkTmFtZSk7Ci0gICAgaWYgKGFjdGl2ZUNhcmQpIHsKLSAgICAgICAgLy8g
SGlkZSBhbGwgY2FyZHMgLSBleGNlcHQgdGhlIGRlc3RpbmF0aW9uIGNhcmQgLSBpbiBkb2N1bWVu
dAotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAg
ICAgICAgIFdNTENhcmRFbGVtZW50KiBjYXJkID0gc3RhdGljX2Nhc3Q8V01MQ2FyZEVsZW1lbnQq
Pihub2RlTGlzdC0+aXRlbShpKSk7Ci0KLSAgICAgICAgICAgIGlmIChjYXJkID09IGFjdGl2ZUNh
cmQpCi0gICAgICAgICAgICAgICAgY2FyZC0+c2hvd0NhcmQoKTsKLSAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICBjYXJkLT5oaWRlQ2FyZCgpOwotICAgICAgICB9Ci0gICAgfSBlbHNl
IHsKLSAgICAgICAgLy8gSWYgdGhlIHRhcmdldCBVUkwgZGlkbid0IGNvbnRhaW4gYSBmcmFnbWVu
dCBpZGVudGlmaWVyLCBhY3RpdmVDYXJkCi0gICAgICAgIC8vIGlzIDAsIGFuZCBoYXMgdG8gYmUg
c2V0IHRvIHRoZSBmaXJzdCBjYXJkIGVsZW1lbnQgaW4gdGhlIGRlY2suCi0gICAgICAgIGFjdGl2
ZUNhcmQgPSBzdGF0aWNfY2FzdDxXTUxDYXJkRWxlbWVudCo+KG5vZGVMaXN0LT5pdGVtKDApKTsK
LSAgICAgICAgYWN0aXZlQ2FyZC0+c2hvd0NhcmQoKTsKLSAgICB9Ci0KLSAgICAvLyBBc3N1cmUg
ZGVzdGluYXRpb24gY2FyZCBpcyB2aXNpYmxlCi0gICAgQVNTRVJUKGFjdGl2ZUNhcmQtPmlzVmlz
aWJsZSgpKTsKLSAgICBBU1NFUlQoYWN0aXZlQ2FyZC0+YXR0YWNoZWQoKSk7Ci0gICAgQVNTRVJU
KGFjdGl2ZUNhcmQtPnJlbmRlcmVyKCkpOwotCi0gICAgLy8gVXBkYXRlIHRoZSBkb2N1bWVudCB0
aXRsZQotICAgIGRvYy0+c2V0VGl0bGUoYWN0aXZlQ2FyZC0+dGl0bGUoKSk7Ci0KLSAgICByZXR1
cm4gYWN0aXZlQ2FyZDsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dt
bC9XTUxDYXJkRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxD
YXJkRWxlbWVudC5oCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxD
YXJkRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDc4ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01MQ2FyZEVsZW1l
bnRfaAotI2RlZmluZSBXTUxDYXJkRWxlbWVudF9oCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1
ZGUgIldNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmgiCi0KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV01MVGVtcGxhdGVFbGVtZW50OwotY2xh
c3MgV01MVGltZXJFbGVtZW50OwotCi1jbGFzcyBXTUxDYXJkRWxlbWVudCA6IHB1YmxpYyBXTUxF
bGVtZW50LCBwdWJsaWMgV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFdNTENhcmRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLQotICAgIFdNTENhcmRFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCopOwotICAgIHZpcnR1YWwgfldNTENhcmRFbGVtZW50KCk7Ci0K
LSAgICBib29sIGlzTmV3Q29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1faXNOZXdDb250ZXh0OyB9
Ci0gICAgYm9vbCBpc09yZGVyZWQoKSBjb25zdCB7IHJldHVybiBtX2lzT3JkZXJlZDsgfQotICAg
IFdNTFRpbWVyRWxlbWVudCogZXZlbnRUaW1lcigpIGNvbnN0IHsgcmV0dXJuIG1fZXZlbnRUaW1l
cjsgfQotICAgIFdNTFRlbXBsYXRlRWxlbWVudCogdGVtcGxhdGVFbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV90ZW1wbGF0ZTsgfQotCi0gICAgdm9pZCBzZXRUZW1wbGF0ZUVsZW1lbnQoV01MVGVt
cGxhdGVFbGVtZW50Kik7Ci0gICAgdm9pZCBzZXRJbnRyaW5zaWNFdmVudFRpbWVyKFdNTFRpbWVy
RWxlbWVudCopOwotCi0gICAgdm9pZCBoYW5kbGVJbnRyaW5zaWNFdmVudElmTmVlZGVkKCk7Ci0g
ICAgdm9pZCBoYW5kbGVEZWNrTGV2ZWxUYXNrT3ZlcnJpZGVzSWZOZWVkZWQoKTsKLQotICAgIHZp
cnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLSAgICB2aXJ0dWFs
IHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLSAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCog
Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwotCi0gICAgLy8gU3dp
dGNoIGFjdGl2ZSBjYXJkIGluIGRvY3VtZW50IHRvIHRoZSBvbmUgc3BlY2lmaWVkIGluIHRoZSBV
UkwgcmVmZXJlbmNlIChmb28ud21sI215Y2FyZCkKLSAgICAvLyBJZiB0aGUgJ3RhcmdldFVybCcg
ZG9lc24ndCBjb250YWluIGEgcmVmZXJlbmNlLCB1c2UgdGhlIGZpcnN0IDxjYXJkPiBlbGVtZW50
IGluIHRoZSBkb2N1bWVudC4KLSAgICBzdGF0aWMgV01MQ2FyZEVsZW1lbnQqIGRldGVybWluZUFj
dGl2ZUNhcmQoRG9jdW1lbnQqKTsKLSAgICBzdGF0aWMgV01MQ2FyZEVsZW1lbnQqIGZpbmROYW1l
ZENhcmRJbkRvY3VtZW50KERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiBjYXJkTmFtZSk7Ci0KLXBy
aXZhdGU6Ci0gICAgYm9vbCBpc1Zpc2libGUoKSBjb25zdCB7IHJldHVybiBtX2lzVmlzaWJsZTsg
fQotCi0gICAgdm9pZCBzaG93Q2FyZCgpOwotICAgIHZvaWQgaGlkZUNhcmQoKTsKLQotICAgIGJv
b2wgbV9pc05ld0NvbnRleHQ7Ci0gICAgYm9vbCBtX2lzT3JkZXJlZDsKLSAgICBib29sIG1faXNW
aXNpYmxlOwotCi0gICAgV01MVGltZXJFbGVtZW50KiBtX2V2ZW50VGltZXI7Ci0gICAgV01MVGVt
cGxhdGVFbGVtZW50KiBtX3RlbXBsYXRlOwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvd21sL1dNTERvRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvd21sL1dNTERvRWxlbWVudC5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291
cmNlL1dlYkNvcmUvd21sL1dNTERvRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMTk1
ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0g
KgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwot
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTERv
RWxlbWVudC5oIgotCi0jaW5jbHVkZSAiQXR0cmlidXRlLmgiCi0jaW5jbHVkZSAiQmFja0Zvcndh
cmRDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiRXZlbnQuaCIKLSNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgot
I2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJSZW5kZXJCdXR0b24uaCIKLSNpbmNsdWRlICJX
TUxDYXJkRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTERvY3VtZW50LmgiCi0jaW5jbHVkZSAiV01M
TmFtZXMuaCIKLSNpbmNsdWRlICJXTUxQYWdlU3RhdGUuaCIKLSNpbmNsdWRlICJXTUxUYXNrRWxl
bWVudC5oIgotI2luY2x1ZGUgIldNTFRpbWVyRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTFZhcmlh
Ymxlcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFjZSBXTUxOYW1l
czsKLQotV01MRG9FbGVtZW50OjpXTUxEb0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTEVsZW1lbnQodGFnTmFtZSwgZG9jKQotICAg
ICwgbV90YXNrKDApCi0gICAgLCBtX2lzQWN0aXZlKGZhbHNlKQotICAgICwgbV9pc05vb3AoZmFs
c2UpCi0gICAgLCBtX2lzT3B0aW9uYWwoZmFsc2UpCi17Ci19Ci0KLVBhc3NSZWZQdHI8V01MRG9F
bGVtZW50PiBXTUxEb0VsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxEb0Vs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotdm9pZCBXTUxEb0VsZW1lbnQ6OmRlZmF1
bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQotewotICAgIGlmIChtX2lzT3B0aW9uYWwpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5r
ZXlwcmVzc0V2ZW50KSB7Ci0gICAgICAgIFdNTEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIo
ZXZlbnQpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKGV2ZW50LT50eXBlKCkg
IT0gZXZlbnROYW1lcygpLmNsaWNrRXZlbnQgJiYgZXZlbnQtPnR5cGUoKSAhPSBldmVudE5hbWVz
KCkua2V5ZG93bkV2ZW50KQotICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgCi0gICAgaWYg
KGV2ZW50LT5pc0tleWJvYXJkRXZlbnQoKQotICAgICAgICAmJiBzdGF0aWNfY2FzdDxLZXlib2Fy
ZEV2ZW50Kj4oZXZlbnQpLT5rZXlJZGVudGlmaWVyKCkgIT0gIkVudGVyIikKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgaWYgKG1fdHlwZSA9PSAiYWNjZXB0IiB8fCBtX3R5cGUgPT0gIm9wdGlvbnMi
KSB7Ci0gICAgICAgIGlmIChtX3Rhc2spCi0gICAgICAgICAgICBtX3Rhc2stPmV4ZWN1dGVUYXNr
KCk7Ci0gICAgfSBlbHNlIGlmIChtX3R5cGUgPT0gInByZXYiKSB7Ci0gICAgICAgIEFTU0VSVChk
b2N1bWVudCgpLT5pc1dNTERvY3VtZW50KCkpOwotICAgICAgICBXTUxEb2N1bWVudCogZG9jdW1l
bnQgPSBzdGF0aWNfY2FzdDxXTUxEb2N1bWVudCo+KHRoaXMtPmRvY3VtZW50KCkpOwotCi0gICAg
ICAgIFdNTFBhZ2VTdGF0ZSogcGFnZVN0YXRlID0gd21sUGFnZVN0YXRlRm9yRG9jdW1lbnQoZG9j
dW1lbnQpOwotICAgICAgICBpZiAoIXBhZ2VTdGF0ZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAKLSAgICAgICAgLy8gU3RvcCB0aGUgdGltZXIgb2YgdGhlIGN1cnJlbnQgY2FyZCBpZiBpdCBp
cyBhY3RpdmUKLSAgICAgICAgaWYgKFdNTENhcmRFbGVtZW50KiBjYXJkID0gZG9jdW1lbnQtPmFj
dGl2ZUNhcmQoKSkgewotICAgICAgICAgICAgaWYgKFdNTFRpbWVyRWxlbWVudCogZXZlbnRUaW1l
ciA9IGNhcmQtPmV2ZW50VGltZXIoKSkKLSAgICAgICAgICAgICAgICBldmVudFRpbWVyLT5zdG9w
KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBwYWdlU3RhdGUtPnBhZ2UoKS0+YmFja0ZvcndhcmQo
KS0+Z29CYWNrKCk7Ci0gICAgfSBlbHNlIGlmIChtX3R5cGUgPT0gInJlc2V0IikgewotICAgICAg
ICBXTUxQYWdlU3RhdGUqIHBhZ2VTdGF0ZSA9IHdtbFBhZ2VTdGF0ZUZvckRvY3VtZW50KGRvY3Vt
ZW50KCkpOwotICAgICAgICBpZiAoIXBhZ2VTdGF0ZSkKLSAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICBwYWdlU3RhdGUtPnJlc2V0KCk7Ci0gICAgfQotfQotCi12b2lkIFdNTERvRWxlbWVu
dDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQotewotICAgIGlmIChhdHRy
LT5uYW1lKCkgPT0gSFRNTE5hbWVzOjp0eXBlQXR0cikKLSAgICAgICAgbV90eXBlID0gcGFyc2VW
YWx1ZUZvcmJpZGRpbmdWYXJpYWJsZVJlZmVyZW5jZXMoYXR0ci0+dmFsdWUoKSk7Ci0gICAgZWxz
ZSBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6bmFtZUF0dHIpCi0gICAgICAgIG1fbmFt
ZSA9IHBhcnNlVmFsdWVGb3JiaWRkaW5nVmFyaWFibGVSZWZlcmVuY2VzKGF0dHItPnZhbHVlKCkp
OwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvcHRpb25hbEF0dHIpCi0gICAgICAgIG1f
aXNPcHRpb25hbCA9IChhdHRyLT52YWx1ZSgpID09ICJ0cnVlIik7Ci0gICAgZWxzZQotICAgICAg
ICBXTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKLX0KLQotdm9pZCBXTUxE
b0VsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCkKLXsKLSAgICBXTUxFbGVtZW50OjppbnNl
cnRlZEludG9Eb2N1bWVudCgpOwotCi0gICAgLy8gU3BlYzogQW4gdW5zcGVjaWZpZWQgJ25hbWUn
IGRlZmF1bHRzIHRvIHRoZSB2YWx1ZSBvZiB0aGUgJ3R5cGUnIGF0dHJpYnV0ZS4KLSAgICBpZiAo
IWhhc0F0dHJpYnV0ZShIVE1MTmFtZXM6Om5hbWVBdHRyKSkKLSAgICAgICAgbV9uYW1lID0gbV90
eXBlOwotCi0gICAgQ29udGFpbmVyTm9kZSogcGFyZW50ID0gcGFyZW50Tm9kZSgpOwotICAgIGlm
ICghcGFyZW50IHx8ICFwYXJlbnQtPmlzV01MRWxlbWVudCgpKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBpZiAoV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQqIGV2ZW50SGFuZGxpbmdFbGVtZW50ID0g
dG9XTUxFdmVudEhhbmRsaW5nRWxlbWVudChzdGF0aWNfY2FzdDxXTUxFbGVtZW50Kj4ocGFyZW50
KSkpCi0gICAgICAgIGV2ZW50SGFuZGxpbmdFbGVtZW50LT5yZWdpc3RlckRvRWxlbWVudCh0aGlz
LCBkb2N1bWVudCgpKTsKLX0KLQotdm9pZCBXTUxEb0VsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1l
bnQoKQotewotICAgIENvbnRhaW5lck5vZGUqIHBhcmVudCA9IHBhcmVudE5vZGUoKTsKLQotICAg
IGlmIChwYXJlbnQgICYmIHBhcmVudC0+aXNXTUxFbGVtZW50KCkpIHsKLSAgICAgICAgaWYgKFdN
TEV2ZW50SGFuZGxpbmdFbGVtZW50KiBldmVudEhhbmRsaW5nRWxlbWVudCA9IHRvV01MRXZlbnRI
YW5kbGluZ0VsZW1lbnQoc3RhdGljX2Nhc3Q8V01MRWxlbWVudCo+KHBhcmVudCkpKQotICAgICAg
ICAgICAgZXZlbnRIYW5kbGluZ0VsZW1lbnQtPmRlcmVnaXN0ZXJEb0VsZW1lbnQodGhpcyk7Ci0g
ICAgfQotCi0gICAgV01MRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpOwotfQotCi12b2lk
IFdNTERvRWxlbWVudDo6YXR0YWNoKCkKLXsKLSAgICBXTUxFbGVtZW50OjphdHRhY2goKTsKLQot
ICAgIC8vIFRoZSBjYWxsIHRvIHVwZGF0ZUZyb21FbGVtZW50KCkgbmVlZHMgdG8gZ28gYWZ0ZXIg
dGhlIGNhbGwgdGhyb3VnaAotICAgIC8vIHRvIHRoZSBiYXNlIGNsYXNzJ3MgYXR0YWNoKCkgYmVj
YXVzZSB0aGF0IGNhbiBzb21ldGltZXMgZG8gYSBjbG9zZQotICAgIC8vIG9uIHRoZSByZW5kZXJl
ci4KLSAgICBpZiAocmVuZGVyZXIoKSkKLSAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVs
ZW1lbnQoKTsKLX0KLQotUmVuZGVyT2JqZWN0KiBXTUxEb0VsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVy
KFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqIHN0eWxlKQotewotICAgIGlmICghbV9p
c0FjdGl2ZSB8fCBtX2lzT3B0aW9uYWwgfHwgbV9pc05vb3ApCi0gICAgICAgIHJldHVybiAwOwot
Ci0gICAgaWYgKHN0eWxlKSB7Ci0gICAgICAgIHN0eWxlLT5zZXRVbmlxdWUoKTsKLSAgICAgICAg
c3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6bGlnaHRHcmF5KTsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyQnV0dG9uKHRoaXMpOwotfQotCi12b2lkIFdNTERv
RWxlbWVudDo6cmVjYWxjU3R5bGUoU3R5bGVDaGFuZ2UgY2hhbmdlKQotewotICAgIFdNTEVsZW1l
bnQ6OnJlY2FsY1N0eWxlKGNoYW5nZSk7Ci0KLSAgICBpZiAocmVuZGVyZXIoKSkKLSAgICAgICAg
cmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKLX0KLQotdm9pZCBXTUxEb0VsZW1lbnQ6
OnJlZ2lzdGVyVGFzayhXTUxUYXNrRWxlbWVudCogdGFzaykKLXsKLSAgICBBU1NFUlQoIW1fdGFz
ayk7Ci0gICAgbV90YXNrID0gdGFzazsKLX0KLQotdm9pZCBXTUxEb0VsZW1lbnQ6OmRlcmVnaXN0
ZXJUYXNrKFdNTFRhc2tFbGVtZW50KiB0YXNrKQotewotICAgIEFTU0VSVF9VTlVTRUQodGFzaywg
bV90YXNrID09IHRhc2spOwotICAgIG1fdGFzayA9IDA7Ci19Ci0KLVN0cmluZyBXTUxEb0VsZW1l
bnQ6OmxhYmVsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gcGFyc2VWYWx1ZVN1YnN0aXR1dGluZ1Zh
cmlhYmxlUmVmZXJlbmNlcyhnZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpsYWJlbEF0dHIpKTsKLX0K
LQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxEb0VsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MRG9FbGVtZW50LmgJKHJldmlzaW9u
IDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTERvRWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDY4ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1v
YmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNv
bS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoK
LSAqLwotCi0jaWZuZGVmIFdNTERvRWxlbWVudF9oCi0jZGVmaW5lIFdNTERvRWxlbWVudF9oCi0K
LSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi1jbGFzcyBXTUxUYXNrRWxlbWVudDsKLQotY2xhc3MgV01MRG9FbGVtZW50IDog
cHVibGljIFdNTEVsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdNTERv
RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7
Ci0KLSAgICBXTUxEb0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqKTsKLQotICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7Ci0g
ICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOwotICAgIHZp
cnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwotICAgIHZpcnR1YWwgdm9pZCByZW1v
dmVkRnJvbURvY3VtZW50KCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCk7Ci0gICAgdmly
dHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5
bGUqKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVjYWxjU3R5bGUoU3R5bGVDaGFuZ2UpOwotCi0gICAg
dm9pZCByZWdpc3RlclRhc2soV01MVGFza0VsZW1lbnQqKTsKLSAgICB2b2lkIGRlcmVnaXN0ZXJU
YXNrKFdNTFRhc2tFbGVtZW50Kik7Ci0KLSAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1
cm4gbV9pc0FjdGl2ZTsgfQotICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0OwotICAgIFN0cmluZyBu
YW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9Ci0KLSAgICB2b2lkIHNldEFjdGl2ZShib29s
IGFjdGl2ZSkgeyBtX2lzQWN0aXZlID0gYWN0aXZlOyB9Ci0gICAgdm9pZCBzZXROb29wKGJvb2wg
bm9vcCkgeyBtX2lzTm9vcCA9IG5vb3A7fQotCi1wcml2YXRlOgotICAgIFdNTFRhc2tFbGVtZW50
KiBtX3Rhc2s7Ci0gICAgYm9vbCBtX2lzQWN0aXZlOwotICAgIGJvb2wgbV9pc05vb3A7Ci0gICAg
Ym9vbCBtX2lzT3B0aW9uYWw7Ci0gICAgU3RyaW5nIG1fbmFtZTsKLSAgICBTdHJpbmcgbV90eXBl
OwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dN
TERvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MRG9jdW1l
bnQuY3BwCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxEb2N1bWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMTI1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93
d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJM
RShXTUwpCi0jaW5jbHVkZSAiV01MRG9jdW1lbnQuaCIKLQotI2luY2x1ZGUgIkJhY2tGb3J3YXJk
Q29udHJvbGxlci5oIgotI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5oIgotI2luY2x1ZGUgIkZy
YW1lLmgiCi0jaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1bWVudFBh
cnNlci5oIgotI2luY2x1ZGUgIldNTENhcmRFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MRXJyb3JI
YW5kbGluZy5oIgotI2luY2x1ZGUgIldNTFBhZ2VTdGF0ZS5oIgotI2luY2x1ZGUgIldNTFRlbXBs
YXRlRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdNTERvY3VtZW50OjpXTUxE
b2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCkKLSAgICA6IERvY3VtZW50KGZy
YW1lLCB1cmwsIGZhbHNlLCBmYWxzZSkgCi0gICAgLCBtX2FjdGl2ZUNhcmQoMCkKLXsKLSAgICBj
bGVhclhNTFZlcnNpb24oKTsKLX0KLQotV01MRG9jdW1lbnQ6On5XTUxEb2N1bWVudCgpCi17Ci19
Ci0KLXZvaWQgV01MRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCi17Ci0gICAgaWYgKFNjcmlw
dGFibGVEb2N1bWVudFBhcnNlciogcGFyc2VyID0gdGhpcy0+c2NyaXB0YWJsZURvY3VtZW50UGFy
c2VyKCkpIHsKLSAgICAgICAgaWYgKCFwYXJzZXItPndlbGxGb3JtZWQoKSkgewotICAgICAgICAg
ICAgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpOwotICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICB9Ci0gICAgfQotCi0gICAgYm9vbCBoYXNBY2Nlc3MgPSBpbml0aWFsaXplKHRydWUpOwot
ICAgIERvY3VtZW50OjpmaW5pc2hlZFBhcnNpbmcoKTsKLQotICAgIGlmICghaGFzQWNjZXNzKSB7
Ci0gICAgICAgIG1fYWN0aXZlQ2FyZCA9IDA7Ci0KLSAgICAgICAgV01MUGFnZVN0YXRlKiB3bWxQ
YWdlU3RhdGUgPSB3bWxQYWdlU3RhdGVGb3JEb2N1bWVudCh0aGlzKTsKLSAgICAgICAgaWYgKCF3
bWxQYWdlU3RhdGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgUGFnZSogcGFnZSA9
IHdtbFBhZ2VTdGF0ZS0+cGFnZSgpOwotICAgICAgICBpZiAoIXBhZ2UpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0KLSAgICAgICAgSGlzdG9yeUl0ZW0qIGl0ZW0gPSBwYWdlLT5iYWNrRm9yd2FyZCgp
LT5iYWNrSXRlbSgpOwotICAgICAgICBpZiAoIWl0ZW0pCi0gICAgICAgICAgICByZXR1cm47Ci0K
LSAgICAgICAgcGFnZS0+Z29Ub0l0ZW0oaXRlbSwgRnJhbWVMb2FkVHlwZUJhY2tXTUxEZWNrTm90
QWNjZXNzaWJsZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobV9hY3RpdmVD
YXJkKQotICAgICAgICBtX2FjdGl2ZUNhcmQtPmhhbmRsZUludHJpbnNpY0V2ZW50SWZOZWVkZWQo
KTsKLX0KLQotYm9vbCBXTUxEb2N1bWVudDo6aW5pdGlhbGl6ZShib29sIGFib3V0VG9GaW5pc2hQ
YXJzaW5nKQotewotICAgIFdNTFBhZ2VTdGF0ZSogd21sUGFnZVN0YXRlID0gd21sUGFnZVN0YXRl
Rm9yRG9jdW1lbnQodGhpcyk7Ci0gICAgaWYgKCF3bWxQYWdlU3RhdGUgfHwgIXdtbFBhZ2VTdGF0
ZS0+Y2FuQWNjZXNzRGVjaygpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAvLyBSZW1l
bWJlciB0aGF0IHdlJ2Ugc3VjY2Vzc2Z1bGx5IGVudGVyZWQgdGhlIGRlY2sKLSAgICB3bWxQYWdl
U3RhdGUtPnJlc2V0QWNjZXNzQ29udHJvbERhdGEoKTsKLQotICAgIC8vIE5vdGlmeSB0aGUgZXhp
c3RhbmNlIG9mIHRlbXBsYXRlcyB0byBhbGwgY2FyZHMgb2YgdGhlIGN1cnJlbnQgZGVjawotICAg
IFdNTFRlbXBsYXRlRWxlbWVudDo6cmVnaXN0ZXJUZW1wbGF0ZXNJbkRvY3VtZW50KHRoaXMpOwot
Ci0gICAgLy8gU2V0IGRlc3RpbmF0aW9uIGNhcmQKLSAgICBtX2FjdGl2ZUNhcmQgPSBXTUxDYXJk
RWxlbWVudDo6ZGV0ZXJtaW5lQWN0aXZlQ2FyZCh0aGlzKTsKLSAgICBpZiAoIW1fYWN0aXZlQ2Fy
ZCkgewotICAgICAgICByZXBvcnRXTUxFcnJvcih0aGlzLCBXTUxFcnJvck5vQ2FyZEluRG9jdW1l
bnQpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBIYW5kbGUgZGVjay1s
ZXZlbCB0YXNrIG92ZXJyaWRlcwotICAgIG1fYWN0aXZlQ2FyZC0+aGFuZGxlRGVja0xldmVsVGFz
a092ZXJyaWRlc0lmTmVlZGVkKCk7Ci0KLSAgICAvLyBIYW5kbGUgY2FyZC1sZXZlbCBpbnRyaW5z
aWMgZXZlbnQKLSAgICBpZiAoIWFib3V0VG9GaW5pc2hQYXJzaW5nKQotICAgICAgICBtX2FjdGl2
ZUNhcmQtPmhhbmRsZUludHJpbnNpY0V2ZW50SWZOZWVkZWQoKTsKLQotICAgIHJldHVybiB0cnVl
OwotfQotCi1XTUxQYWdlU3RhdGUqIHdtbFBhZ2VTdGF0ZUZvckRvY3VtZW50KERvY3VtZW50KiBk
b2MpCi17Ci0gICAgQVNTRVJUKGRvYyk7Ci0KLSAgICBQYWdlKiBwYWdlID0gZG9jLT5wYWdlKCk7
Ci0gICAgQVNTRVJUKHBhZ2UpOwotCi0gICAgcmV0dXJuIHBhZ2UtPndtbFBhZ2VTdGF0ZSgpOwot
fQotCi19Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTERvY3VtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTERvY3VtZW50LmgJKHJldmlzaW9u
IDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTERvY3VtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2Jp
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20v
KQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0g
Ki8KLQotI2lmbmRlZiBXTUxEb2N1bWVudF9oCi0jZGVmaW5lIFdNTERvY3VtZW50X2gKLQotI2lm
IEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJXTUxFcnJvckhh
bmRsaW5nLmgiCi0jaW5jbHVkZSAiV01MUGFnZVN0YXRlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotY2xhc3MgV01MQ2FyZEVsZW1lbnQ7Ci0KLWNsYXNzIFdNTERvY3VtZW50IDogcHVibGlj
IERvY3VtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxEb2N1bWVudD4g
Y3JlYXRlKEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBXTUxEb2N1bWVudChmcmFtZSwgdXJsKSk7Ci0gICAgfQotCi0gICAg
dmlydHVhbCB+V01MRG9jdW1lbnQoKTsKLQotICAgIHZpcnR1YWwgYm9vbCBpc1dNTERvY3VtZW50
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hlZFBhcnNp
bmcoKTsKLQotICAgIGJvb2wgaW5pdGlhbGl6ZShib29sIGFib3V0VG9GaW5pc2hQYXJzaW5nID0g
ZmFsc2UpOwotCi0gICAgV01MQ2FyZEVsZW1lbnQqIGFjdGl2ZUNhcmQoKSBjb25zdCB7IHJldHVy
biBtX2FjdGl2ZUNhcmQ7IH0KLQotcHJpdmF0ZToKLSAgICBXTUxEb2N1bWVudChGcmFtZSosIGNv
bnN0IEtVUkwmKTsKLSAgICBXTUxDYXJkRWxlbWVudCogbV9hY3RpdmVDYXJkOwotfTsKLQotV01M
UGFnZVN0YXRlKiB3bWxQYWdlU3RhdGVGb3JEb2N1bWVudChEb2N1bWVudCopOwotCi19Ci0KLSNl
bmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiA4
NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSwxMjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2Jp
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20v
KQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJX
TUxFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJDU1NQcm9w
ZXJ0eU5hbWVzLmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiSFRNTFBhcnNl
cklkaW9tcy5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1ZGUgIldNTEVycm9y
SGFuZGxpbmcuaCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotI2luY2x1ZGUgIldNTFZhcmlhYmxl
cy5oIgotCi11c2luZyBzdGQ6Om1heDsKLXVzaW5nIHN0ZDo6bWluOwotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKLQotV01MRWxlbWVudDo6V01MRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi0g
ICAgOiBTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBDcmVhdGVTdHlsZWRFbGVtZW50
KQotewotfQotCi1QYXNzUmVmUHRyPFdNTEVsZW1lbnQ+IFdNTEVsZW1lbnQ6OmNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBXTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Ci19Ci0KLWJv
b2wgV01MRWxlbWVudDo6bWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwg
TWFwcGVkQXR0cmlidXRlRW50cnkmIHJlc3VsdCkgY29uc3QKLXsKLSAgICBpZiAoYXR0ck5hbWUg
PT0gSFRNTE5hbWVzOjphbGlnbkF0dHIpIHsKLSAgICAgICAgcmVzdWx0ID0gZVVuaXZlcnNhbDsK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiBTdHlsZWRFbGVtZW50
OjptYXBUb0VudHJ5KGF0dHJOYW1lLCByZXN1bHQpOwotfQotICAgIAotdm9pZCBXTUxFbGVtZW50
OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCi17Ci0gICAgaWYgKGlzSWRB
dHRyaWJ1dGVOYW1lKGF0dHItPm5hbWUoKSkKLSAgICAgICAgfHwgYXR0ci0+bmFtZSgpID09IEhU
TUxOYW1lczo6Y2xhc3NBdHRyCi0gICAgICAgIHx8IGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6
OnN0eWxlQXR0cikKLSAgICAgICAgcmV0dXJuIFN0eWxlZEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKGF0dHIpOwotCi0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OmFsaWdu
QXR0cikgewotICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoYXR0ci0+dmFsdWUoKSwgIm1p
ZGRsZSIpKQotICAgICAgICAgICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwgQ1NTUHJvcGVydHlUZXh0
QWxpZ24sICJjZW50ZXIiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgYWRkQ1NTUHJvcGVy
dHkoYXR0ciwgQ1NTUHJvcGVydHlUZXh0QWxpZ24sIGF0dHItPnZhbHVlKCkpOwotICAgIH0gZWxz
ZSBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6dGFiaW5kZXhBdHRyKSB7Ci0gICAgICAg
IFN0cmluZyBpbmRleHN0cmluZyA9IGF0dHItPnZhbHVlKCk7Ci0gICAgICAgIGludCB0YWJpbmRl
eCA9IDA7Ci0gICAgICAgIGlmIChwYXJzZUhUTUxJbnRlZ2VyKGluZGV4c3RyaW5nLCB0YWJpbmRl
eCkpIHsKLSAgICAgICAgICAgIC8vIENsYW1wIHRhYmluZGV4IHRvIHRoZSByYW5nZSBvZiAnc2hv
cnQnIHRvIG1hdGNoIEZpcmVmb3gncyBiZWhhdmlvci4KLSAgICAgICAgICAgIHNldFRhYkluZGV4
RXhwbGljaXRseShtYXgoc3RhdGljX2Nhc3Q8aW50PihzdGQ6Om51bWVyaWNfbGltaXRzPHNob3J0
Pjo6bWluKCkpLCBtaW4odGFiaW5kZXgsIHN0YXRpY19jYXN0PGludD4oc3RkOjpudW1lcmljX2xp
bWl0czxzaG9ydD46Om1heCgpKSkpKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotU3RyaW5nIFdN
TEVsZW1lbnQ6OnRpdGxlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gcGFyc2VWYWx1ZVN1YnN0aXR1
dGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhnZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjp0aXRsZUF0dHIp
KTsKLX0KLQotYm9vbCBXTUxFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKiBz
dHlsZSkKLXsKLSAgICByZXR1cm4gZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkgPT0gdGhp
cyB8fCBzdHlsZS0+ZGlzcGxheSgpICE9IE5PTkU7Ci19Ci0KLVJlbmRlck9iamVjdCogV01MRWxl
bWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSogc3R5bGUpCi17
Ci0gICAgcmV0dXJuIFJlbmRlck9iamVjdDo6Y3JlYXRlT2JqZWN0KHRoaXMsIHN0eWxlKTsKLX0K
LQotU3RyaW5nIFdNTEVsZW1lbnQ6OnBhcnNlVmFsdWVTdWJzdGl0dXRpbmdWYXJpYWJsZVJlZmVy
ZW5jZXMoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSwgV01MRXJyb3JDb2RlIGRlZmF1bHRFcnJv
ckNvZGUpIGNvbnN0Ci17Ci0gICAgYm9vbCBpc1ZhbGlkID0gZmFsc2U7Ci0gICAgaWYgKCFjb250
YWluc1ZhcmlhYmxlUmVmZXJlbmNlKHZhbHVlLCBpc1ZhbGlkKSkKLSAgICAgICAgcmV0dXJuIHZh
bHVlOwotCi0gICAgaWYgKCFpc1ZhbGlkKSB7Ci0gICAgICAgIHJlcG9ydFdNTEVycm9yKGRvY3Vt
ZW50KCksIGRlZmF1bHRFcnJvckNvZGUpOwotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAg
fQotCi0gICAgcmV0dXJuIHN1YnN0aXR1dGVWYXJpYWJsZVJlZmVyZW5jZXModmFsdWUsIGRvY3Vt
ZW50KCkpOwotfQotCi1TdHJpbmcgV01MRWxlbWVudDo6cGFyc2VWYWx1ZUZvcmJpZGRpbmdWYXJp
YWJsZVJlZmVyZW5jZXMoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkgY29uc3QKLXsKLSAgICBi
b29sIGlzVmFsaWQgPSBmYWxzZTsKLSAgICBpZiAoY29udGFpbnNWYXJpYWJsZVJlZmVyZW5jZSh2
YWx1ZSwgaXNWYWxpZCkpIHsKLSAgICAgICAgcmVwb3J0V01MRXJyb3IoZG9jdW1lbnQoKSwgV01M
RXJyb3JJbnZhbGlkVmFyaWFibGVSZWZlcmVuY2VMb2NhdGlvbik7Ci0gICAgICAgIHJldHVybiBT
dHJpbmcoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdmFsdWU7Ci19Ci0KLX0KLQotI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3dtbC9XTUxFbGVtZW50LmgJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dl
YkNvcmUvd21sL1dNTEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1NiArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdN
TEVsZW1lbnRfaAotI2RlZmluZSBXTUxFbGVtZW50X2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5j
bHVkZSAiU3R5bGVkRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTEVycm9ySGFuZGxpbmcuaCIKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXTUxFbGVtZW50IDogcHVibGljIFN0eWxlZEVs
ZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdNTEVsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwotCi0gICAgdmlydHVh
bCBib29sIGlzV01MRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFs
IGJvb2wgaXNXTUxUYXNrRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0KLSAgICB2
aXJ0dWFsIGJvb2wgbWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwgTWFw
cGVkQXR0cmlidXRlRW50cnkmIHJlc3VsdCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHBhcnNl
TWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOwotCi0gICAgdmlydHVhbCBTdHJpbmcgdGl0bGUo
KSBjb25zdDsKLQotICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxl
Kik7Ci0gICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5h
KiwgUmVuZGVyU3R5bGUqKTsKLQotcHJvdGVjdGVkOgotICAgIFdNTEVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLQotICAgIC8vIEhlbHBlciBmdW5jdGlv
biBmb3IgZGVyaXZlZCBjbGFzc2VzCi0gICAgU3RyaW5nIHBhcnNlVmFsdWVTdWJzdGl0dXRpbmdW
YXJpYWJsZVJlZmVyZW5jZXMoY29uc3QgQXRvbWljU3RyaW5nJiwgV01MRXJyb3JDb2RlIGRlZmF1
bHRFcnJvckNvZGUgPSBXTUxFcnJvckludmFsaWRWYXJpYWJsZVJlZmVyZW5jZSkgY29uc3Q7Ci0g
ICAgU3RyaW5nIHBhcnNlVmFsdWVGb3JiaWRkaW5nVmFyaWFibGVSZWZlcmVuY2VzKGNvbnN0IEF0
b21pY1N0cmluZyYpIGNvbnN0OwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291
cmNlL1dlYkNvcmUvd21sL1dNTEVycm9ySGFuZGxpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3dtbC9XTUxFcnJvckhhbmRsaW5nLmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBT
b3VyY2UvV2ViQ29yZS93bWwvV01MRXJyb3JIYW5kbGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsMTA2ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0g
KgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwot
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVy
cm9ySGFuZGxpbmcuaCIKLQotI2luY2x1ZGUgIkNvbnNvbGUuaCIKLSNpbmNsdWRlICJGcmFtZS5o
IgotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRE9NV2luZG93LmgiCi0jaW5jbHVk
ZSAiWE1MRG9jdW1lbnRQYXJzZXIuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdm9pZCByZXBvcnRXTUxFcnJvcihEb2N1bWVudCogZG9j
LCBXTUxFcnJvckNvZGUgZXJyb3IpCi17Ci0gICAgaWYgKCFkb2MgfHwgZXJyb3IgPT0gV01MRXJy
b3JVbmtub3duKQotICAgICAgICByZXR1cm47Ci0KLSAgICBTdHJpbmcgZXJyb3JNZXNzYWdlID0g
ZXJyb3JNZXNzYWdlRm9yRXJyb3JDb2RlKGVycm9yKTsKLSAgICBYTUxEb2N1bWVudFBhcnNlciog
cGFyc2VyID0gc3RhdGljX2Nhc3Q8WE1MRG9jdW1lbnRQYXJzZXIqPihkb2MtPnBhcnNlcigpKTsK
LSAgICBpZiAocGFyc2VyICYmIGVycm9yICE9IFdNTEVycm9yRGVja05vdEFjY2Vzc2libGUpIHsK
LSAgICAgICAgLy8gU29tZSBlcnJvcnMgYXJlIHJlcG9ydGVkIGFzIHJlc3VsdCBvZiBhbiBpbnNl
cnRlZEludG9Eb2N1bWVudCgpIGNhbGwuCi0gICAgICAgIC8vIElmIHRoaXMgaGFwcGVuZWQsIHBh
cnNpbmcgaGFzIGJlZW4gc3RvcHBlZCwgYW5kIHRoZSBkb2N1bWVudCBmcmFnbWVudAotICAgICAg
ICAvLyBpcyB3cmFwcGVkIGluIGEgWEhUTUwgZXJyb3IgZG9jdW1lbnQuIFRoYXQgbWVhbnMgaW5z
ZXJ0ZWRJbnRvRG9jdW1lbnQoKQotICAgICAgICAvLyB3aWxsIGJlIGNhbGxlZCBhZ2FpbiAtIGRv
IE5PVCByZXBvcnQgdGhlIGVycm9yIHR3aWNlLCB0aGF0IHdvdWxkIHJlc3VsdAotICAgICAgICAv
LyBpbiBhbiBpbmZpbml0ZSBlcnJvciByZXBvcnRpbmcgbG9vcC4KLSAgICAgICAgaWYgKCFwYXJz
ZXItPndlbGxGb3JtZWQoKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBwYXJzZXIt
PmhhbmRsZUVycm9yKFhNTERvY3VtZW50UGFyc2VyOjpmYXRhbCwgZXJyb3JNZXNzYWdlLmxhdGlu
MSgpLmRhdGEoKSwgcGFyc2VyLT50ZXh0UG9zaXRpb25PbmVCYXNlZCgpKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBGcmFtZSogZnJhbWUgPSBkb2MtPmZyYW1lKCk7Ci0gICAgICAgIGlmICghZnJh
bWUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgRE9NV2luZG93KiBkb21XaW5kb3cg
PSBmcmFtZS0+ZG9tV2luZG93KCk7Ci0gICAgICAgIGlmICghZG9tV2luZG93KQotICAgICAgICAg
ICAgcmV0dXJuOwotCi0gICAgICAgIENvbnNvbGUqIGNvbnNvbGUgPSBkb21XaW5kb3ctPmNvbnNv
bGUoKTsKLSAgICAgICAgaWYgKCFjb25zb2xlKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAg
ICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoV01MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIDAsIFN0cmluZygpKTsKLSAgICB9Ci19
Ci0KLVN0cmluZyBlcnJvck1lc3NhZ2VGb3JFcnJvckNvZGUoV01MRXJyb3JDb2RlIGVycm9yKQot
ewotICAgIHN3aXRjaCAoZXJyb3IpIHsKLSAgICBjYXNlIFdNTEVycm9yQ29uZmxpY3RpbmdFdmVu
dEJpbmRpbmc6Ci0gICAgICAgIHJldHVybiAiQ29uZmxpY3RpbmcgZXZlbnQgYmluZGluZ3Mgd2l0
aGluIGFuIGVsZW1lbnQuIjsKLSAgICBjYXNlIFdNTEVycm9yRGVja05vdEFjY2Vzc2libGU6Ci0g
ICAgICAgIHJldHVybiAiRGVjayBub3QgYWNjZXNzaWJsZS4iOwotICAgIGNhc2UgV01MRXJyb3JE
dXBsaWNhdGVkRG9FbGVtZW50OgotICAgICAgICByZXR1cm4gIkF0IGxlYXN0IHR3byBkbyBlbGVt
ZW50cyBzaGFyZSBhIG5hbWUsIHdoaWNoIGlzIG5vdCBhbGxvd2VkLiI7Ci0gICAgY2FzZSBXTUxF
cnJvckZvcmJpZGRlblRhc2tJbkFuY2hvckVsZW1lbnQ6Ci0gICAgICAgIHJldHVybiAiRm9yYmlk
ZGVuIHRhc2sgY29udGFpbmVkIGluIGFuY2hvciBlbGVtZW50LiI7Ci0gICAgY2FzZSBXTUxFcnJv
ckludmFsaWRDb2x1bW5zTnVtYmVySW5UYWJsZToKLSAgICAgICAgcmV0dXJuICJBIHRhYmxlIGNv
bnRhaW5zIGFuIGludmFsaWQgbnVtYmVyIG9mIGNvbHVtbnMuIjsKLSAgICBjYXNlIFdNTEVycm9y
SW52YWxpZFZhcmlhYmxlTmFtZToKLSAgICAgICAgcmV0dXJuICJBIHZhcmlhYmxlIG5hbWUgY29u
dGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzLiI7Ci0gICAgY2FzZSBXTUxFcnJvckludmFsaWRWYXJp
YWJsZVJlZmVyZW5jZToKLSAgICAgICAgcmV0dXJuICJBIHZhcmlhYmxlIHJlZmVyZW5jZSB1c2Vz
IGludmFsaWQgc3ludGF4LiI7Ci0gICAgY2FzZSBXTUxFcnJvckludmFsaWRWYXJpYWJsZVJlZmVy
ZW5jZUxvY2F0aW9uOgotICAgICAgICByZXR1cm4gIkEgdmFyaWFibGUgcmVmZXJlbmNlIGlzIHBs
YWNlZCBpbiBhbiBpbnZhbGlkIGxvY2F0aW9uLiI7Ci0gICAgY2FzZSBXTUxFcnJvck11bHRpcGxl
QWNjZXNzRWxlbWVudHM6Ci0gICAgICAgIHJldHVybiAiT25seSBvbmUgYWNjZXNzIGVsZW1lbnQg
aXMgYWxsb3dlZCBpbiBhIGRlY2suIjsKLSAgICBjYXNlIFdNTEVycm9yTXVsdGlwbGVUZW1wbGF0
ZUVsZW1lbnRzOgotICAgICAgICByZXR1cm4gIk9ubHkgb25lIHRlbXBsYXRlIGVsZW1lbnQgaXMg
YWxsb3dlZCBpbiBhIGRlY2suIjsKLSAgICBjYXNlIFdNTEVycm9yTm9DYXJkSW5Eb2N1bWVudDoK
LSAgICAgICAgcmV0dXJuICJObyBjYXJkIGNvbnRhaW5lZCBpbiBkb2N1bWVudC4iOwotICAgIGNh
c2UgV01MRXJyb3JNdWx0aXBsZVRpbWVyRWxlbWVudHM6Ci0gICAgICAgIHJldHVybiAiT25seSBv
bmUgdGltZXIgZWxlbWVudCBpcyBhbGxvd2VkIGluIGEgY2FyZC4iOwotICAgIGNhc2UgV01MRXJy
b3JVbmtub3duOgotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgfTsKLQotICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBTdHJpbmcoKTsKLX0KLQotfQotCi0jZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxFcnJvckhhbmRsaW5nLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEVycm9ySGFuZGxpbmcuaAkocmV2aXNpb24gODUxNjYp
CisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MRXJyb3JIYW5kbGluZy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDUyICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmls
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8p
Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAq
LwotCi0jaWZuZGVmIFdNTEVycm9ySGFuZGxpbmdfaAotI2RlZmluZSBXTUxFcnJvckhhbmRsaW5n
X2gKLQotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0KLSNpZiBFTkFCTEUoV01MKQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi0gICAgY2xhc3MgRG9jdW1lbnQ7Ci0KLSAgICBlbnVtIFdNTEVycm9y
Q29kZSB7Ci0gICAgICAgIFdNTEVycm9yVW5rbm93biA9IDAsCi0gICAgICAgIFdNTEVycm9yQ29u
ZmxpY3RpbmdFdmVudEJpbmRpbmcsCi0gICAgICAgIFdNTEVycm9yRGVja05vdEFjY2Vzc2libGUs
Ci0gICAgICAgIFdNTEVycm9yRHVwbGljYXRlZERvRWxlbWVudCwKLSAgICAgICAgV01MRXJyb3JG
b3JiaWRkZW5UYXNrSW5BbmNob3JFbGVtZW50LAotICAgICAgICBXTUxFcnJvckludmFsaWRDb2x1
bW5zTnVtYmVySW5UYWJsZSwKLSAgICAgICAgV01MRXJyb3JJbnZhbGlkVmFyaWFibGVOYW1lLAot
ICAgICAgICBXTUxFcnJvckludmFsaWRWYXJpYWJsZVJlZmVyZW5jZSwKLSAgICAgICAgV01MRXJy
b3JJbnZhbGlkVmFyaWFibGVSZWZlcmVuY2VMb2NhdGlvbiwKLSAgICAgICAgV01MRXJyb3JNdWx0
aXBsZUFjY2Vzc0VsZW1lbnRzLAotICAgICAgICBXTUxFcnJvck11bHRpcGxlVGVtcGxhdGVFbGVt
ZW50cywKLSAgICAgICAgV01MRXJyb3JNdWx0aXBsZVRpbWVyRWxlbWVudHMsCi0gICAgICAgIFdN
TEVycm9yTm9DYXJkSW5Eb2N1bWVudAotICAgIH07Ci0KLSAgICBTdHJpbmcgZXJyb3JNZXNzYWdl
Rm9yRXJyb3JDb2RlKFdNTEVycm9yQ29kZSk7Ci0gICAgdm9pZCByZXBvcnRXTUxFcnJvcihEb2N1
bWVudCosIFdNTEVycm9yQ29kZSk7Ci19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS93bWwvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3dtbC9XTUxFdmVudEhhbmRsaW5nRWxlbWVudC5jcHAJKHJldmlzaW9uIDg1
MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMSw5NyArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAw
OCwgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3
dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxF
KFdNTCkKLSNpbmNsdWRlICJXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5oIgotCi0jaW5jbHVkZSAi
V01MQ2FyZEVsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxEb0VsZW1lbnQuaCIKLSNpbmNsdWRlICJX
TUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuaCIKLSNpbmNsdWRlICJXTUxPcHRpb25FbGVtZW50Lmgi
Ci0jaW5jbHVkZSAiV01MVGFza0VsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxUZW1wbGF0ZUVsZW1l
bnQuaCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVz
aW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKLQotV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQ6OldNTEV2
ZW50SGFuZGxpbmdFbGVtZW50KCkKLXsKLX0KLQotV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQ6On5X
TUxFdmVudEhhbmRsaW5nRWxlbWVudCgpCi17Ci19Ci0KLXZvaWQgV01MRXZlbnRIYW5kbGluZ0Vs
ZW1lbnQ6OmNyZWF0ZUV2ZW50SGFuZGxlcklmTmVlZGVkKCkKLXsKLSAgICBpZiAoIW1fZXZlbnRI
YW5kbGVyKQotICAgICAgICBtX2V2ZW50SGFuZGxlci5zZXQobmV3IFdNTEludHJpbnNpY0V2ZW50
SGFuZGxlcik7Ci19Ci0KLXZvaWQgV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQ6OnJlZ2lzdGVyRG9F
bGVtZW50KFdNTERvRWxlbWVudCogZG9FbGVtZW50LCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0g
ICAgVmVjdG9yPFdNTERvRWxlbWVudCo+OjppdGVyYXRvciBpdCA9IG1fZG9FbGVtZW50cy5iZWdp
bigpOwotICAgIFZlY3RvcjxXTUxEb0VsZW1lbnQqPjo6aXRlcmF0b3IgZW5kID0gbV9kb0VsZW1l
bnRzLmVuZCgpOwotCi0gICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBpZiAo
KCppdCktPm5hbWUoKSA9PSBkb0VsZW1lbnQtPm5hbWUoKSkgewotICAgICAgICAgICAgcmVwb3J0
V01MRXJyb3IoZG9jdW1lbnQsIFdNTEVycm9yRHVwbGljYXRlZERvRWxlbWVudCk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBBU1NFUlQobV9kb0VsZW1lbnRz
LmZpbmQoZG9FbGVtZW50KSA9PSBXVEY6Om5vdEZvdW5kKTsKLSAgICBtX2RvRWxlbWVudHMuYXBw
ZW5kKGRvRWxlbWVudCk7Ci0gICAgZG9FbGVtZW50LT5zZXRBY3RpdmUodHJ1ZSk7Ci19Ci0KLXZv
aWQgV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQ6OmRlcmVnaXN0ZXJEb0VsZW1lbnQoV01MRG9FbGVt
ZW50KiBkb0VsZW1lbnQpCi17Ci0gICAgZG9FbGVtZW50LT5zZXRBY3RpdmUoZmFsc2UpOwotCi0g
ICAgc2l6ZV90IHBvc2l0aW9uID0gbV9kb0VsZW1lbnRzLmZpbmQoZG9FbGVtZW50KTsKLSAgICBp
ZiAocG9zaXRpb24gPT0gV1RGOjpub3RGb3VuZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9k
b0VsZW1lbnRzLnJlbW92ZShwb3NpdGlvbik7Ci19Ci0KLVdNTEV2ZW50SGFuZGxpbmdFbGVtZW50
KiB0b1dNTEV2ZW50SGFuZGxpbmdFbGVtZW50KFdNTEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAg
aWYgKCFlbGVtZW50LT5pc1dNTEVsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBp
ZiAoZWxlbWVudC0+aGFzVGFnTmFtZShjYXJkVGFnKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFdNTENhcmRFbGVtZW50Kj4oZWxlbWVudCk7Ci0gICAgZWxzZSBpZiAoZWxlbWVudC0+aGFz
VGFnTmFtZShvcHRpb25UYWcpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V01MT3B0aW9u
RWxlbWVudCo+KGVsZW1lbnQpOwotICAgIGVsc2UgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUodGVt
cGxhdGVUYWcpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V01MVGVtcGxhdGVFbGVtZW50
Kj4oZWxlbWVudCk7Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3dtbC9XTUxFdmVudEhhbmRsaW5nRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxFdmVudEhhbmRsaW5nRWxlbWVudC5oCShyZXZpc2lvbiA4
NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxFdmVudEhhbmRsaW5nRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDU3ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4
LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3
LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50X2gK
LSNkZWZpbmUgV01MRXZlbnRIYW5kbGluZ0VsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNp
bmNsdWRlICJXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuaCIKLQotI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgV01MRWxlbWVudDsKLWNsYXNzIFdNTERvRWxlbWVudDsKLQotY2xhc3MgV01MRXZlbnRI
YW5kbGluZ0VsZW1lbnQgewotcHVibGljOgotICAgIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50KCk7
Ci0gICAgfldNTEV2ZW50SGFuZGxpbmdFbGVtZW50KCk7Ci0KLSAgICBXTUxJbnRyaW5zaWNFdmVu
dEhhbmRsZXIqIGV2ZW50SGFuZGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fZXZlbnRIYW5kbGVyLmdl
dCgpOyB9Ci0gICAgdm9pZCBjcmVhdGVFdmVudEhhbmRsZXJJZk5lZWRlZCgpOwotCi0gICAgVmVj
dG9yPFdNTERvRWxlbWVudCo+JiBkb0VsZW1lbnRzKCkgeyByZXR1cm4gbV9kb0VsZW1lbnRzOyB9
Ci0gICAgdm9pZCByZWdpc3RlckRvRWxlbWVudChXTUxEb0VsZW1lbnQqLCBEb2N1bWVudCopOwot
ICAgIHZvaWQgZGVyZWdpc3RlckRvRWxlbWVudChXTUxEb0VsZW1lbnQqKTsKLQotcHJpdmF0ZToK
LSAgICBPd25QdHI8V01MSW50cmluc2ljRXZlbnRIYW5kbGVyPiBtX2V2ZW50SGFuZGxlcjsKLSAg
ICBWZWN0b3I8V01MRG9FbGVtZW50Kj4gbV9kb0VsZW1lbnRzOwotfTsKLQotV01MRXZlbnRIYW5k
bGluZ0VsZW1lbnQqIHRvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQoV01MRWxlbWVudCopOwotCi19
Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MRmllbGRTZXRF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MRmllbGRTZXRF
bGVtZW50LmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MRmll
bGRTZXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw4NSArMCwwIEBACi0vKioKLSAq
IENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICog
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICog
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
Ci0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxGaWVsZFNldEVsZW1lbnQuaCIKLQotI2lu
Y2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIlJl
bmRlckZpZWxkc2V0LmgiCi0jaW5jbHVkZSAiVGV4dC5oIgotI2luY2x1ZGUgIldNTEVsZW1lbnRG
YWN0b3J5LmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdNTEZpZWxkU2V0RWxlbWVudDo6V01MRmll
bGRTZXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2Mp
Ci0gICAgOiBXTUxFbGVtZW50KHRhZ05hbWUsIGRvYykKLXsKLX0KLQotUGFzc1JlZlB0cjxXTUxG
aWVsZFNldEVsZW1lbnQ+IFdNTEZpZWxkU2V0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFdNTEZpZWxkU2V0RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi1XTUxG
aWVsZFNldEVsZW1lbnQ6On5XTUxGaWVsZFNldEVsZW1lbnQoKQotewotfQotCi12b2lkIFdNTEZp
ZWxkU2V0RWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQotewotICAgIFdNTEVsZW1lbnQ6
Omluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0KLSAgICBTdHJpbmcgdGl0bGUgPSBwYXJzZVZhbHVl
U3Vic3RpdHV0aW5nVmFyaWFibGVSZWZlcmVuY2VzKGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnRp
dGxlQXR0cikpOwotICAgIGlmICh0aXRsZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIG1faW5zZXJ0ZWRMZWdlbmRFbGVtZW50ID0gV01MRWxlbWVudEZhY3Rvcnk6OmNyZWF0ZVdN
TEVsZW1lbnQoaW5zZXJ0ZWRMZWdlbmRUYWcsIGRvY3VtZW50KCkpOwotCi0gICAgLy8gSW5zZXJ0
IDxkdW1teUxlZ2VuZD4gZWxlbWVudCwgYXMgUmVuZGVyRmllbGRzZXQgZXhwZWN0IGl0IHRvIGJl
IHByZXNlbnQKLSAgICAvLyB0byBsYXlvdXQgaXQncyBjaGlsZCB0ZXh0IGNvbnRlbnQsIHdoZW4g
cmVuZGVyaW5nIDxmaWVsZHNldD4gZWxlbWVudHMKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsK
LSAgICBhcHBlbmRDaGlsZChtX2luc2VydGVkTGVnZW5kRWxlbWVudCwgZWMpOwotICAgIEFTU0VS
VChlYyA9PSAwKTsKLQotICAgIC8vIENyZWF0ZSB0ZXh0IG5vZGUgaG9sZGluZyB0aGUgJ3RpdGxl
JyBhdHRyaWJ1dGUgdmFsdWUKLSAgICBtX2luc2VydGVkTGVnZW5kRWxlbWVudC0+YXBwZW5kQ2hp
bGQoZG9jdW1lbnQoKS0+Y3JlYXRlVGV4dE5vZGUodGl0bGUpLCBlYyk7Ci0gICAgQVNTRVJUKGVj
ID09IDApOwotfQotCi12b2lkIFdNTEZpZWxkU2V0RWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVu
dCgpCi17Ci0gICAgbV9pbnNlcnRlZExlZ2VuZEVsZW1lbnQuY2xlYXIoKTsKLSAgICBXTUxFbGVt
ZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCk7Ci19Ci0KLVJlbmRlck9iamVjdCogV01MRmllbGRT
ZXRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxl
KikKLXsKLSAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyRmllbGRzZXQodGhpcyk7Ci19Ci0K
LX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MRmllbGRTZXRFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEZpZWxkU2V0RWxlbWVudC5o
CShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxGaWVsZFNldEVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw0OCArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAo
QykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3
dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxGaWVsZFNldEVsZW1lbnRfaAotI2Rl
ZmluZSBXTUxGaWVsZFNldEVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJX
TUxFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV01MRmllbGRTZXRF
bGVtZW50IDogcHVibGljIFdNTEVsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFdNTEZpZWxkU2V0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCopOwotCi0gICAgV01MRmllbGRTZXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50Kik7Ci0gICAgdmlydHVhbCB+V01MRmllbGRTZXRFbGVtZW50KCk7Ci0K
LSAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLSAgICB2aXJ0dWFsIHZv
aWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwotCi0gICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNy
ZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKLQotcHJpdmF0ZToKLSAg
ICBSZWZQdHI8V01MRWxlbWVudD4gbV9pbnNlcnRlZExlZ2VuZEVsZW1lbnQ7Ci19OwotCi19Ci0K
LSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MRm9ybUNvbnRyb2xF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MRm9ybUNvbnRy
b2xFbGVtZW50LmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01M
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw4NiArMCwwIEBACi0v
KioKLSAqIENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
Ci0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0g
KgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0g
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxGb3JtQ29udHJvbEVsZW1lbnQu
aCIKLQotI2luY2x1ZGUgIlJlbmRlckJveC5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgot
I2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV01MRm9y
bUNvbnRyb2xFbGVtZW50OjpXTUxGb3JtQ29udHJvbEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotICAgIDogV01MRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKLSAgICAsIG1fdmFsdWVNYXRjaGVzUmVuZGVyZXIoZmFsc2UpCi17Ci19Ci0K
LVBhc3NSZWZQdHI8V01MRm9ybUNvbnRyb2xFbGVtZW50PiBXTUxGb3JtQ29udHJvbEVsZW1lbnQ6
OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQp
Ci17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpKTsKLX0KLQotV01MRm9ybUNvbnRyb2xFbGVtZW50Ojp+V01MRm9ybUNvbnRy
b2xFbGVtZW50KCkKLXsKLX0KLQotYm9vbCBXTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnN1cHBvcnRz
Rm9jdXMoKSBjb25zdAotewotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIFdNTEZvcm1Db250
cm9sRWxlbWVudDo6aXNGb2N1c2FibGUoKSBjb25zdAotewotICAgIGlmICghcmVuZGVyZXIoKSB8
fCAhcmVuZGVyZXIoKS0+aXNCb3goKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYg
KHRvUmVuZGVyQm94KHJlbmRlcmVyKCkpLT5zaXplKCkuaXNFbXB0eSgpKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgCi0gICAgcmV0dXJuIFdNTEVsZW1lbnQ6OmlzRm9jdXNhYmxlKCk7Ci19
Ci0gICAgCi0KLXZvaWQgV01MRm9ybUNvbnRyb2xFbGVtZW50OjphdHRhY2goKQotewotICAgIEFT
U0VSVCghYXR0YWNoZWQoKSk7Ci0gICAgV01MRWxlbWVudDo6YXR0YWNoKCk7Ci0KLSAgICAvLyBU
aGUgY2FsbCB0byB1cGRhdGVGcm9tRWxlbWVudCgpIG5lZWRzIHRvIGdvIGFmdGVyIHRoZSBjYWxs
IHRocm91Z2gKLSAgICAvLyB0byB0aGUgYmFzZSBjbGFzcydzIGF0dGFjaCgpIGJlY2F1c2UgdGhh
dCBjYW4gc29tZXRpbWVzIGRvIGEgY2xvc2UKLSAgICAvLyBvbiB0aGUgcmVuZGVyZXIuCi0gICAg
aWYgKHJlbmRlcmVyKCkpCi0gICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7
Ci19Ci0KLXZvaWQgV01MRm9ybUNvbnRyb2xFbGVtZW50OjpyZWNhbGNTdHlsZShTdHlsZUNoYW5n
ZSBjaGFuZ2UpCi17Ci0gICAgV01MRWxlbWVudDo6cmVjYWxjU3R5bGUoY2hhbmdlKTsKLQotICAg
IGlmIChyZW5kZXJlcigpKQotICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgp
OwotfQotCi19Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEZvcm1Db250
cm9sRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxGb3JtQ29u
dHJvbEVsZW1lbnQuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01M
Rm9ybUNvbnRyb2xFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNTkgKzAsMCBAQAotLyoq
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
LSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoK
LSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01MRm9ybUNv
bnRyb2xFbGVtZW50X2gKLSNkZWZpbmUgV01MRm9ybUNvbnRyb2xFbGVtZW50X2gKLQotI2lmIEVO
QUJMRShXTUwpCi0jaW5jbHVkZSAiV01MRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIFdNTEZvcm1Db250cm9sRWxlbWVudCA6IHB1YmxpYyBXTUxFbGVtZW50IHsKLXB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxGb3JtQ29udHJvbEVsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotCi0gICAgdmlydHVhbCB+V01M
Rm9ybUNvbnRyb2xFbGVtZW50KCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNGb3JtQ29udHJvbEVs
ZW1lbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzUmVhZE9u
bHlGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29s
IGlzVGV4dEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLQotICAgIHZpcnR1
YWwgYm9vbCBmb3JtQ29udHJvbFZhbHVlTWF0Y2hlc1JlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4g
bV92YWx1ZU1hdGNoZXNSZW5kZXJlcjsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRGb3JtQ29udHJv
bFZhbHVlTWF0Y2hlc1JlbmRlcmVyKGJvb2wgYiA9IHRydWUpIHsgbV92YWx1ZU1hdGNoZXNSZW5k
ZXJlciA9IGI7IH0KLQotICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0ZvY3VzKCkgY29uc3Q7Ci0g
ICAgdmlydHVhbCBib29sIGlzRm9jdXNhYmxlKCkgY29uc3Q7Ci0KLSAgICB2aXJ0dWFsIHZvaWQg
YXR0YWNoKCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlKTsKLQot
cHJvdGVjdGVkOgotICAgIFdNTEZvcm1Db250cm9sRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsKLQotcHJpdmF0ZToKLSAgICBib29sIG1fdmFsdWVNYXRjaGVzUmVuZGVy
ZXI7Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwv
V01MR29FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MR29F
bGVtZW50LmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MR29F
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwyMjkgKzAsMCBAQAotLyoqCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MR29FbGVtZW50LmgiCi0KLSNpbmNsdWRl
ICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJGb3JtRGF0YS5oIgotI2luY2x1ZGUgIkZvcm1EYXRh
QnVpbGRlci5oIgotI2luY2x1ZGUgIkZvcm1TdWJtaXNzaW9uLmgiCi0jaW5jbHVkZSAiRnJhbWUu
aCIKLSNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2lu
Y2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgotI2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgotI2lu
Y2x1ZGUgIldNTENhcmRFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MRG9jdW1lbnQuaCIKLSNpbmNs
dWRlICJXTUxOYW1lcy5oIgotI2luY2x1ZGUgIldNTFBhZ2VTdGF0ZS5oIgotI2luY2x1ZGUgIldN
TFBvc3RmaWVsZEVsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxUaW1lckVsZW1lbnQuaCIKLSNpbmNs
dWRlICJXTUxWYXJpYWJsZXMuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIFdNTE5hbWVzOwotCi1XTUxHb0Vs
ZW1lbnQ6OldNTEdvRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCogZG9jKQotICAgIDogV01MVGFza0VsZW1lbnQodGFnTmFtZSwgZG9jKQotewotfQotIAotUGFz
c1JlZlB0cjxXTUxHb0VsZW1lbnQ+IFdNTEdvRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFdNTEdvRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi12b2lkIFdNTEdv
RWxlbWVudDo6cmVnaXN0ZXJQb3N0ZmllbGRFbGVtZW50KFdNTFBvc3RmaWVsZEVsZW1lbnQqIHBv
c3RmaWVsZCkKLXsKLSAgICBBU1NFUlQobV9wb3N0ZmllbGRFbGVtZW50cy5maW5kKHBvc3RmaWVs
ZCkgPT0gV1RGOjpub3RGb3VuZCk7Ci0gICAgbV9wb3N0ZmllbGRFbGVtZW50cy5hcHBlbmQocG9z
dGZpZWxkKTsKLX0KLSAKLXZvaWQgV01MR29FbGVtZW50OjpkZXJlZ2lzdGVyUG9zdGZpZWxkRWxl
bWVudChXTUxQb3N0ZmllbGRFbGVtZW50KiBwb3N0ZmllbGQpCi17Ci0gICAgc2l6ZV90IHBvc2l0
aW9uID0gbV9wb3N0ZmllbGRFbGVtZW50cy5maW5kKHBvc3RmaWVsZCk7Ci0gICAgQVNTRVJUKHBv
c2l0aW9uICE9IFdURjo6bm90Rm91bmQpOwotICAgIG1fcG9zdGZpZWxkRWxlbWVudHMucmVtb3Zl
KHBvc2l0aW9uKTsKLX0KLQotdm9pZCBXTUxHb0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KEF0dHJpYnV0ZSogYXR0cikKLXsKLSAgICBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6
bWV0aG9kQXR0cikKLSAgICAgICAgbV9mb3JtQXR0cmlidXRlcy5wYXJzZU1ldGhvZFR5cGUoYXR0
ci0+dmFsdWUoKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6ZW5j
dHlwZUF0dHIpCi0gICAgICAgIG1fZm9ybUF0dHJpYnV0ZXMucGFyc2VFbmNvZGluZ1R5cGUocGFy
c2VWYWx1ZVN1YnN0aXR1dGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhhdHRyLT52YWx1ZSgpKSk7Ci0g
ICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6YWNjZXB0X2NoYXJzZXRBdHRy
KQotICAgICAgICBtX2Zvcm1BdHRyaWJ1dGVzLnNldEFjY2VwdENoYXJzZXQocGFyc2VWYWx1ZUZv
cmJpZGRpbmdWYXJpYWJsZVJlZmVyZW5jZXMoYXR0ci0+dmFsdWUoKSkpOwotICAgIGVsc2UKLSAg
ICAgICAgV01MVGFza0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwotfQotCi12
b2lkIFdNTEdvRWxlbWVudDo6ZXhlY3V0ZVRhc2soKQotewotICAgIEFTU0VSVChkb2N1bWVudCgp
LT5pc1dNTERvY3VtZW50KCkpOwotICAgIFdNTERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19j
YXN0PFdNTERvY3VtZW50Kj4odGhpcy0+ZG9jdW1lbnQoKSk7Ci0KLSAgICBXTUxQYWdlU3RhdGUq
IHBhZ2VTdGF0ZSA9IHdtbFBhZ2VTdGF0ZUZvckRvY3VtZW50KGRvY3VtZW50KTsKLSAgICBpZiAo
IXBhZ2VTdGF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgV01MQ2FyZEVsZW1lbnQqIGNhcmQg
PSBkb2N1bWVudC0+YWN0aXZlQ2FyZCgpOwotICAgIGlmICghY2FyZCkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQtPmZyYW1lKCk7Ci0gICAgaWYgKCFmcmFt
ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRnJhbWVMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5s
b2FkZXIoKTsKLSAgICBpZiAoIWxvYWRlcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgU3RyaW5n
IGhyZWYgPSBnZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpocmVmQXR0cik7Ci0gICAgaWYgKGhyZWYu
aXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBTdWJzdGl0dXRlIHZhcmlhYmxl
cyB3aXRoaW4gdGFyZ2V0IHVybCBhdHRyaWJ1dGUgdmFsdWUKLSAgICBLVVJMIHVybCA9IGRvY3Vt
ZW50LT5jb21wbGV0ZVVSTChzdWJzdGl0dXRlVmFyaWFibGVSZWZlcmVuY2VzKGhyZWYsIGRvY3Vt
ZW50LCBXTUxWYXJpYWJsZUVzY2FwaW5nRXNjYXBlKSk7Ci0gICAgaWYgKHVybC5pc0VtcHR5KCkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIHN0b3JlVmFyaWFibGVTdGF0ZShwYWdlU3RhdGUpOwot
Ci0gICAgLy8gU3RvcCB0aGUgdGltZXIgb2YgdGhlIGN1cnJlbnQgY2FyZCBpZiBpdCBpcyBhY3Rp
dmUKLSAgICBpZiAoV01MVGltZXJFbGVtZW50KiBldmVudFRpbWVyID0gY2FyZC0+ZXZlbnRUaW1l
cigpKQotICAgICAgICBldmVudFRpbWVyLT5zdG9wKCk7Ci0KLSAgICAvLyBGSVhNRTogJ25ld2Nv
bnRleHQnIGhhbmRsaW5nIG5vdCBpbXBsZW1lbnRlZCBmb3IgZXh0ZXJuYWwgY2FyZHMKLSAgICBi
b29sIGluU2FtZURlY2sgPSBkb2N1bWVudC0+dXJsKCkucGF0aCgpID09IHVybC5wYXRoKCk7Ci0g
ICAgaWYgKGluU2FtZURlY2sgJiYgdXJsLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKSB7Ci0gICAg
ICAgIGlmIChXTUxDYXJkRWxlbWVudCogY2FyZCA9IFdNTENhcmRFbGVtZW50OjpmaW5kTmFtZWRD
YXJkSW5Eb2N1bWVudChkb2N1bWVudCwgdXJsLmZyYWdtZW50SWRlbnRpZmllcigpKSkgewotICAg
ICAgICAgICAgaWYgKGNhcmQtPmlzTmV3Q29udGV4dCgpKQotICAgICAgICAgICAgICAgIHBhZ2VT
dGF0ZS0+cmVzZXQoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8vIFByZXBhcmUgbG9hZGlu
ZyB0aGUgZGVzdGluYXRpb24gdXJsCi0gICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QodXJsKTsK
LQotICAgIGlmIChnZXRBdHRyaWJ1dGUoc2VuZHJlZmVyZXJBdHRyKSA9PSAidHJ1ZSIpCi0gICAg
ICAgIHJlcXVlc3Quc2V0SFRUUFJlZmVycmVyKGxvYWRlci0+b3V0Z29pbmdSZWZlcnJlcigpKTsK
LQotICAgIFN0cmluZyBjYWNoZUNvbnRyb2wgPSBnZXRBdHRyaWJ1dGUoY2FjaGVfY29udHJvbEF0
dHIpOwotCi0gICAgaWYgKG1fZm9ybUF0dHJpYnV0ZXMubWV0aG9kKCkgPT0gRm9ybVN1Ym1pc3Np
b246OlBvc3RNZXRob2QpCi0gICAgICAgIHByZXBhcmVQT1NUUmVxdWVzdChyZXF1ZXN0LCBpblNh
bWVEZWNrLCBjYWNoZUNvbnRyb2wpOwotICAgIGVsc2UKLSAgICAgICAgcHJlcGFyZUdFVFJlcXVl
c3QocmVxdWVzdCwgdXJsKTsKLQotICAgIC8vIFNldCBIVFRQIGNhY2hlLWNvbnRyb2wgaGVhZGVy
IGlmIG5lZWRlZAotICAgIGlmICghY2FjaGVDb250cm9sLmlzRW1wdHkoKSkgewotICAgICAgICBy
ZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZCgiY2FjaGUtY29udHJvbCIsIGNhY2hlQ29udHJvbCk7
Ci0KLSAgICAgICAgaWYgKGNhY2hlQ29udHJvbCA9PSAibm8tY2FjaGUiKQotICAgICAgICAgICAg
cmVxdWVzdC5zZXRDYWNoZVBvbGljeShSZWxvYWRJZ25vcmluZ0NhY2hlRGF0YSk7Ci0gICAgfQot
Ci0gICAgbG9hZGVyLT5sb2FkKHJlcXVlc3QsIGZhbHNlKTsKLX0KLQotdm9pZCBXTUxHb0VsZW1l
bnQ6OnByZXBhcmVQT1NUUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGJvb2wgaW5T
YW1lRGVjaywgY29uc3QgU3RyaW5nJiBjYWNoZUNvbnRyb2wpCi17Ci0gICAgcmVxdWVzdC5zZXRI
VFRQTWV0aG9kKCJQT1NUIik7Ci0KLSAgICBpZiAoaW5TYW1lRGVjayAmJiBjYWNoZUNvbnRyb2wg
IT0gIm5vLWNhY2hlIikgewotICAgICAgICByZXF1ZXN0LnNldENhY2hlUG9saWN5KFJldHVybkNh
Y2hlRGF0YURvbnRMb2FkKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIFJlZlB0cjxG
b3JtRGF0YT4gZGF0YTsKLQotICAgIGlmIChtX2Zvcm1BdHRyaWJ1dGVzLmlzTXVsdGlQYXJ0Rm9y
bSgpKSB7IC8vIG11bHRpcGFydC9mb3JtLWRhdGEKLSAgICAgICAgVmVjdG9yPGNoYXI+IGJvdW5k
YXJ5ID0gRm9ybURhdGFCdWlsZGVyOjpnZW5lcmF0ZVVuaXF1ZUJvdW5kYXJ5U3RyaW5nKCk7Ci0g
ICAgICAgIGRhdGEgPSBjcmVhdGVGb3JtRGF0YShib3VuZGFyeS5kYXRhKCkpOwotICAgICAgICBy
ZXF1ZXN0LnNldEhUVFBDb250ZW50VHlwZShtX2Zvcm1BdHRyaWJ1dGVzLmVuY29kaW5nVHlwZSgp
ICsgIjsgYm91bmRhcnk9IiArIGJvdW5kYXJ5LmRhdGEoKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgLy8gdGV4dC9wbGFpbiBvciBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQKLSAg
ICAgICAgZGF0YSA9IGNyZWF0ZUZvcm1EYXRhKENTdHJpbmcoKSk7Ci0gICAgICAgIHJlcXVlc3Qu
c2V0SFRUUENvbnRlbnRUeXBlKG1fZm9ybUF0dHJpYnV0ZXMuZW5jb2RpbmdUeXBlKCkpOwotICAg
IH0KLQotICAgIHJlcXVlc3Quc2V0SFRUUEJvZHkoZGF0YS5nZXQoKSk7Ci19Ci0KLXZvaWQgV01M
R29FbGVtZW50OjpwcmVwYXJlR0VUUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IEtVUkwmIHVybCkKLXsKLSAgICByZXF1ZXN0LnNldEhUVFBNZXRob2QoIkdFVCIpOwotCi0g
ICAgLy8gRXZlbnR1YWxseSBkaXNwbGF5IGVycm9yIG1lc3NhZ2U/Ci0gICAgaWYgKG1fZm9ybUF0
dHJpYnV0ZXMuaXNNdWx0aVBhcnRGb3JtKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIFJlZlB0
cjxGb3JtRGF0YT4gZGF0YSA9IGNyZWF0ZUZvcm1EYXRhKENTdHJpbmcoKSk7Ci0KLSAgICBLVVJM
IHJlbW90ZVVSTCh1cmwpOwotICAgIHJlbW90ZVVSTC5zZXRRdWVyeShkYXRhLT5mbGF0dGVuVG9T
dHJpbmcoKSk7Ci0gICAgcmVxdWVzdC5zZXRVUkwocmVtb3RlVVJMKTsKLX0KLQotUGFzc1JlZlB0
cjxGb3JtRGF0YT4gV01MR29FbGVtZW50OjpjcmVhdGVGb3JtRGF0YShjb25zdCBDU3RyaW5nJiBi
b3VuZGFyeSkKLXsKLSAgICBDU3RyaW5nIGtleTsKLSAgICBDU3RyaW5nIHZhbHVlOwotCi0gICAg
VmVjdG9yPGNoYXI+IGVuY29kZWREYXRhOwotICAgIFRleHRFbmNvZGluZyBlbmNvZGluZyA9IEZv
cm1EYXRhQnVpbGRlcjo6ZW5jb2RpbmdGcm9tQWNjZXB0Q2hhcnNldChtX2Zvcm1BdHRyaWJ1dGVz
LmFjY2VwdENoYXJzZXQoKSwgZG9jdW1lbnQoKSkuZW5jb2RpbmdGb3JGb3JtU3VibWlzc2lvbigp
OwotCi0gICAgVmVjdG9yPFdNTFBvc3RmaWVsZEVsZW1lbnQqPjo6aXRlcmF0b3IgaXQgPSBtX3Bv
c3RmaWVsZEVsZW1lbnRzLmJlZ2luKCk7Ci0gICAgVmVjdG9yPFdNTFBvc3RmaWVsZEVsZW1lbnQq
Pjo6aXRlcmF0b3IgZW5kID0gbV9wb3N0ZmllbGRFbGVtZW50cy5lbmQoKTsKLQotICAgIFJlZlB0
cjxGb3JtRGF0YT4gcmVzdWx0ID0gRm9ybURhdGE6OmNyZWF0ZSgpOwotICAgIGZvciAoOyBpdCAh
PSBlbmQ7ICsraXQpIHsKLSAgICAgICAgKCppdCktPmVuY29kZURhdGEoZW5jb2RpbmcsIGtleSwg
dmFsdWUpOwotCi0gICAgICAgIGlmIChtX2Zvcm1BdHRyaWJ1dGVzLmlzTXVsdGlQYXJ0Rm9ybSgp
KSB7Ci0gICAgICAgICAgICBWZWN0b3I8Y2hhcj4gaGVhZGVyOwotICAgICAgICAgICAgRm9ybURh
dGFCdWlsZGVyOjpiZWdpbk11bHRpUGFydEhlYWRlcihoZWFkZXIsIGJvdW5kYXJ5LCBrZXkpOwot
ICAgICAgICAgICAgRm9ybURhdGFCdWlsZGVyOjpmaW5pc2hNdWx0aVBhcnRIZWFkZXIoaGVhZGVy
KTsKLSAgICAgICAgICAgIHJlc3VsdC0+YXBwZW5kRGF0YShoZWFkZXIuZGF0YSgpLCBoZWFkZXIu
c2l6ZSgpKTsKLQotICAgICAgICAgICAgaWYgKHNpemVfdCBkYXRhU2l6ZSA9IHZhbHVlLmxlbmd0
aCgpKQotICAgICAgICAgICAgICAgIHJlc3VsdC0+YXBwZW5kRGF0YSh2YWx1ZS5kYXRhKCksIGRh
dGFTaXplKTsKLQotICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmREYXRhKCJcclxuIiwgMik7Ci0g
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgRm9ybURhdGFCdWlsZGVyOjphZGRLZXlWYWx1ZVBh
aXJBc0Zvcm1EYXRhKGVuY29kZWREYXRhLCBrZXksIHZhbHVlKTsKLSAgICB9Ci0KLSAgICBpZiAo
bV9mb3JtQXR0cmlidXRlcy5pc011bHRpUGFydEZvcm0oKSkKLSAgICAgICAgRm9ybURhdGFCdWls
ZGVyOjphZGRCb3VuZGFyeVRvTXVsdGlQYXJ0SGVhZGVyKGVuY29kZWREYXRhLCBib3VuZGFyeSwg
dHJ1ZSk7Ci0KLSAgICByZXN1bHQtPmFwcGVuZERhdGEoZW5jb2RlZERhdGEuZGF0YSgpLCBlbmNv
ZGVkRGF0YS5zaXplKCkpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLX0KLQotI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MR29FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvd21sL1dNTEdvRWxlbWVudC5oCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJj
ZS9XZWJDb3JlL3dtbC9XTUxHb0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1OSArMCww
IEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBX
TUxHb0VsZW1lbnRfaAotI2RlZmluZSBXTUxHb0VsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkK
LSNpbmNsdWRlICJGb3JtU3VibWlzc2lvbi5oIgotI2luY2x1ZGUgIldNTFRhc2tFbGVtZW50Lmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRm9ybURhdGE7Ci1jbGFzcyBSZXNvdXJj
ZVJlcXVlc3Q7Ci1jbGFzcyBXTUxQb3N0ZmllbGRFbGVtZW50OwotCi1jbGFzcyBXTUxHb0VsZW1l
bnQgOiBwdWJsaWMgV01MVGFza0VsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFdNTEdvRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCop
OwotCi0gICAgV01MR29FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50Kik7Ci0KLSAgICB2b2lkIHJlZ2lzdGVyUG9zdGZpZWxkRWxlbWVudChXTUxQb3N0ZmllbGRF
bGVtZW50Kik7Ci0gICAgdm9pZCBkZXJlZ2lzdGVyUG9zdGZpZWxkRWxlbWVudChXTUxQb3N0Zmll
bGRFbGVtZW50Kik7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0
cmlidXRlKik7Ci0gICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVUYXNrKCk7Ci0KLXByaXZhdGU6Ci0g
ICAgdm9pZCBwcmVwYXJlUE9TVFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiwgYm9vbCBpblNhbWVE
ZWNrLCBjb25zdCBTdHJpbmcmIGNhY2hlQ29udHJvbCk7Ci0gICAgdm9pZCBwcmVwYXJlR0VUUmVx
dWVzdChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBLVVJMJik7Ci0KLSAgICBQYXNzUmVmUHRyPEZv
cm1EYXRhPiBjcmVhdGVGb3JtRGF0YShjb25zdCBDU3RyaW5nJiBib3VuZGFyeSk7Ci0KLSAgICBW
ZWN0b3I8V01MUG9zdGZpZWxkRWxlbWVudCo+IG1fcG9zdGZpZWxkRWxlbWVudHM7Ci0gICAgRm9y
bVN1Ym1pc3Npb246OkF0dHJpYnV0ZXMgbV9mb3JtQXR0cmlidXRlczsKLX07Ci0KLX0KLQotI2Vu
ZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbWFnZUVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbWFnZUVsZW1lbnQuY3BwCShy
ZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbWFnZUVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1NiArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykg
MjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50
b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
LSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdN
TCkKLSNpbmNsdWRlICJXTUxJbWFnZUVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkF0dHJpYnV0ZS5o
IgotI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKLSNpbmNsdWRlICJDU1NWYWx1ZUtleXdv
cmRzLmgiCi0jaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
LSNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jaW5jbHVk
ZSAiV01MVmFyaWFibGVzLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNw
YWNlIFdNTE5hbWVzOwotCi1XTUxJbWFnZUVsZW1lbnQ6OldNTEltYWdlRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQotICAgIDogV01MRWxlbWVudCh0
YWdOYW1lLCBkb2MpCi0gICAgLCBtX2ltYWdlTG9hZGVyKHRoaXMpCi0gICAgLCBtX3VzZUZhbGxi
YWNrQXR0cmlidXRlKGZhbHNlKQotewotfQotCi1QYXNzUmVmUHRyPFdNTEltYWdlRWxlbWVudD4g
V01MSW1hZ2VFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MSW1hZ2VFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Ci19Ci0KLVdNTEltYWdlRWxlbWVudDo6fldNTEltYWdl
RWxlbWVudCgpCi17Ci19Ci0KLWJvb2wgV01MSW1hZ2VFbGVtZW50OjptYXBUb0VudHJ5KGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBNYXBwZWRBdHRyaWJ1dGVFbnRyeSYgcmVzdWx0KSBj
b25zdAotewotICAgIGlmIChhdHRyTmFtZSA9PSBIVE1MTmFtZXM6OndpZHRoQXR0ciB8fAotICAg
ICAgICBhdHRyTmFtZSA9PSBIVE1MTmFtZXM6OmhlaWdodEF0dHIgfHwKLSAgICAgICAgYXR0ck5h
bWUgPT0gSFRNTE5hbWVzOjp2c3BhY2VBdHRyIHx8Ci0gICAgICAgIGF0dHJOYW1lID09IEhUTUxO
YW1lczo6aHNwYWNlQXR0cikgewotICAgICAgICByZXN1bHQgPSBlVW5pdmVyc2FsOwotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgaWYgKGF0dHJOYW1lID09IEhUTUxOYW1lczo6
YWxpZ25BdHRyKSB7Ci0gICAgICAgIHJlc3VsdCA9IGVSZXBsYWNlZDsKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiBXTUxFbGVtZW50OjptYXBUb0VudHJ5KGF0dHJO
YW1lLCByZXN1bHQpOwotfQotCi12b2lkIFdNTEltYWdlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUoQXR0cmlidXRlKiBhdHRyKQotewotICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJO
YW1lID0gYXR0ci0+bmFtZSgpOwotCi0gICAgaWYgKGF0dHJOYW1lID09IEhUTUxOYW1lczo6YWx0
QXR0cikgewotICAgICAgICBpZiAocmVuZGVyZXIoKSAmJiByZW5kZXJlcigpLT5pc0ltYWdlKCkp
Ci0gICAgICAgICAgICB0b1JlbmRlckltYWdlKHJlbmRlcmVyKCkpLT51cGRhdGVBbHRUZXh0KCk7
Ci0gICAgfSBlbHNlIGlmIChhdHRyTmFtZSA9PSBIVE1MTmFtZXM6OnNyY0F0dHIgfHwgYXR0ck5h
bWUgPT0gbG9jYWxzcmNBdHRyKQotICAgICAgICBtX2ltYWdlTG9hZGVyLnVwZGF0ZUZyb21FbGVt
ZW50SWdub3JpbmdQcmV2aW91c0Vycm9yKCk7Ci0gICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gSFRN
TE5hbWVzOjp3aWR0aEF0dHIpCi0gICAgICAgIGFkZENTU0xlbmd0aChhdHRyLCBDU1NQcm9wZXJ0
eVdpZHRoLCBhdHRyLT52YWx1ZSgpKTsKLSAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBIVE1MTmFt
ZXM6OmhlaWdodEF0dHIpCi0gICAgICAgIGFkZENTU0xlbmd0aChhdHRyLCBDU1NQcm9wZXJ0eUhl
aWdodCwgYXR0ci0+dmFsdWUoKSk7Ci0gICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gSFRNTE5hbWVz
Ojp2c3BhY2VBdHRyKSB7Ci0gICAgICAgIGFkZENTU0xlbmd0aChhdHRyLCBDU1NQcm9wZXJ0eU1h
cmdpblRvcCwgYXR0ci0+dmFsdWUoKSk7Ci0gICAgICAgIGFkZENTU0xlbmd0aChhdHRyLCBDU1NQ
cm9wZXJ0eU1hcmdpbkJvdHRvbSwgYXR0ci0+dmFsdWUoKSk7Ci0gICAgfSBlbHNlIGlmIChhdHRy
TmFtZSA9PSBIVE1MTmFtZXM6OmhzcGFjZUF0dHIpIHsKLSAgICAgICAgYWRkQ1NTTGVuZ3RoKGF0
dHIsIENTU1Byb3BlcnR5TWFyZ2luTGVmdCwgYXR0ci0+dmFsdWUoKSk7Ci0gICAgICAgIGFkZENT
U0xlbmd0aChhdHRyLCBDU1NQcm9wZXJ0eU1hcmdpblJpZ2h0LCBhdHRyLT52YWx1ZSgpKTsKLSAg
ICB9IGVsc2UgaWYgKGF0dHJOYW1lID09IEhUTUxOYW1lczo6YWxpZ25BdHRyKQotICAgICAgICBI
VE1MRWxlbWVudDo6YWRkSFRNTEFsaWdubWVudFRvU3R5bGVkRWxlbWVudCh0aGlzLCBhdHRyKTsK
LSAgICBlbHNlCi0gICAgICAgIFdNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIp
OwotfQotCi12b2lkIFdNTEltYWdlRWxlbWVudDo6YXR0YWNoKCkKLXsKLSAgICBXTUxFbGVtZW50
OjphdHRhY2goKTsKLQotICAgIGlmIChyZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPmlzSW1hZ2Uo
KSAmJiBtX2ltYWdlTG9hZGVyLmhhdmVGaXJlZEJlZm9yZUxvYWRFdmVudCgpKSB7Ci0gICAgICAg
IFJlbmRlckltYWdlKiBpbWFnZU9iaiA9IHRvUmVuZGVySW1hZ2UocmVuZGVyZXIoKSk7Ci0gICAg
ICAgIFJlbmRlckltYWdlUmVzb3VyY2UqIHJlbmRlckltYWdlUmVzb3VyY2UgPSBpbWFnZU9iai0+
aW1hZ2VSZXNvdXJjZSgpOwotICAgICAgICBpZiAocmVuZGVySW1hZ2VSZXNvdXJjZS0+aGFzSW1h
Z2UoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgcmVuZGVySW1hZ2VSZXNvdXJjZS0+
c2V0Q2FjaGVkSW1hZ2UobV9pbWFnZUxvYWRlci5pbWFnZSgpKTsKLSAgICAgICAgCi0gICAgICAg
IC8vIElmIHdlIGhhdmUgbm8gaW1hZ2UgYXQgYWxsIGJlY2F1c2Ugd2UgaGF2ZSBubyBzcmMgYXR0
cmlidXRlLCBzZXQKLSAgICAgICAgLy8gaW1hZ2UgaGVpZ2h0IGFuZCB3aWR0aCBmb3IgdGhlIGFs
dCB0ZXh0IGluc3RlYWQuCi0gICAgICAgIGlmICghbV9pbWFnZUxvYWRlci5pbWFnZSgpICYmICFp
bWFnZU9iai0+Y2FjaGVkSW1hZ2UoKSkKLSAgICAgICAgICAgIGltYWdlT2JqLT5zZXRJbWFnZVNp
emVGb3JBbHRUZXh0KCk7Ci0gICAgfQotfQotCi1SZW5kZXJPYmplY3QqIFdNTEltYWdlRWxlbWVu
dDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCi17Ci0g
ICAgUmVuZGVySW1hZ2UqIGltYWdlID0gbmV3IChhcmVuYSkgUmVuZGVySW1hZ2UodGhpcyk7Ci0g
ICAgaW1hZ2UtPnNldEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VSZXNvdXJjZTo6Y3JlYXRlKCkp
OwotICAgIHJldHVybiBpbWFnZTsKLX0KLQotdm9pZCBXTUxJbWFnZUVsZW1lbnQ6Omluc2VydGVk
SW50b0RvY3VtZW50KCkKLXsKLSAgICAvLyBJZiB3ZSBoYXZlIGJlZW4gaW5zZXJ0ZWQgZnJvbSBh
IHJlbmRlcmVyLWxlc3MgZG9jdW1lbnQsCi0gICAgLy8gb3VyIGxvYWRlciBtYXkgaGF2ZSBub3Qg
ZmV0Y2hlZCB0aGUgaW1hZ2UsIHNvIGRvIGl0IG5vdy4KLSAgICBpZiAoIW1faW1hZ2VMb2FkZXIu
aW1hZ2UoKSkKLSAgICAgICAgbV9pbWFnZUxvYWRlci51cGRhdGVGcm9tRWxlbWVudCgpOwotCi0g
ICAgV01MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLX0KLQotYm9vbCBXTUxJbWFn
ZUVsZW1lbnQ6OmlzVVJMQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikgY29uc3QKLXsKLSAgICBy
ZXR1cm4gYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6c3JjQXR0cgotICAgICAgICAgICB8fCBh
dHRyLT5uYW1lKCkgPT0gbG9jYWxzcmNBdHRyOwotfQotCi1jb25zdCBRdWFsaWZpZWROYW1lJiBX
TUxJbWFnZUVsZW1lbnQ6OmltYWdlU291cmNlQXR0cmlidXRlTmFtZSgpIGNvbnN0Ci17Ci0gICAg
Ly8gU3BlYzogQW55ICdsb2NhbHNyYycgcGFyYW1ldGVyIHNwZWNpZmllZCB0YWtlcyBwcmVjZWRl
bmNlIG92ZXIgdGhlIAotICAgIC8vIGltYWdlIHNwZWNpZmllZCBpbiB0aGUgc3JjIHBhcmFtZXRl
ci4KLSAgICBpZiAoaGFzQXR0cmlidXRlKGxvY2Fsc3JjQXR0cikgJiYgIW1fdXNlRmFsbGJhY2tB
dHRyaWJ1dGUpCi0gICAgICAgIHJldHVybiBsb2NhbHNyY0F0dHI7Ci0KLSAgICByZXR1cm4gSFRN
TE5hbWVzOjpzcmNBdHRyOwotfQotCi1TdHJpbmcgV01MSW1hZ2VFbGVtZW50OjphbHRUZXh0KCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gc3Vic3RpdHV0ZVZhcmlhYmxlUmVmZXJlbmNlcyhnZXRBdHRy
aWJ1dGUoSFRNTE5hbWVzOjphbHRBdHRyKSwgZG9jdW1lbnQoKSk7Ci19Ci0KLX0KLQotI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1hZ2VFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEltYWdlRWxlbWVudC5oCShyZXZpc2lvbiA4NTE2NikK
KysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbWFnZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMSw2MCArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8K
LQotI2lmbmRlZiBXTUxJbWFnZUVsZW1lbnRfaAotI2RlZmluZSBXTUxJbWFnZUVsZW1lbnRfaAot
Ci0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01M
SW1hZ2VMb2FkZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXTUxJbWFnZUVs
ZW1lbnQgOiBwdWJsaWMgV01MRWxlbWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8V01MSW1hZ2VFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Kik7Ci0KLSAgICBXTUxJbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqKTsKLSAgICB2aXJ0dWFsIH5XTUxJbWFnZUVsZW1lbnQoKTsKLQotICAgIHZpcnR1
YWwgYm9vbCBtYXBUb0VudHJ5KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBNYXBwZWRBdHRyaWJ1dGVF
bnRyeSYpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRy
aWJ1dGUqKTsKLQotICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKTsKLSAgICB2aXJ0dWFsIFJlbmRl
ck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwotCi0g
ICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0gICAgdmlydHVhbCBib29s
IGlzVVJMQXR0cmlidXRlKEF0dHJpYnV0ZSopIGNvbnN0OwotICAgIHZpcnR1YWwgY29uc3QgUXVh
bGlmaWVkTmFtZSYgaW1hZ2VTb3VyY2VBdHRyaWJ1dGVOYW1lKCkgY29uc3Q7Ci0KLSAgICBTdHJp
bmcgYWx0VGV4dCgpIGNvbnN0OwotCi0gICAgYm9vbCB1c2VGYWxsYmFja0F0dHJpYnV0ZSgpIHsg
cmV0dXJuIG1fdXNlRmFsbGJhY2tBdHRyaWJ1dGU7IH0KLSAgICB2b2lkIHNldFVzZUZhbGxiYWNr
QXR0cmlidXRlKGJvb2wgdmFsdWUpIHsgbV91c2VGYWxsYmFja0F0dHJpYnV0ZSA9IHZhbHVlOyB9
Ci0KLXByaXZhdGU6Ci0gICAgV01MSW1hZ2VMb2FkZXIgbV9pbWFnZUxvYWRlcjsKLSAgICBib29s
IG1fdXNlRmFsbGJhY2tBdHRyaWJ1dGU7Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1hZ2VMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3dtbC9XTUxJbWFnZUxvYWRlci5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysg
U291cmNlL1dlYkNvcmUvd21sL1dNTEltYWdlTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MSw3OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgot
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEltYWdl
TG9hZGVyLmgiCi0KLSNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgotI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgotI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKLSNpbmNsdWRlICJXTUxJbWFnZUVs
ZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LXVzaW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKLQotV01MSW1hZ2VMb2FkZXI6OldNTEltYWdlTG9h
ZGVyKFdNTEltYWdlRWxlbWVudCogZWxlbWVudCkKLSAgICA6IEltYWdlTG9hZGVyKGVsZW1lbnQp
Ci17Ci19Ci0KLVdNTEltYWdlTG9hZGVyOjp+V01MSW1hZ2VMb2FkZXIoKQotewotfQotCi12b2lk
IFdNTEltYWdlTG9hZGVyOjpkaXNwYXRjaExvYWRFdmVudCgpCi17Ci0gICAgLy8gV01MIGRvZXNu
J3QgZmlyZSBhbnkgZXZlbnRzLgotfQotCi1TdHJpbmcgV01MSW1hZ2VMb2FkZXI6OnNvdXJjZVVS
SShjb25zdCBBdG9taWNTdHJpbmcmIGF0dHIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEtVUkwoZWxl
bWVudCgpLT5iYXNlVVJJKCksIHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhhdHRy
KSk7Ci19Ci0KLXZvaWQgV01MSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291
cmNlKiBpbWFnZSkKLXsKLSAgICBJbWFnZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQoaW1hZ2UpOwot
Ci0gICAgaWYgKCFpbWFnZS0+ZXJyb3JPY2N1cnJlZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBXTUxJbWFnZUVsZW1lbnQqIGltYWdlRWxlbWVudCA9IHN0YXRpY19jYXN0PFdNTEltYWdlRWxl
bWVudCo+KGVsZW1lbnQoKSk7Ci0gICAgQVNTRVJUKGltYWdlRWxlbWVudCk7Ci0KLSAgICAvLyBM
b2FkaW5nIGJvdGggJ2xvY2Fsc3JjJyBhbmQgJ3NyYycgZmFpbGVkLiBJZ25vcmUgdGhpcyBpbWFn
ZS4KLSAgICBpZiAoaW1hZ2VFbGVtZW50LT51c2VGYWxsYmFja0F0dHJpYnV0ZSgpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBpZiAoIWltYWdlRWxlbWVudC0+aGFzQXR0cmlidXRlKGxvY2Fsc3Jj
QXR0cikgJiYgIWltYWdlRWxlbWVudC0+aGFzQXR0cmlidXRlKEhUTUxOYW1lczo6c3JjQXR0cikp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGltYWdlRWxlbWVudC0+c2V0VXNlRmFsbGJhY2tBdHRy
aWJ1dGUodHJ1ZSk7Ci0gICAgdXBkYXRlRnJvbUVsZW1lbnRJZ25vcmluZ1ByZXZpb3VzRXJyb3Io
KTsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbWFnZUxv
YWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbWFnZUxvYWRlci5o
CShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbWFnZUxvYWRlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAy
MDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRv
cmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
Ci0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTEltYWdlTG9hZGVyX2gKLSNkZWZpbmUgV01M
SW1hZ2VMb2FkZXJfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJJbWFnZUxvYWRlci5o
IgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdNTEltYWdlRWxlbWVudDsKLQotY2xh
c3MgV01MSW1hZ2VMb2FkZXIgOiBwdWJsaWMgSW1hZ2VMb2FkZXIgewotcHVibGljOgotICAgIFdN
TEltYWdlTG9hZGVyKFdNTEltYWdlRWxlbWVudCopOwotICAgIHZpcnR1YWwgfldNTEltYWdlTG9h
ZGVyKCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hMb2FkRXZlbnQoKTsKLSAgICB2aXJ0
dWFsIFN0cmluZyBzb3VyY2VVUkkoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7Ci0KLSAgICB2
aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqKTsKLX07Ci0KLX0KLQot
I2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1lbnQuY3Bw
CShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUyNCArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAo
QykgMjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0
cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYg
RU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxJbnB1dEVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkF0
dHJpYnV0ZS5oIgotI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJGb3JtRGF0YUxp
c3QuaCIKLSNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1
ZGUgIktleWJvYXJkRXZlbnQuaCIKLSNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxp
bmUuaCIKLSNpbmNsdWRlICJUZXh0RXZlbnQuaCIKLSNpbmNsdWRlICJXTUxEb2N1bWVudC5oIgot
I2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jaW5jbHVkZSAiV01MUGFnZVN0YXRlLmgiCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotV01MSW5wdXRFbGVtZW50OjpXTUxJbnB1dEVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTEZvcm1Db250
cm9sRWxlbWVudCh0YWdOYW1lLCBkb2MpCi0gICAgLCBtX2lzUGFzc3dvcmRGaWVsZChmYWxzZSkK
LSAgICAsIG1faXNFbXB0eU9rKGZhbHNlKQotICAgICwgbV93YXNDaGFuZ2VkU2luY2VMYXN0Q2hh
bmdlRXZlbnQoZmFsc2UpCi0gICAgLCBtX251bU9mQ2hhcnNBbGxvd2VkQnlNYXNrKDApCi17Ci19
Ci0KLVBhc3NSZWZQdHI8V01MSW5wdXRFbGVtZW50PiBXTUxJbnB1dEVsZW1lbnQ6OmNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxJbnB1dEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsK
LX0KLQotV01MSW5wdXRFbGVtZW50Ojp+V01MSW5wdXRFbGVtZW50KCkKLXsKLSAgICBpZiAobV9p
c1Bhc3N3b3JkRmllbGQpCi0gICAgICAgIGRvY3VtZW50KCktPnVucmVnaXN0ZXJGb3JEb2N1bWVu
dEFjdGl2YXRpb25DYWxsYmFja3ModGhpcyk7Ci19Ci0KLXN0YXRpYyBjb25zdCBBdG9taWNTdHJp
bmcmIGZvcm1hdENvZGVzKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmlu
ZywgY29kZXMsICgiQWFOblh4TW0iKSk7Ci0gICAgcmV0dXJuIGNvZGVzOwotfQotCi1ib29sIFdN
TElucHV0RWxlbWVudDo6aXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3QK
LXsKLSAgICByZXR1cm4gV01MRm9ybUNvbnRyb2xFbGVtZW50Ojppc0ZvY3VzYWJsZSgpOwotfQot
Ci1ib29sIFdNTElucHV0RWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIFdNTEZvcm1Db250cm9sRWxlbWVudDo6aXNGb2N1c2FibGUoKTsKLX0KLQotdm9pZCBX
TUxJbnB1dEVsZW1lbnQ6OmRpc3BhdGNoRm9jdXNFdmVudCgpCi17Ci0gICAgSW5wdXRFbGVtZW50
OjpkaXNwYXRjaEZvY3VzRXZlbnQodGhpcywgdGhpcyk7Ci0gICAgV01MRWxlbWVudDo6ZGlzcGF0
Y2hGb2N1c0V2ZW50KCk7Ci19Ci0KLXZvaWQgV01MSW5wdXRFbGVtZW50OjpkaXNwYXRjaEJsdXJF
dmVudCgpCi17Ci0gICAgLy8gRmlyc3RseSBjaGVjayBpZiBpdCBpcyBhbGxvd2VkIHRvIGxlYXZl
IHRoaXMgaW5wdXQgZmllbGQKLSAgICBTdHJpbmcgdmFsID0gdmFsdWUoKTsKLSAgICBpZiAoKCFt
X2lzRW1wdHlPayAmJiB2YWwuaXNFbXB0eSgpKSB8fCAhaXNDb25mb3JtZWRUb0lucHV0TWFzayh2
YWwpKSB7Ci0gICAgICAgIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZSh0cnVlKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIC8vIHVwZGF0ZSB0aGUgbmFtZSB2YXJpYWJsZSBvZiBXTUwgaW5w
dXQgZWxtZW5ldAotICAgIFN0cmluZyBuYW1lVmFyaWFibGUgPSBmb3JtQ29udHJvbE5hbWUoKTsK
LSAgICBpZiAoIW5hbWVWYXJpYWJsZS5pc0VtcHR5KCkpCi0gICAgICAgIHdtbFBhZ2VTdGF0ZUZv
ckRvY3VtZW50KGRvY3VtZW50KCkpLT5zdG9yZVZhcmlhYmxlKG5hbWVWYXJpYWJsZSwgdmFsKTsg
Ci0KLSAgICBJbnB1dEVsZW1lbnQ6OmRpc3BhdGNoQmx1ckV2ZW50KHRoaXMsIHRoaXMpOwotICAg
IFdNTEVsZW1lbnQ6OmRpc3BhdGNoQmx1ckV2ZW50KCk7Ci19Ci0KLXZvaWQgV01MSW5wdXRFbGVt
ZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2UoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24p
Ci17Ci0gICAgSW5wdXRFbGVtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2UobV9kYXRhLCB0aGlz
LCB0aGlzLCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24pOwotfQotCi12b2lkIFdNTElucHV0RWxl
bWVudDo6YWJvdXRUb1VubG9hZCgpCi17Ci0gICAgSW5wdXRFbGVtZW50OjphYm91dFRvVW5sb2Fk
KHRoaXMsIHRoaXMpOwotfQotCi1pbnQgV01MSW5wdXRFbGVtZW50OjpzaXplKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbV9kYXRhLnNpemUoKTsKLX0KLQotY29uc3QgQXRvbWljU3RyaW5nJiBXTUxJ
bnB1dEVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0Ci17Ci0gICAgLy8gbmVlZHMgdG8g
YmUgbG93ZXJjYXNlIGFjY29yZGluZyB0byBET00gc3BlYwotICAgIGlmIChtX2lzUGFzc3dvcmRG
aWVsZCkgewotICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywg
cGFzc3dvcmQsICgicGFzc3dvcmQiKSk7Ci0gICAgICAgIHJldHVybiBwYXNzd29yZDsKLSAgICB9
Ci0KLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgdGV4dCwgKCJ0
ZXh0IikpOwotICAgIHJldHVybiB0ZXh0OwotfQotCi1jb25zdCBBdG9taWNTdHJpbmcmIFdNTElu
cHV0RWxlbWVudDo6Zm9ybUNvbnRyb2xOYW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kYXRh
Lm5hbWUoKTsKLX0KLQotY29uc3QgU3RyaW5nJiBXTUxJbnB1dEVsZW1lbnQ6OnN1Z2dlc3RlZFZh
bHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kYXRhLnN1Z2dlc3RlZFZhbHVlKCk7Ci19Ci0K
LVN0cmluZyBXTUxJbnB1dEVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKLXsKLSAgICBTdHJpbmcgdmFs
dWUgPSBtX2RhdGEudmFsdWUoKTsKLSAgICBpZiAodmFsdWUuaXNOdWxsKCkpCi0gICAgICAgIHZh
bHVlID0gY29uc3RyYWluVmFsdWUoZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6dmFsdWVBdHRyKSk7
Ci0KLSAgICByZXR1cm4gdmFsdWU7Ci19Ci0KLXZvaWQgV01MSW5wdXRFbGVtZW50OjpzZXRWYWx1
ZShjb25zdCBTdHJpbmcmIHZhbHVlLCBib29sKQotewotICAgIHNldEZvcm1Db250cm9sVmFsdWVN
YXRjaGVzUmVuZGVyZXIoZmFsc2UpOwotICAgIG1fZGF0YS5zZXRWYWx1ZShjb25zdHJhaW5WYWx1
ZSh2YWx1ZSkpOwotICAgIGlmIChpbkRvY3VtZW50KCkpCi0gICAgICAgIGRvY3VtZW50KCktPnVw
ZGF0ZVN0eWxlSWZOZWVkZWQoKTsKLSAgICBpZiAocmVuZGVyZXIoKSkKLSAgICAgICAgcmVuZGVy
ZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKLSAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7Ci0K
LSAgICB1bnNpZ25lZCBtYXggPSBtX2RhdGEudmFsdWUoKS5sZW5ndGgoKTsKLSAgICBpZiAoZG9j
dW1lbnQoKS0+Zm9jdXNlZE5vZGUoKSA9PSB0aGlzKQotICAgICAgICBJbnB1dEVsZW1lbnQ6OnVw
ZGF0ZVNlbGVjdGlvblJhbmdlKHRoaXMsIHRoaXMsIG1heCwgbWF4KTsKLSAgICBlbHNlCi0gICAg
ICAgIGNhY2hlU2VsZWN0aW9uKG1heCwgbWF4KTsKLQotICAgIElucHV0RWxlbWVudDo6bm90aWZ5
Rm9ybVN0YXRlQ2hhbmdlZCh0aGlzKTsKLX0KLQotdm9pZCBXTUxJbnB1dEVsZW1lbnQ6OnNldFZh
bHVlRm9yVXNlcihjb25zdCBTdHJpbmcmKQotewotICAgIC8qIElucHV0RWxlbWVudCBjbGFzcyBk
ZWZpbmVzIHB1cmUgdmlydHVhbCBmdW5jdGlvbiAnc2V0VmFsdWVGb3JVc2VyJywgd2hpY2ggCi0g
ICAgICAgd2lsbCBiZSB1c2VmdWwgb25seSBpbiBIVE1MSW5wdXRFbGVtZW50LiBEbyBub3RoaW5n
IGluICdXTUxJbnB1dEVsZW1lbnQnLgotICAgICAqLwotfQotCi12b2lkIFdNTElucHV0RWxlbWVu
dDo6c2V0VmFsdWVGcm9tUmVuZGVyZXIoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICBJbnB1
dEVsZW1lbnQ6OnNldFZhbHVlRnJvbVJlbmRlcmVyKG1fZGF0YSwgdGhpcywgdGhpcywgdmFsdWUp
OwotfQotCi1ib29sIFdNTElucHV0RWxlbWVudDo6d2FzQ2hhbmdlZFNpbmNlTGFzdEZvcm1Db250
cm9sQ2hhbmdlRXZlbnQoKSBjb25zdAotewotICAgIHJldHVybiBtX3dhc0NoYW5nZWRTaW5jZUxh
c3RDaGFuZ2VFdmVudDsKLX0KLQotdm9pZCBXTUxJbnB1dEVsZW1lbnQ6OnNldENoYW5nZWRTaW5j
ZUxhc3RGb3JtQ29udHJvbENoYW5nZUV2ZW50KGJvb2wgY2hhbmdlZCkKLXsKLSAgICBtX3dhc0No
YW5nZWRTaW5jZUxhc3RDaGFuZ2VFdmVudCA9IGNoYW5nZWQ7Ci19Ci0KLWJvb2wgV01MSW5wdXRF
bGVtZW50OjpzYXZlRm9ybUNvbnRyb2xTdGF0ZShTdHJpbmcmIHJlc3VsdCkgY29uc3QKLXsKLSAg
ICBpZiAobV9pc1Bhc3N3b3JkRmllbGQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJl
c3VsdCA9IHZhbHVlKCk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgV01MSW5wdXRFbGVt
ZW50OjpyZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZShjb25zdCBTdHJpbmcmIHN0YXRlKQotewotICAg
IEFTU0VSVCghbV9pc1Bhc3N3b3JkRmllbGQpOyAvLyBzaG91bGQgbmV2ZXIgc2F2ZS9yZXN0b3Jl
IHBhc3N3b3JkIGZpZWxkcwotICAgIHNldFZhbHVlKHN0YXRlKTsKLX0KLQotdm9pZCBXTUxJbnB1
dEVsZW1lbnQ6OnNlbGVjdCgpCi17Ci0gICAgaWYgKFJlbmRlclRleHRDb250cm9sKiByID0gdG9S
ZW5kZXJUZXh0Q29udHJvbChyZW5kZXJlcigpKSkKLSAgICAgICAgc2V0U2VsZWN0aW9uUmFuZ2Uo
dGhpcywgMCwgci0+dGV4dCgpLmxlbmd0aCgpKTsKLX0KLQotdm9pZCBXTUxJbnB1dEVsZW1lbnQ6
OmFjY2Vzc0tleUFjdGlvbihib29sKQotewotICAgIC8vIHNob3VsZCBuZXZlciByZXN0b3JlIHBy
ZXZpb3VzIHNlbGVjdGlvbiBoZXJlCi0gICAgZm9jdXMoZmFsc2UpOwotfQotCi12b2lkIFdNTElu
cHV0RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQotewotICAg
IGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpuYW1lQXR0cikKLSAgICAgICAgbV9kYXRh
LnNldE5hbWUocGFyc2VWYWx1ZUZvcmJpZGRpbmdWYXJpYWJsZVJlZmVyZW5jZXMoYXR0ci0+dmFs
dWUoKSkpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OnR5cGVBdHRy
KSB7Ci0gICAgICAgIFN0cmluZyB0eXBlID0gcGFyc2VWYWx1ZUZvcmJpZGRpbmdWYXJpYWJsZVJl
ZmVyZW5jZXMoYXR0ci0+dmFsdWUoKSk7Ci0gICAgICAgIG1faXNQYXNzd29yZEZpZWxkID0gKHR5
cGUgPT0gInBhc3N3b3JkIik7Ci0gICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5h
bWVzOjp2YWx1ZUF0dHIpIHsKLSAgICAgICAgLy8gV2Ugb25seSBuZWVkIHRvIHNldENoYW5nZWQg
aWYgdGhlIGZvcm0gaXMgbG9va2luZyBhdCB0aGUgZGVmYXVsdCB2YWx1ZSByaWdodCBub3cuCi0g
ICAgICAgIGlmIChtX2RhdGEudmFsdWUoKS5pc051bGwoKSkKLSAgICAgICAgICAgIHNldE5lZWRz
U3R5bGVSZWNhbGMoKTsKLSAgICAgICAgc2V0Rm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5kZXJl
cihmYWxzZSk7Ci0gICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjptYXhs
ZW5ndGhBdHRyKQotICAgICAgICBJbnB1dEVsZW1lbnQ6OnBhcnNlTWF4TGVuZ3RoQXR0cmlidXRl
KG1fZGF0YSwgdGhpcywgdGhpcywgYXR0cik7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09
IEhUTUxOYW1lczo6c2l6ZUF0dHIpCi0gICAgICAgIElucHV0RWxlbWVudDo6cGFyc2VTaXplQXR0
cmlidXRlKG1fZGF0YSwgdGhpcywgYXR0cik7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09
IFdNTE5hbWVzOjpmb3JtYXRBdHRyKQotICAgICAgICBtX2Zvcm1hdE1hc2sgPSB2YWxpZGF0ZUlu
cHV0TWFzayhwYXJzZVZhbHVlRm9yYmlkZGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhhdHRyLT52YWx1
ZSgpKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFdNTE5hbWVzOjplbXB0eW9rQXR0
cikKLSAgICAgICAgbV9pc0VtcHR5T2sgPSAoYXR0ci0+dmFsdWUoKSA9PSAidHJ1ZSIpOwotICAg
IGVsc2UKLSAgICAgICAgV01MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Ci0K
LSAgICAvLyBGSVhNRTogSGFuZGxlICdhY2Nlc3NrZXknIGF0dHJpYnV0ZQotICAgIC8vIEZJWE1F
OiBIYW5kbGUgJ3RhYmluZGV4JyBhdHRyaWJ1dGUKLSAgICAvLyBGSVhNRTogSGFuZGxlICd0aXRs
ZScgYXR0cmlidXRlCi19Ci0KLXZvaWQgV01MSW5wdXRFbGVtZW50Ojpjb3B5Tm9uQXR0cmlidXRl
UHJvcGVydGllcyhjb25zdCBFbGVtZW50KiBzb3VyY2UpCi17Ci0gICAgY29uc3QgV01MSW5wdXRF
bGVtZW50KiBzb3VyY2VFbGVtZW50ID0gc3RhdGljX2Nhc3Q8Y29uc3QgV01MSW5wdXRFbGVtZW50
Kj4oc291cmNlKTsKLSAgICBtX2RhdGEuc2V0VmFsdWUoc291cmNlRWxlbWVudC0+bV9kYXRhLnZh
bHVlKCkpOwotICAgIFdNTEVsZW1lbnQ6OmNvcHlOb25BdHRyaWJ1dGVQcm9wZXJ0aWVzKHNvdXJj
ZSk7Ci19Ci0KLVJlbmRlck9iamVjdCogV01MSW5wdXRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihS
ZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikKLXsKLSAgICByZXR1cm4gbmV3IChhcmVu
YSkgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lKHRoaXMsIGZhbHNlKTsKLX0KLQotdm9pZCBX
TUxJbnB1dEVsZW1lbnQ6OmRldGFjaCgpCi17Ci0gICAgV01MRWxlbWVudDo6ZGV0YWNoKCk7Ci0g
ICAgc2V0Rm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5kZXJlcihmYWxzZSk7Ci19Ci0gICAgCi1i
b29sIFdNTElucHV0RWxlbWVudDo6YXBwZW5kRm9ybURhdGEoRm9ybURhdGFMaXN0JiBlbmNvZGlu
ZywgYm9vbCkKLXsKLSAgICBpZiAoZm9ybUNvbnRyb2xOYW1lKCkuaXNFbXB0eSgpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICBlbmNvZGluZy5hcHBlbmREYXRhKGZvcm1Db250cm9sTmFt
ZSgpLCB2YWx1ZSgpKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBXTUxJbnB1dEVsZW1l
bnQ6OnJlc2V0KCkKLXsKLSAgICBzZXRWYWx1ZShTdHJpbmcoKSk7Ci19Ci0KLXZvaWQgV01MSW5w
dXRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldnQpCi17Ci0gICAgYm9vbCBj
bGlja0RlZmF1bHRGb3JtQnV0dG9uID0gZmFsc2U7Ci0KLSAgICBpZiAoZXZ0LT50eXBlKCkgPT0g
ZXZlbnROYW1lcygpLnRleHRJbnB1dEV2ZW50ICYmIGV2dC0+aXNUZXh0RXZlbnQoKSkgewotICAg
ICAgICBUZXh0RXZlbnQqIHRleHRFdmVudCA9IHN0YXRpY19jYXN0PFRleHRFdmVudCo+KGV2dCk7
Ci0gICAgICAgIGlmICh0ZXh0RXZlbnQtPmRhdGEoKSA9PSAiXG4iKQotICAgICAgICAgICAgY2xp
Y2tEZWZhdWx0Rm9ybUJ1dHRvbiA9IHRydWU7Ci0gICAgICAgIGVsc2UgaWYgKHJlbmRlcmVyKCkg
JiYgIWlzQ29uZm9ybWVkVG9JbnB1dE1hc2sodGV4dEV2ZW50LT5kYXRhKClbMF0sIHRvUmVuZGVy
VGV4dENvbnRyb2wocmVuZGVyZXIoKSktPnRleHQoKS5sZW5ndGgoKSArIDEpKQotICAgICAgICAg
ICAgLy8gSWYgdGhlIGlucHV0ZWQgY2hhciBkb2Vzbid0IGNvbmZvcm0gdG8gdGhlIGlucHV0IG1h
c2ssIHN0b3AgaGFuZGxpbmcgCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYg
KGV2dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlkb3duRXZlbnQgJiYgZXZ0LT5pc0tleWJv
YXJkRXZlbnQoKSAmJiBmb2N1c2VkKCkgJiYgZG9jdW1lbnQoKS0+ZnJhbWUoKQotICAgICAgICAm
JiBkb2N1bWVudCgpLT5mcmFtZSgpLT5lZGl0b3IoKS0+ZG9UZXh0RmllbGRDb21tYW5kRnJvbUV2
ZW50KHRoaXMsIHN0YXRpY19jYXN0PEtleWJvYXJkRXZlbnQqPihldnQpKSkgewotICAgICAgICBl
dnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgCi0g
ICAgLy8gTGV0IHRoZSBrZXkgaGFuZGxpbmcgZG9uZSBpbiBFdmVudFRhcmdldE5vZGUgdGFrZSBw
cmVjZWRlbmNlIG92ZXIgdGhlIGV2ZW50IGhhbmRsaW5nIGhlcmUgZm9yIGVkaXRhYmxlIHRleHQg
ZmllbGRzCi0gICAgaWYgKCFjbGlja0RlZmF1bHRGb3JtQnV0dG9uKSB7Ci0gICAgICAgIFdNTEVs
ZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZ0KTsKLSAgICAgICAgaWYgKGV2dC0+ZGVmYXVs
dEhhbmRsZWQoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBVc2Uga2V5
IHByZXNzIGV2ZW50IGhlcmUgc2luY2Ugc2VuZGluZyBzaW11bGF0ZWQgbW91c2UgZXZlbnRzCi0g
ICAgLy8gb24ga2V5IGRvd24gYmxvY2tzIHRoZSBwcm9wZXIgc2VuZGluZyBvZiB0aGUga2V5IHBy
ZXNzIGV2ZW50LgotICAgIGlmIChldnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkua2V5cHJlc3NF
dmVudCAmJiBldnQtPmlzS2V5Ym9hcmRFdmVudCgpKSB7Ci0gICAgICAgIC8vIFNpbXVsYXRlIG1v
dXNlIGNsaWNrIG9uIHRoZSBkZWZhdWx0IGZvcm0gYnV0dG9uIGZvciBlbnRlciBmb3IgdGhlc2Ug
dHlwZXMgb2YgZWxlbWVudHMuCi0gICAgICAgIGlmIChzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50
Kj4oZXZ0KS0+Y2hhckNvZGUoKSA9PSAnXHInKQotICAgICAgICAgICAgY2xpY2tEZWZhdWx0Rm9y
bUJ1dHRvbiA9IHRydWU7Ci0gICAgfQotCi0gICAgaWYgKGNsaWNrRGVmYXVsdEZvcm1CdXR0b24p
IHsKLSAgICAgICAgLy8gRmlyZSBvbkNoYW5nZSBmb3IgdGV4dCBmaWVsZHMuCi0gICAgICAgIGlm
ICh3YXNDaGFuZ2VkU2luY2VMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgpKSB7Ci0gICAgICAg
ICAgICBzZXRDaGFuZ2VkU2luY2VMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudChmYWxzZSk7Ci0g
ICAgICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNoYW5n
ZUV2ZW50LCB0cnVlLCBmYWxzZSkpOwotICAgICAgICB9Ci0KLSAgICAgICAgZXZ0LT5zZXREZWZh
dWx0SGFuZGxlZCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKGV2dC0+aXNC
ZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudCgpKQotICAgICAgICBJbnB1dEVsZW1lbnQ6OmhhbmRsZUJl
Zm9yZVRleHRJbnNlcnRlZEV2ZW50KG1fZGF0YSwgdGhpcywgdGhpcywgZXZ0KTsKLQotICAgIGlm
IChyZW5kZXJlcigpICYmIChldnQtPmlzTW91c2VFdmVudCgpIHx8IGV2dC0+aXNEcmFnRXZlbnQo
KSB8fCBldnQtPmlzV2hlZWxFdmVudCgpIHx8IGV2dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5i
bHVyRXZlbnQgfHwgZXZ0LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmZvY3VzRXZlbnQpKQotICAg
ICAgICB0b1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZShyZW5kZXJlcigpKS0+Zm9yd2FyZEV2
ZW50KGV2dCk7Ci19Ci0KLXZvaWQgV01MSW5wdXRFbGVtZW50OjpjYWNoZVNlbGVjdGlvbihpbnQg
c3RhcnQsIGludCBlbmQpCi17Ci0gICAgbV9kYXRhLnNldENhY2hlZFNlbGVjdGlvblN0YXJ0KHN0
YXJ0KTsKLSAgICBtX2RhdGEuc2V0Q2FjaGVkU2VsZWN0aW9uRW5kKGVuZCk7Ci19Ci0KLVN0cmlu
ZyBXTUxJbnB1dEVsZW1lbnQ6OmNvbnN0cmFpblZhbHVlKGNvbnN0IFN0cmluZyYgcHJvcG9zZWRW
YWx1ZSkgY29uc3QKLXsKLSAgICByZXR1cm4gSW5wdXRFbGVtZW50OjpzYW5pdGl6ZVVzZXJJbnB1
dFZhbHVlKHRoaXMsIHByb3Bvc2VkVmFsdWUsIG1fZGF0YS5tYXhMZW5ndGgoKSk7Ci19Ci0KLXZv
aWQgV01MSW5wdXRFbGVtZW50Ojpkb2N1bWVudERpZEJlY29tZUFjdGl2ZSgpCi17Ci0gICAgQVNT
RVJUKG1faXNQYXNzd29yZEZpZWxkKTsKLSAgICByZXNldCgpOwotfQotCi12b2lkIFdNTElucHV0
RWxlbWVudDo6d2lsbE1vdmVUb05ld093bmVyRG9jdW1lbnQoKQotewotICAgIC8vIEFsd2F5cyB1
bnJlZ2lzdGVyIGZvciBjYWNoZSBjYWxsYmFja3Mgd2hlbiBsZWF2aW5nIGEgZG9jdW1lbnQsIGV2
ZW4gaWYgd2Ugd291bGQgb3RoZXJ3aXNlIGxpa2UgdG8gYmUgcmVnaXN0ZXJlZAotICAgIGlmICht
X2lzUGFzc3dvcmRGaWVsZCkKLSAgICAgICAgZG9jdW1lbnQoKS0+dW5yZWdpc3RlckZvckRvY3Vt
ZW50QWN0aXZhdGlvbkNhbGxiYWNrcyh0aGlzKTsKLQotICAgIFdNTEVsZW1lbnQ6OndpbGxNb3Zl
VG9OZXdPd25lckRvY3VtZW50KCk7Ci19Ci0KLXZvaWQgV01MSW5wdXRFbGVtZW50OjpkaWRNb3Zl
VG9OZXdPd25lckRvY3VtZW50KCkKLXsKLSAgICBpZiAobV9pc1Bhc3N3b3JkRmllbGQpCi0gICAg
ICAgIGRvY3VtZW50KCktPnJlZ2lzdGVyRm9yRG9jdW1lbnRBY3RpdmF0aW9uQ2FsbGJhY2tzKHRo
aXMpOwotCi0gICAgV01MRWxlbWVudDo6ZGlkTW92ZVRvTmV3T3duZXJEb2N1bWVudCgpOwotfQot
Ci12b2lkIFdNTElucHV0RWxlbWVudDo6aW5pdGlhbGl6ZSgpCi17Ci0gICAgU3RyaW5nIG5hbWVW
YXJpYWJsZSA9IGZvcm1Db250cm9sTmFtZSgpOwotICAgIFN0cmluZyB2YXJpYWJsZVZhbHVlOwot
ICAgIFdNTFBhZ2VTdGF0ZSogcGFnZVNhdGUgPSB3bWxQYWdlU3RhdGVGb3JEb2N1bWVudChkb2N1
bWVudCgpKTsgCi0gICAgQVNTRVJUKHBhZ2VTYXRlKTsKLSAgICBpZiAoIW5hbWVWYXJpYWJsZS5p
c0VtcHR5KCkpCi0gICAgICAgIHZhcmlhYmxlVmFsdWUgPSBwYWdlU2F0ZS0+Z2V0VmFyaWFibGUo
bmFtZVZhcmlhYmxlKTsKLQotICAgIGlmICh2YXJpYWJsZVZhbHVlLmlzRW1wdHkoKSB8fCAhaXND
b25mb3JtZWRUb0lucHV0TWFzayh2YXJpYWJsZVZhbHVlKSkgewotICAgICAgICBTdHJpbmcgdmFs
ID0gdmFsdWUoKTsKLSAgICAgICAgaWYgKGlzQ29uZm9ybWVkVG9JbnB1dE1hc2sodmFsKSkKLSAg
ICAgICAgICAgIHZhcmlhYmxlVmFsdWUgPSB2YWw7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IHZhcmlhYmxlVmFsdWUgPSAiIjsKLSAKLSAgICAgICAgcGFnZVNhdGUtPnN0b3JlVmFyaWFibGUo
bmFtZVZhcmlhYmxlLCB2YXJpYWJsZVZhbHVlKTsKLSAgICB9Ci0gICAgc2V0VmFsdWUodmFyaWFi
bGVWYWx1ZSk7Ci0gCi0gICAgaWYgKCFoYXNBdHRyaWJ1dGUoV01MTmFtZXM6OmVtcHR5b2tBdHRy
KSkgewotICAgICAgICBpZiAobV9mb3JtYXRNYXNrLmlzRW1wdHkoKSB8fCAKLSAgICAgICAgICAg
IC8vIGNoZWNrIGlmIHRoZSBmb3JtYXQgY29kZXMgaXMganVzdCAiKmYiCi0gICAgICAgICAgICht
X2Zvcm1hdE1hc2subGVuZ3RoKCkgPT0gMiAmJiBtX2Zvcm1hdE1hc2tbMF0gPT0gJyonICYmIGZv
cm1hdENvZGVzKCkuZmluZChtX2Zvcm1hdE1hc2tbMV0pICE9IG5vdEZvdW5kKSkKLSAgICAgICAg
ICAgIG1faXNFbXB0eU9rID0gdHJ1ZTsKLSAgICB9Ci19Ci0KLVN0cmluZyBXTUxJbnB1dEVsZW1l
bnQ6OnZhbGlkYXRlSW5wdXRNYXNrKGNvbnN0IFN0cmluZyYgaW5wdXRNYXNrKQotewotICAgIGJv
b2wgaXNWYWxpZCA9IHRydWU7Ci0gICAgYm9vbCBoYXNXaWxkY2FyZCA9IGZhbHNlOwotICAgIHVu
c2lnbmVkIGVzY2FwZUNoYXJDb3VudCA9IDA7Ci0gICAgdW5zaWduZWQgbWFza0xlbmd0aCA9IGlu
cHV0TWFzay5sZW5ndGgoKTsKLSAgICBVQ2hhciBmb3JtYXRDb2RlOwotIAotICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBtYXNrTGVuZ3RoOyArK2kpIHsKLSAgICAgICAgZm9ybWF0Q29kZSA9
IGlucHV0TWFza1tpXTsKLSAgICAgICAgaWYgKGZvcm1hdENvZGVzKCkuZmluZChmb3JtYXRDb2Rl
KSA9PSBub3RGb3VuZCkgewotICAgICAgICAgICAgaWYgKGZvcm1hdENvZGUgPT0gJyonIHx8IChX
VEY6OmlzQVNDSUlEaWdpdChmb3JtYXRDb2RlKSAmJiBmb3JtYXRDb2RlICE9ICcwJykpIHsKLSAg
ICAgICAgICAgICAgICAvLyB2YWxpZGF0ZSBjb2RlcyB3aGljaCBlbmRzIHdpdGggJypmJyBvciAn
bmYnCi0gICAgICAgICAgICAgICAgZm9ybWF0Q29kZSA9IGlucHV0TWFza1srK2ldOwotICAgICAg
ICAgICAgICAgIGlmICgoaSArIDEgIT0gbWFza0xlbmd0aCkgfHwgZm9ybWF0Q29kZXMoKS5maW5k
KGZvcm1hdENvZGUpID09IG5vdEZvdW5kKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlzVmFsaWQg
PSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIGhhc1dpbGRjYXJkID0gdHJ1ZTsKLSAgICAgICAgICAgIH0gZWxzZSBp
ZiAoZm9ybWF0Q29kZSA9PSAnXFwnKSB7Ci0gICAgICAgICAgICAgICAgLy9za2lwIG92ZXIgdGhl
IG5leHQgbWFzayBjaGFyYWN0ZXIKLSAgICAgICAgICAgICAgICArK2k7Ci0gICAgICAgICAgICAg
ICAgKytlc2NhcGVDaGFyQ291bnQ7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIGlzVmFsaWQgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghaXNWYWxpZCkKLSAgICAgICAgcmV0dXJu
IFN0cmluZygpOwotIAotICAgIC8vIGNhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMg
YWxsb3dlZCB0byBiZSBlbnRlcmVkIGJ5IGlucHV0IG1hc2sKLSAgICBtX251bU9mQ2hhcnNBbGxv
d2VkQnlNYXNrID0gbWFza0xlbmd0aDsKLQotICAgIGlmIChlc2NhcGVDaGFyQ291bnQpCi0gICAg
ICAgIG1fbnVtT2ZDaGFyc0FsbG93ZWRCeU1hc2sgLT0gZXNjYXBlQ2hhckNvdW50OwotCi0gICAg
aWYgKGhhc1dpbGRjYXJkKSB7Ci0gICAgICAgIGZvcm1hdENvZGUgPSBpbnB1dE1hc2tbbWFza0xl
bmd0aCAtIDJdOwotICAgICAgICBpZiAoZm9ybWF0Q29kZSA9PSAnKicpCi0gICAgICAgICAgICBt
X251bU9mQ2hhcnNBbGxvd2VkQnlNYXNrID0gbV9kYXRhLm1heExlbmd0aCgpOwotICAgICAgICBl
bHNlIHsKLSAgICAgICAgICAgIHVuc2lnbmVkIGxlZnRMZW4gPSBTdHJpbmcoJmZvcm1hdENvZGUp
LnRvSW50KCk7Ci0gICAgICAgICAgICBtX251bU9mQ2hhcnNBbGxvd2VkQnlNYXNrID0gbGVmdExl
biArIG1fbnVtT2ZDaGFyc0FsbG93ZWRCeU1hc2sgLSAyOwotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgcmV0dXJuIGlucHV0TWFzazsKLX0KLQotYm9vbCBXTUxJbnB1dEVsZW1lbnQ6OmlzQ29uZm9y
bWVkVG9JbnB1dE1hc2soY29uc3QgU3RyaW5nJiBpbnB1dENoYXJzKQotewotICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBpbnB1dENoYXJzLmxlbmd0aCgpOyArK2kpCi0gICAgICAgIGlmICgh
aXNDb25mb3JtZWRUb0lucHV0TWFzayhpbnB1dENoYXJzW2ldLCBpICsgMSwgZmFsc2UpKQotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0gCi1ib29sIFdN
TElucHV0RWxlbWVudDo6aXNDb25mb3JtZWRUb0lucHV0TWFzayhVQ2hhciBpbkNoYXIsIHVuc2ln
bmVkIGlucHV0Q2hhckNvdW50LCBib29sIGlzVXNlcklucHV0KQotewotICAgIGlmIChtX2Zvcm1h
dE1hc2suaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAKLSAgICBpZiAoaW5wdXRD
aGFyQ291bnQgPiBtX251bU9mQ2hhcnNBbGxvd2VkQnlNYXNrKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICB1bnNpZ25lZCBtYXNrSW5kZXggPSAwOwotICAgIGlmIChpc1VzZXJJbnB1dCkg
ewotICAgICAgICB1bnNpZ25lZCBjdXJzb3JQb3NpdGlvbiA9IDA7Ci0gICAgICAgIGlmIChyZW5k
ZXJlcigpKQotICAgICAgICAgICAgY3Vyc29yUG9zaXRpb24gPSB0b1JlbmRlclRleHRDb250cm9s
KHJlbmRlcmVyKCkpLT5zZWxlY3Rpb25TdGFydCgpOyAKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgY3Vyc29yUG9zaXRpb24gPSBtX2RhdGEuY2FjaGVkU2VsZWN0aW9uU3RhcnQoKTsKLQotICAg
ICAgICBtYXNrSW5kZXggPSBjdXJzb3JQb3NpdGlvblRvTWFza0luZGV4KGN1cnNvclBvc2l0aW9u
KTsKLSAgICB9IGVsc2UKLSAgICAgICAgbWFza0luZGV4ID0gY3Vyc29yUG9zaXRpb25Ub01hc2tJ
bmRleChpbnB1dENoYXJDb3VudCAtIDEpOwotCi0gICAgYm9vbCBvayA9IHRydWU7Ci0gICAgVUNo
YXIgbWFzayA9IG1fZm9ybWF0TWFza1ttYXNrSW5kZXhdOwotICAgIC8vIG1hdGNoIHRoZSBpbnB1
dGVkIGNoYXJhY3RlciB3aXRoIGlucHV0IG1hc2sKLSAgICBzd2l0Y2ggKG1hc2spIHsKLSAgICBj
YXNlICdBJzoKLSAgICAgICAgb2sgPSAhV1RGOjppc0FTQ0lJRGlnaXQoaW5DaGFyKSAmJiAhV1RG
Ojppc0FTQ0lJTG93ZXIoaW5DaGFyKSAmJiBXVEY6OmlzQVNDSUlQcmludGFibGUoaW5DaGFyKTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSAnYSc6Ci0gICAgICAgIG9rID0gIVdURjo6aXNBU0NJ
SURpZ2l0KGluQ2hhcikgJiYgIVdURjo6aXNBU0NJSVVwcGVyKGluQ2hhcikgJiYgV1RGOjppc0FT
Q0lJUHJpbnRhYmxlKGluQ2hhcik7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgJ04nOgotICAg
ICAgICBvayA9IFdURjo6aXNBU0NJSURpZ2l0KGluQ2hhcik7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgJ24nOgotICAgICAgICBvayA9ICFXVEY6OmlzQVNDSUlBbHBoYShpbkNoYXIpICYmIFdU
Rjo6aXNBU0NJSVByaW50YWJsZShpbkNoYXIpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlICdY
JzoKLSAgICAgICAgb2sgPSAhV1RGOjppc0FTQ0lJTG93ZXIoaW5DaGFyKSAmJiBXVEY6OmlzQVND
SUlQcmludGFibGUoaW5DaGFyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSAneCc6Ci0gICAg
ICAgIG9rID0gIVdURjo6aXNBU0NJSVVwcGVyKGluQ2hhcikgJiYgV1RGOjppc0FTQ0lJUHJpbnRh
YmxlKGluQ2hhcik7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgJ00nOgotICAgICAgICBvayA9
IFdURjo6aXNBU0NJSVByaW50YWJsZShpbkNoYXIpOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
ICdtJzoKLSAgICAgICAgb2sgPSBXVEY6OmlzQVNDSUlQcmludGFibGUoaW5DaGFyKTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgb2sgPSAobWFzayA9PSBpbkNoYXIpOwot
ICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICByZXR1cm4gb2s7Ci19Ci0KLXVuc2lnbmVkIFdN
TElucHV0RWxlbWVudDo6Y3Vyc29yUG9zaXRpb25Ub01hc2tJbmRleCh1bnNpZ25lZCBjdXJzb3JQ
b3NpdGlvbikKLXsKLSAgICBVQ2hhciBtYXNrOwotICAgIGludCBpbmRleCA9IC0xOwotICAgIGRv
IHsKLSAgICAgICAgbWFzayA9IG1fZm9ybWF0TWFza1srK2luZGV4XTsKLSAgICAgICAgaWYgKG1h
c2sgPT0gJ1xcJykKLSAgICAgICAgICAgICsraW5kZXg7Ci0gICAgICAgIGVsc2UgaWYgKG1hc2sg
PT0gJyonIHx8IChXVEY6OmlzQVNDSUlEaWdpdChtYXNrKSAmJiBtYXNrICE9ICcwJykpIHsKLSAg
ICAgICAgICAgIGluZGV4ID0gbV9mb3JtYXRNYXNrLmxlbmd0aCgpIC0gMTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0gICAgfSB3aGlsZSAoY3Vyc29yUG9zaXRpb24tLSk7Ci0gCi0g
ICAgcmV0dXJuIGluZGV4OwotfQotCi19Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUv
d21sL1dNTElucHV0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9X
TUxJbnB1dEVsZW1lbnQuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwv
V01MSW5wdXRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMTI2ICswLDAgQEAKLS8qKgot
ICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
LSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTElu
cHV0RWxlbWVudF9oCi0jZGVmaW5lIFdNTElucHV0RWxlbWVudF9oCi0KLSNpZiBFTkFCTEUoV01M
KQotI2luY2x1ZGUgIldNTEZvcm1Db250cm9sRWxlbWVudC5oIgotI2luY2x1ZGUgIklucHV0RWxl
bWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEZvcm1EYXRhTGlzdDsKLQot
Y2xhc3MgV01MSW5wdXRFbGVtZW50IDogcHVibGljIFdNTEZvcm1Db250cm9sRWxlbWVudCwgcHVi
bGljIElucHV0RWxlbWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V01MSW5w
dXRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLSAg
ICBXTUxJbnB1dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
KTsKLSAgICB2aXJ0dWFsIH5XTUxJbnB1dEVsZW1lbnQoKTsKLQotICAgIHZpcnR1YWwgSW5wdXRF
bGVtZW50KiB0b0lucHV0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KLQotICAgIHZpcnR1YWwg
Ym9vbCBpc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBjb25zdDsKLSAgICB2aXJ0
dWFsIGJvb2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaEZvY3VzRXZlbnQoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hCbHVyRXZlbnQoKTsK
LSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlKGJvb2wgcmVzdG9yZVByZXZp
b3VzU2VsZWN0aW9uKTsKLSAgICB2aXJ0dWFsIHZvaWQgYWJvdXRUb1VubG9hZCgpOwotCi0gICAg
dmlydHVhbCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCkgY29uc3QgeyByZXR1cm4gIW1faXNQ
YXNzd29yZEZpZWxkOyB9Ci0gICAgdmlydHVhbCBib29sIGlzQ2hlY2tlZCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzQXV0b2ZpbGxlZCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzSW5kZXRlcm1pbmF0ZSgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzVGV4dEZvcm1Db250cm9sKCkgY29u
c3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1JhZGlvQnV0dG9uKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNDaGVja2JveCgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzVGV4dEZpZWxkKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1NlYXJjaEZpZWxkKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNJbnB1dFR5cGVIaWRkZW4oKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1Bhc3N3b3JkRmllbGQo
KSBjb25zdCB7IHJldHVybiBtX2lzUGFzc3dvcmRGaWVsZDsgfQotICAgIHZpcnR1YWwgYm9vbCBz
ZWFyY2hFdmVudHNTaG91bGRCZURpc3BhdGNoZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQot
Ci0gICAgdmlydHVhbCBpbnQgc2l6ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgY29uc3QgQXRvbWlj
U3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZm9ybUNvbnRyb2xOYW1lKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBjb25zdCBTdHJp
bmcmIHN1Z2dlc3RlZFZhbHVlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBTdHJpbmcgdmFsdWUoKSBj
b25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgYm9vbCBzZW5k
Q2hhbmdlRXZlbnQgPSBmYWxzZSk7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlRm9yVXNlcihj
b25zdCBTdHJpbmcmKTsKLSAgICB2aXJ0dWFsIFN0cmluZyB2aXNpYmxlVmFsdWUoKSBjb25zdCB7
IHJldHVybiB2YWx1ZSgpOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgY29udmVydEZyb21WaXNpYmxl
VmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QgeyByZXR1cm4gdmFsdWU7IH0KLSAgICB2
aXJ0dWFsIHZvaWQgc2V0VmFsdWVGcm9tUmVuZGVyZXIoY29uc3QgU3RyaW5nJik7Ci0KLSAgICB2
aXJ0dWFsIGJvb2wgd2FzQ2hhbmdlZFNpbmNlTGFzdEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoKSBj
b25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0Q2hhbmdlZFNpbmNlTGFzdEZvcm1Db250cm9sQ2hh
bmdlRXZlbnQoYm9vbCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2F2ZUZvcm1Db250cm9sU3RhdGUo
U3RyaW5nJiB2YWx1ZSkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3RvcmVGb3JtQ29udHJv
bFN0YXRlKGNvbnN0IFN0cmluZyYpOwotCi0gICAgdmlydHVhbCB2b2lkIHNlbGVjdCgpOwotICAg
IHZpcnR1YWwgdm9pZCBhY2Nlc3NLZXlBY3Rpb24oYm9vbCBzZW5kVG9BbnlFbGVtZW50KTsKLSAg
ICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0KLSAgICB2
aXJ0dWFsIHZvaWQgY29weU5vbkF0dHJpYnV0ZVByb3BlcnRpZXMoY29uc3QgRWxlbWVudCogc291
cmNlKTsKLQotICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJB
cmVuYSosIFJlbmRlclN0eWxlKik7Ci0gICAgdmlydHVhbCB2b2lkIGRldGFjaCgpOwotICAgIHZp
cnR1YWwgYm9vbCBhcHBlbmRGb3JtRGF0YShGb3JtRGF0YUxpc3QmLCBib29sKTsKLSAgICB2aXJ0
dWFsIHZvaWQgcmVzZXQoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVy
KEV2ZW50Kik7Ci0gICAgdmlydHVhbCB2b2lkIGNhY2hlU2VsZWN0aW9uKGludCBzdGFydCwgaW50
IGVuZCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNBY2NlcHRhYmxlVmFsdWUoY29uc3QgU3RyaW5n
JikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgU3RyaW5nIHNhbml0aXplVmFs
dWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdCB7IHJldHVybiBjb25zdHJhaW5W
YWx1ZShwcm9wb3NlZFZhbHVlKTsgfQotCi0gICAgdmlydHVhbCB2b2lkIGRvY3VtZW50RGlkQmVj
b21lQWN0aXZlKCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgd2lsbE1vdmVUb05ld093bmVyRG9jdW1l
bnQoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkTW92ZVRvTmV3T3duZXJEb2N1bWVudCgpOwotCi0g
ICAgYm9vbCBpc0NvbmZvcm1lZFRvSW5wdXRNYXNrKGNvbnN0IFN0cmluZyYpOwotICAgIGJvb2wg
aXNDb25mb3JtZWRUb0lucHV0TWFzayhVQ2hhciwgdW5zaWduZWQsIGJvb2wgaXNVc2VySW5wdXQg
PSB0cnVlKTsKLSNpZiBFTkFCTEUoV0NTUykKLSAgICB2aXJ0dWFsIElucHV0RWxlbWVudERhdGEg
ZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQotI2VuZGlmCi0KLXByaXZhdGU6Ci0gICAg
ZnJpZW5kIGNsYXNzIFdNTENhcmRFbGVtZW50OwotICAgIHZvaWQgaW5pdGlhbGl6ZSgpOwotCi0g
ICAgdmlydHVhbCBib29sIHN1cHBvcnRzTWF4TGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQotICAgIFN0cmluZyB2YWxpZGF0ZUlucHV0TWFzayhjb25zdCBTdHJpbmcmKTsKLSAgICB1bnNp
Z25lZCBjdXJzb3JQb3NpdGlvblRvTWFza0luZGV4KHVuc2lnbmVkKTsKLSAgICBTdHJpbmcgY29u
c3RyYWluVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3Q7Ci0KLSAgICBJbnB1dEVsZW1lbnREYXRh
IG1fZGF0YTsKLSAgICBib29sIG1faXNQYXNzd29yZEZpZWxkOwotICAgIGJvb2wgbV9pc0VtcHR5
T2s7Ci0gICAgYm9vbCBtX3dhc0NoYW5nZWRTaW5jZUxhc3RDaGFuZ2VFdmVudDsKLSAgICBTdHJp
bmcgbV9mb3JtYXRNYXNrOwotICAgIHVuc2lnbmVkIG1fbnVtT2ZDaGFyc0FsbG93ZWRCeU1hc2s7
Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01M
SW5zZXJ0ZWRMZWdlbmRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93
bWwvV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50LmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS93bWwvV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw0NCArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2Jp
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20v
KQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJX
TUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1XTUxJ
bnNlcnRlZExlZ2VuZEVsZW1lbnQ6OldNTEluc2VydGVkTGVnZW5kRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQotICAgIDogV01MRWxlbWVudCh0YWdO
YW1lLCBkb2MpCi17Ci19Ci0KLVBhc3NSZWZQdHI8V01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50PiBX
TUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxJ
bnNlcnRlZExlZ2VuZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotV01MSW5zZXJ0
ZWRMZWdlbmRFbGVtZW50Ojp+V01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50KCkKLXsKLX0KLQotfQot
Ci0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbnNlcnRlZExlZ2VuZEVsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW5zZXJ0ZWRMZWdlbmRF
bGVtZW50LmgJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTEluc2Vy
dGVkTGVnZW5kRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICswLDAgQEAKLS8qKgot
ICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0g
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0g
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTEluc2VydGVk
TGVnZW5kRWxlbWVudF9oCi0jZGVmaW5lIFdNTEluc2VydGVkTGVnZW5kRWxlbWVudF9oCi0KLSNp
ZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1jbGFzcyBXTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQgOiBwdWJsaWMgV01MRWxlbWVu
dCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V01MSW5zZXJ0ZWRMZWdlbmRFbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLSAgICBXTUxJ
bnNlcnRlZExlZ2VuZEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqKTsKLSAgICB2aXJ0dWFsIH5XTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQoKTsKLX07Ci0KLX0K
LQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbnRyaW5zaWNF
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEludHJpbnNpY0V2
ZW50LmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW50cmlu
c2ljRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUzICswLDAgQEAKLS8qKgotICogQ29w
eXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuICho
dHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNp
ZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEludHJpbnNpY0V2ZW50LmgiCi0KLSNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJXTUxFbGVtZW50RmFjdG9yeS5oIgotI2luY2x1ZGUg
IldNTE5hbWVzLmgiCi0jaW5jbHVkZSAiV01MVGFza0VsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLXN0YXRpYyBQYXNzUmVmUHRy
PFdNTFRhc2tFbGVtZW50PiBjcmVhdGVUYXNrRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQpCi17
Ci0gICAgcmV0dXJuIHN0YXRpY19wb2ludGVyX2Nhc3Q8V01MVGFza0VsZW1lbnQ+KFdNTEVsZW1l
bnRGYWN0b3J5OjpjcmVhdGVXTUxFbGVtZW50KGdvVGFnLCBkb2N1bWVudCwgZmFsc2UpKTsKLX0K
LQotV01MSW50cmluc2ljRXZlbnQ6OldNTEludHJpbnNpY0V2ZW50KERvY3VtZW50KiBkb2N1bWVu
dCwgY29uc3QgU3RyaW5nJiB0YXJnZXRVUkwpCi0gICAgOiBtX3Rhc2tFbGVtZW50KGNyZWF0ZVRh
c2tFbGVtZW50KGRvY3VtZW50KSkKLXsKLSAgICBtX3Rhc2tFbGVtZW50LT5zZXRBdHRyaWJ1dGUo
SFRNTE5hbWVzOjpocmVmQXR0ciwgdGFyZ2V0VVJMKTsKLX0KLQotV01MSW50cmluc2ljRXZlbnQ6
OldNTEludHJpbnNpY0V2ZW50KFdNTFRhc2tFbGVtZW50KiB0YXNrRWxlbWVudCkKLSAgICA6IG1f
dGFza0VsZW1lbnQodGFza0VsZW1lbnQpCi17Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS93bWwvV01MSW50cmluc2ljRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS93bWwvV01MSW50cmluc2ljRXZlbnQuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS93bWwvV01MSW50cmluc2ljRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1
OSArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lm
bmRlZiBXTUxJbnRyaW5zaWNFdmVudF9oCi0jZGVmaW5lIFdNTEludHJpbnNpY0V2ZW50X2gKLQot
I2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MVGFza0VsZW1lbnQuaCIKLQotI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRG9jdW1lbnQ7
Ci0KLWNsYXNzIFdNTEludHJpbnNpY0V2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8V01MSW50cmlu
c2ljRXZlbnQ+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxJbnRyaW5zaWNF
dmVudD4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0YXJnZXRVUkwp
Ci0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdNTEludHJpbnNpY0V2ZW50KGRv
Y3VtZW50LCB0YXJnZXRVUkwpKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxJ
bnRyaW5zaWNFdmVudD4gY3JlYXRlV2l0aFRhc2soV01MVGFza0VsZW1lbnQqIHRhc2tFbGVtZW50
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxJbnRyaW5zaWNFdmVudCh0
YXNrRWxlbWVudCkpOwotICAgIH0KLQotICAgIFdNTFRhc2tFbGVtZW50KiB0YXNrRWxlbWVudCgp
IGNvbnN0IHsgcmV0dXJuIG1fdGFza0VsZW1lbnQuZ2V0KCk7IH0KLQotcHJpdmF0ZToKLSAgICBX
TUxJbnRyaW5zaWNFdmVudChEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgdGFyZ2V0VVJMKTsKLSAg
ICBXTUxJbnRyaW5zaWNFdmVudChXTUxUYXNrRWxlbWVudCopOwotCi0gICAgUmVmUHRyPFdNTFRh
c2tFbGVtZW50PiBtX3Rhc2tFbGVtZW50OwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvd21sL1dNTEludHJpbnNpY0V2ZW50SGFuZGxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEludHJpbnNpY0V2ZW50SGFuZGxlci5jcHAJ
KHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTEludHJpbnNpY0V2ZW50
SGFuZGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNjEgKzAsMCBAQAotLyoqCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0
dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0g
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lm
IEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotV01MSW50cmluc2ljRXZlbnRIYW5kbGVyOjpXTUxJbnRyaW5z
aWNFdmVudEhhbmRsZXIoKQotewotfQotCi1ib29sIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlcjo6
cmVnaXN0ZXJJbnRyaW5zaWNFdmVudChXTUxJbnRyaW5zaWNFdmVudFR5cGUgdHlwZSwgUGFzc1Jl
ZlB0cjxXTUxJbnRyaW5zaWNFdmVudD4gZXZlbnQpCi17Ci0gICAgaWYgKG1fZXZlbnRzLmNvbnRh
aW5zKHR5cGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBtX2V2ZW50cy5zZXQodHlw
ZSwgZXZlbnQpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIFdNTEludHJpbnNpY0V2ZW50
SGFuZGxlcjo6ZGVyZWdpc3RlckludHJpbnNpY0V2ZW50KFdNTEludHJpbnNpY0V2ZW50VHlwZSB0
eXBlKQotewotICAgIGlmIChtX2V2ZW50cy5jb250YWlucyh0eXBlKSkKLSAgICAgICAgbV9ldmVu
dHMucmVtb3ZlKHR5cGUpOwotfQotCi12b2lkIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlcjo6dHJp
Z2dlckludHJpbnNpY0V2ZW50KFdNTEludHJpbnNpY0V2ZW50VHlwZSB0eXBlKSBjb25zdAotewot
ICAgIFJlZlB0cjxXTUxJbnRyaW5zaWNFdmVudD4gZXZlbnQgPSBtX2V2ZW50cy5nZXQodHlwZSk7
Ci0gICAgQVNTRVJUKGV2ZW50LT50YXNrRWxlbWVudCgpKTsKLSAgICBldmVudC0+dGFza0VsZW1l
bnQoKS0+ZXhlY3V0ZVRhc2soKTsKLX0KLQotYm9vbCBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXI6
Omhhc0ludHJpbnNpY0V2ZW50KFdNTEludHJpbnNpY0V2ZW50VHlwZSB0eXBlKSBjb25zdAotewot
ICAgIHJldHVybiBtX2V2ZW50cy5jb250YWlucyh0eXBlKTsKLX0KLQotfQotCi0jZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmgJKHJl
dmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTEludHJpbnNpY0V2ZW50SGFu
ZGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU5ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0
IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8v
d3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTEludHJpbnNpY0V2ZW50SGFuZGxl
cl9oCi0jZGVmaW5lIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlcl9oCi0KLSNpZiBFTkFCTEUoV01M
KQotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
LQotI2luY2x1ZGUgIldNTEludHJpbnNpY0V2ZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotZW51bSBXTUxJbnRyaW5zaWNFdmVudFR5cGUgewotICAgIFdNTEludHJpbnNpY0V2ZW50VW5r
bm93biA9IDAsCi0gICAgV01MSW50cmluc2ljRXZlbnRPbkVudGVyRm9yd2FyZCwKLSAgICBXTUxJ
bnRyaW5zaWNFdmVudE9uRW50ZXJCYWNrd2FyZCwKLSAgICBXTUxJbnRyaW5zaWNFdmVudE9uVGlt
ZXIsCi0gICAgV01MSW50cmluc2ljRXZlbnRPblBpY2sKLX07Ci0KLWNsYXNzIFdNTEludHJpbnNp
Y0V2ZW50OwotCi1jbGFzcyBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIgewotcHVibGljOgotICAg
IFdNTEludHJpbnNpY0V2ZW50SGFuZGxlcigpOwotCi0gICAgYm9vbCByZWdpc3RlckludHJpbnNp
Y0V2ZW50KFdNTEludHJpbnNpY0V2ZW50VHlwZSwgUGFzc1JlZlB0cjxXTUxJbnRyaW5zaWNFdmVu
dD4pOwotICAgIHZvaWQgZGVyZWdpc3RlckludHJpbnNpY0V2ZW50KFdNTEludHJpbnNpY0V2ZW50
VHlwZSk7Ci0gICAgdm9pZCB0cmlnZ2VySW50cmluc2ljRXZlbnQoV01MSW50cmluc2ljRXZlbnRU
eXBlKSBjb25zdDsKLSAgICBib29sIGhhc0ludHJpbnNpY0V2ZW50KFdNTEludHJpbnNpY0V2ZW50
VHlwZSkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRy
PFdNTEludHJpbnNpY0V2ZW50PiA+IEV2ZW50TWFwOwotICAgIEV2ZW50TWFwIG1fZXZlbnRzOwot
fTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTE1l
dGFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MTWV0YUVs
ZW1lbnQuY3BwCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxNZXRh
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNzAgKzAsMCBAQAotLyoqCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0
dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0g
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lm
IEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MTWV0YUVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkF0
dHJpYnV0ZS5oIgotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV01MTWV0YUVsZW1lbnQ6OldNTE1ldGFFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxF
bGVtZW50KHRhZ05hbWUsIGRvYykKLXsKLX0KLQotUGFzc1JlZlB0cjxXTUxNZXRhRWxlbWVudD4g
V01MTWV0YUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxNZXRhRWxlbWVu
dCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi1XTUxNZXRhRWxlbWVudDo6fldNTE1ldGFFbGVt
ZW50KCkKLXsKLX0KLQotdm9pZCBXTUxNZXRhRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUo
QXR0cmlidXRlKiBhdHRyKQotewotICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpo
dHRwX2VxdWl2QXR0cikKLSAgICAgICAgbV9lcXVpdiA9IHBhcnNlVmFsdWVGb3JiaWRkaW5nVmFy
aWFibGVSZWZlcmVuY2VzKGF0dHItPnZhbHVlKCkpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBIVE1MTmFtZXM6OmNvbnRlbnRBdHRyKQotICAgICAgICBtX2NvbnRlbnQgPSBwYXJzZVZh
bHVlRm9yYmlkZGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhhdHRyLT52YWx1ZSgpKTsKLSAgICBlbHNl
IGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpuYW1lQXR0cikgewotICAgICAgICAvLyBG
SVhNRTogVGhlIHVzZXIgYWdlbnQgbXVzdCBpZ25vcmUgYW55IG1ldGEtZGF0YSBuYW1lZCB3aXRo
IHRoaXMgYXR0cmlidXRlLgotICAgIH0gZWxzZQotICAgICAgICBXTUxFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShhdHRyKTsKLX0KLQotdm9pZCBXTUxNZXRhRWxlbWVudDo6aW5zZXJ0ZWRJ
bnRvRG9jdW1lbnQoKQotewotICAgIFdNTEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCk7
Ci0KLSAgICBpZiAobV9lcXVpdi5pc051bGwoKSB8fCBtX2NvbnRlbnQuaXNOdWxsKCkpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIGRvY3VtZW50KCktPnByb2Nlc3NIdHRwRXF1aXYobV9lcXVpdiwg
bV9jb250ZW50KTsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9X
TUxNZXRhRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxNZXRh
RWxlbWVudC5oCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxNZXRh
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICswLDAgQEAKLS8qKgotICogQ29weXJp
Z2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRw
Oi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTE1ldGFFbGVtZW50X2gKLSNk
ZWZpbmUgV01MTWV0YUVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxF
bGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV01MTWV0YUVsZW1lbnQg
OiBwdWJsaWMgV01MRWxlbWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V01M
TWV0YUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQot
ICAgIFdNTE1ldGFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
Kik7Ci0gICAgdmlydHVhbCB+V01MTWV0YUVsZW1lbnQoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBw
YXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLSAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0
ZWRJbnRvRG9jdW1lbnQoKTsKLQotcHJpdmF0ZToKLSAgICBTdHJpbmcgbV9lcXVpdjsKLSAgICBT
dHJpbmcgbV9jb250ZW50OwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNl
L1dlYkNvcmUvd21sL1dNTE5vb3BFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS93bWwvV01MTm9vcEVsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9X
ZWJDb3JlL3dtbC9XTUxOb29wRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNzEgKzAs
MCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRl
ICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MTm9vcEVsZW1lbnQu
aCIKLQotI2luY2x1ZGUgIldNTERvRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTEVycm9ySGFuZGxp
bmcuaCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVz
aW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKLQotV01MTm9vcEVsZW1lbnQ6OldNTE5vb3BFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxF
bGVtZW50KHRhZ05hbWUsIGRvYykKLXsKLX0KLQotUGFzc1JlZlB0cjxXTUxOb29wRWxlbWVudD4g
V01MTm9vcEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxOb29wRWxlbWVu
dCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi1XTUxOb29wRWxlbWVudDo6fldNTE5vb3BFbGVt
ZW50KCkKLXsKLX0KLQotdm9pZCBXTUxOb29wRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQo
KQotewotICAgIFdNTEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0KLSAgICBDb250
YWluZXJOb2RlKiBwYXJlbnQgPSBwYXJlbnROb2RlKCk7Ci0gICAgaWYgKCFwYXJlbnQgfHwgIXBh
cmVudC0+aXNXTUxFbGVtZW50KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChwYXJlbnQt
Pmhhc1RhZ05hbWUoZG9UYWcpKSB7Ci0gICAgICAgIFdNTERvRWxlbWVudCogZG9FbGVtZW50ID0g
c3RhdGljX2Nhc3Q8V01MRG9FbGVtZW50Kj4ocGFyZW50KTsKLSAgICAgICAgZG9FbGVtZW50LT5z
ZXROb29wKHRydWUpOwotCi0gICAgICAgIGlmIChkb0VsZW1lbnQtPmF0dGFjaGVkKCkpCi0gICAg
ICAgICAgICBkb0VsZW1lbnQtPmRldGFjaCgpOwotCi0gICAgICAgIEFTU0VSVCghZG9FbGVtZW50
LT5hdHRhY2hlZCgpKTsKLSAgICAgICAgZG9FbGVtZW50LT5hdHRhY2goKTsKLSAgICB9IGVsc2Ug
aWYgKHBhcmVudC0+aGFzVGFnTmFtZShhbmNob3JUYWcpKQotICAgICAgICByZXBvcnRXTUxFcnJv
cihkb2N1bWVudCgpLCBXTUxFcnJvckZvcmJpZGRlblRhc2tJbkFuY2hvckVsZW1lbnQpOwotfQot
Ci19Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTE5vb3BFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTE5vb3BFbGVtZW50LmgJKHJldmlz
aW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTE5vb3BFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDIgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9y
Y2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2Jp
bGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICog
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
Ci0gKgotICovCi0KLSNpZm5kZWYgV01MTm9vcEVsZW1lbnRfaAotI2RlZmluZSBXTUxOb29wRWxl
bWVudF9oCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXTUxOb29wRWxlbWVudCA6IHB1YmxpYyBXTUxFbGVt
ZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxOb29wRWxlbWVudD4gY3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgV01MTm9vcEVsZW1l
bnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLSAgICB2aXJ0dWFs
IH5XTUxOb29wRWxlbWVudCgpOwotCi0gICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3Vt
ZW50KCk7Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93
bWwvV01MT25FdmVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dt
bC9XTUxPbkV2ZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNv
cmUvd21sL1dNTE9uRXZlbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwxMDQgKzAs
MCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0g
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MT25FdmVu
dEVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgotI2luY2x1ZGUgIldNTEVycm9ySGFuZGxpbmcuaCIKLSNpbmNsdWRlICJXTUxFdmVudEhh
bmRsaW5nRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTEludHJpbnNpY0V2ZW50SGFuZGxlci5oIgot
I2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jaW5jbHVkZSAiV01MVmFyaWFibGVzLmgiCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIFdNTE5hbWVzOwotCi1XTUxPbkV2ZW50
RWxlbWVudDo6V01MT25FdmVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTEVsZW1lbnQodGFnTmFtZSwgZG9jKQotICAgICwgbV90
eXBlKFdNTEludHJpbnNpY0V2ZW50VW5rbm93bikKLXsKLX0KLQotUGFzc1JlZlB0cjxXTUxPbkV2
ZW50RWxlbWVudD4gV01MT25FdmVudEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBXTUxPbkV2ZW50RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi12b2lkIFdNTE9u
RXZlbnRFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCi17Ci0g
ICAgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OnR5cGVBdHRyKSB7Ci0gICAgICAgIFN0
cmluZyBwYXJzZWRWYWx1ZSA9IHBhcnNlVmFsdWVGb3JiaWRkaW5nVmFyaWFibGVSZWZlcmVuY2Vz
KGF0dHItPnZhbHVlKCkpOwotICAgICAgICBpZiAocGFyc2VkVmFsdWUuaXNFbXB0eSgpKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmIChwYXJzZWRWYWx1ZSA9PSBvbmVudGVyZm9y
d2FyZEF0dHIpCi0gICAgICAgICAgICBtX3R5cGUgPSBXTUxJbnRyaW5zaWNFdmVudE9uRW50ZXJG
b3J3YXJkOwotICAgICAgICBlbHNlIGlmIChwYXJzZWRWYWx1ZSA9PSBvbmVudGVyYmFja3dhcmRB
dHRyKQotICAgICAgICAgICAgbV90eXBlID0gV01MSW50cmluc2ljRXZlbnRPbkVudGVyQmFja3dh
cmQ7Ci0gICAgICAgIGVsc2UgaWYgKHBhcnNlZFZhbHVlID09IG9udGltZXJBdHRyKQotICAgICAg
ICAgICAgbV90eXBlID0gV01MSW50cmluc2ljRXZlbnRPblRpbWVyOwotICAgICAgICBlbHNlIGlm
IChwYXJzZWRWYWx1ZSA9PSBvbnBpY2tBdHRyKQotICAgICAgICAgICAgbV90eXBlID0gV01MSW50
cmluc2ljRXZlbnRPblBpY2s7Ci0gICAgfSBlbHNlCi0gICAgICAgIFdNTEVsZW1lbnQ6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKGF0dHIpOwotfQotCi1zdGF0aWMgaW5saW5lIFdNTEV2ZW50SGFuZGxp
bmdFbGVtZW50KiBldmVudEhhbmRsaW5nUGFyZW50KE5vZGUqIHBhcmVudCkKLXsKLSAgICBpZiAo
IXBhcmVudCB8fCAhcGFyZW50LT5pc1dNTEVsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0K
LSAgICByZXR1cm4gdG9XTUxFdmVudEhhbmRsaW5nRWxlbWVudChzdGF0aWNfY2FzdDxXTUxFbGVt
ZW50Kj4ocGFyZW50KSk7Ci19Ci0KLXZvaWQgV01MT25FdmVudEVsZW1lbnQ6OnJlZ2lzdGVyVGFz
ayhXTUxUYXNrRWxlbWVudCogdGFzaykKLXsKLSAgICBpZiAobV90eXBlID09IFdNTEludHJpbnNp
Y0V2ZW50VW5rbm93bikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gUmVnaXN0ZXIgaW50cmlu
c2ljIGV2ZW50IHRvIHRoZSBldmVudCBoYW5kbGVyIG9mIHRoZSBvd25lciBvZiBvbmV2ZW50IGVs
ZW1lbnQgCi0gICAgV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQqIGV2ZW50SGFuZGxpbmdFbGVtZW50
ID0gZXZlbnRIYW5kbGluZ1BhcmVudChwYXJlbnROb2RlKCkpOwotICAgIGlmICghZXZlbnRIYW5k
bGluZ0VsZW1lbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGV2ZW50SGFuZGxpbmdFbGVtZW50
LT5jcmVhdGVFdmVudEhhbmRsZXJJZk5lZWRlZCgpOwotCi0gICAgUmVmUHRyPFdNTEludHJpbnNp
Y0V2ZW50PiBldmVudCA9IFdNTEludHJpbnNpY0V2ZW50OjpjcmVhdGVXaXRoVGFzayh0YXNrKTsK
LSAgICBpZiAoIWV2ZW50SGFuZGxpbmdFbGVtZW50LT5ldmVudEhhbmRsZXIoKS0+cmVnaXN0ZXJJ
bnRyaW5zaWNFdmVudChtX3R5cGUsIGV2ZW50KSkKLSAgICAgICAgcmVwb3J0V01MRXJyb3IoZG9j
dW1lbnQoKSwgV01MRXJyb3JDb25mbGljdGluZ0V2ZW50QmluZGluZyk7Ci19Ci0KLXZvaWQgV01M
T25FdmVudEVsZW1lbnQ6OmRlcmVnaXN0ZXJUYXNrKFdNTFRhc2tFbGVtZW50KikKLXsKLSAgICBX
TUxFdmVudEhhbmRsaW5nRWxlbWVudCogZXZlbnRIYW5kbGluZ0VsZW1lbnQgPSBldmVudEhhbmRs
aW5nUGFyZW50KHBhcmVudE5vZGUoKSk7Ci0gICAgaWYgKCFldmVudEhhbmRsaW5nRWxlbWVudCkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgZXZlbnRIYW5kbGluZ0VsZW1lbnQtPmV2ZW50SGFuZGxl
cigpLT5kZXJlZ2lzdGVySW50cmluc2ljRXZlbnQobV90eXBlKTsKLX0KLQotfQotCi0jZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxPbkV2ZW50RWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxPbkV2ZW50RWxlbWVudC5oCShyZXZpc2lvbiA4NTE2
NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxPbkV2ZW50RWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUwICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1v
YmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNv
bS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoK
LSAqLwotCi0jaWZuZGVmIFdNTE9uRXZlbnRFbGVtZW50X2gKLSNkZWZpbmUgV01MT25FdmVudEVs
ZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxFbGVtZW50LmgiCi0jaW5j
bHVkZSAiV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotY2xhc3MgV01MVGFza0VsZW1lbnQ7Ci0KLWNsYXNzIFdNTE9uRXZlbnRFbGVtZW50IDogcHVi
bGljIFdNTEVsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdNTE9uRXZl
bnRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLSAg
ICBXTUxPbkV2ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCopOwotCi0gICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSop
OwotCi0gICAgdm9pZCByZWdpc3RlclRhc2soV01MVGFza0VsZW1lbnQqKTsKLSAgICB2b2lkIGRl
cmVnaXN0ZXJUYXNrKFdNTFRhc2tFbGVtZW50Kik7Ci0KLXByaXZhdGU6Ci0gICAgV01MSW50cmlu
c2ljRXZlbnRUeXBlIG1fdHlwZTsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3dtbC9XTUxPcHRHcm91cEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3dtbC9XTUxPcHRHcm91cEVsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTE2NikK
KysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxPcHRHcm91cEVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDEzNSArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBN
b2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5j
b20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAq
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRl
ICJXTUxPcHRHcm91cEVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2luY2x1
ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiTm9kZVJl
bmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJXTUxOYW1l
cy5oIgotI2luY2x1ZGUgIldNTFNlbGVjdEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdNTE9wdEdyb3VwRWxlbWVudDo6V01M
T3B0R3JvdXBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2MpCi0gICAgOiBXTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFtZSwgZG9jKQotewotfQotCi1Q
YXNzUmVmUHRyPFdNTE9wdEdyb3VwRWxlbWVudD4gV01MT3B0R3JvdXBFbGVtZW50OjpjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgV01MT3B0R3JvdXBFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KSk7Ci19Ci0KLVdNTE9wdEdyb3VwRWxlbWVudDo6fldNTE9wdEdyb3VwRWxlbWVudCgpCi17Ci19
Ci0KLWNvbnN0IEF0b21pY1N0cmluZyYgV01MT3B0R3JvdXBFbGVtZW50Ojpmb3JtQ29udHJvbFR5
cGUoKSBjb25zdAotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5n
LCBvcHRncm91cCwgKCJvcHRncm91cCIpKTsKLSAgICByZXR1cm4gb3B0Z3JvdXA7Ci19Ci0KLXN0
YXRpYyBpbmxpbmUgV01MU2VsZWN0RWxlbWVudCogb3duZXJTZWxlY3RFbGVtZW50KEVsZW1lbnQq
IGVsZW1lbnQpCi17Ci0gICAgQ29udGFpbmVyTm9kZSogc2VsZWN0ID0gZWxlbWVudC0+cGFyZW50
Tm9kZSgpOwotICAgIHdoaWxlIChzZWxlY3QgJiYgIXNlbGVjdC0+aGFzVGFnTmFtZShzZWxlY3RU
YWcpKQotICAgICAgICBzZWxlY3QgPSBzZWxlY3QtPnBhcmVudE5vZGUoKTsKLQotICAgIGlmICgh
c2VsZWN0KQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBzdGF0aWNfY2FzdDxXTUxT
ZWxlY3RFbGVtZW50Kj4oc2VsZWN0KTsKLX0KLQotdm9pZCBXTUxPcHRHcm91cEVsZW1lbnQ6OmFj
Y2Vzc0tleUFjdGlvbihib29sKQotewotICAgIFdNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCA9IG93
bmVyU2VsZWN0RWxlbWVudCh0aGlzKTsKLSAgICBpZiAoIXNlbGVjdCB8fCBzZWxlY3QtPmZvY3Vz
ZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gc2VuZCB0byB0aGUgcGFyZW50IHRvIGJy
aW5nIGZvY3VzIHRvIHRoZSBsaXN0IGJveAotICAgIHNlbGVjdC0+YWNjZXNzS2V5QWN0aW9uKGZh
bHNlKTsKLX0KLQotdm9pZCBXTUxPcHRHcm91cEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29s
IGNoYW5nZWRCeVBhcnNlciwgTm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwg
aW50IGNoaWxkQ291bnREZWx0YSkKLXsKLSAgICByZWNhbGNTZWxlY3RPcHRpb25zKCk7Ci0gICAg
V01MRm9ybUNvbnRyb2xFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBi
ZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwotfQotCi12b2lkIFdN
TE9wdEdyb3VwRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQot
ewotICAgIFdNTEZvcm1Db250cm9sRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7
Ci0gICAgcmVjYWxjU2VsZWN0T3B0aW9ucygpOwotfQotCi12b2lkIFdNTE9wdEdyb3VwRWxlbWVu
dDo6YXR0YWNoKCkKLXsKLSAgICBpZiAocGFyZW50Tm9kZSgpLT5yZW5kZXJTdHlsZSgpKQotICAg
ICAgICBzZXRSZW5kZXJTdHlsZShzdHlsZUZvclJlbmRlcmVyKCkpOwotICAgIFdNTEZvcm1Db250
cm9sRWxlbWVudDo6YXR0YWNoKCk7Ci19Ci0KLXZvaWQgV01MT3B0R3JvdXBFbGVtZW50OjpkZXRh
Y2goKQotewotICAgIG1fc3R5bGUuY2xlYXIoKTsKLSAgICBXTUxGb3JtQ29udHJvbEVsZW1lbnQ6
OmRldGFjaCgpOwotfQotCi12b2lkIFdNTE9wdEdyb3VwRWxlbWVudDo6c2V0UmVuZGVyU3R5bGUo
UGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGUpCi17Ci0gICAgbV9zdHlsZSA9IHN0eWxlOwot
fQotCi1SZW5kZXJTdHlsZSogV01MT3B0R3JvdXBFbGVtZW50Ojpub25SZW5kZXJlclJlbmRlclN0
eWxlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9zdHlsZS5nZXQoKTsKLX0KLQotU3RyaW5nIFdN
TE9wdEdyb3VwRWxlbWVudDo6Z3JvdXBMYWJlbFRleHQoKSBjb25zdAotewotICAgIFN0cmluZyBp
dGVtVGV4dCA9IGRvY3VtZW50KCktPmRpc3BsYXlTdHJpbmdNb2RpZmllZEJ5RW5jb2RpbmcodGl0
bGUoKSk7Ci0KLSAgICAvLyBJbiBXaW5JRSwgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFj
ZSBpcyBpZ25vcmVkIGluIG9wdGlvbnMgYW5kIG9wdGdyb3Vwcy4gV2UgbWF0Y2ggdGhpcyBiZWhh
dmlvci4KLSAgICBpdGVtVGV4dCA9IGl0ZW1UZXh0LnN0cmlwV2hpdGVTcGFjZSgpOwotICAgIC8v
IFdlIHdhbnQgdG8gY29sbGFwc2Ugb3VyIHdoaXRlc3BhY2UgdG9vLiAgVGhpcyB3aWxsIG1hdGNo
IG90aGVyIGJyb3dzZXJzLgotICAgIGl0ZW1UZXh0ID0gaXRlbVRleHQuc2ltcGxpZnlXaGl0ZVNw
YWNlKCk7Ci0KLSAgICByZXR1cm4gaXRlbVRleHQ7Ci19Ci0KLXZvaWQgV01MT3B0R3JvdXBFbGVt
ZW50OjpyZWNhbGNTZWxlY3RPcHRpb25zKCkKLXsKLSAgICBpZiAoV01MU2VsZWN0RWxlbWVudCog
c2VsZWN0ID0gb3duZXJTZWxlY3RFbGVtZW50KHRoaXMpKQotICAgICAgICBzZWxlY3QtPnNldFJl
Y2FsY0xpc3RJdGVtcygpOwotfQotCi19Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUv
d21sL1dNTE9wdEdyb3VwRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dt
bC9XTUxPcHRHcm91cEVsZW1lbnQuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29y
ZS93bWwvV01MT3B0R3JvdXBFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNjIgKzAsMCBA
QAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0g
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01M
T3B0R3JvdXBFbGVtZW50X2gKLSNkZWZpbmUgV01MT3B0R3JvdXBFbGVtZW50X2gKLQotI2lmIEVO
QUJMRShXTUwpCi0jaW5jbHVkZSAiV01MRm9ybUNvbnRyb2xFbGVtZW50LmgiCi0jaW5jbHVkZSAi
T3B0aW9uR3JvdXBFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV01M
T3B0R3JvdXBFbGVtZW50IDogcHVibGljIFdNTEZvcm1Db250cm9sRWxlbWVudCwgcHVibGljIE9w
dGlvbkdyb3VwRWxlbWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V01MT3B0
R3JvdXBFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0K
LSAgICBXTUxPcHRHcm91cEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqKTsKLSAgICB2aXJ0dWFsIH5XTUxPcHRHcm91cEVsZW1lbnQoKTsKLQotICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKLQotICAgIHZp
cnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKikgeyByZXR1cm4gZmFsc2U7
IH0KLQotICAgIHZpcnR1YWwgdm9pZCBhY2Nlc3NLZXlBY3Rpb24oYm9vbCBzZW5kVG9BbnlFbGVt
ZW50KTsKLSAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFy
c2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0g
MCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwotICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLQotICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7Ci0gICAgdmlydHVhbCB2b2lkIHNldFJlbmRlclN0eWxl
KFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+KTsKLQotICAgIHZpcnR1YWwgU3RyaW5nIGdyb3VwTGFi
ZWxUZXh0KCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgdmlydHVhbCBSZW5kZXJTdHlsZSogbm9u
UmVuZGVyZXJSZW5kZXJTdHlsZSgpIGNvbnN0OwotICAgIHZvaWQgcmVjYWxjU2VsZWN0T3B0aW9u
cygpOwotCi1wcml2YXRlOgotICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9zdHlsZTsKLX07Ci0K
LX0KLQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxPcHRpb25F
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MT3B0aW9uRWxl
bWVudC5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTE9wdGlv
bkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE4NiArMCwwIEBACi0vKioKLSAqIENv
cHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAo
aHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
LSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0j
aWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxPcHRpb25FbGVtZW50LmgiCi0KLSNpbmNsdWRl
ICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJOb2RlUmVu
ZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIldNTE5hbWVz
LmgiCi0jaW5jbHVkZSAiV01MU2VsZWN0RWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLXVzaW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKLQotV01MT3B0aW9uRWxlbWVudDo6V01MT3B0
aW9uRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQot
ICAgIDogV01MRm9ybUNvbnRyb2xFbGVtZW50KHRhZ05hbWUsIGRvYykKLXsKLX0KLQotUGFzc1Jl
ZlB0cjxXTUxPcHRpb25FbGVtZW50PiBXTUxPcHRpb25FbGVtZW50OjpjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgV01MT3B0aW9uRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi1X
TUxPcHRpb25FbGVtZW50Ojp+V01MT3B0aW9uRWxlbWVudCgpCi17Ci19Ci0KLWNvbnN0IEF0b21p
Y1N0cmluZyYgV01MT3B0aW9uRWxlbWVudDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKLXsKLSAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgb3B0aW9uLCAoIm9wdGlv
biIpKTsKLSAgICByZXR1cm4gb3B0aW9uOwotfQotCi1zdGF0aWMgaW5saW5lIFdNTFNlbGVjdEVs
ZW1lbnQqIG93bmVyU2VsZWN0RWxlbWVudChFbGVtZW50KiBlbGVtZW50KQotewotICAgIENvbnRh
aW5lck5vZGUqIHNlbGVjdCA9IGVsZW1lbnQtPnBhcmVudE5vZGUoKTsKLSAgICB3aGlsZSAoc2Vs
ZWN0ICYmICFzZWxlY3QtPmhhc1RhZ05hbWUoc2VsZWN0VGFnKSkKLSAgICAgICAgc2VsZWN0ID0g
c2VsZWN0LT5wYXJlbnROb2RlKCk7Ci0KLSAgICBpZiAoIXNlbGVjdCkKLSAgICAgICAgcmV0dXJu
IDA7Ci0KLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V01MU2VsZWN0RWxlbWVudCo+KHNlbGVjdCk7
Ci19Ci0KLXZvaWQgV01MT3B0aW9uRWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wpCi17Ci0g
ICAgaWYgKFdNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCA9IG93bmVyU2VsZWN0RWxlbWVudCh0aGlz
KSkKLSAgICAgICAgc2VsZWN0LT5hY2Nlc3NLZXlTZXRTZWxlY3RlZEluZGV4KE9wdGlvbkVsZW1l
bnQ6Om9wdGlvbkluZGV4KHNlbGVjdCwgdGhpcykpOwotfQotCi12b2lkIFdNTE9wdGlvbkVsZW1l
bnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciwgTm9kZSogYmVmb3JlQ2hh
bmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0YSkKLXsKLSAgICBpZiAo
V01MU2VsZWN0RWxlbWVudCogc2VsZWN0ID0gb3duZXJTZWxlY3RFbGVtZW50KHRoaXMpKQotICAg
ICAgICBzZWxlY3QtPmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIpOwotCi0gICAgV01M
Rm9ybUNvbnRyb2xFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZv
cmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwotfQotCi12b2lkIFdNTE9w
dGlvbkVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKLXsKLSAg
ICBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6dmFsdWVBdHRyKQotICAgICAgICBtX2Rh
dGEuc2V0VmFsdWUocGFyc2VWYWx1ZVN1YnN0aXR1dGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhhdHRy
LT52YWx1ZSgpKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6dGl0
bGVBdHRyKQotICAgICAgICBtX2RhdGEuc2V0TGFiZWwocGFyc2VWYWx1ZVN1YnN0aXR1dGluZ1Zh
cmlhYmxlUmVmZXJlbmNlcyhhdHRyLT52YWx1ZSgpKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFt
ZSgpID09IG9ucGlja0F0dHIpIHsKLSAgICAgICAgLy8gUmVnaXN0ZXIgaW50cmluc2ljIGV2ZW50
IGluIGNhcmQKLSAgICAgICAgUmVmUHRyPFdNTEludHJpbnNpY0V2ZW50PiBldmVudCA9IFdNTElu
dHJpbnNpY0V2ZW50OjpjcmVhdGUoZG9jdW1lbnQoKSwgYXR0ci0+dmFsdWUoKSk7Ci0KLSAgICAg
ICAgY3JlYXRlRXZlbnRIYW5kbGVySWZOZWVkZWQoKTsKLSAgICAgICAgZXZlbnRIYW5kbGVyKCkt
PnJlZ2lzdGVySW50cmluc2ljRXZlbnQoV01MSW50cmluc2ljRXZlbnRPblBpY2ssIGV2ZW50KTsK
LSAgICB9IGVsc2UKLSAgICAgICAgV01MRm9ybUNvbnRyb2xFbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShhdHRyKTsKLX0KLQotdm9pZCBXTUxPcHRpb25FbGVtZW50OjphdHRhY2goKQotewot
ICAgIGlmIChwYXJlbnROb2RlKCktPnJlbmRlclN0eWxlKCkpCi0gICAgICAgIHNldFJlbmRlclN0
eWxlKHN0eWxlRm9yUmVuZGVyZXIoKSk7Ci0gICAgV01MRm9ybUNvbnRyb2xFbGVtZW50OjphdHRh
Y2goKTsKLX0KLQotdm9pZCBXTUxPcHRpb25FbGVtZW50OjpkZXRhY2goKQotewotICAgIG1fc3R5
bGUuY2xlYXIoKTsKLSAgICBXTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRldGFjaCgpOwotfQotCi12
b2lkIFdNTE9wdGlvbkVsZW1lbnQ6OnNldFJlbmRlclN0eWxlKFBhc3NSZWZQdHI8UmVuZGVyU3R5
bGU+IHN0eWxlKQotewotICAgIG1fc3R5bGUgPSBzdHlsZTsKLX0KLQotdm9pZCBXTUxPcHRpb25F
bGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCi17Ci0gICAgV01MU2VsZWN0RWxlbWVudCog
c2VsZWN0OwotICAgIGlmIChzZWxlY3RlZCgpICYmIChzZWxlY3QgPSBvd25lclNlbGVjdEVsZW1l
bnQodGhpcykpKQotICAgICAgICBzZWxlY3QtPnNjcm9sbFRvU2VsZWN0aW9uKCk7Ci0KLSAgICBX
TUxGb3JtQ29udHJvbEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCk7Ci19Ci0KLWJvb2wg
V01MT3B0aW9uRWxlbWVudDo6c2VsZWN0ZWQoKSBjb25zdAotewotICAgIHJldHVybiBtX2RhdGEu
c2VsZWN0ZWQoKTsKLX0KLQotdm9pZCBXTUxPcHRpb25FbGVtZW50OjpzZXRTZWxlY3RlZFN0YXRl
KGJvb2wgc2VsZWN0ZWQpCi17Ci0gICAgaWYgKHRoaXMtPnNlbGVjdGVkKCkgPT0gc2VsZWN0ZWQp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIE9wdGlvbkVsZW1lbnQ6OnNldFNlbGVjdGVkU3RhdGUo
bV9kYXRhLCB0aGlzLCBzZWxlY3RlZCk7Ci0KLSAgICBpZiAoV01MU2VsZWN0RWxlbWVudCogc2Vs
ZWN0ID0gb3duZXJTZWxlY3RFbGVtZW50KHRoaXMpKSB7Ci0gICAgICAgIGlmIChzZWxlY3QtPm11
bHRpcGxlKCkgfHwgc2VsZWN0ZWQpCi0gICAgICAgICAgICBoYW5kbGVJbnRyaW5zaWNFdmVudElm
TmVlZGVkKCk7Ci0gICAgfQotfQotCi1TdHJpbmcgV01MT3B0aW9uRWxlbWVudDo6dmFsdWUoKSBj
b25zdAotewotICAgIHJldHVybiBPcHRpb25FbGVtZW50Ojpjb2xsZWN0T3B0aW9uVmFsdWUobV9k
YXRhLCB0aGlzKTsKLX0KLQotU3RyaW5nIFdNTE9wdGlvbkVsZW1lbnQ6OnRleHQoKSBjb25zdAot
ewotICAgIHJldHVybiBPcHRpb25FbGVtZW50Ojpjb2xsZWN0T3B0aW9uTGFiZWxPclRleHQobV9k
YXRhLCB0aGlzKTsKLX0KLQotU3RyaW5nIFdNTE9wdGlvbkVsZW1lbnQ6OnRleHRJbmRlbnRlZFRv
UmVzcGVjdEdyb3VwTGFiZWwoKSBjb25zdAotewotICAgIHJldHVybiBPcHRpb25FbGVtZW50Ojpj
b2xsZWN0T3B0aW9uVGV4dFJlc3BlY3RpbmdHcm91cExhYmVsKG1fZGF0YSwgdGhpcyk7Ci19Ci0K
LVJlbmRlclN0eWxlKiBXTUxPcHRpb25FbGVtZW50Ojpub25SZW5kZXJlclJlbmRlclN0eWxlKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gbV9zdHlsZS5nZXQoKTsKLX0KLQotdm9pZCBXTUxPcHRpb25F
bGVtZW50OjpoYW5kbGVJbnRyaW5zaWNFdmVudElmTmVlZGVkKCkKLXsKLSAgICBXTUxTZWxlY3RF
bGVtZW50KiBzZWxlY3QgPSBvd25lclNlbGVjdEVsZW1lbnQodGhpcyk7Ci0gICAgaWYgKCFzZWxl
Y3QgfHwgIXNlbGVjdC0+aW5pdGlhbGl6ZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgV01M
SW50cmluc2ljRXZlbnRIYW5kbGVyKiBldmVudEhhbmRsZXIgPSB0aGlzLT5ldmVudEhhbmRsZXIo
KTsKLSAgICBpZiAoIWV2ZW50SGFuZGxlcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGV2
ZW50SGFuZGxlci0+aGFzSW50cmluc2ljRXZlbnQoV01MSW50cmluc2ljRXZlbnRPblBpY2spKQot
ICAgICAgICBldmVudEhhbmRsZXItPnRyaWdnZXJJbnRyaW5zaWNFdmVudChXTUxJbnRyaW5zaWNF
dmVudE9uUGljayk7Ci19Ci0KLWJvb2wgV01MT3B0aW9uRWxlbWVudDo6ZGlzYWJsZWQoKSBjb25z
dAotewotICAgIC8qIER1bW15IGltcGxlbWVudGF0aW9uLCBhcyBkaXNhYmxlZCgpIGlzIHB1cmUg
dmlydHVhbCBpbiBPcHRpb25FbGVtZW50IGNsYXNzICovCi0gICAgcmV0dXJuIGZhbHNlOwotfQot
Ci19Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTE9wdGlvbkVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MT3B0aW9uRWxlbWVudC5oCShy
ZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxPcHRpb25FbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNzMgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9y
Y2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0g
KgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
LSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01MT3B0aW9uRWxlbWVudF9oCi0jZGVmaW5lIFdN
TE9wdGlvbkVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJPcHRpb25FbGVt
ZW50LmgiCi0jaW5jbHVkZSAiV01MRm9ybUNvbnRyb2xFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01M
RXZlbnRIYW5kbGluZ0VsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBX
TUxPcHRpb25FbGVtZW50IDogcHVibGljIFdNTEZvcm1Db250cm9sRWxlbWVudCwgcHVibGljIFdN
TEV2ZW50SGFuZGxpbmdFbGVtZW50LCBwdWJsaWMgT3B0aW9uRWxlbWVudCB7Ci1wdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8V01MT3B0aW9uRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgV01MT3B0aW9uRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwotICAgIHZpcnR1YWwgfldNTE9wdGlvbkVs
ZW1lbnQoKTsKLQotICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5
cGUoKSBjb25zdDsKLQotICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0
eWxlKikgeyByZXR1cm4gZmFsc2U7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBhY2Nlc3NLZXlBY3Rp
b24oYm9vbCBzZW5kVG9BbnlFbGVtZW50KTsKLSAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFu
Z2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAs
IE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwotICAgIHZp
cnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLQotICAgIHZpcnR1
YWwgdm9pZCBhdHRhY2goKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7Ci0gICAgdmlydHVh
bCB2b2lkIHNldFJlbmRlclN0eWxlKFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+KTsKLQotICAgIHZp
cnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwotCi0gICAgdmlydHVhbCBib29sIHNl
bGVjdGVkKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGVkU3RhdGUoYm9vbCk7
Ci0KLSAgICB2aXJ0dWFsIFN0cmluZyB0ZXh0KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBTdHJpbmcg
dGV4dEluZGVudGVkVG9SZXNwZWN0R3JvdXBMYWJlbCgpIGNvbnN0OwotICAgIHZpcnR1YWwgU3Ry
aW5nIHZhbHVlKCkgY29uc3Q7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgZGlzYWJsZWQoKSBjb25zdDsK
LQotcHJpdmF0ZToKLSAgICB2aXJ0dWFsIFJlbmRlclN0eWxlKiBub25SZW5kZXJlclJlbmRlclN0
eWxlKCkgY29uc3Q7Ci0gICAgdm9pZCBoYW5kbGVJbnRyaW5zaWNFdmVudElmTmVlZGVkKCk7Ci0K
LXByaXZhdGU6Ci0gICAgT3B0aW9uRWxlbWVudERhdGEgbV9kYXRhOwotICAgIFJlZlB0cjxSZW5k
ZXJTdHlsZT4gbV9zdHlsZTsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3dtbC9XTUxQRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd21sL1dNTFBFbGVtZW50LmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29y
ZS93bWwvV01MUEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDExOCArMCwwIEBACi0v
KioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIENvcHlyaWdodCAo
QykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogICAgICAgICAgIChDKSAxOTk5
IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0g
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgot
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5o
IgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxQRWxlbWVudC5oIgotCi0jaW5jbHVk
ZSAiQXR0cmlidXRlLmgiCi0jaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgotI2luY2x1ZGUg
IkNTU1ZhbHVlS2V5d29yZHMuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIkhU
TUxOYW1lcy5oIgotI2luY2x1ZGUgIk5vZGVMaXN0LmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdN
TFBFbGVtZW50OjpXTUxQRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jKQotICAgIDogV01MRWxlbWVudCh0YWdOYW1lLCBkb2MpCi17Ci19Ci0KLVBhc3NS
ZWZQdHI8V01MUEVsZW1lbnQ+IFdNTFBFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgV01MUEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotYm9vbCBXTUxQRWxlbWVu
dDo6bWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwgTWFwcGVkQXR0cmli
dXRlRW50cnkmIHJlc3VsdCkgY29uc3QKLXsKLSAgICBpZiAoYXR0ck5hbWUgPT0gSFRNTE5hbWVz
OjphbGlnbkF0dHIpIHsKLSAgICAgICAgcmVzdWx0ID0gZUJsb2NrOyAvLyBXZSBjYW4gc2hhcmUg
d2l0aCBESVYgaGVyZS4KLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJldHVy
biBXTUxFbGVtZW50OjptYXBUb0VudHJ5KGF0dHJOYW1lLCByZXN1bHQpOwotfQotCi12b2lkIFdN
TFBFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCi17Ci0gICAg
aWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OmFsaWduQXR0cikgewotICAgICAgICBjb25z
dCBBdG9taWNTdHJpbmcmIHZhbHVlID0gYXR0ci0+dmFsdWUoKTsKLSAgICAgICAgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKHZhbHVlLCAibWlkZGxlIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUs
ICJjZW50ZXIiKSkKLSAgICAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU1Byb3BlcnR5
VGV4dEFsaWduLCBDU1NWYWx1ZVdlYmtpdENlbnRlcik7Ci0gICAgICAgIGVsc2UgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKHZhbHVlLCAibGVmdCIpKQotICAgICAgICAgICAgYWRkQ1NTUHJvcGVydHko
YXR0ciwgQ1NTUHJvcGVydHlUZXh0QWxpZ24sIENTU1ZhbHVlV2Via2l0TGVmdCk7Ci0gICAgICAg
IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLCAicmlnaHQiKSkKLSAgICAgICAgICAg
IGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU1Byb3BlcnR5VGV4dEFsaWduLCBDU1NWYWx1ZVdlYmtp
dFJpZ2h0KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwg
Q1NTUHJvcGVydHlUZXh0QWxpZ24sIHZhbHVlKTsKLSAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBtb2RlQXR0cikgewotICAgICAgICBtX21vZGUgPSBhdHRyLT52YWx1ZSgpOwotICAgICAg
ICBpZiAobV9tb2RlID09ICJ3cmFwIikKLSAgICAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIs
IENTU1Byb3BlcnR5V29yZFdyYXAsIENTU1ZhbHVlQnJlYWtXb3JkKTsKLSAgICAgICAgZWxzZSBp
ZiAobV9tb2RlID09ICJub3dyYXAiKQotICAgICAgICAgICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwg
Q1NTUHJvcGVydHlXaGl0ZVNwYWNlLCBDU1NWYWx1ZU5vd3JhcCk7Ci0gICAgfSBlbHNlCi0gICAg
ICAgIFdNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwotfQotCi12b2lkIFdN
TFBFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCi17Ci0gICAgV01MRWxlbWVudDo6aW5z
ZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLQotICAgIC8vIElmIG5vdCBleHBsaWNpdGx5IHNwZWNpZmll
ZCwgdGhlIGxpbmV3cmFwIG1vZGUgaXMgaWRlbnRpY2FsIHRvIAotICAgIC8vIHRoZSBsaW5lLXdy
YXAgbW9kZSBvZiB0aGUgcHJldmlvdXMgcGFyYWdyYXBoIGluIHRoZSB0ZXh0IGZsb3cgb2YKLSAg
ICAvLyBhIGNhcmQuIFRoZSBkZWZhdWx0IG1vZGUgZm9yIHRoZSBmaXJzdCBwYXJhZ3JhcGggaW4g
YSBjYXJkIGlzIHdyYXAuCi0gICAgaWYgKCFtX21vZGUuaXNFbXB0eSgpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBSZWZQdHI8Tm9kZUxpc3Q+IG5vZGVMaXN0ID0gZG9jdW1lbnQoKS0+Z2V0RWxl
bWVudHNCeVRhZ05hbWUoInAiKTsKLSAgICBpZiAoIW5vZGVMaXN0KQotICAgICAgICByZXR1cm47
Ci0KLSAgICB1bnNpZ25lZCBsZW5ndGggPSBub2RlTGlzdC0+bGVuZ3RoKCk7Ci0gICAgaWYgKGxl
bmd0aCA8IDIpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIEFzc3VyZSB3ZSdyZSB0aGUgbGFz
dCBpbnNlcnRlZCBwYXJhZ3JhcGggZWxlbWVudAotICAgIC8vIFRoaXMgb25seSB3b3JrcyB3aGls
ZSBwYXJzaW5nLCBvdGhlcndoaXNlIHRoaXMgc3RhdGVtZW50IGlzIG5ldmVyIHRydWUuCi0gICAg
aWYgKG5vZGVMaXN0LT5pdGVtKGxlbmd0aCAtIDEpICE9IHRoaXMpCi0gICAgICAgIHJldHVybjsK
LQotICAgIFdNTFBFbGVtZW50KiBsYXN0UGFyYWdyYXBoID0gc3RhdGljX2Nhc3Q8V01MUEVsZW1l
bnQqPihub2RlTGlzdC0+aXRlbShsZW5ndGggLSAyKSk7Ci0gICAgQVNTRVJUKGxhc3RQYXJhZ3Jh
cGgpOwotCi0gICAgU3RyaW5nIGxhc3RNb2RlID0gbGFzdFBhcmFncmFwaC0+Z2V0QXR0cmlidXRl
KG1vZGVBdHRyKTsKLSAgICBpZiAobGFzdE1vZGUuaXNFbXB0eSgpIHx8IGxhc3RNb2RlID09ICJ3
cmFwIikgLy8gRGVmYXVsdCB2YWx1ZSwgZG8gbm90aGluZy4KLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgc2V0QXR0cmlidXRlKG1vZGVBdHRyLCBsYXN0TW9kZSk7Ci19Ci0KLX0KLQotI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MUEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS93bWwvV01MUEVsZW1lbnQuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2Uv
V2ViQ29yZS93bWwvV01MUEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1MCArMCwwIEBA
Ci0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIENvcHlyaWdo
dCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogICAgICAgICAgIChDKSAx
OTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
Ci0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0g
KgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0g
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxQRWxl
bWVudF9oCi0jZGVmaW5lIFdNTFBFbGVtZW50X2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVk
ZSAiV01MRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdNTFBFbGVt
ZW50IDogcHVibGljIFdNTEVsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFdNTFBFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0K
LSAgICBXTUxQRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCop
OwotCi0gICAgdmlydHVhbCBib29sIG1hcFRvRW50cnkoY29uc3QgUXVhbGlmaWVkTmFtZSYsIE1h
cHBlZEF0dHJpYnV0ZUVudHJ5JikgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVk
QXR0cmlidXRlKEF0dHJpYnV0ZSopOwotCi0gICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b0Rv
Y3VtZW50KCk7Ci0KLXByaXZhdGU6Ci0gICAgU3RyaW5nIG1fbW9kZTsKLX07Ci0KLX0KLQotI2Vu
ZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQYWdlU3RhdGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQYWdlU3RhdGUuY3BwCShyZXZpc2lv
biA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQYWdlU3RhdGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDI2NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5
IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNo
bW9iaWxlLmNvbS8pCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
Ci0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01M
KQotI2luY2x1ZGUgIldNTFBhZ2VTdGF0ZS5oIgotCi0jaW5jbHVkZSAiQmFja0ZvcndhcmRDb250
cm9sbGVyLmgiCi0jaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0LmgiCi0jaW5jbHVkZSAiRG9jdW1l
bnQuaCIKLSNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCi0jaW5j
bHVkZSAiS1VSTC5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9DU3Ry
aW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV01MUGFnZVN0YXRlOjpXTUxQYWdlU3Rh
dGUoUGFnZSogcGFnZSkKLSAgICA6IG1fcGFnZShwYWdlKQotICAgICwgbV9oYXNBY2Nlc3NDb250
cm9sRGF0YShmYWxzZSkKLXsKLX0KLQotV01MUGFnZVN0YXRlOjp+V01MUGFnZVN0YXRlKCkKLXsK
LSAgICBtX3ZhcmlhYmxlcy5jbGVhcigpOwotfQotCi0jaWZuZGVmIE5ERUJVRwotLy8gRGVidWdn
aW5nIGhlbHBlciBmb3IgdXNlIHdpdGhpbiBnZGIKLXZvaWQgV01MUGFnZVN0YXRlOjpkdW1wKCkK
LXsKLSAgICBXTUxWYXJpYWJsZU1hcDo6aXRlcmF0b3IgaXQgPSBtX3ZhcmlhYmxlcy5iZWdpbigp
OwotICAgIFdNTFZhcmlhYmxlTWFwOjppdGVyYXRvciBlbmQgPSBtX3ZhcmlhYmxlcy5lbmQoKTsK
LQotICAgIGZwcmludGYoc3RkZXJyLCAiRHVtcGluZyBXTUxQYWdlU3RhdGUgKHRoaXM9JXApIGFz
c29jaWF0ZWQgd2l0aCBQYWdlIChwYWdlPSVwKS4uLlxuIiwgdGhpcywgbV9wYWdlKTsKLSAgICBm
b3IgKDsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlx0LT4gbmFt
ZTogJyVzJ1x0dmFsdWU6ICclcydcbiIsICgqaXQpLmZpcnN0LmxhdGluMSgpLmRhdGEoKSwgKCpp
dCkuc2Vjb25kLmxhdGluMSgpLmRhdGEoKSk7Ci19Ci0jZW5kaWYKLQotdm9pZCBXTUxQYWdlU3Rh
dGU6OnJlc2V0KCkKLXsKLSAgICAvLyBSZW1vdmUgYWxsIHRoZSB2YXJpYWJsZXMKLSAgICBtX3Zh
cmlhYmxlcy5jbGVhcigpOwotCi0gICAgLy8gQ2xlYXIgdGhlIG5hdmlnYXRpb24gaGlzdG9yeSBz
dGF0ZSAKLSAgICBpZiAobV9wYWdlKQotICAgICAgICBtX3BhZ2UtPmJhY2tGb3J3YXJkKCktPmNs
aWVudCgpLT5jbGVhcldNTFBhZ2VIaXN0b3J5KCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgU3RyaW5n
IG5vcm1hbGl6ZWRIb3N0TmFtZShjb25zdCBTdHJpbmcmIHBhc3NlZEhvc3QpCi17Ci0gICAgaWYg
KHBhc3NlZEhvc3QuY29udGFpbnMoIjEyNy4wLjAuMSIpKSB7Ci0gICAgICAgIFN0cmluZyBob3N0
ID0gcGFzc2VkSG9zdDsKLSAgICAgICAgcmV0dXJuIGhvc3QucmVwbGFjZSgiMTI3LjAuMC4xIiwg
ImxvY2FsaG9zdCIpOwotICAgIH0KLQotICAgIHJldHVybiBwYXNzZWRIb3N0OwotfQotCi1zdGF0
aWMgaW5saW5lIFN0cmluZyBob3N0RnJvbVVSTChjb25zdCBLVVJMJiB1cmwpCi17Ci0gICAgLy8g
RGVmYXVsdCB0byAibG9jYWxob3N0IgotICAgIFN0cmluZyBob3N0ID0gbm9ybWFsaXplZEhvc3RO
YW1lKHVybC5ob3N0KCkpOwotICAgIHJldHVybiBob3N0LmlzRW1wdHkoKSA/ICJsb2NhbGhvc3Qi
IDogaG9zdDsKLX0KLQotc3RhdGljIEtVUkwgdXJsRm9ySGlzdG9yeUl0ZW0oRnJhbWUqIGZyYW1l
LCBIaXN0b3J5SXRlbSogaXRlbSkKLXsKLSAgICAvLyBGb3IgTGF5b3V0VGVzdHMgd2UgbmVlZCB0
byBmaW5kIHRoZSBjb3JyZXNwb25kaW5nIFdNTCBmcmFtZSBpbiB0aGUgdGVzdCBkb2N1bWVudAot
ICAgIC8vIHRvIGJlIGFibGUgdG8gdGVzdCBhY2Nlc3MtY29udHJvbCBjb3JyZWN0bHkuIFJlbWVt
YmVyIHRoYXQgV01MIGlzIG5ldmVyIHN1cHBvc2VkCi0gICAgLy8gdG8gYmUgZW1iZWRkZWQgYW55
d2hlcmUsIHNvIHRoZSBwdXJwb3NlIGlzIHRvIHNpbXVsYXRlIGEgc3RhbmRhbG9uZSBXTUwgZG9j
dW1lbnQuCi0gICAgaWYgKGZyYW1lLT5kb2N1bWVudCgpLT5pc1dNTERvY3VtZW50KCkpCi0gICAg
ICAgIHJldHVybiBpdGVtLT51cmwoKTsKLQotICAgIGNvbnN0IEhpc3RvcnlJdGVtVmVjdG9yJiBj
aGlsZEl0ZW1zID0gaXRlbS0+Y2hpbGRyZW4oKTsKLSAgICBIaXN0b3J5SXRlbVZlY3Rvcjo6Y29u
c3RfaXRlcmF0b3IgaXQgPSBjaGlsZEl0ZW1zLmJlZ2luKCk7Ci0gICAgY29uc3QgSGlzdG9yeUl0
ZW1WZWN0b3I6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGNoaWxkSXRlbXMuZW5kKCk7Ci0KLSAgICBm
b3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIGNvbnN0IFJlZlB0cjxIaXN0b3J5SXRl
bT4gY2hpbGRJdGVtID0gKml0OwotICAgICAgICBGcmFtZSogY2hpbGRGcmFtZSA9IGZyYW1lLT50
cmVlKCktPmNoaWxkKGNoaWxkSXRlbS0+dGFyZ2V0KCkpOwotICAgICAgICBpZiAoIWNoaWxkRnJh
bWUpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBpZiAoRG9jdW1lbnQqIGNoaWxk
RG9jdW1lbnQgPSBjaGlsZEZyYW1lLT5kb2N1bWVudCgpKSB7Ci0gICAgICAgICAgICBpZiAoY2hp
bGREb2N1bWVudC0+aXNXTUxEb2N1bWVudCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBjaGls
ZEl0ZW0tPnVybCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIGl0ZW0tPnVybCgp
OwotfQotCi1zdGF0aWMgYm9vbCB0cnlBY2Nlc3NIaXN0b3J5VVJMcyhQYWdlKiBwYWdlLCBLVVJM
JiBwcmV2aW91c1VSTCwgS1VSTCYgY3VycmVudFVSTCkKLXsKLSAgICBpZiAoIXBhZ2UpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgp
OwotICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5kb2N1bWVudCgpKSAgICAKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgSGlzdG9yeUl0ZW0qIHByZXZpb3VzSXRlbSA9IHBhZ2UtPmJhY2tG
b3J3YXJkKCktPmJhY2tJdGVtKCk7Ci0gICAgaWYgKCFwcmV2aW91c0l0ZW0pCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIEhpc3RvcnlJdGVtKiBjdXJyZW50SXRlbSA9IHBhZ2UtPmJhY2tG
b3J3YXJkKCktPmN1cnJlbnRJdGVtKCk7Ci0gICAgaWYgKCFjdXJyZW50SXRlbSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcHJldmlvdXNVUkwgPSB1cmxGb3JIaXN0b3J5SXRlbShmcmFt
ZSwgcHJldmlvdXNJdGVtKTsKLSAgICBjdXJyZW50VVJMID0gdXJsRm9ySGlzdG9yeUl0ZW0oZnJh
bWUsIGN1cnJlbnRJdGVtKTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIFdNTFBhZ2VT
dGF0ZTo6cHJvY2Vzc0FjY2Vzc0NvbnRyb2xEYXRhKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25z
dCBTdHJpbmcmIHBhdGgpCi17Ci0gICAgaWYgKG1faGFzQWNjZXNzQ29udHJvbERhdGEpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIG1faGFzQWNjZXNzQ29udHJvbERhdGEgPSB0cnVlOwot
Ci0gICAgS1VSTCBwcmV2aW91c1VSTCwgY3VycmVudFVSTDsKLSAgICBpZiAoIXRyeUFjY2Vzc0hp
c3RvcnlVUkxzKG1fcGFnZSwgcHJldmlvdXNVUkwsIGN1cnJlbnRVUkwpKQotICAgICAgICByZXR1
cm4gdHJ1ZTsKLQotICAgIC8vIFNwZWM6IFRoZSBwYXRoIGF0dHJpYnV0ZSBkZWZhdWx0cyB0byB0
aGUgdmFsdWUgIi8iCi0gICAgbV9hY2Nlc3NQYXRoID0gcGF0aC5pc0VtcHR5KCkgPyAiLyIgOiBw
YXRoOwotCi0gICAgLy8gU3BlYzogVGhlIGRvbWFpbiBhdHRyaWJ1dGUgZGVmYXVsdHMgdG8gdGhl
IGN1cnJlbnQgZGVja3MgZG9tYWluLgotICAgIFN0cmluZyBwcmV2aW91c0hvc3QgPSBob3N0RnJv
bVVSTChwcmV2aW91c1VSTCk7Ci0gICAgbV9hY2Nlc3NEb21haW4gPSBkb21haW4uaXNFbXB0eSgp
ID8gcHJldmlvdXNIb3N0IDogbm9ybWFsaXplZEhvc3ROYW1lKGRvbWFpbik7Ci0KLSAgICAvLyBT
cGVjOiBUbyBzaW1wbGlmeSB0aGUgZGV2ZWxvcG1lbnQgb2YgYXBwbGljYXRpb25zIHRoYXQgbWF5
IG5vdCBrbm93IHRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSAKLSAgICAvLyBjdXJyZW50IGRlY2ss
IHRoZSBwYXRoIGF0dHJpYnV0ZSBhY2NlcHRzIHJlbGF0aXZlIFVSSXMuIFRoZSB1c2VyIGFnZW50
IGNvbnZlcnRzIHRoZSByZWxhdGl2ZSAKLSAgICAvLyBwYXRoIHRvIGFuIGFic29sdXRlIHBhdGgg
YW5kIHRoZW4gcGVyZm9ybXMgcHJlZml4IG1hdGNoaW5nIGFnYWluc3QgdGhlIFBBVEggYXR0cmli
dXRlLgotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fcGFnZS0+bWFpbkZyYW1lKCkgPyBtX3Bh
Z2UtPm1haW5GcmFtZSgpLT5kb2N1bWVudCgpIDogMDsKLSAgICBpZiAoZG9jdW1lbnQgJiYgcHJl
dmlvdXNIb3N0ID09IG1fYWNjZXNzRG9tYWluICYmICFtX2FjY2Vzc1BhdGguc3RhcnRzV2l0aCgi
LyIpKSB7Ci0gICAgICAgIFN0cmluZyBjdXJyZW50UGF0aCA9IGN1cnJlbnRVUkwucGF0aCgpOwot
Ci0gICAgICAgIHNpemVfdCBpbmRleCA9IGN1cnJlbnRQYXRoLnJldmVyc2VGaW5kKCcvJyk7Ci0g
ICAgICAgIGlmIChpbmRleCAhPSBXVEY6Om5vdEZvdW5kKQotICAgICAgICAgICAgbV9hY2Nlc3NQ
YXRoID0gZG9jdW1lbnQtPmNvbXBsZXRlVVJMKGN1cnJlbnRQYXRoLmxlZnQoaW5kZXggKyAxKSAr
IG1fYWNjZXNzUGF0aCkucGF0aCgpOwotICAgIH0KLQotICAgIHJldHVybiB0cnVlOwotfQotCi12
b2lkIFdNTFBhZ2VTdGF0ZTo6cmVzZXRBY2Nlc3NDb250cm9sRGF0YSgpCi17Ci0gICAgbV9oYXNB
Y2Nlc3NDb250cm9sRGF0YSA9IGZhbHNlOwotICAgIG1fYWNjZXNzRG9tYWluID0gU3RyaW5nKCk7
Ci0gICAgbV9hY2Nlc3NQYXRoID0gU3RyaW5nKCk7Ci19Ci0KLWJvb2wgV01MUGFnZVN0YXRlOjpj
YW5BY2Nlc3NEZWNrKCkgY29uc3QKLXsKLSAgICBpZiAoIW1faGFzQWNjZXNzQ29udHJvbERhdGEp
Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgS1VSTCBwcmV2aW91c1VSTCwgY3VycmVudFVS
TDsKLSAgICBpZiAoIXRyeUFjY2Vzc0hpc3RvcnlVUkxzKG1fcGFnZSwgcHJldmlvdXNVUkwsIGN1
cnJlbnRVUkwpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChlcXVhbElnbm9yaW5n
RnJhZ21lbnRJZGVudGlmaWVyKHByZXZpb3VzVVJMLCBjdXJyZW50VVJMKSkKLSAgICAgICByZXR1
cm4gdHJ1ZTsKLQotICAgIHJldHVybiBob3N0SXNBbGxvd2VkVG9BY2Nlc3MoaG9zdEZyb21VUkwo
cHJldmlvdXNVUkwpKSAmJiBwYXRoSXNBbGxvd2VkVG9BY2Nlc3MocHJldmlvdXNVUkwucGF0aCgp
KTsKLX0KLQotYm9vbCBXTUxQYWdlU3RhdGU6Omhvc3RJc0FsbG93ZWRUb0FjY2Vzcyhjb25zdCBT
dHJpbmcmIGhvc3QpIGNvbnN0Ci17Ci0gICAgLy8gU3BlYzogVGhlIGFjY2VzcyBkb21haW4gaXMg
c3VmZml4LW1hdGNoZWQgYWdhaW5zdCB0aGUgZG9tYWluIG5hbWUgcG9ydGlvbiBvZiB0aGUgcmVm
ZXJyaW5nIFVSSQotICAgIFZlY3RvcjxTdHJpbmc+IHN1YmRvbWFpbnNBbGxvd2VkOwotICAgIGlm
IChtX2FjY2Vzc0RvbWFpbi5jb250YWlucygnLicpKQotICAgICAgICBtX2FjY2Vzc0RvbWFpbi5z
cGxpdCgnLicsIHN1YmRvbWFpbnNBbGxvd2VkKTsKLSAgICBlbHNlCi0gICAgICAgIHN1YmRvbWFp
bnNBbGxvd2VkLmFwcGVuZChtX2FjY2Vzc0RvbWFpbik7Ci0KLSAgICBWZWN0b3I8U3RyaW5nPiBz
dWJkb21haW5zQ2hlY2s7Ci0gICAgaWYgKGhvc3QuY29udGFpbnMoJy4nKSkKLSAgICAgICAgaG9z
dC5zcGxpdCgnLicsIHN1YmRvbWFpbnNDaGVjayk7Ci0gICAgZWxzZQotICAgICAgICBzdWJkb21h
aW5zQ2hlY2suYXBwZW5kKGhvc3QpOwotCi0gICAgVmVjdG9yPFN0cmluZz46Oml0ZXJhdG9yIGl0
QWxsb3dlZCA9IHN1YmRvbWFpbnNBbGxvd2VkLmVuZCgpIC0gMTsKLSAgICBWZWN0b3I8U3RyaW5n
Pjo6aXRlcmF0b3IgYmVnaW5BbGxvd2VkID0gc3ViZG9tYWluc0FsbG93ZWQuYmVnaW4oKTsKLQot
ICAgIFZlY3RvcjxTdHJpbmc+OjppdGVyYXRvciBpdENoZWNrID0gc3ViZG9tYWluc0NoZWNrLmVu
ZCgpIC0gMTsKLSAgICBWZWN0b3I8U3RyaW5nPjo6aXRlcmF0b3IgYmVnaW5DaGVjayA9IHN1YmRv
bWFpbnNDaGVjay5iZWdpbigpOwotCi0gICAgYm9vbCBob3N0T2sgPSB0cnVlOwotICAgIGZvciAo
OyBpdEFsbG93ZWQgPj0gYmVnaW5BbGxvd2VkICYmIGl0Q2hlY2sgPj0gYmVnaW5DaGVjazsgKSB7
Ci0gICAgICAgIGlmICgqaXRBbGxvd2VkICE9ICppdENoZWNrKSB7Ci0gICAgICAgICAgICBob3N0
T2sgPSBmYWxzZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgLS1p
dEFsbG93ZWQ7Ci0gICAgICAgIC0taXRDaGVjazsKLSAgICB9Ci0KLSAgICByZXR1cm4gaG9zdE9r
OwotfQotCi1ib29sIFdNTFBhZ2VTdGF0ZTo6cGF0aElzQWxsb3dlZFRvQWNjZXNzKGNvbnN0IFN0
cmluZyYgcGF0aCkgY29uc3QKLXsKLSAgICAvLyBTcGVjOiBUaGUgYWNjZXNzIHBhdGggaXMgcHJl
Zml4IG1hdGNoZWQgYWdhaW5zdCB0aGUgcGF0aCBwb3J0aW9uIG9mIHRoZSByZWZlcnJpbmcgVVJJ
Ci0gICAgVmVjdG9yPFN0cmluZz4gc3VicGF0aHNBbGxvd2VkOwotICAgIGlmIChtX2FjY2Vzc1Bh
dGguY29udGFpbnMoJy8nKSkKLSAgICAgICAgbV9hY2Nlc3NQYXRoLnNwbGl0KCcvJywgc3VicGF0
aHNBbGxvd2VkKTsKLSAgICBlbHNlCi0gICAgICAgIHN1YnBhdGhzQWxsb3dlZC5hcHBlbmQobV9h
Y2Nlc3NQYXRoKTsKLQotICAgIFZlY3RvcjxTdHJpbmc+IHN1YnBhdGhzQ2hlY2s7Ci0gICAgaWYg
KHBhdGguY29udGFpbnMoJy8nKSkKLSAgICAgICAgcGF0aC5zcGxpdCgnLycsIHN1YnBhdGhzQ2hl
Y2spOwotICAgIGVsc2UKLSAgICAgICAgc3VicGF0aHNDaGVjay5hcHBlbmQocGF0aCk7Ci0KLSAg
ICBWZWN0b3I8U3RyaW5nPjo6aXRlcmF0b3IgaXRBbGxvd2VkID0gc3VicGF0aHNBbGxvd2VkLmJl
Z2luKCk7Ci0gICAgVmVjdG9yPFN0cmluZz46Oml0ZXJhdG9yIGVuZEFsbG93ZWQgPSBzdWJwYXRo
c0FsbG93ZWQuZW5kKCk7Ci0KLSAgICBWZWN0b3I8U3RyaW5nPjo6aXRlcmF0b3IgaXRDaGVjayA9
IHN1YnBhdGhzQ2hlY2suYmVnaW4oKTsKLSAgICBWZWN0b3I8U3RyaW5nPjo6aXRlcmF0b3IgZW5k
Q2hlY2sgPSBzdWJwYXRoc0NoZWNrLmVuZCgpOwotCi0gICAgYm9vbCBwYXRoT2sgPSB0cnVlOwot
ICAgIGZvciAoOyBpdEFsbG93ZWQgIT0gZW5kQWxsb3dlZCAmJiBpdENoZWNrICE9IGVuZENoZWNr
OyApIHsKLSAgICAgICAgaWYgKCppdEFsbG93ZWQgIT0gKml0Q2hlY2spIHsKLSAgICAgICAgICAg
IHBhdGhPayA9IGZhbHNlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQotICAgICAg
ICArK2l0QWxsb3dlZDsKLSAgICAgICAgKytpdENoZWNrOwotICAgIH0KLQotICAgIHJldHVybiBw
YXRoT2s7Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MUGFn
ZVN0YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTFBhZ2VTdGF0ZS5o
CShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQYWdlU3RhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw3OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4
IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNo
bW9iaWxlLmNvbS8pCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxQYWdlU3RhdGVfaAotI2RlZmluZSBX
TUxQYWdlU3RhdGVfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFz
aC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFBhZ2U7Ci1jbGFzcyBXTUxDYXJk
RWxlbWVudDsKLQotdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBXTUxWYXJpYWJsZU1h
cDsKLQotY2xhc3MgV01MUGFnZVN0YXRlIHsKLXB1YmxpYzoKLSAgICBXTUxQYWdlU3RhdGUoUGFn
ZSopOwotICAgIHZpcnR1YWwgfldNTFBhZ2VTdGF0ZSgpOwotCi0jaWZuZGVmIE5ERUJVRwotICAg
IHZvaWQgZHVtcCgpOwotI2VuZGlmCi0KLSAgICAvLyBSZXNldCB0aGUgYnJvd3NlciBjb250ZXh0
Ci0gICAgdm9pZCByZXNldCgpOwotCi0gICAgLy8gVmFyaWFibGUgaGFuZGxpbmcKLSAgICB2b2lk
IHN0b3JlVmFyaWFibGUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKSB7
IG1fdmFyaWFibGVzLnNldChuYW1lLCB2YWx1ZSk7IH0KLSAgICB2b2lkIHN0b3JlVmFyaWFibGVz
KFdNTFZhcmlhYmxlTWFwJiB2YXJpYWJsZXMpIHsgbV92YXJpYWJsZXMgPSB2YXJpYWJsZXM7IH0K
LSAgICBTdHJpbmcgZ2V0VmFyaWFibGUoY29uc3QgU3RyaW5nJiBuYW1lKSBjb25zdCB7IHJldHVy
biBtX3ZhcmlhYmxlcy5nZXQobmFtZSk7IH0KLSAgICBib29sIGhhc1ZhcmlhYmxlcygpIGNvbnN0
IHsgcmV0dXJuICFtX3ZhcmlhYmxlcy5pc0VtcHR5KCk7IH0KLQotICAgIFBhZ2UqIHBhZ2UoKSBj
b25zdCB7IHJldHVybiBtX3BhZ2U7IH0KLQotICAgIC8vIERlY2sgYWNjZXNzIGNvbnRyb2wKLSAg
ICBib29sIHByb2Nlc3NBY2Nlc3NDb250cm9sRGF0YShjb25zdCBTdHJpbmcmIGRtYWluLCBjb25z
dCBTdHJpbmcmIHBhdGgpOwotICAgIHZvaWQgcmVzZXRBY2Nlc3NDb250cm9sRGF0YSgpOwotCi0g
ICAgYm9vbCBjYW5BY2Nlc3NEZWNrKCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgYm9vbCBob3N0
SXNBbGxvd2VkVG9BY2Nlc3MoY29uc3QgU3RyaW5nJikgY29uc3Q7Ci0gICAgYm9vbCBwYXRoSXNB
bGxvd2VkVG9BY2Nlc3MoY29uc3QgU3RyaW5nJikgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgUGFn
ZSogbV9wYWdlOwotICAgIFdNTFZhcmlhYmxlTWFwIG1fdmFyaWFibGVzOwotICAgIFN0cmluZyBt
X2FjY2Vzc0RvbWFpbjsKLSAgICBTdHJpbmcgbV9hY2Nlc3NQYXRoOwotICAgIGJvb2wgbV9oYXNB
Y2Nlc3NDb250cm9sRGF0YTsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3dtbC9XTUxQb3N0ZmllbGRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS93bWwvV01MUG9zdGZpZWxkRWxlbWVudC5jcHAJKHJldmlzaW9uIDg1MTY2KQor
KysgU291cmNlL1dlYkNvcmUvd21sL1dNTFBvc3RmaWVsZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDg4ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1v
YmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNv
bS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoK
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUg
IldNTFBvc3RmaWVsZEVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgotI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIldNTERvY3VtZW50LmgiCi0jaW5jbHVkZSAi
V01MR29FbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIFdN
TE5hbWVzOwotCi1XTUxQb3N0ZmllbGRFbGVtZW50OjpXTUxQb3N0ZmllbGRFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxFbGVtZW50
KHRhZ05hbWUsIGRvYykKLXsKLX0KLQotUGFzc1JlZlB0cjxXTUxQb3N0ZmllbGRFbGVtZW50PiBX
TUxQb3N0ZmllbGRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MUG9zdGZp
ZWxkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi12b2lkIFdNTFBvc3RmaWVsZEVs
ZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCkKLXsKLSAgICBXTUxFbGVtZW50OjppbnNlcnRl
ZEludG9Eb2N1bWVudCgpOwotCi0gICAgQ29udGFpbmVyTm9kZSogcGFyZW50ID0gcGFyZW50Tm9k
ZSgpOwotICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5oYXNUYWdOYW1lKGdvVGFnKSkKLSAgICAg
ICAgc3RhdGljX2Nhc3Q8V01MR29FbGVtZW50Kj4ocGFyZW50KS0+cmVnaXN0ZXJQb3N0ZmllbGRF
bGVtZW50KHRoaXMpOwotfQotCi12b2lkIFdNTFBvc3RmaWVsZEVsZW1lbnQ6OnJlbW92ZWRGcm9t
RG9jdW1lbnQoKQotewotICAgIENvbnRhaW5lck5vZGUqIHBhcmVudCA9IHBhcmVudE5vZGUoKTsK
LSAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+aGFzVGFnTmFtZShnb1RhZykpCi0gICAgICAgIHN0
YXRpY19jYXN0PFdNTEdvRWxlbWVudCo+KHBhcmVudCktPmRlcmVnaXN0ZXJQb3N0ZmllbGRFbGVt
ZW50KHRoaXMpOwotCi0gICAgV01MRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpOwotfQot
Ci1TdHJpbmcgV01MUG9zdGZpZWxkRWxlbWVudDo6bmFtZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IHBhcnNlVmFsdWVTdWJzdGl0dXRpbmdWYXJpYWJsZVJlZmVyZW5jZXMoZ2V0QXR0cmlidXRlKEhU
TUxOYW1lczo6bmFtZUF0dHIpKTsKLX0KLQotU3RyaW5nIFdNTFBvc3RmaWVsZEVsZW1lbnQ6OnZh
bHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gcGFyc2VWYWx1ZVN1YnN0aXR1dGluZ1ZhcmlhYmxl
UmVmZXJlbmNlcyhnZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjp2YWx1ZUF0dHIpKTsKLX0KLQotc3Rh
dGljIGlubGluZSBDU3RyaW5nIGVuY29kZWRTdHJpbmcoY29uc3QgVGV4dEVuY29kaW5nJiBlbmNv
ZGluZywgY29uc3QgU3RyaW5nJiBkYXRhKQotewotICAgIHJldHVybiBlbmNvZGluZy5lbmNvZGUo
ZGF0YS5jaGFyYWN0ZXJzKCksIGRhdGEubGVuZ3RoKCksIEVudGl0aWVzRm9yVW5lbmNvZGFibGVz
KTsKLX0KLQotdm9pZCBXTUxQb3N0ZmllbGRFbGVtZW50OjplbmNvZGVEYXRhKGNvbnN0IFRleHRF
bmNvZGluZyYgZW5jb2RpbmcsIENTdHJpbmcmIG5hbWUsIENTdHJpbmcmIHZhbHVlKQotewotICAg
IG5hbWUgPSBlbmNvZGVkU3RyaW5nKGVuY29kaW5nLCB0aGlzLT5uYW1lKCkpOwotICAgIHZhbHVl
ID0gZW5jb2RlZFN0cmluZyhlbmNvZGluZywgdGhpcy0+dmFsdWUoKSk7Ci19Ci0KLX0KLQotI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MUG9zdGZpZWxkRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQb3N0ZmllbGRFbGVtZW50LmgJKHJldmlz
aW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTFBvc3RmaWVsZEVsZW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw0OCArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAw
OCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3Jj
aG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAq
Ci0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQot
ICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxQb3N0ZmllbGRFbGVtZW50X2gKLSNkZWZpbmUg
V01MUG9zdGZpZWxkRWxlbWVudF9oCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVs
ZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXTUxQb3N0ZmllbGRFbGVt
ZW50IDogcHVibGljIFdNTEVsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFdNTFBvc3RmaWVsZEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQqKTsKLQotICAgIFdNTFBvc3RmaWVsZEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqKTsKLQotICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVu
dCgpOwotICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KCk7Ci0KLSAgICBTdHJp
bmcgbmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyB2YWx1ZSgpIGNvbnN0OwotCi0gICAgLy8gRW5j
b2RlIG5hbWUoKSBhbmQgdmFsdWUoKSBpbiBhIENTdHJpbmcgdXNpbmcgdGhlIHBhc3NlZCBlbmNv
ZGluZwotICAgIHZvaWQgZW5jb2RlRGF0YShjb25zdCBUZXh0RW5jb2RpbmcmLCBDU3RyaW5nJiBu
YW1lLCBDU3RyaW5nJiB2YWx1ZSk7Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS93bWwvV01MUHJldkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3dtbC9XTUxQcmV2RWxlbWVudC5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291
cmNlL1dlYkNvcmUvd21sL1dNTFByZXZFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw3
MyArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxQcmV2RWxl
bWVudC5oIgotCi0jaW5jbHVkZSAiQmFja0ZvcndhcmRDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAi
UGFnZS5oIgotI2luY2x1ZGUgIldNTENhcmRFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MRG9jdW1l
bnQuaCIKLSNpbmNsdWRlICJXTUxQYWdlU3RhdGUuaCIKLSNpbmNsdWRlICJXTUxUaW1lckVsZW1l
bnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1XTUxQcmV2RWxlbWVudDo6V01MUHJldkVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKLSAgICA6
IFdNTFRhc2tFbGVtZW50KHRhZ05hbWUsIGRvYykKLXsKLX0KLQotUGFzc1JlZlB0cjxXTUxQcmV2
RWxlbWVudD4gV01MUHJldkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxQ
cmV2RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi1XTUxQcmV2RWxlbWVudDo6fldN
TFByZXZFbGVtZW50KCkKLXsKLX0KLQotdm9pZCBXTUxQcmV2RWxlbWVudDo6ZXhlY3V0ZVRhc2so
KQotewotICAgIEFTU0VSVChkb2N1bWVudCgpLT5pc1dNTERvY3VtZW50KCkpOwotICAgIFdNTERv
Y3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PFdNTERvY3VtZW50Kj4odGhpcy0+ZG9jdW1l
bnQoKSk7Ci0KLSAgICBXTUxQYWdlU3RhdGUqIHBhZ2VTdGF0ZSA9IHdtbFBhZ2VTdGF0ZUZvckRv
Y3VtZW50KGRvY3VtZW50KTsKLSAgICBpZiAoIXBhZ2VTdGF0ZSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgV01MQ2FyZEVsZW1lbnQqIGNhcmQgPSBkb2N1bWVudC0+YWN0aXZlQ2FyZCgpOwotICAg
IGlmICghY2FyZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgc3RvcmVWYXJpYWJsZVN0YXRlKHBh
Z2VTdGF0ZSk7Ci0KLSAgICAvLyBTdG9wIHRoZSB0aW1lciBvZiB0aGUgY3VycmVudCBjYXJkIGlm
IGl0IGlzIGFjdGl2ZQotICAgIGlmIChXTUxUaW1lckVsZW1lbnQqIGV2ZW50VGltZXIgPSBjYXJk
LT5ldmVudFRpbWVyKCkpCi0gICAgICAgIGV2ZW50VGltZXItPnN0b3AoKTsKLQotICAgIHBhZ2VT
dGF0ZS0+cGFnZSgpLT5iYWNrRm9yd2FyZCgpLT5nb0JhY2soKTsKLX0KLQotfQotCi0jZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQcmV2RWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQcmV2RWxlbWVudC5oCShyZXZpc2lvbiA4NTE2NikKKysr
IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQcmV2RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQyICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgot
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0j
aWZuZGVmIFdNTFByZXZFbGVtZW50X2gKLSNkZWZpbmUgV01MUHJldkVsZW1lbnRfaAotCi0jaWYg
RU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxUYXNrRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLWNsYXNzIFdNTFByZXZFbGVtZW50IDogcHVibGljIFdNTFRhc2tFbGVtZW50IHsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxQcmV2RWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgV01MUHJldkVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLSAgICB2aXJ0dWFsIH5XTUxQ
cmV2RWxlbWVudCgpOwotCi0gICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVUYXNrKCk7Ci19OwotCi19
Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MUmVmcmVzaEVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxSZWZyZXNoRWxl
bWVudC5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTFJlZnJl
c2hFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw4NSArMCwwIEBACi0vKioKLSAqIENv
cHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAo
aHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
LSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0j
aWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxSZWZyZXNoRWxlbWVudC5oIgotCi0jaW5jbHVk
ZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgotI2luY2x1ZGUgIldNTENhcmRF
bGVtZW50LmgiCi0jaW5jbHVkZSAiV01MRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJXTUxQYWdlU3Rh
dGUuaCIKLSNpbmNsdWRlICJXTUxUaW1lckVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1XTUxSZWZyZXNoRWxlbWVudDo6V01MUmVmcmVzaEVsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTFRhc2tFbGVtZW50KHRhZ05h
bWUsIGRvYykKLXsKLX0KLQotUGFzc1JlZlB0cjxXTUxSZWZyZXNoRWxlbWVudD4gV01MUmVmcmVz
aEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCog
ZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxSZWZyZXNoRWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi1XTUxSZWZyZXNoRWxlbWVudDo6fldNTFJlZnJlc2hF
bGVtZW50KCkKLXsKLX0KLQotdm9pZCBXTUxSZWZyZXNoRWxlbWVudDo6ZXhlY3V0ZVRhc2soKQot
ewotICAgIEFTU0VSVChkb2N1bWVudCgpLT5pc1dNTERvY3VtZW50KCkpOwotICAgIFdNTERvY3Vt
ZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PFdNTERvY3VtZW50Kj4odGhpcy0+ZG9jdW1lbnQo
KSk7Ci0KLSAgICBXTUxQYWdlU3RhdGUqIHBhZ2VTdGF0ZSA9IHdtbFBhZ2VTdGF0ZUZvckRvY3Vt
ZW50KGRvY3VtZW50KTsKLSAgICBpZiAoIXBhZ2VTdGF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgV01MQ2FyZEVsZW1lbnQqIGNhcmQgPSBkb2N1bWVudC0+YWN0aXZlQ2FyZCgpOwotICAgIGlm
ICghY2FyZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gQmVmb3JlIHBlcmZvcm0gcmVmcmVz
aCB0YXNrLCB3ZSBzdG9yZSB0aGUgY3VycmVudCB0aW1lb3V0Ci0gICAgLy8gdmFsdWUgaW4gdGhl
IHBhZ2Ugc3RhdGUgYW5kIHRoZW4gc3RvcCB0aGUgdGltZXIKLSAgICBXTUxUaW1lckVsZW1lbnQq
IHRpbWVyID0gY2FyZC0+ZXZlbnRUaW1lcigpOwotICAgIGlmICh0aW1lcikgewotICAgICAgICB0
aW1lci0+c3RvcmVJbnRlcnZhbFRvUGFnZVN0YXRlKCk7Ci0gICAgICAgIHRpbWVyLT5zdG9wKCk7
Ci0gICAgfQotCi0gICAgc3RvcmVWYXJpYWJsZVN0YXRlKHBhZ2VTdGF0ZSk7Ci0KLSAgICAvLyBS
ZWRpc3BsYXkgY3VycmVtdCBjYXJkIHdpdGggY3VycmVudCB2YXJpYWJsZSBzdGF0ZQotICAgIGlm
IChGcmFtZSogZnJhbWUgPSBkb2N1bWVudC0+ZnJhbWUoKSkgewotICAgICAgICBpZiAoRnJhbWVM
b2FkZXIqIGxvYWRlciA9IGZyYW1lLT5sb2FkZXIoKSkKLSAgICAgICAgICAgIGxvYWRlci0+cmVs
b2FkKCk7Ci0gICAgfQotCi0gICAgLy8gQWZ0ZXIgcmVmcmVzaGluZyB0YXNrLCByZXN1bWUgdGhl
IHRpbWVyIGlmIGl0IGV4c2l0cyAKLSAgICBpZiAodGltZXIpCi0gICAgICAgIHRpbWVyLT5zdGFy
dCgpOwotfQotCi19Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTFJlZnJl
c2hFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTFJlZnJlc2hF
bGVtZW50LmgJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTFJlZnJl
c2hFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzAsMCBAQAotLyoqCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0
dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0g
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01MUmVmcmVzaEVsZW1lbnRf
aAotI2RlZmluZSBXTUxSZWZyZXNoRWxlbWVudF9oCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1
ZGUgIldNTFRhc2tFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV01M
UmVmcmVzaEVsZW1lbnQgOiBwdWJsaWMgV01MVGFza0VsZW1lbnQgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFdNTFJlZnJlc2hFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Kik7Ci0KLSAgICBXTUxSZWZyZXNoRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwotICAgIHZpcnR1YWwgfldNTFJlZnJlc2hFbGVt
ZW50KCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZVRhc2soKTsKLX07Ci0KLX0KLQotI2Vu
ZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxTZWxlY3RFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MU2VsZWN0RWxlbWVudC5jcHAJ
KHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTFNlbGVjdEVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU2MiArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAo
QykgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3
dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxF
KFdNTCkKLSNpbmNsdWRlICJXTUxTZWxlY3RFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJBdHRyaWJ1
dGUuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJPcHRpb25FbGVtZW50Lmgi
Ci0jaW5jbHVkZSAiUmVuZGVyTGlzdEJveC5oIgotI2luY2x1ZGUgIlJlbmRlck1lbnVMaXN0Lmgi
Ci0jaW5jbHVkZSAiV01MRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotI2luY2x1
ZGUgIldNTFZhcmlhYmxlcy5oIgotI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KLSNpbmNs
dWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcg
bmFtZXNwYWNlIFdNTE5hbWVzOwotCi1XTUxTZWxlY3RFbGVtZW50OjpXTUxTZWxlY3RFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6
IFdNTEZvcm1Db250cm9sRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKLSAgICAsIG1faW5pdGlh
bGl6ZWQoZmFsc2UpCi17Ci19Ci0KLVBhc3NSZWZQdHI8V01MU2VsZWN0RWxlbWVudD4gV01MU2Vs
ZWN0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdNTFNlbGVjdEVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotV01MU2VsZWN0RWxlbWVudDo6fldNTFNlbGVjdEVs
ZW1lbnQoKQotewotfQotCi1jb25zdCBBdG9taWNTdHJpbmcmIFdNTFNlbGVjdEVsZW1lbnQ6OmZv
cm1Db250cm9sTmFtZSgpIGNvbnN0Ci17Ci0gICAgQXRvbWljU3RyaW5nIG5hbWUgPSB0aGlzLT5u
YW1lKCk7Ci0gICAgcmV0dXJuIG5hbWUuaXNOdWxsKCkgPyBlbXB0eUF0b20gOiBuYW1lOwotfQot
Ci1jb25zdCBBdG9taWNTdHJpbmcmIFdNTFNlbGVjdEVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSgp
IGNvbnN0Ci17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHNl
bGVjdE11bHRpcGxlLCAoInNlbGVjdC1tdWx0aXBsZSIpKTsKLSAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKGNvbnN0IEF0b21pY1N0cmluZywgc2VsZWN0T25lLCAoInNlbGVjdC1vbmUiKSk7Ci0gICAg
cmV0dXJuIG1fZGF0YS5tdWx0aXBsZSgpID8gc2VsZWN0TXVsdGlwbGUgOiBzZWxlY3RPbmU7Ci19
Ci0KLWJvb2wgV01MU2VsZWN0RWxlbWVudDo6aXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2
ZW50KiBldmVudCkgY29uc3QKLXsKLSAgICBpZiAocmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJu
IGlzRm9jdXNhYmxlKCk7Ci0KLSAgICByZXR1cm4gV01MRm9ybUNvbnRyb2xFbGVtZW50Ojppc0tl
eWJvYXJkRm9jdXNhYmxlKGV2ZW50KTsKLX0KLQotYm9vbCBXTUxTZWxlY3RFbGVtZW50Ojppc01v
dXNlRm9jdXNhYmxlKCkgY29uc3QKLXsKLSAgICBpZiAocmVuZGVyZXIoKSkKLSAgICAgICAgcmV0
dXJuIGlzRm9jdXNhYmxlKCk7Ci0KLSAgICByZXR1cm4gV01MRm9ybUNvbnRyb2xFbGVtZW50Ojpp
c01vdXNlRm9jdXNhYmxlKCk7Ci19Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6c2VsZWN0QWxs
KCkKLXsKLSAgICBTZWxlY3RFbGVtZW50OjpzZWxlY3RBbGwobV9kYXRhLCB0aGlzKTsKLX0KLQot
dm9pZCBXTUxTZWxlY3RFbGVtZW50OjpyZWNhbGNTdHlsZShTdHlsZUNoYW5nZSBjaGFuZ2UpCi17
Ci0gICAgV01MRm9ybUNvbnRyb2xFbGVtZW50OjpyZWNhbGNTdHlsZShjaGFuZ2UpOwotfQotCi12
b2lkIFdNTFNlbGVjdEVsZW1lbnQ6OmRpc3BhdGNoRm9jdXNFdmVudCgpCi17Ci0gICAgU2VsZWN0
RWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0V2ZW50KG1fZGF0YSwgdGhpcyk7Ci0gICAgV01MRm9ybUNv
bnRyb2xFbGVtZW50OjpkaXNwYXRjaEZvY3VzRXZlbnQoKTsKLX0KLQotdm9pZCBXTUxTZWxlY3RF
bGVtZW50OjpkaXNwYXRjaEJsdXJFdmVudCgpCi17Ci0gICAgU2VsZWN0RWxlbWVudDo6ZGlzcGF0
Y2hCbHVyRXZlbnQobV9kYXRhLCB0aGlzKTsKLSAgICBXTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRp
c3BhdGNoQmx1ckV2ZW50KCk7Ci19Ci0KLWludCBXTUxTZWxlY3RFbGVtZW50OjpzZWxlY3RlZElu
ZGV4KCkgY29uc3QKLXsKLSAgICByZXR1cm4gU2VsZWN0RWxlbWVudDo6c2VsZWN0ZWRJbmRleCht
X2RhdGEsIHRoaXMpOwotfQotICAgIAotdm9pZCBXTUxTZWxlY3RFbGVtZW50OjpzZXRTZWxlY3Rl
ZEluZGV4KGludCBvcHRpb25JbmRleCwgYm9vbCBkZXNlbGVjdCkKLXsKLSAgICBTZWxlY3RFbGVt
ZW50OjpzZXRTZWxlY3RlZEluZGV4KG1fZGF0YSwgdGhpcywgb3B0aW9uSW5kZXgsIGRlc2VsZWN0
LCBmYWxzZSwgZmFsc2UpOwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1lbnQ6OnNldFNlbGVjdGVk
SW5kZXhCeVVzZXIoaW50IG9wdGlvbkluZGV4LCBib29sIGRlc2VsZWN0LCBib29sIGZpcmVPbkNo
YW5nZU5vdywgYm9vbCBhbGxvd011bHRpcGxlU2VsZWN0aW9uKQotewotICAgIFVOVVNFRF9QQVJB
TShhbGxvd011bHRpcGxlU2VsZWN0aW9uKTsKLSAgICBTZWxlY3RFbGVtZW50OjpzZXRTZWxlY3Rl
ZEluZGV4KG1fZGF0YSwgdGhpcywgb3B0aW9uSW5kZXgsIGRlc2VsZWN0LCBmaXJlT25DaGFuZ2VO
b3csIHRydWUpOwotfQotCi1ib29sIFdNTFNlbGVjdEVsZW1lbnQ6OnNhdmVGb3JtQ29udHJvbFN0
YXRlKFN0cmluZyYgdmFsdWUpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFNlbGVjdEVsZW1lbnQ6OnNh
dmVGb3JtQ29udHJvbFN0YXRlKG1fZGF0YSwgdGhpcywgdmFsdWUpOwotfQotCi12b2lkIFdNTFNl
bGVjdEVsZW1lbnQ6OnJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKGNvbnN0IFN0cmluZyYgc3RhdGUp
Ci17Ci0gICAgU2VsZWN0RWxlbWVudDo6cmVzdG9yZUZvcm1Db250cm9sU3RhdGUobV9kYXRhLCB0
aGlzLCBzdGF0ZSk7Ci19Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2Vk
KGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hh
bmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQotewotICAgIFNlbGVjdEVsZW1lbnQ6OnNldFJlY2Fs
Y0xpc3RJdGVtcyhtX2RhdGEsIHRoaXMpOwotICAgIFdNTEZvcm1Db250cm9sRWxlbWVudDo6Y2hp
bGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwg
Y2hpbGRDb3VudERlbHRhKTsKLX0KLQotdm9pZCBXTUxTZWxlY3RFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpIAotewotICAgIGlmIChhdHRyLT5uYW1lKCkgPT0g
SFRNTE5hbWVzOjptdWx0aXBsZUF0dHIpCi0gICAgICAgIFNlbGVjdEVsZW1lbnQ6OnBhcnNlTXVs
dGlwbGVBdHRyaWJ1dGUobV9kYXRhLCB0aGlzLCBhdHRyKTsKLSAgICBlbHNlCi0gICAgICAgIFdN
TEZvcm1Db250cm9sRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Ci19Ci0KLVJl
bmRlck9iamVjdCogV01MU2VsZWN0RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEq
IGFyZW5hLCBSZW5kZXJTdHlsZSopCi17Ci0gICAgaWYgKG1fZGF0YS51c2VzTWVudUxpc3QoKSkK
LSAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlck1lbnVMaXN0KHRoaXMpOwotICAgIHJl
dHVybiBuZXcgKGFyZW5hKSBSZW5kZXJMaXN0Qm94KHRoaXMpOwotfQotCi1ib29sIFdNTFNlbGVj
dEVsZW1lbnQ6OmFwcGVuZEZvcm1EYXRhKEZvcm1EYXRhTGlzdCYgbGlzdCwgYm9vbCkKLXsKLSAg
ICByZXR1cm4gU2VsZWN0RWxlbWVudDo6YXBwZW5kRm9ybURhdGEobV9kYXRhLCB0aGlzLCBsaXN0
KTsKLX0KLQotaW50IFdNTFNlbGVjdEVsZW1lbnQ6Om9wdGlvblRvTGlzdEluZGV4KGludCBvcHRp
b25JbmRleCkgY29uc3QKLXsKLSAgICByZXR1cm4gU2VsZWN0RWxlbWVudDo6b3B0aW9uVG9MaXN0
SW5kZXgobV9kYXRhLCB0aGlzLCBvcHRpb25JbmRleCk7Ci19Ci0KLWludCBXTUxTZWxlY3RFbGVt
ZW50OjpsaXN0VG9PcHRpb25JbmRleChpbnQgbGlzdEluZGV4KSBjb25zdAotewotICAgIHJldHVy
biBTZWxlY3RFbGVtZW50OjpsaXN0VG9PcHRpb25JbmRleChtX2RhdGEsIHRoaXMsIGxpc3RJbmRl
eCk7Ci19Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6cmVzZXQoKQotewotICAgIFNlbGVjdEVs
ZW1lbnQ6OnJlc2V0KG1fZGF0YSwgdGhpcyk7Ci19Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCi17Ci0gICAgU2VsZWN0RWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihtX2RhdGEsIHRoaXMsIGV2ZW50LCAwKTsKLQotICAgIC8vIEZJ
WE1FOiBUaGVyZSBtdXN0IGJlIGEgYmV0dGVyIHBsYWNlIHRvIHVwZGF0ZSB0aGUgcGFnZSB2YXJp
YWJsZSBzdGF0ZS4gSW52ZXN0aWdhdGUuCi0gICAgdXBkYXRlVmFyaWFibGVzKCk7Ci0KLSAgICBp
ZiAoZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIFdNTEZv
cm1Db250cm9sRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7Ci19Ci0KLXZvaWQg
V01MU2VsZWN0RWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZFRvQW55RWxlbWVudCkK
LXsKLSAgICBmb2N1cygpOwotICAgIGRpc3BhdGNoU2ltdWxhdGVkQ2xpY2soMCwgc2VuZFRvQW55
RWxlbWVudCk7Ci19Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6c2V0QWN0aXZlU2VsZWN0aW9u
QW5jaG9ySW5kZXgoaW50IGluZGV4KQotewotICAgIFNlbGVjdEVsZW1lbnQ6OnNldEFjdGl2ZVNl
bGVjdGlvbkFuY2hvckluZGV4KG1fZGF0YSwgdGhpcywgaW5kZXgpOwotfQotICAgIAotdm9pZCBX
TUxTZWxlY3RFbGVtZW50OjpzZXRBY3RpdmVTZWxlY3Rpb25FbmRJbmRleChpbnQgaW5kZXgpCi17
Ci0gICAgU2VsZWN0RWxlbWVudDo6c2V0QWN0aXZlU2VsZWN0aW9uRW5kSW5kZXgobV9kYXRhLCBp
bmRleCk7Ci19Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6dXBkYXRlTGlzdEJveFNlbGVjdGlv
bihib29sIGRlc2VsZWN0T3RoZXJPcHRpb25zKQotewotICAgIFNlbGVjdEVsZW1lbnQ6OnVwZGF0
ZUxpc3RCb3hTZWxlY3Rpb24obV9kYXRhLCB0aGlzLCBkZXNlbGVjdE90aGVyT3B0aW9ucyk7Ci19
Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6bGlzdEJveE9uQ2hhbmdlKCkKLXsKLSAgICBTZWxl
Y3RFbGVtZW50OjpsaXN0Qm94T25DaGFuZ2UobV9kYXRhLCB0aGlzKTsKLX0KLQotdm9pZCBXTUxT
ZWxlY3RFbGVtZW50OjptZW51TGlzdE9uQ2hhbmdlKCkKLXsKLSAgICBTZWxlY3RFbGVtZW50Ojpt
ZW51TGlzdE9uQ2hhbmdlKG1fZGF0YSwgdGhpcyk7Ci19Ci0KLWludCBXTUxTZWxlY3RFbGVtZW50
OjphY3RpdmVTZWxlY3Rpb25TdGFydExpc3RJbmRleCgpIGNvbnN0Ci17Ci0gICAgaWYgKG1fZGF0
YS5hY3RpdmVTZWxlY3Rpb25BbmNob3JJbmRleCgpID49IDApCi0gICAgICAgIHJldHVybiBtX2Rh
dGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgoKTsKLSAgICByZXR1cm4gb3B0aW9uVG9MaXN0
SW5kZXgoc2VsZWN0ZWRJbmRleCgpKTsKLX0KLQotaW50IFdNTFNlbGVjdEVsZW1lbnQ6OmFjdGl2
ZVNlbGVjdGlvbkVuZExpc3RJbmRleCgpIGNvbnN0Ci17Ci0gICAgaWYgKG1fZGF0YS5hY3RpdmVT
ZWxlY3Rpb25FbmRJbmRleCgpID49IDApCi0gICAgICAgIHJldHVybiBtX2RhdGEuYWN0aXZlU2Vs
ZWN0aW9uRW5kSW5kZXgoKTsKLSAgICByZXR1cm4gU2VsZWN0RWxlbWVudDo6bGFzdFNlbGVjdGVk
TGlzdEluZGV4KG1fZGF0YSwgdGhpcyk7Ci19Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6YWNj
ZXNzS2V5U2V0U2VsZWN0ZWRJbmRleChpbnQgaW5kZXgpCi17Ci0gICAgU2VsZWN0RWxlbWVudDo6
YWNjZXNzS2V5U2V0U2VsZWN0ZWRJbmRleChtX2RhdGEsIHRoaXMsIGluZGV4KTsKLX0KLQotdm9p
ZCBXTUxTZWxlY3RFbGVtZW50OjpzZXRSZWNhbGNMaXN0SXRlbXMoKQotewotICAgIFNlbGVjdEVs
ZW1lbnQ6OnNldFJlY2FsY0xpc3RJdGVtcyhtX2RhdGEsIHRoaXMpOwotfQotCi12b2lkIFdNTFNl
bGVjdEVsZW1lbnQ6OnNjcm9sbFRvU2VsZWN0aW9uKCkKLXsKLSAgICBTZWxlY3RFbGVtZW50Ojpz
Y3JvbGxUb1NlbGVjdGlvbihtX2RhdGEsIHRoaXMpOwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1l
bnQ6OnNlbGVjdEluaXRpYWxPcHRpb25zKCkKLXsKLSAgICAvLyBTcGVjOiBTdGVwIDEgLSB0aGUg
ZGVmYXVsdCBvcHRpb24gaW5kZXggaXMgZGV0ZXJtaW5lZCB1c2luZyBpbmFtZSBhbmQgaXZhbHVl
Ci0gICAgY2FsY3VsYXRlRGVmYXVsdE9wdGlvbkluZGljZXMoKTsKLQotICAgIGlmIChtX2RlZmF1
bHRPcHRpb25JbmRpY2VzLmlzRW1wdHkoKSkgewotICAgICAgICBtX2luaXRpYWxpemVkID0gdHJ1
ZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIFNwZWM6IFN0ZXAgMiDigJMgaW5p
dGlhbGlzZSB2YXJpYWJsZXMKLSAgICBpbml0aWFsaXplVmFyaWFibGVzKCk7Ci0KLSAgICAvLyBT
cGVjOiBTdGVwIDMg4oCTIHByZS1zZWxlY3Qgb3B0aW9uKHMpIHNwZWNpZmllZCBieSB0aGUgZGVm
YXVsdCBvcHRpb24gaW5kZXggCi0gICAgc2VsZWN0RGVmYXVsdE9wdGlvbnMoKTsKLSAgICBtX2lu
aXRpYWxpemVkID0gdHJ1ZTsKLX0KLQotdm9pZCBXTUxTZWxlY3RFbGVtZW50OjppbnNlcnRlZElu
dG9UcmVlKGJvb2wgZGVlcCkKLXsKLSAgICBTZWxlY3RFbGVtZW50OjppbnNlcnRlZEludG9UcmVl
KG1fZGF0YSwgdGhpcyk7Ci0gICAgV01MRm9ybUNvbnRyb2xFbGVtZW50OjppbnNlcnRlZEludG9U
cmVlKGRlZXApOwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1lbnQ6OmNhbGN1bGF0ZURlZmF1bHRP
cHRpb25JbmRpY2VzKCkKLXsKLSAgICBXTUxQYWdlU3RhdGUqIHBhZ2VTdGF0ZSA9IHdtbFBhZ2VT
dGF0ZUZvckRvY3VtZW50KGRvY3VtZW50KCkpOwotICAgIGlmICghcGFnZVN0YXRlKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBTdHJpbmcgdmFyaWFibGU7Ci0KLSAgICAvLyBTcGVjOiBJZiB0aGUg
J2luYW1lJyBhdHRyaWJ1dGUgaXMgc3BlY2lmaWVkIGFuZCBuYW1lcyBhIHZhcmlhYmxlIHRoYXQg
aXMgc2V0LAotICAgIC8vIHRoZW4gdGhlIGRlZmF1bHQgb3B0aW9uIGluZGV4IGlzIHRoZSB2YWxp
ZGF0ZWQgdmFsdWUgb2YgdGhhdCB2YXJpYWJsZS4gCi0gICAgU3RyaW5nIGluYW1lID0gdGhpcy0+
aW5hbWUoKTsKLSAgICBpZiAoIWluYW1lLmlzRW1wdHkoKSkgewotICAgICAgICB2YXJpYWJsZSA9
IHBhZ2VTdGF0ZS0+Z2V0VmFyaWFibGUoaW5hbWUpOwotICAgICAgICBpZiAoIXZhcmlhYmxlLmlz
RW1wdHkoKSkKLSAgICAgICAgICAgIG1fZGVmYXVsdE9wdGlvbkluZGljZXMgPSBwYXJzZUluZGV4
VmFsdWVTdHJpbmcodmFyaWFibGUpOwotICAgIH0KLQotICAgIC8vIFNwZWM6IElmIHRoZSBkZWZh
dWx0IG9wdGlvbiBpbmRleCBpcyBlbXB0eSBhbmQgdGhlICdpdmFsdWUnIGF0dHJpYnV0ZSBpcyBz
cGVjaWZpZWQsCi0gICAgLy8gdGhlbiB0aGUgZGVmYXVsdCBvcHRpb24gaW5kZXggaXMgdGhlIHZh
bGlkYXRlZCBhdHRyaWJ1dGUgdmFsdWUuCi0gICAgU3RyaW5nIGl2YWx1ZSA9IHRoaXMtPml2YWx1
ZSgpOwotICAgIGlmIChtX2RlZmF1bHRPcHRpb25JbmRpY2VzLmlzRW1wdHkoKSAmJiAhaXZhbHVl
LmlzRW1wdHkoKSkKLSAgICAgICAgbV9kZWZhdWx0T3B0aW9uSW5kaWNlcyA9IHBhcnNlSW5kZXhW
YWx1ZVN0cmluZyhpdmFsdWUpOwotCi0gICAgLy8gU3BlYzogSWYgdGhlIGRlZmF1bHQgb3B0aW9u
IGluZGV4IGlzIGVtcHR5LCBhbmQgdGhlICduYW1lJyBhdHRyaWJ1dGUgaXMgc3BlY2lmaWVkCi0g
ICAgLy8gYW5kIHRoZSAnbmFtZScgdHRyaWJ1dGUgbmFtZXMgYSB2YXJpYWJsZSB0aGF0IGlzIHNl
dCwgdGhlbiBmb3IgZWFjaCB2YWx1ZSBpbiB0aGUgJ25hbWUnCi0gICAgLy8gdmFyaWFibGUgdGhh
dCBpcyBwcmVzZW50IGFzIGEgdmFsdWUgaW4gdGhlIHNlbGVjdCdzIG9wdGlvbiBlbGVtZW50cywg
dGhlIGluZGV4IG9mIHRoZQotICAgIC8vIGZpcnN0IG9wdGlvbiBlbGVtZW50IGNvbnRhaW5pbmcg
dGhhdCB2YWx1ZSBpcyBhZGRlZCB0byB0aGUgZGVmYXVsdCBpbmRleCBpZiB0aGF0Ci0gICAgLy8g
aW5kZXggaGFzIG5vdCBiZWVuIHByZXZpb3VzbHkgYWRkZWQuIAotICAgIFN0cmluZyBuYW1lID0g
dGhpcy0+bmFtZSgpOwotICAgIGlmIChtX2RlZmF1bHRPcHRpb25JbmRpY2VzLmlzRW1wdHkoKSAm
JiAhbmFtZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgdmFyaWFibGUgPSBwYWdlU3RhdGUtPmdldFZh
cmlhYmxlKG5hbWUpOwotICAgICAgICBpZiAoIXZhcmlhYmxlLmlzRW1wdHkoKSkKLSAgICAgICAg
ICAgIG1fZGVmYXVsdE9wdGlvbkluZGljZXMgPSB2YWx1ZVN0cmluZ1RvT3B0aW9uSW5kaWNlcyh2
YXJpYWJsZSk7Ci0gICAgfQotCi0gICAgU3RyaW5nIHZhbHVlID0gcGFyc2VWYWx1ZVN1YnN0aXR1
dGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhnZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjp2YWx1ZUF0dHIp
KTsKLQotICAgIC8vIFNwZWM6IElmIHRoZSBkZWZhdWx0IG9wdGlvbiBpbmRleCBpcyBlbXB0eSBh
bmQgdGhlICd2YWx1ZScgYXR0cmlidXRlIGlzIHNwZWNpZmllZCB0aGVuCi0gICAgLy8gZm9yIGVh
Y2ggIHZhbHVlIGluIHRoZSAndmFsdWUnIGF0dHJpYnV0ZSB0aGF0IGlzIHByZXNlbnQgYXMgYSB2
YWx1ZSBpbiB0aGUgc2VsZWN0J3MKLSAgICAvLyBvcHRpb24gZWxlbWVudHMsIHRoZSBpbmRleCBv
ZiB0aGUgZmlyc3Qgb3B0aW9uIGVsZW1lbnQgY29udGFpbmluZyB0aGF0IHZhbHVlIGlzIGFkZGVk
Ci0gICAgLy8gdG8gdGhlIGRlZmF1bHQgaW5kZXggaWYgdGhhdCBpbmRleCBoYXMgbm90IGJlZW4g
cHJldmlvdXNseSBhZGRlZC4gCi0gICAgaWYgKG1fZGVmYXVsdE9wdGlvbkluZGljZXMuaXNFbXB0
eSgpICYmICF2YWx1ZS5pc0VtcHR5KCkpCi0gICAgICAgIG1fZGVmYXVsdE9wdGlvbkluZGljZXMg
PSB2YWx1ZVN0cmluZ1RvT3B0aW9uSW5kaWNlcyh2YWx1ZSk7Ci0KLSAgICAvLyBTcGVjOiBJZiB0
aGUgZGVmYXVsdCBvcHRpb24gaW5kZXggaXMgZW1wdHkgYW5kIHRoZSBzZWxlY3QgaXMgYSBtdWx0
aS1jaG9pY2UsIHRoZW4gdGhlCi0gICAgLy8gZGVmYXVsdCBvcHRpb24gaW5kZXggaXMgc2V0IHRv
IHplcm8uIElmIHRoZSBzZWxlY3QgaXMgc2luZ2xlLWNob2ljZSwgdGhlbiB0aGUgZGVmYXVsdAot
ICAgIC8vIG9wdGlvbiBpbmRleCBpcyBzZXQgdG8gb25lLgotICAgIGlmIChtX2RlZmF1bHRPcHRp
b25JbmRpY2VzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9kZWZhdWx0T3B0aW9uSW5kaWNlcy5hcHBl
bmQoKHVuc2lnbmVkKSAhbV9kYXRhLm11bHRpcGxlKCkpOwotfQotCi12b2lkIFdNTFNlbGVjdEVs
ZW1lbnQ6OnNlbGVjdERlZmF1bHRPcHRpb25zKCkKLXsKLSAgICBBU1NFUlQoIW1fZGVmYXVsdE9w
dGlvbkluZGljZXMuaXNFbXB0eSgpKTsKLQotICAgIGlmICghbV9kYXRhLm11bHRpcGxlKCkpIHsK
LSAgICAgICAgc2V0U2VsZWN0ZWRJbmRleChtX2RlZmF1bHRPcHRpb25JbmRpY2VzLmZpcnN0KCkg
LSAxLCBmYWxzZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBWZWN0b3I8dW5zaWdu
ZWQ+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX2RlZmF1bHRPcHRpb25JbmRpY2VzLmVuZCgpOwot
ICAgIGZvciAoVmVjdG9yPHVuc2lnbmVkPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2RlZmF1bHRP
cHRpb25JbmRpY2VzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgc2V0U2VsZWN0
ZWRJbmRleCgoKml0KSAtIDEsIGZhbHNlKTsKLX0KLQotdm9pZCBXTUxTZWxlY3RFbGVtZW50Ojpp
bml0aWFsaXplVmFyaWFibGVzKCkKLXsKLSAgICBBU1NFUlQoIW1fZGVmYXVsdE9wdGlvbkluZGlj
ZXMuaXNFbXB0eSgpKTsKLQotICAgIFdNTFBhZ2VTdGF0ZSogcGFnZVN0YXRlID0gd21sUGFnZVN0
YXRlRm9yRG9jdW1lbnQoZG9jdW1lbnQoKSk7Ci0gICAgaWYgKCFwYWdlU3RhdGUpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIGl0ZW1zID0gbV9kYXRhLmxp
c3RJdGVtcyh0aGlzKTsKLSAgICBpZiAoaXRlbXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICAvLyBTcGVjOiBJZiB0aGUgJ2luYW1lJyBhdHRyaWJ1dGUgaXMgc3BlY2lmaWVkLCB0
aGVuIHRoZSBuYW1lZCB2YXJpYWJsZSBpcyBzZXQgd2l0aCB0aGUgZGVmYXVsdCBvcHRpb24gaW5k
ZXguIAotICAgIFN0cmluZyBpbmFtZSA9IHRoaXMtPmluYW1lKCk7Ci0gICAgaWYgKCFpbmFtZS5p
c0VtcHR5KCkpCi0gICAgICAgIHBhZ2VTdGF0ZS0+c3RvcmVWYXJpYWJsZShpbmFtZSwgb3B0aW9u
SW5kaWNlc1RvU3RyaW5nKCkpOwotCi0gICAgU3RyaW5nIG5hbWUgPSB0aGlzLT5uYW1lKCk7Ci0g
ICAgaWYgKG5hbWUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV9kYXRh
Lm11bHRpcGxlKCkpIHsKLSAgICAgICAgLy8gU3BlYzogSWYgdGhlICduYW1lJyBhdHRyaWJ1dGUg
aXMgc3BlY2lmaWVkIGFuZCB0aGUgc2VsZWN0IGlzIGEgbXVsdGlwbGUtY2hvaWNlIGVsZW1lbnQs
Ci0gICAgICAgIC8vIHRoZW4gZm9yIGVhY2ggaW5kZXggZ3JlYXRlciB0aGFuIHplcm8sIHRoZSB2
YWx1ZSBvZiB0aGUgJ3ZhbHVlJyBhdHRyaWJ1dGUgb24gdGhlIG9wdGlvbgotICAgICAgICAvLyBl
bGVtZW50IGF0IHRoZSBpbmRleCBpcyBhZGRlZCB0byB0aGUgbmFtZSB2YXJpYWJsZS4gCi0gICAg
ICAgIHBhZ2VTdGF0ZS0+c3RvcmVWYXJpYWJsZShuYW1lLCBvcHRpb25JbmRpY2VzVG9WYWx1ZVN0
cmluZygpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIFNwZWM6IElmIHRoZSAn
bmFtZScgYXR0cmlidXRlIGlzIHNwZWNpZmllZCBhbmQgdGhlIHNlbGVjdCBpcyBhIHNpbmdsZS1j
aG9pY2UgZWxlbWVudCwKLSAgICAvLyB0aGVuIHRoZSBuYW1lZCB2YXJpYWJsZSBpcyBzZXQgd2l0
aCB0aGUgdmFsdWUgb2YgdGhlICd2YWx1ZScgYXR0cmlidXRlIG9uIHRoZSBvcHRpb24KLSAgICAv
LyBlbGVtZW50IGF0IHRoZSBkZWZhdWx0IG9wdGlvbiBpbmRleC4gCi0gICAgdW5zaWduZWQgb3B0
aW9uSW5kZXggPSBtX2RlZmF1bHRPcHRpb25JbmRpY2VzLmZpcnN0KCk7Ci0gICAgQVNTRVJUKG9w
dGlvbkluZGV4ID49IDEpOwotCi0gICAgaW50IGxpc3RJbmRleCA9IG9wdGlvblRvTGlzdEluZGV4
KG9wdGlvbkluZGV4IC0gMSk7Ci0gICAgQVNTRVJUKGxpc3RJbmRleCA+PSAwKTsKLSAgICBBU1NF
UlQobGlzdEluZGV4IDwgKGludCkgaXRlbXMuc2l6ZSgpKTsKLQotICAgIGlmIChPcHRpb25FbGVt
ZW50KiBvcHRpb25FbGVtZW50ID0gdG9PcHRpb25FbGVtZW50KGl0ZW1zW2xpc3RJbmRleF0pKQot
ICAgICAgICBwYWdlU3RhdGUtPnN0b3JlVmFyaWFibGUobmFtZSwgb3B0aW9uRWxlbWVudC0+dmFs
dWUoKSk7Ci19Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6dXBkYXRlVmFyaWFibGVzKCkKLXsK
LSAgICBXTUxQYWdlU3RhdGUqIHBhZ2VTdGF0ZSA9IHdtbFBhZ2VTdGF0ZUZvckRvY3VtZW50KGRv
Y3VtZW50KCkpOwotICAgIGlmICghcGFnZVN0YXRlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBT
dHJpbmcgbmFtZSA9IHRoaXMtPm5hbWUoKTsKLSAgICBTdHJpbmcgaW5hbWUgPSB0aGlzLT5pbmFt
ZSgpOwotICAgIGlmIChpbmFtZS5pc0VtcHR5KCkgJiYgbmFtZS5pc0VtcHR5KCkpCi0gICAgICAg
IHJldHVybjsKLQotICAgIFN0cmluZyBuYW1lU3RyaW5nOwotICAgIFN0cmluZyBpbmFtZVN0cmlu
ZzsKLQotICAgIHVuc2lnbmVkIG9wdGlvbkluZGV4ID0gMDsKLSAgICBjb25zdCBWZWN0b3I8RWxl
bWVudCo+JiBpdGVtcyA9IG1fZGF0YS5saXN0SXRlbXModGhpcyk7Ci0KLSAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgaXRlbXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgT3B0aW9uRWxlbWVu
dCogb3B0aW9uRWxlbWVudCA9IHRvT3B0aW9uRWxlbWVudChpdGVtc1tpXSk7Ci0gICAgICAgIGlm
ICghb3B0aW9uRWxlbWVudCkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICsrb3B0
aW9uSW5kZXg7Ci0gICAgICAgIGlmICghb3B0aW9uRWxlbWVudC0+c2VsZWN0ZWQoKSkKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGlmICghbmFtZVN0cmluZy5pc0VtcHR5KCkpCi0g
ICAgICAgICAgICBuYW1lU3RyaW5nICs9ICI7IjsKLQotICAgICAgICBpZiAoIWluYW1lU3RyaW5n
LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIGluYW1lU3RyaW5nICs9ICI7IjsKLQotICAgICAgICBu
YW1lU3RyaW5nICs9IG9wdGlvbkVsZW1lbnQtPnZhbHVlKCk7Ci0gICAgICAgIGluYW1lU3RyaW5n
ICs9IFN0cmluZzo6bnVtYmVyKG9wdGlvbkluZGV4KTsKLSAgICB9Ci0KLSAgICBpZiAoIW5hbWUu
aXNFbXB0eSgpKQotICAgICAgICBwYWdlU3RhdGUtPnN0b3JlVmFyaWFibGUobmFtZSwgbmFtZVN0
cmluZyk7Ci0KLSAgICBpZiAoIWluYW1lLmlzRW1wdHkoKSkKLSAgICAgICAgcGFnZVN0YXRlLT5z
dG9yZVZhcmlhYmxlKGluYW1lLCBpbmFtZVN0cmluZyk7Ci19Ci0KLVZlY3Rvcjx1bnNpZ25lZD4g
V01MU2VsZWN0RWxlbWVudDo6cGFyc2VJbmRleFZhbHVlU3RyaW5nKGNvbnN0IFN0cmluZyYgaW5k
ZXhWYWx1ZSkgY29uc3QKLXsKLSAgICBWZWN0b3I8dW5zaWduZWQ+IGluZGljZXM7Ci0gICAgaWYg
KGluZGV4VmFsdWUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gaW5kaWNlczsKLQotICAgIFZl
Y3RvcjxTdHJpbmc+IGluZGV4U3RyaW5nczsKLSAgICBpbmRleFZhbHVlLnNwbGl0KCc7JywgaW5k
ZXhTdHJpbmdzKTsKLQotICAgIGJvb2wgb2sgPSBmYWxzZTsKLSAgICB1bnNpZ25lZCBvcHRpb25D
b3VudCA9IFNlbGVjdEVsZW1lbnQ6Om9wdGlvbkNvdW50KG1fZGF0YSwgdGhpcyk7Ci0KLSAgICBW
ZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gaW5kZXhTdHJpbmdzLmVuZCgpOwot
ICAgIGZvciAoVmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gaW5kZXhTdHJpbmdz
LmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICB1bnNpZ25lZCBwYXJzZWRWYWx1
ZSA9ICgqaXQpLnRvVUludFN0cmljdCgmb2spOwotICAgICAgICAvLyBTcGVjOiBSZW1vdmUgYWxs
IG5vbi1pbnRlZ2VyIGluZGljZXMgZnJvbSB0aGUgdmFsdWUuIFJlbW92ZSBhbGwgb3V0LW9mLXJh
bmdlIGluZGljZXMKLSAgICAgICAgLy8gZnJvbSB0aGUgdmFsdWUsIHdoZXJlIG91dC1vZi1yYW5n
ZSBpcyBkZWZpbmVkIGFzIGFueSBpbmRleCB3aXRoIGEgdmFsdWUgZ3JlYXRlciB0aGFuCi0gICAg
ICAgIC8vIHRoZSBudW1iZXIgb2Ygb3B0aW9ucyBpbiB0aGUgc2VsZWN0IG9yIHdpdGggYSB2YWx1
ZSBsZXNzIHRoYW4gb25lLiAKLSAgICAgICAgaWYgKCFvayB8fCBwYXJzZWRWYWx1ZSA8IDEgfHwg
cGFyc2VkVmFsdWUgPiBvcHRpb25Db3VudCkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAg
ICAgIC8vIFNwZWM6IFJlbW92ZSBkdXBsaWNhdGUgaW5kaWNlcy4KLSAgICAgICAgaWYgKGluZGlj
ZXMuZmluZChwYXJzZWRWYWx1ZSkgPT0gbm90Rm91bmQpCi0gICAgICAgICAgICBpbmRpY2VzLmFw
cGVuZChwYXJzZWRWYWx1ZSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGluZGljZXM7Ci19Ci0KLVZl
Y3Rvcjx1bnNpZ25lZD4gV01MU2VsZWN0RWxlbWVudDo6dmFsdWVTdHJpbmdUb09wdGlvbkluZGlj
ZXMoY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKLXsKLSAgICBWZWN0b3I8dW5zaWduZWQ+IGlu
ZGljZXM7Ci0gICAgaWYgKHZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGluZGljZXM7
Ci0KLSAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IG1fZGF0YS5saXN0SXRlbXMo
dGhpcyk7Ci0gICAgaWYgKGl0ZW1zLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGluZGljZXM7
Ci0KLSAgICBWZWN0b3I8U3RyaW5nPiBpbmRleFN0cmluZ3M7Ci0gICAgdmFsdWUuc3BsaXQoJzsn
LCBpbmRleFN0cmluZ3MpOwotCi0gICAgdW5zaWduZWQgb3B0aW9uSW5kZXggPSAwOwotCi0gICAg
VmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGluZGV4U3RyaW5ncy5lbmQoKTsK
LSAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGluZGV4U3RyaW5n
cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgU3RyaW5nIHZhbHVlID0gKml0
OwotCi0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBpdGVtcy5zaXplKCk7ICsraSkg
ewotICAgICAgICAgICAgaWYgKCFpc09wdGlvbkVsZW1lbnQoaXRlbXNbaV0pKQotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICArK29wdGlvbkluZGV4OwotICAgICAgICAg
ICAgaWYgKE9wdGlvbkVsZW1lbnQqIG9wdGlvbkVsZW1lbnQgPSB0b09wdGlvbkVsZW1lbnQoaXRl
bXNbaV0pKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG9wdGlvbkVsZW1lbnQtPnZhbHVlKCkgPT0g
dmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgaW5kaWNlcy5hcHBlbmQob3B0aW9uSW5kZXgp
OwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gaW5kaWNlczsKLX0KLQotU3Ry
aW5nIFdNTFNlbGVjdEVsZW1lbnQ6Om9wdGlvbkluZGljZXNUb1ZhbHVlU3RyaW5nKCkgY29uc3QK
LXsKLSAgICBTdHJpbmcgdmFsdWVTdHJpbmc7Ci0gICAgaWYgKG1fZGVmYXVsdE9wdGlvbkluZGlj
ZXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gdmFsdWVTdHJpbmc7Ci0KLSAgICBjb25zdCBW
ZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IG1fZGF0YS5saXN0SXRlbXModGhpcyk7Ci0gICAgaWYg
KGl0ZW1zLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHZhbHVlU3RyaW5nOwotCi0gICAgVmVj
dG9yPHVuc2lnbmVkPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9kZWZhdWx0T3B0aW9uSW5kaWNl
cy5lbmQoKTsKLSAgICBmb3IgKFZlY3Rvcjx1bnNpZ25lZD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0g
bV9kZWZhdWx0T3B0aW9uSW5kaWNlcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAg
ICAgdW5zaWduZWQgb3B0aW9uSW5kZXggPSAoKml0KTsKLSAgICAgICAgaWYgKG9wdGlvbkluZGV4
IDwgMSB8fCBvcHRpb25JbmRleCA+IGl0ZW1zLnNpemUoKSkKLSAgICAgICAgICAgIGNvbnRpbnVl
OwotCi0gICAgICAgIGludCBsaXN0SW5kZXggPSBvcHRpb25Ub0xpc3RJbmRleCgoKml0KSAtIDEp
OwotICAgICAgICBBU1NFUlQobGlzdEluZGV4ID49IDApOwotICAgICAgICBBU1NFUlQobGlzdElu
ZGV4IDwgKGludCkgaXRlbXMuc2l6ZSgpKTsKLQotICAgICAgICBpZiAoT3B0aW9uRWxlbWVudCog
b3B0aW9uRWxlbWVudCA9IHRvT3B0aW9uRWxlbWVudChpdGVtc1tsaXN0SW5kZXhdKSkgewotICAg
ICAgICAgICAgaWYgKCF2YWx1ZVN0cmluZy5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgdmFs
dWVTdHJpbmcgKz0gIjsiOwotCi0gICAgICAgICAgICB2YWx1ZVN0cmluZyArPSBvcHRpb25FbGVt
ZW50LT52YWx1ZSgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIHZhbHVlU3RyaW5n
OwotfQotCi1TdHJpbmcgV01MU2VsZWN0RWxlbWVudDo6b3B0aW9uSW5kaWNlc1RvU3RyaW5nKCkg
Y29uc3QKLXsKLSAgICBTdHJpbmcgdmFsdWVTdHJpbmc7Ci0gICAgaWYgKG1fZGVmYXVsdE9wdGlv
bkluZGljZXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gdmFsdWVTdHJpbmc7Ci0KLSAgICBW
ZWN0b3I8dW5zaWduZWQ+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX2RlZmF1bHRPcHRpb25JbmRp
Y2VzLmVuZCgpOwotICAgIGZvciAoVmVjdG9yPHVuc2lnbmVkPjo6Y29uc3RfaXRlcmF0b3IgaXQg
PSBtX2RlZmF1bHRPcHRpb25JbmRpY2VzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAg
ICAgICBpZiAoIXZhbHVlU3RyaW5nLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHZhbHVlU3RyaW5n
ICs9ICI7IjsKLQotICAgICAgICB2YWx1ZVN0cmluZyArPSBTdHJpbmc6Om51bWJlcigqaXQpOwot
ICAgIH0KLQotICAgIHJldHVybiB2YWx1ZVN0cmluZzsKLX0KLQotU3RyaW5nIFdNTFNlbGVjdEVs
ZW1lbnQ6Om5hbWUoKSBjb25zdAotewotICAgIHJldHVybiBwYXJzZVZhbHVlRm9yYmlkZGluZ1Zh
cmlhYmxlUmVmZXJlbmNlcyhnZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpuYW1lQXR0cikpOwotfQot
Ci1TdHJpbmcgV01MU2VsZWN0RWxlbWVudDo6dmFsdWUoKSBjb25zdAotewotICAgIHJldHVybiBw
YXJzZVZhbHVlU3Vic3RpdHV0aW5nVmFyaWFibGVSZWZlcmVuY2VzKGdldEF0dHJpYnV0ZShIVE1M
TmFtZXM6OnZhbHVlQXR0cikpOwotfQotCi1TdHJpbmcgV01MU2VsZWN0RWxlbWVudDo6aW5hbWUo
KSBjb25zdAotewotICAgIHJldHVybiBwYXJzZVZhbHVlRm9yYmlkZGluZ1ZhcmlhYmxlUmVmZXJl
bmNlcyhnZXRBdHRyaWJ1dGUoaW5hbWVBdHRyKSk7Ci19Ci0KLVN0cmluZyBXTUxTZWxlY3RFbGVt
ZW50OjppdmFsdWUoKSBjb25zdAotewotICAgIHJldHVybiBwYXJzZVZhbHVlU3Vic3RpdHV0aW5n
VmFyaWFibGVSZWZlcmVuY2VzKGdldEF0dHJpYnV0ZShpdmFsdWVBdHRyKSk7Ci19Ci0KLXZvaWQg
V01MU2VsZWN0RWxlbWVudDo6bGlzdEJveFNlbGVjdEl0ZW0oaW50LCBib29sLCBib29sLCBib29s
KQotewotICAgIC8qIER1bW15IGltcGxlbWVudGF0aW9uIGFzIGxpc3RCb3hTZWxlY3RJdGVtIGlz
IHB1cmUgdmlydHVhbCBpbiBTZWxlY3RFbGVtZW50IGNsYXNzICovCi19Ci0KLX0KLQotI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MU2VsZWN0RWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxTZWxlY3RFbGVtZW50LmgJKHJldmlzaW9uIDg1MTY2
KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTFNlbGVjdEVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMSwxMjEgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9i
aWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29t
LykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
Ci0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgot
ICovCi0KLSNpZm5kZWYgV01MU2VsZWN0RWxlbWVudF9oCi0jZGVmaW5lIFdNTFNlbGVjdEVsZW1l
bnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxGb3JtQ29udHJvbEVsZW1lbnQu
aCIKLSNpbmNsdWRlICJTZWxlY3RFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgV01MU2VsZWN0RWxlbWVudCA6IHB1YmxpYyBXTUxGb3JtQ29udHJvbEVsZW1lbnQsIHB1
YmxpYyBTZWxlY3RFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxT
ZWxlY3RFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0K
LSAgICBXTUxTZWxlY3RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwot
ICAgIHZpcnR1YWwgfldNTFNlbGVjdEVsZW1lbnQoKTsKLQotICAgIHZpcnR1YWwgY29uc3QgQXRv
bWljU3RyaW5nJiBmb3JtQ29udHJvbE5hbWUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGNvbnN0IEF0
b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7Ci0gCi0gICAgdmlydHVhbCBib29s
IGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0OwotICAgIHZpcnR1YWwg
Ym9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGNhblNlbGVj
dEFsbCgpIGNvbnN0IHsgcmV0dXJuICFtX2RhdGEudXNlc01lbnVMaXN0KCk7IH0KLSAgICB2aXJ0
dWFsIHZvaWQgc2VsZWN0QWxsKCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgcmVjYWxjU3R5bGUoU3R5
bGVDaGFuZ2UpOwotCi0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRm9jdXNFdmVudCgpOwotICAg
IHZpcnR1YWwgdm9pZCBkaXNwYXRjaEJsdXJFdmVudCgpOwotCi0gICAgdmlydHVhbCBib29sIGNh
blN0YXJ0U2VsZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLQotICAgIHZpcnR1YWwg
aW50IHNlbGVjdGVkSW5kZXgoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0ZWRJ
bmRleChpbnQgaW5kZXgsIGJvb2wgZGVzZWxlY3QgPSB0cnVlKTsKLSAgICB2aXJ0dWFsIHZvaWQg
c2V0U2VsZWN0ZWRJbmRleEJ5VXNlcihpbnQgaW5kZXgsIGJvb2wgZGVzZWxlY3QgPSB0cnVlLCBi
b29sIGZpcmVPbkNoYW5nZU5vdyA9IGZhbHNlLCBib29sIGFsbG93TXVsdGlwbGVTZWxlY3Rpb24g
PSBmYWxzZSk7Ci0KLSAgICB2aXJ0dWFsIGludCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9kYXRh
LnNpemUoKTsgfQotICAgIHZpcnR1YWwgYm9vbCBtdWx0aXBsZSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZGF0YS5tdWx0aXBsZSgpOyB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2F2ZUZvcm1Db250cm9sU3Rh
dGUoU3RyaW5nJiB2YWx1ZSkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3RvcmVGb3JtQ29u
dHJvbFN0YXRlKGNvbnN0IFN0cmluZyYpOwotCi0gICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hh
bmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAw
LCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKLQotICAg
IHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLQotICAgIHZp
cnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0
eWxlKik7Ci0gICAgdmlydHVhbCBib29sIGFwcGVuZEZvcm1EYXRhKEZvcm1EYXRhTGlzdCYsIGJv
b2wpOwotICAgIHZpcnR1YWwgaW50IG9wdGlvblRvTGlzdEluZGV4KGludCBvcHRpb25JbmRleCkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbGlzdFRvT3B0aW9uSW5kZXgoaW50IGxpc3RJbmRleCkg
Y29uc3Q7Ci0KLSAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIGxpc3RJdGVtcygp
IGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5saXN0SXRlbXModGhpcyk7IH0KLSAgICB2aXJ0dWFsIHZv
aWQgcmVzZXQoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50
Kik7Ci0gICAgdmlydHVhbCB2b2lkIGFjY2Vzc0tleUFjdGlvbihib29sIHNlbmRUb0FueUVsZW1l
bnQpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRBY3RpdmVTZWxlY3Rpb25BbmNob3JJbmRleChpbnQg
aW5kZXgpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRBY3RpdmVTZWxlY3Rpb25FbmRJbmRleChpbnQg
aW5kZXgpOwotICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKGJvb2wgZGVz
ZWxlY3RPdGhlck9wdGlvbnMpOwotICAgIHZpcnR1YWwgdm9pZCBsaXN0Qm94T25DaGFuZ2UoKTsK
LSAgICB2aXJ0dWFsIHZvaWQgbWVudUxpc3RPbkNoYW5nZSgpOwotCi0gICAgdmlydHVhbCBpbnQg
YWN0aXZlU2VsZWN0aW9uU3RhcnRMaXN0SW5kZXgoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBh
Y3RpdmVTZWxlY3Rpb25FbmRMaXN0SW5kZXgoKSBjb25zdDsKLQotICAgIHZvaWQgYWNjZXNzS2V5
U2V0U2VsZWN0ZWRJbmRleChpbnQpOwotICAgIHZvaWQgc2V0UmVjYWxjTGlzdEl0ZW1zKCk7Ci0g
ICAgdm9pZCBzY3JvbGxUb1NlbGVjdGlvbigpOwotICAgIHZvaWQgc2VsZWN0SW5pdGlhbE9wdGlv
bnMoKTsKLQotICAgIGJvb2wgaW5pdGlhbGl6ZWQoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxp
emVkOyB9Ci0gICAgCi0gICAgdmlydHVhbCB2b2lkIGxpc3RCb3hTZWxlY3RJdGVtKGludCBsaXN0
SW5kZXgsIGJvb2wgYWxsb3dNdWx0aXBseVNlbGVjdGlvbnMsIGJvb2wgc2hpZnQsIGJvb2wgZmly
ZU9uQ2hhbmdlTm93ID0gdHJ1ZSk7Ci1wcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRl
ZEludG9UcmVlKGJvb2wpOwotCi0gICAgdm9pZCBjYWxjdWxhdGVEZWZhdWx0T3B0aW9uSW5kaWNl
cygpOwotICAgIHZvaWQgc2VsZWN0RGVmYXVsdE9wdGlvbnMoKTsKLSAgICB2b2lkIGluaXRpYWxp
emVWYXJpYWJsZXMoKTsKLSAgICB2b2lkIHVwZGF0ZVZhcmlhYmxlcygpOwotCi0gICAgVmVjdG9y
PHVuc2lnbmVkPiBwYXJzZUluZGV4VmFsdWVTdHJpbmcoY29uc3QgU3RyaW5nJikgY29uc3Q7Ci0g
ICAgVmVjdG9yPHVuc2lnbmVkPiB2YWx1ZVN0cmluZ1RvT3B0aW9uSW5kaWNlcyhjb25zdCBTdHJp
bmcmKSBjb25zdDsKLSAgICBTdHJpbmcgb3B0aW9uSW5kaWNlc1RvVmFsdWVTdHJpbmcoKSBjb25z
dDsKLSAgICBTdHJpbmcgb3B0aW9uSW5kaWNlc1RvU3RyaW5nKCkgY29uc3Q7Ci0KLSAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlVmFsaWRpdHkoKSB7fQotCi0gICAgU3RyaW5nIG5hbWUoKSBjb25zdDsK
LSAgICBTdHJpbmcgdmFsdWUoKSBjb25zdDsKLSAgICBTdHJpbmcgaW5hbWUoKSBjb25zdDsKLSAg
ICBTdHJpbmcgaXZhbHVlKCkgY29uc3Q7Ci0KLSAgICBTZWxlY3RFbGVtZW50RGF0YSBtX2RhdGE7
Ci0gICAgYm9vbCBtX2luaXRpYWxpemVkOwotICAgIFZlY3Rvcjx1bnNpZ25lZD4gbV9kZWZhdWx0
T3B0aW9uSW5kaWNlczsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3dtbC9XTUxTZXR2YXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS93bWwvV01MU2V0dmFyRWxlbWVudC5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNl
L1dlYkNvcmUvd21sL1dNTFNldHZhckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDk0
ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5j
bHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTFNldHZhckVs
ZW1lbnQuaCIKLQotI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5o
IgotI2luY2x1ZGUgIldNTEVycm9ySGFuZGxpbmcuaCIKLSNpbmNsdWRlICJXTUxUYXNrRWxlbWVu
dC5oIgotI2luY2x1ZGUgIldNTFZhcmlhYmxlcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LVdNTFNldHZhckVsZW1lbnQ6OldNTFNldHZhckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTEVsZW1lbnQodGFnTmFtZSwgZG9jKQot
ewotfQotCi1QYXNzUmVmUHRyPFdNTFNldHZhckVsZW1lbnQ+IFdNTFNldHZhckVsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17
Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxTZXR2YXJFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KSk7Ci19Ci0KLVdNTFNldHZhckVsZW1lbnQ6On5XTUxTZXR2YXJFbGVtZW50KCkKLXsKLX0K
LQotdm9pZCBXTUxTZXR2YXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUq
IGF0dHIpCi17Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6Om5hbWVBdHRyKSB7
Ci0gICAgICAgIGlmICghaXNWYWxpZFZhcmlhYmxlTmFtZShwYXJzZVZhbHVlU3Vic3RpdHV0aW5n
VmFyaWFibGVSZWZlcmVuY2VzKGF0dHItPnZhbHVlKCksIFdNTEVycm9ySW52YWxpZFZhcmlhYmxl
TmFtZSkpKSB7Ci0gICAgICAgICAgICByZXBvcnRXTUxFcnJvcihkb2N1bWVudCgpLCBXTUxFcnJv
ckludmFsaWRWYXJpYWJsZU5hbWUpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0g
ICAgfSBlbHNlCi0gICAgICAgIFdNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIp
OwotfQotCi12b2lkIFdNTFNldHZhckVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCkKLXsK
LSAgICBXTUxFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpOwotIAotICAgIENvbnRhaW5l
ck5vZGUqIHBhcmVudCA9IHBhcmVudE5vZGUoKTsKLSAgICBpZiAoIXBhcmVudCB8fCAhcGFyZW50
LT5pc1dNTEVsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKHN0YXRpY19jYXN0
PFdNTEVsZW1lbnQqPihwYXJlbnQpLT5pc1dNTFRhc2tFbGVtZW50KCkpCi0gICAgICAgIHN0YXRp
Y19jYXN0PFdNTFRhc2tFbGVtZW50Kj4ocGFyZW50KS0+cmVnaXN0ZXJWYXJpYWJsZVNldHRlcih0
aGlzKTsKLX0KLQotdm9pZCBXTUxTZXR2YXJFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCkK
LXsKLSAgICBDb250YWluZXJOb2RlKiBwYXJlbnQgPSBwYXJlbnROb2RlKCk7Ci0gICAgaWYgKHBh
cmVudCAmJiBwYXJlbnQtPmlzV01MRWxlbWVudCgpKSB7Ci0gICAgICAgIGlmIChzdGF0aWNfY2Fz
dDxXTUxFbGVtZW50Kj4ocGFyZW50KS0+aXNXTUxUYXNrRWxlbWVudCgpKQotICAgICAgICAgICAg
c3RhdGljX2Nhc3Q8V01MVGFza0VsZW1lbnQqPihwYXJlbnQpLT5kZXJlZ2lzdGVyVmFyaWFibGVT
ZXR0ZXIodGhpcyk7Ci0gICAgfQotCi0gICAgV01MRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVu
dCgpOyAKLX0KLQotU3RyaW5nIFdNTFNldHZhckVsZW1lbnQ6Om5hbWUoKSBjb25zdAotewotICAg
IHJldHVybiBwYXJzZVZhbHVlU3Vic3RpdHV0aW5nVmFyaWFibGVSZWZlcmVuY2VzKGdldEF0dHJp
YnV0ZShIVE1MTmFtZXM6Om5hbWVBdHRyKSwgV01MRXJyb3JJbnZhbGlkVmFyaWFibGVOYW1lKTsK
LX0KLQotU3RyaW5nIFdNTFNldHZhckVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gcGFyc2VWYWx1ZVN1YnN0aXR1dGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhnZXRBdHRyaWJ1dGUo
SFRNTE5hbWVzOjp2YWx1ZUF0dHIpKTsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3dtbC9XTUxTZXR2YXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd21sL1dNTFNldHZhckVsZW1lbnQuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2Vi
Q29yZS93bWwvV01MU2V0dmFyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICswLDAg
QEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdN
TFNldHZhckVsZW1lbnRfaAotI2RlZmluZSBXTUxTZXR2YXJFbGVtZW50X2gKLQotI2lmIEVOQUJM
RShXTUwpCi0jaW5jbHVkZSAiV01MRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIFdNTFNldHZhckVsZW1lbnQgOiBwdWJsaWMgV01MRWxlbWVudCB7Ci1wdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8V01MU2V0dmFyRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgV01MU2V0dmFyRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwotICAgIHZpcnR1YWwgfldNTFNldHZhckVs
ZW1lbnQoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1
dGUqKTsKLSAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLSAgICB2aXJ0
dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwotCi0gICAgU3RyaW5nIG5hbWUoKSBjb25z
dDsKLSAgICBTdHJpbmcgdmFsdWUoKSBjb25zdDsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYWJsZUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYWJsZUVsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTE2
NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYWJsZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDI3NSArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBN
b2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5j
b20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAq
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRl
ICJXTUxUYWJsZUVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2luY2x1ZGUg
IkNTU1Byb3BlcnR5TmFtZXMuaCIKLSNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCi0jaW5j
bHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJOb2Rl
TGlzdC5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1ZGUgIlRleHQuaCIKLSNp
bmNsdWRlICJXTUxFcnJvckhhbmRsaW5nLmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNpbmNs
dWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLXVzaW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKLQotV01MVGFibGVFbGVtZW50OjpXTUxUYWJs
ZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKLSAg
ICA6IFdNTEVsZW1lbnQodGFnTmFtZSwgZG9jKQotICAgICwgbV9jb2x1bW5zKDApCi17Ci19Ci0K
LVBhc3NSZWZQdHI8V01MVGFibGVFbGVtZW50PiBXTUxUYWJsZUVsZW1lbnQ6OmNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBXTUxUYWJsZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0K
LQotV01MVGFibGVFbGVtZW50Ojp+V01MVGFibGVFbGVtZW50KCkKLXsKLX0KLQotYm9vbCBXTUxU
YWJsZUVsZW1lbnQ6Om1hcFRvRW50cnkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUsIE1h
cHBlZEF0dHJpYnV0ZUVudHJ5JiByZXN1bHQpIGNvbnN0Ci17Ci0gICAgaWYgKGF0dHJOYW1lID09
IEhUTUxOYW1lczo6YWxpZ25BdHRyKSB7Ci0gICAgICAgIHJlc3VsdCA9IGVUYWJsZTsKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiBXTUxFbGVtZW50OjptYXBUb0Vu
dHJ5KGF0dHJOYW1lLCByZXN1bHQpOwotfQotCi12b2lkIFdNTFRhYmxlRWxlbWVudDo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQotewotICAgIGlmIChhdHRyLT5uYW1lKCkg
PT0gY29sdW1uc0F0dHIpIHsKLSAgICAgICAgYm9vbCBpc051bWJlciA9IGZhbHNlOwotICAgICAg
ICBtX2NvbHVtbnMgPSBhdHRyLT52YWx1ZSgpLnN0cmluZygpLnRvVUludFN0cmljdCgmaXNOdW1i
ZXIpOwotCi0gICAgICAgIC8vIFNwZWM6IFRoaXMgcmVxdWlyZWQgYXR0cmlidXRlIHNwZWNpZmll
cyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgZm9yIHRoZSB0YWJsZS4KLSAgICAgICAgLy8gVGhlIHVz
ZXIgYWdlbnQgbXVzdCBjcmVhdGUgYSB0YWJsZSB3aXRoIGV4YWN0bHkgdGhlIG51bWJlciBvZiBj
b2x1bW5zIHNwZWNpZmllZAotICAgICAgICAvLyBieSB0aGUgYXR0cmlidXRlIHZhbHVlLiBJdCBp
cyBhbiBlcnJvciB0byBzcGVjaWZ5IGEgdmFsdWUgb2YgemVybyAoIjAiKQotICAgICAgICBpZiAo
IW1fY29sdW1ucyB8fCAhaXNOdW1iZXIpCi0gICAgICAgICAgICByZXBvcnRXTUxFcnJvcihkb2N1
bWVudCgpLCBXTUxFcnJvckludmFsaWRDb2x1bW5zTnVtYmVySW5UYWJsZSk7Ci0gICAgfSBlbHNl
IGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjphbGlnbkF0dHIpCi0gICAgICAgIG1fYWxp
Z25tZW50ID0gcGFyc2VWYWx1ZUZvcmJpZGRpbmdWYXJpYWJsZVJlZmVyZW5jZXMoYXR0ci0+dmFs
dWUoKSk7Ci0gICAgZWxzZQotICAgICAgICBXTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0
ZShhdHRyKTsKLX0KLQotdm9pZCBXTUxUYWJsZUVsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGlsZHJl
bigpCi17Ci0gICAgV01MRWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7Ci0KLSAgICBp
ZiAoIW1fY29sdW1ucykgewotICAgICAgICByZXBvcnRXTUxFcnJvcihkb2N1bWVudCgpLCBXTUxF
cnJvckludmFsaWRDb2x1bW5zTnVtYmVySW5UYWJsZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICBWZWN0b3I8V01MRWxlbWVudCo+IHJvd0VsZW1lbnRzID0gc2NhblRhYmxlQ2hpbGRF
bGVtZW50cyh0aGlzLCB0clRhZyk7Ci0gICAgaWYgKHJvd0VsZW1lbnRzLmlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgVmVjdG9yPFdNTEVsZW1lbnQqPjo6aXRlcmF0b3IgaXQgPSBy
b3dFbGVtZW50cy5iZWdpbigpOwotICAgIFZlY3RvcjxXTUxFbGVtZW50Kj46Oml0ZXJhdG9yIGVu
ZCA9IHJvd0VsZW1lbnRzLmVuZCgpOwotCi0gICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkgewot
ICAgICAgICBXTUxFbGVtZW50KiByb3dFbGVtZW50ID0gKCppdCk7Ci0KLSAgICAgICAgLy8gU3F1
ZWV6ZSB0aGUgdGFibGUgdG8gZml0IGluIHRoZSBkZXNpcmVkIG51bWJlciBvZiBjb2x1bW5zCi0g
ICAgICAgIFZlY3RvcjxXTUxFbGVtZW50Kj4gY29sdW1uRWxlbWVudHMgPSBzY2FuVGFibGVDaGls
ZEVsZW1lbnRzKHJvd0VsZW1lbnQsIHRkVGFnKTsKLSAgICAgICAgdW5zaWduZWQgYWN0dWFsTnVt
YmVyT2ZDb2x1bW5zID0gY29sdW1uRWxlbWVudHMuc2l6ZSgpOwotCi0gICAgICAgIGlmIChhY3R1
YWxOdW1iZXJPZkNvbHVtbnMgPiBtX2NvbHVtbnMpIHsKLSAgICAgICAgICAgIGpvaW5TdXBlcmZs
b3VzQ29sdW1ucyhjb2x1bW5FbGVtZW50cywgcm93RWxlbWVudCk7Ci0gICAgICAgICAgICBjb2x1
bW5FbGVtZW50cyA9IHNjYW5UYWJsZUNoaWxkRWxlbWVudHMocm93RWxlbWVudCwgdGRUYWcpOwot
ICAgICAgICB9IGVsc2UgaWYgKGFjdHVhbE51bWJlck9mQ29sdW1ucyA8IG1fY29sdW1ucykgewot
ICAgICAgICAgICAgcGFkV2l0aEVtcHR5Q29sdW1ucyhjb2x1bW5FbGVtZW50cywgcm93RWxlbWVu
dCk7Ci0gICAgICAgICAgICBjb2x1bW5FbGVtZW50cyA9IHNjYW5UYWJsZUNoaWxkRWxlbWVudHMo
cm93RWxlbWVudCwgdGRUYWcpOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gTGF5b3V0IGNlbGxz
IGFjY29yZGluZyB0byB0aGUgJ2FsaWduJyBhdHRyaWJ1dGUKLSAgICAgICAgYWxpZ25DZWxscyhj
b2x1bW5FbGVtZW50cywgcm93RWxlbWVudCk7Ci0gICAgfQotfQotCi1WZWN0b3I8V01MRWxlbWVu
dCo+IFdNTFRhYmxlRWxlbWVudDo6c2NhblRhYmxlQ2hpbGRFbGVtZW50cyhXTUxFbGVtZW50KiBz
dGFydEVsZW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUpIGNvbnN0Ci17Ci0gICAg
VmVjdG9yPFdNTEVsZW1lbnQqPiBjaGlsZEVsZW1lbnRzOwotCi0gICAgUmVmUHRyPE5vZGVMaXN0
PiBjaGlsZHJlbiA9IHN0YXJ0RWxlbWVudC0+Y2hpbGROb2RlcygpOwotICAgIGlmICghY2hpbGRy
ZW4pCi0gICAgICAgIHJldHVybiBjaGlsZEVsZW1lbnRzOwotCi0gICAgdW5zaWduZWQgbGVuZ3Ro
ID0gY2hpbGRyZW4tPmxlbmd0aCgpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5n
dGg7ICsraSkgewotICAgICAgICBOb2RlKiBjaGlsZCA9IGNoaWxkcmVuLT5pdGVtKGkpOwotICAg
ICAgICBpZiAoY2hpbGQtPmhhc1RhZ05hbWUodGFnTmFtZSkpCi0gICAgICAgICAgICBjaGlsZEVs
ZW1lbnRzLmFwcGVuZChzdGF0aWNfY2FzdDxXTUxFbGVtZW50Kj4oY2hpbGQpKTsKLSAgICB9Ci0K
LSAgICByZXR1cm4gY2hpbGRFbGVtZW50czsKLX0KLQotdm9pZCBXTUxUYWJsZUVsZW1lbnQ6OnRy
YW5zZmVyQWxsQ2hpbGRyZW5PZkVsZW1lbnRUb1RhcmdldEVsZW1lbnQoV01MRWxlbWVudCogc291
cmNlRWxlbWVudCwgV01MRWxlbWVudCogdGFyZ2V0RWxlbWVudCwgdW5zaWduZWQgc3RhcnRPZmZz
ZXQpIGNvbnN0Ci17Ci0gICAgUmVmUHRyPE5vZGVMaXN0PiBjaGlsZHJlbiA9IHNvdXJjZUVsZW1l
bnQtPmNoaWxkTm9kZXMoKTsKLSAgICBpZiAoIWNoaWxkcmVuKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLQotICAgIHVuc2lnbmVkIGxlbmd0aCA9IGNoaWxk
cmVuLT5sZW5ndGgoKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydE9mZnNldDsgaSA8IGxl
bmd0aDsgKytpKSB7Ci0gICAgICAgIFJlZlB0cjxOb2RlPiBjbG9uZWROb2RlID0gY2hpbGRyZW4t
Pml0ZW0oaSktPmNsb25lTm9kZSh0cnVlKTsKLSAgICAgICAgdGFyZ2V0RWxlbWVudC0+YXBwZW5k
Q2hpbGQoY2xvbmVkTm9kZS5yZWxlYXNlKCksIGVjKTsKLSAgICAgICAgQVNTRVJUKGVjID09IDAp
OwotICAgIH0KLX0KLQotYm9vbCBXTUxUYWJsZUVsZW1lbnQ6OnRyeU1lcmdlQWRqYWNlbnRUZXh0
Q2VsbHMoTm9kZSogaXRlbSwgTm9kZSogbmV4dEl0ZW0pIGNvbnN0Ci17Ci0gICAgaWYgKCFpdGVt
IHx8ICFuZXh0SXRlbSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFpdGVtLT5p
c1RleHROb2RlKCkgfHwgIW5leHRJdGVtLT5pc1RleHROb2RlKCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLQotICAgIFRleHQqIGl0ZW1UZXh0ID0gc3RhdGljX2Nhc3Q8VGV4dCo+KGl0ZW0pOwot
ICAgIFRleHQqIG5leHRJdGVtVGV4dCA9IHN0YXRpY19jYXN0PFRleHQqPihuZXh0SXRlbSk7Ci0K
LSAgICBTdHJpbmcgbmV3Q29udGVudCA9ICIgIjsKLSAgICBuZXdDb250ZW50ICs9IG5leHRJdGVt
VGV4dC0+ZGF0YSgpOwotCi0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgaXRlbVRleHQt
PmFwcGVuZERhdGEobmV3Q29udGVudCwgZWMpOwotICAgIEFTU0VSVChlYyA9PSAwKTsKLQotICAg
IHJldHVybiB0cnVlOwotfQotCi12b2lkIFdNTFRhYmxlRWxlbWVudDo6am9pblN1cGVyZmxvdXND
b2x1bW5zKFZlY3RvcjxXTUxFbGVtZW50Kj4mIGNvbHVtbkVsZW1lbnRzLCBXTUxFbGVtZW50KiBy
b3dFbGVtZW50KSBjb25zdAotewotICAgIC8vIFNwZWM6IElmIHRoZSBhY3R1YWwgbnVtYmVyIG9m
IGNvbHVtbnMgaW4gYSByb3cgaXMgZ3JlYXRlciB0aGFuIHRoZSB2YWx1ZSBzcGVjaWZpZWQKLSAg
ICAvLyBieSB0aGlzIGF0dHJpYnV0ZSwgdGhlIGV4dHJhIGNvbHVtbnMgb2YgdGhlIHJvdyBtdXN0
IGJlIGFnZ3JlZ2F0ZWQgaW50byB0aGUgbGFzdAotICAgIC8vIGNvbHVtbiBzdWNoIHRoYXQgdGhl
IHJvdyBjb250YWlucyBleGFjdGx5IHRoZSBudW1iZXIgb2YgY29sdW1ucyBzcGVjaWZpZWQuCi0g
ICAgV01MRWxlbWVudCogbGFzdENvbHVtbiA9IGNvbHVtbkVsZW1lbnRzLmF0KG1fY29sdW1ucyAt
IDEpOwotICAgIEFTU0VSVChsYXN0Q29sdW1uKTsKLQotICAgIC8vIE1lcmdlIHN1cGVyZmxvdXMg
Y29sdW1ucyBpbnRvIGEgc2luZ2xlIG9uZQotICAgIFJlZlB0cjxXTUxFbGVtZW50PiBuZXdDZWxs
ID0gV01MRWxlbWVudDo6Y3JlYXRlKHRkVGFnLCBkb2N1bWVudCgpKTsKLSAgICB0cmFuc2ZlckFs
bENoaWxkcmVuT2ZFbGVtZW50VG9UYXJnZXRFbGVtZW50KGxhc3RDb2x1bW4sIG5ld0NlbGwuZ2V0
KCksIDApOwotCi0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgdW5zaWduZWQgYWN0dWFs
TnVtYmVyT2ZDb2x1bW5zID0gY29sdW1uRWxlbWVudHMuc2l6ZSgpOwotCi0gICAgZm9yICh1bnNp
Z25lZCBpID0gbV9jb2x1bW5zOyBpIDwgYWN0dWFsTnVtYmVyT2ZDb2x1bW5zOyArK2kpIHsKLSAg
ICAgICAgV01MRWxlbWVudCogY29sdW1uRWxlbWVudCA9IGNvbHVtbkVsZW1lbnRzLmF0KGkpOwot
ICAgICAgICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IDA7Ci0KLSAgICAgICAgLy8gU3BlYzogQSBz
aW5nbGUgaW50ZXItd29yZCBzcGFjZSBtdXN0IGJlIGluc2VydGVkIGJldHdlZW4gdHdvIGNlbGxz
IHRoYXQgYXJlIGJlaW5nIGFnZ3JlZ2F0ZWQuCi0gICAgICAgIGlmICh0cnlNZXJnZUFkamFjZW50
VGV4dENlbGxzKG5ld0NlbGwtPmxhc3RDaGlsZCgpLCBjb2x1bW5FbGVtZW50LT5maXJzdENoaWxk
KCkpKQotICAgICAgICAgICAgKytzdGFydE9mZnNldDsKLQotICAgICAgICB0cmFuc2ZlckFsbENo
aWxkcmVuT2ZFbGVtZW50VG9UYXJnZXRFbGVtZW50KGNvbHVtbkVsZW1lbnQsIG5ld0NlbGwuZ2V0
KCksIHN0YXJ0T2Zmc2V0KTsKLSAgICB9Ci0KLSAgICAvLyBSZW1vdmUgdGhlIGNvbHVtbnMsIHRo
YXQgaGF2ZSBqdXN0IGJlZW4gbWVyZ2VkCi0gICAgdW5zaWduZWQgaSA9IGFjdHVhbE51bWJlck9m
Q29sdW1uczsKLSAgICBmb3IgKDsgaSA+IG1fY29sdW1uczsgLS1pKSB7Ci0gICAgICAgIHJvd0Vs
ZW1lbnQtPnJlbW92ZUNoaWxkKGNvbHVtbkVsZW1lbnRzLmF0KGkgLSAxKSwgZWMpOwotICAgICAg
ICBBU1NFUlQoZWMgPT0gMCk7Ci0gICAgfQotCi0gICAgLy8gUmVwbGFjZSB0aGUgbGFzdCBjb2x1
bW4gaW4gdGhlIHJvdyB3aXRoIHRoZSBuZXcgbWVyZ2VkIGNvbHVtbgotICAgIHJvd0VsZW1lbnQt
PnJlcGxhY2VDaGlsZChuZXdDZWxsLnJlbGVhc2UoKSwgbGFzdENvbHVtbiwgZWMpOwotICAgIEFT
U0VSVChlYyA9PSAwKTsKLX0KLQotdm9pZCBXTUxUYWJsZUVsZW1lbnQ6OnBhZFdpdGhFbXB0eUNv
bHVtbnMoVmVjdG9yPFdNTEVsZW1lbnQqPiYgY29sdW1uRWxlbWVudHMsIFdNTEVsZW1lbnQqIHJv
d0VsZW1lbnQpIGNvbnN0Ci17Ci0gICAgLy8gU3BlYzogSWYgdGhlIGFjdHVhbCBudW1iZXIgb2Yg
Y29sdW1ucyBpbiBhIHJvdyBpcyBsZXNzIHRoYW4gdGhlIHZhbHVlIHNwZWNpZmllZCBieSB0aGUg
Y29sdW1ucyAKLSAgICAvLyBhdHRyaWJ1dGUsIHRoZSByb3cgbXVzdCBiZSBwYWRkZWQgd2l0aCBl
bXB0eSBjb2x1bW5zIGVmZmVjdGl2ZWx5IGFzIGlmIHRoZSB1c2VyIGFnZW50IAotICAgIC8vIGFw
cGVuZGVkIGVtcHR5IHRkIGVsZW1lbnRzIHRvIHRoZSByb3cuIAotICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOwotCi0gICAgZm9yICh1bnNpZ25lZCBpID0gY29sdW1uRWxlbWVudHMuc2l6ZSgpOyBp
IDwgbV9jb2x1bW5zOyArK2kpIHsKLSAgICAgICAgUmVmUHRyPFdNTEVsZW1lbnQ+IG5ld0NlbGwg
PSBXTUxFbGVtZW50OjpjcmVhdGUodGRUYWcsIGRvY3VtZW50KCkpOwotICAgICAgICByb3dFbGVt
ZW50LT5hcHBlbmRDaGlsZChuZXdDZWxsLnJlbGVhc2UoKSwgZWMpOwotICAgICAgICBBU1NFUlQo
ZWMgPT0gMCk7Ci0gICAgfQotfQotCi12b2lkIFdNTFRhYmxlRWxlbWVudDo6YWxpZ25DZWxscyhW
ZWN0b3I8V01MRWxlbWVudCo+JiBjb2x1bW5FbGVtZW50cywgV01MRWxlbWVudCogcm93RWxlbWVu
dCkgY29uc3QKLXsKLSAgICAvLyBTcGVjOiBVc2VyIGFnZW50cyBzaG91bGQgY29uc2lkZXIgdGhl
IGN1cnJlbnQgbGFuZ3VhZ2Ugd2hlbiBkZXRlcm1pbmluZwotICAgIC8vIHRoZSBkZWZhdWx0IGFs
aWdubWVudCBhbmQgdGhlIGRpcmVjdGlvbiBvZiB0aGUgdGFibGUuCi0gICAgYm9vbCBydGwgPSBm
YWxzZTsKLSAgICBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHJvd0VsZW1lbnQtPnJlbmRl
cmVyKCkpIHsKLSAgICAgICAgaWYgKFJlbmRlclN0eWxlKiBzdHlsZSA9IHJlbmRlcmVyLT5zdHls
ZSgpKQotICAgICAgICAgICAgcnRsID0gIXN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7
Ci0gICAgfQotCi0gICAgcm93RWxlbWVudC0+c2V0QXR0cmlidXRlKEhUTUxOYW1lczo6YWxpZ25B
dHRyLCBydGwgPyAicmlnaHQiIDogImxlZnQiKTsKLQotICAgIGlmIChtX2FsaWdubWVudC5pc0Vt
cHR5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHVuc2lnbmVkIGFsaWduTGVuZ3RoID0gbV9h
bGlnbm1lbnQubGVuZ3RoKCk7Ci0KLSAgICBWZWN0b3I8V01MRWxlbWVudCo+OjppdGVyYXRvciBp
dCA9IGNvbHVtbkVsZW1lbnRzLmJlZ2luKCk7Ci0gICAgVmVjdG9yPFdNTEVsZW1lbnQqPjo6aXRl
cmF0b3IgZW5kID0gY29sdW1uRWxlbWVudHMuZW5kKCk7Ci0KLSAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpdCAhPSBlbmQ7ICsraXQsICsraSkgewotICAgICAgICBpZiAoaSA9PSBhbGlnbkxlbmd0
aCkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIFN0cmluZyBhbGlnbm1lbnRWYWx1ZTsK
LSAgICAgICAgc3dpdGNoIChtX2FsaWdubWVudFtpXSkgewotICAgICAgICBjYXNlICdDJzoKLSAg
ICAgICAgICAgIGFsaWdubWVudFZhbHVlID0gImNlbnRlciI7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSAnTCc6Ci0gICAgICAgICAgICBhbGlnbm1lbnRWYWx1ZSA9ICJsZWZ0IjsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICdSJzoKLSAgICAgICAgICAgIGFsaWdu
bWVudFZhbHVlID0gInJpZ2h0IjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoYWxpZ25tZW50
VmFsdWUuaXNFbXB0eSgpKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgKCppdCkt
PnNldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmFsaWduQXR0ciwgYWxpZ25tZW50VmFsdWUpOwotICAg
IH0KLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYWJsZUVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGFibGVFbGVtZW50
LmgJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTFRhYmxlRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU5ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChD
KSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3
LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTFRhYmxlRWxlbWVudF9oCi0jZGVmaW5l
IFdNTFRhYmxlRWxlbWVudF9oCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVsZW1l
bnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBIVE1MQ29sbGVjdGlvbjsKLQot
Y2xhc3MgV01MVGFibGVFbGVtZW50IDogcHVibGljIFdNTEVsZW1lbnQgewotcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdNTFRhYmxlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgV01MVGFibGVFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7Ci0gICAgdmlydHVhbCB+V01MVGFibGVFbGVtZW50
KCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgbWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiwg
TWFwcGVkQXR0cmlidXRlRW50cnkmKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFyc2lu
Z0NoaWxkcmVuKCk7Ci0KLXByaXZhdGU6Ci0gICAgVmVjdG9yPFdNTEVsZW1lbnQqPiBzY2FuVGFi
bGVDaGlsZEVsZW1lbnRzKFdNTEVsZW1lbnQqIHN0YXJ0RWxlbWVudCwgY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSkgY29uc3Q7Ci0KLSAgICBib29sIHRyeU1lcmdlQWRqYWNlbnRUZXh0Q2Vs
bHMoTm9kZSogaXRlbSwgTm9kZSogbmV4dEl0ZW0pIGNvbnN0OwotICAgIHZvaWQgdHJhbnNmZXJB
bGxDaGlsZHJlbk9mRWxlbWVudFRvVGFyZ2V0RWxlbWVudChXTUxFbGVtZW50KiBzb3VyY2VFbGVt
ZW50LCBXTUxFbGVtZW50KiB0YXJnZXRFbGVtZW50LCB1bnNpZ25lZCBzdGFydE9mZnNldCkgY29u
c3Q7Ci0gICAgdm9pZCBqb2luU3VwZXJmbG91c0NvbHVtbnMoVmVjdG9yPFdNTEVsZW1lbnQqPiYg
Y29sdW1uRWxlbWVudHMsIFdNTEVsZW1lbnQqIHJvd0VsZW1lbnQpIGNvbnN0OwotICAgIHZvaWQg
cGFkV2l0aEVtcHR5Q29sdW1ucyhWZWN0b3I8V01MRWxlbWVudCo+JiBjb2x1bW5FbGVtZW50cywg
V01MRWxlbWVudCogcm93RWxlbWVudCkgY29uc3Q7Ci0gICAgdm9pZCBhbGlnbkNlbGxzKFZlY3Rv
cjxXTUxFbGVtZW50Kj4mIGNvbHVtbkVsZW1lbnRzLCBXTUxFbGVtZW50KiByb3dFbGVtZW50KSBj
b25zdDsKLQotICAgIHVuc2lnbmVkIG1fY29sdW1uczsKLSAgICBTdHJpbmcgbV9hbGlnbm1lbnQ7
Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01M
VGFnTmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTFRhZ05hbWVz
LmluCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYWdOYW1lcy5p
bgkod29ya2luZyBjb3B5KQpAQCAtMSwzNSArMCwwIEBACi1uYW1lc3BhY2U9IldNTCIKLW5hbWVz
cGFjZVVSST0iaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIgotZ3VhcmRG
YWN0b3J5V2l0aD0iRU5BQkxFKFdNTCkiCi0KLWEKLWFjY2VzcwotYW5jaG9yCi1iciBpbnRlcmZh
Y2VOYW1lPVdNTEJSRWxlbWVudAotY2FyZAotZG8KLWZpZWxkc2V0IGludGVyZmFjZU5hbWU9V01M
RmllbGRTZXRFbGVtZW50Ci1nbwotaGVhZCBpbnRlcmZhY2VOYW1lPVdNTEVsZW1lbnQKLWltZyBp
bnRlcmZhY2VOYW1lPVdNTEltYWdlRWxlbWVudAotaW5wdXQKLSNpZiAwCi0jIE5vdGU6ICdpbnNl
cnRlZExlZ2VuZCcgaXMgbm90IGFuIG9mZmljaWFsIFdNTCBlbGVtZW50IC0gaW50ZXJuYWwgcHVy
cG9zZSBvbmx5IQotI2VuZGlmCi1pbnNlcnRlZExlZ2VuZCBpbnRlcmZhY2VOYW1lPVdNTEluc2Vy
dGVkTGVnZW5kRWxlbWVudAotbWV0YQotbm9vcAotb25ldmVudCBpbnRlcmZhY2VOYW1lPVdNTE9u
RXZlbnRFbGVtZW50Ci1vcHRncm91cCBpbnRlcmZhY2VOYW1lPVdNTE9wdEdyb3VwRWxlbWVudAot
b3B0aW9uCi1wCi1wb3N0ZmllbGQKLXByZXYKLXJlZnJlc2gKLXNlbGVjdAotc2V0dmFyCi10YWJs
ZQotdGQgaW50ZXJmYWNlTmFtZT1XTUxFbGVtZW50Ci10ZW1wbGF0ZQotdGltZXIKLXRyIGludGVy
ZmFjZU5hbWU9V01MRWxlbWVudApJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTFRhc2tFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGFza0VsZW1lbnQu
Y3BwCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYXNrRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMTE5ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0
IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8v
d3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFC
TEUoV01MKQotI2luY2x1ZGUgIldNTFRhc2tFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJXTUxBbmNo
b3JFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MRG9FbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MTmFt
ZXMuaCIKLSNpbmNsdWRlICJXTUxPbkV2ZW50RWxlbWVudC5oIgotI2luY2x1ZGUgIldNTFBhZ2VT
dGF0ZS5oIgotI2luY2x1ZGUgIldNTFNldHZhckVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdNTFRhc2tFbGVtZW50OjpXTUxU
YXNrRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQot
ICAgIDogV01MRWxlbWVudCh0YWdOYW1lLCBkb2MpCi17Ci19Ci0KLVdNTFRhc2tFbGVtZW50Ojp+
V01MVGFza0VsZW1lbnQoKQotewotfQotCi12b2lkIFdNTFRhc2tFbGVtZW50OjppbnNlcnRlZElu
dG9Eb2N1bWVudCgpCi17Ci0gICAgV01MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsK
LQotICAgIENvbnRhaW5lck5vZGUqIHBhcmVudCA9IHBhcmVudE5vZGUoKTsKLSAgICBpZiAoIXBh
cmVudCB8fCAhcGFyZW50LT5pc1dNTEVsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
aWYgKHBhcmVudC0+aGFzVGFnTmFtZShhbmNob3JUYWcpKQotICAgICAgICBzdGF0aWNfY2FzdDxX
TUxBbmNob3JFbGVtZW50Kj4ocGFyZW50KS0+cmVnaXN0ZXJUYXNrKHRoaXMpOwotICAgIGVsc2Ug
aWYgKHBhcmVudC0+aGFzVGFnTmFtZShkb1RhZykpCi0gICAgICAgIHN0YXRpY19jYXN0PFdNTERv
RWxlbWVudCo+KHBhcmVudCktPnJlZ2lzdGVyVGFzayh0aGlzKTsKLSAgICBlbHNlIGlmIChwYXJl
bnQtPmhhc1RhZ05hbWUob25ldmVudFRhZykpCi0gICAgICAgIHN0YXRpY19jYXN0PFdNTE9uRXZl
bnRFbGVtZW50Kj4ocGFyZW50KS0+cmVnaXN0ZXJUYXNrKHRoaXMpOwotfQotCi12b2lkIFdNTFRh
c2tFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCkKLXsKLSAgICBDb250YWluZXJOb2RlKiBw
YXJlbnQgPSBwYXJlbnROb2RlKCk7Ci0gICAgaWYgKHBhcmVudCAmJiBwYXJlbnQtPmlzV01MRWxl
bWVudCgpKSB7Ci0gICAgICAgIGlmIChwYXJlbnQtPmhhc1RhZ05hbWUoYW5jaG9yVGFnKSkKLSAg
ICAgICAgICAgIHN0YXRpY19jYXN0PFdNTEFuY2hvckVsZW1lbnQqPihwYXJlbnQpLT5kZXJlZ2lz
dGVyVGFzayh0aGlzKTsKLSAgICAgICAgZWxzZSBpZiAocGFyZW50LT5oYXNUYWdOYW1lKGRvVGFn
KSkKLSAgICAgICAgICAgIHN0YXRpY19jYXN0PFdNTERvRWxlbWVudCo+KHBhcmVudCktPmRlcmVn
aXN0ZXJUYXNrKHRoaXMpOwotICAgICAgICBlbHNlIGlmIChwYXJlbnQtPmhhc1RhZ05hbWUob25l
dmVudFRhZykpCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxXTUxPbkV2ZW50RWxlbWVudCo+KHBh
cmVudCktPmRlcmVnaXN0ZXJUYXNrKHRoaXMpOwotICAgIH0KLQotICAgIFdNTEVsZW1lbnQ6OnJl
bW92ZWRGcm9tRG9jdW1lbnQoKTsKLX0KLQotdm9pZCBXTUxUYXNrRWxlbWVudDo6cmVnaXN0ZXJW
YXJpYWJsZVNldHRlcihXTUxTZXR2YXJFbGVtZW50KiBlbGVtZW50KQotewotICAgIEFTU0VSVCht
X3ZhcmlhYmxlU2V0dGVyRWxlbWVudHMuZmluZChlbGVtZW50KSA9PSBXVEY6Om5vdEZvdW5kKTsK
LSAgICBtX3ZhcmlhYmxlU2V0dGVyRWxlbWVudHMuYXBwZW5kKGVsZW1lbnQpOwotfQotCi12b2lk
IFdNTFRhc2tFbGVtZW50OjpkZXJlZ2lzdGVyVmFyaWFibGVTZXR0ZXIoV01MU2V0dmFyRWxlbWVu
dCogZWxlbWVudCkKLXsKLSAgICBzaXplX3QgcG9zaXRpb24gPSBtX3ZhcmlhYmxlU2V0dGVyRWxl
bWVudHMuZmluZChlbGVtZW50KTsKLSAgICBBU1NFUlQocG9zaXRpb24gIT0gV1RGOjpub3RGb3Vu
ZCk7Ci0gICAgbV92YXJpYWJsZVNldHRlckVsZW1lbnRzLnJlbW92ZShwb3NpdGlvbik7Ci19Ci0K
LXZvaWQgV01MVGFza0VsZW1lbnQ6OnN0b3JlVmFyaWFibGVTdGF0ZShXTUxQYWdlU3RhdGUqIHBh
Z2VTdGF0ZSkKLXsKLSAgICBpZiAoIXBhZ2VTdGF0ZSB8fCBtX3ZhcmlhYmxlU2V0dGVyRWxlbWVu
dHMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBXTUxWYXJpYWJsZU1hcCB2YXJp
YWJsZXM7Ci0gICAgVmVjdG9yPFdNTFNldHZhckVsZW1lbnQqPjo6aXRlcmF0b3IgaXQgPSBtX3Zh
cmlhYmxlU2V0dGVyRWxlbWVudHMuYmVnaW4oKTsKLSAgICBWZWN0b3I8V01MU2V0dmFyRWxlbWVu
dCo+OjppdGVyYXRvciBlbmQgPSBtX3ZhcmlhYmxlU2V0dGVyRWxlbWVudHMuZW5kKCk7Ci0KLSAg
ICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFdNTFNldHZhckVsZW1lbnQqIHNl
dHRlckVsZW1lbnQgPSAoKml0KTsKLQotICAgICAgICBTdHJpbmcgbmFtZSA9IHNldHRlckVsZW1l
bnQtPm5hbWUoKTsKLSAgICAgICAgaWYgKG5hbWUuaXNFbXB0eSgpKQotICAgICAgICAgICAgY29u
dGludWU7Ci0KLSAgICAgICAgU3RyaW5nIHZhbHVlID0gc2V0dGVyRWxlbWVudC0+dmFsdWUoKTsK
LSAgICAgICAgdmFyaWFibGVzLnNldChuYW1lLCB2YWx1ZSk7Ci0KLSAgICAgICAgLy8gVGhlIG5l
eHQgc2V0dmFyIGVsZW1lbnQgbWF5IGRlcGVuZCBvbiB0aGlzIHZhcmlhYmxlIHZhbHVlLiBJdCdz
IHNhZmUgdG8gc3RvcmUgdGhlIGN1cnJlbnQKLSAgICAgICAgLy8gbmFtZSB2YWx1ZSBwYWlyIGlu
IHRoZSBwYWdlIHN0YXRlLCBhcyB0aGUgd2hvbGUgcGFnZSBzdGF0ZSBpcyByZXBsYWNlZCBzb29u
IGJ5IHRoaXMgbmV3IG1hcAotICAgICAgICBwYWdlU3RhdGUtPnN0b3JlVmFyaWFibGUobmFtZSwg
dmFsdWUpOwotICAgIH0KLQotICAgIHBhZ2VTdGF0ZS0+c3RvcmVWYXJpYWJsZXModmFyaWFibGVz
KTsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYXNrRWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYXNrRWxlbWVudC5o
CShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYXNrRWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDU4ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAy
MDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRv
cmNobW9iaWxlLmNvbS8pCi0gKiAKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
LSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxUYXNrRWxlbWVudF9oCi0jZGVmaW5lIFdN
TFRhc2tFbGVtZW50X2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MRWxlbWVudC5o
IgotCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNs
YXNzIFdNTFBhZ2VTdGF0ZTsKLWNsYXNzIFdNTFNldHZhckVsZW1lbnQ7Ci0KLWNsYXNzIFdNTFRh
c2tFbGVtZW50IDogcHVibGljIFdNTEVsZW1lbnQgewotcHVibGljOgotICAgIHZpcnR1YWwgYm9v
bCBpc1dNTFRhc2tFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotCi0gICAgdmlydHVh
bCB2b2lkIGluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZWRG
cm9tRG9jdW1lbnQoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZVRhc2soKSA9IDA7Ci0KLSAg
ICB2b2lkIHJlZ2lzdGVyVmFyaWFibGVTZXR0ZXIoV01MU2V0dmFyRWxlbWVudCopOwotICAgIHZv
aWQgZGVyZWdpc3RlclZhcmlhYmxlU2V0dGVyKFdNTFNldHZhckVsZW1lbnQqKTsKLQotcHJvdGVj
dGVkOgotICAgIFdNTFRhc2tFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50Kik7Ci0gICAgdmlydHVhbCB+V01MVGFza0VsZW1lbnQoKTsKLQotICAgIHZvaWQgc3Rv
cmVWYXJpYWJsZVN0YXRlKFdNTFBhZ2VTdGF0ZSopOwotCi1wcml2YXRlOgotICAgIFZlY3RvcjxX
TUxTZXR2YXJFbGVtZW50Kj4gbV92YXJpYWJsZVNldHRlckVsZW1lbnRzOwotfTsKLQotfQotCi0j
ZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTFRlbXBsYXRlRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTFRlbXBsYXRlRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTFRlbXBsYXRl
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMTIwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MVGVtcGxhdGVFbGVtZW50LmgiCi0KLSNp
bmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJOb2RlTGlzdC5oIgotI2luY2x1ZGUgIldN
TENhcmRFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJXTUxJ
bnRyaW5zaWNFdmVudEhhbmRsZXIuaCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKLQotV01MVGVtcGxhdGVF
bGVtZW50OjpXTUxUZW1wbGF0ZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTEVsZW1lbnQodGFnTmFtZSwgZG9jKQotewotfQotCi1X
TUxUZW1wbGF0ZUVsZW1lbnQ6On5XTUxUZW1wbGF0ZUVsZW1lbnQoKQotewotfQotCi1QYXNzUmVm
UHRyPFdNTFRlbXBsYXRlRWxlbWVudD4gV01MVGVtcGxhdGVFbGVtZW50OjpjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVy
biBhZG9wdFJlZihuZXcgV01MVGVtcGxhdGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Ci19
Ci0KLXZvaWQgV01MVGVtcGxhdGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1
dGUqIGF0dHIpCi17Ci0gICAgV01MSW50cmluc2ljRXZlbnRUeXBlIGV2ZW50VHlwZSA9IFdNTElu
dHJpbnNpY0V2ZW50VW5rbm93bjsKLQotICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gb25lbnRlcmZv
cndhcmRBdHRyKQotICAgICAgICBldmVudFR5cGUgPSBXTUxJbnRyaW5zaWNFdmVudE9uRW50ZXJG
b3J3YXJkOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmVudGVyYmFja3dhcmRBdHRy
KQotICAgICAgICBldmVudFR5cGUgPSBXTUxJbnRyaW5zaWNFdmVudE9uRW50ZXJCYWNrd2FyZDsK
LSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb250aW1lckF0dHIpCi0gICAgICAgIGV2ZW50
VHlwZSA9IFdNTEludHJpbnNpY0V2ZW50T25UaW1lcjsKLSAgICBlbHNlIHsKLSAgICAgICAgV01M
RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAoZXZlbnRUeXBlID09IFdNTEludHJpbnNpY0V2ZW50VW5rbm93bikKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgLy8gUmVnaXN0ZXIgaW50cmluc2ljIGV2ZW50IGluIGNhcmQK
LSAgICBSZWZQdHI8V01MSW50cmluc2ljRXZlbnQ+IGV2ZW50ID0gV01MSW50cmluc2ljRXZlbnQ6
OmNyZWF0ZShkb2N1bWVudCgpLCBhdHRyLT52YWx1ZSgpKTsKLQotICAgIGNyZWF0ZUV2ZW50SGFu
ZGxlcklmTmVlZGVkKCk7Ci0gICAgZXZlbnRIYW5kbGVyKCktPnJlZ2lzdGVySW50cmluc2ljRXZl
bnQoZXZlbnRUeXBlLCBldmVudCk7Ci19Ci0KLXZvaWQgV01MVGVtcGxhdGVFbGVtZW50OjpyZWdp
c3RlclRlbXBsYXRlc0luRG9jdW1lbnQoRG9jdW1lbnQqIGRvYykKLXsKLSAgICBBU1NFUlQoZG9j
KTsKLQotICAgIC8vIEJ1aWxkIGxpc3Qgb2YgY2FyZHMgaW4gZG9jdW1lbnQKLSAgICBSZWZQdHI8
Tm9kZUxpc3Q+IG5vZGVMaXN0ID0gZG9jLT5nZXRFbGVtZW50c0J5VGFnTmFtZSgiY2FyZCIpOwot
ICAgIGlmICghbm9kZUxpc3QpCi0gICAgICAgIHJldHVybjsKLQotICAgIHVuc2lnbmVkIGxlbmd0
aCA9IG5vZGVMaXN0LT5sZW5ndGgoKTsKLSAgICBpZiAobGVuZ3RoIDwgMSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgSGFzaFNldDxXTUxDYXJkRWxlbWVudCo+IGNhcmRzOwotICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKLSAgICAgICAgY2FyZHMuYWRkKHN0YXRpY19j
YXN0PFdNTENhcmRFbGVtZW50Kj4obm9kZUxpc3QtPml0ZW0oaSkpKTsgICAgCi0KLSAgICBpZiAo
Y2FyZHMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBSZWdpc3RlciB0ZW1w
bGF0ZSBlbGVtZW50IHRvIGFsbCBjYXJkcwotICAgIG5vZGVMaXN0ID0gZG9jLT5nZXRFbGVtZW50
c0J5VGFnTmFtZSgidGVtcGxhdGUiKTsKLSAgICBpZiAoIW5vZGVMaXN0KQotICAgICAgICByZXR1
cm47Ci0KLSAgICBsZW5ndGggPSBub2RlTGlzdC0+bGVuZ3RoKCk7Ci0gICAgaWYgKGxlbmd0aCA8
IDEpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIE9ubHkgb25lIHRlbXBsYXRlIGVsZW1lbnQg
c2hvdWxkIGJlIGFsbG93ZWQgaW4gYSBkb2N1bWVudAotICAgIC8vIENhbGxpbmcgc2V0VGVtcGxh
dGVFbGVtZW50KCkgdHdpY2Ugb24gYSBXTUxDYXJkRWxlbWVudCwgd2lsbCByZXN1bHQgaW4gYSBw
YXJzZXIgZXJyb3IuCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7
Ci0gICAgICAgIFdNTFRlbXBsYXRlRWxlbWVudCogdGVtcCA9IHN0YXRpY19jYXN0PFdNTFRlbXBs
YXRlRWxlbWVudCo+KG5vZGVMaXN0LT5pdGVtKGkpKTsKLQotICAgICAgICBIYXNoU2V0PFdNTENh
cmRFbGVtZW50Kj46Oml0ZXJhdG9yIGl0ID0gY2FyZHMuYmVnaW4oKTsKLSAgICAgICAgSGFzaFNl
dDxXTUxDYXJkRWxlbWVudCo+OjppdGVyYXRvciBlbmQgPSBjYXJkcy5lbmQoKTsKLQotICAgICAg
ICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICAgICAgKCppdCktPnNldFRlbXBsYXRl
RWxlbWVudCh0ZW1wKTsKLSAgICB9Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS93bWwvV01MVGVtcGxhdGVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd21sL1dNTFRlbXBsYXRlRWxlbWVudC5oCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9X
ZWJDb3JlL3dtbC9XTUxUZW1wbGF0ZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw0NSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgot
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0j
aWZuZGVmIFdNTFRlbXBsYXRlRWxlbWVudF9oCi0jZGVmaW5lIFdNTFRlbXBsYXRlRWxlbWVudF9o
Ci0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKLSNpbmNsdWRlICJX
TUxFdmVudEhhbmRsaW5nRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IFdNTFRlbXBsYXRlRWxlbWVudCA6IHB1YmxpYyBXTUxFbGVtZW50LCBwdWJsaWMgV01MRXZlbnRI
YW5kbGluZ0VsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdNTFRlbXBs
YXRlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0g
ICAgV01MVGVtcGxhdGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwot
ICAgIHZpcnR1YWwgfldNTFRlbXBsYXRlRWxlbWVudCgpOwotCi0gICAgdmlydHVhbCB2b2lkIHBh
cnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOwotCi0gICAgc3RhdGljIHZvaWQgcmVnaXN0
ZXJUZW1wbGF0ZXNJbkRvY3VtZW50KERvY3VtZW50Kik7Ci19OwotCi19Ci0KLSNlbmRpZgotI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGltZXJFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGltZXJFbGVtZW50LmNwcAkocmV2aXNpb24g
ODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGltZXJFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxNjEgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9y
Y2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2Jp
bGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICog
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
Ci0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5j
bHVkZSAiV01MVGltZXJFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNs
dWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJXTUxDYXJkRWxlbWVudC5oIgotI2luY2x1ZGUg
IldNTERvY3VtZW50LmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNpbmNsdWRlICJXTUxQYWdl
U3RhdGUuaCIKLSNpbmNsdWRlICJXTUxUZW1wbGF0ZUVsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxW
YXJpYWJsZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgV01M
TmFtZXM7Ci0KLVdNTFRpbWVyRWxlbWVudDo6V01MVGltZXJFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxFbGVtZW50KHRhZ05hbWUs
IGRvYykKLSAgICAsIG1fdGltZXIodGhpcywgJldNTFRpbWVyRWxlbWVudDo6dGltZXJGaXJlZCkK
LXsKLX0KLQotUGFzc1JlZlB0cjxXTUxUaW1lckVsZW1lbnQ+IFdNTFRpbWVyRWxlbWVudDo6Y3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLXsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdNTFRpbWVyRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkpOwotfQotCi12b2lkIFdNTFRpbWVyRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0
cmlidXRlKiBhdHRyKQotewotICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpuYW1l
QXR0cikKLSAgICAgICAgbV9uYW1lID0gcGFyc2VWYWx1ZUZvcmJpZGRpbmdWYXJpYWJsZVJlZmVy
ZW5jZXMoYXR0ci0+dmFsdWUoKSk7Ci0gICAgZWxzZQotICAgICAgICBXTUxFbGVtZW50OjpwYXJz
ZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKLX0KLQotdm9pZCBXTUxUaW1lckVsZW1lbnQ6Omluc2Vy
dGVkSW50b0RvY3VtZW50KCkKLXsKLSAgICBXTUxFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVu
dCgpOwotCi0gICAgLy8gSWYgdGhlIHZhbHVlIG9mIHRpbWVvdXQgaXMgbm90IGEgcG9zaXRpdmUg
aW50ZWdlciwgaWdub3JlIGl0Ci0gICAgaWYgKHZhbHVlKCkudG9JbnQoKSA8PSAwKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBDb250YWluZXJOb2RlKiBwYXJlbnQgPSBwYXJlbnROb2RlKCk7Ci0g
ICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC0+aXNXTUxFbGVtZW50KCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIGlmIChwYXJlbnQtPmhhc1RhZ05hbWUoY2FyZFRhZykpIHsKLSAgICAgICAgbV9j
YXJkID0gc3RhdGljX2Nhc3Q8V01MQ2FyZEVsZW1lbnQqPihwYXJlbnQpOwotICAgICAgICBtX2Nh
cmQtPnNldEludHJpbnNpY0V2ZW50VGltZXIodGhpcyk7Ci0gICAgfQotfQotCi12b2lkIFdNTFRp
bWVyRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCi17Ci0gICAgQ29udGFpbmVyTm9kZSog
cGFyZW50ID0gcGFyZW50Tm9kZSgpOwotICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pc1dNTEVs
ZW1lbnQoKSAmJiBwYXJlbnQtPmhhc1RhZ05hbWUoY2FyZFRhZykpIHsKLSAgICAgICAgbV9jYXJk
LT5zZXRJbnRyaW5zaWNFdmVudFRpbWVyKDApOwotICAgICAgICBtX2NhcmQgPSAwOwotICAgIH0K
LQotICAgIFdNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKLX0KLQotdm9pZCBXTUxU
aW1lckVsZW1lbnQ6OnRpbWVyRmlyZWQoVGltZXI8V01MVGltZXJFbGVtZW50PiopCi17Ci0gICAg
aWYgKCFtX2NhcmQpCi0gICAgICAgIHJldHVybjsKLQotICAgIFdNTFBhZ2VTdGF0ZSogcGFnZVN0
YXRlID0gd21sUGFnZVN0YXRlRm9yRG9jdW1lbnQoZG9jdW1lbnQoKSk7Ci0gICAgaWYgKCFwYWdl
U3RhdGUpCi0gICAgICAgIHJldHVybjsKLQotICAgIFN0cmluZyB2YWx1ZSA9IHRoaXMtPnZhbHVl
KCk7Ci0KLSAgICAvLyBXaGVuIHRoZSB0aW1lciBleHBpcmVzLCBzZXQgdGhlIG5hbWUgdmFyaWFs
YmUgb2YgdGltZXIgdG8gJzAnCi0gICAgaWYgKCFtX25hbWUuaXNFbXB0eSgpKSB7Ci0gICAgICAg
IHZhbHVlID0gIjAiOwotICAgICAgICBwYWdlU3RhdGUtPnN0b3JlVmFyaWFibGUobV9uYW1lLCB2
YWx1ZSk7Ci0gICAgfQotCi0gICAgV01MSW50cmluc2ljRXZlbnRUeXBlIGV2ZW50VHlwZSA9IFdN
TEludHJpbnNpY0V2ZW50T25UaW1lcjsKLSAgICBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIqIGV2
ZW50SGFuZGxlciA9IG1fY2FyZC0+ZXZlbnRIYW5kbGVyKCk7Ci0KLSAgICBib29sIGhhc0ludHJp
bnNpY0V2ZW50ID0gZmFsc2U7Ci0gICAgaWYgKGV2ZW50SGFuZGxlciAmJiBldmVudEhhbmRsZXIt
Pmhhc0ludHJpbnNpY0V2ZW50KGV2ZW50VHlwZSkpCi0gICAgICAgIGhhc0ludHJpbnNpY0V2ZW50
ID0gdHJ1ZTsKLSAgICBlbHNlIGlmIChtX2NhcmQtPnRlbXBsYXRlRWxlbWVudCgpKSB7Ci0gICAg
ICAgIGV2ZW50SGFuZGxlciA9IG1fY2FyZC0+dGVtcGxhdGVFbGVtZW50KCktPmV2ZW50SGFuZGxl
cigpOwotICAgICAgICBpZiAoZXZlbnRIYW5kbGVyICYmIGV2ZW50SGFuZGxlci0+aGFzSW50cmlu
c2ljRXZlbnQoZXZlbnRUeXBlKSkKLSAgICAgICAgICAgIGhhc0ludHJpbnNpY0V2ZW50ID0gdHJ1
ZTsKLSAgICB9Ci0KLSAgICBpZiAoaGFzSW50cmluc2ljRXZlbnQpCi0gICAgICAgIGV2ZW50SGFu
ZGxlci0+dHJpZ2dlckludHJpbnNpY0V2ZW50KGV2ZW50VHlwZSk7Ci19Ci0KLXZvaWQgV01MVGlt
ZXJFbGVtZW50OjpzdGFydChpbnQgaW50ZXJ2YWwpCi17Ci0gICAgaWYgKCFtX2NhcmQgfHwgbV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoaW50ZXJ2YWwgPD0g
MCAmJiAhbV9uYW1lLmlzRW1wdHkoKSkgewotICAgICAgICBpZiAoV01MUGFnZVN0YXRlKiBwYWdl
U3RhdGUgPSB3bWxQYWdlU3RhdGVGb3JEb2N1bWVudChkb2N1bWVudCgpKSkKLSAgICAgICAgICAg
IGludGVydmFsID0gcGFnZVN0YXRlLT5nZXRWYXJpYWJsZShtX25hbWUpLnRvSW50KCk7Ci0gICAg
fQotCi0gICAgaWYgKGludGVydmFsIDw9IDApCi0gICAgICAgIGludGVydmFsID0gdmFsdWUoKS50
b0ludCgpOwotCi0gICAgaWYgKGludGVydmFsID4gMCkKLSAgICAgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoaW50ZXJ2YWwgLyAxMC4wZik7Ci19Ci0KLXZvaWQgV01MVGltZXJFbGVtZW50OjpzdG9w
KCkKLXsKLSAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0b3Ao
KTsKLX0KLQotdm9pZCBXTUxUaW1lckVsZW1lbnQ6OnN0b3JlSW50ZXJ2YWxUb1BhZ2VTdGF0ZSgp
Ci17Ci0gICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGludCBpbnRlcnZhbCA9IHN0YXRpY19jYXN0PGludD4obV90aW1lci5uZXh0RmlyZUludGVydmFs
KCkpICogMTA7Ci0KLSAgICBpZiAoV01MUGFnZVN0YXRlKiBwYWdlU3RhdGUgPSB3bWxQYWdlU3Rh
dGVGb3JEb2N1bWVudChkb2N1bWVudCgpKSkKLSAgICAgICAgcGFnZVN0YXRlLT5zdG9yZVZhcmlh
YmxlKG1fbmFtZSwgU3RyaW5nOjpudW1iZXIoaW50ZXJ2YWwpKTsKLX0KLQotU3RyaW5nIFdNTFRp
bWVyRWxlbWVudDo6dmFsdWUoKSBjb25zdAotewotICAgIHJldHVybiBwYXJzZVZhbHVlU3Vic3Rp
dHV0aW5nVmFyaWFibGVSZWZlcmVuY2VzKGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnZhbHVlQXR0
cikpOwotfQotCi19Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTFRpbWVy
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUaW1lckVsZW1l
bnQuaAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGltZXJFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNTkgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93
d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01MVGltZXJFbGVtZW50X2gKLSNkZWZp
bmUgV01MVGltZXJFbGVtZW50X2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiVGltZXIu
aCIKLSNpbmNsdWRlICJXTUxFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xh
c3MgV01MQ2FyZEVsZW1lbnQ7Ci0KLWNsYXNzIFdNTFRpbWVyRWxlbWVudCA6IHB1YmxpYyBXTUxF
bGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxUaW1lckVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgIFdNTFRpbWVy
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwotCi0gICAg
dmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOwotICAgIHZpcnR1
YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwotICAgIHZpcnR1YWwgdm9pZCByZW1vdmVk
RnJvbURvY3VtZW50KCk7Ci0KLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8V01MVGltZXJFbGVt
ZW50PiopOwotCi0gICAgdm9pZCBzdGFydChpbnQgaW50ZXJ2YWwgPSAtMSk7Ci0gICAgdm9pZCBz
dG9wKCk7Ci0gICAgdm9pZCBzdG9yZUludGVydmFsVG9QYWdlU3RhdGUoKTsKLQotICAgIFN0cmlu
ZyB2YWx1ZSgpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIFdNTENhcmRFbGVtZW50KiBtX2NhcmQ7
Ci0gICAgU3RyaW5nIG1fbmFtZTsKLSAgICBUaW1lcjxXTUxUaW1lckVsZW1lbnQ+IG1fdGltZXI7
Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01M
VmFyaWFibGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MVmFyaWFi
bGVzLmNwcAkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MVmFyaWFi
bGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwyODYgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6
Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVO
QUJMRShXTUwpCi0jaW5jbHVkZSAiV01MVmFyaWFibGVzLmgiCi0KLSNpbmNsdWRlICJXTUxEb2N1
bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotLy8gV01MIHZhcmlhYmxlcyBzcGVjaWZpY2F0aW9uLCBleGNsdWRpbmcgdGhlCi0vLyBw
cmUtV01MIDEuMCBkZXByZWNhdGVkIHZhcmlhYmxlIHN5bnRheAotLy8KLS8vIHZhcm5hbWUgPSAo
Il8iIHwgYWxwaGEpICgiXyIgfCBhbHBoYSB8IGRpZ2l0KSogCi0vLyBjb252ID0gIjoiICgiZSIg
KCJzY2FwZSIpPyB8ICJuIiAoIm9lc2MiKT8gfCAidSIgKCJuZXNjIik/KQotLy8gdmFyID0gKCIk
IiB2YXJuYW1lKSB8ICgiJCgiIHZhcm5hbWUgKGNvbnYpPyAiKSIpCi0KLXN0YXRpYyBib29sIGlz
VmFsaWRGaXJzdFZhcmlhYmxlTmFtZUNoYXJhY3Rlcihjb25zdCBVQ2hhciYgY2hhcmFjdGVyKQot
ewotICAgIHJldHVybiBXVEY6OmlzQVNDSUlBbHBoYShjaGFyYWN0ZXIpCi0gICAgICAgICAgIHx8
IGNoYXJhY3RlciA9PSAnXyc7Ci19Ci0KLXN0YXRpYyBib29sIGlzVmFsaWRWYXJpYWJsZU5hbWVD
aGFyYWN0ZXIoY29uc3QgVUNoYXImIGNoYXJhY3RlcikKLXsKLSAgICByZXR1cm4gV1RGOjppc0FT
Q0lJQWxwaGEoY2hhcmFjdGVyKQotICAgICAgICAgICB8fCBXVEY6OmlzQVNDSUlEaWdpdChjaGFy
YWN0ZXIpCi0gICAgICAgICAgIHx8IGNoYXJhY3RlciA9PSAnXyc7Ci19Ci0KLXN0YXRpYyBib29s
IGlzVmFsaWRWYXJpYWJsZUVzY2FwaW5nTW9kZVN0cmluZyhjb25zdCBTdHJpbmcmIG1vZGUsIFdN
TFZhcmlhYmxlRXNjYXBpbmdNb2RlJiBlc2NhcGVNb2RlKQotewotICAgIGlmIChtb2RlID09ICJl
IiB8fCBtb2RlID09ICJlc2NhcGUiKQotICAgICAgICBlc2NhcGVNb2RlID0gV01MVmFyaWFibGVF
c2NhcGluZ0VzY2FwZTsgCi0gICAgZWxzZSBpZiAobW9kZSA9PSAidSIgfHwgbW9kZSA9PSAidW5l
c2MiKQotICAgICAgICBlc2NhcGVNb2RlID0gV01MVmFyaWFibGVFc2NhcGluZ1VuZXNjYXBlOwot
ICAgIGVsc2UgaWYgKG1vZGUgPT0gIm4iIHx8IG1vZGUgPT0gIm5vZXNjIikKLSAgICAgICAgZXNj
YXBlTW9kZSA9IFdNTFZhcmlhYmxlRXNjYXBpbmdOb25lOwotICAgIGVsc2UKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgaXNWYWxpZFZhcmlhYmxl
TmFtZShjb25zdCBTdHJpbmcmIG5hbWUpCi17Ci0gICAgaWYgKG5hbWUuaXNFbXB0eSgpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBjb25zdCBVQ2hhciogY2hhcmFjdGVycyA9IG5hbWUu
Y2hhcmFjdGVycygpOwotICAgIGlmICghaXNWYWxpZEZpcnN0VmFyaWFibGVOYW1lQ2hhcmFjdGVy
KGNoYXJhY3RlcnNbMF0pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICB1bnNpZ25lZCBs
ZW5ndGggPSBuYW1lLmxlbmd0aCgpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCBsZW5n
dGg7ICsraSkgewotICAgICAgICBpZiAoIWlzVmFsaWRWYXJpYWJsZU5hbWVDaGFyYWN0ZXIoY2hh
cmFjdGVyc1tpXSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0
dXJuIHRydWU7Ci19Ci0KLWJvb2wgY29udGFpbnNWYXJpYWJsZVJlZmVyZW5jZShjb25zdCBTdHJp
bmcmIHRleHQsIGJvb2wmIGlzVmFsaWQpCi17Ci0gICAgaXNWYWxpZCA9IHRydWU7Ci0gICAgYm9v
bCBmb3VuZFJlZmVyZW5jZSA9IGZhbHNlOwotICAgIGJvb2wgZmluaXNoZWQgPSBmYWxzZTsKLSAg
ICBpbnQgY3VycmVudFBvc2l0aW9uID0gMDsKLSAgICBjb25zdCBVQ2hhciogY2hhcmFjdGVycyA9
IHRleHQuY2hhcmFjdGVycygpOwotCi0gICAgd2hpbGUgKCFmaW5pc2hlZCkgewotICAgICAgICAv
LyBGaW5kIGJlZ2lubmluZyBvZiB2YXJpYWJsZSByZWZlcmVuY2UKLSAgICAgICAgaW50IHJlZmVy
ZW5jZVN0YXJ0UG9zaXRpb24gPSB0ZXh0LmZpbmQoJyQnLCBjdXJyZW50UG9zaXRpb24pOwotICAg
ICAgICBpZiAocmVmZXJlbmNlU3RhcnRQb3NpdGlvbiA9PSAtMSkgewotICAgICAgICAgICAgZmlu
aXNoZWQgPSB0cnVlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQotICAgICAgICBm
b3VuZFJlZmVyZW5jZSA9IHRydWU7Ci0KLSAgICAgICAgaW50IG5hbWVTdGFydFBvc2l0aW9uID0g
cmVmZXJlbmNlU3RhcnRQb3NpdGlvbiArIDE7Ci0gICAgICAgIGludCBuYW1lRW5kUG9zaXRpb24g
PSAtMTsKLQotICAgICAgICBpZiAoY2hhcmFjdGVyc1tuYW1lU3RhcnRQb3NpdGlvbl0gPT0gJygn
KSB7Ci0gICAgICAgICAgICAvLyBJZiB0aGUgaW5wdXQgc3RyaW5nIGNvbnRhaW5zIGFuIG9wZW4g
YnJhY2UsIGEgY2xvc2UgYnJhY2UgbXVzdCBleGlzdCBhcyB3ZWxsCi0gICAgICAgICAgICBuYW1l
RW5kUG9zaXRpb24gPSB0ZXh0LmZpbmQoJyknLCBuYW1lU3RhcnRQb3NpdGlvbiArIDEpOwotICAg
ICAgICAgICAgaWYgKG5hbWVFbmRQb3NpdGlvbiA9PSAtMSkgewotICAgICAgICAgICAgICAgIGZp
bmlzaGVkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBpc1ZhbGlkID0gZmFsc2U7Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICsrbmFtZVN0YXJ0
UG9zaXRpb247Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpbnQgbGVuZ3RoID0gdGV4
dC5sZW5ndGgoKTsKLSAgICAgICAgICAgIGZvciAobmFtZUVuZFBvc2l0aW9uID0gbmFtZVN0YXJ0
UG9zaXRpb247IG5hbWVFbmRQb3NpdGlvbiA8IGxlbmd0aDsgKytuYW1lRW5kUG9zaXRpb24pIHsK
LSAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWRWYXJpYWJsZU5hbWVDaGFyYWN0ZXIodGV4dFtu
YW1lRW5kUG9zaXRpb25dKSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAobmFtZUVuZFBvc2l0aW9uIDwgbmFtZVN0YXJ0
UG9zaXRpb24pIHsKLSAgICAgICAgICAgIGZpbmlzaGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlz
VmFsaWQgPSBmYWxzZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgCi0gICAg
ICAgIC8vIEV2ZW50dWFsbHkgc3BsaXQgb2YgY29udmVyc2lvbiBzdHJpbmcsIGFuZCBjaGVjayBp
dHMgc3ludGF4IGFmdGVyd2FyZHMKLSAgICAgICAgU3RyaW5nIGNvbnZlcnNpb25TdHJpbmc7Ci0g
ICAgICAgIFN0cmluZyB2YXJpYWJsZU5hbWUgPSB0ZXh0LnN1YnN0cmluZyhuYW1lU3RhcnRQb3Np
dGlvbiwgbmFtZUVuZFBvc2l0aW9uIC0gbmFtZVN0YXJ0UG9zaXRpb24pOwotCi0gICAgICAgIGlu
dCBjb252ZXJzaW9uU3RyaW5nU3RhcnQgPSB2YXJpYWJsZU5hbWUuZmluZCgnOicpOwotICAgICAg
ICBpZiAoY29udmVyc2lvblN0cmluZ1N0YXJ0ICE9IC0xKSB7Ci0gICAgICAgICAgICBjb252ZXJz
aW9uU3RyaW5nID0gdmFyaWFibGVOYW1lLnN1YnN0cmluZyhjb252ZXJzaW9uU3RyaW5nU3RhcnQg
KyAxLCB2YXJpYWJsZU5hbWUubGVuZ3RoKCkgLSAoY29udmVyc2lvblN0cmluZ1N0YXJ0ICsgMSkp
OwotICAgICAgICAgICAgdmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lLmxlZnQoY29udmVyc2lv
blN0cmluZ1N0YXJ0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGlzVmFsaWQgPSBpc1ZhbGlkVmFy
aWFibGVOYW1lKHZhcmlhYmxlTmFtZSk7Ci0gICAgICAgIGlmICghaXNWYWxpZCkgewotICAgICAg
ICAgICAgZmluaXNoZWQgPSB0cnVlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQot
ICAgICAgICBpZiAoIWNvbnZlcnNpb25TdHJpbmcuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBp
c1ZhbGlkID0gaXNWYWxpZFZhcmlhYmxlTmFtZShjb252ZXJzaW9uU3RyaW5nKTsKLSAgICAgICAg
ICAgIGlmICghaXNWYWxpZCkgewotICAgICAgICAgICAgICAgIGZpbmlzaGVkID0gdHJ1ZTsKLSAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgV01MVmFy
aWFibGVFc2NhcGluZ01vZGUgZXNjYXBlTW9kZSA9IFdNTFZhcmlhYmxlRXNjYXBpbmdOb25lOwot
ICAgICAgICAgICAgaXNWYWxpZCA9IGlzVmFsaWRWYXJpYWJsZUVzY2FwaW5nTW9kZVN0cmluZyhj
b252ZXJzaW9uU3RyaW5nLCBlc2NhcGVNb2RlKTsKLSAgICAgICAgICAgIGlmICghaXNWYWxpZCkg
ewotICAgICAgICAgICAgICAgIGZpbmlzaGVkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGN1cnJlbnRQb3NpdGlvbiA9
IG5hbWVFbmRQb3NpdGlvbjsKLSAgICB9Ci0KLSAgICByZXR1cm4gZm91bmRSZWZlcmVuY2U7Ci19
Ci0KLVN0cmluZyBzdWJzdGl0dXRlVmFyaWFibGVSZWZlcmVuY2VzKGNvbnN0IFN0cmluZyYgcmVm
ZXJlbmNlLCBEb2N1bWVudCogZG9jdW1lbnQsIFdNTFZhcmlhYmxlRXNjYXBpbmdNb2RlIGVzY2Fw
ZU1vZGUpCi17Ci0gICAgQVNTRVJUKGRvY3VtZW50KTsKLQotICAgIGlmIChyZWZlcmVuY2UuaXNF
bXB0eSgpKQotICAgICAgICByZXR1cm4gcmVmZXJlbmNlOwotCi0gICAgV01MUGFnZVN0YXRlKiBw
YWdlU3RhdGUgPSB3bWxQYWdlU3RhdGVGb3JEb2N1bWVudChkb2N1bWVudCk7Ci0gICAgaWYgKCFw
YWdlU3RhdGUpCi0gICAgICAgIHJldHVybiByZWZlcmVuY2U7Ci0KLSAgICBib29sIGlzVmFsaWQg
PSB0cnVlOyAKLSAgICBTdHJpbmcgcmVtYWluaW5nSW5wdXQgPSByZWZlcmVuY2U7Ci0gICAgU3Ry
aW5nIHJlc3VsdDsKLQotICAgIHdoaWxlICghcmVtYWluaW5nSW5wdXQuaXNFbXB0eSgpKSB7Ci0g
ICAgICAgIEFTU0VSVChpc1ZhbGlkKTsKLQotICAgICAgICBpbnQgc3RhcnQgPSByZW1haW5pbmdJ
bnB1dC5maW5kKCIkIik7Ci0gICAgICAgIGlmIChzdGFydCA9PSAtMSkgewotICAgICAgICAgICAg
Ly8gQ29uc3VtZSBhbGwgcmVtYWluaW5nIGNoYXJhY3RlcnMsIGFzIHRoZXJlJ3Mgbm90aGluZyBt
b3JlIHRvIHN1YnN0aXR1dGUKLSAgICAgICAgICAgIHJlc3VsdCArPSByZW1haW5pbmdJbnB1dDsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gQ29uc3VtZSBhbGwg
Y2hhcmFjdGVycyB1bnRpbCB0aGUgdmFyaWFibGUgcmVmZXJlbmNlIGJlZ2lubmluZwotICAgICAg
ICByZXN1bHQgKz0gcmVtYWluaW5nSW5wdXQubGVmdChzdGFydCk7Ci0gICAgICAgIHJlbWFpbmlu
Z0lucHV0LnJlbW92ZSgwLCBzdGFydCk7Ci0KLSAgICAgICAgLy8gVHJhbnNmb3JtIGFkamFjZW50
IGRvbGxhciBzaWducyBpbnRvIGEgc2luZ2xlIGRvbGxhciBzaWduIGFzIHN0cmluZyBsaXRlcmFs
Ci0gICAgICAgIGlmIChyZW1haW5pbmdJbnB1dFsxXSA9PSAnJCcpIHsKLSAgICAgICAgICAgIHJl
c3VsdCArPSAiJCI7Ci0gICAgICAgICAgICByZW1haW5pbmdJbnB1dC5yZW1vdmUoMCwgMik7Ci0g
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIFN0cmluZyB2YXJpYWJs
ZU5hbWU7Ci0gICAgICAgIFN0cmluZyBjb252ZXJzaW9uTW9kZTsKLQotICAgICAgICBpZiAocmVt
YWluaW5nSW5wdXRbMV0gPT0gJygnKSB7Ci0gICAgICAgICAgICBpbnQgcmVmZXJlbmNlRW5kUG9z
aXRpb24gPSByZW1haW5pbmdJbnB1dC5maW5kKCIpIik7Ci0gICAgICAgICAgICBpZiAocmVmZXJl
bmNlRW5kUG9zaXRpb24gPT0gLTEpIHsKLSAgICAgICAgICAgICAgICBpc1ZhbGlkID0gZmFsc2U7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHZh
cmlhYmxlTmFtZSA9IHJlbWFpbmluZ0lucHV0LnN1YnN0cmluZygyLCByZWZlcmVuY2VFbmRQb3Np
dGlvbiAtIDIpOwotICAgICAgICAgICAgcmVtYWluaW5nSW5wdXQucmVtb3ZlKDAsIHJlZmVyZW5j
ZUVuZFBvc2l0aW9uICsgMSk7Ci0KLSAgICAgICAgICAgIC8vIERldGVybWluZSB2YXJpYWJsZSBj
b252ZXJzaW9uIG1vZGUgc3RyaW5nCi0gICAgICAgICAgICBpbnQgcG9zID0gdmFyaWFibGVOYW1l
LmZpbmQoJzonKTsKLSAgICAgICAgICAgIGlmIChwb3MgIT0gLTEpIHsKLSAgICAgICAgICAgICAg
ICBjb252ZXJzaW9uTW9kZSA9IHZhcmlhYmxlTmFtZS5zdWJzdHJpbmcocG9zICsgMSwgdmFyaWFi
bGVOYW1lLmxlbmd0aCgpIC0gKHBvcyArIDEpKTsKLSAgICAgICAgICAgICAgICB2YXJpYWJsZU5h
bWUgPSB2YXJpYWJsZU5hbWUubGVmdChwb3MpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgaW50IGxlbmd0aCA9IHJlbWFpbmluZ0lucHV0Lmxlbmd0aCgpOwot
ICAgICAgICAgICAgaW50IHJlZmVyZW5jZUVuZFBvc2l0aW9uID0gMTsKLQotICAgICAgICAgICAg
Zm9yICg7IHJlZmVyZW5jZUVuZFBvc2l0aW9uIDwgbGVuZ3RoOyArK3JlZmVyZW5jZUVuZFBvc2l0
aW9uKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkVmFyaWFibGVOYW1lQ2hhcmFjdGVy
KHJlbWFpbmluZ0lucHV0W3JlZmVyZW5jZUVuZFBvc2l0aW9uXSkpCi0gICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB2YXJpYWJsZU5hbWUgPSBy
ZW1haW5pbmdJbnB1dC5zdWJzdHJpbmcoMSwgcmVmZXJlbmNlRW5kUG9zaXRpb24gLSAxKTsKLSAg
ICAgICAgICAgIHJlbWFpbmluZ0lucHV0LnJlbW92ZSgwLCByZWZlcmVuY2VFbmRQb3NpdGlvbik7
Ci0gICAgICAgIH0KLQotICAgICAgICBpc1ZhbGlkID0gaXNWYWxpZFZhcmlhYmxlTmFtZSh2YXJp
YWJsZU5hbWUpOwotICAgICAgICBpZiAoIWlzVmFsaWQpCi0gICAgICAgICAgICBicmVhazsKLQot
ICAgICAgICBBU1NFUlQoIXZhcmlhYmxlTmFtZS5pc0VtcHR5KCkpOwotCi0gICAgICAgIFN0cmlu
ZyB2YXJpYWJsZVZhbHVlID0gcGFnZVN0YXRlLT5nZXRWYXJpYWJsZSh2YXJpYWJsZU5hbWUpOwot
ICAgICAgICBpZiAodmFyaWFibGVWYWx1ZS5pc0VtcHR5KCkpCi0gICAgICAgICAgICBjb250aW51
ZTsKLQotICAgICAgICBpZiAoY29udGFpbnNWYXJpYWJsZVJlZmVyZW5jZSh2YXJpYWJsZVZhbHVl
LCBpc1ZhbGlkKSkgewotICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKQotICAgICAgICAgICAgICAg
IGJyZWFrOwotCi0gICAgICAgICAgICB2YXJpYWJsZVZhbHVlID0gc3Vic3RpdHV0ZVZhcmlhYmxl
UmVmZXJlbmNlcyh2YXJpYWJsZVZhbHVlLCBkb2N1bWVudCwgZXNjYXBlTW9kZSk7Ci0gICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICghY29udmVyc2lvbk1vZGUu
aXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IGVzY2FwZSBtb2Rl
LCBpZiBkZXNpcmVkCi0gICAgICAgICAgICBXTUxWYXJpYWJsZUVzY2FwaW5nTW9kZSBzcGVjaWZp
ZWRFc2NhcGVNb2RlID0gV01MVmFyaWFibGVFc2NhcGluZ05vbmU7IAotICAgICAgICAgICAgaWYg
KChpc1ZhbGlkID0gaXNWYWxpZFZhcmlhYmxlRXNjYXBpbmdNb2RlU3RyaW5nKGNvbnZlcnNpb25N
b2RlLCBzcGVjaWZpZWRFc2NhcGVNb2RlKSkpCi0gICAgICAgICAgICAgICAgZXNjYXBlTW9kZSA9
IHNwZWNpZmllZEVzY2FwZU1vZGU7Ci0KLSAgICAgICAgICAgIGlmICghaXNWYWxpZCkKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCi0gICAgICAgIHN3aXRjaCAoZXNjYXBlTW9k
ZSkgewotICAgICAgICBjYXNlIFdNTFZhcmlhYmxlRXNjYXBpbmdOb25lOgotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGNhc2UgV01MVmFyaWFibGVFc2NhcGluZ0VzY2FwZToKLSAgICAgICAg
ICAgIHZhcmlhYmxlVmFsdWUgPSBlbmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzKHZhcmlhYmxl
VmFsdWUpOyAKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFdNTFZhcmlhYmxlRXNj
YXBpbmdVbmVzY2FwZToKLSAgICAgICAgICAgIHZhcmlhYmxlVmFsdWUgPSBkZWNvZGVVUkxFc2Nh
cGVTZXF1ZW5jZXModmFyaWFibGVWYWx1ZSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotCi0gICAgICAgIHJlc3VsdCArPSB2YXJpYWJsZVZhbHVlOwotICAgICAgICBBU1NFUlQoaXNW
YWxpZCk7Ci0gICAgfQotCi0gICAgaWYgKCFpc1ZhbGlkKSB7Ci0gICAgICAgIHJlcG9ydFdNTEVy
cm9yKGRvY3VtZW50LCBXTUxFcnJvckludmFsaWRWYXJpYWJsZVJlZmVyZW5jZSk7Ci0gICAgICAg
IHJldHVybiByZWZlcmVuY2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotfQot
Ci0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxWYXJpYWJsZXMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MVmFyaWFibGVzLmgJKHJldmlzaW9uIDg1MTY2
KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTFZhcmlhYmxlcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQ3ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0g
KgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwot
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwot
Ci0jaWZuZGVmIFdNTFZhcmlhYmxlc19oCi0jZGVmaW5lIFdNTFZhcmlhYmxlc19oCi0KLSNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotCi0jaWYgRU5BQkxFKFdNTCkKLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotICAgIGNsYXNzIERvY3VtZW50OwotCi0gICAgZW51bSBXTUxWYXJpYWJsZUVzY2FwaW5n
TW9kZSB7Ci0gICAgICAgIFdNTFZhcmlhYmxlRXNjYXBpbmdOb25lID0gMCwKLSAgICAgICAgV01M
VmFyaWFibGVFc2NhcGluZ0VzY2FwZSwKLSAgICAgICAgV01MVmFyaWFibGVFc2NhcGluZ1VuZXNj
YXBlCi0gICAgfTsKLQotICAgIGJvb2wgaXNWYWxpZFZhcmlhYmxlTmFtZShjb25zdCBTdHJpbmcm
KTsKLSAgICBib29sIGNvbnRhaW5zVmFyaWFibGVSZWZlcmVuY2UoY29uc3QgU3RyaW5nJiwgYm9v
bCYgaXNWYWxpZCk7Ci0KLSAgICBTdHJpbmcgc3Vic3RpdHV0ZVZhcmlhYmxlUmVmZXJlbmNlcyhj
b25zdCBTdHJpbmcmIHZhcmlhYmxlUmVmZXJlbmNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIERvY3VtZW50KiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBXTUxWYXJpYWJsZUVzY2FwaW5nTW9kZSBtb2RlID0gV01MVmFyaWFibGVFc2Nh
cGluZ05vbmUpOwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lv
biA4NTE3MSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE2IEBACisyMDExLTA0LTI4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
IFdNTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2
NzgKKworICAgICAgICBSZW1vdmUgV01MLXJlbGF0ZWQgY29kZSBpbiBXZWJLaXQyLgorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaDoKKwogMjAxMS0w
NC0yNyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFkYW0gUm9iZW4uCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gODUxNjYpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBj
b3B5KQpAQCAtMTIzLDcgKzEyMyw2IEBAIEVOQUJMRV9XRUJfU09DS0VUUyA9ICQoRU5BQkxFX1dF
Ql9TT0NLRVQKIEVOQUJMRV9XRUJfU09DS0VUU19tYWNvc3ggPSBFTkFCTEVfV0VCX1NPQ0tFVFM7
CiAKIEVOQUJMRV9XRUJfVElNSU5HID0gOwotRU5BQkxFX1dNTCA9IDsKIAogRU5BQkxFX1dPUktF
UlMgPSAkKEVOQUJMRV9XT1JLRVJTXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfV09S
S0VSU19tYWNvc3ggPSBFTkFCTEVfV09SS0VSUzsKQEAgLTEzMiw0ICsxMzEsNCBAQCBFTkFCTEVf
WEhUTUxNUCA9IDsKIEVOQUJMRV9YUEFUSCA9IEVOQUJMRV9YUEFUSDsKIEVOQUJMRV9YU0xUID0g
RU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJBU0UpICQo
RU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9V
UExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFC
TEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9J
TUFHRV9SRVNJWkVSKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9T
UEVFQ0gpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5F
X1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxF
X1BST0dSRVNTX1RBRykgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxF
X1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9P
QkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09C
SkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XTUwpICQoRU5B
QkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9Y
U0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFXzNEX1JFTkRF
UklORykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RB
VEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQo
RU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVS
UykgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTUFHRV9SRVNJ
WkVSKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQo
RU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVU
RVJfVEFHKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBM
SUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNT
X1RBRykgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklN
QVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJ
TkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChF
TkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9Y
SFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2Fy
ZExpc3RQcm94eS5jcHAJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjIyLDEwICsyMjIsNCBAQCB2b2lkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpjbGVhcigp
CiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkJhY2tGb3J3YXJkQ2xl
YXIoKSk7CiB9CiAKLSNpZiBFTkFCTEUoV01MKQotdm9pZCBXZWJCYWNrRm9yd2FyZExpc3RQcm94
eTo6Y2xlYXJXTUxQYWdlSGlzdG9yeSgpCi17Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0Zv
cndhcmRMaXN0UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaAkocmV2aXNpb24gODUxNjYpCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHku
aAkod29ya2luZyBjb3B5KQpAQCAtNjAsMTAgKzYwLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IGJvb2wgaXNBY3RpdmUoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgpOwotICAgIAotI2lm
IEVOQUJMRShXTUwpCi0gICAgdm9pZCBjbGVhcldNTFBhZ2VIaXN0b3J5KCk7Ci0jZW5kaWYKIAog
ICAgIFdlYlBhZ2UqIG1fcGFnZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4
NTE3MSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE4IEBACisyMDExLTA0LTI4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
IFdNTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2
NzgKKworICAgICAgICBSZW1vdmUgV01MLXJlbGF0ZWQgY29uZmlndXJhdGlvbiBvcHRpb25zIGFu
ZCBwcml2YXRlIEFQSXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06
CisgICAgICAgIChzdHJpbmdGb3JNZXNzYWdlU291cmNlKToKKyAgICAgICAgKiBXZWJWaWV3L1dl
YkZyYW1lUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUu
aDoKKwogMjAxMS0wNC0yNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgog
CiAgICAgICAgIEZvbGxvdy11cCBMZW9wYXJkIGJ1aWxkIGZpeC4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNyArMTIzLDYg
QEAgRU5BQkxFX1dFQl9TT0NLRVRTID0gJChFTkFCTEVfV0VCX1NPQ0tFVAogRU5BQkxFX1dFQl9T
T0NLRVRTX21hY29zeCA9IEVOQUJMRV9XRUJfU09DS0VUUzsKIAogRU5BQkxFX1dFQl9USU1JTkcg
PSA7Ci1FTkFCTEVfV01MID0gOwogCiBFTkFCTEVfV09SS0VSUyA9ICQoRU5BQkxFX1dPUktFUlNf
JChSRUFMX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9XT1JLRVJTX21hY29zeCA9IEVOQUJMRV9X
T1JLRVJTOwpAQCAtMTMyLDQgKzEzMSw0IEBAIEVOQUJMRV9YSFRNTE1QID0gOwogRU5BQkxFX1hQ
QVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VE
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NU
T1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9G
SUxFX1NZU1RFTSkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChF
TkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJM
RV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfU0hB
UkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFC
TEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNF
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVf
WEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9CKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQo
RU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GSUxFX1NZU1RF
TSkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUEFH
RV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9SRUdJU1RF
Ul9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfU0hBUkVEX1dPUktF
UlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FT
X0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRI
KSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3JraW5nIGNv
cHkpCkBAIC04NSw3ICs4NSw2IEBACiAjZW5kaWYKIAogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNz
YWdlSFRNTE1lc3NhZ2VTb3VyY2UgPSBAIkhUTUxNZXNzYWdlU291cmNlIjsKLU5TU3RyaW5nICpX
ZWJDb25zb2xlTWVzc2FnZVdNTE1lc3NhZ2VTb3VyY2UgPSBAIldNTE1lc3NhZ2VTb3VyY2UiOwog
TlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlWE1MTWVzc2FnZVNvdXJjZSA9IEAiWE1MTWVzc2Fn
ZVNvdXJjZSI7CiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VKU01lc3NhZ2VTb3VyY2UgPSBA
IkpTTWVzc2FnZVNvdXJjZSI7CiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VDU1NNZXNzYWdl
U291cmNlID0gQCJDU1NNZXNzYWdlU291cmNlIjsKQEAgLTM2Nyw4ICszNjYsNiBAQCBpbmxpbmUg
c3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlCiAgICAgc3dpdGNoIChzb3VyY2UpIHsK
ICAgICBjYXNlIEhUTUxNZXNzYWdlU291cmNlOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1l
c3NhZ2VIVE1MTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIFdNTE1lc3NhZ2VTb3VyY2U6Ci0gICAg
ICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVdNTE1lc3NhZ2VTb3VyY2U7CiAgICAgY2FzZSBY
TUxNZXNzYWdlU291cmNlOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VYTUxNZXNz
YWdlU291cmNlOwogICAgIGNhc2UgSlNNZXNzYWdlU291cmNlOgpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCShyZXZpc2lvbiA4NTE2NikKKysrIFNv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTY1LDcgKzY1LDYgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBXZWJGcmFtZUxvYWRUeXBlSW50
ZXJuYWwsICAgICAgICAgICAvLyBtYXBzIHRvIFdlYkNvcmU6OkZyYW1lTG9hZFR5cGVSZWRpcmVj
dFdpdGhMb2NrZWRCYWNrRm9yd2FyZExpc3QKICAgICBXZWJGcmFtZUxvYWRUeXBlUmVwbGFjZSwK
ICAgICBXZWJGcmFtZUxvYWRUeXBlUmVsb2FkRnJvbU9yaWdpbiwKLSAgICBXZWJGcmFtZUxvYWRU
eXBlQmFja1dNTERlY2tOb3RBY2Nlc3NpYmxlCiB9IFdlYkZyYW1lTG9hZFR5cGU7CiAKIEBpbnRl
cmZhY2UgV2ViRnJhbWUgKFdlYlByaXZhdGUpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCShyZXZpc2lvbiA4NTE2NikKKysrIFNv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaAkod29ya2luZyBj
b3B5KQpAQCAtOTQsNyArOTQsNiBAQCBlbnVtIHsgCiAKIC8vIE1lc3NhZ2UgU291cmNlcy4KIGV4
dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2FnZVNvdXJjZTsKLWV4dGVy
biBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VXTUxNZXNzYWdlU291cmNlOwogZXh0ZXJuIE5T
U3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVhNTE1lc3NhZ2VTb3VyY2U7CiBleHRlcm4gTlNTdHJp
bmcgKldlYkNvbnNvbGVNZXNzYWdlSlNNZXNzYWdlU291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpX
ZWJDb25zb2xlTWVzc2FnZUNTU01lc3NhZ2VTb3VyY2U7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShy
ZXZpc2lvbiA4NTE3MSkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA0LTI4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVtb3ZlIFdNTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTk2NzgKKworICAgICAgICBSZW1vdmUgV01MLXJlbGF0ZWQgZW51bWVyYXRpb24uCisK
KyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJGcmFtZVByaXZhdGUuaWRsOgorCiAyMDExLTA0LTI2
ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIFJvYmVuLgpJbmRleDogU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2Vi
RnJhbWVQcml2YXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZh
Y2VzL0lXZWJGcmFtZVByaXZhdGUuaWRsCShyZXZpc2lvbiA4NTE2NikKKysrIFNvdXJjZS9XZWJL
aXQvd2luL0ludGVyZmFjZXMvSVdlYkZyYW1lUHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTQzLDcgKzQzLDYgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBXZWJGcmFtZUxvYWRUeXBlUmVkaXJl
Y3RXaXRoTG9ja2VkQmFja0ZvcndhcmRMaXN0LAogICAgIFdlYkZyYW1lTG9hZFR5cGVSZXBsYWNl
LAogICAgIFdlYkZyYW1lTG9hZFR5cGVSZWxvYWRGcm9tT3JpZ2luLAotICAgIFdlYkZyYW1lTG9h
ZFR5cGVCYWNrV01MRGVja05vdEFjY2Vzc2libGUKIH0gV2ViRnJhbWVMb2FkVHlwZTsKIAogWwpJ
bmRleDogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L2NtYWtlL09wdGlvbnNFZmwuY21ha2UJKHJldmlzaW9uIDg1MTY2KQorKysgU291cmNlL2NtYWtl
L09wdGlvbnNFZmwuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTk0LDcgKzk0LDYgQEAgV0VCS0lU
X0ZFQVRVUkUoRU5BQkxFX1NWR19VU0UgIkVuYWJsZSBTVgogV0VCS0lUX0ZFQVRVUkUoRU5BQkxF
X1RPVUNIX0VWRU5UUyAiRW5hYmxlIFRvdWNoIEV2ZW50cyIgREVGQVVMVCBPRkYpCiBXRUJLSVRf
RkVBVFVSRShFTkFCTEVfVklERU8gIkVuYWJsZSB2aWRlbyIgREVGQVVMVCBPTiBIVE1MKQogV0VC
S0lUX0ZFQVRVUkUoRU5BQkxFX1dFQl9TT0NLRVRTICJFbmFibGUgd2ViIHNvY2tldHMiIERFRkFV
TFQgT0ZGKQotV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1dNTCAiRW5hYmxlIFdNTCIgREVGQVVMVCBP
RkYpCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfV09SS0VSUyAiRW5hYmxlIHdvcmtlcnMiIERFRkFV
TFQgT04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfWEhUTUxNUCAiRW5hYmxlIFhIVE1MTVAiIERF
RkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1hQQVRIICJFbmFibGUgWFBhdGgiIERF
RkFVTFQgT04pCkluZGV4OiBTb3VyY2UvY21ha2UvT3B0aW9uc1dpbkNFLmNtYWtlCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luQ0UuY21ha2UJKHJldmlzaW9uIDg1MTY2KQor
KysgU291cmNlL2NtYWtlL09wdGlvbnNXaW5DRS5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNTMs
NyArNTMsNiBAQCBXRUJLSVRfRkVBVFVSRShFTkFCTEVfU1ZHX1VTRSAiRW5hYmxlIFNWCiBXRUJL
SVRfRkVBVFVSRShFTkFCTEVfVE9VQ0hfRVZFTlRTICJFbmFibGUgVG91Y2ggRXZlbnRzIiBERUZB
VUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9WSURFTyAiRW5hYmxlIHZpZGVvIiBERUZB
VUxUIE9GRiBIVE1MKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1dFQl9TT0NLRVRTICJFbmFibGUg
d2ViIHNvY2tldHMiIERFRkFVTFQgT0ZGKQotV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1dNTCAiRW5h
YmxlIFdNTCIgREVGQVVMVCBPRkYpCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfV09SS0VSUyAiRW5h
YmxlIHdvcmtlcnMiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1hIVE1MTVAg
IkVuYWJsZSBYSFRNTE1QIiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9YUEFU
SCAiRW5hYmxlIFhQYXRoIiBERUZBVUxUIE9GRikKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MTcxKQorKysgVG9vbHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDQtMjggIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgV01MCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTY3OAorCisgICAgICAgIFJlbW92ZSBidWlsZCBzeXN0
ZW0gaW50ZWdyYXRpb24gYW5kIHRlc3QgaGFybmVzcyBpbnRlZ3JhdGlvbiBmb3IgV01MLgorCisg
ICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogU2NyaXB0cy9vbGQtcnVu
LXdlYmtpdC10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvZmVhdHVyZXMucG06
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXRfdW5p
dHRlc3QucHk6CisKIDIwMTEtMDQtMjcgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBUb29scy9TY3JpcHRzL2J1
aWxkLXdlYmtpdAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAkocmV2
aXNpb24gODUxNjYpCisrKyBUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAkod29ya2luZyBjb3B5
KQpAQCAtMTE3LDcgKzExNyw2IEBAIG15ICgKICAgICAkd2ViSW5zcGVjdG9yU3VwcG9ydCwKICAg
ICAkd2ViU29ja2V0c1N1cHBvcnQsCiAgICAgJHdlYlRpbWluZ1N1cHBvcnQsCi0gICAgJHdtbFN1
cHBvcnQsCiAgICAgJHdvcmtlcnNTdXBwb3J0LAogICAgICR4aHRtbG1wU3VwcG9ydCwKICAgICAk
eHBhdGhTdXBwb3J0LApAQCAtMjg3LDkgKzI4Niw2IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7
IG9wdGlvbiA9PiAid2ViLXRpbWluZyIsIGRlc2MgPT4gIlRvZ2dsZSBXZWIgVGltaW5nIHN1cHBv
cnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfV0VCX1RJTUlORyIsIGRlZmF1bHQgPT4gMCwg
dmFsdWU9PiBcJHdlYlRpbWluZ1N1cHBvcnQgfSwKIAotICAgIHsgb3B0aW9uID0+ICJ3bWwiLCBk
ZXNjID0+ICJUb2dnbGUgV01MIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfV01M
IiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJHdtbFN1cHBvcnQgfSwKLQogICAgIHsgb3B0aW9u
ID0+ICJ3b3JrZXJzIiwgZGVzYyA9PiAiVG9nZ2xlIFdlYiBXb3JrZXJzIHN1cHBvcnQiLAogICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfV09SS0VSUyIsIGRlZmF1bHQgPT4gKGlzQXBwbGVXZWJLaXQo
KSB8fCBpc0d0aygpKSwgdmFsdWUgPT4gXCR3b3JrZXJzU3VwcG9ydCB9LAogCkluZGV4OiBUb29s
cy9TY3JpcHRzL29sZC1ydW4td2Via2l0LXRlc3RzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Njcmlw
dHMvb2xkLXJ1bi13ZWJraXQtdGVzdHMJKHJldmlzaW9uIDg1MTY2KQorKysgVG9vbHMvU2NyaXB0
cy9vbGQtcnVuLXdlYmtpdC10ZXN0cwkod29ya2luZyBjb3B5KQpAQCAtNTkxLDE0ICs1OTEsNiBA
QCBpZiAoIWNoZWNrV2ViQ29yZUZlYXR1cmVTdXBwb3J0KCIzRCBDYW52CiAgICAgJGlnbm9yZWRE
aXJlY3Rvcmllc3snaHR0cC90ZXN0cy9jYW52YXMvd2ViZ2wnfSA9IDE7CiB9CiAKLWlmIChjaGVj
a1dlYkNvcmVGZWF0dXJlU3VwcG9ydCgiV01MIiwgMCkpIHsKLSAgICAkc3VwcG9ydGVkRmlsZUV4
dGVuc2lvbnN7J3dtbCd9ID0gMTsKLX0gZWxzZSB7Ci0gICAgJGlnbm9yZWREaXJlY3Rvcmllc3sn
aHR0cC90ZXN0cy93bWwnfSA9IDE7Ci0gICAgJGlnbm9yZWREaXJlY3Rvcmllc3snZmFzdC93bWwn
fSA9IDE7Ci0gICAgJGlnbm9yZWREaXJlY3Rvcmllc3snd21sJ30gPSAxOwotfQotCiBpZiAoIWNo
ZWNrV2ViQ29yZUZlYXR1cmVTdXBwb3J0KCJXQ1NTIiwgMCkpIHsKICAgICAkaWdub3JlZERpcmVj
dG9yaWVzeydmYXN0L3djc3MnfSA9IDE7CiB9CkBAIC03ODgsNyArNzgwLDcgQEAgZm9yIG15ICR0
ZXN0IChAdGVzdHMpIHsKICAgICAgICAgICAgICAgICAgICAgcHJpbnQgT1VUICIkZXJyb3JNZXNz
YWdlUGF0aFxuIjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0g
ZWxzaWYgKCR0ZXN0ICF+IC9eaHR0cFwvdGVzdHNcL2xvY2FsXC8vICYmICR0ZXN0ICF+IC9eaHR0
cFwvdGVzdHNcL3NzbFwvLyAmJiAkdGVzdCAhfiAvXmh0dHBcL3Rlc3RzXC93bWxcLy8pIHsKKyAg
ICAgICAgfSBlbHNpZiAoJHRlc3QgIX4gL15odHRwXC90ZXN0c1wvbG9jYWxcLy8gJiYgJHRlc3Qg
IX4gL15odHRwXC90ZXN0c1wvc3NsXC8vKSB7CiAgICAgICAgICAgICBteSAkcGF0aCA9IGNhbm9u
cGF0aCgkdGVzdCk7CiAgICAgICAgICAgICAkcGF0aCA9fiBzL15odHRwXC90ZXN0c1wvLy87CiAg
ICAgICAgICAgICBwcmludCBPVVQgImh0dHA6Ly8xMjcuMC4wLjE6JGh0dHBkUG9ydC8kcGF0aCRz
dWZmaXhFeHBlY3RlZEhhc2hcbiI7CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvZmVh
dHVyZXMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL2ZlYXR1cmVz
LnBtCShyZXZpc2lvbiA4NTE2NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9mZWF0dXJl
cy5wbQkod29ya2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNiBAQCBzdWIgaGFzRmVhdHVyZSgkJCkK
ICAgICAgICAgIkFjY2VsZXJhdGVkIENvbXBvc2l0aW5nIiA9PiAiR3JhcGhpY3NMYXllciIsCiAg
ICAgICAgICIzRCBSZW5kZXJpbmciID0+ICJXZWJDb3JlSGFzM0RSZW5kZXJpbmciLAogICAgICAg
ICAiM0QgQ2FudmFzIiA9PiAiV2ViR0xTaGFkZXIiLAotICAgICAgICAiV01MIiA9PiAiV01MRWxl
bWVudCIsCiAgICAgICAgICJXQ1NTIiA9PiAicGFyc2VXQ1NTSW5wdXRQcm9wZXJ0eSIsCiAgICAg
ICAgICJYSFRNTE1QIiA9PiAiaXNYSFRNTE1QRG9jdW1lbnQiLAogICAgICk7CkluZGV4OiBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weQko
cmV2aXNpb24gODUxNjYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L3dlYmtpdC5weQkod29ya2luZyBjb3B5KQpAQCAtMjI2LDcgKzIyNiw2IEBAIGNsYXNzIFdl
YktpdFBvcnQoYmFzZS5Qb3J0KToKICAgICAgICAgICAgICJHcmFwaGljc0xheWVyIjogWyJjb21w
b3NpdGluZyJdLAogICAgICAgICAgICAgIldlYkNvcmVIYXMzRFJlbmRlcmluZyI6IFsiYW5pbWF0
aW9ucy8zZCIsICJ0cmFuc2Zvcm1zLzNkIl0sCiAgICAgICAgICAgICAiV2ViR0xTaGFkZXIiOiBb
ImZhc3QvY2FudmFzL3dlYmdsIiwgImNvbXBvc2l0aW5nL3dlYmdsIiwgImh0dHAvdGVzdHMvY2Fu
dmFzL3dlYmdsIl0sCi0gICAgICAgICAgICAiV01MRWxlbWVudCI6IFsiaHR0cC90ZXN0cy93bWwi
LCAiZmFzdC93bWwiLCAid21sIl0sCiAgICAgICAgICAgICAicGFyc2VXQ1NTSW5wdXRQcm9wZXJ0
eSI6IFsiZmFzdC93Y3NzIl0sCiAgICAgICAgICAgICAiaXNYSFRNTE1QRG9jdW1lbnQiOiBbImZh
c3QveGh0bWxtcCJdLAogICAgICAgICB9CkBAIC0yNTksOSArMjU4LDcgQEAgY2xhc3MgV2ViS2l0
UG9ydChiYXNlLlBvcnQpOgogICAgICAgICAjIHRoZSBNYWMgcGxhdGZvcm0uCiAgICAgICAgIGRp
c2FibGVkX2ZlYXR1cmVfdGVzdHMgPSBbCiAgICAgICAgICAgICAiZmFzdC94aHRtbG1wIiwKLSAg
ICAgICAgICAgICJodHRwL3Rlc3RzL3dtbCIsCiAgICAgICAgICAgICAibWF0aG1sIiwKLSAgICAg
ICAgICAgICJ3bWwiLAogICAgICAgICBdCiAgICAgICAgICMgRklYTUU6IHdlYmFyY2hpdmUgdGVz
dHMgZXhwZWN0IHRvIHJlYWQtd3JpdGUgZnJvbQogICAgICAgICAjIC1leHBlY3RlZC53ZWJhcmNo
aXZlIGZpbGVzIGluc3RlYWQgb2YgLnR4dCBmaWxlcy4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0X3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0X3VuaXR0ZXN0
LnB5CShyZXZpc2lvbiA4NTE2NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvd2Via2l0X3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3
IEBAIGNsYXNzIFdlYktpdFBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFQKIAogICAgIGRlZiB0
ZXN0X3NraXBwZWRfZGlyZWN0b3JpZXNfZm9yX3N5bWJvbHMoc2VsZik6CiAgICAgICAgIHN1cHBv
cnRlZF9zeW1ib2xzID0gWyJHcmFwaGljc0xheWVyIiwgIldlYkNvcmVIYXMzRFJlbmRlcmluZyIs
ICJpc1hIVE1MTVBEb2N1bWVudCIsICJmb29TeW1ib2wiXQotICAgICAgICBleHBlY3RlZF9kaXJl
Y3RvcmllcyA9IHNldChbIm1hdGhtbCIsICJmYXN0L2NhbnZhcy93ZWJnbCIsICJjb21wb3NpdGlu
Zy93ZWJnbCIsICJodHRwL3Rlc3RzL2NhbnZhcy93ZWJnbCIsICJodHRwL3Rlc3RzL3dtbCIsICJm
YXN0L3dtbCIsICJ3bWwiLCAiZmFzdC93Y3NzIl0pCisgICAgICAgIGV4cGVjdGVkX2RpcmVjdG9y
aWVzID0gc2V0KFsibWF0aG1sIiwgImZhc3QvY2FudmFzL3dlYmdsIiwgImNvbXBvc2l0aW5nL3dl
YmdsIiwgImh0dHAvdGVzdHMvY2FudmFzL3dlYmdsIiwgImZhc3Qvd2NzcyJdKQogICAgICAgICBy
ZXN1bHRfZGlyZWN0b3JpZXMgPSBzZXQoVGVzdFdlYktpdFBvcnQoc3VwcG9ydGVkX3N5bWJvbHMs
IE5vbmUpLl9za2lwcGVkX3Rlc3RzX2Zvcl91bnN1cHBvcnRlZF9mZWF0dXJlcygpKQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdF9kaXJlY3RvcmllcywgZXhwZWN0ZWRfZGlyZWN0b3Jp
ZXMpCiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MTcxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUzIEBACisyMDExLTA0LTI4ICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVtb3ZlIFdNTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTk2NzgKKworICAgICAgICBSZW1vdmUgV01MIHRlc3RzLiAgVGhl
c2UgdGVzdHMgZG8gbm90IGFwcGVhciB0byBiZSBydW4gb24KKyAgICAgICAgYnVpbGQud2Via2l0
Lm9yZyBiZWNhdXNlIG5vbmUgb2YgdGhlIGJvdHMgb24gYnVpbGQud2Via2l0Lm9yZyBlbmFibGUK
KyAgICAgICAgV01MLgorCisgICAgICAgICogZmFzdC93bWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC93bWwvYnItZWxlbWVudC1pbi10YWJsZS53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC93bWwvYnItZWxlbWVudC1pbi10ZXh0LndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3dt
bC9jYXJkLWVsZW1lbnQud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2Nhc2Utc2Vu
c2l0aXZpdHkud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2NkYXRhLXNlY3Rpb24u
d21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2NvbW1lbnQud21sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3Qvd21sL2RvLWVsZW1lbnQtb3B0aW9uYWwtYXR0ci53bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC93bWwvZG8tc2hhZG93LndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L3dtbC9kby10ZW1wbGF0ZS53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvZW50
aXR5LndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9lcnItZXZlbnQtYmluZGluZy1j
b25mbGljdC53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvZXJyLWludmFsaWQtbG9j
YXRpb24tZm9yLXZhcnJlZi53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvZXJyLWlu
dmFsaWQtdGFibGVjb2x1bW4tbnVtYmVyLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3dt
bC9lcnItaW52YWxpZC12YXJpYWJsZS1uYW1lLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L3dtbC9lcnItbXVsdGktYWNjZXNzLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9l
cnItbXVsdGktaHR0cC1lcXVpdi1pbi1tZXRhLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L3dtbC9lcnItbXVsdGktbmFtZS1pbi1tZXRhLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L3dtbC9lcnItbXVsdGktdGltZXIud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2Vy
ci1zYW1lbmFtZS1kby53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvZXJyLXVuYWxs
b3dlZC10YXNrLWluLWFuY2hvci53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvZmll
bGRzZXQud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2h0bWwtZmllbGRzZXQtY3Jh
c2guaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9pbWctbG9jYWxzcmMud21sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2ltZy1zcmMtbG9jYWxzcmMtYWx0LndtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9pbWctc3JjLndtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L3dtbC9pbnB1dC53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvcC1hbGln
bi53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvcC1tb2RlLndtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L3dtbC9yZXNvdXJjZXM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93
bWwvcmVzb3VyY2VzL2ZhaWwucG5nOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL3Jlc291
cmNlcy9wYXNzLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9zZWxlY3Qud21sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL3Nob3ctZmlyc3QtY2FyZC53bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC93bWwvdGFibGUtZWxlbWVudC1hbGlnbi1hdHRyaWJ1dGUtaW52YWxp
ZC53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5z
LWF0dHJpYnV0ZS1pbnZhbGlkLW51bWJlci53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93
bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1pbnZhbGlkLndtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLW1pc3Np
bmcud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1u
cy1hdHRyaWJ1dGUud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL3RhYmxlLWVsZW1l
bnQud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL3Rhc2stbm9vcC1pbi1kby53bWw6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvdGVzdC53bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC93bWwvdGV4dC1lbXBoYXNpcy53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93
bWwvdmFsaWRhdGUtZHRkLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9hY2Nlc3MtdGFyZ2V0LWRvbWFpbi1k
ZW55LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9hY2Nl
c3MtdGFyZ2V0LWRvbWFpbi1kZW55Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93bWwvYWNjZXNzLXRhcmdldC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1wYXRoLWRlbnktZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQtcGF0aC1kZW55Lmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL2dvLXRhc2stZ2V0LW1ldGhvZC1hY2Nl
cHQtY2hhcnNldC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
bWwvZ28tdGFzay1nZXQtbWV0aG9kLWFjY2VwdC1jaGFyc2V0Lmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9nby10YXNrLWdldC1tZXRob2QuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9nby10YXNrLXBvc3QtbWV0aG9kLWFj
Y2VwdC1jaGFyc2V0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dtbC9nby10YXNrLXBvc3QtbWV0aG9kLWFjY2VwdC1jaGFyc2V0Lmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93bWwvZ28tdGFzay1wb3N0LW1ldGhvZC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvZ28tdGFzay1wb3N0LW1ldGhvZC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL3Bvc3QtZGF0YS10by1zZXJ2
ZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL3Bvc3Qt
ZGF0YS10by1zZXJ2ZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9y
ZXNvdXJjZXM6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2Fj
Y2Vzcy10YXJnZXQtZG9tYWluLWRlbnkud21sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvd21sL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LXBhdGgtZGVueS53bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQud21sOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9hbnN3ZXItdXRmOC5jZ2k6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2Fuc3dlci5jZ2k6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2R1bXBWYXJpYWJs
ZXMuY2dpOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9sb2Nr
ZWQtZGVjay53bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvcmVzb3VyY2Vz
L3VucmVhY2hhYmxlLWRvbWFpbi53bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
bWwvcmVzb3VyY2VzL3VucmVhY2hhYmxlLXBhdGgud21sOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0czogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dtbC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMvYWNjZXNzLXRhcmdldC1kb21haW4tZGVueS5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMvYWNjZXNzLXRhcmdl
dC1wYXRoLWRlbnkuanM6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvc2NyaXB0
LXRlc3RzL2FjY2Vzcy10YXJnZXQuanM6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC1hY2NlcHQtY2hhcnNldC5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMvZ28tdGFzay1nZXQt
bWV0aG9kLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0
cy9nby10YXNrLXBvc3QtbWV0aG9kLWFjY2VwdC1jaGFyc2V0LmpzOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9nby10YXNrLXBvc3QtbWV0aG9kLmpzOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9wb3N0LWRhdGEt
dG8tc2VydmVyLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1sdmlld2VyL2R1
bXBBc1RleHQvd21sLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3htbHZpZXdlci9kdW1wQXNUZXh0L3dtbC54bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjLWxlb3BhcmQvZmFzdC93bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
LWxlb3BhcmQvZmFzdC93bWwvaHRtbC1maWVsZHNldC1jcmFzaC1leHBlY3RlZC5wbmc6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sOiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L3dtbC9ici1lbGVtZW50LWluLXRhYmxlLWV4cGVjdGVkLnBuZzog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvYnItZWxlbWVudC1pbi10
YWJsZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL2JyLWVsZW1lbnQtaW4tdGV4dC1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2JyLWVsZW1lbnQtaW4tdGV4dC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2NhcmQtZWxlbWVudC1leHBl
Y3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2NhcmQt
ZWxlbWVudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3Qvd21sL2Nhc2Utc2Vuc2l0aXZpdHktZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L3dtbC9jYXNlLXNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvY2RhdGEtc2VjdGlvbi1leHBl
Y3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2NkYXRh
LXNlY3Rpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L3dtbC9jb21tZW50LWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC93bWwvY29tbWVudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLWVsZW1lbnQtb3B0aW9uYWwtYXR0ci1leHBlY3RlZC5w
bmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLWVsZW1lbnQt
b3B0aW9uYWwtYXR0ci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3Qvd21sL2RvLXNoYWRvdy1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLXNoYWRvdy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLXRlbXBsYXRlLWV4cGVjdGVkLnBuZzog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZG8tdGVtcGxhdGUtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lbnRp
dHktZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dt
bC9lbnRpdHktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L3dtbC9lcnItZXZlbnQtYmluZGluZy1jb25mbGljdC1leHBlY3RlZC5wbmc6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1ldmVudC1iaW5kaW5nLWNvbmZs
aWN0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93
bWwvZXJyLWludmFsaWQtbG9jYXRpb24tZm9yLXZhcnJlZi1leHBlY3RlZC5wbmc6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLWxvY2F0aW9uLWZv
ci12YXJyZWYtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L3dtbC9lcnItaW52YWxpZC10YWJsZWNvbHVtbi1udW1iZXItZXhwZWN0ZWQucG5nOiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItaW52YWxpZC10YWJsZWNv
bHVtbi1udW1iZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9mYXN0L3dtbC9lcnItaW52YWxpZC12YXJpYWJsZS1uYW1lLWV4cGVjdGVkLnBuZzogUmVtb3Zl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWludmFsaWQtdmFyaWFibGUt
bmFtZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL2Vyci1tdWx0aS1hY2Nlc3MtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGktYWNjZXNzLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLW11bHRpLWh0dHAtZXF1aXYt
aW4tbWV0YS1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3Qvd21sL2Vyci1tdWx0aS1odHRwLWVxdWl2LWluLW1ldGEtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGktbmFtZS1pbi1tZXRh
LWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwv
ZXJyLW11bHRpLW5hbWUtaW4tbWV0YS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS10aW1lci1leHBlY3RlZC5wbmc6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS10aW1lci1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1z
YW1lbmFtZS1kby1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3Qvd21sL2Vyci1zYW1lbmFtZS1kby1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci11bmFsbG93ZWQtdGFzay1pbi1hbmNob3ItZXhw
ZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnIt
dW5hbGxvd2VkLXRhc2staW4tYW5jaG9yLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZmllbGRzZXQtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9maWVsZHNldC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2h0bWwtZmllbGRzZXQtY3Jh
c2gtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dt
bC9odG1sLWZpZWxkc2V0LWNyYXNoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC93bWwvaW1nLWxvY2Fsc3JjLWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW1nLWxvY2Fsc3JjLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW1nLXNyYy1leHBl
Y3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2ltZy1z
cmMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dt
bC9pbWctc3JjLWxvY2Fsc3JjLWFsdC1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2ltZy1zcmMtbG9jYWxzcmMtYWx0LWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW5wdXQtZXhwZWN0ZWQu
cG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9pbnB1dC1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3AtYWxp
Z24tZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dt
bC9wLWFsaWduLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvcC1tb2RlLWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC93bWwvcC1tb2RlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC93bWwvc2VsZWN0LWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvc2VsZWN0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvc2hvdy1maXJzdC1jYXJkLWV4cGVjdGVk
LnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvc2hvdy1maXJz
dC1jYXJkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC93bWwvdGFibGUtZWxlbWVudC1hbGlnbi1hdHRyaWJ1dGUtaW52YWxpZC1leHBlY3RlZC5wbmc6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQt
YWxpZ24tYXR0cmlidXRlLWludmFsaWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWV4
cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFi
bGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1
dGUtaW52YWxpZC1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtaW52YWxpZC1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVs
ZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtaW52YWxpZC1udW1iZXItZXhwZWN0ZWQucG5nOiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVt
bnMtYXR0cmlidXRlLWludmFsaWQtbnVtYmVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0
ZS1taXNzaW5nLWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1taXNzaW5nLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxl
bWVudC1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL3RhYmxlLWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9mYXN0L3dtbC90YXNrLW5vb3AtaW4tZG8tZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC90YXNrLW5vb3AtaW4tZG8tZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC90ZXN0LWV4cGVj
dGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGVzdC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3Rl
eHQtZW1waGFzaXMtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9mYXN0L3dtbC90ZXh0LWVtcGhhc2lzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvdmFsaWRhdGUtZHRkLWV4cGVjdGVkLnBuZzogUmVtb3Zl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvdmFsaWRhdGUtZHRkLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWw6IFJlbW92ZWQuCisgICAgICAgICogd21sL2Fj
Y2Vzcy10YXJnZXQtZGVueS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogd21sL2Fj
Y2Vzcy10YXJnZXQtZGVueS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9hY2Nlc3MtdGFy
Z2V0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvYWNjZXNzLXRhcmdldC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9lbnRlci1jYXJkLXdpdGgtZXZlbnRzLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvZW50ZXItY2FyZC13aXRoLWV2ZW50cy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9lbnRlci1maXJzdC1jYXJkLXdpdGgtZXZlbnRz
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvZW50ZXItZmlyc3QtY2FyZC13
aXRoLWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9nby10YXNrLWdldC1tZXRo
b2QtZXh0ZXJuYWwtZGVjay1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogd21sL2dv
LXRhc2stZ2V0LW1ldGhvZC1leHRlcm5hbC1kZWNrLXdpdGgtaHJlZi1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogd21sL2dvLXRhc2stZ2V0LW1ldGhvZC1leHRlcm5hbC1kZWNrLXdp
dGgtaHJlZi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9nby10YXNrLWdldC1tZXRob2Qt
ZXh0ZXJuYWwtZGVjay5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9nby10YXNrLWdldC1t
ZXRob2Qtc2FtZS1kZWNrLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvZ28t
dGFzay1nZXQtbWV0aG9kLXNhbWUtZGVjay5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9p
bnB1dC1mb3JtYXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9pbnB1dC1m
b3JtYXQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvbmV3Y29udGV4dC1zYW1lLWRlY2st
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9uZXdjb250ZXh0LXNhbWUtZGVj
ay5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9vbmVudGVyZm9yd2FyZC1ldmVudC1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogd21sL29uZW50ZXJmb3J3YXJkLWV2ZW50Lmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogd21sL29uZW50ZXJmb3J3YXJkLWlubGluZS1ldmVudC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogd21sL29uZW50ZXJmb3J3YXJkLWlubGlu
ZS1ldmVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9vbnRpbWVyLWV2ZW50LWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvb250aW1lci1ldmVudC5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIHdtbC9vbnRpbWVyLWlubGluZS1ldmVudC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogd21sL29udGltZXItaW5saW5lLWV2ZW50Lmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogd21sL29wdGlvbi1lbGVtZW50LW9ucGljay1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogd21sL29wdGlvbi1lbGVtZW50LW9ucGljay1yZWN1cnNpb24tZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9vcHRpb24tZWxlbWVudC1vbnBpY2stcmVj
dXJzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd21sL29wdGlvbi1lbGVtZW50LW9ucGlj
ay5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9yZXNvdXJjZXM6IFJlbW92ZWQuCisgICAg
ICAgICogd21sL3Jlc291cmNlcy9XTUxUZXN0Q2FzZS5qczogUmVtb3ZlZC4KKyAgICAgICAgKiB3
bWwvcmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQtZGVueS53bWw6IFJlbW92ZWQuCisgICAgICAgICog
d21sL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwv
cmVzb3VyY2VzL2VudGVyLWNhcmQtd2l0aC1ldmVudHMud21sOiBSZW1vdmVkLgorICAgICAgICAq
IHdtbC9yZXNvdXJjZXMvZW50ZXItZmlyc3QtY2FyZC13aXRoLWV2ZW50cy53bWw6IFJlbW92ZWQu
CisgICAgICAgICogd21sL3Jlc291cmNlcy9leHRlcm5hbC1kZWNrLndtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3bWwvcmVzb3VyY2VzL2xvY2tlZC1kZWNrLndtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiB3bWwvcmVzb3VyY2VzL25ld2NvbnRleHQtc2FtZS1kZWNrLndtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiB3bWwvcmVzb3VyY2VzL29uZW50ZXJmb3J3YXJkLWV2ZW50LndtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3bWwvcmVzb3VyY2VzL29uZW50ZXJmb3J3YXJkLWlubGluZS1ldmVudC53bWw6IFJl
bW92ZWQuCisgICAgICAgICogd21sL3Jlc291cmNlcy9vbnRpbWVyLWV2ZW50LndtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiB3bWwvcmVzb3VyY2VzL29udGltZXItaW5saW5lLWV2ZW50LndtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiB3bWwvcmVzb3VyY2VzL29wdGlvbi1lbGVtZW50LW9ucGljay1yZWN1
cnNpb24ud21sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9yZXNvdXJjZXMvdGVzdC1kb2N1bWVu
dC53bWw6IFJlbW92ZWQuCisgICAgICAgICogd21sL3NjcmlwdC10ZXN0czogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3bWwvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LWRlbnkuanM6IFJlbW92ZWQuCisgICAg
ICAgICogd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LmpzOiBSZW1vdmVkLgorICAgICAg
ICAqIHdtbC9zY3JpcHQtdGVzdHMvZW50ZXItY2FyZC13aXRoLWV2ZW50cy5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiB3bWwvc2NyaXB0LXRlc3RzL2VudGVyLWZpcnN0LWNhcmQtd2l0aC1ldmVudHMu
anM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3NjcmlwdC10ZXN0cy9nby10YXNrLWdldC1tZXRo
b2QtZXh0ZXJuYWwtZGVjay13aXRoLWhyZWYuanM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3Nj
cmlwdC10ZXN0cy9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVjay5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiB3bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC1zYW1lLWRlY2su
anM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3NjcmlwdC10ZXN0cy9pbnB1dC1mb3JtYXQuanM6
IFJlbW92ZWQuCisgICAgICAgICogd21sL3NjcmlwdC10ZXN0cy9uZXdjb250ZXh0LXNhbWUtZGVj
ay5qczogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvc2NyaXB0LXRlc3RzL29uZW50ZXJmb3J3YXJk
LWV2ZW50LmpzOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9zY3JpcHQtdGVzdHMvb25lbnRlcmZv
cndhcmQtaW5saW5lLWV2ZW50LmpzOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9zY3JpcHQtdGVz
dHMvb250aW1lci1ldmVudC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvc2NyaXB0LXRlc3Rz
L29udGltZXItaW5saW5lLWV2ZW50LmpzOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9zY3JpcHQt
dGVzdHMvb3B0aW9uLWVsZW1lbnQtb25waWNrLXJlY3Vyc2lvbi5qczogUmVtb3ZlZC4KKyAgICAg
ICAgKiB3bWwvc2NyaXB0LXRlc3RzL29wdGlvbi1lbGVtZW50LW9ucGljay5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiB3bWwvc2NyaXB0LXRlc3RzL3NlbGVjdC1lbGVtZW50LXZhcmlhYmxlcy5qczog
UmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvc2NyaXB0LXRlc3RzL3ZhcmlhYmxlLXJlZmVyZW5jZS1p
bnZhbGlkLWNoYXJhY3Rlci5qczogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvc2NyaXB0LXRlc3Rz
L3ZhcmlhYmxlLXJlZmVyZW5jZS12YWxpZC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvc2Vs
ZWN0LWVsZW1lbnQtdmFyaWFibGVzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3
bWwvc2VsZWN0LWVsZW1lbnQtdmFyaWFibGVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd21s
L3ZhcmlhYmxlLXJlZmVyZW5jZS1pbnZhbGlkLWNoYXJhY3Rlci1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogd21sL3ZhcmlhYmxlLXJlZmVyZW5jZS1pbnZhbGlkLWNoYXJhY3Rlci5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC92YXJpYWJsZS1yZWZlcmVuY2UtdmFsaWQtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdtbC92YXJpYWJsZS1yZWZlcmVuY2UtdmFs
aWQuaHRtbDogUmVtb3ZlZC4KKwogMjAxMS0wNC0yNyAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3Nz
eUB3ZWJraXQub3JnPgogCiAgICAgICAgIENvbnZlcnQgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bW91c2VvdXQtZGVhZC1ub2RlLmh0bWwgZnJvbSBwaXhlbCB0ZXN0IHRvIHRleHQtYmFzZWQgdGVz
dApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvYnItZWxlbWVudC1pbi10YWJsZS53bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvYnItZWxlbWVudC1pbi10YWJsZS53bWwJ
KHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvYnItZWxlbWVudC1pbi10
YWJsZS53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0i
MS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9F
TiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotIDxj
YXJkIHRpdGxlPSJQYXJhZ3JhcGhzIj4KLSA8cD4gVGhpcyB0ZXN0IGNhc2UgaXMgdXNlZCB0byB0
ZXN0IGJyIGVsZW1lbnQgaW4gYSB0YWJsZS4gZWFjaCBjZWxsIGlzIGFsaWduZWQgdG8gbGVmdCwg
YW5kIHRoZSBCUiB3aWxsIGJyZWFrIHRoZSAieHh4eHh4eHgiIHRleHQgaW4gdGhlIGxhc3QgdGQ8
L3A+Ci0gPHRhYmxlIGNvbHVtbnM9JzMnIGFsaWduPSJMTEwiPgotICAgIDx0cj4KLSAgICAgPHRk
IGlkPSJjMSI+Q2VsbCBvbmU8L3RkPgotICAgICA8dGQgaWQ9ImMyIj5DZWxsIHR3bzwvdGQ+Ci0g
ICAgIDx0ZCBpZD0iYzMiPmMzPC90ZD4KLSAgICA8L3RyPgotICAgIDx0cj4KLSAgICAgPHRkIGlk
PSJhIj5jZWxsIGE8L3RkPgotICAgICA8dGQgaWQ9ImIiPmNlbGwgYjwvdGQ+Ci0gICAgIDx0ZCBp
ZD0iYyI+eHh4eHg8YnIvPnh4eDwvdGQ+Ci0gICAgPC90cj4KLSA8L3RhYmxlPgotIDwvY2FyZD4K
LTwvd21sPiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2JyLWVsZW1lbnQtaW4tdGV4dC53
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvYnItZWxlbWVudC1pbi10ZXh0
LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9ici1lbGVtZW50
LWluLXRleHQud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4x
Ly9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgot
IDxjYXJkIHRpdGxlPSJQYXJhZ3JhcGhzIj4KLSA8cD4gVGhpcyB0ZXN0IGNhc2UgaXMgdXNlZCB0
byB0ZXN0IGJyIGVsZW1lbnQgaW4gdGV4dDwvcD4KLSAgVGhpcyBpcyBhIHBpZWNlIG9mIHRleHQg
PGJyLz53aXRoIGEgbGluZSBicmVhawotIDwvY2FyZD4KLTwvd21sPiAKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvd21sL2NhcmQtZWxlbWVudC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC93bWwvY2FyZC1lbGVtZW50LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3dtbC9jYXJkLWVsZW1lbnQud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzAsMCBA
QAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9S
VU0vL0RURCBXTUwgMS4wLy9FTiIKLSJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEu
MS54bWwiPgotCi08d21sPgotPGNhcmQgaWQ9ImNhcmQxIiB0aXRsZT0iQ2FyZCAxIj5UaGlzIGlz
IGNhcmQgb25lPC9jYXJkPgotPGNhcmQgaWQ9ImNhcmQyIiB0aXRsZT0iQ2FyZCAyIj5UaGlzIGlz
IGNhcmQgdHdvPC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9jYXNl
LXNlbnNpdGl2aXR5LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9jYXNl
LXNlbnNpdGl2aXR5LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dt
bC9jYXNlLXNlbnNpdGl2aXR5LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiID8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0v
L0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnht
bCI+Ci08d21sPgotIDxjYXJkIGlkPSdjYXJkMSc+Ci0gPHA+IFRlc3QgZm9yIENhc2Ugc2Vuc2l0
aXZpdHkgaW4gV01MIDwvcD4KLSA8cD4gY29tcGFyZSB0aGUgcmVzdWx0IG9mIGluc2VydGluZyAm
bHQ7YnIvJmd0OyBhbmQgJmx0O0JSLyZndDsgaW50byB0aGUgc2FtZSB0ZXh0LCA8YnIvPnRoZSBm
b3JtZXIgc2hvdWxkIHdvcmssIGFuZCB0aGUgbGF0dGVyIGRvZXNuJ3QuPC9wPgotIDx0YWJsZSBj
b2x1bW5zPSIxIj4KLSA8dHI+PHRkPlRlc3QgY2FzZSA8YnIvPnNlbnNpdGl2aXR5IGluIFdNTCA8
L3RkPjwvdHI+Ci0gPHRyPjx0ZD5UZXN0IGNhc2UgPEJSLz5zZW5zaXRpdml0eSBpbiBXTUwgPC90
ZD48L3RyPgotIDwvdGFibGU+Ci0gPC9jYXJkPgotPC93bWw+Ci0KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvd21sL2NkYXRhLXNlY3Rpb24ud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvd21sL2NkYXRhLXNlY3Rpb24ud21sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3Rz
L2Zhc3Qvd21sL2NkYXRhLXNlY3Rpb24ud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzAsMCBA
QAotPD94bWwgdmVyc2lvbj0iMS4wIiA/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZP
UlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEu
MS54bWwiPgotPHdtbD4KLSA8Y2FyZCBpZD0nY2FyZDEnPgotIDxwPiBUZXN0IGZvciBDREFUQSBT
ZWN0aW9uIGluIFdNTDxici8+IElmIGl0IHBhc3NlcywgeW91IGNhbiBzZWUgdGhlIGZvbGxvd2lu
ZyB0ZXh0IDogPC9wPgotIDwhW0NEQVRBWyBUaGlzIGlzIDxCPiBhIENEQVRBIHRlc3RdXT4KLSA8
L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2NvbW1lbnQud21sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2NvbW1lbnQud21sCShyZXZpc2lvbiA4
NTE2NikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2NvbW1lbnQud21sCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDExICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQ
VUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVt
Lm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSA8Y2FyZCBpZD0iY2FyZDEiIHRpdGxlPSJD
YXJkIDEiPgotICA8cD4gVGVzdCBjb21tZW50IGluIFdNTCwgdGhlIHRleHQgaW4gdGhlIGNvbW1l
bnQgc2hvdWxkIG5vdCBiZSBkaXNwbGF5ZWQsIGlmIGl0IHBhc3NlcywgeW91IGNhbiBvbmx5IHNl
ZSB0aGUgdGV4dDogIkhlbGxvIFdvcmxkISIgYWZ0ZXIgdGhpcyBsaW5lIDwvcD4KLSAgPHA+Ci0g
ICAgPCEtLSBUaGlzIGlzIGEgY29tbWVudCAsIGl0IHNob3VsZCBub3QgYmUgZGlzcGxheWVkLS0+
Ci0gICAgSGVsbG8gV29ybGQhCi0gIDwvcD4KLSA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvd21sL2RvLWVsZW1lbnQtb3B0aW9uYWwtYXR0ci53bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZG8tZWxlbWVudC1vcHRpb25hbC1hdHRyLndtbAkocmV2
aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9kby1lbGVtZW50LW9wdGlvbmFs
LWF0dHIud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIzICswLDAgQEAKLTw/eG1sIHZlcnNpb249
IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8v
RU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSA8
Y2FyZCBpZD0iZmlyc3RjYXJkIiB0aXRsZT0iT25lIj4KLSAgPHA+VGVzdCBmb3IgZG8gZWxlbWVu
dCBpbiBXTUwgPC9wPgotICA8cD4gVGhlcmUgYXJlIHR3byBkbyBlbGVtZW50IGluIHRoaXMgY2Fy
ZCwgdGhlIGZpcnN0IG9uZSB3aWxsIGRpc3BsYXksIHRoZSBzZWNvbmQgd29uJ3QgYmVjYXVzZSBp
dHMgb3B0aW9uYWwgYXR0cmlidXRlIGlzIHRydWU8L3A+Ci0gIDxkbyBuYW1lPSJnbyIgdHlwZT0i
YWNjZXB0IiBsYWJlbD0iRG8gMSIgb3B0aW9uYWw9ImZhbHNlIj4KLSAgPGdvIGhyZWY9IiN0aGly
ZGNhcmQiLz4KLSAgPC9kbz4KLSAgPGRvIG5hbWU9ImdvMiIgdHlwZT0iYWNjZXB0IiBsYWJlbD0i
RG8gMiIgb3B0aW9uYWw9InRydWUiPgotICA8Z28gaHJlZj0iI3NlY29uZGNhcmQiLz4KLSAgPC9k
bz4KLSA8L2NhcmQ+Ci0KLSA8Y2FyZCBpZD0ic2Vjb25kY2FyZCIgdGl0bGU9IlR3byI+Ci0gIDxw
PlRoaXMgaXMgdGhlIHNlY29uZCBjYXJkPC9wPgotIDwvY2FyZD4KLQotIDxjYXJkIGlkPSJ0aGly
ZGNhcmQiIHRpdGxlPSJUaHJlZSI+Ci0gIDxwPlRoaXMgaXMgdGhlIHRoaXJkIGNhcmQ8L3A+Ci0g
PC9jYXJkPgotPC93bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2RvLXNoYWRvdy53
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZG8tc2hhZG93LndtbAkocmV2
aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9kby1zaGFkb3cud21sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NU
WVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3
LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLTx0ZW1wbGF0ZT4KLTxkbyB0
eXBlPSJhY2NlcHQiIG5hbWU9ImRvMSIgbGFiZWw9IlRlbXBsYXRlIERvIj4KLTxwcmV2Lz4KLTwv
ZG8+Ci08L3RlbXBsYXRlPgotCi08Y2FyZCBpZD0iZmlyc3QiPgotPHA+IFRlc3QgZm9yIGRvLXNo
YWRvdyBpbiBXTUw8L3A+Ci08cD5UaGlzIGlzIGZpcnN0IGNhcmQsIHdoaWNoIHdvbid0IHNoYWRv
dyBkZWNrLWxldmVsIGRvPC9wPgotPGFuY2hvcj4KLTxnbyBocmVmPSIjc2Vjb25kIj5HbyB0byBj
YXJkIDI8L2dvPgotPC9hbmNob3I+Ci08L2NhcmQ+Ci0KLTxjYXJkIGlkPSJzZWNvbmQiPgotPHA+
ZGVjay1sZXZlbCBkbyBpcyBzaGFkb3dlZCB3aXRoIG5vb3AuIEl0IGlzIG5vdCBleHBvc2VkIHRv
IHRoZSB1c2VyIDwvcD4KLTxkbyB0eXBlPSJvcHRpb25zIiBuYW1lPSJkbzEiIGxhYmVsPSJzZWNv
bmQgZG8iPgotPG5vb3AvPgotPC9kbz4KLTxhbmNob3I+Ci08Z28gaHJlZj0iI3RoaXJkIj5HbyB0
byBjYXJkIDM8L2dvPgotPC9hbmNob3I+Ci08L2NhcmQ+Ci0KLTxjYXJkIGlkPSJ0aGlyZCI+Ci08
cD5kZWNrLWxldmVsIGRvIGlzIHNoYWRvd2VkLiBJdCBpcyByZXBsYWNlZCBieSBhIGNhcmQtbGV2
ZWwgZG8gYmVjYXVzZSB0aGV5IGhhdmUgdGhlIHNhbWUgbmFtZTwvcD4KLTxwPgotPGRvIHR5cGU9
Im9wdGlvbnMiIG5hbWU9ImRvMSIgbGFiZWw9ImRvMSI+Ci08Z28gaHJlZj0iLi90ZXN0LndtbCIv
PgotPC9kbz4KLTxici8+Ci08YW5jaG9yPgotPGdvIGhyZWY9IiNmaXJzdCI+R28gdG8gY2FyZCAx
PC9nbz4KLTwvYW5jaG9yPgotPC9wPgotPC9jYXJkPgotPC93bWw+Ci0KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvd21sL2RvLXRlbXBsYXRlLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3dtbC9kby10ZW1wbGF0ZS53bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMv
ZmFzdC93bWwvZG8tdGVtcGxhdGUud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMxICswLDAgQEAK
LTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVN
Ly9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54
bWwiPgotPHdtbD4KLTx0ZW1wbGF0ZSBpZD0iMiI+Ci08ZG8gbmFtZT0iZ28iIHR5cGU9ImFjY2Vw
dCIgbGFiZWw9IlRlbXBsYXRlIGRvIj4KLTxnbyBocmVmPSIjZmlyc3RjYXJkIi8+Ci08L2RvPgot
PC90ZW1wbGF0ZT4KLSA8Y2FyZCBpZD0iZmlyc3RjYXJkIiB0aXRsZT0iT25lIj4KLSA8cD4gVGVz
dCBmb3IgZG8gZWxlbWVudCBpbiB0ZW1wbGF0ZSBpbiBXTUw8L3A+Ci0gPHA+IFdoaWNoZXZlciBj
YXJkIHlvdSBlbnRlcmVkLCB5b3UgY2FuIHNlZSB0aGUgdGVtcGxhdGUgZG8gYnV0dG9uIGJlY2F1
c2UgaXQncyBnbG9iYWw8L3A+Ci0gIDxwPlRoaXMgaXMgdGhlIGZpcnN0IGNhcmQ8L3A+Ci0gIDxw
PjxhbmNob3I+PGdvIGhyZWY9IiNzZWNvbmRjYXJkIi8+R28gdG8gY2FyZDI8L2FuY2hvcj48L3A+
Ci0gPC9jYXJkPgotCi0gPGNhcmQgaWQ9InNlY29uZGNhcmQiIHRpdGxlPSJUd28iPgotIDxwPiBU
ZXN0IGZvciBkbyBlbGVtZW50IGluIHRlbXBsYXRlIGluIFdNTDwvcD4KLSA8cD4gV2hpY2hldmVy
IGNhcmQgeW91IGVudGVyZWQsIHlvdSBjYW4gc2VlIHRoZSB0ZW1wbGF0ZSBkbyBidXR0b24gYmVj
YXVzZSBpdCdzIGdsb2JhbDwvcD4KLSAgPHA+VGhpcyBpcyB0aGUgc2Vjb25kIGNhcmQgPC9wPgot
ICA8YW5jaG9yPkdvIHRvIGNhcmQgMwotICA8Z28gaHJlZj0iI3RoaXJkY2FyZCIvPgotICA8L2Fu
Y2hvcj4KLSA8L2NhcmQ+Ci0KLSA8Y2FyZCBpZD0idGhpcmRjYXJkIiB0aXRsZT0iVGhyZWUiPgot
IDxwPiBUZXN0IGZvciBkbyBlbGVtZW50IGluIHRlbXBsYXRlIGluIFdNTDwvcD4KLSA8cD4gV2hp
Y2hldmVyIGNhcmQgeW91IGVudGVyZWQsIHlvdSBjYW4gc2VlIHRoZSB0ZW1wbGF0ZSBkbyBidXR0
b24gYmVjYXVzZSBpdCdzIGdsb2JhbDwvcD4KLSAgPHA+VGhpcyBpcyB0aGUgdGhpcmQgY2FyZDwv
cD4KLSAgPGFuY2hvcj5CYWNrPHByZXYvPjwvYW5jaG9yPgotIDwvY2FyZD4KLTwvd21sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC93bWwvZW50aXR5LndtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L3dtbC9lbnRpdHkud21sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3Rz
L2Zhc3Qvd21sL2VudGl0eS53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMjYgKzAsMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RU
RCBXTUwgMS4xLy9FTiIKLSJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwi
PgotCi08d21sPgotPGNhcmQgaWQ9Im5vMSIgdGl0bGU9IlRlc3QgZW50aXR5Ij4KLTxwPlRlc3Qg
Zm9yIEVudGl0aWVzIGluIFdNTCBwYWdlPC9wPgotJnF1b3Q7ICAgICAgICYjMzQ7Ci08YnIvPgot
JmFtcDsgICAgICAgICYjMzg7Ci08YnIvPgotJmFwb3M7ICAgICAgICYjeDI3OwotPGJyLz4KLSZs
dDsgICAgICAgICAmIzYwOwotPGJyLz4KLSZndDsgICAgICAgICAmIzYyOwotPGJyLz4KLT0mbmJz
cDs9JiMxNjA7PQotPGJyLz4KLUFBJnNoeTtBQSYjMTczO0FBCi08YnIvPiAKLTxwPiAmbHQ7aGVs
bG8mZ3Q7IDwvcD4KLTwvY2FyZD4KLQotPGNhcmQgaWQ9ImNhcmQyIiB0aXRsZT0iJChjYXJkaWQp
IHRpdGxlIj5UaGlzIGlzIGNhcmQgMjwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC93bWwvZXJyLWV2ZW50LWJpbmRpbmctY29uZmxpY3Qud21sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1ldmVudC1iaW5kaW5nLWNvbmZsaWN0LndtbAkocmV2aXNp
b24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItZXZlbnQtYmluZGluZy1jb25m
bGljdC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0i
MS4wIiA/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8v
RU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLTxj
YXJkIGlkPSJjYXJkMSI+Ci0gIDxvbmV2ZW50IHR5cGU9Im9uZW50ZXJmb3J3YXJkIj4KLSAgPHJl
ZnJlc2gvPgotICA8L29uZXZlbnQ+Ci0gIDxvbmV2ZW50IHR5cGU9Im9uZW50ZXJmb3J3YXJkIj4K
LSAgPHByZXYvPgotICA8L29uZXZlbnQ+Ci0gIDxwPiBUZXN0IGZvciB0aGUgZXJyb3IgZXZlbnQt
YmluZGluZyBjb25mbGljdDwvcD4KLSAgWW91IHNob3VsZCBOT1Qgc2VlIHRoaXMgdGV4dCwgYmVj
YXVzZSBvZiB0aGUgZXJyb3Igb2YgZXZlbnQtYmluZGluZyBlcnJvciBpbiBjYXJkIGVsZW1lbnQg
Ci08L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1pbnZhbGlk
LWxvY2F0aW9uLWZvci12YXJyZWYud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
d21sL2Vyci1pbnZhbGlkLWxvY2F0aW9uLWZvci12YXJyZWYud21sCShyZXZpc2lvbiA4NTE2NikK
KysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLWxvY2F0aW9uLWZvci12YXJyZWYu
d21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/
PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iCi0i
aHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLQotPHdtbD4KLTxjYXJk
IGlkPSJubzEiIHRpdGxlPSJDYXJkIDEiPiAKLTxwPiBUZXN0IGZvciB2YXJpYWJsZSByZWZlcmVu
Y2UgdmFsaWRhdGlvbjwvcD4KLTxwPiBBbiBlcnJvciB3aWxsIG9jY3VyIHdoZW4gbG9hZGluZyB0
aGUgY2FyZCBiZWNhdXNlIHRoZSB2YXJpYWJsZSByZWZlcmVuY2UgaXMgcGxhY2VkIGluIGEgaW52
YWxpZCBsb2NhdGlvbjwvcD4KLTxkbyB0eXBlPSIkKHZhcikiIG5hbWU9InJlZnJlc2giPgotICA8
cmVmcmVzaD4KLSAgICA8c2V0dmFyIG5hbWU9InZhciIgdmFsdWU9InZhcmFpYmxlMiIvPgotICA8
L3JlZnJlc2g+Ci08L2RvPgotPC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L3dtbC9lcnItaW52YWxpZC10YWJsZWNvbHVtbi1udW1iZXIud21sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLXRhYmxlY29sdW1uLW51bWJlci53bWwJKHJl
dmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLWludmFsaWQtdGFibGVj
b2x1bW4tbnVtYmVyLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi08P3htbCB2
ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdN
TCAxLjEvL0VOIgotImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci0K
LTx3bWw+Ci08Y2FyZCBpZD0ibm8xIiB0aXRsZT0iQ2FyZCAxIj4gCi08cD4gVGVzdCBmb3IgdGFi
bGUgY29sdW1uIG51bWJlciB2YWxpZGF0aW9uIDwvcD4KLTxwPiBUaGUgdGFibGUgd29uJ3QgYmUg
ZGlzcGxheWVkIGJlY2F1c2Ugb2YgdGhlIGludmFsaWQgY29sdW1ucyBhdHRydWlidGUgb2YgdGFi
bGUgZWxlbWVudDwvcD4KLTx0YWJsZSBjb2x1bW5zPSIwIj4KLTx0cj48dGQ+Q2VsbCAxPC90ZD48
dGQ+Q2VsbCAyPC90ZD48L3RyPgotPC90YWJsZT4KLTwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC93bWwvZXJyLWludmFsaWQtdmFyaWFibGUtbmFtZS53bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLWludmFsaWQtdmFyaWFibGUtbmFtZS53bWwJ
KHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLWludmFsaWQtdmFy
aWFibGUtbmFtZS53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTQgKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwg
MS4xLy9FTiIKLSJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotCi08
d21sPgotPGNhcmQgaWQ9Im5vMSIgdGl0bGU9IkNhcmQgMSI+IAotPHA+IFRlc3QgZm9yIHZhcmlh
YmxlIG5hbWUgdmFsaWRhdGlvbiA8L3A+Ci08ZG8gdHlwZT0iYWNjZXB0IiBuYW1lPSJyZWZyZXNo
Ij4KLSAgPHJlZnJlc2g+Ci0gICAgPHNldHZhciBuYW1lPSIkK3ZhciIgdmFsdWU9InZhcmFpYmxl
MiIvPgotICA8L3JlZnJlc2g+Ci08L2RvPgotPC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktYWNjZXNzLndtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktYWNjZXNzLndtbAkocmV2aXNpb24gODUxNjYpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktYWNjZXNzLndtbAkod29ya2luZyBjb3B5KQpA
QCAtMSwxMiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiID8+Ci08IURPQ1RZUEUgd21sIFBV
QkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0u
b3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotPGhlYWQ+Ci08YWNjZXNzIHBhdGg9Ii8iIGRv
bWFpbj0iZG9tYWluIi8+Ci08YWNjZXNzIHBhdGg9Ii9wYXRoIiBkb21haW49ImRvbWFpbiIvPgot
PC9oZWFkPgotPGNhcmQgaWQ9ImNhcmQxIj4KLSAgPHA+IFRlc3QgZm9yIG11bHRpLWFjY2VzcyBl
cnJvcjwvcD4KLSAgWW91IHNob3VsZCBub3Qgc2VlIHRoaXMgdGV4dCwgYmVjYXVzZSBvZiB0aGUg
ZXJyb3Igb2YgbXVsdGktYWNjZXNzIGluIGhlYWQgZWxlbWVudAotPC9jYXJkPgotPC93bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktaHR0cC1lcXVpdi1pbi1tZXRhLndt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktaHR0cC1lcXVp
di1pbi1tZXRhLndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9l
cnItbXVsdGktaHR0cC1lcXVpdi1pbi1tZXRhLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiID8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8v
V0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93
bWxfMS4xLnhtbCI+Ci08d21sPgotPGhlYWQ+Ci08bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5
cGUiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgQ29udGVudD0idGV4dC92bmQud2FwLndtbDsg
Q2hhcnNldD1nYjIzMTIiLz4KLTwvaGVhZD4KLSA8Y2FyZCBpZD0iY2FyZDEiPgotICA8cD4gVGVz
dCBmb3IgbWV0YSBtdWx0aS1odHRwLWVxdWl2IGVycm9yPC9wPgotICBZb3Ugc2hvdWxkIG5vdCBz
ZWUgdGhpcyB0ZXh0LCBiZWNhdXNlIG9mIHRoZSBlcnJvciBvZiBtdWx0aS1odHRwLWVxdWl2IGlu
IG1ldGEgZWxlbWVudAotIDwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93
bWwvZXJyLW11bHRpLW5hbWUtaW4tbWV0YS53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC93bWwvZXJyLW11bHRpLW5hbWUtaW4tbWV0YS53bWwJKHJldmlzaW9uIDg1MTY2KQorKysg
TGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLW11bHRpLW5hbWUtaW4tbWV0YS53bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiA/PgotPCFET0NUWVBF
IHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3Lndh
cGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0i
Q29udGVudC1UeXBlIiBuYW1lPSJDb250ZW50LVR5cGUiIENvbnRlbnQ9InRleHQvdm5kLndhcC53
bWw7IENoYXJzZXQ9Z2IyMzEyIi8+Ci08L2hlYWQ+Ci0gPGNhcmQgaWQ9ImNhcmQxIj4KLSAgPHA+
IFRlc3QgZm9yIG1ldGEgbXVsdGktbmFtZSBlcnJvcjwvcD4KLSAgWW91IHNob3VsZCBub3Qgc2Vl
IHRoaXMgdGV4dCwgYmVjYXVzZSBvZiB0aGUgZXJyb3Igb2YgbXVsdGktbmFtZSBpbiBtZXRhIGVs
ZW1lbnQKLSA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1t
dWx0aS10aW1lci53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLW11
bHRpLXRpbWVyLndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9l
cnItbXVsdGktdGltZXIud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFRE
IFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4K
LTx3bWw+Ci0gPGNhcmQgaWQ9ImNhcmQxIiBvbnRpbWVyPSJ0ZXN0LndtbCI+Ci0gPHRpbWVyIGlk
PSJ0aW1lcjEiIG5hbWU9InQxIiB2YWx1ZT0iMjAiLz4KLSA8dGltZXIgaWQ9InRpbWVyMiIgbmFt
ZT0idDIiIHZhbHVlPSIzMCIvPgotICA8cD4gVGVzdCBmb3IgZXJyb3Igb2YgbWV0YSBtdWx0aS10
aW1lciBpbiBvbmUgY2FyZCA8L3A+Ci0gIFlvdSBzaG91bGQgTk9UIHNlZSB0aGlzIHRleHQsIGJl
Y2F1c2Ugb2YgdGhlIGVycm9yIHRoYXQgbW9yZSB0aGFuIG9uZSB0aW1lciBleGlzdCBpbiBvbmUg
Y2FyZCAKLSA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1z
YW1lbmFtZS1kby53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLXNh
bWVuYW1lLWRvLndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9l
cnItc2FtZW5hbWUtZG8ud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE0ICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFRE
IFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4K
LTx3bWw+Ci08Y2FyZCBpZD0iY2FyZDEiPgotICA8ZG8gbmFtZT0iZG8iIHR5cGU9ImFjY2VwdCI+
Ci0gIDxyZWZyZXNoLz4KLSAgPC9kbz4KLSAgPGRvIG5hbWU9ImRvIiB0eXBlPSJhY2NlcHQiPgot
ICA8cmVmcmVzaC8+Ci0gIDwvZG8+Ci0gIDxwPiBUZXN0IGZvciB0aGUgZXJyb3IgdGhhdCBtb3Jl
IHRoYW4gb25lIGRvIGVsZW1lbnQgaGFzIHNhbWUgbmFtZTwvcD4KLSAgWW91IHNob3VsZCBOT1Qg
c2VlIHRoaXMgdGV4dCwgYmVjYXVzZSBvZiB0aGUgZXJyb3Igb2YgbmFtZS1jb25mbGljdCBvZiBk
byBlbGVtZW50IAotPC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9l
cnItdW5hbGxvd2VkLXRhc2staW4tYW5jaG9yLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3dtbC9lcnItdW5hbGxvd2VkLXRhc2staW4tYW5jaG9yLndtbAkocmV2aXNpb24gODUx
NjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItdW5hbGxvd2VkLXRhc2staW4tYW5jaG9y
LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAi
ID8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIg
Imh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotPGNhcmQg
aWQ9ImNhcmQxIj4KLSAgPGFuY2hvcj4KLSAgPG5vb3AvPgotICA8L2FuY2hvcj4KLSAgPHA+IFRl
c3QgZm9yIHRoZSBlcnJvciB0aGF0IHNwZWNpZnlpbmcgbm9vcCB0YXNrIHRvIGFuY2hvciBlbGVt
ZW50PC9wPgotICBZb3Ugc2hvdWxkIE5PVCBzZWUgdGhpcyB0ZXh0LCBiZWNhdXNlIG9mIHRoZSBl
cnJvciB0aGF0IHNwZWNpZnlpbmcgdW5hbGxvd2VkIHRhc2sgdG8gYW5jaG9yIGVsZW1lbnQgCi08
L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2ZpZWxkc2V0LndtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9maWVsZHNldC53bWwJKHJldmlzaW9u
IDg1MTY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvZmllbGRzZXQud21sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDExICswLDAgQEAKLTx3bWw+IAotPGNhcmQ+IAotPHA+IAotPGZpZWxkc2V0IHRp
dGxlPSJOYW1lIj4gCi1GaXJzdCBuYW1lOiAKLTxici8+IAotTGFzdCBuYW1lOiAKLTwvZmllbGRz
ZXQ+IAotPC9wPiAKLTwvY2FyZD4gCi08L3dtbD4gCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dt
bC9odG1sLWZpZWxkc2V0LWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC93bWwvaHRtbC1maWVsZHNldC1jcmFzaC5odG1sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91
dFRlc3RzL2Zhc3Qvd21sL2h0bWwtZmllbGRzZXQtY3Jhc2guaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwg
NC4wMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KLTxodG1s
PiAKLSAgPGhlYWQ+IAotICAgIDxzdHlsZT4KLSAgICAgIGxhYmVse2Rpc3BsYXk6YmxvY2s7fQot
ICAgIDwvc3R5bGU+Ci0gIDwvaGVhZD4KLSAgPGJvZHk+Ci0gICAgICAgIDxmaWVsZHNldD4KLSAg
ICAgICAgPGxhYmVsPjwvbGFiZWw+Ci0gICAgICAgICAgYQotICAgICAgICA8L2ZpZWxkc2V0PiAK
LSAgPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvaW1nLWxvY2Fs
c3JjLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9pbWctbG9jYWxzcmMu
d21sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2ltZy1sb2NhbHNy
Yy53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
Ij8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIg
Imh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotIDxjYXJk
IHRpdGxlPSJUZXN0IGltYWdlIj4KLSA8cD4gVGVzdCBmb3IgaW1nIGVsZW1lbnQgaW4gV01MIDwv
cD4KLSA8cD4gVGhpcyBpbWFnZSBpcyBzcGVjaWZpZWQgYnkgbG9jYWxzcmMgYXR0cmlidXRlIG9m
IGltZyBlbGVtZW50PC9wPgotIHRlc3QgY29kZTo8IVtDREFUQVsKLSA8cD5Mb2NhbDxpbWcgaGVp
Z2h0PSI2MCIgd2lkdGg9IjQwIiB2c3BhY2U9IjQwIiBoc3BhY2U9IjYwIiBhbGlnbj0ibWlkZGxl
IiBsb2NhbHNyYz0icmVzb3VyY2VzL3Bhc3MucG5nIiBhbHQ9InNtaWxlIi8+SW1hZ2U8L3A+Ci0g
XV0+Ci0gPGJyLz4KLSA8cD5Mb2NhbDxpbWcgaGVpZ2h0PSI2MCIgd2lkdGg9IjQwIiB2c3BhY2U9
IjQwIiBoc3BhY2U9IjYwIiBhbGlnbj0ibWlkZGxlIiBsb2NhbHNyYz0icmVzb3VyY2VzL3Bhc3Mu
cG5nIiBhbHQ9InNtaWxlIi8+SW1hZ2U8L3A+Ci0gPC9jYXJkPgotPC93bWw+IApJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC93bWwvaW1nLXNyYy1sb2NhbHNyYy1hbHQud21sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvd21sL2ltZy1zcmMtbG9jYWxzcmMtYWx0LndtbAkocmV2aXNpb24g
ODUxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9pbWctc3JjLWxvY2Fsc3JjLWFsdC53bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08
IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6
Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotIDxjYXJkIHRpdGxl
PSJUZXN0IGltYWdlIj4KLSA8cD4gVGVzdCBmb3IgaW1nIGVsZW1lbnQgaW4gV01MIDwvcD4KLSA8
cD4gVGhpcyBpbWFnZSBjYW4gYmUgc3BlY2lmaWVkIGJ5IGJvdGggc3JjIGFuZCBsb2NhbHNyYyBh
dHRyaWJ1dGVzIG9mIGltZyBlbGVtZW50PC9wPgotIDxwPiAxKSBsb2NhbHNyYyB0YWtlcyBwcmVj
ZWRlbmNlIG92ZXIgc3JjIGF0dHJpYnV0ZSA8YnIvPgotIEltYWdlPGltZyBzcmM9InJlc291cmNl
cy9mYWlsLnBuZyIgbG9jYWxzcmM9InJlc291cmNlcy9wYXNzLnBuZyIgYWx0PSJJTUFHRSIvPklt
YWdlCi0gPGJyLz4KLSAyKSBsb2NhbHNyYyBjYW4ndCBsb2NhdGUgdGhlIGltYWdlLCBzcmMgd29y
a3MgPGJyLz4KLSBJbWFnZTxpbWcgc3JjPSJyZXNvdXJjZXMvcGFzcy5wbmciIGxvY2Fsc3JjPSJ3
cm9uZ3BhdGgvZmFpbC5wbmciIGFsdD0iSU1BR0UiLz5JbWFnZQotIDxici8+Ci0gMykgbmVpdGhl
ciBsb2NhbHNyYyBub3Igc3JjIGNhbiBsb2NhdGUgdGhlIGltYWdlLCBhbHQgd29ya3MgPGJyLz4K
LSBJbWFnZTxpbWcgc3JjPSJ3cm9uZ3BhdGgvZmFpbC5wbmciIGxvY2Fsc3JjPSJ3cm9uZ3BhdGgv
ZmFpbC5wbmciIGFsdD0iUEFTUyIvPkltYWdlCi0gPC9wPgotIDwvY2FyZD4KLTwvd21sPiAKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2ltZy1zcmMud21sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvd21sL2ltZy1zcmMud21sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRl
c3RzL2Zhc3Qvd21sL2ltZy1zcmMud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAK
LTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVN
Ly9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54
bWwiPgotPHdtbD4KLSA8Y2FyZCB0aXRsZT0iVGVzdCBpbWFnZSI+Ci0gPHA+IFRlc3QgZm9yIGlt
ZyBlbGVtZW50IGluIFdNTCA8L3A+Ci0gPHA+IFRoaXMgaW1hZ2UgaXMgc3BlY2lmaWVkIGJ5IHNy
YyBhdHRyaWJ1dGUgb2YgaW1nIGVsZW1lbnQ8L3A+Ci0gdGVzdCBjb2RlOjwhW0NEQVRBWwotIDxw
Pk5ldHdvcmsgPGltZyBoZWlnaHQ9IjYwIiB3aWR0aD0iNDAiIHZzcGFjZT0iNDAiIGhzcGFjZT0i
NjAiIGFsaWduPSJtaWRkbGUiIHNyYz0icmVzb3VyY2VzL3Bhc3MucG5nIiBhbHQ9InNtaWxlIi8+
SW1hZ2U8L3A+Ci0gXV0+Ci0gPGJyLz4KLSA8cD5OZXR3b3JrIDxpbWcgaGVpZ2h0PSI2MCIgd2lk
dGg9IjQwIiB2c3BhY2U9IjQwIiBoc3BhY2U9IjYwIiBhbGlnbj0ibWlkZGxlIiBzcmM9InJlc291
cmNlcy9wYXNzLnBuZyIgYWx0PSJzbWlsZSIvPkltYWdlPC9wPgotIDwvY2FyZD4KLTwvd21sPiAK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2lucHV0LndtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3dtbC9pbnB1dC53bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVz
dHMvZmFzdC93bWwvaW5wdXQud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDkgKzAsMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RU
RCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+
Ci08d21sPgotPGNhcmQ+Ci08cD5WZXJ5IHNpbXBsZSB0ZXN0LCBjaGVja2luZyB0aGF0IGlucHV0
IGVsZW1lbnRzIGFyZSByZW5kZXJlZCBjb3JyZWN0bHk8L3A+Ci08aW5wdXQgdHlwZT0idGV4dCIg
dmFsdWU9IlRlc3QiLz4KLTxpbnB1dCB0eXBlPSJwYXNzd29yZCIgdmFsdWU9IlBhc3N3b3JkIi8+
Ci08L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL3AtYWxpZ24ud21s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL3AtYWxpZ24ud21sCShyZXZpc2lv
biA4NTE2NikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL3AtYWxpZ24ud21sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdt
bCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZv
cnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotCi08d21sPgotPGNhcmQgaWQ9ImNhcmQxIiB0aXRs
ZT0iQ2FyZDEiPgotPHA+IFRlc3QgZm9yIGFsaWduIGF0dHJpYnV0ZSBvZiBwIGVsZW1lbnQgaW4g
V01MIDwvcD4KLTxici8+Ci08IVtDREFUQVsgPHAgYWxpZ249ImNlbnRlciI+XV0+Ci08cCBhbGln
bj0iY2VudGVyIj4KLUhlcmUgeW91IGNhbiBsZWFybiB2YXJpb3VzIG1vYmlsZSB0ZWNobm9sb2dp
ZXMgbGlrZSBXQVAgLyBXQVAgMi4wLCBXTUwsIFdNTFNjcmlwdCwgWEhUTUwgTVAsIFdDU1MgLyBX
QVAgQ1NTLCBVQVByb2YgYW5kIFNNUyB0aHJvdWdoIG91ciBmcmVlIHR1dG9yaWFscywgYXJ0aWNs
ZXMgYW5kIGV4YW1wbGVzLiBUaGlzIHdlYiBzaXRlIGNhbiBoZWxwIHdlYiBwcm9ncmFtbWVycyB3
aG8gd2lzaCB0byBleHRlbmQgdGhlaXIga25vd2xlZGdlIHRvIHRoZSB3aXJlbGVzcyB3b3JsZC4g
Ci08YnIvPgoteHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgKLTwvcD4KLTxici8+Ci08
IVtDREFUQVsgPHAgYWxpZ249InJpZ2h0Ij5dXT4KLTxwIGFsaWduPSJyaWdodCI+Ci1IZXJlIHlv
dSBjYW4gbGVhcm4gdmFyaW91cyBtb2JpbGUgdGVjaG5vbG9naWVzIGxpa2UgV0FQIC8gV0FQIDIu
MCwgV01MLCBXTUxTY3JpcHQsIFhIVE1MIE1QLCBXQ1NTIC8gV0FQIENTUywgVUFQcm9mIGFuZCBT
TVMgdGhyb3VnaCBvdXIgZnJlZSB0dXRvcmlhbHMsIGFydGljbGVzIGFuZCBleGFtcGxlcy4gVGhp
cyB3ZWIgc2l0ZSBjYW4gaGVscCB3ZWIgcHJvZ3JhbW1lcnMgd2hvIHdpc2ggdG8gZXh0ZW5kIHRo
ZWlyIGtub3dsZWRnZSB0byB0aGUgd2lyZWxlc3Mgd29ybGQuIAotPGJyLz4KLXh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4Ci08L3A+Ci08YnIvPgotPCFbQ0RBVEFbIDxwIGFsaWduPSJs
ZWZ0Ij5dXT4KLTxwIGFsaWduPSJsZWZ0Ij4KLUhlcmUgeW91IGNhbiBsZWFybiB2YXJpb3VzIG1v
YmlsZSB0ZWNobm9sb2dpZXMgbGlrZSBXQVAgLyBXQVAgMi4wLCBXTUwsIFdNTFNjcmlwdCwgWEhU
TUwgTVAsIFdDU1MgLyBXQVAgQ1NTLCBVQVByb2YgYW5kIFNNUyB0aHJvdWdoIG91ciBmcmVlIHR1
dG9yaWFscywgYXJ0aWNsZXMgYW5kIGV4YW1wbGVzLiBUaGlzIHdlYiBzaXRlIGNhbiBoZWxwIHdl
YiBwcm9ncmFtbWVycyB3aG8gd2lzaCB0byBleHRlbmQgdGhlaXIga25vd2xlZGdlIHRvIHRoZSB3
aXJlbGVzcyB3b3JsZC4gCi08YnIvPgoteHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgK
LTwvcD4KLTwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvcC1tb2Rl
LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9wLW1vZGUud21sCShyZXZp
c2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL3AtbW9kZS53bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMzUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUg
d21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2Fw
Zm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci0KLTx3bWw+Ci08Y2FyZCBpZD0iY2FyZDEiIHRp
dGxlPSJDYXJkMSI+IAotPCFbQ0RBVEFbIDxwPiBkZWZhdWx0IG1vZGUgaXMgIndyYXAiIGZvciB0
aGUgZmlyc3QgcCBlbGVtZW50IF1dPgotPHA+IFRlc3QgZm9yIG1vZGUgYXR0cmlidXRlIG9mIHAg
ZWxlbWVudCBpbiBXTUwgPC9wPgotPGJyLz4KLTwhW0NEQVRBWyA8cD4gaXQgd2lsbCB1c2UgdGhl
IG1vZGUgb2YgcHJldmlvdXMgcGFyYWdyYXBoIGVsZW1lbnRdXT4KLTxwPgotSGVyZSB5b3UgY2Fu
IGxlYXJuIHZhcmlvdXMgbW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdBUCAyLjAsIFdN
TCwgV01MU2NyaXB0LCBYSFRNTCBNUCwgV0NTUyAvIFdBUCBDU1MsIFVBUHJvZiBhbmQgU01TIHRo
cm91Z2ggb3VyIGZyZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBsZXMuIFRoaXMgd2Vi
IHNpdGUgY2FuIGhlbHAgd2ViIHByb2dyYW1tZXJzIHdobyB3aXNoIHRvIGV4dGVuZCB0aGVpciBr
bm93bGVkZ2UgdG8gdGhlIHdpcmVsZXNzIHdvcmxkLiAKLTxici8+Ci1ISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhICi08L3A+Ci08YnIvPgotPCFbQ0RBVEFb
IDxwIG1vZGU9Im5vd3JhcCI+XV0+Ci08cCBtb2RlPSJub3dyYXAiPgotSGVyZSB5b3UgY2FuIGxl
YXJuIHZhcmlvdXMgbW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdBUCAyLjAsIFdNTCwg
V01MU2NyaXB0LCBYSFRNTCBNUCwgV0NTUyAvIFdBUCBDU1MsIFVBUHJvZiBhbmQgU01TIHRocm91
Z2ggb3VyIGZyZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBsZXMuIFRoaXMgd2ViIHNp
dGUgY2FuIGhlbHAgd2ViIHByb2dyYW1tZXJzIHdobyB3aXNoIHRvIGV4dGVuZCB0aGVpciBrbm93
bGVkZ2UgdG8gdGhlIHdpcmVsZXNzIHdvcmxkLiAKLTxici8+Ci1ISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhICi08L3A+Ci08IVtDREFUQVsgVGhlIG5leHQg
dHdvIHBhcmFncmFwaHMgc2hvdWxkbid0IGJlIHdyYXBwZWQgXV0+Ci08cD4KLUhlcmUgeW91IGNh
biBsZWFybiB2YXJpb3VzIG1vYmlsZSB0ZWNobm9sb2dpZXMgbGlrZSBXQVAgLyBXQVAgMi4wLCBX
TUwsIFdNTFNjcmlwdCwgWEhUTUwgTVAsIFdDU1MgLyBXQVAgQ1NTLCBVQVByb2YgYW5kIFNNUyB0
aHJvdWdoIG91ciBmcmVlIHR1dG9yaWFscywgYXJ0aWNsZXMgYW5kIGV4YW1wbGVzLiBUaGlzIHdl
YiBzaXRlIGNhbiBoZWxwIHdlYiBwcm9ncmFtbWVycyB3aG8gd2lzaCB0byBleHRlbmQgdGhlaXIg
a25vd2xlZGdlIHRvIHRoZSB3aXJlbGVzcyB3b3JsZC4gCi08YnIvPgotSEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISAotPC9wPgotPGJyLz4KLTxwPgotSGVy
ZSB5b3UgY2FuIGxlYXJuIHZhcmlvdXMgbW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdB
UCAyLjAsIFdNTCwgV01MU2NyaXB0LCBYSFRNTCBNUCwgV0NTUyAvIFdBUCBDU1MsIFVBUHJvZiBh
bmQgU01TIHRocm91Z2ggb3VyIGZyZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBsZXMu
IFRoaXMgd2ViIHNpdGUgY2FuIGhlbHAgd2ViIHByb2dyYW1tZXJzIHdobyB3aXNoIHRvIGV4dGVu
ZCB0aGVpciBrbm93bGVkZ2UgdG8gdGhlIHdpcmVsZXNzIHdvcmxkLiAKLTxici8+Ci1ISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhICi08L3A+Ci08L2NhcmQ+
Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL3NlbGVjdC53bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvc2VsZWN0LndtbAkocmV2aXNpb24gODUxNjYpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9zZWxlY3Qud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIw
ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0v
L1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQv
d21sXzEuMS54bWwiPgotPHdtbD4KLTxjYXJkPgotPHA+VmVyeSBzaW1wbGUgdGVzdCwgY2hlY2tp
bmcgdGhhdCBzZWxlY3QgZWxlbWVudHMgYXJlIHJlbmRlcmVkIGNvcnJlY3RseTwvcD4KLQotPHNl
bGVjdCBuYW1lPSJ0ZXN0MSIgdGl0bGU9InRpdGxlMSIgbXVsdGlwbGU9InRydWUiPgotICA8b3B0
aW9uIHZhbHVlPSJ0ZXN0MTEiPlRlc3QxPC9vcHRpb24+Ci0gIDxvcHRpb24gdmFsdWU9InRlc3Qx
MiI+VGVzdDI8L29wdGlvbj4KLSAgPG9wdGlvbiB2YWx1ZT0idGVzdDEzIj5UZXN0Mzwvb3B0aW9u
PgotPC9zZWxlY3Q+Ci0KLTxzZWxlY3QgbmFtZT0idGVzdDIiIHRpdGxlPSJ0aXRsZTIiPgotICA8
b3B0aW9uIHZhbHVlPSJ0ZXN0MjEiPlRlc3QxPC9vcHRpb24+Ci0gIDxvcHRpb24gdmFsdWU9InRl
c3QyMiI+VGVzdDI8L29wdGlvbj4KLSAgPG9wdGlvbiB2YWx1ZT0idGVzdDIzIj5UZXN0Mzwvb3B0
aW9uPgotPC9zZWxlY3Q+Ci0KLTwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC93bWwvc2hvdy1maXJzdC1jYXJkLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L3dtbC9zaG93LWZpcnN0LWNhcmQud21sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3Rz
L2Zhc3Qvd21sL3Nob3ctZmlyc3QtY2FyZC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMCww
IEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBG
T1JVTS8vRFREIFdNTCAxLjAvL0VOIgotImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxf
MS4xLnhtbCI+Ci0KLTx3bWw+Ci08Y2FyZCBpZD0ibm8xIj48cD5UZXN0IGZvciBzaG93aW5nIHRo
ZSBmaXJzdCBjYXJkIG9mIHdtbCBkZWNrIGluIGRlZmF1bHQgd2hlbiB5b3UgZG9lc24ndCBzcGVj
aWZ5IGFueSBjb3JyZWN0IFVSTCBmcmFnbWVudC48L3A+IElmIHRoZSB0ZXN0IHBhc3NlcywgeW91
IHNob3VsZCBzZWUgdGhpcyB0ZXh0LjwvY2FyZD4KLTxjYXJkIGlkPSJubzIiPlRoaXMgaXMgY2Fy
ZCAyLCB5b3Ugc2hvdWxkIE5PVCBzZWUgdGhlc2UgdGV4dCB3aGlsZSBydW5uaW5nIHRoaXMgdGVz
dDwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvdGFibGUtZWxlbWVu
dC1hbGlnbi1hdHRyaWJ1dGUtaW52YWxpZC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC93bWwvdGFibGUtZWxlbWVudC1hbGlnbi1hdHRyaWJ1dGUtaW52YWxpZC53bWwJKHJldmlz
aW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1hbGlnbi1h
dHRyaWJ1dGUtaW52YWxpZC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFRE
IFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4K
LTx3bWw+Ci08Y2FyZD4KLSAgICA8cD5UZXN0IGZvciB0YWJsZSBlbGVtZW50IGFuZCBpbnZhbGlk
IGFsaWduIGF0dHJpYnV0ZTwvcD4KLSAgICA8dGFibGUgY29sdW1ucz0iMSIgYWxpZ249IiR0ZXN0
Ii8+Ci08L2NhcmQ+Ci08L3dtbD4gCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC90YWJsZS1l
bGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWludmFsaWQtbnVtYmVyLndtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWlu
dmFsaWQtbnVtYmVyLndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dt
bC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWludmFsaWQtbnVtYmVyLndtbAkod29y
a2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NU
WVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3
LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLTxjYXJkPgotICAgIDxwPlRl
c3QgZm9yIHRhYmxlIGVsZW1lbnQgYW5kIGludmFsaWQgY29sdW1ucyBhdHRyaWJ1dGU8L3A+Ci0g
ICAgPHRhYmxlIGNvbHVtbnM9IjAiLz4KLTwvY2FyZD4KLTwvd21sPiAKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtaW52YWxpZC53bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5z
LWF0dHJpYnV0ZS1pbnZhbGlkLndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWludmFsaWQud21sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZ
UEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cu
d2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotPGNhcmQ+Ci0gICAgPHA+VGVz
dCBmb3IgdGFibGUgZWxlbWVudCBhbmQgaW52YWxpZCBjb2x1bW5zIGF0dHJpYnV0ZTwvcD4KLSAg
ICA8dGFibGUgY29sdW1ucz0iMWEiLz4KLTwvY2FyZD4KLTwvd21sPiAKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtbWlzc2luZy53bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5z
LWF0dHJpYnV0ZS1taXNzaW5nLndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLW1pc3Npbmcud21sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZ
UEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cu
d2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotPGNhcmQ+Ci0gICAgPHA+VGVz
dCBmb3IgdGFibGUgZWxlbWVudCBhbmQgbWlzc2luZyBjb2x1bW5zIGF0dHJpYnV0ZTwvcD4KLSAg
ICA8dGFibGUvPgotPC9jYXJkPgotPC93bWw+IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwv
dGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS53bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS53bWwJKHJldmlz
aW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5z
LWF0dHJpYnV0ZS53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNzcgKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwg
MS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21s
PgotPGNhcmQ+Ci0gICAgPHA+VGVzdCBmb3IgdGFibGUgZWxlbWVudCBhbmQgY29sdW1ucyBhdHRy
aWJ1dGU8L3A+Ci0gICAgPHA+VGhlIGZpcnN0IGFuZCBzZWNvbmQgcm93IG9mIGFsbCB0ZXN0cyBz
aG91bGQgbG9vayBlcXVhbDwvcD4KLQotICAgIDxwPlRlc3QgMTogSm9pbiBzdXBlcmZsb3VzIGNv
bHVtbnMsIGxlZnQgY2VsbCBsZWZ0IGFsaWduZWQsIHJpZ2h0IGNlbGwgcmlnaHQgYWxpZ25lZDwv
cD4KLSAgICA8dGFibGUgY29sdW1ucz0iMiIgYWxpZ249IkxSIj4KLSAgICA8dHI+Ci0gICAgICAg
IDx0ZD5GaXJzdCBjb2x1bW48L3RkPgotICAgICAgICA8dGQ+U2Vjb25kPC90ZD4KLSAgICAgICAg
PHRkPmNvbHVtbjwvdGQ+Ci0gICAgPC90cj4KLSAgICA8dHI+Ci0gICAgICAgIDx0ZD5GaXJzdCBj
b2x1bW48L3RkPgotICAgICAgICA8dGQ+U2Vjb25kIGNvbHVtbjwvdGQ+Ci0gICAgPC90cj4KLSAg
ICA8L3RhYmxlPgotCi0gICAgPHA+VGVzdCAyOiBKb2luIHN1cGVyZmxvdXMgY29sdW1ucyB3aXRo
ICdicicgZWxlbWVudHMgaW5zaWRlLCB0YWJsZSBpcyBjZW50ZXIgYWxpZ25lZDwvcD4KLSAgICA8
dGFibGUgY29sdW1ucz0iMiIgYWxpZ249IkNDIj4KLSAgICA8dHI+Ci0gICAgICAgIDx0ZD5GaXJz
dDxici8+Y29sdW1uPC90ZD4KLSAgICAgICAgPHRkPlNlY29uZDwvdGQ+Ci0gICAgICAgIDx0ZD48
YnIvPjwvdGQ+Ci0gICAgICAgIDx0ZD5jb2x1bW48L3RkPgotICAgIDwvdHI+Ci0gICAgPHRyPgot
ICAgICAgICA8dGQ+Rmlyc3Q8YnIvPmNvbHVtbjwvdGQ+Ci0gICAgICAgIDx0ZD5TZWNvbmQ8YnIv
PmNvbHVtbjwvdGQ+Ci0gICAgPC90cj4KLSAgICA8L3RhYmxlPgotCi0gICAgPHA+VGVzdCAzOiBK
b2luIHN1cGVyZmxvdXMgY29sdW1ucyB3aXRoICdicicgYW5kICdpbWcnIGVsZW1lbnRzIGluc2lk
ZSwgdGFibGUgaXMgY2VudGVyIGFsaWduZWQ8L3A+Ci0gICAgPHRhYmxlIGNvbHVtbnM9IjIiIGFs
aWduPSJDQyI+Ci0gICAgPHRyPgotICAgICAgICA8dGQ+Rmlyc3QgY29sdW1uPC90ZD4KLSAgICAg
ICAgPHRkPlNlY29uZDwvdGQ+Ci0gICAgICAgIDx0ZD5jb2x1bW4gd2l0aDwvdGQ+Ci0gICAgICAg
IDx0ZD5pbWFnZSA8L3RkPgotICAgICAgICA8dGQ+PGltZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAi
IHNyYz0icmVzb3VyY2VzL3Bhc3MucG5nIi8+IGFuZDwvdGQ+Ci0gICAgICAgIDx0ZD50cmFpbGlu
ZyB0ZXh0PC90ZD4KLSAgICA8L3RyPgotICAgIDx0cj4KLSAgICAgICAgPHRkPkZpcnN0IGNvbHVt
bjwvdGQ+Ci0gICAgICAgIDx0ZD5TZWNvbmQgY29sdW1uIHdpdGggaW1hZ2UgPGltZyB3aWR0aD0i
MjAiIGhlaWdodD0iMjAiIHNyYz0icmVzb3VyY2VzL3Bhc3MucG5nIi8+IGFuZCB0cmFpbGluZyB0
ZXh0PC90ZD4KLSAgICA8L3RyPgotICAgIDwvdGFibGU+Ci0KLQk8cD5UZXN0IDQ6IEpvaW4gc3Vw
ZXJmbG91cyBjb2x1bW5zIHdpdGggJ2JyJyBhbmQgJ2ltZycgZWxlbWVudHMgaW5zaWRlLCB0YWJs
ZSBpcyByaWdodCBhbGlnbmVkPC9wPgotICAgIDx0YWJsZSBjb2x1bW5zPSIyIiBhbGlnbj0iUlIi
PgotICAgIDx0cj4KLSAgICAgICAgPHRkPkZpcnN0IGNvbHVtbjwvdGQ+Ci0gICAgICAgIDx0ZD5T
ZWNvbmQ8L3RkPgotICAgICAgICA8dGQ+Y29sdW1uIHdpdGg8L3RkPgotICAgICAgICA8dGQ+aW1h
Z2UgPGltZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHNyYz0icmVzb3VyY2VzL3Bhc3MucG5nIi8+
PC90ZD4KLSAgICAgICAgPHRkPmFuZCB0cmFpbGluZyB0ZXh0PC90ZD4KLSAgICA8L3RyPgotICAg
IDx0cj4KLSAgICAgICAgPHRkPkZpcnN0IGNvbHVtbjwvdGQ+Ci0gICAgICAgIDx0ZD5TZWNvbmQg
Y29sdW1uIHdpdGggaW1hZ2UgPGltZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHNyYz0icmVzb3Vy
Y2VzL3Bhc3MucG5nIi8+YW5kIHRyYWlsaW5nIHRleHQ8L3RkPgotICAgIDwvdHI+Ci0gICAgPC90
YWJsZT4KLQotICAgIDxwPlRlc3QgNTogUGFkIHdpdGggZW1wdHkgY29sdW1ucywgaWYgdGhlcmUg
YXJlIG5vdCBlbm91Z2ggJ3RkJyBlbGVtZW50czwvcD4KLSAgICA8dGFibGUgY29sdW1ucz0iMiIg
YWxpZ249IkxMIj4KLSAgICA8dHI+Ci0gICAgICAgIDx0ZD5GaXJzdCBjb2x1bW48L3RkPgotICAg
IDwvdHI+Ci0gICAgPHRyPgotICAgICAgICA8dGQ+Rmlyc3QgY29sdW1uPC90ZD4KLSAgICAgICAg
PHRkLz4KLSAgICA8L3RyPgotICAgIDwvdGFibGU+Ci08L2NhcmQ+Ci08L3dtbD4gCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LndtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LndtbAkod29ya2luZyBjb3B5KQpAQCAt
MSwzNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElD
ICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcv
RFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gPGNhcmQ+Ci0gPHA+IFRlc3QgZm9yIHRhYmxlIGVs
ZW1lbnQgaW4gV01MIDwvcD4KLSA8cD4gc291cmNlIGNvZGU6IDwvcD4KLSA8IVtDREFUQVsKLSAg
IDx0YWJsZSBjb2x1bW5zPSIzIiBhbGlnbj0iTFJSIj4gCi0gICAgPHRyPgotICAgICA8dGQ+Q2Vs
bCBvbmU8L3RkPgotICAgICA8dGQ+Qzxici8+ZWxsPGJyLz4gdHdvPC90ZD4KLSAgICAgPHRkPkNl
bGwgdGhyZWU8L3RkPgotICAgIDwvdHI+Ci0gICAgPHRyPgotICAgIDx0ZD4gb25lIDwvdGQ+Ci0g
ICAgPHRkLz4KLSAgICA8dGQ+QyB0aHJlZTwvdGQ+Ci0gICAgPC90cj4KLSAgIDwvdGFibGU+Ci0g
XV0+Ci0gPGJyLz4KLSAgPHA+Ci0gICA8dGFibGUgY29sdW1ucz0iMyIgYWxpZ249IkxSUiI+IAot
ICAgIDx0cj4KLSAgICAgPHRkPkNlbGwgb25lPC90ZD4KLSAgICAgPHRkPkM8YnIvPmVsbDxici8+
IHR3bzwvdGQ+Ci0gICAgIDx0ZD5DZWxsIHRocmVlPC90ZD4KLSAgICA8L3RyPgotICAgIDx0cj4K
LSAgICA8dGQ+IG9uZSA8L3RkPgotICAgIDx0ZC8+Ci0gICAgPHRkPkMgdGhyZWU8L3RkPgotICAg
IDwvdHI+Ci0gICA8L3RhYmxlPgotIDwvcD4KLSA8L2NhcmQ+Ci08L3dtbD4gCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L3dtbC90YXNrLW5vb3AtaW4tZG8ud21sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvd21sL3Rhc2stbm9vcC1pbi1kby53bWwJKHJldmlzaW9uIDg1MTY2KQorKysg
TGF5b3V0VGVzdHMvZmFzdC93bWwvdGFzay1ub29wLWluLWRvLndtbAkod29ya2luZyBjb3B5KQpA
QCAtMSwxMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVC
TElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5v
cmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGNhcmQgaWQ9ImNhcmQxIj4KLSAgICAg
ICAgPHA+VGVzdCBmb3IgTm9vcCB0YXNrIGluIGRvIGVsZW1lbnQgb2YgV01MLiA8L3A+Ci0gICAg
ICAgIDxwPklmIGl0IHBhc3NlcywgeW91IHNob3VsZCBub3Qgc2VlIHRoZSAiQmFjayIgYnV0dG9u
PC9wPgotICAgICAgICA8ZG8gbmFtZT0iZG8iIHR5cGU9ImFjY2VwdCIgbGFiZWw9IkJhY2siPgot
ICAgICAgICAgICAgPG5vb3AvPgotICAgICAgICA8L2RvPgotICAgIDwvY2FyZD4gCi08L3dtbD4g
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC90ZXN0LndtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3dtbC90ZXN0LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3dtbC90ZXN0LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSw5ICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFRE
IFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4K
LTx3bWwgeG1sbnM9Imh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci0g
PGNhcmQgaWQ9J2NhcmQxJz4KLSA8cD4gVGhpcyBwYWdlIGlzIGFzc2lzdGFudCBwYWdlLiBNYW55
IHRlc3QgcGFnZXMgd2lsbCBqdW1wIGhlcmUuIDwvcD4KLSA8cD5DbGljayAiQmFjayIgdG8gZ28g
YmFjayB0byB0aGUgcHJldmlvdXMgcGFnZTwvcD4KLSA8YW5jaG9yPiBCYWNrIDxwcmV2Lz48L2Fu
Y2hvcj4KLSA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL3RleHQt
ZW1waGFzaXMud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL3RleHQtZW1w
aGFzaXMud21sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL3RleHQt
ZW1waGFzaXMud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIyICswLDAgQEAKLTw/eG1sIHZlcnNp
b249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEu
MS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4K
LSA8Y2FyZCB0aXRsZT0iVGV4dCBGb3JtYXR0aW5nIj4KLSAgPHA+IFRlc3QgZm9yIHRleHQgZW1w
aGFzaXMgb2YgV01MIDwvcD4KLSAgPHA+Ci0gICBub3JtYWw8YnIvPgotICAgPGVtPmVtcGhhc2l6
ZWQ8L2VtPjxici8+Ci0gICA8c3Ryb25nPnN0cm9uZzwvc3Ryb25nPjxici8+Ci0gICA8Yj5ib2xk
PC9iPjxici8+Ci0gICA8aT5pdGFsaWM8L2k+PGJyLz4KLSAgIDx1PnVuZGVybGluZTwvdT48YnIv
PgotICAgPGJpZz5iaWc8L2JpZz48YnIvPgotICAgPHNtYWxsPnNtYWxsPC9zbWFsbD4KLSAgPC9w
PgotICA8cHJlPiAgVGhpcyB0ZXh0LCBzaG91bGQgYXBwZWFyCi1hcwotcHJlCi1mb3JtYXR0ZWQK
LSAgICAgICAgICAgdGV4dCwgcHJlc2VydmluZyBhbnkgd2hpdGUgICAgc3BhY2UuPC9wcmU+Ci0g
PC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC92YWxpZGF0ZS1kdGQu
d21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL3ZhbGlkYXRlLWR0ZC53bWwJ
KHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvdmFsaWRhdGUtZHRkLndt
bAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pgot
PCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIE5PVCBFWElTVEFOVCAx
LjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+
Ci08Y2FyZCBpZD0ibm8xIiB0aXRsZT0iQ2FyZCAxIj4gCi08cD5UZXN0IGZvciBEVEQgdmFsaWRh
dGlvbiBvZiBXTUwgZmlsZTxici8+SWYgdGhlIERPQ1RZUEUgaXMgaW5jb3JyZWN0IG9yIG1pc3Np
bmcsIHRoaXMgdGVzdCBmYWlsZXMuPC9wPgotPC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L3dtbC9yZXNvdXJjZXMvZmFpbC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0
aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvcmVzb3VyY2VzL3Bh
c3MucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5
IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQtZG9tYWluLWRlbnktZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vzcy10
YXJnZXQtZG9tYWluLWRlbnktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQtZG9tYWluLWRlbnktZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE5ICswLDAgQEAKLVdNTCBodHRwIG5hdmlnYXRpb24g
bGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVzdHMgYWNjZXNzIGNv
bnRyb2wgc3VwcG9ydAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZy
YW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotU3RhcnQg
dGVzdAotVGVzdCBmb3IgRGVjayBBY2Nlc3MgY29udHJvbCBpbiBXTUwuCi1JZiB0aGUgdGVzdCBw
YXNzZXMsIHRoaXMgZGVjayB3aWxsIHJlbWFpbiB2aXNpYmxlCkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dtbC9hY2Nlc3MtdGFyZ2V0LWRvbWFpbi1kZW55Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1kb21haW4tZGVueS5o
dG1sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vz
cy10YXJnZXQtZG9tYWluLWRlbnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBA
Ci08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4K
LTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZhciByZWxhdGl2ZVBhdGhUb0xh
eW91dFRlc3RzID0gIi4uLy4uLy4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi93
bWwvcmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxoMT5XTUwgaHR0cCBuYXZpZ2F0aW9uIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhI
VE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LWRv
bWFpbi1kZW55LmpzIiBjaGFyc2V0PSJ1dGY4Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJn
ZXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvd21sL2FjY2Vzcy10YXJnZXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE4
ICswLDAgQEAKLVdNTCBodHRwIG5hdmlnYXRpb24gbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwg
c2NyaXB0aW5nCi0KLQotVGVzdHMgYWNjZXNzIGNvbnRyb2wgc3VwcG9ydAotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1m
cmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotVGVzdCBmb3IgRGVjayBBY2Nlc3MgY29udHJvbCBpbiBX
TUwuCi1UaGlzIGlzIHRoZSBsb2NrZWQgdGFyZ2V0IGRlY2ssIG9ubHkgJ2FjY2Vzcy10YXJnZXQu
d21sIiBjYW4gYWNjZXNzIG1lCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9hY2Nl
c3MtdGFyZ2V0LXBhdGgtZGVueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1wYXRoLWRlbnktZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJn
ZXQtcGF0aC1kZW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxOSArMCwwIEBA
Ci1XTUwgaHR0cCBuYXZpZ2F0aW9uIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGlu
ZwotCi0KLVRlc3RzIGFjY2VzcyBjb250cm9sIHN1cHBvcnQKLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+
LS0+JwotLS0tLS0tLS0KLVN0YXJ0IHRlc3QKLVRlc3QgZm9yIERlY2sgQWNjZXNzIGNvbnRyb2wg
aW4gV01MLgotSWYgdGhlIHRlc3QgcGFzc2VzLCB0aGlzIGRlY2sgd2lsbCByZW1haW4gdmlzaWJs
ZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1wYXRoLWRl
bnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9hY2Nlc3Mt
dGFyZ2V0LXBhdGgtZGVueS5odG1sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQtcGF0aC1kZW55Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdD52YXIg
cmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLi8uLi8uLiI7PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vLi4vd21sL3Jlc291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGh0dHAgbmF2aWdhdGlvbiBsYXlvdXQg
dGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
YWNjZXNzLXRhcmdldC1wYXRoLWRlbnkuanMiIGNoYXJzZXQ9InV0ZjgiPjwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRh
cmdldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vz
cy10YXJnZXQuaHRtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dtbC9hY2Nlc3MtdGFyZ2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08
aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlv
dXRUZXN0cyA9ICIuLi8uLi8uLiI7PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vd21s
L3Jlc291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08aDE+V01MIGh0dHAgbmF2aWdhdGlvbiBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRN
TCBzY3JpcHRpbmc8L2gxPgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYWNjZXNzLXRhcmdldC5qcyIg
Y2hhcnNldD0idXRmOCI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dtbC9nby10YXNrLWdldC1tZXRob2QtYWNjZXB0LWNoYXJzZXQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2dvLXRh
c2stZ2V0LW1ldGhvZC1hY2NlcHQtY2hhcnNldC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MTY2
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLWFjY2Vw
dC1jaGFyc2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyMiArMCwwIEBACi1X
TUwgaHR0cCBuYXZpZ2F0aW9uIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZwot
Ci0KLVRlc3RzIEdFVCBtZXRob2Qgb2YgPGdvPiBlbGVtZW50IC0gYWNjZXB0LWNoYXJzZXQgYXR0
cmlidXRlCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8
IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi1UaGlzIHBhZ2Ugd2Fz
IHJlcXVlc3RlZCB3aXRoIGFuIEhUVFAgR0VUCi0KLVRoZSBxdWVyeSBwYXJhbWV0ZXJzIGFyZTog
dmFyMT1UZXh0JTIwd2l0aCUyMHdoaXRlc3BhY2U7dmFyMj1UZXh0JTIwd2l0aCUyMG5vbi1sYXRp
bjElMjBjaGFyYWN0ZXJzJTNBJTIwU2NoJUMzJUI2biUyQyUyMGRhJUMzJTlGJTIwZXMlMjAlQzMl
ODQlMjZPdW1sJTNCJUMzJTlDJTIwZ2lidCUyMQotRm9ybSBjb250ZW50IHZhcjE6ICdUZXh0IHdp
dGggd2hpdGVzcGFjZScKLUZvcm0gY29udGVudCB2YXIyOiAnVGV4dCB3aXRoIG5vbi1sYXRpbjEg
Y2hhcmFjdGVyczogU2Now7ZuLCBkYcOfIGVzIMOEw5bDnCBnaWJ0IScKLQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLWFjY2VwdC1jaGFyc2V0Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvZ28tdGFzay1nZXQt
bWV0aG9kLWFjY2VwdC1jaGFyc2V0Lmh0bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLWFjY2VwdC1jaGFyc2V0Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgotPHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLi8uLi8uLiI7PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vd21sL3Jlc291cmNlcy9XTUxUZXN0Q2FzZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGh0dHAgbmF2
aWdhdGlvbiBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3Jj
PSJzY3JpcHQtdGVzdHMvZ28tdGFzay1nZXQtbWV0aG9kLWFjY2VwdC1jaGFyc2V0LmpzIiBjaGFy
c2V0PSJ1dGY4Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd21sL2dvLXRhc2stZ2V0LW1ldGhvZC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9n
by10YXNrLWdldC1tZXRob2QtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIyICsw
LDAgQEAKLVdNTCBodHRwIG5hdmlnYXRpb24gbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2Ny
aXB0aW5nCi0KLQotVGVzdHMgR0VUIG1ldGhvZCBvZiA8Z28+IGVsZW1lbnQKLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0t
ZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0KLVRoaXMgcGFnZSB3YXMgcmVxdWVzdGVkIHdpdGggYW4g
SFRUUCBHRVQKLQotVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgYXJlOiB2YXIxPVRleHQlMjB3aXRoJTIw
d2hpdGVzcGFjZTt2YXIyPVRleHQlMjB3aXRoJTIwZW50aXRpZXMlM0ElMjAlMjZhdW1sJTNCJTIw
YW5kJTIwJTI2b3VtbCUzQgotRm9ybSBjb250ZW50IHZhcjE6ICdUZXh0IHdpdGggd2hpdGVzcGFj
ZScKLUZvcm0gY29udGVudCB2YXIyOiAnVGV4dCB3aXRoIGVudGl0aWVzOiDDpCBhbmQgw7YnCi0K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2dvLXRhc2stZ2V0LW1ldGhvZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2dvLXRhc2stZ2V0LW1l
dGhvZC5odG1sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21s
L2dvLXRhc2stZ2V0LW1ldGhvZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgot
PGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5
b3V0VGVzdHMgPSAiLi4vLi4vLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3dt
bC9yZXNvdXJjZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGgxPldNTCBodHRwIG5hdmlnYXRpb24gbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhU
TUwgc2NyaXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhv
ZC5qcyIgY2hhcnNldD0idXRmOCI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9nby10YXNrLXBvc3QtbWV0aG9kLWFjY2VwdC1jaGFy
c2V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dt
bC9nby10YXNrLXBvc3QtbWV0aG9kLWFjY2VwdC1jaGFyc2V0LWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9nby10YXNrLXBvc3QtbWV0
aG9kLWFjY2VwdC1jaGFyc2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyMiAr
MCwwIEBACi1XTUwgaHR0cCBuYXZpZ2F0aW9uIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNj
cmlwdGluZwotCi0KLVRlc3RzIFBPU1QgbWV0aG9kIG9mIDxnbz4gZWxlbWVudCAtIGFjY2VwdC1j
aGFyc2V0IGF0dHJpYnV0ZQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0K
LUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotVGhp
cyBwYWdlIHdhcyByZXF1ZXN0ZWQgd2l0aCBhbiBIVFRQIFBPU1QKLQotVGhlIHF1ZXJ5IHBhcmFt
ZXRlcnMgYXJlOiB2YXIxPVRleHQlMjB3aXRoJTIwd2hpdGVzcGFjZTt2YXIyPVRleHQlMjB3aXRo
JTIwbm9uLWxhdGluMSUyMGNoYXJhY3RlcnMlM0ElMjBTY2glQzMlQjZuJTJDJTIwZGElQzMlOUYl
MjBlcyUyMCVDMyU4NCUyNk91bWwlM0IlQzMlOUMlMjBnaWJ0JTIxCi1Gb3JtIGNvbnRlbnQgdmFy
MTogJ1RleHQgd2l0aCB3aGl0ZXNwYWNlJwotRm9ybSBjb250ZW50IHZhcjI6ICdUZXh0IHdpdGgg
bm9uLWxhdGluMSBjaGFyYWN0ZXJzOiBTY2jDtm4sIGRhw58gZXMgw4TDlsOcIGdpYnQhJwotCklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9nby10YXNrLXBvc3QtbWV0aG9kLWFjY2Vw
dC1jaGFyc2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwv
Z28tdGFzay1wb3N0LW1ldGhvZC1hY2NlcHQtY2hhcnNldC5odG1sCShyZXZpc2lvbiA4NTE2NikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2dvLXRhc2stcG9zdC1tZXRob2QtYWNjZXB0
LWNoYXJzZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZhciByZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzID0g
Ii4uLy4uLy4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi93bWwvcmVzb3VyY2Vz
L1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxo
MT5XTUwgaHR0cCBuYXZpZ2F0aW9uIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGlu
ZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9nby10YXNrLXBvc3QtbWV0aG9kLWFjY2VwdC1j
aGFyc2V0LmpzIiBjaGFyc2V0PSJ1dGY4Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2dvLXRhc2stcG9zdC1tZXRob2QtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2dvLXRhc2st
cG9zdC1tZXRob2QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd21sL2dvLXRhc2stcG9zdC1tZXRob2QtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDIyICswLDAgQEAKLVdNTCBodHRwIG5hdmlnYXRpb24gbGF5b3V0IHRlc3Rz
IC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVzdHMgUE9TVCBtZXRob2Qgb2YgPGdvPiBl
bGVtZW50Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8
IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi1UaGlzIHBhZ2Ugd2Fz
IHJlcXVlc3RlZCB3aXRoIGFuIEhUVFAgUE9TVAotCi1UaGUgcXVlcnkgcGFyYW1ldGVycyBhcmU6
IHZhcjE9VGV4dCUyMHdpdGglMjB3aGl0ZXNwYWNlO3ZhcjI9VGV4dCUyMHdpdGglMjBlbnRpdGll
cyUzQSUyMCUyNmF1bWwlM0IlMjBhbmQlMjAlMjZvdW1sJTNCCi1Gb3JtIGNvbnRlbnQgdmFyMTog
J1RleHQgd2l0aCB3aGl0ZXNwYWNlJwotRm9ybSBjb250ZW50IHZhcjI6ICdUZXh0IHdpdGggZW50
aXRpZXM6IMOkIGFuZCDDticKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvZ28t
dGFzay1wb3N0LW1ldGhvZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvd21sL2dvLXRhc2stcG9zdC1tZXRob2QuaHRtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9nby10YXNrLXBvc3QtbWV0aG9kLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlw
dD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLi8uLi8uLiI7PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vd21sL3Jlc291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGh0dHAgbmF2aWdhdGlvbiBs
YXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvZ28tdGFzay1wb3N0LW1ldGhvZC5qcyIgY2hhcnNldD0idXRmOCI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9wb3N0LWRh
dGEtdG8tc2VydmVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dtbC9wb3N0LWRhdGEtdG8tc2VydmVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUx
NjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9wb3N0LWRhdGEtdG8tc2VydmVyLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyNCArMCwwIEBACi1XTUwgaHR0cCBuYXZp
Z2F0aW9uIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZwotCi0KLUNvbXBsZXgg
ZGF0YSBwb3N0aW5nIGV4YW1wbGUKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0t
LS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0K
LVRoaXMgcGFnZSB3YXMgcmVxdWVzdGVkIHdpdGggYW4gSFRUUCBQT1NUCi0KLVRoZSBxdWVyeSBw
YXJhbWV0ZXJzIGFyZTogY2F0ZWdvcnk9O3RpdGxlPSU1QnRpdGxlJTVEJTIwVEVTVCUyMFBBU1NF
RDt1cmw9JTVCdXJsJTVEJTIwVEVTVCUyMFBBU1NFRDtkZXNjPSU1QmRlc2MlNUQlMjBURVNUJTIw
UEFTU0VECi1Gb3JtIGNvbnRlbnQgY2F0ZWdvcnk6ICcnCi1Gb3JtIGNvbnRlbnQgdGl0bGUgOiAn
W3RpdGxlXSBURVNUIFBBU1NFRCcKLUZvcm0gY29udGVudCB1cmwgOiAnW3VybF0gVEVTVCBQQVNT
RUQnCi1Gb3JtIGNvbnRlbnQgZGVzYyA6ICdbZGVzY10gVEVTVCBQQVNTRUQnCi0KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Bvc3QtZGF0YS10by1zZXJ2ZXIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9wb3N0LWRhdGEtdG8tc2VydmVyLmh0
bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcG9zdC1k
YXRhLXRvLXNlcnZlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+
Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVz
dHMgPSAiLi4vLi4vLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3dtbC9yZXNv
dXJjZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGgxPldNTCBodHRwIG5hdmlnYXRpb24gbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2Ny
aXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3Bvc3QtZGF0YS10by1zZXJ2ZXIuanMi
IGNoYXJzZXQ9InV0ZjgiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQtZG9tYWluLWRlbnku
d21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9h
Y2Nlc3MtdGFyZ2V0LWRvbWFpbi1kZW55LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMvYWNjZXNzLXRhcmdldC1kb21haW4tZGVueS53
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4K
LTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0
cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGNhcmQ+
Ci0gICAgICAgIDxhbmNob3I+U3RhcnQgdGVzdDxnbyBocmVmPSJ1bnJlYWNoYWJsZS1kb21haW4u
d21sIi8+PC9hbmNob3I+Ci0gICAgICAgIDxwPlRlc3QgZm9yIERlY2sgQWNjZXNzIGNvbnRyb2wg
aW4gV01MLjwvcD4KLSAgICAgICAgPHA+SWYgdGhlIHRlc3QgcGFzc2VzLCB0aGlzIGRlY2sgd2ls
bCByZW1haW4gdmlzaWJsZTwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LXBhdGgtZGVueS53bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2FjY2Vz
cy10YXJnZXQtcGF0aC1kZW55LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMvYWNjZXNzLXRhcmdldC1wYXRoLWRlbnkud21sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZ
UEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cu
d2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkPgotICAgICAg
ICA8YW5jaG9yPlN0YXJ0IHRlc3Q8Z28gaHJlZj0idW5yZWFjaGFibGUtcGF0aC53bWwiLz48L2Fu
Y2hvcj4KLSAgICAgICAgPHA+VGVzdCBmb3IgRGVjayBBY2Nlc3MgY29udHJvbCBpbiBXTUwuPC9w
PgotICAgICAgICA8cD5JZiB0aGUgdGVzdCBwYXNzZXMsIHRoaXMgZGVjayB3aWxsIHJlbWFpbiB2
aXNpYmxlPC9wPgotICAgIDwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93bWwvcmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQud21sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LndtbAkocmV2aXNp
b24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMvYWNjZXNz
LXRhcmdldC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOSArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEv
L0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0g
ICAgPGNhcmQ+Ci0gICAgICAgIDxhbmNob3I+U3RhcnQgdGVzdDxnbyBocmVmPSJsb2NrZWQtZGVj
ay53bWwiLz48L2FuY2hvcj4KLSAgICAgICAgPHA+VGVzdCBmb3IgRGVjayBBY2Nlc3MgY29udHJv
bCBpbiBXTUwuPC9wPgotICAgICAgICA8cD5JZiB0aGUgdGVzdCBwYXNzZXMsIHRoaXMgZGVjayB3
aWxsIGltbWVkaWF0ZWx5IGp1bXAgdG8gImxvY2tlZC1kZWNrLndtbCI8L3A+Ci0gICAgPC9jYXJk
PgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMvYW5z
d2VyLXV0ZjguY2dpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Jl
c291cmNlcy9hbnN3ZXItdXRmOC5jZ2kJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2Fuc3dlci11dGY4LmNnaQkod29ya2luZyBjb3B5KQpA
QCAtMSwyNCArMCwwIEBACi0jIS91c3IvYmluL3BlcmwgLXcKLQotdXNlIENHSTsKLQotJHF1ZXJ5
ID0gbmV3IENHSTsKLSRtZXRob2QgPSAkcXVlcnktPnJlcXVlc3RfbWV0aG9kKCk7Ci0kcXVlcnlT
dHJpbmcgPSAkcXVlcnktPnF1ZXJ5X3N0cmluZzsKLSR2YXIxID0gJHF1ZXJ5LT5wYXJhbSgidmFy
MSIpOwotJHZhcjIgPSAkcXVlcnktPnBhcmFtKCJ2YXIyIik7Ci0KLXByaW50ICJDb250ZW50LXR5
cGU6IHRleHQvaHRtbDtjaGFyc2V0PXV0Zi04XHJcbiI7Ci1wcmludCAiQ2FjaGUtQ29udHJvbDog
bm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGVcclxuIjsKLXByaW50ICJcclxuIjsK
LQotcHJpbnQgPDxIRVJFX0RPQ19FTkQ7Ci08aHRtbD4KLTxib2R5PgotVGhpcyBwYWdlIHdhcyBy
ZXF1ZXN0ZWQgd2l0aCBhbiBIVFRQICRtZXRob2Q8YnIvPjxici8+Ci1UaGUgcXVlcnkgcGFyYW1l
dGVycyBhcmU6ICRxdWVyeVN0cmluZzxici8+Ci1Gb3JtIGNvbnRlbnQgdmFyMTogJyR2YXIxJzxi
ci8+Ci1Gb3JtIGNvbnRlbnQgdmFyMjogJyR2YXIyJzxici8+Ci08L2JvZHk+Ci08L2h0bWw+Ci1I
RVJFX0RPQ19FTkQKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9h
bnN3ZXIuY2dpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Jlc291
cmNlcy9hbnN3ZXIuY2dpCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvd21sL3Jlc291cmNlcy9hbnN3ZXIuY2dpCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI0ICswLDAg
QEAKLSMhL3Vzci9iaW4vcGVybCAtdwotCi11c2UgQ0dJOwotCi0kcXVlcnkgPSBuZXcgQ0dJOwot
JG1ldGhvZCA9ICRxdWVyeS0+cmVxdWVzdF9tZXRob2QoKTsKLSRxdWVyeVN0cmluZyA9ICRxdWVy
eS0+cXVlcnlfc3RyaW5nOwotJHZhcjEgPSAkcXVlcnktPnBhcmFtKCJ2YXIxIik7Ci0kdmFyMiA9
ICRxdWVyeS0+cGFyYW0oInZhcjIiKTsKLQotcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1s
XHJcbiI7Ci1wcmludCAiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJl
dmFsaWRhdGVcclxuIjsKLXByaW50ICJcclxuIjsKLQotcHJpbnQgPDxIRVJFX0RPQ19FTkQ7Ci08
aHRtbD4KLTxib2R5PgotVGhpcyBwYWdlIHdhcyByZXF1ZXN0ZWQgd2l0aCBhbiBIVFRQICRtZXRo
b2Q8YnIvPjxici8+Ci1UaGUgcXVlcnkgcGFyYW1ldGVycyBhcmU6ICRxdWVyeVN0cmluZzxici8+
Ci1Gb3JtIGNvbnRlbnQgdmFyMTogJyR2YXIxJzxici8+Ci1Gb3JtIGNvbnRlbnQgdmFyMjogJyR2
YXIyJzxici8+Ci08L2JvZHk+Ci08L2h0bWw+Ci1IRVJFX0RPQ19FTkQKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9kdW1wVmFyaWFibGVzLmNnaQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMvZHVtcFZhcmlhYmxlcy5j
Z2kJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcmVzb3Vy
Y2VzL2R1bXBWYXJpYWJsZXMuY2dpCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI4ICswLDAgQEAKLSMh
L3Vzci9iaW4vcGVybCAtdwotCi11c2UgQ0dJOwotCi0kcXVlcnkgPSBuZXcgQ0dJOwotJG1ldGhv
ZCA9ICRxdWVyeS0+cmVxdWVzdF9tZXRob2QoKTsKLSRxdWVyeVN0cmluZyA9ICRxdWVyeS0+cXVl
cnlfc3RyaW5nOwotJGNhdCA9ICRxdWVyeS0+cGFyYW0oImNhdGVnb3J5Iik7Ci0kdGl0bGUgPSAk
cXVlcnktPnBhcmFtKCJ0aXRsZSIpOwotJHVybCA9ICRxdWVyeS0+cGFyYW0oInVybCIpOwotJGRl
c2MgPSAkcXVlcnktPnBhcmFtKCJkZXNjIik7Ci0KLXByaW50ICJDb250ZW50LXR5cGU6IHRleHQv
aHRtbFxyXG4iOwotcHJpbnQgIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlLCBuby1jYWNoZSwgbXVz
dC1yZXZhbGlkYXRlXHJcbiI7Ci1wcmludCAiXHJcbiI7Ci0KLXByaW50IDw8SEVSRV9ET0NfRU5E
OwotPGh0bWw+Ci08Ym9keT4KLVRoaXMgcGFnZSB3YXMgcmVxdWVzdGVkIHdpdGggYW4gSFRUUCAk
bWV0aG9kPGJyLz48YnIvPgotVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgYXJlOiAkcXVlcnlTdHJpbmc8
YnIvPgotRm9ybSBjb250ZW50IGNhdGVnb3J5OiAnJGNhdCc8YnIvPgotRm9ybSBjb250ZW50IHRp
dGxlICAgOiAnJHRpdGxlJzxici8+Ci1Gb3JtIGNvbnRlbnQgdXJsICAgICA6ICckdXJsJzxici8+
Ci1Gb3JtIGNvbnRlbnQgZGVzYyAgICA6ICckZGVzYyc8YnIvPgotPC9ib2R5PgotPC9odG1sPgot
SEVSRV9ET0NfRU5ECkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMv
bG9ja2VkLWRlY2sud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21s
L3Jlc291cmNlcy9sb2NrZWQtZGVjay53bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2xvY2tlZC1kZWNrLndtbAkod29ya2luZyBjb3B5
KQpAQCAtMSwxMyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwg
UFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1
bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxhY2Nl
c3MgZG9tYWluPSIxMjcuMC4wLjEiIHBhdGg9ImFjY2Vzcy10YXJnZXQud21sIi8+Ci0gICAgPC9o
ZWFkPgotCi0gICAgPGNhcmQ+Ci0gICAgICAgIDxwPlRlc3QgZm9yIERlY2sgQWNjZXNzIGNvbnRy
b2wgaW4gV01MLjwvcD4KLSAgICAgICAgPHA+VGhpcyBpcyB0aGUgbG9ja2VkIHRhcmdldCBkZWNr
LCBvbmx5ICdhY2Nlc3MtdGFyZ2V0LndtbCIgY2FuIGFjY2VzcyBtZTwvcD4KLSAgICAgICAgPHAg
aWQ9InJlc3VsdEluZGljYXRvciIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiLz4KLSAgICA8L2NhcmQ+
Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy91bnJl
YWNoYWJsZS1kb21haW4ud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
d21sL3Jlc291cmNlcy91bnJlYWNoYWJsZS1kb21haW4ud21sCShyZXZpc2lvbiA4NTE2NikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy91bnJlYWNoYWJsZS1kb21haW4u
d21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/
PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJo
dHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8aGVh
ZD4KLSAgICAgICAgPGFjY2VzcyBkb21haW49Im5vdGV4aXN0YW50LmNvbSIgcGF0aD0iL3dtbC9y
ZXNvdXJjZXMvYWNjZXNzLXRhcmdldC1kZW55LndtbCIvPgotICAgIDwvaGVhZD4KLQotICAgIDxj
YXJkPgotICAgICAgICA8cD5UZXN0IGZvciBEZWNrIEFjY2VzcyBjb250cm9sIGluIFdNTC48L3A+
Ci0gICAgICAgIDxwPk9ubHkgd3d3Lm5vdGV4aXN0YW50LmNvbSB3b3VsZCBiZSBhbGxvd2VkIHRv
IGFjY2VzcyB0aGlzIGRlY2suIEl0J3MgdW5yZWFjaGFibGUgZnJvbSB0aGUgTGF5b3V0VGVzdHM8
L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dt
bC9yZXNvdXJjZXMvdW5yZWFjaGFibGUtcGF0aC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL3VucmVhY2hhYmxlLXBhdGgud21sCShyZXZpc2lv
biA4NTE2NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy91bnJlYWNo
YWJsZS1wYXRoLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAx
LjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+
Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxhY2Nlc3MgZG9tYWluPSJsb2NhbGhvc3QiIHBhdGg9Ii9m
YWlscy9yZXNvdXJjZXMvYWNjZXNzLXRhcmdldC1kZW55LndtbCIvPgotICAgIDwvaGVhZD4KLQot
ICAgIDxjYXJkPgotICAgICAgICA8cD5UZXN0IGZvciBEZWNrIEFjY2VzcyBjb250cm9sIGluIFdN
TC48L3A+Ci0gICAgICAgIDxwPk9ubHkgL2ZhaWxzL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LWRl
bnkud21sIHdvdWxkIGJlIGFsbG93ZWQgdG8gYWNjZXNzIHRoaXMgZGVjay48L3A+Ci0gICAgPC9j
YXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVz
dHMvVEVNUExBVEUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dt
bC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0
PnZhciByZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzID0gIi4uLy4uLy4uIjs8L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi93bWwvcmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5XTUwgaHR0cCBuYXZpZ2F0aW9uIGxh
eW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9IllPVVJfSlNf
RklMRV9IRVJFIiBjaGFyc2V0PSJ1dGY4Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0
LWRvbWFpbi1kZW55LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21s
L3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LWRvbWFpbi1kZW55LmpzCShyZXZpc2lvbiA4NTE2
NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFy
Z2V0LWRvbWFpbi1kZW55LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIzICswLDAgQEAKLS8vIFtO
YW1lXSBhY2Nlc3MtdGFyZ2V0LWRvbWFpbi1kZW55LmpzCi0KLWNyZWF0ZVN0YXRpY1dNTFRlc3RD
YXNlKCJUZXN0cyBhY2Nlc3MgY29udHJvbCBzdXBwb3J0IiwgInJlc291cmNlcy9hY2Nlc3MtdGFy
Z2V0LWRvbWFpbi1kZW55LndtbCIpOwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsK
LSAgICAvLyBuby1vcAotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICB2YXIgbGFz
dEVycm9yID0gY29uc29sZS5sYXN0V01MRXJyb3JNZXNzYWdlKCk7Ci0gICAgaWYgKGxhc3RFcnJv
ciA9PSAiRGVjayBub3QgYWNjZXNzaWJsZS4iKSB7Ci0gICAgICAgIGNvbXBsZXRlVGVzdCgpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgc3RhcnRUZXN0KDI1LCAxNSk7Ci19Ci0KLWZ1
bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIC8vIG5vLW9wCi19Ci0KLXZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvc2NyaXB0
LXRlc3RzL2FjY2Vzcy10YXJnZXQtcGF0aC1kZW55LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LXBhdGgtZGVueS5q
cwkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3JpcHQt
dGVzdHMvYWNjZXNzLXRhcmdldC1wYXRoLWRlbnkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjMg
KzAsMCBAQAotLy8gW05hbWVdIGFjY2Vzcy10YXJnZXQtcGF0aC1kZW55LmpzCi0KLWNyZWF0ZVN0
YXRpY1dNTFRlc3RDYXNlKCJUZXN0cyBhY2Nlc3MgY29udHJvbCBzdXBwb3J0IiwgInJlc291cmNl
cy9hY2Nlc3MtdGFyZ2V0LXBhdGgtZGVueS53bWwiKTsKLQotZnVuY3Rpb24gc2V0dXBUZXN0RG9j
dW1lbnQoKSB7Ci0gICAgLy8gbm8tb3AKLX0KLQotZnVuY3Rpb24gcHJlcGFyZVRlc3QoKSB7Ci0g
ICAgdmFyIGxhc3RFcnJvciA9IGNvbnNvbGUubGFzdFdNTEVycm9yTWVzc2FnZSgpOwotICAgIGlm
IChsYXN0RXJyb3IgPT0gIkRlY2sgbm90IGFjY2Vzc2libGUuIikgewotICAgICAgICBjb21wbGV0
ZVRlc3QoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHN0YXJ0VGVzdCgyNSwgMTUp
OwotfQotCi1mdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICAvLyBuby1vcAotfQotCi12YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
d21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LmpzCShyZXZpc2lv
biA4NTE2NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9hY2Nl
c3MtdGFyZ2V0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE5ICswLDAgQEAKLS8vIFtOYW1lXSBh
Y2Nlc3MtdGFyZ2V0LmpzCi0KLWNyZWF0ZVN0YXRpY1dNTFRlc3RDYXNlKCJUZXN0cyBhY2Nlc3Mg
Y29udHJvbCBzdXBwb3J0IiwgInJlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LndtbCIpOwotCi1mdW5j
dGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAgICAvLyBuby1vcAotfQotCi1mdW5jdGlvbiBw
cmVwYXJlVGVzdCgpIHsKLSAgICBzdGFydFRlc3QoMjUsIDE1KTsKLX0KLQotZnVuY3Rpb24gZXhl
Y3V0ZVRlc3QoKSB7Ci0gICAgdmFyIHJlc3VsdEluZGljYXRvckVsZW1lbnQgPSB0ZXN0RG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdEluZGljYXRvciIpOwotICAgIGlmIChyZXN1bHRJbmRp
Y2F0b3JFbGVtZW50KQotICAgICAgICBjb21wbGV0ZVRlc3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3Jp
cHQtdGVzdHMvZ28tdGFzay1nZXQtbWV0aG9kLWFjY2VwdC1jaGFyc2V0LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9nby10YXNrLWdldC1t
ZXRob2QtYWNjZXB0LWNoYXJzZXQuanMJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC1hY2NlcHQtY2hh
cnNldC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMCwwIEBACi0vLyBbTmFtZV0gZ28tdGFz
ay1nZXQtbWV0aG9kLWFjY2VwdC1jaGFyc2V0LmpzCi0KLWNyZWF0ZUR5bmFtaWNXTUxUZXN0Q2Fz
ZSgiVGVzdHMgR0VUIG1ldGhvZCBvZiAmbHQ7Z28mZ3Q7IGVsZW1lbnQgLSBhY2NlcHQtY2hhcnNl
dCBhdHRyaWJ1dGUiLCBmYWxzZSk7Ci0KLWZ1bmN0aW9uIHNldHVwVGVzdERvY3VtZW50KCkgewot
ICAgIHZhciBjYXJkRWxlbWVudCA9IHRlc3REb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZmlyc3RD
aGlsZDsKLQotICAgIHZhciBhbmNob3JFbGVtZW50ID0gY3JlYXRlV01MRWxlbWVudCgiYW5jaG9y
Iik7Ci0gICAgYW5jaG9yRWxlbWVudC50ZXh0Q29udGVudCA9ICJTdGFydCB0ZXN0IjsKLSAgICBj
YXJkRWxlbWVudC5hcHBlbmRDaGlsZChhbmNob3JFbGVtZW50KTsKLQotICAgIHZhciBnb0VsZW1l
bnQgPSBjcmVhdGVXTUxFbGVtZW50KCJnbyIpOwotICAgIGdvRWxlbWVudC5zZXRBdHRyaWJ1dGUo
Im1ldGhvZCIsICJHRVQiKTsKLSAgICBnb0VsZW1lbnQuc2V0QXR0cmlidXRlKCJhY2NlcHQtY2hh
cnNldCIsICJ1dGYtOCIpOwotICAgIGdvRWxlbWVudC5zZXRBdHRyaWJ1dGUoImhyZWYiLCAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3dtbC9yZXNvdXJjZXMvYW5zd2VyLXV0ZjguY2dpIik7Ci0KLSAg
ICB2YXIgcG9zdGZpZWxkRWxlbWVudDEgPSBjcmVhdGVXTUxFbGVtZW50KCJwb3N0ZmllbGQiKTsK
LSAgICBwb3N0ZmllbGRFbGVtZW50MS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAidmFyMSIpOwotICAg
IHBvc3RmaWVsZEVsZW1lbnQxLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiVGV4dCB3aXRoIHdoaXRl
c3BhY2UiKTsKLSAgICBnb0VsZW1lbnQuYXBwZW5kQ2hpbGQocG9zdGZpZWxkRWxlbWVudDEpOwot
Ci0gICAgdmFyIHBvc3RmaWVsZEVsZW1lbnQyID0gY3JlYXRlV01MRWxlbWVudCgicG9zdGZpZWxk
Iik7Ci0gICAgcG9zdGZpZWxkRWxlbWVudDIuc2V0QXR0cmlidXRlKCJuYW1lIiwgInZhcjIiKTsK
LSAgICBwb3N0ZmllbGRFbGVtZW50Mi5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIlRleHQgd2l0aCBu
b24tbGF0aW4xIGNoYXJhY3RlcnM6IFNjaMO2biwgZGHDnyBlcyDDhCZPdW1sO8OcIGdpYnQhIik7
Ci0gICAgZ29FbGVtZW50LmFwcGVuZENoaWxkKHBvc3RmaWVsZEVsZW1lbnQyKTsKLQotICAgIGFu
Y2hvckVsZW1lbnQuYXBwZW5kQ2hpbGQoZ29FbGVtZW50KTsKLX0KLQotZnVuY3Rpb24gcHJlcGFy
ZVRlc3QoKSB7Ci0gICAgc3RhcnRUZXN0KDI1LCAxNSk7Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVU
ZXN0KCkgewotICAgIGNvbXBsZXRlVGVzdCgpOwotfQotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9n
by10YXNrLWdldC1tZXRob2QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC5qcwkocmV2aXNpb24gODUxNjYp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMvZ28tdGFzay1nZXQt
bWV0aG9kLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAKLS8vIFtOYW1lXSBnby10
YXNrLWdldC1tZXRob2QuanMKLQotY3JlYXRlRHluYW1pY1dNTFRlc3RDYXNlKCJUZXN0cyBHRVQg
bWV0aG9kIG9mICZsdDtnbyZndDsgZWxlbWVudCIsIGZhbHNlKTsKLQotZnVuY3Rpb24gc2V0dXBU
ZXN0RG9jdW1lbnQoKSB7Ci0gICAgdmFyIGNhcmRFbGVtZW50ID0gdGVzdERvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5maXJzdENoaWxkOwotCi0gICAgdmFyIGFuY2hvckVsZW1lbnQgPSBjcmVhdGVX
TUxFbGVtZW50KCJhbmNob3IiKTsKLSAgICBhbmNob3JFbGVtZW50LnRleHRDb250ZW50ID0gIlN0
YXJ0IHRlc3QiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGFuY2hvckVsZW1lbnQpOwot
Ci0gICAgdmFyIGdvRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImdvIik7Ci0gICAgZ29FbGVt
ZW50LnNldEF0dHJpYnV0ZSgibWV0aG9kIiwgIkdFVCIpOwotICAgIGdvRWxlbWVudC5zZXRBdHRy
aWJ1dGUoImhyZWYiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3dtbC9yZXNvdXJjZXMvYW5zd2Vy
LmNnaSIpOwotCi0gICAgdmFyIHBvc3RmaWVsZEVsZW1lbnQxID0gY3JlYXRlV01MRWxlbWVudCgi
cG9zdGZpZWxkIik7Ci0gICAgcG9zdGZpZWxkRWxlbWVudDEuc2V0QXR0cmlidXRlKCJuYW1lIiwg
InZhcjEiKTsKLSAgICBwb3N0ZmllbGRFbGVtZW50MS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIlRl
eHQgd2l0aCB3aGl0ZXNwYWNlIik7Ci0gICAgZ29FbGVtZW50LmFwcGVuZENoaWxkKHBvc3RmaWVs
ZEVsZW1lbnQxKTsKLQotICAgIHZhciBwb3N0ZmllbGRFbGVtZW50MiA9IGNyZWF0ZVdNTEVsZW1l
bnQoInBvc3RmaWVsZCIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQyLnNldEF0dHJpYnV0ZSgibmFt
ZSIsICJ2YXIyIik7Ci0gICAgcG9zdGZpZWxkRWxlbWVudDIuc2V0QXR0cmlidXRlKCJ2YWx1ZSIs
ICJUZXh0IHdpdGggZW50aXRpZXM6ICZhdW1sOyBhbmQgJm91bWw7Iik7Ci0gICAgZ29FbGVtZW50
LmFwcGVuZENoaWxkKHBvc3RmaWVsZEVsZW1lbnQyKTsKLQotICAgIGFuY2hvckVsZW1lbnQuYXBw
ZW5kQ2hpbGQoZ29FbGVtZW50KTsKLX0KLQotZnVuY3Rpb24gcHJlcGFyZVRlc3QoKSB7Ci0gICAg
c3RhcnRUZXN0KDI1LCAxNSk7Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGNv
bXBsZXRlVGVzdCgpOwotfQotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9nby10YXNrLXBvc3QtbWV0
aG9kLWFjY2VwdC1jaGFyc2V0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvd21sL3NjcmlwdC10ZXN0cy9nby10YXNrLXBvc3QtbWV0aG9kLWFjY2VwdC1jaGFyc2V0Lmpz
CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10
ZXN0cy9nby10YXNrLXBvc3QtbWV0aG9kLWFjY2VwdC1jaGFyc2V0LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDM4ICswLDAgQEAKLS8vIFtOYW1lXSBnby10YXNrLXBvc3QtbWV0aG9kLWFjY2VwdC1j
aGFyc2V0LmpzCi0KLWNyZWF0ZUR5bmFtaWNXTUxUZXN0Q2FzZSgiVGVzdHMgUE9TVCBtZXRob2Qg
b2YgJmx0O2dvJmd0OyBlbGVtZW50IC0gYWNjZXB0LWNoYXJzZXQgYXR0cmlidXRlIiwgZmFsc2Up
OwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAgICB2YXIgY2FyZEVsZW1lbnQg
PSB0ZXN0RG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmZpcnN0Q2hpbGQ7Ci0KLSAgICB2YXIgYW5j
aG9yRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImFuY2hvciIpOwotICAgIGFuY2hvckVsZW1l
bnQudGV4dENvbnRlbnQgPSAiU3RhcnQgdGVzdCI7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hp
bGQoYW5jaG9yRWxlbWVudCk7Ci0KLSAgICB2YXIgZ29FbGVtZW50ID0gY3JlYXRlV01MRWxlbWVu
dCgiZ28iKTsKLSAgICBnb0VsZW1lbnQuc2V0QXR0cmlidXRlKCJtZXRob2QiLCAiUE9TVCIpOwot
ICAgIGdvRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFjY2VwdC1jaGFyc2V0IiwgInV0Zi04Iik7Ci0g
ICAgZ29FbGVtZW50LnNldEF0dHJpYnV0ZSgiaHJlZiIsICJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
d21sL3Jlc291cmNlcy9hbnN3ZXItdXRmOC5jZ2kiKTsKLQotICAgIHZhciBwb3N0ZmllbGRFbGVt
ZW50MSA9IGNyZWF0ZVdNTEVsZW1lbnQoInBvc3RmaWVsZCIpOwotICAgIHBvc3RmaWVsZEVsZW1l
bnQxLnNldEF0dHJpYnV0ZSgibmFtZSIsICJ2YXIxIik7Ci0gICAgcG9zdGZpZWxkRWxlbWVudDEu
c2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJUZXh0IHdpdGggd2hpdGVzcGFjZSIpOwotICAgIGdvRWxl
bWVudC5hcHBlbmRDaGlsZChwb3N0ZmllbGRFbGVtZW50MSk7Ci0KLSAgICB2YXIgcG9zdGZpZWxk
RWxlbWVudDIgPSBjcmVhdGVXTUxFbGVtZW50KCJwb3N0ZmllbGQiKTsKLSAgICBwb3N0ZmllbGRF
bGVtZW50Mi5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAidmFyMiIpOwotICAgIHBvc3RmaWVsZEVsZW1l
bnQyLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiVGV4dCB3aXRoIG5vbi1sYXRpbjEgY2hhcmFjdGVy
czogU2Now7ZuLCBkYcOfIGVzIMOEJk91bWw7w5wgZ2lidCEiKTsKLSAgICBnb0VsZW1lbnQuYXBw
ZW5kQ2hpbGQocG9zdGZpZWxkRWxlbWVudDIpOwotCi0gICAgYW5jaG9yRWxlbWVudC5hcHBlbmRD
aGlsZChnb0VsZW1lbnQpOwotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICBzdGFy
dFRlc3QoMjUsIDE1KTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgY29tcGxl
dGVUZXN0KCk7Ci19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stcG9zdC1tZXRob2Qu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3Rz
L2dvLXRhc2stcG9zdC1tZXRob2QuanMJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stcG9zdC1tZXRob2QuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsMzcgKzAsMCBAQAotLy8gW05hbWVdIGdvLXRhc2stcG9zdC1tZXRob2Qu
anMKLQotY3JlYXRlRHluYW1pY1dNTFRlc3RDYXNlKCJUZXN0cyBQT1NUIG1ldGhvZCBvZiAmbHQ7
Z28mZ3Q7IGVsZW1lbnQiLCBmYWxzZSk7Ci0KLWZ1bmN0aW9uIHNldHVwVGVzdERvY3VtZW50KCkg
ewotICAgIHZhciBjYXJkRWxlbWVudCA9IHRlc3REb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZmly
c3RDaGlsZDsKLQotICAgIHZhciBhbmNob3JFbGVtZW50ID0gY3JlYXRlV01MRWxlbWVudCgiYW5j
aG9yIik7Ci0gICAgYW5jaG9yRWxlbWVudC50ZXh0Q29udGVudCA9ICJTdGFydCB0ZXN0IjsKLSAg
ICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChhbmNob3JFbGVtZW50KTsKLQotICAgIHZhciBnb0Vs
ZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJnbyIpOwotICAgIGdvRWxlbWVudC5zZXRBdHRyaWJ1
dGUoIm1ldGhvZCIsICJQT1NUIik7Ci0gICAgZ29FbGVtZW50LnNldEF0dHJpYnV0ZSgiaHJlZiIs
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvd21sL3Jlc291cmNlcy9hbnN3ZXIuY2dpIik7Ci0KLSAg
ICB2YXIgcG9zdGZpZWxkRWxlbWVudDEgPSBjcmVhdGVXTUxFbGVtZW50KCJwb3N0ZmllbGQiKTsK
LSAgICBwb3N0ZmllbGRFbGVtZW50MS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAidmFyMSIpOwotICAg
IHBvc3RmaWVsZEVsZW1lbnQxLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiVGV4dCB3aXRoIHdoaXRl
c3BhY2UiKTsKLSAgICBnb0VsZW1lbnQuYXBwZW5kQ2hpbGQocG9zdGZpZWxkRWxlbWVudDEpOwot
Ci0gICAgdmFyIHBvc3RmaWVsZEVsZW1lbnQyID0gY3JlYXRlV01MRWxlbWVudCgicG9zdGZpZWxk
Iik7Ci0gICAgcG9zdGZpZWxkRWxlbWVudDIuc2V0QXR0cmlidXRlKCJuYW1lIiwgInZhcjIiKTsK
LSAgICBwb3N0ZmllbGRFbGVtZW50Mi5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIlRleHQgd2l0aCBl
bnRpdGllczogJmF1bWw7IGFuZCAmb3VtbDsiKTsKLSAgICBnb0VsZW1lbnQuYXBwZW5kQ2hpbGQo
cG9zdGZpZWxkRWxlbWVudDIpOwotCi0gICAgYW5jaG9yRWxlbWVudC5hcHBlbmRDaGlsZChnb0Vs
ZW1lbnQpOwotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICBzdGFydFRlc3QoMjUs
IDE1KTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgY29tcGxldGVUZXN0KCk7
Ci19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL3Bvc3QtZGF0YS10by1zZXJ2ZXIuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL3Bvc3QtZGF0
YS10by1zZXJ2ZXIuanMJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93bWwvc2NyaXB0LXRlc3RzL3Bvc3QtZGF0YS10by1zZXJ2ZXIuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTI5ICswLDAgQEAKLS8vIFtOYW1lXSBwb3N0LWRhdGEtdG8tc2VydmVyLmpzCi0KLWNy
ZWF0ZUR5bmFtaWNXTUxUZXN0Q2FzZSgiQ29tcGxleCBkYXRhIHBvc3RpbmcgZXhhbXBsZSIsIGZh
bHNlKTsKLQotdmFyIGNhdGVnb3J5U2VsZWN0OwotdmFyIGRlc2NJbnB1dDsKLXZhciB0aXRsZUlu
cHV0OwotdmFyIHVybElucHV0OwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAg
ICB2YXIgY2FyZEVsZW1lbnQgPSB0ZXN0RG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmZpcnN0Q2hp
bGQ7Ci0KLSAgICB2YXIgYW5jaG9yRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImFuY2hvciIp
OwotICAgIGFuY2hvckVsZW1lbnQuc2V0QXR0cmlidXRlKCJpZCIsICJ0b3AiKTsKLSAgICBhbmNo
b3JFbGVtZW50LnRleHRDb250ZW50ID0gIlN0YXJ0IHRlc3QiOwotICAgIGNhcmRFbGVtZW50LmFw
cGVuZENoaWxkKGFuY2hvckVsZW1lbnQpOwotCi0gICAgLy8gUHVyZSBXTUwgYmFzZWQgZm9ybSBk
YXRhIHBvc3RpbmcgdXNpbmcgdmFyaWFibGUgc3Vic3RpdHV0aW9uCi0gICAgdmFyIGdvRWxlbWVu
dCA9IGNyZWF0ZVdNTEVsZW1lbnQoImdvIik7Ci0gICAgZ29FbGVtZW50LnNldEF0dHJpYnV0ZSgi
bWV0aG9kIiwgIlBPU1QiKTsKLSAgICBnb0VsZW1lbnQuc2V0QXR0cmlidXRlKCJocmVmIiwgImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC93bWwvcmVzb3VyY2VzL2R1bXBWYXJpYWJsZXMuY2dpIik7Ci0K
LSAgICB2YXIgcG9zdGZpZWxkRWxlbWVudDEgPSBjcmVhdGVXTUxFbGVtZW50KCJwb3N0ZmllbGQi
KTsKLSAgICBwb3N0ZmllbGRFbGVtZW50MS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAiY2F0ZWdvcnki
KTsKLSAgICBwb3N0ZmllbGRFbGVtZW50MS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIiRjYXRlZ29y
eSIpOwotICAgIGdvRWxlbWVudC5hcHBlbmRDaGlsZChwb3N0ZmllbGRFbGVtZW50MSk7Ci0KLSAg
ICB2YXIgcG9zdGZpZWxkRWxlbWVudDIgPSBjcmVhdGVXTUxFbGVtZW50KCJwb3N0ZmllbGQiKTsK
LSAgICBwb3N0ZmllbGRFbGVtZW50Mi5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAidGl0bGUiKTsKLSAg
ICBwb3N0ZmllbGRFbGVtZW50Mi5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIiR0aXRsZSIpOwotICAg
IGdvRWxlbWVudC5hcHBlbmRDaGlsZChwb3N0ZmllbGRFbGVtZW50Mik7Ci0KLSAgICB2YXIgcG9z
dGZpZWxkRWxlbWVudDMgPSBjcmVhdGVXTUxFbGVtZW50KCJwb3N0ZmllbGQiKTsKLSAgICBwb3N0
ZmllbGRFbGVtZW50My5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAidXJsIik7Ci0gICAgcG9zdGZpZWxk
RWxlbWVudDMuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICIkdXJsIik7Ci0gICAgZ29FbGVtZW50LmFw
cGVuZENoaWxkKHBvc3RmaWVsZEVsZW1lbnQzKTsKLQotICAgIHZhciBwb3N0ZmllbGRFbGVtZW50
NCA9IGNyZWF0ZVdNTEVsZW1lbnQoInBvc3RmaWVsZCIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQ0
LnNldEF0dHJpYnV0ZSgibmFtZSIsICJkZXNjIik7Ci0gICAgcG9zdGZpZWxkRWxlbWVudDQuc2V0
QXR0cmlidXRlKCJ2YWx1ZSIsICIkZGVzYyIpOwotICAgIGdvRWxlbWVudC5hcHBlbmRDaGlsZChw
b3N0ZmllbGRFbGVtZW50NCk7Ci0KLSAgICBhbmNob3JFbGVtZW50LmFwcGVuZENoaWxkKGdvRWxl
bWVudCk7Ci0KLSAgICAvLyBDYXRlZ29yeQotICAgIHZhciBmaWVsZHNldEVsZW1lbnQxID0gY3Jl
YXRlV01MRWxlbWVudCgiZmllbGRzZXQiKTsKLSAgICBmaWVsZHNldEVsZW1lbnQxLnRleHRDb250
ZW50ID0gIkNhdGVnb3J5OiI7Ci0KLSAgICBjYXRlZ29yeVNlbGVjdCA9IGNyZWF0ZVdNTEVsZW1l
bnQoInNlbGVjdCIpOwotICAgIGNhdGVnb3J5U2VsZWN0LnNldEF0dHJpYnV0ZSgibmFtZSIsICJj
YXRlZ29yeSIpOwotICAgIGNhdGVnb3J5U2VsZWN0LnNldEF0dHJpYnV0ZSgidmFsdWUiLCAid2Fw
Iik7Ci0gICAgY2F0ZWdvcnlTZWxlY3Quc2V0QXR0cmlidXRlKCJ0aXRsZSIsICJTZWN0aW9uPyIp
OwotICAgIGNhdGVnb3J5U2VsZWN0LnNldEF0dHJpYnV0ZSgibXVsdGlwbGUiLCAieWVzIik7Ci0K
LSAgICB2YXIgb3B0aW9uRWxlbWVudDEgPSBjcmVhdGVXTUxFbGVtZW50KCJvcHRpb24iKTsKLSAg
ICBvcHRpb25FbGVtZW50MS50ZXh0Q29udGVudCA9ICJDb21wdXRlcnMiOwotICAgIG9wdGlvbkVs
ZW1lbnQxLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiY29tcHV0ZXJzIik7Ci0gICAgY2F0ZWdvcnlT
ZWxlY3QuYXBwZW5kQ2hpbGQob3B0aW9uRWxlbWVudDEpOwotCi0gICAgdmFyIG9wdGlvbkVsZW1l
bnQyID0gY3JlYXRlV01MRWxlbWVudCgib3B0aW9uIik7Ci0gICAgb3B0aW9uRWxlbWVudDIudGV4
dENvbnRlbnQgPSAiV0FQIjsKLSAgICBvcHRpb25FbGVtZW50Mi5zZXRBdHRyaWJ1dGUoInZhbHVl
IiwgIndhcCIpOwotICAgIGNhdGVnb3J5U2VsZWN0LmFwcGVuZENoaWxkKG9wdGlvbkVsZW1lbnQy
KTsKLQotICAgIHZhciBvcHRpb25FbGVtZW50MyA9IGNyZWF0ZVdNTEVsZW1lbnQoIm9wdGlvbiIp
OwotICAgIG9wdGlvbkVsZW1lbnQzLnRleHRDb250ZW50ID0gIkdhdGV3YXlzIjsKLSAgICBvcHRp
b25FbGVtZW50My5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgImdhdGV3YXlzIik7Ci0gICAgY2F0ZWdv
cnlTZWxlY3QuYXBwZW5kQ2hpbGQob3B0aW9uRWxlbWVudDMpOwotCi0gICAgZmllbGRzZXRFbGVt
ZW50MS5hcHBlbmRDaGlsZChjYXRlZ29yeVNlbGVjdCk7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5k
Q2hpbGQoZmllbGRzZXRFbGVtZW50MSk7Ci0KLSAgICAvLyBUaXRsZQotICAgIHZhciBmaWVsZHNl
dEVsZW1lbnQyID0gY3JlYXRlV01MRWxlbWVudCgiZmllbGRzZXQiKTsKLSAgICBmaWVsZHNldEVs
ZW1lbnQyLnRleHRDb250ZW50ID0gIlRpdGxlOiI7Ci0KLSAgICB0aXRsZUlucHV0ID0gY3JlYXRl
V01MRWxlbWVudCgiaW5wdXQiKTsKLSAgICB0aXRsZUlucHV0LnNldEF0dHJpYnV0ZSgidHlwZSIs
ICJ0ZXh0Iik7Ci0gICAgdGl0bGVJbnB1dC5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAidGl0bGUiKTsK
LSAgICB0aXRsZUlucHV0LnNldEF0dHJpYnV0ZSgic2l6ZSIsICIyMCIpOwotICAgIHRpdGxlSW5w
dXQuc2V0QXR0cmlidXRlKCJlbXB0eW9rIiwgImZhbHNlIik7Ci0gICAgZmllbGRzZXRFbGVtZW50
Mi5hcHBlbmRDaGlsZCh0aXRsZUlucHV0KTsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChm
aWVsZHNldEVsZW1lbnQyKTsKLQotICAgIC8vIFVSTAotICAgIHZhciBmaWVsZHNldEVsZW1lbnQz
ID0gY3JlYXRlV01MRWxlbWVudCgiZmllbGRzZXQiKTsKLSAgICBmaWVsZHNldEVsZW1lbnQzLnRl
eHRDb250ZW50ID0gIlVSTDoiOwotCi0gICAgdXJsSW5wdXQgPSBjcmVhdGVXTUxFbGVtZW50KCJp
bnB1dCIpOwotICAgIHVybElucHV0LnNldEF0dHJpYnV0ZSgidHlwZSIsICJ0ZXh0Iik7Ci0gICAg
dXJsSW5wdXQuc2V0QXR0cmlidXRlKCJuYW1lIiwgInVybCIpOwotICAgIHVybElucHV0LnNldEF0
dHJpYnV0ZSgic2l6ZSIsICIxMDAiKTsKLSAgICB1cmxJbnB1dC5zZXRBdHRyaWJ1dGUoImVtcHR5
b2siLCAiZmFsc2UiKTsKLSAgICBmaWVsZHNldEVsZW1lbnQzLmFwcGVuZENoaWxkKHVybElucHV0
KTsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChmaWVsZHNldEVsZW1lbnQzKTsKLQotICAg
IC8vIERlc2NyaXB0aW9uCi0gICAgdmFyIGZpZWxkc2V0RWxlbWVudDQgPSBjcmVhdGVXTUxFbGVt
ZW50KCJmaWVsZHNldCIpOwotICAgIGZpZWxkc2V0RWxlbWVudDQudGV4dENvbnRlbnQgPSAiRGVz
Y3JpcHRpb246IjsKLQotICAgIGRlc2NJbnB1dCA9IGNyZWF0ZVdNTEVsZW1lbnQoImlucHV0Iik7
Ci0gICAgZGVzY0lucHV0LnNldEF0dHJpYnV0ZSgidHlwZSIsICJ0ZXh0Iik7Ci0gICAgZGVzY0lu
cHV0LnNldEF0dHJpYnV0ZSgibmFtZSIsICJkZXNjIik7Ci0gICAgZGVzY0lucHV0LnNldEF0dHJp
YnV0ZSgic2l6ZSIsICI4MDAiKTsKLSAgICBkZXNjSW5wdXQuc2V0QXR0cmlidXRlKCJlbXB0eW9r
IiwgInRydWUiKTsKLSAgICBmaWVsZHNldEVsZW1lbnQ0LmFwcGVuZENoaWxkKGRlc2NJbnB1dCk7
Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQoZmllbGRzZXRFbGVtZW50NCk7Ci19Ci0KLWZ1
bmN0aW9uIHNlbmRUZXh0VG9Db250cm9sKGVsZW1lbnQsIHRleHQpIHsKLSAgICBlbGVtZW50LmZv
Y3VzKCk7Ci0gICAgdGVzdERvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2Us
IHRleHQpOwotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICBzZW5kVGV4dFRvQ29u
dHJvbCh0aXRsZUlucHV0LCAiW3RpdGxlXSBURVNUIFBBU1NFRCIpOwotICAgIHNlbmRUZXh0VG9D
b250cm9sKHVybElucHV0LCAiW3VybF0gVEVTVCBQQVNTRUQiKTsKLSAgICBzZW5kVGV4dFRvQ29u
dHJvbChkZXNjSW5wdXQsICJbZGVzY10gVEVTVCBQQVNTRUQiKTsKLSAgICBjYXRlZ29yeVNlbGVj
dC5mb2N1cygpOwotCi0gICAgdGVzdERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3AiKS5mb2N1
cygpOwotICAgIHN0YXJ0VGVzdCgyNSwgMTUpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlVGVzdCgp
IHsKLSAgICBjb21wbGV0ZVRlc3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbHZpZXdlci9kdW1wQXNUZXh0L3dt
bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWx2
aWV3ZXIvZHVtcEFzVGV4dC93bWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1sdmlld2VyL2R1bXBBc1RleHQvd21sLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNCArMCwwIEBACi1UaGlzIFhNTCBmaWxlIGRvZXMgbm90
IGFwcGVhciB0byBoYXZlIGFueSBzdHlsZSBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggaXQu
IFRoZSBkb2N1bWVudCB0cmVlIGlzIHNob3duIGJlbG93LgotPCEtLQotSWYgeW91IGNhbiBzZWUg
dGhpcywgdGhpcyB0ZXN0IGhhcyBmYWlsZWQsIGV4Y2VwdCBpZiB5b3UgYXJlIG5vdCB1c2luZyBh
IFdNTC1hd2FyZSBjbGllbnQuCi0tLT4KLTw/c2RzIGVyZmU/PgotPHdtbD4KLTxoZWFkZXI+Ci1U
aGlzIHRlc3RzIHRoYXQgeG1sIHZpZXdlciBpcyBub3QgdXNlZCBmb3IgZG9jdW1lbnRzIHdpdGgg
V01MIGRvY3R5cGUuCi08L2hlYWRlcj4KLTxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQgMSI+
Ci08RkFJTC8+Ci08cD5TVUNDRVNTPC9wPgotPC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbHZpZXdlci9kdW1wQXNUZXh0L3dtbC54bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWx2aWV3ZXIvZHVtcEFzVGV4dC93bWwueG1sCShy
ZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1sdmlld2VyL2R1bXBB
c1RleHQvd21sLnhtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMCwwIEBACi08IS0tIElmIHlv
dSBjYW4gc2VlIHRoaXMsIHRoaXMgdGVzdCBoYXMgZmFpbGVkLCBleGNlcHQgaWYgeW91IGFyZQot
ICAgICBub3QgdXNpbmcgYSBXTUwtYXdhcmUgY2xpZW50LiAtLT4KLTwhRE9DVFlQRSB3bWwgUFVC
TElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5v
cmcvRFREL3dtbF8xLjEueG1sIj4KLTw/c2RzIGVyZmU/PgotPHdtbD4KLSAgICA8aGVhZGVyPlRo
aXMgdGVzdHMgdGhhdCB4bWwgdmlld2VyIGlzIG5vdCB1c2VkIGZvciBkb2N1bWVudHMgd2l0aCBX
TUwgZG9jdHlwZS48L2hlYWRlcj4KLSAgICA8Y2FyZCBpZD0iY2FyZDEiIHRpdGxlPSJDYXJkIDEi
PgotICAgICAgICA8RkFJTC8+Ci0gICAgICAgIDxwPlNVQ0NFU1M8L3A+Ci0gICAgPC9jYXJkPgot
PC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L3dtbC9o
dG1sLWZpZWxkc2V0LWNyYXNoLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5
OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRp
b24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwv
YnItZWxlbWVudC1pbi10YWJsZS1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0
aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21s
L2JyLWVsZW1lbnQtaW4tdGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9ici1lbGVtZW50LWluLXRhYmxlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwv
YnItZWxlbWVudC1pbi10YWJsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMzQg
KzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMzYKLSAgUmVuZGVyQmxv
Y2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTM2Ci0gICAgUmVuZGVyQmxvY2sge2NhcmR9IGF0
ICg4LDE2KSBzaXplIDc4NHgxMTIKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXpl
IDc4NHgzNgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NjV4MzYK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3NjU6ICJUaGlzIHRlc3QgY2FzZSBp
cyB1c2VkIHRvIHRlc3QgYnIgZWxlbWVudCBpbiBhIHRhYmxlLiBlYWNoIGNlbGwgaXMgYWxpZ25l
ZCB0byBsZWZ0LCBhbmQgdGhlIEJSIHdpbGwgYnJlYWsgdGhlIFwieHh4eHh4eHhcIiB0ZXh0IGlu
IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA2MDogInRoZSBsYXN0IHRkIgot
ICAgICAgUmVuZGVyVGFibGUge3RhYmxlfSBhdCAoMCw1Mikgc2l6ZSAxNTV4NjAKLSAgICAgICAg
UmVuZGVyVGFibGVTZWN0aW9uIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMTU1eDYwCi0gICAg
ICAgICAgUmVuZGVyVGFibGVSb3cge3RyfSBhdCAoMCwyKSBzaXplIDE1NXgxOAotICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDIsMikgc2l6ZSA1M3gxOCBbcj0wIGM9MCBycz0x
IGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDUz
eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTM6ICJDZWxsIG9u
ZSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICg1NywyKSBzaXplIDU0eDE4
IFtyPTAgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNTR4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA1NDogIkNlbGwgdHdvIgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDEx
MywyKSBzaXplIDQweDE4IFtyPTAgYz0yIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTV4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAxNTogImMzIgotICAgICAgICAgIFJlbmRlclRhYmxlUm93IHt0cn0g
YXQgKDAsMjIpIHNpemUgMTU1eDM2Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBh
dCAoMiwzMSkgc2l6ZSA1M3gxOCBbcj0xIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMzeDE4Ci0gICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMzM6ICJjZWxsIGEiCi0gICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge3RkfSBhdCAoNTcsMzEpIHNpemUgNTR4MTggW3I9MSBjPTEgcnM9MSBjcz0xXQotICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNHgxOAotICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM0OiAiY2VsbCBiIgotICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDExMywyMikgc2l6ZSA0MHgzNiBbcj0xIGM9MiBy
cz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDQweDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDA6ICJ4eHh4
eCIKLSAgICAgICAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoNDAsMCkgc2l6ZSAweDE4Ci0gICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSAyNHgxOAotICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAyNDogInh4eCIKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9ici1lbGVtZW50LWluLXRleHQtZXhwZWN0ZWQu
cG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5
cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9ici1lbGVtZW50LWluLXRleHQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9ici1l
bGVtZW50LWluLXRleHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9ici1lbGVtZW50LWluLXRleHQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE0ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4OTQKLSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4OTQKLSAg
ICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMTYpIHNpemUgNzg0eDcwCi0gICAgICBSZW5kZXJC
bG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMjg1eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
Mjg1OiAiVGhpcyB0ZXN0IGNhc2UgaXMgdXNlZCB0byB0ZXN0IGJyIGVsZW1lbnQgaW4gdGV4dCIK
LSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM0KSBzaXplIDc4NHgzNgotICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMzh4MTgKLSAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMzg6ICJUaGlzIGlzIGEgcGllY2Ugb2YgdGV4dCAiCi0g
ICAgICAgIFJlbmRlckJSIHticn0gYXQgKDEzOCwwKSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDE4KSBzaXplIDEwNXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDE4KSB3aWR0aCAxMDU6ICJ3aXRoIGEgbGluZSBicmVhayIKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3dtbC9jYXJkLWVsZW1lbnQtZXhwZWN0ZWQucG5nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1l
LXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3dtbC9jYXJkLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9jYXJkLWVsZW1lbnQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dt
bC9jYXJkLWVsZW1lbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzAsMCBA
QAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNAotICBSZW5kZXJCbG9jayB7d21s
fSBhdCAoMCwwKSBzaXplIDgwMHgzNAotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCw4KSBz
aXplIDc4NHgxOAotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTAweDE4
Ci0gICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogIlRoaXMgaXMgY2FyZCBvbmUi
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvY2FzZS1zZW5zaXRpdml0
eS1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMg
YSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Nhc2Utc2Vuc2l0aXZpdHkt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3dtbC9jYXNlLXNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvY2FzZS1zZW5zaXRpdml0eS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMzAgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAo
MCwwKSBzaXplIDgwMHgxNzAKLSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4
MTcwCi0gICAgUmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHgxNDYKLSAgICAg
IFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMTB4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAyMTA6ICJUZXN0IGZvciBDYXNlIHNlbnNpdGl2aXR5IGluIFdNTCIKLSAgICAgIFJl
bmRlckJsb2NrIHtwfSBhdCAoMCwzNCkgc2l6ZSA3ODR4MzYKLSAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgNDI2eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggNDI2OiAiY29tcGFyZSB0aGUgcmVzdWx0IG9mIGluc2VydGluZyA8YnIvPiBhbmQgPEJS
Lz4gaW50byB0aGUgc2FtZSB0ZXh0LCAiCi0gICAgICAgIFJlbmRlckJSIHticn0gYXQgKDQyNiww
KSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE4KSBzaXplIDI4
OXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAyODk6ICJ0aGUgZm9ybWVy
IHNob3VsZCB3b3JrLCBhbmQgdGhlIGxhdHRlciBkb2Vzbid0LiIKLSAgICAgIFJlbmRlclRhYmxl
IHt0YWJsZX0gYXQgKDAsODYpIHNpemUgMTg4eDYwCi0gICAgICAgIFJlbmRlclRhYmxlU2VjdGlv
biAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDE4OHg2MAotICAgICAgICAgIFJlbmRlclRhYmxl
Um93IHt0cn0gYXQgKDAsMikgc2l6ZSAxODh4MzYKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7dGR9IGF0ICgyLDIpIHNpemUgMTg0eDM2IFtyPTAgYz0wIHJzPTEgY3M9MV0KLSAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjJ4MTgKLSAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2MjogIlRlc3QgY2FzZSAiCi0gICAgICAgICAg
ICAgIFJlbmRlckJSIHticn0gYXQgKDYyLDApIHNpemUgMHgxOAotICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTgpIHNpemUgMTIyeDE4Ci0gICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMTgpIHdpZHRoIDEyMjogInNlbnNpdGl2aXR5IGluIFdNTCIKLSAgICAgICAg
ICBSZW5kZXJUYWJsZVJvdyB7dHJ9IGF0ICgwLDQwKSBzaXplIDE4OHgxOAotICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDIsNDApIHNpemUgMTg0eDE4IFtyPTEgYz0wIHJzPTEg
Y3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjJ4
MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2MjogIlRlc3QgY2Fz
ZSAiCi0gICAgICAgICAgICAgIFJlbmRlcklubGluZSB7QlJ9IGF0ICgwLDApIHNpemUgMHgxOAot
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYyLDApIHNpemUgMTIyeDE4Ci0g
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDYyLDApIHdpZHRoIDEyMjogInNlbnNpdGl2aXR5
IGluIFdNTCIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9jZGF0YS1z
ZWN0aW9uLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtl
ZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3Ry
ZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvY2RhdGEtc2VjdGlv
bi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3Qvd21sL2NkYXRhLXNlY3Rpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9jZGF0YS1zZWN0aW9uLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDk0Ci0gIFJlbmRlckJsb2NrIHt3bWx9IGF0ICgwLDApIHNpemUgODAweDk0Ci0g
ICAgUmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHg3MAotICAgICAgUmVuZGVy
QmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDIyMHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDIyMDogIlRlc3QgZm9yIENEQVRBIFNlY3Rpb24gaW4gV01MIgotICAgICAgICBSZW5kZXJCUiB7
YnJ9IGF0ICgyMjAsMCkgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwxOCkgc2l6ZSAyNzF4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMjcx
OiAiSWYgaXQgcGFzc2VzLCB5b3UgY2FuIHNlZSB0aGUgZm9sbG93aW5nIHRleHQgOiIKLSAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDUyKSBzaXplIDc4NHgxOAotICAgICAgICBS
ZW5kZXJUZXh0IHsjY2RhdGEtc2VjdGlvbn0gYXQgKDAsMCkgc2l6ZSAxNzJ4MTgKLSAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNzI6ICJUaGlzIGlzIDxCPiBhIENEQVRBIHRlc3Qi
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2NvbW1lbnQtZXhwZWN0ZWQucG5nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjpt
aW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L3dtbC9jb21tZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvY29tbWVudC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2NvbW1l
bnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICswLDAgQEAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAot
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTAyCi0gIFJlbmRlckJsb2NrIHt3bWx9IGF0ICgwLDAp
IHNpemUgODAweDEwMgotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwxNikgc2l6ZSA3ODR4
NzAKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgzNgotICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NDN4MzYKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA3NDM6ICJUZXN0IGNvbW1lbnQgaW4gV01MLCB0aGUgdGV4dCBpbiB0
aGUgY29tbWVudCBzaG91bGQgbm90IGJlIGRpc3BsYXllZCwgaWYgaXQgcGFzc2VzLCB5b3UgY2Fu
IG9ubHkgc2VlIHRoZSB0ZXh0OiBcIkhlbGxvIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4
KSB3aWR0aCAxMzc6ICJXb3JsZCFcIiBhZnRlciB0aGlzIGxpbmUiCi0gICAgICBSZW5kZXJCbG9j
ayB7cH0gYXQgKDAsNTIpIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDg0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODQ6
ICJIZWxsbyBXb3JsZCEiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwv
ZG8tZWxlbWVudC1vcHRpb25hbC1hdHRyLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBk
aXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBw
bGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC93bWwvZG8tZWxlbWVudC1vcHRpb25hbC1hdHRyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZG8tZWxlbWVudC1vcHRpb25hbC1h
dHRyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC93bWwvZG8tZWxlbWVudC1vcHRpb25hbC1hdHRyLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSwyMCArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDExMQotICBSZW5kZXJCbG9jayB7d21sfSBhdCAoMCwwKSBzaXplIDgwMHgxMTEKLSAgICBS
ZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMTYpIHNpemUgNzg0eDg3Ci0gICAgICBSZW5kZXJCbG9j
ayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMTgxeDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTgx
OiAiVGVzdCBmb3IgZG8gZWxlbWVudCBpbiBXTUwiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQg
KDAsMzQpIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDczMXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDczMTogIlRoZXJl
IGFyZSB0d28gZG8gZWxlbWVudCBpbiB0aGlzIGNhcmQsIHRoZSBmaXJzdCBvbmUgd2lsbCBkaXNw
bGF5LCB0aGUgc2Vjb25kIHdvbid0IGJlY2F1c2UgaXRzIG9wdGlvbmFsIGF0dHJpYnV0ZSBpcyB0
cnVlIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsNjgpIHNpemUgNzg0eDE5
Ci0gICAgICAgIFJlbmRlckJ1dHRvbiB7ZG99IGF0ICgwLDEpIHNpemUgNDF4MTggW2JnY29sb3I9
I0MwQzBDMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCkgbm9uZSAoMnB4IG91dHNldCAj
QzBDMEMwKV0KLSAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOCwyKSBzaXpl
IDI1eDEzCi0gICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXpl
IDI1eDEzCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyNXgxMwotICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI1OiAiRG8gMSIKLSAgICAgICAg
ICAgIFJlbmRlckJsb2NrIHtnb30gYXQgKDAsMTMpIHNpemUgMjV4MAotICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93
bWwvZG8tc2hhZG93LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxl
IG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0
ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZG8tc2hh
ZG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvZG8tc2hhZG93LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZG8tc2hhZG93LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSwzMiArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDEyOQotICBSZW5kZXJCbG9jayB7d21sfSBhdCAoMCwwKSBzaXplIDgwMHgxMjkKLSAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDgwMHgxOQotICAgICAgUmVuZGVy
SW5saW5lIHt0ZW1wbGF0ZX0gYXQgKDAsMCkgc2l6ZSA4NHgxOAotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyQnV0dG9uIHtkb30gYXQg
KDAsMSkgc2l6ZSA4NHgxOCBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAj
QzBDMEMwKSBub25lICgycHggb3V0c2V0ICNDMEMwQzApXQotICAgICAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICg4LDIpIHNpemUgNjh4MTMKLSAgICAgICAgICAgIFJlbmRlclRleHQg
YXQgKDAsMCkgc2l6ZSA2OHgxMwotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA2ODogIlRlbXBsYXRlIERvIgotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtwcmV2fSBhdCAo
MCwwKSBzaXplIDB4MTMKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgIFJlbmRlckJsb2Nr
IHtjYXJkfSBhdCAoOCwzNSkgc2l6ZSA3ODR4ODYKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAo
MCwwKSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAxODJ4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODI6ICJUZXN0IGZv
ciBkby1zaGFkb3cgaW4gV01MIgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDM0KSBzaXpl
IDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjl4MTgK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjk6ICJUaGlzIGlzIGZpcnN0IGNh
cmQsIHdoaWNoIHdvbid0IHNoYWRvdyBkZWNrLWxldmVsIGRvIgotICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsNjgpIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHth
bmNob3J9IGF0ICgwLDApIHNpemUgMHgwIFtjb2xvcj0jMDAwMEVFXQotICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsNjgpIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlckJsb2NrIHtnb30gYXQg
KDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDAwRUVdCi0gICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgNzl4MTgKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDc5OiAiR28gdG8gY2FyZCAyIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDAsODYpIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHthbmNob3J9IGF0ICgw
LDApIHNpemUgMHgwIFtjb2xvcj0jMDAwMEVFXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dt
bC9kby10ZW1wbGF0ZS1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmls
ZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29j
dGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLXRl
bXBsYXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC93bWwvZG8tdGVtcGxhdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9kby10ZW1wbGF0ZS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMzQgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHgxNzEKLSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTcx
Ci0gICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA4MDB4MTkKLSAgICAg
IFJlbmRlcklubGluZSB7dGVtcGxhdGV9IGF0ICgwLDApIHNpemUgODN4MTgKLSAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlckJ1dHRvbiB7
ZG99IGF0ICgwLDEpIHNpemUgODN4MTggW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjogKDJweCBv
dXRzZXQgI0MwQzBDMCkgbm9uZSAoMnB4IG91dHNldCAjQzBDMEMwKV0KLSAgICAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOCwyKSBzaXplIDY3eDEzCi0gICAgICAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDY3eDEzCi0gICAgICAgICAgICAgIFJl
bmRlclRleHQgYXQgKDAsMCkgc2l6ZSA2N3gxMwotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDY3OiAiVGVtcGxhdGUgZG8iCi0gICAgICAgICAgICBSZW5kZXJCbG9jayB7
Z299IGF0ICgwLDEzKSBzaXplIDY3eDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMzUpIHNpemUgNzg0eDEyMAotICAgICAgUmVu
ZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDI1NHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDI1NDogIlRlc3QgZm9yIGRvIGVsZW1lbnQgaW4gdGVtcGxhdGUgaW4gV01MIgotICAgICAg
UmVuZGVyQmxvY2sge3B9IGF0ICgwLDM0KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1MjJ4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCA1MjI6ICJXaGljaGV2ZXIgY2FyZCB5b3UgZW50ZXJlZCwgeW91IGNhbiBzZWUgdGhl
IHRlbXBsYXRlIGRvIGJ1dHRvbiBiZWNhdXNlIGl0J3MgZ2xvYmFsIgotICAgICAgUmVuZGVyQmxv
Y2sge3B9IGF0ICgwLDY4KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAxMjR4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAx
MjQ6ICJUaGlzIGlzIHRoZSBmaXJzdCBjYXJkIgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgw
LDEwMikgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAs
MCkgc2l6ZSA3ODR4MAotICAgICAgICAgIFJlbmRlcklubGluZSB7YW5jaG9yfSBhdCAoMCwwKSBz
aXplIDB4MCBbY29sb3I9IzAwMDBFRV0KLSAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDAsMCkgc2l6ZSA3ODR4MAotICAgICAgICAgIFJlbmRlckJsb2NrIHtnb30gYXQgKDAsMCkg
c2l6ZSA3ODR4MCBbY29sb3I9IzAwMDBFRV0KLSAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDAsMCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgICBSZW5kZXJJbmxpbmUge2FuY2hvcn0g
YXQgKDAsMCkgc2l6ZSA3NXgxOCBbY29sb3I9IzAwMDBFRV0KLSAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc1eDE4Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDc1OiAiR28gdG8gY2FyZDIiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC93bWwvZW50aXR5LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNw
bGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGlj
YXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93
bWwvZW50aXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC93bWwvZW50aXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZW50aXR5LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw0MCArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDIyNgotICBSZW5kZXJCbG9jayB7d21sfSBhdCAoMCwwKSBzaXplIDgwMHgyMjYKLSAgICBS
ZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMTYpIHNpemUgNzg0eDE5NAotICAgICAgUmVuZGVyQmxv
Y2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDE5M3gxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE5
MzogIlRlc3QgZm9yIEVudGl0aWVzIGluIFdNTCBwYWdlIgotICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMzQpIHNpemUgNzg0eDEyNgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAyMngxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDExOiAiXCIgIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgxMSwwKSB3aWR0aCAxMTogIlwiICIK
LSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMjIsMCkgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSAzMngxOAotICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDE4KSB3aWR0aCAxNjogIiYgIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgxNiwxOCkgd2lk
dGggMTY6ICImICIKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMzIsMTgpIHNpemUgMHgxOAot
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMzYpIHNpemUgMTR4MTgKLSAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggNzogIicgIgotICAgICAgICAgIHRleHQgcnVuIGF0
ICg3LDM2KSB3aWR0aCA3OiAiJyAiCi0gICAgICAgIFJlbmRlckJSIHticn0gYXQgKDE0LDM2KSBz
aXplIDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDU0KSBzaXplIDI2eDE4
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDEzOiAiPCAiCi0gICAgICAgICAg
dGV4dCBydW4gYXQgKDEzLDU0KSB3aWR0aCAxMzogIjwgIgotICAgICAgICBSZW5kZXJCUiB7YnJ9
IGF0ICgyNiw1NCkgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw3
Mikgc2l6ZSAyNngxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDcyKSB3aWR0aCAxMzogIj4g
IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgxMyw3Mikgd2lkdGggMTM6ICI+ICIKLSAgICAgICAg
UmVuZGVyQlIge2JyfSBhdCAoMjYsNzIpIHNpemUgMHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsOTApIHNpemUgMzl4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw5MCkg
d2lkdGggMzk6ICI9ID0gPSAiCi0gICAgICAgIFJlbmRlckJSIHticn0gYXQgKDM5LDkwKSBzaXpl
IDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEwOCkgc2l6ZSA3NngxOAot
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEwOCkgd2lkdGggMjQ6ICJBQSIKLSAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMjQsMTA4KSB3aWR0aCAyNDogIkFBIgotICAgICAgICAgIHRleHQgcnVuIGF0
ICg0OCwxMDgpIHdpZHRoIDI4OiAiQUEgIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICg3Niwx
MDgpIHNpemUgMHgxOAotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDE3Nikgc2l6ZSA3ODR4
MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDl4MTgKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0OTogIjxoZWxsbz4iCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWV2ZW50LWJpbmRpbmctY29uZmxpY3QtZXhw
ZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmlu
YXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItZXZlbnQtYmluZGluZy1jb25m
bGljdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3Qvd21sL2Vyci1ldmVudC1iaW5kaW5nLWNvbmZsaWN0LWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWV2ZW50
LWJpbmRpbmctY29uZmxpY3QtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMwICsw
LDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTY2Ci0gIFJlbmRlckJsb2Nr
IHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHgxNjYKLSAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAo
OCwxNikgc2l6ZSA3ODR4MTM0Ci0gICAgICBSZW5kZXJCbG9jayB7cGFyc2VyZXJyb3J9IGF0ICgx
NiwwKSBzaXplIDc1MngxMzQgW2JnY29sb3I9I0ZGRERERF0gW2JvcmRlcjogKDJweCBzb2xpZCAj
Q0M3Nzc3KV0KLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsMjApIHNpemUgNzE2eDIy
Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzI0eDIyCi0gICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjQ6ICJUaGlzIHBhZ2UgY29udGFpbnMg
dGhlIGZvbGxvd2luZyBlcnJvcnM6IgotICAgICAgICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoMTgs
NjApIHNpemUgNzE2eDE0Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgNTI1eDE0Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1MjU6ICJlcnJv
ciBvbiBsaW5lIDkgYXQgY29sdW1uIDYxOiBDb25mbGljdGluZyBldmVudCBiaW5kaW5ncyB3aXRo
aW4gYW4gZWxlbWVudC4iCi0gICAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQgKDE4LDkyKSBzaXpl
IDcxNngyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQyOXgy
MgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDI5OiAiQmVsb3cgaXMgYSBy
ZW5kZXJpbmcgb2YgdGhlIHBhZ2UgdXAgdG8gdGhlIGZpcnN0IGVycm9yLiIKLSAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE1MCkgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJ
bmxpbmUge3dtbH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgw
LDE1MCkgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMCkgc2l6
ZSA3Njh4MAotICAgICAgICAgIFJlbmRlcklubGluZSB7b25ldmVudH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgICAgICAgUmVuZGVySW5saW5lIHtyZWZyZXNofSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVySW5saW5l
IHtvbmV2ZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge3ByZXZ9IGF0
ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTAp
IHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgw
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWludmFsaWQtbG9j
YXRpb24tZm9yLXZhcnJlZi1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTog
ZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9u
L29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vy
ci1pbnZhbGlkLWxvY2F0aW9uLWZvci12YXJyZWYtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItaW52YWxpZC1sb2NhdGlvbi1m
b3ItdmFycmVmLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWludmFsaWQtbG9jYXRpb24tZm9yLXZhcnJlZi1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMzMgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBh
dCAoMCwwKSBzaXplIDgwMHgyNjEKLSAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUg
ODAweDI2MQotICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgyMzcKLSAg
ICAgIFJlbmRlckJsb2NrIHtwYXJzZXJlcnJvcn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBbYmdj
b2xvcj0jRkZEREREXSBbYm9yZGVyOiAoMnB4IHNvbGlkICNDQzc3NzcpXQotICAgICAgICBSZW5k
ZXJCbG9jayB7aDN9IGF0ICgxOCwyMCkgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjR4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDMyNDogIlRoaXMgcGFnZSBjb250YWlucyB0aGUgZm9sbG93aW5nIGVycm9yczoi
Ci0gICAgICAgIFJlbmRlckJsb2NrIHtkaXZ9IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4MTQKLSAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1ODh4MTQKLSAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU4ODogImVycm9yIG9uIGxpbmUgOSBhdCBjb2x1bW4g
NDY6IEEgdmFyaWFibGUgcmVmZXJlbmNlIGlzIHBsYWNlZCBpbiBhbiBpbnZhbGlkIGxvY2F0aW9u
LiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsOTIpIHNpemUgNzE2eDIyCi0gICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDI5eDIyCi0gICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0Mjk6ICJCZWxvdyBpcyBhIHJlbmRlcmluZyBvZiB0
aGUgcGFnZSB1cCB0byB0aGUgZmlyc3QgZXJyb3IuIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7d21sfSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4
NHg4NwotICAgICAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMCkgc2l6ZSA3Njh4ODcKLSAg
ICAgICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3Njh4MTgKLSAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIzMXgxOAotICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMzE6ICJUZXN0IGZvciB2YXJpYWJsZSByZWZlcmVuY2Ug
dmFsaWRhdGlvbiIKLSAgICAgICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMzQpIHNpemUgNzY4
eDE4Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2NDV4MTgK
LSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjQ1OiAiQW4gZXJyb3Igd2ls
bCBvY2N1ciB3aGVuIGxvYWRpbmcgdGhlIGNhcmQgYmVjYXVzZSB0aGUgdmFyaWFibGUgcmVmZXJl
bmNlIGlzIHBsYWNlZCBpbiBhIGludmFsaWQgbG9jYXRpb24iCi0gICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDAsNjgpIHNpemUgNzY4eDE5Ci0gICAgICAgICAgICBSZW5kZXJC
dXR0b24ge2RvfSBhdCAoMCwxKSBzaXplIDU0eDE4IFtiZ2NvbG9yPSNDMEMwQzBdIFtib3JkZXI6
ICgycHggb3V0c2V0ICNDMEMwQzApIG5vbmUgKDJweCBvdXRzZXQgI0MwQzBDMCldCi0gICAgICAg
ICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDIpIHNpemUgMzh4MTMKLSAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMzh4MTMKLSAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM4OiAicmVmcmVzaCIKLSAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICgwLDI0NSkgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxp
bmUge3dtbH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3dtbC9lcnItaW52YWxpZC10YWJsZWNvbHVtbi1udW1iZXItZXhwZWN0ZWQucG5nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2
bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItaW52YWxpZC10YWJsZWNvbHVtbi1udW1iZXItZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dt
bC9lcnItaW52YWxpZC10YWJsZWNvbHVtbi1udW1iZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4
NTE2NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItaW52YWxpZC10
YWJsZWNvbHVtbi1udW1iZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDI5ICsw
LDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjQyCi0gIFJlbmRlckJsb2Nr
IHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHgyNDIKLSAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAo
OCwxNikgc2l6ZSA3ODR4MjE4Ci0gICAgICBSZW5kZXJCbG9jayB7cGFyc2VyZXJyb3J9IGF0ICgx
NiwwKSBzaXplIDc1MngxMzQgW2JnY29sb3I9I0ZGRERERF0gW2JvcmRlcjogKDJweCBzb2xpZCAj
Q0M3Nzc3KV0KLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsMjApIHNpemUgNzE2eDIy
Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzI0eDIyCi0gICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjQ6ICJUaGlzIHBhZ2UgY29udGFpbnMg
dGhlIGZvbGxvd2luZyBlcnJvcnM6IgotICAgICAgICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoMTgs
NjApIHNpemUgNzE2eDE0Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgNTMyeDE0Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1MzI6ICJlcnJv
ciBvbiBsaW5lIDkgYXQgY29sdW1uIDQ3OiBBIHRhYmxlIGNvbnRhaW5zIGFuIGludmFsaWQgbnVt
YmVyIG9mIGNvbHVtbnMuIgotICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCw5Mikgc2l6
ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0Mjl4
MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQyOTogIkJlbG93IGlzIGEg
cmVuZGVyaW5nIG9mIHRoZSBwYWdlIHVwIHRvIHRoZSBmaXJzdCBlcnJvci4iCi0gICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVy
SW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAo
MCwxNTApIHNpemUgNzg0eDY4Ci0gICAgICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwwKSBz
aXplIDc2OHg2OAotICAgICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc2OHgx
OAotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjUyeDE4Ci0g
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI1MjogIlRlc3QgZm9yIHRhYmxl
IGNvbHVtbiBudW1iZXIgdmFsaWRhdGlvbiIKLSAgICAgICAgICBSZW5kZXJCbG9jayB7cH0gYXQg
KDAsMzQpIHNpemUgNzY4eDE4Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSA1Mzh4MTgKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTM4
OiAiVGhlIHRhYmxlIHdvbid0IGJlIGRpc3BsYXllZCBiZWNhdXNlIG9mIHRoZSBpbnZhbGlkIGNv
bHVtbnMgYXR0cnVpYnRlIG9mIHRhYmxlIGVsZW1lbnQiCi0gICAgICAgICAgUmVuZGVyVGFibGUg
e3RhYmxlfSBhdCAoMCw2OCkgc2l6ZSA0eDAKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDIyNikgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUge3dtbH0gYXQgKDAs
MCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnIt
aW52YWxpZC12YXJpYWJsZS1uYW1lLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNw
bGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGlj
YXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93
bWwvZXJyLWludmFsaWQtdmFyaWFibGUtbmFtZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLXZhcmlhYmxlLW5h
bWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3dtbC9lcnItaW52YWxpZC12YXJpYWJsZS1uYW1lLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSwzMyArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDIyNwotICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjI3Ci0gICAg
UmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTYpIHNpemUgNzg0eDIwMwotICAgICAgUmVuZGVyQmxv
Y2sge3BhcnNlcmVycm9yfSBhdCAoMTYsMCkgc2l6ZSA3NTJ4MTM0IFtiZ2NvbG9yPSNGRkRERERd
IFtib3JkZXI6ICgycHggc29saWQgI0NDNzc3NyldCi0gICAgICAgIFJlbmRlckJsb2NrIHtoM30g
YXQgKDE4LDIwKSBzaXplIDcxNngyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDMyNHgyMgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzI0
OiAiVGhpcyBwYWdlIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiIKLSAgICAgICAgUmVu
ZGVyQmxvY2sge2Rpdn0gYXQgKDE4LDYwKSBzaXplIDcxNngxNAotICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDUyNXgxNAotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggNTI1OiAiZXJyb3Igb24gbGluZSAxMCBhdCBjb2x1bW4gNjg6IEEgdmFyaWFi
bGUgbmFtZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMuIgotICAgICAgICBSZW5kZXJCbG9j
ayB7aDN9IGF0ICgxOCw5Mikgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSA0Mjl4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDQyOTogIkJlbG93IGlzIGEgcmVuZGVyaW5nIG9mIHRoZSBwYWdlIHVwIHRvIHRoZSBmaXJz
dCBlcnJvci4iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUg
Nzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJC
bG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDUzCi0gICAgICAgIFJlbmRlckJs
b2NrIHtjYXJkfSBhdCAoOCwwKSBzaXplIDc2OHg1MwotICAgICAgICAgIFJlbmRlckJsb2NrIHtw
fSBhdCAoMCwwKSBzaXplIDc2OHgxOAotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMjA3eDE4Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDIwNzogIlRlc3QgZm9yIHZhcmlhYmxlIG5hbWUgdmFsaWRhdGlvbiIKLSAgICAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNCkgc2l6ZSA3Njh4MTkKLSAgICAgICAgICAgIFJl
bmRlckJ1dHRvbiB7ZG99IGF0ICgwLDEpIHNpemUgNTR4MTggW2JnY29sb3I9I0MwQzBDMF0gW2Jv
cmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCkgbm9uZSAoMnB4IG91dHNldCAjQzBDMEMwKV0KLSAg
ICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsMikgc2l6ZSAzOHgxMwot
ICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7cmVmcmVzaH0gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtzZXR2YXJ9IGF0ICgwLDApIHNpemUgMHgw
Ci0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDM4eDEzCi0gICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzODogInJlZnJlc2giCi0gICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwyMTEpIHNpemUgNzg0eDAKLSAgICAgICAgUmVu
ZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC93bWwvZXJyLW11bHRpLWFjY2Vzcy1leHBlY3RlZC5wbmcKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUt
dHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS1hY2Nlc3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGktYWNjZXNzLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvZXJyLW11bHRpLWFjY2Vzcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsMTggKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNjYKLSAgUmVu
ZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDE2NgotICAgIFJlbmRlckJvZHkge2Jv
ZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgxMzQKLSAgICAgIFJlbmRlckJsb2NrIHtwYXJzZXJlcnJv
cn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBbYmdjb2xvcj0jRkZEREREXSBbYm9yZGVyOiAoMnB4
IHNvbGlkICNDQzc3NzcpXQotICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCwyMCkgc2l6
ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjR4
MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMyNDogIlRoaXMgcGFnZSBj
b250YWlucyB0aGUgZm9sbG93aW5nIGVycm9yczoiCi0gICAgICAgIFJlbmRlckJsb2NrIHtkaXZ9
IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4MTQKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA1MjV4MTQKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDUy
NTogImVycm9yIG9uIGxpbmUgNiBhdCBjb2x1bW4gNTI6IE9ubHkgb25lIGFjY2VzcyBlbGVtZW50
IGlzIGFsbG93ZWQgaW4gYSBkZWNrLiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgs
OTIpIHNpemUgNzE2eDIyCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgNDI5eDIyCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0Mjk6ICJCZWxv
dyBpcyBhIHJlbmRlcmluZyBvZiB0aGUgcGFnZSB1cCB0byB0aGUgZmlyc3QgZXJyb3IuIgotICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgwCi0gICAgICAg
IFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS1odHRwLWVxdWl2LWluLW1ldGEtZXhwZWN0ZWQucG5nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2
bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGktaHR0cC1lcXVpdi1pbi1tZXRhLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwv
ZXJyLW11bHRpLWh0dHAtZXF1aXYtaW4tbWV0YS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MTY2
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS1odHRwLWVx
dWl2LWluLW1ldGEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE5ICswLDAgQEAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTY2Ci0gIFJlbmRlckJsb2NrIHtodG1s
fSBhdCAoMCwwKSBzaXplIDgwMHgxNjYKLSAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwxNikg
c2l6ZSA3ODR4MTM0Ci0gICAgICBSZW5kZXJCbG9jayB7cGFyc2VyZXJyb3J9IGF0ICgxNiwwKSBz
aXplIDc1MngxMzQgW2JnY29sb3I9I0ZGRERERF0gW2JvcmRlcjogKDJweCBzb2xpZCAjQ0M3Nzc3
KV0KLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsMjApIHNpemUgNzE2eDIyCi0gICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzI0eDIyCi0gICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjQ6ICJUaGlzIHBhZ2UgY29udGFpbnMgdGhlIGZv
bGxvd2luZyBlcnJvcnM6IgotICAgICAgICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoMTgsNjApIHNp
emUgNzE2eDE0Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDIw
eDE0Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0MjA6ICJlcnJvciBvbiBs
aW5lIDUgYXQgY29sdW1uIDQ3OiBBdHRyaWJ1dGUgaHR0cC1lcXVpdiByZWRlZmluZWQiCi0gICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNDIwLDApIHdpZHRoIDA6ICIgIgotICAgICAgICBSZW5kZXJC
bG9jayB7aDN9IGF0ICgxOCw5Mikgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA0Mjl4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDQyOTogIkJlbG93IGlzIGEgcmVuZGVyaW5nIG9mIHRoZSBwYWdlIHVwIHRvIHRoZSBm
aXJzdCBlcnJvci4iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNp
emUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLW11bHRpLW5hbWUtaW4tbWV0YS1leHBl
Y3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5h
cnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS1uYW1lLWluLW1ldGEt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3dtbC9lcnItbXVsdGktbmFtZS1pbi1tZXRhLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLW11bHRpLW5hbWUtaW4t
bWV0YS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTkgKzAsMCBAQAotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNjYKLSAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgw
LDApIHNpemUgODAweDE2NgotICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4
NHgxMzQKLSAgICAgIFJlbmRlckJsb2NrIHtwYXJzZXJlcnJvcn0gYXQgKDE2LDApIHNpemUgNzUy
eDEzNCBbYmdjb2xvcj0jRkZEREREXSBbYm9yZGVyOiAoMnB4IHNvbGlkICNDQzc3NzcpXQotICAg
ICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCwyMCkgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjR4MjIKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDMyNDogIlRoaXMgcGFnZSBjb250YWlucyB0aGUgZm9sbG93aW5n
IGVycm9yczoiCi0gICAgICAgIFJlbmRlckJsb2NrIHtkaXZ9IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4
MTQKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNzh4MTQKLSAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM3ODogImVycm9yIG9uIGxpbmUgNSBh
dCBjb2x1bW4gMzU6IEF0dHJpYnV0ZSBuYW1lIHJlZGVmaW5lZCIKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgzNzgsMCkgd2lkdGggMDogIiAiCi0gICAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQg
KDE4LDkyKSBzaXplIDcxNngyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDQyOXgyMgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDI5OiAi
QmVsb3cgaXMgYSByZW5kZXJpbmcgb2YgdGhlIHBhZ2UgdXAgdG8gdGhlIGZpcnN0IGVycm9yLiIK
LSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE1MCkgc2l6ZSA3ODR4MAotICAg
ICAgICBSZW5kZXJJbmxpbmUge3dtbH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGktdGltZXItZXhwZWN0ZWQucG5nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
Q2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5
cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3dtbC9lcnItbXVsdGktdGltZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGktdGltZXItZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3dtbC9lcnItbXVsdGktdGltZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDI1
ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTY2Ci0gIFJlbmRlckJs
b2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHgxNjYKLSAgICBSZW5kZXJCb2R5IHtib2R5fSBh
dCAoOCwxNikgc2l6ZSA3ODR4MTM0Ci0gICAgICBSZW5kZXJCbG9jayB7cGFyc2VyZXJyb3J9IGF0
ICgxNiwwKSBzaXplIDc1MngxMzQgW2JnY29sb3I9I0ZGRERERF0gW2JvcmRlcjogKDJweCBzb2xp
ZCAjQ0M3Nzc3KV0KLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsMjApIHNpemUgNzE2
eDIyCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzI0eDIyCi0g
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjQ6ICJUaGlzIHBhZ2UgY29udGFp
bnMgdGhlIGZvbGxvd2luZyBlcnJvcnM6IgotICAgICAgICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAo
MTgsNjApIHNpemUgNzE2eDE0Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgNTE4eDE0Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1MTg6ICJl
cnJvciBvbiBsaW5lIDYgYXQgY29sdW1uIDY1OiBPbmx5IG9uZSB0aW1lciBlbGVtZW50IGlzIGFs
bG93ZWQgaW4gYSBjYXJkLiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsOTIpIHNp
emUgNzE2eDIyCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDI5
eDIyCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0Mjk6ICJCZWxvdyBpcyBh
IHJlbmRlcmluZyBvZiB0aGUgcGFnZSB1cCB0byB0aGUgZmlyc3QgZXJyb3IuIgotICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgwCi0gICAgICAgIFJlbmRl
cklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDAsMTUwKSBzaXplIDc4NHgwCi0gICAgICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwwKSBz
aXplIDc2OHgwCi0gICAgICAgICAgUmVuZGVySW5saW5lIHt0aW1lcn0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgICBSZW5kZXJJbmxpbmUge3RpbWVyfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVy
QmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgwCi0gICAgICAgIFJlbmRlcklu
bGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvd21sL2Vyci1zYW1lbmFtZS1kby1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5u
b3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9
IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3Qvd21sL2Vyci1zYW1lbmFtZS1kby1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1zYW1lbmFtZS1kby1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21s
L2Vyci1zYW1lbmFtZS1kby1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjkgKzAs
MCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxOTMKLSAgUmVuZGVyQmxvY2sg
e2h0bWx9IGF0ICgwLDApIHNpemUgODAweDE5MwotICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4
LDE2KSBzaXplIDc4NHgxNjkKLSAgICAgIFJlbmRlckJsb2NrIHtwYXJzZXJlcnJvcn0gYXQgKDE2
LDApIHNpemUgNzUyeDEzNCBbYmdjb2xvcj0jRkZEREREXSBbYm9yZGVyOiAoMnB4IHNvbGlkICND
Qzc3NzcpXQotICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCwyMCkgc2l6ZSA3MTZ4MjIK
LSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjR4MjIKLSAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMyNDogIlRoaXMgcGFnZSBjb250YWlucyB0
aGUgZm9sbG93aW5nIGVycm9yczoiCi0gICAgICAgIFJlbmRlckJsb2NrIHtkaXZ9IGF0ICgxOCw2
MCkgc2l6ZSA3MTZ4MTQKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA2MzB4MTQKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDYzMDogImVycm9y
IG9uIGxpbmUgOCBhdCBjb2x1bW4gNTU6IEF0IGxlYXN0IHR3byBkbyBlbGVtZW50cyBzaGFyZSBh
IG5hbWUsIHdoaWNoIGlzIG5vdCBhbGxvd2VkLiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBh
dCAoMTgsOTIpIHNpemUgNzE2eDIyCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgNDI5eDIyCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0Mjk6
ICJCZWxvdyBpcyBhIHJlbmRlcmluZyBvZiB0aGUgcGFnZSB1cCB0byB0aGUgZmlyc3QgZXJyb3Iu
IgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgwCi0g
ICAgICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgxOQotICAgICAgICBSZW5kZXJCbG9jayB7Y2Fy
ZH0gYXQgKDgsMCkgc2l6ZSA3Njh4MTkKLSAgICAgICAgICBSZW5kZXJCdXR0b24ge2RvfSBhdCAo
MCwxKSBzaXplIDMweDE4IFtiZ2NvbG9yPSNDMEMwQzBdIFtib3JkZXI6ICgycHggb3V0c2V0ICND
MEMwQzApIG5vbmUgKDJweCBvdXRzZXQgI0MwQzBDMCldCi0gICAgICAgICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoOCwyKSBzaXplIDE0eDEzCi0gICAgICAgICAgICAgIFJlbmRlcklu
bGluZSB7cmVmcmVzaH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgYXQg
KDAsMCkgc2l6ZSAxNHgxMwotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDE0OiAiZG8iCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
Ci0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNzcpIHNpemUgNzg0eDAKLSAg
ICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLXVuYWxsb3dlZC10YXNrLWluLWFuY2hvci1l
eHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBi
aW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci11bmFsbG93ZWQtdGFzay1p
bi1hbmNob3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3dtbC9lcnItdW5hbGxvd2VkLXRhc2staW4tYW5jaG9yLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJy
LXVuYWxsb3dlZC10YXNrLWluLWFuY2hvci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsMjUgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNjYKLSAgUmVu
ZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDE2NgotICAgIFJlbmRlckJvZHkge2Jv
ZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgxMzQKLSAgICAgIFJlbmRlckJsb2NrIHtwYXJzZXJlcnJv
cn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBbYmdjb2xvcj0jRkZEREREXSBbYm9yZGVyOiAoMnB4
IHNvbGlkICNDQzc3NzcpXQotICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCwyMCkgc2l6
ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjR4
MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMyNDogIlRoaXMgcGFnZSBj
b250YWlucyB0aGUgZm9sbG93aW5nIGVycm9yczoiCi0gICAgICAgIFJlbmRlckJsb2NrIHtkaXZ9
IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4MTQKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA1MTF4MTQKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDUx
MTogImVycm9yIG9uIGxpbmUgNiBhdCBjb2x1bW4gMjg6IEZvcmJpZGRlbiB0YXNrIGNvbnRhaW5l
ZCBpbiBhbmNob3IgZWxlbWVudC4iCi0gICAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQgKDE4LDky
KSBzaXplIDcxNngyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDQyOXgyMgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDI5OiAiQmVsb3cg
aXMgYSByZW5kZXJpbmcgb2YgdGhlIHBhZ2UgdXAgdG8gdGhlIGZpcnN0IGVycm9yLiIKLSAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE1MCkgc2l6ZSA3ODR4MAotICAgICAgICBS
ZW5kZXJJbmxpbmUge3dtbH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDE1MCkgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgs
MCkgc2l6ZSA3Njh4MAotICAgICAgICAgIFJlbmRlcklubGluZSB7YW5jaG9yfSBhdCAoMCwwKSBz
aXplIDB4MCBbY29sb3I9IzAwMDBFRV0KLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtub29wfSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXpl
IDc4NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2ZpZWxkc2V0LWV4cGVjdGVkLnBu
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBl
Lgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZmllbGRzZXQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9maWVsZHNldC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL2ZpZWxkc2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNiArMCwwIEBA
Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDEwMwotICBSZW5kZXJCbG9jayB7d21s
fSBhdCAoMCwwKSBzaXplIDgwMHgxMDMKLSAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMTYp
IHNpemUgNzg0eDcxCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4NzEK
LSAgICAgICAgUmVuZGVyRmllbGRTZXQge2ZpZWxkc2V0fSBhdCAoMiwwKSBzaXplIDc4MHg3MSBb
Ym9yZGVyOiAoMnB4IGdyb292ZSAjQzBDMEMwKV0KLSAgICAgICAgICBSZW5kZXJCbG9jayB7aW5z
ZXJ0ZWRMZWdlbmR9IGF0ICgxNCwwKSBzaXplIDQyeDE4Ci0gICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDIsMCkgc2l6ZSAzOHgxOAotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MiwwKSB3aWR0aCAzODogIk5hbWUiCi0gICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDE0LDIzKSBzaXplIDc1MngzNgotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNzR4MTgKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
NzQ6ICJGaXJzdCBuYW1lOiAiCi0gICAgICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTgpIHNpemUgNjl4
MTgKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDY5OiAiTGFzdCBuYW1l
OiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9odG1sLWZpZWxkc2V0
LWNyYXNoLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtl
ZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3Ry
ZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvaHRtbC1maWVsZHNl
dC1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvd21sL2h0bWwtZmllbGRzZXQtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4
NTE2NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9odG1sLWZpZWxkc2V0
LWNyYXNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMCArMCwwIEBACi1sYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDUzCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDgwMHg1MwotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDM3Ci0gICAgICBSZW5kZXJGaWVsZFNldCB7RklFTERTRVR9IGF0ICgyLDApIHNpemUgNzgweDM3
IFtib3JkZXI6ICgycHggZ3Jvb3ZlICNDMEMwQzApXQotICAgICAgICBSZW5kZXJCbG9jayB7TEFC
RUx9IGF0ICgxNCw3KSBzaXplIDc1MngwCi0gICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgxNCw3KSBzaXplIDc1MngxOAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDd4MTgKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc6ICJh
IgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2ltZy1sb2NhbHNyYy1l
eHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBi
aW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2ltZy1sb2NhbHNyYy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2lt
Zy1sb2NhbHNyYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2ltZy1sb2NhbHNyYy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMjYgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgy
OTIKLSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjkyCi0gICAgUmVuZGVy
QmxvY2sge2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHgyNjAKLSAgICAgIFJlbmRlckJsb2NrIHtw
fSBhdCAoMCwwKSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAxODl4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODk6ICJU
ZXN0IGZvciBpbWcgZWxlbWVudCBpbiBXTUwiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAs
MzQpIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDM2OXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM2OTogIlRoaXMgaW1h
Z2UgaXMgc3BlY2lmaWVkIGJ5IGxvY2Fsc3JjIGF0dHJpYnV0ZSBvZiBpbWcgZWxlbWVudCIKLSAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDY4KSBzaXplIDc4NHgzNgotICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1OXgxOAotICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDU5OiAidGVzdCBjb2RlOiIKLSAgICAgICAgUmVuZGVyVGV4dCB7
I2NkYXRhLXNlY3Rpb259IGF0ICg1OSwwKSBzaXplIDU5MngzNgotICAgICAgICAgIHRleHQgcnVu
IGF0ICg1OSwwKSB3aWR0aCA0OiAiICIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjMsMCkgd2lk
dGggNTI5OiAiPHA+TG9jYWw8aW1nIGhlaWdodD1cIjYwXCIgd2lkdGg9XCI0MFwiIHZzcGFjZT1c
IjQwXCIgaHNwYWNlPVwiNjBcIiBhbGlnbj1cIm1pZGRsZVwiIgotICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDE4KSB3aWR0aCAzNTA6ICJsb2NhbHNyYz1cInJlc291cmNlcy9wYXNzLnBuZ1wiIGFs
dD1cInNtaWxlXCIvPkltYWdlPC9wPiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMTIwKSBzaXplIDc4NHgxNDAKLSAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDU2KSBzaXplIDM2eDE4Ci0gICAgICAgICAgdGV4dCBydW4g
YXQgKDAsNTYpIHdpZHRoIDM2OiAiTG9jYWwiCi0gICAgICAgIFJlbmRlckltYWdlIHtpbWd9IGF0
ICg5Niw0MCkgc2l6ZSA0MHg2MAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE5Niw1
Nikgc2l6ZSAzOXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgxOTYsNTYpIHdpZHRoIDM5OiAi
SW1hZ2UiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW1nLXNyYy1l
eHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBi
aW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2ltZy1zcmMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9pbWctc3Jj
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC93bWwvaW1nLXNyYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjYg
KzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyOTIKLSAgUmVuZGVyQmxv
Y2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjkyCi0gICAgUmVuZGVyQmxvY2sge2NhcmR9IGF0
ICg4LDE2KSBzaXplIDc4NHgyNjAKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXpl
IDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxODl4MTgK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODk6ICJUZXN0IGZvciBpbWcgZWxl
bWVudCBpbiBXTUwiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMzQpIHNpemUgNzg0eDE4
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMzOXgxOAotICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMzOTogIlRoaXMgaW1hZ2UgaXMgc3BlY2lmaWVk
IGJ5IHNyYyBhdHRyaWJ1dGUgb2YgaW1nIGVsZW1lbnQiCi0gICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoMCw2OCkgc2l6ZSA3ODR4MzYKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNTl4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1
OTogInRlc3QgY29kZToiCi0gICAgICAgIFJlbmRlclRleHQgeyNjZGF0YS1zZWN0aW9ufSBhdCAo
NTksMCkgc2l6ZSA3Nzl4MzYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTksMCkgd2lkdGggNDog
IiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDYzLDApIHdpZHRoIDcxNjogIjxwPk5ldHdvcmsg
PGltZyBoZWlnaHQ9XCI2MFwiIHdpZHRoPVwiNDBcIiB2c3BhY2U9XCI0MFwiIGhzcGFjZT1cIjYw
XCIgYWxpZ249XCJtaWRkbGVcIiBzcmM9XCJyZXNvdXJjZXMvcGFzcy5wbmdcIiIKLSAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTU3OiAiYWx0PVwic21pbGVcIi8+SW1hZ2U8L3A+
ICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAg
IFJlbmRlckJSIHticn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBh
dCAoMCwxMjApIHNpemUgNzg0eDE0MAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
NTYpIHNpemUgNjB4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1Nikgd2lkdGggNjA6ICJO
ZXR3b3JrICIKLSAgICAgICAgUmVuZGVySW1hZ2Uge2ltZ30gYXQgKDEyMCw0MCkgc2l6ZSA0MHg2
MAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIyMCw1Nikgc2l6ZSAzOXgxOAotICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyMjAsNTYpIHdpZHRoIDM5OiAiSW1hZ2UiCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW1nLXNyYy1sb2NhbHNyYy1hbHQtZXhwZWN0
ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5
IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9pbWctc3JjLWxvY2Fsc3JjLWFsdC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21s
L2ltZy1zcmMtbG9jYWxzcmMtYWx0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW1nLXNyYy1sb2NhbHNyYy1hbHQtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDM4ICswLDAgQEAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4Mzg2Ci0gIFJlbmRlckJsb2NrIHt3bWx9IGF0ICgwLDApIHNpemUg
ODAweDM4NgotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwxNikgc2l6ZSA3ODR4MzU0Ci0g
ICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTg5eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMTg5OiAiVGVzdCBmb3IgaW1nIGVsZW1lbnQgaW4gV01MIgotICAgICAgUmVu
ZGVyQmxvY2sge3B9IGF0ICgwLDM0KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA0ODd4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCA0ODc6ICJUaGlzIGltYWdlIGNhbiBiZSBzcGVjaWZpZWQgYnkgYm90aCBzcmMgYW5kIGxv
Y2Fsc3JjIGF0dHJpYnV0ZXMgb2YgaW1nIGVsZW1lbnQiCi0gICAgICBSZW5kZXJCbG9jayB7cH0g
YXQgKDAsNjgpIHNpemUgNzg0eDI4NgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAyODl4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyODk6ICIx
KSBsb2NhbHNyYyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgc3JjIGF0dHJpYnV0ZSAiCi0gICAgICAg
IFJlbmRlckJSIHticn0gYXQgKDI4OSwwKSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDEwNCkgc2l6ZSAzOXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEw
NCkgd2lkdGggMzk6ICJJbWFnZSIKLSAgICAgICAgUmVuZGVySW1hZ2Uge2ltZ30gYXQgKDM5LDE4
KSBzaXplIDEwMHgxMDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMzksMTA0KSBz
aXplIDQzeDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDEzOSwxMDQpIHdpZHRoIDQzOiAiSW1h
Z2UgIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMjIpIHNpemUgMjc3eDE4Ci0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMTIyKSB3aWR0aCAyNzc6ICIyKSBsb2NhbHNyYyBjYW4ndCBsb2NhdGUgdGhlIGlt
YWdlLCBzcmMgd29ya3MgIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgyNzcsMTIyKSBzaXpl
IDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIyNikgc2l6ZSAzOXgxOAot
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIyNikgd2lkdGggMzk6ICJJbWFnZSIKLSAgICAgICAg
UmVuZGVySW1hZ2Uge2ltZ30gYXQgKDM5LDE0MCkgc2l6ZSAxMDB4MTAwCi0gICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMTM5LDIyNikgc2l6ZSA0M3gxOAotICAgICAgICAgIHRleHQgcnVu
IGF0ICgxMzksMjI2KSB3aWR0aCA0MzogIkltYWdlICIKLSAgICAgICAgUmVuZGVyQlIge2JyfSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMjQ0KSBz
aXplIDM2MXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI0NCkgd2lkdGggMzYxOiAiMykg
bmVpdGhlciBsb2NhbHNyYyBub3Igc3JjIGNhbiBsb2NhdGUgdGhlIGltYWdlLCBhbHQgd29ya3Mg
IgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgzNjEsMjQ0KSBzaXplIDB4MTgKLSAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDI2OCkgc2l6ZSAzOXgxOAotICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDI2OCkgd2lkdGggMzk6ICJJbWFnZSIKLSAgICAgICAgUmVuZGVySW1hZ2Uge2lt
Z30gYXQgKDM5LDI2Mikgc2l6ZSAzOXgyMAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDc4LDI2OCkgc2l6ZSAzOXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICg3OCwyNjgpIHdpZHRo
IDM5OiAiSW1hZ2UiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW5w
dXQtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFz
IGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9pbnB1dC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2lucHV0
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC93bWwvaW5wdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIyICsw
LDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4ODEKLSAgUmVuZGVyQmxvY2sg
e3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4ODEKLSAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgs
MTYpIHNpemUgNzg0eDU3Ci0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4
MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDMweDE4Ci0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDMwOiAiVmVyeSBzaW1wbGUgdGVzdCwgY2hl
Y2tpbmcgdGhhdCBpbnB1dCBlbGVtZW50cyBhcmUgcmVuZGVyZWQgY29ycmVjdGx5IgotICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMzQpIHNpemUgNzg0eDIzCi0gICAgICAgIFJl
bmRlclRleHRDb250cm9sIHtpbnB1dH0gYXQgKDIsMikgc2l6ZSAxMjh4MTkgW2JnY29sb3I9I0ZG
RkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KLSAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxMzIsMikgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDEzMiwy
KSB3aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge2lucHV0fSBhdCAoMTM4
LDIpIHNpemUgMTI4eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAw
MDAwMCldCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5
ZXIgYXQgKDEzLDU1KSBzaXplIDEyMngxMwotICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoMywzKSBz
aXplIDEyMngxMwotICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDIzeDEzCi0g
ICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCAyMzogIlRlc3QiCi1sYXllciBhdCAoMTQ5LDU1
KSBzaXplIDEyMngxMwotICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoMywzKSBzaXplIDEyMngxMwot
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDUweDEzCi0gICAgICB0ZXh0IHJ1
biBhdCAoMSwwKSB3aWR0aCA1MDogIlx4ezIwMjJ9XHh7MjAyMn1ceHsyMDIyfVx4ezIwMjJ9XHh7
MjAyMn1ceHsyMDIyfVx4ezIwMjJ9XHh7MjAyMn0iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC93bWwvcC1hbGlnbi1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlz
cGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL3AtYWxpZ24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3dtbC9wLWFsaWduLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvcC1hbGlnbi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNDcgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMTc2
eDU4NQotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAxMTc2eDQ3MAotICBSZW5kZXJCbG9jayB7d21sfSBhdCAoMCwwKSBzaXplIDgwMHg0NzAK
LSAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMTYpIHNpemUgNzg0eDQzOAotICAgICAgUmVu
ZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDI4MHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDI4MDogIlRlc3QgZm9yIGFsaWduIGF0dHJpYnV0ZSBvZiBwIGVsZW1lbnQgaW4gV01MIgot
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMzQpIHNpemUgNzg0eDM2Ci0gICAg
ICAgIFJlbmRlckJSIHticn0gYXQgKDAsMCkgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQg
eyNjZGF0YS1zZWN0aW9ufSBhdCAoMCwxOCkgc2l6ZSAxMjJ4MTgKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggMTIyOiAiPHAgYWxpZ249XCJjZW50ZXJcIj4iCi0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sge3B9
IGF0ICgwLDg2KSBzaXplIDc4NHg3MgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEw
LDApIHNpemUgNzYzeDU0Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDEwLDApIHdpZHRoIDc2Mzog
IkhlcmUgeW91IGNhbiBsZWFybiB2YXJpb3VzIG1vYmlsZSB0ZWNobm9sb2dpZXMgbGlrZSBXQVAg
LyBXQVAgMi4wLCBXTUwsIFdNTFNjcmlwdCwgWEhUTUwgTVAsIFdDU1MgLyBXQVAiCi0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDE2LDE4KSB3aWR0aCA3NTI6ICJDU1MsIFVBUHJvZiBhbmQgU01TIHRo
cm91Z2ggb3VyIGZyZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBsZXMuIFRoaXMgd2Vi
IHNpdGUgY2FuIGhlbHAgd2ViIHByb2dyYW1tZXJzIHdobyIKLSAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMjIxLDM2KSB3aWR0aCAzNDE6ICJ3aXNoIHRvIGV4dGVuZCB0aGVpciBrbm93bGVkZ2UgdG8g
dGhlIHdpcmVsZXNzIHdvcmxkLiAiCi0gICAgICAgIFJlbmRlckJSIHticn0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDU0KSBzaXplIDExNjh4MTgK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMTE2ODogInh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4IgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAs
MTc0KSBzaXplIDc4NHgzNgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgwLDApIHNpemUgMHgx
OAotICAgICAgICBSZW5kZXJUZXh0IHsjY2RhdGEtc2VjdGlvbn0gYXQgKDAsMTgpIHNpemUgMTEz
eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDExMzogIjxwIGFsaWduPVwi
cmlnaHRcIj4iCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDIyNikgc2l6ZSA3ODR4NzIKLSAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgyMSwwKSBzaXplIDc2M3g1NAotICAgICAgICAgIHRleHQgcnVu
IGF0ICgyMSwwKSB3aWR0aCA3NjM6ICJIZXJlIHlvdSBjYW4gbGVhcm4gdmFyaW91cyBtb2JpbGUg
dGVjaG5vbG9naWVzIGxpa2UgV0FQIC8gV0FQIDIuMCwgV01MLCBXTUxTY3JpcHQsIFhIVE1MIE1Q
LCBXQ1NTIC8gV0FQIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgzMiwxOCkgd2lkdGggNzUyOiAi
Q1NTLCBVQVByb2YgYW5kIFNNUyB0aHJvdWdoIG91ciBmcmVlIHR1dG9yaWFscywgYXJ0aWNsZXMg
YW5kIGV4YW1wbGVzLiBUaGlzIHdlYiBzaXRlIGNhbiBoZWxwIHdlYiBwcm9ncmFtbWVycyB3aG8i
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDQ0MywzNikgd2lkdGggMzQxOiAid2lzaCB0byBleHRl
bmQgdGhlaXIga25vd2xlZGdlIHRvIHRoZSB3aXJlbGVzcyB3b3JsZC4gIgotICAgICAgICBSZW5k
ZXJCUiB7YnJ9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCw1NCkgc2l6ZSAxMTY4eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRo
IDExNjg6ICJ4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eCIKLSAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICgwLDMxNCkgc2l6ZSA3ODR4MzYKLSAgICAgICAgUmVuZGVyQlIg
e2JyfSBhdCAoMCwwKSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I2NkYXRhLXNlY3Rp
b259IGF0ICgwLDE4KSBzaXplIDEwNHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3
aWR0aCAxMDQ6ICI8cCBhbGlnbj1cImxlZnRcIj4iCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDM2Nikgc2l6
ZSA3ODR4NzIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzYzeDU0
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzYzOiAiSGVyZSB5b3UgY2FuIGxl
YXJuIHZhcmlvdXMgbW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdBUCAyLjAsIFdNTCwg
V01MU2NyaXB0LCBYSFRNTCBNUCwgV0NTUyAvIFdBUCIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwxOCkgd2lkdGggNzUyOiAiQ1NTLCBVQVByb2YgYW5kIFNNUyB0aHJvdWdoIG91ciBmcmVlIHR1
dG9yaWFscywgYXJ0aWNsZXMgYW5kIGV4YW1wbGVzLiBUaGlzIHdlYiBzaXRlIGNhbiBoZWxwIHdl
YiBwcm9ncmFtbWVycyB3aG8iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDM0
MTogIndpc2ggdG8gZXh0ZW5kIHRoZWlyIGtub3dsZWRnZSB0byB0aGUgd2lyZWxlc3Mgd29ybGQu
ICIKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsNTQpIHNpemUgMTE2OHgxOAotICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDU0KSB3aWR0aCAxMTY4OiAieHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgi
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvcC1tb2RlLWV4cGVjdGVk
LnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0
eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvcC1tb2RlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvcC1tb2RlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93
bWwvcC1tb2RlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw1NCArMCwwIEBACi1s
YXllciBhdCAoMCwwKSBzaXplIDE5NjR4NTg1Ci0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDE5NjR4NDkyCi0gIFJlbmRlckJsb2NrIHt3bWx9
IGF0ICgwLDApIHNpemUgODAweDQ5MgotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCw4KSBz
aXplIDc4NHg0NjgKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUg
Nzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyNjZGF0YS1zZWN0aW9ufSBhdCAoMCwwKSBzaXpl
IDMxNHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMxNDogIjxwPiBkZWZh
dWx0IG1vZGUgaXMgXCJ3cmFwXCIgZm9yIHRoZSBmaXJzdCBwIGVsZW1lbnQiCi0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sge3B9
IGF0ICgwLDM0KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAyODR4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyODQ6ICJU
ZXN0IGZvciBtb2RlIGF0dHJpYnV0ZSBvZiBwIGVsZW1lbnQgaW4gV01MIgotICAgICAgUmVuZGVy
QmxvY2sgKGFub255bW91cykgYXQgKDAsNjgpIHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRlckJS
IHticn0gYXQgKDAsMCkgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyNjZGF0YS1zZWN0
aW9ufSBhdCAoMCwxOCkgc2l6ZSAzNDh4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkg
d2lkdGggMzQ4OiAiPHA+IGl0IHdpbGwgdXNlIHRoZSBtb2RlIG9mIHByZXZpb3VzIHBhcmFncmFw
aCBlbGVtZW50IgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwxMjApIHNpemUgNzg0eDcyCi0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc2M3g1NAotICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDc2MzogIkhlcmUgeW91IGNhbiBsZWFybiB2YXJpb3VzIG1vYmlsZSB0
ZWNobm9sb2dpZXMgbGlrZSBXQVAgLyBXQVAgMi4wLCBXTUwsIFdNTFNjcmlwdCwgWEhUTUwgTVAs
IFdDU1MgLyBXQVAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDc1MjogIkNT
UywgVUFQcm9mIGFuZCBTTVMgdGhyb3VnaCBvdXIgZnJlZSB0dXRvcmlhbHMsIGFydGljbGVzIGFu
ZCBleGFtcGxlcy4gVGhpcyB3ZWIgc2l0ZSBjYW4gaGVscCB3ZWIgcHJvZ3JhbW1lcnMgd2hvIgot
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCAzNDE6ICJ3aXNoIHRvIGV4dGVuZCB0
aGVpciBrbm93bGVkZ2UgdG8gdGhlIHdpcmVsZXNzIHdvcmxkLiAiCi0gICAgICAgIFJlbmRlckJS
IHticn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDU0KSBzaXplIDE5NTZ4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMTk1
NjogIkhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEgiCi0g
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwyMDgpIHNpemUgNzg0eDM2Ci0gICAg
ICAgIFJlbmRlckJSIHticn0gYXQgKDAsMCkgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQg
eyNjZGF0YS1zZWN0aW9ufSBhdCAoMCwxOCkgc2l6ZSAxMzZ4MTgKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggMTM2OiAiPHAgbW9kZT1cIm5vd3JhcFwiPiIKLSAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9jayB7cH0g
YXQgKDAsMjYwKSBzaXplIDc4NHgzNgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAxODYweDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTg2MDog
IkhlcmUgeW91IGNhbiBsZWFybiB2YXJpb3VzIG1vYmlsZSB0ZWNobm9sb2dpZXMgbGlrZSBXQVAg
LyBXQVAgMi4wLCBXTUwsIFdNTFNjcmlwdCwgWEhUTUwgTVAsIFdDU1MgLyBXQVAgQ1NTLCBVQVBy
b2YgYW5kIFNNUyB0aHJvdWdoIG91ciBmcmVlIHR1dG9yaWFscywgYXJ0aWNsZXMgYW5kIGV4YW1w
bGVzLiBUaGlzIHdlYiBzaXRlIGNhbiBoZWxwIHdlYiBwcm9ncmFtbWVycyB3aG8gd2lzaCB0byBl
eHRlbmQgdGhlaXIga25vd2xlZGdlIHRvIHRoZSB3aXJlbGVzcyB3b3JsZC4iCi0gICAgICAgIFJl
bmRlckJSIHticn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDE4KSBzaXplIDE5NTZ4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lk
dGggMTk1NjogIkhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEgiCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzMTIpIHNpemUgNzg0eDE4
Ci0gICAgICAgIFJlbmRlclRleHQgeyNjZGF0YS1zZWN0aW9ufSBhdCAoMCwwKSBzaXplIDI5Nngx
OAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI5NjogIlRoZSBuZXh0IHR3byBw
YXJhZ3JhcGhzIHNob3VsZG4ndCBiZSB3cmFwcGVkIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwzNDYpIHNp
emUgNzg0eDM2Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE4NjB4
MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODYwOiAiSGVyZSB5b3UgY2Fu
IGxlYXJuIHZhcmlvdXMgbW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdBUCAyLjAsIFdN
TCwgV01MU2NyaXB0LCBYSFRNTCBNUCwgV0NTUyAvIFdBUCBDU1MsIFVBUHJvZiBhbmQgU01TIHRo
cm91Z2ggb3VyIGZyZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBsZXMuIFRoaXMgd2Vi
IHNpdGUgY2FuIGhlbHAgd2ViIHByb2dyYW1tZXJzIHdobyB3aXNoIHRvIGV4dGVuZCB0aGVpciBr
bm93bGVkZ2UgdG8gdGhlIHdpcmVsZXNzIHdvcmxkLiIKLSAgICAgICAgUmVuZGVyQlIge2JyfSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTgpIHNp
emUgMTk1NngxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAxOTU2OiAiSEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISCIKLSAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM5OCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVu
ZGVyQlIge2JyfSBhdCAoMCwwKSBzaXplIDB4MTgKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAo
MCw0MzIpIHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDE4NjB4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODYwOiAiSGVy
ZSB5b3UgY2FuIGxlYXJuIHZhcmlvdXMgbW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdB
UCAyLjAsIFdNTCwgV01MU2NyaXB0LCBYSFRNTCBNUCwgV0NTUyAvIFdBUCBDU1MsIFVBUHJvZiBh
bmQgU01TIHRocm91Z2ggb3VyIGZyZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBsZXMu
IFRoaXMgd2ViIHNpdGUgY2FuIGhlbHAgd2ViIHByb2dyYW1tZXJzIHdobyB3aXNoIHRvIGV4dGVu
ZCB0aGVpciBrbm93bGVkZ2UgdG8gdGhlIHdpcmVsZXNzIHdvcmxkLiIKLSAgICAgICAgUmVuZGVy
QlIge2JyfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMTgpIHNpemUgMTk1NngxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAx
OTU2OiAiSEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISCIK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9zZWxlY3QtZXhwZWN0ZWQu
cG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5
cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9zZWxlY3QtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9zZWxlY3QtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dt
bC9zZWxlY3QtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICswLDAgQEAKLWxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTE5Ci0gIFJlbmRlckJsb2NrIHt3bWx9IGF0
ICgwLDApIHNpemUgODAweDExOQotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwxNikgc2l6
ZSA3ODR4OTUKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgxOAotICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0MzN4MTgKLSAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0MzM6ICJWZXJ5IHNpbXBsZSB0ZXN0LCBjaGVja2luZyB0
aGF0IHNlbGVjdCBlbGVtZW50cyBhcmUgcmVuZGVyZWQgY29ycmVjdGx5IgotICAgICAgUmVuZGVy
QmxvY2sgKGFub255bW91cykgYXQgKDAsMzQpIHNpemUgNzg0eDYxCi0gICAgICAgIFJlbmRlckxp
c3RCb3gge3NlbGVjdH0gYXQgKDIsMikgc2l6ZSA0N3g1NyBbYmdjb2xvcj0jRkZGRkZGXSBbYm9y
ZGVyOiAoMXB4IGluc2V0ICM4MDgwODApXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDUxLDQwKSBzaXplIDR4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTEsNDApIHdpZHRoIDQ6
ICIgIgotICAgICAgICBSZW5kZXJNZW51TGlzdCB7c2VsZWN0fSBhdCAoNTcsNDEpIHNpemUgNjF4
MTggW2JnY29sb3I9I0ZGRkZGRl0KLSAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMCwwKSBzaXplIDYxeDE4Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICg4LDIpIHNpemUg
MzB4MTMKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMikgd2lkdGggMzA6ICJUZXN0MSIK
LSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvc2hvdy1maXJzdC1jYXJkLWV4cGVjdGVkLnBu
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBl
Lgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvc2hvdy1maXJzdC1jYXJkLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvc2hvdy1maXJz
dC1jYXJkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC93bWwvc2hvdy1maXJzdC1jYXJkLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwxMSArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDc2
Ci0gIFJlbmRlckJsb2NrIHt3bWx9IGF0ICgwLDApIHNpemUgODAweDc2Ci0gICAgUmVuZGVyQmxv
Y2sge2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHg1MgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0
ICgwLDApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDY3NHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDY3NDogIlRlc3Qg
Zm9yIHNob3dpbmcgdGhlIGZpcnN0IGNhcmQgb2Ygd21sIGRlY2sgaW4gZGVmYXVsdCB3aGVuIHlv
dSBkb2Vzbid0IHNwZWNpZnkgYW55IGNvcnJlY3QgVVJMIGZyYWdtZW50LiIKLSAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM0KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNjF4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCAyNjE6ICJJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIHRoaXMg
dGV4dC4iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxl
bWVudC1hbGlnbi1hdHRyaWJ1dGUtaW52YWxpZC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5u
b3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9
IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtYWxpZ24tYXR0cmlidXRlLWludmFsaWQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJs
ZS1lbGVtZW50LWFsaWduLWF0dHJpYnV0ZS1pbnZhbGlkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
ODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxlbWVu
dC1hbGlnbi1hdHRyaWJ1dGUtaW52YWxpZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsMjYgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyMDgKLSAgUmVu
ZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDIwOAotICAgIFJlbmRlckJvZHkge2Jv
ZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgxODQKLSAgICAgIFJlbmRlckJsb2NrIHtwYXJzZXJlcnJv
cn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBbYmdjb2xvcj0jRkZEREREXSBbYm9yZGVyOiAoMnB4
IHNvbGlkICNDQzc3NzcpXQotICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCwyMCkgc2l6
ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjR4
MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMyNDogIlRoaXMgcGFnZSBj
b250YWlucyB0aGUgZm9sbG93aW5nIGVycm9yczoiCi0gICAgICAgIFJlbmRlckJsb2NrIHtkaXZ9
IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4MTQKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA1ODh4MTQKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU4
ODogImVycm9yIG9uIGxpbmUgNiBhdCBjb2x1bW4gMzg6IEEgdmFyaWFibGUgcmVmZXJlbmNlIGlz
IHBsYWNlZCBpbiBhbiBpbnZhbGlkIGxvY2F0aW9uLiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2gz
fSBhdCAoMTgsOTIpIHNpemUgNzE2eDIyCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNDI5eDIyCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0
Mjk6ICJCZWxvdyBpcyBhIHJlbmRlcmluZyBvZiB0aGUgcGFnZSB1cCB0byB0aGUgZmlyc3QgZXJy
b3IuIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgw
Ci0gICAgICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgzNAotICAgICAgICBSZW5kZXJCbG9jayB7
Y2FyZH0gYXQgKDgsMCkgc2l6ZSA3Njh4MzQKLSAgICAgICAgICBSZW5kZXJCbG9jayB7cH0gYXQg
KDAsMCkgc2l6ZSA3Njh4MTgKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDMwMHgxOAotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMDA6
ICJUZXN0IGZvciB0YWJsZSBlbGVtZW50IGFuZCBpbnZhbGlkIGFsaWduIGF0dHJpYnV0ZSIKLSAg
ICAgICAgICBSZW5kZXJUYWJsZSB7dGFibGV9IGF0ICgwLDM0KSBzaXplIDR4MAotICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTkyKSBzaXplIDc4NHgwCi0gICAgICAgIFJlbmRl
cklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtZXhwZWN0ZWQu
cG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5
cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmli
dXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxl
LWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDEyNiArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDU5NgotICBS
ZW5kZXJCbG9jayB7d21sfSBhdCAoMCwwKSBzaXplIDgwMHg1OTYKLSAgICBSZW5kZXJCbG9jayB7
Y2FyZH0gYXQgKDgsMTYpIHNpemUgNzg0eDU3MgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgw
LDApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDI3NXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI3NTogIlRlc3QgZm9y
IHRhYmxlIGVsZW1lbnQgYW5kIGNvbHVtbnMgYXR0cmlidXRlIgotICAgICAgUmVuZGVyQmxvY2sg
e3B9IGF0ICgwLDM0KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAzNDB4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzNDA6
ICJUaGUgZmlyc3QgYW5kIHNlY29uZCByb3cgb2YgYWxsIHRlc3RzIHNob3VsZCBsb29rIGVxdWFs
IgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDY4KSBzaXplIDc4NHgxOAotICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NzN4MTgKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA0NzM6ICJUZXN0IDE6IEpvaW4gc3VwZXJmbG91cyBjb2x1bW5zLCBs
ZWZ0IGNlbGwgbGVmdCBhbGlnbmVkLCByaWdodCBjZWxsIHJpZ2h0IGFsaWduZWQiCi0gICAgICBS
ZW5kZXJUYWJsZSB7dGFibGV9IGF0ICgwLDEwMikgc2l6ZSAxODN4NDIKLSAgICAgICAgUmVuZGVy
VGFibGVTZWN0aW9uIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMTgzeDQyCi0gICAgICAgICAg
UmVuZGVyVGFibGVSb3cge3RyfSBhdCAoMCwyKSBzaXplIDE4M3gxOAotICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDIsMikgc2l6ZSA3OXgxOCBbcj0wIGM9MCBycz0xIGNzPTFd
Ci0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc5eDE4Ci0g
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzk6ICJGaXJzdCBjb2x1bW4i
Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoODMsMikgc2l6ZSA5OHgxOCBb
cj0wIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDk4eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
OTg6ICJTZWNvbmQgY29sdW1uIgotICAgICAgICAgIFJlbmRlclRhYmxlUm93IHt0cn0gYXQgKDAs
MjIpIHNpemUgMTgzeDE4Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoMiwy
Mikgc2l6ZSA3OXgxOCBbcj0xIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc5eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggNzk6ICJGaXJzdCBjb2x1bW4iCi0gICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge3RkfSBhdCAoODMsMjIpIHNpemUgOTh4MTggW3I9MSBjPTEgcnM9MSBjcz0xXQotICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA5OHgxOAotICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDk4OiAiU2Vjb25kIGNvbHVtbiIKLSAg
ICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwxNjApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ5OHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDQ5ODogIlRlc3QgMjogSm9pbiBzdXBlcmZsb3VzIGNvbHVtbnMgd2l0aCAn
YnInIGVsZW1lbnRzIGluc2lkZSwgdGFibGUgaXMgY2VudGVyIGFsaWduZWQiCi0gICAgICBSZW5k
ZXJUYWJsZSB7dGFibGV9IGF0ICgwLDE5NCkgc2l6ZSAxMDB4NzgKLSAgICAgICAgUmVuZGVyVGFi
bGVTZWN0aW9uIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMTAweDc4Ci0gICAgICAgICAgUmVu
ZGVyVGFibGVSb3cge3RyfSBhdCAoMCwyKSBzaXplIDEwMHgzNgotICAgICAgICAgICAgUmVuZGVy
VGFibGVDZWxsIHt0ZH0gYXQgKDIsMikgc2l6ZSA0N3gzNiBbcj0wIGM9MCBycz0xIGNzPTFdCi0g
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOSwwKSBzaXplIDI4eDE4Ci0gICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDksMCkgd2lkdGggMjg6ICJGaXJzdCIKLSAgICAgICAg
ICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMzcsMCkgc2l6ZSAweDE4Ci0gICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSA0N3gxOAotICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA0NzogImNvbHVtbiIKLSAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7dGR9IGF0ICg1MSwyKSBzaXplIDQ3eDM2IFtyPTAgYz0xIHJzPTEgY3M9MV0KLSAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDd4MTgKLSAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NzogIlNlY29uZCIKLSAgICAgICAg
ICAgICAgUmVuZGVyQlIge2JyfSBhdCAoNDcsMCkgc2l6ZSAweDE4Ci0gICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSA0N3gxOAotICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA0NzogImNvbHVtbiIKLSAgICAgICAgICBSZW5kZXJUYWJs
ZVJvdyB7dHJ9IGF0ICgwLDQwKSBzaXplIDEwMHgzNgotICAgICAgICAgICAgUmVuZGVyVGFibGVD
ZWxsIHt0ZH0gYXQgKDIsNDApIHNpemUgNDd4MzYgW3I9MSBjPTAgcnM9MSBjcz0xXQotICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDksMCkgc2l6ZSAyOHgxOAotICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg5LDApIHdpZHRoIDI4OiAiRmlyc3QiCi0gICAgICAgICAgICAg
IFJlbmRlckJSIHticn0gYXQgKDM3LDApIHNpemUgMHgxOAotICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMTgpIHNpemUgNDd4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggNDc6ICJjb2x1bW4iCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNl
bGwge3RkfSBhdCAoNTEsNDApIHNpemUgNDd4MzYgW3I9MSBjPTEgcnM9MSBjcz0xXQotICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0N3gxOAotICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ3OiAiU2Vjb25kIgotICAgICAgICAgICAg
ICBSZW5kZXJCUiB7YnJ9IGF0ICg0NywwKSBzaXplIDB4MTgKLSAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDE4KSBzaXplIDQ3eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMTgpIHdpZHRoIDQ3OiAiY29sdW1uIgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0
ICgwLDI4OCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgNTU5eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTU5OiAiVGVz
dCAzOiBKb2luIHN1cGVyZmxvdXMgY29sdW1ucyB3aXRoICdicicgYW5kICdpbWcnIGVsZW1lbnRz
IGluc2lkZSwgdGFibGUgaXMgY2VudGVyIGFsaWduZWQiCi0gICAgICBSZW5kZXJUYWJsZSB7dGFi
bGV9IGF0ICgwLDMyMikgc2l6ZSAzODN4NTQKLSAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIChh
bm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMzgzeDU0Ci0gICAgICAgICAgUmVuZGVyVGFibGVSb3cg
e3RyfSBhdCAoMCwyKSBzaXplIDM4M3gyNAotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHt0
ZH0gYXQgKDIsNSkgc2l6ZSA3OXgxOCBbcj0wIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc5eDE4Ci0gICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzk6ICJGaXJzdCBjb2x1bW4iCi0gICAgICAgICAgICBS
ZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoODMsMikgc2l6ZSAyOTh4MjQgW3I9MCBjPTEgcnM9MSBj
cz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNikgc2l6ZSAxNzZ4
MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2KSB3aWR0aCAxNzY6ICJTZWNvbmQg
Y29sdW1uIHdpdGggaW1hZ2UgIgotICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7aW1nfSBhdCAo
MTc2LDApIHNpemUgMjB4MjAKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
OTYsNikgc2l6ZSAxMDJ4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTk2LDYpIHdp
ZHRoIDEwMjogIiBhbmQgdHJhaWxpbmcgdGV4dCIKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7
dHJ9IGF0ICgwLDI4KSBzaXplIDM4M3gyNAotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHt0
ZH0gYXQgKDIsMzEpIHNpemUgNzl4MTggW3I9MSBjPTAgcnM9MSBjcz0xXQotICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3OXgxOAotICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc5OiAiRmlyc3QgY29sdW1uIgotICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDgzLDI4KSBzaXplIDI5OHgyNCBbcj0xIGM9MSBycz0x
IGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw2KSBzaXplIDE3
NngxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDYpIHdpZHRoIDE3NjogIlNlY29u
ZCBjb2x1bW4gd2l0aCBpbWFnZSAiCi0gICAgICAgICAgICAgIFJlbmRlckltYWdlIHtpbWd9IGF0
ICgxNzYsMCkgc2l6ZSAyMHgyMAotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDE5Niw2KSBzaXplIDEwMngxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOTYsNikg
d2lkdGggMTAyOiAiIGFuZCB0cmFpbGluZyB0ZXh0IgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0
ICgwLDM5Mikgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgNTUweDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTUwOiAiVGVz
dCA0OiBKb2luIHN1cGVyZmxvdXMgY29sdW1ucyB3aXRoICdicicgYW5kICdpbWcnIGVsZW1lbnRz
IGluc2lkZSwgdGFibGUgaXMgcmlnaHQgYWxpZ25lZCIKLSAgICAgIFJlbmRlclRhYmxlIHt0YWJs
ZX0gYXQgKDAsNDI2KSBzaXplIDM3OXg1NAotICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24gKGFu
b255bW91cykgYXQgKDAsMCkgc2l6ZSAzNzl4NTQKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7
dHJ9IGF0ICgwLDIpIHNpemUgMzc5eDI0Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3Rk
fSBhdCAoMiw1KSBzaXplIDc5eDE4IFtyPTAgYz0wIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzl4MTgKLSAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3OTogIkZpcnN0IGNvbHVtbiIKLSAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7dGR9IGF0ICg4MywyKSBzaXplIDI5NHgyNCBbcj0wIGM9MSBycz0xIGNz
PTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw2KSBzaXplIDE3Nngx
OAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDYpIHdpZHRoIDE3NjogIlNlY29uZCBj
b2x1bW4gd2l0aCBpbWFnZSAiCi0gICAgICAgICAgICAgIFJlbmRlckltYWdlIHtpbWd9IGF0ICgx
NzYsMCkgc2l6ZSAyMHgyMAotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE5
Niw2KSBzaXplIDk4eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE5Niw2KSB3aWR0
aCA5ODogImFuZCB0cmFpbGluZyB0ZXh0IgotICAgICAgICAgIFJlbmRlclRhYmxlUm93IHt0cn0g
YXQgKDAsMjgpIHNpemUgMzc5eDI0Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBh
dCAoMiwzMSkgc2l6ZSA3OXgxOCBbcj0xIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc5eDE4Ci0gICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggNzk6ICJGaXJzdCBjb2x1bW4iCi0gICAgICAgICAgICBSZW5k
ZXJUYWJsZUNlbGwge3RkfSBhdCAoODMsMjgpIHNpemUgMjk0eDI0IFtyPTEgYz0xIHJzPTEgY3M9
MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDYpIHNpemUgMTc2eDE4
Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNikgd2lkdGggMTc2OiAiU2Vjb25kIGNv
bHVtbiB3aXRoIGltYWdlICIKLSAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge2ltZ30gYXQgKDE3
NiwwKSBzaXplIDIweDIwCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTk2
LDYpIHNpemUgOTh4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTk2LDYpIHdpZHRo
IDk4OiAiYW5kIHRyYWlsaW5nIHRleHQiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsNDk2
KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0
MzR4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0MzQ6ICJUZXN0IDU6IFBh
ZCB3aXRoIGVtcHR5IGNvbHVtbnMsIGlmIHRoZXJlIGFyZSBub3QgZW5vdWdoICd0ZCcgZWxlbWVu
dHMiCi0gICAgICBSZW5kZXJUYWJsZSB7dGFibGV9IGF0ICgwLDUzMCkgc2l6ZSA4Nng0MgotICAg
ICAgICBSZW5kZXJUYWJsZVNlY3Rpb24gKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA4Nng0Mgot
ICAgICAgICAgIFJlbmRlclRhYmxlUm93IHt0cn0gYXQgKDAsMikgc2l6ZSA4NngxOAotICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDIsMikgc2l6ZSA4MHgxOCBbcj0wIGM9MCBy
cz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDc5eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzk6ICJGaXJz
dCBjb2x1bW4iCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoODQsMTEpIHNp
emUgMHgwIFtyPTAgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7dHJ9
IGF0ICgwLDIyKSBzaXplIDg2eDE4Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBh
dCAoMiwyMikgc2l6ZSA4MHgxOCBbcj0xIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc5eDE4Ci0gICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggNzk6ICJGaXJzdCBjb2x1bW4iCi0gICAgICAgICAgICBSZW5k
ZXJUYWJsZUNlbGwge3RkfSBhdCAoODQsMzEpIHNpemUgMHgwIFtyPTEgYz0xIHJzPTEgY3M9MV0K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNv
bHVtbnMtYXR0cmlidXRlLWludmFsaWQtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRp
c3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBs
aWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWludmFsaWQtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1l
bGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWludmFsaWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4
NTE2NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50
LWNvbHVtbnMtYXR0cmlidXRlLWludmFsaWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDI2ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjA4Ci0gIFJl
bmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHgyMDgKLSAgICBSZW5kZXJCb2R5IHti
b2R5fSBhdCAoOCwxNikgc2l6ZSA3ODR4MTg0Ci0gICAgICBSZW5kZXJCbG9jayB7cGFyc2VyZXJy
b3J9IGF0ICgxNiwwKSBzaXplIDc1MngxMzQgW2JnY29sb3I9I0ZGRERERF0gW2JvcmRlcjogKDJw
eCBzb2xpZCAjQ0M3Nzc3KV0KLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsMjApIHNp
emUgNzE2eDIyCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzI0
eDIyCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjQ6ICJUaGlzIHBhZ2Ug
Y29udGFpbnMgdGhlIGZvbGxvd2luZyBlcnJvcnM6IgotICAgICAgICBSZW5kZXJCbG9jayB7ZGl2
fSBhdCAoMTgsNjApIHNpemUgNzE2eDE0Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNTMyeDE0Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1
MzI6ICJlcnJvciBvbiBsaW5lIDYgYXQgY29sdW1uIDMyOiBBIHRhYmxlIGNvbnRhaW5zIGFuIGlu
dmFsaWQgbnVtYmVyIG9mIGNvbHVtbnMuIgotICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgx
OCw5Mikgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSA0Mjl4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQyOTogIkJl
bG93IGlzIGEgcmVuZGVyaW5nIG9mIHRoZSBwYWdlIHVwIHRvIHRoZSBmaXJzdCBlcnJvci4iCi0g
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDAKLSAgICAg
ICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDM0Ci0gICAgICAgIFJlbmRlckJsb2NrIHtjYXJkfSBh
dCAoOCwwKSBzaXplIDc2OHgzNAotICAgICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBz
aXplIDc2OHgxOAotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MzIyeDE4Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMyMjogIlRlc3Qg
Zm9yIHRhYmxlIGVsZW1lbnQgYW5kIGludmFsaWQgY29sdW1ucyBhdHRyaWJ1dGUiCi0gICAgICAg
ICAgUmVuZGVyVGFibGUge3RhYmxlfSBhdCAoMCwzNCkgc2l6ZSA0eDAKLSAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICgwLDE5Mikgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxp
bmUge3dtbH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWludmFsaWQtbnVtYmVy
LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBh
IGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1
bW5zLWF0dHJpYnV0ZS1pbnZhbGlkLW51bWJlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1h
dHRyaWJ1dGUtaW52YWxpZC1udW1iZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMt
YXR0cmlidXRlLWludmFsaWQtbnVtYmVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwyNiArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDIwOAotICBSZW5k
ZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjA4Ci0gICAgUmVuZGVyQm9keSB7Ym9k
eX0gYXQgKDgsMTYpIHNpemUgNzg0eDE4NAotICAgICAgUmVuZGVyQmxvY2sge3BhcnNlcmVycm9y
fSBhdCAoMTYsMCkgc2l6ZSA3NTJ4MTM0IFtiZ2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHgg
c29saWQgI0NDNzc3NyldCi0gICAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQgKDE4LDIwKSBzaXpl
IDcxNngyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyNHgy
MgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzI0OiAiVGhpcyBwYWdlIGNv
bnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2Rpdn0g
YXQgKDE4LDYwKSBzaXplIDcxNngxNAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDUzMngxNAotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTMy
OiAiZXJyb3Igb24gbGluZSA2IGF0IGNvbHVtbiAzMjogQSB0YWJsZSBjb250YWlucyBhbiBpbnZh
bGlkIG51bWJlciBvZiBjb2x1bW5zLiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgs
OTIpIHNpemUgNzE2eDIyCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgNDI5eDIyCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0Mjk6ICJCZWxv
dyBpcyBhIHJlbmRlcmluZyBvZiB0aGUgcGFnZSB1cCB0byB0aGUgZmlyc3QgZXJyb3IuIgotICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgwCi0gICAgICAg
IFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDAsMTUwKSBzaXplIDc4NHgzNAotICAgICAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQg
KDgsMCkgc2l6ZSA3Njh4MzQKLSAgICAgICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6
ZSA3Njh4MTgKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMy
MngxOAotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjI6ICJUZXN0IGZv
ciB0YWJsZSBlbGVtZW50IGFuZCBpbnZhbGlkIGNvbHVtbnMgYXR0cmlidXRlIgotICAgICAgICAg
IFJlbmRlclRhYmxlIHt0YWJsZX0gYXQgKDAsMzQpIHNpemUgNHgwCi0gICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwxOTIpIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5l
IHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1taXNzaW5nLWV4cGVjdGVk
LnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0
eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJp
YnV0ZS1taXNzaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1taXNzaW5n
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1taXNzaW5nLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyNiArMCwwIEBACi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDIwOAotICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4
MDB4MjA4Ci0gICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTYpIHNpemUgNzg0eDE4NAotICAg
ICAgUmVuZGVyQmxvY2sge3BhcnNlcmVycm9yfSBhdCAoMTYsMCkgc2l6ZSA3NTJ4MTM0IFtiZ2Nv
bG9yPSNGRkRERERdIFtib3JkZXI6ICgycHggc29saWQgI0NDNzc3NyldCi0gICAgICAgIFJlbmRl
ckJsb2NrIHtoM30gYXQgKDE4LDIwKSBzaXplIDcxNngyMgotICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyNHgyMgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMzI0OiAiVGhpcyBwYWdlIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiIK
LSAgICAgICAgUmVuZGVyQmxvY2sge2Rpdn0gYXQgKDE4LDYwKSBzaXplIDcxNngxNAotICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDUzMngxNAotICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTMyOiAiZXJyb3Igb24gbGluZSA2IGF0IGNvbHVtbiAy
NjogQSB0YWJsZSBjb250YWlucyBhbiBpbnZhbGlkIG51bWJlciBvZiBjb2x1bW5zLiIKLSAgICAg
ICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsOTIpIHNpemUgNzE2eDIyCi0gICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDI5eDIyCi0gICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA0Mjk6ICJCZWxvdyBpcyBhIHJlbmRlcmluZyBvZiB0aGUgcGFnZSB1
cCB0byB0aGUgZmlyc3QgZXJyb3IuIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDAsMTUwKSBzaXplIDc4NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgzNAotICAg
ICAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMCkgc2l6ZSA3Njh4MzQKLSAgICAgICAgICBS
ZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3Njh4MTgKLSAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyN3gxOAotICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAzMjc6ICJUZXN0IGZvciB0YWJsZSBlbGVtZW50IGFuZCBtaXNzaW5nIGNv
bHVtbnMgYXR0cmlidXRlIgotICAgICAgICAgIFJlbmRlclRhYmxlIHt0YWJsZX0gYXQgKDAsMzQp
IHNpemUgNHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxOTIpIHNpemUg
Nzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1leHBlY3Rl
ZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkg
dHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1l
bGVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNTQgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyMzAK
LSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjMwCi0gICAgUmVuZGVyQmxv
Y2sge2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHgxOTgKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBh
dCAoMCwwKSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxOTV4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxOTU6ICJUZXN0
IGZvciB0YWJsZSBlbGVtZW50IGluIFdNTCIKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwz
NCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
Nzl4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3OTogInNvdXJjZSBjb2Rl
OiIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDY4KSBzaXplIDc4NHgzNgot
ICAgICAgICBSZW5kZXJUZXh0IHsjY2RhdGEtc2VjdGlvbn0gYXQgKDAsMCkgc2l6ZSA3NjV4MzYK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMzA6ICI8dGFibGUgY29sdW1ucz1c
IjNcIiBhbGlnbj1cIkxSUlwiPiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDIzMCwwKSB3aWR0
aCAzMTogIjx0cj4gIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgyNjEsMCkgd2lkdGggMTIxOiAi
PHRkPkNlbGwgb25lPC90ZD4gIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgzODIsMCkgd2lkdGgg
MTkyOiAiPHRkPkM8YnIvPmVsbDxici8+IHR3bzwvdGQ+ICIKLSAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNTc0LDApIHdpZHRoIDEyOTogIjx0ZD5DZWxsIHRocmVlPC90ZD4gIgotICAgICAgICAgIHRl
eHQgcnVuIGF0ICg3MDMsMCkgd2lkdGggMzU6ICI8L3RyPiAiCi0gICAgICAgICAgdGV4dCBydW4g
YXQgKDczOCwwKSB3aWR0aCAyNzogIjx0cj4iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgp
IHdpZHRoIDk5OiAiPHRkPiBvbmUgPC90ZD4gIgotICAgICAgICAgIHRleHQgcnVuIGF0ICg5OSwx
OCkgd2lkdGggMzg6ICI8dGQvPiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDEzNywxOCkgd2lk
dGggMTE0OiAiPHRkPkMgdGhyZWU8L3RkPiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDI1MSwx
OCkgd2lkdGggMzU6ICI8L3RyPiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDI4NiwxOCkgd2lk
dGggNTY6ICI8L3RhYmxlPiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBS
ZW5kZXJCbG9jayB7cH0gYXQgKDAsMTIwKSBzaXplIDc4NHg3OAotICAgICAgICBSZW5kZXJUYWJs
ZSB7dGFibGV9IGF0ICgwLDApIHNpemUgMTQ2eDc4Ci0gICAgICAgICAgUmVuZGVyVGFibGVTZWN0
aW9uIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMTQ2eDc4Ci0gICAgICAgICAgICBSZW5kZXJU
YWJsZVJvdyB7dHJ9IGF0ICgwLDIpIHNpemUgMTQ2eDU0Ci0gICAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7dGR9IGF0ICgyLDIwKSBzaXplIDUzeDE4IFtyPTAgYz0wIHJzPTEgY3M9MV0KLSAg
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1M3gxOAotICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTM6ICJDZWxsIG9uZSIKLSAg
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDU3LDIpIHNpemUgMjR4NTQgW3I9
MCBjPTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MTMsMCkgc2l6ZSAxMXgxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzLDApIHdp
ZHRoIDExOiAiQyIKLSAgICAgICAgICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgyNCwwKSBzaXpl
IDB4MTgKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDksMTgpIHNpemUg
MTV4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5LDE4KSB3aWR0aCAxNTogImVs
bCIKLSAgICAgICAgICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgyNCwxOCkgc2l6ZSAweDE4Ci0g
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDM2KSBzaXplIDI0eDE4Ci0g
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggMjQ6ICJ0d28iCi0gICAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICg4MywyMCkgc2l6ZSA2MXgxOCBbcj0w
IGM9MiBycz0xIGNzPTFdCi0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgNjF4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDYxOiAiQ2VsbCB0aHJlZSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHt0cn0gYXQgKDAs
NTgpIHNpemUgMTQ2eDE4Ci0gICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICgy
LDU4KSBzaXplIDUzeDE4IFtyPTEgYz0wIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyM3gxOAotICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMjM6ICJvbmUiCi0gICAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7dGR9IGF0ICg1Nyw2Nykgc2l6ZSAyNHgwIFtyPTEgYz0xIHJzPTEgY3M9MV0KLSAgICAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDgzLDU4KSBzaXplIDYxeDE4IFtyPTEg
Yz0yIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE1
LDApIHNpemUgNDZ4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNSwwKSB3aWR0
aCA0NjogIkMgdGhyZWUiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwv
dGFzay1ub29wLWluLWRvLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBm
aWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24v
b2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFz
ay1ub29wLWluLWRvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC93bWwvdGFzay1ub29wLWluLWRvLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
ODUxNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFzay1ub29wLWlu
LWRvLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi1sYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDg0Ci0gIFJlbmRlckJsb2NrIHt3bWx9IGF0ICgwLDAp
IHNpemUgODAweDg0Ci0gICAgUmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHg1
MgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI3MXgxOAotICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDI3MTogIlRlc3QgZm9yIE5vb3AgdGFzayBpbiBkbyBlbGVtZW50IG9m
IFdNTC4iCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMzQpIHNpemUgNzg0eDE4Ci0gICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMxMHgxOAotICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDMxMDogIklmIGl0IHBhc3NlcywgeW91IHNob3VsZCBub3Qg
c2VlIHRoZSBcIkJhY2tcIiBidXR0b24iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMCw2OCkgc2l6ZSA3ODR4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL3Rlc3QtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFy
a2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1z
dHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90ZXN0LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwv
dGVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL3Rlc3QtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3
ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTEwCi0gIFJlbmRlckJs
b2NrIHt3bWx9IGF0ICgwLDApIHNpemUgODAweDExMAotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBh
dCAoOCwxNikgc2l6ZSA3ODR4ODYKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXpl
IDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNzV4MTgK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzNzU6ICJUaGlzIHBhZ2UgaXMgYXNz
aXN0YW50IHBhZ2UuIE1hbnkgdGVzdCBwYWdlcyB3aWxsIGp1bXAgaGVyZS4iCi0gICAgICBSZW5k
ZXJCbG9jayB7cH0gYXQgKDAsMzQpIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDI4NngxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDI4NjogIkNsaWNrIFwiQmFja1wiIHRvIGdvIGJhY2sgdG8gdGhlIHByZXZpb3VzIHBhZ2Ui
Ci0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw2OCkgc2l6ZSA3ODR4MTgKLSAg
ICAgICAgUmVuZGVySW5saW5lIHthbmNob3J9IGF0ICgwLDApIHNpemUgMzN4MTggW2NvbG9yPSMw
MDAwRUVdCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzN4MTgK
LSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMzOiAiQmFjayIKLSAgICAgICAg
ICBSZW5kZXJJbmxpbmUge3ByZXZ9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvd21sL3RleHQtZW1waGFzaXMtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90
IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBh
cHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3dtbC90ZXh0LWVtcGhhc2lzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGV4dC1lbXBoYXNpcy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RleHQt
ZW1waGFzaXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUxICswLDAgQEAKLWxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzAyCi0gIFJlbmRlckJsb2NrIHt3bWx9IGF0
ICgwLDApIHNpemUgODAweDMwMgotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwxNikgc2l6
ZSA3ODR4MjczCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTk4eDE4Ci0gICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTk4OiAiVGVzdCBmb3IgdGV4dCBlbXBoYXNpcyBvZiBX
TUwiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMzQpIHNpemUgNzg0eDE0OAotICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NHgxOAotICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDQ0OiAibm9ybWFsIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0
ICg0NCwwKSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVySW5saW5lIHtlbX0gYXQgKDAsMCkgc2l6
ZSA3NHgxOAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSA3NHgx
OAotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDc0OiAiZW1waGFzaXplZCIK
LSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoNzQsMTgpIHNpemUgMHgxOAotICAgICAgICBSZW5k
ZXJJbmxpbmUge3N0cm9uZ30gYXQgKDAsMCkgc2l6ZSA0M3gxOAotICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwzNikgc2l6ZSA0M3gxOAotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMzYpIHdpZHRoIDQzOiAic3Ryb25nIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICg0Mywz
Nikgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlcklubGluZSB7Yn0gYXQgKDAsMCkgc2l6ZSAzMHgx
OAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1NCkgc2l6ZSAzMHgxOAotICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDMwOiAiYm9sZCIKLSAgICAgICAgUmVu
ZGVyQlIge2JyfSBhdCAoMzAsNTQpIHNpemUgMHgxOAotICAgICAgICBSZW5kZXJJbmxpbmUge2l9
IGF0ICgwLDApIHNpemUgMzF4MTgKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
NzIpIHNpemUgMzF4MTgKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDcyKSB3aWR0aCAzMTog
Iml0YWxpYyIKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMzEsNzIpIHNpemUgMHgxOAotICAg
ICAgICBSZW5kZXJJbmxpbmUge3V9IGF0ICgwLDApIHNpemUgNTl4MTgKLSAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsOTApIHNpemUgNTl4MTgKLSAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDkwKSB3aWR0aCA1OTogInVuZGVybGluZSIKLSAgICAgICAgUmVuZGVyQlIge2JyfSBh
dCAoNTksOTApIHNpemUgMHgxOAotICAgICAgICBSZW5kZXJJbmxpbmUge2JpZ30gYXQgKDAsMCkg
c2l6ZSAyNXgyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMDgpIHNpemUg
MjV4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEwOCkgd2lkdGggMjU6ICJiaWciCi0g
ICAgICAgIFJlbmRlckJSIHticn0gYXQgKDI1LDExMSkgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRl
cklubGluZSB7c21hbGx9IGF0ICgwLDApIHNpemUgMjl4MTUKLSAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMTMyKSBzaXplIDI5eDE1Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwxMzIpIHdpZHRoIDI5OiAic21hbGwiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sge3ByZX0gYXQgKDAsMTk4KSBzaXplIDc4
NHg3NQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNzZ4NzUKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMDg6ICIgIFRoaXMgdGV4dCwgc2hvdWxk
IGFwcGVhciIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjA4LDApIHdpZHRoIDA6ICIgIgotICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDE1KSB3aWR0aCAxNjogImFzIgotICAgICAgICAgIHRleHQg
cnVuIGF0ICgxNiwxNSkgd2lkdGggMDogIiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzAp
IHdpZHRoIDI0OiAicHJlIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgyNCwzMCkgd2lkdGggMDog
IiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNDUpIHdpZHRoIDcyOiAiZm9ybWF0dGVkIgot
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3Miw0NSkgd2lkdGggMDogIiAiCi0gICAgICAgICAgdGV4
dCBydW4gYXQgKDAsNjApIHdpZHRoIDM3NjogIiAgICAgICAgICAgdGV4dCwgcHJlc2VydmluZyBh
bnkgd2hpdGUgICAgc3BhY2UuIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL3ZhbGlkYXRlLWR0ZC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTog
ZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9u
L29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3Zh
bGlkYXRlLWR0ZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL3ZhbGlkYXRlLWR0ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MTY2
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3ZhbGlkYXRlLWR0ZC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBh
dCAoMCwwKSBzaXplIDgwMHgxNjYKLSAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUg
ODAweDE2NgotICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgxMzQKLSAg
ICAgIFJlbmRlckJsb2NrIHtwYXJzZXJlcnJvcn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBbYmdj
b2xvcj0jRkZEREREXSBbYm9yZGVyOiAoMnB4IHNvbGlkICNDQzc3NzcpXQotICAgICAgICBSZW5k
ZXJCbG9jayB7aDN9IGF0ICgxOCwyMCkgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjR4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDMyNDogIlRoaXMgcGFnZSBjb250YWlucyB0aGUgZm9sbG93aW5nIGVycm9yczoi
Ci0gICAgICAgIFJlbmRlckJsb2NrIHtkaXZ9IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4MTQKLSAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNjR4MTQKLSAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM2NDogImVycm9yIG9uIGxpbmUgMiBhdCBjb2x1bW4g
MTAzOiBJbnZhbGlkIERURCBQdWJsaWMgSUQiCi0gICAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQg
KDE4LDkyKSBzaXplIDcxNngyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDQyOXgyMgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDI5OiAi
QmVsb3cgaXMgYSByZW5kZXJpbmcgb2YgdGhlIHBhZ2UgdXAgdG8gdGhlIGZpcnN0IGVycm9yLiIK
SW5kZXg6IExheW91dFRlc3RzL3dtbC9hY2Nlc3MtdGFyZ2V0LWRlbnktZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9hY2Nlc3MtdGFyZ2V0LWRlbnktZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9hY2Nlc3MtdGFyZ2V0LWRl
bnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE5ICswLDAgQEAKLVdNTCBsYXlv
dXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmcKLQotCi1UZXN0cyBhY2Nlc3MgY29udHJv
bCBzdXBwb3J0Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6
ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi1TdGFydCB0ZXN0
Ci1UZXN0IGZvciBEZWNrIEFjY2VzcyBjb250cm9sIGluIFdNTC4KLUlmIHRoZSB0ZXN0IHBhc3Nl
cywgdGhpcyBkZWNrIHdpbGwgcmVtYWluIHZpc2libGUKSW5kZXg6IExheW91dFRlc3RzL3dtbC9h
Y2Nlc3MtdGFyZ2V0LWRlbnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvYWNj
ZXNzLXRhcmdldC1kZW55Lmh0bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvd21s
L2FjY2Vzcy10YXJnZXQtZGVueS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgot
PGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVz
dHMgPSAiLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9XTUxUZXN0Q2FzZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGxheW91dCB0ZXN0cyAt
IHVzaW5nIFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hY2Nlc3Mt
dGFyZ2V0LWRlbnkuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvd21sL2FjY2Vzcy10YXJnZXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dtbC9hY2Nlc3MtdGFyZ2V0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisr
KyBMYXlvdXRUZXN0cy93bWwvYWNjZXNzLXRhcmdldC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTggKzAsMCBAQAotV01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlw
dGluZwotCi0KLVRlc3RzIGFjY2VzcyBjb250cm9sIHN1cHBvcnQKLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUw
LS0+LS0+JwotLS0tLS0tLS0KLVRlc3QgZm9yIERlY2sgQWNjZXNzIGNvbnRyb2wgaW4gV01MLgot
VGhpcyBpcyB0aGUgbG9ja2VkIHRhcmdldCBkZWNrLCBvbmx5ICdhY2Nlc3MtdGFyZ2V0LndtbCIg
Y2FuIGFjY2VzcyBtZQpJbmRleDogTGF5b3V0VGVzdHMvd21sL2FjY2Vzcy10YXJnZXQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvYWNjZXNzLXRhcmdldC5odG1sCShyZXZpc2lv
biA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9hY2Nlc3MtdGFyZ2V0Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdD52YXIg
cmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nPC9oMT4KLTxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL2FjY2Vzcy10YXJnZXQuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL2VudGVyLWNhcmQtd2l0aC1ldmVudHMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9lbnRlci1jYXJkLXdpdGgtZXZl
bnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwvZW50
ZXItY2FyZC13aXRoLWV2ZW50cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTcg
KzAsMCBAQAotV01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZwotCi0KLVRl
c3RzIGVudGVyaW5nIGNhcmRzIGluIGZvcndhcmQgYW5kIGJhY2t3YXJkIGRpcmVjdGlvbnMgdGhh
dCBoYXZlIGludHJpbnNpYyBldmVudHMgc2V0Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQot
Ci0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0t
LS0tLS0tCi1UZXN0IDIvMiBQQVNTRUQuCkluZGV4OiBMYXlvdXRUZXN0cy93bWwvZW50ZXItY2Fy
ZC13aXRoLWV2ZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9lbnRlci1j
YXJkLXdpdGgtZXZlbnRzLmh0bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvd21s
L2VudGVyLWNhcmQtd2l0aC1ldmVudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCww
IEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRt
bD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZhciByZWxhdGl2ZVBhdGhUb0xheW91
dFRlc3RzID0gIi4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvV01MVGVzdENh
c2UuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPldNTCBsYXlvdXQgdGVz
dHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZW50
ZXItY2FyZC13aXRoLWV2ZW50cy5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93bWwvZW50ZXItZmlyc3QtY2FyZC13aXRoLWV2ZW50cy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL2VudGVyLWZpcnN0LWNhcmQtd2l0aC1l
dmVudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9l
bnRlci1maXJzdC1jYXJkLXdpdGgtZXZlbnRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSwxNyArMCwwIEBACi1XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5n
Ci0KLQotVGVzdHMgZW50ZXJpbmcgZmlyc3QgY2FyZCBiYWNrd2FyZHMgdGhhdCBoYXMgaW50cmlu
c2ljIGV2ZW50cyBzZXQKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1G
cmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0KLVRlc3Qg
Mi8yIFBBU1NFRC4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9lbnRlci1maXJzdC1jYXJkLXdpdGgt
ZXZlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL2VudGVyLWZpcnN0LWNh
cmQtd2l0aC1ldmVudHMuaHRtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwv
ZW50ZXItZmlyc3QtY2FyZC13aXRoLWV2ZW50cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
LTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRv
TGF5b3V0VGVzdHMgPSAiLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9XTUxU
ZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGxheW91
dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9lbnRlci1maXJzdC1jYXJkLXdpdGgtZXZlbnRzLmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwt
ZGVjay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL2dvLXRhc2st
Z2V0LW1ldGhvZC1leHRlcm5hbC1kZWNrLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYpCisr
KyBMYXlvdXRUZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2stZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICswLDAgQEAKLVdNTCBsYXlvdXQgdGVzdHMg
LSB1c2luZyBYSFRNTCBzY3JpcHRpbmcKLQotCi1UZXN0cyBHRVQgbWV0aG9kIG9mIDxnbz4gZWxl
bWVudCAtIGp1bXAgdG8gZXh0ZXJuYWwgZGVjawotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
LQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0t
LS0tLS0tLQotVGhpcyBpcyB0aGUgZmlyc3QgZXh0ZXJuYWwgY2FyZC4KSW5kZXg6IExheW91dFRl
c3RzL3dtbC9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVjay13aXRoLWhyZWYtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9nby10YXNrLWdldC1tZXRob2Qt
ZXh0ZXJuYWwtZGVjay13aXRoLWhyZWYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysr
IExheW91dFRlc3RzL3dtbC9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVjay13aXRoLWhy
ZWYtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICswLDAgQEAKLVdNTCBsYXlv
dXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmcKLQotCi1UZXN0cyBHRVQgbWV0aG9kIG9m
IDxnbz4gZWxlbWVudCAtIGp1bXAgdG8gZXh0ZXJuYWwgZGVjayB0byBhIHNwZWNpZmljIGNhcmQK
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0KLVRoaXMgaXMgdGhlIHNlY29uZCBl
eHRlcm5hbCBjYXJkLgpJbmRleDogTGF5b3V0VGVzdHMvd21sL2dvLXRhc2stZ2V0LW1ldGhvZC1l
eHRlcm5hbC1kZWNrLXdpdGgtaHJlZi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dt
bC9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVjay13aXRoLWhyZWYuaHRtbAkocmV2aXNp
b24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFs
LWRlY2std2l0aC1ocmVmLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVh
ZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9
ICIuLiI7PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNp
bmcgWEhUTUwgc2NyaXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0
LW1ldGhvZC1leHRlcm5hbC1kZWNrLXdpdGgtaHJlZi5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFs
LWRlY2suaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0
aG9kLWV4dGVybmFsLWRlY2suaHRtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93
bWwvZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2suaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZhciByZWxhdGl2
ZVBhdGhUb0xheW91dFRlc3RzID0gIi4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPldN
TCBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2suanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL2dvLXRhc2stZ2V0LW1ldGhv
ZC1zYW1lLWRlY2stZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9n
by10YXNrLWdldC1tZXRob2Qtc2FtZS1kZWNrLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYp
CisrKyBMYXlvdXRUZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLXNhbWUtZGVjay1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzAsMCBAQAotV01MIGxheW91dCB0ZXN0cyAt
IHVzaW5nIFhIVE1MIHNjcmlwdGluZwotCi0KLVRlc3RzIEdFVCBtZXRob2Qgb2YgPGdvPiBlbGVt
ZW50IC0ganVtcCB3aXRoaW4gZGVjawotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0t
LS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0t
LQotVGVzdCBwYXNzZWQKSW5kZXg6IExheW91dFRlc3RzL3dtbC9nby10YXNrLWdldC1tZXRob2Qt
c2FtZS1kZWNrLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL2dvLXRhc2stZ2V0
LW1ldGhvZC1zYW1lLWRlY2suaHRtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93
bWwvZ28tdGFzay1nZXQtbWV0aG9kLXNhbWUtZGVjay5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDE1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0
aFRvTGF5b3V0VGVzdHMgPSAiLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9X
TUxUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGxh
eW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9nby10YXNrLWdldC1tZXRob2Qtc2FtZS1kZWNrLmpzIj48L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9pbnB1dC1mb3JtYXQtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9pbnB1dC1mb3JtYXQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9pbnB1dC1mb3JtYXQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUzICswLDAgQEAKLVdNTCBsYXlvdXQgdGVzdHMg
LSB1c2luZyBYSFRNTCBzY3JpcHRpbmcKLQotCi1UZXN0cyBpbnB1dCBmb3JtYXQgdmFsaWRhdGlv
bgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBwRWxlbWVudDEudGV4dENv
bnRlbnQgaXMgIlJlc3VsdDogJGlucHV0MSIKLVBBU1MgcEVsZW1lbnQyLnRleHRDb250ZW50IGlz
ICJSZXN1bHQ6ICRpbnB1dDIiCi1QQVNTIHBFbGVtZW50My50ZXh0Q29udGVudCBpcyAiUmVzdWx0
OiAkaW5wdXQzIgotUEFTUyBwRWxlbWVudDQudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogJGlucHV0
NCIKLVBBU1MgcEVsZW1lbnQ1LnRleHRDb250ZW50IGlzICJSZXN1bHQ6ICRpbnB1dDUiCi1QQVNT
IHBFbGVtZW50Ni50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiAkaW5wdXQ2IgotUEFTUyBwRWxlbWVu
dDcudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogJGlucHV0NyIKLVBBU1MgcEVsZW1lbnQ4LnRleHRD
b250ZW50IGlzICJSZXN1bHQ6ICRpbnB1dDgiCi1QQVNTIHBFbGVtZW50OS50ZXh0Q29udGVudCBp
cyAiUmVzdWx0OiAkaW5wdXQ5IgotUEFTUyBwRWxlbWVudDEwLnRleHRDb250ZW50IGlzICJSZXN1
bHQ6ICRpbnB1dDEwIgotUEFTUyBwRWxlbWVudDExLnRleHRDb250ZW50IGlzICJSZXN1bHQ6ICRp
bnB1dDExIgotUEFTUyBwRWxlbWVudDEyLnRleHRDb250ZW50IGlzICJSZXN1bHQ6ICRpbnB1dDEy
IgotUEFTUyBwRWxlbWVudDEudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogVGVTdDAtMDEiCi1QQVNT
IHBFbGVtZW50Mi50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiBUZVN0MC0wMiIKLVBBU1MgcEVsZW1l
bnQzLnRleHRDb250ZW50IGlzICJSZXN1bHQ6IFRlU3QtKzAzIgotUEFTUyBwRWxlbWVudDQudGV4
dENvbnRlbnQgaXMgIlJlc3VsdDogVGVTdDAtMDQiCi1QQVNTIHBFbGVtZW50NS50ZXh0Q29udGVu
dCBpcyAiUmVzdWx0OiBUZVN0MC0wNSIKLVBBU1MgcEVsZW1lbnQ2LnRleHRDb250ZW50IGlzICJS
ZXN1bHQ6ICIKLVBBU1MgcEVsZW1lbnQ3LnRleHRDb250ZW50IGlzICJSZXN1bHQ6ICIKLVBBU1Mg
cEVsZW1lbnQ4LnRleHRDb250ZW50IGlzICJSZXN1bHQ6IFRlU3QwLTA4IgotUEFTUyBwRWxlbWVu
dDkudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogVGVTdDAtMDkiCi1QQVNTIHBFbGVtZW50MTAudGV4
dENvbnRlbnQgaXMgIlJlc3VsdDogMDEyMzQ1Njc4OSIKLVBBU1MgcEVsZW1lbnQxMS50ZXh0Q29u
dGVudCBpcyAiUmVzdWx0OiBUZVN0MC0xMSIKLVBBU1MgcEVsZW1lbnQxMi50ZXh0Q29udGVudCBp
cyAiUmVzdWx0OiBUZVN0MC0xMiIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0t
ZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0KLVN0YXJ0IHRlc3QKLVJlc3VsdDogVGVTdDAtMDEKLVJl
c3VsdDogVGVTdDAtMDIKLVJlc3VsdDogVGVTdC0rMDMKLVJlc3VsdDogVGVTdDAtMDQKLVJlc3Vs
dDogVGVTdDAtMDUKLVJlc3VsdDoKLVJlc3VsdDoKLVJlc3VsdDogVGVTdDAtMDgKLVJlc3VsdDog
VGVTdDAtMDkKLVJlc3VsdDogMDEyMzQ1Njc4OQotUmVzdWx0OiBUZVN0MC0xMQotUmVzdWx0OiBU
ZVN0MC0xMgpJbmRleDogTGF5b3V0VGVzdHMvd21sL2lucHV0LWZvcm1hdC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dtbC9pbnB1dC1mb3JtYXQuaHRtbAkocmV2aXNpb24gODUxNjYp
CisrKyBMYXlvdXRUZXN0cy93bWwvaW5wdXQtZm9ybWF0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdD52YXIgcmVsYXRpdmVQ
YXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5XTUwg
bGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL2lucHV0LWZvcm1hdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93bWwvbmV3Y29udGV4dC1zYW1lLWRlY2stZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9uZXdjb250ZXh0LXNhbWUtZGVjay1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvd21sL25ld2NvbnRleHQtc2FtZS1k
ZWNrLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyMSArMCwwIEBACi1XTUwgbGF5
b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVzdHMgbmV3Y29udGV4dCBh
dHRyaWJ1dGUgaGFuZGxpbmcgb24gY2FyZHMgd2l0aGluIHRoZSBzYW1lIGRlY2sKLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgcmVzdWx0MS50ZXh0Q29udGVudCBpcyAiVGVz
dCAxLzM6IHZhcjE9JyciCi1QQVNTIHJlc3VsdDIudGV4dENvbnRlbnQgaXMgIlRlc3QgMi8zOiB2
YXIxPScnIgotUEFTUyByZXN1bHQzLnRleHRDb250ZW50IGlzICJUZXN0IDMvMzogdmFyMj0nUEFT
UyciCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQot
Ci0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0t
LS0tLS0tCi1UZXN0IDIvMzogdmFyMT0nJwotVGVzdCAzLzM6IHZhcjI9J1BBU1MnCkluZGV4OiBM
YXlvdXRUZXN0cy93bWwvbmV3Y29udGV4dC1zYW1lLWRlY2suaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93bWwvbmV3Y29udGV4dC1zYW1lLWRlY2suaHRtbAkocmV2aXNpb24gODUxNjYp
CisrKyBMYXlvdXRUZXN0cy93bWwvbmV3Y29udGV4dC1zYW1lLWRlY2suaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZhciBy
ZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzID0gIi4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PGgxPldNTCBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3Jj
PSJzY3JpcHQtdGVzdHMvbmV3Y29udGV4dC1zYW1lLWRlY2suanMiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLWV2ZW50LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvb25lbnRlcmZvcndhcmQt
ZXZlbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9v
bmVudGVyZm9yd2FyZC1ldmVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTcg
KzAsMCBAQAotV01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZwotCi0KLVRl
c3RzIG9uZW50ZXJmb3J3YXJkIG5vbi1pbmxpbmUgZXZlbnQgZGVjbGFyYXRpb25zCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8v
PCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi1UZXN0IHBhc3NlZApJbmRleDogTGF5b3V0VGVz
dHMvd21sL29uZW50ZXJmb3J3YXJkLWV2ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd21sL29uZW50ZXJmb3J3YXJkLWV2ZW50Lmh0bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5
b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLWV2ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdD52YXIgcmVsYXRpdmVQ
YXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5XTUwg
bGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL29uZW50ZXJmb3J3YXJkLWV2ZW50LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9vbmVudGVyZm9yd2FyZC1pbmxpbmUtZXZlbnQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9vbmVudGVyZm9yd2FyZC1p
bmxpbmUtZXZlbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3Rz
L3dtbC9vbmVudGVyZm9yd2FyZC1pbmxpbmUtZXZlbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE3ICswLDAgQEAKLVdNTCBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3Jp
cHRpbmcKLQotCi1UZXN0cyBvbmVudGVyZm9yd2FyZCBpbmxpbmUgZXZlbnQgZGVjbGFyYXRpb25z
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJh
bWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi1UZXN0IHBhc3NlZApJbmRleDog
TGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLWlubGluZS1ldmVudC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dtbC9vbmVudGVyZm9yd2FyZC1pbmxpbmUtZXZlbnQuaHRtbAko
cmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwvb25lbnRlcmZvcndhcmQtaW5saW5l
LWV2ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgotPHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwg
c2NyaXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL29uZW50ZXJmb3J3YXJkLWlubGlu
ZS1ldmVudC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy93bWwvb250aW1lci1ldmVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd21sL29udGltZXItZXZlbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExh
eW91dFRlc3RzL3dtbC9vbnRpbWVyLWV2ZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSwxNyArMCwwIEBACi1XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5n
Ci0KLQotVGVzdHMgb250aW1lciBub24taW5saW5lIGV2ZW50IGRlY2xhcmF0aW9ucwotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAv
LzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotVGVzdCBwYXNzZWQKSW5kZXg6IExheW91dFRl
c3RzL3dtbC9vbnRpbWVyLWV2ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21s
L29udGltZXItZXZlbnQuaHRtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwv
b250aW1lci1ldmVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+
Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVzdHMgPSAi
Li4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGxheW91dCB0ZXN0cyAtIHVzaW5n
IFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9vbnRpbWVyLWV2ZW50
LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9v
bnRpbWVyLWlubGluZS1ldmVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd21sL29udGltZXItaW5saW5lLWV2ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUxNjYp
CisrKyBMYXlvdXRUZXN0cy93bWwvb250aW1lci1pbmxpbmUtZXZlbnQtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDE3ICswLDAgQEAKLVdNTCBsYXlvdXQgdGVzdHMgLSB1c2luZyBY
SFRNTCBzY3JpcHRpbmcKLQotCi1UZXN0cyBvbnRpbWVyIGlubGluZSBldmVudCBkZWNsYXJhdGlv
bnMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1m
cmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0KLVRlc3QgcGFzc2VkCkluZGV4
OiBMYXlvdXRUZXN0cy93bWwvb250aW1lci1pbmxpbmUtZXZlbnQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93bWwvb250aW1lci1pbmxpbmUtZXZlbnQuaHRtbAkocmV2aXNpb24gODUx
NjYpCisrKyBMYXlvdXRUZXN0cy93bWwvb250aW1lci1pbmxpbmUtZXZlbnQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZh
ciByZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzID0gIi4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGgxPldNTCBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvb250aW1lci1pbmxpbmUtZXZlbnQuanMiPjwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL29wdGlvbi1lbGVtZW50LW9ucGlj
ay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL29wdGlvbi1lbGVt
ZW50LW9ucGljay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMv
d21sL29wdGlvbi1lbGVtZW50LW9ucGljay1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsMTcgKzAsMCBAQAotV01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZwot
Ci0KLVRlc3RzIG9ucGljayBpbnRyaW5zaWMgZXZlbnQgc3VwcG9ydCBvZiBvcHRpb24gZWxlbWVu
dHMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1m
cmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0KLVRlc3QgcGFzc2VkCkluZGV4
OiBMYXlvdXRUZXN0cy93bWwvb3B0aW9uLWVsZW1lbnQtb25waWNrLXJlY3Vyc2lvbi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL29wdGlvbi1lbGVtZW50LW9ucGlj
ay1yZWN1cnNpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3Rz
L3dtbC9vcHRpb24tZWxlbWVudC1vbnBpY2stcmVjdXJzaW9uLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxNyArMCwwIEBACi1XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwg
c2NyaXB0aW5nCi0KLQotVGVzdHMgb25waWNrIGludHJpbnNpYyBldmVudCByZWN1cnNpb24gYnVn
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJh
bWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi0KSW5kZXg6IExheW91dFRlc3Rz
L3dtbC9vcHRpb24tZWxlbWVudC1vbnBpY2stcmVjdXJzaW9uLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd21sL29wdGlvbi1lbGVtZW50LW9ucGljay1yZWN1cnNpb24uaHRtbAkocmV2
aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwvb3B0aW9uLWVsZW1lbnQtb25waWNrLXJl
Y3Vyc2lvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVzdHMgPSAiLi4iOzwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1M
IHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9vcHRpb24tZWxlbWVudC1vbnBp
Y2stcmVjdXJzaW9uLmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3dtbC9vcHRpb24tZWxlbWVudC1vbnBpY2suaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93bWwvb3B0aW9uLWVsZW1lbnQtb25waWNrLmh0bWwJKHJldmlzaW9uIDg1MTY2KQor
KysgTGF5b3V0VGVzdHMvd21sL29wdGlvbi1lbGVtZW50LW9ucGljay5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJl
bGF0aXZlUGF0aFRvTGF5b3V0VGVzdHMgPSAiLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJl
c291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
aDE+V01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy9vcHRpb24tZWxlbWVudC1vbnBpY2suanMiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL3NlbGVjdC1lbGVtZW50LXZhcmlhYmxl
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3NlbGVjdC1lbGVt
ZW50LXZhcmlhYmxlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVz
dHMvd21sL3NlbGVjdC1lbGVtZW50LXZhcmlhYmxlcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTkgKzAsMCBAQAotV01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlw
dGluZwotCi0KLVRlc3RzIHZhcmlhYmxlIHJlZmVyZW5jZXMgaW4gY29uanVjdGlvbiB3aXRoIHNl
bGVjdCBlbGVtZW50cwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyByZXN1
bHRFbGVtZW50LnRleHRDb250ZW50IGlzICJTZWxlY3Rpb24gcmVzdWx0OiAnJyIKLVBBU1MgcmVz
dWx0RWxlbWVudC50ZXh0Q29udGVudCBpcyAiU2VsZWN0aW9uIHJlc3VsdDogJ2RvZ2d5JyIKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0t
LS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0K
LVNlbGVjdGlvbiByZXN1bHQ6ICdkb2dneScKSW5kZXg6IExheW91dFRlc3RzL3dtbC9zZWxlY3Qt
ZWxlbWVudC12YXJpYWJsZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvc2Vs
ZWN0LWVsZW1lbnQtdmFyaWFibGVzLmh0bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVz
dHMvd21sL3NlbGVjdC1lbGVtZW50LXZhcmlhYmxlcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDE1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0
aFRvTGF5b3V0VGVzdHMgPSAiLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9X
TUxUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGxh
eW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9zZWxlY3QtZWxlbWVudC12YXJpYWJsZXMuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL3ZhcmlhYmxlLXJlZmVyZW5jZS1pbnZhbGlkLWNo
YXJhY3Rlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3Zhcmlh
YmxlLXJlZmVyZW5jZS1pbnZhbGlkLWNoYXJhY3Rlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1
MTY2KQorKysgTGF5b3V0VGVzdHMvd21sL3ZhcmlhYmxlLXJlZmVyZW5jZS1pbnZhbGlkLWNoYXJh
Y3Rlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjkgKzAsMCBAQAotV01MIGxh
eW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZwotCi0KLVRlc3QgdGhhdCBpbnZhbGlk
IHZhcmlhYmxlIHJlZmVyZW5jZXMgYXJlbid0IGRldGVjdGVkIHVudGlsIHZhcmlhYmxlIHN1YnN0
aXR1dGlvbiBpcyBleGVjdXRlZAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFT
UyBwRWxlbWVudDEudGV4dENvbnRlbnQgaXMgIlJlc3VsdDokI3ZhciBQQVNTRUQiCi1QQVNTIHBF
bGVtZW50Mi50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiAkKHYjYXI6ZSlQQVNTRUQiCi1QQVNTIHBF
bGVtZW50My50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiQodmFyOiMpIFBBU1NFRCIKLVBBU1MgcEVs
ZW1lbnQ0LnRleHRDb250ZW50IGlzICJSZXN1bHQ6IFBBU1NFRCQodmFyOnVuZXNjYXBlKSIKLVBB
U1MgcEVsZW1lbnQxLnRleHRDb250ZW50IGlzICJSZXN1bHQ6JCN2YXIgUEFTU0VEIgotUEFTUyBw
RWxlbWVudDIudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogJCh2I2FyOmUpUEFTU0VEIgotUEFTUyBw
RWxlbWVudDMudGV4dENvbnRlbnQgaXMgIlJlc3VsdDokKHZhcjojKSBQQVNTRUQiCi1QQVNTIHBF
bGVtZW50NC50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiBQQVNTRUQkKHZhcjp1bmVzY2FwZSkiCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0t
LS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0t
Ci1TdGFydCB0ZXN0Ci1SZXN1bHQ6JCN2YXIgUEFTU0VECi1SZXN1bHQ6ICQodiNhcjplKVBBU1NF
RAotUmVzdWx0OiQodmFyOiMpIFBBU1NFRAotUmVzdWx0OiBQQVNTRUQkKHZhcjp1bmVzY2FwZSkK
SW5kZXg6IExheW91dFRlc3RzL3dtbC92YXJpYWJsZS1yZWZlcmVuY2UtaW52YWxpZC1jaGFyYWN0
ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvdmFyaWFibGUtcmVmZXJlbmNl
LWludmFsaWQtY2hhcmFjdGVyLmh0bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMv
d21sL3ZhcmlhYmxlLXJlZmVyZW5jZS1pbnZhbGlkLWNoYXJhY3Rlci5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJl
bGF0aXZlUGF0aFRvTGF5b3V0VGVzdHMgPSAiLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJl
c291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
aDE+V01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy92YXJpYWJsZS1yZWZlcmVuY2UtaW52YWxpZC1jaGFyYWN0ZXIuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL3ZhcmlhYmxl
LXJlZmVyZW5jZS12YWxpZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d21sL3ZhcmlhYmxlLXJlZmVyZW5jZS12YWxpZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MTY2
KQorKysgTGF5b3V0VGVzdHMvd21sL3ZhcmlhYmxlLXJlZmVyZW5jZS12YWxpZC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzAsMCBAQAotV01MIGxheW91dCB0ZXN0cyAtIHVz
aW5nIFhIVE1MIHNjcmlwdGluZwotCi0KLVRlc3RzIHZhbGlkIHZhcmlhYmxlIHJlZmVyZW5jZXMK
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgcEVsZW1lbnQxLnRleHRDb250
ZW50IGlzICJSZXN1bHQ6ICR2YXIiCi1QQVNTIHBFbGVtZW50Mi50ZXh0Q29udGVudCBpcyAiUmVz
dWx0OiAkKHZhcjplKSIKLVBBU1MgcEVsZW1lbnQzLnRleHRDb250ZW50IGlzICJSZXN1bHQ6ICQo
dmFyMikiCi1QQVNTIHBFbGVtZW50NC50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiAkKHZhcjI6dW5l
c2MpIgotUEFTUyBwRWxlbWVudDUudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogJHYiCi1QQVNTIHBF
bGVtZW50Ni50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiAkKHY6ZSkiCi1QQVNTIHBFbGVtZW50Ny50
ZXh0Q29udGVudCBpcyAiUmVzdWx0OiAkd29udHdvcmsiCi1QQVNTIHBFbGVtZW50MS50ZXh0Q29u
dGVudCBpcyAiUmVzdWx0OiBURVNUIFBBU1NFRCIKLVBBU1MgcEVsZW1lbnQyLnRleHRDb250ZW50
IGlzICJSZXN1bHQ6IFRFU1QlMjBQQVNTRUQiCi1QQVNTIHBFbGVtZW50My50ZXh0Q29udGVudCBp
cyAiUmVzdWx0OiBURVNUJTIwUEFTU0VEIgotUEFTUyBwRWxlbWVudDQudGV4dENvbnRlbnQgaXMg
IlJlc3VsdDogVEVTVCBQQVNTRUQiCi1QQVNTIHBFbGVtZW50NS50ZXh0Q29udGVudCBpcyAiUmVz
dWx0OiBURVNUIFBBU1NFRCIKLVBBU1MgcEVsZW1lbnQ2LnRleHRDb250ZW50IGlzICJSZXN1bHQ6
IFRFU1QlMjBQQVNTRUQiCi1QQVNTIHBFbGVtZW50Ny50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiAi
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0t
LS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0t
LS0tCi1TdGFydCB0ZXN0Ci1SZXN1bHQ6IFRFU1QgUEFTU0VECi1SZXN1bHQ6IFRFU1QlMjBQQVNT
RUQKLVJlc3VsdDogVEVTVCUyMFBBU1NFRAotUmVzdWx0OiBURVNUIFBBU1NFRAotUmVzdWx0OiBU
RVNUIFBBU1NFRAotUmVzdWx0OiBURVNUJTIwUEFTU0VECi1SZXN1bHQ6CkluZGV4OiBMYXlvdXRU
ZXN0cy93bWwvdmFyaWFibGUtcmVmZXJlbmNlLXZhbGlkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvd21sL3ZhcmlhYmxlLXJlZmVyZW5jZS12YWxpZC5odG1sCShyZXZpc2lvbiA4NTE2
NikKKysrIExheW91dFRlc3RzL3dtbC92YXJpYWJsZS1yZWZlcmVuY2UtdmFsaWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0
PnZhciByZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzID0gIi4uIjs8L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPGgxPldNTCBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgot
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvdmFyaWFibGUtcmVmZXJlbmNlLXZhbGlkLmpzIj48L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvV01M
VGVzdENhc2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9XTUxU
ZXN0Q2FzZS5qcwkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2Vz
L1dNTFRlc3RDYXNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDExMyArMCwwIEBACi12YXIgd21s
TlMgPSAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIjsKLXZhciB4aHRt
bE5TID0gImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOwotCi12YXIgdGVzdERvY3VtZW50
OwotdmFyIGlmcmFtZUVsZW1lbnQ7Ci12YXIgYm9keUVsZW1lbnQ7Ci0KLWZ1bmN0aW9uIGNyZWF0
ZVdNTEVsZW1lbnQobmFtZSkgewotICAgIHJldHVybiB0ZXN0RG9jdW1lbnQuY3JlYXRlRWxlbWVu
dE5TKHdtbE5TLCAid21sOiIgKyBuYW1lKTsKLX0KLQotZnVuY3Rpb24gb25sb2FkSGFuZGxlcihy
ZXNldHVwRG9jdW1lbnQpIHsKLSAgICBpZiAodGVzdERvY3VtZW50KSB7Ci0gICAgICAgIHRlc3RE
b2N1bWVudCA9IGlmcmFtZUVsZW1lbnQuY29udGVudERvY3VtZW50OwotICAgICAgICBpZiAocmVz
ZXR1cERvY3VtZW50KQotICAgICAgICAgICAgc2V0dXBUZXN0RG9jdW1lbnQoKTsKLQotICAgICAg
ICBhc3N1cmVMYXlvdXQoKTsKLSAgICAgICAgZXhlY3V0ZVRlc3QoKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIHRlc3REb2N1bWVudCA9IGlmcmFtZUVsZW1lbnQuY29udGVudERvY3Vt
ZW50OwotICAgIHNldHVwVGVzdERvY3VtZW50KCk7Ci0gICAgcHJlcGFyZVRlc3QoKTsKLQotICAg
IC8vIEluIGEgcmVndWxhciBXTUwgZG9jdW1lbnQsIHRoaXMgd291bGQgaGFwcGVuIGFmdGVyIHRo
ZSBwYXJzaW5nIGZpbmlzaGVkLgotICAgIC8vIFRob3VnaCBhcyB3ZSBkeW5hbWljYWxseSBjcmVh
dGUgdGVzdGNhc2VzLCB3ZSBoYXZlIHRvIHRha2UgY2FyZSBvZiBpbml0aWFsaXppbmcgV01MIHZh
cmlhYmxlIHN0YXRlIG1hbnVhbGx5LgotICAgIHRlc3REb2N1bWVudC5pbml0aWFsaXplV01MUGFn
ZVN0YXRlKCk7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0ZVN0YXRpY1dNTFRlc3RDYXNlKHRlc3REZXNj
cmlwdGlvbiwgdGVzdE5hbWUsIHJlc2V0UGFnZVN0YXRlKSB7Ci0gICAgaWYgKHRlc3ROYW1lID09
IG51bGwpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChyZXNldFBhZ2VTdGF0ZSA9PSBudWxs
KQotICAgICAgICByZXNldFBhZ2VTdGF0ZSA9IHRydWU7Ci0KLSAgICBjcmVhdGVXTUxUZXN0Q2Fz
ZSh0ZXN0RGVzY3JpcHRpb24sIGZhbHNlLCB0ZXN0TmFtZSwgcmVzZXRQYWdlU3RhdGUpOwotfQot
Ci1mdW5jdGlvbiBjcmVhdGVEeW5hbWljV01MVGVzdENhc2UodGVzdERlc2NyaXB0aW9uLCByZXNl
dHVwRG9jdW1lbnQpIHsKLSAgICAvLyBTZXR1cCBkZWZhdWx0IHRlc3Qgb3B0aW9ucwotICAgIGlm
IChyZXNldHVwRG9jdW1lbnQgPT0gbnVsbCkKLSAgICAgICAgcmVzZXR1cERvY3VtZW50ID0gdHJ1
ZTsKLQotICAgIC8vIFNldHVwIGRlZmF1bHQgdGVzdCBuYW1lCi0gICAgdmFyIHRlc3ROYW1lID0g
cmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyArICIvd21sL3Jlc291cmNlcy90ZXN0LWRvY3VtZW50
LndtbCI7Ci0gICAgY3JlYXRlV01MVGVzdENhc2UodGVzdERlc2NyaXB0aW9uLCByZXNldHVwRG9j
dW1lbnQsIHRlc3ROYW1lLCB0cnVlKTsKLX0KLQotZnVuY3Rpb24gY3JlYXRlV01MVGVzdENhc2Uo
dGVzdERlc2NyaXB0aW9uLCByZXNldHVwRG9jdW1lbnQsIHRlc3ROYW1lLCByZXNldFBhZ2VTdGF0
ZSkgewotICAgIC8vIEluaXRpYWxpemUgSlMgdGVzdAotICAgIGRlc2NyaXB0aW9uKHRlc3REZXNj
cmlwdGlvbik7Ci0gICAgYm9keUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgiYm9keSIpWzBdOwotCi0gICAgLy8gQ2xlYXIgdmFyaWFibGUgc3RhdGUgJiBoaXN0b3J5Ci0g
ICAgaWYgKHJlc2V0UGFnZVN0YXRlKQotICAgICAgICBkb2N1bWVudC5yZXNldFdNTFBhZ2VTdGF0
ZSgpOwotCi0gICAgLy8gU2V0dXAgRFJUIHNwZWNpZmljIHNldHRpbmdzCi0gICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIC8vIENyZWF0ZSBjb250YWluZXIgZWxlbWVudCB0
byBsb2FkIHRoZSBXTUwgZG9jdW1lbnQKLSAgICBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudE5TKHhodG1sTlMsICJpZnJhbWUiKTsKLSAgICBpZnJhbWVFbGVtZW50LnNyYyA9
IHRlc3ROYW1lOwotCi0gICAgLy8gUHJvY2VzcyBsb2FkIGV2ZW50cywgdGFraW5nIGNhcmUgb2Yg
c2V0dGluZyB1cCB0aGUgbmF0aXZlIFdNTCB0ZXN0Y2FzZQotICAgIGlmcmFtZUVsZW1lbnQub25s
b2FkID0gZnVuY3Rpb24oKSB7IHdpbmRvdy5zZXRUaW1lb3V0KCdvbmxvYWRIYW5kbGVyKCcgKyBy
ZXNldHVwRG9jdW1lbnQgKyAnKScsIDApOyB9Ci0gICAgYm9keUVsZW1lbnQuaW5zZXJ0QmVmb3Jl
KGlmcmFtZUVsZW1lbnQsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIpKTsK
LX0KLQotZnVuY3Rpb24gYXNzdXJlTGF5b3V0KCkgewotICAgIC8vIEFzc3VyZSBpbml0aWFsIGxh
eW91dCBmaW5pc2hlZCAodmFyaWFibGUgc3Vic3RpdGlvbnMgaGFwcGVuIG9uIGF0dGFjaCB0aW1l
KQotICAgIHZhciBjYXJkcyA9IHRlc3REb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiY2Fy
ZCIpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2FyZHMubGVuZ3RoOyArK2kpIHsKLSAgICAg
ICAgY2FyZHNbaV0ub2Zmc2V0VG9wOwotICAgIH0KLX0KLQotZnVuY3Rpb24gc3RhcnRUZXN0KHgs
IHkpIHsKLSAgICBhc3N1cmVMYXlvdXQoKTsKLSAgICB0cmlnZ2VyTW91c2VFdmVudCh4LCB5KTsK
LX0KLQotZnVuY3Rpb24gdHJpZ2dlck1vdXNlRXZlbnQoeCwgeSkgewotICAgIC8vIFRyYW5zbGF0
aW9uIGR1ZSB0byBIVE1MIGNvbnRlbnQgYWJvdmUgdGhlIFdNTCBkb2N1bWVudCBpbiB0aGUgaWZy
YW1lCi0gICAgeCA9IHggKyBpZnJhbWVFbGVtZW50Lm9mZnNldExlZnQ7Ci0gICAgeSA9IHkgKyBp
ZnJhbWVFbGVtZW50Lm9mZnNldFRvcDsKLQotICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
LSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlRG93bigpOwotICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0gICAgfQot
fQotCi1mdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7Ci0gICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnROUyh4aHRtbE5TLCAic2NyaXB0Iik7Ci0KLSAgICBzY3JpcHQub25sb2Fk
ID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgibGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpIiwgMCk7Ci0gICAgfTsKLQotICAgIHNjcmlwdC5zcmMgPSByZWxhdGl2ZVBhdGhU
b0xheW91dFRlc3RzICsgIi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiOwotICAg
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci0KLSAgICBib2R5RWxlbWVudC5hcHBlbmRDaGls
ZChzY3JpcHQpOwotfQpJbmRleDogTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9hY2Nlc3MtdGFy
Z2V0LWRlbnkud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvYWNj
ZXNzLXRhcmdldC1kZW55LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwv
cmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQtZGVueS53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOSAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9X
QVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dt
bF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGNhcmQ+Ci0gICAgICAgIDxhbmNob3I+U3RhcnQgdGVz
dDxnbyBocmVmPSJsb2NrZWQtZGVjay53bWwiLz48L2FuY2hvcj4KLSAgICAgICAgPHA+VGVzdCBm
b3IgRGVjayBBY2Nlc3MgY29udHJvbCBpbiBXTUwuPC9wPgotICAgICAgICA8cD5JZiB0aGUgdGVz
dCBwYXNzZXMsIHRoaXMgZGVjayB3aWxsIHJlbWFpbiB2aXNpYmxlPC9wPgotICAgIDwvY2FyZD4K
LTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0Lndt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQu
d21sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvYWNjZXNz
LXRhcmdldC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOSArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEv
L0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0g
ICAgPGNhcmQ+Ci0gICAgICAgIDxhbmNob3I+U3RhcnQgdGVzdDxnbyBocmVmPSJsb2NrZWQtZGVj
ay53bWwiLz48L2FuY2hvcj4KLSAgICAgICAgPHA+VGVzdCBmb3IgRGVjayBBY2Nlc3MgY29udHJv
bCBpbiBXTUwuPC9wPgotICAgICAgICA8cD5JZiB0aGUgdGVzdCBwYXNzZXMsIHRoaXMgZGVjayB3
aWxsIGltbWVkaWF0ZWx5IGp1bXAgdG8gImxvY2tlZC1kZWNrLndtbCI8L3A+Ci0gICAgPC9jYXJk
PgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL2VudGVyLWNhcmQtd2l0
aC1ldmVudHMud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvZW50
ZXItY2FyZC13aXRoLWV2ZW50cy53bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMv
d21sL3Jlc291cmNlcy9lbnRlci1jYXJkLXdpdGgtZXZlbnRzLndtbAkod29ya2luZyBjb3B5KQpA
QCAtMSwyNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08IURPQ1RZUEUgd21sIFBV
QkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4zLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0u
b3JnL0RURC93bWwxMy5kdGQiPg0KLTx3bWw+DQotICAgIDxjYXJkIGlkPSJjYXJkMSI+DQotICAg
ICAgICA8YSBocmVmPSIjY2FyZDIiPk5leHQgQ2FyZDwvYT4NCi0gICAgPC9jYXJkPg0KLQ0KLSAg
ICA8Y2FyZCBpZD0iY2FyZDIiIG9uZW50ZXJiYWNrd2FyZD0iI2NhcmQ0Ij4NCi0gICAgICAgIDxv
bmV2ZW50IHR5cGU9Im9uZW50ZXJmb3J3YXJkIj4NCi0gICAgICAgICAgICA8Z28gaHJlZj0iI2Nh
cmQzIi8+DQotICAgICAgICA8L29uZXZlbnQ+DQotICAgICAgICBUZXN0IEZBSUxFRC4gKFRoaXMg
Y2FyZCBpcyBORVZFUiB2aXNpYmxlIHRvIHRoZSB1c2VyKQ0KLSAgICA8L2NhcmQ+DQotDQotICAg
IDxjYXJkIGlkPSJjYXJkMyI+DQotICAgICAgICA8YW5jaG9yPg0KLSAgICAgICAgICAgIDxwcmV2
Lz4NCi0gICAgICAgICAgICBOZXh0IFRlc3QNCi0gICAgICAgIDwvYW5jaG9yPg0KLSAgICAgICAg
VGVzdCAxLzIgUEFTU0VELg0KLSAgICA8L2NhcmQ+DQotDQotICAgIDxjYXJkIGlkPSJjYXJkNCI+
DQotICAgICAgICBUZXN0IDIvMiBQQVNTRUQuDQotICAgIDwvY2FyZD4NCi08L3dtbD4NCkluZGV4
OiBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL2VudGVyLWZpcnN0LWNhcmQtd2l0aC1ldmVudHMu
d21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvZW50ZXItZmlyc3Qt
Y2FyZC13aXRoLWV2ZW50cy53bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvd21s
L3Jlc291cmNlcy9lbnRlci1maXJzdC1jYXJkLXdpdGgtZXZlbnRzLndtbAkod29ya2luZyBjb3B5
KQpAQCAtMSwyNSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08IURPQ1RZUEUgd21s
IFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4zLy9FTiIgImh0dHA6Ly93d3cud2FwZm9y
dW0ub3JnL0RURC93bWwxMy5kdGQiPg0KLTx3bWw+DQotICAgIDxjYXJkIGlkPSJjYXJkMSI+DQot
ICAgICAgICA8b25ldmVudCB0eXBlPSJvbmVudGVyYmFja3dhcmQiPg0KLSAgICAgICAgICAgIDxn
byBocmVmPSIjY2FyZDMiPg0KLSAgICAgICAgICAgICAgICA8c2V0dmFyIG5hbWU9InJlc3VsdCIg
dmFsdWU9IkRPTkUiLz4NCi0gICAgICAgICAgICA8L2dvPg0KLSAgICAgICAgPC9vbmV2ZW50Pg0K
LSAgICAgICAgPGEgaHJlZj0iI2NhcmQyIj5OZXh0IFRlc3Q8L2E+DQotICAgIDwvY2FyZD4NCi0N
Ci0gICAgPGNhcmQgaWQ9ImNhcmQyIj4NCi0gICAgICAgIDxhbmNob3I+DQotICAgICAgICAgICAg
PHByZXYvPg0KLSAgICAgICAgICAgIE5leHQgVGVzdA0KLSAgICAgICAgPC9hbmNob3I+DQotICAg
ICAgICBUZXN0IDEvMiBQQVNTRUQuDQotICAgIDwvY2FyZD4NCi0NCi0gICAgPGNhcmQgaWQ9ImNh
cmQzIj4NCi0gICAgICAgIFRlc3QgMi8yIFBBU1NFRC4NCi0gICAgICAgIDxwIHN0eWxlPSJkaXNw
bGF5OiBub25lIiBpZD0icmVzdWx0SW5kaWNhdG9yIj4kcmVzdWx0PC9wPg0KLSAgICA8L2NhcmQ+
DQotPC93bWw+DQpJbmRleDogTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9leHRlcm5hbC1kZWNr
LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL2V4dGVybmFsLWRl
Y2sud21sCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvZXh0
ZXJuYWwtZGVjay53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAx
LjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+
Ci08Y2FyZCBpZD0iZXh0ZXJuYWxDYXJkMSI+VGhpcyBpcyB0aGUgZmlyc3QgZXh0ZXJuYWwgY2Fy
ZC48L2NhcmQ+Ci08Y2FyZCBpZD0iZXh0ZXJuYWxDYXJkMiI+VGhpcyBpcyB0aGUgc2Vjb25kIGV4
dGVybmFsIGNhcmQuPC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvcmVzb3Vy
Y2VzL2xvY2tlZC1kZWNrLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvcmVzb3Vy
Y2VzL2xvY2tlZC1kZWNrLndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwv
cmVzb3VyY2VzL2xvY2tlZC1kZWNrLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JV
TS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEu
eG1sIj4KLTx3bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxhY2Nlc3MgZG9tYWluPSJsb2NhbGhv
c3QiIHBhdGg9ImFjY2Vzcy10YXJnZXQud21sIi8+Ci0gICAgPC9oZWFkPgotCi0gICAgPGNhcmQ+
Ci0gICAgICAgIDxwPlRlc3QgZm9yIERlY2sgQWNjZXNzIGNvbnRyb2wgaW4gV01MLjwvcD4KLSAg
ICAgICAgPHA+VGhpcyBpcyB0aGUgbG9ja2VkIHRhcmdldCBkZWNrLCBvbmx5ICdhY2Nlc3MtdGFy
Z2V0LndtbCIgY2FuIGFjY2VzcyBtZTwvcD4KLSAgICAgICAgPHAgaWQ9InJlc3VsdEluZGljYXRv
ciIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiLz4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExh
eW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvbmV3Y29udGV4dC1zYW1lLWRlY2sud21sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvbmV3Y29udGV4dC1zYW1lLWRlY2sud21s
CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvbmV3Y29udGV4
dC1zYW1lLWRlY2sud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI1ICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01M
IDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdt
bD4KLSAgICA8Y2FyZCBpZD0ib25lIj4KLSAgICAgICA8ZG8gdHlwZT0iYWNjZXB0IiBsYWJlbD0i
TmV4dCB0ZXN0Ij4KLSAgICAgICAgICAgIDxnbyBocmVmPSIjdHdvIj4KLSAgICAgICAgICAgICAg
ICA8c2V0dmFyIG5hbWU9InZhcjEiIHZhbHVlPSJQQVNTIi8+Ci0gICAgICAgICAgICA8L2dvPgot
ICAgICAgICA8L2RvPgotICAgIDwvY2FyZD4KLQotICAgIDxjYXJkIGlkPSJ0d28iIG5ld2NvbnRl
eHQ9InRydWUiPgotICAgICAgICA8ZG8gdHlwZT0iYWNjZXB0IiBsYWJlbD0iTmV4dCB0ZXN0Ij4K
LSAgICAgICAgICAgIDxnbyBocmVmPSIjdGhyZWUiPgotICAgICAgICAgICAgICAgIDxzZXR2YXIg
bmFtZT0idmFyMiIgdmFsdWU9IlBBU1MiLz4KLSAgICAgICAgICAgIDwvZ28+Ci0gICAgICAgIDwv
ZG8+Ci0gICAgICAgIDxwIGlkPSJyZXN1bHQxIj5UZXN0IDEvMzogdmFyMT0nJHZhcjEnPC9wPgot
ICAgIDwvY2FyZD4KLQotICAgIDxjYXJkIGlkPSJ0aHJlZSI+Ci0gICAgICAgIDxwIGlkPSJyZXN1
bHQyIj5UZXN0IDIvMzogdmFyMT0nJHZhcjEnPC9wPgotICAgICAgICA8cCBpZD0icmVzdWx0MyI+
VGVzdCAzLzM6IHZhcjI9JyR2YXIyJzwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExh
eW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvb25lbnRlcmZvcndhcmQtZXZlbnQud21sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvb25lbnRlcmZvcndhcmQtZXZlbnQud21s
CShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvb25lbnRlcmZv
cndhcmQtZXZlbnQud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwg
MS4xLy9FTiIgImh0dHA6Ly93YXAud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21s
PgotICA8Y2FyZCBpZD0ib25lIj48b25ldmVudCB0eXBlPSJvbmVudGVyZm9yd2FyZCI+PGdvIGhy
ZWY9IiN0d28iLz48L29uZXZlbnQ+VGVzdCBmYWlsZWQ8L2NhcmQ+Ci0gIDxjYXJkIGlkPSJ0d28i
PjxwPlRlc3QgcGFzc2VkPC9wPjwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvd21s
L3Jlc291cmNlcy9vbmVudGVyZm9yd2FyZC1pbmxpbmUtZXZlbnQud21sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvb25lbnRlcmZvcndhcmQtaW5saW5lLWV2ZW50Lndt
bAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL29uZW50ZXJm
b3J3YXJkLWlubGluZS1ldmVudC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8v
RFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3dhcC53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1s
Ij4KLTx3bWw+Ci0gIDxjYXJkIGlkPSJvbmUiIG9uZW50ZXJmb3J3YXJkPSIjdHdvIj5UZXN0IGZh
aWxlZDwvY2FyZD4KLSAgPGNhcmQgaWQ9InR3byI+PHA+VGVzdCBwYXNzZWQ8L3A+PC9jYXJkPgot
PC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL29udGltZXItZXZlbnQud21s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvb250aW1lci1ldmVudC53
bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9vbnRpbWVy
LWV2ZW50LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249
IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8v
RU4iICJodHRwOi8vd2FwLndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAg
PGNhcmQgaWQ9Im9uZSI+PG9uZXZlbnQgdHlwZT0ib250aW1lciI+PGdvIGhyZWY9IiN0d28iLz48
L29uZXZlbnQ+PHRpbWVyIHZhbHVlPSIxIi8+MTwvY2FyZD4KLSAgPGNhcmQgaWQ9InR3byI+PG9u
ZXZlbnQgdHlwZT0ib250aW1lciI+PGdvIGhyZWY9IiN0aHJlZSIvPjwvb25ldmVudD48dGltZXIg
dmFsdWU9IjEiLz4yPC9jYXJkPgotICA8Y2FyZCBpZD0idGhyZWUiPjxvbmV2ZW50IHR5cGU9Im9u
dGltZXIiPjxnbyBocmVmPSIjZm91ciIvPjwvb25ldmVudD48dGltZXIgdmFsdWU9IjEiLz4zPC9j
YXJkPgotICA8Y2FyZCBpZD0iZm91ciI+PHA+VGVzdCBwYXNzZWQ8L3A+PC9jYXJkPgotPC93bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL29udGltZXItaW5saW5lLWV2ZW50Lndt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL29udGltZXItaW5saW5l
LWV2ZW50LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2Vz
L29udGltZXItaW5saW5lLWV2ZW50LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAK
LTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVN
Ly9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd2FwLndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54
bWwiPgotPHdtbD4KLSAgPGNhcmQgaWQ9Im9uZSIgb250aW1lcj0iI3R3byI+PHRpbWVyIHZhbHVl
PSIxIi8+MTwvY2FyZD4KLSAgPGNhcmQgaWQ9InR3byIgb250aW1lcj0iI3RocmVlIj48dGltZXIg
dmFsdWU9IjEiLz4yPC9jYXJkPgotICA8Y2FyZCBpZD0idGhyZWUiIG9udGltZXI9IiNmb3VyIj48
dGltZXIgdmFsdWU9IjEiLz4zPC9jYXJkPgotICA8Y2FyZCBpZD0iZm91ciI+PHA+VGVzdCBwYXNz
ZWQ8L3A+PC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL29w
dGlvbi1lbGVtZW50LW9ucGljay1yZWN1cnNpb24ud21sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dtbC9yZXNvdXJjZXMvb3B0aW9uLWVsZW1lbnQtb25waWNrLXJlY3Vyc2lvbi53bWwJKHJl
dmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9vcHRpb24tZWxlbWVu
dC1vbnBpY2stcmVjdXJzaW9uLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8v
RFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1s
Ij4KLTx3bWw+Ci0gICAgPGNhcmQ+Ci0gICAgICAgIDxzZWxlY3QgbmFtZT0icmVzdWx0IiBtdWx0
aXBsZT0iZmFsc2UiPgotICAgICAgICAgICAgPG9wdGlvbiBvbnBpY2s9IiNjYXJkMiIgdmFsdWU9
ImZpbmlzaGVkIj5Eb2c8L29wdGlvbj4KLSAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVycm9y
Ij5DYXQ8L29wdGlvbj4KLSAgICAgICAgPC9zZWxlY3Q+Ci0gICAgPC9jYXJkPgotCi0gICAgPGNh
cmQgaWQ9ImNhcmQyIj4KLSAgICAgICAgPHA+VGVzdCBwYXNzZXMsIGlmIHRoaXMgdGV4dCBpcyBu
b3QgdmlzaWJsZSBpbiB0aGUgZHVtcGVkIG91dHB1dDwvcD4KLSAgICAgICAgPHAgaWQ9InJlc3Vs
dCI+JHJlc3VsdDwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL3dt
bC9yZXNvdXJjZXMvdGVzdC1kb2N1bWVudC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d21sL3Jlc291cmNlcy90ZXN0LWRvY3VtZW50LndtbAkocmV2aXNpb24gODUxNjYpCisrKyBMYXlv
dXRUZXN0cy93bWwvcmVzb3VyY2VzL3Rlc3QtZG9jdW1lbnQud21sCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJ
QyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3Jn
L0RURC93bWxfMS4xLnhtbCI+Ci08d21sPjxjYXJkLz48Y2FyZCBpZD0iY2FyZDIiPjxwPlRlc3Qg
cGFzc2VkPC9wPjwvY2FyZD48L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVz
dHMvVEVNUExBVEUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRl
c3RzL1RFTVBMQVRFLmh0bWwJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvd21sL3Nj
cmlwdC10ZXN0cy9URU1QTEFURS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgot
PGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVz
dHMgPSAiLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9XTUxUZXN0Q2FzZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGxheW91dCB0ZXN0cyAt
IHVzaW5nIFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9zY3JpcHQt
dGVzdHMvYWNjZXNzLXRhcmdldC1kZW55LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dt
bC9zY3JpcHQtdGVzdHMvYWNjZXNzLXRhcmdldC1kZW55LmpzCShyZXZpc2lvbiA4NTE2NikKKysr
IExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvYWNjZXNzLXRhcmdldC1kZW55LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDIzICswLDAgQEAKLS8vIFtOYW1lXSBhY2Nlc3MtdGFyZ2V0LWRlbnku
anMKLQotY3JlYXRlU3RhdGljV01MVGVzdENhc2UoIlRlc3RzIGFjY2VzcyBjb250cm9sIHN1cHBv
cnQiLCAicmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQtZGVueS53bWwiKTsKLQotZnVuY3Rpb24gc2V0
dXBUZXN0RG9jdW1lbnQoKSB7Ci0gICAgLy8gbm8tb3AKLX0KLQotZnVuY3Rpb24gcHJlcGFyZVRl
c3QoKSB7Ci0gICAgdmFyIGxhc3RFcnJvciA9IGNvbnNvbGUubGFzdFdNTEVycm9yTWVzc2FnZSgp
OwotICAgIGlmIChsYXN0RXJyb3IgPT0gIkRlY2sgbm90IGFjY2Vzc2libGUuIikgewotICAgICAg
ICBjb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHN0YXJ0VGVz
dCgyNSwgMTUpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICAvLyBuby1vcAot
fQotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3dt
bC9zY3JpcHQtdGVzdHMvYWNjZXNzLXRhcmdldC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93bWwvc2NyaXB0LXRlc3RzL2FjY2Vzcy10YXJnZXQuanMJKHJldmlzaW9uIDg1MTY2KQorKysg
TGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE5ICswLDAgQEAKLS8vIFtOYW1lXSBhY2Nlc3MtdGFyZ2V0LmpzCi0KLWNyZWF0
ZVN0YXRpY1dNTFRlc3RDYXNlKCJUZXN0cyBhY2Nlc3MgY29udHJvbCBzdXBwb3J0IiwgInJlc291
cmNlcy9hY2Nlc3MtdGFyZ2V0LndtbCIpOwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgp
IHsKLSAgICAvLyBuby1vcAotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICBzdGFy
dFRlc3QoMjUsIDE1KTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgdmFyIHJl
c3VsdEluZGljYXRvckVsZW1lbnQgPSB0ZXN0RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3Vs
dEluZGljYXRvciIpOwotICAgIGlmIChyZXN1bHRJbmRpY2F0b3JFbGVtZW50KQotICAgICAgICBj
b21wbGV0ZVRlc3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4
OiBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL2VudGVyLWNhcmQtd2l0aC1ldmVudHMuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9lbnRlci1jYXJkLXdp
dGgtZXZlbnRzLmpzCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9zY3JpcHQt
dGVzdHMvZW50ZXItY2FyZC13aXRoLWV2ZW50cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyNCAr
MCwwIEBACi0vLy8gW05hbWVdIGVudGVyLWNhcmQtd2l0aC1ldmVudHMuanMKLQotY3JlYXRlU3Rh
dGljV01MVGVzdENhc2UoIlRlc3RzIGVudGVyaW5nIGNhcmRzIGluIGZvcndhcmQgYW5kIGJhY2t3
YXJkIGRpcmVjdGlvbnMgdGhhdCBoYXZlIGludHJpbnNpYyBldmVudHMgc2V0IiwgInJlc291cmNl
cy9lbnRlci1jYXJkLXdpdGgtZXZlbnRzLndtbCIpOwotCi12YXIgY291bnRlciA9IDA7Ci0KLWZ1
bmN0aW9uIHNldHVwVGVzdERvY3VtZW50KCkgewotICAgIC8vIG5vLW9wCi19Ci0KLWZ1bmN0aW9u
IHByZXBhcmVUZXN0KCkgewotICAgIHN0YXJ0VGVzdCgyNSwgMTUpOwotfQotCi1mdW5jdGlvbiBl
eGVjdXRlVGVzdCgpIHsKLSAgICBpZiAoY291bnRlciA9PSAzKQotICAgICAgICBjb21wbGV0ZVRl
c3QoKTsKLSAgICBlbHNlIGlmIChjb3VudGVyID09IDEpCi0gICAgICAgIHN0YXJ0VGVzdCgyNSwg
MTUpOwotICAgICAgICAKLSAgICArK2NvdW50ZXI7Ci19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9lbnRlci1maXJz
dC1jYXJkLXdpdGgtZXZlbnRzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9zY3Jp
cHQtdGVzdHMvZW50ZXItZmlyc3QtY2FyZC13aXRoLWV2ZW50cy5qcwkocmV2aXNpb24gODUxNjYp
CisrKyBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL2VudGVyLWZpcnN0LWNhcmQtd2l0aC1l
dmVudHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjEgKzAsMCBAQAotLy8vIFtOYW1lXSBlbnRl
ci1maXJzdC1jYXJkLXdpdGgtZXZlbnRzLmpzCi0KLWNyZWF0ZVN0YXRpY1dNTFRlc3RDYXNlKCJU
ZXN0cyBlbnRlcmluZyBmaXJzdCBjYXJkIGJhY2t3YXJkcyB0aGF0IGhhcyBpbnRyaW5zaWMgZXZl
bnRzIHNldCIsICJyZXNvdXJjZXMvZW50ZXItZmlyc3QtY2FyZC13aXRoLWV2ZW50cy53bWwiKTsK
LQotZnVuY3Rpb24gc2V0dXBUZXN0RG9jdW1lbnQoKSB7Ci0gICAgLy8gbm8tb3AKLX0KLQotZnVu
Y3Rpb24gcHJlcGFyZVRlc3QoKSB7Ci0gICAgd2luZG93LnNldFRpbWVvdXQoJ3N0YXJ0VGVzdCgy
NSwgMTUpJywgMCk7Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIHZhciByZXN1
bHRJbmRpY2F0b3JFbGVtZW50ID0gdGVzdERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRJ
bmRpY2F0b3IiKTsKLSAgICBpZiAocmVzdWx0SW5kaWNhdG9yRWxlbWVudC50ZXh0Q29udGVudCA9
PSAiRE9ORSIpCi0gICAgICAgIGNvbXBsZXRlVGVzdCgpOwotICAgIGVsc2UKLSAgICAgICAgd2lu
ZG93LnNldFRpbWVvdXQoJ3N0YXJ0VGVzdCgyNSwgMTUpJywgMCk7Ci19Ci0KLXZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9n
by10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVjay13aXRoLWhyZWYuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJu
YWwtZGVjay13aXRoLWhyZWYuanMJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvd21s
L3NjcmlwdC10ZXN0cy9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVjay13aXRoLWhyZWYu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjUgKzAsMCBAQAotLy8gW05hbWVdIGdvLXRhc2stZ2V0
LW1ldGhvZC1leHRlcm5hbC1kZWNrLXdpdGgtaHJlZi5qcwotCi1jcmVhdGVEeW5hbWljV01MVGVz
dENhc2UoIlRlc3RzIEdFVCBtZXRob2Qgb2YgJmx0O2dvJmd0OyBlbGVtZW50IC0ganVtcCB0byBl
eHRlcm5hbCBkZWNrIHRvIGEgc3BlY2lmaWMgY2FyZCIsIGZhbHNlKTsKLQotZnVuY3Rpb24gc2V0
dXBUZXN0RG9jdW1lbnQoKSB7Ci0gICAgdmFyIGNhcmRFbGVtZW50ID0gdGVzdERvY3VtZW50LmRv
Y3VtZW50RWxlbWVudC5maXJzdENoaWxkOwotCi0gICAgdmFyIGFuY2hvckVsZW1lbnQgPSBjcmVh
dGVXTUxFbGVtZW50KCJhbmNob3IiKTsKLSAgICBhbmNob3JFbGVtZW50LnRleHRDb250ZW50ID0g
IlN0YXJ0IHRlc3QiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGFuY2hvckVsZW1lbnQp
OwotCi0gICAgdmFyIGdvRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImdvIik7Ci0gICAgZ29F
bGVtZW50LnNldEF0dHJpYnV0ZSgiaHJlZiIsICJleHRlcm5hbC1kZWNrLndtbCNleHRlcm5hbENh
cmQyIik7Ci0gICAgYW5jaG9yRWxlbWVudC5hcHBlbmRDaGlsZChnb0VsZW1lbnQpOwotfQotCi1m
dW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICBzdGFydFRlc3QoMjUsIDE1KTsKLX0KLQotZnVu
Y3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgY29tcGxldGVUZXN0KCk7Ci19Ci0KLXZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0
cy9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVjay5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC1leHRlcm5hbC1kZWNr
LmpzCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvZ28t
dGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2suanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjUg
KzAsMCBAQAotLy8gW05hbWVdIGdvLXRhc2stZ2V0LW1ldGhvZC1leHRlcm5hbC1kZWNrLmpzCi0K
LWNyZWF0ZUR5bmFtaWNXTUxUZXN0Q2FzZSgiVGVzdHMgR0VUIG1ldGhvZCBvZiAmbHQ7Z28mZ3Q7
IGVsZW1lbnQgLSBqdW1wIHRvIGV4dGVybmFsIGRlY2siLCBmYWxzZSk7Ci0KLWZ1bmN0aW9uIHNl
dHVwVGVzdERvY3VtZW50KCkgewotICAgIHZhciBjYXJkRWxlbWVudCA9IHRlc3REb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQuZmlyc3RDaGlsZDsKLQotICAgIHZhciBhbmNob3JFbGVtZW50ID0gY3Jl
YXRlV01MRWxlbWVudCgiYW5jaG9yIik7Ci0gICAgYW5jaG9yRWxlbWVudC50ZXh0Q29udGVudCA9
ICJTdGFydCB0ZXN0IjsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChhbmNob3JFbGVtZW50
KTsKLQotICAgIHZhciBnb0VsZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJnbyIpOwotICAgIGdv
RWxlbWVudC5zZXRBdHRyaWJ1dGUoImhyZWYiLCAiZXh0ZXJuYWwtZGVjay53bWwjZXh0ZXJuYWxD
YXJkMSIpOwotICAgIGFuY2hvckVsZW1lbnQuYXBwZW5kQ2hpbGQoZ29FbGVtZW50KTsKLX0KLQot
ZnVuY3Rpb24gcHJlcGFyZVRlc3QoKSB7Ci0gICAgc3RhcnRUZXN0KDI1LCAxNSk7Ci19Ci0KLWZ1
bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGNvbXBsZXRlVGVzdCgpOwotfQotCi12YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVz
dHMvZ28tdGFzay1nZXQtbWV0aG9kLXNhbWUtZGVjay5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC1zYW1lLWRlY2suanMJKHJl
dmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9nby10YXNrLWdl
dC1tZXRob2Qtc2FtZS1kZWNrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI1ICswLDAgQEAKLS8v
IFtOYW1lXSBnby10YXNrLWdldC1tZXRob2Qtc2FtZS1kZWNrLmpzCi0KLWNyZWF0ZUR5bmFtaWNX
TUxUZXN0Q2FzZSgiVGVzdHMgR0VUIG1ldGhvZCBvZiAmbHQ7Z28mZ3Q7IGVsZW1lbnQgLSBqdW1w
IHdpdGhpbiBkZWNrIiwgZmFsc2UpOwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsK
LSAgICB2YXIgY2FyZEVsZW1lbnQgPSB0ZXN0RG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmZpcnN0
Q2hpbGQ7Ci0KLSAgICB2YXIgYW5jaG9yRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImFuY2hv
ciIpOwotICAgIGFuY2hvckVsZW1lbnQudGV4dENvbnRlbnQgPSAiU3RhcnQgdGVzdCI7Ci0gICAg
Y2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQoYW5jaG9yRWxlbWVudCk7Ci0KLSAgICB2YXIgZ29FbGVt
ZW50ID0gY3JlYXRlV01MRWxlbWVudCgiZ28iKTsKLSAgICBnb0VsZW1lbnQuc2V0QXR0cmlidXRl
KCJocmVmIiwgIiNjYXJkMiIpOwotICAgIGFuY2hvckVsZW1lbnQuYXBwZW5kQ2hpbGQoZ29FbGVt
ZW50KTsKLX0KLQotZnVuY3Rpb24gcHJlcGFyZVRlc3QoKSB7Ci0gICAgc3RhcnRUZXN0KDI1LCAx
NSk7Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGNvbXBsZXRlVGVzdCgpOwot
fQotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3dt
bC9zY3JpcHQtdGVzdHMvaW5wdXQtZm9ybWF0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dtbC9zY3JpcHQtdGVzdHMvaW5wdXQtZm9ybWF0LmpzCShyZXZpc2lvbiA4NTE2NikKKysrIExh
eW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvaW5wdXQtZm9ybWF0LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDE4NyArMCwwIEBACi0vLyBbTmFtZV0gaW5wdXQtZm9ybWF0LmpzIAotCi1jcmVhdGVE
eW5hbWljV01MVGVzdENhc2UoIlRlc3RzIGlucHV0IGZvcm1hdCB2YWxpZGF0aW9uIik7Ci0KLXZh
ciBwRWxlbWVudDE7Ci12YXIgcEVsZW1lbnQyOwotdmFyIHBFbGVtZW50MzsKLXZhciBwRWxlbWVu
dDQ7Ci12YXIgcEVsZW1lbnQ1OwotdmFyIHBFbGVtZW50NjsKLXZhciBwRWxlbWVudDc7Ci12YXIg
cEVsZW1lbnQ4OwotdmFyIHBFbGVtZW50OTsKLXZhciBwRWxlbWVudDEwOwotdmFyIHBFbGVtZW50
MTE7Ci12YXIgcEVsZW1lbnQxMjsKLQotZnVuY3Rpb24gc2V0dXBUZXN0RG9jdW1lbnQoKSB7Ci0g
ICAgdmFyIGNhcmRFbGVtZW50ID0gdGVzdERvY3VtZW50LmRvY3VtZW50RWxlbWVudC5maXJzdENo
aWxkOwotCi0gICAgdmFyIGFuY2hvckVsZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJhbmNob3Ii
KTsKLSAgICBhbmNob3JFbGVtZW50LnRleHRDb250ZW50ID0gIlN0YXJ0IHRlc3QiOwotICAgIGNh
cmRFbGVtZW50LmFwcGVuZENoaWxkKGFuY2hvckVsZW1lbnQpOwotCi0gICAgdmFyIHJlZnJlc2hF
bGVtZW50ID0gY3JlYXRlV01MRWxlbWVudCgicmVmcmVzaCIpOwotICAgIGFuY2hvckVsZW1lbnQu
YXBwZW5kQ2hpbGQocmVmcmVzaEVsZW1lbnQpOwotCi0gICAgLy8gVGVzdCBjYXNlcyBmb3Igc3Vj
Y2Vzc2Z1bCBtYXRjaGluZywgdGhlICd2YWx1ZScgY2FuIGRpc3BsYXkgY29ycmVjbHR5Ci0gICAg
dmFyIGlucHV0RWxlbWVudDEgPSBjcmVhdGVXTUxFbGVtZW50KCJpbnB1dCIpOwotICAgIGlucHV0
RWxlbWVudDEuc2V0QXR0cmlidXRlKCJuYW1lIiwgImlucHV0MSIpOwotICAgIGlucHV0RWxlbWVu
dDEuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJUZVN0MC0wMSIpOwotICAgIGlucHV0RWxlbWVudDEu
c2V0QXR0cmlidXRlKCJmb3JtYXQiLCAiQWFYeE1tTm4iKTsKLSAgICBjYXJkRWxlbWVudC5hcHBl
bmRDaGlsZChpbnB1dEVsZW1lbnQxKTsKLQotICAgIHZhciBpbnB1dEVsZW1lbnQyID0gY3JlYXRl
V01MRWxlbWVudCgiaW5wdXQiKTsKLSAgICBpbnB1dEVsZW1lbnQyLnNldEF0dHJpYnV0ZSgibmFt
ZSIsICJpbnB1dDIiKTsKLSAgICBpbnB1dEVsZW1lbnQyLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAi
VGVTdDAtMDIiKTsKLSAgICBpbnB1dEVsZW1lbnQyLnNldEF0dHJpYnV0ZSgiZm9ybWF0IiwgIkFh
WHhuXC0yTiIpOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGlucHV0RWxlbWVudDIpOwot
Ci0gICAgdmFyIGlucHV0RWxlbWVudDMgPSBjcmVhdGVXTUxFbGVtZW50KCJpbnB1dCIpOwotICAg
IGlucHV0RWxlbWVudDMuc2V0QXR0cmlidXRlKCJuYW1lIiwgImlucHV0MyIpOwotICAgIGlucHV0
RWxlbWVudDMuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJUZVN0LSswMyIpOwotICAgIGlucHV0RWxl
bWVudDMuc2V0QXR0cmlidXRlKCJmb3JtYXQiLCAiQWFYeFwtXCtuTiIpOwotICAgIGNhcmRFbGVt
ZW50LmFwcGVuZENoaWxkKGlucHV0RWxlbWVudDMpOwotCi0gICAgdmFyIGlucHV0RWxlbWVudDQg
PSBjcmVhdGVXTUxFbGVtZW50KCJpbnB1dCIpOwotICAgIGlucHV0RWxlbWVudDQuc2V0QXR0cmli
dXRlKCJuYW1lIiwgImlucHV0NCIpOwotICAgIGlucHV0RWxlbWVudDQuc2V0QXR0cmlidXRlKCJ2
YWx1ZSIsICJUZVN0MC0wNCIpOwotICAgIGlucHV0RWxlbWVudDQuc2V0QXR0cmlidXRlKCJmb3Jt
YXQiLCAiKm0iKTsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChpbnB1dEVsZW1lbnQ0KTsK
LQotICAgIHZhciBpbnB1dEVsZW1lbnQ1ID0gY3JlYXRlV01MRWxlbWVudCgiaW5wdXQiKTsKLSAg
ICBpbnB1dEVsZW1lbnQ1LnNldEF0dHJpYnV0ZSgibmFtZSIsICJpbnB1dDUiKTsKLSAgICBpbnB1
dEVsZW1lbnQ1LnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiVGVTdDAtMDUiKTsKLSAgICBpbnB1dEVs
ZW1lbnQ1LnNldEF0dHJpYnV0ZSgiZm9ybWF0IiwgIlhhbSp4Iik7Ci0gICAgY2FyZEVsZW1lbnQu
YXBwZW5kQ2hpbGQoaW5wdXRFbGVtZW50NSk7Ci0KLSAgICAvLyBUZXN0IGNhc2VzIGZvciBmYWls
ZWQgbWF0Y2hpbmcsIGlmIGZhaWxlZCwgdGhlICd2YWx1ZScgc2hvdWxkIGJlIHNldCB0byBlbXB0
eQotICAgIHZhciBpbnB1dEVsZW1lbnQ2ID0gY3JlYXRlV01MRWxlbWVudCgiaW5wdXQiKTsKLSAg
ICBpbnB1dEVsZW1lbnQ2LnNldEF0dHJpYnV0ZSgibmFtZSIsICJpbnB1dDYiKTsKLSAgICBpbnB1
dEVsZW1lbnQ2LnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiVGVTdDAtMDYiKTsKLSAgICBpbnB1dEVs
ZW1lbnQ2LnNldEF0dHJpYnV0ZSgiZm9ybWF0IiwgIk1hWHhhM24iKTsKLSAgICBjYXJkRWxlbWVu
dC5hcHBlbmRDaGlsZChpbnB1dEVsZW1lbnQ2KTsKLSAKLSAgICB2YXIgaW5wdXRFbGVtZW50NyA9
IGNyZWF0ZVdNTEVsZW1lbnQoImlucHV0Iik7Ci0gICAgaW5wdXRFbGVtZW50Ny5zZXRBdHRyaWJ1
dGUoIm5hbWUiLCAiaW5wdXQ3Iik7Ci0gICAgaW5wdXRFbGVtZW50Ny5zZXRBdHRyaWJ1dGUoInZh
bHVlIiwgIlRlU3QwLTA3Iik7Ci0gICAgaW5wdXRFbGVtZW50Ny5zZXRBdHRyaWJ1dGUoImZvcm1h
dCIsICJhYXh4bW1ubiIpOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGlucHV0RWxlbWVu
dDcpOwotCi0gICAgLy8gVGVzdCBjYXNlcyBmb3IgaW52YWxpZCBpbnB1dCBtYXNrIHdoaWNoIHNo
b3VsZCBiZSBpZ25vcmVkLCAKLSAgICAvLyBhbmQgdGhlICd2YWx1ZScgY2FuIGRpc3BsYXkgY29y
cmVjbHR5Ci0gICAgdmFyIGlucHV0RWxlbWVudDggPSBjcmVhdGVXTUxFbGVtZW50KCJpbnB1dCIp
OwotICAgIGlucHV0RWxlbWVudDguc2V0QXR0cmlidXRlKCJuYW1lIiwgImlucHV0OCIpOwotICAg
IGlucHV0RWxlbWVudDguc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJUZVN0MC0wOCIpOwotICAgIGlu
cHV0RWxlbWVudDguc2V0QXR0cmlidXRlKCJmb3JtYXQiLCAiVGVTdDAwMDgiKTsKLSAgICBjYXJk
RWxlbWVudC5hcHBlbmRDaGlsZChpbnB1dEVsZW1lbnQ4KTsKLQotICAgIHZhciBpbnB1dEVsZW1l
bnQ5ID0gY3JlYXRlV01MRWxlbWVudCgiaW5wdXQiKTsKLSAgICBpbnB1dEVsZW1lbnQ5LnNldEF0
dHJpYnV0ZSgibmFtZSIsICJpbnB1dDkiKTsKLSAgICBpbnB1dEVsZW1lbnQ5LnNldEF0dHJpYnV0
ZSgidmFsdWUiLCAiVGVTdDAtMDkiKTsKLSAgICBpbnB1dEVsZW1lbnQ5LnNldEF0dHJpYnV0ZSgi
Zm9ybWF0IiwgIk1NTU1NTU1NMG4iKTsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChpbnB1
dEVsZW1lbnQ5KTsKLQotICAgIHZhciBpbnB1dEVsZW1lbnQxMCA9IGNyZWF0ZVdNTEVsZW1lbnQo
ImlucHV0Iik7Ci0gICAgaW5wdXRFbGVtZW50MTAuc2V0QXR0cmlidXRlKCJuYW1lIiwgImlucHV0
MTAiKTsKLSAgICBpbnB1dEVsZW1lbnQxMC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIjAxMjM0NTY3
ODkiKTsKLSAgICBpbnB1dEVsZW1lbnQxMC5zZXRBdHRyaWJ1dGUoImZvcm1hdCIsICIxMG4iKTsK
LSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChpbnB1dEVsZW1lbnQxMCk7Ci0KLSAgICB2YXIg
aW5wdXRFbGVtZW50MTEgPSBjcmVhdGVXTUxFbGVtZW50KCJpbnB1dCIpOwotICAgIGlucHV0RWxl
bWVudDExLnNldEF0dHJpYnV0ZSgibmFtZSIsICJpbnB1dDExIik7Ci0gICAgaW5wdXRFbGVtZW50
MTEuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJUZVN0MC0xMSIpOwotICAgIGlucHV0RWxlbWVudDEx
LnNldEF0dHJpYnV0ZSgiZm9ybWF0IiwgIipBTU1NTU1NIik7Ci0gICAgY2FyZEVsZW1lbnQuYXBw
ZW5kQ2hpbGQoaW5wdXRFbGVtZW50MTEpOwotCi0gICAgdmFyIGlucHV0RWxlbWVudDEyPSBjcmVh
dGVXTUxFbGVtZW50KCJpbnB1dCIpOwotICAgIGlucHV0RWxlbWVudDEyLnNldEF0dHJpYnV0ZSgi
bmFtZSIsICJpbnB1dDEyIik7Ci0gICAgaW5wdXRFbGVtZW50MTIuc2V0QXR0cmlidXRlKCJ2YWx1
ZSIsICJUZVN0MC0xMiIpOwotICAgIGlucHV0RWxlbWVudDEyLnNldEF0dHJpYnV0ZSgiZm9ybWF0
IiwgIk0qYSpNIik7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQoaW5wdXRFbGVtZW50MTIp
OwotCi0gICAgcEVsZW1lbnQxID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwotICAgIHBFbGVtZW50
MS50ZXh0Q29udGVudCA9ICJSZXN1bHQ6ICRpbnB1dDEiOwotICAgIGNhcmRFbGVtZW50LmFwcGVu
ZENoaWxkKHBFbGVtZW50MSk7Ci0KLSAgICBwRWxlbWVudDIgPSBjcmVhdGVXTUxFbGVtZW50KCJw
Iik7Ci0gICAgcEVsZW1lbnQyLnRleHRDb250ZW50ID0gIlJlc3VsdDogJGlucHV0MiI7Ci0gICAg
Y2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQyKTsKLQotICAgIHBFbGVtZW50MyA9IGNy
ZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDMudGV4dENvbnRlbnQgPSAiUmVzdWx0
OiAkaW5wdXQzIjsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChwRWxlbWVudDMpOwotCi0g
ICAgcEVsZW1lbnQ0ID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwotICAgIHBFbGVtZW50NC50ZXh0
Q29udGVudCA9ICJSZXN1bHQ6ICRpbnB1dDQiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxk
KHBFbGVtZW50NCk7Ci0KLSAgICBwRWxlbWVudDUgPSBjcmVhdGVXTUxFbGVtZW50KCJwIik7Ci0g
ICAgcEVsZW1lbnQ1LnRleHRDb250ZW50ID0gIlJlc3VsdDogJGlucHV0NSI7Ci0gICAgY2FyZEVs
ZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQ1KTsKLQotICAgIHBFbGVtZW50NiA9IGNyZWF0ZVdN
TEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDYudGV4dENvbnRlbnQgPSAiUmVzdWx0OiAkaW5w
dXQ2IjsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChwRWxlbWVudDYpOwotCi0gICAgcEVs
ZW1lbnQ3ID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwotICAgIHBFbGVtZW50Ny50ZXh0Q29udGVu
dCA9ICJSZXN1bHQ6ICRpbnB1dDciOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKHBFbGVt
ZW50Nyk7Ci0KLSAgICBwRWxlbWVudDggPSBjcmVhdGVXTUxFbGVtZW50KCJwIik7Ci0gICAgcEVs
ZW1lbnQ4LnRleHRDb250ZW50ID0gIlJlc3VsdDogJGlucHV0OCI7Ci0gICAgY2FyZEVsZW1lbnQu
YXBwZW5kQ2hpbGQocEVsZW1lbnQ4KTsKLQotICAgIHBFbGVtZW50OSA9IGNyZWF0ZVdNTEVsZW1l
bnQoInAiKTsKLSAgICBwRWxlbWVudDkudGV4dENvbnRlbnQgPSAiUmVzdWx0OiAkaW5wdXQ5IjsK
LSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChwRWxlbWVudDkpOwotCi0gICAgcEVsZW1lbnQx
MCA9IGNyZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDEwLnRleHRDb250ZW50ID0g
IlJlc3VsdDogJGlucHV0MTAiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKHBFbGVtZW50
MTApOwotCi0gICAgcEVsZW1lbnQxMSA9IGNyZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxl
bWVudDExLnRleHRDb250ZW50ID0gIlJlc3VsdDogJGlucHV0MTEiOwotICAgIGNhcmRFbGVtZW50
LmFwcGVuZENoaWxkKHBFbGVtZW50MTEpOwotCi0gICAgcEVsZW1lbnQxMiA9IGNyZWF0ZVdNTEVs
ZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDEyLnRleHRDb250ZW50ID0gIlJlc3VsdDogJGlucHV0
MTIiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKHBFbGVtZW50MTIpOwotfQotCi1mdW5j
dGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50
MS50ZXh0Q29udGVudCIsICJSZXN1bHQ6ICRpbnB1dDEiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInBFbGVtZW50Mi50ZXh0Q29udGVudCIsICJSZXN1bHQ6ICRpbnB1dDIiKTsKLSAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50My50ZXh0Q29udGVudCIsICJSZXN1bHQ6ICRp
bnB1dDMiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50NC50ZXh0Q29udGVu
dCIsICJSZXN1bHQ6ICRpbnB1dDQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVt
ZW50NS50ZXh0Q29udGVudCIsICJSZXN1bHQ6ICRpbnB1dDUiKTsKLSAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInBFbGVtZW50Ni50ZXh0Q29udGVudCIsICJSZXN1bHQ6ICRpbnB1dDYiKTsKLSAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50Ny50ZXh0Q29udGVudCIsICJSZXN1bHQ6
ICRpbnB1dDciKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50OC50ZXh0Q29u
dGVudCIsICJSZXN1bHQ6ICRpbnB1dDgiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBF
bGVtZW50OS50ZXh0Q29udGVudCIsICJSZXN1bHQ6ICRpbnB1dDkiKTsKLSAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInBFbGVtZW50MTAudGV4dENvbnRlbnQiLCAiUmVzdWx0OiAkaW5wdXQxMCIp
OwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQxMS50ZXh0Q29udGVudCIsICJS
ZXN1bHQ6ICRpbnB1dDExIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDEy
LnRleHRDb250ZW50IiwgIlJlc3VsdDogJGlucHV0MTIiKTsKLQotICAgIHN0YXJ0VGVzdCgyNSwg
MTUpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInBFbGVtZW50MS50ZXh0Q29udGVudCIsICJSZXN1bHQ6IFRlU3QwLTAxIik7Ci0gICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDIudGV4dENvbnRlbnQiLCAiUmVzdWx0OiBU
ZVN0MC0wMiIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQzLnRleHRDb250
ZW50IiwgIlJlc3VsdDogVGVTdC0rMDMiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBF
bGVtZW50NC50ZXh0Q29udGVudCIsICJSZXN1bHQ6IFRlU3QwLTA0Iik7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJwRWxlbWVudDUudGV4dENvbnRlbnQiLCAiUmVzdWx0OiBUZVN0MC0wNSIp
OwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQ2LnRleHRDb250ZW50IiwgIlJl
c3VsdDogIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDcudGV4dENvbnRl
bnQiLCAiUmVzdWx0OiAiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50OC50
ZXh0Q29udGVudCIsICJSZXN1bHQ6IFRlU3QwLTA4Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJwRWxlbWVudDkudGV4dENvbnRlbnQiLCAiUmVzdWx0OiBUZVN0MC0wOSIpOwotICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQxMC50ZXh0Q29udGVudCIsICJSZXN1bHQ6IDAx
MjM0NTY3ODkiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50MTEudGV4dENv
bnRlbnQiLCAiUmVzdWx0OiBUZVN0MC0xMSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
cEVsZW1lbnQxMi50ZXh0Q29udGVudCIsICJSZXN1bHQ6IFRlU3QwLTEyIik7Ci0KLSAgICBjb21w
bGV0ZVRlc3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBM
YXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL25ld2NvbnRleHQtc2FtZS1kZWNrLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvbmV3Y29udGV4dC1zYW1lLWRl
Y2suanMJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9u
ZXdjb250ZXh0LXNhbWUtZGVjay5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNiArMCwwIEBACi0v
Ly8gW05hbWVdIG5ld2NvbnRleHQtc2FtZS1kZWNrLmpzCi0KLWNyZWF0ZVN0YXRpY1dNTFRlc3RD
YXNlKCJUZXN0cyBuZXdjb250ZXh0IGF0dHJpYnV0ZSBoYW5kbGluZyBvbiBjYXJkcyB3aXRoaW4g
dGhlIHNhbWUgZGVjayIsICJyZXNvdXJjZXMvbmV3Y29udGV4dC1zYW1lLWRlY2sud21sIik7Ci0K
LXZhciBjb3VudGVyID0gMDsKLQotdmFyIHJlc3VsdDE7Ci12YXIgcmVzdWx0MjsKLXZhciByZXN1
bHQzOwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAgICAvLyBuby1vcAotfQot
Ci1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICBzdGFydFRlc3QoMjUsIDE1KTsKLX0KLQot
ZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgcmVzdWx0MSA9IHRlc3REb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0MSIpOwotICAgIHJlc3VsdDIgPSB0ZXN0RG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlc3VsdDIiKTsKLSAgICByZXN1bHQzID0gdGVzdERvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJyZXN1bHQzIik7Ci0KLSAgICBpZiAoY291bnRlciA9PSAwKSB7Ci0gICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0MS50ZXh0Q29udGVudCIsICJUZXN0IDEvMzogdmFy
MT0nJyIpOwotICAgICAgICBzdGFydFRlc3QoMjUsIDE1KTsKLSAgICB9IGVsc2UgaWYgKGNvdW50
ZXIgPT0gMSkgewotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdDIudGV4dENv
bnRlbnQiLCAiVGVzdCAyLzM6IHZhcjE9JyciKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJyZXN1bHQzLnRleHRDb250ZW50IiwgIlRlc3QgMy8zOiB2YXIyPSdQQVNTJyIpOwotICAg
ICAgICBjb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICArK2NvdW50ZXI7Ci19Ci0KLXZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10
ZXN0cy9vbmVudGVyZm9yd2FyZC1ldmVudC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
bWwvc2NyaXB0LXRlc3RzL29uZW50ZXJmb3J3YXJkLWV2ZW50LmpzCShyZXZpc2lvbiA4NTE2NikK
KysrIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb25lbnRlcmZvcndhcmQtZXZlbnQuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzAsMCBAQAotLy8vIFtOYW1lXSBvbmVudGVyZm9yd2Fy
ZC1ldmVudC5qcwotCi1jcmVhdGVTdGF0aWNXTUxUZXN0Q2FzZSgiVGVzdHMgb25lbnRlcmZvcndh
cmQgbm9uLWlubGluZSBldmVudCBkZWNsYXJhdGlvbnMiLCAicmVzb3VyY2VzL29uZW50ZXJmb3J3
YXJkLWV2ZW50LndtbCIpOwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAgICAv
LyBuby1vcAotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICAvLyBuby1vcAotfQot
Ci1mdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICBjb21wbGV0ZVRlc3QoKTsKLX0KLQotdmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvc2NyaXB0
LXRlc3RzL29uZW50ZXJmb3J3YXJkLWlubGluZS1ldmVudC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL29uZW50ZXJmb3J3YXJkLWlubGluZS1ldmVudC5qcwko
cmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL29uZW50ZXJm
b3J3YXJkLWlubGluZS1ldmVudC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwxNyArMCwwIEBACi0v
Ly8gW05hbWVdIG9uZW50ZXJmb3J3YXJkLWlubGluZS1ldmVudC5qcwotCi1jcmVhdGVTdGF0aWNX
TUxUZXN0Q2FzZSgiVGVzdHMgb25lbnRlcmZvcndhcmQgaW5saW5lIGV2ZW50IGRlY2xhcmF0aW9u
cyIsICJyZXNvdXJjZXMvb25lbnRlcmZvcndhcmQtaW5saW5lLWV2ZW50LndtbCIpOwotCi1mdW5j
dGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAgICAvLyBuby1vcAotfQotCi1mdW5jdGlvbiBw
cmVwYXJlVGVzdCgpIHsKLSAgICAvLyBuby1vcAotfQotCi1mdW5jdGlvbiBleGVjdXRlVGVzdCgp
IHsKLSAgICBjb21wbGV0ZVRlc3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL29udGltZXItZXZlbnQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9vbnRpbWVyLWV2ZW50
LmpzCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb250
aW1lci1ldmVudC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyMiArMCwwIEBACi0vLy8gW05hbWVd
IG9udGltZXItZXZlbnQuanMKLQotY3JlYXRlU3RhdGljV01MVGVzdENhc2UoIlRlc3RzIG9udGlt
ZXIgbm9uLWlubGluZSBldmVudCBkZWNsYXJhdGlvbnMiLCAicmVzb3VyY2VzL29udGltZXItZXZl
bnQud21sIik7Ci0KLXZhciBjb3VudGVyID0gMDsKLQotZnVuY3Rpb24gc2V0dXBUZXN0RG9jdW1l
bnQoKSB7Ci0gICAgLy8gbm8tb3AKLX0KLQotZnVuY3Rpb24gcHJlcGFyZVRlc3QoKSB7Ci0gICAg
Ly8gbm8tb3AKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgaWYgKGNvdW50ZXIg
PT0gMikKLSAgICAgICAgY29tcGxldGVUZXN0KCk7Ci0KLSAgICArK2NvdW50ZXI7Ci19Ci0KLXZh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvd21sL3Njcmlw
dC10ZXN0cy9vbnRpbWVyLWlubGluZS1ldmVudC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93bWwvc2NyaXB0LXRlc3RzL29udGltZXItaW5saW5lLWV2ZW50LmpzCShyZXZpc2lvbiA4NTE2
NikKKysrIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb250aW1lci1pbmxpbmUtZXZlbnQu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjIgKzAsMCBAQAotLy8vIFtOYW1lXSBvbnRpbWVyLWlu
bGluZS1ldmVudC5qcwotCi1jcmVhdGVTdGF0aWNXTUxUZXN0Q2FzZSgiVGVzdHMgb250aW1lciBp
bmxpbmUgZXZlbnQgZGVjbGFyYXRpb25zIiwgInJlc291cmNlcy9vbnRpbWVyLWlubGluZS1ldmVu
dC53bWwiKTsKLQotdmFyIGNvdW50ZXIgPSAwOwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVu
dCgpIHsKLSAgICAvLyBuby1vcAotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICAv
LyBuby1vcAotfQotCi1mdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICBpZiAoY291bnRlciA9
PSAyKQotICAgICAgICBjb21wbGV0ZVRlc3QoKTsKLQotICAgICsrY291bnRlcjsKLX0KLQotdmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvc2NyaXB0
LXRlc3RzL29wdGlvbi1lbGVtZW50LW9ucGljay1yZWN1cnNpb24uanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9vcHRpb24tZWxlbWVudC1vbnBpY2stcmVjdXJz
aW9uLmpzCShyZXZpc2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMv
b3B0aW9uLWVsZW1lbnQtb25waWNrLXJlY3Vyc2lvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwy
MiArMCwwIEBACi0vLyBbTmFtZV0gb3B0aW9uLWVsZW1lbnQtb25waWNrLXJlY3Vyc2lvbi5qcwot
Ci1jcmVhdGVTdGF0aWNXTUxUZXN0Q2FzZSgiVGVzdHMgb25waWNrIGludHJpbnNpYyBldmVudCBy
ZWN1cnNpb24gYnVnIiwgInJlc291cmNlcy9vcHRpb24tZWxlbWVudC1vbnBpY2stcmVjdXJzaW9u
LndtbCIsIGZhbHNlKTsKLQotdmFyIHJlc3VsdEVsZW1lbnQ7Ci0KLWZ1bmN0aW9uIHNldHVwVGVz
dERvY3VtZW50KCkgewotICAgIHJlc3VsdEVsZW1lbnQgPSB0ZXN0RG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlc3VsdCIpOwotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICBpZiAo
cmVzdWx0RWxlbWVudC50ZXh0Q29udGVudCAhPSAiZmluaXNoZWQiKQotICAgICAgICB3aW5kb3cu
c2V0VGltZW91dCgnc3RhcnRUZXN0KDI1LCAxNSknLCAwKTsKLSAgICBlbHNlCi0gICAgICAgIGNv
bXBsZXRlVGVzdCgpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICB3aW5kb3cu
aGlzdG9yeS5iYWNrKCk7Ci19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRl
eDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9vcHRpb24tZWxlbWVudC1vbnBpY2suanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9vcHRpb24tZWxlbWVu
dC1vbnBpY2suanMJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10
ZXN0cy9vcHRpb24tZWxlbWVudC1vbnBpY2suanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzMgKzAs
MCBAQAotLy8gW05hbWVdIG9wdGlvbi1lbGVtZW50LW9ucGljay5qcwotCi1jcmVhdGVEeW5hbWlj
V01MVGVzdENhc2UoIlRlc3RzIG9ucGljayBpbnRyaW5zaWMgZXZlbnQgc3VwcG9ydCBvZiBvcHRp
b24gZWxlbWVudHMiLCBmYWxzZSk7Ci0KLWZ1bmN0aW9uIHNldHVwVGVzdERvY3VtZW50KCkgewot
ICAgIHZhciBjYXJkRWxlbWVudCA9IHRlc3REb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZmlyc3RD
aGlsZDsKLQotICAgIHZhciBzZWxlY3RFbGVtZW50ID0gY3JlYXRlV01MRWxlbWVudCgic2VsZWN0
Iik7Ci0gICAgc2VsZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAicmVzdWx0Iik7Ci0g
ICAgc2VsZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGUoIm11bHRpcGxlIiwgImZhbHNlIik7Ci0gICAg
Y2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQoc2VsZWN0RWxlbWVudCk7Ci0KLSAgICB2YXIgb3B0aW9u
RWxlbWVudDEgPSBjcmVhdGVXTUxFbGVtZW50KCJvcHRpb24iKTsKLSAgICBvcHRpb25FbGVtZW50
MS5zZXRBdHRyaWJ1dGUoIm9ucGljayIsICIjY2FyZDIiKTsKLSAgICBvcHRpb25FbGVtZW50MS5z
ZXRBdHRyaWJ1dGUoInZhbHVlIiwgImRvZ2d5Iik7Ci0gICAgb3B0aW9uRWxlbWVudDEudGV4dENv
bnRlbnQgPSAiRG9nIjsKLSAgICBzZWxlY3RFbGVtZW50LmFwcGVuZENoaWxkKG9wdGlvbkVsZW1l
bnQxKTsKLQotICAgIHZhciBvcHRpb25FbGVtZW50MiA9IGNyZWF0ZVdNTEVsZW1lbnQoIm9wdGlv
biIpOwotICAgIG9wdGlvbkVsZW1lbnQyLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAia2l0dGVuIik7
Ci0gICAgb3B0aW9uRWxlbWVudDIudGV4dENvbnRlbnQgPSAiQ2F0IjsKLSAgICBzZWxlY3RFbGVt
ZW50LmFwcGVuZENoaWxkKG9wdGlvbkVsZW1lbnQyKTsKLX0KLQotZnVuY3Rpb24gcHJlcGFyZVRl
c3QoKSB7Ci0gICAgd2luZG93LnNldFRpbWVvdXQoJ3N0YXJ0VGVzdCgyNSwgMTUpJywgMCk7Ci19
Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGNvbXBsZXRlVGVzdCgpOwotfQotCi12
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3dtbC9zY3Jp
cHQtdGVzdHMvc2VsZWN0LWVsZW1lbnQtdmFyaWFibGVzLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvc2VsZWN0LWVsZW1lbnQtdmFyaWFibGVzLmpzCShyZXZp
c2lvbiA4NTE2NikKKysrIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvc2VsZWN0LWVsZW1l
bnQtdmFyaWFibGVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUxICswLDAgQEAKLS8vIFtOYW1l
XSBzZWxlY3QtZWxlbWVudC12YXJpYWJsZXMuanMKLQotY3JlYXRlRHluYW1pY1dNTFRlc3RDYXNl
KCJUZXN0cyB2YXJpYWJsZSByZWZlcmVuY2VzIGluIGNvbmp1Y3Rpb24gd2l0aCBzZWxlY3QgZWxl
bWVudHMiKTsKLQotdmFyIHJlc3VsdEVsZW1lbnQ7Ci0KLWZ1bmN0aW9uIHNldHVwVGVzdERvY3Vt
ZW50KCkgewotICAgIHZhciBjYXJkRWxlbWVudCA9IHRlc3REb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuZmlyc3RDaGlsZDsKLSAgICB2YXIgY2FyZDJFbGVtZW50ID0gdGVzdERvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjYXJkMiIpOwotCi0gICAgdmFyIGFuY2hvckVsZW1lbnQgPSBjcmVhdGVXTUxF
bGVtZW50KCJhbmNob3IiKTsKLSAgICBhbmNob3JFbGVtZW50LnRleHRDb250ZW50ID0gIlN0YXJ0
IHRlc3QiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGFuY2hvckVsZW1lbnQpOwotCi0g
ICAgdmFyIGdvRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImdvIik7Ci0gICAgZ29FbGVtZW50
LnNldEF0dHJpYnV0ZSgiaHJlZiIsICIjY2FyZDIiKTsKLSAgICBhbmNob3JFbGVtZW50LmFwcGVu
ZENoaWxkKGdvRWxlbWVudCk7Ci0KLSAgICB2YXIgcEVsZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50
KCJwIik7Ci0gICAgcEVsZW1lbnQudGV4dENvbnRlbnQgPSAiU2VsZWN0IGFuIG9wdGlvbiI7Ci0g
ICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQpOwotCi0gICAgdmFyIHNlbGVjdEVs
ZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJzZWxlY3QiKTsKLSAgICBzZWxlY3RFbGVtZW50LnNl
dEF0dHJpYnV0ZSgibmFtZSIsICJyZXN1bHQiKTsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGls
ZChzZWxlY3RFbGVtZW50KTsKLQotICAgIHJlc3VsdEVsZW1lbnQgPSBjYXJkMkVsZW1lbnQuZmly
c3RDaGlsZDsKLSAgICByZXN1bHRFbGVtZW50LnRleHRDb250ZW50ID0gIlNlbGVjdGlvbiByZXN1
bHQ6ICckcmVzdWx0JyI7Ci0KLSAgICB2YXIgb3B0aW9uRWxlbWVudDEgPSBjcmVhdGVXTUxFbGVt
ZW50KCJvcHRpb24iKTsKLSAgICBvcHRpb25FbGVtZW50MS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwg
ImRvZ2d5Iik7Ci0gICAgb3B0aW9uRWxlbWVudDEudGV4dENvbnRlbnQgPSAiRG9nIjsKLSAgICBz
ZWxlY3RFbGVtZW50LmFwcGVuZENoaWxkKG9wdGlvbkVsZW1lbnQxKTsKLQotICAgIHZhciBvcHRp
b25FbGVtZW50MiA9IGNyZWF0ZVdNTEVsZW1lbnQoIm9wdGlvbiIpOwotICAgIG9wdGlvbkVsZW1l
bnQyLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAia2l0dGVuIik7Ci0gICAgb3B0aW9uRWxlbWVudDIu
dGV4dENvbnRlbnQgPSAiQ2F0IjsKLSAgICBzZWxlY3RFbGVtZW50LmFwcGVuZENoaWxkKG9wdGlv
bkVsZW1lbnQyKTsKLX0KLQotZnVuY3Rpb24gcHJlcGFyZVRlc3QoKSB7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJyZXN1bHRFbGVtZW50LnRleHRDb250ZW50IiwgIlNlbGVjdGlvbiByZXN1
bHQ6ICcnIik7Ci0gICAgc3RhcnRUZXN0KDI1LCAxNSk7Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVU
ZXN0KCkgewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0RWxlbWVudC50ZXh0Q29u
dGVudCIsICJTZWxlY3Rpb24gcmVzdWx0OiAnZG9nZ3knIik7Ci0gICAgY29tcGxldGVUZXN0KCk7
Ci19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMv
d21sL3NjcmlwdC10ZXN0cy92YXJpYWJsZS1yZWZlcmVuY2UtaW52YWxpZC1jaGFyYWN0ZXIuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy92YXJpYWJsZS1yZWZl
cmVuY2UtaW52YWxpZC1jaGFyYWN0ZXIuanMJKHJldmlzaW9uIDg1MTY2KQorKysgTGF5b3V0VGVz
dHMvd21sL3NjcmlwdC10ZXN0cy92YXJpYWJsZS1yZWZlcmVuY2UtaW52YWxpZC1jaGFyYWN0ZXIu
anMJKHdvcmtpbmcgY29weSkKQEAgLTEsNjIgKzAsMCBAQAotLy8gW05hbWVdIHZhcmlhYmxlLXJl
ZmVyZW5jZS1pbnZhbGlkLWNoYXJhY3Rlci5qcyAKLQotY3JlYXRlRHluYW1pY1dNTFRlc3RDYXNl
KCJUZXN0IHRoYXQgaW52YWxpZCB2YXJpYWJsZSByZWZlcmVuY2VzIGFyZW4ndCBkZXRlY3RlZCB1
bnRpbCB2YXJpYWJsZSBzdWJzdGl0dXRpb24gaXMgZXhlY3V0ZWQiKTsKLQotdmFyIHBFbGVtZW50
MTsKLXZhciBwRWxlbWVudDI7Ci12YXIgcEVsZW1lbnQzOwotdmFyIHBFbGVtZW50NDsKLQotZnVu
Y3Rpb24gc2V0dXBUZXN0RG9jdW1lbnQoKSB7Ci0gICAgdmFyIGNhcmRFbGVtZW50ID0gdGVzdERv
Y3VtZW50LmRvY3VtZW50RWxlbWVudC5maXJzdENoaWxkOwotCi0gICAgdmFyIGFuY2hvckVsZW1l
bnQgPSBjcmVhdGVXTUxFbGVtZW50KCJhbmNob3IiKTsKLSAgICBhbmNob3JFbGVtZW50LnRleHRD
b250ZW50ID0gIlN0YXJ0IHRlc3QiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGFuY2hv
ckVsZW1lbnQpOwotCi0gICAgdmFyIHJlZnJlc2hFbGVtZW50ID0gY3JlYXRlV01MRWxlbWVudCgi
cmVmcmVzaCIpOwotICAgIGFuY2hvckVsZW1lbnQuYXBwZW5kQ2hpbGQocmVmcmVzaEVsZW1lbnQp
OwotCi0gICAgdmFyIHNldHZhckVsZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJzZXR2YXIiKTsK
LSAgICBzZXR2YXJFbGVtZW50LnNldEF0dHJpYnV0ZSgibmFtZSIsICJ2YXIiKTsKLSAgICBzZXR2
YXJFbGVtZW50LnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiVEVTVCBQQVNTRUQiKTsKLSAgICByZWZy
ZXNoRWxlbWVudC5hcHBlbmRDaGlsZChzZXR2YXJFbGVtZW50KTsKLQotICAgIHBFbGVtZW50MSA9
IGNyZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDEudGV4dENvbnRlbnQgPSAiUmVz
dWx0OiQjdmFyIFBBU1NFRCI7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQx
KTsKLQotICAgIHBFbGVtZW50MiA9IGNyZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVu
dDIudGV4dENvbnRlbnQgPSAiUmVzdWx0OiAkKHYjYXI6ZSlQQVNTRUQiOwotICAgIGNhcmRFbGVt
ZW50LmFwcGVuZENoaWxkKHBFbGVtZW50Mik7Ci0KLSAgICBwRWxlbWVudDMgPSBjcmVhdGVXTUxF
bGVtZW50KCJwIik7Ci0gICAgcEVsZW1lbnQzLnRleHRDb250ZW50ID0gIlJlc3VsdDokKHZhcjoj
KSBQQVNTRUQiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKHBFbGVtZW50Myk7Ci0KLSAg
ICBwRWxlbWVudDQgPSBjcmVhdGVXTUxFbGVtZW50KCJwIik7Ci0gICAgcEVsZW1lbnQ0LnRleHRD
b250ZW50ID0gIlJlc3VsdDogUEFTU0VEJCh2YXI6dW5lc2NhcGUpIjsKLSAgICBjYXJkRWxlbWVu
dC5hcHBlbmRDaGlsZChwRWxlbWVudDQpOwotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsK
LSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50MS50ZXh0Q29udGVudCIsICJSZXN1
bHQ6JCN2YXIgUEFTU0VEIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDIu
dGV4dENvbnRlbnQiLCAiUmVzdWx0OiAkKHYjYXI6ZSlQQVNTRUQiKTsKLSAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInBFbGVtZW50My50ZXh0Q29udGVudCIsICJSZXN1bHQ6JCh2YXI6IykgUEFT
U0VEIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDQudGV4dENvbnRlbnQi
LCAiUmVzdWx0OiBQQVNTRUQkKHZhcjp1bmVzY2FwZSkiKTsKLSAKLSAgICBzdGFydFRlc3QoMjUs
IDE1KTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgLy8gTm8gdmFyaWFibGVz
IHNob3VsZCBoYXZlIGJlZW4gc3Vic3RpdHV0ZWQsIGluc3RlYWQgZm91ciBjb25zb2xlIGVycm9y
IG1lc3NhZ2VzCi0gICAgLy8gc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBleHBlY3RlZCBsYXlv
dXQgdGVzdCByZXN1bHRzCi0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDEudGV4
dENvbnRlbnQiLCAiUmVzdWx0OiQjdmFyIFBBU1NFRCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygicEVsZW1lbnQyLnRleHRDb250ZW50IiwgIlJlc3VsdDogJCh2I2FyOmUpUEFTU0VEIik7
Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDMudGV4dENvbnRlbnQiLCAiUmVz
dWx0OiQodmFyOiMpIFBBU1NFRCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1l
bnQ0LnRleHRDb250ZW50IiwgIlJlc3VsdDogUEFTU0VEJCh2YXI6dW5lc2NhcGUpIik7Ci0KLSAg
ICBjb21wbGV0ZVRlc3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cklu
ZGV4OiBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL3ZhcmlhYmxlLXJlZmVyZW5jZS12YWxp
ZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL3ZhcmlhYmxl
LXJlZmVyZW5jZS12YWxpZC5qcwkocmV2aXNpb24gODUxNjYpCisrKyBMYXlvdXRUZXN0cy93bWwv
c2NyaXB0LXRlc3RzL3ZhcmlhYmxlLXJlZmVyZW5jZS12YWxpZC5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSw5MCArMCwwIEBACi0vLyBbTmFtZV0gdmFyaWFibGUtcmVmZXJlbmNlLXZhbGlkLmpzIAot
Ci1jcmVhdGVEeW5hbWljV01MVGVzdENhc2UoIlRlc3RzIHZhbGlkIHZhcmlhYmxlIHJlZmVyZW5j
ZXMiKTsKLQotZnVuY3Rpb24gc2V0dXBUZXN0RG9jdW1lbnQoKSB7Ci0gICAgdmFyIGNhcmRFbGVt
ZW50ID0gdGVzdERvY3VtZW50LmRvY3VtZW50RWxlbWVudC5maXJzdENoaWxkOwotCi0gICAgdmFy
IGFuY2hvckVsZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJhbmNob3IiKTsKLSAgICBhbmNob3JF
bGVtZW50LnRleHRDb250ZW50ID0gIlN0YXJ0IHRlc3QiOwotICAgIGNhcmRFbGVtZW50LmFwcGVu
ZENoaWxkKGFuY2hvckVsZW1lbnQpOwotCi0gICAgdmFyIHJlZnJlc2hFbGVtZW50ID0gY3JlYXRl
V01MRWxlbWVudCgicmVmcmVzaCIpOwotICAgIGFuY2hvckVsZW1lbnQuYXBwZW5kQ2hpbGQocmVm
cmVzaEVsZW1lbnQpOwotCi0gICAgdmFyIHNldHZhckVsZW1lbnQxID0gY3JlYXRlV01MRWxlbWVu
dCgic2V0dmFyIik7Ci0gICAgc2V0dmFyRWxlbWVudDEuc2V0QXR0cmlidXRlKCJuYW1lIiwgInZh
ciIpOwotICAgIHNldHZhckVsZW1lbnQxLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiVEVTVCBQQVNT
RUQiKTsKLSAgICByZWZyZXNoRWxlbWVudC5hcHBlbmRDaGlsZChzZXR2YXJFbGVtZW50MSk7Ci0K
LSAgICAvLyAndmFyMicgZG9lc24ndCBleGlzdCB5ZXQsIHNvIHRoZSB2YWx1ZSB3aWxsIGJlIGVt
cHR5Ci0gICAgdmFyIHNldHZhckVsZW1lbnQyID0gY3JlYXRlV01MRWxlbWVudCgic2V0dmFyIik7
Ci0gICAgc2V0dmFyRWxlbWVudDIuc2V0QXR0cmlidXRlKCJuYW1lIiwgIndvbnR3b3JrIik7Ci0g
ICAgc2V0dmFyRWxlbWVudDIuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICIkdmFyMiIpOwotICAgIHJl
ZnJlc2hFbGVtZW50LmFwcGVuZENoaWxkKHNldHZhckVsZW1lbnQyKTsKLQotICAgIC8vICd2YXIn
IGFscmVhZHkgZXhpc3RzLCBzbyB0aGUgdmFsdWUgd2lsbCBiZSAiVEVTVCUyMFBBU1NFRCIKLSAg
ICB2YXIgc2V0dmFyRWxlbWVudDMgPSBjcmVhdGVXTUxFbGVtZW50KCJzZXR2YXIiKTsKLSAgICBz
ZXR2YXJFbGVtZW50My5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAidmFyMiIpOwotICAgIHNldHZhckVs
ZW1lbnQzLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiJCh2YXI6ZXNjYXBlKSIpOwotICAgIHJlZnJl
c2hFbGVtZW50LmFwcGVuZENoaWxkKHNldHZhckVsZW1lbnQzKTsKLQotICAgIHZhciBzZXR2YXJF
bGVtZW50NCA9IGNyZWF0ZVdNTEVsZW1lbnQoInNldHZhciIpOwotICAgIHNldHZhckVsZW1lbnQ0
LnNldEF0dHJpYnV0ZSgibmFtZSIsICJ2Iik7Ci0gICAgc2V0dmFyRWxlbWVudDQuc2V0QXR0cmli
dXRlKCJ2YWx1ZSIsICJURVNUIFBBU1NFRCIpOwotICAgIHJlZnJlc2hFbGVtZW50LmFwcGVuZENo
aWxkKHNldHZhckVsZW1lbnQ0KTsKLQotICAgIHBFbGVtZW50MSA9IGNyZWF0ZVdNTEVsZW1lbnQo
InAiKTsKLSAgICBwRWxlbWVudDEudGV4dENvbnRlbnQgPSAiUmVzdWx0OiAkdmFyIjsKLSAgICBj
YXJkRWxlbWVudC5hcHBlbmRDaGlsZChwRWxlbWVudDEpOwotCi0gICAgcEVsZW1lbnQyID0gY3Jl
YXRlV01MRWxlbWVudCgicCIpOwotICAgIHBFbGVtZW50Mi50ZXh0Q29udGVudCA9ICJSZXN1bHQ6
ICQodmFyOmUpIjsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChwRWxlbWVudDIpOwotCi0g
ICAgcEVsZW1lbnQzID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwotICAgIHBFbGVtZW50My50ZXh0
Q29udGVudCA9ICJSZXN1bHQ6ICQodmFyMikiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxk
KHBFbGVtZW50Myk7Ci0KLSAgICBwRWxlbWVudDQgPSBjcmVhdGVXTUxFbGVtZW50KCJwIik7Ci0g
ICAgcEVsZW1lbnQ0LnRleHRDb250ZW50ID0gIlJlc3VsdDogJCh2YXIyOnVuZXNjKSI7Ci0gICAg
Y2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQ0KTsKLQotICAgIHBFbGVtZW50NSA9IGNy
ZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDUudGV4dENvbnRlbnQgPSAiUmVzdWx0
OiAkdiI7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQ1KTsKLQotICAgIHBF
bGVtZW50NiA9IGNyZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDYudGV4dENvbnRl
bnQgPSAiUmVzdWx0OiAkKHY6ZSkiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKHBFbGVt
ZW50Nik7Ci0KLSAgICBwRWxlbWVudDcgPSBjcmVhdGVXTUxFbGVtZW50KCJwIik7Ci0gICAgcEVs
ZW1lbnQ3LnRleHRDb250ZW50ID0gIlJlc3VsdDogJHdvbnR3b3JrIjsKLSAgICBjYXJkRWxlbWVu
dC5hcHBlbmRDaGlsZChwRWxlbWVudDcpOwotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsK
LSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50MS50ZXh0Q29udGVudCIsICJSZXN1
bHQ6ICR2YXIiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50Mi50ZXh0Q29u
dGVudCIsICJSZXN1bHQ6ICQodmFyOmUpIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJw
RWxlbWVudDMudGV4dENvbnRlbnQiLCAiUmVzdWx0OiAkKHZhcjIpIik7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJwRWxlbWVudDQudGV4dENvbnRlbnQiLCAiUmVzdWx0OiAkKHZhcjI6dW5l
c2MpIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDUudGV4dENvbnRlbnQi
LCAiUmVzdWx0OiAkdiIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQ2LnRl
eHRDb250ZW50IiwgIlJlc3VsdDogJCh2OmUpIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJwRWxlbWVudDcudGV4dENvbnRlbnQiLCAiUmVzdWx0OiAkd29udHdvcmsiKTsKLQotICAgIHN0
YXJ0VGVzdCgyNSwgMTUpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50MS50ZXh0Q29udGVudCIsICJSZXN1bHQ6IFRFU1Qg
UEFTU0VEIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDIudGV4dENvbnRl
bnQiLCAiUmVzdWx0OiBURVNUJTIwUEFTU0VEIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJwRWxlbWVudDMudGV4dENvbnRlbnQiLCAiUmVzdWx0OiBURVNUJTIwUEFTU0VEIik7Ci0gICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDQudGV4dENvbnRlbnQiLCAiUmVzdWx0OiBU
RVNUIFBBU1NFRCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQ1LnRleHRD
b250ZW50IiwgIlJlc3VsdDogVEVTVCBQQVNTRUQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInBFbGVtZW50Ni50ZXh0Q29udGVudCIsICJSZXN1bHQ6IFRFU1QlMjBQQVNTRUQiKTsKLSAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50Ny50ZXh0Q29udGVudCIsICJSZXN1bHQ6
ICIpOwotCi0gICAgY29tcGxldGVUZXN0KCk7Ci19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91561</attachid>
            <date>2011-04-28 14:51:49 -0700</date>
            <delta_ts>2011-04-28 14:51:59 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-59678-20110428145147.patch</filename>
            <type>text/plain</type>
            <size>718978</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDg1MjQy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQt
MjggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIFNlaWRlbC4KKworICAgICAgICBSZW1vdmUgV01MCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTY3OAorCisgICAgICAgIFJlbW92ZSBXTUwg
Y29uZmlndXJhdGlvbiBvcHRpb24gZnJvbSB0aGUgQ01ha2UgYnVpbGQgc3lzdGVtLgorCisgICAg
ICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2U6CisgICAgICAgICogU291cmNlL2Nt
YWtlL09wdGlvbnNXaW5DRS5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5j
bWFrZToKKwogMjAxMS0wNC0yOCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpJbmRleDogU291cmNlL2NtYWtlY29u
ZmlnLmguY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UJKHJl
dmlzaW9uIDg1MjQyKQorKysgU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UJKHdvcmtpbmcgY29w
eSkKQEAgLTM3LDcgKzM3LDYgQEAKICNkZWZpbmUgRU5BQkxFX1RPVUNIX0VWRU5UUyBARU5BQkxF
X1RPVUNIX0VWRU5UU19WQUxVRUAKICNkZWZpbmUgRU5BQkxFX1ZJREVPIEBFTkFCTEVfVklERU9f
VkFMVUVACiAjZGVmaW5lIEVOQUJMRV9XRUJfU09DS0VUUyBARU5BQkxFX1dFQl9TT0NLRVRTX1ZB
TFVFQAotI2RlZmluZSBFTkFCTEVfV01MIEBFTkFCTEVfV01MX1ZBTFVFQAogI2RlZmluZSBFTkFC
TEVfV09SS0VSUyBARU5BQkxFX1dPUktFUlNfVkFMVUVACiAjZGVmaW5lIEVOQUJMRV9YSFRNTE1Q
IEBFTkFCTEVfWEhUTUxNUF9WQUxVRUAKICNkZWZpbmUgRU5BQkxFX1hQQVRIIEBFTkFCTEVfWFBB
VEhfVkFMVUVACkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MjQyKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTA0LTI4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgUmVtb3ZlIFdNTAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2NzgKKwor
ICAgICAgICBSZW1vdmUgdGhlIFdNTCBjb25maWd1cmF0aW9uIG9wdGlvbiBmcm9tIHRoZSBNYWMg
YnVpbGQgc3lzdGVtLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisKIDIwMTEtMDQtMjggIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjIsNyArMTIyLDYgQEAgRU5BQkxFX1dFQl9TT0NLRVRTID0gJChFTkFCTEVfV0VCX1NPQ0tF
VAogRU5BQkxFX1dFQl9TT0NLRVRTX21hY29zeCA9IEVOQUJMRV9XRUJfU09DS0VUUzsKIAogRU5B
QkxFX1dFQl9USU1JTkcgPSA7Ci1FTkFCTEVfV01MID0gOwogCiBFTkFCTEVfV09SS0VSUyA9ICQo
RU5BQkxFX1dPUktFUlNfJChSRUFMX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9XT1JLRVJTX21h
Y29zeCA9IEVOQUJMRV9XT1JLRVJTOwpAQCAtMTMxLDQgKzEzMCw0IEBAIEVOQUJMRV9YSFRNTE1Q
ID0gOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVf
WFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVf
REFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkg
JChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxU
RVJTKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lNQUdFX1JF
U0laRVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkg
JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQ
UExJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JF
U1NfVEFHKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FO
SU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklO
RElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAk
KEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09S
S0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5U
X0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUxJU1Qp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVf
RE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVO
QUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVf
SkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRVRFUl9UQUcp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9O
UykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAk
KEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikg
JChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9T
VkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVAp
ICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9u
IDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMjMyIEBACisyMDExLTA0LTI4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgUmVtb3ZlIFdN
TAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2NzgK
KworICAgICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgV01MIGZyb20gV2ViQ29yZS4gIEFmdGVyIHJl
bW92aW5nIFdNTCwgdGhlcmUncyBhCisgICAgICAgIGJ1bmNoIG9mIHR3aXN0ZWQgY29kZSB0aGF0
IGNvdWxkIGJlIHVudHdpc3RlZCwgYnV0IHRoaXMgcGF0Y2ggY29udGFpbnMKKyAgICAgICAgb25s
eSB0aGUgcHVyZWx5IG1lY2hhbmljYWwgcGFydCBvZiByZW1vdmluZyB0aGUgZmVhdHVyZS4KKwor
ICAgICAgICBUaGVyZSdzIGJlZW4gYSBsb3Qgb2YgZGlzY3Vzc2lvbiBvbiB3ZWJraXQtZGV2IGFi
b3V0IHdoZXRoZXIgd2Ugc2hvdWxkCisgICAgICAgIHJlbW92ZSBXTUwuICBJbiBhZGRpdGlvbiB0
byB0aG9zZSB0aHJlYWRzLCB3ZSd2ZSBoYWQgYW4gaW5mb3JtYWwgcG9sbAorICAgICAgICBvZiB0
aGUgcmV2aWV3ZXJzIGFzIHdlbGwgYXMgYW4gaW4tcGVyc29uIGRpc2N1c3Npb24gYXQgdGhlIFdl
YktpdAorICAgICAgICBjb250cmlidXRvcidzIG1lZXRpbmcuICBSZW1vdmluZyBhbnkgZmVhdHVy
ZSBpcyBsaWtlbHkgdG8gbWFrZSBzb21lCisgICAgICAgIGZvbGtzIHVuaGFwcHksIGJ1dCwgb24g
YmFsYW5jZSwgcmVtb3ZpbmcgV01MIGFwcGVhcnMgdG8gYmUgdGhlIHJpZ2h0CisgICAgICAgIHRo
aW5nIGZvciB0aGUgcHJvamVjdCB0byBkbyBhdCB0aGlzIHRpbWUuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05V
bWFrZWZpbGUuYW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxpbmtBdHRyaWJ1
dGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6c3R5bGVGb3JFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFkanVzdFJlbmRlclN0eWxl
KToKKyAgICAgICAgKiBjc3Mvd21sLmNzczogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20vRE9NSW1w
bGVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NSW1wbGVtZW50YXRpb246OmNy
ZWF0ZURvY3VtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpj
cmVhdGVFbGVtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50Ojppc01lZGlhRG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5p
ZGw6CisgICAgICAgICogZG9tL0lucHV0RWxlbWVudC5oOgorICAgICAgICAqIGRvbS9Ob2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnRvSW5wdXRFbGVtZW50KToKKyAgICAgICAgKiBk
b20vTm9kZS5oOgorICAgICAgICAqIGRvbS9PcHRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvT3B0aW9uRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppc09wdGlvbkVsZW1l
bnQpOgorICAgICAgICAqIGRvbS9PcHRpb25FbGVtZW50Lmg6CisgICAgICAgICogZG9tL09wdGlv
bkdyb3VwRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b09wdGlvbkdyb3VwRWxlbWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjppc09wdGlvbkdyb3VwRWxlbWVudCk6CisgICAgICAgICog
ZG9tL1NlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9TZWxlY3RFbGVtZW50
KToKKyAgICAgICAgKiBkb20vU2VsZWN0RWxlbWVudC5oOgorICAgICAgICAqIGRvbS9UZXh0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHQ6OmF0dGFjaCk6CisgICAgICAgICogZG9tL1hNTERv
Y3VtZW50UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTERvY3VtZW50UGFyc2VyOjpp
bnNlcnRFcnJvck1lc3NhZ2VCbG9jayk6CisgICAgICAgICogZG9tL1hNTERvY3VtZW50UGFyc2Vy
Lmg6CisgICAgICAgICogZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6aW50ZXJuYWxTdWJzZXQpOgorICAgICAgICAo
V2ViQ29yZTo6Z2V0RW50aXR5SGFuZGxlcik6CisgICAgICAgICogZG9tL1hNTERvY3VtZW50UGFy
c2VyUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MRG9jdW1lbnRQYXJzZXI6OnBhcnNlKToK
KyAgICAgICAgKFdlYkNvcmU6OlhNTERvY3VtZW50UGFyc2VyOjpwYXJzZUR0ZCk6CisgICAgICAg
ICogZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5IYXZlQ2hp
bGRyZW5Gb3JFZGl0aW5nKToKKyAgICAgICAgKiBmZWF0dXJlcy5wcmk6CisgICAgICAgICogaGlz
dG9yeS9CYWNrRm9yd2FyZExpc3QuaDoKKyAgICAgICAgKiBoaXN0b3J5L0JhY2tGb3J3YXJkTGlz
dEltcGwuY3BwOgorICAgICAgICAqIGhpc3RvcnkvQmFja0ZvcndhcmRMaXN0SW1wbC5oOgorICAg
ICAgICAqIGhpc3RvcnkvUGFnZUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNo
ZTo6Y2FuQ2FjaGVQYWdlQ29udGFpbmluZ1RoaXNGcmFtZSk6CisgICAgICAgICogaHRtbC9IVE1M
QW5jaG9yRWxlbWVudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjptZXNzYWdlU291cmNlVmFsdWUpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29u
c29sZU1lc3NhZ2UucHJvdG90eXBlLnRvU3RyaW5nKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVM
b2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNCYWNrRm9yd2FyZExvYWRUeXBlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjp0cmFuc2l0aW9uVG9Db21taXR0ZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNob3VsZFJlbG9hZCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6bG9hZERpZmZlcmVudERvY3VtZW50SXRlbSk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZEl0ZW0pOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxv
YWRlclR5cGVzLmg6CisgICAgICAgICogbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okhpc3RvcnlDb250cm9sbGVyOjpyZXN0b3JlRG9jdW1lbnRTdGF0ZSk6
CisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBtYW51YWwt
dGVzdHMvd21sL1N0YXJ0VGVzdHMud21sOiBSZW1vdmVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0
cy93bWwvYS1ici1lbGVtZW50LndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMv
d21sL2EtZWxlbWVudC53bWw6IFJlbW92ZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9h
LWltZy1lbGVtZW50LndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL2Fj
Y2Vzcy10YXJnZXQud21sOiBSZW1vdmVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvYW5j
aG9yLWJyLWVsZW1lbnQud21sOiBSZW1vdmVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwv
YW5jaG9yLWVsZW1lbnQud21sOiBSZW1vdmVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwv
YW5jaG9yLWltZy1lbGVtZW50LndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMv
d21sL2NhcmQtbmV3Y29udGV4dC1hdHRyLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBtYW51YWwt
dGVzdHMvd21sL2NhcmQtb25lbnRlcmJhY2t3YXJkLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBt
YW51YWwtdGVzdHMvd21sL2NhcmQtb25lbnRlcmZvcndhcmQud21sOiBSZW1vdmVkLgorICAgICAg
ICAqIG1hbnVhbC10ZXN0cy93bWwvY2FyZC1vbnRpbWVyLndtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBtYW51YWwtdGVzdHMvd21sL2RlY2stYWNjZXNzLWNvbnRyb2wud21sOiBSZW1vdmVkLgorICAg
ICAgICAqIG1hbnVhbC10ZXN0cy93bWwvaW5wdXQtZm9ybWF0LndtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBtYW51YWwtdGVzdHMvd21sL29uZXZlbnQtZ28ud21sOiBSZW1vdmVkLgorICAgICAgICAq
IG1hbnVhbC10ZXN0cy93bWwvb25ldmVudC1ub29wLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBt
YW51YWwtdGVzdHMvd21sL29uZXZlbnQtcHJldi53bWw6IFJlbW92ZWQuCisgICAgICAgICogbWFu
dWFsLXRlc3RzL3dtbC9vbmV2ZW50LXJlZnJlc2gud21sOiBSZW1vdmVkLgorICAgICAgICAqIG1h
bnVhbC10ZXN0cy93bWwvb25ldmVudC1zaGFkb3cud21sOiBSZW1vdmVkLgorICAgICAgICAqIG1h
bnVhbC10ZXN0cy93bWwvcmVzb3VyY2VzOiBSZW1vdmVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0
cy93bWwvcmVzb3VyY2VzL3NtaWxleS5wbmc6IFJlbW92ZWQuCisgICAgICAgICogbWFudWFsLXRl
c3RzL3dtbC9zZWxlY3QtZWxlbWVudC53bWw6IFJlbW92ZWQuCisgICAgICAgICogbWFudWFsLXRl
c3RzL3dtbC9zZWxlY3Qtb25waWNrLWV2ZW50LWNyYXNoLndtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBtYW51YWwtdGVzdHMvd21sL3NlbGVjdC1vbnBpY2stZXZlbnQud21sOiBSZW1vdmVkLgorICAg
ICAgICAqIG1hbnVhbC10ZXN0cy93bWwvc2V0dmFyLWVsZW1lbnQud21sOiBSZW1vdmVkLgorICAg
ICAgICAqIG1hbnVhbC10ZXN0cy93bWwvdGFyZ2V0ZGVjay53bWw6IFJlbW92ZWQuCisgICAgICAg
ICogbWFudWFsLXRlc3RzL3dtbC90YXNrLWdvLWluLWFuY2hvci53bWw6IFJlbW92ZWQuCisgICAg
ICAgICogbWFudWFsLXRlc3RzL3dtbC90YXNrLXByZXYtaW4tYW5jaG9yLndtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL3Rhc2stcmVmcmVzaC1pbi1hbmNob3Iud21sOiBS
ZW1vdmVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvdGVtcGxhdGUtZ28ud21sOiBSZW1v
dmVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvdGVtcGxhdGUtb250aW1lci53bWw6IFJl
bW92ZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC90aW1lci53bWw6IFJlbW92ZWQuCisg
ICAgICAgICogbWFudWFsLXRlc3RzL3dtbC92YXJpYWJsZS1zdWJzdGl0dXRpb24ud21sOiBSZW1v
dmVkLgorICAgICAgICAqIHBhZ2UvQ29uc29sZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwcmlu
dE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeCk6CisgICAgICAgICogcGFnZS9Db25zb2xlLmg6
CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6RnJh
bWUpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgICogcGFnZS9QYWdlLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojppbml0aWFsaXplU3VwcG9ydGVkTm9uSW1hZ2VNaW1lVHlwZXMpOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW06CisgICAgICAgICgtW1dlYkNvcmVSZXNvdXJjZUhh
bmRsZUFzRGVsZWdhdGUgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6XSk6CisgICAgICAg
ICogcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbkNFLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmluaXRNSU1FVHlwZUVudGVuc2lvbk1hcCk6CisgICAgICAgICogcmVuZGVyaW5nL0hp
dFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6YWx0RGlz
cGxheVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0OjphYnNvbHV0ZUlt
YWdlVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFic29sdXRlTGlua1VS
TCk6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0Ojppc0xpdmVMaW5rKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
QnV0dG9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJ1dHRvbjo6dXBkYXRlRnJvbUVs
ZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWVsZHNldC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJGaWVsZHNldDo6ZmluZExlZ2VuZCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjp1cGRh
dGVBbHRUZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6aXNMZWdlbmQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyT2JqZWN0OjpvZmZzZXRQYXJlbnQpOgorICAgICAgICAqIHdtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3bWwvV01MQUVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxB
RWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxBY2Nlc3NFbGVtZW50LmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MQWNjZXNzRWxlbWVudC5oOiBSZW1vdmVkLgorICAg
ICAgICAqIHdtbC9XTUxBbmNob3JFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwv
V01MQW5jaG9yRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxBdHRyaWJ1dGVO
YW1lcy5pbjogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MQlJFbGVtZW50LmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiB3bWwvV01MQlJFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogd21s
L1dNTENhcmRFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MQ2FyZEVsZW1l
bnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MRG9FbGVtZW50LmNwcDogUmVtb3ZlZC4K
KyAgICAgICAgKiB3bWwvV01MRG9FbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dN
TERvY3VtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MRG9jdW1lbnQuaDogUmVt
b3ZlZC4KKyAgICAgICAgKiB3bWwvV01MRWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
d21sL1dNTEVsZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MRXJyb3JIYW5kbGlu
Zy5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTEVycm9ySGFuZGxpbmcuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiB3bWwvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuY3BwOiBSZW1vdmVkLgor
ICAgICAgICAqIHdtbC9XTUxFdmVudEhhbmRsaW5nRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAg
ICAqIHdtbC9XTUxGaWVsZFNldEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9X
TUxGaWVsZFNldEVsZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MRm9ybUNvbnRy
b2xFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MRm9ybUNvbnRyb2xFbGVt
ZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTEdvRWxlbWVudC5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogd21sL1dNTEdvRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9X
TUxJbWFnZUVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxJbWFnZUVsZW1l
bnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MSW1hZ2VMb2FkZXIuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIHdtbC9XTUxJbWFnZUxvYWRlci5oOiBSZW1vdmVkLgorICAgICAgICAqIHdt
bC9XTUxJbnB1dEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxJbnB1dEVs
ZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50Lmg6
IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTEludHJpbnNpY0V2ZW50LmNwcDogUmVtb3ZlZC4K
KyAgICAgICAgKiB3bWwvV01MSW50cmluc2ljRXZlbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3
bWwvV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwv
V01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmg6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTE1l
dGFFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MTWV0YUVsZW1lbnQuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MTm9vcEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAg
ICAgICAqIHdtbC9XTUxOb29wRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxP
bkV2ZW50RWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTE9uRXZlbnRFbGVt
ZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTE9wdEdyb3VwRWxlbWVudC5jcHA6IFJl
bW92ZWQuCisgICAgICAgICogd21sL1dNTE9wdEdyb3VwRWxlbWVudC5oOiBSZW1vdmVkLgorICAg
ICAgICAqIHdtbC9XTUxPcHRpb25FbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwv
V01MT3B0aW9uRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxQRWxlbWVudC5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTFBFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAg
ICAgICogd21sL1dNTFBhZ2VTdGF0ZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTFBh
Z2VTdGF0ZS5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxQb3N0ZmllbGRFbGVtZW50LmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MUG9zdGZpZWxkRWxlbWVudC5oOiBSZW1vdmVk
LgorICAgICAgICAqIHdtbC9XTUxQcmV2RWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
d21sL1dNTFByZXZFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTFJlZnJlc2hF
bGVtZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MUmVmcmVzaEVsZW1lbnQuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MU2VsZWN0RWxlbWVudC5jcHA6IFJlbW92ZWQuCisg
ICAgICAgICogd21sL1dNTFNlbGVjdEVsZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwv
V01MU2V0dmFyRWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTFNldHZhckVs
ZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MVGFibGVFbGVtZW50LmNwcDogUmVt
b3ZlZC4KKyAgICAgICAgKiB3bWwvV01MVGFibGVFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAg
ICogd21sL1dNTFRhZ05hbWVzLmluOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxUYXNrRWxl
bWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd21sL1dNTFRhc2tFbGVtZW50Lmg6IFJlbW92
ZWQuCisgICAgICAgICogd21sL1dNTFRlbXBsYXRlRWxlbWVudC5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogd21sL1dNTFRlbXBsYXRlRWxlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9X
TUxUaW1lckVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9XTUxUaW1lckVsZW1l
bnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvV01MVmFyaWFibGVzLmNwcDogUmVtb3ZlZC4K
KyAgICAgICAgKiB3bWwvV01MVmFyaWFibGVzLmg6IFJlbW92ZWQuCisKIDIwMTEtMDQtMjggIE1h
cmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFRvbnkgQ2hhbmcuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gODUyNDIpCisr
KyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTQxMiw3
ICsxNDEyLDYgQEAgU0VUKFdlYkNvcmVfVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMKICAgICAke1dF
QkNPUkVfRElSfS9jc3MvcXVpcmtzLmNzcwogICAgICR7V0VCQ09SRV9ESVJ9L2Nzcy9zdmcuY3Nz
CiAgICAgJHtXRUJDT1JFX0RJUn0vY3NzL3ZpZXctc291cmNlLmNzcwotICAgICR7V0VCQ09SRV9E
SVJ9L2Nzcy93bWwuY3NzCiApCiAKIElGIChFTkFCTEVfQkxPQikKQEAgLTE5MjQsNDcgKzE5MjMs
NiBAQCBJRiAoRU5BQkxFX1ZJREVPX1RSQUNLKQogICAgICkKIEVORElGKCkKIAotSUYgKEVOQUJM
RV9XTUwpCi0gICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCi0gICAgICAgIHdtbC9XTUxB
RWxlbWVudC5jcHAKLSAgICAgICAgd21sL1dNTEFjY2Vzc0VsZW1lbnQuY3BwCi0gICAgICAgIHdt
bC9XTUxBbmNob3JFbGVtZW50LmNwcAotICAgICAgICB3bWwvV01MQlJFbGVtZW50LmNwcAotICAg
ICAgICB3bWwvV01MQ2FyZEVsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxEb0VsZW1lbnQuY3Bw
Ci0gICAgICAgIHdtbC9XTUxEb2N1bWVudC5jcHAKLSAgICAgICAgd21sL1dNTEVsZW1lbnQuY3Bw
Ci0gICAgICAgIHdtbC9XTUxFcnJvckhhbmRsaW5nLmNwcAotICAgICAgICB3bWwvV01MRXZlbnRI
YW5kbGluZ0VsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxGaWVsZFNldEVsZW1lbnQuY3BwCi0g
ICAgICAgIHdtbC9XTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxHb0Vs
ZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxJbWFnZUVsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9X
TUxJbWFnZUxvYWRlci5jcHAKLSAgICAgICAgd21sL1dNTElucHV0RWxlbWVudC5jcHAKLSAgICAg
ICAgd21sL1dNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAKLSAgICAgICAgd21sL1dNTEludHJp
bnNpY0V2ZW50LmNwcAotICAgICAgICB3bWwvV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcAot
ICAgICAgICB3bWwvV01MTWV0YUVsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxOb29wRWxlbWVu
dC5jcHAKLSAgICAgICAgd21sL1dNTE9uRXZlbnRFbGVtZW50LmNwcAotICAgICAgICB3bWwvV01M
UEVsZW1lbnQuY3BwCi0gICAgICAgIHdtbC9XTUxPcHRHcm91cEVsZW1lbnQuY3BwCi0gICAgICAg
IHdtbC9XTUxPcHRpb25FbGVtZW50LmNwcAotICAgICAgICB3bWwvV01MUGFnZVN0YXRlLmNwcAot
ICAgICAgICB3bWwvV01MUG9zdGZpZWxkRWxlbWVudC5jcHAKLSAgICAgICAgd21sL1dNTFByZXZF
bGVtZW50LmNwcAotICAgICAgICB3bWwvV01MUmVmcmVzaEVsZW1lbnQuY3BwCi0gICAgICAgIHdt
bC9XTUxTZWxlY3RFbGVtZW50LmNwcAotICAgICAgICB3bWwvV01MU2V0dmFyRWxlbWVudC5jcHAK
LSAgICAgICAgd21sL1dNTFRhYmxlRWxlbWVudC5jcHAKLSAgICAgICAgd21sL1dNTFRhc2tFbGVt
ZW50LmNwcAotICAgICAgICB3bWwvV01MVGVtcGxhdGVFbGVtZW50LmNwcAotICAgICAgICB3bWwv
V01MVGltZXJFbGVtZW50LmNwcAotICAgICAgICB3bWwvV01MVmFyaWFibGVzLmNwcAotICAgICkK
LUVORElGKCkKLQogSUYgKEVOQUJMRV9QUk9HUkVTU19UQUcpCiAgICAgTElTVChBUFBFTkQgV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yLmNwcApAQCAtMjEzNCwxMyArMjA5Miw2IEBAIElGIChFTkFCTEVfU1ZHKQogRU5E
SUYgKCkKIAogCi1HRU5FUkFURV9ET01fTkFNRVMoV01MICR7V0VCQ09SRV9ESVJ9L3dtbC9XTUxB
dHRyaWJ1dGVOYW1lcy5pbiAke1dFQkNPUkVfRElSfS93bWwvV01MVGFnTmFtZXMuaW4gIiR7V01M
X0ZFQVRVUkVTfSIpCi1MSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJD
RVNfV0VCQ09SRV9ESVJ9L1dNTE5hbWVzLmNwcCkKLUlGIChFTkFCTEVfV01MKQotICAgIExJU1Qo
QVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vV01M
RWxlbWVudEZhY3RvcnkuY3BwKQotRU5ESUYgKCkKLQotCiBHRU5FUkFURV9ET01fTkFNRVMoWExp
bmsgJHtXRUJDT1JFX0RJUn0vc3ZnL3hsaW5rYXR0cnMuaW4pCiBMSVNUKEFQUEVORCBXZWJDb3Jl
X1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1hMaW5rTmFtZXMuY3BwKQog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCShyZXZpc2lvbiA4NTI0MikKKysrIFNv
dXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQkod29ya2luZyBjb3B5KQpAQCAtMTIsOCAr
MTIsNiBAQCBDT05GSUcoc3RhbmRhbG9uZV9wYWNrYWdlKSB7CiAjIyBEZXJpdmVkIHNvdXJjZSBn
ZW5lcmF0b3JzCiBNQVRITUxfTkFNRVMgPSAkJFBXRC9tYXRobWwvbWF0aHRhZ3MuaW4KIAotV01M
X05BTUVTID0gJCRQV0Qvd21sL1dNTFRhZ05hbWVzLmluCi0KIFNWR19OQU1FUyA9ICQkUFdEL3N2
Zy9zdmd0YWdzLmluCiAKIFhMSU5LX05BTUVTID0gJCRQV0Qvc3ZnL3hsaW5rYXR0cnMuaW4KQEAg
LTU4LDcgKzU2LDYgQEAgU1RZTEVTSEVFVFNfRU1CRUQgPSBcCiAgICAgJCRQV0QvY3NzL21hdGht
bC5jc3MgXAogICAgICQkUFdEL2Nzcy9zdmcuY3NzIFwKICAgICAkJFBXRC9jc3Mvdmlldy1zb3Vy
Y2UuY3NzIFwKLSAgICAkJFBXRC9jc3Mvd21sLmNzcyBcCiAgICAgJCRQV0QvY3NzL21lZGlhQ29u
dHJvbHMuY3NzIFwKICAgICAkJFBXRC9jc3MvbWVkaWFDb250cm9sc1F0LmNzcyBcCiAgICAgJCRQ
V0QvY3NzL21lZGlhQ29udHJvbHNRdEZ1bGxzY3JlZW4uY3NzIFwKQEAgLTU2MywxNSArNTYwLDYg
QEAgbWF0aG1sbmFtZXMuY29tbWFuZHMgPSBwZXJsIC1JJCRQV0QvYmluZAogbWF0aG1sbmFtZXMu
d2tFeHRyYVNvdXJjZXMgPSAkJHtXQ19HRU5FUkFURURfU09VUkNFU19ESVJ9L01hdGhNTEVsZW1l
bnRGYWN0b3J5LmNwcCAKIGFkZEV4dHJhQ29tcGlsZXIobWF0aG1sbmFtZXMpCiAKLWNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9XTUw9MSkgewotICAgIHdtbG5hbWVzLm91dHB1dCA9ICQke1dDX0dF
TkVSQVRFRF9TT1VSQ0VTX0RJUn0vV01MTmFtZXMuY3BwCi0gICAgd21sbmFtZXMuaW5wdXQgPSBX
TUxfTkFNRVMKLSAgICB3bWxuYW1lcy53a1NjcmlwdCA9ICQkUFdEL2RvbS9tYWtlX25hbWVzLnBs
Ci0gICAgd21sbmFtZXMuY29tbWFuZHMgPSBwZXJsIC1JJCRQV0QvYmluZGluZ3Mvc2NyaXB0cyAk
JHdtbG5hbWVzLndrU2NyaXB0IC0tdGFncyAkJFBXRC93bWwvV01MVGFnTmFtZXMuaW4gLS1hdHRy
cyAkJFBXRC93bWwvV01MQXR0cmlidXRlTmFtZXMuaW4gLS1leHRyYURlZmluZXMgXCIkJHtERUZJ
TkVTfVwiIC0tcHJlcHJvY2Vzc29yIFwiJCR7UU1BS0VfTU9DfSAtRVwiIC0tZmFjdG9yeSAkJHdy
YXBwZXJGYWN0b3J5QXJnIC0tb3V0cHV0RGlyICQkV0NfR0VORVJBVEVEX1NPVVJDRVNfRElSCi0g
ICAgd21sbmFtZXMud2tFeHRyYVNvdXJjZXMgPSAkJHtXQ19HRU5FUkFURURfU09VUkNFU19ESVJ9
L1dNTEVsZW1lbnRGYWN0b3J5LmNwcAotICAgIGFkZEV4dHJhQ29tcGlsZXIod21sbmFtZXMpCi19
Ci0KICMgR0VORVJBVE9SIDUtQzoKIHN2Z25hbWVzLm91dHB1dCA9ICQke1dDX0dFTkVSQVRFRF9T
T1VSQ0VTX0RJUn0vU1ZHTmFtZXMuY3BwCiBzdmduYW1lcy5pbnB1dCA9IFNWR19OQU1FUwpJbmRl
eDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2Miw4ICs0NjIs
NiBAQAogI2luY2x1ZGUgIkpTWFBhdGhOU1Jlc29sdmVyLmNwcCIKICNpbmNsdWRlICJKU1hQYXRo
UmVzdWx0LmNwcCIKICNpbmNsdWRlICJKU1hTTFRQcm9jZXNzb3IuY3BwIgotI2luY2x1ZGUgIldN
TEVsZW1lbnRGYWN0b3J5LmNwcCIKLSNpbmNsdWRlICJXTUxOYW1lcy5jcHAiCiAjaW5jbHVkZSAi
VXNlckFnZW50U3R5bGVTaGVldHNEYXRhLmNwcCIKIAogLy8gT24gTVNWQywgaW5jbHVkaW5nIFN0
YXRpY0NvbnN0cnVjdG9ycy5oIGNhdXNlcyBhbGwgZ2xvYmFsIG9iamVjdHMgbm90IHRvIGJlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDg1MjQyKQorKysgU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNTY3LDgg
KzU2Nyw2IEBAIGFsbCA6IFwKICAgICBIVE1MRWxlbWVudEZhY3RvcnkuY3BwIFwKICAgICBIVE1M
RW50aXR5VGFibGUuY3BwIFwKICAgICBIVE1MTmFtZXMuY3BwIFwKLSAgICBXTUxFbGVtZW50RmFj
dG9yeS5jcHAgXAotICAgIFdNTE5hbWVzLmNwcCBcCiAgICAgSlNTVkdFbGVtZW50V3JhcHBlckZh
Y3RvcnkuY3BwIFwKICAgICBTVkdFbGVtZW50RmFjdG9yeS5jcHAgXAogICAgIFNWR05hbWVzLmNw
cCBcCkBAIC03MzUsMTAgKzczMyw2IEBAIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfU1ZHLCQo
RkVBVFVSRV8KICAgICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTKSAkKFdlYkNvcmUpL2Nzcy9zdmcuY3NzIAogZW5kaWYKIAotaWZlcSAoJChmaW5k
c3RyaW5nIEVOQUJMRV9XTUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX1dNTCkKLSAgICBV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTKSAkKFdl
YkNvcmUpL2Nzcy93bWwuY3NzCi1lbmRpZgotCiBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX01B
VEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUFUSE1MKQogICAgIFVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2ViQ29yZSkvY3Nz
L21hdGhtbC5jc3MKIGVuZGlmCkBAIC04NTAsMjUgKzg0NCw2IEBAIFhMaW5rTmFtZXMuY3BwIDog
ZG9tL21ha2VfbmFtZXMucGwgc3ZnL3gKIAlwZXJsIC1JICQoV2ViQ29yZSkvYmluZGluZ3Mvc2Ny
aXB0cyAkPCAtLWF0dHJzICQoV2ViQ29yZSkvc3ZnL3hsaW5rYXR0cnMuaW4KIAogIyAtLS0tLS0t
LQotCi0jIFdNTCB0YWcgYW5kIGF0dHJpYnV0ZSBuYW1lcywgYW5kIGVsZW1lbnQgZmFjdG9yeQot
Ci1pZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX1dNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFC
TEVfV01MKQotCi1XTUxFbGVtZW50RmFjdG9yeS5jcHAgV01MTmFtZXMuY3BwIDogZG9tL21ha2Vf
bmFtZXMucGwgd21sL1dNTFRhZ05hbWVzLmluIHdtbC9XTUxBdHRyaWJ1dGVOYW1lcy5pbgotCXBl
cmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzICQ8IC0tdGFncyAkKFdlYkNvcmUpL3dt
bC9XTUxUYWdOYW1lcy5pbiAtLWF0dHJzICQoV2ViQ29yZSkvd21sL1dNTEF0dHJpYnV0ZU5hbWVz
LmluIC0tZmFjdG9yeSAtLXdyYXBwZXJGYWN0b3J5Ci0KLWVsc2UKLQotV01MRWxlbWVudEZhY3Rv
cnkuY3BwIDoKLQllY2hvID4gJEAKLQotV01MTmFtZXMuY3BwIDoKLQllY2hvID4gJEAKLQotZW5k
aWYKLQotIyAtLS0tLS0tLQogIAogIyBNYXRoTUwgdGFnIGFuZCBhdHRyaWJ1dGUgbmFtZXMsIGFu
ZCBlbGVtZW50IGZhY3RvcnkKIApJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDg1
MjQyKQorKysgU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAg
LTM5OSwxOSArMzk5LDYgQEAgd2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9TSEFSRURfV09S
SwogZW5kaWYKIAogIyAtLS0tCi0jIFdNTCBTdXBwb3J0Ci0jIC0tLS0KLWlmIEVOQUJMRV9XTUwK
LUZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfV01MPTEKLXdlYmNvcmVfY3BwZmxhZ3MgKz0gLURF
TkFCTEVfV01MPTEKLQotIyBXTUwgdGFnIGFuZCBhdHRyaWJ1dGUgbmFtZXMKLURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvV01MTmFtZXMuY3BwOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL1dNTEVsZW1l
bnRGYWN0b3J5LmNwcAotRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9XTUxFbGVtZW50RmFjdG9yeS5j
cHA6ICQoV2ViQ29yZSkvZG9tL21ha2VfbmFtZXMucGwgJChXZWJDb3JlKS93bWwvV01MVGFnTmFt
ZXMuaW4gJChXZWJDb3JlKS93bWwvV01MQXR0cmlidXRlTmFtZXMuaW4KLQkkKEFNX1ZfR0VOKSQo
UEVSTCkgLUkkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJDwgLS10YWdzICQoV2ViQ29yZSkv
d21sL1dNTFRhZ05hbWVzLmluIC0tYXR0cnMgJChXZWJDb3JlKS93bWwvV01MQXR0cmlidXRlTmFt
ZXMuaW4gLS1mYWN0b3J5IC0td3JhcHBlckZhY3RvcnkgLS1vdXRwdXREaXIgIiQoR0VOU09VUkNF
U19XRUJDT1JFKSIKLWVuZGlmICMgRU5EIEVOQUJMRV9XTUwKLQotIyAtLS0tCiAjIFdDU1MgU3Vw
cG9ydAogIyAtLS0tCiBpZiBFTkFCTEVfV0NTUwpAQCAtNjIwLDcgKzYwNyw2IEBAIFVTRVJfQUdF
TlRfU1RZTEVfU0hFRVRTID0gXAogCSQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogCSQoV2Vi
Q29yZSkvY3NzL3ZpZXctc291cmNlLmNzcyBcCiAJJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcyBcCi0J
JChXZWJDb3JlKS9jc3Mvd21sLmNzcyBcCiAJJChXZWJDb3JlKS9jc3MvbWVkaWFDb250cm9scy5j
c3MgXAogCSQoV2ViQ29yZSkvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzIFwKIAkkKFdlYkNvcmUp
L2Nzcy9mdWxsc2NyZWVuLmNzcwpAQCAtNzk3LDcgKzc4Myw2IEBAIEVYVFJBX0RJU1QgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluIFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvdG9rZW5pemVyLmZsZXggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy92aWV3LXNvdXJj
ZS5jc3MgXAotCVNvdXJjZS9XZWJDb3JlL2Nzcy93bWwuY3NzIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vbWFrZV9uYW1lcy5wbCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9Eb2NUeXBlU3RyaW5ncy5n
cGVyZiBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gXApJbmRl
eDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTM1NTUsNDIg
KzM1NTUsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3dlYnNvY2tl
dHMvV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UuaCBcCiAJU291cmNlL1dlYkNvcmUvd2Vic29j
a2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCBcCi0JU291
cmNlL1dlYkNvcmUvd21sL1dNTEFjY2Vzc0VsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93
bWwvV01MQUVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MQW5jaG9yRWxlbWVu
dC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dtbC9XTUxCUkVsZW1lbnQuY3BwIFwKLQlTb3VyY2Uv
V2ViQ29yZS93bWwvV01MQ2FyZEVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01M
RG9jdW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MRG9FbGVtZW50LmNwcCBcCi0J
U291cmNlL1dlYkNvcmUvd21sL1dNTEVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwv
V01MRXJyb3JIYW5kbGluZy5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dtbC9XTUxFdmVudEhhbmRs
aW5nRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dtbC9XTUxGaWVsZFNldEVsZW1lbnQu
Y3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCBcCi0J
U291cmNlL1dlYkNvcmUvd21sL1dNTEdvRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dt
bC9XTUxJbWFnZUVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1hZ2VMb2Fk
ZXIuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MSW5wdXRFbGVtZW50LmNwcCBcCi0JU291
cmNlL1dlYkNvcmUvd21sL1dNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAgXAotCVNvdXJjZS9X
ZWJDb3JlL3dtbC9XTUxJbnRyaW5zaWNFdmVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dtbC9X
TUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MTWV0
YUVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MTm9vcEVsZW1lbnQuY3BwIFwK
LQlTb3VyY2UvV2ViQ29yZS93bWwvV01MT25FdmVudEVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2Vi
Q29yZS93bWwvV01MT3B0R3JvdXBFbGVtZW50LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvd21sL1dN
TE9wdGlvbkVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MUGFnZVN0YXRlLmNw
cCBcCi0JU291cmNlL1dlYkNvcmUvd21sL1dNTFBFbGVtZW50LmNwcCBcCi0JU291cmNlL1dlYkNv
cmUvd21sL1dNTFBvc3RmaWVsZEVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01M
UHJldkVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MUmVmcmVzaEVsZW1lbnQu
Y3BwIFwKLQlTb3VyY2UvV2ViQ29yZS93bWwvV01MU2VsZWN0RWxlbWVudC5jcHAgXAotCVNvdXJj
ZS9XZWJDb3JlL3dtbC9XTUxTZXR2YXJFbGVtZW50LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvd21s
L1dNTFRhYmxlRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYXNrRWxlbWVu
dC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUZW1wbGF0ZUVsZW1lbnQuY3BwIFwKLQlT
b3VyY2UvV2ViQ29yZS93bWwvV01MVGltZXJFbGVtZW50LmNwcCBcCi0JU291cmNlL1dlYkNvcmUv
d21sL1dNTFZhcmlhYmxlcy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvQWJzdHJhY3RX
b3JrZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Fic3RyYWN0V29ya2VyLmggXAog
CVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAgXApAQCAt
NDA3NywxNSArNDA0MSw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiBlbmRpZiAjIEVO
RCBFTkFCTEVfWFBBVEgKIAogIyAtLS0tCi0jIFdNTCBTdXBwb3J0Ci0jIC0tLS0KLWlmIEVOQUJM
RV9XTUwKLXdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9XTUxFbGVtZW50RmFjdG9yeS5jcHAgXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvV01MTmFt
ZXMuY3BwCi1lbmRpZiAjIEVORCBFTkFCTEVfV01MCi0KLSMgLS0tLQogIyBTVkcgU3VwcG9ydAog
IwogIyBGSVhNRTogYWxsb3cgYSBtb3JlIGZpbmUtZ3JhaW5lZCBpbmNsdXNpb24vZ2VuZXJhdGlv
biBvZiBzb3VyY2VzIHBlciBTVkcgZmVhdHVyZQpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNp
b24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkK
QEAgLTU5NTEsODAgKzU5NTEsNiBAQAogICAgICAgICAgICAgJ3dlYnNvY2tldHMvV2ViU29ja2V0
SGFuZHNoYWtlUmVzcG9uc2UuaCcsCiAgICAgICAgICAgICAnd2Vic29ja2V0cy9Xb3JrZXJUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAnLAogICAgICAgICAgICAgJ3dlYnNvY2tldHMvV29y
a2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCcsCi0gICAgICAgICAgICAjIEZJWE1FOiBG
b3Igc29tZSByZWFzb24gaW5jbHVkaW5nIHRoZXNlIGZpbGVzIGFuZCBleGNsdWRpbmcgdGhlbQot
ICAgICAgICAgICAgIyBpbiB0aGUgR1lQIGZpbGUgY2F1c2VzIEdZUCBub3QgdG8gY3JlYXRlIGEg
dmFsaWQgWGNvZGUgcHJvamVjdC4KLSAgICAgICAgICAgICMgJ3dtbC9XTUxBRWxlbWVudC5jcHAn
LAotICAgICAgICAgICAgIyAnd21sL1dNTEFFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21s
L1dNTEFjY2Vzc0VsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxBY2Nlc3NFbGVt
ZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTEFuY2hvckVsZW1lbnQuY3BwJywKLSAgICAg
ICAgICAgICMgJ3dtbC9XTUxBbmNob3JFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dN
TEJSRWxlbWVudC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTEJSRWxlbWVudC5oJywKLSAg
ICAgICAgICAgICMgJ3dtbC9XTUxDYXJkRWxlbWVudC5jcHAnLAotICAgICAgICAgICAgIyAnd21s
L1dNTENhcmRFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTERvRWxlbWVudC5jcHAn
LAotICAgICAgICAgICAgIyAnd21sL1dNTERvRWxlbWVudC5oJywKLSAgICAgICAgICAgICMgJ3dt
bC9XTUxEb2N1bWVudC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTERvY3VtZW50LmgnLAot
ICAgICAgICAgICAgIyAnd21sL1dNTEVsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9X
TUxFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTEVycm9ySGFuZGxpbmcuY3BwJywK
LSAgICAgICAgICAgICMgJ3dtbC9XTUxFcnJvckhhbmRsaW5nLmgnLAotICAgICAgICAgICAgIyAn
d21sL1dNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmNwcCcsCi0gICAgICAgICAgICAjICd3bWwvV01M
RXZlbnRIYW5kbGluZ0VsZW1lbnQuaCcsCi0gICAgICAgICAgICAjICd3bWwvV01MRmllbGRTZXRF
bGVtZW50LmNwcCcsCi0gICAgICAgICAgICAjICd3bWwvV01MRmllbGRTZXRFbGVtZW50LmgnLAot
ICAgICAgICAgICAgIyAnd21sL1dNTEZvcm1Db250cm9sRWxlbWVudC5jcHAnLAotICAgICAgICAg
ICAgIyAnd21sL1dNTEZvcm1Db250cm9sRWxlbWVudC5oJywKLSAgICAgICAgICAgICMgJ3dtbC9X
TUxHb0VsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxHb0VsZW1lbnQuaCcsCi0g
ICAgICAgICAgICAjICd3bWwvV01MSW1hZ2VFbGVtZW50LmNwcCcsCi0gICAgICAgICAgICAjICd3
bWwvV01MSW1hZ2VFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTEltYWdlTG9hZGVy
LmNwcCcsCi0gICAgICAgICAgICAjICd3bWwvV01MSW1hZ2VMb2FkZXIuaCcsCi0gICAgICAgICAg
ICAjICd3bWwvV01MSW5wdXRFbGVtZW50LmNwcCcsCi0gICAgICAgICAgICAjICd3bWwvV01MSW5w
dXRFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTEluc2VydGVkTGVnZW5kRWxlbWVu
dC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTEluc2VydGVkTGVnZW5kRWxlbWVudC5oJywK
LSAgICAgICAgICAgICMgJ3dtbC9XTUxJbnRyaW5zaWNFdmVudC5jcHAnLAotICAgICAgICAgICAg
IyAnd21sL1dNTEludHJpbnNpY0V2ZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTEludHJp
bnNpY0V2ZW50SGFuZGxlci5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTEludHJpbnNpY0V2
ZW50SGFuZGxlci5oJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxNZXRhRWxlbWVudC5jcHAnLAot
ICAgICAgICAgICAgIyAnd21sL1dNTE1ldGFFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21s
L1dNTE5vb3BFbGVtZW50LmNwcCcsCi0gICAgICAgICAgICAjICd3bWwvV01MTm9vcEVsZW1lbnQu
aCcsCi0gICAgICAgICAgICAjICd3bWwvV01MT25FdmVudEVsZW1lbnQuY3BwJywKLSAgICAgICAg
ICAgICMgJ3dtbC9XTUxPbkV2ZW50RWxlbWVudC5oJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxP
cHRHcm91cEVsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxPcHRHcm91cEVsZW1l
bnQuaCcsCi0gICAgICAgICAgICAjICd3bWwvV01MT3B0aW9uRWxlbWVudC5jcHAnLAotICAgICAg
ICAgICAgIyAnd21sL1dNTE9wdGlvbkVsZW1lbnQuaCcsCi0gICAgICAgICAgICAjICd3bWwvV01M
UEVsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxQRWxlbWVudC5oJywKLSAgICAg
ICAgICAgICMgJ3dtbC9XTUxQYWdlU3RhdGUuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxQ
YWdlU3RhdGUuaCcsCi0gICAgICAgICAgICAjICd3bWwvV01MUG9zdGZpZWxkRWxlbWVudC5jcHAn
LAotICAgICAgICAgICAgIyAnd21sL1dNTFBvc3RmaWVsZEVsZW1lbnQuaCcsCi0gICAgICAgICAg
ICAjICd3bWwvV01MUHJldkVsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxQcmV2
RWxlbWVudC5oJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxSZWZyZXNoRWxlbWVudC5jcHAnLAot
ICAgICAgICAgICAgIyAnd21sL1dNTFJlZnJlc2hFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAn
d21sL1dNTFNlbGVjdEVsZW1lbnQuY3BwJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxTZWxlY3RF
bGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTFNldHZhckVsZW1lbnQuY3BwJywKLSAg
ICAgICAgICAgICMgJ3dtbC9XTUxTZXR2YXJFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21s
L1dNTFRhYmxlRWxlbWVudC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTFRhYmxlRWxlbWVu
dC5oJywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxUYXNrRWxlbWVudC5jcHAnLAotICAgICAgICAg
ICAgIyAnd21sL1dNTFRhc2tFbGVtZW50LmgnLAotICAgICAgICAgICAgIyAnd21sL1dNTFRlbXBs
YXRlRWxlbWVudC5jcHAnLAotICAgICAgICAgICAgIyAnd21sL1dNTFRlbXBsYXRlRWxlbWVudC5o
JywKLSAgICAgICAgICAgICMgJ3dtbC9XTUxUaW1lckVsZW1lbnQuY3BwJywKLSAgICAgICAgICAg
ICMgJ3dtbC9XTUxUaW1lckVsZW1lbnQuaCcsCi0gICAgICAgICAgICAjICd3bWwvV01MVmFyaWFi
bGVzLmNwcCcsCi0gICAgICAgICAgICAjICd3bWwvV01MVmFyaWFibGVzLmgnLAogICAgICAgICAg
ICAgJ3dvcmtlcnMvQWJzdHJhY3RXb3JrZXIuY3BwJywKICAgICAgICAgICAgICd3b3JrZXJzL0Fi
c3RyYWN0V29ya2VyLmgnLAogICAgICAgICAgICAgJ3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29u
dGV4dC5jcHAnLApAQCAtNzk4Myw4ICs3OTA5LDYgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1NWR05hbWVzLmNwcCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Vc2VyQWdlbnRTdHlsZVNoZWV0
cy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L1VzZXJBZ2VudFN0eWxlU2hlZXRzRGF0YS5jcHAnLAotICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvV01MRWxlbWVudEZhY3RvcnkuY3BwJywKLSAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1dNTE5hbWVzLmNw
cCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Y
TGlua05hbWVzLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9YTGlua05hbWVzLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvWE1MTlNOYW1lcy5jcHAnLApJbmRleDogU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8J
KHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcg
Y29weSkKQEAgLTI0MTYsNDIgKzI0MTYsNiBAQCBIRUFERVJTICs9IFwKICAgICBzdmcvU1ZHVktl
cm5FbGVtZW50LmggXAogICAgIHN2Zy9TVkdab29tQW5kUGFuLmggXAogICAgIHN2Zy9TVkdab29t
RXZlbnQuaCBcCi0gICAgd21sL1dNTEFjY2Vzc0VsZW1lbnQuaCBcCi0gICAgd21sL1dNTEFFbGVt
ZW50LmggXAotICAgIHdtbC9XTUxBbmNob3JFbGVtZW50LmggXAotICAgIHdtbC9XTUxCUkVsZW1l
bnQuaCBcCi0gICAgd21sL1dNTENhcmRFbGVtZW50LmggXAotICAgIHdtbC9XTUxEb2N1bWVudC5o
IFwKLSAgICB3bWwvV01MRG9FbGVtZW50LmggXAotICAgIHdtbC9XTUxFbGVtZW50LmggXAotICAg
IHdtbC9XTUxFcnJvckhhbmRsaW5nLmggXAotICAgIHdtbC9XTUxFdmVudEhhbmRsaW5nRWxlbWVu
dC5oIFwKLSAgICB3bWwvV01MRmllbGRTZXRFbGVtZW50LmggXAotICAgIHdtbC9XTUxGb3JtQ29u
dHJvbEVsZW1lbnQuaCBcCi0gICAgd21sL1dNTEdvRWxlbWVudC5oIFwKLSAgICB3bWwvV01MSW1h
Z2VFbGVtZW50LmggXAotICAgIHdtbC9XTUxJbWFnZUxvYWRlci5oIFwKLSAgICB3bWwvV01MSW5w
dXRFbGVtZW50LmggXAotICAgIHdtbC9XTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQuaCBcCi0gICAg
d21sL1dNTEludHJpbnNpY0V2ZW50LmggXAotICAgIHdtbC9XTUxJbnRyaW5zaWNFdmVudEhhbmRs
ZXIuaCBcCi0gICAgd21sL1dNTE1ldGFFbGVtZW50LmggXAotICAgIHdtbC9XTUxOb29wRWxlbWVu
dC5oIFwKLSAgICB3bWwvV01MT25FdmVudEVsZW1lbnQuaCBcCi0gICAgd21sL1dNTE9wdEdyb3Vw
RWxlbWVudC5oIFwKLSAgICB3bWwvV01MT3B0aW9uRWxlbWVudC5oIFwKLSAgICB3bWwvV01MUGFn
ZVN0YXRlLmggXAotICAgIHdtbC9XTUxQRWxlbWVudC5oIFwKLSAgICB3bWwvV01MUG9zdGZpZWxk
RWxlbWVudC5oIFwKLSAgICB3bWwvV01MUHJldkVsZW1lbnQuaCBcCi0gICAgd21sL1dNTFJlZnJl
c2hFbGVtZW50LmggXAotICAgIHdtbC9XTUxTZWxlY3RFbGVtZW50LmggXAotICAgIHdtbC9XTUxT
ZXR2YXJFbGVtZW50LmggXAotICAgIHdtbC9XTUxUYWJsZUVsZW1lbnQuaCBcCi0gICAgd21sL1dN
TFRhc2tFbGVtZW50LmggXAotICAgIHdtbC9XTUxUZW1wbGF0ZUVsZW1lbnQuaCBcCi0gICAgd21s
L1dNTFRpbWVyRWxlbWVudC5oIFwKLSAgICB3bWwvV01MVmFyaWFibGVzLmggXAogICAgIHdvcmtl
cnMvQWJzdHJhY3RXb3JrZXIuaCBcCiAgICAgd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0
LmggXAogICAgIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmggXApAQCAtMzA4MCw0NiAr
MzA0NCw2IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NQVRITUw9MSkgewogICAgICAgICBy
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAKIH0KIAotY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX1dNTD0xKSB7Ci0gICAgU09VUkNFUyArPSBcCi0gICAgICAgIHdtbC9X
TUxBRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MQWNjZXNzRWxlbWVudC5jcHAgXAotICAg
ICAgICB3bWwvV01MQW5jaG9yRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MQlJFbGVtZW50
LmNwcCBcCi0gICAgICAgIHdtbC9XTUxDYXJkRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01M
RG9FbGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxEb2N1bWVudC5jcHAgXAotICAgICAgICB3
bWwvV01MRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MRXJyb3JIYW5kbGluZy5jcHAgXAot
ICAgICAgICB3bWwvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuY3BwIFwKLSAgICAgICAgd21sL1dN
TEZvcm1Db250cm9sRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MRmllbGRTZXRFbGVtZW50
LmNwcCBcCi0gICAgICAgIHdtbC9XTUxHb0VsZW1lbnQuY3BwIFwKLSAgICAgICAgd21sL1dNTElt
YWdlRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MSW1hZ2VMb2FkZXIuY3BwIFwKLSAgICAg
ICAgd21sL1dNTElucHV0RWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MSW5zZXJ0ZWRMZWdl
bmRFbGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxJbnRyaW5zaWNFdmVudC5jcHAgXAotICAg
ICAgICB3bWwvV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcCBcCi0gICAgICAgIHdtbC9XTUxN
ZXRhRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MTm9vcEVsZW1lbnQuY3BwIFwKLSAgICAg
ICAgd21sL1dNTE9uRXZlbnRFbGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxQRWxlbWVudC5j
cHAgXAotICAgICAgICB3bWwvV01MT3B0R3JvdXBFbGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9X
TUxPcHRpb25FbGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxQYWdlU3RhdGUuY3BwIFwKLSAg
ICAgICAgd21sL1dNTFBvc3RmaWVsZEVsZW1lbnQuY3BwIFwKLSAgICAgICAgd21sL1dNTFByZXZF
bGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9XTUxSZWZyZXNoRWxlbWVudC5jcHAgXAotICAgICAg
ICB3bWwvV01MU2VsZWN0RWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MU2V0dmFyRWxlbWVu
dC5jcHAgXAotICAgICAgICB3bWwvV01MVGFibGVFbGVtZW50LmNwcCBcCi0gICAgICAgIHdtbC9X
TUxUYXNrRWxlbWVudC5jcHAgXAotICAgICAgICB3bWwvV01MVGVtcGxhdGVFbGVtZW50LmNwcCBc
Ci0gICAgICAgIHdtbC9XTUxUaW1lckVsZW1lbnQuY3BwIFwKLSAgICAgICAgd21sL1dNTFZhcmlh
Ymxlcy5jcHAKLX0KLQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1hIVE1MTVA9MSkgewogICAg
IFNPVVJDRVMgKz0gXAogICAgICAgICBodG1sL0hUTUxOb1NjcmlwdEVsZW1lbnQuY3BwCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZmVhdHVyZXMucHJpCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL2ZlYXR1
cmVzLnByaQkod29ya2luZyBjb3B5KQpAQCAtNjAsNyArNjAsNiBAQCBjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfU0lOR0xFX1RIUkVBREVECiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1hQQVRI
PS4pOiBERUZJTkVTICs9IEVOQUJMRV9YUEFUSD0xCiAjIWNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9YQkw9Lik6IERFRklORVMgKz0gRU5BQkxFX1hCTD0xCiAhY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX1dDU1M9Lik6IERFRklORVMgKz0gRU5BQkxFX1dDU1M9MAotIWNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9XTUw9Lik6IERFRklORVMgKz0gRU5BQkxFX1dNTD0wCiAhY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX1NIQVJFRF9XT1JLRVJTPS4pOiBERUZJTkVTICs9IEVOQUJMRV9TSEFSRURfV09S
S0VSUz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1dPUktFUlM9Lik6IERFRklORVMgKz0g
RU5BQkxFX1dPUktFUlM9MQogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9YSFRNTE1QPS4pOiBE
RUZJTkVTICs9IEVOQUJMRV9YSFRNTE1QPTAKQEAgLTIxMSw3ICsyMTAsNiBAQCBjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfWFNMVD0xKTogRkVBVFVSCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
WEJMPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfWEJMPTEKIGNvbnRh
aW5zKERFRklORVMsIEVOQUJMRV9GSUxURVJTPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQ
VCArPSBFTkFCTEVfRklMVEVSUz0xCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfV0NTUz0xKTog
RkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1dDU1M9MQotY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX1dNTD0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxF
X1dNTD0xCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfWEhUTUxNUD0xKTogRkVBVFVSRV9ERUZJ
TkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1hIVE1MTVA9MQogY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX1NWRz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1NWRz0xCiBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZHX0FOSU1BVElPTj0xKTogRkVBVFVSRV9ERUZJTkVT
X0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1NWR19BTklNQVRJT049MQpJbmRleDogU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJl
dmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw3ICsxMjIsNiBAQCBFTkFCTEVf
V0VCX1NPQ0tFVFMgPSAkKEVOQUJMRV9XRUJfU09DS0VUCiBFTkFCTEVfV0VCX1NPQ0tFVFNfbWFj
b3N4ID0gRU5BQkxFX1dFQl9TT0NLRVRTOwogCiBFTkFCTEVfV0VCX1RJTUlORyA9IDsKLUVOQUJM
RV9XTUwgPSA7CiAKIEVOQUJMRV9XT1JLRVJTID0gJChFTkFCTEVfV09SS0VSU18kKFJFQUxfUExB
VEZPUk1fTkFNRSkpOwogRU5BQkxFX1dPUktFUlNfbWFjb3N4ID0gRU5BQkxFX1dPUktFUlM7CkBA
IC0xMzEsNCArMTMwLDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBBVEggPSBFTkFC
TEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0IpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChF
TkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfU1lTVEVN
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVH
R0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9QQUdF
X1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1JFR0lTVEVS
X1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9TSEFSRURfV09SS0VS
UykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNf
SU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV01MKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAk
KEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZF
TlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJ
VFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09M
X0hBTkRMRVIpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFC
TEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQo
RU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxF
X1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAJKHJldmlz
aW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAJKHdv
cmtpbmcgY29weSkKQEAgLTYzNyw3ICs2MzcsNiBAQAogICAgICAgICAgICAgJy4uL2Nzcy90aGVt
ZVdpbi5jc3MnLAogICAgICAgICAgICAgJy4uL2Nzcy90aGVtZVdpblF1aXJrcy5jc3MnLAogICAg
ICAgICAgICAgJy4uL2Nzcy9zdmcuY3NzJywKLSAgICAgICAgICAgICMgU2tpcCBXTUwuCiAgICAg
ICAgICAgICAnLi4vY3NzL21hdGhtbC5jc3MnLAogICAgICAgICAgICAgJy4uL2Nzcy9tZWRpYUNv
bnRyb2xzLmNzcycsCiAgICAgICAgICAgICAnLi4vY3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5j
c3MnLApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTIzMDk4LDExOCArMjMwOTgsNiBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdNTEVsZW1lbnRG
YWN0b3J5LmNwcCIKLQkJCQk+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8
VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNl
fFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9v
bAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19DYWly
b19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0J
CQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJl
bGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
LQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJ
Lz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJ
CQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgot
CQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkv
PgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJ
CU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgot
CQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkv
PgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJl
bGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xXTUxFbGVtZW50RmFjdG9yeS5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdNTE5hbWVzLmNwcCIKLQkJCQk+Ci0JCQkJPEZp
bGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZp
bGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgot
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0J
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0J
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xXTUxOYW1lcy5oIgot
CQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFhMaW5rTmFt
ZXMuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTY3MTA3LDM0NiArNjY5OTUsNiBAQAogCQkJ
PC9GaWx0ZXI+CiAJCTwvRmlsdGVyPgogCQk8RmlsdGVyCi0JCQlOYW1lPSJ3bWwiCi0JCQk+Ci0J
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEFjY2Vzc0VsZW1lbnQuY3BwIgot
CQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01M
QWNjZXNzRWxlbWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIuLlx3bWxcV01MQUVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxG
aWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MQUVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8
L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEFuY2hvckVsZW1l
bnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIu
Llx3bWxcV01MQW5jaG9yRWxlbWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MQlJFbGVtZW50LmNwcCIKLQkJCQk+Ci0JCQk8L0Zp
bGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEJSRWxlbWVudC5oIgot
CQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01M
Q2FyZEVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIuLlx3bWxcV01MQ2FyZEVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8
RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTERvY3VtZW50LmNwcCIKLQkJCQk+Ci0J
CQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTERvY3VtZW50
LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdt
bFxXTUxEb0VsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlx3bWxcV01MRG9FbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxFbGVtZW50LmNwcCIKLQkJCQk+Ci0J
CQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEVsZW1lbnQu
aCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21s
XFdNTEVycm9ySGFuZGxpbmcuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MRXJyb3JIYW5kbGluZy5oIgotCQkJCT4KLQkJCTwvRmls
ZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MRXZlbnRIYW5kbGluZ0Vs
ZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuLlx3bWxcV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0J
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEZpZWxkU2V0RWxlbWVudC5jcHAi
Ci0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxX
TUxGaWVsZFNldEVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJl
bGF0aXZlUGF0aD0iLi5cd21sXFdNTEZvcm1Db250cm9sRWxlbWVudC5jcHAiCi0JCQkJPgotCQkJ
PC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxGb3JtQ29udHJv
bEVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0
aD0iLi5cd21sXFdNTEdvRWxlbWVudC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxHb0VsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0Zp
bGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEltYWdlRWxlbWVudC5j
cHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdt
bFxXTUxJbWFnZUVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJl
bGF0aXZlUGF0aD0iLi5cd21sXFdNTEltYWdlTG9hZGVyLmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+
Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEltYWdlTG9hZGVyLmgiCi0J
CQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxJ
bnB1dEVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIuLlx3bWxcV01MSW5wdXRFbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQu
Y3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3
bWxcV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxJbnRyaW5zaWNFdmVudC5jcHAiCi0JCQkJ
PgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxJbnRy
aW5zaWNFdmVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlx3bWxcV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcCIKLQkJCQk+Ci0JCQk8L0Zp
bGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTEludHJpbnNpY0V2ZW50
SGFuZGxlci5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuLlx3bWxcV01MTWV0YUVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxl
Ci0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MTWV0YUVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8
L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTE5vb3BFbGVtZW50
LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5c
d21sXFdNTE5vb3BFbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxPbkV2ZW50RWxlbWVudC5jcHAiCi0JCQkJPgotCQkJPC9G
aWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxPbkV2ZW50RWxlbWVu
dC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3
bWxcV01MT3B0R3JvdXBFbGVtZW50LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTE9wdEdyb3VwRWxlbWVudC5oIgotCQkJCT4KLQkJ
CTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MT3B0aW9uRWxl
bWVudC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHdtbFxXTUxPcHRpb25FbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxQYWdlU3RhdGUuY3BwIgotCQkJCT4KLQkJCTwv
RmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MUGFnZVN0YXRlLmgi
Ci0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxX
TUxQRWxlbWVudC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHdtbFxXTUxQRWxlbWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxl
Ci0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MUG9zdGZpZWxkRWxlbWVudC5jcHAiCi0JCQkJ
PgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxQb3N0
ZmllbGRFbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHdtbFxXTUxQcmV2RWxlbWVudC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxQcmV2RWxlbWVudC5oIgotCQkJCT4K
LQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MUmVmcmVz
aEVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlx3bWxcV01MUmVmcmVzaEVsZW1lbnQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8
RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTFNlbGVjdEVsZW1lbnQuY3BwIgotCQkJ
CT4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCi0JCQkJ
CT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlEaXNh
YmxlU3BlY2lmaWNXYXJuaW5ncz0iNDgxOSIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgot
CQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJ
RGlzYWJsZVNwZWNpZmljV2FybmluZ3M9IjQ4MTkiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgotCQkJCQkJRGlzYWJsZVNwZWNpZmljV2FybmluZ3M9IjQ4MTkiCi0JCQkJCS8+Ci0J
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFt
ZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz0i
NDgxOSIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0JCQkJCT4KLQkJCQkJPFRvb2wK
LQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlEaXNhYmxlU3BlY2lmaWNXYXJu
aW5ncz0iNDgxOSIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJCQk+Ci0JCQkJ
CTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJRGlzYWJsZVNwZWNp
ZmljV2FybmluZ3M9IjQ4MTkiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJ
CTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MU2VsZWN0RWxl
bWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIu
Llx3bWxcV01MU2V0dmFyRWxlbWVudC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxTZXR2YXJFbGVtZW50LmgiCi0JCQkJPgotCQkJ
PC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxUYWJsZUVsZW1l
bnQuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIu
Llx3bWxcV01MVGFibGVFbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxUYXNrRWxlbWVudC5jcHAiCi0JCQkJPgotCQkJPC9G
aWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdtbFxXTUxUYXNrRWxlbWVudC5o
IgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxc
V01MVGVtcGxhdGVFbGVtZW50LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTFRlbXBsYXRlRWxlbWVudC5oIgotCQkJCT4KLQkJCTwv
RmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MVGltZXJFbGVtZW50
LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5c
d21sXFdNTFRpbWVyRWxlbWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlx3bWxcV01MVmFyaWFibGVzLmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+
Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cd21sXFdNTFZhcmlhYmxlcy5oIgotCQkJ
CT4KLQkJCTwvRmlsZT4KLQkJPC9GaWx0ZXI+Ci0JCTxGaWx0ZXIKIAkJCU5hbWU9IndlYnNvY2tl
dHMiCiAJCQk+CiAJCQk8RmlsZQpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTYwLDQxICs2MCwyMSBAQAogCQkwNzZGMEQwRTEyQjgxOTI3MDBDMjZBQTQgLyogTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwNzZGMEQwQTEyQjgxOTI3MDBDMjZBQTQgLyogTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uLmggKi87IH07CiAJCTA3NkYwRDBGMTJCODE5MjcwMEMyNkFBNCAvKiBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzZGMEQwQjEyQjgxOTI3MDBDMjZBQTQgLyogTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oICovOyB9OwogCQkwN0IwMTEzRjEwMzIy
NDIyMDBGQkRDMzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QjAxMTNFMTAzMjI0MjIwMEZCREMz
MyAvKiBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oICovOyB9OwotCQkwODAwODE5NjBFRDNC
MkREMDBDNTNCQzAgLyogV01MQW5jaG9yRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODAwODE5NDBFRDNCMkREMDBDNTNCQzAgLyogV01M
QW5jaG9yRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4MDA4MTk3MEVEM0IyREQwMEM1M0JDMCAvKiBX
TUxBbmNob3JFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwODAwODE5NTBFRDNCMkREMDBDNTNCQzAgLyogV01MQW5jaG9yRWxlbWVudC5oICov
OyB9OwotCQkwODA0QkY2RTBFRTA5QzNCMDAwNkMwMDAgLyogV01MRG9FbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MDRCRjZDMEVFMDlD
M0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuY3BwICovOyB9OwotCQkwODA0QkY2RjBFRTA5QzNC
MDAwNkMwMDAgLyogV01MRG9FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwODA0QkY2RDBFRTA5QzNCMDAwNkMwMDAgLyogV01MRG9FbGVtZW50
LmggKi87IH07CiAJCTA4MDZFNTdBMTI4OTMwNDUwMDdDRUQzMiAvKiBTVkdNYXRyaXguaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MDZFNTc5MTI4OTMw
NDUwMDdDRUQzMiAvKiBTVkdNYXRyaXguaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQkwODBBRUM4MTBFRDg3MDhCMDBERjRDQ0UgLyogV01MSW50cmlu
c2ljRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDgwQUVDN0QwRUQ4NzA4QTAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50LmNwcCAqLzsg
fTsKLQkJMDgwQUVDODIwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODBBRUM3RTBFRDg3
MDhCMDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnQuaCAqLzsgfTsKLQkJMDgwQUVDODMwRUQ4
NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODBBRUM3RjBFRDg3MDhCMDBERjRD
Q0UgLyogV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcCAqLzsgfTsKLQkJMDgwQUVDODQwRUQ4
NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwQUVDODAwRUQ4NzA4QjAwREY0Q0NF
IC8qIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlci5oICovOyB9OwogCQkwODBFNDkyNjEyNTVGM0JE
MDBFRkNBMjcgLyogU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODBFNDkyMjEyNTVGM0JEMDBFRkNBMjcg
LyogU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmggKi87IH07CiAJCTA4MEU0OTI4MTI1NUYz
QkQwMEVGQ0EyNyAvKiBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwRTQ5MjQxMjU1RjNCRDAwRUZDQTI3
IC8qIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmggKi87IH07Ci0JCTA4MEZBRTFBMEVFRUJE
QTgwMEFBQ0RFOSAvKiBXTUxUZW1wbGF0ZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwRkFFMTgwRUVFQkRBODAwQUFDREU5IC8qIFdN
TFRlbXBsYXRlRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4MEZBRTFCMEVFRUJEQTgwMEFBQ0RFOSAv
KiBXTUxUZW1wbGF0ZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA4MEZBRTE5MEVFRUJEQTgwMEFBQ0RFOSAvKiBXTUxUZW1wbGF0ZUVsZW1l
bnQuaCAqLzsgfTsKIAkJMDgxMDc2NDQxMjgyODU1NjAwN0M2M0JBIC8qIFNWR0xpc3RQcm9wZXJ0
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgxMDc2
NDMxMjgyODU1NjAwN0M2M0JBIC8qIFNWR0xpc3RQcm9wZXJ0eS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4MTA5M0RDMTI1NUYwRTcwMEVEOUQy
OSAvKiBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MTA5M0RBMTI1NUYwRTcwMEVEOUQyOSAvKiBT
VkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCAqLzsgfTsKIAkJMDgxM0E0RUExMjg0MTMy
NjAwOTkyNTExIC8qIFNWR1N0YXRpY1Byb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgxM0E0RTkxMjg0MTMyNjAwOTkyNTExIC8q
IFNWR1N0YXRpY1Byb3BlcnR5VGVhck9mZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTA4MTY2OEQ0MTI1NjAzQkYwMDZGMjVERSAvKiBTVkdUZXh0
Q2h1bmtCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwODE2NjhEMjEyNTYwM0JGMDA2RjI1REUgLyogU1ZHVGV4dENodW5rQnVpbGRlci5oICov
OyB9OwogCQkwODE2NjhEQTEyNTYwM0Q1MDA2RjI1REUgLyogU1ZHVGV4dExheW91dEVuZ2luZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgxNjY4RDgx
MjU2MDNENTAwNkYyNURFIC8qIFNWR1RleHRMYXlvdXRFbmdpbmUuaCAqLzsgfTsKLQkJMDgxOEFF
RTIwRURCODZCQzAwNjQ3QjY2IC8qIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MThBRUUwMEVEQjg2QkMw
MDY0N0I2NiAvKiBXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4MThBRUUz
MEVEQjg2QkMwMDY0N0I2NiAvKiBXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgxOEFFRTEwRURCODZCQzAwNjQ3
QjY2IC8qIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmggKi87IH07CiAJCTA4MUFBOERBMTExMTIz
N0UwMDJBQjA2RSAvKiBTVkdFbGVtZW50UmFyZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MUFBOEQ5MTExMTIzN0UwMDJBQjA2RSAvKiBTVkdF
bGVtZW50UmFyZURhdGEuaCAqLzsgfTsKIAkJMDgxQ0RGQkYxMjZFQ0ZFODAwRDIxNUNBIC8qIFNW
R0FuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MUNERkJFMTI2RUNGRTgwMEQyMTVDQSAvKiBTVkdBbmlt
YXRlZFByb3BlcnR5U3luY2hyb25pemVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDgxRDgxMzEwRUUwRTc0RDAwRDczNjg5IC8qIFdNTFRpbWVy
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwODFEODEyRjBFRTBFNzREMDBENzM2ODkgLyogV01MVGltZXJFbGVtZW50LmNwcCAqLzsgfTsK
LQkJMDgxRDgxMzIwRUUwRTc0RDAwRDczNjg5IC8qIFdNTFRpbWVyRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgxRDgxMzAwRUUwRTc0RDAw
RDczNjg5IC8qIFdNTFRpbWVyRWxlbWVudC5oICovOyB9OwogCQkwODFFQkYzQTBGRDM0RjQxMDBE
QTc1NTkgLyogU1ZHRmlsdGVyQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwODFFQkYzODBGRDM0RjQxMDBEQTc1NTkgLyogU1ZHRmlsdGVy
QnVpbGRlci5jcHAgKi87IH07CiAJCTA4MUVCRjNCMEZEMzRGNDEwMERBNzU1OSAvKiBTVkdGaWx0
ZXJCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwODFFQkYzOTBGRDM0RjQxMDBEQTc1NTkgLyogU1ZHRmlsdGVyQnVpbGRlci5oICovOyB9Owot
CQkwODIwM0E5RjBFRDhDMzUzMDBCOEI2MUEgLyogV01MQWNjZXNzRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODIwM0E5RDBFRDhDMzUz
MDBCOEI2MUEgLyogV01MQWNjZXNzRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4MjAzQUEwMEVEOEMz
NTMwMEI4QjYxQSAvKiBXTUxBY2Nlc3NFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODIwM0E5RTBFRDhDMzUzMDBCOEI2MUEgLyogV01MQWNj
ZXNzRWxlbWVudC5oICovOyB9OwotCQkwODIzNDFDNTBGQ0YzQTk1MDBENzVCRDYgLyogV01MU2Vs
ZWN0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwODIzNDFDMzBGQ0YzQTk0MDBENzVCRDYgLyogV01MU2VsZWN0RWxlbWVudC5jcHAgKi87
IH07Ci0JCTA4MjM0MUM2MEZDRjNBOTUwMEQ3NUJENiAvKiBXTUxTZWxlY3RFbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODIzNDFDNDBGQ0Yz
QTk0MDBENzVCRDYgLyogV01MU2VsZWN0RWxlbWVudC5oICovOyB9OwogCQkwODIzRDE1OTEyN0FE
NkFDMDAwRUJDOTUgLyogU1ZHQW5pbWF0ZWRJbnRlZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODIzRDE1ODEyN0FENkFDMDAwRUJDOTUgLyogU1ZH
QW5pbWF0ZWRJbnRlZ2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDgyNTA5MzkxMjhCRDREODAwRTJFRDhFIC8qIFNWR0FuaW1hdGVkVHJhbnNm
b3JtTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDgyNTA5MzgxMjhCRDREODAwRTJFRDhFIC8qIFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4MkRFNDJE
MTI5MjYyMTYwMEQ5MjNERiAvKiBTVkdQYXRoU2VnV2l0aENvbnRleHQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MkRFNDJDMTI5MjYyMTYwMEQ5MjNE
RiAvKiBTVkdQYXRoU2VnV2l0aENvbnRleHQuaCAqLzsgfTsKLQkJMDgzOTQ3NkMwRUNFNEJENjAw
MDI3MzUwIC8qIFdNTEVsZW1lbnRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4RkI4NEIwMEVDRTM3MzMwMERDMDY0RSAvKiBXTUxFbGVt
ZW50RmFjdG9yeS5jcHAgKi87IH07Ci0JCTA4Mzk0NzZEMEVDRTRCRDYwMDAyNzM1MCAvKiBXTUxF
bGVtZW50RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDhGQjg0QjEwRUNFMzczMzAwREMwNjRFIC8qIFdNTEVsZW1lbnRGYWN0b3J5LmggKi87
IH07CiAJCTA4M0RBRUE2MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRp
TGluZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
ODNEQUVBMjBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuY3Bw
ICovOyB9OwogCQkwODNEQUVBNzBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xN
dWx0aUxpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA4M0RBRUEzMEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5o
ICovOyB9OwogCQkwODNEQUVBODBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xT
aW5nbGVMaW5lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA4M0RBRUE0MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxp
bmUuY3BwICovOyB9OwpAQCAtMTAzLDEzICs4Myw3IEBACiAJCTA4NEEwODI5MTI4RDc4NjcwMDJE
QjFGMSAvKiBTVkdQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QTA4MjgxMjhENzg2NzAwMkRCMUYxIC8q
IFNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmggKi87IH07CiAJCTA4NEFFQkU0MEZCNTA1
RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NEFFQkUyMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RF
bGVtZW50LmNwcCAqLzsgfTsKIAkJMDg0QUVCRTUwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4
NEFFQkUzMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmggKi87IH07Ci0JCTA4NENF
NUNCMEYyN0RBREMwMEU2MjQwRSAvKiBXTUxPcHRHcm91cEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0Q0U1QzcwRjI3REFEQzAwRTYy
NDBFIC8qIFdNTE9wdEdyb3VwRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4NENFNUNDMEYyN0RBREMw
MEU2MjQwRSAvKiBXTUxPcHRHcm91cEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NENFNUM4MEYyN0RBREMwMEU2MjQwRSAvKiBXTUxPcHRH
cm91cEVsZW1lbnQuaCAqLzsgfTsKLQkJMDg0Q0U1Q0QwRjI3REFEQzAwRTYyNDBFIC8qIFdNTE9w
dGlvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDg0Q0U1QzkwRjI3REFEQzAwRTYyNDBFIC8qIFdNTE9wdGlvbkVsZW1lbnQuY3BwICov
OyB9OwotCQkwODRDRTVDRTBGMjdEQURDMDBFNjI0MEUgLyogV01MT3B0aW9uRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0Q0U1Q0EwRjI3
REFEQzAwRTYyNDBFIC8qIFdNTE9wdGlvbkVsZW1lbnQuaCAqLzsgfTsKIAkJMDg0REI1OUIxMjgw
MDhDQzAwMkE2RDY0IC8qIFNWR0FuaW1hdGVkU3RyaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODREQjU5QTEyODAwOENDMDAyQTZENjQgLyogU1ZH
QW5pbWF0ZWRTdHJpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQkwODREQkFBMTBFRDM5RDM2MDAzOEMyMjYgLyogV01MVmFyaWFibGVzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NERCQTlEMEVE
MzlEMzUwMDM4QzIyNiAvKiBXTUxWYXJpYWJsZXMuY3BwICovOyB9OwotCQkwODREQkFBMjBFRDM5
RDM2MDAzOEMyMjYgLyogV01MVmFyaWFibGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwODREQkE5RTBFRDM5RDM2MDAzOEMyMjYgLyogV01MVmFyaWFi
bGVzLmggKi87IH07CiAJCTA4NTI1RTYzMTI3OEMwMDEwMEE4NDc3OCAvKiBTVkdBbmltYXRlZFN0
YXRpY1Byb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDg1MjVFNjIxMjc4QzAwMTAwQTg0Nzc4IC8qIFNWR0FuaW1hdGVkU3RhdGlj
UHJvcGVydHlUZWFyT2ZmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDg1NEIwMTUxMjU1RTRFNjAwQjlDREQwIC8qIFJlbmRlclNWR0lubGluZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg1NEIwMDMx
MjU1RTRFNjAwQjlDREQwIC8qIFJlbmRlclNWR0lubGluZS5oICovOyB9OwogCQkwODU0QjAxNzEy
NTVFNEU2MDBCOUNERDAgLyogUmVuZGVyU1ZHSW5saW5lVGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg1NEIwMDUxMjU1RTRFNjAwQjlDREQwIC8q
IFJlbmRlclNWR0lubGluZVRleHQuaCAqLzsgfTsKQEAgLTEyMywxNCArOTcsMTAgQEAKIAkJMDg1
Nzk3MDkxMjc4Mzk0QzAwQThFQzVGIC8qIFNWR0FuaW1hdGVkQm9vbGVhbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg1Nzk3MDgxMjc4Mzk0QzAwQThF
QzVGIC8qIFNWR0FuaW1hdGVkQm9vbGVhbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTA4NTkxQUE1MEYwODVDNEUwMDlCQUNCMSAvKiBJbnB1dEVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4
NTkxQUE0MEYwODVDNEUwMDlCQUNCMSAvKiBJbnB1dEVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwODVBMTU5MzEyODlBOEREMDAyNzEw
RTMgLyogU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0UHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODVBMTU5MjEyODlBOEREMDAy
NzEwRTMgLyogU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0UHJvcGVydHlUZWFyT2ZmLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDg1QUZEQzgwRjI5
NzczNTAwNjFGMkIzIC8qIFdNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODVBRkRDNjBGMjk3NzM1MDA2MUYyQjMg
LyogV01MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCAqLzsgfTsKLQkJMDg1QUZEQzkwRjI5NzczNTAw
NjFGMkIzIC8qIFdNTEZvcm1Db250cm9sRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg1QUZEQzcwRjI5NzczNTAwNjFGMkIzIC8qIFdNTEZv
cm1Db250cm9sRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07
CiAJCTA4NUI5MkJBMEVGREU3M0QwMEU2MTIzQyAvKiBGb3JtRGF0YUJ1aWxkZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg1QjkyQjgwRUZERTcz
RDAwRTYxMjNDIC8qIEZvcm1EYXRhQnVpbGRlci5jcHAgKi87IH07CiAJCTA4NUI5MkJCMEVGREU3
M0QwMEU2MTIzQyAvKiBGb3JtRGF0YUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NUI5MkI5MEVGREU3M0QwMEU2MTIzQyAvKiBGb3JtRGF0
YUJ1aWxkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OwogCQkwODY0
MUQ0NzEyMTQyRjdEMDA4REU5RjYgLyogUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg2NDFENDUx
MjE0MkY3RDAwOERFOUY2IC8qIFJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmNwcCAqLzsg
fTsKIAkJMDg2NDFENDgxMjE0MkY3RDAwOERFOUY2IC8qIFJlbmRlckltYWdlUmVzb3VyY2VTdHls
ZUltYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
ODY0MUQ0NjEyMTQyRjdEMDA4REU5RjYgLyogUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwODY1
Q0NFNjBFRERGNTFCMDBERjlFQzMgLyogV01MTm9vcEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg2NUNDRTQwRURERjUxQjAwREY5RUMz
IC8qIFdNTE5vb3BFbGVtZW50LmNwcCAqLzsgfTsKLQkJMDg2NUNDRTcwRURERjUxQjAwREY5RUMz
IC8qIFdNTE5vb3BFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwODY1Q0NFNTBFRERGNTFCMDBERjlFQzMgLyogV01MTm9vcEVsZW1lbnQuaCAq
LzsgfTsKIAkJMDg2QkJEMEYxMzYwMzlDMjAwOEIxNUQ4IC8qIEdseXBoLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODZCQkQwRTEzNjAzOUMyMDA4QjE1
RDggLyogR2x5cGguaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkwODcwMEJFNzBGMDg2QzUzMDA5MTk0MTkgLyogSW5wdXRFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NzAwQkU2MEYwODZD
NTMwMDkxOTQxOSAvKiBJbnB1dEVsZW1lbnQuY3BwICovOyB9OwogCQkwODcyODE1NTBGMjZCOUI2
MDBBRkM1OTYgLyogT3B0aW9uRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwODcyODE1MTBGMjZCOUI2MDBBRkM1OTYgLyogT3B0aW9uRWxl
bWVudC5jcHAgKi87IH07CkBAIC0xMzgsMjYgKzEwOCwxMCBAQAogCQkwODcyODE1NzBGMjZCOUI2
MDBBRkM1OTYgLyogT3B0aW9uR3JvdXBFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NzI4MTUzMEYyNkI5QjYwMEFGQzU5NiAvKiBPcHRp
b25Hcm91cEVsZW1lbnQuY3BwICovOyB9OwogCQkwODcyODE1ODBGMjZCOUI2MDBBRkM1OTYgLyog
T3B0aW9uR3JvdXBFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwODcyODE1NDBGMjZCOUI2MDBBRkM1OTYgLyogT3B0aW9uR3JvdXBFbGVtZW50
LmggKi87IH07CiAJCTA4NzNCODZCMTM2MDY0RUEwMEE1MjJDMiAvKiBHbHlwaFBhZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NzNCODZBMTM2MDY0
RUEwMEE1MjJDMiAvKiBHbHlwaFBhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQkwODc0NEJBQTBFREI3RDg2MDA0QzlFNjMgLyogV01MT25FdmVu
dEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDg3NDRCQTkwRURCN0Q4NjAwNEM5RTYzIC8qIFdNTE9uRXZlbnRFbGVtZW50LmNwcCAqLzsg
fTsKLQkJMDg3NDRCQUUwRURCN0Q5MjAwNEM5RTYzIC8qIFdNTE9uRXZlbnRFbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODc0NEJBRDBFREI3
RDkyMDA0QzlFNjMgLyogV01MT25FdmVudEVsZW1lbnQuaCAqLzsgfTsKIAkJMDg3Qjg0OTYxMjcy
Q0VDODAwQTE0NDE3IC8qIFNWR0FuaW1hdGVkQW5nbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4N0I4NDk1MTI3MkNFQzcwMEExNDQxNyAvKiBTVkdB
bmltYXRlZEFuZ2xlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMDg3RTBBRjYxMzYwNkQwQjAwRkE0QkE4IC8qIFNWR0dseXBoLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4N0UwQUY0MTM2MDZEMEIw
MEZBNEJBOCAvKiBTVkdHbHlwaC5jcHAgKi87IH07CiAJCTA4N0UwQUY3MTM2MDZEMEIwMEZBNEJB
OCAvKiBTVkdHbHlwaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDg3RTBBRjUxMzYwNkQwQjAwRkE0QkE4IC8qIFNWR0dseXBoLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDg3RkZBMEYwRUZGM0VEMzAw
OURCRDg4IC8qIFdNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODdGRkEwRDBFRkYzRUQzMDA5REJEODggLyog
V01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50LmNwcCAqLzsgfTsKLQkJMDg3RkZBMTAwRUZGM0VEMzAw
OURCRDg4IC8qIFdNTEluc2VydGVkTGVnZW5kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg3RkZBMEUwRUZGM0VEMzAwOURCRDg4IC8qIFdN
TEluc2VydGVkTGVnZW5kRWxlbWVudC5oICovOyB9OwotCQkwODgwN0I3NjBFRDcwOUFCMDAzRjY5
NzUgLyogV01MR29FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA4ODA3QjZBMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxHb0VsZW1lbnQuY3Bw
ICovOyB9OwotCQkwODgwN0I3NzBFRDcwOUFCMDAzRjY5NzUgLyogV01MR29FbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODgwN0I2QjBFRDcw
OUFCMDAzRjY5NzUgLyogV01MR29FbGVtZW50LmggKi87IH07Ci0JCTA4ODA3QjdDMEVENzA5QUIw
MDNGNjk3NSAvKiBXTUxQcmV2RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwODgwN0I3MDBFRDcwOUFCMDAzRjY5NzUgLyogV01MUHJldkVs
ZW1lbnQuY3BwICovOyB9OwotCQkwODgwN0I3RDBFRDcwOUFCMDAzRjY5NzUgLyogV01MUHJldkVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4
ODA3QjcxMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxQcmV2RWxlbWVudC5oICovOyB9OwotCQkwODgw
N0I3RTBFRDcwOUFCMDAzRjY5NzUgLyogV01MUmVmcmVzaEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg4MDdCNzIwRUQ3MDlBQjAwM0Y2
OTc1IC8qIFdNTFJlZnJlc2hFbGVtZW50LmNwcCAqLzsgfTsKLQkJMDg4MDdCN0YwRUQ3MDlBQjAw
M0Y2OTc1IC8qIFdNTFJlZnJlc2hFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwODgwN0I3MzBFRDcwOUFCMDAzRjY5NzUgLyogV01MUmVmcmVz
aEVsZW1lbnQuaCAqLzsgfTsKLQkJMDg4MDdCODAwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTFNldHZh
ckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDg4MDdCNzQwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTFNldHZhckVsZW1lbnQuY3BwICovOyB9
OwotCQkwODgwN0I4MTBFRDcwOUFCMDAzRjY5NzUgLyogV01MU2V0dmFyRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg4MDdCNzUwRUQ3MDlB
QjAwM0Y2OTc1IC8qIFdNTFNldHZhckVsZW1lbnQuaCAqLzsgfTsKIAkJMDg4MEY3MEUxMjgyQjQ2
RDAwOTQ4NTA1IC8qIFNWR1N0YXRpY0xpc3RQcm9wZXJ0eVRlYXJPZmYuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4ODBGNzBEMTI4MkI0NkQwMDk0ODUw
NSAvKiBTVkdTdGF0aWNMaXN0UHJvcGVydHlUZWFyT2ZmLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDg4MjBCREUwRUY1RDM4MTAwOTA5OUE4IC8q
IFdNTFRhYmxlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwODgyMEJEQzBFRjVEMzgxMDA5MDk5QTggLyogV01MVGFibGVFbGVtZW50LmNw
cCAqLzsgfTsKLQkJMDg4MjBCREYwRUY1RDM4MTAwOTA5OUE4IC8qIFdNTFRhYmxlRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg4MjBCREQw
RUY1RDM4MTAwOTA5OUE4IC8qIFdNTFRhYmxlRWxlbWVudC5oICovOyB9OwotCQkwODg0NTExNTBG
MjY3QjYzMDA3RjEzOUUgLyogV01MSW5wdXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4ODQ1MTEzMEYyNjdCNjIwMDdGMTM5RSAvKiBX
TUxJbnB1dEVsZW1lbnQuY3BwICovOyB9OwotCQkwODg0NTExNjBGMjY3QjYzMDA3RjEzOUUgLyog
V01MSW5wdXRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwODg0NTExNDBGMjY3QjYzMDA3RjEzOUUgLyogV01MSW5wdXRFbGVtZW50LmggKi87
IH07CiAJCTA4ODUwNjdGMTFEQTA0NUIwMDE4MkI5OCAvKiBQYWludEluZm8uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4ODUwNjdEMTFEQTA0NUIwMDE4
MkI5OCAvKiBQYWludEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkwODg1MDY4MDExREEwNDVCMDAxODJCOTggLyogUGFpbnRQaGFzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg4NTA2N0UxMURB
MDQ1QjAwMTgyQjk4IC8qIFBhaW50UGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkwODhBMEUwNDEyNkVGMURCMDA5NzhGN0EgLyogU1ZHQW5p
bWF0ZWRMaXN0UHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwODhBMERGQjEyNkVGMURCMDA5NzhGN0EgLyogU1ZHQW5pbWF0ZWRM
aXN0UHJvcGVydHlUZWFyT2ZmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTE3MCwyOCArMTI0LDEwIEBACiAJCTA4OEEwRTBCMTI2RUYxREIwMDk3
OEY3QSAvKiBTVkdQcm9wZXJ0eVRlYXJPZmYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4OEEwRTAyMTI2RUYxREIwMDk3OEY3QSAvKiBTVkdQcm9wZXJ0
eVRlYXJPZmYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkwODhBMEUwQzEyNkVGMURCMDA5NzhGN0EgLyogU1ZHUHJvcGVydHlUcmFpdHMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OEEwRTAzMTI2RUYx
REIwMDk3OEY3QSAvKiBTVkdQcm9wZXJ0eVRyYWl0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4OEMyRjdBMTIzOTAwODEwMDNENjVDRSAvKiBT
VkdUZXh0TGF5b3V0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDg4QzJGNzYxMjM5MDA4MDAwM0Q2NUNFIC8qIFNWR1RleHRMYXlvdXRB
dHRyaWJ1dGVzLmggKi87IH07Ci0JCTA4OEM5NzEyMEVDQjZEOTIwMDA1MzRCQSAvKiBXTUxOYW1l
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0Q0Ez
QUI0OTBFNTU2RjI0MDBFOUMwQzAgLyogV01MTmFtZXMuY3BwICovOyB9OwotCQkwODhDOTcxMzBF
Q0I2RDlEMDAwNTM0QkEgLyogV01MTmFtZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDRDQTNBQjQ4MEU1NTZGMjQwMEU5QzBDMCAvKiBXTUxOYW1lcy5o
ICovOyB9OwotCQkwODhDOTc1MTBFQ0I2RTI4MDAwNTM0QkEgLyogV01MQUVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEM2Qjk5MTgwRTUy
RTM3MzAwNDg3QkI3IC8qIFdNTEFFbGVtZW50LmNwcCAqLzsgfTsKLQkJMDg4Qzk3NTIwRUNCNkUy
ODAwMDUzNEJBIC8qIFdNTEFFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0QzZCOTkxOTBFNTJFMzczMDA0ODdCQjcgLyogV01MQUVsZW1lbnQu
aCAqLzsgfTsKLQkJMDg4Qzk3NTYwRUNCNkUyODAwMDUzNEJBIC8qIFdNTENhcmRFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRDNkI5OTFG
MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxDYXJkRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4OEM5NzU3
MEVDQjZFMjgwMDA1MzRCQSAvKiBXTUxDYXJkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEM2Qjk5MjAwRTUyRTM3MzAwNDg3QkI3IC8qIFdN
TENhcmRFbGVtZW50LmggKi87IH07Ci0JCTA4OEM5NzU4MEVDQjZFMjgwMDA1MzRCQSAvKiBXTUxE
b2N1bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0QzZCOTkyMTBFNTJFMzczMDA0ODdCQjcgLyogV01MRG9jdW1lbnQuY3BwICovOyB9OwotCQkw
ODhDOTc1OTBFQ0I2RTI4MDAwNTM0QkEgLyogV01MRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRDNkI5OTIyMEU1MkUzNzMwMDQ4N0JCNyAv
KiBXTUxEb2N1bWVudC5oICovOyB9OwotCQkwODhDOTc1QzBFQ0I2RTI4MDAwNTM0QkEgLyogV01M
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0QzZCOTkyNTBFNTJFMzczMDA0ODdCQjcgLyogV01MRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4
OEM5NzVEMEVDQjZFMjgwMDA1MzRCQSAvKiBXTUxFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QzZCOTkyNjBFNTJFMzczMDA0ODdCQjcgLyog
V01MRWxlbWVudC5oICovOyB9OwotCQkwODhDOTc2QzBFQ0I2RTI5MDAwNTM0QkEgLyogV01MUGFn
ZVN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA4OTNFNDY1MEVDQjY4RjQwMEEyODU2MyAvKiBXTUxQYWdlU3RhdGUuY3BwICovOyB9OwotCQkw
ODhDOTc2RDBFQ0I2RTI5MDAwNTM0QkEgLyogV01MUGFnZVN0YXRlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODkzRTQ2NjBFQ0I2OEY0MDBBMjg1NjMg
LyogV01MUGFnZVN0YXRlLmggKi87IH07Ci0JCTA4OEM5NzZFMEVDQjZFMjkwMDA1MzRCQSAvKiBX
TUxQRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0QzZCOTkzNTBFNTJFMzczMDA0ODdCQjcgLyogV01MUEVsZW1lbnQuY3BwICovOyB9Owot
CQkwODhDOTc2RjBFQ0I2RTI5MDAwNTM0QkEgLyogV01MUEVsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRDNkI5OTM2MEU1MkUzNzMwMDQ4N0JC
NyAvKiBXTUxQRWxlbWVudC5oICovOyB9OwogCQkwODkwMjFBOTEyNkVGNURFMDA5MkQ1RUEgLyog
U1ZHQW5pbWF0ZWRMZW5ndGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA4OTAyMUE4MTI2RUY1REUwMDkyRDVFQSAvKiBTVkdBbmltYXRlZExlbmd0aC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4OTAy
MUFEMTI2RUY1RTkwMDkyRDVFQSAvKiBTVkdBbmltYXRlZExlbmd0aExpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OTAyMUFDMTI2RUY1RTkwMDky
RDVFQSAvKiBTVkdBbmltYXRlZExlbmd0aExpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwODk1ODI1NTBFODU3QTdFMDBGODJDODMgLyogSW1h
Z2VMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDg5NTgyNTMwRTg1N0E3RTAwRjgyQzgzIC8qIEltYWdlTG9hZGVyLmNwcCAqLzsgfTsKIAkJ
MDg5NTgyNTYwRTg1N0E3RTAwRjgyQzgzIC8qIEltYWdlTG9hZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODk1ODI1NDBFODU3QTdFMDBGODJDODMg
LyogSW1hZ2VMb2FkZXIuaCAqLzsgfTsKLQkJMDg5N0MxNEMwRUQyRUJBNTAwQUUwNkRCIC8qIFdN
TEJSRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwODk3QzE0QTBFRDJFQkE0MDBBRTA2REIgLyogV01MQlJFbGVtZW50LmNwcCAqLzsgfTsK
LQkJMDg5N0MxNEQwRUQyRUJBNTAwQUUwNkRCIC8qIFdNTEJSRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg5N0MxNEIwRUQyRUJBNDAwQUUw
NkRCIC8qIFdNTEJSRWxlbWVudC5oICovOyB9OwotCQkwODk3RDk3QTBGMDA3QTQ2MDA0MTFCQjMg
LyogV01MTWV0YUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDg5N0Q5NzgwRjAwN0E0NjAwNDExQkIzIC8qIFdNTE1ldGFFbGVtZW50LmNw
cCAqLzsgfTsKLQkJMDg5N0Q5N0IwRjAwN0E0NjAwNDExQkIzIC8qIFdNTE1ldGFFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODk3RDk3OTBG
MDA3QTQ2MDA0MTFCQjMgLyogV01MTWV0YUVsZW1lbnQuaCAqLzsgfTsKIAkJMDg5QThFMDcxMjhE
OEIzRDAwRTdBNTM0IC8qIFNWR0FuaW1hdGVkUGF0aFNlZ0xpc3RQcm9wZXJ0eVRlYXJPZmYuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OUE4RTA2MTI4
RDhCM0QwMEU3QTUzNCAvKiBTVkdBbmltYXRlZFBhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmgg
Ki87IH07CiAJCTA4OUYwRDUxMTMxNkNFOTMwMDU4NzdBRCAvKiBDU1NNdXRhYmxlVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OUYwRDUwMTMx
NkNFOTMwMDU4NzdBRCAvKiBDU1NNdXRhYmxlVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwOEE0ODQ3NzBFNTI3MkM1MDBDM0ZFNzYgLyog
U2NyaXB0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwOEE0ODQ3NTBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxlbWVudC5jcHAgKi87
IH07CkBAIC0xOTksMjYgKzEzNSwxNCBAQAogCQkwOEE0OEE2RTBFODZDRjZEMDBFMjI1REQgLyog
SlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDhBNDhBNkQwRTg2Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxl
bWVudEluc3RhbmNlQ3VzdG9tLmNwcCAqLzsgfTsKIAkJMDhCMzVCMTMxMjdCNkE3QzAwNTMxNERE
IC8qIFNWR0FuaW1hdGVkTnVtYmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwOEIzNUIxMjEyN0I2QTdDMDA1MzE0REQgLyogU1ZHQW5pbWF0ZWROdW1i
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkw
OEIzNUIxNzEyN0I2QTg4MDA1MzE0REQgLyogU1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEIzNUIxNjEyN0I2QTg4
MDA1MzE0REQgLyogU1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDhDNEM1MTgwRUYxOUE0MDAwRTQ4NDBGIC8q
IFdNTEltYWdlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwOEM0QzUxNDBFRjE5QTQwMDBFNDg0MEYgLyogV01MSW1hZ2VFbGVtZW50LmNw
cCAqLzsgfTsKLQkJMDhDNEM1MTkwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDNEM1MTUw
RUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlRWxlbWVudC5oICovOyB9OwotCQkwOEM0QzUxQTBF
RjE5QTQwMDBFNDg0MEYgLyogV01MSW1hZ2VMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDNEM1MTYwRUYxOUE0MDAwRTQ4NDBGIC8qIFdN
TEltYWdlTG9hZGVyLmNwcCAqLzsgfTsKLQkJMDhDNEM1MUIwRUYxOUE0MDAwRTQ4NDBGIC8qIFdN
TEltYWdlTG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwOEM0QzUxNzBFRjE5QTQwMDBFNDg0MEYgLyogV01MSW1hZ2VMb2FkZXIuaCAqLzsgfTsK
IAkJMDhDNzEzNkUxMjg5NTZBMzAwMUIxMDdFIC8qIFNWR1RyYW5zZm9ybUxpc3RQcm9wZXJ0eVRl
YXJPZmYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4
QzcxMzZEMTI4OTU2QTMwMDFCMTA3RSAvKiBTVkdUcmFuc2Zvcm1MaXN0UHJvcGVydHlUZWFyT2Zm
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDhD
N0EyQzcxMERDNzQ2MjAwMkQzNjhCIC8qIFNWR05hbWVzLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTY1ODFFOTA5RDE1MDhE
MDAwRTYxRDcgLyogU1ZHTmFtZXMuaCAqLzsgfTsKIAkJMDhDODU5QzAxMjc0NTc1NDAwQTU3MjhE
IC8qIFNWR0FuaW1hdGVkUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDhDODU5QkYxMjc0NTc1MzAwQTU3MjhEIC8qIFNWR0FuaW1hdGVkUmVjdC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4Qzky
NTE5MEZDQzdDNEEwMDQ4MERFQyAvKiBGaWx0ZXJFZmZlY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDOTI1MTcwRkNDN0M0QTAwNDgwREVDIC8q
IEZpbHRlckVmZmVjdC5jcHAgKi87IH07CiAJCTA4QzkyNTFBMEZDQzdDNEEwMDQ4MERFQyAvKiBG
aWx0ZXJFZmZlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA4QzkyNTE4MEZDQzdDNEEwMDQ4MERFQyAvKiBGaWx0ZXJFZmZlY3QuaCAqLzsgfTsKIAkJ
MDhDQTNENDQxMjg5NEEzODAwRkZGMjYwIC8qIFNWR1N0YXRpY1Byb3BlcnR5V2l0aFBhcmVudFRl
YXJPZmYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4
Q0EzRDQzMTI4OTRBMzgwMEZGRjI2MCAvKiBTVkdTdGF0aWNQcm9wZXJ0eVdpdGhQYXJlbnRUZWFy
T2ZmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
MDhDRDYxQkMwRUQzOTI5QzAwMkRERjUxIC8qIFdNTFRhc2tFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4Q0Q2MUI4MEVEMzkyOUMwMDJE
REY1MSAvKiBXTUxUYXNrRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4Q0Q2MUJEMEVEMzkyOUMwMDJE
REY1MSAvKiBXTUxUYXNrRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDhDRDYxQjkwRUQzOTI5QzAwMkRERjUxIC8qIFdNTFRhc2tFbGVtZW50
LmggKi87IH07CiAJCTA4RDQ2Q0UzMTI3QUQ1RkMwMDg5Njk0QiAvKiBTVkdBbmltYXRlZEVudW1l
cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
OEQ0NkNFMjEyN0FENUZDMDA4OTY5NEIgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTA4RTE5MjUzMEVE
RTBDM0EwMDg3Qjc4MCAvKiBXTUxFcnJvckhhbmRsaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4RTE5MjUxMEVERTBDMzkwMDg3Qjc4MCAvKiBX
TUxFcnJvckhhbmRsaW5nLmNwcCAqLzsgfTsKLQkJMDhFMTkyNTQwRURFMEMzQTAwODdCNzgwIC8q
IFdNTEVycm9ySGFuZGxpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA4RTE5MjUyMEVERTBDM0EwMDg3Qjc4MCAvKiBXTUxFcnJvckhhbmRsaW5nLmgg
Ki87IH07CiAJCTA4RTRGRTQ2MEUyQkQ0MTQwMEY0Q0FFMCAvKiBKU1NWR0xlbmd0aEN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEU0RkU0
NTBFMkJENDE0MDBGNENBRTAgLyogSlNTVkdMZW5ndGhDdXN0b20uY3BwICovOyB9OwotCQkwOEU2
QTJFODBFRUUwMzUyMDBBQzEyMDYgLyogV01MUG9zdGZpZWxkRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEU2QTJFNjBFRUUwMzUyMDBB
QzEyMDYgLyogV01MUG9zdGZpZWxkRWxlbWVudC5jcHAgKi87IH07Ci0JCTA4RTZBMkU5MEVFRTAz
NTIwMEFDMTIwNiAvKiBXTUxQb3N0ZmllbGRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEU2QTJFNzBFRUUwMzUyMDBBQzEyMDYgLyogV01M
UG9zdGZpZWxkRWxlbWVudC5oICovOyB9OwotCQkwOEU2RTBGMTBFRkY0MkJBMDAwMjlGQkYgLyog
V01MRmllbGRTZXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA4RTZFMEVGMEVGRjQyQkEwMDAyOUZCRiAvKiBXTUxGaWVsZFNldEVsZW1l
bnQuY3BwICovOyB9OwotCQkwOEU2RTBGMjBFRkY0MkJBMDAwMjlGQkYgLyogV01MRmllbGRTZXRF
bGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
OEU2RTBGMDBFRkY0MkJBMDAwMjlGQkYgLyogV01MRmllbGRTZXRFbGVtZW50LmggKi87IH07CiAJ
CTA4RURFMTlGMTJBNTBCOEUwMEI5NTc5NyAvKiBTVkdSZWN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEVERTE5RTEyQTUwQjhFMDBCOTU3OTcgLyog
U1ZHUmVjdC5oICovOyB9OwogCQkwOEYwQkZDMzEyNTVDNTNDMDAwNzUxODUgLyogU1ZHVGV4dENo
dW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEYw
QkZCRTEyNTVDNTNDMDAwNzUxODUgLyogU1ZHVGV4dENodW5rLmggKi87IH07CiAJCTA4RjBCRkM0
MTI1NUM1M0MwMDA3NTE4NSAvKiBTVkdUZXh0RnJhZ21lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4RjBCRkJGMTI1NUM1M0MwMDA3NTE4NSAvKiBT
VkdUZXh0RnJhZ21lbnQuaCAqLzsgfTsKQEAgLTY0NzQsMjEgKzYzOTgsMTEgQEAKIAkJMDc5RjVF
NEIwRjNCRUJFQTAwNUUwNzgyIC8qIE1lZGlhUGxheWVyUHJpdmF0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVBsYXllclByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMDdBRkU1OTAwRjE0NDZCRDAwODQxNjE3IC8qIG1lZGlhQ29udHJvbHNR
dWlja1RpbWUuY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBhdGggPSBtZWRpYUNvbnRyb2xzUXVp
Y2tUaW1lLmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDdCMDExM0UxMDMyMjQy
MjAwRkJEQzMzIC8qIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4MDA4MTk0MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxBbmNo
b3JFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTEFu
Y2hvckVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODAwODE5NTBF
RDNCMkREMDBDNTNCQzAgLyogV01MQW5jaG9yRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXTUxBbmNob3JFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTA4MDRCRjZDMEVFMDlDM0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MRG9FbGVtZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDgwNEJGNkQwRUUwOUMzQjAwMDZDMDAwIC8qIFdNTERv
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxEb0VsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgwNkU1NzkxMjg5MzA0NTAwN0NFRDMy
IC8qIFNWR01hdHJpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdNYXRy
aXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDgwQUVDN0QwRUQ4NzA4QTAwREY0
Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdNTEludHJpbnNpY0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJMDgwQUVDN0UwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEludHJpbnNpY0V2ZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4MEFFQzdGMEVEODcwOEIwMERGNENDRSAvKiBXTUxJ
bnRyaW5zaWNFdmVudEhhbmRsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJMDgwQUVDODAwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50SGFu
ZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxJbnRyaW5zaWNFdmVu
dEhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgwRTQ5MjExMjU1RjNC
RDAwRUZDQTI3IC8qIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODBFNDkyMjEyNTVGM0JEMDBFRkNBMjcg
LyogU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwODBFNDkyMzEyNTVGM0JEMDBFRkNBMjcgLyogU1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZH
VGV4dExheW91dEVuZ2luZVNwYWNpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwODBFNDkyNDEyNTVGM0JEMDBFRkNBMjcgLyogU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHVGV4dExheW91dEVuZ2luZVNw
YWNpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDgwRkFFMTgwRUVFQkRBODAw
QUFDREU5IC8qIFdNTFRlbXBsYXRlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXTUxUZW1wbGF0ZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkwODBGQUUxOTBFRUVCREE4MDBBQUNERTkgLyogV01MVGVtcGxhdGVFbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTFRlbXBsYXRlRWxlbWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODEwNzY0MzEyODI4NTU2MDA3QzYzQkEg
LyogU1ZHTGlzdFByb3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R0xpc3RQcm9wZXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODEwOTNEOTEy
NTVGMEU3MDBFRDlEMjkgLyogU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVz
QnVpbGRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4MTA5M0RBMTI1NUYw
RTcwMEVEOUQyOSAvKiBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NDk3LDE4ICs2NDExLDEwIEBACiAJCTA4
MTY2OEQyMTI1NjAzQkYwMDZGMjVERSAvKiBTVkdUZXh0Q2h1bmtCdWlsZGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1RleHRDaHVua0J1aWxkZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgxNjY4RDcxMjU2MDNENTAwNkYyNURFIC8qIFNWR1RleHRM
YXlvdXRFbmdpbmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZH
VGV4dExheW91dEVuZ2luZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4MTY2
OEQ4MTI1NjAzRDUwMDZGMjVERSAvKiBTVkdUZXh0TGF5b3V0RW5naW5lLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1RleHRMYXlvdXRFbmdpbmUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMDgxOEFFRTAwRURCODZCQzAwNjQ3QjY2IC8qIFdNTEV2ZW50SGFu
ZGxpbmdFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdN
TEV2ZW50SGFuZGxpbmdFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
MDgxOEFFRTEwRURCODZCQzAwNjQ3QjY2IC8qIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4MUFBOEQ5MTExMTIzN0UwMDJBQjA2RSAv
KiBTVkdFbGVtZW50UmFyZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U1ZHRWxlbWVudFJhcmVEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4MUNE
RkJFMTI2RUNGRTgwMEQyMTVDQSAvKiBTVkdBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkUHJvcGVydHlTeW5j
aHJvbml6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDgxRDgxMkYwRUUwRTc0
RDAwRDczNjg5IC8qIFdNTFRpbWVyRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXTUxUaW1lckVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQkwODFEODEzMDBFRTBFNzREMDBENzM2ODkgLyogV01MVGltZXJFbGVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTFRpbWVyRWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwODFFQkYzODBGRDM0RjQxMDBEQTc1NTkgLyogU1ZHRmls
dGVyQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdG
aWx0ZXJCdWlsZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgxRUJGMzkw
RkQzNEY0MTAwREE3NTU5IC8qIFNWR0ZpbHRlckJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU1ZHRmlsdGVyQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQkwODIwM0E5RDBFRDhDMzUzMDBCOEI2MUEgLyogV01MQWNjZXNzRWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxBY2Nlc3NFbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDgyMDNBOUUwRUQ4QzM1MzAwQjhCNjFB
IC8qIFdNTEFjY2Vzc0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V01MQWNjZXNzRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODIzNDFD
MzBGQ0YzQTk0MDBENzVCRDYgLyogV01MU2VsZWN0RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxTZWxlY3RFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMDgyMzQxQzQwRkNGM0E5NDAwRDc1QkQ2IC8qIFdNTFNlbGVjdEVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MU2VsZWN0RWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODIzRDE1ODEyN0FENkFDMDAwRUJD
OTUgLyogU1ZHQW5pbWF0ZWRJbnRlZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNWR0FuaW1hdGVkSW50ZWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
ODI1MDkzODEyOEJENEQ4MDBFMkVEOEUgLyogU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODJERTQyQzEyOTI2MjE2MDBEOTIzREYg
LyogU1ZHUGF0aFNlZ1dpdGhDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNWR1BhdGhTZWdXaXRoQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNjUyMCwxMyArNjQyNiw3IEBACiAJCTA4NEEwODI4MTI4RDc4NjcwMDJEQjFGMSAvKiBTVkdQ
YXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTVkdQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwODRBRUJFMjBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZWxlY3RFbGVtZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QUVCRTMwRkI1MDVGQTAwMzg0ODNFIC8q
IFNlbGVjdEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VsZWN0
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODRDRTVDNzBGMjdEQURD
MDBFNjI0MEUgLyogV01MT3B0R3JvdXBFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdNTE9wdEdyb3VwRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTA4NENFNUM4MEYyN0RBREMwMEU2MjQwRSAvKiBXTUxPcHRHcm91cEVsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MT3B0R3JvdXBFbGVtZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4NENFNUM5MEYyN0RBREMwMEU2MjQw
RSAvKiBXTUxPcHRpb25FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdNTE9wdGlvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkwODRDRTVDQTBGMjdEQURDMDBFNjI0MEUgLyogV01MT3B0aW9uRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxPcHRpb25FbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA4NERCNTlBMTI4MDA4Q0MwMDJBNkQ2NCAvKiBTVkdBbmltYXRl
ZFN0cmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRlZFN0
cmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODREQkE5RDBFRDM5RDM1MDAz
OEMyMjYgLyogV01MVmFyaWFibGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdNTFZhcmlhYmxlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4
NERCQTlFMEVEMzlEMzYwMDM4QzIyNiAvKiBXTUxWYXJpYWJsZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV01MVmFyaWFibGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTA4NTI1RTYyMTI3OEMwMDEwMEE4NDc3OCAvKiBTVkdBbmltYXRlZFN0YXRpY1Byb3Bl
cnR5VGVhck9mZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRl
ZFN0YXRpY1Byb3BlcnR5VGVhck9mZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
ODU0QjAwMjEyNTVFNEU2MDBCOUNERDAgLyogUmVuZGVyU1ZHSW5saW5lLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR0lubGluZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NTRCMDAzMTI1NUU0RTYwMEI5Q0REMCAvKiBSZW5kZXJT
VkdJbmxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHSW5s
aW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTQ5LDE0ICs2NDQ5LDEwIEBA
CiAJCTA4NTc5NzA4MTI3ODM5NEMwMEE4RUM1RiAvKiBTVkdBbmltYXRlZEJvb2xlYW4uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRCb29sZWFuLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NTkxQUE0MEYwODVDNEUwMDlCQUNCMSAvKiBJbnB1
dEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5wdXRFbGVtZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NUExNTkyMTI4OUE4REQwMDI3MTBF
MyAvKiBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3RQcm9wZXJ0eVRlYXJPZmYuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0UHJvcGVydHlU
ZWFyT2ZmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4NUFGREM2MEYyOTc3MzUw
MDYxRjJCMyAvKiBXTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV01MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMDg1QUZEQzcwRjI5NzczNTAwNjFGMkIzIC8qIFdNTEZvcm1Db250
cm9sRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxGb3JtQ29u
dHJvbEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg1QjkyQjgwRUZE
RTczRDAwRTYxMjNDIC8qIEZvcm1EYXRhQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBGb3JtRGF0YUJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwODVCOTJCOTBFRkRFNzNEMDBFNjEyM0MgLyogRm9ybURhdGFCdWlsZGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvcm1EYXRhQnVpbGRlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODY0MUQ0NTEyMTQyRjdEMDA4REU5RjYgLyogUmVu
ZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwODY0MUQ0NjEyMTQyRjdEMDA4REU5RjYgLyogUmVuZGVySW1h
Z2VSZXNvdXJjZVN0eWxlSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJMDg2NUNDRTQwRURERjUxQjAwREY5RUMzIC8qIFdNTE5vb3BFbGVtZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTE5vb3BFbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDg2NUNDRTUwRURERjUxQjAwREY5RUMzIC8qIFdN
TE5vb3BFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTE5vb3BF
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NkJCRDBFMTM2MDM5QzIw
MDhCMTVEOCAvKiBHbHlwaC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHbHlw
aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODcwMEJFNjBGMDg2QzUzMDA5MTk0
MTkgLyogSW5wdXRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IElucHV0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NzI4
MTUxMEYyNkI5QjYwMEFGQzU5NiAvKiBPcHRpb25FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9wdGlvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNjU2NCwyNiArNjQ2MCwxMCBAQAogCQkwODcyODE1MzBGMjZCOUI2MDBB
RkM1OTYgLyogT3B0aW9uR3JvdXBFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE9wdGlvbkdyb3VwRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA4NzI4MTU0MEYyNkI5QjYwMEFGQzU5NiAvKiBPcHRpb25Hcm91cEVsZW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3B0aW9uR3JvdXBFbGVtZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NzNCODZBMTM2MDY0RUEwMEE1MjJDMiAv
KiBHbHlwaFBhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2x5cGhQYWdl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4NzQ0QkE5MEVEQjdEODYwMDRDOUU2
MyAvKiBXTUxPbkV2ZW50RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXTUxPbkV2ZW50RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTA4NzQ0QkFEMEVEQjdEOTIwMDRDOUU2MyAvKiBXTUxPbkV2ZW50RWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxPbkV2ZW50RWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwODdCODQ5NTEyNzJDRUM3MDBBMTQ0MTcgLyogU1ZHQW5p
bWF0ZWRBbmdsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRl
ZEFuZ2xlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4N0UwQUY0MTM2MDZEMEIw
MEZBNEJBOCAvKiBTVkdHbHlwaC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTVkdHbHlwaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4N0UwQUY1
MTM2MDZEMEIwMEZBNEJBOCAvKiBTVkdHbHlwaC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTVkdHbHlwaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODdGRkEw
RDBFRkYzRUQzMDA5REJEODggLyogV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTEluc2VydGVkTGVnZW5kRWxlbWVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4N0ZGQTBFMEVGRjNFRDMwMDlEQkQ4
OCAvKiBXTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTA4ODA3QjZBMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxHb0VsZW1lbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MR29FbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDg4MDdCNkIwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdN
TEdvRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxHb0VsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDg4MDdCNzAwRUQ3MDlBQjAwM0Y2
OTc1IC8qIFdNTFByZXZFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdNTFByZXZFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
MDg4MDdCNzEwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTFByZXZFbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTFByZXZFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTA4ODA3QjcyMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxSZWZyZXNoRWxlbWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxSZWZyZXNoRWxl
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4ODA3QjczMEVENzA5QUIw
MDNGNjk3NSAvKiBXTUxSZWZyZXNoRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXTUxSZWZyZXNoRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkwODgwN0I3NDBFRDcwOUFCMDAzRjY5NzUgLyogV01MU2V0dmFyRWxlbWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxTZXR2YXJFbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDg4MDdCNzUwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdN
TFNldHZhckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MU2V0
dmFyRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODgwRjcwRDEyODJC
NDZEMDA5NDg1MDUgLyogU1ZHU3RhdGljTGlzdFByb3BlcnR5VGVhck9mZi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdTdGF0aWNMaXN0UHJvcGVydHlUZWFyT2ZmLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4ODIwQkRDMEVGNUQzODEwMDkwOTlBOCAvKiBX
TUxUYWJsZUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V01MVGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDg4MjBC
REQwRUY1RDM4MTAwOTA5OUE4IC8qIFdNTFRhYmxlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXTUxUYWJsZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJMDg4NDUxMTMwRjI2N0I2MjAwN0YxMzlFIC8qIFdNTElucHV0RWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxJbnB1dEVsZW1lbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODg0NTExNDBGMjY3QjYzMDA3RjEzOUUg
LyogV01MSW5wdXRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdN
TElucHV0RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODg1MDY3RDEx
REEwNDVCMDAxODJCOTggLyogUGFpbnRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBhaW50SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODg1MDY3
RTExREEwNDVCMDAxODJCOTggLyogUGFpbnRQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQYWludFBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4
OEEwREZCMTI2RUYxREIwMDk3OEY3QSAvKiBTVkdBbmltYXRlZExpc3RQcm9wZXJ0eVRlYXJPZmYu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRMaXN0UHJvcGVy
dHlUZWFyT2ZmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTk5LDE0ICs2NDc5
LDggQEAKIAkJMDg4QzJGNzYxMjM5MDA4MDAwM0Q2NUNFIC8qIFNWR1RleHRMYXlvdXRBdHRyaWJ1
dGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1RleHRMYXlvdXRBdHRy
aWJ1dGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4OTAyMUE4MTI2RUY1REUw
MDkyRDVFQSAvKiBTVkdBbmltYXRlZExlbmd0aC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTVkdBbmltYXRlZExlbmd0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwODkwMjFBQzEyNkVGNUU5MDA5MkQ1RUEgLyogU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkTGVuZ3RoTGlzdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODkzRTQ2NTBFQ0I2OEY0MDBBMjg1NjMgLyog
V01MUGFnZVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdN
TFBhZ2VTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4OTNFNDY2MEVD
QjY4RjQwMEEyODU2MyAvKiBXTUxQYWdlU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV01MUGFnZVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4
OTU4MjUzMEU4NTdBN0UwMEY4MkM4MyAvKiBJbWFnZUxvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZUxvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA4OTU4MjU0MEU4NTdBN0UwMEY4MkM4MyAvKiBJbWFnZUxvYWRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUxvYWRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQkwODk3QzE0QTBFRDJFQkE0MDBBRTA2REIgLyogV01MQlJFbGVt
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTEJSRWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4OTdDMTRCMEVEMkVCQTQwMEFF
MDZEQiAvKiBXTUxCUkVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V01MQlJFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4OTdEOTc4MEYw
MDdBNDYwMDQxMUJCMyAvKiBXTUxNZXRhRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXTUxNZXRhRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTA4OTdEOTc5MEYwMDdBNDYwMDQxMUJCMyAvKiBXTUxNZXRhRWxlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxNZXRhRWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwODlBOEUwNjEyOEQ4QjNEMDBFN0E1MzQgLyogU1ZHQW5p
bWF0ZWRQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdBbmltYXRlZFBhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4OUYwRDUwMTMxNkNFOTMwMDU4NzdBRCAvKiBDU1NN
dXRhYmxlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTTXV0YWJs
ZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4QTQ4NDc1MEU1MjcyQzUw
MEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNjcmlwdEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNjYxNCwyNSArNjQ4OCwxMyBAQAogCQkwOEE0OEE2RDBFODZDRjZEMDBFMjI1REQgLyogSlNT
VkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwOEIzNUIxMjEyN0I2QTdDMDA1MzE0REQgLyogU1ZHQW5pbWF0ZWROdW1i
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWROdW1iZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhCMzVCMTYxMjdCNkE4ODAwNTMxNERE
IC8qIFNWR0FuaW1hdGVkTnVtYmVyTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTVkdBbmltYXRlZE51bWJlckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJMDhDNEM1MTQwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlRWxlbWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxJbWFnZUVsZW1lbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwOEM0QzUxNTBFRjE5QTQwMDBFNDg0MEYgLyogV01M
SW1hZ2VFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEltYWdl
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwOEM0QzUxNjBFRjE5QTQw
MDBFNDg0MEYgLyogV01MSW1hZ2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV01MSW1hZ2VMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQkwOEM0QzUxNzBFRjE5QTQwMDBFNDg0MEYgLyogV01MSW1hZ2VMb2FkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MSW1hZ2VMb2FkZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMDhDNzEzNkQxMjg5NTZBMzAwMUIxMDdFIC8qIFNWR1RyYW5zZm9y
bUxpc3RQcm9wZXJ0eVRlYXJPZmYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U1ZHVHJhbnNmb3JtTGlzdFByb3BlcnR5VGVhck9mZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwOEM4NTlCRjEyNzQ1NzUzMDBBNTcyOEQgLyogU1ZHQW5pbWF0ZWRSZWN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkUmVjdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwOEM5MjUxNzBGQ0M3QzRBMDA0ODBERUMgLyogRmlsdGVy
RWZmZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZpbHRlckVm
ZmVjdC5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZpbHRlckVmZmVjdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTA4QzkyNTE4MEZDQzdDNEEwMDQ4MERFQyAvKiBGaWx0ZXJFZmZlY3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRmlsdGVyRWZmZWN0Lmg7IHBhdGgg
PSBmaWx0ZXJzL0ZpbHRlckVmZmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
OENBM0Q0MzEyODk0QTM4MDBGRkYyNjAgLyogU1ZHU3RhdGljUHJvcGVydHlXaXRoUGFyZW50VGVh
ck9mZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdTdGF0aWNQcm9wZXJ0
eVdpdGhQYXJlbnRUZWFyT2ZmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4Q0Q2
MUI4MEVEMzkyOUMwMDJEREY1MSAvKiBXTUxUYXNrRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxUYXNrRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTA4Q0Q2MUI5MEVEMzkyOUMwMDJEREY1MSAvKiBXTUxUYXNrRWxlbWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxUYXNrRWxlbWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwOEQ0NkNFMjEyN0FENUZDMDA4OTY5NEIgLyog
U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTVkdBbmltYXRlZEVudW1lcmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTA4RTE5MjUxMEVERTBDMzkwMDg3Qjc4MCAvKiBXTUxFcnJvckhhbmRsaW5nLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTEVycm9ySGFuZGxpbmcuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwOEUxOTI1MjBFREUwQzNBMDA4N0I3ODAgLyogV01M
RXJyb3JIYW5kbGluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxFcnJv
ckhhbmRsaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4RTRGRTQ1MEUyQkQ0
MTQwMEY0Q0FFMCAvKiBKU1NWR0xlbmd0aEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1NWR0xlbmd0aEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTA4RTZBMkU2MEVFRTAzNTIwMEFDMTIwNiAvKiBXTUxQb3N0ZmllbGRFbGVt
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTFBvc3RmaWVs
ZEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwOEU2QTJFNzBFRUUw
MzUyMDBBQzEyMDYgLyogV01MUG9zdGZpZWxkRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXTUxQb3N0ZmllbGRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTA4RTZFMEVGMEVGRjQyQkEwMDAyOUZCRiAvKiBXTUxGaWVsZFNldEVsZW1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MRmllbGRTZXRFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDhFNkUwRjAwRUZGNDJCQTAw
MDI5RkJGIC8qIFdNTEZpZWxkU2V0RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXTUxGaWVsZFNldEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDhFREUxOUUxMkE1MEI4RTAwQjk1Nzk3IC8qIFNWR1JlY3QuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU1ZHUmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwOEYwQkZCRDEyNTVDNTNDMDAwNzUxODUgLyogU1ZHVGV4dENodW5rLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1RleHRDaHVuay5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA4RjBCRkJFMTI1NUM1M0MwMDA3NTE4NSAvKiBTVkdUZXh0Q2h1
bmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHVGV4dENodW5rLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NjQxLDggKzY1MDMsNiBAQAogCQkwOEYwQkZD
MTEyNTVDNTNDMDAwNzUxODUgLyogU1ZHVGV4dE1ldHJpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU1ZHVGV4dE1ldHJpY3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMDhGMkYwMDcxMjEzRTYxNzAwRENFQzQ4IC8qIFJlbmRlckltYWdlUmVzb3VyY2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVySW1hZ2VSZXNvdXJj
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4RjJGMDA4MTIxM0U2MTcwMERD
RUM0OCAvKiBSZW5kZXJJbWFnZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJlbmRlckltYWdlUmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJMDhGQjg0QjAwRUNFMzczMzAwREMwNjRFIC8qIFdNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTEVsZW1lbnRGYWN0b3J5LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDhGQjg0QjEwRUNFMzczMzAwREMwNjRFIC8q
IFdNTEVsZW1lbnRGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdN
TEVsZW1lbnRGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4RkUwQkM0
MTI3RTJBQzEwMDBDNEZCNSAvKiBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJh
dGlvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4RkYxMDFGMTI5NTBGNTkwMEYw
MDI3NiAvKiBTVkdQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBBNDg0NDk4MENBNDRDQjIwMEI3QkQ0OCAv
KiBTb2Z0TGlua2luZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb2Z0TGlu
a2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzgxNCwyMSArNzY3NCw2IEBA
CiAJCTRCNkZBNkY2MEMzOUU0QTEwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2VDRi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTbWFydFJlcGxhY2VDRi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCOEFGNEE5MEIxQ0UwMkIwMDY4NzY5MCAvKiBDbGlw
Ym9hcmRBY2Nlc3NQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENs
aXBib2FyZEFjY2Vzc1BvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QkFF
OTVCMDBCMkZBOUNFMDBBRUQ4QTAgLyogRWRpdG9yRGVsZXRlQWN0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVkaXRvckRlbGV0ZUFjdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk0QzZCOTkxODBFNTJFMzczMDA0ODdCQjcgLyogV01MQUVsZW1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTEFFbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNEM2Qjk5MTkwRTUyRTM3MzAwNDg3QkI3
IC8qIFdNTEFFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxB
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0QzZCOTkxQzBFNTJFMzcz
MDA0ODdCQjcgLyogV01MQXR0cmlidXRlTmFtZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFdNTEF0dHJpYnV0ZU5hbWVzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0QzZC
OTkxRjBFNTJFMzczMDA0ODdCQjcgLyogV01MQ2FyZEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTENhcmRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNEM2Qjk5MjAwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTENhcmRFbGVt
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxDYXJkRWxlbWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0QzZCOTkyMTBFNTJFMzczMDA0ODdCQjcg
LyogV01MRG9jdW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdNTERvY3VtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNEM2Qjk5MjIw
RTUyRTM3MzAwNDg3QkI3IC8qIFdNTERvY3VtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXTUxEb2N1bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0
QzZCOTkyNTBFNTJFMzczMDA0ODdCQjcgLyogV01MRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTRDNkI5OTI2MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxFbGVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxFbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTRDNkI5OTM1MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxQRWxlbWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MUEVsZW1lbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0QzZCOTkzNjBFNTJFMzczMDA0ODdC
QjcgLyogV01MUEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdN
TFBFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRDNkI5OTQzMEU1MkUz
NzMwMDQ4N0JCNyAvKiBXTUxUYWdOYW1lcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV01M
VGFnTmFtZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRDQTNBQjQ4MEU1NTZG
MjQwMEU5QzBDMCAvKiBXTUxOYW1lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV01MTmFtZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNENBM0FCNDkwRTU1
NkYyNDAwRTlDMEMwIC8qIFdNTE5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXTUxOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRD
REU1NEVDMEU1NTc5NzgwMDg5RTI2QyAvKiB3bWwuY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSB3bWwuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RTE5NTkxRjBBMzlEQUJB
MDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1lZGlhRmVhdHVyZU5hbWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNEUxOTU5MjAwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUZlYXR1cmVOYW1lcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RTE5NTkyMzBBMzlEQUNDMDAyMjBGRTUg
LyogTWVkaWFRdWVyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TWVkaWFRdWVyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjY5Niw3ICsx
MjU0MSw2IEBACiAJCQkJQjIyMjc3Q0EwRDAwQkYxRTAwNzFCNzgyIC8qIHN2ZyAqLywKIAkJCQlG
RDMxNUZBMjEyQjAyNUIxMDBDMUEzNTkgLyogd2ViYXVkaW8gKi8sCiAJCQkJNTE4QTM0QkQxMDI2
QzgzMTAwMUI2ODk2IC8qIHdlYnNvY2tldHMgKi8sCi0JCQkJNEM2Qjk5MTUwRTUyRTM3MzAwNDg3
QkI3IC8qIHdtbCAqLywKIAkJCQkyRTQzNDYzMTBGNTQ2QTY4MDBCMEYxQkEgLyogd29ya2VycyAq
LywKIAkJCQlFMUYwNDI0MzA5ODM5Mzg5MDA2Njk0RUEgLyogeG1sICovLAogCQkJCTY1NjU4MEVD
MDlEMTJCMjAwMDBFNjFENyAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCkBAIC0xMzgwOSw4NyArMTM2
NTMsNiBAQAogCQkJbmFtZSA9IGFuaW1hdGlvbjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CiAJCX07Ci0JCTRDNkI5OTE1MEU1MkUzNzMwMDQ4N0JCNyAvKiB3bWwgKi8gPSB7Ci0JCQlpc2Eg
PSBQQlhHcm91cDsKLQkJCWNoaWxkcmVuID0gKAotCQkJCTA4MjAzQTlEMEVEOEMzNTMwMEI4QjYx
QSAvKiBXTUxBY2Nlc3NFbGVtZW50LmNwcCAqLywKLQkJCQkwODIwM0E5RTBFRDhDMzUzMDBCOEI2
MUEgLyogV01MQWNjZXNzRWxlbWVudC5oICovLAotCQkJCTRDNkI5OTE4MEU1MkUzNzMwMDQ4N0JC
NyAvKiBXTUxBRWxlbWVudC5jcHAgKi8sCi0JCQkJNEM2Qjk5MTkwRTUyRTM3MzAwNDg3QkI3IC8q
IFdNTEFFbGVtZW50LmggKi8sCi0JCQkJMDgwMDgxOTQwRUQzQjJERDAwQzUzQkMwIC8qIFdNTEFu
Y2hvckVsZW1lbnQuY3BwICovLAotCQkJCTA4MDA4MTk1MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxB
bmNob3JFbGVtZW50LmggKi8sCi0JCQkJNEM2Qjk5MUMwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTEF0
dHJpYnV0ZU5hbWVzLmluICovLAotCQkJCTA4OTdDMTRBMEVEMkVCQTQwMEFFMDZEQiAvKiBXTUxC
UkVsZW1lbnQuY3BwICovLAotCQkJCTA4OTdDMTRCMEVEMkVCQTQwMEFFMDZEQiAvKiBXTUxCUkVs
ZW1lbnQuaCAqLywKLQkJCQk0QzZCOTkxRjBFNTJFMzczMDA0ODdCQjcgLyogV01MQ2FyZEVsZW1l
bnQuY3BwICovLAotCQkJCTRDNkI5OTIwMEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxDYXJkRWxlbWVu
dC5oICovLAotCQkJCTRDNkI5OTIxMEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxEb2N1bWVudC5jcHAg
Ki8sCi0JCQkJNEM2Qjk5MjIwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTERvY3VtZW50LmggKi8sCi0J
CQkJMDgwNEJGNkMwRUUwOUMzQjAwMDZDMDAwIC8qIFdNTERvRWxlbWVudC5jcHAgKi8sCi0JCQkJ
MDgwNEJGNkQwRUUwOUMzQjAwMDZDMDAwIC8qIFdNTERvRWxlbWVudC5oICovLAotCQkJCTRDNkI5
OTI1MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxFbGVtZW50LmNwcCAqLywKLQkJCQk0QzZCOTkyNjBF
NTJFMzczMDA0ODdCQjcgLyogV01MRWxlbWVudC5oICovLAotCQkJCTA4RTE5MjUxMEVERTBDMzkw
MDg3Qjc4MCAvKiBXTUxFcnJvckhhbmRsaW5nLmNwcCAqLywKLQkJCQkwOEUxOTI1MjBFREUwQzNB
MDA4N0I3ODAgLyogV01MRXJyb3JIYW5kbGluZy5oICovLAotCQkJCTA4MThBRUUwMEVEQjg2QkMw
MDY0N0I2NiAvKiBXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5jcHAgKi8sCi0JCQkJMDgxOEFFRTEw
RURCODZCQzAwNjQ3QjY2IC8qIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmggKi8sCi0JCQkJMDhF
NkUwRUYwRUZGNDJCQTAwMDI5RkJGIC8qIFdNTEZpZWxkU2V0RWxlbWVudC5jcHAgKi8sCi0JCQkJ
MDhFNkUwRjAwRUZGNDJCQTAwMDI5RkJGIC8qIFdNTEZpZWxkU2V0RWxlbWVudC5oICovLAotCQkJ
CTA4NUFGREM2MEYyOTc3MzUwMDYxRjJCMyAvKiBXTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwICov
LAotCQkJCTA4NUFGREM3MEYyOTc3MzUwMDYxRjJCMyAvKiBXTUxGb3JtQ29udHJvbEVsZW1lbnQu
aCAqLywKLQkJCQkwODgwN0I2QTBFRDcwOUFCMDAzRjY5NzUgLyogV01MR29FbGVtZW50LmNwcCAq
LywKLQkJCQkwODgwN0I2QjBFRDcwOUFCMDAzRjY5NzUgLyogV01MR29FbGVtZW50LmggKi8sCi0J
CQkJMDhDNEM1MTQwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlRWxlbWVudC5jcHAgKi8sCi0J
CQkJMDhDNEM1MTUwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlRWxlbWVudC5oICovLAotCQkJ
CTA4QzRDNTE2MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUxvYWRlci5jcHAgKi8sCi0JCQkJ
MDhDNEM1MTcwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlTG9hZGVyLmggKi8sCi0JCQkJMDg4
NDUxMTMwRjI2N0I2MjAwN0YxMzlFIC8qIFdNTElucHV0RWxlbWVudC5jcHAgKi8sCi0JCQkJMDg4
NDUxMTQwRjI2N0I2MzAwN0YxMzlFIC8qIFdNTElucHV0RWxlbWVudC5oICovLAotCQkJCTA4N0ZG
QTBEMEVGRjNFRDMwMDlEQkQ4OCAvKiBXTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQuY3BwICovLAot
CQkJCTA4N0ZGQTBFMEVGRjNFRDMwMDlEQkQ4OCAvKiBXTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQu
aCAqLywKLQkJCQkwODBBRUM3RDBFRDg3MDhBMDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnQu
Y3BwICovLAotCQkJCTA4MEFFQzdFMEVEODcwOEIwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNFdmVu
dC5oICovLAotCQkJCTA4MEFFQzdGMEVEODcwOEIwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNFdmVu
dEhhbmRsZXIuY3BwICovLAotCQkJCTA4MEFFQzgwMEVEODcwOEIwMERGNENDRSAvKiBXTUxJbnRy
aW5zaWNFdmVudEhhbmRsZXIuaCAqLywKLQkJCQkwODk3RDk3ODBGMDA3QTQ2MDA0MTFCQjMgLyog
V01MTWV0YUVsZW1lbnQuY3BwICovLAotCQkJCTA4OTdEOTc5MEYwMDdBNDYwMDQxMUJCMyAvKiBX
TUxNZXRhRWxlbWVudC5oICovLAotCQkJCTA4NjVDQ0U0MEVEREY1MUIwMERGOUVDMyAvKiBXTUxO
b29wRWxlbWVudC5jcHAgKi8sCi0JCQkJMDg2NUNDRTUwRURERjUxQjAwREY5RUMzIC8qIFdNTE5v
b3BFbGVtZW50LmggKi8sCi0JCQkJMDg3NDRCQTkwRURCN0Q4NjAwNEM5RTYzIC8qIFdNTE9uRXZl
bnRFbGVtZW50LmNwcCAqLywKLQkJCQkwODc0NEJBRDBFREI3RDkyMDA0QzlFNjMgLyogV01MT25F
dmVudEVsZW1lbnQuaCAqLywKLQkJCQkwODRDRTVDNzBGMjdEQURDMDBFNjI0MEUgLyogV01MT3B0
R3JvdXBFbGVtZW50LmNwcCAqLywKLQkJCQkwODRDRTVDODBGMjdEQURDMDBFNjI0MEUgLyogV01M
T3B0R3JvdXBFbGVtZW50LmggKi8sCi0JCQkJMDg0Q0U1QzkwRjI3REFEQzAwRTYyNDBFIC8qIFdN
TE9wdGlvbkVsZW1lbnQuY3BwICovLAotCQkJCTA4NENFNUNBMEYyN0RBREMwMEU2MjQwRSAvKiBX
TUxPcHRpb25FbGVtZW50LmggKi8sCi0JCQkJMDg5M0U0NjUwRUNCNjhGNDAwQTI4NTYzIC8qIFdN
TFBhZ2VTdGF0ZS5jcHAgKi8sCi0JCQkJMDg5M0U0NjYwRUNCNjhGNDAwQTI4NTYzIC8qIFdNTFBh
Z2VTdGF0ZS5oICovLAotCQkJCTRDNkI5OTM1MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxQRWxlbWVu
dC5jcHAgKi8sCi0JCQkJNEM2Qjk5MzYwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTFBFbGVtZW50Lmgg
Ki8sCi0JCQkJMDhFNkEyRTYwRUVFMDM1MjAwQUMxMjA2IC8qIFdNTFBvc3RmaWVsZEVsZW1lbnQu
Y3BwICovLAotCQkJCTA4RTZBMkU3MEVFRTAzNTIwMEFDMTIwNiAvKiBXTUxQb3N0ZmllbGRFbGVt
ZW50LmggKi8sCi0JCQkJMDg4MDdCNzAwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTFByZXZFbGVtZW50
LmNwcCAqLywKLQkJCQkwODgwN0I3MTBFRDcwOUFCMDAzRjY5NzUgLyogV01MUHJldkVsZW1lbnQu
aCAqLywKLQkJCQkwODgwN0I3MjBFRDcwOUFCMDAzRjY5NzUgLyogV01MUmVmcmVzaEVsZW1lbnQu
Y3BwICovLAotCQkJCTA4ODA3QjczMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxSZWZyZXNoRWxlbWVu
dC5oICovLAotCQkJCTA4MjM0MUMzMEZDRjNBOTQwMEQ3NUJENiAvKiBXTUxTZWxlY3RFbGVtZW50
LmNwcCAqLywKLQkJCQkwODIzNDFDNDBGQ0YzQTk0MDBENzVCRDYgLyogV01MU2VsZWN0RWxlbWVu
dC5oICovLAotCQkJCTA4ODA3Qjc0MEVENzA5QUIwMDNGNjk3NSAvKiBXTUxTZXR2YXJFbGVtZW50
LmNwcCAqLywKLQkJCQkwODgwN0I3NTBFRDcwOUFCMDAzRjY5NzUgLyogV01MU2V0dmFyRWxlbWVu
dC5oICovLAotCQkJCTA4ODIwQkRDMEVGNUQzODEwMDkwOTlBOCAvKiBXTUxUYWJsZUVsZW1lbnQu
Y3BwICovLAotCQkJCTA4ODIwQkREMEVGNUQzODEwMDkwOTlBOCAvKiBXTUxUYWJsZUVsZW1lbnQu
aCAqLywKLQkJCQk0QzZCOTk0MzBFNTJFMzczMDA0ODdCQjcgLyogV01MVGFnTmFtZXMuaW4gKi8s
Ci0JCQkJMDhDRDYxQjgwRUQzOTI5QzAwMkRERjUxIC8qIFdNTFRhc2tFbGVtZW50LmNwcCAqLywK
LQkJCQkwOENENjFCOTBFRDM5MjlDMDAyRERGNTEgLyogV01MVGFza0VsZW1lbnQuaCAqLywKLQkJ
CQkwODBGQUUxODBFRUVCREE4MDBBQUNERTkgLyogV01MVGVtcGxhdGVFbGVtZW50LmNwcCAqLywK
LQkJCQkwODBGQUUxOTBFRUVCREE4MDBBQUNERTkgLyogV01MVGVtcGxhdGVFbGVtZW50LmggKi8s
Ci0JCQkJMDgxRDgxMkYwRUUwRTc0RDAwRDczNjg5IC8qIFdNTFRpbWVyRWxlbWVudC5jcHAgKi8s
Ci0JCQkJMDgxRDgxMzAwRUUwRTc0RDAwRDczNjg5IC8qIFdNTFRpbWVyRWxlbWVudC5oICovLAot
CQkJCTA4NERCQTlEMEVEMzlEMzUwMDM4QzIyNiAvKiBXTUxWYXJpYWJsZXMuY3BwICovLAotCQkJ
CTA4NERCQTlFMEVEMzlEMzYwMDM4QzIyNiAvKiBXTUxWYXJpYWJsZXMuaCAqLywKLQkJCSk7Ci0J
CQlwYXRoID0gd21sOwotCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJfTsKIAkJNTEyNkU2
QjYwQTJFM0FFRjAwNUMyOUZBIC8qIGljb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKApAQCAtMTQxMTAsMTAgKzEzODczLDYgQEAKIAkJCQk2NTY1ODE0QzA5RDEz
MDQzMDAwRTYxRDcgLyogdG9rZW5pemVyLmNwcCAqLywKIAkJCQk2NTY1ODFBRTA5RDE0RUU2MDAw
RTYxRDcgLyogVXNlckFnZW50U3R5bGVTaGVldHMuaCAqLywKIAkJCQk2NTY1ODFBRjA5RDE0RUU2
MDAwRTYxRDcgLyogVXNlckFnZW50U3R5bGVTaGVldHNEYXRhLmNwcCAqLywKLQkJCQkwOEZCODRC
MDBFQ0UzNzMzMDBEQzA2NEUgLyogV01MRWxlbWVudEZhY3RvcnkuY3BwICovLAotCQkJCTA4RkI4
NEIxMEVDRTM3MzMwMERDMDY0RSAvKiBXTUxFbGVtZW50RmFjdG9yeS5oICovLAotCQkJCTRDQTNB
QjQ5MEU1NTZGMjQwMEU5QzBDMCAvKiBXTUxOYW1lcy5jcHAgKi8sCi0JCQkJNENBM0FCNDgwRTU1
NkYyNDAwRTlDMEMwIC8qIFdNTE5hbWVzLmggKi8sCiAJCQkJNjU2NTgxRUEwOUQxNTA4RDAwMEU2
MUQ3IC8qIFhMaW5rTmFtZXMuY3BwICovLAogCQkJCTY1NjU4MUVCMDlEMTUwOEQwMDBFNjFENyAv
KiBYTGlua05hbWVzLmggKi8sCiAJCQkJQTgzM0M4MEEwQTJDRjI1NjAwRDU3NjY0IC8qIFhNTE5h
bWVzLmNwcCAqLywKQEAgLTE5MDk2LDcgKzE4ODU1LDYgQEAKIAkJCQlCQzlBREQ3RjBDQzQwOTIy
MDAwOThDNEMgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwICovLAogCQkJCUJDOUFERDIy
MENDNDAzMjYwMDA5OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oICovLAogCQkJCTMx
NjExRTU0MEUxQzRENEEwMEY2QTU3OSAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGwgKi8s
Ci0JCQkJNENERTU0RUMwRTU1Nzk3ODAwODlFMjZDIC8qIHdtbC5jc3MgKi8sCiAJCQkpOwogCQkJ
cGF0aCA9IGNzczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMjg3Niw0NCArMjI2
MzQsNiBAQAogCQkJCTQxMjNFNTY5MTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dFdmVudENvbnRl
eHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODI0M0U5MEQwQ0ZENzUwMDQ2MEM4RiAvKiBXaW5k
b3dGZWF0dXJlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFMUJGMDAxMTVGRjZGQjAwNkY1MkNB
IC8qIFdpbmRvd3NLZXlib2FyZENvZGVzLmggaW4gSGVhZGVycyAqLywKLQkJCQkwODIwM0FBMDBF
RDhDMzUzMDBCOEI2MUEgLyogV01MQWNjZXNzRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
MDg4Qzk3NTIwRUNCNkUyODAwMDUzNEJBIC8qIFdNTEFFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
LQkJCQkwODAwODE5NzBFRDNCMkREMDBDNTNCQzAgLyogV01MQW5jaG9yRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJMDg5N0MxNEQwRUQyRUJBNTAwQUUwNkRCIC8qIFdNTEJSRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJMDg4Qzk3NTcwRUNCNkUyODAwMDUzNEJBIC8qIFdNTENhcmRF
bGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQkwODhDOTc1OTBFQ0I2RTI4MDAwNTM0QkEgLyog
V01MRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4MDRCRjZGMEVFMDlDM0IwMDA2QzAw
MCAvKiBXTUxEb0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4OEM5NzVEMEVDQjZFMjgw
MDA1MzRCQSAvKiBXTUxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQkwODM5NDc2RDBFQ0U0
QkQ2MDAwMjczNTAgLyogV01MRWxlbWVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4
RTE5MjU0MEVERTBDM0EwMDg3Qjc4MCAvKiBXTUxFcnJvckhhbmRsaW5nLmggaW4gSGVhZGVycyAq
LywKLQkJCQkwODE4QUVFMzBFREI4NkJDMDA2NDdCNjYgLyogV01MRXZlbnRIYW5kbGluZ0VsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4RTZFMEYyMEVGRjQyQkEwMDAyOUZCRiAvKiBXTUxG
aWVsZFNldEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4NUFGREM5MEYyOTc3MzUwMDYx
RjJCMyAvKiBXTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4ODA3
Qjc3MEVENzA5QUIwMDNGNjk3NSAvKiBXTUxHb0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTA4QzRDNTE5MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTA4QzRDNTFCMEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUxvYWRlci5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJMDg4NDUxMTYwRjI2N0I2MzAwN0YxMzlFIC8qIFdNTElucHV0RWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDg3RkZBMTAwRUZGM0VEMzAwOURCRDg4IC8qIFdN
TEluc2VydGVkTGVnZW5kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDgwQUVDODIwRUQ4
NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQkw
ODBBRUM4NDBFRDg3MDhCMDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmggaW4g
SGVhZGVycyAqLywKLQkJCQkwODk3RDk3QjBGMDA3QTQ2MDA0MTFCQjMgLyogV01MTWV0YUVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4OEM5NzEzMEVDQjZEOUQwMDA1MzRCQSAvKiBXTUxO
YW1lcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDg2NUNDRTcwRURERjUxQjAwREY5RUMzIC8qIFdN
TE5vb3BFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQkwODc0NEJBRTBFREI3RDkyMDA0QzlF
NjMgLyogV01MT25FdmVudEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4NENFNUNDMEYy
N0RBREMwMEU2MjQwRSAvKiBXTUxPcHRHcm91cEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTA4NENFNUNFMEYyN0RBREMwMEU2MjQwRSAvKiBXTUxPcHRpb25FbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKLQkJCQkwODhDOTc2RDBFQ0I2RTI5MDAwNTM0QkEgLyogV01MUGFnZVN0YXRlLmggaW4g
SGVhZGVycyAqLywKLQkJCQkwODhDOTc2RjBFQ0I2RTI5MDAwNTM0QkEgLyogV01MUEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAotCQkJCTA4RTZBMkU5MEVFRTAzNTIwMEFDMTIwNiAvKiBXTUxQb3N0
ZmllbGRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQkwODgwN0I3RDBFRDcwOUFCMDAzRjY5
NzUgLyogV01MUHJldkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4ODA3QjdGMEVENzA5
QUIwMDNGNjk3NSAvKiBXTUxSZWZyZXNoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDgy
MzQxQzYwRkNGM0E5NTAwRDc1QkQ2IC8qIFdNTFNlbGVjdEVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAotCQkJCTA4ODA3QjgxMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxTZXR2YXJFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKLQkJCQkwODgyMEJERjBFRjVEMzgxMDA5MDk5QTggLyogV01MVGFibGVFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQkwOENENjFCRDBFRDM5MjlDMDAyRERGNTEgLyogV01M
VGFza0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4MEZBRTFCMEVFRUJEQTgwMEFBQ0RF
OSAvKiBXTUxUZW1wbGF0ZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4MUQ4MTMyMEVF
MEU3NEQwMEQ3MzY4OSAvKiBXTUxUaW1lckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4
NERCQUEyMEVEMzlEMzYwMDM4QzIyNiAvKiBXTUxWYXJpYWJsZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTM3OTkxOTk3MTIwMERERjQwMEVBMDQxQyAvKiBXT0ZGRmlsZUZvcm1hdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkU0MzQ2NDYwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkU0MzQ2NDkwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckNvbnRleHQuaCBp
biBIZWFkZXJzICovLApAQCAtMjU1ODIsNDQgKzI1MzAyLDYgQEAKIAkJCQk5MzlCMDJFRTBFQTJE
QkM0MDBDNTQ1NzAgLyogV2lkdGhJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTIz
RTU2QTEyN0IzMDQxMDAwRkVFQTcgLyogV2luZG93RXZlbnRDb250ZXh0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDODI0M0U4MEQwQ0ZENzUwMDQ2MEM4RiAvKiBXaW5kb3dGZWF0dXJlcy5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQkwODIwM0E5RjBFRDhDMzUzMDBCOEI2MUEgLyogV01MQWNjZXNz
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODhDOTc1MTBFQ0I2RTI4MDAwNTM0QkEg
LyogV01MQUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDgwMDgxOTYwRUQzQjJERDAw
QzUzQkMwIC8qIFdNTEFuY2hvckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDg5N0Mx
NEMwRUQyRUJBNTAwQUUwNkRCIC8qIFdNTEJSRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQkwODhDOTc1NjBFQ0I2RTI4MDAwNTM0QkEgLyogV01MQ2FyZEVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJMDg4Qzk3NTgwRUNCNkUyODAwMDUzNEJBIC8qIFdNTERvY3VtZW50LmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTA4MDRCRjZFMEVFMDlDM0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDg4Qzk3NUMwRUNCNkUyODAwMDUzNEJBIC8qIFdN
TEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDgzOTQ3NkMwRUNFNEJENjAwMDI3MzUw
IC8qIFdNTEVsZW1lbnRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4RTE5MjUzMEVE
RTBDM0EwMDg3Qjc4MCAvKiBXTUxFcnJvckhhbmRsaW5nLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CTA4MThBRUUyMEVEQjg2QkMwMDY0N0I2NiAvKiBXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQkwOEU2RTBGMTBFRkY0MkJBMDAwMjlGQkYgLyogV01MRmllbGRT
ZXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4NUFGREM4MEYyOTc3MzUwMDYxRjJC
MyAvKiBXTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDg4MDdC
NzYwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTEdvRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQkwOEM0QzUxODBFRjE5QTQwMDBFNDg0MEYgLyogV01MSW1hZ2VFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCTA4QzRDNTFBMEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUxvYWRlci5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQkwODg0NTExNTBGMjY3QjYzMDA3RjEzOUUgLyogV01MSW5w
dXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4N0ZGQTBGMEVGRjNFRDMwMDlEQkQ4
OCAvKiBXTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDgw
QUVDODEwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTA4MEFFQzgzMEVEODcwOEIwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNFdmVudEhh
bmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDg5N0Q5N0EwRjAwN0E0NjAwNDExQkIzIC8q
IFdNTE1ldGFFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4OEM5NzEyMEVDQjZEOTIw
MDA1MzRCQSAvKiBXTUxOYW1lcy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODY1Q0NFNjBFRERG
NTFCMDBERjlFQzMgLyogV01MTm9vcEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDg3
NDRCQUEwRURCN0Q4NjAwNEM5RTYzIC8qIFdNTE9uRXZlbnRFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTA4NENFNUNCMEYyN0RBREMwMEU2MjQwRSAvKiBXTUxPcHRHcm91cEVsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDg0Q0U1Q0QwRjI3REFEQzAwRTYyNDBFIC8qIFdNTE9w
dGlvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDg4Qzk3NkMwRUNCNkUyOTAwMDUz
NEJBIC8qIFdNTFBhZ2VTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODhDOTc2RTBFQ0I2
RTI5MDAwNTM0QkEgLyogV01MUEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDhFNkEy
RTgwRUVFMDM1MjAwQUMxMjA2IC8qIFdNTFBvc3RmaWVsZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJMDg4MDdCN0MwRUQ3MDlBQjAwM0Y2OTc1IC8qIFdNTFByZXZFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTA4ODA3QjdFMEVENzA5QUIwMDNGNjk3NSAvKiBXTUxSZWZyZXNo
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODIzNDFDNTBGQ0YzQTk1MDBENzVCRDYg
LyogV01MU2VsZWN0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwODgwN0I4MDBFRDcw
OUFCMDAzRjY5NzUgLyogV01MU2V0dmFyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkw
ODgyMEJERTBFRjVEMzgxMDA5MDk5QTggLyogV01MVGFibGVFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTA4Q0Q2MUJDMEVEMzkyOUMwMDJEREY1MSAvKiBXTUxUYXNrRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQkwODBGQUUxQTBFRUVCREE4MDBBQUNERTkgLyogV01MVGVtcGxh
dGVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4MUQ4MTMxMEVFMEU3NEQwMEQ3MzY4
OSAvKiBXTUxUaW1lckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDg0REJBQTEwRUQz
OUQzNjAwMzhDMjI2IC8qIFdNTFZhcmlhYmxlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzNzk5
MTk5NjEyMDBEREY0MDBFQTA0MUMgLyogV09GRkZpbGVGb3JtYXQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMkU0MzQ2NDUwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkyRTQzNDY0ODBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyQ29udGV4dC5jcHAgaW4g
U291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJ
KHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsMTAgKzExNiw2IEBACiAjaW5jbHVkZSAiU1ZHTmFt
ZXMuaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgot
I2VuZGlmCi0KICNpZiBQTEFURk9STShRVCkKICNpbmNsdWRlIDxxd2ViaGlzdG9yeWludGVyZmFj
ZS5oPgogI2VuZGlmCkBAIC04OTIsMTcgKzg4OCw2IEBAIHN0YXRpYyBpbmxpbmUgY29uc3QgQXRv
bWljU3RyaW5nKiBsaW5rQXQKICAgICBpZiAoZWxlbWVudC0+aXNIVE1MRWxlbWVudCgpKQogICAg
ICAgICByZXR1cm4gJmVsZW1lbnQtPmZhc3RHZXRBdHRyaWJ1dGUoaHJlZkF0dHIpOwogCi0jaWYg
RU5BQkxFKFdNTCkKLSAgICBpZiAoZWxlbWVudC0+aXNXTUxFbGVtZW50KCkpIHsKLSAgICAgICAg
Ly8gPGFuY2hvcj4gZWxlbWVudHMgZG9uJ3QgaGF2ZSBocmVmIGF0dHJpYnV0ZXMsIGJ1dCB3ZSBz
dGlsbCB3YW50IHRvCi0gICAgICAgIC8vIGFwcGVhciBhcyBsaW5rLCBzbyBsaW5rQXR0cmlidXRl
KCkgaGFzIHRvIHJldHVybiBhIG5vbi1udWxsIHZhbHVlIQotICAgICAgICBpZiAoZWxlbWVudC0+
aGFzVGFnTmFtZShXTUxOYW1lczo6YW5jaG9yVGFnKSkKLSAgICAgICAgICAgIHJldHVybiAmZW1w
dHlBdG9tOwotCi0gICAgICAgIHJldHVybiAmZWxlbWVudC0+ZmFzdEdldEF0dHJpYnV0ZShocmVm
QXR0cik7Ci0gICAgfQotI2VuZGlmCi0KICNpZiBFTkFCTEUoU1ZHKQogICAgIGlmIChlbGVtZW50
LT5pc1NWR0VsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuICZlbGVtZW50LT5mYXN0R2V0QXR0cmli
dXRlKFhMaW5rTmFtZXM6OmhyZWZBdHRyKTsKQEAgLTEzNzYsMTggKzEzNjEsNiBAQCBQYXNzUmVm
UHRyPFJlbmRlclN0eWxlPiBDU1NTdHlsZVNlbGVjdG9yCiAgICAgfQogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoV01MKQotICAgIHN0YXRpYyBib29sIGxvYWRlZFdNTFVzZXJBZ2VudFNoZWV0OwotICAg
IGlmIChlLT5pc1dNTEVsZW1lbnQoKSAmJiAhbG9hZGVkV01MVXNlckFnZW50U2hlZXQpIHsKLSAg
ICAgICAgLy8gV01MIHJ1bGVzLgotICAgICAgICBsb2FkZWRXTUxVc2VyQWdlbnRTaGVldCA9IHRy
dWU7Ci0gICAgICAgIENTU1N0eWxlU2hlZXQqIHdtbFNoZWV0ID0gcGFyc2VVQVNoZWV0KHdtbFVz
ZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZih3bWxVc2VyQWdlbnRTdHlsZVNoZWV0KSk7Ci0gICAg
ICAgIGRlZmF1bHRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQod21sU2hlZXQsIHNjcmVlbkV2YWwo
KSk7Ci0gICAgICAgIGRlZmF1bHRQcmludFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldCh3bWxTaGVl
dCwgcHJpbnRFdmFsKCkpOwotICAgICAgICBhc3NlcnROb1NpYmxpbmdSdWxlc0luRGVmYXVsdFN0
eWxlKCk7Ci0gICAgfQotI2VuZGlmCi0KICNpZiBFTkFCTEUoVklERU8pCiAgICAgc3RhdGljIGJv
b2wgbG9hZGVkTWVkaWFTdHlsZVNoZWV0OwogICAgIGlmICghbG9hZGVkTWVkaWFTdHlsZVNoZWV0
ICYmIChlLT5oYXNUYWdOYW1lKHZpZGVvVGFnKSB8fCBlLT5oYXNUYWdOYW1lKGF1ZGlvVGFnKSkp
IHsKQEAgLTE5MTIsMTMgKzE4ODUsNiBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFkanVzdFJl
bmRlclN0eWxlCiAgICAgaWYgKHN0eWxlLT5oYXNBdXRvWkluZGV4KCkgJiYgKChlICYmIGUtPmRv
Y3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpID09IGUpIHx8IHN0eWxlLT5vcGFjaXR5KCkgPCAx
LjBmIHx8IAogICAgICAgICBzdHlsZS0+aGFzVHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5KCkgfHwg
c3R5bGUtPmhhc01hc2soKSB8fCBzdHlsZS0+Ym94UmVmbGVjdCgpKSkKICAgICAgICAgc3R5bGUt
PnNldFpJbmRleCgwKTsKLSAgICAKLSNpZiBFTkFCTEUoV01MKQotICAgIGlmIChlICYmIChlLT5o
YXNUYWdOYW1lKFdNTE5hbWVzOjppbnNlcnRlZExlZ2VuZFRhZykKLSAgICAgICAgICAgICAgfHwg
ZS0+aGFzVGFnTmFtZShXTUxOYW1lczo6aW5wdXRUYWcpKQotICAgICAgICAgICAgJiYgc3R5bGUt
PndpZHRoKCkuaXNBdXRvKCkpCi0gICAgICAgIHN0eWxlLT5zZXRXaWR0aChMZW5ndGgoSW50cmlu
c2ljKSk7Ci0jZW5kaWYKIAogICAgIC8vIFRleHRhcmVhIGNvbnNpZGVycyBvdmVyZmxvdyB2aXNp
YmxlIGFzIGF1dG8uCiAgICAgaWYgKGUgJiYgZS0+aGFzVGFnTmFtZSh0ZXh0YXJlYVRhZykpIHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy93bWwuY3NzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2Nzcy93bWwuY3NzCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL2Nz
cy93bWwuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI1NyArMCwwIEBACi0vKgotICogVGhlIGRl
ZmF1bHQgc3R5bGUgc2hlZXQgdXNlZCB0byByZW5kZXIgV01MLgotICoKLSAqIENvcHlyaWdodCAo
QykgMjAwMCBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAz
LCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
Ci0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
Ci0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotQG5hbWVzcGFjZSAi
aHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIgotCi13bWwgewotICAgIGRp
c3BsYXk6IGJsb2NrCi19Ci0KLS8qIGNoaWxkcmVuIG9mIHRoZSA8aGVhZD4gZWxlbWVudCBhbGwg
aGF2ZSBkaXNwbGF5Om5vbmUgKi8KLWhlYWQgewotICAgIGRpc3BsYXk6IG5vbmUKLX0KLQotbWV0
YSB7Ci0gICAgZGlzcGxheTogbm9uZQotfQotCi1hY2Nlc3MgewotICAgIGRpc3BsYXk6IG5vbmUK
LX0KLQotLyogZ2VuZXJpYyBibG9jay1sZXZlbCBlbGVtZW50cyAqLwotCi1jYXJkIHsKLSAgICBk
aXNwbGF5OiBibG9jazsKLSAgICBtYXJnaW46IDhweAotfQotCi1wIHsKLSAgICBkaXNwbGF5OiBi
bG9jazsKLSAgICBtYXJnaW46IDEuMF9fcWVtIDBweAotfQotCi0vKiB0YWJsZXMgKi8KLQotdGFi
bGUgewotICAgIGRpc3BsYXk6IHRhYmxlOwotICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7
Ci0gICAgYm9yZGVyLXNwYWNpbmc6IDJweDsKLSAgICBib3JkZXItY29sb3I6IGdyYXkKLX0KLQot
LyogZm9yIHRhYmxlcyB3aXRob3V0IHRhYmxlIHNlY3Rpb24gZWxlbWVudHMgKGNhbiBoYXBwZW4g
d2l0aCBYSFRNTCBvciBkeW5hbWljYWxseSBjcmVhdGVkIHRhYmxlcykgKi8KLXRhYmxlID4gdHIg
ewotICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ci19Ci0KLXRyIHsKLSAgICBkaXNwbGF5OiB0
YWJsZS1yb3c7Ci0gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7Ci0gICAgYm9yZGVyLWNvbG9y
OiBpbmhlcml0Ci19Ci0KLXRkIHsKLSAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOwotICAgIHZlcnRp
Y2FsLWFsaWduOiBpbmhlcml0Ci19Ci0KLS8qIGZvcm0gZWxlbWVudHMgKi8KLQotZ28gewotICAg
IGRpc3BsYXk6IGJsb2NrOwotICAgIG1hcmdpbi10b3A6IDBfX3FlbQotfQotCi1pbnNlcnRlZExl
Z2VuZCB7Ci0gICAgZGlzcGxheTogYmxvY2s7Ci0gICAgcGFkZGluZy1sZWZ0OiAycHg7Ci0gICAg
cGFkZGluZy1yaWdodDogMnB4OwotICAgIGJvcmRlcjogbm9uZQotfQotCi1maWVsZHNldCB7Ci0g
ICAgZGlzcGxheTogYmxvY2s7Ci0gICAgbWFyZ2luLWxlZnQ6IDJweDsKLSAgICBtYXJnaW4tcmln
aHQ6IDJweDsKLSAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07Ci0gICAgYm9yZGVy
OiAycHggZ3Jvb3ZlIFRocmVlREZhY2UKLX0KLQotZG8gewotICAgIC13ZWJraXQtYXBwZWFyYW5j
ZTogYnV0dG9uOwotICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7Ci0gICAgdGV4dC1hbGln
bjogY2VudGVyOwotICAgIGN1cnNvcjogZGVmYXVsdDsKLSAgICBjb2xvcjogQnV0dG9uVGV4dDsK
LSAgICBwYWRkaW5nOiAycHggNnB4IDNweCA2cHg7Ci0gICAgYm9yZGVyOiAycHggb3V0c2V0IEJ1
dHRvbkZhY2U7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogQnV0dG9uRmFjZTsKLSAgICBib3gtc2l6
aW5nOiBib3JkZXItYm94Ci19Ci0KLWlucHV0LCBzZWxlY3QsIGRvIHsKLSAgICBtYXJnaW46IDBf
X3FlbTsKLSAgICBmb250OiAtd2Via2l0LXNtYWxsLWNvbnRyb2w7Ci0gICAgY29sb3I6IGluaXRp
YWw7Ci0gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsKLSAgICB3b3JkLXNwYWNpbmc6IG5vcm1h
bDsKLSAgICBsaW5lLWhlaWdodDogbm9ybWFsOwotICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwot
ICAgIHRleHQtaW5kZW50OiAwOwotICAgIHRleHQtc2hhZG93OiBub25lOwotICAgIGRpc3BsYXk6
IGlubGluZS1ibG9jazsKLSAgICB0ZXh0LWFsaWduOiAtd2Via2l0LWF1dG87Ci19Ci0KLWlucHV0
LCBpbnB1dFt0eXBlPSJwYXNzd29yZCJdIHsKLSAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRm
aWVsZDsKLSAgICBwYWRkaW5nOiAxcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7Ci0g
ICAgYm9yZGVyOiAycHggaW5zZXQ7Ci0gICAgLXdlYmtpdC1ydGwtb3JkZXJpbmc6IGxvZ2ljYWw7
Ci0gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDsKLSAgICBjdXJzb3I6IGF1dG87Ci19Ci0K
LWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsKLSAgICBjb2xvcjogZGFya0dyYXk7
Ci19Ci0KLWlucHV0W3R5cGU9InBhc3N3b3JkIl0gewotICAgIC13ZWJraXQtdGV4dC1zZWN1cml0
eTogZGlzYyAhaW1wb3J0YW50OwotfQotCi1pbnB1dDotd2Via2l0LWF1dG9maWxsIHsKLSAgICBi
YWNrZ3JvdW5kLWNvbG9yOiAjRkFGRkJEICFpbXBvcnRhbnQ7Ci0gICAgYmFja2dyb3VuZC1pbWFn
ZTpub25lICFpbXBvcnRhbnQ7Ci0gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsKLX0KLQot
ZG86ZGlzYWJsZWQsIHNlbGVjdDpkaXNhYmxlZCwgb3B0Z3JvdXA6ZGlzYWJsZWQsIG9wdGlvbjpk
aXNhYmxlZCB7Ci0gICAgY29sb3I6IEdyYXlUZXh0Ci19Ci0KLWRvOmFjdGl2ZSB7Ci0gICAgYm9y
ZGVyLXN0eWxlOiBpbnNldAotfQotCi1kbzphY3RpdmU6ZGlzYWJsZWQgewotICAgIGJvcmRlci1z
dHlsZTogb3V0c2V0Ci19Ci0KLXNlbGVjdCB7Ci0gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51
bGlzdDsKLSAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwotICAgIC13ZWJraXQtYm94LWFsaWdu
OiBjZW50ZXI7Ci0gICAgYm9yZGVyOiAxcHggc29saWQ7Ci0gICAgLXdlYmtpdC1ib3JkZXItcmFk
aXVzOiA1cHg7Ci0gICAgd2hpdGUtc3BhY2U6IHByZTsKLSAgICAtd2Via2l0LXJ0bC1vcmRlcmlu
ZzogbG9naWNhbDsKLSAgICBjb2xvcjogYmxhY2s7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogd2hp
dGU7Ci0gICAgY3Vyc29yOiBkZWZhdWx0OwotfQotCi1zZWxlY3Rbc2l6ZV0sCi1zZWxlY3RbbXVs
dGlwbGVdLAotc2VsZWN0W3NpemVdW211bHRpcGxlXSB7Ci0gICAgLXdlYmtpdC1hcHBlYXJhbmNl
OiBsaXN0Ym94OwotICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDsKLSAgICBib3JkZXI6IDFw
eCBpbnNldCBncmF5OwotICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogaW5pdGlhbDsKLSAgICB3
aGl0ZS1zcGFjZTogaW5pdGlhbDsKLX0KLQotc2VsZWN0W3NpemU9IjAiXSwKLXNlbGVjdFtzaXpl
PSIxIl0gewotICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3Q7Ci0gICAgLXdlYmtpdC1i
b3gtYWxpZ246IGNlbnRlcjsKLSAgICBib3JkZXI6IDFweCBzb2xpZDsKLSAgICAtd2Via2l0LWJv
cmRlci1yYWRpdXM6IDVweDsKLSAgICB3aGl0ZS1zcGFjZTogcHJlOwotfQotCi1vcHRncm91cCB7
Ci0gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjsKLX0KLQotb3B0aW9uIHsKLSAgICBmb250LXdlaWdo
dDogbm9ybWFsOwotfQotCi0vKiBpbmxpbmUgZWxlbWVudHMgKi8KLQotdSB7Ci0gICAgdGV4dC1k
ZWNvcmF0aW9uOiB1bmRlcmxpbmUKLX0KLQotc3Ryb25nLCBiIHsKLSAgICBmb250LXdlaWdodDog
Ym9sZGVyCi19Ci0KLWksIGVtIHsKLSAgICBmb250LXN0eWxlOiBpdGFsaWMKLX0KLQotYmlnIHsK
LSAgICBmb250LXNpemU6IGxhcmdlcgotfQotCi1zbWFsbCB7Ci0gICAgZm9udC1zaXplOiBzbWFs
bGVyCi19Ci0KLXByZSB7Ci0gICAgZGlzcGxheTogYmxvY2s7Ci0gICAgZm9udC1mYW1pbHk6IG1v
bm9zcGFjZTsKLSAgICB3aGl0ZS1zcGFjZTogcHJlOwotICAgIG1hcmdpbjogMV9fcWVtIDAKLX0K
LQotLyogc3RhdGVzICovCi0KLTpmb2N1cyB7IAotICAgIG91dGxpbmU6IGF1dG8gNXB4IC13ZWJr
aXQtZm9jdXMtcmluZy1jb2xvcgotfQotCi0vKiBSZWFkLW9ubHkgdGV4dCBmaWVsZHMgZG8gbm90
IHNob3cgYSBmb2N1cyByaW5nIGJ1dCBkbyBzdGlsbCByZWNlaXZlIGZvY3VzICovCi13bWw6Zm9j
dXMsIGNhcmQ6Zm9jdXMgewotICAgIG91dGxpbmU6IG5vbmUKLX0KLSAgCi1pbnB1dDpmb2N1cywg
c2VsZWN0OmZvY3VzIHsKLSAgICBvdXRsaW5lLW9mZnNldDogLTJweAotfQotCi1hOi13ZWJraXQt
YW55LWxpbmssIGFuY2hvcjotd2Via2l0LWFueS1saW5rIHsKLSAgICBjb2xvcjogLXdlYmtpdC1s
aW5rOwotICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwotICAgIGN1cnNvcjogYXV0bzsK
LX0KLQotYTotd2Via2l0LWFueS1saW5rOmFjdGl2ZSwgYW5jaG9yOi13ZWJraXQtYW55LWxpbms6
YWN0aXZlIHsKLSAgICBjb2xvcjogLXdlYmtpdC1hY3RpdmVsaW5rCi19CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTYsMTEgKzU2LDYgQEAKICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jaW5jbHVkZSAiV01MRG9jdW1lbnQu
aCIKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoU1ZHKQpAQCAt
MjM1LDExICsyMzAsNiBAQCBQYXNzUmVmUHRyPERvY3VtZW50PiBET01JbXBsZW1lbnRhdGlvbjo6
CiAgICAgICAgIGRvYyA9IFNWR0RvY3VtZW50OjpjcmVhdGUoMCwgS1VSTCgpKTsKICAgICBlbHNl
CiAjZW5kaWYKLSNpZiBFTkFCTEUoV01MKQotICAgIGlmIChuYW1lc3BhY2VVUkkgPT0gV01MTmFt
ZXM6OndtbE5hbWVzcGFjZVVSSSkKLSAgICAgICAgZG9jID0gV01MRG9jdW1lbnQ6OmNyZWF0ZSgw
LCBLVVJMKCkpOwotICAgIGVsc2UKLSNlbmRpZgogICAgIGlmIChuYW1lc3BhY2VVUkkgPT0gSFRN
TE5hbWVzOjp4aHRtbE5hbWVzcGFjZVVSSSkKICAgICAgICAgZG9jID0gRG9jdW1lbnQ6OmNyZWF0
ZVhIVE1MKDAsIEtVUkwoKSk7CiAgICAgZWxzZQpAQCAtMzI3LDExICszMTcsNiBAQCBQYXNzUmVm
UHRyPERvY3VtZW50PiBET01JbXBsZW1lbnRhdGlvbjo6CiAgICAgICAgICkKICAgICAgICAgcmV0
dXJuIERvY3VtZW50OjpjcmVhdGVYSFRNTChmcmFtZSwgdXJsKTsKIAotI2lmIEVOQUJMRShXTUwp
Ci0gICAgaWYgKHR5cGUgPT0gInRleHQvdm5kLndhcC53bWwiIHx8IHR5cGUgPT0gImFwcGxpY2F0
aW9uL3ZuZC53YXAud21sYyIpCi0gICAgICAgIHJldHVybiBXTUxEb2N1bWVudDo6Y3JlYXRlKGZy
YW1lLCB1cmwpOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoRlRQRElSKQogICAgIC8vIFBsdWdpbnMg
Y2Fubm90IHRha2UgRlRQIGZyb20gdXMgZWl0aGVyCiAgICAgaWYgKHR5cGUgPT0gImFwcGxpY2F0
aW9uL3gtZnRwLWRpcmVjdG9yeSIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlz
aW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTkyLDEzICsxOTIsNiBAQAogI2luY2x1ZGUgIlRvdWNoRXZlbnQuaCIKICNlbmRp
ZgogCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxEb2N1bWVudC5oIgotI2luY2x1ZGUg
IldNTEVsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxFbGVtZW50RmFjdG9yeS5oIgotI2luY2x1ZGUg
IldNTE5hbWVzLmgiCi0jZW5kaWYKLQogI2lmIEVOQUJMRShNQVRITUwpCiAjaW5jbHVkZSAiTWF0
aE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIk1hdGhNTEVsZW1lbnRGYWN0b3J5LmgiCkBAIC00MTQs
OSArNDA3LDYgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgSwogICAg
ICwgbV9zYXdFbGVtZW50c0luS25vd25OYW1lc3BhY2VzKGZhbHNlKQogICAgICwgbV91c2luZ0dl
b2xvY2F0aW9uKGZhbHNlKQogICAgICwgbV9ldmVudFF1ZXVlKEV2ZW50UXVldWU6OmNyZWF0ZSh0
aGlzKSkKLSNpZiBFTkFCTEUoV01MKQotICAgICwgbV9jb250YWluc1dNTENvbnRlbnQoZmFsc2Up
Ci0jZW5kaWYKICAgICAsIG1fd2Vha1JlZmVyZW5jZShEb2N1bWVudFdlYWtSZWZlcmVuY2U6OmNy
ZWF0ZSh0aGlzKSkKICAgICAsIG1faWRBdHRyaWJ1dGVOYW1lKGlkQXR0cikKICNpZiBFTkFCTEUo
RlVMTFNDUkVFTl9BUEkpCkBAIC05MzMsMTIgKzkyMyw2IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4g
RG9jdW1lbnQ6OmNyZWF0ZUVsZW0KICAgICBlbHNlIGlmIChxTmFtZS5uYW1lc3BhY2VVUkkoKSA9
PSBTVkdOYW1lczo6c3ZnTmFtZXNwYWNlVVJJKQogICAgICAgICBlID0gU1ZHRWxlbWVudEZhY3Rv
cnk6OmNyZWF0ZVNWR0VsZW1lbnQocU5hbWUsIHRoaXMsIGNyZWF0ZWRCeVBhcnNlcik7CiAjZW5k
aWYKLSNpZiBFTkFCTEUoV01MKQotICAgIGVsc2UgaWYgKHFOYW1lLm5hbWVzcGFjZVVSSSgpID09
IFdNTE5hbWVzOjp3bWxOYW1lc3BhY2VVUkkpCi0gICAgICAgIGUgPSBXTUxFbGVtZW50RmFjdG9y
eTo6Y3JlYXRlV01MRWxlbWVudChxTmFtZSwgdGhpcywgY3JlYXRlZEJ5UGFyc2VyKTsKLSAgICBl
bHNlIGlmIChpc1dNTERvY3VtZW50KCkpCi0gICAgICAgIGUgPSBXTUxFbGVtZW50RmFjdG9yeTo6
Y3JlYXRlV01MRWxlbWVudChRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBxTmFtZS5sb2NhbE5hbWUo
KSwgV01MTmFtZXM6OndtbE5hbWVzcGFjZVVSSSksIHRoaXMsIGNyZWF0ZWRCeVBhcnNlcik7Ci0j
ZW5kaWYKICNpZiBFTkFCTEUoTUFUSE1MKQogICAgIGVsc2UgaWYgKHFOYW1lLm5hbWVzcGFjZVVS
SSgpID09IE1hdGhNTE5hbWVzOjptYXRobWxOYW1lc3BhY2VVUkkpCiAgICAgICAgIGUgPSBNYXRo
TUxFbGVtZW50RmFjdG9yeTo6Y3JlYXRlTWF0aE1MRWxlbWVudChxTmFtZSwgdGhpcywgY3JlYXRl
ZEJ5UGFyc2VyKTsKQEAgLTk1MCw5ICs5MzQsNiBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IERvY3Vt
ZW50OjpjcmVhdGVFbGVtCiAgICAgICAgIGUgPSBFbGVtZW50OjpjcmVhdGUocU5hbWUsIGRvY3Vt
ZW50KCkpOwogCiAgICAgLy8gPGltYWdlPiB1c2VzIGltZ1RhZyBzbyB3ZSBuZWVkIGEgc3BlY2lh
bCBydWxlLgotI2lmIEVOQUJMRShXTUwpCi0gICAgaWYgKCFpc1dNTERvY3VtZW50KCkpCi0jZW5k
aWYKICAgICBBU1NFUlQoKHFOYW1lLm1hdGNoZXMoaW1hZ2VUYWcpICYmIGUtPnRhZ1FOYW1lKCku
bWF0Y2hlcyhpbWdUYWcpICYmIGUtPnRhZ1FOYW1lKCkucHJlZml4KCkgPT0gcU5hbWUucHJlZml4
KCkpIHx8IHFOYW1lID09IGUtPnRhZ1FOYW1lKCkpOwogCiAgICAgcmV0dXJuIGUucmVsZWFzZSgp
OwpAQCAtNDU2OCwyMiArNDU0OSw2IEBAIERPTVNlbGVjdGlvbiogRG9jdW1lbnQ6OmdldFNlbGVj
dGlvbigpIGMKICAgICByZXR1cm4gZnJhbWUoKSA/IGZyYW1lKCktPmRvbVdpbmRvdygpLT5nZXRT
ZWxlY3Rpb24oKSA6IDA7CiB9CiAKLSNpZiBFTkFCTEUoV01MKQotdm9pZCBEb2N1bWVudDo6cmVz
ZXRXTUxQYWdlU3RhdGUoKQotewotICAgIGlmIChXTUxQYWdlU3RhdGUqIHBhZ2VTdGF0ZSA9IHdt
bFBhZ2VTdGF0ZUZvckRvY3VtZW50KHRoaXMpKQotICAgICAgICBwYWdlU3RhdGUtPnJlc2V0KCk7
Ci19Ci0KLXZvaWQgRG9jdW1lbnQ6OmluaXRpYWxpemVXTUxQYWdlU3RhdGUoKQotewotICAgIGlm
ICghaXNXTUxEb2N1bWVudCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBzdGF0aWNfY2FzdDxX
TUxEb2N1bWVudCo+KHRoaXMpLT5pbml0aWFsaXplKCk7Ci19Ci0jZW5kaWYKLQogdm9pZCBEb2N1
bWVudDo6YXR0YWNoUmFuZ2UoUmFuZ2UqIHJhbmdlKQogewogICAgIEFTU0VSVCghbV9yYW5nZXMu
Y29udGFpbnMocmFuZ2UpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiA4NTI0
MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00
MTMsOSArNDEzLDYgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCBib29sIGlzUGx1Z2lu
RG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc01l
ZGlhRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotI2lmIEVOQUJMRShXTUwpCi0g
ICAgdmlydHVhbCBib29sIGlzV01MRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQot
I2VuZGlmCiAjaWYgRU5BQkxFKFhIVE1MTVApCiAgICAgYm9vbCBpc1hIVE1MTVBEb2N1bWVudCgp
IGNvbnN0OyAKICAgICBib29sIHNob3VsZFByb2Nlc3NOb3NjcmlwdEVsZW1lbnQoKSBjb25zdCB7
IHJldHVybiBtX3Nob3VsZFByb2Nlc3NOb1NjcmlwdEVsZW1lbnQ7IH0KQEAgLTEwMTgsMTQgKzEw
MTUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVc2luZ0dlb2xvY2F0aW9uKGJvb2wgZikgeyBt
X3VzaW5nR2VvbG9jYXRpb24gPSBmOyB9CiAgICAgYm9vbCB1c2luZ0dlb2xvY2F0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV91c2luZ0dlb2xvY2F0aW9uOyB9OwogCi0jaWYgRU5BQkxFKFdNTCkKLSAg
ICB2b2lkIHNldENvbnRhaW5zV01MQ29udGVudChib29sIHZhbHVlKSB7IG1fY29udGFpbnNXTUxD
b250ZW50ID0gdmFsdWU7IH0KLSAgICBib29sIGNvbnRhaW5zV01MQ29udGVudCgpIGNvbnN0IHsg
cmV0dXJuIG1fY29udGFpbnNXTUxDb250ZW50OyB9Ci0KLSAgICB2b2lkIHJlc2V0V01MUGFnZVN0
YXRlKCk7Ci0gICAgdm9pZCBpbml0aWFsaXplV01MUGFnZVN0YXRlKCk7Ci0jZW5kaWYKLSAgICAK
ICAgICBib29sIGNvbnRhaW5zVmFsaWRpdHlTdHlsZVJ1bGVzKCkgY29uc3QgeyByZXR1cm4gbV9j
b250YWluc1ZhbGlkaXR5U3R5bGVSdWxlczsgfQogICAgIHZvaWQgc2V0Q29udGFpbnNWYWxpZGl0
eVN0eWxlUnVsZXMoKSB7IG1fY29udGFpbnNWYWxpZGl0eVN0eWxlUnVsZXMgPSB0cnVlOyB9CiAK
QEAgLTEzNDgsMTkgKzEzMzcsMTUgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2F3RWxlbWVudHNJ
bktub3duTmFtZXNwYWNlczsKIAogICAgIGJvb2wgbV91c2luZ0dlb2xvY2F0aW9uOwotICAgIAot
ICAgIFJlZlB0cjxFdmVudFF1ZXVlPiBtX2V2ZW50UXVldWU7CiAKLSNpZiBFTkFCTEUoV01MKQot
ICAgIGJvb2wgbV9jb250YWluc1dNTENvbnRlbnQ7Ci0jZW5kaWYKKyAgICBSZWZQdHI8RXZlbnRR
dWV1ZT4gbV9ldmVudFF1ZXVlOwogCiAgICAgUmVmUHRyPERvY3VtZW50V2Vha1JlZmVyZW5jZT4g
bV93ZWFrUmVmZXJlbmNlOwogCiAgICAgSGFzaFNldDxNZWRpYUNhblN0YXJ0TGlzdGVuZXIqPiBt
X21lZGlhQ2FuU3RhcnRMaXN0ZW5lcnM7CiAKICAgICBRdWFsaWZpZWROYW1lIG1faWRBdHRyaWJ1
dGVOYW1lOwotICAgIAorCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIGJvb2wgbV9h
cmVLZXlzRW5hYmxlZEluRnVsbFNjcmVlbjsKICAgICBSZWZQdHI8RWxlbWVudD4gbV9mdWxsU2Ny
ZWVuRWxlbWVudDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkocmV2aXNpb24gODUyNDIp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
MzUsMTIgKzIzNSw2IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgW1JlcXVpcmVzQWxsQXJndW1l
bnRzPVJhaXNlXSBOb2RlTGlzdCBxdWVyeVNlbGVjdG9yQWxsKGluIERPTVN0cmluZyBzZWxlY3Rv
cnMpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotI2lmIGRlZmluZWQoRU5B
QkxFX1dNTCkgJiYgRU5BQkxFX1dNTAotICAgICAgICAvLyBPbmx5IHVzZWQgZnJvbSB3aXRoaW4g
V01MIGxheW91dCB0ZXN0cywgV01MIGRvZXNuJ3QgaGF2ZSBKUyBzdXBwb3J0IGF0IGFsbC4KLSAg
ICAgICAgW0RvbnRFbnVtXSB2b2lkIHJlc2V0V01MUGFnZVN0YXRlKCk7Ci0gICAgICAgIFtEb250
RW51bV0gdm9pZCBpbml0aWFsaXplV01MUGFnZVN0YXRlKCk7Ci0jZW5kaWYKLQogI2lmIGRlZmlu
ZWQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAmJiBFTkFCTEVfRlVMTFNDUkVFTl9BUEkKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2Via2l0SXNGdWxsU2NyZWVuOwogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXRGdWxsU2NyZWVuS2V5Ym9hcmRJbnB1
dEFsbG93ZWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vSW5wdXRFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5oCShyZXZpc2lvbiA4NTI0
MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMTA4LDcgKzEwOCw3IEBAIHByb3RlY3RlZDoKICNlbmRpZgogfTsKIAotLy8gSFRNTC9XTUxJ
bnB1dEVsZW1lbnQgaG9sZCB0aGlzIHN0cnVjdCBhcyBtZW1iZXIgdmFyaWFibGUKKy8vIEhUTUxJ
bnB1dEVsZW1lbnQgaG9sZCB0aGlzIHN0cnVjdCBhcyBtZW1iZXIgdmFyaWFibGUKIC8vIGFuZCBw
YXNzIGl0IHRvIHRoZSBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucyBpbiBJbnB1dEVsZW1lbnQKIGNs
YXNzIElucHV0RWxlbWVudERhdGEgewogcHVibGljOgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkocmV2
aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEwNSwxMCArMTA1LDYgQEAKICNpbmNsdWRlICJTVkdVc2VFbGVtZW50LmgiCiAjZW5k
aWYKIAotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNlbmRpZgotCiAj
aWYgRU5BQkxFKFhIVE1MTVApCiAjaW5jbHVkZSAiSFRNTE5vU2NyaXB0RWxlbWVudC5oIgogI2Vu
ZGlmCkBAIC01NjgsOSArNTY0LDYgQEAgSW5wdXRFbGVtZW50KiBOb2RlOjp0b0lucHV0RWxlbWVu
dCgpCiAgICAgLy8gZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBmcm9tIGEgY29uc3RydWN0b3Igb3Ig
ZGVzdHJ1Y3RvciBvZiB0aGlzIG9iamVjdC4KICAgICAvLyBEb24ndCBkbyB0aGlzIQogICAgIEFT
U0VSVCghKGlzSFRNTEVsZW1lbnQoKSAmJiBoYXNUYWdOYW1lKGlucHV0VGFnKSkpOwotI2lmIEVO
QUJMRShXTUwpCi0gICAgQVNTRVJUKCEoaXNXTUxFbGVtZW50KCkgJiYgaGFzVGFnTmFtZShXTUxO
YW1lczo6aW5wdXRUYWcpKSk7Ci0jZW5kaWYKICAgICByZXR1cm4gMDsKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5oCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIwMSwxMiArMjAxLDYgQEAgcHVibGljOgogICAgIFNWR1VzZUVsZW1l
bnQqIHN2Z1NoYWRvd0hvc3QoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKFdNTCkKLSAg
ICB2aXJ0dWFsIGJvb2wgaXNXTUxFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSNl
bHNlCi0gICAgc3RhdGljIGJvb2wgaXNXTUxFbGVtZW50KCkgeyByZXR1cm4gZmFsc2U7IH0KLSNl
bmRpZgotCiAgICAgdmlydHVhbCBib29sIGlzTWVkaWFDb250cm9sRWxlbWVudCgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBpc1N0eWxlZEVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biBnZXRGbGFnKElzU3R5bGVkRWxlbWVudEZsYWcpOyB9CiAgICAgdmlydHVhbCBib29sIGlzRnJh
bWVPd25lckVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpJbmRleDogU291cmNlL1dl
YkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9PcHRpb25FbGVtZW50LmNwcAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vT3B0aW9uRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDExICszMCw2IEBA
CiAjaW5jbHVkZSAiU2VsZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
CiAKLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE9wdGlvbkVsZW1lbnQuaCIKLSNpbmNs
dWRlICJXTUxOYW1lcy5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBP
cHRpb25FbGVtZW50OjpzZXRTZWxlY3RlZFN0YXRlKE9wdGlvbkVsZW1lbnREYXRhJiBkYXRhLCBF
bGVtZW50KiBlbGVtZW50LCBib29sIHNlbGVjdGVkKQpAQCAtMTQyLDIyICsxMzcsMTIgQEAgT3B0
aW9uRWxlbWVudCogdG9PcHRpb25FbGVtZW50KEVsZW1lbnQqIAogewogICAgIGlmIChlbGVtZW50
LT5pc0hUTUxFbGVtZW50KCkgJiYgZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om9wdGlv
blRhZykpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MT3B0aW9uRWxlbWVudCo+KGVs
ZW1lbnQpOwotCi0jaWYgRU5BQkxFKFdNTCkKLSAgICBpZiAoZWxlbWVudC0+aXNXTUxFbGVtZW50
KCkgJiYgZWxlbWVudC0+aGFzVGFnTmFtZShXTUxOYW1lczo6b3B0aW9uVGFnKSkKLSAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PFdNTE9wdGlvbkVsZW1lbnQqPihlbGVtZW50KTsKLSNlbmRpZgot
CiAgICAgcmV0dXJuIDA7CiB9CiAKIGJvb2wgaXNPcHRpb25FbGVtZW50KEVsZW1lbnQqIGVsZW1l
bnQpCiB7Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc0xvY2FsTmFtZShIVE1MTmFtZXM6Om9wdGlv
blRhZykKLSNpZiBFTkFCTEUoV01MKQotICAgICAgICB8fCBlbGVtZW50LT5oYXNMb2NhbE5hbWUo
V01MTmFtZXM6Om9wdGlvblRhZykKLSNlbmRpZgotICAgICAgICA7CisgICAgcmV0dXJuIGVsZW1l
bnQtPmhhc0xvY2FsTmFtZShIVE1MTmFtZXM6Om9wdGlvblRhZyk7CiB9CiAKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuaAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vT3B0aW9uRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBA
IHByaXZhdGU6CiAgICAgc3RhdGljIFN0cmluZyBub3JtYWxpemVUZXh0KGNvbnN0IERvY3VtZW50
KiwgY29uc3QgU3RyaW5nJik7CiB9OwogCi0vLyBIVE1ML1dNTE9wdGlvbkVsZW1lbnQgaG9sZCB0
aGlzIHN0cnVjdCBhcyBtZW1iZXIgdmFyaWFibGUKKy8vIEhUTUxPcHRpb25FbGVtZW50IGhvbGQg
dGhpcyBzdHJ1Y3QgYXMgbWVtYmVyIHZhcmlhYmxlCiAvLyBhbmQgcGFzcyBpdCB0byB0aGUgc3Rh
dGljIGhlbHBlciBmdW5jdGlvbnMgaW4gT3B0aW9uRWxlbWVudAogY2xhc3MgT3B0aW9uRWxlbWVu
dERhdGEgewogcHVibGljOgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkdyb3VwRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkdyb3VwRWxl
bWVudC5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkdy
b3VwRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDMzICsyNiwxOCBAQAogI2luY2x1
ZGUgIkhUTUxPcHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgog
Ci0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxPcHRHcm91cEVsZW1lbnQuaCIKLSNpbmNs
dWRlICJXTUxOYW1lcy5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogT3B0aW9u
R3JvdXBFbGVtZW50KiB0b09wdGlvbkdyb3VwRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQogewog
ICAgIGlmIChlbGVtZW50LT5pc0hUTUxFbGVtZW50KCkgJiYgZWxlbWVudC0+aGFzVGFnTmFtZShI
VE1MTmFtZXM6Om9wdGdyb3VwVGFnKSkKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxP
cHRHcm91cEVsZW1lbnQqPihlbGVtZW50KTsKLQotI2lmIEVOQUJMRShXTUwpCi0gICAgaWYgKGVs
ZW1lbnQtPmlzV01MRWxlbWVudCgpICYmIGVsZW1lbnQtPmhhc1RhZ05hbWUoV01MTmFtZXM6Om9w
dGdyb3VwVGFnKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdNTE9wdEdyb3VwRWxlbWVu
dCo+KGVsZW1lbnQpOwotI2VuZGlmCi0KICAgICByZXR1cm4gMDsKIH0KIAogYm9vbCBpc09wdGlv
bkdyb3VwRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQogewotICAgIHJldHVybiBlbGVtZW50LT5o
YXNMb2NhbE5hbWUoSFRNTE5hbWVzOjpvcHRncm91cFRhZykKLSNpZiBFTkFCTEUoV01MKQotICAg
ICAgICB8fCBlbGVtZW50LT5oYXNMb2NhbE5hbWUoV01MTmFtZXM6Om9wdGdyb3VwVGFnKQotI2Vu
ZGlmCi0gICAgICAgIDsKKyAgICByZXR1cm4gZWxlbWVudC0+aGFzTG9jYWxOYW1lKEhUTUxOYW1l
czo6b3B0Z3JvdXBUYWcpOwogfQogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2VsZWN0
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1l
bnQuY3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TZWxlY3RFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsMTEgKzQzLDYgQEAKICNpbmNsdWRlIDx3dGYv
QXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAK
LSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jaW5jbHVkZSAiV01MU2Vs
ZWN0RWxlbWVudC5oIgotI2VuZGlmCi0KIC8vIENvbmZpZ3VyZSBwbGF0Zm9ybS1zcGVjaWZpYyBi
ZWhhdmlvciB3aGVuIGZvY3VzZWQgcG9wLXVwIHJlY2VpdmVzIGFycm93L3NwYWNlL3JldHVybiBr
ZXlzdHJva2UuCiAvLyAoUExBVEZPUk0oTUFDKSBhbmQgUExBVEZPUk0oR1RLKSBhcmUgYWx3YXlz
IGZhbHNlIGluIENocm9taXVtLCBoZW5jZSB0aGUgZXh0cmEgdGVzdHMuKQogI2lmIFBMQVRGT1JN
KE1BQykgfHwgKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pKQpAQCAtMTA5MCwxMiAr
MTA4NSw2IEBAIFNlbGVjdEVsZW1lbnQqIHRvU2VsZWN0RWxlbWVudChFbGVtZW50KiAKIHsKICAg
ICBpZiAoZWxlbWVudC0+aXNIVE1MRWxlbWVudCgpICYmIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRN
TE5hbWVzOjpzZWxlY3RUYWcpKQogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFNlbGVj
dEVsZW1lbnQqPihlbGVtZW50KTsKLQotI2lmIEVOQUJMRShXTUwpCi0gICAgaWYgKGVsZW1lbnQt
PmlzV01MRWxlbWVudCgpICYmIGVsZW1lbnQtPmhhc1RhZ05hbWUoV01MTmFtZXM6OnNlbGVjdFRh
ZykpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXTUxTZWxlY3RFbGVtZW50Kj4oZWxlbWVu
dCk7Ci0jZW5kaWYKLQogICAgIHJldHVybiAwOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vU2VsZWN0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TZWxl
Y3RFbGVtZW50LmgJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NlbGVj
dEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBAIHByaXZhdGU6CiAg
ICAgc3RhdGljIHZvaWQgc2V0T3B0aW9uc0NoYW5nZWRPblJlbmRlcmVyKFNlbGVjdEVsZW1lbnRE
YXRhJiwgRWxlbWVudCopOwogfTsKIAotLy8gSFRNTC9XTUxTZWxlY3RFbGVtZW50IGhvbGQgdGhp
cyBzdHJ1Y3QgYXMgbWVtYmVyIHZhcmlhYmxlCisvLyBIVE1MU2VsZWN0RWxlbWVudCBob2xkIHRo
aXMgc3RydWN0IGFzIG1lbWJlciB2YXJpYWJsZQogLy8gYW5kIHBhc3MgaXQgdG8gdGhlIHN0YXRp
YyBoZWxwZXIgZnVuY3Rpb25zIGluIFNlbGVjdEVsZW1lbnQKIGNsYXNzIFNlbGVjdEVsZW1lbnRE
YXRhIHsKIHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysg
U291cmNlL1dlYkNvcmUvZG9tL1RleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMSArMzEs
NiBAQAogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShXTUwpCi0j
aW5jbHVkZSAiV01MRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJXTUxWYXJpYWJsZXMuaCIKLSNlbmRp
ZgotCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNTYs
MTkgKzI1MSw2IEBAIFJlbmRlck9iamVjdCogVGV4dDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGUKIAog
dm9pZCBUZXh0OjphdHRhY2goKQogewotI2lmIEVOQUJMRShXTUwpCi0gICAgaWYgKGRvY3VtZW50
KCktPmlzV01MRG9jdW1lbnQoKSAmJiAhY29udGFpbnNPbmx5V2hpdGVzcGFjZSgpKSB7Ci0gICAg
ICAgIFN0cmluZyB0ZXh0ID0gZGF0YSgpOwotICAgICAgICBBU1NFUlQoIXRleHQuaXNFbXB0eSgp
KTsKLQotICAgICAgICB0ZXh0ID0gc3Vic3RpdHV0ZVZhcmlhYmxlUmVmZXJlbmNlcyh0ZXh0LCBk
b2N1bWVudCgpKTsKLQotICAgICAgICBFeGNlcHRpb25Db2RlIGNvZGUgPSAwOwotICAgICAgICBz
ZXREYXRhKHRleHQsIGNvZGUpOwotICAgICAgICBBU1NFUlQoIWNvZGUpOwotICAgIH0KLSNlbmRp
ZgotCiAgICAgY3JlYXRlUmVuZGVyZXJJZk5lZWRlZCgpOwogICAgIENoYXJhY3RlckRhdGE6OmF0
dGFjaCgpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuY3Bw
CShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY4LDEzICs2OCw2IEBAIHVzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CiAKIGNvbnN0IGludCBtYXhFcnJvcnMgPSAyNTsKIAotI2lmIEVOQUJMRShXTUwp
Ci1ib29sIFhNTERvY3VtZW50UGFyc2VyOjppc1dNTERvY3VtZW50KCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gZG9jdW1lbnQoKS0+aXNXTUxEb2N1bWVudCgpOwotfQotI2VuZGlmCi0KIHZvaWQgWE1M
RG9jdW1lbnRQYXJzZXI6OnB1c2hDdXJyZW50Tm9kZShOb2RlKiBuKQogewogICAgIEFTU0VSVChu
KTsKQEAgLTMxMSwxNyArMzA0LDYgQEAgdm9pZCBYTUxEb2N1bWVudFBhcnNlcjo6aW5zZXJ0RXJy
b3JNZXNzYQogICAgICAgICBkb2N1bWVudEVsZW1lbnQgPSBib2R5LmdldCgpOwogICAgIH0KICNl
bmRpZgotI2lmIEVOQUJMRShXTUwpCi0gICAgZWxzZSBpZiAoaXNXTUxEb2N1bWVudCgpKSB7Ci0g
ICAgICAgIFJlZlB0cjxFbGVtZW50PiByb290RWxlbWVudCA9IGRvY3VtZW50LT5jcmVhdGVFbGVt
ZW50KGh0bWxUYWcsIGZhbHNlKTsKLSAgICAgICAgUmVmUHRyPEVsZW1lbnQ+IGJvZHkgPSBkb2N1
bWVudC0+Y3JlYXRlRWxlbWVudChib2R5VGFnLCBmYWxzZSk7Ci0gICAgICAgIHJvb3RFbGVtZW50
LT5hcHBlbmRDaGlsZChib2R5LCBlYyk7Ci0gICAgICAgIGJvZHktPmFwcGVuZENoaWxkKGRvY3Vt
ZW50RWxlbWVudCwgZWMpOwotICAgICAgICBkb2N1bWVudC0+YXBwZW5kQ2hpbGQocm9vdEVsZW1l
bnQuZ2V0KCksIGVjKTsKLSAgICAgICAgZG9jdW1lbnRFbGVtZW50ID0gYm9keS5nZXQoKTsKLSAg
ICB9Ci0jZW5kaWYKLQogICAgIFJlZlB0cjxFbGVtZW50PiByZXBvcnRFbGVtZW50ID0gY3JlYXRl
WEhUTUxQYXJzZXJFcnJvckhlYWRlcihkb2N1bWVudCwgbV9lcnJvck1lc3NhZ2VzKTsKICAgICBk
b2N1bWVudEVsZW1lbnQtPmluc2VydEJlZm9yZShyZXBvcnRFbGVtZW50LCBkb2N1bWVudEVsZW1l
bnQtPmZpcnN0Q2hpbGQoKSwgZWMpOwogI2lmIEVOQUJMRShYU0xUKQpJbmRleDogU291cmNlL1dl
YkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dl
YkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTk1LDEzICs5
NSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0SXNYSFRNTE1QRG9j
dW1lbnQoYm9vbCBpc1hIVE1MKSB7IG1faXNYSFRNTE1QRG9jdW1lbnQgPSBpc1hIVE1MOyB9CiAg
ICAgICAgIGJvb2wgaXNYSFRNTE1QRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2lzWEhUTUxN
UERvY3VtZW50OyB9CiAjZW5kaWYKLSNpZiBFTkFCTEUoV01MKQotICAgICAgICBib29sIGlzV01M
RG9jdW1lbnQoKSBjb25zdDsKLSNlbmRpZgogCiAgICAgICAgIHN0YXRpYyBib29sIHBhcnNlRG9j
dW1lbnRGcmFnbWVudChjb25zdCBTdHJpbmcmLCBEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCog
cGFyZW50ID0gMCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uID0gRnJhZ21lbnRTY3JpcHRp
bmdBbGxvd2VkKTsKIAotICAgICAgICAvLyBXTUxFcnJvckhhbmRsaW5nIHVzZXMgdGhlc2UgZnVu
Y3Rpb25zLgorICAgICAgICAvLyBGSVhNRTogVGhpcyBmdW5jdGlvbiB1c2VkIHRvIGJlIHVzZWQg
YnkgV01MLiBDYW4gd2UgcmVtb3ZlIGl0PwogICAgICAgICB2aXJ0dWFsIGJvb2wgd2VsbEZvcm1l
ZCgpIGNvbnN0IHsgcmV0dXJuICFtX3Nhd0Vycm9yOyB9CiAKICAgICAgICAgVGV4dFBvc2l0aW9u
MCB0ZXh0UG9zaXRpb24oKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1
bWVudFBhcnNlckxpYnhtbDIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Y
TUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDYzLDE4ICsxMDYzLDggQEAgdm9pZCBYTUxEb2N1bWVudFBhcnNlcjo6aW50ZXJuYWxTdWJz
ZXQoYwogICAgIH0KIAogICAgIGlmIChkb2N1bWVudCgpKSB7Ci0jaWYgRU5BQkxFKFdNTCkgfHwg
RU5BQkxFKFhIVE1MTVApCi0gICAgICAgIFN0cmluZyBleHRJZCA9IHRvU3RyaW5nKGV4dGVybmFs
SUQpOwotI2VuZGlmCi0jaWYgRU5BQkxFKFdNTCkKLSAgICAgICAgaWYgKGlzV01MRG9jdW1lbnQo
KQotICAgICAgICAgICAgJiYgZXh0SWQgIT0gIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMy8vRU4i
Ci0gICAgICAgICAgICAmJiBleHRJZCAhPSAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4yLy9FTiIK
LSAgICAgICAgICAgICYmIGV4dElkICE9ICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIgot
ICAgICAgICAgICAgJiYgZXh0SWQgIT0gIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMC8vRU4iKQot
ICAgICAgICAgICAgaGFuZGxlRXJyb3IoZmF0YWwsICJJbnZhbGlkIERURCBQdWJsaWMgSUQiLCBs
aW5lTnVtYmVyKCksIGNvbHVtbk51bWJlcigpKTsKLSNlbmRpZgogI2lmIEVOQUJMRShYSFRNTE1Q
KQorICAgICAgICBTdHJpbmcgZXh0SWQgPSB0b1N0cmluZyhleHRlcm5hbElEKTsKICAgICAgICAg
U3RyaW5nIGR0ZE5hbWUgPSB0b1N0cmluZyhuYW1lKTsKICAgICAgICAgaWYgKGV4dElkID09ICIt
Ly9XQVBGT1JVTS8vRFREIFhIVE1MIE1vYmlsZSAxLjAvL0VOIgogICAgICAgICAgICAgfHwgZXh0
SWQgPT0gIi0vL1dBUEZPUlVNLy9EVEQgWEhUTUwgTW9iaWxlIDEuMS8vRU4iKSB7CkBAIC0xMjM4
LDkgKzEyMjgsNiBAQCBzdGF0aWMgeG1sRW50aXR5UHRyIGdldEVudGl0eUhhbmRsZXIodm9pCiAj
aWYgRU5BQkxFKFhIVE1MTVApCiAgICAgICAgICAgICAgICAgIHx8IGdldFBhcnNlcihjbG9zdXJl
KS0+aXNYSFRNTE1QRG9jdW1lbnQoKQogI2VuZGlmCi0jaWYgRU5BQkxFKFdNTCkKLSAgICAgICAg
ICAgICAgICAgfHwgZ2V0UGFyc2VyKGNsb3N1cmUpLT5pc1dNTERvY3VtZW50KCkKLSNlbmRpZgog
ICAgICAgICkpIHsKICAgICAgICAgZW50ID0gZ2V0WEhUTUxFbnRpdHkobmFtZSk7CiAgICAgICAg
IGlmIChlbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJRdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyUXQu
Y3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBh
cnNlclF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIyLDkgKzQyMiw2IEBAIHZvaWQgWE1MRG9j
dW1lbnRQYXJzZXI6OnBhcnNlKCkKICNpZiBFTkFCTEUoWEhUTUxNUCkKICAgICAgICAgICAgICAg
ICB8fCBpc1hIVE1MTVBEb2N1bWVudCgpCiAjZW5kaWYKLSNpZiBFTkFCTEUoV01MKQotICAgICAg
ICAgICAgICAgIHx8IGlzV01MRG9jdW1lbnQoKQotI2VuZGlmCiAgICAgICAgICAgICAgICApIHsK
ICAgICAgICAgICAgICAgICBRU3RyaW5nIGVudGl0eSA9IG1fc3RyZWFtLm5hbWUoKS50b1N0cmlu
ZygpOwogICAgICAgICAgICAgICAgIFVDaGFyIGMgPSBkZWNvZGVOYW1lZEVudGl0eShlbnRpdHku
dG9VdGY4KCkuY29uc3REYXRhKCkpOwpAQCAtNzE4LDE0ICs3MTUsNiBAQCB2b2lkIFhNTERvY3Vt
ZW50UGFyc2VyOjpwYXJzZUR0ZCgpCiAgICAgICAgICAgICBzZXRJc1hIVE1MRG9jdW1lbnQodHJ1
ZSk7CiAgICAgfQogI2VuZGlmCi0jaWYgRU5BQkxFKFdNTCkKLSAgICBlbHNlIGlmIChkb2N1bWVu
dCgpLT5pc1dNTERvY3VtZW50KCkKLSAgICAgICAgICAgICAmJiBwdWJsaWNJZCAhPSBRTGF0aW4x
U3RyaW5nKCItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjMvL0VOIikKLSAgICAgICAgICAgICAmJiBw
dWJsaWNJZCAhPSBRTGF0aW4xU3RyaW5nKCItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjIvL0VOIikK
LSAgICAgICAgICAgICAmJiBwdWJsaWNJZCAhPSBRTGF0aW4xU3RyaW5nKCItLy9XQVBGT1JVTS8v
RFREIFdNTCAxLjEvL0VOIikKLSAgICAgICAgICAgICAmJiBwdWJsaWNJZCAhPSBRTGF0aW4xU3Ry
aW5nKCItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjAvL0VOIikpCi0gICAgICAgIGhhbmRsZUVycm9y
KGZhdGFsLCAiSW52YWxpZCBEVEQgUHVibGljIElEIiwgbGluZU51bWJlcigpLCBjb2x1bW5OdW1i
ZXIoKSk7Ci0jZW5kaWYKICAgICBpZiAoIW1fcGFyc2luZ0ZyYWdtZW50KQogICAgICAgICBkb2N1
bWVudCgpLT5wYXJzZXJBZGRDaGlsZChEb2N1bWVudFR5cGU6OmNyZWF0ZShkb2N1bWVudCgpLCBu
YW1lLCBwdWJsaWNJZCwgc3lzdGVtSWQpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9odG1sZWRpdGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9o
dG1sZWRpdGluZy5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9odG1sZWRpdGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDEwICs0OCw2IEBACiAjaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rl
ck5hbWVzLmg+CiAKLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jZW5k
aWYKLQogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODQs
OSArODAsNiBAQCBib29sIGNhbkhhdmVDaGlsZHJlbkZvckVkaXRpbmcoY29uc3QgTm9kCiAgICAg
ICAgICYmICFub2RlLT5oYXNUYWdOYW1lKGVtYmVkVGFnKQogICAgICAgICAmJiAhbm9kZS0+aGFz
VGFnTmFtZShhcHBsZXRUYWcpCiAgICAgICAgICYmICFub2RlLT5oYXNUYWdOYW1lKHNlbGVjdFRh
ZykKLSNpZiBFTkFCTEUoV01MKQotICAgICAgICAmJiAhbm9kZS0+aGFzVGFnTmFtZShXTUxOYW1l
czo6ZG9UYWcpCi0jZW5kaWYKICAgICAgICAgJiYgKCFub2RlLT5oYXNUYWdOYW1lKGhyVGFnKSB8
fCBub2RlLT5oYXNDaGlsZE5vZGVzKCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9oaXN0
b3J5L0JhY2tGb3J3YXJkTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2hpc3Rv
cnkvQmFja0ZvcndhcmRMaXN0LmgJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9CYWNrRm9yd2FyZExpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsMTQgKzU1LDYg
QEAgcHVibGljOiAKIAogICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgpID0gMDsKIAotI2lmIEVOQUJM
RShXTUwpCi0gICAgLy8gRklYTUU6IFJlbmFtZSB0aGlzIHRvIGp1c3QgImNsZWFyIiBhbmQgY2hh
bmdlIGl0IHNvIGl0J3Mgbm90Ci0gICAgLy8gV01MLXNwZWNpZmljLiBUaGlzIGlzIHRoZSBzYW1l
IG9wZXJhdGlvbiBhcyBjbGVhckJhY2tGb3J3YXJkTGlzdAotICAgIC8vIGluIHRoZSBsYXlvdXQg
dGVzdCBjb250cm9sbGVyOyBpdCB3b3VsZCBiZSByZWFzb25hYmxlIHRvIGhhdmUgaXQKLSAgICAv
LyBoZXJlIGV2ZW4gdGhvdWdoIEhUTUwgRE9NIGludGVyZmFjZXMgZG9uJ3QgcmVxdWlyZSBpdC4K
LSAgICB2aXJ0dWFsIHZvaWQgY2xlYXJXTUxQYWdlSGlzdG9yeSgpICA9IDA7Ci0jZW5kaWYKLQog
ICAgIC8vIEZJWE1FOiBEZWxldGUgdGhlc2Ugb25jZSBhbGwgY2FsbGVycyBhcmUgdXNpbmcgQmFj
a0ZvcndhcmRDb250cm9sbGVyCiAgICAgLy8gaW5zdGVhZCBvZiBjYWxsaW5nIHRoaXMgZGlyZWN0
bHkuCiAgICAgSGlzdG9yeUl0ZW0qIGJhY2tJdGVtKCkgeyByZXR1cm4gaXRlbUF0SW5kZXgoLTEp
OyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkTGlzdEltcGwuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRMaXN0SW1w
bC5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZExpc3RJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjg1LDIyICsyODUsNCBAQCBib29s
IEJhY2tGb3J3YXJkTGlzdEltcGw6OmNvbnRhaW5zSXRlbShICiAgICAgcmV0dXJuIG1fZW50cnlI
YXNoLmNvbnRhaW5zKGVudHJ5KTsKIH0KIAotI2lmIEVOQUJMRShXTUwpCi12b2lkIEJhY2tGb3J3
YXJkTGlzdEltcGw6OmNsZWFyV01MUGFnZUhpc3RvcnkoKQotewotICAgIFJlZlB0cjxIaXN0b3J5
SXRlbT4gY3VycmVudEl0ZW0gPSB0aGlzLT5jdXJyZW50SXRlbSgpOwotCi0gICAgaW50IHNpemUg
PSBtX2VudHJpZXMuc2l6ZSgpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQot
ICAgICAgICBwYWdlQ2FjaGUoKS0+cmVtb3ZlKG1fZW50cmllc1tpXS5nZXQoKSk7Ci0KLSAgICBt
X2VudHJpZXMuY2xlYXIoKTsKLSAgICBtX2VudHJ5SGFzaC5jbGVhcigpOwotICAgIG1fY3VycmVu
dCA9IE5vQ3VycmVudEl0ZW1JbmRleDsKLQotICAgIC8vIFNwZWM6IFRoZSBoaXN0b3J5IHN0YWNr
IG1heSBiZSByZXNldCB0byBhIHN0YXRlIHdoZXJlIGl0IG9ubHkgY29udGFpbnMgdGhlIGN1cnJl
bnQgY2FyZC4KLSAgICBhZGRJdGVtKGN1cnJlbnRJdGVtKTsKLX0KLSNlbmRpZgotCiB9OyAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2Fy
ZExpc3RJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZExpc3RJbXBsLmgJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9CYWNrRm9yd2FyZExpc3RJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDEzICs3MSw5IEBA
IHB1YmxpYzogCiAKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKICAgICBib29sIGNsb3NlZCgp
OwotICAgIAorCiAgICAgdm9pZCByZW1vdmVJdGVtKEhpc3RvcnlJdGVtKik7CiAgICAgSGlzdG9y
eUl0ZW1WZWN0b3ImIGVudHJpZXMoKTsKLSAgICAKLSNpZiBFTkFCTEUoV01MKQotICAgIHZpcnR1
YWwgdm9pZCBjbGVhcldNTFBhZ2VIaXN0b3J5KCk7Ci0jZW5kaWYKIAogcHJpdmF0ZToKICAgICBC
YWNrRm9yd2FyZExpc3RJbXBsKFBhZ2UqKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
UGFnZUNhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VD
YWNoZS5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdl
Q2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzksMTAgKzI3OSw2IEBAIGJvb2wgUGFnZUNh
Y2hlOjpjYW5DYWNoZVBhZ2VDb250YWluaW5nVGgKICAgICAgICAgLy8gYXBwbGljYXRpb24gY2Fj
aGUuIDxyZGFyOi8vcHJvYmxlbS81OTE3ODk5PiB0cmFja3MgdGhhdCB3b3JrLgogICAgICAgICAm
JiBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPmFwcGxpY2F0aW9uQ2FjaGVIb3N0
KCktPmNhbkNhY2hlSW5QYWdlQ2FjaGUoKQogI2VuZGlmCi0jaWYgRU5BQkxFKFdNTCkKLSAgICAg
ICAgJiYgIWZyYW1lLT5kb2N1bWVudCgpLT5jb250YWluc1dNTENvbnRlbnQoKQotICAgICAgICAm
JiAhZnJhbWUtPmRvY3VtZW50KCktPmlzV01MRG9jdW1lbnQoKQotI2VuZGlmCiAgICAgICAgICYm
IGZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmNhbkNhY2hlUGFnZSgpOwogfQogICAgIApJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAkocmV2aXNpb24gODUyNDIp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyOCw3ICsxMjgsNyBAQCBwcml2YXRlOgogICAgIHVpbnQzMl90IG1fbGlua1JlbGF0
aW9uczsKIH07CiAKLS8vIEZ1bmN0aW9ucyBzaGFyZWQgd2l0aCB0aGUgb3RoZXIgYW5jaG9yIGVs
ZW1lbnRzIChTVkcgYW5kIFdNTCkuCisvLyBGdW5jdGlvbnMgc2hhcmVkIHdpdGggdGhlIG90aGVy
IGFuY2hvciBlbGVtZW50cyAoaS5lLiwgU1ZHKS4KIAogYm9vbCBpc0VudGVyS2V5S2V5ZG93bkV2
ZW50KEV2ZW50Kik7CiBib29sIGlzTWlkZGxlTW91c2VCdXR0b25FdmVudChFdmVudCopOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCShyZXZpc2lv
biA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDYgQEAgc3RhdGljIFN0cmluZyBtZXNzYWdlU291
cmNlVmFsdWUoTWVzc2FnZQogewogICAgIHN3aXRjaCAoc291cmNlKSB7CiAgICAgY2FzZSBIVE1M
TWVzc2FnZVNvdXJjZTogcmV0dXJuICJodG1sIjsKLSAgICBjYXNlIFdNTE1lc3NhZ2VTb3VyY2U6
IHJldHVybiAid21sIjsKICAgICBjYXNlIFhNTE1lc3NhZ2VTb3VyY2U6IHJldHVybiAieG1sIjsK
ICAgICBjYXNlIEpTTWVzc2FnZVNvdXJjZTogcmV0dXJuICJqYXZhc2NyaXB0IjsKICAgICBjYXNl
IENTU01lc3NhZ2VTb3VyY2U6IHJldHVybiAiY3NzIjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwkocmV2aXNpb24gODUyNDIp
CisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC05NDksOSArOTQ5LDYgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNz
YWdlLnByb3RvdHlwZSA9IAogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuQ29uc29sZU1l
c3NhZ2UuTWVzc2FnZVNvdXJjZS5IVE1MOgogICAgICAgICAgICAgICAgIHNvdXJjZVN0cmluZyA9
ICJIVE1MIjsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgV2ViSW5z
cGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VTb3VyY2UuV01MOgotICAgICAgICAgICAgICAg
IHNvdXJjZVN0cmluZyA9ICJXTUwiOwotICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVNvdXJjZS5YTUw6CiAg
ICAgICAgICAgICAgICAgc291cmNlU3RyaW5nID0gIlhNTCI7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CkBAIC0xMDQ4LDcgKzEwNDUsNiBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UucHJv
dG90eXBlID0gCiAvLyBOb3RlOiBLZWVwIHRoZXNlIGNvbnN0YW50cyBpbiBzeW5jIHdpdGggdGhl
IG9uZXMgaW4gQ29uc29sZS5oCiBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVNv
dXJjZSA9IHsKICAgICBIVE1MOiAiaHRtbCIsCi0gICAgV01MOiAid21sIiwKICAgICBYTUw6ICJ4
bWwiLAogICAgIEpTOiAiamF2YXNjcmlwdCIsCiAgICAgQ1NTOiAiY3NzIiwKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDYsNyAr
MTQ2LDYgQEAgYm9vbCBpc0JhY2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZQogICAgICAg
ICBjYXNlIEZyYW1lTG9hZFR5cGVSZXBsYWNlOgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICBjYXNlIEZyYW1lTG9hZFR5cGVCYWNrOgotICAgICAgICBjYXNlIEZyYW1lTG9hZFR5
cGVCYWNrV01MRGVja05vdEFjY2Vzc2libGU6CiAgICAgICAgIGNhc2UgRnJhbWVMb2FkVHlwZUZv
cndhcmQ6CiAgICAgICAgIGNhc2UgRnJhbWVMb2FkVHlwZUluZGV4ZWRCYWNrRm9yd2FyZDoKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTEyOSwxNyArMTEyOCw2IEBAIHZvaWQgRnJhbWVM
b2FkZXI6OndpbGxTZXRFbmNvZGluZygpCiAgICAgICAgIHJlY2VpdmVkRmlyc3REYXRhKCk7CiB9
CiAKLSNpZiBFTkFCTEUoV01MKQotc3RhdGljIGlubGluZSBib29sIGZyYW1lQ29udGFpbnNXTUxD
b250ZW50KEZyYW1lKiBmcmFtZSkKLXsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZSA/
IGZyYW1lLT5kb2N1bWVudCgpIDogMDsKLSAgICBpZiAoIWRvY3VtZW50KQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gZG9jdW1lbnQtPmNvbnRhaW5zV01MQ29udGVudCgpIHx8
IGRvY3VtZW50LT5pc1dNTERvY3VtZW50KCk7Ci19Ci0jZW5kaWYKLQogdm9pZCBGcmFtZUxvYWRl
cjo6dXBkYXRlRmlyc3RQYXJ0eUZvckNvb2tpZXMoKQogewogICAgIGlmIChtX2ZyYW1lLT50cmVl
KCktPnBhcmVudCgpKQpAQCAtMjAyMSw3ICsyMDA5LDYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6dHJh
bnNpdGlvblRvQ29tbWl0dGVkKAogICAgIHN3aXRjaCAobV9sb2FkVHlwZSkgewogICAgICAgICBj
YXNlIEZyYW1lTG9hZFR5cGVGb3J3YXJkOgogICAgICAgICBjYXNlIEZyYW1lTG9hZFR5cGVCYWNr
OgotICAgICAgICBjYXNlIEZyYW1lTG9hZFR5cGVCYWNrV01MRGVja05vdEFjY2Vzc2libGU6CiAg
ICAgICAgIGNhc2UgRnJhbWVMb2FkVHlwZUluZGV4ZWRCYWNrRm9yd2FyZDoKICAgICAgICAgICAg
IGlmIChtX2ZyYW1lLT5wYWdlKCkpIHsKICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgZmlyc3Qg
bG9hZCB3aXRoaW4gYSBmcmFtZSBpcyBhIG5hdmlnYXRpb24gd2l0aGluIGEgYmFjay9mb3J3YXJk
IGxpc3QgdGhhdCB3YXMgYXR0YWNoZWQKQEAgLTIxMTksMTIgKzIxMDYsNiBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpjbGllbnRSZWRpcmVjdGVkKGNvbnN0CiAKIGJvb2wgRnJhbWVMb2FkZXI6OnNob3Vs
ZFJlbG9hZChjb25zdCBLVVJMJiBjdXJyZW50VVJMLCBjb25zdCBLVVJMJiBkZXN0aW5hdGlvblVS
TCkKIHsKLSNpZiBFTkFCTEUoV01MKQotICAgIC8vIEFsbCBXTUwgZGVja3MgYXJlIHN1cHBvc2Vk
IHRvIGJlIHJlbG9hZGVkLCBldmVuIHdpdGhpbiB0aGUgc2FtZSBVUkwgZnJhZ21lbnQKLSAgICBp
ZiAoZnJhbWVDb250YWluc1dNTENvbnRlbnQobV9mcmFtZSkpCi0gICAgICAgIHJldHVybiB0cnVl
OwotI2VuZGlmCi0KICAgICAvLyBUaGlzIGZ1bmN0aW9uIGltcGxlbWVudHMgdGhlIHJ1bGU6ICJE
b24ndCByZWxvYWQgaWYgbmF2aWdhdGluZyBieSBmcmFnbWVudCB3aXRoaW4KICAgICAvLyB0aGUg
c2FtZSBVUkwsIGJ1dCBkbyByZWxvYWQgaWYgZ29pbmcgdG8gYSBuZXcgVVJMIG9yIHRvIHRoZSBz
YW1lIFVSTCB3aXRoIG5vCiAgICAgLy8gZnJhZ21lbnQgaWRlbnRpZmllciBhdCBhbGwuIgpAQCAt
MzI3MSw3ICszMjUyLDYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZERpZmZlcmVudERvY3VtZW50
SQogICAgICAgICAgICAgICAgIHJlcXVlc3Quc2V0Q2FjaGVQb2xpY3koUmVsb2FkSWdub3JpbmdD
YWNoZURhdGEpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBGcmFt
ZUxvYWRUeXBlQmFjazoKLSAgICAgICAgICAgIGNhc2UgRnJhbWVMb2FkVHlwZUJhY2tXTUxEZWNr
Tm90QWNjZXNzaWJsZToKICAgICAgICAgICAgIGNhc2UgRnJhbWVMb2FkVHlwZUZvcndhcmQ6CiAg
ICAgICAgICAgICBjYXNlIEZyYW1lTG9hZFR5cGVJbmRleGVkQmFja0ZvcndhcmQ6CiAgICAgICAg
ICAgICAgICAgLy8gSWYgdGhlIGZpcnN0IGxvYWQgd2l0aGluIGEgZnJhbWUgaXMgYSBuYXZpZ2F0
aW9uIHdpdGhpbiBhIGJhY2svZm9yd2FyZCBsaXN0IHRoYXQgd2FzIGF0dGFjaGVkIApAQCAtMzMw
MiwxNyArMzI4Miw2IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRJdGVtKEhpc3RvcnlJdGVtKiAK
ICAgICBIaXN0b3J5SXRlbSogY3VycmVudEl0ZW0gPSBoaXN0b3J5KCktPmN1cnJlbnRJdGVtKCk7
CiAgICAgYm9vbCBzYW1lRG9jdW1lbnROYXZpZ2F0aW9uID0gY3VycmVudEl0ZW0gJiYgaXRlbS0+
c2hvdWxkRG9TYW1lRG9jdW1lbnROYXZpZ2F0aW9uVG8oY3VycmVudEl0ZW0pOwogCi0jaWYgRU5B
QkxFKFdNTCkKLSAgICAvLyBBbGwgV01MIGRlY2tzIHNob3VsZCBnbyB0aHJvdWdoIHRoZSByZWFs
IGxvYWQgbWVjaGFuaXNtLCBub3QgdGhlIHNjcm9sbC10by1hbmNob3IgY29kZQotICAgIC8vIEZJ
WE1FOiBXaHkgZG8gV01MIGRlY2tzIGhhdmUgdGhpcyBkaWZmZXJlbnQgYmVoYXZpb3I/Ci0gICAg
Ly8gQXJlIFdNTCBkZWNrcyBpbmNvbXBhdGlibGUgd2l0aCBIVE1MNSBwdXNoU3RhdGUvcmVwbGFj
ZVN0YXRlIHdoaWNoIHJlcXVpcmUgaW50ZXItZG9jdW1lbnQgaGlzdG9yeSBuYXZpZ2F0aW9ucz8K
LSAgICAvLyBTaG91bGQgdGhpcyBuZXcgQVBJIGJlIGRpc2FibGVkIGZvciBXTUwgcGFnZXMsIG9y
IGRvZXMgV01MIG5lZWQgdG8gdXBkYXRlIHRoZWlyIG1lY2hhbmlzbSB0byBhY3QgbGlrZSBub3Jt
YWwgbG9hZHM/Ci0gICAgLy8gSWYgc2Nyb2xsLXRvLWFuY2hvciBuYXZpZ2F0aW9ucyB3ZXJlIGJy
b2tlbiBmb3IgV01MIGFuZCByZXF1aXJlZCB0aGVtIHRvIGhhdmUgZGlmZmVyZW50IGxvYWRpbmcg
YmVoYXZpb3IsIHRoZW4gIAotICAgIC8vIHN0YXRlIG9iamVjdCBsb2FkcyBhcmUgY2VydGFpbmx5
IGFsc28gYnJva2VuIGZvciB0aGVtLgotICAgIGlmIChmcmFtZUNvbnRhaW5zV01MQ29udGVudCht
X2ZyYW1lKSkKLSAgICAgICAgc2FtZURvY3VtZW50TmF2aWdhdGlvbiA9IGZhbHNlOwotI2VuZGlm
Ci0KICAgICBpZiAoc2FtZURvY3VtZW50TmF2aWdhdGlvbikKICAgICAgICAgbG9hZFNhbWVEb2N1
bWVudEl0ZW0oaXRlbSk7CiAgICAgZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyVHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXJUeXBlcy5oCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlclR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDYgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBGcmFtZUxvYWRUeXBlUmVkaXJlY3RXaXRoTG9ja2Vk
QmFja0ZvcndhcmRMaXN0LCAvLyBGSVhNRTogTWVyZ2UgImxvY2tCYWNrRm9yd2FyZExpc3QiLCAi
bG9ja0hpc3RvcnkiLCAicXVpY2tSZWRpcmVjdCIgYW5kICJjbGllbnRSZWRpcmVjdCIgaW50byBh
IHNpbmdsZSBjb25jZXB0IG9mIHJlZGlyZWN0LgogICAgICAgICBGcmFtZUxvYWRUeXBlUmVwbGFj
ZSwKICAgICAgICAgRnJhbWVMb2FkVHlwZVJlbG9hZEZyb21PcmlnaW4sCi0gICAgICAgIEZyYW1l
TG9hZFR5cGVCYWNrV01MRGVja05vdEFjY2Vzc2libGUKICAgICB9OwogCiAgICAgZW51bSBOYXZp
Z2F0aW9uVHlwZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xs
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJv
bGxlci5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3Rv
cnlDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg3LDcgKzE4Nyw2IEBAIHZvaWQg
SGlzdG9yeUNvbnRyb2xsZXI6OnJlc3RvcmVEb2N1bWVudFMKICAgICAgICAgY2FzZSBGcmFtZUxv
YWRUeXBlUmVwbGFjZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEZyYW1lTG9h
ZFR5cGVCYWNrOgotICAgICAgICBjYXNlIEZyYW1lTG9hZFR5cGVCYWNrV01MRGVja05vdEFjY2Vz
c2libGU6CiAgICAgICAgIGNhc2UgRnJhbWVMb2FkVHlwZUZvcndhcmQ6CiAgICAgICAgIGNhc2Ug
RnJhbWVMb2FkVHlwZUluZGV4ZWRCYWNrRm9yd2FyZDoKICAgICAgICAgY2FzZSBGcmFtZUxvYWRU
eXBlUmVkaXJlY3RXaXRoTG9ja2VkQmFja0ZvcndhcmRMaXN0OgpJbmRleDogU291cmNlL1dlYkNv
cmUvbWFudWFsLXRlc3RzL3dtbC9TdGFydFRlc3RzLndtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL1N0YXJ0VGVzdHMud21sCShyZXZpc2lvbiA4NTI0MikK
KysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvU3RhcnRUZXN0cy53bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsMzUgKzAsMCBAQAotPHdtbD4KLTxjYXJkPgotPGEgaHJlZj0iYS1ici1l
bGVtZW50LndtbCI+YS1ici1lbGVtZW50LndtbDwvYT48YnIvPgotPGEgaHJlZj0iYS1lbGVtZW50
LndtbCI+YS1lbGVtZW50LndtbDwvYT48YnIvPgotPGEgaHJlZj0iYS1pbWctZWxlbWVudC53bWwi
PmEtaW1nLWVsZW1lbnQud21sPC9hPjxici8+Ci08YSBocmVmPSJhY2Nlc3MtdGFyZ2V0LndtbCI+
YWNjZXNzLXRhcmdldC53bWw8L2E+PGJyLz4KLTxhIGhyZWY9ImFuY2hvci1ici1lbGVtZW50Lndt
bCI+YW5jaG9yLWJyLWVsZW1lbnQud21sPC9hPjxici8+Ci08YSBocmVmPSJhbmNob3ItZWxlbWVu
dC53bWwiPmFuY2hvci1lbGVtZW50LndtbDwvYT48YnIvPgotPGEgaHJlZj0iYW5jaG9yLWltZy1l
bGVtZW50LndtbCI+YW5jaG9yLWltZy1lbGVtZW50LndtbDwvYT48YnIvPgotPGEgaHJlZj0iY2Fy
ZC1uZXdjb250ZXh0LWF0dHIud21sIj5jYXJkLW5ld2NvbnRleHQtYXR0ci53bWw8L2E+PGJyLz4K
LTxhIGhyZWY9ImNhcmQtb25lbnRlcmJhY2t3YXJkLndtbCI+Y2FyZC1vbmVudGVyYmFja3dhcmQu
d21sPC9hPjxici8+Ci08YSBocmVmPSJjYXJkLW9uZW50ZXJmb3J3YXJkLndtbCI+Y2FyZC1vbmVu
dGVyZm9yd2FyZC53bWw8L2E+PGJyLz4KLTxhIGhyZWY9ImNhcmQtb250aW1lci53bWwiPmNhcmQt
b250aW1lci53bWw8L2E+PGJyLz4KLTxhIGhyZWY9ImRlY2stYWNjZXNzLWNvbnRyb2wud21sIj5k
ZWNrLWFjY2Vzcy1jb250cm9sLndtbDwvYT48YnIvPgotPGEgaHJlZj0iZ28tZWxlbWVudC53bWwi
PmdvLWVsZW1lbnQud21sPC9hPjxici8+Ci08YSBocmVmPSJpbnB1dC1mb3JtYXQud21sIj5pbnB1
dC1mb3JtYXQud21sPC9hPjxici8+Ci08YSBocmVmPSJvbmV2ZW50LWdvLndtbCI+b25ldmVudC1n
by53bWw8L2E+PGJyLz4KLTxhIGhyZWY9Im9uZXZlbnQtbm9vcC53bWwiPm9uZXZlbnQtbm9vcC53
bWw8L2E+PGJyLz4KLTxhIGhyZWY9Im9uZXZlbnQtcHJldi53bWwiPm9uZXZlbnQtcHJldi53bWw8
L2E+PGJyLz4KLTxhIGhyZWY9Im9uZXZlbnQtcmVmcmVzaC53bWwiPm9uZXZlbnQtcmVmcmVzaC53
bWw8L2E+PGJyLz4KLTxhIGhyZWY9Im9uZXZlbnQtc2hhZG93LndtbCI+b25ldmVudC1zaGFkb3cu
d21sPC9hPjxici8+Ci08YSBocmVmPSJzZWxlY3QtZWxlbWVudC53bWwiPnNlbGVjdC1lbGVtZW50
LndtbDwvYT48YnIvPgotPGEgaHJlZj0ic2VsZWN0LW9ucGljay1ldmVudC53bWwiPnNlbGVjdC1v
bnBpY2stZXZlbnQud21sPC9hPjxici8+Ci08YSBocmVmPSJzZXR2YXItZWxlbWVudC53bWwiPnNl
dHZhci1lbGVtZW50LndtbDwvYT48YnIvPgotPGEgaHJlZj0idGFyZ2V0ZGVjay53bWwiPnRhcmdl
dGRlY2sud21sPC9hPjxici8+Ci08YSBocmVmPSJ0YXNrLWdvLWluLWFuY2hvci53bWwiPnRhc2st
Z28taW4tYW5jaG9yLndtbDwvYT48YnIvPgotPGEgaHJlZj0idGFzay1ub29wLWluLWRvLndtbCI+
dGFzay1ub29wLWluLWRvLndtbDwvYT48YnIvPgotPGEgaHJlZj0idGFzay1wcmV2LWluLWFuY2hv
ci53bWwiPnRhc2stcHJldi1pbi1hbmNob3Iud21sPC9hPjxici8+Ci08YSBocmVmPSJ0YXNrLXJl
ZnJlc2gtaW4tYW5jaG9yLndtbCI+dGFzay1yZWZyZXNoLWluLWFuY2hvci53bWw8L2E+PGJyLz4K
LTxhIGhyZWY9InRlbXBsYXRlLWdvLndtbCI+dGVtcGxhdGUtZ28ud21sPC9hPjxici8+Ci08YSBo
cmVmPSJ0ZW1wbGF0ZS1vbnRpbWVyLndtbCI+dGVtcGxhdGUtb250aW1lci53bWw8L2E+PGJyLz4K
LTxhIGhyZWY9InRpbWVyLndtbCI+dGltZXIud21sPC9hPjxici8+Ci08YSBocmVmPSJ2YXJpYWJs
ZS1zdWJzdGl0dXRpb24ud21sIj52YXJpYWJsZS1zdWJzdGl0dXRpb24ud21sPC9hPjxici8+Ci08
L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYS1i
ci1lbGVtZW50LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMv
d21sL2EtYnItZWxlbWVudC53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUv
bWFudWFsLXRlc3RzL3dtbC9hLWJyLWVsZW1lbnQud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEx
ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0v
L1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQv
d21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCB0aXRsZT0iQSBlbGVtZW50IFRlc3QiPgot
ICAgICAgICA8cD5UZXN0IGZvciBBIGVsZW1lbnQgaW5jbHVkaW5nIEJSIGVsZW1lbnQ8L3A+Ci0g
ICAgICAgIDxwPgotICAgICAgICAgICAgIk5leHQgUGFnZSIgd2lsbCBiZSBicm9rZW4gYnkgQlIg
ZWxlbWVudCBiZXR3ZWVuIHRoZW08YnIvPgotICAgICAgICAgICAgPGEgaHJlZj0iU3RhcnRUZXN0
cy53bWwiPk5leHQgPGJyLz4gcGFnZTwvYT4KLSAgICAgICAgPC9wPgotICAgIDwvY2FyZD4KLTwv
d21sPiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYS1lbGVtZW50Lndt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2EtZWxlbWVu
dC53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dt
bC9hLWVsZW1lbnQud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01M
IDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdt
bD4KLSAgICA8Y2FyZCB0aXRsZT0iQSBlbGVtZW50IFRlc3QiPgotICAgICAgICA8cD5UZXN0IGZv
ciBBIGVsZW1lbnQuIDxici8+V2hlbiBtb3VzZSBtb3ZlcyBpbnRvIGxpbmssICJnbyB0byBTdGFy
dFRlc3RzLndtbCIgd2lsbCBhcHBlYXIsIGNsaWNrIHRoZSBsaW5rLCB3aWxsIGp1bXAgdG8gU3Rh
cnRUZXN0cy53bWw8L3A+Ci0gICAgICAgIDxwPgotICAgICAgICAgICAgPGEgaHJlZj0iU3RhcnRU
ZXN0cy53bWwiIHRpdGxlPSJnbyB0byBTdGFydFRlc3RzLndtbCIgPk5leHQgcGFnZTwvYT4KLSAg
ICAgICAgPC9wPgotICAgIDwvY2FyZD4KLTwvd21sPiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21h
bnVhbC10ZXN0cy93bWwvYS1pbWctZWxlbWVudC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hLWltZy1lbGVtZW50LndtbAkocmV2aXNpb24gODUyNDIp
CisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2EtaW1nLWVsZW1lbnQud21sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDEwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFE
T0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8v
d3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCB0aXRs
ZT0iQSBlbGVtZW50IFRlc3QiPgotICAgICAgICA8cD5UZXN0IGZvciBBIGVsZW1lbnQgaW5jbHVk
aW5nIGltZyBlbGVtZW50LiA8L3A+Ci0gICAgICAgIDxwPgotICAgICAgICAgICAgPGEgaHJlZj0i
U3RhcnRUZXN0cy53bWwiIHRpdGxlPSJOZXh0IFBhZ2UiPjxpbWcgc3JjPSJyZXNvdXJjZXMvc21p
bGV5LnBuZyIvPjwvYT4KLSAgICAgICAgPC9wPgotICAgIDwvY2FyZD4KLTwvd21sPgpJbmRleDog
U291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hY2Nlc3MtdGFyZ2V0LndtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQud21s
CShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYWNj
ZXNzLXRhcmdldC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOSArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAx
LjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+
Ci0gICAgPGNhcmQgb250aW1lcj0iLi90YXJnZXRkZWNrLndtbCI+Ci0gICAgICAgIDx0aW1lciBu
YW1lPSJ0MSIgdmFsdWU9IjMwIi8+Ci0gICAgICAgIDxwPlRlc3QgZm9yIERlY2sgQWNjZXNzIGNv
bnRyb2wgaW4gV01MLjwvcD4KLSAgICAgICAgPHA+SWYgdGhlIHRlc3QgcGFzc2VzLCB0aGlzIGRl
Y2sgd2lsbCBqdW1wIHRvICJ0YXJnZXRkZWNrLndtbCIgYWZ0ZXIgMyBzZWNvbmQ8L3A+Ci0gICAg
PC9jYXJkPgotPC93bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2Fu
Y2hvci1ici1lbGVtZW50LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwt
dGVzdHMvd21sL2FuY2hvci1ici1lbGVtZW50LndtbAkocmV2aXNpb24gODUyNDIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2FuY2hvci1ici1lbGVtZW50LndtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiID8+Ci08IURPQ1RZ
UEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cu
d2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkIHRpdGxlPSJB
bmNob3IgVGFnIj4KLSAgICAgICAgPHA+VGVzdCBmb3IgYnIgZWxlbWVudCBlbmNsb3NlZCB3aXRo
IGFuY2hvciBlbGVtZW50PC9wPgotICAgICAgICA8cD4KLSAgICAgICAgICAgIDxhbmNob3I+PGdv
IGhyZWY9IlN0YXJ0VGVzdHMud21sIi8+R28gdG8gPGJyLz5TdGFydFRlc3RzLndtbDwvYW5jaG9y
PgotICAgICAgICA8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9tYW51YWwtdGVzdHMvd21sL2FuY2hvci1lbGVtZW50LndtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2FuY2hvci1lbGVtZW50LndtbAkocmV2aXNpb24g
ODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2FuY2hvci1lbGVtZW50
LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzMyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAi
Pz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAi
aHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGNh
cmQgdGl0bGU9IkFuY2hvciBUYWciPgotICAgICAgICA8cD5UaGlzIGlzIGFuIGFuY2hvciBib3Vu
ZCB0byBnbyB0YXNrPGJyLz4KLSAgICAgICAgICAgIDxhbmNob3I+Ci0gICAgICAgICAgICAgICAg
TmV4dCBwYWdlCi0gICAgICAgICAgICAgICAgPGdvIGhyZWY9ImFuY2hvci1pbWctZWxlbWVudC53
bWwiLz4KLSAgICAgICAgICAgIDwvYW5jaG9yPgotICAgICAgICA8L3A+Ci0KLSAgICAgICAgPHA+
VGhpcyBhbiBhbmNob3IgYm91bmQgdG8gcHJldiB0YXNrPGJyLz4KLSAgICAgICAgICAgIDxhbmNo
b3IgdGl0bGU9IlByZXZpb3VzIiA+UHJldiBwYWdlCi0gICAgICAgICAgICAgICAgPHByZXYvPgot
ICAgICAgICAgICAgPC9hbmNob3I+Ci0gICAgICAgIDwvcD4KLQotICAgICAgICA8cD5UaGlzIGFu
IGFuY2hvciBib3VuZCB0byByZWZyZXNoIHRhc2s8YnIvPgotICAgICAgICAgICAgPGFuY2hvciB0
aXRsZT0iUmVmcmVzaCI+UmVmcmVzaCAkdmFyCi0gICAgICAgICAgICAgICAgPHJlZnJlc2g+IAot
ICAgICAgICAgICAgICAgICAgICA8c2V0dmFyIG5hbWU9InZhciIgdmFsdWU9Im1lIi8+Ci0gICAg
ICAgICAgICAgICAgPC9yZWZyZXNoPgotICAgICAgICAgICAgPC9hbmNob3I+Ci0gICAgICAgIDwv
cD4KLQotICAgICAgICA8cD5UaGlzIGlzIGFuIGFuY2hvciBjb250YWlucyBpbWcgZWxlbWVudCwg
Ym91bmQgdG8gcHJldiB0YXNrPGJyLz4KLSAgICAgICAgICAgIDxhbmNob3IgdGl0bGU9ImNsaWNr
IHRvIGdvIGJhY2siPgotICAgICAgICAgICAgICAgIDxwcmV2Lz4KLSAgICAgICAgICAgICAgICA8
aW1nIHNyYz0icmVzb3VyY2VzL3NtaWxleS5wbmciLz4KLSAgICAgICAgICAgIDwvYW5jaG9yPgot
ICAgICAgICA8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9t
YW51YWwtdGVzdHMvd21sL2FuY2hvci1pbWctZWxlbWVudC53bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hbmNob3ItaW1nLWVsZW1lbnQud21sCShyZXZp
c2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYW5jaG9yLWlt
Zy1lbGVtZW50LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMCArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiID8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwg
MS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21s
PgotICAgIDxjYXJkIHRpdGxlPSJBbmNob3IgVGFnIj4KLSAgICAgICAgPHA+VGVzdCBmb3IgV01M
IGltZyBlbmNsb3NlZCB3aXRoIGFuY2hvciBlbGVtZW50LCB3aGVuIHRoZSBtb3VzZSBtb3ZlIGlu
dG8gdGhlIGltYWdlLCB0aGUgdGlwICJnbyB0byBTdGFydFRlc3RzLndtbCIgd2lsbCBhcHBlYXI8
L3A+Ci0gICAgICAgIDxwPgotICAgICAgICAgICAgPGFuY2hvciB0aXRsZT0iZ28gdG8gU3RhcnRU
ZXN0cy53bWwiPjxpbWcgc3JjPSJyZXNvdXJjZXMvc21pbGV5LnBuZyIvPiA8Z28gaHJlZj0iU3Rh
cnRUZXN0cy53bWwiLz48L2FuY2hvcj4KLSAgICAgICAgPC9wPgotICAgIDwvY2FyZD4KLTwvd21s
PgpJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9jYXJkLW5ld2NvbnRleHQt
YXR0ci53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9j
YXJkLW5ld2NvbnRleHQtYXR0ci53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNv
cmUvbWFudWFsLXRlc3RzL3dtbC9jYXJkLW5ld2NvbnRleHQtYXR0ci53bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21s
IFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9y
dW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkIGlkPSJmaXJzdGNhcmQi
IHRpdGxlPSJPbmUiPgotICAgICAgICA8cD5UZXN0IGZvciBuZXdjb250ZXh0IGF0dHJpYnV0ZSBv
ZiBjYXJkIGVsZW1lbnQ8L3A+Ci0gICAgICAgIDxwPlRoaXMgaXMgdGhlIGZpcnN0IGNhcmQsIENs
aWNrICJHbyIgdG8gZW50ZXIgY2FyZCB0d28uPGJyLz5CZWNhdXNlIG5ld2NvbnRleHQgb2YgY2Fy
ZCB0d28gaXMgdHJ1ZSwgdGhlIGhpc3Rvcnkgc3RhdGUgd2lsbCBiZSBjbGVhbiwgYW5kIHRoZSB2
YXJpYWJsZSAiJHZhcjEiIHdvbid0IGJlIHJlcGxhY2VkPC9wPgotICAgICAgICA8ZG8gdHlwZT0i
YWNjZXB0IiBsYWJlbD0iR28iPgotICAgICAgICAgICAgPGdvIGhyZWY9IiNzZWNvbmRjYXJkIj4K
LSAgICAgICAgICAgICAgICA8c2V0dmFyIG5hbWU9InZhcjEiIHZhbHVlPSJ0d28iLz4gCi0gICAg
ICAgICAgICA8L2dvPgotICAgICAgICA8L2RvPgotICAgIDwvY2FyZD4KLQotICAgIDxjYXJkIGlk
PSJzZWNvbmRjYXJkIiB0aXRsZT0iJHZhcjEiIG5ld2NvbnRleHQ9InRydWUiPgotICAgICAgICA8
cD5UaGlzIGlzIHRoZSBjYXJkICR2YXIxPC9wPgotICAgICAgICA8cD5CZWNhdXNlIG5ld2NvbnRl
eHQgb2YgdGhpcyBjYXJkIGlzIHRydWUsIHRoZSBoaXN0b3J5IHN0YXRlIHdpbGwgYmUgY2xlYW4s
IGFuZCB0aGUgdmFyaWFibGUgIiR2YXIxIiB3b24ndCBiZSByZXBsYWNlZDwvcD4KLSAgICA8L2Nh
cmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvY2FyZC1v
bmVudGVyYmFja3dhcmQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10
ZXN0cy93bWwvY2FyZC1vbmVudGVyYmFja3dhcmQud21sCShyZXZpc2lvbiA4NTI0MikKKysrIFNv
dXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvY2FyZC1vbmVudGVyYmFja3dhcmQud21sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDIzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFE
T0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8v
d3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCBpZD0i
Y2FyZDEiIHRpdGxlPSJDYXJkIDEiIG9uZW50ZXJiYWNrd2FyZD0iI2NhcmQzIj4gCi0gICAgICAg
IDxwPlRlc3QgZm9yIGNhcmQgb25lbnRlcmJhY2t3YXJkIGludHJpbnNpYyBldmVudDwvcD4KLSAg
ICAgICAgPHA+Q2xpY2sgIkdvIiB0byBqdW1wIHRvIHRoZSBjYXJkMiwgaWYgeW91IGdvIGJhY2sg
ZnJvbSBjYXJkMiwgaXQgd2lsbCBqdW1wIHRvIGNhcmQzPC9wPgotICAgICAgICA8YW5jaG9yIHRp
dGxlPSJnbyB0byBjYXJkMiI+Ci0gICAgICAgICAgICA8Z28gaHJlZj0iI2NhcmQyIj5HbzwvZ28+
Ci0gICAgICAgIDwvYW5jaG9yPgotICAgIDwvY2FyZD4KLQotICAgIDxjYXJkIGlkPSJjYXJkMiIg
dGl0bGU9IkNhcmQgMiI+IAotICAgICAgICA8cD5UaGlzIGlzIGNhcmQyLGNsaWNrICJCYWNrIiB3
aWxsIGJhY2sgdG8gdGhlIHByZXZpb3VzIHBhZ2U8L3A+IAotICAgICAgICA8YW5jaG9yPgotICAg
ICAgICAgICAgQmFjawotICAgICAgICAgICAgPHByZXYvPgotICAgICAgICA8L2FuY2hvcj4KLSAg
ICA8L2NhcmQ+Ci0KLSAgICA8Y2FyZCBpZD0iY2FyZDMiIHRpdGxlPSJDYXJkIDMiPgotICAgICAg
ICA8cD5UaGlzIGlzIGNhcmQzPC9wPgotICAgIDwvY2FyZD4KLTwvd21sPiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvY2FyZC1vbmVudGVyZm9yd2FyZC53bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9jYXJkLW9uZW50ZXJmb3J3
YXJkLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMv
d21sL2NhcmQtb25lbnRlcmZvcndhcmQud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZP
UlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEu
MS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCBpZD0iY2FyZDEiIHRpdGxlPSJDYXJkIDEiIG9uZW50
ZXJmb3J3YXJkPSIjY2FyZDIiPgotICAgICAgICA8cD5UZXN0IGZvciBjYXJkIG9uZW50ZXJmb3J3
YXJkIGV2ZW50PC9wPgotICAgICAgICA8cD5DYXJkIG9uZSB3aWxsIGp1bXAgdG8gY2FyZCB0d28g
d2hlbiBlbnRlcmVkIGZvcndhcmQgaXQ8L3A+Ci0gICAgPC9jYXJkPgotCi0gICAgPGNhcmQgaWQ9
ImNhcmQyIiB0aXRsZT0iQ2FyZCAyIj4KLSAgICAgICAgPHA+VGVzdCBmb3IgY2FyZCBvbmVudGVy
Zm9yd2FyZCBldmVudDwvcD4KLSAgICAgICAgPHA+VGhpcyBpcyBjYXJkMiwgSSBhbSBlbnRlcmVk
IGJ5IGNhcmQgb25lIGZvcndhcmRpbmc8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2NhcmQtb250aW1lci53bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9jYXJkLW9udGltZXIud21sCShy
ZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvY2FyZC1v
bnRpbWVyLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwyMSArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEv
L0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0g
ICAgPGhlYWQ+Ci0gICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNhY2hlLUNvbnRyb2wiIGNvbnRl
bnQ9Im1heC1hZ2U9MCIvPgotICAgIDwvaGVhZD4KLQotICAgIDxjYXJkIGlkPSJjYXJkMSIgb250
aW1lcj0iI2NhcmQyIiB0aXRsZT0iQ2FyZCBvbmUiPgotICAgICAgICA8cD5UZXN0IGZvciBjYXJk
IG9udGltZXIgaW50cmluc2ljIGV2ZW50IGluIFdNTDwvcD4KLSAgICAgICAgPHRpbWVyIG5hbWU9
InRpbWUxIiB2YWx1ZT0iNTAiLz4KLSAgICAgICAgPHA+Ci0gICAgICAgICAgICBUaGlzIGlzIGNh
cmQgb25lPGJyLz4KLSAgICAgICAgICAgIFRoZSB0aW1lciBpcyB0cmlnZ2VyZWQgYnkgdGhlIG9u
dGltZXIgaW50cmluc2ljIGV2ZW50KG9udGltZXIgYXMgYXR0cmlidXRlIG9mIGNhcmQgZWxlbWVu
dCk8YnIvPgotICAgICAgICAgICAgV2hlbiB0aGUgdGltZXIgaXMgdGltZW91dChhZnRlciA1cyks
IHdpbGwganVtcCB0byBjYXJkIHR3by4KLSAgICAgICAgPC9wPgotICAgIDwvY2FyZD4KLQotICAg
IDxjYXJkIGlkPSJjYXJkMiI+Ci0gICAgICAgIFRoaXMgaXMgQ2FyZCB0d28KLSAgICA8L2NhcmQ+
Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvZGVjay1hY2Nl
c3MtY29udHJvbC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3Rz
L3dtbC9kZWNrLWFjY2Vzcy1jb250cm9sLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2RlY2stYWNjZXNzLWNvbnRyb2wud21sCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDEwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBF
IHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3Lndh
cGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCBvbmVudGVyZm9y
d2FyZD0idGFyZ2V0ZGVjay53bWwiPgotICAgICAgICA8cD5UZXN0IGZvciBEZWNrIEFjY2VzcyBj
b250cm9sIGluIFdNTC4gPC9wPgotICAgICAgICA8cD5UaGlzIGRlY2sgd2lsbCB0cnkgdG8ganVt
cCB0byAidGFyZ2V0ZGVjay53bWwiIHdoZW4gaXQgaXMgbG9hZGVkLiBCdXQgaXQgd2lsbCA8c3Ry
b25nPkZBSUw8L3N0cm9uZz4gYmVjYXVzZSAidGFyZ2V0ZGVjay53bWwiIGp1c3QgYWxsb3dzICJh
Y2Nlc3MtdGFyZ2V0LndtbCIgdG8gYWNjZXNzIGl0LjwvcD4KLSAgICAgICAgPHA+WW91IGNhbiBj
bGljayAnR28nIHRvIGVudGVyICdhY2Nlc3MtdGFyZ2V0LndtbCcsIGFuZCB0aGVuIGVudGVyICd0
YXJnZXRkZWNrLndtbCcgZnJvbSB0aGVyZTwvcD4KLSAgICAgICAgPGFuY2hvciB0aXRsZT0iZ28g
dG8gYWNjZXNzLXRhcmdldC53bWwiPjxnbyBocmVmPSIuL2FjY2Vzcy10YXJnZXQud21sIj5Hbzwv
Z28+PC9hbmNob3I+Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9t
YW51YWwtdGVzdHMvd21sL2lucHV0LWZvcm1hdC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbWFudWFsLXRlc3RzL3dtbC9pbnB1dC1mb3JtYXQud21sCShyZXZpc2lvbiA4NTI0MikK
KysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvaW5wdXQtZm9ybWF0LndtbAkod29y
a2luZyBjb3B5KQpAQCAtMSwyMiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9D
VFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiJodHRwOi8vd3d3
LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCB0aXRsZT0i
SW5wdXQiPgotICAgICAgICA8cD5UZXN0IGZvciBpbnB1dCBmb3JtYXQgaW4gV01MPC9wPgotICAg
ICAgICA8cD4KLSAgICAgICAgICAgIFBhc3N3b3JkKGRlZmF1bHQ6Kk0pOjxpbnB1dCBuYW1lPSJk
ZWZhdWx0Ii8+PGJyLz4KLSAgICAgICAgICAgIFBhc3N3b3JkKDZNKTogPGlucHV0IG5hbWU9IlB3
ZCIgdHlwZT0icGFzc3dvcmQiIGZvcm1hdD0iNk0iLz48YnIvPgotICAgICAgICAgICAgUGFzc3dv
cmQoQUFhKTogPGlucHV0IG5hbWU9IlB3ZDIiIHR5cGU9InBhc3N3b3JkIiBmb3JtYXQ9IkFBYSIv
Pjxici8+Ci0gICAgICAgICAgICBvbmUtbnVtZXJpYytsb3dlcmNhc2UoTiphKTo8aW5wdXQgbmFt
ZT0idXBwZXIiIGZvcm1hdD0iTiphIi8+PGJyLz4KLSAgICAgICAgICAgIFVwcGVyY2FzZStub24t
bnVtZXJpYyhBQUE7c2l6ZT04KTo8aW5wdXQgbmFtZT0idXBwZXIiIHNpemU9IjgiIGZvcm1hdD0i
QUFBIi8+PGJyLz4KLSAgICAgICAgICAgIExvd2VyY2FzZStub24tbnVtZXJpYyhhYWE7c2l6ZT04
O3dpZHRoPTIpOjxpbnB1dCBuYW1lPSJsb3dlciIgc2l6ZT0iOCIgd2lkdGg9IjIiIGZvcm1hdD0i
YWFhIi8+PGJyLz4KLSAgICAgICAgICAgIE51bWVyaWMoNU47bWF4bGVuPTMpOjxpbnB1dCBuYW1l
PSJudW1lcmljIiBtYXhsZW5ndGg9IjMiIGZvcm1hdD0iNU4iLz48YnIvPgotICAgICAgICAgICAg
TnVtZXJpYytzeW1ib2xzKG5ubik6PGlucHV0IG5hbWU9Im51bWVyaWMrIiBmb3JtYXQ9Im5ubiIv
Pjxici8+Ci0gICAgICAgICAgICBVcHBlcmNhc2UrbnVtZXJpYytzeW1ib2xzKFhYWCk6PGlucHV0
IG5hbWU9InVwcGVyKyIgZm9ybWF0PSJYWFgiLz48YnIvPgotICAgICAgICAgICAgTG93ZXJjYXNl
K251bWVyaWMrc3ltYm9scyh4eHgpOjxpbnB1dCBuYW1lPSJsb3dlcisiIGZvcm1hdD0ieHh4Ii8+
PGJyLz4KLSAgICAgICAgICAgIFVwcGVyY2FzZStudW1lcmljK3N5bWJvbHMoTU1NKTo8aW5wdXQg
bmFtZT0iZGVmX3VwcGVyKyIgZm9ybWF0PSJNTU0iLz48YnIvPgotICAgICAgICAgICAgTG93ZXJj
YXNlK251bWVyaWMrc3ltYm9scyhtbW0pOjxpbnB1dCBuYW1lPSJkZWZfbG93ZXIrIiBmb3JtYXQ9
Im1tbSIvPjxici8+Ci0gICAgICAgICAgICBNaXhlZCBkYXRhKGFcLU5OKngpPGlucHV0IG5hbWU9
ImFueSIgZm9ybWF0PSJhXC1OTip4Ii8+PGJyLz4KLSAgICAgICAgPC9wPgotICAgIDwvY2FyZD4K
LTwvd21sPgpJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50LWdv
LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZl
bnQtZ28ud21sCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0
cy93bWwvb25ldmVudC1nby53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzAsMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RU
RCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+
Ci08d21sPgotICAgIDxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQgMSI+IAotICAgICAgICA8
b25ldmVudCB0eXBlPSJvbmVudGVyZm9yd2FyZCI+Ci0gICAgICAgICAgICA8Z28gaHJlZj0iI2Nh
cmQyIi8+Ci0gICAgICAgIDwvb25ldmVudD4KLSAgICAgICAgPHA+VGVzdCBmb3Igb25ldmVudCBl
bGVtZW50IHdoaWNoIGJpbmRzIGdvIHRhc2sgd2l0aCBvbmVudGVyZm9yd2FyZCBldmVudDwvcD4K
LSAgICAgICAgPHA+d2hlbiBlbnRlciBmb3J3YXJkIHRvIHRoaXMgY2FyZCwgaXQgd2lsbCBqdW1w
IHRvIGNhcmQgMjwvcD4KLSAgICA8L2NhcmQ+Ci0KLSAgICA8Y2FyZCBpZD0iY2FyZDIiIHRpdGxl
PSJDYXJkIDIiPgotICAgICAgICA8cD5UZXN0IGZvciBvbmV2ZW50IGVsZW1lbnQgd2hpY2ggYmlu
ZHMgZ28gdGFzayB3aXRoIG9uZW50ZXJmb3J3YXJkIGV2ZW50PC9wPgotICAgICAgICA8cD53aGls
ZSBjYXJkIDEgaXMgbG9hZGVkLCBpdCB3aWxsIHRyaWdnZXIgdGhlIG9uZW50ZXJmb3J3YXJkIGV2
ZW50IGFuZCBqdW1wIHRvIGNhcmQyIGltbWVkaWF0ZWx5PC9wPgotICAgICAgICA8cD5UaGlzIGlz
IGNhcmQyPC9wPgotICAgIDwvY2FyZD4KLTwvd21sPiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21h
bnVhbC10ZXN0cy93bWwvb25ldmVudC1ub29wLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZlbnQtbm9vcC53bWwJKHJldmlzaW9uIDg1MjQyKQor
KysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50LW5vb3Aud21sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDExICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NU
WVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3
LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCBpZD0iY2Fy
ZDEiIHRpdGxlPSJDYXJkIDEiPiAKLSAgICAgICAgPG9uZXZlbnQgdHlwZT0ib25lbnRlcmZvcndh
cmQiPgotICAgICAgICAgICAgPG5vb3AvPgotICAgICAgICA8L29uZXZlbnQ+Ci0gICAgICAgIDxw
PlRlc3QgZm9yIG9uZXZlbnQgZWxlbWVudCB3aGljaCBiaW5kcyBub29wIHRhc2sgd2l0aCBvbmVu
dGVyZm9yd2FyZCBldmVudDwvcD4KLSAgICAgICAgPHA+d2hlbiBlbnRlciBmb3J3YXJkIHRvIHRo
aXMgY2FyZCwgaXQgd29uJ3QgZG8gYW55dGhpbmcgYXMgaWYgdGhlIG9uZW50ZXJmb3J3YXJkIGV2
ZW50IHdhc24ndCB0cmlnZ2VyZWQ8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+IApJbmRleDogU291
cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50LXByZXYud21sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvb25ldmVudC1wcmV2LndtbAkocmV2
aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZlbnQt
cHJldi53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0i
MS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9F
TiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAg
IDxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQgMSI+IAotICAgICAgICA8cD5UZXN0IGZvciBv
bmV2ZW50IGVsZW1lbnQgd2hpY2ggYmluZHMgcHJldiB0YXNrIHdpdGggb25lbnRlcmZvcndhcmQg
ZXZlbnQ8L3A+Ci0gICAgICAgIDxwPkNsaWNraW5nICJHbyIgd2lsbCBjYXVzZSBpdCB0byBqdW1w
IHRvIHRoZSBjYXJkMiwgYnV0IHdoaWNoIGJpbmRzIHByZXYgdGFzayB0byBvbmVudGVyZm9yd2Fy
ZCBldmVudCB3aXRoaW4gb25ldmVudCBlbGVtZW50LCBhcyBhIHJlc3VsdCwgaXQgd2lsbCBqdW1w
IGJhY2sgdG8gY2FyZCAxPC9wPgotICAgICAgICA8YW5jaG9yIHRpdGxlPSJHbyB0byBjYXJkMiI+
R28KLSAgICAgICAgICAgIDxnbyBocmVmPSIjY2FyZDIiLz4KLSAgICAgICAgPC9hbmNob3I+Ci0g
ICAgPC9jYXJkPgotCi0gICAgPGNhcmQgaWQ9ImNhcmQyIiB0aXRsZT0iQ2FyZCAyIj4KLSAgICAg
ICAgPHA+VGVzdCBmb3Igb25ldmVudCBlbGVtZW50IHdoaWNoIGJpbmRzIHByZXYgdGFzayB3aXRo
IG9uZW50ZXJmb3J3YXJkIGV2ZW50PC9wPgotICAgICAgICA8cD5UaGlzIGlzIGNhcmQyLiBXaGVu
IGNhcmQgMiBpcyBlbnRlcmVkIGZvcndhcmQsIGl0IHdpbGwganVtcCBiYWNrIHRvIHRoZSBwcmV2
aW91cyBwYWdlPC9wPgotICAgICAgICA8b25ldmVudCB0eXBlPSJvbmVudGVyZm9yd2FyZCI+Ci0g
ICAgICAgICAgICA8cHJldi8+Ci0gICAgICAgIDwvb25ldmVudD4KLSAgICA8L2NhcmQ+Ci08L3dt
bD4gCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZlbnQtcmVmcmVz
aC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9vbmV2
ZW50LXJlZnJlc2gud21sCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL21hbnVh
bC10ZXN0cy93bWwvb25ldmVudC1yZWZyZXNoLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNiAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9X
QVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dt
bF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGNhcmQgaWQ9ImNhcmQxIiB0aXRsZT0iQ2FyZCAxIj4g
Ci0gICAgICAgIDx0aW1lciBuYW1lPSJUIiB2YWx1ZT0iMzAiLz4KLSAgICAgICAgPG9uZXZlbnQg
dHlwZT0ib250aW1lciI+Ci0gICAgICAgICAgICA8cmVmcmVzaD4KLSAgICAgICAgICAgICAgICA8
c2V0dmFyIG5hbWU9InZhciIgdmFsdWU9IlZBUklBQkxFIi8+Ci0gICAgICAgICAgICA8L3JlZnJl
c2g+Ci0gICAgICAgIDwvb25ldmVudD4KLQotICAgICAgICA8cD5UZXN0IGZvciBvbmV2ZW50IGVs
ZW1lbnQgd2hpY2ggYmluZHMgcmVmcmVzaCB0YXNrIHdpdGggb250aW1lciBldmVudDwvcD4KLSAg
ICAgICAgPHA+V2hlbiB0aGUgdGltZXIgdGltZW91dCgzcyksIHRoZSBwYWdlIHdpbGwgYmUgcmVm
cmVzaC4gQXMgYSBjb25zZXF1ZW5jZSwgd2UgY2FuIHNlZSB0aGUgZm9sbG93aW5nIHZhcmlhYmxl
IHJlZmVyZW5jZSBoYXMgYmVlbiBzdWJzdGl0dXRlZDwvcD4KLSAgICAgICAgPHAgYWxpZ249ImNl
bnRlciI+IEhlcmUgaXMgYSB2YXJpYWJsZSA6IHZhciA9ICR2YXI8L3A+Ci0gICAgPC9jYXJkPgot
PC93bWw+IApJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50LXNo
YWRvdy53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9v
bmV2ZW50LXNoYWRvdy53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvbWFu
dWFsLXRlc3RzL3dtbC9vbmV2ZW50LXNoYWRvdy53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMjgg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8v
V0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93
bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDx0ZW1wbGF0ZT4KLSAgICAgICAgPG9uZXZlbnQgdHlw
ZT0ib25lbnRlcmZvcndhcmQiPgotICAgICAgICAgICAgPGdvIGhyZWY9IiNjYXJkMiIvPgotICAg
ICAgICA8L29uZXZlbnQ+Ci0gICAgPC90ZW1wbGF0ZT4KLQotICAgIDxjYXJkIGlkPSJjYXJkMSIg
dGl0bGU9IkNhcmQgT25lIj4KLSAgICAgICAgPG9uZXZlbnQgdHlwZT0ib25lbnRlcmZvcndhcmQi
PgotICAgICAgICAgICAgPGdvIGhyZWY9IiNjYXJkMyIvPgotICAgICAgICA8L29uZXZlbnQ+Ci0K
LSAgICAgICAgPHA+VGVzdCBmb3Igb25ldmVudCBzaGFkb3dpbmcgaW4gV01MPC9wPgotICAgICAg
ICA8cD5UaGUgY2FyZC1sZXZlbCBvbmV2ZW50IHdpbGwgc2hhZG93IHRoZSBkZWNrLWxldmVsIG9u
ZXZlbnQuIEFzIGEgcmVzdWx0LCBjYXJkIDEgd29uJ3QganVtcCB0byBjYXJkMiBidXQKLSAgICAg
ICAgICAgdG8gY2FyZCAzIGFjY29yZGluZyB0byB0aGUgY2FyZC1sZXZlbCBvbmV2ZW50J3MgcmVx
dWlyZW1lbnQuIEFmdGVyIGVudGVyZWQgdGhlIGNhcmQgMywgdGhlIGRlY2stbGV2ZWwgb25ldmVu
dAotICAgICAgICAgICBlbGVtZW50IGlzbid0IHNoYWRvd2VkIGJ5IHRoaXMgY2FyZCwgc28gaXQg
d2lsbCBqdW1wIHRvIGNhcmQgMiBpbW1lZGlhdGVseS48L3A+Ci0gICAgPC9jYXJkPgotCi0gICAg
PGNhcmQgaWQ9ImNhcmQyIiB0aXRsZT0iQ2FyZCB0d28iIG9uZW50ZXJmb3J3YXJkPSIiPgotICAg
ICAgICA8cD5UaGlzIGlzIGNhcmQgMjwvcD4KLSAgICA8L2NhcmQ+Ci0KLSAgICA8Y2FyZCBpZD0i
Y2FyZDMiIHRpdGxlPSJDYXJkIFRocmVlIj4KLSAgICAgICAgPHA+VGhpcyBpcyBjYXJkIDM8L3A+
Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMv
d21sL3NlbGVjdC1lbGVtZW50LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51
YWwtdGVzdHMvd21sL3NlbGVjdC1lbGVtZW50LndtbAkocmV2aXNpb24gODUyNDIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3NlbGVjdC1lbGVtZW50LndtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwyNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3
bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBm
b3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGNhcmQgaWQ9ImNhcmQxIiB0
aXRsZT0iU2VsZWN0IFRlc3QiPgotICAgICAgICA8cD5UZXN0IGZvciBzZWxlY3QgZWxlbWVudCBp
biBXTUw8L3A+Ci0gICAgICAgIDxwPllvdSBjYW4gc2VsZWN0IG9uZSBvciBtb3JlIG9wdGlvbnMs
IGFuZCB0aGVuIGNsaWNrICdBbnN3ZXInLCB0aGUgc2Vjb25kIGNhcmQgd2lsbCB0ZWxsIHlvdSB3
aGF0IHlvdSBzZWxlY3RlZDwvcD4KLSAgICAgICAgPHA+Ci0gICAgICAgICAgICA8c2VsZWN0IG5h
bWU9ImNhcnMiIHRpdGxlPSJTRUxFQ1QiIG11bHRpcGxlPSJ0cnVlIj4KLSAgICAgICAgICAgICAg
ICA8b3B0aW9uIHZhbHVlPSJ2b2x2byIgPlZvbHZvPC9vcHRpb24+Ci0gICAgICAgICAgICAgICAg
PG9wdGlvbiB2YWx1ZT0iZmlhdCI+RmlhdDwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRp
b24gdmFsdWU9InNhYWIiPlNhYWI8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uIHZh
bHVlPSJhdWRpIj5BdWRpPC9vcHRpb24+Ci0gICAgICAgICAgICA8L3NlbGVjdD4KLSAgICAgICAg
PC9wPgotCi0gICAgICAgIDxkbyB0eXBlPSJhY2NlcHQiIGxhYmVsPSJBbnN3ZXIiPgotICAgICAg
ICAgICAgPGdvIGhyZWY9IiNjYXJkMiIvPgotICAgICAgICA8L2RvPgotICAgIDwvY2FyZD4KLQot
ICAgIDxjYXJkIGlkPSJjYXJkMiIgdGl0bGU9IkFuc3dlciI+Ci0gICAgICAgIDxwPllvdSBzZWxl
Y3RlZDogJChjYXJzKTwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL21hbnVhbC10ZXN0cy93bWwvc2VsZWN0LW9ucGljay1ldmVudC1jcmFzaC53bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9zZWxlY3Qtb25waWNrLWV2
ZW50LWNyYXNoLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwt
dGVzdHMvd21sL3NlbGVjdC1vbnBpY2stZXZlbnQtY3Jhc2gud21sCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDEyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJM
SUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9y
Zy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZD4KLSAgICAgICAgPHNlbGVjdCBu
YW1lPSJyZXN1bHQiIGRtdWx0aXBsZT0idHJ1ZSI+Ci0gICAgICAgICAgICA8b3B0aW9uIG9ucGlj
az0iI2NhcmQyIiB2YWx1ZT0iZm9vIj5Gb288L29wdGlvbj4KLSAgICAgICAgICAgIDxvcHRpb24g
b25waWNrPSIjY2FyZDIiIHZhbHVlPSJiYXIiPkJhcjwvb3B0aW9uPgotICAgICAgICA8L3NlbGVj
dD4KLSAgICA8L2NhcmQ+Ci0KLSAgICA8Y2FyZCBpZD0iY2FyZDIiPlRlc3QgcGFzcywgaWYgaXQg
ZGlkbid0IGNyYXNoLjwvY2FyZD4KLTwvd21sPgpJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFs
LXRlc3RzL3dtbC9zZWxlY3Qtb25waWNrLWV2ZW50LndtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3NlbGVjdC1vbnBpY2stZXZlbnQud21sCShyZXZpc2lv
biA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvc2VsZWN0LW9ucGlj
ay1ldmVudC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTQgKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4x
Ly9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgot
ICAgIDxjYXJkPgotICAgICAgICA8cD5UZXN0IGZvciBzZWxlY3Qgb25waWNrIGludHJpbnNpYyBl
dmVudCBpbiBXTUw8L3A+Ci0gICAgICAgIDxwPldoZW4geW91IHNlbGVjdCB0aGUgJ0xpb24nIG9w
dGlvbiwgd2lsbCBqdW1wIHRvIFN0YXJ0VGVzdHMud21sPC9wPgotICAgICAgICBQbGVhc2UgY2hv
b3NlIHlvdXIgZmF2b3VyaXRlIGFuaW1hbDo8YnIvPgotICAgICAgICA8c2VsZWN0IG5hbWU9Ilgi
IG11bHRpcGxlPSJ0cnVlIj4KLSAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkQiPkRvZzwvb3B0
aW9uPgotICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQyI+Q2F0PC9vcHRpb24+Ci0gICAgICAg
ICAgICA8b3B0aW9uIHZhbHVlPSJMIiBvbnBpY2s9IlN0YXJ0VGVzdHMud21sIj5MaW9uPC9vcHRp
b24+Ci0gICAgICAgIDwvc2VsZWN0PgotICAgIDwvY2FyZD4KLTwvd21sPgpJbmRleDogU291cmNl
L1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9zZXR2YXItZWxlbWVudC53bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9zZXR2YXItZWxlbWVudC53bWwJKHJl
dmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9zZXR2YXIt
ZWxlbWVudC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4x
Ly9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgot
ICAgIDxjYXJkIGlkPSJmaXJzdGNhcmQiIHRpdGxlPSJUZXN0IGZvciBTZXR2YXIgZWxlbWVudCI+
Ci0gICAgICAgIDxwPlRlc3QgZm9yIHNldHZhciBlbGVtZW50IGluIFdNTCA8L3A+Ci0gICAgICAg
IDxwPlRoaXMgaXMgdGhlIGZpcnN0IGNhcmQgLCBoYXMgdmFyaWFibGU6IFZBUj0nJHZhcic8L3A+
Ci0gICAgICAgIDxwPkNsaWNrICJSZWZyZXNoIiB3aWxsIHVwZGF0ZSB0aGUgdmFsdWUgb2YgVkFS
IHZhcmFpYmxlIHdoaWNoIHNwZWNpZmllZCBieSBzZXR2YXIgZWxlbWVudDwvcD4KLQotICAgICAg
ICA8ZG8gbmFtZT0iUmVmcmVzaCIgdHlwZT0iYWNjZXB0Ij4gCi0gICAgICAgICAgICA8cmVmcmVz
aD4KLSAgICAgICAgICAgICAgICA8c2V0dmFyIG5hbWU9InZhciIgdmFsdWU9IlZBTFVFIi8+Ci0g
ICAgICAgICAgICA8L3JlZnJlc2g+Ci0gICAgICAgIDwvZG8+Ci0gICAgPC9jYXJkPgotPC93bWw+
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3RhcmdldGRlY2sud21sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGFyZ2V0ZGVjay53
bWwJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90
YXJnZXRkZWNrLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAx
LjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+
Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxhY2Nlc3MgZG9tYWluPSJsb2NhbGhvc3QiIHBhdGg9ImFj
Y2Vzcy10YXJnZXQud21sIi8+Ci0gICAgPC9oZWFkPgotCi0gICAgPGNhcmQ+Ci0gICAgICAgIDxw
PlRlc3QgZm9yIERlY2sgQWNjZXNzIGNvbnRyb2wgaW4gV01MLjwvcD4KLSAgICAgICAgPHA+VGhp
cyBpcyB0aGUgdGFyZ2V0ZGVjaywgb25seSAnLi9hY2Nlc3MtdGFyZ2V0LndtbCIgY2FuIGFjY2Vz
cyBtZTwvcD4KLSAgICAgICAgPGEgaHJlZj0iU3RhcnRUZXN0cy53bWwiPk5leHQgcGFnZTwvYT4K
LSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93
bWwvdGFzay1nby1pbi1hbmNob3Iud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL21h
bnVhbC10ZXN0cy93bWwvdGFzay1nby1pbi1hbmNob3Iud21sCShyZXZpc2lvbiA4NTI0MikKKysr
IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGFzay1nby1pbi1hbmNob3Iud21sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiA/PgotPCFE
T0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8v
d3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZCB0aXRs
ZT0iQW5jaG9yIFRhZyI+Ci0gICAgICAgIDxwPlRlc3QgZm9yIFdNTCBnbyB0YXNrIGVuY2xvc2Vk
IHdpdGggYW5jaG9yIGVsZW1lbnQ8L3A+Ci0gICAgICAgIDxwPmNsaWNrICdOZXh0IHBhZ2UnIHRv
IGdvIHRvIFN0YXJ0VGVzdHMud21sPC9wPgotICAgICAgICA8cD48YW5jaG9yPk5leHQgcGFnZTxn
byBocmVmPSJTdGFydFRlc3RzLndtbCIvPjwvYW5jaG9yPjwvcD4KLSAgICA8L2NhcmQ+Ci08L3dt
bD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGFzay1wcmV2LWluLWFu
Y2hvci53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90
YXNrLXByZXYtaW4tYW5jaG9yLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9tYW51YWwtdGVzdHMvd21sL3Rhc2stcHJldi1pbi1hbmNob3Iud21sCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDExICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgPz4KLTwhRE9DVFlQRSB3bWwg
UFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1
bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGNhcmQgdGl0bGU9IkFuY2hvciBU
YWciPgotICAgICAgICA8cD5UZXN0IGZvciBXTUwgcHJldiB0YXNrIGVuY2xvc2VkIHdpdGggYW5j
aG9yIGVsZW1lbnQgPC9wPgotICAgICAgICA8cD5jbGljayAncHJldiBwYWdlJyB0byBnbyB0byBw
cmV2aW91cyBwYWdlIGlmIGl0IGlzIG5vdCB0aGUgZmlyc3QgcGFnZSBpbiBoaXN0b3J5PC9wPgot
ICAgICAgICA8cD4KLSAgICAgICAgICAgIDxhbmNob3I+UHJldiBwYWdlPHByZXYvPjwvYW5jaG9y
PgotICAgICAgICA8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9tYW51YWwtdGVzdHMvd21sL3Rhc2stcmVmcmVzaC1pbi1hbmNob3Iud21sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGFzay1yZWZyZXNoLWluLWFuY2hv
ci53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dt
bC90YXNrLXJlZnJlc2gtaW4tYW5jaG9yLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCww
IEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBG
T1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8x
LjEueG1sIj4KLTx3bWw+Ci0gICAgPGNhcmQgdGl0bGU9IiRUIj4KLSAgICAgICAgPHA+VGVzdCBm
b3IgcmVmcmVzaCB0YXNrIHdpdGhpbiBXTUwgYW5jaG9yIGVsZW1lbnQuPGJyLz5jbGljayAiUmVm
cmVzaCIgd2lsbCByZWZyZXNoIHRoaXMgcGFnZSwgYXMgYSByZXN1bHQgdGhlIHBhZ2UgdGl0bGUg
d2lsbCBiZSB1cGRhdGVkLjwvcD4KLSAgICAgICAgPHA+Ci0gICAgICAgICAgICA8YW5jaG9yPgot
ICAgICAgICAgICAgICAgIFJlZnJlc2gKLSAgICAgICAgICAgICAgICA8cmVmcmVzaD4KLSAgICAg
ICAgICAgICAgICAgICAgPHNldHZhciBuYW1lPSJUIiB2YWx1ZT0iVGVzdCByZWZyZXNoIHRhc2si
Lz4KLSAgICAgICAgICAgICAgICA8L3JlZnJlc2g+Ci0gICAgICAgICAgICA8L2FuY2hvcj4KLSAg
ICAgICAgPC9wPgotICAgIDwvY2FyZD4KLTwvd21sPgpJbmRleDogU291cmNlL1dlYkNvcmUvbWFu
dWFsLXRlc3RzL3dtbC90ZW1wbGF0ZS1nby53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvbWFudWFsLXRlc3RzL3dtbC90ZW1wbGF0ZS1nby53bWwJKHJldmlzaW9uIDg1MjQyKQorKysg
U291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90ZW1wbGF0ZS1nby53bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUg
d21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2Fw
Zm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDx0ZW1wbGF0ZT4KLSAgICAg
ICAgPGRvIG5hbWU9ImdvIiB0eXBlPSJhY2NlcHQiIGxhYmVsPSJUZW1wbGF0ZSBHbyI+Ci0gICAg
ICAgICAgICA8Z28gaHJlZj0iI2NhcmQyIi8+Ci0gICAgICAgIDwvZG8+Ci0gICAgPC90ZW1wbGF0
ZT4KLQotICAgIDxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQgMSI+Ci0gICAgICAgIDxwPlRl
c3QgZm9yIHRlbXBsYXRlIGVsZW1lbnQgaW4gV01MLiBUZW1wbGF0ZSBnbyBidXR0b24gaXMgZ2xv
YmFsPC9wPgotICAgICAgICA8cD5UaGlzIGlzIENhcmQgb25lLCBjbGljayAnVGVtcGxhdGUgR28n
IHRvIGp1bXAgdG8gQ2FyZCB0d288L3A+Ci0gICAgPC9jYXJkPgotCi0gICAgPGNhcmQgaWQ9ImNh
cmQyIiB0aXRsZT0iQ2FyZCAyIj4KLSAgICAgICAgPHA+VGhpcyBpcyBjYXJkIHR3by48YnIvPlRo
ZSBnbG9iYWwgdGVtcGxhdGUgR28gYnV0dG9uIGlzIHN0aWxsIHZpc2libGUgZm9yIG1lPC9wPgot
ICAgIDwvY2FyZD4KLTwvd21sPgpJbmRleDogU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dt
bC90ZW1wbGF0ZS1vbnRpbWVyLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51
YWwtdGVzdHMvd21sL3RlbXBsYXRlLW9udGltZXIud21sCShyZXZpc2lvbiA4NTI0MikKKysrIFNv
dXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGVtcGxhdGUtb250aW1lci53bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZ
UEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIKLSJodHRwOi8vd3d3
LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8dGVtcGxhdGUgb250
aW1lcj0iI2NhcmQyIi8+Ci0KLSAgICA8Y2FyZCBpZD0iY2FyZDEiPgotICAgICAgICA8cD5UZXN0
IGZvciB0ZW1wbGF0ZSBvbnRpbWVyIGV2ZW50IGluIFdNTDwvcD4KLSAgICAgICAgPHA+VGhpcyBp
cyBDYXJkIG9uZSx3ZSB3aWxsIGp1bXAgdG8gY2FyZCAyIGFmdGVyIDVzIGJlY2F1c2Ugb2YgdGhl
IHRlbXBsYXRlIG9udGltZXIgZXZlbnQ8L3A+Ci0gICAgICAgIDx0aW1lciB2YWx1ZT0iNTAiLz4K
LSAgICA8L2NhcmQ+Ci0gICAgCi0gICAgPGNhcmQgaWQ9ImNhcmQyIiB0aXRsZT0iY2FyZCAyIj4K
LSAgICAgICAgPHA+VGhpcyBpcyBjYXJkIDI8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3RpbWVyLndtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3RpbWVyLndtbAkocmV2aXNpb24gODUy
NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3RpbWVyLndtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQ
RSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53
YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAg
IDxtZXRhIGh0dHAtZXF1aXY9IkNhY2hlLUNvbnRyb2wiIGNvbnRlbnQ9Im1heC1hZ2U9MCIvPgot
ICAgIDwvaGVhZD4KLQotICAgIDxjYXJkIGlkPSJjYXJkMSIgb250aW1lcj0iI2NhcmQyIiB0aXRs
ZT0iQ2FyZCBvbmUiPgotICAgICAgICA8cD5UaGlzIHRlc3QgY2FzZSBpcyB1c2VkIHRvIHRlc3Qg
dGltZXIgaW4gV01MIDwvcD4KLSAgICAgICAgPHRpbWVyIG5hbWU9InRpbWUxIiB2YWx1ZT0iNTAi
Lz4KLSAgICAgICAgPHA+Ci0gICAgICAgICAgICBUaGlzIGlzIGNhcmQgb25lPGJyLz4KLSAgICAg
ICAgICAgIFRoZSB0aW1lciBpcyB0cmlnZ2VyZWQgYnkgdGhlIG9udGltZXIgaW50cmluc2ljIGV2
ZW50KG9udGltZXIgYXMgYXR0cmlidXRlIG9mIGNhcmQgZWxlbWVudCk8YnIvPgotICAgICAgICAg
ICAgV2hlbiB0aGUgdGltZXIgaXMgdGltZW91dChhZnRlciA1cyksIHdpbGwganVtcCB0byBjYXJk
IHR3by4KLSAgICAgICAgPC9wPgotICAgIDwvY2FyZD4KLQotICAgIDxjYXJkIGlkPSJjYXJkMiIg
dGl0bGU9IkNhcmQgdHdvIj4KLSAgICAgICAgPG9uZXZlbnQgdHlwZT0ib250aW1lciI+Ci0gICAg
ICAgICAgICA8Z28gaHJlZj0iI2NhcmQxIi8+Ci0gICAgICAgIDwvb25ldmVudD4KLSAgICAgICAg
PHRpbWVyIG5hbWU9InRpbWVyMiIgdmFsdWU9IjMwIi8+Ci0KLSAgICAgICAgPHA+IAotICAgICAg
ICAgICAgVGhpcyBpcyBjYXJkIFR3byE8YnIvPgotICAgICAgICAgICAgVGhlIHRpbWVyIGlzIHRy
aWdnZXJlZCBieSB0aGUgb250aW1lciBpbnRyaW5zaWMgZXZlbnQob250aW1lciBpcyBzcGVjaWZp
ZWQgYnkgb25ldmVudCBlbGVtZW50KTxici8+Ci0gICAgICAgICAgICBXaGVuIHRoZSB0aW1lciBp
cyB0aW1lb3V0KGFmdGVyIDNzKSwgd2lsbCBqdW1wIGJhY2sgdG8gY2FyZCBvbmUuCi0gICAgICAg
IDwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10
ZXN0cy93bWwvdmFyaWFibGUtc3Vic3RpdHV0aW9uLndtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3ZhcmlhYmxlLXN1YnN0aXR1dGlvbi53bWwJKHJldmlz
aW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC92YXJpYWJsZS1z
dWJzdGl0dXRpb24ud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMzICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01M
IDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdt
bD4KLSAgICA8Y2FyZCBpZD0iY2FyZDEiIHRpdGxlPSJUZXN0IHZhcmlhYmxlIHN1YnN0aXR1dGlv
biI+Ci0gICAgICAgIDxwPlRlc3QgZm9yIHZhcmlhYmxlIHN1YnN0aXR1dGlvbjwvcD4KLSAgICAg
ICAgPHA+Q2xpY2sgIlJlZmVyc2giIHRvIHJlZnJlc2ggdGhlIGNhcmQsIGFuZCB0aGUgdmFyYWli
bGUgcmVmZXJlbmNlcyBpbiB0aGUgY2FyZCB3aWxsIGJlIHN1YnN0aXR1ZWQ8L3A+Ci0gICAgICAg
IDxhbmNob3I+UmVmcmVzaDxici8+Ci0gICAgICAgICAgICA8cmVmcmVzaD4gCi0gICAgICAgICAg
ICAgICAgPHNldHZhciBuYW1lPSJoaSIgdmFsdWU9ImhlbGxvIi8+Ci0gICAgICAgICAgICAgICAg
PHNldHZhciBuYW1lPSJuYW1lIiB2YWx1ZT0iIFlpIGNoYW8iLz4KLSAgICAgICAgICAgICAgICA8
c2V0dmFyIG5hbWU9Im5hbWUyIiB2YWx1ZT0iJChuYW1lOmUpIi8+Ci0gICAgICAgICAgICAgICAg
PHNldHZhciBuYW1lPSJuYW1lMyIgdmFsdWU9IiQobmFtZTI6dSkiLz4KLSAgICAgICAgICAgIDwv
cmVmcmVzaD4KLSAgICAgICAgPC9hbmNob3I+Ci0KLSAgICAgICAgPHA+c2V0IGhpID0gImhlbGxv
IiwgbmFtZSA9ICIgWWkgY2hhbyI8YnIvPgotICAgICAgICA8IVtDREFUQVskKGhpKSwkbmFtZV1d
PiA9PiAkKGhpKSwkbmFtZTxici8+Ci0gICAgICAgIDwhW0NEQVRBWyRoaSwkKG5hbWU6ZXNjYXBl
KV1dPiA9PiAkaGksJChuYW1lOmVzY2FwZSk8YnIvPgotICAgICAgICA8IVtDREFUQVskaGksJChu
YW1lOmUpXV0+ID0+ICRoaSwkKG5hbWU6ZSk8YnIvPgotICAgICAgICA8IVtDREFUQVskaGksJChu
YW1lOnUpXV0+ID0+ICRoaSwkKG5hbWU6dSk8YnIvPgotICAgICAgICA8L3A+Ci0KLSAgICAgICAg
PHA+c2V0IG5hbWUyID0gJCQobmFtZTplKTxici8+Ci0gICAgICAgIDwhW0NEQVRBWyQoaGkpLCQo
bmFtZTIpXV0+ID0+ICQoaGkpLCQobmFtZTIpPGJyLz4KLSAgICAgICAgPCFbQ0RBVEFbJChoaSks
JCQobmFtZTplKV1dPiA9PiAkKGhpKSwkJChuYW1lOmUpPGJyLz4KLSAgICAgICAgPC9wPgotCi0g
ICAgICAgIDxwPnNldCBuYW1lMyA9ICQkKG5hbWUyOnUpPGJyLz4KLSAgICAgICAgPCFbQ0RBVEFb
JChoaSksJG5hbWUzXV0+ID0+ICQoaGkpLCRuYW1lMzxici8+Ci0gICAgICAgIDwhW0NEQVRBWyQo
aGkpLCQobmFtZTM6ZSldXT4gPT4gJChoaSksJChuYW1lMzplKTxici8+Ci0gICAgICAgIDwvcD4K
LSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy93
bWwvcmVzb3VyY2VzL3NtaWxleS5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBt
YXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0
LXN0cmVhbQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCShyZXZpc2lvbiA4NTI0MikKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg1LDkg
Kzg1LDYgQEAgc3RhdGljIHZvaWQgcHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcgogICAgIGNh
c2UgSFRNTE1lc3NhZ2VTb3VyY2U6CiAgICAgICAgIHNvdXJjZVN0cmluZyA9ICJIVE1MIjsKICAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBXTUxNZXNzYWdlU291cmNlOgotICAgICAgICBzb3VyY2VT
dHJpbmcgPSAiV01MIjsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBYTUxNZXNzYWdlU291cmNl
OgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAiWE1MIjsKICAgICAgICAgYnJlYWs7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnNvbGUuaAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnNvbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNiBAQCBjbGFzcyBTY3JpcHRD
YWxsU3RhY2s7CiAKIGVudW0gTWVzc2FnZVNvdXJjZSB7CiAgICAgSFRNTE1lc3NhZ2VTb3VyY2Us
Ci0gICAgV01MTWVzc2FnZVNvdXJjZSwKICAgICBYTUxNZXNzYWdlU291cmNlLAogICAgIEpTTWVz
c2FnZVNvdXJjZSwKICAgICBDU1NNZXNzYWdlU291cmNlLApJbmRleDogU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEwOSwxMCArMTA5LDYgQEAKICNpbmNsdWRlICJUaWxlZEJhY2tpbmdT
dG9yZS5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE5hbWVzLmgi
Ci0jZW5kaWYKLQogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtMTc5LDEwICsxNzUsNiBAQCBpbmxpbmUgRnJhbWU6OkZyYW1lKFBhZ2UqIHBhZ2UsIEhUTUxG
cmFtCiAgICAgWE1MTlNOYW1lczo6aW5pdCgpOwogICAgIFhNTE5hbWVzOjppbml0KCk7CiAKLSNp
ZiBFTkFCTEUoV01MKQotICAgIFdNTE5hbWVzOjppbml0KCk7Ci0jZW5kaWYKLQogICAgIGlmICgh
b3duZXJFbGVtZW50KSB7CiAjaWYgRU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgICAg
IC8vIFRvcCBsZXZlbCBmcmFtZSBvbmx5IGZvciBub3cuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJ
KHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODIsMTAgKzgyLDYgQEAKICNpbmNsdWRlICJTdG9yYWdlTmFtZXNwYWNlLmgi
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MUGFnZVN0YXRlLmgiCi0j
ZW5kaWYKLQogI2lmIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCiAjaW5jbHVkZSAi
R2VvbG9jYXRpb25Db250cm9sbGVyLmgiCiAjZW5kaWYKQEAgLTc3OCwxNSArNzc0LDYgQEAgdm9p
ZCBQYWdlOjpzZXRTZXNzaW9uU3RvcmFnZShQYXNzUmVmUHRyPAogfQogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoV01MKQotV01MUGFnZVN0YXRlKiBQYWdlOjp3bWxQYWdlU3RhdGUoKQotewotICAgIGlm
ICghbV93bWxQYWdlU3RhdGUpICAgIAotICAgICAgICBtX3dtbFBhZ2VTdGF0ZS5zZXQobmV3IFdN
TFBhZ2VTdGF0ZSh0aGlzKSk7Ci0gICAgcmV0dXJuIG1fd21sUGFnZVN0YXRlLmdldCgpOyAKLX0K
LSNlbmRpZgotCiB2b2lkIFBhZ2U6OnNldEN1c3RvbUhUTUxUb2tlbml6ZXJUaW1lRGVsYXkoZG91
YmxlIGN1c3RvbUhUTUxUb2tlbml6ZXJUaW1lRGVsYXkpCiB7CiAgICAgaWYgKGN1c3RvbUhUTUxU
b2tlbml6ZXJUaW1lRGVsYXkgPCAwKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkocmV2aXNpb24gODUy
NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtODYs
OSArODYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgY2xhc3MgTm90aWZpY2F0aW9uUHJlc2VudGVyOwogI2VuZGlmCi0jaWYgRU5BQkxFKFdN
TCkKLSAgICBjbGFzcyBXTUxQYWdlU3RhdGU7Ci0jZW5kaWYKIAogICAgIHR5cGVkZWYgdWludDY0
X3QgTGlua0hhc2g7CiAKQEAgLTI2OCwxMCArMjY1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2b2lkIHNldFNlc3Npb25TdG9yYWdlKFBhc3NSZWZQdHI8U3RvcmFnZU5hbWVzcGFj
ZT4pOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV01MKQotICAgICAgICBXTUxQYWdlU3RhdGUqIHdt
bFBhZ2VTdGF0ZSgpOwotI2VuZGlmCi0KICAgICAgICAgdm9pZCBzZXRDdXN0b21IVE1MVG9rZW5p
emVyVGltZURlbGF5KGRvdWJsZSk7CiAgICAgICAgIGJvb2wgaGFzQ3VzdG9tSFRNTFRva2VuaXpl
clRpbWVEZWxheSgpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxh
eSAhPSAtMTsgfQogICAgICAgICBkb3VibGUgY3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheSgp
IGNvbnN0IHsgQVNTRVJUKG1fY3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheSAhPSAtMSk7IHJl
dHVybiBtX2N1c3RvbUhUTUxUb2tlbml6ZXJUaW1lRGVsYXk7IH0KQEAgLTM5MCwxMCArMzgzLDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSZWZQdHI8U3RvcmFnZU5hbWVzcGFjZT4g
bV9zZXNzaW9uU3RvcmFnZTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKFdNTCkKLSAgICAgICAgT3du
UHRyPFdNTFBhZ2VTdGF0ZT4gbV93bWxQYWdlU3RhdGU7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogICAgICAgICBOb3RpZmljYXRpb25QcmVzZW50ZXIqIG1fbm90aWZpY2F0
aW9uUHJlc2VudGVyOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1F
VHlwZVJlZ2lzdHJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
SU1FVHlwZVJlZ2lzdHJ5LmNwcAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk4LDEwICsx
OTgsNiBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplU3VwcG9ydGVkSmF2YVNjcmlwCiBzdGF0aWMg
dm9pZCBpbml0aWFsaXplU3VwcG9ydGVkTm9uSW1hZ2VNaW1lVHlwZXMoKQogewogICAgIHN0YXRp
YyBjb25zdCBjaGFyKiB0eXBlc1tdID0gewotI2lmIEVOQUJMRShXTUwpCi0gICAgICAgICJ0ZXh0
L3ZuZC53YXAud21sIiwKLSAgICAgICAgImFwcGxpY2F0aW9uL3ZuZC53YXAud21sYyIsCi0jZW5k
aWYKICAgICAgICAgInRleHQvaHRtbCIsCiAgICAgICAgICJ0ZXh0L3htbCIsCiAgICAgICAgICJ0
ZXh0L3hzbCIsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRh
QnVpbGRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Rm9ybURhdGFCdWlsZGVyLmgJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyAr
MzQsNyBAQCBjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgewogcHVibGljOgogICAgIHN0YXRpYyBUZXh0
RW5jb2RpbmcgZW5jb2RpbmdGcm9tQWNjZXB0Q2hhcnNldChjb25zdCBTdHJpbmcmIGFjY2VwdENo
YXJzZXQsIERvY3VtZW50KiBkb2N1bWVudCk7CiAKLSAgICAvLyBIZWxwZXIgZnVuY3Rpb25zIHVz
ZWQgYnkgSFRNTEZvcm1FbGVtZW50L1dNTEdvRWxlbWVudCBmb3IgbXVsdGktcGFydCBmb3JtIGRh
dGEKKyAgICAvLyBIZWxwZXIgZnVuY3Rpb25zIHVzZWQgYnkgSFRNTEZvcm1FbGVtZW50IGZvciBt
dWx0aS1wYXJ0IGZvcm0gZGF0YQogICAgIHN0YXRpYyBWZWN0b3I8Y2hhcj4gZ2VuZXJhdGVVbmlx
dWVCb3VuZGFyeVN0cmluZygpOwogICAgIHN0YXRpYyB2b2lkIGJlZ2luTXVsdGlQYXJ0SGVhZGVy
KFZlY3RvcjxjaGFyPiYsIGNvbnN0IENTdHJpbmcmIGJvdW5kYXJ5LCBjb25zdCBDU3RyaW5nJiBu
YW1lKTsKICAgICBzdGF0aWMgdm9pZCBhZGRCb3VuZGFyeVRvTXVsdGlQYXJ0SGVhZGVyKFZlY3Rv
cjxjaGFyPiYsIGNvbnN0IENTdHJpbmcmIGJvdW5kYXJ5LCBib29sIGlzTGFzdEJvdW5kYXJ5ID0g
ZmFsc2UpOwpAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYWRkQ29u
dGVudFR5cGVUb011bHRpUGFydEhlYWRlcihWZWN0b3I8Y2hhcj4mLCBjb25zdCBDU3RyaW5nJiBt
aW1lVHlwZSk7CiAgICAgc3RhdGljIHZvaWQgZmluaXNoTXVsdGlQYXJ0SGVhZGVyKFZlY3Rvcjxj
aGFyPiYpOwogCi0gICAgLy8gSGVscGVyIGZ1bmN0aW9ucyB1c2VkIGJ5IEhUTUxGb3JtRWxlbWVu
dC9XTUxHb0VsZW1lbnQgZm9yIG5vbiBtdWx0aS1wYXJ0IGZvcm0gZGF0YQorICAgIC8vIEhlbHBl
ciBmdW5jdGlvbnMgdXNlZCBieSBIVE1MRm9ybUVsZW1lbnQgZm9yIG5vbiBtdWx0aS1wYXJ0IGZv
cm0gZGF0YQogICAgIHN0YXRpYyB2b2lkIGFkZEtleVZhbHVlUGFpckFzRm9ybURhdGEoVmVjdG9y
PGNoYXI+JiwgY29uc3QgQ1N0cmluZyYga2V5LCBjb25zdCBDU3RyaW5nJiB2YWx1ZSk7CiAgICAg
c3RhdGljIHZvaWQgZW5jb2RlU3RyaW5nQXNGb3JtRGF0YShWZWN0b3I8Y2hhcj4mLCBjb25zdCBD
U3RyaW5nJik7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jl
c291cmNlSGFuZGxlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCShyZXZpc2lvbiA4NTI0MikKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC04MDgsMjIgKzgwOCw2IEBAIC0gKHZvaWQpY29ubmVjdGlvbjooTlNV
UkxDb25uZWN0aW9uICopY28KICAgICBpZiAoW21faGFuZGxlLT5maXJzdFJlcXVlc3QoKS5uc1VS
TFJlcXVlc3QoKSBfcHJvcGVydHlGb3JLZXk6QCJGb3JjZUhUTUxNSU1FVHlwZSJdKQogICAgICAg
ICBbciBfc2V0TUlNRVR5cGU6QCJ0ZXh0L2h0bWwiXTsKIAotI2lmIEVOQUJMRShXTUwpCi0gICAg
Y29uc3QgS1VSTCYgdXJsID0gW3IgVVJMXTsKLSAgICBpZiAodXJsLmlzTG9jYWxGaWxlKCkpIHsK
LSAgICAgICAgLy8gRklYTUU6IFdvcmthcm91bmQgZm9yIDxyZGFyOi8vcHJvYmxlbS82OTE3NTcx
PjogVGhlIFdNTCBmaWxlIGV4dGVuc2lvbiAiLndtbCIgaXMgbm90IG1hcHBlZCB0bwotICAgICAg
ICAvLyB0aGUgcmlnaHQgTUlNRSB0eXBlLCB3b3JrIGFyb3VuZCB0aGF0IENGTmV0d29yayBwcm9i
bGVtLCB0byB1bmJyZWFrIFdNTCBzdXBwb3J0IGZvciBsb2NhbCBmaWxlcy4KLSAgICAgICAgY29u
c3QgU3RyaW5nJiBwYXRoID0gdXJsLnBhdGgoKTsKLSAgCi0gICAgICAgIERFRklORV9TVEFUSUNf
TE9DQUwoY29uc3QgU3RyaW5nLCB3bWxFeHQsICgiLndtbCIpKTsKLSAgICAgICAgaWYgKHBhdGgu
ZW5kc1dpdGgod21sRXh0LCBmYWxzZSkpIHsKLSAgICAgICAgICAgIHN0YXRpYyBOU1N0cmluZyog
ZGVmYXVsdE1JTUVUeXBlU3RyaW5nID0gWyhOU1N0cmluZyopIGRlZmF1bHRNSU1FVHlwZSgpIHJl
dGFpbl07Ci0gICAgICAgICAgICBpZiAoW1tyIE1JTUVUeXBlXSBpc0VxdWFsVG9TdHJpbmc6ZGVm
YXVsdE1JTUVUeXBlU3RyaW5nXSkKLSAgICAgICAgICAgICAgICBbciBfc2V0TUlNRVR5cGU6QCJ0
ZXh0L3ZuZC53YXAud21sIl07Ci0gICAgICAgIH0KLSAgICB9Ci0jZW5kaWYKLQogICAgIG1faGFu
ZGxlLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKG1faGFuZGxlLCByKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbkNFLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJl
Z2lzdHJ5V2luQ0UuY3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5DRS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2
LDkgKzg2LDYgQEAgc3RhdGljIHZvaWQgaW5pdE1JTUVUeXBlRW50ZW5zaW9uTWFwKCkKICAgICAg
ICAgLy8gRklYTUU6IEN1c3RvbSBmb250IHdvcmtzIG9ubHkgd2hlbiBNSU1FIGlzICJ0ZXh0L3Bs
YWluIgogICAgICAgICBtaW1ldHlwZU1hcC5hZGQoInR0ZiIsICJ0ZXh0L3BsYWluIik7IC8vICJm
b250L3R0ZiIKICAgICAgICAgbWltZXR5cGVNYXAuYWRkKCJvdGYiLCAidGV4dC9wbGFpbiIpOyAv
LyAiZm9udC9vdGYiCi0jaWYgRU5BQkxFKFdNTCkKLSAgICAgICAgbWltZXR5cGVNYXAuYWRkKCJ3
bWwiLCAidGV4dC92bmQud2FwLndtbCIpOwotI2VuZGlmCiAjaWYgRU5BQkxFKFdCWE1MKQogICAg
ICAgICBtaW1ldHlwZU1hcC5hZGQoIndieG1sIiwgImFwcGxpY2F0aW9uL3ZuZC53YXAud21sYyIp
OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
Y3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTEgKzQxLDYgQEAKICNpbmNsdWRlICJY
TGlua05hbWVzLmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MSW1h
Z2VFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNlbmRpZgotCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC0yNjMsMTMgKzI1OCw2
IEBAIFN0cmluZyBIaXRUZXN0UmVzdWx0OjphbHREaXNwbGF5U3RyaW5nKCkKICAgICAgICAgcmV0
dXJuIGRpc3BsYXlTdHJpbmcoaW5wdXQtPmFsdCgpLCBtX2lubmVyTm9uU2hhcmVkTm9kZS5nZXQo
KSk7CiAgICAgfQogCi0jaWYgRU5BQkxFKFdNTCkKLSAgICBpZiAobV9pbm5lck5vblNoYXJlZE5v
ZGUtPmhhc1RhZ05hbWUoV01MTmFtZXM6OmltZ1RhZykpIHsKLSAgICAgICAgV01MSW1hZ2VFbGVt
ZW50KiBpbWFnZSA9IHN0YXRpY19jYXN0PFdNTEltYWdlRWxlbWVudCo+KG1faW5uZXJOb25TaGFy
ZWROb2RlLmdldCgpKTsKLSAgICAgICAgcmV0dXJuIGRpc3BsYXlTdHJpbmcoaW1hZ2UtPmFsdFRl
eHQoKSwgbV9pbm5lck5vblNoYXJlZE5vZGUuZ2V0KCkpOwotICAgIH0KLSNlbmRpZgotCiAgICAg
cmV0dXJuIFN0cmluZygpOwogfQogCkBAIC0zMTEsOSArMjk5LDYgQEAgS1VSTCBIaXRUZXN0UmVz
dWx0OjphYnNvbHV0ZUltYWdlVVJMKCkgYwogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIHx8IG1f
aW5uZXJOb25TaGFyZWROb2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjppbWFnZVRhZykKICNlbmRp
ZgotI2lmIEVOQUJMRShXTUwpCi0gICAgICAgIHx8IG1faW5uZXJOb25TaGFyZWROb2RlLT5oYXNU
YWdOYW1lKFdNTE5hbWVzOjppbWdUYWcpCi0jZW5kaWYKICAgICAgICApIHsKICAgICAgICAgRWxl
bWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihtX2lubmVyTm9uU2hhcmVkTm9k
ZS5nZXQoKSk7CiAgICAgICAgIHVybFN0cmluZyA9IGVsZW1lbnQtPmdldEF0dHJpYnV0ZShlbGVt
ZW50LT5pbWFnZVNvdXJjZUF0dHJpYnV0ZU5hbWUoKSk7CkBAIC00NjksMTAgKzQ1NCw2IEBAIEtV
UkwgSGl0VGVzdFJlc3VsdDo6YWJzb2x1dGVMaW5rVVJMKCkgY28KICAgICBlbHNlIGlmIChtX2lu
bmVyVVJMRWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6YVRhZykpCiAgICAgICAgIHVybFN0
cmluZyA9IG1faW5uZXJVUkxFbGVtZW50LT5nZXRBdHRyaWJ1dGUoWExpbmtOYW1lczo6aHJlZkF0
dHIpOwogI2VuZGlmCi0jaWYgRU5BQkxFKFdNTCkKLSAgICBlbHNlIGlmIChtX2lubmVyVVJMRWxl
bWVudC0+aGFzVGFnTmFtZShXTUxOYW1lczo6YVRhZykpCi0gICAgICAgIHVybFN0cmluZyA9IG1f
aW5uZXJVUkxFbGVtZW50LT5nZXRBdHRyaWJ1dGUoaHJlZkF0dHIpOwotI2VuZGlmCiAgICAgZWxz
ZQogICAgICAgICByZXR1cm4gS1VSTCgpOwogCkBAIC00OTAsMTAgKzQ3MSw2IEBAIGJvb2wgSGl0
VGVzdFJlc3VsdDo6aXNMaXZlTGluaygpIGNvbnN0CiAgICAgaWYgKG1faW5uZXJVUkxFbGVtZW50
LT5oYXNUYWdOYW1lKFNWR05hbWVzOjphVGFnKSkKICAgICAgICAgcmV0dXJuIG1faW5uZXJVUkxF
bGVtZW50LT5pc0xpbmsoKTsKICNlbmRpZgotI2lmIEVOQUJMRShXTUwpCi0gICAgaWYgKG1faW5u
ZXJVUkxFbGVtZW50LT5oYXNUYWdOYW1lKFdNTE5hbWVzOjphVGFnKSkKLSAgICAgICAgcmV0dXJu
IG1faW5uZXJVUkxFbGVtZW50LT5pc0xpbmsoKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGZhbHNl
OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9u
IDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTUyLDEwICs1Miw2IEBACiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1
ZGUgPG1hdGguaD4KIAotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNl
bmRpZgotCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAkocmV2aXNpb24gODUy
NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsMTEgKzI4LDYgQEAKICNpbmNsdWRlICJSZW5kZXJUZXh0RnJhZ21lbnQu
aCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRl
ICJXTUxEb0VsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotI2VuZGlmCi0KIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTEyMSwxOSAr
MTE2LDYgQEAgdm9pZCBSZW5kZXJCdXR0b246OnVwZGF0ZUZyb21FbGVtZW50KCkKICAgICAgICAg
U3RyaW5nIHZhbHVlID0gaW5wdXQtPnZhbHVlV2l0aERlZmF1bHQoKTsKICAgICAgICAgc2V0VGV4
dCh2YWx1ZSk7CiAgICAgfQotCi0KLSNpZiBFTkFCTEUoV01MKQotICAgIGVsc2UgaWYgKG5vZGUo
KS0+aGFzVGFnTmFtZShXTUxOYW1lczo6ZG9UYWcpKSB7Ci0gICAgICAgIFdNTERvRWxlbWVudCog
ZG9FbGVtZW50ID0gc3RhdGljX2Nhc3Q8V01MRG9FbGVtZW50Kj4obm9kZSgpKTsKLQotICAgICAg
ICBTdHJpbmcgdmFsdWUgPSBkb0VsZW1lbnQtPmxhYmVsKCk7Ci0gICAgICAgIGlmICh2YWx1ZS5p
c0VtcHR5KCkpCi0gICAgICAgICAgICB2YWx1ZSA9IGRvRWxlbWVudC0+bmFtZSgpOwotCi0gICAg
ICAgIHNldFRleHQodmFsdWUpOwotICAgIH0KLSNlbmRpZgogfQogCiBib29sIFJlbmRlckJ1dHRv
bjo6Y2FuSGF2ZUNoaWxkcmVuKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGaWVsZHNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZpZWxkc2V0LmNwcAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMCAr
MjksNiBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIlBhaW50SW5mby5oIgog
Ci0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotI2VuZGlmCi0KIHVzaW5n
IHN0ZDo6bWluOwogdXNpbmcgc3RkOjptYXg7CiAKQEAgLTExNiwxMyArMTEyLDcgQEAgUmVuZGVy
T2JqZWN0KiBSZW5kZXJGaWVsZHNldDo6bGF5b3V0U3BlYwogUmVuZGVyQm94KiBSZW5kZXJGaWVs
ZHNldDo6ZmluZExlZ2VuZCgpIGNvbnN0CiB7CiAgICAgZm9yIChSZW5kZXJPYmplY3QqIGxlZ2Vu
ZCA9IGZpcnN0Q2hpbGQoKTsgbGVnZW5kOyBsZWdlbmQgPSBsZWdlbmQtPm5leHRTaWJsaW5nKCkp
IHsKLSAgICAgICAgaWYgKCFsZWdlbmQtPmlzRmxvYXRpbmdPclBvc2l0aW9uZWQoKSAmJiBsZWdl
bmQtPm5vZGUoKSAmJgotICAgICAgICAgICAgKGxlZ2VuZC0+bm9kZSgpLT5oYXNUYWdOYW1lKGxl
Z2VuZFRhZykKLSNpZiBFTkFCTEUoV01MKQotICAgICAgICAgICAgfHwgbGVnZW5kLT5ub2RlKCkt
Pmhhc1RhZ05hbWUoV01MTmFtZXM6Omluc2VydGVkTGVnZW5kVGFnKQotI2VuZGlmCi0gICAgICAg
ICAgICApCi0gICAgICAgICAgICkKKyAgICAgICAgaWYgKCFsZWdlbmQtPmlzRmxvYXRpbmdPclBv
c2l0aW9uZWQoKSAmJiBsZWdlbmQtPm5vZGUoKSAmJiAobGVnZW5kLT5ub2RlKCktPmhhc1RhZ05h
bWUobGVnZW5kVGFnKSkpCiAgICAgICAgICAgICByZXR1cm4gdG9SZW5kZXJCb3gobGVnZW5kKTsK
ICAgICB9CiAgICAgcmV0dXJuIDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsMTEgKzQyLDYgQEAKICNpbmNs
dWRlICJUZXh0UnVuLmgiCiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAKLSNpZiBFTkFC
TEUoV01MKQotI2luY2x1ZGUgIldNTEltYWdlRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTE5hbWVz
LmgiCi0jZW5kaWYKLQogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDMwLDEwICs0MjUsNiBAQCB2b2lkIFJlbmRlckltYWdlOjp1cGRhdGVBbHRUZXh0KCkK
ICAgICAgICAgbV9hbHRUZXh0ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG5vZGUo
KSktPmFsdFRleHQoKTsKICAgICBlbHNlIGlmIChub2RlKCktPmhhc1RhZ05hbWUoaW1nVGFnKSkK
ICAgICAgICAgbV9hbHRUZXh0ID0gc3RhdGljX2Nhc3Q8SFRNTEltYWdlRWxlbWVudCo+KG5vZGUo
KSktPmFsdFRleHQoKTsKLSNpZiBFTkFCTEUoV01MKQotICAgIGVsc2UgaWYgKG5vZGUoKS0+aGFz
VGFnTmFtZShXTUxOYW1lczo6aW1nVGFnKSkKLSAgICAgICAgbV9hbHRUZXh0ID0gc3RhdGljX2Nh
c3Q8V01MSW1hZ2VFbGVtZW50Kj4obm9kZSgpKS0+YWx0VGV4dCgpOwotI2VuZGlmCiB9CiAKIGJv
b2wgUmVuZGVySW1hZ2U6OmlzTG9naWNhbFdpZHRoU3BlY2lmaWVkKCkgY29uc3QKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCShyZXZpc2lvbiA4NTI0MikK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02NywxMCArNjcsNiBAQAogI2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5o
IgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jZW5k
aWYKLQogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXIuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0LmgiCkBAIC0yNjEsMTEgKzI1Nyw3IEBA
IGJvb2wgUmVuZGVyT2JqZWN0Ojppc0hSKCkgY29uc3QKIAogYm9vbCBSZW5kZXJPYmplY3Q6Omlz
TGVnZW5kKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbm9kZSgpICYmIChub2RlKCktPmhhc1RhZ05h
bWUobGVnZW5kVGFnKQotI2lmIEVOQUJMRShXTUwpCi0gICAgICAgICAgICAgICAgICAgICAgfHwg
bm9kZSgpLT5oYXNUYWdOYW1lKFdNTE5hbWVzOjppbnNlcnRlZExlZ2VuZFRhZykKLSNlbmRpZgot
ICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aGFz
VGFnTmFtZShsZWdlbmRUYWcpOwogfQogCiBib29sIFJlbmRlck9iamVjdDo6aXNIVE1MTWFycXVl
ZSgpIGNvbnN0CkBAIC0yNTAyLDIwICsyNDk0LDggQEAgUmVuZGVyQm94TW9kZWxPYmplY3QqIFJl
bmRlck9iamVjdDo6b2ZmcwogICAgIFJlbmRlck9iamVjdCogY3VyciA9IHBhcmVudCgpOwogICAg
IHdoaWxlIChjdXJyICYmICghY3Vyci0+bm9kZSgpIHx8ICghY3Vyci0+aXNQb3NpdGlvbmVkKCkg
JiYgIWN1cnItPmlzUmVsUG9zaXRpb25lZCgpICYmICFjdXJyLT5pc0JvZHkoKSkpKSB7CiAgICAg
ICAgIE5vZGUqIGVsZW1lbnQgPSBjdXJyLT5ub2RlKCk7Ci0gICAgICAgIGlmICghc2tpcFRhYmxl
cyAmJiBlbGVtZW50KSB7Ci0gICAgICAgICAgICBib29sIGlzVGFibGVFbGVtZW50ID0gZWxlbWVu
dC0+aGFzVGFnTmFtZSh0YWJsZVRhZykgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbGVtZW50LT5oYXNUYWdOYW1lKHRkVGFnKSB8fAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVsZW1lbnQtPmhhc1RhZ05hbWUodGhUYWcpOwotCi0jaWYgRU5BQkxFKFdN
TCkKLSAgICAgICAgICAgIGlmICghaXNUYWJsZUVsZW1lbnQgJiYgZWxlbWVudC0+aXNXTUxFbGVt
ZW50KCkpCi0gICAgICAgICAgICAgICAgaXNUYWJsZUVsZW1lbnQgPSBlbGVtZW50LT5oYXNUYWdO
YW1lKFdNTE5hbWVzOjp0YWJsZVRhZykgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVsZW1lbnQtPmhhc1RhZ05hbWUoV01MTmFtZXM6OnRkVGFnKTsKLSNlbmRpZgotCi0gICAg
ICAgICAgICBpZiAoaXNUYWJsZUVsZW1lbnQpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIH0KKyAgICAgICAgaWYgKCFza2lwVGFibGVzICYmIGVsZW1lbnQgJiYgKGVsZW1lbnQtPmhh
c1RhZ05hbWUodGFibGVUYWcpIHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUodGRUYWcpIHx8IGVsZW1l
bnQtPmhhc1RhZ05hbWUodGhUYWcpKSkKKyAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGZs
b2F0IG5ld1pvb20gPSBjdXJyLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCk7CiAgICAgICAgIGlm
IChjdXJyWm9vbSAhPSBuZXdab29tKQpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEFFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MQUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxBRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTU4ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAy
MDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRv
cmNobW9iaWxlLmNvbS8pCi0gKgotICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtu
b2xsQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZp
c3RvQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDIwMDAgU2ltb24gSGF1c21hbm4gPGhhdXNt
YW5uQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDYsIDIwMDcsIDIwMDgsIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogICAgICAgICAgIChDKSAyMDA2
IEdyYWhhbSBEZW5uaXMgKGdyYWhhbS5kZW5uaXNAZ21haWwuY29tKQotICoKLSAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
Ci0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
Ci0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxBRWxlbWVudC5oIgotCi0j
aW5jbHVkZSAiQXR0cmlidXRlLmgiCi0jaW5jbHVkZSAiRXZlbnQuaCIKLSNpbmNsdWRlICJFdmVu
dEhhbmRsZXIuaCIKLSNpbmNsdWRlICJFdmVudE5hbWVzLmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIK
LSNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgotI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50Lmgi
Ci0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgot
I2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKLSNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCi0jaW5j
bHVkZSAiUmVuZGVyQm94LmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKLSNpbmNsdWRl
ICJXTUxOYW1lcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFjZSBX
TUxOYW1lczsKLQotV01MQUVsZW1lbnQ6OldNTEFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxFbGVtZW50KHRhZ05hbWUsIGRvYykK
LXsKLX0KLQotUGFzc1JlZlB0cjxXTUxBRWxlbWVudD4gV01MQUVsZW1lbnQ6OmNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBXTUxBRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi12
b2lkIFdNTEFFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCi17
Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OmhyZWZBdHRyKSB7Ci0gICAgICAg
IGJvb2wgd2FzTGluayA9IGlzTGluaygpOwotICAgICAgICBzZXRJc0xpbmsoIWF0dHItPmlzTnVs
bCgpKTsKLSAgICAgICAgaWYgKHdhc0xpbmsgIT0gaXNMaW5rKCkpCi0gICAgICAgICAgICBzZXRO
ZWVkc1N0eWxlUmVjYWxjKCk7Ci0gICAgICAgIGlmIChpc0xpbmsoKSAmJiBkb2N1bWVudCgpLT5p
c0ROU1ByZWZldGNoRW5hYmxlZCgpKSB7Ci0gICAgICAgICAgICBTdHJpbmcgdmFsdWUgPSBhdHRy
LT52YWx1ZSgpOwotICAgICAgICAgICAgaWYgKHByb3RvY29sSXModmFsdWUsICJodHRwIikgfHwg
cHJvdG9jb2xJcyh2YWx1ZSwgImh0dHBzIikgfHwgdmFsdWUuc3RhcnRzV2l0aCgiLy8iKSkKLSAg
ICAgICAgICAgICAgICBSZXNvdXJjZUhhbmRsZTo6cHJlcGFyZUZvclVSTChkb2N1bWVudCgpLT5j
b21wbGV0ZVVSTCh2YWx1ZSkpOwotICAgICAgICB9Ci0gICAgfSBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gSFRNTE5hbWVzOjpuYW1lQXR0cgotICAgICAgICAgICAgICAgfHwgYXR0ci0+bmFtZSgp
ID09IEhUTUxOYW1lczo6dGl0bGVBdHRyCi0gICAgICAgICAgICAgICB8fCBhdHRyLT5uYW1lKCkg
PT0gSFRNTE5hbWVzOjpyZWxBdHRyKSB7Ci0gICAgICAgIC8vIERvIG5vdGhpbmcuCi0gICAgfSBl
bHNlCi0gICAgICAgIFdNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwotfQot
Ci1ib29sIFdNTEFFbGVtZW50OjpzdXBwb3J0c0ZvY3VzKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
aXNMaW5rKCkgfHwgV01MRWxlbWVudDo6c3VwcG9ydHNGb2N1cygpOwotfQotCi1ib29sIFdNTEFF
bGVtZW50Ojppc01vdXNlRm9jdXNhYmxlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19
Ci0KLWJvb2wgV01MQUVsZW1lbnQ6OmlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCog
ZXZlbnQpIGNvbnN0Ci17Ci0gICAgaWYgKCFpc0ZvY3VzYWJsZSgpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgCi0gICAgaWYgKCFkb2N1bWVudCgpLT5mcmFtZSgpKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWRvY3VtZW50KCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigp
LT50YWJzVG9MaW5rcyhldmVudCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICgh
cmVuZGVyZXIoKSB8fCAhcmVuZGVyZXIoKS0+aXNCb3hNb2RlbE9iamVjdCgpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICAvLyBCZWZvcmUgY2FsbGluZyBhYnNvbHV0ZVJlY3RzLCBjaGVj
ayBmb3IgdGhlIGNvbW1vbiBjYXNlIHdoZXJlIHRoZSByZW5kZXJlcgotICAgIC8vIGlzIG5vbi1l
bXB0eSwgc2luY2UgdGhpcyBpcyBhIGZhc3RlciBjaGVjayBhbmQgYWxtb3N0IGFsd2F5cyByZXR1
cm5zIHRydWUuCi0gICAgUmVuZGVyQm94TW9kZWxPYmplY3QqIGJveCA9IHRvUmVuZGVyQm94TW9k
ZWxPYmplY3QocmVuZGVyZXIoKSk7Ci0gICAgaWYgKCFib3gtPmJvcmRlckJvdW5kaW5nQm94KCku
aXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIFZlY3RvcjxJbnRSZWN0PiBy
ZWN0czsKLSAgICBGbG9hdFBvaW50IGFic1BvcyA9IHJlbmRlcmVyKCktPmxvY2FsVG9BYnNvbHV0
ZSgpOwotICAgIHJlbmRlcmVyKCktPmFic29sdXRlUmVjdHMocmVjdHMsIGFic1Bvcy54KCksIGFi
c1Bvcy55KCkpOwotICAgIHNpemVfdCBuID0gcmVjdHMuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbjsgKytpKQotICAgICAgICBpZiAoIXJlY3RzW2ldLmlzRW1wdHkoKSkKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCi12b2lkIFdN
TEFFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKLXsKLSAgICBpZiAo
aXNMaW5rKCkpIHsKLSAgICAgICAgaWYgKGZvY3VzZWQoKSAmJiBpc0VudGVyS2V5S2V5ZG93bkV2
ZW50KGV2ZW50KSkgewotICAgICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0g
ICAgICAgICAgICBkaXNwYXRjaFNpbXVsYXRlZENsaWNrKGV2ZW50KTsKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChpc0xpbmtDbGljayhldmVudCkpIHsKLSAg
ICAgICAgICAgIGhhbmRsZUxpbmtDbGljayhldmVudCwgZG9jdW1lbnQoKSwgc3RyaXBMZWFkaW5n
QW5kVHJhaWxpbmdIVE1MU3BhY2VzKGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmhyZWZBdHRyKSks
IHRhcmdldCgpLCBldmVudCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBXTUxFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKLX0KLQotdm9p
ZCBXTUxBRWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZFRvQW55RWxlbWVudCkKLXsK
LSAgICAvLyBzZW5kIHRoZSBtb3VzZSBidXR0b24gZXZlbnRzIGlmIHRoZSBjYWxsZXIgc3BlY2lm
aWVkIHNlbmRUb0FueUVsZW1lbnQKLSAgICBkaXNwYXRjaFNpbXVsYXRlZENsaWNrKDAsIHNlbmRU
b0FueUVsZW1lbnQpOwotfQotCi1ib29sIFdNTEFFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZShBdHRy
aWJ1dGUgKmF0dHIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGF0dHItPm5hbWUoKSA9PSBIVE1MTmFt
ZXM6OmhyZWZBdHRyOwotfQotCi1TdHJpbmcgV01MQUVsZW1lbnQ6OnRhcmdldCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnRhcmdldEF0dHIpOwotfQotCi19
Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEFFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEFFbGVtZW50LmgJKHJldmlzaW9uIDg1MjQy
KQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTEFFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEsNTYgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAq
Ci0gKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAqICAg
ICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKLSAqICAg
ICAgICAgICAoQykgMjAwMCBTaW1vbiBIYXVzbWFubiA8aGF1c21hbm5Aa2RlLm9yZz4KLSAqIENv
cHlyaWdodCAoQykgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiAKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8K
LQotI2lmbmRlZiBXTUxBRWxlbWVudF9oCi0jZGVmaW5lIFdNTEFFbGVtZW50X2gKLQotI2lmIEVO
QUJMRShXTUwpCi0jaW5jbHVkZSAiV01MRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIFdNTEFFbGVtZW50IDogcHVibGljIFdNTEVsZW1lbnQgewotcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdNTEFFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLQotICAgIFdNTEFFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNG
b2N1cygpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Q7
Ci0gICAgdmlydHVhbCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNv
bnN0OwotCi0gICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSop
OwotICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7Ci0KLSAgICB2
aXJ0dWFsIHZvaWQgYWNjZXNzS2V5QWN0aW9uKGJvb2wgZnVsbEFjdGlvbik7Ci0gICAgdmlydHVh
bCBib29sIGlzVVJMQXR0cmlidXRlKEF0dHJpYnV0ZSopIGNvbnN0OwotCi0gICAgdmlydHVhbCBT
dHJpbmcgdGFyZ2V0KCkgY29uc3Q7Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS93bWwvV01MQWNjZXNzRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvd21sL1dNTEFjY2Vzc0VsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTI0MikKKysr
IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxBY2Nlc3NFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMSw3NyArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxB
Y2Nlc3NFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJXTUxE
b2N1bWVudC5oIgotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jaW5jbHVkZSAiV01MVmFyaWFibGVz
LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIFdNTE5hbWVzOwot
Ci1XTUxBY2Nlc3NFbGVtZW50OjpXTUxBY2Nlc3NFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxFbGVtZW50KHRhZ05hbWUsIGRvYykK
LXsKLX0KLQotUGFzc1JlZlB0cjxXTUxBY2Nlc3NFbGVtZW50PiBXTUxBY2Nlc3NFbGVtZW50Ojpj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQot
ewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MQWNjZXNzRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkpOwotfQotCi12b2lkIFdNTEFjY2Vzc0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KEF0dHJpYnV0ZSogYXR0cikKLXsKLSAgICBpZiAoYXR0ci0+bmFtZSgpID09IGRvbWFpbkF0dHIp
IHsKLSAgICAgICAgU3RyaW5nIHZhbHVlID0gcGFyc2VWYWx1ZUZvcmJpZGRpbmdWYXJpYWJsZVJl
ZmVyZW5jZXMoYXR0ci0+dmFsdWUoKSk7Ci0gICAgICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkpCi0g
ICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbV9kb21haW4gPSB2YWx1ZTsKLSAgICB9IGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBwYXRoQXR0cikgewotICAgICAgICBTdHJpbmcgdmFsdWUg
PSBwYXJzZVZhbHVlRm9yYmlkZGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhhdHRyLT52YWx1ZSgpKTsK
LSAgICAgICAgaWYgKHZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAg
ICAgICBtX3BhdGggPSB2YWx1ZTsKLSAgICB9IGVsc2UKLSAgICAgICAgV01MRWxlbWVudDo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Ci19Ci0KLXZvaWQgV01MQWNjZXNzRWxlbWVudDo6aW5z
ZXJ0ZWRJbnRvRG9jdW1lbnQoKQotewotICAgIFdNTEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3Vt
ZW50KCk7Ci0KLSAgICBXTUxQYWdlU3RhdGUqIHBhZ2VTdGF0ZSA9IHdtbFBhZ2VTdGF0ZUZvckRv
Y3VtZW50KGRvY3VtZW50KCkpOwotICAgIGlmICghcGFnZVN0YXRlIHx8IHBhZ2VTdGF0ZS0+cHJv
Y2Vzc0FjY2Vzc0NvbnRyb2xEYXRhKG1fZG9tYWluLCBtX3BhdGgpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBwYWdlU3RhdGUtPnJlc2V0QWNjZXNzQ29udHJvbERhdGEoKTsKLSAgICByZXBvcnRX
TUxFcnJvcihkb2N1bWVudCgpLCBXTUxFcnJvck11bHRpcGxlQWNjZXNzRWxlbWVudHMpOwotfQot
Ci19Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEFjY2Vzc0VsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MQWNjZXNzRWxlbWVudC5oCShy
ZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxBY2Nlc3NFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9y
Y2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0g
KgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
LSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01MQWNjZXNzRWxlbWVudF9oCi0jZGVmaW5lIFdN
TEFjY2Vzc0VsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxFbGVtZW50
LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV01MQWNjZXNzRWxlbWVudCA6IHB1
YmxpYyBXTUxFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxBY2Nl
c3NFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
KTsKLQotICAgIFdNTEFjY2Vzc0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqKTsKLQotICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRy
aWJ1dGUqKTsKLSAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLQotcHJp
dmF0ZToKLSAgICBTdHJpbmcgbV9kb21haW47Ci0gICAgU3RyaW5nIG1fcGF0aDsKLX07Ci0KLX0K
LQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxBbmNob3JFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MQW5jaG9yRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTEFuY2hvckVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDg1ICswLDAgQEAKLS8qKgotICogQ29weXJp
Z2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRw
Oi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBF
TkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEFuY2hvckVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCi0jaW5jbHVkZSAiV01MVGFz
a0VsZW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1XTUxBbmNob3JFbGVtZW50OjpXTUxBbmNob3JFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxBRWxlbWVudCh0YWdOYW1lLCBk
b2MpCi0gICAgLCBtX3Rhc2soMCkKLXsKLSAgICAvLyBDYWxsaW5nIHNldElzTGluaygpLCBhbmQg
cmV0dXJuaW5nIGEgbm9uLW51bGwgdmFsdWUgb24gQ1NTU3R5bGVTZWxlY3RvcnMnIGxpbmtBdHRy
aWJ1dGUKLSAgICAvLyBtZXRob2QsIG1ha2VzIGl0IHBvc3NpYmxlIHRvICdhcHBlYXIgYXMgbGlu
aycgKGp1c3QgbGlrZSA8YSBocmVmPSIuLiI+KSB3aXRob3V0IHRoZSBuZWVkIHRvCi0gICAgLy8g
YWN0dWFsbHkgc2V0IHRoZSBocmVmIHZhbHVlIHRvIGFuIGVtcHR5IHZhbHVlIGluIHRoZSBET00g
dHJlZS4KLSAgICBzZXRJc0xpbmsoKTsKLX0KLQotUGFzc1JlZlB0cjxXTUxBbmNob3JFbGVtZW50
PiBXTUxBbmNob3JFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MQW5jaG9y
RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi1XTUxBbmNob3JFbGVtZW50Ojp+V01M
QW5jaG9yRWxlbWVudCgpCi17Ci19Ci0KLXZvaWQgV01MQW5jaG9yRWxlbWVudDo6ZGVmYXVsdEV2
ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCi17Ci0gICAgYm9vbCBzaG91bGRIYW5kbGUgPSBmYWxz
ZTsKLQotICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KQot
ICAgICAgICBzaG91bGRIYW5kbGUgPSB0cnVlOwotICAgIGVsc2UgaWYgKGV2ZW50LT50eXBlKCkg
PT0gZXZlbnROYW1lcygpLmtleWRvd25FdmVudCAmJiBldmVudC0+aXNLZXlib2FyZEV2ZW50KCkg
JiYgZm9jdXNlZCgpKQotICAgICAgICBzaG91bGRIYW5kbGUgPSBzdGF0aWNfY2FzdDxLZXlib2Fy
ZEV2ZW50Kj4oZXZlbnQpLT5rZXlJZGVudGlmaWVyKCkgPT0gIkVudGVyIjsKLQotICAgIGlmIChz
aG91bGRIYW5kbGUgJiYgbV90YXNrKSB7Ci0gICAgICAgIG1fdGFzay0+ZXhlY3V0ZVRhc2soKTsK
LSAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICAvLyBTa2lwIFdNTEFFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyLCB3ZSBk
b24ndCBvd24gYSBocmVmIGF0dHJpYnV0ZSwgdGhhdCBuZWVkcyB0byBiZSBoYW5kbGVkLgotICAg
IFdNTEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQpOyAKLX0KLQotdm9pZCBXTUxB
bmNob3JFbGVtZW50OjpyZWdpc3RlclRhc2soV01MVGFza0VsZW1lbnQqIHRhc2spCi17Ci0gICAg
QVNTRVJUKCFtX3Rhc2spOwotICAgIG1fdGFzayA9IHRhc2s7Ci19Ci0KLXZvaWQgV01MQW5jaG9y
RWxlbWVudDo6ZGVyZWdpc3RlclRhc2soV01MVGFza0VsZW1lbnQqIHRhc2spCi17Ci0gICAgQVNT
RVJUX1VOVVNFRCh0YXNrLCBtX3Rhc2sgPT0gdGFzayk7Ci0gICAgbV90YXNrID0gMDsKLX0KLQot
fQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxBbmNob3JFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEFuY2hvckVsZW1lbnQuaAkocmV2
aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MQW5jaG9yRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUxICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4
IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNo
bW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoK
LSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0g
KiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTEFuY2hvckVsZW1lbnRfaAotI2RlZmluZSBXTUxB
bmNob3JFbGVtZW50X2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MQUVsZW1lbnQu
aCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXTUxUYXNrRWxlbWVudDsKLQotY2xh
c3MgV01MQW5jaG9yRWxlbWVudCA6IHB1YmxpYyBXTUxBRWxlbWVudCB7Ci1wdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NSZWZQdHI8V01MQW5jaG9yRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7Ci0KLSAgICBXTUxBbmNob3JFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7Ci0gICAgdmlydHVhbCB+V01MQW5j
aG9yRWxlbWVudCgpOwotCi0gICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZl
bnQqKTsKLQotcHJpdmF0ZToKLSAgICBmcmllbmQgY2xhc3MgV01MVGFza0VsZW1lbnQ7Ci0gICAg
dm9pZCByZWdpc3RlclRhc2soV01MVGFza0VsZW1lbnQqKTsKLSAgICB2b2lkIGRlcmVnaXN0ZXJU
YXNrKFdNTFRhc2tFbGVtZW50Kik7Ci0KLSAgICBXTUxUYXNrRWxlbWVudCogbV90YXNrOwotfTsK
LQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEF0dHJp
YnV0ZU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxBdHRyaWJ1
dGVOYW1lcy5pbgkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MQXR0
cmlidXRlTmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEsMjQgKzAsMCBAQAotbmFtZXNwYWNl
PSJXTUwiCi1uYW1lc3BhY2VVUkk9Imh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4x
LnhtbCIKLWd1YXJkRmFjdG9yeVdpdGg9IkVOQUJMRShXTUwpIgotYXR0cnNOdWxsTmFtZXNwYWNl
Ci0KLWNhY2hlX2NvbnRyb2wKLWNvbHVtbnMKLWRvbWFpbgotZW1wdHlvawotZm9ybWF0Ci1mb3J1
YQotaW5hbWUKLWl2YWx1ZQotbG9jYWxzcmMKLW1vZGUKLW5ld2NvbnRleHQKLW9uZW50ZXJiYWNr
d2FyZAotb25lbnRlcmZvcndhcmQKLW9ucGljawotb250aW1lcgotb3B0aW9uYWwKLW9yZGVyZWQK
LXBhdGgKLXNlbmRyZWZlcmVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MQlJFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MQlJFbGVtZW50LmNwcAko
cmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MQlJFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMSw4MiArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAw
OCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3Jj
aG1vYmlsZS5jb20vKQotICoKLSAqIENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9s
bEBrZGUub3JnKQotICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0
b0BrZGUub3JnKQotICogICAgICAgICAgIChDKSAyMDAwIFNpbW9uIEhhdXNtYW5uIDxoYXVzbWFu
bkBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA2IEFwcGxlIENvbXB1dGVyLCBJ
bmMuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoK
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUg
IldNTEJSRWxlbWVudC5oIgotCi0jaW5jbHVkZSAiQXR0cmlidXRlLmgiCi0jaW5jbHVkZSAiQ1NT
UHJvcGVydHlOYW1lcy5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIlJlbmRl
ckJSLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV01MQlJFbGVtZW50OjpXTUxCUkVsZW1l
bnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKLSAgICA6IFdN
TEVsZW1lbnQodGFnTmFtZSwgZG9jKQotewotfQotCi1QYXNzUmVmUHRyPFdNTEJSRWxlbWVudD4g
V01MQlJFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MQlJFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50KSk7Ci19Ci0KLWJvb2wgV01MQlJFbGVtZW50OjptYXBUb0VudHJ5KGNv
bnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBNYXBwZWRBdHRyaWJ1dGVFbnRyeSYgcmVzdWx0
KSBjb25zdAotewotICAgIGlmIChhdHRyTmFtZSA9PSBIVE1MTmFtZXM6OmNsZWFyQXR0cikgewot
ICAgICAgICByZXN1bHQgPSBlVW5pdmVyc2FsOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
fQotCi0gICAgcmV0dXJuIFdNTEVsZW1lbnQ6Om1hcFRvRW50cnkoYXR0ck5hbWUsIHJlc3VsdCk7
Ci19Ci0KLXZvaWQgV01MQlJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUq
IGF0dHIpCi17Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OmNsZWFyQXR0cikg
ewotICAgICAgICAvLyBJZiB0aGUgc3RyaW5nIGlzIGVtcHR5LCB0aGVuIGRvbid0IGFkZCB0aGUg
Y2xlYXIgcHJvcGVydHkuIAotICAgICAgICAvLyA8YnIgY2xlYXI+IGFuZCA8YnIgY2xlYXI9IiI+
IGFyZSBqdXN0IHRyZWF0ZWQgbGlrZSA8YnI+IGJ5IEdlY2tvLCBNYWMgSUUsIGV0Yy4gLWR3aAot
ICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlID0gYXR0ci0+dmFsdWUoKTsKLSAgICAg
ICAgaWYgKHZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUsICJhbGwiKSkKLSAgICAgICAgICAgIGFkZENTU1By
b3BlcnR5KGF0dHIsIENTU1Byb3BlcnR5Q2xlYXIsICJib3RoIik7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU1Byb3BlcnR5Q2xlYXIsIHZhbHVlKTsK
LSAgICB9IGVsc2UKLSAgICAgICAgV01MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0
cik7Ci19Ci0KLVJlbmRlck9iamVjdCogV01MQlJFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5k
ZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikKLXsKLSAgICByZXR1cm4gbmV3IChhcmVuYSkg
UmVuZGVyQlIodGhpcyk7Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93
bWwvV01MQlJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEJS
RWxlbWVudC5oCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxCUkVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw0OCArMCwwIEBACi0vKioKLSAqIENvcHlyaWdo
dCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDov
L3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtu
b2xsIChrbm9sbEBrZGUub3JnKQotICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3Rv
IChrb2l2aXN0b0BrZGUub3JnKQotICogICAgICAgICAgIChDKSAyMDAwIFNpbW9uIEhhdXNtYW5u
IDxoYXVzbWFubkBrZGUub3JnPgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxCUkVsZW1lbnRfaAotI2RlZmluZSBX
TUxCUkVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxFbGVtZW50Lmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV01MQlJFbGVtZW50IDogcHVibGljIFdN
TEVsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdNTEJSRWxlbWVudD4g
Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7Ci0KLSAgICBX
TUxCUkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLQot
ICAgIHZpcnR1YWwgYm9vbCBtYXBUb0VudHJ5KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBNYXBwZWRB
dHRyaWJ1dGVFbnRyeSYpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJp
YnV0ZShBdHRyaWJ1dGUqKTsKLQotICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5k
ZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7Ci19OwotCi19Ci0KLSNlbmRpZgotI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MQ2FyZEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxDYXJkRWxlbWVudC5jcHAJKHJldmlzaW9uIDg1
MjQyKQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTENhcmRFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMSwzNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBU
b3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1v
YmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0g
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNp
bmNsdWRlICJXTUxDYXJkRWxlbWVudC5oIgotCi0jaW5jbHVkZSAiQXR0cmlidXRlLmgiCi0jaW5j
bHVkZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgotI2luY2x1ZGUgIkhUTUxO
YW1lcy5oIgotI2luY2x1ZGUgIk5vZGVMaXN0LmgiCi0jaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1
ZGUgIlJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiV01MRG9FbGVtZW50LmgiCi0jaW5jbHVkZSAi
V01MRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJXTUxJbnB1dEVsZW1lbnQuaCIKLSNpbmNsdWRlICJX
TUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuaCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotI2luY2x1
ZGUgIldNTFNlbGVjdEVsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxUZW1wbGF0ZUVsZW1lbnQuaCIK
LSNpbmNsdWRlICJXTUxUaW1lckVsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxWYXJpYWJsZXMuaCIK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdN
TENhcmRFbGVtZW50OjpXTUxDYXJkRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jKQotICAgIDogV01MRWxlbWVudCh0YWdOYW1lLCBkb2MpCi0gICAgLCBt
X2lzTmV3Q29udGV4dChmYWxzZSkKLSAgICAsIG1faXNPcmRlcmVkKGZhbHNlKQotICAgICwgbV9p
c1Zpc2libGUoZmFsc2UpCi0gICAgLCBtX2V2ZW50VGltZXIoMCkKLSAgICAsIG1fdGVtcGxhdGUo
MCkKLXsKLSAgICBBU1NFUlQoaGFzVGFnTmFtZShjYXJkVGFnKSk7Ci19Ci0KLVBhc3NSZWZQdHI8
V01MQ2FyZEVsZW1lbnQ+IFdNTENhcmRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgV01MQ2FyZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotV01MQ2FyZEVsZW1l
bnQ6On5XTUxDYXJkRWxlbWVudCgpCi17Ci19Ci0KLXZvaWQgV01MQ2FyZEVsZW1lbnQ6OnNob3dD
YXJkKCkKLXsKLSAgICBBU1NFUlQoYXR0YWNoZWQoKSk7Ci0KLSAgICBpZiAobV9pc1Zpc2libGUp
IHsKLSAgICAgICAgQVNTRVJUKHJlbmRlcmVyKCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgbV9pc1Zpc2libGUgPSB0cnVlOwotICAgIEFTU0VSVCghcmVuZGVyZXIoKSk7Ci0KLSAg
ICBkZXRhY2goKTsKLSAgICBhdHRhY2goKTsKLQotICAgIEFTU0VSVChhdHRhY2hlZCgpKTsKLSAg
ICBBU1NFUlQocmVuZGVyZXIoKSk7Ci19Ci0KLXZvaWQgV01MQ2FyZEVsZW1lbnQ6OmhpZGVDYXJk
KCkKLXsKLSAgICBBU1NFUlQoYXR0YWNoZWQoKSk7Ci0KLSAgICBpZiAoIW1faXNWaXNpYmxlKSB7
Ci0gICAgICAgIEFTU0VSVCghcmVuZGVyZXIoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBtX2lzVmlzaWJsZSA9IGZhbHNlOwotICAgIEFTU0VSVChyZW5kZXJlcigpKTsKLQotICAg
IGRldGFjaCgpOwotICAgIGF0dGFjaCgpOwotCi0gICAgQVNTRVJUKGF0dGFjaGVkKCkpOwotICAg
IEFTU0VSVCghcmVuZGVyZXIoKSk7Ci19Ci0KLXZvaWQgV01MQ2FyZEVsZW1lbnQ6OnNldFRlbXBs
YXRlRWxlbWVudChXTUxUZW1wbGF0ZUVsZW1lbnQqIHRlbXApCi17Ci0gICAgLy8gT25seSBvbmUg
dGVtcGxhdGUgaXMgYWxsb3dlZCB0byBiZSBhdHRhY2hlZCB0byBhIGNhcmQKLSAgICBpZiAobV90
ZW1wbGF0ZSkgewotICAgICAgICByZXBvcnRXTUxFcnJvcihkb2N1bWVudCgpLCBXTUxFcnJvck11
bHRpcGxlVGVtcGxhdGVFbGVtZW50cyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBt
X3RlbXBsYXRlID0gdGVtcDsKLX0KLQotdm9pZCBXTUxDYXJkRWxlbWVudDo6c2V0SW50cmluc2lj
RXZlbnRUaW1lcihXTUxUaW1lckVsZW1lbnQqIHRpbWVyKQotewotICAgIC8vIE9ubHkgb25lIHRp
bWVyIGlzIGFsbG93ZWQgaW4gYSBjYXJkIAotICAgIGlmIChtX2V2ZW50VGltZXIpIHsKLSAgICAg
ICAgcmVwb3J0V01MRXJyb3IoZG9jdW1lbnQoKSwgV01MRXJyb3JNdWx0aXBsZVRpbWVyRWxlbWVu
dHMpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbV9ldmVudFRpbWVyID0gdGltZXI7
Ci19Ci0KLXZvaWQgV01MQ2FyZEVsZW1lbnQ6OmhhbmRsZUludHJpbnNpY0V2ZW50SWZOZWVkZWQo
KQotewotICAgIFdNTFBhZ2VTdGF0ZSogcGFnZVN0YXRlID0gd21sUGFnZVN0YXRlRm9yRG9jdW1l
bnQoZG9jdW1lbnQoKSk7Ci0gICAgaWYgKCFwYWdlU3RhdGUpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCk7Ci0gICAgaWYgKCFmcmFtZSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgRnJhbWVMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5sb2Fk
ZXIoKTsKLSAgICBpZiAoIWxvYWRlcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gQ2FsY3Vs
YXRlIHRoZSBlbnRyeSBtZXRob2Qgb2YgY3VycmVudCBjYXJkIAotICAgIFdNTEludHJpbnNpY0V2
ZW50VHlwZSBldmVudFR5cGUgPSBXTUxJbnRyaW5zaWNFdmVudFVua25vd247Ci0KLSAgICBzd2l0
Y2ggKGxvYWRlci0+cG9saWN5Q2hlY2tlcigpLT5sb2FkVHlwZSgpKSB7Ci0gICAgY2FzZSBGcmFt
ZUxvYWRUeXBlUmVsb2FkOgotICAgICAgICBicmVhazsKLSAgICBjYXNlIEZyYW1lTG9hZFR5cGVC
YWNrOgotICAgICAgICBldmVudFR5cGUgPSBXTUxJbnRyaW5zaWNFdmVudE9uRW50ZXJCYWNrd2Fy
ZDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBGcmFtZUxvYWRUeXBlQmFja1dNTERlY2tOb3RB
Y2Nlc3NpYmxlOgotICAgICAgICByZXBvcnRXTUxFcnJvcihkb2N1bWVudCgpLCBXTUxFcnJvckRl
Y2tOb3RBY2Nlc3NpYmxlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIGRlZmF1bHQ6Ci0gICAgICAg
IGV2ZW50VHlwZSA9IFdNTEludHJpbnNpY0V2ZW50T25FbnRlckZvcndhcmQ7Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLQotICAgIC8vIEZpZ3VyZSBvdXQgdGFyZ2V0IGV2ZW50IGhhbmRsZXIKLSAg
ICBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIqIGV2ZW50SGFuZGxlciA9IHRoaXMtPmV2ZW50SGFu
ZGxlcigpOwotICAgIGJvb2wgaGFzSW50cmluc2ljRXZlbnQgPSBmYWxzZTsKLQotICAgIGlmIChl
dmVudFR5cGUgIT0gV01MSW50cmluc2ljRXZlbnRVbmtub3duKSB7Ci0gICAgICAgIGlmIChldmVu
dEhhbmRsZXIgJiYgZXZlbnRIYW5kbGVyLT5oYXNJbnRyaW5zaWNFdmVudChldmVudFR5cGUpKQot
ICAgICAgICAgICAgaGFzSW50cmluc2ljRXZlbnQgPSB0cnVlOwotICAgICAgICBlbHNlIGlmICht
X3RlbXBsYXRlKSB7Ci0gICAgICAgICAgICBldmVudEhhbmRsZXIgPSBtX3RlbXBsYXRlLT5ldmVu
dEhhbmRsZXIoKTsKLSAgICAgICAgICAgIGlmIChldmVudEhhbmRsZXIgJiYgZXZlbnRIYW5kbGVy
LT5oYXNJbnRyaW5zaWNFdmVudChldmVudFR5cGUpKQotICAgICAgICAgICAgICAgIGhhc0ludHJp
bnNpY0V2ZW50ID0gdHJ1ZTsKLSAgICAgICAgfQotICAgIH0KLSAKLSAgICBpZiAoaGFzSW50cmlu
c2ljRXZlbnQpCi0gICAgICAgIGV2ZW50SGFuZGxlci0+dHJpZ2dlckludHJpbnNpY0V2ZW50KGV2
ZW50VHlwZSk7Ci0KLSAgICAvLyBTdGFydCB0aGUgdGltZXIgaWYgaXQgZXhpc3RzIGluIGN1cnJl
bnQgY2FyZAotICAgIGlmIChtX2V2ZW50VGltZXIpCi0gICAgICAgIG1fZXZlbnRUaW1lci0+c3Rh
cnQoKTsKLQotICAgIGZvciAoTm9kZSogbm9kZSA9IHRyYXZlcnNlTmV4dE5vZGUoKTsgbm9kZSAh
PSAwOyBub2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0Tm9kZSgpKSB7Ci0gICAgICAgIGlmICghbm9k
ZS0+aXNFbGVtZW50Tm9kZSgpKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgaWYg
KG5vZGUtPmhhc1RhZ05hbWUoaW5wdXRUYWcpKQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8V01M
SW5wdXRFbGVtZW50Kj4obm9kZSktPmluaXRpYWxpemUoKTsKLSAgICAgICAgZWxzZSBpZiAobm9k
ZS0+aGFzVGFnTmFtZShzZWxlY3RUYWcpKQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8V01MU2Vs
ZWN0RWxlbWVudCo+KG5vZGUpLT5zZWxlY3RJbml0aWFsT3B0aW9ucygpOwotICAgIH0KLX0KLQot
dm9pZCBXTUxDYXJkRWxlbWVudDo6aGFuZGxlRGVja0xldmVsVGFza092ZXJyaWRlc0lmTmVlZGVk
KCkKLXsKLSAgICAvLyBTcGVjOiBUaGUgZXZlbnQtaGFuZGxpbmcgZWxlbWVudCBtYXkgYXBwZWFy
IGluc2lkZSBhIHRlbXBsYXRlIGVsZW1lbnQgYW5kIHNwZWNpZnkgCi0gICAgLy8gZXZlbnQtcHJv
Y2Vzc2luZyBiZWhhdmlvdXIgZm9yIGFsbCBjYXJkcyBpbiB0aGUgZGVjay4gQSBkZWNrLWxldmVs
IGV2ZW50LWhhbmRsaW5nCi0gICAgLy8gZWxlbWVudCBpcyBlcXVpdmFsZW50IHRvIHNwZWNpZnlp
bmcgdGhlIGV2ZW50LWhhbmRsaW5nIGVsZW1lbnQgaW4gZWFjaCBjYXJkLiAKLSAgICBpZiAoIW1f
dGVtcGxhdGUpIAotICAgICAgICByZXR1cm47Ci0KLSAgICBWZWN0b3I8V01MRG9FbGVtZW50Kj4m
IHRlbXBsYXRlRG9FbGVtZW50cyA9IG1fdGVtcGxhdGUtPmRvRWxlbWVudHMoKTsKLSAgICBpZiAo
dGVtcGxhdGVEb0VsZW1lbnRzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgVmVj
dG9yPFdNTERvRWxlbWVudCo+JiBjYXJkRG9FbGVtZW50cyA9IGRvRWxlbWVudHMoKTsKLSAgICBW
ZWN0b3I8V01MRG9FbGVtZW50Kj46Oml0ZXJhdG9yIGl0ID0gY2FyZERvRWxlbWVudHMuYmVnaW4o
KTsKLSAgICBWZWN0b3I8V01MRG9FbGVtZW50Kj46Oml0ZXJhdG9yIGVuZCA9IGNhcmREb0VsZW1l
bnRzLmVuZCgpOwotCi0gICAgSGFzaFNldDxTdHJpbmc+IGNhcmREb0VsZW1lbnROYW1lczsKLSAg
ICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICBjYXJkRG9FbGVtZW50TmFtZXMuYWRk
KCgqaXQpLT5uYW1lKCkpOwotCi0gICAgaXQgPSB0ZW1wbGF0ZURvRWxlbWVudHMuYmVnaW4oKTsK
LSAgICBlbmQgPSB0ZW1wbGF0ZURvRWxlbWVudHMuZW5kKCk7Ci0KLSAgICBmb3IgKDsgaXQgIT0g
ZW5kOyArK2l0KQotICAgICAgICAoKml0KS0+c2V0QWN0aXZlKCFjYXJkRG9FbGVtZW50TmFtZXMu
Y29udGFpbnMoKCppdCktPm5hbWUoKSkpOwotfQotCi12b2lkIFdNTENhcmRFbGVtZW50OjpwYXJz
ZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCi17Ci0gICAgV01MSW50cmluc2ljRXZl
bnRUeXBlIGV2ZW50VHlwZSA9IFdNTEludHJpbnNpY0V2ZW50VW5rbm93bjsKLQotICAgIGlmIChh
dHRyLT5uYW1lKCkgPT0gb25lbnRlcmZvcndhcmRBdHRyKQotICAgICAgICBldmVudFR5cGUgPSBX
TUxJbnRyaW5zaWNFdmVudE9uRW50ZXJGb3J3YXJkOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBvbmVudGVyYmFja3dhcmRBdHRyKQotICAgICAgICBldmVudFR5cGUgPSBXTUxJbnRyaW5z
aWNFdmVudE9uRW50ZXJCYWNrd2FyZDsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb250
aW1lckF0dHIpCi0gICAgICAgIGV2ZW50VHlwZSA9IFdNTEludHJpbnNpY0V2ZW50T25UaW1lcjsK
LSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gbmV3Y29udGV4dEF0dHIpCi0gICAgICAgIG1f
aXNOZXdDb250ZXh0ID0gKGF0dHItPnZhbHVlKCkgPT0gInRydWUiKTsKLSAgICBlbHNlIGlmIChh
dHRyLT5uYW1lKCkgPT0gb3JkZXJlZEF0dHIpCi0gICAgICAgIG1faXNPcmRlcmVkID0gKGF0dHIt
PnZhbHVlKCkgPT0gInRydWUiKTsKLSAgICBlbHNlIHsKLSAgICAgICAgV01MRWxlbWVudDo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBp
ZiAoZXZlbnRUeXBlID09IFdNTEludHJpbnNpY0V2ZW50VW5rbm93bikKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgLy8gUmVnaXN0ZXIgaW50cmluc2ljIGV2ZW50IGluIGNhcmQKLSAgICBSZWZQdHI8
V01MSW50cmluc2ljRXZlbnQ+IGV2ZW50ID0gV01MSW50cmluc2ljRXZlbnQ6OmNyZWF0ZShkb2N1
bWVudCgpLCBhdHRyLT52YWx1ZSgpKTsKLQotICAgIGNyZWF0ZUV2ZW50SGFuZGxlcklmTmVlZGVk
KCk7Ci0gICAgZXZlbnRIYW5kbGVyKCktPnJlZ2lzdGVySW50cmluc2ljRXZlbnQoZXZlbnRUeXBl
LCBldmVudCk7Ci19Ci0KLXZvaWQgV01MQ2FyZEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50
KCkKLXsKLSAgICBXTUxFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpOwotICAgIERvY3Vt
ZW50KiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCk7Ci0KLSAgICAvLyBUaGUgZmlyc3QgY2Fy
ZCBpbnNlcnRlZCBpbnRvIGEgZG9jdW1lbnQsIGlzIHZpc2libGUgYnkgZGVmYXVsdC4KLSAgICBp
ZiAoIW1faXNWaXNpYmxlKSB7Ci0gICAgICAgIFJlZlB0cjxOb2RlTGlzdD4gbm9kZUxpc3QgPSBk
b2N1bWVudC0+Z2V0RWxlbWVudHNCeVRhZ05hbWUoImNhcmQiKTsKLSAgICAgICAgaWYgKG5vZGVM
aXN0ICYmIG5vZGVMaXN0LT5sZW5ndGgoKSA9PSAxICYmIG5vZGVMaXN0LT5pdGVtKDApID09IHRo
aXMpCi0gICAgICAgICAgICBtX2lzVmlzaWJsZSA9IHRydWU7Ci0gICAgfQotCi0gICAgLy8gRm9y
IHRoZSBXTUwgbGF5b3V0IHRlc3RzIHdlIGVtYmVkIFdNTCBjb250ZW50IGluIGEgWEhUTUwgZG9j
dW1lbnQuIE5hdmlnYXRpbmcgdG8gZGlmZmVyZW50IGNhcmRzCi0gICAgLy8gd2l0aGluIHRoZSBz
YW1lIGRlY2sgaGFzIGEgZGlmZmVyZW50IGJlaGF2aW91ciBpbiBIVE1MIHRoYW4gaW4gV01MLiBI
VE1MIHdhbnRzIHRvICJzY3JvbGwgdG8gYW5jaG9yIgotICAgIC8vIChzZWUgRnJhbWVMb2FkZXIp
IGJ1dCBXTUwgd2FudHMgYSByZWxvYWQuIE5vdGlmeSB0aGUgcm9vdCBkb2N1bWVudCBvZiB0aGUg
bGF5b3V0IHRlc3QgdGhhdCB3ZSB3YW50Ci0gICAgLy8gdG8gbWltaWMgV01MIGJlaGF2aW91ci4g
VGhpcyBpcyByYXRoZXIgdHJpY2t5LCBidXQgaGFzIGJlZW4gdGVzdGVkIGV4dGVuc2l2ZWx5LiBV
c3VhbGx5IGl0J3Mgbm90IHBvc3NpYmxlCi0gICAgLy8gYXQgYWxsIHRvIGVtYmVkIFdNTCBpbiBI
VE1MLCBpdCdzIG5vdCBkZXNpZ25lZCB0aGF0IHdheSwgd2UncmUganVzdCAiYWJ1c2luZyIgaXQg
Zm9yIGR5bmFtaWNhbGx5IGNyZWF0ZWQgbGF5b3V0IHRlc3RzLgotICAgIGlmIChkb2N1bWVudC0+
cGFnZSgpICYmIGRvY3VtZW50LT5wYWdlKCktPm1haW5GcmFtZSgpKSB7Ci0gICAgICAgIERvY3Vt
ZW50KiByb290RG9jdW1lbnQgPSBkb2N1bWVudC0+cGFnZSgpLT5tYWluRnJhbWUoKS0+ZG9jdW1l
bnQoKTsKLSAgICAgICAgaWYgKHJvb3REb2N1bWVudCAmJiByb290RG9jdW1lbnQgIT0gZG9jdW1l
bnQpCi0gICAgICAgICAgICByb290RG9jdW1lbnQtPnNldENvbnRhaW5zV01MQ29udGVudCh0cnVl
KTsKLSAgICB9Ci19Ci0KLVJlbmRlck9iamVjdCogV01MQ2FyZEVsZW1lbnQ6OmNyZWF0ZVJlbmRl
cmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqIHN0eWxlKSAKLXsKLSAgICBpZiAo
IW1faXNWaXNpYmxlKSB7Ci0gICAgICAgIHN0eWxlLT5zZXRVbmlxdWUoKTsKLSAgICAgICAgc3R5
bGUtPnNldERpc3BsYXkoTk9ORSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIFdNTEVsZW1lbnQ6OmNy
ZWF0ZVJlbmRlcmVyKGFyZW5hLCBzdHlsZSk7Ci19Ci0KLVdNTENhcmRFbGVtZW50KiBXTUxDYXJk
RWxlbWVudDo6ZmluZE5hbWVkQ2FyZEluRG9jdW1lbnQoRG9jdW1lbnQqIGRvYywgY29uc3QgU3Ry
aW5nJiBjYXJkTmFtZSkKLXsKLSAgICBpZiAoY2FyZE5hbWUuaXNFbXB0eSgpKQotICAgICAgICBy
ZXR1cm4gMDsKLQotICAgIFJlZlB0cjxOb2RlTGlzdD4gbm9kZUxpc3QgPSBkb2MtPmdldEVsZW1l
bnRzQnlUYWdOYW1lKCJjYXJkIik7Ci0gICAgaWYgKCFub2RlTGlzdCkKLSAgICAgICAgcmV0dXJu
IDA7Ci0KLSAgICB1bnNpZ25lZCBsZW5ndGggPSBub2RlTGlzdC0+bGVuZ3RoKCk7Ci0gICAgaWYg
KGxlbmd0aCA8IDEpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGxlbmd0aDsgKytpKSB7Ci0gICAgICAgIFdNTENhcmRFbGVtZW50KiBjYXJkID0gc3Rh
dGljX2Nhc3Q8V01MQ2FyZEVsZW1lbnQqPihub2RlTGlzdC0+aXRlbShpKSk7Ci0gICAgICAgIGlm
IChjYXJkLT5nZXRJZEF0dHJpYnV0ZSgpICE9IGNhcmROYW1lKQotICAgICAgICAgICAgY29udGlu
dWU7Ci0KLSAgICAgICAgcmV0dXJuIGNhcmQ7Ci0gICAgfQotCi0gICAgcmV0dXJuIDA7Ci19Ci0K
LVdNTENhcmRFbGVtZW50KiBXTUxDYXJkRWxlbWVudDo6ZGV0ZXJtaW5lQWN0aXZlQ2FyZChEb2N1
bWVudCogZG9jKQotewotICAgIFdNTFBhZ2VTdGF0ZSogcGFnZVN0YXRlID0gd21sUGFnZVN0YXRl
Rm9yRG9jdW1lbnQoZG9jKTsKLSAgICBpZiAoIXBhZ2VTdGF0ZSkKLSAgICAgICAgcmV0dXJuIDA7
Ci0KLSAgICBSZWZQdHI8Tm9kZUxpc3Q+IG5vZGVMaXN0ID0gZG9jLT5nZXRFbGVtZW50c0J5VGFn
TmFtZSgiY2FyZCIpOwotICAgIGlmICghbm9kZUxpc3QpCi0gICAgICAgIHJldHVybiAwOwotCi0g
ICAgdW5zaWduZWQgbGVuZ3RoID0gbm9kZUxpc3QtPmxlbmd0aCgpOwotICAgIGlmIChsZW5ndGgg
PCAxKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8vIEZpZ3VyZSBvdXQgdGhlIG5ldyB0YXJn
ZXQgY2FyZAotICAgIFN0cmluZyBjYXJkTmFtZSA9IGRvYy0+dXJsKCkuZnJhZ21lbnRJZGVudGlm
aWVyKCk7Ci0KLSAgICBXTUxDYXJkRWxlbWVudCogYWN0aXZlQ2FyZCA9IGZpbmROYW1lZENhcmRJ
bkRvY3VtZW50KGRvYywgY2FyZE5hbWUpOwotICAgIGlmIChhY3RpdmVDYXJkKSB7Ci0gICAgICAg
IC8vIEhpZGUgYWxsIGNhcmRzIC0gZXhjZXB0IHRoZSBkZXN0aW5hdGlvbiBjYXJkIC0gaW4gZG9j
dW1lbnQKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7Ci0g
ICAgICAgICAgICBXTUxDYXJkRWxlbWVudCogY2FyZCA9IHN0YXRpY19jYXN0PFdNTENhcmRFbGVt
ZW50Kj4obm9kZUxpc3QtPml0ZW0oaSkpOwotCi0gICAgICAgICAgICBpZiAoY2FyZCA9PSBhY3Rp
dmVDYXJkKQotICAgICAgICAgICAgICAgIGNhcmQtPnNob3dDYXJkKCk7Ci0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgY2FyZC0+aGlkZUNhcmQoKTsKLSAgICAgICAgfQotICAgIH0g
ZWxzZSB7Ci0gICAgICAgIC8vIElmIHRoZSB0YXJnZXQgVVJMIGRpZG4ndCBjb250YWluIGEgZnJh
Z21lbnQgaWRlbnRpZmllciwgYWN0aXZlQ2FyZAotICAgICAgICAvLyBpcyAwLCBhbmQgaGFzIHRv
IGJlIHNldCB0byB0aGUgZmlyc3QgY2FyZCBlbGVtZW50IGluIHRoZSBkZWNrLgotICAgICAgICBh
Y3RpdmVDYXJkID0gc3RhdGljX2Nhc3Q8V01MQ2FyZEVsZW1lbnQqPihub2RlTGlzdC0+aXRlbSgw
KSk7Ci0gICAgICAgIGFjdGl2ZUNhcmQtPnNob3dDYXJkKCk7Ci0gICAgfQotCi0gICAgLy8gQXNz
dXJlIGRlc3RpbmF0aW9uIGNhcmQgaXMgdmlzaWJsZQotICAgIEFTU0VSVChhY3RpdmVDYXJkLT5p
c1Zpc2libGUoKSk7Ci0gICAgQVNTRVJUKGFjdGl2ZUNhcmQtPmF0dGFjaGVkKCkpOwotICAgIEFT
U0VSVChhY3RpdmVDYXJkLT5yZW5kZXJlcigpKTsKLQotICAgIC8vIFVwZGF0ZSB0aGUgZG9jdW1l
bnQgdGl0bGUKLSAgICBkb2MtPnNldFRpdGxlKGFjdGl2ZUNhcmQtPnRpdGxlKCkpOwotCi0gICAg
cmV0dXJuIGFjdGl2ZUNhcmQ7Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS93bWwvV01MQ2FyZEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwv
V01MQ2FyZEVsZW1lbnQuaAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwv
V01MQ2FyZEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw3OCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTENhcmRF
bGVtZW50X2gKLSNkZWZpbmUgV01MQ2FyZEVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNp
bmNsdWRlICJXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5oIgotCi0jaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdNTFRlbXBsYXRlRWxlbWVudDsK
LWNsYXNzIFdNTFRpbWVyRWxlbWVudDsKLQotY2xhc3MgV01MQ2FyZEVsZW1lbnQgOiBwdWJsaWMg
V01MRWxlbWVudCwgcHVibGljIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50IHsKLXB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxDYXJkRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7Ci0KLSAgICBXTUxDYXJkRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLSAgICB2aXJ0dWFsIH5XTUxDYXJkRWxlbWVudCgp
OwotCi0gICAgYm9vbCBpc05ld0NvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX2lzTmV3Q29udGV4
dDsgfQotICAgIGJvb2wgaXNPcmRlcmVkKCkgY29uc3QgeyByZXR1cm4gbV9pc09yZGVyZWQ7IH0K
LSAgICBXTUxUaW1lckVsZW1lbnQqIGV2ZW50VGltZXIoKSBjb25zdCB7IHJldHVybiBtX2V2ZW50
VGltZXI7IH0KLSAgICBXTUxUZW1wbGF0ZUVsZW1lbnQqIHRlbXBsYXRlRWxlbWVudCgpIGNvbnN0
IHsgcmV0dXJuIG1fdGVtcGxhdGU7IH0KLQotICAgIHZvaWQgc2V0VGVtcGxhdGVFbGVtZW50KFdN
TFRlbXBsYXRlRWxlbWVudCopOwotICAgIHZvaWQgc2V0SW50cmluc2ljRXZlbnRUaW1lcihXTUxU
aW1lckVsZW1lbnQqKTsKLQotICAgIHZvaWQgaGFuZGxlSW50cmluc2ljRXZlbnRJZk5lZWRlZCgp
OwotICAgIHZvaWQgaGFuZGxlRGVja0xldmVsVGFza092ZXJyaWRlc0lmTmVlZGVkKCk7Ci0KLSAg
ICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0gICAgdmly
dHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0gICAgdmlydHVhbCBSZW5kZXJPYmpl
Y3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKLQotICAgIC8v
IFN3aXRjaCBhY3RpdmUgY2FyZCBpbiBkb2N1bWVudCB0byB0aGUgb25lIHNwZWNpZmllZCBpbiB0
aGUgVVJMIHJlZmVyZW5jZSAoZm9vLndtbCNteWNhcmQpCi0gICAgLy8gSWYgdGhlICd0YXJnZXRV
cmwnIGRvZXNuJ3QgY29udGFpbiBhIHJlZmVyZW5jZSwgdXNlIHRoZSBmaXJzdCA8Y2FyZD4gZWxl
bWVudCBpbiB0aGUgZG9jdW1lbnQuCi0gICAgc3RhdGljIFdNTENhcmRFbGVtZW50KiBkZXRlcm1p
bmVBY3RpdmVDYXJkKERvY3VtZW50Kik7Ci0gICAgc3RhdGljIFdNTENhcmRFbGVtZW50KiBmaW5k
TmFtZWRDYXJkSW5Eb2N1bWVudChEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgY2FyZE5hbWUpOwot
Ci1wcml2YXRlOgotICAgIGJvb2wgaXNWaXNpYmxlKCkgY29uc3QgeyByZXR1cm4gbV9pc1Zpc2li
bGU7IH0KLQotICAgIHZvaWQgc2hvd0NhcmQoKTsKLSAgICB2b2lkIGhpZGVDYXJkKCk7Ci0KLSAg
ICBib29sIG1faXNOZXdDb250ZXh0OwotICAgIGJvb2wgbV9pc09yZGVyZWQ7Ci0gICAgYm9vbCBt
X2lzVmlzaWJsZTsKLQotICAgIFdNTFRpbWVyRWxlbWVudCogbV9ldmVudFRpbWVyOwotICAgIFdN
TFRlbXBsYXRlRWxlbWVudCogbV90ZW1wbGF0ZTsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxEb0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxEb0VsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTI0MikKKysr
IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxEb0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDE5NSArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBUb3JjaCBNb2Jp
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20v
KQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJX
TUxEb0VsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2luY2x1ZGUgIkJhY2tG
b3J3YXJkQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIkV2ZW50LmgiCi0jaW5jbHVkZSAiRXZlbnRO
YW1lcy5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIktleWJvYXJkRXZlbnQu
aCIKLSNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiUmVuZGVyQnV0dG9uLmgiCi0jaW5jbHVk
ZSAiV01MQ2FyZEVsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxEb2N1bWVudC5oIgotI2luY2x1ZGUg
IldNTE5hbWVzLmgiCi0jaW5jbHVkZSAiV01MUGFnZVN0YXRlLmgiCi0jaW5jbHVkZSAiV01MVGFz
a0VsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxUaW1lckVsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxW
YXJpYWJsZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgV01M
TmFtZXM7Ci0KLVdNTERvRWxlbWVudDo6V01MRG9FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxFbGVtZW50KHRhZ05hbWUsIGRvYykK
LSAgICAsIG1fdGFzaygwKQotICAgICwgbV9pc0FjdGl2ZShmYWxzZSkKLSAgICAsIG1faXNOb29w
KGZhbHNlKQotICAgICwgbV9pc09wdGlvbmFsKGZhbHNlKQotewotfQotCi1QYXNzUmVmUHRyPFdN
TERvRWxlbWVudD4gV01MRG9FbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01M
RG9FbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Ci19Ci0KLXZvaWQgV01MRG9FbGVtZW50Ojpk
ZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKLXsKLSAgICBpZiAobV9pc09wdGlvbmFs
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVz
KCkua2V5cHJlc3NFdmVudCkgewotICAgICAgICBXTUxFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5k
bGVyKGV2ZW50KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChldmVudC0+dHlw
ZSgpICE9IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50ICYmIGV2ZW50LT50eXBlKCkgIT0gZXZlbnRO
YW1lcygpLmtleWRvd25FdmVudCkKLSAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgIAotICAg
IGlmIChldmVudC0+aXNLZXlib2FyZEV2ZW50KCkKLSAgICAgICAgJiYgc3RhdGljX2Nhc3Q8S2V5
Ym9hcmRFdmVudCo+KGV2ZW50KS0+a2V5SWRlbnRpZmllcigpICE9ICJFbnRlciIpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGlmIChtX3R5cGUgPT0gImFjY2VwdCIgfHwgbV90eXBlID09ICJvcHRp
b25zIikgewotICAgICAgICBpZiAobV90YXNrKQotICAgICAgICAgICAgbV90YXNrLT5leGVjdXRl
VGFzaygpOwotICAgIH0gZWxzZSBpZiAobV90eXBlID09ICJwcmV2IikgewotICAgICAgICBBU1NF
UlQoZG9jdW1lbnQoKS0+aXNXTUxEb2N1bWVudCgpKTsKLSAgICAgICAgV01MRG9jdW1lbnQqIGRv
Y3VtZW50ID0gc3RhdGljX2Nhc3Q8V01MRG9jdW1lbnQqPih0aGlzLT5kb2N1bWVudCgpKTsKLQot
ICAgICAgICBXTUxQYWdlU3RhdGUqIHBhZ2VTdGF0ZSA9IHdtbFBhZ2VTdGF0ZUZvckRvY3VtZW50
KGRvY3VtZW50KTsKLSAgICAgICAgaWYgKCFwYWdlU3RhdGUpCi0gICAgICAgICAgICByZXR1cm47
Ci0gICAgCi0gICAgICAgIC8vIFN0b3AgdGhlIHRpbWVyIG9mIHRoZSBjdXJyZW50IGNhcmQgaWYg
aXQgaXMgYWN0aXZlCi0gICAgICAgIGlmIChXTUxDYXJkRWxlbWVudCogY2FyZCA9IGRvY3VtZW50
LT5hY3RpdmVDYXJkKCkpIHsKLSAgICAgICAgICAgIGlmIChXTUxUaW1lckVsZW1lbnQqIGV2ZW50
VGltZXIgPSBjYXJkLT5ldmVudFRpbWVyKCkpCi0gICAgICAgICAgICAgICAgZXZlbnRUaW1lci0+
c3RvcCgpOwotICAgICAgICB9Ci0KLSAgICAgICAgcGFnZVN0YXRlLT5wYWdlKCktPmJhY2tGb3J3
YXJkKCktPmdvQmFjaygpOwotICAgIH0gZWxzZSBpZiAobV90eXBlID09ICJyZXNldCIpIHsKLSAg
ICAgICAgV01MUGFnZVN0YXRlKiBwYWdlU3RhdGUgPSB3bWxQYWdlU3RhdGVGb3JEb2N1bWVudChk
b2N1bWVudCgpKTsKLSAgICAgICAgaWYgKCFwYWdlU3RhdGUpCi0gICAgICAgICAgICByZXR1cm47
Ci0KLSAgICAgICAgcGFnZVN0YXRlLT5yZXNldCgpOwotICAgIH0KLX0KLQotdm9pZCBXTUxEb0Vs
ZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKLXsKLSAgICBpZiAo
YXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6dHlwZUF0dHIpCi0gICAgICAgIG1fdHlwZSA9IHBh
cnNlVmFsdWVGb3JiaWRkaW5nVmFyaWFibGVSZWZlcmVuY2VzKGF0dHItPnZhbHVlKCkpOwotICAg
IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6Om5hbWVBdHRyKQotICAgICAgICBt
X25hbWUgPSBwYXJzZVZhbHVlRm9yYmlkZGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhhdHRyLT52YWx1
ZSgpKTsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb3B0aW9uYWxBdHRyKQotICAgICAg
ICBtX2lzT3B0aW9uYWwgPSAoYXR0ci0+dmFsdWUoKSA9PSAidHJ1ZSIpOwotICAgIGVsc2UKLSAg
ICAgICAgV01MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Ci19Ci0KLXZvaWQg
V01MRG9FbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCi17Ci0gICAgV01MRWxlbWVudDo6
aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLQotICAgIC8vIFNwZWM6IEFuIHVuc3BlY2lmaWVkICdu
YW1lJyBkZWZhdWx0cyB0byB0aGUgdmFsdWUgb2YgdGhlICd0eXBlJyBhdHRyaWJ1dGUuCi0gICAg
aWYgKCFoYXNBdHRyaWJ1dGUoSFRNTE5hbWVzOjpuYW1lQXR0cikpCi0gICAgICAgIG1fbmFtZSA9
IG1fdHlwZTsKLQotICAgIENvbnRhaW5lck5vZGUqIHBhcmVudCA9IHBhcmVudE5vZGUoKTsKLSAg
ICBpZiAoIXBhcmVudCB8fCAhcGFyZW50LT5pc1dNTEVsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgaWYgKFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50KiBldmVudEhhbmRsaW5nRWxlbWVu
dCA9IHRvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQoc3RhdGljX2Nhc3Q8V01MRWxlbWVudCo+KHBh
cmVudCkpKQotICAgICAgICBldmVudEhhbmRsaW5nRWxlbWVudC0+cmVnaXN0ZXJEb0VsZW1lbnQo
dGhpcywgZG9jdW1lbnQoKSk7Ci19Ci0KLXZvaWQgV01MRG9FbGVtZW50OjpyZW1vdmVkRnJvbURv
Y3VtZW50KCkKLXsKLSAgICBDb250YWluZXJOb2RlKiBwYXJlbnQgPSBwYXJlbnROb2RlKCk7Ci0K
LSAgICBpZiAocGFyZW50ICAmJiBwYXJlbnQtPmlzV01MRWxlbWVudCgpKSB7Ci0gICAgICAgIGlm
IChXTUxFdmVudEhhbmRsaW5nRWxlbWVudCogZXZlbnRIYW5kbGluZ0VsZW1lbnQgPSB0b1dNTEV2
ZW50SGFuZGxpbmdFbGVtZW50KHN0YXRpY19jYXN0PFdNTEVsZW1lbnQqPihwYXJlbnQpKSkKLSAg
ICAgICAgICAgIGV2ZW50SGFuZGxpbmdFbGVtZW50LT5kZXJlZ2lzdGVyRG9FbGVtZW50KHRoaXMp
OwotICAgIH0KLQotICAgIFdNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKLX0KLQot
dm9pZCBXTUxEb0VsZW1lbnQ6OmF0dGFjaCgpCi17Ci0gICAgV01MRWxlbWVudDo6YXR0YWNoKCk7
Ci0KLSAgICAvLyBUaGUgY2FsbCB0byB1cGRhdGVGcm9tRWxlbWVudCgpIG5lZWRzIHRvIGdvIGFm
dGVyIHRoZSBjYWxsIHRocm91Z2gKLSAgICAvLyB0byB0aGUgYmFzZSBjbGFzcydzIGF0dGFjaCgp
IGJlY2F1c2UgdGhhdCBjYW4gc29tZXRpbWVzIGRvIGEgY2xvc2UKLSAgICAvLyBvbiB0aGUgcmVu
ZGVyZXIuCi0gICAgaWYgKHJlbmRlcmVyKCkpCi0gICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZy
b21FbGVtZW50KCk7Ci19Ci0KLVJlbmRlck9iamVjdCogV01MRG9FbGVtZW50OjpjcmVhdGVSZW5k
ZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKiBzdHlsZSkKLXsKLSAgICBpZiAo
IW1faXNBY3RpdmUgfHwgbV9pc09wdGlvbmFsIHx8IG1faXNOb29wKQotICAgICAgICByZXR1cm4g
MDsKLQotICAgIGlmIChzdHlsZSkgewotICAgICAgICBzdHlsZS0+c2V0VW5pcXVlKCk7Ci0gICAg
ICAgIHN0eWxlLT5zZXRCYWNrZ3JvdW5kQ29sb3IoQ29sb3I6OmxpZ2h0R3JheSk7Ci0gICAgfQot
Ci0gICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlckJ1dHRvbih0aGlzKTsKLX0KLQotdm9pZCBX
TUxEb0VsZW1lbnQ6OnJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlIGNoYW5nZSkKLXsKLSAgICBXTUxF
bGVtZW50OjpyZWNhbGNTdHlsZShjaGFuZ2UpOwotCi0gICAgaWYgKHJlbmRlcmVyKCkpCi0gICAg
ICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7Ci19Ci0KLXZvaWQgV01MRG9FbGVt
ZW50OjpyZWdpc3RlclRhc2soV01MVGFza0VsZW1lbnQqIHRhc2spCi17Ci0gICAgQVNTRVJUKCFt
X3Rhc2spOwotICAgIG1fdGFzayA9IHRhc2s7Ci19Ci0KLXZvaWQgV01MRG9FbGVtZW50OjpkZXJl
Z2lzdGVyVGFzayhXTUxUYXNrRWxlbWVudCogdGFzaykKLXsKLSAgICBBU1NFUlRfVU5VU0VEKHRh
c2ssIG1fdGFzayA9PSB0YXNrKTsKLSAgICBtX3Rhc2sgPSAwOwotfQotCi1TdHJpbmcgV01MRG9F
bGVtZW50OjpsYWJlbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHBhcnNlVmFsdWVTdWJzdGl0dXRp
bmdWYXJpYWJsZVJlZmVyZW5jZXMoZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6bGFiZWxBdHRyKSk7
Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MRG9FbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTERvRWxlbWVudC5oCShyZXZp
c2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxEb0VsZW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2OCArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3Jj
aCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmls
ZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
LSAqCi0gKi8KLQotI2lmbmRlZiBXTUxEb0VsZW1lbnRfaAotI2RlZmluZSBXTUxEb0VsZW1lbnRf
aAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxFbGVtZW50LmgiCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotY2xhc3MgV01MVGFza0VsZW1lbnQ7Ci0KLWNsYXNzIFdNTERvRWxlbWVu
dCA6IHB1YmxpYyBXTUxFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxX
TUxEb0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCopOwotCi0gICAgV01MRG9FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50Kik7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCop
OwotICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLSAgICB2aXJ0dWFsIHZvaWQg
cmVtb3ZlZEZyb21Eb2N1bWVudCgpOwotCi0gICAgdmlydHVhbCB2b2lkIGF0dGFjaCgpOwotICAg
IHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRl
clN0eWxlKik7Ci0gICAgdmlydHVhbCB2b2lkIHJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlKTsKLQot
ICAgIHZvaWQgcmVnaXN0ZXJUYXNrKFdNTFRhc2tFbGVtZW50Kik7Ci0gICAgdm9pZCBkZXJlZ2lz
dGVyVGFzayhXTUxUYXNrRWxlbWVudCopOwotCi0gICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsg
cmV0dXJuIG1faXNBY3RpdmU7IH0KLSAgICBTdHJpbmcgbGFiZWwoKSBjb25zdDsKLSAgICBTdHJp
bmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQotCi0gICAgdm9pZCBzZXRBY3RpdmUo
Ym9vbCBhY3RpdmUpIHsgbV9pc0FjdGl2ZSA9IGFjdGl2ZTsgfQotICAgIHZvaWQgc2V0Tm9vcChi
b29sIG5vb3ApIHsgbV9pc05vb3AgPSBub29wO30KLQotcHJpdmF0ZToKLSAgICBXTUxUYXNrRWxl
bWVudCogbV90YXNrOwotICAgIGJvb2wgbV9pc0FjdGl2ZTsKLSAgICBib29sIG1faXNOb29wOwot
ICAgIGJvb2wgbV9pc09wdGlvbmFsOwotICAgIFN0cmluZyBtX25hbWU7Ci0gICAgU3RyaW5nIG1f
dHlwZTsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dt
bC9XTUxEb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTERv
Y3VtZW50LmNwcAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MRG9j
dW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyNSArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRw
Oi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBF
TkFCTEUoV01MKQotI2luY2x1ZGUgIldNTERvY3VtZW50LmgiCi0KLSNpbmNsdWRlICJCYWNrRm9y
d2FyZENvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3QuaCIKLSNpbmNsdWRl
ICJGcmFtZS5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJTY3JpcHRhYmxlRG9jdW1l
bnRQYXJzZXIuaCIKLSNpbmNsdWRlICJXTUxDYXJkRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTEVy
cm9ySGFuZGxpbmcuaCIKLSNpbmNsdWRlICJXTUxQYWdlU3RhdGUuaCIKLSNpbmNsdWRlICJXTUxU
ZW1wbGF0ZUVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1XTUxEb2N1bWVudDo6
V01MRG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwpCi0gICAgOiBEb2N1bWVu
dChmcmFtZSwgdXJsLCBmYWxzZSwgZmFsc2UpIAotICAgICwgbV9hY3RpdmVDYXJkKDApCi17Ci0g
ICAgY2xlYXJYTUxWZXJzaW9uKCk7Ci19Ci0KLVdNTERvY3VtZW50Ojp+V01MRG9jdW1lbnQoKQot
ewotfQotCi12b2lkIFdNTERvY3VtZW50OjpmaW5pc2hlZFBhcnNpbmcoKQotewotICAgIGlmIChT
Y3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIqIHBhcnNlciA9IHRoaXMtPnNjcmlwdGFibGVEb2N1bWVu
dFBhcnNlcigpKSB7Ci0gICAgICAgIGlmICghcGFyc2VyLT53ZWxsRm9ybWVkKCkpIHsKLSAgICAg
ICAgICAgIERvY3VtZW50OjpmaW5pc2hlZFBhcnNpbmcoKTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQotICAgIH0KLQotICAgIGJvb2wgaGFzQWNjZXNzID0gaW5pdGlhbGl6ZSh0cnVl
KTsKLSAgICBEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKCk7Ci0KLSAgICBpZiAoIWhhc0FjY2Vz
cykgewotICAgICAgICBtX2FjdGl2ZUNhcmQgPSAwOwotCi0gICAgICAgIFdNTFBhZ2VTdGF0ZSog
d21sUGFnZVN0YXRlID0gd21sUGFnZVN0YXRlRm9yRG9jdW1lbnQodGhpcyk7Ci0gICAgICAgIGlm
ICghd21sUGFnZVN0YXRlKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIFBhZ2UqIHBh
Z2UgPSB3bWxQYWdlU3RhdGUtPnBhZ2UoKTsKLSAgICAgICAgaWYgKCFwYWdlKQotICAgICAgICAg
ICAgcmV0dXJuOwotCi0gICAgICAgIEhpc3RvcnlJdGVtKiBpdGVtID0gcGFnZS0+YmFja0Zvcndh
cmQoKS0+YmFja0l0ZW0oKTsKLSAgICAgICAgaWYgKCFpdGVtKQotICAgICAgICAgICAgcmV0dXJu
OwotCi0gICAgICAgIHBhZ2UtPmdvVG9JdGVtKGl0ZW0sIEZyYW1lTG9hZFR5cGVCYWNrV01MRGVj
a05vdEFjY2Vzc2libGUpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG1fYWN0
aXZlQ2FyZCkKLSAgICAgICAgbV9hY3RpdmVDYXJkLT5oYW5kbGVJbnRyaW5zaWNFdmVudElmTmVl
ZGVkKCk7Ci19Ci0KLWJvb2wgV01MRG9jdW1lbnQ6OmluaXRpYWxpemUoYm9vbCBhYm91dFRvRmlu
aXNoUGFyc2luZykKLXsKLSAgICBXTUxQYWdlU3RhdGUqIHdtbFBhZ2VTdGF0ZSA9IHdtbFBhZ2VT
dGF0ZUZvckRvY3VtZW50KHRoaXMpOwotICAgIGlmICghd21sUGFnZVN0YXRlIHx8ICF3bWxQYWdl
U3RhdGUtPmNhbkFjY2Vzc0RlY2soKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgLy8g
UmVtZW1iZXIgdGhhdCB3ZSdlIHN1Y2Nlc3NmdWxseSBlbnRlcmVkIHRoZSBkZWNrCi0gICAgd21s
UGFnZVN0YXRlLT5yZXNldEFjY2Vzc0NvbnRyb2xEYXRhKCk7Ci0KLSAgICAvLyBOb3RpZnkgdGhl
IGV4aXN0YW5jZSBvZiB0ZW1wbGF0ZXMgdG8gYWxsIGNhcmRzIG9mIHRoZSBjdXJyZW50IGRlY2sK
LSAgICBXTUxUZW1wbGF0ZUVsZW1lbnQ6OnJlZ2lzdGVyVGVtcGxhdGVzSW5Eb2N1bWVudCh0aGlz
KTsKLQotICAgIC8vIFNldCBkZXN0aW5hdGlvbiBjYXJkCi0gICAgbV9hY3RpdmVDYXJkID0gV01M
Q2FyZEVsZW1lbnQ6OmRldGVybWluZUFjdGl2ZUNhcmQodGhpcyk7Ci0gICAgaWYgKCFtX2FjdGl2
ZUNhcmQpIHsKLSAgICAgICAgcmVwb3J0V01MRXJyb3IodGhpcywgV01MRXJyb3JOb0NhcmRJbkRv
Y3VtZW50KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgLy8gSGFuZGxlIGRl
Y2stbGV2ZWwgdGFzayBvdmVycmlkZXMKLSAgICBtX2FjdGl2ZUNhcmQtPmhhbmRsZURlY2tMZXZl
bFRhc2tPdmVycmlkZXNJZk5lZWRlZCgpOwotCi0gICAgLy8gSGFuZGxlIGNhcmQtbGV2ZWwgaW50
cmluc2ljIGV2ZW50Ci0gICAgaWYgKCFhYm91dFRvRmluaXNoUGFyc2luZykKLSAgICAgICAgbV9h
Y3RpdmVDYXJkLT5oYW5kbGVJbnRyaW5zaWNFdmVudElmTmVlZGVkKCk7Ci0KLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQotV01MUGFnZVN0YXRlKiB3bWxQYWdlU3RhdGVGb3JEb2N1bWVudChEb2N1bWVu
dCogZG9jKQotewotICAgIEFTU0VSVChkb2MpOwotCi0gICAgUGFnZSogcGFnZSA9IGRvYy0+cGFn
ZSgpOwotICAgIEFTU0VSVChwYWdlKTsKLQotICAgIHJldHVybiBwYWdlLT53bWxQYWdlU3RhdGUo
KTsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxEb2N1bWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxEb2N1bWVudC5oCShyZXZp
c2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxEb2N1bWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDU5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2gg
TW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUu
Y29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0g
KgotICovCi0KLSNpZm5kZWYgV01MRG9jdW1lbnRfaAotI2RlZmluZSBXTUxEb2N1bWVudF9oCi0K
LSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiV01MRXJy
b3JIYW5kbGluZy5oIgotI2luY2x1ZGUgIldNTFBhZ2VTdGF0ZS5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLWNsYXNzIFdNTENhcmRFbGVtZW50OwotCi1jbGFzcyBXTUxEb2N1bWVudCA6IHB1
YmxpYyBEb2N1bWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V01MRG9jdW1l
bnQ+IGNyZWF0ZShGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCkKLSAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgV01MRG9jdW1lbnQoZnJhbWUsIHVybCkpOwotICAgIH0KLQot
ICAgIHZpcnR1YWwgfldNTERvY3VtZW50KCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNXTUxEb2N1
bWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZmluaXNoZWRQ
YXJzaW5nKCk7Ci0KLSAgICBib29sIGluaXRpYWxpemUoYm9vbCBhYm91dFRvRmluaXNoUGFyc2lu
ZyA9IGZhbHNlKTsKLQotICAgIFdNTENhcmRFbGVtZW50KiBhY3RpdmVDYXJkKCkgY29uc3QgeyBy
ZXR1cm4gbV9hY3RpdmVDYXJkOyB9Ci0KLXByaXZhdGU6Ci0gICAgV01MRG9jdW1lbnQoRnJhbWUq
LCBjb25zdCBLVVJMJik7Ci0gICAgV01MQ2FyZEVsZW1lbnQqIG1fYWN0aXZlQ2FyZDsKLX07Ci0K
LVdNTFBhZ2VTdGF0ZSogd21sUGFnZVN0YXRlRm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsKLQotfQot
Ci0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxFbGVtZW50LmNwcAkocmV2aXNp
b24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTI2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2gg
TW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUu
Y29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0g
KgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVk
ZSAiV01MRWxlbWVudC5oIgotCi0jaW5jbHVkZSAiQXR0cmlidXRlLmgiCi0jaW5jbHVkZSAiQ1NT
UHJvcGVydHlOYW1lcy5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIkhUTUxQ
YXJzZXJJZGlvbXMuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKLSNpbmNsdWRlICJXTUxF
cnJvckhhbmRsaW5nLmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNpbmNsdWRlICJXTUxWYXJp
YWJsZXMuaCIKLQotdXNpbmcgc3RkOjptYXg7Ci11c2luZyBzdGQ6Om1pbjsKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdNTEVsZW1lbnQ6OldN
TEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50
KQotICAgIDogU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgQ3JlYXRlU3R5bGVkRWxl
bWVudCkKLXsKLX0KLQotUGFzc1JlZlB0cjxXTUxFbGVtZW50PiBXTUxFbGVtZW50OjpjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgV01MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQot
Ci1ib29sIFdNTEVsZW1lbnQ6Om1hcFRvRW50cnkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5h
bWUsIE1hcHBlZEF0dHJpYnV0ZUVudHJ5JiByZXN1bHQpIGNvbnN0Ci17Ci0gICAgaWYgKGF0dHJO
YW1lID09IEhUTUxOYW1lczo6YWxpZ25BdHRyKSB7Ci0gICAgICAgIHJlc3VsdCA9IGVVbml2ZXJz
YWw7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gU3R5bGVkRWxl
bWVudDo6bWFwVG9FbnRyeShhdHRyTmFtZSwgcmVzdWx0KTsKLX0KLSAgICAKLXZvaWQgV01MRWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQotewotICAgIGlmIChp
c0lkQXR0cmlidXRlTmFtZShhdHRyLT5uYW1lKCkpCi0gICAgICAgIHx8IGF0dHItPm5hbWUoKSA9
PSBIVE1MTmFtZXM6OmNsYXNzQXR0cgotICAgICAgICB8fCBhdHRyLT5uYW1lKCkgPT0gSFRNTE5h
bWVzOjpzdHlsZUF0dHIpCi0gICAgICAgIHJldHVybiBTdHlsZWRFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShhdHRyKTsKLQotICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjph
bGlnbkF0dHIpIHsKLSAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGF0dHItPnZhbHVlKCks
ICJtaWRkbGUiKSkKLSAgICAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU1Byb3BlcnR5
VGV4dEFsaWduLCAiY2VudGVyIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFkZENTU1By
b3BlcnR5KGF0dHIsIENTU1Byb3BlcnR5VGV4dEFsaWduLCBhdHRyLT52YWx1ZSgpKTsKLSAgICB9
IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OnRhYmluZGV4QXR0cikgewotICAg
ICAgICBTdHJpbmcgaW5kZXhzdHJpbmcgPSBhdHRyLT52YWx1ZSgpOwotICAgICAgICBpbnQgdGFi
aW5kZXggPSAwOwotICAgICAgICBpZiAocGFyc2VIVE1MSW50ZWdlcihpbmRleHN0cmluZywgdGFi
aW5kZXgpKSB7Ci0gICAgICAgICAgICAvLyBDbGFtcCB0YWJpbmRleCB0byB0aGUgcmFuZ2Ugb2Yg
J3Nob3J0JyB0byBtYXRjaCBGaXJlZm94J3MgYmVoYXZpb3IuCi0gICAgICAgICAgICBzZXRUYWJJ
bmRleEV4cGxpY2l0bHkobWF4KHN0YXRpY19jYXN0PGludD4oc3RkOjpudW1lcmljX2xpbWl0czxz
aG9ydD46Om1pbigpKSwgbWluKHRhYmluZGV4LCBzdGF0aWNfY2FzdDxpbnQ+KHN0ZDo6bnVtZXJp
Y19saW1pdHM8c2hvcnQ+OjptYXgoKSkpKSk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLVN0cmlu
ZyBXTUxFbGVtZW50Ojp0aXRsZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHBhcnNlVmFsdWVTdWJz
dGl0dXRpbmdWYXJpYWJsZVJlZmVyZW5jZXMoZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6dGl0bGVB
dHRyKSk7Ci19Ci0KLWJvb2wgV01MRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHls
ZSogc3R5bGUpCi17Ci0gICAgcmV0dXJuIGRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpID09
IHRoaXMgfHwgc3R5bGUtPmRpc3BsYXkoKSAhPSBOT05FOwotfQotCi1SZW5kZXJPYmplY3QqIFdN
TEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqIHN0eWxl
KQotewotICAgIHJldHVybiBSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCh0aGlzLCBzdHlsZSk7
Ci19Ci0KLVN0cmluZyBXTUxFbGVtZW50OjpwYXJzZVZhbHVlU3Vic3RpdHV0aW5nVmFyaWFibGVS
ZWZlcmVuY2VzKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIFdNTEVycm9yQ29kZSBkZWZhdWx0
RXJyb3JDb2RlKSBjb25zdAotewotICAgIGJvb2wgaXNWYWxpZCA9IGZhbHNlOwotICAgIGlmICgh
Y29udGFpbnNWYXJpYWJsZVJlZmVyZW5jZSh2YWx1ZSwgaXNWYWxpZCkpCi0gICAgICAgIHJldHVy
biB2YWx1ZTsKLQotICAgIGlmICghaXNWYWxpZCkgewotICAgICAgICByZXBvcnRXTUxFcnJvcihk
b2N1bWVudCgpLCBkZWZhdWx0RXJyb3JDb2RlKTsKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwot
ICAgIH0KLQotICAgIHJldHVybiBzdWJzdGl0dXRlVmFyaWFibGVSZWZlcmVuY2VzKHZhbHVlLCBk
b2N1bWVudCgpKTsKLX0KLQotU3RyaW5nIFdNTEVsZW1lbnQ6OnBhcnNlVmFsdWVGb3JiaWRkaW5n
VmFyaWFibGVSZWZlcmVuY2VzKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpIGNvbnN0Ci17Ci0g
ICAgYm9vbCBpc1ZhbGlkID0gZmFsc2U7Ci0gICAgaWYgKGNvbnRhaW5zVmFyaWFibGVSZWZlcmVu
Y2UodmFsdWUsIGlzVmFsaWQpKSB7Ci0gICAgICAgIHJlcG9ydFdNTEVycm9yKGRvY3VtZW50KCks
IFdNTEVycm9ySW52YWxpZFZhcmlhYmxlUmVmZXJlbmNlTG9jYXRpb24pOwotICAgICAgICByZXR1
cm4gU3RyaW5nKCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHZhbHVlOwotfQotCi19Ci0KLSNlbmRp
ZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS93bWwvV01MRWxlbWVudC5oCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJj
ZS9XZWJDb3JlL3dtbC9XTUxFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNTYgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0g
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRl
ZiBXTUxFbGVtZW50X2gKLSNkZWZpbmUgV01MRWxlbWVudF9oCi0KLSNpZiBFTkFCTEUoV01MKQot
I2luY2x1ZGUgIlN0eWxlZEVsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxFcnJvckhhbmRsaW5nLmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV01MRWxlbWVudCA6IHB1YmxpYyBTdHls
ZWRFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLQotICAgIHZp
cnR1YWwgYm9vbCBpc1dNTEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmly
dHVhbCBib29sIGlzV01MVGFza0VsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotCi0g
ICAgdmlydHVhbCBib29sIG1hcFRvRW50cnkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUs
IE1hcHBlZEF0dHJpYnV0ZUVudHJ5JiByZXN1bHQpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBw
YXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLQotICAgIHZpcnR1YWwgU3RyaW5nIHRp
dGxlKCkgY29uc3Q7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJT
dHlsZSopOwotICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJB
cmVuYSosIFJlbmRlclN0eWxlKik7Ci0KLXByb3RlY3RlZDoKLSAgICBXTUxFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7Ci0KLSAgICAvLyBIZWxwZXIgZnVu
Y3Rpb24gZm9yIGRlcml2ZWQgY2xhc3NlcwotICAgIFN0cmluZyBwYXJzZVZhbHVlU3Vic3RpdHV0
aW5nVmFyaWFibGVSZWZlcmVuY2VzKGNvbnN0IEF0b21pY1N0cmluZyYsIFdNTEVycm9yQ29kZSBk
ZWZhdWx0RXJyb3JDb2RlID0gV01MRXJyb3JJbnZhbGlkVmFyaWFibGVSZWZlcmVuY2UpIGNvbnN0
OwotICAgIFN0cmluZyBwYXJzZVZhbHVlRm9yYmlkZGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhjb25z
dCBBdG9taWNTdHJpbmcmKSBjb25zdDsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxFcnJvckhhbmRsaW5nLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS93bWwvV01MRXJyb3JIYW5kbGluZy5jcHAJKHJldmlzaW9uIDg1MjQyKQor
KysgU291cmNlL1dlYkNvcmUvd21sL1dNTEVycm9ySGFuZGxpbmcuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDEwNiArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2Jp
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20v
KQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJX
TUxFcnJvckhhbmRsaW5nLmgiCi0KLSNpbmNsdWRlICJDb25zb2xlLmgiCi0jaW5jbHVkZSAiRnJh
bWUuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgotI2lu
Y2x1ZGUgIlhNTERvY3VtZW50UGFyc2VyLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXZvaWQgcmVwb3J0V01MRXJyb3IoRG9jdW1lbnQq
IGRvYywgV01MRXJyb3JDb2RlIGVycm9yKQotewotICAgIGlmICghZG9jIHx8IGVycm9yID09IFdN
TEVycm9yVW5rbm93bikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgU3RyaW5nIGVycm9yTWVzc2Fn
ZSA9IGVycm9yTWVzc2FnZUZvckVycm9yQ29kZShlcnJvcik7Ci0gICAgWE1MRG9jdW1lbnRQYXJz
ZXIqIHBhcnNlciA9IHN0YXRpY19jYXN0PFhNTERvY3VtZW50UGFyc2VyKj4oZG9jLT5wYXJzZXIo
KSk7Ci0gICAgaWYgKHBhcnNlciAmJiBlcnJvciAhPSBXTUxFcnJvckRlY2tOb3RBY2Nlc3NpYmxl
KSB7Ci0gICAgICAgIC8vIFNvbWUgZXJyb3JzIGFyZSByZXBvcnRlZCBhcyByZXN1bHQgb2YgYW4g
aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKSBjYWxsLgotICAgICAgICAvLyBJZiB0aGlzIGhhcHBlbmVk
LCBwYXJzaW5nIGhhcyBiZWVuIHN0b3BwZWQsIGFuZCB0aGUgZG9jdW1lbnQgZnJhZ21lbnQKLSAg
ICAgICAgLy8gaXMgd3JhcHBlZCBpbiBhIFhIVE1MIGVycm9yIGRvY3VtZW50LiBUaGF0IG1lYW5z
IGluc2VydGVkSW50b0RvY3VtZW50KCkKLSAgICAgICAgLy8gd2lsbCBiZSBjYWxsZWQgYWdhaW4g
LSBkbyBOT1QgcmVwb3J0IHRoZSBlcnJvciB0d2ljZSwgdGhhdCB3b3VsZCByZXN1bHQKLSAgICAg
ICAgLy8gaW4gYW4gaW5maW5pdGUgZXJyb3IgcmVwb3J0aW5nIGxvb3AuCi0gICAgICAgIGlmICgh
cGFyc2VyLT53ZWxsRm9ybWVkKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgcGFy
c2VyLT5oYW5kbGVFcnJvcihYTUxEb2N1bWVudFBhcnNlcjo6ZmF0YWwsIGVycm9yTWVzc2FnZS5s
YXRpbjEoKS5kYXRhKCksIHBhcnNlci0+dGV4dFBvc2l0aW9uT25lQmFzZWQoKSk7Ci0gICAgfSBl
bHNlIHsKLSAgICAgICAgRnJhbWUqIGZyYW1lID0gZG9jLT5mcmFtZSgpOwotICAgICAgICBpZiAo
IWZyYW1lKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIERPTVdpbmRvdyogZG9tV2lu
ZG93ID0gZnJhbWUtPmRvbVdpbmRvdygpOwotICAgICAgICBpZiAoIWRvbVdpbmRvdykKLSAgICAg
ICAgICAgIHJldHVybjsKLQotICAgICAgICBDb25zb2xlKiBjb25zb2xlID0gZG9tV2luZG93LT5j
b25zb2xlKCk7Ci0gICAgICAgIGlmICghY29uc29sZSkKLSAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICBjb25zb2xlLT5hZGRNZXNzYWdlKFdNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNzYWdlLCAwLCBTdHJpbmcoKSk7Ci0gICAg
fQotfQotCi1TdHJpbmcgZXJyb3JNZXNzYWdlRm9yRXJyb3JDb2RlKFdNTEVycm9yQ29kZSBlcnJv
cikKLXsKLSAgICBzd2l0Y2ggKGVycm9yKSB7Ci0gICAgY2FzZSBXTUxFcnJvckNvbmZsaWN0aW5n
RXZlbnRCaW5kaW5nOgotICAgICAgICByZXR1cm4gIkNvbmZsaWN0aW5nIGV2ZW50IGJpbmRpbmdz
IHdpdGhpbiBhbiBlbGVtZW50LiI7Ci0gICAgY2FzZSBXTUxFcnJvckRlY2tOb3RBY2Nlc3NpYmxl
OgotICAgICAgICByZXR1cm4gIkRlY2sgbm90IGFjY2Vzc2libGUuIjsKLSAgICBjYXNlIFdNTEVy
cm9yRHVwbGljYXRlZERvRWxlbWVudDoKLSAgICAgICAgcmV0dXJuICJBdCBsZWFzdCB0d28gZG8g
ZWxlbWVudHMgc2hhcmUgYSBuYW1lLCB3aGljaCBpcyBub3QgYWxsb3dlZC4iOwotICAgIGNhc2Ug
V01MRXJyb3JGb3JiaWRkZW5UYXNrSW5BbmNob3JFbGVtZW50OgotICAgICAgICByZXR1cm4gIkZv
cmJpZGRlbiB0YXNrIGNvbnRhaW5lZCBpbiBhbmNob3IgZWxlbWVudC4iOwotICAgIGNhc2UgV01M
RXJyb3JJbnZhbGlkQ29sdW1uc051bWJlckluVGFibGU6Ci0gICAgICAgIHJldHVybiAiQSB0YWJs
ZSBjb250YWlucyBhbiBpbnZhbGlkIG51bWJlciBvZiBjb2x1bW5zLiI7Ci0gICAgY2FzZSBXTUxF
cnJvckludmFsaWRWYXJpYWJsZU5hbWU6Ci0gICAgICAgIHJldHVybiAiQSB2YXJpYWJsZSBuYW1l
IGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycy4iOwotICAgIGNhc2UgV01MRXJyb3JJbnZhbGlk
VmFyaWFibGVSZWZlcmVuY2U6Ci0gICAgICAgIHJldHVybiAiQSB2YXJpYWJsZSByZWZlcmVuY2Ug
dXNlcyBpbnZhbGlkIHN5bnRheC4iOwotICAgIGNhc2UgV01MRXJyb3JJbnZhbGlkVmFyaWFibGVS
ZWZlcmVuY2VMb2NhdGlvbjoKLSAgICAgICAgcmV0dXJuICJBIHZhcmlhYmxlIHJlZmVyZW5jZSBp
cyBwbGFjZWQgaW4gYW4gaW52YWxpZCBsb2NhdGlvbi4iOwotICAgIGNhc2UgV01MRXJyb3JNdWx0
aXBsZUFjY2Vzc0VsZW1lbnRzOgotICAgICAgICByZXR1cm4gIk9ubHkgb25lIGFjY2VzcyBlbGVt
ZW50IGlzIGFsbG93ZWQgaW4gYSBkZWNrLiI7Ci0gICAgY2FzZSBXTUxFcnJvck11bHRpcGxlVGVt
cGxhdGVFbGVtZW50czoKLSAgICAgICAgcmV0dXJuICJPbmx5IG9uZSB0ZW1wbGF0ZSBlbGVtZW50
IGlzIGFsbG93ZWQgaW4gYSBkZWNrLiI7Ci0gICAgY2FzZSBXTUxFcnJvck5vQ2FyZEluRG9jdW1l
bnQ6Ci0gICAgICAgIHJldHVybiAiTm8gY2FyZCBjb250YWluZWQgaW4gZG9jdW1lbnQuIjsKLSAg
ICBjYXNlIFdNTEVycm9yTXVsdGlwbGVUaW1lckVsZW1lbnRzOgotICAgICAgICByZXR1cm4gIk9u
bHkgb25lIHRpbWVyIGVsZW1lbnQgaXMgYWxsb3dlZCBpbiBhIGNhcmQuIjsKLSAgICBjYXNlIFdN
TEVycm9yVW5rbm93bjoKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIH07Ci0KLSAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci19Ci0KLX0KLQotI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MRXJyb3JIYW5kbGluZy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxFcnJvckhhbmRsaW5nLmgJKHJldmlzaW9uIDg1
MjQyKQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTEVycm9ySGFuZGxpbmcuaAkod29ya2luZyBj
b3B5KQpAQCAtMSw1MiArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBN
b2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5j
b20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAq
Ci0gKi8KLQotI2lmbmRlZiBXTUxFcnJvckhhbmRsaW5nX2gKLSNkZWZpbmUgV01MRXJyb3JIYW5k
bGluZ19oCi0KLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotCi0jaWYgRU5BQkxFKFdNTCkKLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotICAgIGNsYXNzIERvY3VtZW50OwotCi0gICAgZW51bSBXTUxF
cnJvckNvZGUgewotICAgICAgICBXTUxFcnJvclVua25vd24gPSAwLAotICAgICAgICBXTUxFcnJv
ckNvbmZsaWN0aW5nRXZlbnRCaW5kaW5nLAotICAgICAgICBXTUxFcnJvckRlY2tOb3RBY2Nlc3Np
YmxlLAotICAgICAgICBXTUxFcnJvckR1cGxpY2F0ZWREb0VsZW1lbnQsCi0gICAgICAgIFdNTEVy
cm9yRm9yYmlkZGVuVGFza0luQW5jaG9yRWxlbWVudCwKLSAgICAgICAgV01MRXJyb3JJbnZhbGlk
Q29sdW1uc051bWJlckluVGFibGUsCi0gICAgICAgIFdNTEVycm9ySW52YWxpZFZhcmlhYmxlTmFt
ZSwKLSAgICAgICAgV01MRXJyb3JJbnZhbGlkVmFyaWFibGVSZWZlcmVuY2UsCi0gICAgICAgIFdN
TEVycm9ySW52YWxpZFZhcmlhYmxlUmVmZXJlbmNlTG9jYXRpb24sCi0gICAgICAgIFdNTEVycm9y
TXVsdGlwbGVBY2Nlc3NFbGVtZW50cywKLSAgICAgICAgV01MRXJyb3JNdWx0aXBsZVRlbXBsYXRl
RWxlbWVudHMsCi0gICAgICAgIFdNTEVycm9yTXVsdGlwbGVUaW1lckVsZW1lbnRzLAotICAgICAg
ICBXTUxFcnJvck5vQ2FyZEluRG9jdW1lbnQKLSAgICB9OwotCi0gICAgU3RyaW5nIGVycm9yTWVz
c2FnZUZvckVycm9yQ29kZShXTUxFcnJvckNvZGUpOwotICAgIHZvaWQgcmVwb3J0V01MRXJyb3Io
RG9jdW1lbnQqLCBXTUxFcnJvckNvZGUpOwotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291
cmNlL1dlYkNvcmUvd21sL1dNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS93bWwvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuY3BwCShyZXZpc2lv
biA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxFdmVudEhhbmRsaW5nRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEsOTcgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6
Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVO
QUJMRShXTUwpCi0jaW5jbHVkZSAiV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuaCIKLQotI2luY2x1
ZGUgIldNTENhcmRFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MRG9FbGVtZW50LmgiCi0jaW5jbHVk
ZSAiV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmgiCi0jaW5jbHVkZSAiV01MT3B0aW9uRWxlbWVu
dC5oIgotI2luY2x1ZGUgIldNTFRhc2tFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MVGVtcGxhdGVF
bGVtZW50LmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdNTEV2ZW50SGFuZGxpbmdFbGVtZW50OjpX
TUxFdmVudEhhbmRsaW5nRWxlbWVudCgpCi17Ci19Ci0KLVdNTEV2ZW50SGFuZGxpbmdFbGVtZW50
Ojp+V01MRXZlbnRIYW5kbGluZ0VsZW1lbnQoKQotewotfQotCi12b2lkIFdNTEV2ZW50SGFuZGxp
bmdFbGVtZW50OjpjcmVhdGVFdmVudEhhbmRsZXJJZk5lZWRlZCgpCi17Ci0gICAgaWYgKCFtX2V2
ZW50SGFuZGxlcikKLSAgICAgICAgbV9ldmVudEhhbmRsZXIuc2V0KG5ldyBXTUxJbnRyaW5zaWNF
dmVudEhhbmRsZXIpOwotfQotCi12b2lkIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50OjpyZWdpc3Rl
ckRvRWxlbWVudChXTUxEb0VsZW1lbnQqIGRvRWxlbWVudCwgRG9jdW1lbnQqIGRvY3VtZW50KQot
ewotICAgIFZlY3RvcjxXTUxEb0VsZW1lbnQqPjo6aXRlcmF0b3IgaXQgPSBtX2RvRWxlbWVudHMu
YmVnaW4oKTsKLSAgICBWZWN0b3I8V01MRG9FbGVtZW50Kj46Oml0ZXJhdG9yIGVuZCA9IG1fZG9F
bGVtZW50cy5lbmQoKTsKLQotICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAg
aWYgKCgqaXQpLT5uYW1lKCkgPT0gZG9FbGVtZW50LT5uYW1lKCkpIHsKLSAgICAgICAgICAgIHJl
cG9ydFdNTEVycm9yKGRvY3VtZW50LCBXTUxFcnJvckR1cGxpY2F0ZWREb0VsZW1lbnQpOwotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgQVNTRVJUKG1fZG9FbGVt
ZW50cy5maW5kKGRvRWxlbWVudCkgPT0gV1RGOjpub3RGb3VuZCk7Ci0gICAgbV9kb0VsZW1lbnRz
LmFwcGVuZChkb0VsZW1lbnQpOwotICAgIGRvRWxlbWVudC0+c2V0QWN0aXZlKHRydWUpOwotfQot
Ci12b2lkIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50OjpkZXJlZ2lzdGVyRG9FbGVtZW50KFdNTERv
RWxlbWVudCogZG9FbGVtZW50KQotewotICAgIGRvRWxlbWVudC0+c2V0QWN0aXZlKGZhbHNlKTsK
LQotICAgIHNpemVfdCBwb3NpdGlvbiA9IG1fZG9FbGVtZW50cy5maW5kKGRvRWxlbWVudCk7Ci0g
ICAgaWYgKHBvc2l0aW9uID09IFdURjo6bm90Rm91bmQpCi0gICAgICAgIHJldHVybjsKLQotICAg
IG1fZG9FbGVtZW50cy5yZW1vdmUocG9zaXRpb24pOwotfQotCi1XTUxFdmVudEhhbmRsaW5nRWxl
bWVudCogdG9XTUxFdmVudEhhbmRsaW5nRWxlbWVudChXTUxFbGVtZW50KiBlbGVtZW50KQotewot
ICAgIGlmICghZWxlbWVudC0+aXNXTUxFbGVtZW50KCkpCi0gICAgICAgIHJldHVybiAwOwotCi0g
ICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoY2FyZFRhZykpCi0gICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxXTUxDYXJkRWxlbWVudCo+KGVsZW1lbnQpOwotICAgIGVsc2UgaWYgKGVsZW1lbnQt
Pmhhc1RhZ05hbWUob3B0aW9uVGFnKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdNTE9w
dGlvbkVsZW1lbnQqPihlbGVtZW50KTsKLSAgICBlbHNlIGlmIChlbGVtZW50LT5oYXNUYWdOYW1l
KHRlbXBsYXRlVGFnKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdNTFRlbXBsYXRlRWxl
bWVudCo+KGVsZW1lbnQpOwotCi0gICAgcmV0dXJuIDA7Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuaAkocmV2aXNp
b24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1NyArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykg
MjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDov
L3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxFdmVudEhhbmRsaW5nRWxlbWVu
dF9oCi0jZGVmaW5lIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50X2gKLQotI2lmIEVOQUJMRShXTUwp
Ci0jaW5jbHVkZSAiV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmgiCi0KLSNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIFdNTEVsZW1lbnQ7Ci1jbGFzcyBXTUxEb0VsZW1lbnQ7Ci0KLWNsYXNzIFdNTEV2
ZW50SGFuZGxpbmdFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBXTUxFdmVudEhhbmRsaW5nRWxlbWVu
dCgpOwotICAgIH5XTUxFdmVudEhhbmRsaW5nRWxlbWVudCgpOwotCi0gICAgV01MSW50cmluc2lj
RXZlbnRIYW5kbGVyKiBldmVudEhhbmRsZXIoKSBjb25zdCB7IHJldHVybiBtX2V2ZW50SGFuZGxl
ci5nZXQoKTsgfQotICAgIHZvaWQgY3JlYXRlRXZlbnRIYW5kbGVySWZOZWVkZWQoKTsKLQotICAg
IFZlY3RvcjxXTUxEb0VsZW1lbnQqPiYgZG9FbGVtZW50cygpIHsgcmV0dXJuIG1fZG9FbGVtZW50
czsgfQotICAgIHZvaWQgcmVnaXN0ZXJEb0VsZW1lbnQoV01MRG9FbGVtZW50KiwgRG9jdW1lbnQq
KTsKLSAgICB2b2lkIGRlcmVnaXN0ZXJEb0VsZW1lbnQoV01MRG9FbGVtZW50Kik7Ci0KLXByaXZh
dGU6Ci0gICAgT3duUHRyPFdNTEludHJpbnNpY0V2ZW50SGFuZGxlcj4gbV9ldmVudEhhbmRsZXI7
Ci0gICAgVmVjdG9yPFdNTERvRWxlbWVudCo+IG1fZG9FbGVtZW50czsKLX07Ci0KLVdNTEV2ZW50
SGFuZGxpbmdFbGVtZW50KiB0b1dNTEV2ZW50SGFuZGxpbmdFbGVtZW50KFdNTEVsZW1lbnQqKTsK
LQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEZpZWxk
U2V0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEZpZWxk
U2V0RWxlbWVudC5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvd21sL1dN
TEZpZWxkU2V0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsODUgKzAsMCBAQAotLyoq
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
LSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoK
LSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcu
aCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MRmllbGRTZXRFbGVtZW50LmgiCi0K
LSNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRl
ICJSZW5kZXJGaWVsZHNldC5oIgotI2luY2x1ZGUgIlRleHQuaCIKLSNpbmNsdWRlICJXTUxFbGVt
ZW50RmFjdG9yeS5oIgotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotdXNpbmcgbmFtZXNwYWNlIFdNTE5hbWVzOwotCi1XTUxGaWVsZFNldEVsZW1lbnQ6OldN
TEZpZWxkU2V0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCog
ZG9jKQotICAgIDogV01MRWxlbWVudCh0YWdOYW1lLCBkb2MpCi17Ci19Ci0KLVBhc3NSZWZQdHI8
V01MRmllbGRTZXRFbGVtZW50PiBXTUxGaWVsZFNldEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBXTUxGaWVsZFNldEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQot
V01MRmllbGRTZXRFbGVtZW50Ojp+V01MRmllbGRTZXRFbGVtZW50KCkKLXsKLX0KLQotdm9pZCBX
TUxGaWVsZFNldEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCkKLXsKLSAgICBXTUxFbGVt
ZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpOwotCi0gICAgU3RyaW5nIHRpdGxlID0gcGFyc2VW
YWx1ZVN1YnN0aXR1dGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhnZXRBdHRyaWJ1dGUoSFRNTE5hbWVz
Ojp0aXRsZUF0dHIpKTsKLSAgICBpZiAodGl0bGUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBtX2luc2VydGVkTGVnZW5kRWxlbWVudCA9IFdNTEVsZW1lbnRGYWN0b3J5OjpjcmVh
dGVXTUxFbGVtZW50KGluc2VydGVkTGVnZW5kVGFnLCBkb2N1bWVudCgpKTsKLQotICAgIC8vIElu
c2VydCA8ZHVtbXlMZWdlbmQ+IGVsZW1lbnQsIGFzIFJlbmRlckZpZWxkc2V0IGV4cGVjdCBpdCB0
byBiZSBwcmVzZW50Ci0gICAgLy8gdG8gbGF5b3V0IGl0J3MgY2hpbGQgdGV4dCBjb250ZW50LCB3
aGVuIHJlbmRlcmluZyA8ZmllbGRzZXQ+IGVsZW1lbnRzCi0gICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7Ci0gICAgYXBwZW5kQ2hpbGQobV9pbnNlcnRlZExlZ2VuZEVsZW1lbnQsIGVjKTsKLSAgICBB
U1NFUlQoZWMgPT0gMCk7Ci0KLSAgICAvLyBDcmVhdGUgdGV4dCBub2RlIGhvbGRpbmcgdGhlICd0
aXRsZScgYXR0cmlidXRlIHZhbHVlCi0gICAgbV9pbnNlcnRlZExlZ2VuZEVsZW1lbnQtPmFwcGVu
ZENoaWxkKGRvY3VtZW50KCktPmNyZWF0ZVRleHROb2RlKHRpdGxlKSwgZWMpOwotICAgIEFTU0VS
VChlYyA9PSAwKTsKLX0KLQotdm9pZCBXTUxGaWVsZFNldEVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9j
dW1lbnQoKQotewotICAgIG1faW5zZXJ0ZWRMZWdlbmRFbGVtZW50LmNsZWFyKCk7Ci0gICAgV01M
RWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpOwotfQotCi1SZW5kZXJPYmplY3QqIFdNTEZp
ZWxkU2V0RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJT
dHlsZSopCi17Ci0gICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlckZpZWxkc2V0KHRoaXMpOwot
fQotCi19Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEZpZWxkU2V0RWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxGaWVsZFNldEVsZW1l
bnQuaAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MRmllbGRTZXRF
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNDggKzAsMCBAQAotLyoqCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6
Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01MRmllbGRTZXRFbGVtZW50X2gK
LSNkZWZpbmUgV01MRmllbGRTZXRFbGVtZW50X2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVk
ZSAiV01MRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdNTEZpZWxk
U2V0RWxlbWVudCA6IHB1YmxpYyBXTUxFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxXTUxGaWVsZFNldEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQqKTsKLQotICAgIFdNTEZpZWxkU2V0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCopOwotICAgIHZpcnR1YWwgfldNTEZpZWxkU2V0RWxlbWVudCgp
OwotCi0gICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0gICAgdmlydHVh
bCB2b2lkIHJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKLQotICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0
KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7Ci0KLXByaXZhdGU6
Ci0gICAgUmVmUHRyPFdNTEVsZW1lbnQ+IG1faW5zZXJ0ZWRMZWdlbmRFbGVtZW50OwotfTsKLQot
fQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEZvcm1Db250
cm9sRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEZvcm1D
b250cm9sRWxlbWVudC5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvd21s
L1dNTEZvcm1Db250cm9sRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsODYgKzAsMCBA
QAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0g
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJj
b25maWcuaCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MRm9ybUNvbnRyb2xFbGVt
ZW50LmgiCi0KLSNpbmNsdWRlICJSZW5kZXJCb3guaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3Qu
aCIKLSNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdN
TEZvcm1Db250cm9sRWxlbWVudDo6V01MRm9ybUNvbnRyb2xFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6IFdNTEVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpCi0gICAgLCBtX3ZhbHVlTWF0Y2hlc1JlbmRlcmVyKGZhbHNlKQotewot
fQotCi1QYXNzUmVmUHRyPFdNTEZvcm1Db250cm9sRWxlbWVudD4gV01MRm9ybUNvbnRyb2xFbGVt
ZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MRm9ybUNvbnRyb2xFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50KSk7Ci19Ci0KLVdNTEZvcm1Db250cm9sRWxlbWVudDo6fldNTEZvcm1D
b250cm9sRWxlbWVudCgpCi17Ci19Ci0KLWJvb2wgV01MRm9ybUNvbnRyb2xFbGVtZW50OjpzdXBw
b3J0c0ZvY3VzKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBXTUxGb3Jt
Q29udHJvbEVsZW1lbnQ6OmlzRm9jdXNhYmxlKCkgY29uc3QKLXsKLSAgICBpZiAoIXJlbmRlcmVy
KCkgfHwgIXJlbmRlcmVyKCktPmlzQm94KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAg
IGlmICh0b1JlbmRlckJveChyZW5kZXJlcigpKS0+c2l6ZSgpLmlzRW1wdHkoKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIAotICAgIHJldHVybiBXTUxFbGVtZW50Ojppc0ZvY3VzYWJsZSgp
OwotfQotICAgIAotCi12b2lkIFdNTEZvcm1Db250cm9sRWxlbWVudDo6YXR0YWNoKCkKLXsKLSAg
ICBBU1NFUlQoIWF0dGFjaGVkKCkpOwotICAgIFdNTEVsZW1lbnQ6OmF0dGFjaCgpOwotCi0gICAg
Ly8gVGhlIGNhbGwgdG8gdXBkYXRlRnJvbUVsZW1lbnQoKSBuZWVkcyB0byBnbyBhZnRlciB0aGUg
Y2FsbCB0aHJvdWdoCi0gICAgLy8gdG8gdGhlIGJhc2UgY2xhc3MncyBhdHRhY2goKSBiZWNhdXNl
IHRoYXQgY2FuIHNvbWV0aW1lcyBkbyBhIGNsb3NlCi0gICAgLy8gb24gdGhlIHJlbmRlcmVyLgot
ICAgIGlmIChyZW5kZXJlcigpKQotICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVu
dCgpOwotfQotCi12b2lkIFdNTEZvcm1Db250cm9sRWxlbWVudDo6cmVjYWxjU3R5bGUoU3R5bGVD
aGFuZ2UgY2hhbmdlKQotewotICAgIFdNTEVsZW1lbnQ6OnJlY2FsY1N0eWxlKGNoYW5nZSk7Ci0K
LSAgICBpZiAocmVuZGVyZXIoKSkKLSAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1l
bnQoKTsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxGb3Jt
Q29udHJvbEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MRm9y
bUNvbnRyb2xFbGVtZW50LmgJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvd21s
L1dNTEZvcm1Db250cm9sRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU5ICswLDAgQEAK
LS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
LSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTEZv
cm1Db250cm9sRWxlbWVudF9oCi0jZGVmaW5lIFdNTEZvcm1Db250cm9sRWxlbWVudF9oCi0KLSNp
ZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1jbGFzcyBXTUxGb3JtQ29udHJvbEVsZW1lbnQgOiBwdWJsaWMgV01MRWxlbWVudCB7
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V01MRm9ybUNvbnRyb2xFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLQotICAgIHZpcnR1YWwg
fldNTEZvcm1Db250cm9sRWxlbWVudCgpOwotCi0gICAgdmlydHVhbCBib29sIGlzRm9ybUNvbnRy
b2xFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1Jl
YWRPbmx5Rm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwg
Ym9vbCBpc1RleHRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0KLSAgICB2
aXJ0dWFsIGJvb2wgZm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5kZXJlcigpIGNvbnN0IHsgcmV0
dXJuIG1fdmFsdWVNYXRjaGVzUmVuZGVyZXI7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9ybUNv
bnRyb2xWYWx1ZU1hdGNoZXNSZW5kZXJlcihib29sIGIgPSB0cnVlKSB7IG1fdmFsdWVNYXRjaGVz
UmVuZGVyZXIgPSBiOyB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGb2N1cygpIGNvbnN0
OwotICAgIHZpcnR1YWwgYm9vbCBpc0ZvY3VzYWJsZSgpIGNvbnN0OwotCi0gICAgdmlydHVhbCB2
b2lkIGF0dGFjaCgpOwotICAgIHZpcnR1YWwgdm9pZCByZWNhbGNTdHlsZShTdHlsZUNoYW5nZSk7
Ci0KLXByb3RlY3RlZDoKLSAgICBXTUxGb3JtQ29udHJvbEVsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Kik7Ci0KLXByaXZhdGU6Ci0gICAgYm9vbCBtX3ZhbHVlTWF0Y2hlc1Jl
bmRlcmVyOwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUv
d21sL1dNTEdvRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dN
TEdvRWxlbWVudC5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvd21sL1dN
TEdvRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMjI5ICswLDAgQEAKLS8qKgotICog
Q29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEdvRWxlbWVudC5oIgotCi0jaW5j
bHVkZSAiQXR0cmlidXRlLmgiCi0jaW5jbHVkZSAiRm9ybURhdGEuaCIKLSNpbmNsdWRlICJGb3Jt
RGF0YUJ1aWxkZXIuaCIKLSNpbmNsdWRlICJGb3JtU3VibWlzc2lvbi5oIgotI2luY2x1ZGUgIkZy
YW1lLmgiCi0jaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
LSNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIK
LSNpbmNsdWRlICJXTUxDYXJkRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTERvY3VtZW50LmgiCi0j
aW5jbHVkZSAiV01MTmFtZXMuaCIKLSNpbmNsdWRlICJXTUxQYWdlU3RhdGUuaCIKLSNpbmNsdWRl
ICJXTUxQb3N0ZmllbGRFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MVGltZXJFbGVtZW50LmgiCi0j
aW5jbHVkZSAiV01MVmFyaWFibGVzLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKLQotV01M
R29FbGVtZW50OjpXTUxHb0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqIGRvYykKLSAgICA6IFdNTFRhc2tFbGVtZW50KHRhZ05hbWUsIGRvYykKLXsKLX0KLSAK
LVBhc3NSZWZQdHI8V01MR29FbGVtZW50PiBXTUxHb0VsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBXTUxHb0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotdm9pZCBX
TUxHb0VsZW1lbnQ6OnJlZ2lzdGVyUG9zdGZpZWxkRWxlbWVudChXTUxQb3N0ZmllbGRFbGVtZW50
KiBwb3N0ZmllbGQpCi17Ci0gICAgQVNTRVJUKG1fcG9zdGZpZWxkRWxlbWVudHMuZmluZChwb3N0
ZmllbGQpID09IFdURjo6bm90Rm91bmQpOwotICAgIG1fcG9zdGZpZWxkRWxlbWVudHMuYXBwZW5k
KHBvc3RmaWVsZCk7Ci19Ci0gCi12b2lkIFdNTEdvRWxlbWVudDo6ZGVyZWdpc3RlclBvc3RmaWVs
ZEVsZW1lbnQoV01MUG9zdGZpZWxkRWxlbWVudCogcG9zdGZpZWxkKQotewotICAgIHNpemVfdCBw
b3NpdGlvbiA9IG1fcG9zdGZpZWxkRWxlbWVudHMuZmluZChwb3N0ZmllbGQpOwotICAgIEFTU0VS
VChwb3NpdGlvbiAhPSBXVEY6Om5vdEZvdW5kKTsKLSAgICBtX3Bvc3RmaWVsZEVsZW1lbnRzLnJl
bW92ZShwb3NpdGlvbik7Ci19Ci0KLXZvaWQgV01MR29FbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZShBdHRyaWJ1dGUqIGF0dHIpCi17Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFt
ZXM6Om1ldGhvZEF0dHIpCi0gICAgICAgIG1fZm9ybUF0dHJpYnV0ZXMucGFyc2VNZXRob2RUeXBl
KGF0dHItPnZhbHVlKCkpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6
OmVuY3R5cGVBdHRyKQotICAgICAgICBtX2Zvcm1BdHRyaWJ1dGVzLnBhcnNlRW5jb2RpbmdUeXBl
KHBhcnNlVmFsdWVTdWJzdGl0dXRpbmdWYXJpYWJsZVJlZmVyZW5jZXMoYXR0ci0+dmFsdWUoKSkp
OwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OmFjY2VwdF9jaGFyc2V0
QXR0cikKLSAgICAgICAgbV9mb3JtQXR0cmlidXRlcy5zZXRBY2NlcHRDaGFyc2V0KHBhcnNlVmFs
dWVGb3JiaWRkaW5nVmFyaWFibGVSZWZlcmVuY2VzKGF0dHItPnZhbHVlKCkpKTsKLSAgICBlbHNl
Ci0gICAgICAgIFdNTFRhc2tFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKLX0K
LQotdm9pZCBXTUxHb0VsZW1lbnQ6OmV4ZWN1dGVUYXNrKCkKLXsKLSAgICBBU1NFUlQoZG9jdW1l
bnQoKS0+aXNXTUxEb2N1bWVudCgpKTsKLSAgICBXTUxEb2N1bWVudCogZG9jdW1lbnQgPSBzdGF0
aWNfY2FzdDxXTUxEb2N1bWVudCo+KHRoaXMtPmRvY3VtZW50KCkpOwotCi0gICAgV01MUGFnZVN0
YXRlKiBwYWdlU3RhdGUgPSB3bWxQYWdlU3RhdGVGb3JEb2N1bWVudChkb2N1bWVudCk7Ci0gICAg
aWYgKCFwYWdlU3RhdGUpCi0gICAgICAgIHJldHVybjsKLQotICAgIFdNTENhcmRFbGVtZW50KiBj
YXJkID0gZG9jdW1lbnQtPmFjdGl2ZUNhcmQoKTsKLSAgICBpZiAoIWNhcmQpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50LT5mcmFtZSgpOwotICAgIGlmICgh
ZnJhbWUpCi0gICAgICAgIHJldHVybjsKLQotICAgIEZyYW1lTG9hZGVyKiBsb2FkZXIgPSBmcmFt
ZS0+bG9hZGVyKCk7Ci0gICAgaWYgKCFsb2FkZXIpCi0gICAgICAgIHJldHVybjsKLQotICAgIFN0
cmluZyBocmVmID0gZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6aHJlZkF0dHIpOwotICAgIGlmICho
cmVmLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gU3Vic3RpdHV0ZSB2YXJp
YWJsZXMgd2l0aGluIHRhcmdldCB1cmwgYXR0cmlidXRlIHZhbHVlCi0gICAgS1VSTCB1cmwgPSBk
b2N1bWVudC0+Y29tcGxldGVVUkwoc3Vic3RpdHV0ZVZhcmlhYmxlUmVmZXJlbmNlcyhocmVmLCBk
b2N1bWVudCwgV01MVmFyaWFibGVFc2NhcGluZ0VzY2FwZSkpOwotICAgIGlmICh1cmwuaXNFbXB0
eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBzdG9yZVZhcmlhYmxlU3RhdGUocGFnZVN0YXRl
KTsKLQotICAgIC8vIFN0b3AgdGhlIHRpbWVyIG9mIHRoZSBjdXJyZW50IGNhcmQgaWYgaXQgaXMg
YWN0aXZlCi0gICAgaWYgKFdNTFRpbWVyRWxlbWVudCogZXZlbnRUaW1lciA9IGNhcmQtPmV2ZW50
VGltZXIoKSkKLSAgICAgICAgZXZlbnRUaW1lci0+c3RvcCgpOwotCi0gICAgLy8gRklYTUU6ICdu
ZXdjb250ZXh0JyBoYW5kbGluZyBub3QgaW1wbGVtZW50ZWQgZm9yIGV4dGVybmFsIGNhcmRzCi0g
ICAgYm9vbCBpblNhbWVEZWNrID0gZG9jdW1lbnQtPnVybCgpLnBhdGgoKSA9PSB1cmwucGF0aCgp
OwotICAgIGlmIChpblNhbWVEZWNrICYmIHVybC5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkgewot
ICAgICAgICBpZiAoV01MQ2FyZEVsZW1lbnQqIGNhcmQgPSBXTUxDYXJkRWxlbWVudDo6ZmluZE5h
bWVkQ2FyZEluRG9jdW1lbnQoZG9jdW1lbnQsIHVybC5mcmFnbWVudElkZW50aWZpZXIoKSkpIHsK
LSAgICAgICAgICAgIGlmIChjYXJkLT5pc05ld0NvbnRleHQoKSkKLSAgICAgICAgICAgICAgICBw
YWdlU3RhdGUtPnJlc2V0KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBQcmVwYXJlIGxv
YWRpbmcgdGhlIGRlc3RpbmF0aW9uIHVybAotICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KHVy
bCk7Ci0KLSAgICBpZiAoZ2V0QXR0cmlidXRlKHNlbmRyZWZlcmVyQXR0cikgPT0gInRydWUiKQot
ICAgICAgICByZXF1ZXN0LnNldEhUVFBSZWZlcnJlcihsb2FkZXItPm91dGdvaW5nUmVmZXJyZXIo
KSk7Ci0KLSAgICBTdHJpbmcgY2FjaGVDb250cm9sID0gZ2V0QXR0cmlidXRlKGNhY2hlX2NvbnRy
b2xBdHRyKTsKLQotICAgIGlmIChtX2Zvcm1BdHRyaWJ1dGVzLm1ldGhvZCgpID09IEZvcm1TdWJt
aXNzaW9uOjpQb3N0TWV0aG9kKQotICAgICAgICBwcmVwYXJlUE9TVFJlcXVlc3QocmVxdWVzdCwg
aW5TYW1lRGVjaywgY2FjaGVDb250cm9sKTsKLSAgICBlbHNlCi0gICAgICAgIHByZXBhcmVHRVRS
ZXF1ZXN0KHJlcXVlc3QsIHVybCk7Ci0KLSAgICAvLyBTZXQgSFRUUCBjYWNoZS1jb250cm9sIGhl
YWRlciBpZiBuZWVkZWQKLSAgICBpZiAoIWNhY2hlQ29udHJvbC5pc0VtcHR5KCkpIHsKLSAgICAg
ICAgcmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoImNhY2hlLWNvbnRyb2wiLCBjYWNoZUNvbnRy
b2wpOwotCi0gICAgICAgIGlmIChjYWNoZUNvbnRyb2wgPT0gIm5vLWNhY2hlIikKLSAgICAgICAg
ICAgIHJlcXVlc3Quc2V0Q2FjaGVQb2xpY3koUmVsb2FkSWdub3JpbmdDYWNoZURhdGEpOwotICAg
IH0KLQotICAgIGxvYWRlci0+bG9hZChyZXF1ZXN0LCBmYWxzZSk7Ci19Ci0KLXZvaWQgV01MR29F
bGVtZW50OjpwcmVwYXJlUE9TVFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBib29s
IGluU2FtZURlY2ssIGNvbnN0IFN0cmluZyYgY2FjaGVDb250cm9sKQotewotICAgIHJlcXVlc3Qu
c2V0SFRUUE1ldGhvZCgiUE9TVCIpOwotCi0gICAgaWYgKGluU2FtZURlY2sgJiYgY2FjaGVDb250
cm9sICE9ICJuby1jYWNoZSIpIHsKLSAgICAgICAgcmVxdWVzdC5zZXRDYWNoZVBvbGljeShSZXR1
cm5DYWNoZURhdGFEb250TG9hZCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBSZWZQ
dHI8Rm9ybURhdGE+IGRhdGE7Ci0KLSAgICBpZiAobV9mb3JtQXR0cmlidXRlcy5pc011bHRpUGFy
dEZvcm0oKSkgeyAvLyBtdWx0aXBhcnQvZm9ybS1kYXRhCi0gICAgICAgIFZlY3RvcjxjaGFyPiBi
b3VuZGFyeSA9IEZvcm1EYXRhQnVpbGRlcjo6Z2VuZXJhdGVVbmlxdWVCb3VuZGFyeVN0cmluZygp
OwotICAgICAgICBkYXRhID0gY3JlYXRlRm9ybURhdGEoYm91bmRhcnkuZGF0YSgpKTsKLSAgICAg
ICAgcmVxdWVzdC5zZXRIVFRQQ29udGVudFR5cGUobV9mb3JtQXR0cmlidXRlcy5lbmNvZGluZ1R5
cGUoKSArICI7IGJvdW5kYXJ5PSIgKyBib3VuZGFyeS5kYXRhKCkpOwotICAgIH0gZWxzZSB7Ci0g
ICAgICAgIC8vIHRleHQvcGxhaW4gb3IgYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk
Ci0gICAgICAgIGRhdGEgPSBjcmVhdGVGb3JtRGF0YShDU3RyaW5nKCkpOwotICAgICAgICByZXF1
ZXN0LnNldEhUVFBDb250ZW50VHlwZShtX2Zvcm1BdHRyaWJ1dGVzLmVuY29kaW5nVHlwZSgpKTsK
LSAgICB9Ci0KLSAgICByZXF1ZXN0LnNldEhUVFBCb2R5KGRhdGEuZ2V0KCkpOwotfQotCi12b2lk
IFdNTEdvRWxlbWVudDo6cHJlcGFyZUdFVFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBjb25zdCBLVVJMJiB1cmwpCi17Ci0gICAgcmVxdWVzdC5zZXRIVFRQTWV0aG9kKCJHRVQiKTsK
LQotICAgIC8vIEV2ZW50dWFsbHkgZGlzcGxheSBlcnJvciBtZXNzYWdlPwotICAgIGlmIChtX2Zv
cm1BdHRyaWJ1dGVzLmlzTXVsdGlQYXJ0Rm9ybSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBS
ZWZQdHI8Rm9ybURhdGE+IGRhdGEgPSBjcmVhdGVGb3JtRGF0YShDU3RyaW5nKCkpOwotCi0gICAg
S1VSTCByZW1vdGVVUkwodXJsKTsKLSAgICByZW1vdGVVUkwuc2V0UXVlcnkoZGF0YS0+ZmxhdHRl
blRvU3RyaW5nKCkpOwotICAgIHJlcXVlc3Quc2V0VVJMKHJlbW90ZVVSTCk7Ci19Ci0KLVBhc3NS
ZWZQdHI8Rm9ybURhdGE+IFdNTEdvRWxlbWVudDo6Y3JlYXRlRm9ybURhdGEoY29uc3QgQ1N0cmlu
ZyYgYm91bmRhcnkpCi17Ci0gICAgQ1N0cmluZyBrZXk7Ci0gICAgQ1N0cmluZyB2YWx1ZTsKLQot
ICAgIFZlY3RvcjxjaGFyPiBlbmNvZGVkRGF0YTsKLSAgICBUZXh0RW5jb2RpbmcgZW5jb2Rpbmcg
PSBGb3JtRGF0YUJ1aWxkZXI6OmVuY29kaW5nRnJvbUFjY2VwdENoYXJzZXQobV9mb3JtQXR0cmli
dXRlcy5hY2NlcHRDaGFyc2V0KCksIGRvY3VtZW50KCkpLmVuY29kaW5nRm9yRm9ybVN1Ym1pc3Np
b24oKTsKLQotICAgIFZlY3RvcjxXTUxQb3N0ZmllbGRFbGVtZW50Kj46Oml0ZXJhdG9yIGl0ID0g
bV9wb3N0ZmllbGRFbGVtZW50cy5iZWdpbigpOwotICAgIFZlY3RvcjxXTUxQb3N0ZmllbGRFbGVt
ZW50Kj46Oml0ZXJhdG9yIGVuZCA9IG1fcG9zdGZpZWxkRWxlbWVudHMuZW5kKCk7Ci0KLSAgICBS
ZWZQdHI8Rm9ybURhdGE+IHJlc3VsdCA9IEZvcm1EYXRhOjpjcmVhdGUoKTsKLSAgICBmb3IgKDsg
aXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICgqaXQpLT5lbmNvZGVEYXRhKGVuY29kaW5nLCBr
ZXksIHZhbHVlKTsKLQotICAgICAgICBpZiAobV9mb3JtQXR0cmlidXRlcy5pc011bHRpUGFydEZv
cm0oKSkgewotICAgICAgICAgICAgVmVjdG9yPGNoYXI+IGhlYWRlcjsKLSAgICAgICAgICAgIEZv
cm1EYXRhQnVpbGRlcjo6YmVnaW5NdWx0aVBhcnRIZWFkZXIoaGVhZGVyLCBib3VuZGFyeSwga2V5
KTsKLSAgICAgICAgICAgIEZvcm1EYXRhQnVpbGRlcjo6ZmluaXNoTXVsdGlQYXJ0SGVhZGVyKGhl
YWRlcik7Ci0gICAgICAgICAgICByZXN1bHQtPmFwcGVuZERhdGEoaGVhZGVyLmRhdGEoKSwgaGVh
ZGVyLnNpemUoKSk7Ci0KLSAgICAgICAgICAgIGlmIChzaXplX3QgZGF0YVNpemUgPSB2YWx1ZS5s
ZW5ndGgoKSkKLSAgICAgICAgICAgICAgICByZXN1bHQtPmFwcGVuZERhdGEodmFsdWUuZGF0YSgp
LCBkYXRhU2l6ZSk7Ci0KLSAgICAgICAgICAgIHJlc3VsdC0+YXBwZW5kRGF0YSgiXHJcbiIsIDIp
OwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIEZvcm1EYXRhQnVpbGRlcjo6YWRkS2V5VmFs
dWVQYWlyQXNGb3JtRGF0YShlbmNvZGVkRGF0YSwga2V5LCB2YWx1ZSk7Ci0gICAgfQotCi0gICAg
aWYgKG1fZm9ybUF0dHJpYnV0ZXMuaXNNdWx0aVBhcnRGb3JtKCkpCi0gICAgICAgIEZvcm1EYXRh
QnVpbGRlcjo6YWRkQm91bmRhcnlUb011bHRpUGFydEhlYWRlcihlbmNvZGVkRGF0YSwgYm91bmRh
cnksIHRydWUpOwotCi0gICAgcmVzdWx0LT5hcHBlbmREYXRhKGVuY29kZWREYXRhLmRhdGEoKSwg
ZW5jb2RlZERhdGEuc2l6ZSgpKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi19Ci0KLSNlbmRp
ZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEdvRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxHb0VsZW1lbnQuaAkocmV2aXNpb24gODUyNDIpCisrKyBT
b3VyY2UvV2ViQ29yZS93bWwvV01MR29FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNTkg
KzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5k
ZWYgV01MR29FbGVtZW50X2gKLSNkZWZpbmUgV01MR29FbGVtZW50X2gKLQotI2lmIEVOQUJMRShX
TUwpCi0jaW5jbHVkZSAiRm9ybVN1Ym1pc3Npb24uaCIKLSNpbmNsdWRlICJXTUxUYXNrRWxlbWVu
dC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEZvcm1EYXRhOwotY2xhc3MgUmVz
b3VyY2VSZXF1ZXN0OwotY2xhc3MgV01MUG9zdGZpZWxkRWxlbWVudDsKLQotY2xhc3MgV01MR29F
bGVtZW50IDogcHVibGljIFdNTFRhc2tFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxXTUxHb0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQqKTsKLQotICAgIFdNTEdvRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCopOwotCi0gICAgdm9pZCByZWdpc3RlclBvc3RmaWVsZEVsZW1lbnQoV01MUG9zdGZp
ZWxkRWxlbWVudCopOwotICAgIHZvaWQgZGVyZWdpc3RlclBvc3RmaWVsZEVsZW1lbnQoV01MUG9z
dGZpZWxkRWxlbWVudCopOwotCi0gICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRl
KEF0dHJpYnV0ZSopOwotICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlVGFzaygpOwotCi1wcml2YXRl
OgotICAgIHZvaWQgcHJlcGFyZVBPU1RSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYsIGJvb2wgaW5T
YW1lRGVjaywgY29uc3QgU3RyaW5nJiBjYWNoZUNvbnRyb2wpOwotICAgIHZvaWQgcHJlcGFyZUdF
VFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgS1VSTCYpOwotCi0gICAgUGFzc1JlZlB0
cjxGb3JtRGF0YT4gY3JlYXRlRm9ybURhdGEoY29uc3QgQ1N0cmluZyYgYm91bmRhcnkpOwotCi0g
ICAgVmVjdG9yPFdNTFBvc3RmaWVsZEVsZW1lbnQqPiBtX3Bvc3RmaWVsZEVsZW1lbnRzOwotICAg
IEZvcm1TdWJtaXNzaW9uOjpBdHRyaWJ1dGVzIG1fZm9ybUF0dHJpYnV0ZXM7Ci19OwotCi19Ci0K
LSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1hZ2VFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1hZ2VFbGVtZW50LmNw
cAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1hZ2VFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwxNTYgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93
d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJM
RShXTUwpCi0jaW5jbHVkZSAiV01MSW1hZ2VFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJBdHRyaWJ1
dGUuaCIKLSNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCi0jaW5jbHVkZSAiQ1NTVmFsdWVL
ZXl3b3Jkcy5oIgotI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCi0jaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotI2lu
Y2x1ZGUgIldNTFZhcmlhYmxlcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5h
bWVzcGFjZSBXTUxOYW1lczsKLQotV01MSW1hZ2VFbGVtZW50OjpXTUxJbWFnZUVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTEVsZW1l
bnQodGFnTmFtZSwgZG9jKQotICAgICwgbV9pbWFnZUxvYWRlcih0aGlzKQotICAgICwgbV91c2VG
YWxsYmFja0F0dHJpYnV0ZShmYWxzZSkKLXsKLX0KLQotUGFzc1JlZlB0cjxXTUxJbWFnZUVsZW1l
bnQ+IFdNTEltYWdlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdNTEltYWdl
RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi1XTUxJbWFnZUVsZW1lbnQ6On5XTUxJ
bWFnZUVsZW1lbnQoKQotewotfQotCi1ib29sIFdNTEltYWdlRWxlbWVudDo6bWFwVG9FbnRyeShj
b25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwgTWFwcGVkQXR0cmlidXRlRW50cnkmIHJlc3Vs
dCkgY29uc3QKLXsKLSAgICBpZiAoYXR0ck5hbWUgPT0gSFRNTE5hbWVzOjp3aWR0aEF0dHIgfHwK
LSAgICAgICAgYXR0ck5hbWUgPT0gSFRNTE5hbWVzOjpoZWlnaHRBdHRyIHx8Ci0gICAgICAgIGF0
dHJOYW1lID09IEhUTUxOYW1lczo6dnNwYWNlQXR0ciB8fAotICAgICAgICBhdHRyTmFtZSA9PSBI
VE1MTmFtZXM6OmhzcGFjZUF0dHIpIHsKLSAgICAgICAgcmVzdWx0ID0gZVVuaXZlcnNhbDsKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGlmIChhdHRyTmFtZSA9PSBIVE1MTmFt
ZXM6OmFsaWduQXR0cikgewotICAgICAgICByZXN1bHQgPSBlUmVwbGFjZWQ7Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gV01MRWxlbWVudDo6bWFwVG9FbnRyeShh
dHRyTmFtZSwgcmVzdWx0KTsKLX0KLQotdm9pZCBXTUxJbWFnZUVsZW1lbnQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKLXsKLSAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyTmFtZSA9IGF0dHItPm5hbWUoKTsKLQotICAgIGlmIChhdHRyTmFtZSA9PSBIVE1MTmFtZXM6
OmFsdEF0dHIpIHsKLSAgICAgICAgaWYgKHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+aXNJbWFn
ZSgpKQotICAgICAgICAgICAgdG9SZW5kZXJJbWFnZShyZW5kZXJlcigpKS0+dXBkYXRlQWx0VGV4
dCgpOwotICAgIH0gZWxzZSBpZiAoYXR0ck5hbWUgPT0gSFRNTE5hbWVzOjpzcmNBdHRyIHx8IGF0
dHJOYW1lID09IGxvY2Fsc3JjQXR0cikKLSAgICAgICAgbV9pbWFnZUxvYWRlci51cGRhdGVGcm9t
RWxlbWVudElnbm9yaW5nUHJldmlvdXNFcnJvcigpOwotICAgIGVsc2UgaWYgKGF0dHJOYW1lID09
IEhUTUxOYW1lczo6d2lkdGhBdHRyKQotICAgICAgICBhZGRDU1NMZW5ndGgoYXR0ciwgQ1NTUHJv
cGVydHlXaWR0aCwgYXR0ci0+dmFsdWUoKSk7Ci0gICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gSFRN
TE5hbWVzOjpoZWlnaHRBdHRyKQotICAgICAgICBhZGRDU1NMZW5ndGgoYXR0ciwgQ1NTUHJvcGVy
dHlIZWlnaHQsIGF0dHItPnZhbHVlKCkpOwotICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IEhUTUxO
YW1lczo6dnNwYWNlQXR0cikgewotICAgICAgICBhZGRDU1NMZW5ndGgoYXR0ciwgQ1NTUHJvcGVy
dHlNYXJnaW5Ub3AsIGF0dHItPnZhbHVlKCkpOwotICAgICAgICBhZGRDU1NMZW5ndGgoYXR0ciwg
Q1NTUHJvcGVydHlNYXJnaW5Cb3R0b20sIGF0dHItPnZhbHVlKCkpOwotICAgIH0gZWxzZSBpZiAo
YXR0ck5hbWUgPT0gSFRNTE5hbWVzOjpoc3BhY2VBdHRyKSB7Ci0gICAgICAgIGFkZENTU0xlbmd0
aChhdHRyLCBDU1NQcm9wZXJ0eU1hcmdpbkxlZnQsIGF0dHItPnZhbHVlKCkpOwotICAgICAgICBh
ZGRDU1NMZW5ndGgoYXR0ciwgQ1NTUHJvcGVydHlNYXJnaW5SaWdodCwgYXR0ci0+dmFsdWUoKSk7
Ci0gICAgfSBlbHNlIGlmIChhdHRyTmFtZSA9PSBIVE1MTmFtZXM6OmFsaWduQXR0cikKLSAgICAg
ICAgSFRNTEVsZW1lbnQ6OmFkZEhUTUxBbGlnbm1lbnRUb1N0eWxlZEVsZW1lbnQodGhpcywgYXR0
cik7Ci0gICAgZWxzZQotICAgICAgICBXTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShh
dHRyKTsKLX0KLQotdm9pZCBXTUxJbWFnZUVsZW1lbnQ6OmF0dGFjaCgpCi17Ci0gICAgV01MRWxl
bWVudDo6YXR0YWNoKCk7Ci0KLSAgICBpZiAocmVuZGVyZXIoKSAmJiByZW5kZXJlcigpLT5pc0lt
YWdlKCkgJiYgbV9pbWFnZUxvYWRlci5oYXZlRmlyZWRCZWZvcmVMb2FkRXZlbnQoKSkgewotICAg
ICAgICBSZW5kZXJJbWFnZSogaW1hZ2VPYmogPSB0b1JlbmRlckltYWdlKHJlbmRlcmVyKCkpOwot
ICAgICAgICBSZW5kZXJJbWFnZVJlc291cmNlKiByZW5kZXJJbWFnZVJlc291cmNlID0gaW1hZ2VP
YmotPmltYWdlUmVzb3VyY2UoKTsKLSAgICAgICAgaWYgKHJlbmRlckltYWdlUmVzb3VyY2UtPmhh
c0ltYWdlKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHJlbmRlckltYWdlUmVzb3Vy
Y2UtPnNldENhY2hlZEltYWdlKG1faW1hZ2VMb2FkZXIuaW1hZ2UoKSk7Ci0gICAgICAgIAotICAg
ICAgICAvLyBJZiB3ZSBoYXZlIG5vIGltYWdlIGF0IGFsbCBiZWNhdXNlIHdlIGhhdmUgbm8gc3Jj
IGF0dHJpYnV0ZSwgc2V0Ci0gICAgICAgIC8vIGltYWdlIGhlaWdodCBhbmQgd2lkdGggZm9yIHRo
ZSBhbHQgdGV4dCBpbnN0ZWFkLgotICAgICAgICBpZiAoIW1faW1hZ2VMb2FkZXIuaW1hZ2UoKSAm
JiAhaW1hZ2VPYmotPmNhY2hlZEltYWdlKCkpCi0gICAgICAgICAgICBpbWFnZU9iai0+c2V0SW1h
Z2VTaXplRm9yQWx0VGV4dCgpOwotICAgIH0KLX0KLQotUmVuZGVyT2JqZWN0KiBXTUxJbWFnZUVs
ZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQot
ewotICAgIFJlbmRlckltYWdlKiBpbWFnZSA9IG5ldyAoYXJlbmEpIFJlbmRlckltYWdlKHRoaXMp
OwotICAgIGltYWdlLT5zZXRJbWFnZVJlc291cmNlKFJlbmRlckltYWdlUmVzb3VyY2U6OmNyZWF0
ZSgpKTsKLSAgICByZXR1cm4gaW1hZ2U7Ci19Ci0KLXZvaWQgV01MSW1hZ2VFbGVtZW50OjppbnNl
cnRlZEludG9Eb2N1bWVudCgpCi17Ci0gICAgLy8gSWYgd2UgaGF2ZSBiZWVuIGluc2VydGVkIGZy
b20gYSByZW5kZXJlci1sZXNzIGRvY3VtZW50LAotICAgIC8vIG91ciBsb2FkZXIgbWF5IGhhdmUg
bm90IGZldGNoZWQgdGhlIGltYWdlLCBzbyBkbyBpdCBub3cuCi0gICAgaWYgKCFtX2ltYWdlTG9h
ZGVyLmltYWdlKCkpCi0gICAgICAgIG1faW1hZ2VMb2FkZXIudXBkYXRlRnJvbUVsZW1lbnQoKTsK
LQotICAgIFdNTEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCk7Ci19Ci0KLWJvb2wgV01M
SW1hZ2VFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OnNyY0F0dHIKLSAgICAgICAgICAg
fHwgYXR0ci0+bmFtZSgpID09IGxvY2Fsc3JjQXR0cjsKLX0KLQotY29uc3QgUXVhbGlmaWVkTmFt
ZSYgV01MSW1hZ2VFbGVtZW50OjppbWFnZVNvdXJjZUF0dHJpYnV0ZU5hbWUoKSBjb25zdAotewot
ICAgIC8vIFNwZWM6IEFueSAnbG9jYWxzcmMnIHBhcmFtZXRlciBzcGVjaWZpZWQgdGFrZXMgcHJl
Y2VkZW5jZSBvdmVyIHRoZSAKLSAgICAvLyBpbWFnZSBzcGVjaWZpZWQgaW4gdGhlIHNyYyBwYXJh
bWV0ZXIuCi0gICAgaWYgKGhhc0F0dHJpYnV0ZShsb2NhbHNyY0F0dHIpICYmICFtX3VzZUZhbGxi
YWNrQXR0cmlidXRlKQotICAgICAgICByZXR1cm4gbG9jYWxzcmNBdHRyOwotCi0gICAgcmV0dXJu
IEhUTUxOYW1lczo6c3JjQXR0cjsKLX0KLQotU3RyaW5nIFdNTEltYWdlRWxlbWVudDo6YWx0VGV4
dCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHN1YnN0aXR1dGVWYXJpYWJsZVJlZmVyZW5jZXMoZ2V0
QXR0cmlidXRlKEhUTUxOYW1lczo6YWx0QXR0ciksIGRvY3VtZW50KCkpOwotfQotCi19Ci0KLSNl
bmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEltYWdlRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbWFnZUVsZW1lbnQuaAkocmV2aXNpb24gODUy
NDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1hZ2VFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNjAgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9i
aWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29t
LykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
Ci0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgot
ICovCi0KLSNpZm5kZWYgV01MSW1hZ2VFbGVtZW50X2gKLSNkZWZpbmUgV01MSW1hZ2VFbGVtZW50
X2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MRWxlbWVudC5oIgotI2luY2x1ZGUg
IldNTEltYWdlTG9hZGVyLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV01MSW1h
Z2VFbGVtZW50IDogcHVibGljIFdNTEVsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdNTEltYWdlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCopOwotCi0gICAgV01MSW1hZ2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50Kik7Ci0gICAgdmlydHVhbCB+V01MSW1hZ2VFbGVtZW50KCk7Ci0KLSAgICB2
aXJ0dWFsIGJvb2wgbWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiwgTWFwcGVkQXR0cmli
dXRlRW50cnkmKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUo
QXR0cmlidXRlKik7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCk7Ci0gICAgdmlydHVhbCBS
ZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsK
LQotICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwotICAgIHZpcnR1YWwg
Ym9vbCBpc1VSTEF0dHJpYnV0ZShBdHRyaWJ1dGUqKSBjb25zdDsKLSAgICB2aXJ0dWFsIGNvbnN0
IFF1YWxpZmllZE5hbWUmIGltYWdlU291cmNlQXR0cmlidXRlTmFtZSgpIGNvbnN0OwotCi0gICAg
U3RyaW5nIGFsdFRleHQoKSBjb25zdDsKLQotICAgIGJvb2wgdXNlRmFsbGJhY2tBdHRyaWJ1dGUo
KSB7IHJldHVybiBtX3VzZUZhbGxiYWNrQXR0cmlidXRlOyB9Ci0gICAgdm9pZCBzZXRVc2VGYWxs
YmFja0F0dHJpYnV0ZShib29sIHZhbHVlKSB7IG1fdXNlRmFsbGJhY2tBdHRyaWJ1dGUgPSB2YWx1
ZTsgfQotCi1wcml2YXRlOgotICAgIFdNTEltYWdlTG9hZGVyIG1faW1hZ2VMb2FkZXI7Ci0gICAg
Ym9vbCBtX3VzZUZhbGxiYWNrQXR0cmlidXRlOwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJ
bmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTEltYWdlTG9hZGVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1hZ2VMb2FkZXIuY3BwCShyZXZpc2lvbiA4NTI0MikK
KysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbWFnZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEsNzggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxJ
bWFnZUxvYWRlci5oIgotCi0jaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKLSNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKLSNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCi0jaW5jbHVkZSAiV01MSW1h
Z2VFbGVtZW50LmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdNTEltYWdlTG9hZGVyOjpXTUxJbWFn
ZUxvYWRlcihXTUxJbWFnZUVsZW1lbnQqIGVsZW1lbnQpCi0gICAgOiBJbWFnZUxvYWRlcihlbGVt
ZW50KQotewotfQotCi1XTUxJbWFnZUxvYWRlcjo6fldNTEltYWdlTG9hZGVyKCkKLXsKLX0KLQot
dm9pZCBXTUxJbWFnZUxvYWRlcjo6ZGlzcGF0Y2hMb2FkRXZlbnQoKQotewotICAgIC8vIFdNTCBk
b2Vzbid0IGZpcmUgYW55IGV2ZW50cy4KLX0KLQotU3RyaW5nIFdNTEltYWdlTG9hZGVyOjpzb3Vy
Y2VVUkkoY29uc3QgQXRvbWljU3RyaW5nJiBhdHRyKSBjb25zdAotewotICAgIHJldHVybiBLVVJM
KGVsZW1lbnQoKS0+YmFzZVVSSSgpLCBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMo
YXR0cikpOwotfQotCi12b2lkIFdNTEltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRS
ZXNvdXJjZSogaW1hZ2UpCi17Ci0gICAgSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKGltYWdl
KTsKLQotICAgIGlmICghaW1hZ2UtPmVycm9yT2NjdXJyZWQoKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgV01MSW1hZ2VFbGVtZW50KiBpbWFnZUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxXTUxJbWFn
ZUVsZW1lbnQqPihlbGVtZW50KCkpOwotICAgIEFTU0VSVChpbWFnZUVsZW1lbnQpOwotCi0gICAg
Ly8gTG9hZGluZyBib3RoICdsb2NhbHNyYycgYW5kICdzcmMnIGZhaWxlZC4gSWdub3JlIHRoaXMg
aW1hZ2UuCi0gICAgaWYgKGltYWdlRWxlbWVudC0+dXNlRmFsbGJhY2tBdHRyaWJ1dGUoKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFpbWFnZUVsZW1lbnQtPmhhc0F0dHJpYnV0ZShsb2Nh
bHNyY0F0dHIpICYmICFpbWFnZUVsZW1lbnQtPmhhc0F0dHJpYnV0ZShIVE1MTmFtZXM6OnNyY0F0
dHIpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpbWFnZUVsZW1lbnQtPnNldFVzZUZhbGxiYWNr
QXR0cmlidXRlKHRydWUpOwotICAgIHVwZGF0ZUZyb21FbGVtZW50SWdub3JpbmdQcmV2aW91c0Vy
cm9yKCk7Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1h
Z2VMb2FkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1hZ2VMb2Fk
ZXIuaAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW1hZ2VMb2Fk
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAo
QykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3
dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxJbWFnZUxvYWRlcl9oCi0jZGVmaW5l
IFdNTEltYWdlTG9hZGVyX2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiSW1hZ2VMb2Fk
ZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXTUxJbWFnZUVsZW1lbnQ7Ci0K
LWNsYXNzIFdNTEltYWdlTG9hZGVyIDogcHVibGljIEltYWdlTG9hZGVyIHsKLXB1YmxpYzoKLSAg
ICBXTUxJbWFnZUxvYWRlcihXTUxJbWFnZUVsZW1lbnQqKTsKLSAgICB2aXJ0dWFsIH5XTUxJbWFn
ZUxvYWRlcigpOwotCi0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoTG9hZEV2ZW50KCk7Ci0gICAg
dmlydHVhbCBTdHJpbmcgc291cmNlVVJJKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwotCi0g
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKik7Ci19OwotCi19
Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW5wdXRFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW5wdXRFbGVtZW50
LmNwcAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW5wdXRFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1MjQgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4g
KGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQot
I2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MSW5wdXRFbGVtZW50LmgiCi0KLSNpbmNsdWRl
ICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJFdmVudE5hbWVzLmgiCi0jaW5jbHVkZSAiRm9ybURh
dGFMaXN0LmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNp
bmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCi0jaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2xTaW5n
bGVMaW5lLmgiCi0jaW5jbHVkZSAiVGV4dEV2ZW50LmgiCi0jaW5jbHVkZSAiV01MRG9jdW1lbnQu
aCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotI2luY2x1ZGUgIldNTFBhZ2VTdGF0ZS5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdNTElucHV0RWxlbWVudDo6V01MSW5wdXRFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxGb3Jt
Q29udHJvbEVsZW1lbnQodGFnTmFtZSwgZG9jKQotICAgICwgbV9pc1Bhc3N3b3JkRmllbGQoZmFs
c2UpCi0gICAgLCBtX2lzRW1wdHlPayhmYWxzZSkKLSAgICAsIG1fd2FzQ2hhbmdlZFNpbmNlTGFz
dENoYW5nZUV2ZW50KGZhbHNlKQotICAgICwgbV9udW1PZkNoYXJzQWxsb3dlZEJ5TWFzaygwKQot
ewotfQotCi1QYXNzUmVmUHRyPFdNTElucHV0RWxlbWVudD4gV01MSW5wdXRFbGVtZW50OjpjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MSW5wdXRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KSk7Ci19Ci0KLVdNTElucHV0RWxlbWVudDo6fldNTElucHV0RWxlbWVudCgpCi17Ci0gICAgaWYg
KG1faXNQYXNzd29yZEZpZWxkKQotICAgICAgICBkb2N1bWVudCgpLT51bnJlZ2lzdGVyRm9yRG9j
dW1lbnRBY3RpdmF0aW9uQ2FsbGJhY2tzKHRoaXMpOwotfQotCi1zdGF0aWMgY29uc3QgQXRvbWlj
U3RyaW5nJiBmb3JtYXRDb2RlcygpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNT
dHJpbmcsIGNvZGVzLCAoIkFhTm5YeE1tIikpOwotICAgIHJldHVybiBjb2RlczsKLX0KLQotYm9v
bCBXTUxJbnB1dEVsZW1lbnQ6OmlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIFdNTEZvcm1Db250cm9sRWxlbWVudDo6aXNGb2N1c2FibGUoKTsK
LX0KLQotYm9vbCBXTUxJbnB1dEVsZW1lbnQ6OmlzTW91c2VGb2N1c2FibGUoKSBjb25zdAotewot
ICAgIHJldHVybiBXTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzRm9jdXNhYmxlKCk7Ci19Ci0KLXZv
aWQgV01MSW5wdXRFbGVtZW50OjpkaXNwYXRjaEZvY3VzRXZlbnQoKQotewotICAgIElucHV0RWxl
bWVudDo6ZGlzcGF0Y2hGb2N1c0V2ZW50KHRoaXMsIHRoaXMpOwotICAgIFdNTEVsZW1lbnQ6OmRp
c3BhdGNoRm9jdXNFdmVudCgpOwotfQotCi12b2lkIFdNTElucHV0RWxlbWVudDo6ZGlzcGF0Y2hC
bHVyRXZlbnQoKQotewotICAgIC8vIEZpcnN0bHkgY2hlY2sgaWYgaXQgaXMgYWxsb3dlZCB0byBs
ZWF2ZSB0aGlzIGlucHV0IGZpZWxkCi0gICAgU3RyaW5nIHZhbCA9IHZhbHVlKCk7Ci0gICAgaWYg
KCghbV9pc0VtcHR5T2sgJiYgdmFsLmlzRW1wdHkoKSkgfHwgIWlzQ29uZm9ybWVkVG9JbnB1dE1h
c2sodmFsKSkgewotICAgICAgICB1cGRhdGVGb2N1c0FwcGVhcmFuY2UodHJ1ZSk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyB1cGRhdGUgdGhlIG5hbWUgdmFyaWFibGUgb2YgV01M
IGlucHV0IGVsbWVuZXQKLSAgICBTdHJpbmcgbmFtZVZhcmlhYmxlID0gZm9ybUNvbnRyb2xOYW1l
KCk7Ci0gICAgaWYgKCFuYW1lVmFyaWFibGUuaXNFbXB0eSgpKQotICAgICAgICB3bWxQYWdlU3Rh
dGVGb3JEb2N1bWVudChkb2N1bWVudCgpKS0+c3RvcmVWYXJpYWJsZShuYW1lVmFyaWFibGUsIHZh
bCk7IAotCi0gICAgSW5wdXRFbGVtZW50OjpkaXNwYXRjaEJsdXJFdmVudCh0aGlzLCB0aGlzKTsK
LSAgICBXTUxFbGVtZW50OjpkaXNwYXRjaEJsdXJFdmVudCgpOwotfQotCi12b2lkIFdNTElucHV0
RWxlbWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlKGJvb2wgcmVzdG9yZVByZXZpb3VzU2VsZWN0
aW9uKQotewotICAgIElucHV0RWxlbWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlKG1fZGF0YSwg
dGhpcywgdGhpcywgcmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uKTsKLX0KLQotdm9pZCBXTUxJbnB1
dEVsZW1lbnQ6OmFib3V0VG9VbmxvYWQoKQotewotICAgIElucHV0RWxlbWVudDo6YWJvdXRUb1Vu
bG9hZCh0aGlzLCB0aGlzKTsKLX0KLQotaW50IFdNTElucHV0RWxlbWVudDo6c2l6ZSgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fZGF0YS5zaXplKCk7Ci19Ci0KLWNvbnN0IEF0b21pY1N0cmluZyYg
V01MSW5wdXRFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUoKSBjb25zdAotewotICAgIC8vIG5lZWRz
IHRvIGJlIGxvd2VyY2FzZSBhY2NvcmRpbmcgdG8gRE9NIHNwZWMKLSAgICBpZiAobV9pc1Bhc3N3
b3JkRmllbGQpIHsKLSAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJp
bmcsIHBhc3N3b3JkLCAoInBhc3N3b3JkIikpOwotICAgICAgICByZXR1cm4gcGFzc3dvcmQ7Ci0g
ICAgfQotCi0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHRleHQs
ICgidGV4dCIpKTsKLSAgICByZXR1cm4gdGV4dDsKLX0KLQotY29uc3QgQXRvbWljU3RyaW5nJiBX
TUxJbnB1dEVsZW1lbnQ6OmZvcm1Db250cm9sTmFtZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1f
ZGF0YS5uYW1lKCk7Ci19Ci0KLWNvbnN0IFN0cmluZyYgV01MSW5wdXRFbGVtZW50OjpzdWdnZXN0
ZWRWYWx1ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGF0YS5zdWdnZXN0ZWRWYWx1ZSgpOwot
fQotCi1TdHJpbmcgV01MSW5wdXRFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0Ci17Ci0gICAgU3RyaW5n
IHZhbHVlID0gbV9kYXRhLnZhbHVlKCk7Ci0gICAgaWYgKHZhbHVlLmlzTnVsbCgpKQotICAgICAg
ICB2YWx1ZSA9IGNvbnN0cmFpblZhbHVlKGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnZhbHVlQXR0
cikpOwotCi0gICAgcmV0dXJuIHZhbHVlOwotfQotCi12b2lkIFdNTElucHV0RWxlbWVudDo6c2V0
VmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCkKLXsKLSAgICBzZXRGb3JtQ29udHJvbFZh
bHVlTWF0Y2hlc1JlbmRlcmVyKGZhbHNlKTsKLSAgICBtX2RhdGEuc2V0VmFsdWUoY29uc3RyYWlu
VmFsdWUodmFsdWUpKTsKLSAgICBpZiAoaW5Eb2N1bWVudCgpKQotICAgICAgICBkb2N1bWVudCgp
LT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7Ci0gICAgaWYgKHJlbmRlcmVyKCkpCi0gICAgICAgIHJl
bmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7Ci0gICAgc2V0TmVlZHNTdHlsZVJlY2FsYygp
OwotCi0gICAgdW5zaWduZWQgbWF4ID0gbV9kYXRhLnZhbHVlKCkubGVuZ3RoKCk7Ci0gICAgaWYg
KGRvY3VtZW50KCktPmZvY3VzZWROb2RlKCkgPT0gdGhpcykKLSAgICAgICAgSW5wdXRFbGVtZW50
Ojp1cGRhdGVTZWxlY3Rpb25SYW5nZSh0aGlzLCB0aGlzLCBtYXgsIG1heCk7Ci0gICAgZWxzZQot
ICAgICAgICBjYWNoZVNlbGVjdGlvbihtYXgsIG1heCk7Ci0KLSAgICBJbnB1dEVsZW1lbnQ6Om5v
dGlmeUZvcm1TdGF0ZUNoYW5nZWQodGhpcyk7Ci19Ci0KLXZvaWQgV01MSW5wdXRFbGVtZW50Ojpz
ZXRWYWx1ZUZvclVzZXIoY29uc3QgU3RyaW5nJikKLXsKLSAgICAvKiBJbnB1dEVsZW1lbnQgY2xh
c3MgZGVmaW5lcyBwdXJlIHZpcnR1YWwgZnVuY3Rpb24gJ3NldFZhbHVlRm9yVXNlcicsIHdoaWNo
IAotICAgICAgIHdpbGwgYmUgdXNlZnVsIG9ubHkgaW4gSFRNTElucHV0RWxlbWVudC4gRG8gbm90
aGluZyBpbiAnV01MSW5wdXRFbGVtZW50Jy4KLSAgICAgKi8KLX0KLQotdm9pZCBXTUxJbnB1dEVs
ZW1lbnQ6OnNldFZhbHVlRnJvbVJlbmRlcmVyKGNvbnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAg
SW5wdXRFbGVtZW50OjpzZXRWYWx1ZUZyb21SZW5kZXJlcihtX2RhdGEsIHRoaXMsIHRoaXMsIHZh
bHVlKTsKLX0KLQotYm9vbCBXTUxJbnB1dEVsZW1lbnQ6Ondhc0NoYW5nZWRTaW5jZUxhc3RGb3Jt
Q29udHJvbENoYW5nZUV2ZW50KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV93YXNDaGFuZ2VkU2lu
Y2VMYXN0Q2hhbmdlRXZlbnQ7Ci19Ci0KLXZvaWQgV01MSW5wdXRFbGVtZW50OjpzZXRDaGFuZ2Vk
U2luY2VMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudChib29sIGNoYW5nZWQpCi17Ci0gICAgbV93
YXNDaGFuZ2VkU2luY2VMYXN0Q2hhbmdlRXZlbnQgPSBjaGFuZ2VkOwotfQotCi1ib29sIFdNTElu
cHV0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9sU3RhdGUoU3RyaW5nJiByZXN1bHQpIGNvbnN0Ci17
Ci0gICAgaWYgKG1faXNQYXNzd29yZEZpZWxkKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICByZXN1bHQgPSB2YWx1ZSgpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIFdNTElucHV0
RWxlbWVudDo6cmVzdG9yZUZvcm1Db250cm9sU3RhdGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKLXsK
LSAgICBBU1NFUlQoIW1faXNQYXNzd29yZEZpZWxkKTsgLy8gc2hvdWxkIG5ldmVyIHNhdmUvcmVz
dG9yZSBwYXNzd29yZCBmaWVsZHMKLSAgICBzZXRWYWx1ZShzdGF0ZSk7Ci19Ci0KLXZvaWQgV01M
SW5wdXRFbGVtZW50OjpzZWxlY3QoKQotewotICAgIGlmIChSZW5kZXJUZXh0Q29udHJvbCogciA9
IHRvUmVuZGVyVGV4dENvbnRyb2wocmVuZGVyZXIoKSkpCi0gICAgICAgIHNldFNlbGVjdGlvblJh
bmdlKHRoaXMsIDAsIHItPnRleHQoKS5sZW5ndGgoKSk7Ci19Ci0KLXZvaWQgV01MSW5wdXRFbGVt
ZW50OjphY2Nlc3NLZXlBY3Rpb24oYm9vbCkKLXsKLSAgICAvLyBzaG91bGQgbmV2ZXIgcmVzdG9y
ZSBwcmV2aW91cyBzZWxlY3Rpb24gaGVyZQotICAgIGZvY3VzKGZhbHNlKTsKLX0KLQotdm9pZCBX
TUxJbnB1dEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKLXsK
LSAgICBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6bmFtZUF0dHIpCi0gICAgICAgIG1f
ZGF0YS5zZXROYW1lKHBhcnNlVmFsdWVGb3JiaWRkaW5nVmFyaWFibGVSZWZlcmVuY2VzKGF0dHIt
PnZhbHVlKCkpKTsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjp0eXBl
QXR0cikgewotICAgICAgICBTdHJpbmcgdHlwZSA9IHBhcnNlVmFsdWVGb3JiaWRkaW5nVmFyaWFi
bGVSZWZlcmVuY2VzKGF0dHItPnZhbHVlKCkpOwotICAgICAgICBtX2lzUGFzc3dvcmRGaWVsZCA9
ICh0eXBlID09ICJwYXNzd29yZCIpOwotICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IEhU
TUxOYW1lczo6dmFsdWVBdHRyKSB7Ci0gICAgICAgIC8vIFdlIG9ubHkgbmVlZCB0byBzZXRDaGFu
Z2VkIGlmIHRoZSBmb3JtIGlzIGxvb2tpbmcgYXQgdGhlIGRlZmF1bHQgdmFsdWUgcmlnaHQgbm93
LgotICAgICAgICBpZiAobV9kYXRhLnZhbHVlKCkuaXNOdWxsKCkpCi0gICAgICAgICAgICBzZXRO
ZWVkc1N0eWxlUmVjYWxjKCk7Ci0gICAgICAgIHNldEZvcm1Db250cm9sVmFsdWVNYXRjaGVzUmVu
ZGVyZXIoZmFsc2UpOwotICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6
bWF4bGVuZ3RoQXR0cikKLSAgICAgICAgSW5wdXRFbGVtZW50OjpwYXJzZU1heExlbmd0aEF0dHJp
YnV0ZShtX2RhdGEsIHRoaXMsIHRoaXMsIGF0dHIpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBIVE1MTmFtZXM6OnNpemVBdHRyKQotICAgICAgICBJbnB1dEVsZW1lbnQ6OnBhcnNlU2l6
ZUF0dHJpYnV0ZShtX2RhdGEsIHRoaXMsIGF0dHIpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBXTUxOYW1lczo6Zm9ybWF0QXR0cikKLSAgICAgICAgbV9mb3JtYXRNYXNrID0gdmFsaWRh
dGVJbnB1dE1hc2socGFyc2VWYWx1ZUZvcmJpZGRpbmdWYXJpYWJsZVJlZmVyZW5jZXMoYXR0ci0+
dmFsdWUoKSkpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBXTUxOYW1lczo6ZW1wdHlv
a0F0dHIpCi0gICAgICAgIG1faXNFbXB0eU9rID0gKGF0dHItPnZhbHVlKCkgPT0gInRydWUiKTsK
LSAgICBlbHNlCi0gICAgICAgIFdNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIp
OwotCi0gICAgLy8gRklYTUU6IEhhbmRsZSAnYWNjZXNza2V5JyBhdHRyaWJ1dGUKLSAgICAvLyBG
SVhNRTogSGFuZGxlICd0YWJpbmRleCcgYXR0cmlidXRlCi0gICAgLy8gRklYTUU6IEhhbmRsZSAn
dGl0bGUnIGF0dHJpYnV0ZQotfQotCi12b2lkIFdNTElucHV0RWxlbWVudDo6Y29weU5vbkF0dHJp
YnV0ZVByb3BlcnRpZXMoY29uc3QgRWxlbWVudCogc291cmNlKQotewotICAgIGNvbnN0IFdNTElu
cHV0RWxlbWVudCogc291cmNlRWxlbWVudCA9IHN0YXRpY19jYXN0PGNvbnN0IFdNTElucHV0RWxl
bWVudCo+KHNvdXJjZSk7Ci0gICAgbV9kYXRhLnNldFZhbHVlKHNvdXJjZUVsZW1lbnQtPm1fZGF0
YS52YWx1ZSgpKTsKLSAgICBXTUxFbGVtZW50Ojpjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGllcyhz
b3VyY2UpOwotfQotCi1SZW5kZXJPYmplY3QqIFdNTElucHV0RWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCi17Ci0gICAgcmV0dXJuIG5ldyAo
YXJlbmEpIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZSh0aGlzLCBmYWxzZSk7Ci19Ci0KLXZv
aWQgV01MSW5wdXRFbGVtZW50OjpkZXRhY2goKQotewotICAgIFdNTEVsZW1lbnQ6OmRldGFjaCgp
OwotICAgIHNldEZvcm1Db250cm9sVmFsdWVNYXRjaGVzUmVuZGVyZXIoZmFsc2UpOwotfQotICAg
IAotYm9vbCBXTUxJbnB1dEVsZW1lbnQ6OmFwcGVuZEZvcm1EYXRhKEZvcm1EYXRhTGlzdCYgZW5j
b2RpbmcsIGJvb2wpCi17Ci0gICAgaWYgKGZvcm1Db250cm9sTmFtZSgpLmlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgZW5jb2RpbmcuYXBwZW5kRGF0YShmb3JtQ29udHJv
bE5hbWUoKSwgdmFsdWUoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgV01MSW5wdXRF
bGVtZW50OjpyZXNldCgpCi17Ci0gICAgc2V0VmFsdWUoU3RyaW5nKCkpOwotfQotCi12b2lkIFdN
TElucHV0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZ0KQotewotICAgIGJv
b2wgY2xpY2tEZWZhdWx0Rm9ybUJ1dHRvbiA9IGZhbHNlOwotCi0gICAgaWYgKGV2dC0+dHlwZSgp
ID09IGV2ZW50TmFtZXMoKS50ZXh0SW5wdXRFdmVudCAmJiBldnQtPmlzVGV4dEV2ZW50KCkpIHsK
LSAgICAgICAgVGV4dEV2ZW50KiB0ZXh0RXZlbnQgPSBzdGF0aWNfY2FzdDxUZXh0RXZlbnQqPihl
dnQpOwotICAgICAgICBpZiAodGV4dEV2ZW50LT5kYXRhKCkgPT0gIlxuIikKLSAgICAgICAgICAg
IGNsaWNrRGVmYXVsdEZvcm1CdXR0b24gPSB0cnVlOwotICAgICAgICBlbHNlIGlmIChyZW5kZXJl
cigpICYmICFpc0NvbmZvcm1lZFRvSW5wdXRNYXNrKHRleHRFdmVudC0+ZGF0YSgpWzBdLCB0b1Jl
bmRlclRleHRDb250cm9sKHJlbmRlcmVyKCkpLT50ZXh0KCkubGVuZ3RoKCkgKyAxKSkKLSAgICAg
ICAgICAgIC8vIElmIHRoZSBpbnB1dGVkIGNoYXIgZG9lc24ndCBjb25mb3JtIHRvIHRoZSBpbnB1
dCBtYXNrLCBzdG9wIGhhbmRsaW5nIAotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGlmIChldnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50ICYmIGV2dC0+aXNL
ZXlib2FyZEV2ZW50KCkgJiYgZm9jdXNlZCgpICYmIGRvY3VtZW50KCktPmZyYW1lKCkKLSAgICAg
ICAgJiYgZG9jdW1lbnQoKS0+ZnJhbWUoKS0+ZWRpdG9yKCktPmRvVGV4dEZpZWxkQ29tbWFuZEZy
b21FdmVudCh0aGlzLCBzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4oZXZ0KSkpIHsKLSAgICAg
ICAgZXZ0LT5zZXREZWZhdWx0SGFuZGxlZCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAg
IAotICAgIC8vIExldCB0aGUga2V5IGhhbmRsaW5nIGRvbmUgaW4gRXZlbnRUYXJnZXROb2RlIHRh
a2UgcHJlY2VkZW5jZSBvdmVyIHRoZSBldmVudCBoYW5kbGluZyBoZXJlIGZvciBlZGl0YWJsZSB0
ZXh0IGZpZWxkcwotICAgIGlmICghY2xpY2tEZWZhdWx0Rm9ybUJ1dHRvbikgewotICAgICAgICBX
TUxFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2dCk7Ci0gICAgICAgIGlmIChldnQtPmRl
ZmF1bHRIYW5kbGVkKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gVXNl
IGtleSBwcmVzcyBldmVudCBoZXJlIHNpbmNlIHNlbmRpbmcgc2ltdWxhdGVkIG1vdXNlIGV2ZW50
cwotICAgIC8vIG9uIGtleSBkb3duIGJsb2NrcyB0aGUgcHJvcGVyIHNlbmRpbmcgb2YgdGhlIGtl
eSBwcmVzcyBldmVudC4KLSAgICBpZiAoZXZ0LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmtleXBy
ZXNzRXZlbnQgJiYgZXZ0LT5pc0tleWJvYXJkRXZlbnQoKSkgewotICAgICAgICAvLyBTaW11bGF0
ZSBtb3VzZSBjbGljayBvbiB0aGUgZGVmYXVsdCBmb3JtIGJ1dHRvbiBmb3IgZW50ZXIgZm9yIHRo
ZXNlIHR5cGVzIG9mIGVsZW1lbnRzLgotICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8S2V5Ym9hcmRF
dmVudCo+KGV2dCktPmNoYXJDb2RlKCkgPT0gJ1xyJykKLSAgICAgICAgICAgIGNsaWNrRGVmYXVs
dEZvcm1CdXR0b24gPSB0cnVlOwotICAgIH0KLQotICAgIGlmIChjbGlja0RlZmF1bHRGb3JtQnV0
dG9uKSB7Ci0gICAgICAgIC8vIEZpcmUgb25DaGFuZ2UgZm9yIHRleHQgZmllbGRzLgotICAgICAg
ICBpZiAod2FzQ2hhbmdlZFNpbmNlTGFzdEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoKSkgewotICAg
ICAgICAgICAgc2V0Q2hhbmdlZFNpbmNlTGFzdEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoZmFsc2Up
OwotICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5j
aGFuZ2VFdmVudCwgdHJ1ZSwgZmFsc2UpKTsKLSAgICAgICAgfQotCi0gICAgICAgIGV2dC0+c2V0
RGVmYXVsdEhhbmRsZWQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChldnQt
PmlzQmVmb3JlVGV4dEluc2VydGVkRXZlbnQoKSkKLSAgICAgICAgSW5wdXRFbGVtZW50OjpoYW5k
bGVCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudChtX2RhdGEsIHRoaXMsIHRoaXMsIGV2dCk7Ci0KLSAg
ICBpZiAocmVuZGVyZXIoKSAmJiAoZXZ0LT5pc01vdXNlRXZlbnQoKSB8fCBldnQtPmlzRHJhZ0V2
ZW50KCkgfHwgZXZ0LT5pc1doZWVsRXZlbnQoKSB8fCBldnQtPnR5cGUoKSA9PSBldmVudE5hbWVz
KCkuYmx1ckV2ZW50IHx8IGV2dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5mb2N1c0V2ZW50KSkK
LSAgICAgICAgdG9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUocmVuZGVyZXIoKSktPmZvcndh
cmRFdmVudChldnQpOwotfQotCi12b2lkIFdNTElucHV0RWxlbWVudDo6Y2FjaGVTZWxlY3Rpb24o
aW50IHN0YXJ0LCBpbnQgZW5kKQotewotICAgIG1fZGF0YS5zZXRDYWNoZWRTZWxlY3Rpb25TdGFy
dChzdGFydCk7Ci0gICAgbV9kYXRhLnNldENhY2hlZFNlbGVjdGlvbkVuZChlbmQpOwotfQotCi1T
dHJpbmcgV01MSW5wdXRFbGVtZW50Ojpjb25zdHJhaW5WYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bv
c2VkVmFsdWUpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIElucHV0RWxlbWVudDo6c2FuaXRpemVVc2Vy
SW5wdXRWYWx1ZSh0aGlzLCBwcm9wb3NlZFZhbHVlLCBtX2RhdGEubWF4TGVuZ3RoKCkpOwotfQot
Ci12b2lkIFdNTElucHV0RWxlbWVudDo6ZG9jdW1lbnREaWRCZWNvbWVBY3RpdmUoKQotewotICAg
IEFTU0VSVChtX2lzUGFzc3dvcmRGaWVsZCk7Ci0gICAgcmVzZXQoKTsKLX0KLQotdm9pZCBXTUxJ
bnB1dEVsZW1lbnQ6OndpbGxNb3ZlVG9OZXdPd25lckRvY3VtZW50KCkKLXsKLSAgICAvLyBBbHdh
eXMgdW5yZWdpc3RlciBmb3IgY2FjaGUgY2FsbGJhY2tzIHdoZW4gbGVhdmluZyBhIGRvY3VtZW50
LCBldmVuIGlmIHdlIHdvdWxkIG90aGVyd2lzZSBsaWtlIHRvIGJlIHJlZ2lzdGVyZWQKLSAgICBp
ZiAobV9pc1Bhc3N3b3JkRmllbGQpCi0gICAgICAgIGRvY3VtZW50KCktPnVucmVnaXN0ZXJGb3JE
b2N1bWVudEFjdGl2YXRpb25DYWxsYmFja3ModGhpcyk7Ci0KLSAgICBXTUxFbGVtZW50Ojp3aWxs
TW92ZVRvTmV3T3duZXJEb2N1bWVudCgpOwotfQotCi12b2lkIFdNTElucHV0RWxlbWVudDo6ZGlk
TW92ZVRvTmV3T3duZXJEb2N1bWVudCgpCi17Ci0gICAgaWYgKG1faXNQYXNzd29yZEZpZWxkKQot
ICAgICAgICBkb2N1bWVudCgpLT5yZWdpc3RlckZvckRvY3VtZW50QWN0aXZhdGlvbkNhbGxiYWNr
cyh0aGlzKTsKLQotICAgIFdNTEVsZW1lbnQ6OmRpZE1vdmVUb05ld093bmVyRG9jdW1lbnQoKTsK
LX0KLQotdm9pZCBXTUxJbnB1dEVsZW1lbnQ6OmluaXRpYWxpemUoKQotewotICAgIFN0cmluZyBu
YW1lVmFyaWFibGUgPSBmb3JtQ29udHJvbE5hbWUoKTsKLSAgICBTdHJpbmcgdmFyaWFibGVWYWx1
ZTsKLSAgICBXTUxQYWdlU3RhdGUqIHBhZ2VTYXRlID0gd21sUGFnZVN0YXRlRm9yRG9jdW1lbnQo
ZG9jdW1lbnQoKSk7IAotICAgIEFTU0VSVChwYWdlU2F0ZSk7Ci0gICAgaWYgKCFuYW1lVmFyaWFi
bGUuaXNFbXB0eSgpKQotICAgICAgICB2YXJpYWJsZVZhbHVlID0gcGFnZVNhdGUtPmdldFZhcmlh
YmxlKG5hbWVWYXJpYWJsZSk7Ci0KLSAgICBpZiAodmFyaWFibGVWYWx1ZS5pc0VtcHR5KCkgfHwg
IWlzQ29uZm9ybWVkVG9JbnB1dE1hc2sodmFyaWFibGVWYWx1ZSkpIHsKLSAgICAgICAgU3RyaW5n
IHZhbCA9IHZhbHVlKCk7Ci0gICAgICAgIGlmIChpc0NvbmZvcm1lZFRvSW5wdXRNYXNrKHZhbCkp
Ci0gICAgICAgICAgICB2YXJpYWJsZVZhbHVlID0gdmFsOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICB2YXJpYWJsZVZhbHVlID0gIiI7Ci0gCi0gICAgICAgIHBhZ2VTYXRlLT5zdG9yZVZhcmlh
YmxlKG5hbWVWYXJpYWJsZSwgdmFyaWFibGVWYWx1ZSk7Ci0gICAgfQotICAgIHNldFZhbHVlKHZh
cmlhYmxlVmFsdWUpOwotIAotICAgIGlmICghaGFzQXR0cmlidXRlKFdNTE5hbWVzOjplbXB0eW9r
QXR0cikpIHsKLSAgICAgICAgaWYgKG1fZm9ybWF0TWFzay5pc0VtcHR5KCkgfHwgCi0gICAgICAg
ICAgICAvLyBjaGVjayBpZiB0aGUgZm9ybWF0IGNvZGVzIGlzIGp1c3QgIipmIgotICAgICAgICAg
ICAobV9mb3JtYXRNYXNrLmxlbmd0aCgpID09IDIgJiYgbV9mb3JtYXRNYXNrWzBdID09ICcqJyAm
JiBmb3JtYXRDb2RlcygpLmZpbmQobV9mb3JtYXRNYXNrWzFdKSAhPSBub3RGb3VuZCkpCi0gICAg
ICAgICAgICBtX2lzRW1wdHlPayA9IHRydWU7Ci0gICAgfQotfQotCi1TdHJpbmcgV01MSW5wdXRF
bGVtZW50Ojp2YWxpZGF0ZUlucHV0TWFzayhjb25zdCBTdHJpbmcmIGlucHV0TWFzaykKLXsKLSAg
ICBib29sIGlzVmFsaWQgPSB0cnVlOwotICAgIGJvb2wgaGFzV2lsZGNhcmQgPSBmYWxzZTsKLSAg
ICB1bnNpZ25lZCBlc2NhcGVDaGFyQ291bnQgPSAwOwotICAgIHVuc2lnbmVkIG1hc2tMZW5ndGgg
PSBpbnB1dE1hc2subGVuZ3RoKCk7Ci0gICAgVUNoYXIgZm9ybWF0Q29kZTsKLSAKLSAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbWFza0xlbmd0aDsgKytpKSB7Ci0gICAgICAgIGZvcm1hdENv
ZGUgPSBpbnB1dE1hc2tbaV07Ci0gICAgICAgIGlmIChmb3JtYXRDb2RlcygpLmZpbmQoZm9ybWF0
Q29kZSkgPT0gbm90Rm91bmQpIHsKLSAgICAgICAgICAgIGlmIChmb3JtYXRDb2RlID09ICcqJyB8
fCAoV1RGOjppc0FTQ0lJRGlnaXQoZm9ybWF0Q29kZSkgJiYgZm9ybWF0Q29kZSAhPSAnMCcpKSB7
Ci0gICAgICAgICAgICAgICAgLy8gdmFsaWRhdGUgY29kZXMgd2hpY2ggZW5kcyB3aXRoICcqZicg
b3IgJ25mJwotICAgICAgICAgICAgICAgIGZvcm1hdENvZGUgPSBpbnB1dE1hc2tbKytpXTsKLSAg
ICAgICAgICAgICAgICBpZiAoKGkgKyAxICE9IG1hc2tMZW5ndGgpIHx8IGZvcm1hdENvZGVzKCku
ZmluZChmb3JtYXRDb2RlKSA9PSBub3RGb3VuZCkgewotICAgICAgICAgICAgICAgICAgICBpc1Zh
bGlkID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBoYXNXaWxkY2FyZCA9IHRydWU7Ci0gICAgICAgICAgICB9IGVs
c2UgaWYgKGZvcm1hdENvZGUgPT0gJ1xcJykgewotICAgICAgICAgICAgICAgIC8vc2tpcCBvdmVy
IHRoZSBuZXh0IG1hc2sgY2hhcmFjdGVyCi0gICAgICAgICAgICAgICAgKytpOwotICAgICAgICAg
ICAgICAgICsrZXNjYXBlQ2hhckNvdW50OwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICBpc1ZhbGlkID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoIWlzVmFsaWQpCi0gICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKLSAKLSAgICAvLyBjYWxjdWxhdGUgdGhlIG51bWJlciBvZiBjaGFyYWN0
ZXJzIGFsbG93ZWQgdG8gYmUgZW50ZXJlZCBieSBpbnB1dCBtYXNrCi0gICAgbV9udW1PZkNoYXJz
QWxsb3dlZEJ5TWFzayA9IG1hc2tMZW5ndGg7Ci0KLSAgICBpZiAoZXNjYXBlQ2hhckNvdW50KQot
ICAgICAgICBtX251bU9mQ2hhcnNBbGxvd2VkQnlNYXNrIC09IGVzY2FwZUNoYXJDb3VudDsKLQot
ICAgIGlmIChoYXNXaWxkY2FyZCkgewotICAgICAgICBmb3JtYXRDb2RlID0gaW5wdXRNYXNrW21h
c2tMZW5ndGggLSAyXTsKLSAgICAgICAgaWYgKGZvcm1hdENvZGUgPT0gJyonKQotICAgICAgICAg
ICAgbV9udW1PZkNoYXJzQWxsb3dlZEJ5TWFzayA9IG1fZGF0YS5tYXhMZW5ndGgoKTsKLSAgICAg
ICAgZWxzZSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBsZWZ0TGVuID0gU3RyaW5nKCZmb3JtYXRD
b2RlKS50b0ludCgpOwotICAgICAgICAgICAgbV9udW1PZkNoYXJzQWxsb3dlZEJ5TWFzayA9IGxl
ZnRMZW4gKyBtX251bU9mQ2hhcnNBbGxvd2VkQnlNYXNrIC0gMjsKLSAgICAgICAgfQotICAgIH0K
LQotICAgIHJldHVybiBpbnB1dE1hc2s7Ci19Ci0KLWJvb2wgV01MSW5wdXRFbGVtZW50Ojppc0Nv
bmZvcm1lZFRvSW5wdXRNYXNrKGNvbnN0IFN0cmluZyYgaW5wdXRDaGFycykKLXsKLSAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgaW5wdXRDaGFycy5sZW5ndGgoKTsgKytpKQotICAgICAgICBp
ZiAoIWlzQ29uZm9ybWVkVG9JbnB1dE1hc2soaW5wdXRDaGFyc1tpXSwgaSArIDEsIGZhbHNlKSkK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwotfQotIAotYm9v
bCBXTUxJbnB1dEVsZW1lbnQ6OmlzQ29uZm9ybWVkVG9JbnB1dE1hc2soVUNoYXIgaW5DaGFyLCB1
bnNpZ25lZCBpbnB1dENoYXJDb3VudCwgYm9vbCBpc1VzZXJJbnB1dCkKLXsKLSAgICBpZiAobV9m
b3JtYXRNYXNrLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gCi0gICAgaWYgKGlu
cHV0Q2hhckNvdW50ID4gbV9udW1PZkNoYXJzQWxsb3dlZEJ5TWFzaykKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgdW5zaWduZWQgbWFza0luZGV4ID0gMDsKLSAgICBpZiAoaXNVc2VySW5w
dXQpIHsKLSAgICAgICAgdW5zaWduZWQgY3Vyc29yUG9zaXRpb24gPSAwOwotICAgICAgICBpZiAo
cmVuZGVyZXIoKSkKLSAgICAgICAgICAgIGN1cnNvclBvc2l0aW9uID0gdG9SZW5kZXJUZXh0Q29u
dHJvbChyZW5kZXJlcigpKS0+c2VsZWN0aW9uU3RhcnQoKTsgCi0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIGN1cnNvclBvc2l0aW9uID0gbV9kYXRhLmNhY2hlZFNlbGVjdGlvblN0YXJ0KCk7Ci0K
LSAgICAgICAgbWFza0luZGV4ID0gY3Vyc29yUG9zaXRpb25Ub01hc2tJbmRleChjdXJzb3JQb3Np
dGlvbik7Ci0gICAgfSBlbHNlCi0gICAgICAgIG1hc2tJbmRleCA9IGN1cnNvclBvc2l0aW9uVG9N
YXNrSW5kZXgoaW5wdXRDaGFyQ291bnQgLSAxKTsKLQotICAgIGJvb2wgb2sgPSB0cnVlOwotICAg
IFVDaGFyIG1hc2sgPSBtX2Zvcm1hdE1hc2tbbWFza0luZGV4XTsKLSAgICAvLyBtYXRjaCB0aGUg
aW5wdXRlZCBjaGFyYWN0ZXIgd2l0aCBpbnB1dCBtYXNrCi0gICAgc3dpdGNoIChtYXNrKSB7Ci0g
ICAgY2FzZSAnQSc6Ci0gICAgICAgIG9rID0gIVdURjo6aXNBU0NJSURpZ2l0KGluQ2hhcikgJiYg
IVdURjo6aXNBU0NJSUxvd2VyKGluQ2hhcikgJiYgV1RGOjppc0FTQ0lJUHJpbnRhYmxlKGluQ2hh
cik7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgJ2EnOgotICAgICAgICBvayA9ICFXVEY6Omlz
QVNDSUlEaWdpdChpbkNoYXIpICYmICFXVEY6OmlzQVNDSUlVcHBlcihpbkNoYXIpICYmIFdURjo6
aXNBU0NJSVByaW50YWJsZShpbkNoYXIpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlICdOJzoK
LSAgICAgICAgb2sgPSBXVEY6OmlzQVNDSUlEaWdpdChpbkNoYXIpOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlICduJzoKLSAgICAgICAgb2sgPSAhV1RGOjppc0FTQ0lJQWxwaGEoaW5DaGFyKSAm
JiBXVEY6OmlzQVNDSUlQcmludGFibGUoaW5DaGFyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSAnWCc6Ci0gICAgICAgIG9rID0gIVdURjo6aXNBU0NJSUxvd2VyKGluQ2hhcikgJiYgV1RGOjpp
c0FTQ0lJUHJpbnRhYmxlKGluQ2hhcik7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgJ3gnOgot
ICAgICAgICBvayA9ICFXVEY6OmlzQVNDSUlVcHBlcihpbkNoYXIpICYmIFdURjo6aXNBU0NJSVBy
aW50YWJsZShpbkNoYXIpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlICdNJzoKLSAgICAgICAg
b2sgPSBXVEY6OmlzQVNDSUlQcmludGFibGUoaW5DaGFyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSAnbSc6Ci0gICAgICAgIG9rID0gV1RGOjppc0FTQ0lJUHJpbnRhYmxlKGluQ2hhcik7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIG9rID0gKG1hc2sgPT0gaW5DaGFy
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgcmV0dXJuIG9rOwotfQotCi11bnNpZ25l
ZCBXTUxJbnB1dEVsZW1lbnQ6OmN1cnNvclBvc2l0aW9uVG9NYXNrSW5kZXgodW5zaWduZWQgY3Vy
c29yUG9zaXRpb24pCi17Ci0gICAgVUNoYXIgbWFzazsKLSAgICBpbnQgaW5kZXggPSAtMTsKLSAg
ICBkbyB7Ci0gICAgICAgIG1hc2sgPSBtX2Zvcm1hdE1hc2tbKytpbmRleF07Ci0gICAgICAgIGlm
IChtYXNrID09ICdcXCcpCi0gICAgICAgICAgICArK2luZGV4OwotICAgICAgICBlbHNlIGlmICht
YXNrID09ICcqJyB8fCAoV1RGOjppc0FTQ0lJRGlnaXQobWFzaykgJiYgbWFzayAhPSAnMCcpKSB7
Ci0gICAgICAgICAgICBpbmRleCA9IG1fZm9ybWF0TWFzay5sZW5ndGgoKSAtIDE7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0gd2hpbGUgKGN1cnNvclBvc2l0aW9uLS0pOwot
IAotICAgIHJldHVybiBpbmRleDsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3dtbC9XTUxJbnB1dEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93
bWwvV01MSW5wdXRFbGVtZW50LmgJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUv
d21sL1dNTElucHV0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyNiArMCwwIEBACi0v
KioKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBX
TUxJbnB1dEVsZW1lbnRfaAotI2RlZmluZSBXTUxJbnB1dEVsZW1lbnRfaAotCi0jaWYgRU5BQkxF
KFdNTCkKLSNpbmNsdWRlICJXTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIKLSNpbmNsdWRlICJJbnB1
dEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBGb3JtRGF0YUxpc3Q7
Ci0KLWNsYXNzIFdNTElucHV0RWxlbWVudCA6IHB1YmxpYyBXTUxGb3JtQ29udHJvbEVsZW1lbnQs
IHB1YmxpYyBJbnB1dEVsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdN
TElucHV0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwot
Ci0gICAgV01MSW5wdXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50Kik7Ci0gICAgdmlydHVhbCB+V01MSW5wdXRFbGVtZW50KCk7Ci0KLSAgICB2aXJ0dWFsIElu
cHV0RWxlbWVudCogdG9JbnB1dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9Ci0KLSAgICB2aXJ0
dWFsIGJvb2wgaXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3Q7Ci0gICAg
dmlydHVhbCBib29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlzcGF0Y2hGb2N1c0V2ZW50KCk7Ci0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoQmx1ckV2ZW50
KCk7Ci0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZShib29sIHJlc3RvcmVQ
cmV2aW91c1NlbGVjdGlvbik7Ci0gICAgdmlydHVhbCB2b2lkIGFib3V0VG9VbmxvYWQoKTsKLQot
ICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VJbnB1dE1ldGhvZCgpIGNvbnN0IHsgcmV0dXJuICFt
X2lzUGFzc3dvcmRGaWVsZDsgfQotICAgIHZpcnR1YWwgYm9vbCBpc0NoZWNrZWQoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc0F1dG9maWxsZWQoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc0luZGV0ZXJtaW5hdGUoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGb3JtQ29udHJvbCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNSYWRpb0J1dHRvbigp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzQ2hlY2tib3goKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGaWVsZCgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNTZWFyY2hGaWVsZCgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzSW5wdXRUeXBlSGlkZGVu
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNQYXNzd29yZEZp
ZWxkKCkgY29uc3QgeyByZXR1cm4gbV9pc1Bhc3N3b3JkRmllbGQ7IH0KLSAgICB2aXJ0dWFsIGJv
b2wgc2VhcmNoRXZlbnRzU2hvdWxkQmVEaXNwYXRjaGVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KLQotICAgIHZpcnR1YWwgaW50IHNpemUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGNvbnN0IEF0
b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBjb25zdCBB
dG9taWNTdHJpbmcmIGZvcm1Db250cm9sTmFtZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgY29uc3Qg
U3RyaW5nJiBzdWdnZXN0ZWRWYWx1ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVl
KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYsIGJvb2wg
c2VuZENoYW5nZUV2ZW50ID0gZmFsc2UpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUZvclVz
ZXIoY29uc3QgU3RyaW5nJik7Ci0gICAgdmlydHVhbCBTdHJpbmcgdmlzaWJsZVZhbHVlKCkgY29u
c3QgeyByZXR1cm4gdmFsdWUoKTsgfQotICAgIHZpcnR1YWwgU3RyaW5nIGNvbnZlcnRGcm9tVmlz
aWJsZVZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0IHsgcmV0dXJuIHZhbHVlOyB9Ci0g
ICAgdmlydHVhbCB2b2lkIHNldFZhbHVlRnJvbVJlbmRlcmVyKGNvbnN0IFN0cmluZyYpOwotCi0g
ICAgdmlydHVhbCBib29sIHdhc0NoYW5nZWRTaW5jZUxhc3RGb3JtQ29udHJvbENoYW5nZUV2ZW50
KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNldENoYW5nZWRTaW5jZUxhc3RGb3JtQ29udHJv
bENoYW5nZUV2ZW50KGJvb2wpOwotCi0gICAgdmlydHVhbCBib29sIHNhdmVGb3JtQ29udHJvbFN0
YXRlKFN0cmluZyYgdmFsdWUpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCByZXN0b3JlRm9ybUNv
bnRyb2xTdGF0ZShjb25zdCBTdHJpbmcmKTsKLQotICAgIHZpcnR1YWwgdm9pZCBzZWxlY3QoKTsK
LSAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZFRvQW55RWxlbWVudCk7
Ci0gICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOwotCi0g
ICAgdmlydHVhbCB2b2lkIGNvcHlOb25BdHRyaWJ1dGVQcm9wZXJ0aWVzKGNvbnN0IEVsZW1lbnQq
IHNvdXJjZSk7Ci0KLSAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVu
ZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwotICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKLSAg
ICB2aXJ0dWFsIGJvb2wgYXBwZW5kRm9ybURhdGEoRm9ybURhdGFMaXN0JiwgYm9vbCk7Ci0gICAg
dmlydHVhbCB2b2lkIHJlc2V0KCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFu
ZGxlcihFdmVudCopOwotICAgIHZpcnR1YWwgdm9pZCBjYWNoZVNlbGVjdGlvbihpbnQgc3RhcnQs
IGludCBlbmQpOwotCi0gICAgdmlydHVhbCBib29sIGlzQWNjZXB0YWJsZVZhbHVlKGNvbnN0IFN0
cmluZyYpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBzYW5pdGl6
ZVZhbHVlKGNvbnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSkgY29uc3QgeyByZXR1cm4gY29uc3Ry
YWluVmFsdWUocHJvcG9zZWRWYWx1ZSk7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBkb2N1bWVudERp
ZEJlY29tZUFjdGl2ZSgpOwotCi0gICAgdmlydHVhbCB2b2lkIHdpbGxNb3ZlVG9OZXdPd25lckRv
Y3VtZW50KCk7Ci0gICAgdmlydHVhbCB2b2lkIGRpZE1vdmVUb05ld093bmVyRG9jdW1lbnQoKTsK
LQotICAgIGJvb2wgaXNDb25mb3JtZWRUb0lucHV0TWFzayhjb25zdCBTdHJpbmcmKTsKLSAgICBi
b29sIGlzQ29uZm9ybWVkVG9JbnB1dE1hc2soVUNoYXIsIHVuc2lnbmVkLCBib29sIGlzVXNlcklu
cHV0ID0gdHJ1ZSk7Ci0jaWYgRU5BQkxFKFdDU1MpCi0gICAgdmlydHVhbCBJbnB1dEVsZW1lbnRE
YXRhIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7IH0KLSNlbmRpZgotCi1wcml2YXRlOgot
ICAgIGZyaWVuZCBjbGFzcyBXTUxDYXJkRWxlbWVudDsKLSAgICB2b2lkIGluaXRpYWxpemUoKTsK
LQotICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c01heExlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KLSAgICBTdHJpbmcgdmFsaWRhdGVJbnB1dE1hc2soY29uc3QgU3RyaW5nJik7Ci0gICAg
dW5zaWduZWQgY3Vyc29yUG9zaXRpb25Ub01hc2tJbmRleCh1bnNpZ25lZCk7Ci0gICAgU3RyaW5n
IGNvbnN0cmFpblZhbHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwotCi0gICAgSW5wdXRFbGVtZW50
RGF0YSBtX2RhdGE7Ci0gICAgYm9vbCBtX2lzUGFzc3dvcmRGaWVsZDsKLSAgICBib29sIG1faXNF
bXB0eU9rOwotICAgIGJvb2wgbV93YXNDaGFuZ2VkU2luY2VMYXN0Q2hhbmdlRXZlbnQ7Ci0gICAg
U3RyaW5nIG1fZm9ybWF0TWFzazsKLSAgICB1bnNpZ25lZCBtX251bU9mQ2hhcnNBbGxvd2VkQnlN
YXNrOwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21s
L1dNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd21sL1dNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysg
U291cmNlL1dlYkNvcmUvd21sL1dNTEluc2VydGVkTGVnZW5kRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDQgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2gg
TW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUu
Y29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0g
KgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVk
ZSAiV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
V01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50OjpXTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTEVsZW1lbnQo
dGFnTmFtZSwgZG9jKQotewotfQotCi1QYXNzUmVmUHRyPFdNTEluc2VydGVkTGVnZW5kRWxlbWVu
dD4gV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcg
V01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Ci19Ci0KLVdNTElu
c2VydGVkTGVnZW5kRWxlbWVudDo6fldNTEluc2VydGVkTGVnZW5kRWxlbWVudCgpCi17Ci19Ci0K
LX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW5zZXJ0ZWRMZWdlbmRF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEluc2VydGVkTGVn
ZW5kRWxlbWVudC5oCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJ
bnNlcnRlZExlZ2VuZEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw0MCArMCwwIEBACi0v
KioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
Ci0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0g
KgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0g
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxJbnNl
cnRlZExlZ2VuZEVsZW1lbnRfaAotI2RlZmluZSBXTUxJbnNlcnRlZExlZ2VuZEVsZW1lbnRfaAot
Ci0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotY2xhc3MgV01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50IDogcHVibGljIFdNTEVs
ZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdNTEluc2VydGVkTGVnZW5k
RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAg
V01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50Kik7Ci0gICAgdmlydHVhbCB+V01MSW5zZXJ0ZWRMZWdlbmRFbGVtZW50KCk7Ci19Owot
Ci19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW50cmlu
c2ljRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbnRyaW5z
aWNFdmVudC5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTElu
dHJpbnNpY0V2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1MyArMCwwIEBACi0vKioKLSAq
IENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICog
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICog
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
Ci0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxJbnRyaW5zaWNFdmVudC5oIgotCi0jaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiV01MRWxlbWVudEZhY3RvcnkuaCIKLSNpbmNs
dWRlICJXTUxOYW1lcy5oIgotI2luY2x1ZGUgIldNTFRhc2tFbGVtZW50LmgiCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIFdNTE5hbWVzOwotCi1zdGF0aWMgUGFzc1Jl
ZlB0cjxXTUxUYXNrRWxlbWVudD4gY3JlYXRlVGFza0VsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50
KQotewotICAgIHJldHVybiBzdGF0aWNfcG9pbnRlcl9jYXN0PFdNTFRhc2tFbGVtZW50PihXTUxF
bGVtZW50RmFjdG9yeTo6Y3JlYXRlV01MRWxlbWVudChnb1RhZywgZG9jdW1lbnQsIGZhbHNlKSk7
Ci19Ci0KLVdNTEludHJpbnNpY0V2ZW50OjpXTUxJbnRyaW5zaWNFdmVudChEb2N1bWVudCogZG9j
dW1lbnQsIGNvbnN0IFN0cmluZyYgdGFyZ2V0VVJMKQotICAgIDogbV90YXNrRWxlbWVudChjcmVh
dGVUYXNrRWxlbWVudChkb2N1bWVudCkpCi17Ci0gICAgbV90YXNrRWxlbWVudC0+c2V0QXR0cmli
dXRlKEhUTUxOYW1lczo6aHJlZkF0dHIsIHRhcmdldFVSTCk7Ci19Ci0KLVdNTEludHJpbnNpY0V2
ZW50OjpXTUxJbnRyaW5zaWNFdmVudChXTUxUYXNrRWxlbWVudCogdGFza0VsZW1lbnQpCi0gICAg
OiBtX3Rhc2tFbGVtZW50KHRhc2tFbGVtZW50KQotewotfQotCi19Ci0KLSNlbmRpZgpJbmRleDog
U291cmNlL1dlYkNvcmUvd21sL1dNTEludHJpbnNpY0V2ZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvd21sL1dNTEludHJpbnNpY0V2ZW50LmgJKHJldmlzaW9uIDg1MjQyKQorKysg
U291cmNlL1dlYkNvcmUvd21sL1dNTEludHJpbnNpY0V2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEsNTkgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAq
Ci0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0g
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0K
LSNpZm5kZWYgV01MSW50cmluc2ljRXZlbnRfaAotI2RlZmluZSBXTUxJbnRyaW5zaWNFdmVudF9o
Ci0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTFRhc2tFbGVtZW50LmgiCi0KLSNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERvY3Vt
ZW50OwotCi1jbGFzcyBXTUxJbnRyaW5zaWNFdmVudCA6IHB1YmxpYyBSZWZDb3VudGVkPFdNTElu
dHJpbnNpY0V2ZW50PiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V01MSW50cmlu
c2ljRXZlbnQ+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdGFyZ2V0
VVJMKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxJbnRyaW5zaWNFdmVu
dChkb2N1bWVudCwgdGFyZ2V0VVJMKSk7Ci0gICAgfQotCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8
V01MSW50cmluc2ljRXZlbnQ+IGNyZWF0ZVdpdGhUYXNrKFdNTFRhc2tFbGVtZW50KiB0YXNrRWxl
bWVudCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MSW50cmluc2ljRXZl
bnQodGFza0VsZW1lbnQpKTsKLSAgICB9Ci0KLSAgICBXTUxUYXNrRWxlbWVudCogdGFza0VsZW1l
bnQoKSBjb25zdCB7IHJldHVybiBtX3Rhc2tFbGVtZW50LmdldCgpOyB9Ci0KLXByaXZhdGU6Ci0g
ICAgV01MSW50cmluc2ljRXZlbnQoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmIHRhcmdldFVSTCk7
Ci0gICAgV01MSW50cmluc2ljRXZlbnQoV01MVGFza0VsZW1lbnQqKTsKLQotICAgIFJlZlB0cjxX
TUxUYXNrRWxlbWVudD4gbV90YXNrRWxlbWVudDsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIu
Y3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbnRyaW5zaWNF
dmVudEhhbmRsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYxICswLDAgQEAKLS8qKgotICog
Q29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
IChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0K
LSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEludHJpbnNpY0V2ZW50SGFuZGxlci5oIgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdNTEludHJpbnNpY0V2ZW50SGFuZGxlcjo6V01MSW50
cmluc2ljRXZlbnRIYW5kbGVyKCkKLXsKLX0KLQotYm9vbCBXTUxJbnRyaW5zaWNFdmVudEhhbmRs
ZXI6OnJlZ2lzdGVySW50cmluc2ljRXZlbnQoV01MSW50cmluc2ljRXZlbnRUeXBlIHR5cGUsIFBh
c3NSZWZQdHI8V01MSW50cmluc2ljRXZlbnQ+IGV2ZW50KQotewotICAgIGlmIChtX2V2ZW50cy5j
b250YWlucyh0eXBlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgbV9ldmVudHMuc2V0
KHR5cGUsIGV2ZW50KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBXTUxJbnRyaW5zaWNF
dmVudEhhbmRsZXI6OmRlcmVnaXN0ZXJJbnRyaW5zaWNFdmVudChXTUxJbnRyaW5zaWNFdmVudFR5
cGUgdHlwZSkKLXsKLSAgICBpZiAobV9ldmVudHMuY29udGFpbnModHlwZSkpCi0gICAgICAgIG1f
ZXZlbnRzLnJlbW92ZSh0eXBlKTsKLX0KLQotdm9pZCBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXI6
OnRyaWdnZXJJbnRyaW5zaWNFdmVudChXTUxJbnRyaW5zaWNFdmVudFR5cGUgdHlwZSkgY29uc3QK
LXsKLSAgICBSZWZQdHI8V01MSW50cmluc2ljRXZlbnQ+IGV2ZW50ID0gbV9ldmVudHMuZ2V0KHR5
cGUpOwotICAgIEFTU0VSVChldmVudC0+dGFza0VsZW1lbnQoKSk7Ci0gICAgZXZlbnQtPnRhc2tF
bGVtZW50KCktPmV4ZWN1dGVUYXNrKCk7Ci19Ci0KLWJvb2wgV01MSW50cmluc2ljRXZlbnRIYW5k
bGVyOjpoYXNJbnRyaW5zaWNFdmVudChXTUxJbnRyaW5zaWNFdmVudFR5cGUgdHlwZSkgY29uc3QK
LXsKLSAgICByZXR1cm4gbV9ldmVudHMuY29udGFpbnModHlwZSk7Ci19Ci0KLX0KLQotI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTEludHJpbnNpY0V2ZW50SGFuZGxlci5o
CShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxJbnRyaW5zaWNFdmVu
dEhhbmRsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1OSArMCwwIEBACi0vKioKLSAqIENvcHly
aWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0
cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxJbnRyaW5zaWNFdmVudEhh
bmRsZXJfaAotI2RlZmluZSBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXJfaAotCi0jaWYgRU5BQkxF
KFdNTCkKLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+Ci0KLSNpbmNsdWRlICJXTUxJbnRyaW5zaWNFdmVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLWVudW0gV01MSW50cmluc2ljRXZlbnRUeXBlIHsKLSAgICBXTUxJbnRyaW5zaWNFdmVu
dFVua25vd24gPSAwLAotICAgIFdNTEludHJpbnNpY0V2ZW50T25FbnRlckZvcndhcmQsCi0gICAg
V01MSW50cmluc2ljRXZlbnRPbkVudGVyQmFja3dhcmQsCi0gICAgV01MSW50cmluc2ljRXZlbnRP
blRpbWVyLAotICAgIFdNTEludHJpbnNpY0V2ZW50T25QaWNrCi19OwotCi1jbGFzcyBXTUxJbnRy
aW5zaWNFdmVudDsKLQotY2xhc3MgV01MSW50cmluc2ljRXZlbnRIYW5kbGVyIHsKLXB1YmxpYzoK
LSAgICBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIoKTsKLQotICAgIGJvb2wgcmVnaXN0ZXJJbnRy
aW5zaWNFdmVudChXTUxJbnRyaW5zaWNFdmVudFR5cGUsIFBhc3NSZWZQdHI8V01MSW50cmluc2lj
RXZlbnQ+KTsKLSAgICB2b2lkIGRlcmVnaXN0ZXJJbnRyaW5zaWNFdmVudChXTUxJbnRyaW5zaWNF
dmVudFR5cGUpOwotICAgIHZvaWQgdHJpZ2dlckludHJpbnNpY0V2ZW50KFdNTEludHJpbnNpY0V2
ZW50VHlwZSkgY29uc3Q7Ci0gICAgYm9vbCBoYXNJbnRyaW5zaWNFdmVudChXTUxJbnRyaW5zaWNF
dmVudFR5cGUpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJl
ZlB0cjxXTUxJbnRyaW5zaWNFdmVudD4gPiBFdmVudE1hcDsKLSAgICBFdmVudE1hcCBtX2V2ZW50
czsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9X
TUxNZXRhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTE1l
dGFFbGVtZW50LmNwcAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01M
TWV0YUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcwICswLDAgQEAKLS8qKgotICog
Q29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
IChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0K
LSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE1ldGFFbGVtZW50LmgiCi0KLSNpbmNsdWRl
ICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdNTE1ldGFFbGVtZW50OjpXTUxNZXRhRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQotICAgIDog
V01MRWxlbWVudCh0YWdOYW1lLCBkb2MpCi17Ci19Ci0KLVBhc3NSZWZQdHI8V01MTWV0YUVsZW1l
bnQ+IFdNTE1ldGFFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MTWV0YUVs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotV01MTWV0YUVsZW1lbnQ6On5XTUxNZXRh
RWxlbWVudCgpCi17Ci19Ci0KLXZvaWQgV01MTWV0YUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKEF0dHJpYnV0ZSogYXR0cikKLXsKLSAgICBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1l
czo6aHR0cF9lcXVpdkF0dHIpCi0gICAgICAgIG1fZXF1aXYgPSBwYXJzZVZhbHVlRm9yYmlkZGlu
Z1ZhcmlhYmxlUmVmZXJlbmNlcyhhdHRyLT52YWx1ZSgpKTsKLSAgICBlbHNlIGlmIChhdHRyLT5u
YW1lKCkgPT0gSFRNTE5hbWVzOjpjb250ZW50QXR0cikKLSAgICAgICAgbV9jb250ZW50ID0gcGFy
c2VWYWx1ZUZvcmJpZGRpbmdWYXJpYWJsZVJlZmVyZW5jZXMoYXR0ci0+dmFsdWUoKSk7Ci0gICAg
ZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6bmFtZUF0dHIpIHsKLSAgICAgICAg
Ly8gRklYTUU6IFRoZSB1c2VyIGFnZW50IG11c3QgaWdub3JlIGFueSBtZXRhLWRhdGEgbmFtZWQg
d2l0aCB0aGlzIGF0dHJpYnV0ZS4KLSAgICB9IGVsc2UKLSAgICAgICAgV01MRWxlbWVudDo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Ci19Ci0KLXZvaWQgV01MTWV0YUVsZW1lbnQ6Omluc2Vy
dGVkSW50b0RvY3VtZW50KCkKLXsKLSAgICBXTUxFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVu
dCgpOwotCi0gICAgaWYgKG1fZXF1aXYuaXNOdWxsKCkgfHwgbV9jb250ZW50LmlzTnVsbCgpKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBkb2N1bWVudCgpLT5wcm9jZXNzSHR0cEVxdWl2KG1fZXF1
aXYsIG1fY29udGVudCk7Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93
bWwvV01MTWV0YUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01M
TWV0YUVsZW1lbnQuaAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01M
TWV0YUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMCwwIEBACi0vKioKLSAqIENv
cHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAo
aHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
LSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxNZXRhRWxlbWVudF9o
Ci0jZGVmaW5lIFdNTE1ldGFFbGVtZW50X2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAi
V01MRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdNTE1ldGFFbGVt
ZW50IDogcHVibGljIFdNTEVsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFdNTE1ldGFFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7
Ci0KLSAgICBXTUxNZXRhRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCopOwotICAgIHZpcnR1YWwgfldNTE1ldGFFbGVtZW50KCk7Ci0KLSAgICB2aXJ0dWFsIHZv
aWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0gICAgdmlydHVhbCB2b2lkIGlu
c2VydGVkSW50b0RvY3VtZW50KCk7Ci0KLXByaXZhdGU6Ci0gICAgU3RyaW5nIG1fZXF1aXY7Ci0g
ICAgU3RyaW5nIG1fY29udGVudDsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3dtbC9XTUxOb29wRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvd21sL1dNTE5vb3BFbGVtZW50LmNwcAkocmV2aXNpb24gODUyNDIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS93bWwvV01MTm9vcEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcx
ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5j
bHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE5vb3BFbGVt
ZW50LmgiCi0KLSNpbmNsdWRlICJXTUxEb0VsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxFcnJvckhh
bmRsaW5nLmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdNTE5vb3BFbGVtZW50OjpXTUxOb29wRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQotICAgIDog
V01MRWxlbWVudCh0YWdOYW1lLCBkb2MpCi17Ci19Ci0KLVBhc3NSZWZQdHI8V01MTm9vcEVsZW1l
bnQ+IFdNTE5vb3BFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MTm9vcEVs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotV01MTm9vcEVsZW1lbnQ6On5XTUxOb29w
RWxlbWVudCgpCi17Ci19Ci0KLXZvaWQgV01MTm9vcEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3Vt
ZW50KCkKLXsKLSAgICBXTUxFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpOwotCi0gICAg
Q29udGFpbmVyTm9kZSogcGFyZW50ID0gcGFyZW50Tm9kZSgpOwotICAgIGlmICghcGFyZW50IHx8
ICFwYXJlbnQtPmlzV01MRWxlbWVudCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAocGFy
ZW50LT5oYXNUYWdOYW1lKGRvVGFnKSkgewotICAgICAgICBXTUxEb0VsZW1lbnQqIGRvRWxlbWVu
dCA9IHN0YXRpY19jYXN0PFdNTERvRWxlbWVudCo+KHBhcmVudCk7Ci0gICAgICAgIGRvRWxlbWVu
dC0+c2V0Tm9vcCh0cnVlKTsKLQotICAgICAgICBpZiAoZG9FbGVtZW50LT5hdHRhY2hlZCgpKQot
ICAgICAgICAgICAgZG9FbGVtZW50LT5kZXRhY2goKTsKLQotICAgICAgICBBU1NFUlQoIWRvRWxl
bWVudC0+YXR0YWNoZWQoKSk7Ci0gICAgICAgIGRvRWxlbWVudC0+YXR0YWNoKCk7Ci0gICAgfSBl
bHNlIGlmIChwYXJlbnQtPmhhc1RhZ05hbWUoYW5jaG9yVGFnKSkKLSAgICAgICAgcmVwb3J0V01M
RXJyb3IoZG9jdW1lbnQoKSwgV01MRXJyb3JGb3JiaWRkZW5UYXNrSW5BbmNob3JFbGVtZW50KTsK
LX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxOb29wRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxOb29wRWxlbWVudC5oCShy
ZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxOb29wRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQyICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4
IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNo
bW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoK
LSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0g
KiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTE5vb3BFbGVtZW50X2gKLSNkZWZpbmUgV01MTm9v
cEVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxFbGVtZW50LmgiCi0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV01MTm9vcEVsZW1lbnQgOiBwdWJsaWMgV01M
RWxlbWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V01MTm9vcEVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgIFdNTE5vb3BF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7Ci0gICAgdmly
dHVhbCB+V01MTm9vcEVsZW1lbnQoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9E
b2N1bWVudCgpOwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNv
cmUvd21sL1dNTE9uRXZlbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS93bWwvV01MT25FdmVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9X
ZWJDb3JlL3dtbC9XTUxPbkV2ZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMTA0
ICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0g
KgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwot
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTE9u
RXZlbnRFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKLSNpbmNsdWRlICJXTUxFcnJvckhhbmRsaW5nLmgiCi0jaW5jbHVkZSAiV01MRXZl
bnRIYW5kbGluZ0VsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIu
aCIKLSNpbmNsdWRlICJXTUxOYW1lcy5oIgotI2luY2x1ZGUgIldNTFZhcmlhYmxlcy5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKLQotV01MT25F
dmVudEVsZW1lbnQ6OldNTE9uRXZlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxFbGVtZW50KHRhZ05hbWUsIGRvYykKLSAgICAs
IG1fdHlwZShXTUxJbnRyaW5zaWNFdmVudFVua25vd24pCi17Ci19Ci0KLVBhc3NSZWZQdHI8V01M
T25FdmVudEVsZW1lbnQ+IFdNTE9uRXZlbnRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgV01MT25FdmVudEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotdm9pZCBX
TUxPbkV2ZW50RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQot
ewotICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjp0eXBlQXR0cikgewotICAgICAg
ICBTdHJpbmcgcGFyc2VkVmFsdWUgPSBwYXJzZVZhbHVlRm9yYmlkZGluZ1ZhcmlhYmxlUmVmZXJl
bmNlcyhhdHRyLT52YWx1ZSgpKTsKLSAgICAgICAgaWYgKHBhcnNlZFZhbHVlLmlzRW1wdHkoKSkK
LSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBpZiAocGFyc2VkVmFsdWUgPT0gb25lbnRl
cmZvcndhcmRBdHRyKQotICAgICAgICAgICAgbV90eXBlID0gV01MSW50cmluc2ljRXZlbnRPbkVu
dGVyRm9yd2FyZDsKLSAgICAgICAgZWxzZSBpZiAocGFyc2VkVmFsdWUgPT0gb25lbnRlcmJhY2t3
YXJkQXR0cikKLSAgICAgICAgICAgIG1fdHlwZSA9IFdNTEludHJpbnNpY0V2ZW50T25FbnRlckJh
Y2t3YXJkOwotICAgICAgICBlbHNlIGlmIChwYXJzZWRWYWx1ZSA9PSBvbnRpbWVyQXR0cikKLSAg
ICAgICAgICAgIG1fdHlwZSA9IFdNTEludHJpbnNpY0V2ZW50T25UaW1lcjsKLSAgICAgICAgZWxz
ZSBpZiAocGFyc2VkVmFsdWUgPT0gb25waWNrQXR0cikKLSAgICAgICAgICAgIG1fdHlwZSA9IFdN
TEludHJpbnNpY0V2ZW50T25QaWNrOwotICAgIH0gZWxzZQotICAgICAgICBXTUxFbGVtZW50Ojpw
YXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKLX0KLQotc3RhdGljIGlubGluZSBXTUxFdmVudEhh
bmRsaW5nRWxlbWVudCogZXZlbnRIYW5kbGluZ1BhcmVudChOb2RlKiBwYXJlbnQpCi17Ci0gICAg
aWYgKCFwYXJlbnQgfHwgIXBhcmVudC0+aXNXTUxFbGVtZW50KCkpCi0gICAgICAgIHJldHVybiAw
OwotCi0gICAgcmV0dXJuIHRvV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQoc3RhdGljX2Nhc3Q8V01M
RWxlbWVudCo+KHBhcmVudCkpOwotfQotCi12b2lkIFdNTE9uRXZlbnRFbGVtZW50OjpyZWdpc3Rl
clRhc2soV01MVGFza0VsZW1lbnQqIHRhc2spCi17Ci0gICAgaWYgKG1fdHlwZSA9PSBXTUxJbnRy
aW5zaWNFdmVudFVua25vd24pCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIFJlZ2lzdGVyIGlu
dHJpbnNpYyBldmVudCB0byB0aGUgZXZlbnQgaGFuZGxlciBvZiB0aGUgb3duZXIgb2Ygb25ldmVu
dCBlbGVtZW50IAotICAgIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50KiBldmVudEhhbmRsaW5nRWxl
bWVudCA9IGV2ZW50SGFuZGxpbmdQYXJlbnQocGFyZW50Tm9kZSgpKTsKLSAgICBpZiAoIWV2ZW50
SGFuZGxpbmdFbGVtZW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICBldmVudEhhbmRsaW5nRWxl
bWVudC0+Y3JlYXRlRXZlbnRIYW5kbGVySWZOZWVkZWQoKTsKLQotICAgIFJlZlB0cjxXTUxJbnRy
aW5zaWNFdmVudD4gZXZlbnQgPSBXTUxJbnRyaW5zaWNFdmVudDo6Y3JlYXRlV2l0aFRhc2sodGFz
ayk7Ci0gICAgaWYgKCFldmVudEhhbmRsaW5nRWxlbWVudC0+ZXZlbnRIYW5kbGVyKCktPnJlZ2lz
dGVySW50cmluc2ljRXZlbnQobV90eXBlLCBldmVudCkpCi0gICAgICAgIHJlcG9ydFdNTEVycm9y
KGRvY3VtZW50KCksIFdNTEVycm9yQ29uZmxpY3RpbmdFdmVudEJpbmRpbmcpOwotfQotCi12b2lk
IFdNTE9uRXZlbnRFbGVtZW50OjpkZXJlZ2lzdGVyVGFzayhXTUxUYXNrRWxlbWVudCopCi17Ci0g
ICAgV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQqIGV2ZW50SGFuZGxpbmdFbGVtZW50ID0gZXZlbnRI
YW5kbGluZ1BhcmVudChwYXJlbnROb2RlKCkpOwotICAgIGlmICghZXZlbnRIYW5kbGluZ0VsZW1l
bnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGV2ZW50SGFuZGxpbmdFbGVtZW50LT5ldmVudEhh
bmRsZXIoKS0+ZGVyZWdpc3RlckludHJpbnNpY0V2ZW50KG1fdHlwZSk7Ci19Ci0KLX0KLQotI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MT25FdmVudEVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MT25FdmVudEVsZW1lbnQuaAkocmV2aXNpb24g
ODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MT25FdmVudEVsZW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1MCArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3Jj
aCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmls
ZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
LSAqCi0gKi8KLQotI2lmbmRlZiBXTUxPbkV2ZW50RWxlbWVudF9oCi0jZGVmaW5lIFdNTE9uRXZl
bnRFbGVtZW50X2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MRWxlbWVudC5oIgot
I2luY2x1ZGUgIldNTEludHJpbnNpY0V2ZW50SGFuZGxlci5oIgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLWNsYXNzIFdNTFRhc2tFbGVtZW50OwotCi1jbGFzcyBXTUxPbkV2ZW50RWxlbWVudCA6
IHB1YmxpYyBXTUxFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxP
bkV2ZW50RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwot
Ci0gICAgV01MT25FdmVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqKTsKLQotICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1
dGUqKTsKLQotICAgIHZvaWQgcmVnaXN0ZXJUYXNrKFdNTFRhc2tFbGVtZW50Kik7Ci0gICAgdm9p
ZCBkZXJlZ2lzdGVyVGFzayhXTUxUYXNrRWxlbWVudCopOwotCi1wcml2YXRlOgotICAgIFdNTElu
dHJpbnNpY0V2ZW50VHlwZSBtX3R5cGU7Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MT3B0R3JvdXBFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS93bWwvV01MT3B0R3JvdXBFbGVtZW50LmNwcAkocmV2aXNpb24gODUy
NDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MT3B0R3JvdXBFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxMzUgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9y
Y2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2Jp
bGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICog
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
Ci0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5j
bHVkZSAiV01MT3B0R3JvdXBFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNp
bmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIk5v
ZGVSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiV01M
TmFtZXMuaCIKLSNpbmNsdWRlICJXTUxTZWxlY3RFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIFdNTE5hbWVzOwotCi1XTUxPcHRHcm91cEVsZW1lbnQ6
OldNTE9wdEdyb3VwRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCogZG9jKQotICAgIDogV01MRm9ybUNvbnRyb2xFbGVtZW50KHRhZ05hbWUsIGRvYykKLXsKLX0K
LQotUGFzc1JlZlB0cjxXTUxPcHRHcm91cEVsZW1lbnQ+IFdNTE9wdEdyb3VwRWxlbWVudDo6Y3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLXsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdNTE9wdEdyb3VwRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkpOwotfQotCi1XTUxPcHRHcm91cEVsZW1lbnQ6On5XTUxPcHRHcm91cEVsZW1lbnQoKQot
ewotfQotCi1jb25zdCBBdG9taWNTdHJpbmcmIFdNTE9wdEdyb3VwRWxlbWVudDo6Zm9ybUNvbnRy
b2xUeXBlKCkgY29uc3QKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0
cmluZywgb3B0Z3JvdXAsICgib3B0Z3JvdXAiKSk7Ci0gICAgcmV0dXJuIG9wdGdyb3VwOwotfQot
Ci1zdGF0aWMgaW5saW5lIFdNTFNlbGVjdEVsZW1lbnQqIG93bmVyU2VsZWN0RWxlbWVudChFbGVt
ZW50KiBlbGVtZW50KQotewotICAgIENvbnRhaW5lck5vZGUqIHNlbGVjdCA9IGVsZW1lbnQtPnBh
cmVudE5vZGUoKTsKLSAgICB3aGlsZSAoc2VsZWN0ICYmICFzZWxlY3QtPmhhc1RhZ05hbWUoc2Vs
ZWN0VGFnKSkKLSAgICAgICAgc2VsZWN0ID0gc2VsZWN0LT5wYXJlbnROb2RlKCk7Ci0KLSAgICBp
ZiAoIXNlbGVjdCkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
V01MU2VsZWN0RWxlbWVudCo+KHNlbGVjdCk7Ci19Ci0KLXZvaWQgV01MT3B0R3JvdXBFbGVtZW50
OjphY2Nlc3NLZXlBY3Rpb24oYm9vbCkKLXsKLSAgICBXTUxTZWxlY3RFbGVtZW50KiBzZWxlY3Qg
PSBvd25lclNlbGVjdEVsZW1lbnQodGhpcyk7Ci0gICAgaWYgKCFzZWxlY3QgfHwgc2VsZWN0LT5m
b2N1c2VkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIHNlbmQgdG8gdGhlIHBhcmVudCB0
byBicmluZyBmb2N1cyB0byB0aGUgbGlzdCBib3gKLSAgICBzZWxlY3QtPmFjY2Vzc0tleUFjdGlv
bihmYWxzZSk7Ci19Ci0KLXZvaWQgV01MT3B0R3JvdXBFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQo
Ym9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFu
Z2UsIGludCBjaGlsZENvdW50RGVsdGEpCi17Ci0gICAgcmVjYWxjU2VsZWN0T3B0aW9ucygpOwot
ICAgIFdNTEZvcm1Db250cm9sRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNl
ciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKLX0KLQotdm9p
ZCBXTUxPcHRHcm91cEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0
cikKLXsKLSAgICBXTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0
dHIpOwotICAgIHJlY2FsY1NlbGVjdE9wdGlvbnMoKTsKLX0KLQotdm9pZCBXTUxPcHRHcm91cEVs
ZW1lbnQ6OmF0dGFjaCgpCi17Ci0gICAgaWYgKHBhcmVudE5vZGUoKS0+cmVuZGVyU3R5bGUoKSkK
LSAgICAgICAgc2V0UmVuZGVyU3R5bGUoc3R5bGVGb3JSZW5kZXJlcigpKTsKLSAgICBXTUxGb3Jt
Q29udHJvbEVsZW1lbnQ6OmF0dGFjaCgpOwotfQotCi12b2lkIFdNTE9wdEdyb3VwRWxlbWVudDo6
ZGV0YWNoKCkKLXsKLSAgICBtX3N0eWxlLmNsZWFyKCk7Ci0gICAgV01MRm9ybUNvbnRyb2xFbGVt
ZW50OjpkZXRhY2goKTsKLX0KLQotdm9pZCBXTUxPcHRHcm91cEVsZW1lbnQ6OnNldFJlbmRlclN0
eWxlKFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IHN0eWxlKQotewotICAgIG1fc3R5bGUgPSBzdHls
ZTsKLX0KLQotUmVuZGVyU3R5bGUqIFdNTE9wdEdyb3VwRWxlbWVudDo6bm9uUmVuZGVyZXJSZW5k
ZXJTdHlsZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc3R5bGUuZ2V0KCk7Ci19Ci0KLVN0cmlu
ZyBXTUxPcHRHcm91cEVsZW1lbnQ6Omdyb3VwTGFiZWxUZXh0KCkgY29uc3QKLXsKLSAgICBTdHJp
bmcgaXRlbVRleHQgPSBkb2N1bWVudCgpLT5kaXNwbGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5n
KHRpdGxlKCkpOwotCi0gICAgLy8gSW4gV2luSUUsIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRl
c3BhY2UgaXMgaWdub3JlZCBpbiBvcHRpb25zIGFuZCBvcHRncm91cHMuIFdlIG1hdGNoIHRoaXMg
YmVoYXZpb3IuCi0gICAgaXRlbVRleHQgPSBpdGVtVGV4dC5zdHJpcFdoaXRlU3BhY2UoKTsKLSAg
ICAvLyBXZSB3YW50IHRvIGNvbGxhcHNlIG91ciB3aGl0ZXNwYWNlIHRvby4gIFRoaXMgd2lsbCBt
YXRjaCBvdGhlciBicm93c2Vycy4KLSAgICBpdGVtVGV4dCA9IGl0ZW1UZXh0LnNpbXBsaWZ5V2hp
dGVTcGFjZSgpOwotCi0gICAgcmV0dXJuIGl0ZW1UZXh0OwotfQotCi12b2lkIFdNTE9wdEdyb3Vw
RWxlbWVudDo6cmVjYWxjU2VsZWN0T3B0aW9ucygpCi17Ci0gICAgaWYgKFdNTFNlbGVjdEVsZW1l
bnQqIHNlbGVjdCA9IG93bmVyU2VsZWN0RWxlbWVudCh0aGlzKSkKLSAgICAgICAgc2VsZWN0LT5z
ZXRSZWNhbGNMaXN0SXRlbXMoKTsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3dtbC9XTUxPcHRHcm91cEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS93bWwvV01MT3B0R3JvdXBFbGVtZW50LmgJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dl
YkNvcmUvd21sL1dNTE9wdEdyb3VwRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYyICsw
LDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVm
IFdNTE9wdEdyb3VwRWxlbWVudF9oCi0jZGVmaW5lIFdNTE9wdEdyb3VwRWxlbWVudF9oCi0KLSNp
ZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEZvcm1Db250cm9sRWxlbWVudC5oIgotI2luY2x1
ZGUgIk9wdGlvbkdyb3VwRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IFdNTE9wdEdyb3VwRWxlbWVudCA6IHB1YmxpYyBXTUxGb3JtQ29udHJvbEVsZW1lbnQsIHB1Ymxp
YyBPcHRpb25Hcm91cEVsZW1lbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdN
TE9wdEdyb3VwRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCop
OwotCi0gICAgV01MT3B0R3JvdXBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50Kik7Ci0gICAgdmlydHVhbCB+V01MT3B0R3JvdXBFbGVtZW50KCk7Ci0KLSAgICB2
aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7Ci0KLSAg
ICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSopIHsgcmV0dXJuIGZh
bHNlOyB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZFRvQW55
RWxlbWVudCk7Ci0gICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRC
eVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2RlKiBhZnRlckNoYW5n
ZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFyc2VN
YXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCk7
Ci0gICAgdmlydHVhbCB2b2lkIGRldGFjaCgpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRSZW5kZXJT
dHlsZShQYXNzUmVmUHRyPFJlbmRlclN0eWxlPik7Ci0KLSAgICB2aXJ0dWFsIFN0cmluZyBncm91
cExhYmVsVGV4dCgpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIHZpcnR1YWwgUmVuZGVyU3R5bGUq
IG5vblJlbmRlcmVyUmVuZGVyU3R5bGUoKSBjb25zdDsKLSAgICB2b2lkIHJlY2FsY1NlbGVjdE9w
dGlvbnMoKTsKLQotcHJpdmF0ZToKLSAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IG1fc3R5bGU7Ci19
OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MT3B0
aW9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTE9wdGlv
bkVsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxP
cHRpb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwxODYgKzAsMCBAQAotLyoqCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MT3B0aW9uRWxlbWVudC5oIgotCi0jaW5j
bHVkZSAiQXR0cmlidXRlLmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiTm9k
ZVJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJXTUxO
YW1lcy5oIgotI2luY2x1ZGUgIldNTFNlbGVjdEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdNTE9wdGlvbkVsZW1lbnQ6OldN
TE9wdGlvbkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRv
YykKLSAgICA6IFdNTEZvcm1Db250cm9sRWxlbWVudCh0YWdOYW1lLCBkb2MpCi17Ci19Ci0KLVBh
c3NSZWZQdHI8V01MT3B0aW9uRWxlbWVudD4gV01MT3B0aW9uRWxlbWVudDo6Y3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFdNTE9wdGlvbkVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0K
LQotV01MT3B0aW9uRWxlbWVudDo6fldNTE9wdGlvbkVsZW1lbnQoKQotewotfQotCi1jb25zdCBB
dG9taWNTdHJpbmcmIFdNTE9wdGlvbkVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0Ci17
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIG9wdGlvbiwgKCJv
cHRpb24iKSk7Ci0gICAgcmV0dXJuIG9wdGlvbjsKLX0KLQotc3RhdGljIGlubGluZSBXTUxTZWxl
Y3RFbGVtZW50KiBvd25lclNlbGVjdEVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICBD
b250YWluZXJOb2RlKiBzZWxlY3QgPSBlbGVtZW50LT5wYXJlbnROb2RlKCk7Ci0gICAgd2hpbGUg
KHNlbGVjdCAmJiAhc2VsZWN0LT5oYXNUYWdOYW1lKHNlbGVjdFRhZykpCi0gICAgICAgIHNlbGVj
dCA9IHNlbGVjdC0+cGFyZW50Tm9kZSgpOwotCi0gICAgaWYgKCFzZWxlY3QpCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFdNTFNlbGVjdEVsZW1lbnQqPihzZWxl
Y3QpOwotfQotCi12b2lkIFdNTE9wdGlvbkVsZW1lbnQ6OmFjY2Vzc0tleUFjdGlvbihib29sKQot
ewotICAgIGlmIChXTUxTZWxlY3RFbGVtZW50KiBzZWxlY3QgPSBvd25lclNlbGVjdEVsZW1lbnQo
dGhpcykpCi0gICAgICAgIHNlbGVjdC0+YWNjZXNzS2V5U2V0U2VsZWN0ZWRJbmRleChPcHRpb25F
bGVtZW50OjpvcHRpb25JbmRleChzZWxlY3QsIHRoaXMpKTsKLX0KLQotdm9pZCBXTUxPcHRpb25F
bGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9y
ZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCi17Ci0gICAg
aWYgKFdNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCA9IG93bmVyU2VsZWN0RWxlbWVudCh0aGlzKSkK
LSAgICAgICAgc2VsZWN0LT5jaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyKTsKLQotICAg
IFdNTEZvcm1Db250cm9sRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwg
YmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKLX0KLQotdm9pZCBX
TUxPcHRpb25FbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCi17
Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OnZhbHVlQXR0cikKLSAgICAgICAg
bV9kYXRhLnNldFZhbHVlKHBhcnNlVmFsdWVTdWJzdGl0dXRpbmdWYXJpYWJsZVJlZmVyZW5jZXMo
YXR0ci0+dmFsdWUoKSkpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6
OnRpdGxlQXR0cikKLSAgICAgICAgbV9kYXRhLnNldExhYmVsKHBhcnNlVmFsdWVTdWJzdGl0dXRp
bmdWYXJpYWJsZVJlZmVyZW5jZXMoYXR0ci0+dmFsdWUoKSkpOwotICAgIGVsc2UgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBvbnBpY2tBdHRyKSB7Ci0gICAgICAgIC8vIFJlZ2lzdGVyIGludHJpbnNpYyBl
dmVudCBpbiBjYXJkCi0gICAgICAgIFJlZlB0cjxXTUxJbnRyaW5zaWNFdmVudD4gZXZlbnQgPSBX
TUxJbnRyaW5zaWNFdmVudDo6Y3JlYXRlKGRvY3VtZW50KCksIGF0dHItPnZhbHVlKCkpOwotCi0g
ICAgICAgIGNyZWF0ZUV2ZW50SGFuZGxlcklmTmVlZGVkKCk7Ci0gICAgICAgIGV2ZW50SGFuZGxl
cigpLT5yZWdpc3RlckludHJpbnNpY0V2ZW50KFdNTEludHJpbnNpY0V2ZW50T25QaWNrLCBldmVu
dCk7Ci0gICAgfSBlbHNlCi0gICAgICAgIFdNTEZvcm1Db250cm9sRWxlbWVudDo6cGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoYXR0cik7Ci19Ci0KLXZvaWQgV01MT3B0aW9uRWxlbWVudDo6YXR0YWNoKCkK
LXsKLSAgICBpZiAocGFyZW50Tm9kZSgpLT5yZW5kZXJTdHlsZSgpKQotICAgICAgICBzZXRSZW5k
ZXJTdHlsZShzdHlsZUZvclJlbmRlcmVyKCkpOwotICAgIFdNTEZvcm1Db250cm9sRWxlbWVudDo6
YXR0YWNoKCk7Ci19Ci0KLXZvaWQgV01MT3B0aW9uRWxlbWVudDo6ZGV0YWNoKCkKLXsKLSAgICBt
X3N0eWxlLmNsZWFyKCk7Ci0gICAgV01MRm9ybUNvbnRyb2xFbGVtZW50OjpkZXRhY2goKTsKLX0K
LQotdm9pZCBXTUxPcHRpb25FbGVtZW50OjpzZXRSZW5kZXJTdHlsZShQYXNzUmVmUHRyPFJlbmRl
clN0eWxlPiBzdHlsZSkKLXsKLSAgICBtX3N0eWxlID0gc3R5bGU7Ci19Ci0KLXZvaWQgV01MT3B0
aW9uRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQotewotICAgIFdNTFNlbGVjdEVsZW1l
bnQqIHNlbGVjdDsKLSAgICBpZiAoc2VsZWN0ZWQoKSAmJiAoc2VsZWN0ID0gb3duZXJTZWxlY3RF
bGVtZW50KHRoaXMpKSkKLSAgICAgICAgc2VsZWN0LT5zY3JvbGxUb1NlbGVjdGlvbigpOwotCi0g
ICAgV01MRm9ybUNvbnRyb2xFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpOwotfQotCi1i
b29sIFdNTE9wdGlvbkVsZW1lbnQ6OnNlbGVjdGVkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9k
YXRhLnNlbGVjdGVkKCk7Ci19Ci0KLXZvaWQgV01MT3B0aW9uRWxlbWVudDo6c2V0U2VsZWN0ZWRT
dGF0ZShib29sIHNlbGVjdGVkKQotewotICAgIGlmICh0aGlzLT5zZWxlY3RlZCgpID09IHNlbGVj
dGVkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBPcHRpb25FbGVtZW50OjpzZXRTZWxlY3RlZFN0
YXRlKG1fZGF0YSwgdGhpcywgc2VsZWN0ZWQpOwotCi0gICAgaWYgKFdNTFNlbGVjdEVsZW1lbnQq
IHNlbGVjdCA9IG93bmVyU2VsZWN0RWxlbWVudCh0aGlzKSkgewotICAgICAgICBpZiAoc2VsZWN0
LT5tdWx0aXBsZSgpIHx8IHNlbGVjdGVkKQotICAgICAgICAgICAgaGFuZGxlSW50cmluc2ljRXZl
bnRJZk5lZWRlZCgpOwotICAgIH0KLX0KLQotU3RyaW5nIFdNTE9wdGlvbkVsZW1lbnQ6OnZhbHVl
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gT3B0aW9uRWxlbWVudDo6Y29sbGVjdE9wdGlvblZhbHVl
KG1fZGF0YSwgdGhpcyk7Ci19Ci0KLVN0cmluZyBXTUxPcHRpb25FbGVtZW50Ojp0ZXh0KCkgY29u
c3QKLXsKLSAgICByZXR1cm4gT3B0aW9uRWxlbWVudDo6Y29sbGVjdE9wdGlvbkxhYmVsT3JUZXh0
KG1fZGF0YSwgdGhpcyk7Ci19Ci0KLVN0cmluZyBXTUxPcHRpb25FbGVtZW50Ojp0ZXh0SW5kZW50
ZWRUb1Jlc3BlY3RHcm91cExhYmVsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gT3B0aW9uRWxlbWVu
dDo6Y29sbGVjdE9wdGlvblRleHRSZXNwZWN0aW5nR3JvdXBMYWJlbChtX2RhdGEsIHRoaXMpOwot
fQotCi1SZW5kZXJTdHlsZSogV01MT3B0aW9uRWxlbWVudDo6bm9uUmVuZGVyZXJSZW5kZXJTdHls
ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc3R5bGUuZ2V0KCk7Ci19Ci0KLXZvaWQgV01MT3B0
aW9uRWxlbWVudDo6aGFuZGxlSW50cmluc2ljRXZlbnRJZk5lZWRlZCgpCi17Ci0gICAgV01MU2Vs
ZWN0RWxlbWVudCogc2VsZWN0ID0gb3duZXJTZWxlY3RFbGVtZW50KHRoaXMpOwotICAgIGlmICgh
c2VsZWN0IHx8ICFzZWxlY3QtPmluaXRpYWxpemVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IFdNTEludHJpbnNpY0V2ZW50SGFuZGxlciogZXZlbnRIYW5kbGVyID0gdGhpcy0+ZXZlbnRIYW5k
bGVyKCk7Ci0gICAgaWYgKCFldmVudEhhbmRsZXIpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlm
IChldmVudEhhbmRsZXItPmhhc0ludHJpbnNpY0V2ZW50KFdNTEludHJpbnNpY0V2ZW50T25QaWNr
KSkKLSAgICAgICAgZXZlbnRIYW5kbGVyLT50cmlnZ2VySW50cmluc2ljRXZlbnQoV01MSW50cmlu
c2ljRXZlbnRPblBpY2spOwotfQotCi1ib29sIFdNTE9wdGlvbkVsZW1lbnQ6OmRpc2FibGVkKCkg
Y29uc3QKLXsKLSAgICAvKiBEdW1teSBpbXBsZW1lbnRhdGlvbiwgYXMgZGlzYWJsZWQoKSBpcyBw
dXJlIHZpcnR1YWwgaW4gT3B0aW9uRWxlbWVudCBjbGFzcyAqLwotICAgIHJldHVybiBmYWxzZTsK
LX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxPcHRpb25FbGVt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTE9wdGlvbkVsZW1lbnQu
aAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MT3B0aW9uRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDczICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChD
KSAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3
LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTE9wdGlvbkVsZW1lbnRfaAotI2RlZmlu
ZSBXTUxPcHRpb25FbGVtZW50X2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiT3B0aW9u
RWxlbWVudC5oIgotI2luY2x1ZGUgIldNTEZvcm1Db250cm9sRWxlbWVudC5oIgotI2luY2x1ZGUg
IldNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xh
c3MgV01MT3B0aW9uRWxlbWVudCA6IHB1YmxpYyBXTUxGb3JtQ29udHJvbEVsZW1lbnQsIHB1Ymxp
YyBXTUxFdmVudEhhbmRsaW5nRWxlbWVudCwgcHVibGljIE9wdGlvbkVsZW1lbnQgewotcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdNTE9wdGlvbkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgIFdNTE9wdGlvbkVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLSAgICB2aXJ0dWFsIH5XTUxPcHRp
b25FbGVtZW50KCk7Ci0KLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRy
b2xUeXBlKCkgY29uc3Q7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5k
ZXJTdHlsZSopIHsgcmV0dXJuIGZhbHNlOyB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzS2V5
QWN0aW9uKGJvb2wgc2VuZFRvQW55RWxlbWVudCk7Ci0gICAgdmlydHVhbCB2b2lkIGNoaWxkcmVu
Q2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2Ug
PSAwLCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0KLSAgICB2
aXJ0dWFsIHZvaWQgYXR0YWNoKCk7Ci0gICAgdmlydHVhbCB2b2lkIGRldGFjaCgpOwotICAgIHZp
cnR1YWwgdm9pZCBzZXRSZW5kZXJTdHlsZShQYXNzUmVmUHRyPFJlbmRlclN0eWxlPik7Ci0KLSAg
ICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLQotICAgIHZpcnR1YWwgYm9v
bCBzZWxlY3RlZCgpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZFN0YXRlKGJv
b2wpOwotCi0gICAgdmlydHVhbCBTdHJpbmcgdGV4dCgpIGNvbnN0OwotICAgIHZpcnR1YWwgU3Ry
aW5nIHRleHRJbmRlbnRlZFRvUmVzcGVjdEdyb3VwTGFiZWwoKSBjb25zdDsKLSAgICB2aXJ0dWFs
IFN0cmluZyB2YWx1ZSgpIGNvbnN0OwotCi0gICAgdmlydHVhbCBib29sIGRpc2FibGVkKCkgY29u
c3Q7Ci0KLXByaXZhdGU6Ci0gICAgdmlydHVhbCBSZW5kZXJTdHlsZSogbm9uUmVuZGVyZXJSZW5k
ZXJTdHlsZSgpIGNvbnN0OwotICAgIHZvaWQgaGFuZGxlSW50cmluc2ljRXZlbnRJZk5lZWRlZCgp
OwotCi1wcml2YXRlOgotICAgIE9wdGlvbkVsZW1lbnREYXRhIG1fZGF0YTsKLSAgICBSZWZQdHI8
UmVuZGVyU3R5bGU+IG1fc3R5bGU7Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS93bWwvV01MUEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3dtbC9XTUxQRWxlbWVudC5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dl
YkNvcmUvd21sL1dNTFBFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwxMTggKzAsMCBA
QAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBDb3B5cmln
aHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAqICAgICAgICAgICAoQykg
MTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot
ICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAot
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MUEVsZW1lbnQuaCIKLQotI2lu
Y2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKLSNpbmNs
dWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJOb2RlTGlzdC5oIgotI2luY2x1ZGUgIldNTE5hbWVz
LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIFdNTE5hbWVzOwot
Ci1XTUxQRWxlbWVudDo6V01MUEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvYykKLSAgICA6IFdNTEVsZW1lbnQodGFnTmFtZSwgZG9jKQotewotfQotCi1Q
YXNzUmVmUHRyPFdNTFBFbGVtZW50PiBXTUxQRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFdNTFBFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Ci19Ci0KLWJvb2wgV01MUEVs
ZW1lbnQ6Om1hcFRvRW50cnkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUsIE1hcHBlZEF0
dHJpYnV0ZUVudHJ5JiByZXN1bHQpIGNvbnN0Ci17Ci0gICAgaWYgKGF0dHJOYW1lID09IEhUTUxO
YW1lczo6YWxpZ25BdHRyKSB7Ci0gICAgICAgIHJlc3VsdCA9IGVCbG9jazsgLy8gV2UgY2FuIHNo
YXJlIHdpdGggRElWIGhlcmUuCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBy
ZXR1cm4gV01MRWxlbWVudDo6bWFwVG9FbnRyeShhdHRyTmFtZSwgcmVzdWx0KTsKLX0KLQotdm9p
ZCBXTUxQRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQotewot
ICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjphbGlnbkF0dHIpIHsKLSAgICAgICAg
Y29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGF0dHItPnZhbHVlKCk7Ci0gICAgICAgIGlmIChl
cXVhbElnbm9yaW5nQ2FzZSh2YWx1ZSwgIm1pZGRsZSIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZh
bHVlLCAiY2VudGVyIikpCi0gICAgICAgICAgICBhZGRDU1NQcm9wZXJ0eShhdHRyLCBDU1NQcm9w
ZXJ0eVRleHRBbGlnbiwgQ1NTVmFsdWVXZWJraXRDZW50ZXIpOwotICAgICAgICBlbHNlIGlmIChl
cXVhbElnbm9yaW5nQ2FzZSh2YWx1ZSwgImxlZnQiKSkKLSAgICAgICAgICAgIGFkZENTU1Byb3Bl
cnR5KGF0dHIsIENTU1Byb3BlcnR5VGV4dEFsaWduLCBDU1NWYWx1ZVdlYmtpdExlZnQpOwotICAg
ICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZSwgInJpZ2h0IikpCi0gICAgICAg
ICAgICBhZGRDU1NQcm9wZXJ0eShhdHRyLCBDU1NQcm9wZXJ0eVRleHRBbGlnbiwgQ1NTVmFsdWVX
ZWJraXRSaWdodCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0
dHIsIENTU1Byb3BlcnR5VGV4dEFsaWduLCB2YWx1ZSk7Ci0gICAgfSBlbHNlIGlmIChhdHRyLT5u
YW1lKCkgPT0gbW9kZUF0dHIpIHsKLSAgICAgICAgbV9tb2RlID0gYXR0ci0+dmFsdWUoKTsKLSAg
ICAgICAgaWYgKG1fbW9kZSA9PSAid3JhcCIpCi0gICAgICAgICAgICBhZGRDU1NQcm9wZXJ0eShh
dHRyLCBDU1NQcm9wZXJ0eVdvcmRXcmFwLCBDU1NWYWx1ZUJyZWFrV29yZCk7Ci0gICAgICAgIGVs
c2UgaWYgKG1fbW9kZSA9PSAibm93cmFwIikKLSAgICAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0
dHIsIENTU1Byb3BlcnR5V2hpdGVTcGFjZSwgQ1NTVmFsdWVOb3dyYXApOwotICAgIH0gZWxzZQot
ICAgICAgICBXTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKLX0KLQotdm9p
ZCBXTUxQRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQotewotICAgIFdNTEVsZW1lbnQ6
Omluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0KLSAgICAvLyBJZiBub3QgZXhwbGljaXRseSBzcGVj
aWZpZWQsIHRoZSBsaW5ld3JhcCBtb2RlIGlzIGlkZW50aWNhbCB0byAKLSAgICAvLyB0aGUgbGlu
ZS13cmFwIG1vZGUgb2YgdGhlIHByZXZpb3VzIHBhcmFncmFwaCBpbiB0aGUgdGV4dCBmbG93IG9m
Ci0gICAgLy8gYSBjYXJkLiBUaGUgZGVmYXVsdCBtb2RlIGZvciB0aGUgZmlyc3QgcGFyYWdyYXBo
IGluIGEgY2FyZCBpcyB3cmFwLgotICAgIGlmICghbV9tb2RlLmlzRW1wdHkoKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgUmVmUHRyPE5vZGVMaXN0PiBub2RlTGlzdCA9IGRvY3VtZW50KCktPmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCJwIik7Ci0gICAgaWYgKCFub2RlTGlzdCkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgdW5zaWduZWQgbGVuZ3RoID0gbm9kZUxpc3QtPmxlbmd0aCgpOwotICAgIGlm
IChsZW5ndGggPCAyKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBBc3N1cmUgd2UncmUgdGhl
IGxhc3QgaW5zZXJ0ZWQgcGFyYWdyYXBoIGVsZW1lbnQKLSAgICAvLyBUaGlzIG9ubHkgd29ya3Mg
d2hpbGUgcGFyc2luZywgb3RoZXJ3aGlzZSB0aGlzIHN0YXRlbWVudCBpcyBuZXZlciB0cnVlLgot
ICAgIGlmIChub2RlTGlzdC0+aXRlbShsZW5ndGggLSAxKSAhPSB0aGlzKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBXTUxQRWxlbWVudCogbGFzdFBhcmFncmFwaCA9IHN0YXRpY19jYXN0PFdNTFBF
bGVtZW50Kj4obm9kZUxpc3QtPml0ZW0obGVuZ3RoIC0gMikpOwotICAgIEFTU0VSVChsYXN0UGFy
YWdyYXBoKTsKLQotICAgIFN0cmluZyBsYXN0TW9kZSA9IGxhc3RQYXJhZ3JhcGgtPmdldEF0dHJp
YnV0ZShtb2RlQXR0cik7Ci0gICAgaWYgKGxhc3RNb2RlLmlzRW1wdHkoKSB8fCBsYXN0TW9kZSA9
PSAid3JhcCIpIC8vIERlZmF1bHQgdmFsdWUsIGRvIG5vdGhpbmcuCi0gICAgICAgIHJldHVybjsK
LQotICAgIHNldEF0dHJpYnV0ZShtb2RlQXR0ciwgbGFzdE1vZGUpOwotfQotCi19Ci0KLSNlbmRp
ZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTFBFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvd21sL1dNTFBFbGVtZW50LmgJKHJldmlzaW9uIDg1MjQyKQorKysgU291
cmNlL1dlYkNvcmUvd21sL1dNTFBFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzAs
MCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBDb3B5
cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAqICAgICAgICAgICAo
QykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0g
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01M
UEVsZW1lbnRfaAotI2RlZmluZSBXTUxQRWxlbWVudF9oCi0KLSNpZiBFTkFCTEUoV01MKQotI2lu
Y2x1ZGUgIldNTEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXTUxQ
RWxlbWVudCA6IHB1YmxpYyBXTUxFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxXTUxQRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCop
OwotCi0gICAgV01MUEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqKTsKLQotICAgIHZpcnR1YWwgYm9vbCBtYXBUb0VudHJ5KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBNYXBwZWRBdHRyaWJ1dGVFbnRyeSYpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1h
cHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLQotICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZElu
dG9Eb2N1bWVudCgpOwotCi1wcml2YXRlOgotICAgIFN0cmluZyBtX21vZGU7Ci19OwotCi19Ci0K
LSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MUGFnZVN0YXRlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MUGFnZVN0YXRlLmNwcAkocmV2
aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MUGFnZVN0YXRlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMSwyNjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwg
MjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50
b3JjaG1vYmlsZS5jb20vKQotICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxF
KFdNTCkKLSNpbmNsdWRlICJXTUxQYWdlU3RhdGUuaCIKLQotI2luY2x1ZGUgIkJhY2tGb3J3YXJk
Q29udHJvbGxlci5oIgotI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5oIgotI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgot
I2luY2x1ZGUgIktVUkwuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdNTFBhZ2VTdGF0ZTo6V01MUGFn
ZVN0YXRlKFBhZ2UqIHBhZ2UpCi0gICAgOiBtX3BhZ2UocGFnZSkKLSAgICAsIG1faGFzQWNjZXNz
Q29udHJvbERhdGEoZmFsc2UpCi17Ci19Ci0KLVdNTFBhZ2VTdGF0ZTo6fldNTFBhZ2VTdGF0ZSgp
Ci17Ci0gICAgbV92YXJpYWJsZXMuY2xlYXIoKTsKLX0KLQotI2lmbmRlZiBOREVCVUcKLS8vIERl
YnVnZ2luZyBoZWxwZXIgZm9yIHVzZSB3aXRoaW4gZ2RiCi12b2lkIFdNTFBhZ2VTdGF0ZTo6ZHVt
cCgpCi17Ci0gICAgV01MVmFyaWFibGVNYXA6Oml0ZXJhdG9yIGl0ID0gbV92YXJpYWJsZXMuYmVn
aW4oKTsKLSAgICBXTUxWYXJpYWJsZU1hcDo6aXRlcmF0b3IgZW5kID0gbV92YXJpYWJsZXMuZW5k
KCk7Ci0KLSAgICBmcHJpbnRmKHN0ZGVyciwgIkR1bXBpbmcgV01MUGFnZVN0YXRlICh0aGlzPSVw
KSBhc3NvY2lhdGVkIHdpdGggUGFnZSAocGFnZT0lcCkuLi5cbiIsIHRoaXMsIG1fcGFnZSk7Ci0g
ICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJcdC0+
IG5hbWU6ICclcydcdHZhbHVlOiAnJXMnXG4iLCAoKml0KS5maXJzdC5sYXRpbjEoKS5kYXRhKCks
ICgqaXQpLnNlY29uZC5sYXRpbjEoKS5kYXRhKCkpOwotfQotI2VuZGlmCi0KLXZvaWQgV01MUGFn
ZVN0YXRlOjpyZXNldCgpCi17Ci0gICAgLy8gUmVtb3ZlIGFsbCB0aGUgdmFyaWFibGVzCi0gICAg
bV92YXJpYWJsZXMuY2xlYXIoKTsKLQotICAgIC8vIENsZWFyIHRoZSBuYXZpZ2F0aW9uIGhpc3Rv
cnkgc3RhdGUgCi0gICAgaWYgKG1fcGFnZSkKLSAgICAgICAgbV9wYWdlLT5iYWNrRm9yd2FyZCgp
LT5jbGllbnQoKS0+Y2xlYXJXTUxQYWdlSGlzdG9yeSgpOwotfQotCi1zdGF0aWMgaW5saW5lIFN0
cmluZyBub3JtYWxpemVkSG9zdE5hbWUoY29uc3QgU3RyaW5nJiBwYXNzZWRIb3N0KQotewotICAg
IGlmIChwYXNzZWRIb3N0LmNvbnRhaW5zKCIxMjcuMC4wLjEiKSkgewotICAgICAgICBTdHJpbmcg
aG9zdCA9IHBhc3NlZEhvc3Q7Ci0gICAgICAgIHJldHVybiBob3N0LnJlcGxhY2UoIjEyNy4wLjAu
MSIsICJsb2NhbGhvc3QiKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gcGFzc2VkSG9zdDsKLX0KLQot
c3RhdGljIGlubGluZSBTdHJpbmcgaG9zdEZyb21VUkwoY29uc3QgS1VSTCYgdXJsKQotewotICAg
IC8vIERlZmF1bHQgdG8gImxvY2FsaG9zdCIKLSAgICBTdHJpbmcgaG9zdCA9IG5vcm1hbGl6ZWRI
b3N0TmFtZSh1cmwuaG9zdCgpKTsKLSAgICByZXR1cm4gaG9zdC5pc0VtcHR5KCkgPyAibG9jYWxo
b3N0IiA6IGhvc3Q7Ci19Ci0KLXN0YXRpYyBLVVJMIHVybEZvckhpc3RvcnlJdGVtKEZyYW1lKiBm
cmFtZSwgSGlzdG9yeUl0ZW0qIGl0ZW0pCi17Ci0gICAgLy8gRm9yIExheW91dFRlc3RzIHdlIG5l
ZWQgdG8gZmluZCB0aGUgY29ycmVzcG9uZGluZyBXTUwgZnJhbWUgaW4gdGhlIHRlc3QgZG9jdW1l
bnQKLSAgICAvLyB0byBiZSBhYmxlIHRvIHRlc3QgYWNjZXNzLWNvbnRyb2wgY29ycmVjdGx5LiBS
ZW1lbWJlciB0aGF0IFdNTCBpcyBuZXZlciBzdXBwb3NlZAotICAgIC8vIHRvIGJlIGVtYmVkZGVk
IGFueXdoZXJlLCBzbyB0aGUgcHVycG9zZSBpcyB0byBzaW11bGF0ZSBhIHN0YW5kYWxvbmUgV01M
IGRvY3VtZW50LgotICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQoKS0+aXNXTUxEb2N1bWVudCgpKQot
ICAgICAgICByZXR1cm4gaXRlbS0+dXJsKCk7Ci0KLSAgICBjb25zdCBIaXN0b3J5SXRlbVZlY3Rv
ciYgY2hpbGRJdGVtcyA9IGl0ZW0tPmNoaWxkcmVuKCk7Ci0gICAgSGlzdG9yeUl0ZW1WZWN0b3I6
OmNvbnN0X2l0ZXJhdG9yIGl0ID0gY2hpbGRJdGVtcy5iZWdpbigpOwotICAgIGNvbnN0IEhpc3Rv
cnlJdGVtVmVjdG9yOjpjb25zdF9pdGVyYXRvciBlbmQgPSBjaGlsZEl0ZW1zLmVuZCgpOwotCi0g
ICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBjb25zdCBSZWZQdHI8SGlzdG9y
eUl0ZW0+IGNoaWxkSXRlbSA9ICppdDsKLSAgICAgICAgRnJhbWUqIGNoaWxkRnJhbWUgPSBmcmFt
ZS0+dHJlZSgpLT5jaGlsZChjaGlsZEl0ZW0tPnRhcmdldCgpKTsKLSAgICAgICAgaWYgKCFjaGls
ZEZyYW1lKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgaWYgKERvY3VtZW50KiBj
aGlsZERvY3VtZW50ID0gY2hpbGRGcmFtZS0+ZG9jdW1lbnQoKSkgewotICAgICAgICAgICAgaWYg
KGNoaWxkRG9jdW1lbnQtPmlzV01MRG9jdW1lbnQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4g
Y2hpbGRJdGVtLT51cmwoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiBpdGVtLT51
cmwoKTsKLX0KLQotc3RhdGljIGJvb2wgdHJ5QWNjZXNzSGlzdG9yeVVSTHMoUGFnZSogcGFnZSwg
S1VSTCYgcHJldmlvdXNVUkwsIEtVUkwmIGN1cnJlbnRVUkwpCi17Ci0gICAgaWYgKCFwYWdlKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWluRnJh
bWUoKTsKLSAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+ZG9jdW1lbnQoKSkgICAgCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIEhpc3RvcnlJdGVtKiBwcmV2aW91c0l0ZW0gPSBwYWdlLT5i
YWNrRm9yd2FyZCgpLT5iYWNrSXRlbSgpOwotICAgIGlmICghcHJldmlvdXNJdGVtKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICBIaXN0b3J5SXRlbSogY3VycmVudEl0ZW0gPSBwYWdlLT5i
YWNrRm9yd2FyZCgpLT5jdXJyZW50SXRlbSgpOwotICAgIGlmICghY3VycmVudEl0ZW0pCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIHByZXZpb3VzVVJMID0gdXJsRm9ySGlzdG9yeUl0ZW0o
ZnJhbWUsIHByZXZpb3VzSXRlbSk7Ci0gICAgY3VycmVudFVSTCA9IHVybEZvckhpc3RvcnlJdGVt
KGZyYW1lLCBjdXJyZW50SXRlbSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBXTUxQ
YWdlU3RhdGU6OnByb2Nlc3NBY2Nlc3NDb250cm9sRGF0YShjb25zdCBTdHJpbmcmIGRvbWFpbiwg
Y29uc3QgU3RyaW5nJiBwYXRoKQotewotICAgIGlmIChtX2hhc0FjY2Vzc0NvbnRyb2xEYXRhKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBtX2hhc0FjY2Vzc0NvbnRyb2xEYXRhID0gdHJ1
ZTsKLQotICAgIEtVUkwgcHJldmlvdXNVUkwsIGN1cnJlbnRVUkw7Ci0gICAgaWYgKCF0cnlBY2Nl
c3NIaXN0b3J5VVJMcyhtX3BhZ2UsIHByZXZpb3VzVVJMLCBjdXJyZW50VVJMKSkKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0KLSAgICAvLyBTcGVjOiBUaGUgcGF0aCBhdHRyaWJ1dGUgZGVmYXVsdHMg
dG8gdGhlIHZhbHVlICIvIgotICAgIG1fYWNjZXNzUGF0aCA9IHBhdGguaXNFbXB0eSgpID8gIi8i
IDogcGF0aDsKLQotICAgIC8vIFNwZWM6IFRoZSBkb21haW4gYXR0cmlidXRlIGRlZmF1bHRzIHRv
IHRoZSBjdXJyZW50IGRlY2tzIGRvbWFpbi4KLSAgICBTdHJpbmcgcHJldmlvdXNIb3N0ID0gaG9z
dEZyb21VUkwocHJldmlvdXNVUkwpOwotICAgIG1fYWNjZXNzRG9tYWluID0gZG9tYWluLmlzRW1w
dHkoKSA/IHByZXZpb3VzSG9zdCA6IG5vcm1hbGl6ZWRIb3N0TmFtZShkb21haW4pOwotCi0gICAg
Ly8gU3BlYzogVG8gc2ltcGxpZnkgdGhlIGRldmVsb3BtZW50IG9mIGFwcGxpY2F0aW9ucyB0aGF0
IG1heSBub3Qga25vdyB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgCi0gICAgLy8gY3VycmVudCBk
ZWNrLCB0aGUgcGF0aCBhdHRyaWJ1dGUgYWNjZXB0cyByZWxhdGl2ZSBVUklzLiBUaGUgdXNlciBh
Z2VudCBjb252ZXJ0cyB0aGUgcmVsYXRpdmUgCi0gICAgLy8gcGF0aCB0byBhbiBhYnNvbHV0ZSBw
YXRoIGFuZCB0aGVuIHBlcmZvcm1zIHByZWZpeCBtYXRjaGluZyBhZ2FpbnN0IHRoZSBQQVRIIGF0
dHJpYnV0ZS4KLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX3BhZ2UtPm1haW5GcmFtZSgpID8g
bV9wYWdlLT5tYWluRnJhbWUoKS0+ZG9jdW1lbnQoKSA6IDA7Ci0gICAgaWYgKGRvY3VtZW50ICYm
IHByZXZpb3VzSG9zdCA9PSBtX2FjY2Vzc0RvbWFpbiAmJiAhbV9hY2Nlc3NQYXRoLnN0YXJ0c1dp
dGgoIi8iKSkgewotICAgICAgICBTdHJpbmcgY3VycmVudFBhdGggPSBjdXJyZW50VVJMLnBhdGgo
KTsKLQotICAgICAgICBzaXplX3QgaW5kZXggPSBjdXJyZW50UGF0aC5yZXZlcnNlRmluZCgnLycp
OwotICAgICAgICBpZiAoaW5kZXggIT0gV1RGOjpub3RGb3VuZCkKLSAgICAgICAgICAgIG1fYWNj
ZXNzUGF0aCA9IGRvY3VtZW50LT5jb21wbGV0ZVVSTChjdXJyZW50UGF0aC5sZWZ0KGluZGV4ICsg
MSkgKyBtX2FjY2Vzc1BhdGgpLnBhdGgoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQotdm9pZCBXTUxQYWdlU3RhdGU6OnJlc2V0QWNjZXNzQ29udHJvbERhdGEoKQotewotICAgIG1f
aGFzQWNjZXNzQ29udHJvbERhdGEgPSBmYWxzZTsKLSAgICBtX2FjY2Vzc0RvbWFpbiA9IFN0cmlu
ZygpOwotICAgIG1fYWNjZXNzUGF0aCA9IFN0cmluZygpOwotfQotCi1ib29sIFdNTFBhZ2VTdGF0
ZTo6Y2FuQWNjZXNzRGVjaygpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2hhc0FjY2Vzc0NvbnRyb2xE
YXRhKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIEtVUkwgcHJldmlvdXNVUkwsIGN1cnJl
bnRVUkw7Ci0gICAgaWYgKCF0cnlBY2Nlc3NIaXN0b3J5VVJMcyhtX3BhZ2UsIHByZXZpb3VzVVJM
LCBjdXJyZW50VVJMKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoZXF1YWxJZ25v
cmluZ0ZyYWdtZW50SWRlbnRpZmllcihwcmV2aW91c1VSTCwgY3VycmVudFVSTCkpCi0gICAgICAg
cmV0dXJuIHRydWU7Ci0KLSAgICByZXR1cm4gaG9zdElzQWxsb3dlZFRvQWNjZXNzKGhvc3RGcm9t
VVJMKHByZXZpb3VzVVJMKSkgJiYgcGF0aElzQWxsb3dlZFRvQWNjZXNzKHByZXZpb3VzVVJMLnBh
dGgoKSk7Ci19Ci0KLWJvb2wgV01MUGFnZVN0YXRlOjpob3N0SXNBbGxvd2VkVG9BY2Nlc3MoY29u
c3QgU3RyaW5nJiBob3N0KSBjb25zdAotewotICAgIC8vIFNwZWM6IFRoZSBhY2Nlc3MgZG9tYWlu
IGlzIHN1ZmZpeC1tYXRjaGVkIGFnYWluc3QgdGhlIGRvbWFpbiBuYW1lIHBvcnRpb24gb2YgdGhl
IHJlZmVycmluZyBVUkkKLSAgICBWZWN0b3I8U3RyaW5nPiBzdWJkb21haW5zQWxsb3dlZDsKLSAg
ICBpZiAobV9hY2Nlc3NEb21haW4uY29udGFpbnMoJy4nKSkKLSAgICAgICAgbV9hY2Nlc3NEb21h
aW4uc3BsaXQoJy4nLCBzdWJkb21haW5zQWxsb3dlZCk7Ci0gICAgZWxzZQotICAgICAgICBzdWJk
b21haW5zQWxsb3dlZC5hcHBlbmQobV9hY2Nlc3NEb21haW4pOwotCi0gICAgVmVjdG9yPFN0cmlu
Zz4gc3ViZG9tYWluc0NoZWNrOwotICAgIGlmIChob3N0LmNvbnRhaW5zKCcuJykpCi0gICAgICAg
IGhvc3Quc3BsaXQoJy4nLCBzdWJkb21haW5zQ2hlY2spOwotICAgIGVsc2UKLSAgICAgICAgc3Vi
ZG9tYWluc0NoZWNrLmFwcGVuZChob3N0KTsKLQotICAgIFZlY3RvcjxTdHJpbmc+OjppdGVyYXRv
ciBpdEFsbG93ZWQgPSBzdWJkb21haW5zQWxsb3dlZC5lbmQoKSAtIDE7Ci0gICAgVmVjdG9yPFN0
cmluZz46Oml0ZXJhdG9yIGJlZ2luQWxsb3dlZCA9IHN1YmRvbWFpbnNBbGxvd2VkLmJlZ2luKCk7
Ci0KLSAgICBWZWN0b3I8U3RyaW5nPjo6aXRlcmF0b3IgaXRDaGVjayA9IHN1YmRvbWFpbnNDaGVj
ay5lbmQoKSAtIDE7Ci0gICAgVmVjdG9yPFN0cmluZz46Oml0ZXJhdG9yIGJlZ2luQ2hlY2sgPSBz
dWJkb21haW5zQ2hlY2suYmVnaW4oKTsKLQotICAgIGJvb2wgaG9zdE9rID0gdHJ1ZTsKLSAgICBm
b3IgKDsgaXRBbGxvd2VkID49IGJlZ2luQWxsb3dlZCAmJiBpdENoZWNrID49IGJlZ2luQ2hlY2s7
ICkgewotICAgICAgICBpZiAoKml0QWxsb3dlZCAhPSAqaXRDaGVjaykgewotICAgICAgICAgICAg
aG9zdE9rID0gZmFsc2U7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCi0gICAgICAg
IC0taXRBbGxvd2VkOwotICAgICAgICAtLWl0Q2hlY2s7Ci0gICAgfQotCi0gICAgcmV0dXJuIGhv
c3RPazsKLX0KLQotYm9vbCBXTUxQYWdlU3RhdGU6OnBhdGhJc0FsbG93ZWRUb0FjY2Vzcyhjb25z
dCBTdHJpbmcmIHBhdGgpIGNvbnN0Ci17Ci0gICAgLy8gU3BlYzogVGhlIGFjY2VzcyBwYXRoIGlz
IHByZWZpeCBtYXRjaGVkIGFnYWluc3QgdGhlIHBhdGggcG9ydGlvbiBvZiB0aGUgcmVmZXJyaW5n
IFVSSQotICAgIFZlY3RvcjxTdHJpbmc+IHN1YnBhdGhzQWxsb3dlZDsKLSAgICBpZiAobV9hY2Nl
c3NQYXRoLmNvbnRhaW5zKCcvJykpCi0gICAgICAgIG1fYWNjZXNzUGF0aC5zcGxpdCgnLycsIHN1
YnBhdGhzQWxsb3dlZCk7Ci0gICAgZWxzZQotICAgICAgICBzdWJwYXRoc0FsbG93ZWQuYXBwZW5k
KG1fYWNjZXNzUGF0aCk7Ci0KLSAgICBWZWN0b3I8U3RyaW5nPiBzdWJwYXRoc0NoZWNrOwotICAg
IGlmIChwYXRoLmNvbnRhaW5zKCcvJykpCi0gICAgICAgIHBhdGguc3BsaXQoJy8nLCBzdWJwYXRo
c0NoZWNrKTsKLSAgICBlbHNlCi0gICAgICAgIHN1YnBhdGhzQ2hlY2suYXBwZW5kKHBhdGgpOwot
Ci0gICAgVmVjdG9yPFN0cmluZz46Oml0ZXJhdG9yIGl0QWxsb3dlZCA9IHN1YnBhdGhzQWxsb3dl
ZC5iZWdpbigpOwotICAgIFZlY3RvcjxTdHJpbmc+OjppdGVyYXRvciBlbmRBbGxvd2VkID0gc3Vi
cGF0aHNBbGxvd2VkLmVuZCgpOwotCi0gICAgVmVjdG9yPFN0cmluZz46Oml0ZXJhdG9yIGl0Q2hl
Y2sgPSBzdWJwYXRoc0NoZWNrLmJlZ2luKCk7Ci0gICAgVmVjdG9yPFN0cmluZz46Oml0ZXJhdG9y
IGVuZENoZWNrID0gc3VicGF0aHNDaGVjay5lbmQoKTsKLQotICAgIGJvb2wgcGF0aE9rID0gdHJ1
ZTsKLSAgICBmb3IgKDsgaXRBbGxvd2VkICE9IGVuZEFsbG93ZWQgJiYgaXRDaGVjayAhPSBlbmRD
aGVjazsgKSB7Ci0gICAgICAgIGlmICgqaXRBbGxvd2VkICE9ICppdENoZWNrKSB7Ci0gICAgICAg
ICAgICBwYXRoT2sgPSBmYWxzZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAg
ICAgICAgKytpdEFsbG93ZWQ7Ci0gICAgICAgICsraXRDaGVjazsKLSAgICB9Ci0KLSAgICByZXR1
cm4gcGF0aE9rOwotfQotCi19Ci0KLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dN
TFBhZ2VTdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQYWdlU3Rh
dGUuaAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MUGFnZVN0YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50
b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01MUGFnZVN0YXRlX2gKLSNkZWZp
bmUgV01MUGFnZVN0YXRlX2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBQYWdlOwotY2xhc3MgV01M
Q2FyZEVsZW1lbnQ7Ci0KLXR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gV01MVmFyaWFi
bGVNYXA7Ci0KLWNsYXNzIFdNTFBhZ2VTdGF0ZSB7Ci1wdWJsaWM6Ci0gICAgV01MUGFnZVN0YXRl
KFBhZ2UqKTsKLSAgICB2aXJ0dWFsIH5XTUxQYWdlU3RhdGUoKTsKLQotI2lmbmRlZiBOREVCVUcK
LSAgICB2b2lkIGR1bXAoKTsKLSNlbmRpZgotCi0gICAgLy8gUmVzZXQgdGhlIGJyb3dzZXIgY29u
dGV4dAotICAgIHZvaWQgcmVzZXQoKTsKLQotICAgIC8vIFZhcmlhYmxlIGhhbmRsaW5nCi0gICAg
dm9pZCBzdG9yZVZhcmlhYmxlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1
ZSkgeyBtX3ZhcmlhYmxlcy5zZXQobmFtZSwgdmFsdWUpOyB9Ci0gICAgdm9pZCBzdG9yZVZhcmlh
YmxlcyhXTUxWYXJpYWJsZU1hcCYgdmFyaWFibGVzKSB7IG1fdmFyaWFibGVzID0gdmFyaWFibGVz
OyB9Ci0gICAgU3RyaW5nIGdldFZhcmlhYmxlKGNvbnN0IFN0cmluZyYgbmFtZSkgY29uc3QgeyBy
ZXR1cm4gbV92YXJpYWJsZXMuZ2V0KG5hbWUpOyB9Ci0gICAgYm9vbCBoYXNWYXJpYWJsZXMoKSBj
b25zdCB7IHJldHVybiAhbV92YXJpYWJsZXMuaXNFbXB0eSgpOyB9Ci0KLSAgICBQYWdlKiBwYWdl
KCkgY29uc3QgeyByZXR1cm4gbV9wYWdlOyB9Ci0KLSAgICAvLyBEZWNrIGFjY2VzcyBjb250cm9s
Ci0gICAgYm9vbCBwcm9jZXNzQWNjZXNzQ29udHJvbERhdGEoY29uc3QgU3RyaW5nJiBkbWFpbiwg
Y29uc3QgU3RyaW5nJiBwYXRoKTsKLSAgICB2b2lkIHJlc2V0QWNjZXNzQ29udHJvbERhdGEoKTsK
LQotICAgIGJvb2wgY2FuQWNjZXNzRGVjaygpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIGJvb2wg
aG9zdElzQWxsb3dlZFRvQWNjZXNzKGNvbnN0IFN0cmluZyYpIGNvbnN0OwotICAgIGJvb2wgcGF0
aElzQWxsb3dlZFRvQWNjZXNzKGNvbnN0IFN0cmluZyYpIGNvbnN0OwotCi1wcml2YXRlOgotICAg
IFBhZ2UqIG1fcGFnZTsKLSAgICBXTUxWYXJpYWJsZU1hcCBtX3ZhcmlhYmxlczsKLSAgICBTdHJp
bmcgbV9hY2Nlc3NEb21haW47Ci0gICAgU3RyaW5nIG1fYWNjZXNzUGF0aDsKLSAgICBib29sIG1f
aGFzQWNjZXNzQ29udHJvbERhdGE7Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS93bWwvV01MUG9zdGZpZWxkRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvd21sL1dNTFBvc3RmaWVsZEVsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTI0
MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQb3N0ZmllbGRFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw4OCArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3Jj
aCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmls
ZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
LSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNs
dWRlICJXTUxQb3N0ZmllbGRFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIK
LSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJXTUxEb2N1bWVudC5oIgotI2luY2x1
ZGUgIldNTEdvRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFj
ZSBXTUxOYW1lczsKLQotV01MUG9zdGZpZWxkRWxlbWVudDo6V01MUG9zdGZpZWxkRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQotICAgIDogV01MRWxl
bWVudCh0YWdOYW1lLCBkb2MpCi17Ci19Ci0KLVBhc3NSZWZQdHI8V01MUG9zdGZpZWxkRWxlbWVu
dD4gV01MUG9zdGZpZWxkRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdNTFBv
c3RmaWVsZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotdm9pZCBXTUxQb3N0Zmll
bGRFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCi17Ci0gICAgV01MRWxlbWVudDo6aW5z
ZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLQotICAgIENvbnRhaW5lck5vZGUqIHBhcmVudCA9IHBhcmVu
dE5vZGUoKTsKLSAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+aGFzVGFnTmFtZShnb1RhZykpCi0g
ICAgICAgIHN0YXRpY19jYXN0PFdNTEdvRWxlbWVudCo+KHBhcmVudCktPnJlZ2lzdGVyUG9zdGZp
ZWxkRWxlbWVudCh0aGlzKTsKLX0KLQotdm9pZCBXTUxQb3N0ZmllbGRFbGVtZW50OjpyZW1vdmVk
RnJvbURvY3VtZW50KCkKLXsKLSAgICBDb250YWluZXJOb2RlKiBwYXJlbnQgPSBwYXJlbnROb2Rl
KCk7Ci0gICAgaWYgKHBhcmVudCAmJiBwYXJlbnQtPmhhc1RhZ05hbWUoZ29UYWcpKQotICAgICAg
ICBzdGF0aWNfY2FzdDxXTUxHb0VsZW1lbnQqPihwYXJlbnQpLT5kZXJlZ2lzdGVyUG9zdGZpZWxk
RWxlbWVudCh0aGlzKTsKLQotICAgIFdNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKTsK
LX0KLQotU3RyaW5nIFdNTFBvc3RmaWVsZEVsZW1lbnQ6Om5hbWUoKSBjb25zdAotewotICAgIHJl
dHVybiBwYXJzZVZhbHVlU3Vic3RpdHV0aW5nVmFyaWFibGVSZWZlcmVuY2VzKGdldEF0dHJpYnV0
ZShIVE1MTmFtZXM6Om5hbWVBdHRyKSk7Ci19Ci0KLVN0cmluZyBXTUxQb3N0ZmllbGRFbGVtZW50
Ojp2YWx1ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHBhcnNlVmFsdWVTdWJzdGl0dXRpbmdWYXJp
YWJsZVJlZmVyZW5jZXMoZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6dmFsdWVBdHRyKSk7Ci19Ci0K
LXN0YXRpYyBpbmxpbmUgQ1N0cmluZyBlbmNvZGVkU3RyaW5nKGNvbnN0IFRleHRFbmNvZGluZyYg
ZW5jb2RpbmcsIGNvbnN0IFN0cmluZyYgZGF0YSkKLXsKLSAgICByZXR1cm4gZW5jb2RpbmcuZW5j
b2RlKGRhdGEuY2hhcmFjdGVycygpLCBkYXRhLmxlbmd0aCgpLCBFbnRpdGllc0ZvclVuZW5jb2Rh
Ymxlcyk7Ci19Ci0KLXZvaWQgV01MUG9zdGZpZWxkRWxlbWVudDo6ZW5jb2RlRGF0YShjb25zdCBU
ZXh0RW5jb2RpbmcmIGVuY29kaW5nLCBDU3RyaW5nJiBuYW1lLCBDU3RyaW5nJiB2YWx1ZSkKLXsK
LSAgICBuYW1lID0gZW5jb2RlZFN0cmluZyhlbmNvZGluZywgdGhpcy0+bmFtZSgpKTsKLSAgICB2
YWx1ZSA9IGVuY29kZWRTdHJpbmcoZW5jb2RpbmcsIHRoaXMtPnZhbHVlKCkpOwotfQotCi19Ci0K
LSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTFBvc3RmaWVsZEVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MUG9zdGZpZWxkRWxlbWVudC5oCShy
ZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQb3N0ZmllbGRFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNDggKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cu
dG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01MUG9zdGZpZWxkRWxlbWVudF9oCi0jZGVm
aW5lIFdNTFBvc3RmaWVsZEVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJX
TUxFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV01MUG9zdGZpZWxk
RWxlbWVudCA6IHB1YmxpYyBXTUxFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxXTUxQb3N0ZmllbGRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Kik7Ci0KLSAgICBXTUxQb3N0ZmllbGRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50Kik7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9j
dW1lbnQoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwotCi0gICAg
U3RyaW5nIG5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgdmFsdWUoKSBjb25zdDsKLQotICAgIC8v
IEVuY29kZSBuYW1lKCkgYW5kIHZhbHVlKCkgaW4gYSBDU3RyaW5nIHVzaW5nIHRoZSBwYXNzZWQg
ZW5jb2RpbmcKLSAgICB2b2lkIGVuY29kZURhdGEoY29uc3QgVGV4dEVuY29kaW5nJiwgQ1N0cmlu
ZyYgbmFtZSwgQ1N0cmluZyYgdmFsdWUpOwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvd21sL1dNTFByZXZFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS93bWwvV01MUHJldkVsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTI0MikKKysr
IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxQcmV2RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsNzMgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAq
Ci0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0g
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MUHJl
dkVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5oIgotI2luY2x1
ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJXTUxDYXJkRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTERv
Y3VtZW50LmgiCi0jaW5jbHVkZSAiV01MUGFnZVN0YXRlLmgiCi0jaW5jbHVkZSAiV01MVGltZXJF
bGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV01MUHJldkVsZW1lbnQ6OldNTFBy
ZXZFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0g
ICAgOiBXTUxUYXNrRWxlbWVudCh0YWdOYW1lLCBkb2MpCi17Ci19Ci0KLVBhc3NSZWZQdHI8V01M
UHJldkVsZW1lbnQ+IFdNTFByZXZFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcg
V01MUHJldkVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotV01MUHJldkVsZW1lbnQ6
On5XTUxQcmV2RWxlbWVudCgpCi17Ci19Ci0KLXZvaWQgV01MUHJldkVsZW1lbnQ6OmV4ZWN1dGVU
YXNrKCkKLXsKLSAgICBBU1NFUlQoZG9jdW1lbnQoKS0+aXNXTUxEb2N1bWVudCgpKTsKLSAgICBX
TUxEb2N1bWVudCogZG9jdW1lbnQgPSBzdGF0aWNfY2FzdDxXTUxEb2N1bWVudCo+KHRoaXMtPmRv
Y3VtZW50KCkpOwotCi0gICAgV01MUGFnZVN0YXRlKiBwYWdlU3RhdGUgPSB3bWxQYWdlU3RhdGVG
b3JEb2N1bWVudChkb2N1bWVudCk7Ci0gICAgaWYgKCFwYWdlU3RhdGUpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIFdNTENhcmRFbGVtZW50KiBjYXJkID0gZG9jdW1lbnQtPmFjdGl2ZUNhcmQoKTsK
LSAgICBpZiAoIWNhcmQpCi0gICAgICAgIHJldHVybjsKLQotICAgIHN0b3JlVmFyaWFibGVTdGF0
ZShwYWdlU3RhdGUpOwotCi0gICAgLy8gU3RvcCB0aGUgdGltZXIgb2YgdGhlIGN1cnJlbnQgY2Fy
ZCBpZiBpdCBpcyBhY3RpdmUKLSAgICBpZiAoV01MVGltZXJFbGVtZW50KiBldmVudFRpbWVyID0g
Y2FyZC0+ZXZlbnRUaW1lcigpKQotICAgICAgICBldmVudFRpbWVyLT5zdG9wKCk7Ci0KLSAgICBw
YWdlU3RhdGUtPnBhZ2UoKS0+YmFja0ZvcndhcmQoKS0+Z29CYWNrKCk7Ci19Ci0KLX0KLQotI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MUHJldkVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MUHJldkVsZW1lbnQuaAkocmV2aXNpb24gODUyNDIp
CisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MUHJldkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMSw0MiArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8K
LQotI2lmbmRlZiBXTUxQcmV2RWxlbWVudF9oCi0jZGVmaW5lIFdNTFByZXZFbGVtZW50X2gKLQot
I2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MVGFza0VsZW1lbnQuaCIKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1jbGFzcyBXTUxQcmV2RWxlbWVudCA6IHB1YmxpYyBXTUxUYXNrRWxlbWVu
dCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V01MUHJldkVsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgIFdNTFByZXZFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7Ci0gICAgdmlydHVhbCB+
V01MUHJldkVsZW1lbnQoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlVGFzaygpOwotfTsK
LQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTFJlZnJl
c2hFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MUmVmcmVz
aEVsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxS
ZWZyZXNoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsODUgKzAsMCBAQAotLyoqCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MUmVmcmVzaEVsZW1lbnQuaCIKLQotI2lu
Y2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKLSNpbmNsdWRlICJXTUxD
YXJkRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTERvY3VtZW50LmgiCi0jaW5jbHVkZSAiV01MUGFn
ZVN0YXRlLmgiCi0jaW5jbHVkZSAiV01MVGltZXJFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotV01MUmVmcmVzaEVsZW1lbnQ6OldNTFJlZnJlc2hFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxUYXNrRWxlbWVudCh0
YWdOYW1lLCBkb2MpCi17Ci19Ci0KLVBhc3NSZWZQdHI8V01MUmVmcmVzaEVsZW1lbnQ+IFdNTFJl
ZnJlc2hFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MUmVmcmVzaEVsZW1l
bnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotV01MUmVmcmVzaEVsZW1lbnQ6On5XTUxSZWZy
ZXNoRWxlbWVudCgpCi17Ci19Ci0KLXZvaWQgV01MUmVmcmVzaEVsZW1lbnQ6OmV4ZWN1dGVUYXNr
KCkKLXsKLSAgICBBU1NFUlQoZG9jdW1lbnQoKS0+aXNXTUxEb2N1bWVudCgpKTsKLSAgICBXTUxE
b2N1bWVudCogZG9jdW1lbnQgPSBzdGF0aWNfY2FzdDxXTUxEb2N1bWVudCo+KHRoaXMtPmRvY3Vt
ZW50KCkpOwotCi0gICAgV01MUGFnZVN0YXRlKiBwYWdlU3RhdGUgPSB3bWxQYWdlU3RhdGVGb3JE
b2N1bWVudChkb2N1bWVudCk7Ci0gICAgaWYgKCFwYWdlU3RhdGUpCi0gICAgICAgIHJldHVybjsK
LQotICAgIFdNTENhcmRFbGVtZW50KiBjYXJkID0gZG9jdW1lbnQtPmFjdGl2ZUNhcmQoKTsKLSAg
ICBpZiAoIWNhcmQpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIEJlZm9yZSBwZXJmb3JtIHJl
ZnJlc2ggdGFzaywgd2Ugc3RvcmUgdGhlIGN1cnJlbnQgdGltZW91dAotICAgIC8vIHZhbHVlIGlu
IHRoZSBwYWdlIHN0YXRlIGFuZCB0aGVuIHN0b3AgdGhlIHRpbWVyCi0gICAgV01MVGltZXJFbGVt
ZW50KiB0aW1lciA9IGNhcmQtPmV2ZW50VGltZXIoKTsKLSAgICBpZiAodGltZXIpIHsKLSAgICAg
ICAgdGltZXItPnN0b3JlSW50ZXJ2YWxUb1BhZ2VTdGF0ZSgpOwotICAgICAgICB0aW1lci0+c3Rv
cCgpOwotICAgIH0KLQotICAgIHN0b3JlVmFyaWFibGVTdGF0ZShwYWdlU3RhdGUpOwotCi0gICAg
Ly8gUmVkaXNwbGF5IGN1cnJlbXQgY2FyZCB3aXRoIGN1cnJlbnQgdmFyaWFibGUgc3RhdGUKLSAg
ICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQtPmZyYW1lKCkpIHsKLSAgICAgICAgaWYgKEZy
YW1lTG9hZGVyKiBsb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCkpCi0gICAgICAgICAgICBsb2FkZXIt
PnJlbG9hZCgpOwotICAgIH0KLQotICAgIC8vIEFmdGVyIHJlZnJlc2hpbmcgdGFzaywgcmVzdW1l
IHRoZSB0aW1lciBpZiBpdCBleHNpdHMgCi0gICAgaWYgKHRpbWVyKQotICAgICAgICB0aW1lci0+
c3RhcnQoKTsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxS
ZWZyZXNoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxSZWZy
ZXNoRWxlbWVudC5oCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxS
ZWZyZXNoRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICswLDAgQEAKLS8qKgotICog
Q29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
IChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTFJlZnJlc2hFbGVt
ZW50X2gKLSNkZWZpbmUgV01MUmVmcmVzaEVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNp
bmNsdWRlICJXTUxUYXNrRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IFdNTFJlZnJlc2hFbGVtZW50IDogcHVibGljIFdNTFRhc2tFbGVtZW50IHsKLXB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxSZWZyZXNoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgV01MUmVmcmVzaEVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLSAgICB2aXJ0dWFsIH5XTUxSZWZyZXNo
RWxlbWVudCgpOwotCi0gICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVUYXNrKCk7Ci19OwotCi19Ci0K
LSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MU2VsZWN0RWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTFNlbGVjdEVsZW1lbnQu
Y3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxTZWxlY3RFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1NjIgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6
Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVO
QUJMRShXTUwpCi0jaW5jbHVkZSAiV01MU2VsZWN0RWxlbWVudC5oIgotCi0jaW5jbHVkZSAiQXR0
cmlidXRlLmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiT3B0aW9uRWxlbWVu
dC5oIgotI2luY2x1ZGUgIlJlbmRlckxpc3RCb3guaCIKLSNpbmNsdWRlICJSZW5kZXJNZW51TGlz
dC5oIgotI2luY2x1ZGUgIldNTERvY3VtZW50LmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLSNp
bmNsdWRlICJXTUxWYXJpYWJsZXMuaCIKLSNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+Ci0j
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVz
aW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKLQotV01MU2VsZWN0RWxlbWVudDo6V01MU2VsZWN0RWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi0g
ICAgOiBXTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCi0gICAgLCBtX2lu
aXRpYWxpemVkKGZhbHNlKQotewotfQotCi1QYXNzUmVmUHRyPFdNTFNlbGVjdEVsZW1lbnQ+IFdN
TFNlbGVjdEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxTZWxlY3RFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Ci19Ci0KLVdNTFNlbGVjdEVsZW1lbnQ6On5XTUxTZWxl
Y3RFbGVtZW50KCkKLXsKLX0KLQotY29uc3QgQXRvbWljU3RyaW5nJiBXTUxTZWxlY3RFbGVtZW50
Ojpmb3JtQ29udHJvbE5hbWUoKSBjb25zdAotewotICAgIEF0b21pY1N0cmluZyBuYW1lID0gdGhp
cy0+bmFtZSgpOwotICAgIHJldHVybiBuYW1lLmlzTnVsbCgpID8gZW1wdHlBdG9tIDogbmFtZTsK
LX0KLQotY29uc3QgQXRvbWljU3RyaW5nJiBXTUxTZWxlY3RFbGVtZW50Ojpmb3JtQ29udHJvbFR5
cGUoKSBjb25zdAotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5n
LCBzZWxlY3RNdWx0aXBsZSwgKCJzZWxlY3QtbXVsdGlwbGUiKSk7Ci0gICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHNlbGVjdE9uZSwgKCJzZWxlY3Qtb25lIikpOwot
ICAgIHJldHVybiBtX2RhdGEubXVsdGlwbGUoKSA/IHNlbGVjdE11bHRpcGxlIDogc2VsZWN0T25l
OwotfQotCi1ib29sIFdNTFNlbGVjdEVsZW1lbnQ6OmlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9h
cmRFdmVudCogZXZlbnQpIGNvbnN0Ci17Ci0gICAgaWYgKHJlbmRlcmVyKCkpCi0gICAgICAgIHJl
dHVybiBpc0ZvY3VzYWJsZSgpOwotCi0gICAgcmV0dXJuIFdNTEZvcm1Db250cm9sRWxlbWVudDo6
aXNLZXlib2FyZEZvY3VzYWJsZShldmVudCk7Ci19Ci0KLWJvb2wgV01MU2VsZWN0RWxlbWVudDo6
aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0Ci17Ci0gICAgaWYgKHJlbmRlcmVyKCkpCi0gICAgICAg
IHJldHVybiBpc0ZvY3VzYWJsZSgpOwotCi0gICAgcmV0dXJuIFdNTEZvcm1Db250cm9sRWxlbWVu
dDo6aXNNb3VzZUZvY3VzYWJsZSgpOwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1lbnQ6OnNlbGVj
dEFsbCgpCi17Ci0gICAgU2VsZWN0RWxlbWVudDo6c2VsZWN0QWxsKG1fZGF0YSwgdGhpcyk7Ci19
Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6cmVjYWxjU3R5bGUoU3R5bGVDaGFuZ2UgY2hhbmdl
KQotewotICAgIFdNTEZvcm1Db250cm9sRWxlbWVudDo6cmVjYWxjU3R5bGUoY2hhbmdlKTsKLX0K
LQotdm9pZCBXTUxTZWxlY3RFbGVtZW50OjpkaXNwYXRjaEZvY3VzRXZlbnQoKQotewotICAgIFNl
bGVjdEVsZW1lbnQ6OmRpc3BhdGNoRm9jdXNFdmVudChtX2RhdGEsIHRoaXMpOwotICAgIFdNTEZv
cm1Db250cm9sRWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0V2ZW50KCk7Ci19Ci0KLXZvaWQgV01MU2Vs
ZWN0RWxlbWVudDo6ZGlzcGF0Y2hCbHVyRXZlbnQoKQotewotICAgIFNlbGVjdEVsZW1lbnQ6OmRp
c3BhdGNoQmx1ckV2ZW50KG1fZGF0YSwgdGhpcyk7Ci0gICAgV01MRm9ybUNvbnRyb2xFbGVtZW50
OjpkaXNwYXRjaEJsdXJFdmVudCgpOwotfQotCi1pbnQgV01MU2VsZWN0RWxlbWVudDo6c2VsZWN0
ZWRJbmRleCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFNlbGVjdEVsZW1lbnQ6OnNlbGVjdGVkSW5k
ZXgobV9kYXRhLCB0aGlzKTsKLX0KLSAgICAKLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6c2V0U2Vs
ZWN0ZWRJbmRleChpbnQgb3B0aW9uSW5kZXgsIGJvb2wgZGVzZWxlY3QpCi17Ci0gICAgU2VsZWN0
RWxlbWVudDo6c2V0U2VsZWN0ZWRJbmRleChtX2RhdGEsIHRoaXMsIG9wdGlvbkluZGV4LCBkZXNl
bGVjdCwgZmFsc2UsIGZhbHNlKTsKLX0KLQotdm9pZCBXTUxTZWxlY3RFbGVtZW50OjpzZXRTZWxl
Y3RlZEluZGV4QnlVc2VyKGludCBvcHRpb25JbmRleCwgYm9vbCBkZXNlbGVjdCwgYm9vbCBmaXJl
T25DaGFuZ2VOb3csIGJvb2wgYWxsb3dNdWx0aXBsZVNlbGVjdGlvbikKLXsKLSAgICBVTlVTRURf
UEFSQU0oYWxsb3dNdWx0aXBsZVNlbGVjdGlvbik7Ci0gICAgU2VsZWN0RWxlbWVudDo6c2V0U2Vs
ZWN0ZWRJbmRleChtX2RhdGEsIHRoaXMsIG9wdGlvbkluZGV4LCBkZXNlbGVjdCwgZmlyZU9uQ2hh
bmdlTm93LCB0cnVlKTsKLX0KLQotYm9vbCBXTUxTZWxlY3RFbGVtZW50OjpzYXZlRm9ybUNvbnRy
b2xTdGF0ZShTdHJpbmcmIHZhbHVlKSBjb25zdAotewotICAgIHJldHVybiBTZWxlY3RFbGVtZW50
OjpzYXZlRm9ybUNvbnRyb2xTdGF0ZShtX2RhdGEsIHRoaXMsIHZhbHVlKTsKLX0KLQotdm9pZCBX
TUxTZWxlY3RFbGVtZW50OjpyZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZShjb25zdCBTdHJpbmcmIHN0
YXRlKQotewotICAgIFNlbGVjdEVsZW1lbnQ6OnJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKG1fZGF0
YSwgdGhpcywgc3RhdGUpOwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1lbnQ6OmNoaWxkcmVuQ2hh
bmdlZChib29sIGNoYW5nZWRCeVBhcnNlciwgTm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRl
ckNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0YSkKLXsKLSAgICBTZWxlY3RFbGVtZW50OjpzZXRS
ZWNhbGNMaXN0SXRlbXMobV9kYXRhLCB0aGlzKTsKLSAgICBXTUxGb3JtQ29udHJvbEVsZW1lbnQ6
OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFu
Z2UsIGNoaWxkQ291bnREZWx0YSk7Ci19Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKSAKLXsKLSAgICBpZiAoYXR0ci0+bmFtZSgp
ID09IEhUTUxOYW1lczo6bXVsdGlwbGVBdHRyKQotICAgICAgICBTZWxlY3RFbGVtZW50OjpwYXJz
ZU11bHRpcGxlQXR0cmlidXRlKG1fZGF0YSwgdGhpcywgYXR0cik7Ci0gICAgZWxzZQotICAgICAg
ICBXTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwotfQot
Ci1SZW5kZXJPYmplY3QqIFdNTFNlbGVjdEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFy
ZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQotewotICAgIGlmIChtX2RhdGEudXNlc01lbnVMaXN0
KCkpCi0gICAgICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJNZW51TGlzdCh0aGlzKTsKLSAg
ICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyTGlzdEJveCh0aGlzKTsKLX0KLQotYm9vbCBXTUxT
ZWxlY3RFbGVtZW50OjphcHBlbmRGb3JtRGF0YShGb3JtRGF0YUxpc3QmIGxpc3QsIGJvb2wpCi17
Ci0gICAgcmV0dXJuIFNlbGVjdEVsZW1lbnQ6OmFwcGVuZEZvcm1EYXRhKG1fZGF0YSwgdGhpcywg
bGlzdCk7Ci19Ci0KLWludCBXTUxTZWxlY3RFbGVtZW50OjpvcHRpb25Ub0xpc3RJbmRleChpbnQg
b3B0aW9uSW5kZXgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFNlbGVjdEVsZW1lbnQ6Om9wdGlvblRv
TGlzdEluZGV4KG1fZGF0YSwgdGhpcywgb3B0aW9uSW5kZXgpOwotfQotCi1pbnQgV01MU2VsZWN0
RWxlbWVudDo6bGlzdFRvT3B0aW9uSW5kZXgoaW50IGxpc3RJbmRleCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gU2VsZWN0RWxlbWVudDo6bGlzdFRvT3B0aW9uSW5kZXgobV9kYXRhLCB0aGlzLCBsaXN0
SW5kZXgpOwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1lbnQ6OnJlc2V0KCkKLXsKLSAgICBTZWxl
Y3RFbGVtZW50OjpyZXNldChtX2RhdGEsIHRoaXMpOwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQotewotICAgIFNlbGVjdEVsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIobV9kYXRhLCB0aGlzLCBldmVudCwgMCk7Ci0KLSAgICAv
LyBGSVhNRTogVGhlcmUgbXVzdCBiZSBhIGJldHRlciBwbGFjZSB0byB1cGRhdGUgdGhlIHBhZ2Ug
dmFyaWFibGUgc3RhdGUuIEludmVzdGlnYXRlLgotICAgIHVwZGF0ZVZhcmlhYmxlcygpOwotCi0g
ICAgaWYgKGV2ZW50LT5kZWZhdWx0SGFuZGxlZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBX
TUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQpOwotfQotCi12
b2lkIFdNTFNlbGVjdEVsZW1lbnQ6OmFjY2Vzc0tleUFjdGlvbihib29sIHNlbmRUb0FueUVsZW1l
bnQpCi17Ci0gICAgZm9jdXMoKTsKLSAgICBkaXNwYXRjaFNpbXVsYXRlZENsaWNrKDAsIHNlbmRU
b0FueUVsZW1lbnQpOwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1lbnQ6OnNldEFjdGl2ZVNlbGVj
dGlvbkFuY2hvckluZGV4KGludCBpbmRleCkKLXsKLSAgICBTZWxlY3RFbGVtZW50OjpzZXRBY3Rp
dmVTZWxlY3Rpb25BbmNob3JJbmRleChtX2RhdGEsIHRoaXMsIGluZGV4KTsKLX0KLSAgICAKLXZv
aWQgV01MU2VsZWN0RWxlbWVudDo6c2V0QWN0aXZlU2VsZWN0aW9uRW5kSW5kZXgoaW50IGluZGV4
KQotewotICAgIFNlbGVjdEVsZW1lbnQ6OnNldEFjdGl2ZVNlbGVjdGlvbkVuZEluZGV4KG1fZGF0
YSwgaW5kZXgpOwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1lbnQ6OnVwZGF0ZUxpc3RCb3hTZWxl
Y3Rpb24oYm9vbCBkZXNlbGVjdE90aGVyT3B0aW9ucykKLXsKLSAgICBTZWxlY3RFbGVtZW50Ojp1
cGRhdGVMaXN0Qm94U2VsZWN0aW9uKG1fZGF0YSwgdGhpcywgZGVzZWxlY3RPdGhlck9wdGlvbnMp
OwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hPbkNoYW5nZSgpCi17Ci0gICAg
U2VsZWN0RWxlbWVudDo6bGlzdEJveE9uQ2hhbmdlKG1fZGF0YSwgdGhpcyk7Ci19Ci0KLXZvaWQg
V01MU2VsZWN0RWxlbWVudDo6bWVudUxpc3RPbkNoYW5nZSgpCi17Ci0gICAgU2VsZWN0RWxlbWVu
dDo6bWVudUxpc3RPbkNoYW5nZShtX2RhdGEsIHRoaXMpOwotfQotCi1pbnQgV01MU2VsZWN0RWxl
bWVudDo6YWN0aXZlU2VsZWN0aW9uU3RhcnRMaXN0SW5kZXgoKSBjb25zdAotewotICAgIGlmICht
X2RhdGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgoKSA+PSAwKQotICAgICAgICByZXR1cm4g
bV9kYXRhLmFjdGl2ZVNlbGVjdGlvbkFuY2hvckluZGV4KCk7Ci0gICAgcmV0dXJuIG9wdGlvblRv
TGlzdEluZGV4KHNlbGVjdGVkSW5kZXgoKSk7Ci19Ci0KLWludCBXTUxTZWxlY3RFbGVtZW50Ojph
Y3RpdmVTZWxlY3Rpb25FbmRMaXN0SW5kZXgoKSBjb25zdAotewotICAgIGlmIChtX2RhdGEuYWN0
aXZlU2VsZWN0aW9uRW5kSW5kZXgoKSA+PSAwKQotICAgICAgICByZXR1cm4gbV9kYXRhLmFjdGl2
ZVNlbGVjdGlvbkVuZEluZGV4KCk7Ci0gICAgcmV0dXJuIFNlbGVjdEVsZW1lbnQ6Omxhc3RTZWxl
Y3RlZExpc3RJbmRleChtX2RhdGEsIHRoaXMpOwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1lbnQ6
OmFjY2Vzc0tleVNldFNlbGVjdGVkSW5kZXgoaW50IGluZGV4KQotewotICAgIFNlbGVjdEVsZW1l
bnQ6OmFjY2Vzc0tleVNldFNlbGVjdGVkSW5kZXgobV9kYXRhLCB0aGlzLCBpbmRleCk7Ci19Ci0K
LXZvaWQgV01MU2VsZWN0RWxlbWVudDo6c2V0UmVjYWxjTGlzdEl0ZW1zKCkKLXsKLSAgICBTZWxl
Y3RFbGVtZW50OjpzZXRSZWNhbGNMaXN0SXRlbXMobV9kYXRhLCB0aGlzKTsKLX0KLQotdm9pZCBX
TUxTZWxlY3RFbGVtZW50OjpzY3JvbGxUb1NlbGVjdGlvbigpCi17Ci0gICAgU2VsZWN0RWxlbWVu
dDo6c2Nyb2xsVG9TZWxlY3Rpb24obV9kYXRhLCB0aGlzKTsKLX0KLQotdm9pZCBXTUxTZWxlY3RF
bGVtZW50OjpzZWxlY3RJbml0aWFsT3B0aW9ucygpCi17Ci0gICAgLy8gU3BlYzogU3RlcCAxIC0g
dGhlIGRlZmF1bHQgb3B0aW9uIGluZGV4IGlzIGRldGVybWluZWQgdXNpbmcgaW5hbWUgYW5kIGl2
YWx1ZQotICAgIGNhbGN1bGF0ZURlZmF1bHRPcHRpb25JbmRpY2VzKCk7Ci0KLSAgICBpZiAobV9k
ZWZhdWx0T3B0aW9uSW5kaWNlcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9pbml0aWFsaXplZCA9
IHRydWU7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBTcGVjOiBTdGVwIDIg4oCT
IGluaXRpYWxpc2UgdmFyaWFibGVzCi0gICAgaW5pdGlhbGl6ZVZhcmlhYmxlcygpOwotCi0gICAg
Ly8gU3BlYzogU3RlcCAzIOKAkyBwcmUtc2VsZWN0IG9wdGlvbihzKSBzcGVjaWZpZWQgYnkgdGhl
IGRlZmF1bHQgb3B0aW9uIGluZGV4IAotICAgIHNlbGVjdERlZmF1bHRPcHRpb25zKCk7Ci0gICAg
bV9pbml0aWFsaXplZCA9IHRydWU7Ci19Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVudDo6aW5zZXJ0
ZWRJbnRvVHJlZShib29sIGRlZXApCi17Ci0gICAgU2VsZWN0RWxlbWVudDo6aW5zZXJ0ZWRJbnRv
VHJlZShtX2RhdGEsIHRoaXMpOwotICAgIFdNTEZvcm1Db250cm9sRWxlbWVudDo6aW5zZXJ0ZWRJ
bnRvVHJlZShkZWVwKTsKLX0KLQotdm9pZCBXTUxTZWxlY3RFbGVtZW50OjpjYWxjdWxhdGVEZWZh
dWx0T3B0aW9uSW5kaWNlcygpCi17Ci0gICAgV01MUGFnZVN0YXRlKiBwYWdlU3RhdGUgPSB3bWxQ
YWdlU3RhdGVGb3JEb2N1bWVudChkb2N1bWVudCgpKTsKLSAgICBpZiAoIXBhZ2VTdGF0ZSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgU3RyaW5nIHZhcmlhYmxlOwotCi0gICAgLy8gU3BlYzogSWYg
dGhlICdpbmFtZScgYXR0cmlidXRlIGlzIHNwZWNpZmllZCBhbmQgbmFtZXMgYSB2YXJpYWJsZSB0
aGF0IGlzIHNldCwKLSAgICAvLyB0aGVuIHRoZSBkZWZhdWx0IG9wdGlvbiBpbmRleCBpcyB0aGUg
dmFsaWRhdGVkIHZhbHVlIG9mIHRoYXQgdmFyaWFibGUuIAotICAgIFN0cmluZyBpbmFtZSA9IHRo
aXMtPmluYW1lKCk7Ci0gICAgaWYgKCFpbmFtZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgdmFyaWFi
bGUgPSBwYWdlU3RhdGUtPmdldFZhcmlhYmxlKGluYW1lKTsKLSAgICAgICAgaWYgKCF2YXJpYWJs
ZS5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtX2RlZmF1bHRPcHRpb25JbmRpY2VzID0gcGFyc2VJ
bmRleFZhbHVlU3RyaW5nKHZhcmlhYmxlKTsKLSAgICB9Ci0KLSAgICAvLyBTcGVjOiBJZiB0aGUg
ZGVmYXVsdCBvcHRpb24gaW5kZXggaXMgZW1wdHkgYW5kIHRoZSAnaXZhbHVlJyBhdHRyaWJ1dGUg
aXMgc3BlY2lmaWVkLAotICAgIC8vIHRoZW4gdGhlIGRlZmF1bHQgb3B0aW9uIGluZGV4IGlzIHRo
ZSB2YWxpZGF0ZWQgYXR0cmlidXRlIHZhbHVlLgotICAgIFN0cmluZyBpdmFsdWUgPSB0aGlzLT5p
dmFsdWUoKTsKLSAgICBpZiAobV9kZWZhdWx0T3B0aW9uSW5kaWNlcy5pc0VtcHR5KCkgJiYgIWl2
YWx1ZS5pc0VtcHR5KCkpCi0gICAgICAgIG1fZGVmYXVsdE9wdGlvbkluZGljZXMgPSBwYXJzZUlu
ZGV4VmFsdWVTdHJpbmcoaXZhbHVlKTsKLQotICAgIC8vIFNwZWM6IElmIHRoZSBkZWZhdWx0IG9w
dGlvbiBpbmRleCBpcyBlbXB0eSwgYW5kIHRoZSAnbmFtZScgYXR0cmlidXRlIGlzIHNwZWNpZmll
ZAotICAgIC8vIGFuZCB0aGUgJ25hbWUnIHR0cmlidXRlIG5hbWVzIGEgdmFyaWFibGUgdGhhdCBp
cyBzZXQsIHRoZW4gZm9yIGVhY2ggdmFsdWUgaW4gdGhlICduYW1lJwotICAgIC8vIHZhcmlhYmxl
IHRoYXQgaXMgcHJlc2VudCBhcyBhIHZhbHVlIGluIHRoZSBzZWxlY3QncyBvcHRpb24gZWxlbWVu
dHMsIHRoZSBpbmRleCBvZiB0aGUKLSAgICAvLyBmaXJzdCBvcHRpb24gZWxlbWVudCBjb250YWlu
aW5nIHRoYXQgdmFsdWUgaXMgYWRkZWQgdG8gdGhlIGRlZmF1bHQgaW5kZXggaWYgdGhhdAotICAg
IC8vIGluZGV4IGhhcyBub3QgYmVlbiBwcmV2aW91c2x5IGFkZGVkLiAKLSAgICBTdHJpbmcgbmFt
ZSA9IHRoaXMtPm5hbWUoKTsKLSAgICBpZiAobV9kZWZhdWx0T3B0aW9uSW5kaWNlcy5pc0VtcHR5
KCkgJiYgIW5hbWUuaXNFbXB0eSgpKSB7Ci0gICAgICAgIHZhcmlhYmxlID0gcGFnZVN0YXRlLT5n
ZXRWYXJpYWJsZShuYW1lKTsKLSAgICAgICAgaWYgKCF2YXJpYWJsZS5pc0VtcHR5KCkpCi0gICAg
ICAgICAgICBtX2RlZmF1bHRPcHRpb25JbmRpY2VzID0gdmFsdWVTdHJpbmdUb09wdGlvbkluZGlj
ZXModmFyaWFibGUpOwotICAgIH0KLQotICAgIFN0cmluZyB2YWx1ZSA9IHBhcnNlVmFsdWVTdWJz
dGl0dXRpbmdWYXJpYWJsZVJlZmVyZW5jZXMoZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6dmFsdWVB
dHRyKSk7Ci0KLSAgICAvLyBTcGVjOiBJZiB0aGUgZGVmYXVsdCBvcHRpb24gaW5kZXggaXMgZW1w
dHkgYW5kIHRoZSAndmFsdWUnIGF0dHJpYnV0ZSBpcyBzcGVjaWZpZWQgdGhlbgotICAgIC8vIGZv
ciBlYWNoICB2YWx1ZSBpbiB0aGUgJ3ZhbHVlJyBhdHRyaWJ1dGUgdGhhdCBpcyBwcmVzZW50IGFz
IGEgdmFsdWUgaW4gdGhlIHNlbGVjdCdzCi0gICAgLy8gb3B0aW9uIGVsZW1lbnRzLCB0aGUgaW5k
ZXggb2YgdGhlIGZpcnN0IG9wdGlvbiBlbGVtZW50IGNvbnRhaW5pbmcgdGhhdCB2YWx1ZSBpcyBh
ZGRlZAotICAgIC8vIHRvIHRoZSBkZWZhdWx0IGluZGV4IGlmIHRoYXQgaW5kZXggaGFzIG5vdCBi
ZWVuIHByZXZpb3VzbHkgYWRkZWQuIAotICAgIGlmIChtX2RlZmF1bHRPcHRpb25JbmRpY2VzLmlz
RW1wdHkoKSAmJiAhdmFsdWUuaXNFbXB0eSgpKQotICAgICAgICBtX2RlZmF1bHRPcHRpb25JbmRp
Y2VzID0gdmFsdWVTdHJpbmdUb09wdGlvbkluZGljZXModmFsdWUpOwotCi0gICAgLy8gU3BlYzog
SWYgdGhlIGRlZmF1bHQgb3B0aW9uIGluZGV4IGlzIGVtcHR5IGFuZCB0aGUgc2VsZWN0IGlzIGEg
bXVsdGktY2hvaWNlLCB0aGVuIHRoZQotICAgIC8vIGRlZmF1bHQgb3B0aW9uIGluZGV4IGlzIHNl
dCB0byB6ZXJvLiBJZiB0aGUgc2VsZWN0IGlzIHNpbmdsZS1jaG9pY2UsIHRoZW4gdGhlIGRlZmF1
bHQKLSAgICAvLyBvcHRpb24gaW5kZXggaXMgc2V0IHRvIG9uZS4KLSAgICBpZiAobV9kZWZhdWx0
T3B0aW9uSW5kaWNlcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fZGVmYXVsdE9wdGlvbkluZGljZXMu
YXBwZW5kKCh1bnNpZ25lZCkgIW1fZGF0YS5tdWx0aXBsZSgpKTsKLX0KLQotdm9pZCBXTUxTZWxl
Y3RFbGVtZW50OjpzZWxlY3REZWZhdWx0T3B0aW9ucygpCi17Ci0gICAgQVNTRVJUKCFtX2RlZmF1
bHRPcHRpb25JbmRpY2VzLmlzRW1wdHkoKSk7Ci0KLSAgICBpZiAoIW1fZGF0YS5tdWx0aXBsZSgp
KSB7Ci0gICAgICAgIHNldFNlbGVjdGVkSW5kZXgobV9kZWZhdWx0T3B0aW9uSW5kaWNlcy5maXJz
dCgpIC0gMSwgZmFsc2UpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgVmVjdG9yPHVu
c2lnbmVkPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9kZWZhdWx0T3B0aW9uSW5kaWNlcy5lbmQo
KTsKLSAgICBmb3IgKFZlY3Rvcjx1bnNpZ25lZD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9kZWZh
dWx0T3B0aW9uSW5kaWNlcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIHNldFNl
bGVjdGVkSW5kZXgoKCppdCkgLSAxLCBmYWxzZSk7Ci19Ci0KLXZvaWQgV01MU2VsZWN0RWxlbWVu
dDo6aW5pdGlhbGl6ZVZhcmlhYmxlcygpCi17Ci0gICAgQVNTRVJUKCFtX2RlZmF1bHRPcHRpb25J
bmRpY2VzLmlzRW1wdHkoKSk7Ci0KLSAgICBXTUxQYWdlU3RhdGUqIHBhZ2VTdGF0ZSA9IHdtbFBh
Z2VTdGF0ZUZvckRvY3VtZW50KGRvY3VtZW50KCkpOwotICAgIGlmICghcGFnZVN0YXRlKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IG1fZGF0
YS5saXN0SXRlbXModGhpcyk7Ci0gICAgaWYgKGl0ZW1zLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgLy8gU3BlYzogSWYgdGhlICdpbmFtZScgYXR0cmlidXRlIGlzIHNwZWNpZmll
ZCwgdGhlbiB0aGUgbmFtZWQgdmFyaWFibGUgaXMgc2V0IHdpdGggdGhlIGRlZmF1bHQgb3B0aW9u
IGluZGV4LiAKLSAgICBTdHJpbmcgaW5hbWUgPSB0aGlzLT5pbmFtZSgpOwotICAgIGlmICghaW5h
bWUuaXNFbXB0eSgpKQotICAgICAgICBwYWdlU3RhdGUtPnN0b3JlVmFyaWFibGUoaW5hbWUsIG9w
dGlvbkluZGljZXNUb1N0cmluZygpKTsKLQotICAgIFN0cmluZyBuYW1lID0gdGhpcy0+bmFtZSgp
OwotICAgIGlmIChuYW1lLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1f
ZGF0YS5tdWx0aXBsZSgpKSB7Ci0gICAgICAgIC8vIFNwZWM6IElmIHRoZSAnbmFtZScgYXR0cmli
dXRlIGlzIHNwZWNpZmllZCBhbmQgdGhlIHNlbGVjdCBpcyBhIG11bHRpcGxlLWNob2ljZSBlbGVt
ZW50LAotICAgICAgICAvLyB0aGVuIGZvciBlYWNoIGluZGV4IGdyZWF0ZXIgdGhhbiB6ZXJvLCB0
aGUgdmFsdWUgb2YgdGhlICd2YWx1ZScgYXR0cmlidXRlIG9uIHRoZSBvcHRpb24KLSAgICAgICAg
Ly8gZWxlbWVudCBhdCB0aGUgaW5kZXggaXMgYWRkZWQgdG8gdGhlIG5hbWUgdmFyaWFibGUuIAot
ICAgICAgICBwYWdlU3RhdGUtPnN0b3JlVmFyaWFibGUobmFtZSwgb3B0aW9uSW5kaWNlc1RvVmFs
dWVTdHJpbmcoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBTcGVjOiBJZiB0
aGUgJ25hbWUnIGF0dHJpYnV0ZSBpcyBzcGVjaWZpZWQgYW5kIHRoZSBzZWxlY3QgaXMgYSBzaW5n
bGUtY2hvaWNlIGVsZW1lbnQsCi0gICAgLy8gdGhlbiB0aGUgbmFtZWQgdmFyaWFibGUgaXMgc2V0
IHdpdGggdGhlIHZhbHVlIG9mIHRoZSAndmFsdWUnIGF0dHJpYnV0ZSBvbiB0aGUgb3B0aW9uCi0g
ICAgLy8gZWxlbWVudCBhdCB0aGUgZGVmYXVsdCBvcHRpb24gaW5kZXguIAotICAgIHVuc2lnbmVk
IG9wdGlvbkluZGV4ID0gbV9kZWZhdWx0T3B0aW9uSW5kaWNlcy5maXJzdCgpOwotICAgIEFTU0VS
VChvcHRpb25JbmRleCA+PSAxKTsKLQotICAgIGludCBsaXN0SW5kZXggPSBvcHRpb25Ub0xpc3RJ
bmRleChvcHRpb25JbmRleCAtIDEpOwotICAgIEFTU0VSVChsaXN0SW5kZXggPj0gMCk7Ci0gICAg
QVNTRVJUKGxpc3RJbmRleCA8IChpbnQpIGl0ZW1zLnNpemUoKSk7Ci0KLSAgICBpZiAoT3B0aW9u
RWxlbWVudCogb3B0aW9uRWxlbWVudCA9IHRvT3B0aW9uRWxlbWVudChpdGVtc1tsaXN0SW5kZXhd
KSkKLSAgICAgICAgcGFnZVN0YXRlLT5zdG9yZVZhcmlhYmxlKG5hbWUsIG9wdGlvbkVsZW1lbnQt
PnZhbHVlKCkpOwotfQotCi12b2lkIFdNTFNlbGVjdEVsZW1lbnQ6OnVwZGF0ZVZhcmlhYmxlcygp
Ci17Ci0gICAgV01MUGFnZVN0YXRlKiBwYWdlU3RhdGUgPSB3bWxQYWdlU3RhdGVGb3JEb2N1bWVu
dChkb2N1bWVudCgpKTsKLSAgICBpZiAoIXBhZ2VTdGF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgU3RyaW5nIG5hbWUgPSB0aGlzLT5uYW1lKCk7Ci0gICAgU3RyaW5nIGluYW1lID0gdGhpcy0+
aW5hbWUoKTsKLSAgICBpZiAoaW5hbWUuaXNFbXB0eSgpICYmIG5hbWUuaXNFbXB0eSgpKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBTdHJpbmcgbmFtZVN0cmluZzsKLSAgICBTdHJpbmcgaW5hbWVT
dHJpbmc7Ci0KLSAgICB1bnNpZ25lZCBvcHRpb25JbmRleCA9IDA7Ci0gICAgY29uc3QgVmVjdG9y
PEVsZW1lbnQqPiYgaXRlbXMgPSBtX2RhdGEubGlzdEl0ZW1zKHRoaXMpOwotCi0gICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IGl0ZW1zLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIE9wdGlvbkVs
ZW1lbnQqIG9wdGlvbkVsZW1lbnQgPSB0b09wdGlvbkVsZW1lbnQoaXRlbXNbaV0pOwotICAgICAg
ICBpZiAoIW9wdGlvbkVsZW1lbnQpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAr
K29wdGlvbkluZGV4OwotICAgICAgICBpZiAoIW9wdGlvbkVsZW1lbnQtPnNlbGVjdGVkKCkpCi0g
ICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBpZiAoIW5hbWVTdHJpbmcuaXNFbXB0eSgp
KQotICAgICAgICAgICAgbmFtZVN0cmluZyArPSAiOyI7Ci0KLSAgICAgICAgaWYgKCFpbmFtZVN0
cmluZy5pc0VtcHR5KCkpCi0gICAgICAgICAgICBpbmFtZVN0cmluZyArPSAiOyI7Ci0KLSAgICAg
ICAgbmFtZVN0cmluZyArPSBvcHRpb25FbGVtZW50LT52YWx1ZSgpOwotICAgICAgICBpbmFtZVN0
cmluZyArPSBTdHJpbmc6Om51bWJlcihvcHRpb25JbmRleCk7Ci0gICAgfQotCi0gICAgaWYgKCFu
YW1lLmlzRW1wdHkoKSkKLSAgICAgICAgcGFnZVN0YXRlLT5zdG9yZVZhcmlhYmxlKG5hbWUsIG5h
bWVTdHJpbmcpOwotCi0gICAgaWYgKCFpbmFtZS5pc0VtcHR5KCkpCi0gICAgICAgIHBhZ2VTdGF0
ZS0+c3RvcmVWYXJpYWJsZShpbmFtZSwgaW5hbWVTdHJpbmcpOwotfQotCi1WZWN0b3I8dW5zaWdu
ZWQ+IFdNTFNlbGVjdEVsZW1lbnQ6OnBhcnNlSW5kZXhWYWx1ZVN0cmluZyhjb25zdCBTdHJpbmcm
IGluZGV4VmFsdWUpIGNvbnN0Ci17Ci0gICAgVmVjdG9yPHVuc2lnbmVkPiBpbmRpY2VzOwotICAg
IGlmIChpbmRleFZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGluZGljZXM7Ci0KLSAg
ICBWZWN0b3I8U3RyaW5nPiBpbmRleFN0cmluZ3M7Ci0gICAgaW5kZXhWYWx1ZS5zcGxpdCgnOycs
IGluZGV4U3RyaW5ncyk7Ci0KLSAgICBib29sIG9rID0gZmFsc2U7Ci0gICAgdW5zaWduZWQgb3B0
aW9uQ291bnQgPSBTZWxlY3RFbGVtZW50OjpvcHRpb25Db3VudChtX2RhdGEsIHRoaXMpOwotCi0g
ICAgVmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGluZGV4U3RyaW5ncy5lbmQo
KTsKLSAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGluZGV4U3Ry
aW5ncy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgdW5zaWduZWQgcGFyc2Vk
VmFsdWUgPSAoKml0KS50b1VJbnRTdHJpY3QoJm9rKTsKLSAgICAgICAgLy8gU3BlYzogUmVtb3Zl
IGFsbCBub24taW50ZWdlciBpbmRpY2VzIGZyb20gdGhlIHZhbHVlLiBSZW1vdmUgYWxsIG91dC1v
Zi1yYW5nZSBpbmRpY2VzCi0gICAgICAgIC8vIGZyb20gdGhlIHZhbHVlLCB3aGVyZSBvdXQtb2Yt
cmFuZ2UgaXMgZGVmaW5lZCBhcyBhbnkgaW5kZXggd2l0aCBhIHZhbHVlIGdyZWF0ZXIgdGhhbgot
ICAgICAgICAvLyB0aGUgbnVtYmVyIG9mIG9wdGlvbnMgaW4gdGhlIHNlbGVjdCBvciB3aXRoIGEg
dmFsdWUgbGVzcyB0aGFuIG9uZS4gCi0gICAgICAgIGlmICghb2sgfHwgcGFyc2VkVmFsdWUgPCAx
IHx8IHBhcnNlZFZhbHVlID4gb3B0aW9uQ291bnQpCi0gICAgICAgICAgICBjb250aW51ZTsKLQot
ICAgICAgICAvLyBTcGVjOiBSZW1vdmUgZHVwbGljYXRlIGluZGljZXMuCi0gICAgICAgIGlmIChp
bmRpY2VzLmZpbmQocGFyc2VkVmFsdWUpID09IG5vdEZvdW5kKQotICAgICAgICAgICAgaW5kaWNl
cy5hcHBlbmQocGFyc2VkVmFsdWUpOwotICAgIH0KLQotICAgIHJldHVybiBpbmRpY2VzOwotfQot
Ci1WZWN0b3I8dW5zaWduZWQ+IFdNTFNlbGVjdEVsZW1lbnQ6OnZhbHVlU3RyaW5nVG9PcHRpb25J
bmRpY2VzKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0Ci17Ci0gICAgVmVjdG9yPHVuc2lnbmVk
PiBpbmRpY2VzOwotICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBpbmRp
Y2VzOwotCi0gICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiYgaXRlbXMgPSBtX2RhdGEubGlzdEl0
ZW1zKHRoaXMpOwotICAgIGlmIChpdGVtcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBpbmRp
Y2VzOwotCi0gICAgVmVjdG9yPFN0cmluZz4gaW5kZXhTdHJpbmdzOwotICAgIHZhbHVlLnNwbGl0
KCc7JywgaW5kZXhTdHJpbmdzKTsKLQotICAgIHVuc2lnbmVkIG9wdGlvbkluZGV4ID0gMDsKLQot
ICAgIFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBpbmRleFN0cmluZ3MuZW5k
KCk7Ci0gICAgZm9yIChWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBpbmRleFN0
cmluZ3MuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFN0cmluZyB2YWx1ZSA9
ICppdDsKLQotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgaXRlbXMuc2l6ZSgpOyAr
K2kpIHsKLSAgICAgICAgICAgIGlmICghaXNPcHRpb25FbGVtZW50KGl0ZW1zW2ldKSkKLSAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgKytvcHRpb25JbmRleDsKLSAgICAg
ICAgICAgIGlmIChPcHRpb25FbGVtZW50KiBvcHRpb25FbGVtZW50ID0gdG9PcHRpb25FbGVtZW50
KGl0ZW1zW2ldKSkgewotICAgICAgICAgICAgICAgIGlmIChvcHRpb25FbGVtZW50LT52YWx1ZSgp
ID09IHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGluZGljZXMuYXBwZW5kKG9wdGlvbklu
ZGV4KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIGluZGljZXM7Ci19Ci0K
LVN0cmluZyBXTUxTZWxlY3RFbGVtZW50OjpvcHRpb25JbmRpY2VzVG9WYWx1ZVN0cmluZygpIGNv
bnN0Ci17Ci0gICAgU3RyaW5nIHZhbHVlU3RyaW5nOwotICAgIGlmIChtX2RlZmF1bHRPcHRpb25J
bmRpY2VzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHZhbHVlU3RyaW5nOwotCi0gICAgY29u
c3QgVmVjdG9yPEVsZW1lbnQqPiYgaXRlbXMgPSBtX2RhdGEubGlzdEl0ZW1zKHRoaXMpOwotICAg
IGlmIChpdGVtcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiB2YWx1ZVN0cmluZzsKLQotICAg
IFZlY3Rvcjx1bnNpZ25lZD46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fZGVmYXVsdE9wdGlvbklu
ZGljZXMuZW5kKCk7Ci0gICAgZm9yIChWZWN0b3I8dW5zaWduZWQ+Ojpjb25zdF9pdGVyYXRvciBp
dCA9IG1fZGVmYXVsdE9wdGlvbkluZGljZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0g
ICAgICAgIHVuc2lnbmVkIG9wdGlvbkluZGV4ID0gKCppdCk7Ci0gICAgICAgIGlmIChvcHRpb25J
bmRleCA8IDEgfHwgb3B0aW9uSW5kZXggPiBpdGVtcy5zaXplKCkpCi0gICAgICAgICAgICBjb250
aW51ZTsKLQotICAgICAgICBpbnQgbGlzdEluZGV4ID0gb3B0aW9uVG9MaXN0SW5kZXgoKCppdCkg
LSAxKTsKLSAgICAgICAgQVNTRVJUKGxpc3RJbmRleCA+PSAwKTsKLSAgICAgICAgQVNTRVJUKGxp
c3RJbmRleCA8IChpbnQpIGl0ZW1zLnNpemUoKSk7Ci0KLSAgICAgICAgaWYgKE9wdGlvbkVsZW1l
bnQqIG9wdGlvbkVsZW1lbnQgPSB0b09wdGlvbkVsZW1lbnQoaXRlbXNbbGlzdEluZGV4XSkpIHsK
LSAgICAgICAgICAgIGlmICghdmFsdWVTdHJpbmcuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAg
IHZhbHVlU3RyaW5nICs9ICI7IjsKLQotICAgICAgICAgICAgdmFsdWVTdHJpbmcgKz0gb3B0aW9u
RWxlbWVudC0+dmFsdWUoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiB2YWx1ZVN0
cmluZzsKLX0KLQotU3RyaW5nIFdNTFNlbGVjdEVsZW1lbnQ6Om9wdGlvbkluZGljZXNUb1N0cmlu
ZygpIGNvbnN0Ci17Ci0gICAgU3RyaW5nIHZhbHVlU3RyaW5nOwotICAgIGlmIChtX2RlZmF1bHRP
cHRpb25JbmRpY2VzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHZhbHVlU3RyaW5nOwotCi0g
ICAgVmVjdG9yPHVuc2lnbmVkPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9kZWZhdWx0T3B0aW9u
SW5kaWNlcy5lbmQoKTsKLSAgICBmb3IgKFZlY3Rvcjx1bnNpZ25lZD46OmNvbnN0X2l0ZXJhdG9y
IGl0ID0gbV9kZWZhdWx0T3B0aW9uSW5kaWNlcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
LSAgICAgICAgaWYgKCF2YWx1ZVN0cmluZy5pc0VtcHR5KCkpCi0gICAgICAgICAgICB2YWx1ZVN0
cmluZyArPSAiOyI7Ci0KLSAgICAgICAgdmFsdWVTdHJpbmcgKz0gU3RyaW5nOjpudW1iZXIoKml0
KTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdmFsdWVTdHJpbmc7Ci19Ci0KLVN0cmluZyBXTUxTZWxl
Y3RFbGVtZW50OjpuYW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4gcGFyc2VWYWx1ZUZvcmJpZGRp
bmdWYXJpYWJsZVJlZmVyZW5jZXMoZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6bmFtZUF0dHIpKTsK
LX0KLQotU3RyaW5nIFdNTFNlbGVjdEVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gcGFyc2VWYWx1ZVN1YnN0aXR1dGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhnZXRBdHRyaWJ1dGUo
SFRNTE5hbWVzOjp2YWx1ZUF0dHIpKTsKLX0KLQotU3RyaW5nIFdNTFNlbGVjdEVsZW1lbnQ6Omlu
YW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4gcGFyc2VWYWx1ZUZvcmJpZGRpbmdWYXJpYWJsZVJl
ZmVyZW5jZXMoZ2V0QXR0cmlidXRlKGluYW1lQXR0cikpOwotfQotCi1TdHJpbmcgV01MU2VsZWN0
RWxlbWVudDo6aXZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gcGFyc2VWYWx1ZVN1YnN0aXR1
dGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhnZXRBdHRyaWJ1dGUoaXZhbHVlQXR0cikpOwotfQotCi12
b2lkIFdNTFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hTZWxlY3RJdGVtKGludCwgYm9vbCwgYm9vbCwg
Ym9vbCkKLXsKLSAgICAvKiBEdW1teSBpbXBsZW1lbnRhdGlvbiBhcyBsaXN0Qm94U2VsZWN0SXRl
bSBpcyBwdXJlIHZpcnR1YWwgaW4gU2VsZWN0RWxlbWVudCBjbGFzcyAqLwotfQotCi19Ci0KLSNl
bmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTFNlbGVjdEVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MU2VsZWN0RWxlbWVudC5oCShyZXZpc2lvbiA4
NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxTZWxlY3RFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTIxICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA5IFRvcmNo
IE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxl
LmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgot
ICoKLSAqLwotCi0jaWZuZGVmIFdNTFNlbGVjdEVsZW1lbnRfaAotI2RlZmluZSBXTUxTZWxlY3RF
bGVtZW50X2gKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5jbHVkZSAiV01MRm9ybUNvbnRyb2xFbGVt
ZW50LmgiCi0jaW5jbHVkZSAiU2VsZWN0RWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIFdNTFNlbGVjdEVsZW1lbnQgOiBwdWJsaWMgV01MRm9ybUNvbnRyb2xFbGVtZW50
LCBwdWJsaWMgU2VsZWN0RWxlbWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
V01MU2VsZWN0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCop
OwotCi0gICAgV01MU2VsZWN0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
KTsKLSAgICB2aXJ0dWFsIH5XTUxTZWxlY3RFbGVtZW50KCk7Ci0KLSAgICB2aXJ0dWFsIGNvbnN0
IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xOYW1lKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBjb25z
dCBBdG9taWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OwotIAotICAgIHZpcnR1YWwg
Ym9vbCBpc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBjb25zdDsKLSAgICB2aXJ0
dWFsIGJvb2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBjYW5T
ZWxlY3RBbGwoKSBjb25zdCB7IHJldHVybiAhbV9kYXRhLnVzZXNNZW51TGlzdCgpOyB9Ci0gICAg
dmlydHVhbCB2b2lkIHNlbGVjdEFsbCgpOwotCi0gICAgdmlydHVhbCB2b2lkIHJlY2FsY1N0eWxl
KFN0eWxlQ2hhbmdlKTsKLQotICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEZvY3VzRXZlbnQoKTsK
LSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hCbHVyRXZlbnQoKTsKLQotICAgIHZpcnR1YWwgYm9v
bCBjYW5TdGFydFNlbGVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0KLSAgICB2aXJ0
dWFsIGludCBzZWxlY3RlZEluZGV4KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNldFNlbGVj
dGVkSW5kZXgoaW50IGluZGV4LCBib29sIGRlc2VsZWN0ID0gdHJ1ZSk7Ci0gICAgdmlydHVhbCB2
b2lkIHNldFNlbGVjdGVkSW5kZXhCeVVzZXIoaW50IGluZGV4LCBib29sIGRlc2VsZWN0ID0gdHJ1
ZSwgYm9vbCBmaXJlT25DaGFuZ2VOb3cgPSBmYWxzZSwgYm9vbCBhbGxvd011bHRpcGxlU2VsZWN0
aW9uID0gZmFsc2UpOwotCi0gICAgdmlydHVhbCBpbnQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZGF0YS5zaXplKCk7IH0KLSAgICB2aXJ0dWFsIGJvb2wgbXVsdGlwbGUoKSBjb25zdCB7IHJldHVy
biBtX2RhdGEubXVsdGlwbGUoKTsgfQotCi0gICAgdmlydHVhbCBib29sIHNhdmVGb3JtQ29udHJv
bFN0YXRlKFN0cmluZyYgdmFsdWUpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCByZXN0b3JlRm9y
bUNvbnRyb2xTdGF0ZShjb25zdCBTdHJpbmcmKTsKLQotICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJl
bkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdl
ID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7Ci0K
LSAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0KLSAg
ICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5k
ZXJTdHlsZSopOwotICAgIHZpcnR1YWwgYm9vbCBhcHBlbmRGb3JtRGF0YShGb3JtRGF0YUxpc3Qm
LCBib29sKTsKLSAgICB2aXJ0dWFsIGludCBvcHRpb25Ub0xpc3RJbmRleChpbnQgb3B0aW9uSW5k
ZXgpIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IGxpc3RUb09wdGlvbkluZGV4KGludCBsaXN0SW5k
ZXgpIGNvbnN0OwotCi0gICAgdmlydHVhbCBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBsaXN0SXRl
bXMoKSBjb25zdCB7IHJldHVybiBtX2RhdGEubGlzdEl0ZW1zKHRoaXMpOyB9Ci0gICAgdmlydHVh
bCB2b2lkIHJlc2V0KCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihF
dmVudCopOwotICAgIHZpcnR1YWwgdm9pZCBhY2Nlc3NLZXlBY3Rpb24oYm9vbCBzZW5kVG9BbnlF
bGVtZW50KTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0QWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgo
aW50IGluZGV4KTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0QWN0aXZlU2VsZWN0aW9uRW5kSW5kZXgo
aW50IGluZGV4KTsKLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTGlzdEJveFNlbGVjdGlvbihib29s
IGRlc2VsZWN0T3RoZXJPcHRpb25zKTsKLSAgICB2aXJ0dWFsIHZvaWQgbGlzdEJveE9uQ2hhbmdl
KCk7Ci0gICAgdmlydHVhbCB2b2lkIG1lbnVMaXN0T25DaGFuZ2UoKTsKLQotICAgIHZpcnR1YWwg
aW50IGFjdGl2ZVNlbGVjdGlvblN0YXJ0TGlzdEluZGV4KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBp
bnQgYWN0aXZlU2VsZWN0aW9uRW5kTGlzdEluZGV4KCkgY29uc3Q7Ci0KLSAgICB2b2lkIGFjY2Vz
c0tleVNldFNlbGVjdGVkSW5kZXgoaW50KTsKLSAgICB2b2lkIHNldFJlY2FsY0xpc3RJdGVtcygp
OwotICAgIHZvaWQgc2Nyb2xsVG9TZWxlY3Rpb24oKTsKLSAgICB2b2lkIHNlbGVjdEluaXRpYWxP
cHRpb25zKCk7Ci0KLSAgICBib29sIGluaXRpYWxpemVkKCkgY29uc3QgeyByZXR1cm4gbV9pbml0
aWFsaXplZDsgfQotICAgIAotICAgIHZpcnR1YWwgdm9pZCBsaXN0Qm94U2VsZWN0SXRlbShpbnQg
bGlzdEluZGV4LCBib29sIGFsbG93TXVsdGlwbHlTZWxlY3Rpb25zLCBib29sIHNoaWZ0LCBib29s
IGZpcmVPbkNoYW5nZU5vdyA9IHRydWUpOwotcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgaW5z
ZXJ0ZWRJbnRvVHJlZShib29sKTsKLQotICAgIHZvaWQgY2FsY3VsYXRlRGVmYXVsdE9wdGlvbklu
ZGljZXMoKTsKLSAgICB2b2lkIHNlbGVjdERlZmF1bHRPcHRpb25zKCk7Ci0gICAgdm9pZCBpbml0
aWFsaXplVmFyaWFibGVzKCk7Ci0gICAgdm9pZCB1cGRhdGVWYXJpYWJsZXMoKTsKLQotICAgIFZl
Y3Rvcjx1bnNpZ25lZD4gcGFyc2VJbmRleFZhbHVlU3RyaW5nKGNvbnN0IFN0cmluZyYpIGNvbnN0
OwotICAgIFZlY3Rvcjx1bnNpZ25lZD4gdmFsdWVTdHJpbmdUb09wdGlvbkluZGljZXMoY29uc3Qg
U3RyaW5nJikgY29uc3Q7Ci0gICAgU3RyaW5nIG9wdGlvbkluZGljZXNUb1ZhbHVlU3RyaW5nKCkg
Y29uc3Q7Ci0gICAgU3RyaW5nIG9wdGlvbkluZGljZXNUb1N0cmluZygpIGNvbnN0OwotCi0gICAg
dmlydHVhbCB2b2lkIHVwZGF0ZVZhbGlkaXR5KCkge30KLQotICAgIFN0cmluZyBuYW1lKCkgY29u
c3Q7Ci0gICAgU3RyaW5nIHZhbHVlKCkgY29uc3Q7Ci0gICAgU3RyaW5nIGluYW1lKCkgY29uc3Q7
Ci0gICAgU3RyaW5nIGl2YWx1ZSgpIGNvbnN0OwotCi0gICAgU2VsZWN0RWxlbWVudERhdGEgbV9k
YXRhOwotICAgIGJvb2wgbV9pbml0aWFsaXplZDsKLSAgICBWZWN0b3I8dW5zaWduZWQ+IG1fZGVm
YXVsdE9wdGlvbkluZGljZXM7Ci19OwotCi19Ci0KLSNlbmRpZgotI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS93bWwvV01MU2V0dmFyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvd21sL1dNTFNldHZhckVsZW1lbnQuY3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNv
dXJjZS9XZWJDb3JlL3dtbC9XTUxTZXR2YXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MSw5NCArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoK
LSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxTZXR2
YXJFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKLSNpbmNsdWRlICJXTUxFcnJvckhhbmRsaW5nLmgiCi0jaW5jbHVkZSAiV01MVGFza0Vs
ZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxWYXJpYWJsZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1XTUxTZXR2YXJFbGVtZW50OjpXTUxTZXR2YXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxFbGVtZW50KHRhZ05hbWUsIGRv
YykKLXsKLX0KLQotUGFzc1JlZlB0cjxXTUxTZXR2YXJFbGVtZW50PiBXTUxTZXR2YXJFbGVtZW50
OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50
KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV01MU2V0dmFyRWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCkpOwotfQotCi1XTUxTZXR2YXJFbGVtZW50Ojp+V01MU2V0dmFyRWxlbWVudCgpCi17
Ci19Ci0KLXZvaWQgV01MU2V0dmFyRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmli
dXRlKiBhdHRyKQotewotICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpuYW1lQXR0
cikgewotICAgICAgICBpZiAoIWlzVmFsaWRWYXJpYWJsZU5hbWUocGFyc2VWYWx1ZVN1YnN0aXR1
dGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhhdHRyLT52YWx1ZSgpLCBXTUxFcnJvckludmFsaWRWYXJp
YWJsZU5hbWUpKSkgewotICAgICAgICAgICAgcmVwb3J0V01MRXJyb3IoZG9jdW1lbnQoKSwgV01M
RXJyb3JJbnZhbGlkVmFyaWFibGVOYW1lKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQotICAgIH0gZWxzZQotICAgICAgICBXTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShh
dHRyKTsKLX0KLQotdm9pZCBXTUxTZXR2YXJFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgp
Ci17Ci0gICAgV01MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLSAKLSAgICBDb250
YWluZXJOb2RlKiBwYXJlbnQgPSBwYXJlbnROb2RlKCk7Ci0gICAgaWYgKCFwYXJlbnQgfHwgIXBh
cmVudC0+aXNXTUxFbGVtZW50KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChzdGF0aWNf
Y2FzdDxXTUxFbGVtZW50Kj4ocGFyZW50KS0+aXNXTUxUYXNrRWxlbWVudCgpKQotICAgICAgICBz
dGF0aWNfY2FzdDxXTUxUYXNrRWxlbWVudCo+KHBhcmVudCktPnJlZ2lzdGVyVmFyaWFibGVTZXR0
ZXIodGhpcyk7Ci19Ci0KLXZvaWQgV01MU2V0dmFyRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVu
dCgpCi17Ci0gICAgQ29udGFpbmVyTm9kZSogcGFyZW50ID0gcGFyZW50Tm9kZSgpOwotICAgIGlm
IChwYXJlbnQgJiYgcGFyZW50LT5pc1dNTEVsZW1lbnQoKSkgewotICAgICAgICBpZiAoc3RhdGlj
X2Nhc3Q8V01MRWxlbWVudCo+KHBhcmVudCktPmlzV01MVGFza0VsZW1lbnQoKSkKLSAgICAgICAg
ICAgIHN0YXRpY19jYXN0PFdNTFRhc2tFbGVtZW50Kj4ocGFyZW50KS0+ZGVyZWdpc3RlclZhcmlh
YmxlU2V0dGVyKHRoaXMpOwotICAgIH0KLQotICAgIFdNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9j
dW1lbnQoKTsgCi19Ci0KLVN0cmluZyBXTUxTZXR2YXJFbGVtZW50OjpuYW1lKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gcGFyc2VWYWx1ZVN1YnN0aXR1dGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhnZXRB
dHRyaWJ1dGUoSFRNTE5hbWVzOjpuYW1lQXR0ciksIFdNTEVycm9ySW52YWxpZFZhcmlhYmxlTmFt
ZSk7Ci19Ci0KLVN0cmluZyBXTUxTZXR2YXJFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIHBhcnNlVmFsdWVTdWJzdGl0dXRpbmdWYXJpYWJsZVJlZmVyZW5jZXMoZ2V0QXR0cmli
dXRlKEhUTUxOYW1lczo6dmFsdWVBdHRyKSk7Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS93bWwvV01MU2V0dmFyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3dtbC9XTUxTZXR2YXJFbGVtZW50LmgJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNl
L1dlYkNvcmUvd21sL1dNTFNldHZhckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw0NyAr
MCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0g
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRl
ZiBXTUxTZXR2YXJFbGVtZW50X2gKLSNkZWZpbmUgV01MU2V0dmFyRWxlbWVudF9oCi0KLSNpZiBF
TkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1jbGFzcyBXTUxTZXR2YXJFbGVtZW50IDogcHVibGljIFdNTEVsZW1lbnQgewotcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdNTFNldHZhckVsZW1lbnQ+IGNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgIFdNTFNldHZhckVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLSAgICB2aXJ0dWFsIH5XTUxTZXR2
YXJFbGVtZW50KCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0
cmlidXRlKik7Ci0gICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0gICAg
dmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKLQotICAgIFN0cmluZyBuYW1lKCkg
Y29uc3Q7Ci0gICAgU3RyaW5nIHZhbHVlKCkgY29uc3Q7Ci19OwotCi19Ci0KLSNlbmRpZgotI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGFibGVFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGFibGVFbGVtZW50LmNwcAkocmV2aXNpb24g
ODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGFibGVFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwyNzUgKzAsMCBAQAotLyoqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9y
Y2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2Jp
bGUuY29tLykKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICog
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
Ci0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShXTUwpCi0jaW5j
bHVkZSAiV01MVGFibGVFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNs
dWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCi0jaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgot
I2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAi
Tm9kZUxpc3QuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKLSNpbmNsdWRlICJUZXh0Lmgi
Ci0jaW5jbHVkZSAiV01MRXJyb3JIYW5kbGluZy5oIgotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0j
aW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdNTFRhYmxlRWxlbWVudDo6V01M
VGFibGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2Mp
Ci0gICAgOiBXTUxFbGVtZW50KHRhZ05hbWUsIGRvYykKLSAgICAsIG1fY29sdW1ucygwKQotewot
fQotCi1QYXNzUmVmUHRyPFdNTFRhYmxlRWxlbWVudD4gV01MVGFibGVFbGVtZW50OjpjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgV01MVGFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7
Ci19Ci0KLVdNTFRhYmxlRWxlbWVudDo6fldNTFRhYmxlRWxlbWVudCgpCi17Ci19Ci0KLWJvb2wg
V01MVGFibGVFbGVtZW50OjptYXBUb0VudHJ5KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1l
LCBNYXBwZWRBdHRyaWJ1dGVFbnRyeSYgcmVzdWx0KSBjb25zdAotewotICAgIGlmIChhdHRyTmFt
ZSA9PSBIVE1MTmFtZXM6OmFsaWduQXR0cikgewotICAgICAgICByZXN1bHQgPSBlVGFibGU7Ci0g
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gV01MRWxlbWVudDo6bWFw
VG9FbnRyeShhdHRyTmFtZSwgcmVzdWx0KTsKLX0KLQotdm9pZCBXTUxUYWJsZUVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKLXsKLSAgICBpZiAoYXR0ci0+bmFt
ZSgpID09IGNvbHVtbnNBdHRyKSB7Ci0gICAgICAgIGJvb2wgaXNOdW1iZXIgPSBmYWxzZTsKLSAg
ICAgICAgbV9jb2x1bW5zID0gYXR0ci0+dmFsdWUoKS5zdHJpbmcoKS50b1VJbnRTdHJpY3QoJmlz
TnVtYmVyKTsKLQotICAgICAgICAvLyBTcGVjOiBUaGlzIHJlcXVpcmVkIGF0dHJpYnV0ZSBzcGVj
aWZpZXMgdGhlIG51bWJlciBvZiBjb2x1bW5zIGZvciB0aGUgdGFibGUuCi0gICAgICAgIC8vIFRo
ZSB1c2VyIGFnZW50IG11c3QgY3JlYXRlIGEgdGFibGUgd2l0aCBleGFjdGx5IHRoZSBudW1iZXIg
b2YgY29sdW1ucyBzcGVjaWZpZWQKLSAgICAgICAgLy8gYnkgdGhlIGF0dHJpYnV0ZSB2YWx1ZS4g
SXQgaXMgYW4gZXJyb3IgdG8gc3BlY2lmeSBhIHZhbHVlIG9mIHplcm8gKCIwIikKLSAgICAgICAg
aWYgKCFtX2NvbHVtbnMgfHwgIWlzTnVtYmVyKQotICAgICAgICAgICAgcmVwb3J0V01MRXJyb3Io
ZG9jdW1lbnQoKSwgV01MRXJyb3JJbnZhbGlkQ29sdW1uc051bWJlckluVGFibGUpOwotICAgIH0g
ZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6YWxpZ25BdHRyKQotICAgICAgICBt
X2FsaWdubWVudCA9IHBhcnNlVmFsdWVGb3JiaWRkaW5nVmFyaWFibGVSZWZlcmVuY2VzKGF0dHIt
PnZhbHVlKCkpOwotICAgIGVsc2UKLSAgICAgICAgV01MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUoYXR0cik7Ci19Ci0KLXZvaWQgV01MVGFibGVFbGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hp
bGRyZW4oKQotewotICAgIFdNTEVsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwotCi0g
ICAgaWYgKCFtX2NvbHVtbnMpIHsKLSAgICAgICAgcmVwb3J0V01MRXJyb3IoZG9jdW1lbnQoKSwg
V01MRXJyb3JJbnZhbGlkQ29sdW1uc051bWJlckluVGFibGUpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgVmVjdG9yPFdNTEVsZW1lbnQqPiByb3dFbGVtZW50cyA9IHNjYW5UYWJsZUNo
aWxkRWxlbWVudHModGhpcywgdHJUYWcpOwotICAgIGlmIChyb3dFbGVtZW50cy5pc0VtcHR5KCkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIFZlY3RvcjxXTUxFbGVtZW50Kj46Oml0ZXJhdG9yIGl0
ID0gcm93RWxlbWVudHMuYmVnaW4oKTsKLSAgICBWZWN0b3I8V01MRWxlbWVudCo+OjppdGVyYXRv
ciBlbmQgPSByb3dFbGVtZW50cy5lbmQoKTsKLQotICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQp
IHsKLSAgICAgICAgV01MRWxlbWVudCogcm93RWxlbWVudCA9ICgqaXQpOwotCi0gICAgICAgIC8v
IFNxdWVlemUgdGhlIHRhYmxlIHRvIGZpdCBpbiB0aGUgZGVzaXJlZCBudW1iZXIgb2YgY29sdW1u
cwotICAgICAgICBWZWN0b3I8V01MRWxlbWVudCo+IGNvbHVtbkVsZW1lbnRzID0gc2NhblRhYmxl
Q2hpbGRFbGVtZW50cyhyb3dFbGVtZW50LCB0ZFRhZyk7Ci0gICAgICAgIHVuc2lnbmVkIGFjdHVh
bE51bWJlck9mQ29sdW1ucyA9IGNvbHVtbkVsZW1lbnRzLnNpemUoKTsKLQotICAgICAgICBpZiAo
YWN0dWFsTnVtYmVyT2ZDb2x1bW5zID4gbV9jb2x1bW5zKSB7Ci0gICAgICAgICAgICBqb2luU3Vw
ZXJmbG91c0NvbHVtbnMoY29sdW1uRWxlbWVudHMsIHJvd0VsZW1lbnQpOwotICAgICAgICAgICAg
Y29sdW1uRWxlbWVudHMgPSBzY2FuVGFibGVDaGlsZEVsZW1lbnRzKHJvd0VsZW1lbnQsIHRkVGFn
KTsKLSAgICAgICAgfSBlbHNlIGlmIChhY3R1YWxOdW1iZXJPZkNvbHVtbnMgPCBtX2NvbHVtbnMp
IHsKLSAgICAgICAgICAgIHBhZFdpdGhFbXB0eUNvbHVtbnMoY29sdW1uRWxlbWVudHMsIHJvd0Vs
ZW1lbnQpOwotICAgICAgICAgICAgY29sdW1uRWxlbWVudHMgPSBzY2FuVGFibGVDaGlsZEVsZW1l
bnRzKHJvd0VsZW1lbnQsIHRkVGFnKTsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIExheW91dCBj
ZWxscyBhY2NvcmRpbmcgdG8gdGhlICdhbGlnbicgYXR0cmlidXRlCi0gICAgICAgIGFsaWduQ2Vs
bHMoY29sdW1uRWxlbWVudHMsIHJvd0VsZW1lbnQpOwotICAgIH0KLX0KLQotVmVjdG9yPFdNTEVs
ZW1lbnQqPiBXTUxUYWJsZUVsZW1lbnQ6OnNjYW5UYWJsZUNoaWxkRWxlbWVudHMoV01MRWxlbWVu
dCogc3RhcnRFbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lKSBjb25zdAotewot
ICAgIFZlY3RvcjxXTUxFbGVtZW50Kj4gY2hpbGRFbGVtZW50czsKLQotICAgIFJlZlB0cjxOb2Rl
TGlzdD4gY2hpbGRyZW4gPSBzdGFydEVsZW1lbnQtPmNoaWxkTm9kZXMoKTsKLSAgICBpZiAoIWNo
aWxkcmVuKQotICAgICAgICByZXR1cm4gY2hpbGRFbGVtZW50czsKLQotICAgIHVuc2lnbmVkIGxl
bmd0aCA9IGNoaWxkcmVuLT5sZW5ndGgoKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bGVuZ3RoOyArK2kpIHsKLSAgICAgICAgTm9kZSogY2hpbGQgPSBjaGlsZHJlbi0+aXRlbShpKTsK
LSAgICAgICAgaWYgKGNoaWxkLT5oYXNUYWdOYW1lKHRhZ05hbWUpKQotICAgICAgICAgICAgY2hp
bGRFbGVtZW50cy5hcHBlbmQoc3RhdGljX2Nhc3Q8V01MRWxlbWVudCo+KGNoaWxkKSk7Ci0gICAg
fQotCi0gICAgcmV0dXJuIGNoaWxkRWxlbWVudHM7Ci19Ci0KLXZvaWQgV01MVGFibGVFbGVtZW50
Ojp0cmFuc2ZlckFsbENoaWxkcmVuT2ZFbGVtZW50VG9UYXJnZXRFbGVtZW50KFdNTEVsZW1lbnQq
IHNvdXJjZUVsZW1lbnQsIFdNTEVsZW1lbnQqIHRhcmdldEVsZW1lbnQsIHVuc2lnbmVkIHN0YXJ0
T2Zmc2V0KSBjb25zdAotewotICAgIFJlZlB0cjxOb2RlTGlzdD4gY2hpbGRyZW4gPSBzb3VyY2VF
bGVtZW50LT5jaGlsZE5vZGVzKCk7Ci0gICAgaWYgKCFjaGlsZHJlbikKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0KLSAgICB1bnNpZ25lZCBsZW5ndGggPSBj
aGlsZHJlbi0+bGVuZ3RoKCk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRPZmZzZXQ7IGkg
PCBsZW5ndGg7ICsraSkgewotICAgICAgICBSZWZQdHI8Tm9kZT4gY2xvbmVkTm9kZSA9IGNoaWxk
cmVuLT5pdGVtKGkpLT5jbG9uZU5vZGUodHJ1ZSk7Ci0gICAgICAgIHRhcmdldEVsZW1lbnQtPmFw
cGVuZENoaWxkKGNsb25lZE5vZGUucmVsZWFzZSgpLCBlYyk7Ci0gICAgICAgIEFTU0VSVChlYyA9
PSAwKTsKLSAgICB9Ci19Ci0KLWJvb2wgV01MVGFibGVFbGVtZW50Ojp0cnlNZXJnZUFkamFjZW50
VGV4dENlbGxzKE5vZGUqIGl0ZW0sIE5vZGUqIG5leHRJdGVtKSBjb25zdAotewotICAgIGlmICgh
aXRlbSB8fCAhbmV4dEl0ZW0pCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghaXRl
bS0+aXNUZXh0Tm9kZSgpIHx8ICFuZXh0SXRlbS0+aXNUZXh0Tm9kZSgpKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICBUZXh0KiBpdGVtVGV4dCA9IHN0YXRpY19jYXN0PFRleHQqPihpdGVt
KTsKLSAgICBUZXh0KiBuZXh0SXRlbVRleHQgPSBzdGF0aWNfY2FzdDxUZXh0Kj4obmV4dEl0ZW0p
OwotCi0gICAgU3RyaW5nIG5ld0NvbnRlbnQgPSAiICI7Ci0gICAgbmV3Q29udGVudCArPSBuZXh0
SXRlbVRleHQtPmRhdGEoKTsKLQotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGl0ZW1U
ZXh0LT5hcHBlbmREYXRhKG5ld0NvbnRlbnQsIGVjKTsKLSAgICBBU1NFUlQoZWMgPT0gMCk7Ci0K
LSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBXTUxUYWJsZUVsZW1lbnQ6OmpvaW5TdXBlcmZs
b3VzQ29sdW1ucyhWZWN0b3I8V01MRWxlbWVudCo+JiBjb2x1bW5FbGVtZW50cywgV01MRWxlbWVu
dCogcm93RWxlbWVudCkgY29uc3QKLXsKLSAgICAvLyBTcGVjOiBJZiB0aGUgYWN0dWFsIG51bWJl
ciBvZiBjb2x1bW5zIGluIGEgcm93IGlzIGdyZWF0ZXIgdGhhbiB0aGUgdmFsdWUgc3BlY2lmaWVk
Ci0gICAgLy8gYnkgdGhpcyBhdHRyaWJ1dGUsIHRoZSBleHRyYSBjb2x1bW5zIG9mIHRoZSByb3cg
bXVzdCBiZSBhZ2dyZWdhdGVkIGludG8gdGhlIGxhc3QKLSAgICAvLyBjb2x1bW4gc3VjaCB0aGF0
IHRoZSByb3cgY29udGFpbnMgZXhhY3RseSB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgc3BlY2lmaWVk
LgotICAgIFdNTEVsZW1lbnQqIGxhc3RDb2x1bW4gPSBjb2x1bW5FbGVtZW50cy5hdChtX2NvbHVt
bnMgLSAxKTsKLSAgICBBU1NFUlQobGFzdENvbHVtbik7Ci0KLSAgICAvLyBNZXJnZSBzdXBlcmZs
b3VzIGNvbHVtbnMgaW50byBhIHNpbmdsZSBvbmUKLSAgICBSZWZQdHI8V01MRWxlbWVudD4gbmV3
Q2VsbCA9IFdNTEVsZW1lbnQ6OmNyZWF0ZSh0ZFRhZywgZG9jdW1lbnQoKSk7Ci0gICAgdHJhbnNm
ZXJBbGxDaGlsZHJlbk9mRWxlbWVudFRvVGFyZ2V0RWxlbWVudChsYXN0Q29sdW1uLCBuZXdDZWxs
LmdldCgpLCAwKTsKLQotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIHVuc2lnbmVkIGFj
dHVhbE51bWJlck9mQ29sdW1ucyA9IGNvbHVtbkVsZW1lbnRzLnNpemUoKTsKLQotICAgIGZvciAo
dW5zaWduZWQgaSA9IG1fY29sdW1uczsgaSA8IGFjdHVhbE51bWJlck9mQ29sdW1uczsgKytpKSB7
Ci0gICAgICAgIFdNTEVsZW1lbnQqIGNvbHVtbkVsZW1lbnQgPSBjb2x1bW5FbGVtZW50cy5hdChp
KTsKLSAgICAgICAgdW5zaWduZWQgc3RhcnRPZmZzZXQgPSAwOwotCi0gICAgICAgIC8vIFNwZWM6
IEEgc2luZ2xlIGludGVyLXdvcmQgc3BhY2UgbXVzdCBiZSBpbnNlcnRlZCBiZXR3ZWVuIHR3byBj
ZWxscyB0aGF0IGFyZSBiZWluZyBhZ2dyZWdhdGVkLgotICAgICAgICBpZiAodHJ5TWVyZ2VBZGph
Y2VudFRleHRDZWxscyhuZXdDZWxsLT5sYXN0Q2hpbGQoKSwgY29sdW1uRWxlbWVudC0+Zmlyc3RD
aGlsZCgpKSkKLSAgICAgICAgICAgICsrc3RhcnRPZmZzZXQ7Ci0KLSAgICAgICAgdHJhbnNmZXJB
bGxDaGlsZHJlbk9mRWxlbWVudFRvVGFyZ2V0RWxlbWVudChjb2x1bW5FbGVtZW50LCBuZXdDZWxs
LmdldCgpLCBzdGFydE9mZnNldCk7Ci0gICAgfQotCi0gICAgLy8gUmVtb3ZlIHRoZSBjb2x1bW5z
LCB0aGF0IGhhdmUganVzdCBiZWVuIG1lcmdlZAotICAgIHVuc2lnbmVkIGkgPSBhY3R1YWxOdW1i
ZXJPZkNvbHVtbnM7Ci0gICAgZm9yICg7IGkgPiBtX2NvbHVtbnM7IC0taSkgewotICAgICAgICBy
b3dFbGVtZW50LT5yZW1vdmVDaGlsZChjb2x1bW5FbGVtZW50cy5hdChpIC0gMSksIGVjKTsKLSAg
ICAgICAgQVNTRVJUKGVjID09IDApOwotICAgIH0KLQotICAgIC8vIFJlcGxhY2UgdGhlIGxhc3Qg
Y29sdW1uIGluIHRoZSByb3cgd2l0aCB0aGUgbmV3IG1lcmdlZCBjb2x1bW4KLSAgICByb3dFbGVt
ZW50LT5yZXBsYWNlQ2hpbGQobmV3Q2VsbC5yZWxlYXNlKCksIGxhc3RDb2x1bW4sIGVjKTsKLSAg
ICBBU1NFUlQoZWMgPT0gMCk7Ci19Ci0KLXZvaWQgV01MVGFibGVFbGVtZW50OjpwYWRXaXRoRW1w
dHlDb2x1bW5zKFZlY3RvcjxXTUxFbGVtZW50Kj4mIGNvbHVtbkVsZW1lbnRzLCBXTUxFbGVtZW50
KiByb3dFbGVtZW50KSBjb25zdAotewotICAgIC8vIFNwZWM6IElmIHRoZSBhY3R1YWwgbnVtYmVy
IG9mIGNvbHVtbnMgaW4gYSByb3cgaXMgbGVzcyB0aGFuIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkg
dGhlIGNvbHVtbnMgCi0gICAgLy8gYXR0cmlidXRlLCB0aGUgcm93IG11c3QgYmUgcGFkZGVkIHdp
dGggZW1wdHkgY29sdW1ucyBlZmZlY3RpdmVseSBhcyBpZiB0aGUgdXNlciBhZ2VudCAKLSAgICAv
LyBhcHBlbmRlZCBlbXB0eSB0ZCBlbGVtZW50cyB0byB0aGUgcm93LiAKLSAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKLQotICAgIGZvciAodW5zaWduZWQgaSA9IGNvbHVtbkVsZW1lbnRzLnNpemUo
KTsgaSA8IG1fY29sdW1uczsgKytpKSB7Ci0gICAgICAgIFJlZlB0cjxXTUxFbGVtZW50PiBuZXdD
ZWxsID0gV01MRWxlbWVudDo6Y3JlYXRlKHRkVGFnLCBkb2N1bWVudCgpKTsKLSAgICAgICAgcm93
RWxlbWVudC0+YXBwZW5kQ2hpbGQobmV3Q2VsbC5yZWxlYXNlKCksIGVjKTsKLSAgICAgICAgQVNT
RVJUKGVjID09IDApOwotICAgIH0KLX0KLQotdm9pZCBXTUxUYWJsZUVsZW1lbnQ6OmFsaWduQ2Vs
bHMoVmVjdG9yPFdNTEVsZW1lbnQqPiYgY29sdW1uRWxlbWVudHMsIFdNTEVsZW1lbnQqIHJvd0Vs
ZW1lbnQpIGNvbnN0Ci17Ci0gICAgLy8gU3BlYzogVXNlciBhZ2VudHMgc2hvdWxkIGNvbnNpZGVy
IHRoZSBjdXJyZW50IGxhbmd1YWdlIHdoZW4gZGV0ZXJtaW5pbmcKLSAgICAvLyB0aGUgZGVmYXVs
dCBhbGlnbm1lbnQgYW5kIHRoZSBkaXJlY3Rpb24gb2YgdGhlIHRhYmxlLgotICAgIGJvb2wgcnRs
ID0gZmFsc2U7Ci0gICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSByb3dFbGVtZW50LT5y
ZW5kZXJlcigpKSB7Ci0gICAgICAgIGlmIChSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlci0+
c3R5bGUoKSkKLSAgICAgICAgICAgIHJ0bCA9ICFzdHlsZS0+aXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpOwotICAgIH0KLQotICAgIHJvd0VsZW1lbnQtPnNldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmFs
aWduQXR0ciwgcnRsID8gInJpZ2h0IiA6ICJsZWZ0Iik7Ci0KLSAgICBpZiAobV9hbGlnbm1lbnQu
aXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICB1bnNpZ25lZCBhbGlnbkxlbmd0aCA9
IG1fYWxpZ25tZW50Lmxlbmd0aCgpOwotCi0gICAgVmVjdG9yPFdNTEVsZW1lbnQqPjo6aXRlcmF0
b3IgaXQgPSBjb2x1bW5FbGVtZW50cy5iZWdpbigpOwotICAgIFZlY3RvcjxXTUxFbGVtZW50Kj46
Oml0ZXJhdG9yIGVuZCA9IGNvbHVtbkVsZW1lbnRzLmVuZCgpOwotCi0gICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaXQgIT0gZW5kOyArK2l0LCArK2kpIHsKLSAgICAgICAgaWYgKGkgPT0gYWxpZ25M
ZW5ndGgpCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBTdHJpbmcgYWxpZ25tZW50VmFs
dWU7Ci0gICAgICAgIHN3aXRjaCAobV9hbGlnbm1lbnRbaV0pIHsKLSAgICAgICAgY2FzZSAnQyc6
Ci0gICAgICAgICAgICBhbGlnbm1lbnRWYWx1ZSA9ICJjZW50ZXIiOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgJ0wnOgotICAgICAgICAgICAgYWxpZ25tZW50VmFsdWUgPSAibGVm
dCI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnUic6Ci0gICAgICAgICAgICBh
bGlnbm1lbnRWYWx1ZSA9ICJyaWdodCI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGFsaWdu
bWVudFZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICgq
aXQpLT5zZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjphbGlnbkF0dHIsIGFsaWdubWVudFZhbHVlKTsK
LSAgICB9Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGFi
bGVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTFRhYmxlRWxl
bWVudC5oCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYWJsZUVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1OSArMCwwIEBACi0vKioKLSAqIENvcHlyaWdo
dCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDov
L3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXTUxUYWJsZUVsZW1lbnRfaAotI2Rl
ZmluZSBXTUxUYWJsZUVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxF
bGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSFRNTENvbGxlY3Rpb247
Ci0KLWNsYXNzIFdNTFRhYmxlRWxlbWVudCA6IHB1YmxpYyBXTUxFbGVtZW50IHsKLXB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxUYWJsZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgIFdNTFRhYmxlRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwotICAgIHZpcnR1YWwgfldNTFRhYmxlRWxl
bWVudCgpOwotCi0gICAgdmlydHVhbCBib29sIG1hcFRvRW50cnkoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIE1hcHBlZEF0dHJpYnV0ZUVudHJ5JikgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHBhcnNl
TWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOwotCi0gICAgdmlydHVhbCB2b2lkIGZpbmlzaFBh
cnNpbmdDaGlsZHJlbigpOwotCi1wcml2YXRlOgotICAgIFZlY3RvcjxXTUxFbGVtZW50Kj4gc2Nh
blRhYmxlQ2hpbGRFbGVtZW50cyhXTUxFbGVtZW50KiBzdGFydEVsZW1lbnQsIGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUpIGNvbnN0OwotCi0gICAgYm9vbCB0cnlNZXJnZUFkamFjZW50VGV4
dENlbGxzKE5vZGUqIGl0ZW0sIE5vZGUqIG5leHRJdGVtKSBjb25zdDsKLSAgICB2b2lkIHRyYW5z
ZmVyQWxsQ2hpbGRyZW5PZkVsZW1lbnRUb1RhcmdldEVsZW1lbnQoV01MRWxlbWVudCogc291cmNl
RWxlbWVudCwgV01MRWxlbWVudCogdGFyZ2V0RWxlbWVudCwgdW5zaWduZWQgc3RhcnRPZmZzZXQp
IGNvbnN0OwotICAgIHZvaWQgam9pblN1cGVyZmxvdXNDb2x1bW5zKFZlY3RvcjxXTUxFbGVtZW50
Kj4mIGNvbHVtbkVsZW1lbnRzLCBXTUxFbGVtZW50KiByb3dFbGVtZW50KSBjb25zdDsKLSAgICB2
b2lkIHBhZFdpdGhFbXB0eUNvbHVtbnMoVmVjdG9yPFdNTEVsZW1lbnQqPiYgY29sdW1uRWxlbWVu
dHMsIFdNTEVsZW1lbnQqIHJvd0VsZW1lbnQpIGNvbnN0OwotICAgIHZvaWQgYWxpZ25DZWxscyhW
ZWN0b3I8V01MRWxlbWVudCo+JiBjb2x1bW5FbGVtZW50cywgV01MRWxlbWVudCogcm93RWxlbWVu
dCkgY29uc3Q7Ci0KLSAgICB1bnNpZ25lZCBtX2NvbHVtbnM7Ci0gICAgU3RyaW5nIG1fYWxpZ25t
ZW50OwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21s
L1dNTFRhZ05hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYWdO
YW1lcy5pbgkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGFnTmFt
ZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEsMzUgKzAsMCBAQAotbmFtZXNwYWNlPSJXTUwiCi1u
YW1lc3BhY2VVUkk9Imh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCIKLWd1
YXJkRmFjdG9yeVdpdGg9IkVOQUJMRShXTUwpIgotCi1hCi1hY2Nlc3MKLWFuY2hvcgotYnIgaW50
ZXJmYWNlTmFtZT1XTUxCUkVsZW1lbnQKLWNhcmQKLWRvCi1maWVsZHNldCBpbnRlcmZhY2VOYW1l
PVdNTEZpZWxkU2V0RWxlbWVudAotZ28KLWhlYWQgaW50ZXJmYWNlTmFtZT1XTUxFbGVtZW50Ci1p
bWcgaW50ZXJmYWNlTmFtZT1XTUxJbWFnZUVsZW1lbnQKLWlucHV0Ci0jaWYgMAotIyBOb3RlOiAn
aW5zZXJ0ZWRMZWdlbmQnIGlzIG5vdCBhbiBvZmZpY2lhbCBXTUwgZWxlbWVudCAtIGludGVybmFs
IHB1cnBvc2Ugb25seSEKLSNlbmRpZgotaW5zZXJ0ZWRMZWdlbmQgaW50ZXJmYWNlTmFtZT1XTUxJ
bnNlcnRlZExlZ2VuZEVsZW1lbnQKLW1ldGEKLW5vb3AKLW9uZXZlbnQgaW50ZXJmYWNlTmFtZT1X
TUxPbkV2ZW50RWxlbWVudAotb3B0Z3JvdXAgaW50ZXJmYWNlTmFtZT1XTUxPcHRHcm91cEVsZW1l
bnQKLW9wdGlvbgotcAotcG9zdGZpZWxkCi1wcmV2Ci1yZWZyZXNoCi1zZWxlY3QKLXNldHZhcgot
dGFibGUKLXRkIGludGVyZmFjZU5hbWU9V01MRWxlbWVudAotdGVtcGxhdGUKLXRpbWVyCi10ciBp
bnRlcmZhY2VOYW1lPVdNTEVsZW1lbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUYXNr
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTFRhc2tFbGVt
ZW50LmNwcAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGFza0Vs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDExOSArMCwwIEBACi0vKioKLSAqIENvcHly
aWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0
cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYg
RU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxUYXNrRWxlbWVudC5oIgotCi0jaW5jbHVkZSAiV01M
QW5jaG9yRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTERvRWxlbWVudC5oIgotI2luY2x1ZGUgIldN
TE5hbWVzLmgiCi0jaW5jbHVkZSAiV01MT25FdmVudEVsZW1lbnQuaCIKLSNpbmNsdWRlICJXTUxQ
YWdlU3RhdGUuaCIKLSNpbmNsdWRlICJXTUxTZXR2YXJFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIFdNTE5hbWVzOwotCi1XTUxUYXNrRWxlbWVudDo6
V01MVGFza0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRv
YykKLSAgICA6IFdNTEVsZW1lbnQodGFnTmFtZSwgZG9jKQotewotfQotCi1XTUxUYXNrRWxlbWVu
dDo6fldNTFRhc2tFbGVtZW50KCkKLXsKLX0KLQotdm9pZCBXTUxUYXNrRWxlbWVudDo6aW5zZXJ0
ZWRJbnRvRG9jdW1lbnQoKQotewotICAgIFdNTEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50
KCk7Ci0KLSAgICBDb250YWluZXJOb2RlKiBwYXJlbnQgPSBwYXJlbnROb2RlKCk7Ci0gICAgaWYg
KCFwYXJlbnQgfHwgIXBhcmVudC0+aXNXTUxFbGVtZW50KCkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmIChwYXJlbnQtPmhhc1RhZ05hbWUoYW5jaG9yVGFnKSkKLSAgICAgICAgc3RhdGljX2Nh
c3Q8V01MQW5jaG9yRWxlbWVudCo+KHBhcmVudCktPnJlZ2lzdGVyVGFzayh0aGlzKTsKLSAgICBl
bHNlIGlmIChwYXJlbnQtPmhhc1RhZ05hbWUoZG9UYWcpKQotICAgICAgICBzdGF0aWNfY2FzdDxX
TUxEb0VsZW1lbnQqPihwYXJlbnQpLT5yZWdpc3RlclRhc2sodGhpcyk7Ci0gICAgZWxzZSBpZiAo
cGFyZW50LT5oYXNUYWdOYW1lKG9uZXZlbnRUYWcpKQotICAgICAgICBzdGF0aWNfY2FzdDxXTUxP
bkV2ZW50RWxlbWVudCo+KHBhcmVudCktPnJlZ2lzdGVyVGFzayh0aGlzKTsKLX0KLQotdm9pZCBX
TUxUYXNrRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCi17Ci0gICAgQ29udGFpbmVyTm9k
ZSogcGFyZW50ID0gcGFyZW50Tm9kZSgpOwotICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pc1dN
TEVsZW1lbnQoKSkgewotICAgICAgICBpZiAocGFyZW50LT5oYXNUYWdOYW1lKGFuY2hvclRhZykp
Ci0gICAgICAgICAgICBzdGF0aWNfY2FzdDxXTUxBbmNob3JFbGVtZW50Kj4ocGFyZW50KS0+ZGVy
ZWdpc3RlclRhc2sodGhpcyk7Ci0gICAgICAgIGVsc2UgaWYgKHBhcmVudC0+aGFzVGFnTmFtZShk
b1RhZykpCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxXTUxEb0VsZW1lbnQqPihwYXJlbnQpLT5k
ZXJlZ2lzdGVyVGFzayh0aGlzKTsKLSAgICAgICAgZWxzZSBpZiAocGFyZW50LT5oYXNUYWdOYW1l
KG9uZXZlbnRUYWcpKQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8V01MT25FdmVudEVsZW1lbnQq
PihwYXJlbnQpLT5kZXJlZ2lzdGVyVGFzayh0aGlzKTsKLSAgICB9Ci0KLSAgICBXTUxFbGVtZW50
OjpyZW1vdmVkRnJvbURvY3VtZW50KCk7Ci19Ci0KLXZvaWQgV01MVGFza0VsZW1lbnQ6OnJlZ2lz
dGVyVmFyaWFibGVTZXR0ZXIoV01MU2V0dmFyRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICBBU1NF
UlQobV92YXJpYWJsZVNldHRlckVsZW1lbnRzLmZpbmQoZWxlbWVudCkgPT0gV1RGOjpub3RGb3Vu
ZCk7Ci0gICAgbV92YXJpYWJsZVNldHRlckVsZW1lbnRzLmFwcGVuZChlbGVtZW50KTsKLX0KLQot
dm9pZCBXTUxUYXNrRWxlbWVudDo6ZGVyZWdpc3RlclZhcmlhYmxlU2V0dGVyKFdNTFNldHZhckVs
ZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgc2l6ZV90IHBvc2l0aW9uID0gbV92YXJpYWJsZVNldHRl
ckVsZW1lbnRzLmZpbmQoZWxlbWVudCk7Ci0gICAgQVNTRVJUKHBvc2l0aW9uICE9IFdURjo6bm90
Rm91bmQpOwotICAgIG1fdmFyaWFibGVTZXR0ZXJFbGVtZW50cy5yZW1vdmUocG9zaXRpb24pOwot
fQotCi12b2lkIFdNTFRhc2tFbGVtZW50OjpzdG9yZVZhcmlhYmxlU3RhdGUoV01MUGFnZVN0YXRl
KiBwYWdlU3RhdGUpCi17Ci0gICAgaWYgKCFwYWdlU3RhdGUgfHwgbV92YXJpYWJsZVNldHRlckVs
ZW1lbnRzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgV01MVmFyaWFibGVNYXAg
dmFyaWFibGVzOwotICAgIFZlY3RvcjxXTUxTZXR2YXJFbGVtZW50Kj46Oml0ZXJhdG9yIGl0ID0g
bV92YXJpYWJsZVNldHRlckVsZW1lbnRzLmJlZ2luKCk7Ci0gICAgVmVjdG9yPFdNTFNldHZhckVs
ZW1lbnQqPjo6aXRlcmF0b3IgZW5kID0gbV92YXJpYWJsZVNldHRlckVsZW1lbnRzLmVuZCgpOwot
Ci0gICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBXTUxTZXR2YXJFbGVtZW50
KiBzZXR0ZXJFbGVtZW50ID0gKCppdCk7Ci0KLSAgICAgICAgU3RyaW5nIG5hbWUgPSBzZXR0ZXJF
bGVtZW50LT5uYW1lKCk7Ci0gICAgICAgIGlmIChuYW1lLmlzRW1wdHkoKSkKLSAgICAgICAgICAg
IGNvbnRpbnVlOwotCi0gICAgICAgIFN0cmluZyB2YWx1ZSA9IHNldHRlckVsZW1lbnQtPnZhbHVl
KCk7Ci0gICAgICAgIHZhcmlhYmxlcy5zZXQobmFtZSwgdmFsdWUpOwotCi0gICAgICAgIC8vIFRo
ZSBuZXh0IHNldHZhciBlbGVtZW50IG1heSBkZXBlbmQgb24gdGhpcyB2YXJpYWJsZSB2YWx1ZS4g
SXQncyBzYWZlIHRvIHN0b3JlIHRoZSBjdXJyZW50Ci0gICAgICAgIC8vIG5hbWUgdmFsdWUgcGFp
ciBpbiB0aGUgcGFnZSBzdGF0ZSwgYXMgdGhlIHdob2xlIHBhZ2Ugc3RhdGUgaXMgcmVwbGFjZWQg
c29vbiBieSB0aGlzIG5ldyBtYXAKLSAgICAgICAgcGFnZVN0YXRlLT5zdG9yZVZhcmlhYmxlKG5h
bWUsIHZhbHVlKTsKLSAgICB9Ci0KLSAgICBwYWdlU3RhdGUtPnN0b3JlVmFyaWFibGVzKHZhcmlh
Ymxlcyk7Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGFz
a0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGFza0VsZW1l
bnQuaAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGFza0VsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1OCArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAo
QykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3
dy50b3JjaG1vYmlsZS5jb20vKQotICogCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV01MVGFza0VsZW1lbnRfaAotI2RlZmlu
ZSBXTUxUYXNrRWxlbWVudF9oCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTEVsZW1l
bnQuaCIKLQotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci1jbGFzcyBXTUxQYWdlU3RhdGU7Ci1jbGFzcyBXTUxTZXR2YXJFbGVtZW50OwotCi1jbGFzcyBX
TUxUYXNrRWxlbWVudCA6IHB1YmxpYyBXTUxFbGVtZW50IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFs
IGJvb2wgaXNXTUxUYXNrRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLQotICAgIHZp
cnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwotICAgIHZpcnR1YWwgdm9pZCByZW1v
dmVkRnJvbURvY3VtZW50KCk7Ci0gICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVUYXNrKCkgPSAwOwot
Ci0gICAgdm9pZCByZWdpc3RlclZhcmlhYmxlU2V0dGVyKFdNTFNldHZhckVsZW1lbnQqKTsKLSAg
ICB2b2lkIGRlcmVnaXN0ZXJWYXJpYWJsZVNldHRlcihXTUxTZXR2YXJFbGVtZW50Kik7Ci0KLXBy
b3RlY3RlZDoKLSAgICBXTUxUYXNrRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCopOwotICAgIHZpcnR1YWwgfldNTFRhc2tFbGVtZW50KCk7Ci0KLSAgICB2b2lk
IHN0b3JlVmFyaWFibGVTdGF0ZShXTUxQYWdlU3RhdGUqKTsKLQotcHJpdmF0ZToKLSAgICBWZWN0
b3I8V01MU2V0dmFyRWxlbWVudCo+IG1fdmFyaWFibGVTZXR0ZXJFbGVtZW50czsKLX07Ci0KLX0K
LQotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUZW1wbGF0ZUVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUZW1wbGF0ZUVs
ZW1lbnQuY3BwCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxUZW1w
bGF0ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyMCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTFRlbXBsYXRlRWxlbWVudC5oIgot
Ci0jaW5jbHVkZSAiQXR0cmlidXRlLmgiCi0jaW5jbHVkZSAiTm9kZUxpc3QuaCIKLSNpbmNsdWRl
ICJXTUxDYXJkRWxlbWVudC5oIgotI2luY2x1ZGUgIldNTERvY3VtZW50LmgiCi0jaW5jbHVkZSAi
V01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmgiCi0jaW5jbHVkZSAiV01MTmFtZXMuaCIKLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7Ci0KLVdNTFRlbXBs
YXRlRWxlbWVudDo6V01MVGVtcGxhdGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2MpCi0gICAgOiBXTUxFbGVtZW50KHRhZ05hbWUsIGRvYykKLXsKLX0K
LQotV01MVGVtcGxhdGVFbGVtZW50Ojp+V01MVGVtcGxhdGVFbGVtZW50KCkKLXsKLX0KLQotUGFz
c1JlZlB0cjxXTUxUZW1wbGF0ZUVsZW1lbnQ+IFdNTFRlbXBsYXRlRWxlbWVudDo6Y3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFdNTFRlbXBsYXRlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkp
OwotfQotCi12b2lkIFdNTFRlbXBsYXRlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0
cmlidXRlKiBhdHRyKQotewotICAgIFdNTEludHJpbnNpY0V2ZW50VHlwZSBldmVudFR5cGUgPSBX
TUxJbnRyaW5zaWNFdmVudFVua25vd247Ci0KLSAgICBpZiAoYXR0ci0+bmFtZSgpID09IG9uZW50
ZXJmb3J3YXJkQXR0cikKLSAgICAgICAgZXZlbnRUeXBlID0gV01MSW50cmluc2ljRXZlbnRPbkVu
dGVyRm9yd2FyZDsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25lbnRlcmJhY2t3YXJk
QXR0cikKLSAgICAgICAgZXZlbnRUeXBlID0gV01MSW50cmluc2ljRXZlbnRPbkVudGVyQmFja3dh
cmQ7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9udGltZXJBdHRyKQotICAgICAgICBl
dmVudFR5cGUgPSBXTUxJbnRyaW5zaWNFdmVudE9uVGltZXI7Ci0gICAgZWxzZSB7Ci0gICAgICAg
IFdNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgaWYgKGV2ZW50VHlwZSA9PSBXTUxJbnRyaW5zaWNFdmVudFVua25vd24p
Ci0gICAgICAgIHJldHVybjsKLQotICAgIC8vIFJlZ2lzdGVyIGludHJpbnNpYyBldmVudCBpbiBj
YXJkCi0gICAgUmVmUHRyPFdNTEludHJpbnNpY0V2ZW50PiBldmVudCA9IFdNTEludHJpbnNpY0V2
ZW50OjpjcmVhdGUoZG9jdW1lbnQoKSwgYXR0ci0+dmFsdWUoKSk7Ci0KLSAgICBjcmVhdGVFdmVu
dEhhbmRsZXJJZk5lZWRlZCgpOwotICAgIGV2ZW50SGFuZGxlcigpLT5yZWdpc3RlckludHJpbnNp
Y0V2ZW50KGV2ZW50VHlwZSwgZXZlbnQpOwotfQotCi12b2lkIFdNTFRlbXBsYXRlRWxlbWVudDo6
cmVnaXN0ZXJUZW1wbGF0ZXNJbkRvY3VtZW50KERvY3VtZW50KiBkb2MpCi17Ci0gICAgQVNTRVJU
KGRvYyk7Ci0KLSAgICAvLyBCdWlsZCBsaXN0IG9mIGNhcmRzIGluIGRvY3VtZW50Ci0gICAgUmVm
UHRyPE5vZGVMaXN0PiBub2RlTGlzdCA9IGRvYy0+Z2V0RWxlbWVudHNCeVRhZ05hbWUoImNhcmQi
KTsKLSAgICBpZiAoIW5vZGVMaXN0KQotICAgICAgICByZXR1cm47Ci0KLSAgICB1bnNpZ25lZCBs
ZW5ndGggPSBub2RlTGlzdC0+bGVuZ3RoKCk7Ci0gICAgaWYgKGxlbmd0aCA8IDEpCi0gICAgICAg
IHJldHVybjsKLQotICAgIEhhc2hTZXQ8V01MQ2FyZEVsZW1lbnQqPiBjYXJkczsKLSAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpCi0gICAgICAgIGNhcmRzLmFkZChzdGF0
aWNfY2FzdDxXTUxDYXJkRWxlbWVudCo+KG5vZGVMaXN0LT5pdGVtKGkpKSk7ICAgIAotCi0gICAg
aWYgKGNhcmRzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gUmVnaXN0ZXIg
dGVtcGxhdGUgZWxlbWVudCB0byBhbGwgY2FyZHMKLSAgICBub2RlTGlzdCA9IGRvYy0+Z2V0RWxl
bWVudHNCeVRhZ05hbWUoInRlbXBsYXRlIik7Ci0gICAgaWYgKCFub2RlTGlzdCkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgbGVuZ3RoID0gbm9kZUxpc3QtPmxlbmd0aCgpOwotICAgIGlmIChsZW5n
dGggPCAxKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBPbmx5IG9uZSB0ZW1wbGF0ZSBlbGVt
ZW50IHNob3VsZCBiZSBhbGxvd2VkIGluIGEgZG9jdW1lbnQKLSAgICAvLyBDYWxsaW5nIHNldFRl
bXBsYXRlRWxlbWVudCgpIHR3aWNlIG9uIGEgV01MQ2FyZEVsZW1lbnQsIHdpbGwgcmVzdWx0IGlu
IGEgcGFyc2VyIGVycm9yLgotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsr
aSkgewotICAgICAgICBXTUxUZW1wbGF0ZUVsZW1lbnQqIHRlbXAgPSBzdGF0aWNfY2FzdDxXTUxU
ZW1wbGF0ZUVsZW1lbnQqPihub2RlTGlzdC0+aXRlbShpKSk7Ci0KLSAgICAgICAgSGFzaFNldDxX
TUxDYXJkRWxlbWVudCo+OjppdGVyYXRvciBpdCA9IGNhcmRzLmJlZ2luKCk7Ci0gICAgICAgIEhh
c2hTZXQ8V01MQ2FyZEVsZW1lbnQqPjo6aXRlcmF0b3IgZW5kID0gY2FyZHMuZW5kKCk7Ci0KLSAg
ICAgICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgICAgICgqaXQpLT5zZXRUZW1w
bGF0ZUVsZW1lbnQodGVtcCk7Ci0gICAgfQotfQotCi19Ci0KLSNlbmRpZgpJbmRleDogU291cmNl
L1dlYkNvcmUvd21sL1dNTFRlbXBsYXRlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3dtbC9XTUxUZW1wbGF0ZUVsZW1lbnQuaAkocmV2aXNpb24gODUyNDIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS93bWwvV01MVGVtcGxhdGVFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8K
LQotI2lmbmRlZiBXTUxUZW1wbGF0ZUVsZW1lbnRfaAotI2RlZmluZSBXTUxUZW1wbGF0ZUVsZW1l
bnRfaAotCi0jaWYgRU5BQkxFKFdNTCkKLSNpbmNsdWRlICJXTUxFbGVtZW50LmgiCi0jaW5jbHVk
ZSAiV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBXTUxUZW1wbGF0ZUVsZW1lbnQgOiBwdWJsaWMgV01MRWxlbWVudCwgcHVibGljIFdNTEV2
ZW50SGFuZGxpbmdFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXTUxU
ZW1wbGF0ZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsK
LQotICAgIFdNTFRlbXBsYXRlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
KTsKLSAgICB2aXJ0dWFsIH5XTUxUZW1wbGF0ZUVsZW1lbnQoKTsKLQotICAgIHZpcnR1YWwgdm9p
ZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLQotICAgIHN0YXRpYyB2b2lkIHJl
Z2lzdGVyVGVtcGxhdGVzSW5Eb2N1bWVudChEb2N1bWVudCopOwotfTsKLQotfQotCi0jZW5kaWYK
LSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21sL1dNTFRpbWVyRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTFRpbWVyRWxlbWVudC5jcHAJKHJldmlz
aW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTFRpbWVyRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTYxICswLDAgQEAKLS8qKgotICogQ29weXJpZ2h0IChDKSAyMDA4
IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNo
bW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoK
LSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0g
KiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoV01MKQot
I2luY2x1ZGUgIldNTFRpbWVyRWxlbWVudC5oIgotCi0jaW5jbHVkZSAiQXR0cmlidXRlLmgiCi0j
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiV01MQ2FyZEVsZW1lbnQuaCIKLSNpbmNs
dWRlICJXTUxEb2N1bWVudC5oIgotI2luY2x1ZGUgIldNTE5hbWVzLmgiCi0jaW5jbHVkZSAiV01M
UGFnZVN0YXRlLmgiCi0jaW5jbHVkZSAiV01MVGVtcGxhdGVFbGVtZW50LmgiCi0jaW5jbHVkZSAi
V01MVmFyaWFibGVzLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNl
IFdNTE5hbWVzOwotCi1XTUxUaW1lckVsZW1lbnQ6OldNTFRpbWVyRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQotICAgIDogV01MRWxlbWVudCh0YWdO
YW1lLCBkb2MpCi0gICAgLCBtX3RpbWVyKHRoaXMsICZXTUxUaW1lckVsZW1lbnQ6OnRpbWVyRmly
ZWQpCi17Ci19Ci0KLVBhc3NSZWZQdHI8V01MVGltZXJFbGVtZW50PiBXTUxUaW1lckVsZW1lbnQ6
OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQp
Ci17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXTUxUaW1lckVsZW1lbnQodGFnTmFtZSwgZG9j
dW1lbnQpKTsKLX0KLQotdm9pZCBXTUxUaW1lckVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KEF0dHJpYnV0ZSogYXR0cikKLXsKLSAgICBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6
bmFtZUF0dHIpCi0gICAgICAgIG1fbmFtZSA9IHBhcnNlVmFsdWVGb3JiaWRkaW5nVmFyaWFibGVS
ZWZlcmVuY2VzKGF0dHItPnZhbHVlKCkpOwotICAgIGVsc2UKLSAgICAgICAgV01MRWxlbWVudDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Ci19Ci0KLXZvaWQgV01MVGltZXJFbGVtZW50Ojpp
bnNlcnRlZEludG9Eb2N1bWVudCgpCi17Ci0gICAgV01MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9j
dW1lbnQoKTsKLQotICAgIC8vIElmIHRoZSB2YWx1ZSBvZiB0aW1lb3V0IGlzIG5vdCBhIHBvc2l0
aXZlIGludGVnZXIsIGlnbm9yZSBpdAotICAgIGlmICh2YWx1ZSgpLnRvSW50KCkgPD0gMCkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgQ29udGFpbmVyTm9kZSogcGFyZW50ID0gcGFyZW50Tm9kZSgp
OwotICAgIGlmICghcGFyZW50IHx8ICFwYXJlbnQtPmlzV01MRWxlbWVudCgpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBpZiAocGFyZW50LT5oYXNUYWdOYW1lKGNhcmRUYWcpKSB7Ci0gICAgICAg
IG1fY2FyZCA9IHN0YXRpY19jYXN0PFdNTENhcmRFbGVtZW50Kj4ocGFyZW50KTsKLSAgICAgICAg
bV9jYXJkLT5zZXRJbnRyaW5zaWNFdmVudFRpbWVyKHRoaXMpOwotICAgIH0KLX0KLQotdm9pZCBX
TUxUaW1lckVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKQotewotICAgIENvbnRhaW5lck5v
ZGUqIHBhcmVudCA9IHBhcmVudE5vZGUoKTsKLSAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+aXNX
TUxFbGVtZW50KCkgJiYgcGFyZW50LT5oYXNUYWdOYW1lKGNhcmRUYWcpKSB7Ci0gICAgICAgIG1f
Y2FyZC0+c2V0SW50cmluc2ljRXZlbnRUaW1lcigwKTsKLSAgICAgICAgbV9jYXJkID0gMDsKLSAg
ICB9Ci0KLSAgICBXTUxFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCk7Ci19Ci0KLXZvaWQg
V01MVGltZXJFbGVtZW50Ojp0aW1lckZpcmVkKFRpbWVyPFdNTFRpbWVyRWxlbWVudD4qKQotewot
ICAgIGlmICghbV9jYXJkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBXTUxQYWdlU3RhdGUqIHBh
Z2VTdGF0ZSA9IHdtbFBhZ2VTdGF0ZUZvckRvY3VtZW50KGRvY3VtZW50KCkpOwotICAgIGlmICgh
cGFnZVN0YXRlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBTdHJpbmcgdmFsdWUgPSB0aGlzLT52
YWx1ZSgpOwotCi0gICAgLy8gV2hlbiB0aGUgdGltZXIgZXhwaXJlcywgc2V0IHRoZSBuYW1lIHZh
cmlhbGJlIG9mIHRpbWVyIHRvICcwJwotICAgIGlmICghbV9uYW1lLmlzRW1wdHkoKSkgewotICAg
ICAgICB2YWx1ZSA9ICIwIjsKLSAgICAgICAgcGFnZVN0YXRlLT5zdG9yZVZhcmlhYmxlKG1fbmFt
ZSwgdmFsdWUpOwotICAgIH0KLQotICAgIFdNTEludHJpbnNpY0V2ZW50VHlwZSBldmVudFR5cGUg
PSBXTUxJbnRyaW5zaWNFdmVudE9uVGltZXI7Ci0gICAgV01MSW50cmluc2ljRXZlbnRIYW5kbGVy
KiBldmVudEhhbmRsZXIgPSBtX2NhcmQtPmV2ZW50SGFuZGxlcigpOwotCi0gICAgYm9vbCBoYXNJ
bnRyaW5zaWNFdmVudCA9IGZhbHNlOwotICAgIGlmIChldmVudEhhbmRsZXIgJiYgZXZlbnRIYW5k
bGVyLT5oYXNJbnRyaW5zaWNFdmVudChldmVudFR5cGUpKQotICAgICAgICBoYXNJbnRyaW5zaWNF
dmVudCA9IHRydWU7Ci0gICAgZWxzZSBpZiAobV9jYXJkLT50ZW1wbGF0ZUVsZW1lbnQoKSkgewot
ICAgICAgICBldmVudEhhbmRsZXIgPSBtX2NhcmQtPnRlbXBsYXRlRWxlbWVudCgpLT5ldmVudEhh
bmRsZXIoKTsKLSAgICAgICAgaWYgKGV2ZW50SGFuZGxlciAmJiBldmVudEhhbmRsZXItPmhhc0lu
dHJpbnNpY0V2ZW50KGV2ZW50VHlwZSkpCi0gICAgICAgICAgICBoYXNJbnRyaW5zaWNFdmVudCA9
IHRydWU7Ci0gICAgfQotCi0gICAgaWYgKGhhc0ludHJpbnNpY0V2ZW50KQotICAgICAgICBldmVu
dEhhbmRsZXItPnRyaWdnZXJJbnRyaW5zaWNFdmVudChldmVudFR5cGUpOwotfQotCi12b2lkIFdN
TFRpbWVyRWxlbWVudDo6c3RhcnQoaW50IGludGVydmFsKQotewotICAgIGlmICghbV9jYXJkIHx8
IG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGludGVydmFs
IDw9IDAgJiYgIW1fbmFtZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgaWYgKFdNTFBhZ2VTdGF0ZSog
cGFnZVN0YXRlID0gd21sUGFnZVN0YXRlRm9yRG9jdW1lbnQoZG9jdW1lbnQoKSkpCi0gICAgICAg
ICAgICBpbnRlcnZhbCA9IHBhZ2VTdGF0ZS0+Z2V0VmFyaWFibGUobV9uYW1lKS50b0ludCgpOwot
ICAgIH0KLQotICAgIGlmIChpbnRlcnZhbCA8PSAwKQotICAgICAgICBpbnRlcnZhbCA9IHZhbHVl
KCkudG9JbnQoKTsKLQotICAgIGlmIChpbnRlcnZhbCA+IDApCi0gICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KGludGVydmFsIC8gMTAuMGYpOwotfQotCi12b2lkIFdNTFRpbWVyRWxlbWVudDo6
c3RvcCgpCi17Ci0gICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5z
dG9wKCk7Ci19Ci0KLXZvaWQgV01MVGltZXJFbGVtZW50OjpzdG9yZUludGVydmFsVG9QYWdlU3Rh
dGUoKQotewotICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBpbnQgaW50ZXJ2YWwgPSBzdGF0aWNfY2FzdDxpbnQ+KG1fdGltZXIubmV4dEZpcmVJbnRl
cnZhbCgpKSAqIDEwOwotCi0gICAgaWYgKFdNTFBhZ2VTdGF0ZSogcGFnZVN0YXRlID0gd21sUGFn
ZVN0YXRlRm9yRG9jdW1lbnQoZG9jdW1lbnQoKSkpCi0gICAgICAgIHBhZ2VTdGF0ZS0+c3RvcmVW
YXJpYWJsZShtX25hbWUsIFN0cmluZzo6bnVtYmVyKGludGVydmFsKSk7Ci19Ci0KLVN0cmluZyBX
TUxUaW1lckVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gcGFyc2VWYWx1ZVN1
YnN0aXR1dGluZ1ZhcmlhYmxlUmVmZXJlbmNlcyhnZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjp2YWx1
ZUF0dHIpKTsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxU
aW1lckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93bWwvV01MVGltZXJF
bGVtZW50LmgJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTFRpbWVy
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU5ICswLDAgQEAKLS8qKgotICogQ29weXJp
Z2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRw
Oi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdNTFRpbWVyRWxlbWVudF9oCi0j
ZGVmaW5lIFdNTFRpbWVyRWxlbWVudF9oCi0KLSNpZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIlRp
bWVyLmgiCi0jaW5jbHVkZSAiV01MRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIFdNTENhcmRFbGVtZW50OwotCi1jbGFzcyBXTUxUaW1lckVsZW1lbnQgOiBwdWJsaWMg
V01MRWxlbWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V01MVGltZXJFbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLSAgICBXTUxU
aW1lckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKLQot
ICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLSAgICB2
aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVt
b3ZlZEZyb21Eb2N1bWVudCgpOwotCi0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPFdNTFRpbWVy
RWxlbWVudD4qKTsKLQotICAgIHZvaWQgc3RhcnQoaW50IGludGVydmFsID0gLTEpOwotICAgIHZv
aWQgc3RvcCgpOwotICAgIHZvaWQgc3RvcmVJbnRlcnZhbFRvUGFnZVN0YXRlKCk7Ci0KLSAgICBT
dHJpbmcgdmFsdWUoKSBjb25zdDsKLQotcHJpdmF0ZToKLSAgICBXTUxDYXJkRWxlbWVudCogbV9j
YXJkOwotICAgIFN0cmluZyBtX25hbWU7Ci0gICAgVGltZXI8V01MVGltZXJFbGVtZW50PiBtX3Rp
bWVyOwotfTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvd21s
L1dNTFZhcmlhYmxlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTFZh
cmlhYmxlcy5jcHAJKHJldmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYkNvcmUvd21sL1dNTFZh
cmlhYmxlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMjg2ICswLDAgQEAKLS8qKgotICogQ29w
eXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuICho
dHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNp
ZiBFTkFCTEUoV01MKQotI2luY2x1ZGUgIldNTFZhcmlhYmxlcy5oIgotCi0jaW5jbHVkZSAiV01M
RG9jdW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvQVNDSUlDVHlwZS5oPgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLS8vIFdNTCB2YXJpYWJsZXMgc3BlY2lmaWNhdGlvbiwgZXhjbHVkaW5nIHRoZQot
Ly8gcHJlLVdNTCAxLjAgZGVwcmVjYXRlZCB2YXJpYWJsZSBzeW50YXgKLS8vCi0vLyB2YXJuYW1l
ID0gKCJfIiB8IGFscGhhKSAoIl8iIHwgYWxwaGEgfCBkaWdpdCkqIAotLy8gY29udiA9ICI6IiAo
ImUiICgic2NhcGUiKT8gfCAibiIgKCJvZXNjIik/IHwgInUiICgibmVzYyIpPykKLS8vIHZhciA9
ICgiJCIgdmFybmFtZSkgfCAoIiQoIiB2YXJuYW1lIChjb252KT8gIikiKQotCi1zdGF0aWMgYm9v
bCBpc1ZhbGlkRmlyc3RWYXJpYWJsZU5hbWVDaGFyYWN0ZXIoY29uc3QgVUNoYXImIGNoYXJhY3Rl
cikKLXsKLSAgICByZXR1cm4gV1RGOjppc0FTQ0lJQWxwaGEoY2hhcmFjdGVyKQotICAgICAgICAg
ICB8fCBjaGFyYWN0ZXIgPT0gJ18nOwotfQotCi1zdGF0aWMgYm9vbCBpc1ZhbGlkVmFyaWFibGVO
YW1lQ2hhcmFjdGVyKGNvbnN0IFVDaGFyJiBjaGFyYWN0ZXIpCi17Ci0gICAgcmV0dXJuIFdURjo6
aXNBU0NJSUFscGhhKGNoYXJhY3RlcikKLSAgICAgICAgICAgfHwgV1RGOjppc0FTQ0lJRGlnaXQo
Y2hhcmFjdGVyKQotICAgICAgICAgICB8fCBjaGFyYWN0ZXIgPT0gJ18nOwotfQotCi1zdGF0aWMg
Ym9vbCBpc1ZhbGlkVmFyaWFibGVFc2NhcGluZ01vZGVTdHJpbmcoY29uc3QgU3RyaW5nJiBtb2Rl
LCBXTUxWYXJpYWJsZUVzY2FwaW5nTW9kZSYgZXNjYXBlTW9kZSkKLXsKLSAgICBpZiAobW9kZSA9
PSAiZSIgfHwgbW9kZSA9PSAiZXNjYXBlIikKLSAgICAgICAgZXNjYXBlTW9kZSA9IFdNTFZhcmlh
YmxlRXNjYXBpbmdFc2NhcGU7IAotICAgIGVsc2UgaWYgKG1vZGUgPT0gInUiIHx8IG1vZGUgPT0g
InVuZXNjIikKLSAgICAgICAgZXNjYXBlTW9kZSA9IFdNTFZhcmlhYmxlRXNjYXBpbmdVbmVzY2Fw
ZTsKLSAgICBlbHNlIGlmIChtb2RlID09ICJuIiB8fCBtb2RlID09ICJub2VzYyIpCi0gICAgICAg
IGVzY2FwZU1vZGUgPSBXTUxWYXJpYWJsZUVzY2FwaW5nTm9uZTsKLSAgICBlbHNlCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIGlzVmFsaWRWYXJp
YWJsZU5hbWUoY29uc3QgU3RyaW5nJiBuYW1lKQotewotICAgIGlmIChuYW1lLmlzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMgPSBu
YW1lLmNoYXJhY3RlcnMoKTsKLSAgICBpZiAoIWlzVmFsaWRGaXJzdFZhcmlhYmxlTmFtZUNoYXJh
Y3RlcihjaGFyYWN0ZXJzWzBdKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgdW5zaWdu
ZWQgbGVuZ3RoID0gbmFtZS5sZW5ndGgoKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwg
bGVuZ3RoOyArK2kpIHsKLSAgICAgICAgaWYgKCFpc1ZhbGlkVmFyaWFibGVOYW1lQ2hhcmFjdGVy
KGNoYXJhY3RlcnNbaV0pKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAg
IHJldHVybiB0cnVlOwotfQotCi1ib29sIGNvbnRhaW5zVmFyaWFibGVSZWZlcmVuY2UoY29uc3Qg
U3RyaW5nJiB0ZXh0LCBib29sJiBpc1ZhbGlkKQotewotICAgIGlzVmFsaWQgPSB0cnVlOwotICAg
IGJvb2wgZm91bmRSZWZlcmVuY2UgPSBmYWxzZTsKLSAgICBib29sIGZpbmlzaGVkID0gZmFsc2U7
Ci0gICAgaW50IGN1cnJlbnRQb3NpdGlvbiA9IDA7Ci0gICAgY29uc3QgVUNoYXIqIGNoYXJhY3Rl
cnMgPSB0ZXh0LmNoYXJhY3RlcnMoKTsKLQotICAgIHdoaWxlICghZmluaXNoZWQpIHsKLSAgICAg
ICAgLy8gRmluZCBiZWdpbm5pbmcgb2YgdmFyaWFibGUgcmVmZXJlbmNlCi0gICAgICAgIGludCBy
ZWZlcmVuY2VTdGFydFBvc2l0aW9uID0gdGV4dC5maW5kKCckJywgY3VycmVudFBvc2l0aW9uKTsK
LSAgICAgICAgaWYgKHJlZmVyZW5jZVN0YXJ0UG9zaXRpb24gPT0gLTEpIHsKLSAgICAgICAgICAg
IGZpbmlzaGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAg
ICAgZm91bmRSZWZlcmVuY2UgPSB0cnVlOwotCi0gICAgICAgIGludCBuYW1lU3RhcnRQb3NpdGlv
biA9IHJlZmVyZW5jZVN0YXJ0UG9zaXRpb24gKyAxOwotICAgICAgICBpbnQgbmFtZUVuZFBvc2l0
aW9uID0gLTE7Ci0KLSAgICAgICAgaWYgKGNoYXJhY3RlcnNbbmFtZVN0YXJ0UG9zaXRpb25dID09
ICcoJykgewotICAgICAgICAgICAgLy8gSWYgdGhlIGlucHV0IHN0cmluZyBjb250YWlucyBhbiBv
cGVuIGJyYWNlLCBhIGNsb3NlIGJyYWNlIG11c3QgZXhpc3QgYXMgd2VsbAotICAgICAgICAgICAg
bmFtZUVuZFBvc2l0aW9uID0gdGV4dC5maW5kKCcpJywgbmFtZVN0YXJ0UG9zaXRpb24gKyAxKTsK
LSAgICAgICAgICAgIGlmIChuYW1lRW5kUG9zaXRpb24gPT0gLTEpIHsKLSAgICAgICAgICAgICAg
ICBmaW5pc2hlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlOwotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICArK25hbWVT
dGFydFBvc2l0aW9uOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaW50IGxlbmd0aCA9
IHRleHQubGVuZ3RoKCk7Ci0gICAgICAgICAgICBmb3IgKG5hbWVFbmRQb3NpdGlvbiA9IG5hbWVT
dGFydFBvc2l0aW9uOyBuYW1lRW5kUG9zaXRpb24gPCBsZW5ndGg7ICsrbmFtZUVuZFBvc2l0aW9u
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkVmFyaWFibGVOYW1lQ2hhcmFjdGVyKHRl
eHRbbmFtZUVuZFBvc2l0aW9uXSkpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKG5hbWVFbmRQb3NpdGlvbiA8IG5hbWVT
dGFydFBvc2l0aW9uKSB7Ci0gICAgICAgICAgICBmaW5pc2hlZCA9IHRydWU7Ci0gICAgICAgICAg
ICBpc1ZhbGlkID0gZmFsc2U7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIAot
ICAgICAgICAvLyBFdmVudHVhbGx5IHNwbGl0IG9mIGNvbnZlcnNpb24gc3RyaW5nLCBhbmQgY2hl
Y2sgaXRzIHN5bnRheCBhZnRlcndhcmRzCi0gICAgICAgIFN0cmluZyBjb252ZXJzaW9uU3RyaW5n
OwotICAgICAgICBTdHJpbmcgdmFyaWFibGVOYW1lID0gdGV4dC5zdWJzdHJpbmcobmFtZVN0YXJ0
UG9zaXRpb24sIG5hbWVFbmRQb3NpdGlvbiAtIG5hbWVTdGFydFBvc2l0aW9uKTsKLQotICAgICAg
ICBpbnQgY29udmVyc2lvblN0cmluZ1N0YXJ0ID0gdmFyaWFibGVOYW1lLmZpbmQoJzonKTsKLSAg
ICAgICAgaWYgKGNvbnZlcnNpb25TdHJpbmdTdGFydCAhPSAtMSkgewotICAgICAgICAgICAgY29u
dmVyc2lvblN0cmluZyA9IHZhcmlhYmxlTmFtZS5zdWJzdHJpbmcoY29udmVyc2lvblN0cmluZ1N0
YXJ0ICsgMSwgdmFyaWFibGVOYW1lLmxlbmd0aCgpIC0gKGNvbnZlcnNpb25TdHJpbmdTdGFydCAr
IDEpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlTmFtZS5sZWZ0KGNvbnZl
cnNpb25TdHJpbmdTdGFydCk7Ci0gICAgICAgIH0KLQotICAgICAgICBpc1ZhbGlkID0gaXNWYWxp
ZFZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpOwotICAgICAgICBpZiAoIWlzVmFsaWQpIHsKLSAg
ICAgICAgICAgIGZpbmlzaGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKCFjb252ZXJzaW9uU3RyaW5nLmlzRW1wdHkoKSkgewotICAgICAgICAg
ICAgaXNWYWxpZCA9IGlzVmFsaWRWYXJpYWJsZU5hbWUoY29udmVyc2lvblN0cmluZyk7Ci0gICAg
ICAgICAgICBpZiAoIWlzVmFsaWQpIHsKLSAgICAgICAgICAgICAgICBmaW5pc2hlZCA9IHRydWU7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIFdN
TFZhcmlhYmxlRXNjYXBpbmdNb2RlIGVzY2FwZU1vZGUgPSBXTUxWYXJpYWJsZUVzY2FwaW5nTm9u
ZTsKLSAgICAgICAgICAgIGlzVmFsaWQgPSBpc1ZhbGlkVmFyaWFibGVFc2NhcGluZ01vZGVTdHJp
bmcoY29udmVyc2lvblN0cmluZywgZXNjYXBlTW9kZSk7Ci0gICAgICAgICAgICBpZiAoIWlzVmFs
aWQpIHsKLSAgICAgICAgICAgICAgICBmaW5pc2hlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBjdXJyZW50UG9zaXRp
b24gPSBuYW1lRW5kUG9zaXRpb247Ci0gICAgfQotCi0gICAgcmV0dXJuIGZvdW5kUmVmZXJlbmNl
OwotfQotCi1TdHJpbmcgc3Vic3RpdHV0ZVZhcmlhYmxlUmVmZXJlbmNlcyhjb25zdCBTdHJpbmcm
IHJlZmVyZW5jZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBXTUxWYXJpYWJsZUVzY2FwaW5nTW9kZSBl
c2NhcGVNb2RlKQotewotICAgIEFTU0VSVChkb2N1bWVudCk7Ci0KLSAgICBpZiAocmVmZXJlbmNl
LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHJlZmVyZW5jZTsKLQotICAgIFdNTFBhZ2VTdGF0
ZSogcGFnZVN0YXRlID0gd21sUGFnZVN0YXRlRm9yRG9jdW1lbnQoZG9jdW1lbnQpOwotICAgIGlm
ICghcGFnZVN0YXRlKQotICAgICAgICByZXR1cm4gcmVmZXJlbmNlOwotCi0gICAgYm9vbCBpc1Zh
bGlkID0gdHJ1ZTsgCi0gICAgU3RyaW5nIHJlbWFpbmluZ0lucHV0ID0gcmVmZXJlbmNlOwotICAg
IFN0cmluZyByZXN1bHQ7Ci0KLSAgICB3aGlsZSAoIXJlbWFpbmluZ0lucHV0LmlzRW1wdHkoKSkg
ewotICAgICAgICBBU1NFUlQoaXNWYWxpZCk7Ci0KLSAgICAgICAgaW50IHN0YXJ0ID0gcmVtYWlu
aW5nSW5wdXQuZmluZCgiJCIpOwotICAgICAgICBpZiAoc3RhcnQgPT0gLTEpIHsKLSAgICAgICAg
ICAgIC8vIENvbnN1bWUgYWxsIHJlbWFpbmluZyBjaGFyYWN0ZXJzLCBhcyB0aGVyZSdzIG5vdGhp
bmcgbW9yZSB0byBzdWJzdGl0dXRlCi0gICAgICAgICAgICByZXN1bHQgKz0gcmVtYWluaW5nSW5w
dXQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIENvbnN1bWUg
YWxsIGNoYXJhY3RlcnMgdW50aWwgdGhlIHZhcmlhYmxlIHJlZmVyZW5jZSBiZWdpbm5pbmcKLSAg
ICAgICAgcmVzdWx0ICs9IHJlbWFpbmluZ0lucHV0LmxlZnQoc3RhcnQpOwotICAgICAgICByZW1h
aW5pbmdJbnB1dC5yZW1vdmUoMCwgc3RhcnQpOwotCi0gICAgICAgIC8vIFRyYW5zZm9ybSBhZGph
Y2VudCBkb2xsYXIgc2lnbnMgaW50byBhIHNpbmdsZSBkb2xsYXIgc2lnbiBhcyBzdHJpbmcgbGl0
ZXJhbAotICAgICAgICBpZiAocmVtYWluaW5nSW5wdXRbMV0gPT0gJyQnKSB7Ci0gICAgICAgICAg
ICByZXN1bHQgKz0gIiQiOwotICAgICAgICAgICAgcmVtYWluaW5nSW5wdXQucmVtb3ZlKDAsIDIp
OwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLQotICAgICAgICBTdHJpbmcgdmFy
aWFibGVOYW1lOwotICAgICAgICBTdHJpbmcgY29udmVyc2lvbk1vZGU7Ci0KLSAgICAgICAgaWYg
KHJlbWFpbmluZ0lucHV0WzFdID09ICcoJykgewotICAgICAgICAgICAgaW50IHJlZmVyZW5jZUVu
ZFBvc2l0aW9uID0gcmVtYWluaW5nSW5wdXQuZmluZCgiKSIpOwotICAgICAgICAgICAgaWYgKHJl
ZmVyZW5jZUVuZFBvc2l0aW9uID09IC0xKSB7Ci0gICAgICAgICAgICAgICAgaXNWYWxpZCA9IGZh
bHNlOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICB2YXJpYWJsZU5hbWUgPSByZW1haW5pbmdJbnB1dC5zdWJzdHJpbmcoMiwgcmVmZXJlbmNlRW5k
UG9zaXRpb24gLSAyKTsKLSAgICAgICAgICAgIHJlbWFpbmluZ0lucHV0LnJlbW92ZSgwLCByZWZl
cmVuY2VFbmRQb3NpdGlvbiArIDEpOwotCi0gICAgICAgICAgICAvLyBEZXRlcm1pbmUgdmFyaWFi
bGUgY29udmVyc2lvbiBtb2RlIHN0cmluZwotICAgICAgICAgICAgaW50IHBvcyA9IHZhcmlhYmxl
TmFtZS5maW5kKCc6Jyk7Ci0gICAgICAgICAgICBpZiAocG9zICE9IC0xKSB7Ci0gICAgICAgICAg
ICAgICAgY29udmVyc2lvbk1vZGUgPSB2YXJpYWJsZU5hbWUuc3Vic3RyaW5nKHBvcyArIDEsIHZh
cmlhYmxlTmFtZS5sZW5ndGgoKSAtIChwb3MgKyAxKSk7Ci0gICAgICAgICAgICAgICAgdmFyaWFi
bGVOYW1lID0gdmFyaWFibGVOYW1lLmxlZnQocG9zKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIGludCBsZW5ndGggPSByZW1haW5pbmdJbnB1dC5sZW5ndGgo
KTsKLSAgICAgICAgICAgIGludCByZWZlcmVuY2VFbmRQb3NpdGlvbiA9IDE7Ci0KLSAgICAgICAg
ICAgIGZvciAoOyByZWZlcmVuY2VFbmRQb3NpdGlvbiA8IGxlbmd0aDsgKytyZWZlcmVuY2VFbmRQ
b3NpdGlvbikgewotICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZFZhcmlhYmxlTmFtZUNoYXJh
Y3RlcihyZW1haW5pbmdJbnB1dFtyZWZlcmVuY2VFbmRQb3NpdGlvbl0pKQotICAgICAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgdmFyaWFibGVOYW1l
ID0gcmVtYWluaW5nSW5wdXQuc3Vic3RyaW5nKDEsIHJlZmVyZW5jZUVuZFBvc2l0aW9uIC0gMSk7
Ci0gICAgICAgICAgICByZW1haW5pbmdJbnB1dC5yZW1vdmUoMCwgcmVmZXJlbmNlRW5kUG9zaXRp
b24pOwotICAgICAgICB9Ci0KLSAgICAgICAgaXNWYWxpZCA9IGlzVmFsaWRWYXJpYWJsZU5hbWUo
dmFyaWFibGVOYW1lKTsKLSAgICAgICAgaWYgKCFpc1ZhbGlkKQotICAgICAgICAgICAgYnJlYWs7
Ci0KLSAgICAgICAgQVNTRVJUKCF2YXJpYWJsZU5hbWUuaXNFbXB0eSgpKTsKLQotICAgICAgICBT
dHJpbmcgdmFyaWFibGVWYWx1ZSA9IHBhZ2VTdGF0ZS0+Z2V0VmFyaWFibGUodmFyaWFibGVOYW1l
KTsKLSAgICAgICAgaWYgKHZhcmlhYmxlVmFsdWUuaXNFbXB0eSgpKQotICAgICAgICAgICAgY29u
dGludWU7Ci0KLSAgICAgICAgaWYgKGNvbnRhaW5zVmFyaWFibGVSZWZlcmVuY2UodmFyaWFibGVW
YWx1ZSwgaXNWYWxpZCkpIHsKLSAgICAgICAgICAgIGlmICghaXNWYWxpZCkKLSAgICAgICAgICAg
ICAgICBicmVhazsKLQotICAgICAgICAgICAgdmFyaWFibGVWYWx1ZSA9IHN1YnN0aXR1dGVWYXJp
YWJsZVJlZmVyZW5jZXModmFyaWFibGVWYWx1ZSwgZG9jdW1lbnQsIGVzY2FwZU1vZGUpOwotICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoIWNvbnZlcnNpb25N
b2RlLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBlc2NhcGUg
bW9kZSwgaWYgZGVzaXJlZAotICAgICAgICAgICAgV01MVmFyaWFibGVFc2NhcGluZ01vZGUgc3Bl
Y2lmaWVkRXNjYXBlTW9kZSA9IFdNTFZhcmlhYmxlRXNjYXBpbmdOb25lOyAKLSAgICAgICAgICAg
IGlmICgoaXNWYWxpZCA9IGlzVmFsaWRWYXJpYWJsZUVzY2FwaW5nTW9kZVN0cmluZyhjb252ZXJz
aW9uTW9kZSwgc3BlY2lmaWVkRXNjYXBlTW9kZSkpKQotICAgICAgICAgICAgICAgIGVzY2FwZU1v
ZGUgPSBzcGVjaWZpZWRFc2NhcGVNb2RlOwotCi0gICAgICAgICAgICBpZiAoIWlzVmFsaWQpCi0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQotICAgICAgICBzd2l0Y2ggKGVzY2Fw
ZU1vZGUpIHsKLSAgICAgICAgY2FzZSBXTUxWYXJpYWJsZUVzY2FwaW5nTm9uZToKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIFdNTFZhcmlhYmxlRXNjYXBpbmdFc2NhcGU6Ci0gICAg
ICAgICAgICB2YXJpYWJsZVZhbHVlID0gZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyh2YXJp
YWJsZVZhbHVlKTsgCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBXTUxWYXJpYWJs
ZUVzY2FwaW5nVW5lc2NhcGU6Ci0gICAgICAgICAgICB2YXJpYWJsZVZhbHVlID0gZGVjb2RlVVJM
RXNjYXBlU2VxdWVuY2VzKHZhcmlhYmxlVmFsdWUpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIH0KLQotICAgICAgICByZXN1bHQgKz0gdmFyaWFibGVWYWx1ZTsKLSAgICAgICAgQVNTRVJU
KGlzVmFsaWQpOwotICAgIH0KLQotICAgIGlmICghaXNWYWxpZCkgewotICAgICAgICByZXBvcnRX
TUxFcnJvcihkb2N1bWVudCwgV01MRXJyb3JJbnZhbGlkVmFyaWFibGVSZWZlcmVuY2UpOwotICAg
ICAgICByZXR1cm4gcmVmZXJlbmNlOwotICAgIH0KLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LX0KLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93bWwvV01MVmFyaWFibGVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd21sL1dNTFZhcmlhYmxlcy5oCShyZXZpc2lvbiA4
NTI0MikKKysrIFNvdXJjZS9XZWJDb3JlL3dtbC9XTUxWYXJpYWJsZXMuaAkod29ya2luZyBjb3B5
KQpAQCAtMSw0NyArMCwwIEBACi0vKioKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2Jp
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20v
KQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0g
Ki8KLQotI2lmbmRlZiBXTUxWYXJpYWJsZXNfaAotI2RlZmluZSBXTUxWYXJpYWJsZXNfaAotCi0j
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotI2lmIEVOQUJMRShXTUwpCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLSAgICBjbGFzcyBEb2N1bWVudDsKLQotICAgIGVudW0gV01MVmFyaWFibGVFc2Nh
cGluZ01vZGUgewotICAgICAgICBXTUxWYXJpYWJsZUVzY2FwaW5nTm9uZSA9IDAsCi0gICAgICAg
IFdNTFZhcmlhYmxlRXNjYXBpbmdFc2NhcGUsCi0gICAgICAgIFdNTFZhcmlhYmxlRXNjYXBpbmdV
bmVzY2FwZQotICAgIH07Ci0KLSAgICBib29sIGlzVmFsaWRWYXJpYWJsZU5hbWUoY29uc3QgU3Ry
aW5nJik7Ci0gICAgYm9vbCBjb250YWluc1ZhcmlhYmxlUmVmZXJlbmNlKGNvbnN0IFN0cmluZyYs
IGJvb2wmIGlzVmFsaWQpOwotCi0gICAgU3RyaW5nIHN1YnN0aXR1dGVWYXJpYWJsZVJlZmVyZW5j
ZXMoY29uc3QgU3RyaW5nJiB2YXJpYWJsZVJlZmVyZW5jZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBEb2N1bWVudCosCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgV01MVmFyaWFibGVFc2NhcGluZ01vZGUgbW9kZSA9IFdNTFZhcmlhYmxl
RXNjYXBpbmdOb25lKTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2
aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNiBAQAorMjAxMS0wNC0yOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgorCisgICAgICAgIFJlbW92
ZSBXTUwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5
Njc4CisKKyAgICAgICAgUmVtb3ZlIFdNTC1yZWxhdGVkIGNvZGUgaW4gV2ViS2l0Mi4KKworICAg
ICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHA6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5Lmg6CisKIDIwMTEt
MDQtMjggIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE1hcnRpbiBSb2JpbnNvbi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiA4NTI0MikKKysr
IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjMsNyArMTIzLDYgQEAgRU5BQkxFX1dFQl9TT0NLRVRTID0gJChF
TkFCTEVfV0VCX1NPQ0tFVAogRU5BQkxFX1dFQl9TT0NLRVRTX21hY29zeCA9IEVOQUJMRV9XRUJf
U09DS0VUUzsKIAogRU5BQkxFX1dFQl9USU1JTkcgPSA7Ci1FTkFCTEVfV01MID0gOwogCiBFTkFC
TEVfV09SS0VSUyA9ICQoRU5BQkxFX1dPUktFUlNfJChSRUFMX1BMQVRGT1JNX05BTUUpKTsKIEVO
QUJMRV9XT1JLRVJTX21hY29zeCA9IEVOQUJMRV9XT1JLRVJTOwpAQCAtMTMyLDQgKzEzMSw0IEBA
IEVOQUJMRV9YSFRNTE1QID0gOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxF
X1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRB
QkFTRSkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElS
RUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNF
KSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lNQUdFX1JFU0laRVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkg
JChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVS
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykg
JChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9T
VkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZP
UkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dN
TCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQo
RU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChF
TkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQ
TE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJM
RV9GSUxURVJTKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lN
QUdFX1JFU0laRVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQ
RUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVf
V0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVf
UFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVf
U1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09C
SkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JK
RUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQo
RU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJh
Y2tGb3J3YXJkTGlzdFByb3h5LmNwcAkocmV2aXNpb24gODUyNDIpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMjIsMTAgKzIyMiw0IEBAIHZvaWQgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6
OmNsZWFyKCkKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6QmFja0Zv
cndhcmRDbGVhcigpKTsKIH0KIAotI2lmIEVOQUJMRShXTUwpCi12b2lkIFdlYkJhY2tGb3J3YXJk
TGlzdFByb3h5OjpjbGVhcldNTFBhZ2VIaXN0b3J5KCkKLXsKLX0KLSNlbmRpZgotCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oCShyZXZpc2lvbiA4NTI0
MikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExp
c3RQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCwxMCArNjAsNiBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgYm9vbCBpc0FjdGl2ZSgpOwogCiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCk7Ci0g
ICAgCi0jaWYgRU5BQkxFKFdNTCkKLSAgICB2b2lkIGNsZWFyV01MUGFnZUhpc3RvcnkoKTsKLSNl
bmRpZgogCiAgICAgV2ViUGFnZSogbV9wYWdlOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDg1MjQyKQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDQtMjggIEFkYW0gQmFydGggIDxhYmFydGhAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KKworICAgICAgICBS
ZW1vdmUgV01MCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01OTY3OAorCisgICAgICAgIFJlbW92ZSBXTUwtcmVsYXRlZCBjb25maWd1cmF0aW9uIG9wdGlv
bnMgYW5kIHByaXZhdGUgQVBJcy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5tbToKKyAgICAgICAgKHN0cmluZ0Zvck1lc3NhZ2VTb3VyY2UpOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViRnJhbWVQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJVSURlbGVnYXRlUHJp
dmF0ZS5oOgorCiAyMDExLTA0LTI4ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+
CiAKICAgICAgICAgRm9sbG93LXVwIGZpeDogPGh0dHA6Ly93ZWJraXQub3JnL2IvNTk3Mjc+IC1b
V2ViUERGVmlldyBtZW51Rm9yRXZlbnQ6XSBsZWFrcyBOU01lbnVJdGVtIG9iamVjdHMKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjMsNyArMTIzLDYgQEAgRU5BQkxFX1dFQl9TT0NLRVRTID0gJChFTkFCTEVfV0VCX1NPQ0tFVAog
RU5BQkxFX1dFQl9TT0NLRVRTX21hY29zeCA9IEVOQUJMRV9XRUJfU09DS0VUUzsKIAogRU5BQkxF
X1dFQl9USU1JTkcgPSA7Ci1FTkFCTEVfV01MID0gOwogCiBFTkFCTEVfV09SS0VSUyA9ICQoRU5B
QkxFX1dPUktFUlNfJChSRUFMX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9XT1JLRVJTX21hY29z
eCA9IEVOQUJMRV9XT1JLRVJTOwpAQCAtMTMyLDQgKzEzMSw0IEBAIEVOQUJMRV9YSFRNTE1QID0g
OwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNM
VDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFU
QUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChF
TkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJT
KSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lNQUdFX1JFU0la
RVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChF
TkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRVRF
Ul9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJ
Q0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1Nf
VEFHKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1B
VElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElO
R1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVO
QUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VS
UykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVO
QUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JB
U0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUxJU1QpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9N
X1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJM
RV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFW
QVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykg
JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVO
QUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
U0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChF
TkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdf
VVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQo
RU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHJldmlzaW9uIDg1MjQy
KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
CSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSw2IEBACiAjZW5kaWYKIAogTlNTdHJpbmcgKldl
YkNvbnNvbGVNZXNzYWdlSFRNTE1lc3NhZ2VTb3VyY2UgPSBAIkhUTUxNZXNzYWdlU291cmNlIjsK
LU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVdNTE1lc3NhZ2VTb3VyY2UgPSBAIldNTE1lc3Nh
Z2VTb3VyY2UiOwogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlWE1MTWVzc2FnZVNvdXJjZSA9
IEAiWE1MTWVzc2FnZVNvdXJjZSI7CiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VKU01lc3Nh
Z2VTb3VyY2UgPSBAIkpTTWVzc2FnZVNvdXJjZSI7CiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3Nh
Z2VDU1NNZXNzYWdlU291cmNlID0gQCJDU1NNZXNzYWdlU291cmNlIjsKQEAgLTM2Nyw4ICszNjYs
NiBAQCBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlCiAgICAgc3dpdGNo
IChzb3VyY2UpIHsKICAgICBjYXNlIEhUTUxNZXNzYWdlU291cmNlOgogICAgICAgICByZXR1cm4g
V2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIFdNTE1lc3NhZ2VT
b3VyY2U6Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVdNTE1lc3NhZ2VTb3VyY2U7
CiAgICAgY2FzZSBYTUxNZXNzYWdlU291cmNlOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1l
c3NhZ2VYTUxNZXNzYWdlU291cmNlOwogICAgIGNhc2UgSlNNZXNzYWdlU291cmNlOgpJbmRleDog
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCShyZXZpc2lvbiA4
NTI0MikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTY1LDcgKzY1LDYgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBXZWJGcmFt
ZUxvYWRUeXBlSW50ZXJuYWwsICAgICAgICAgICAvLyBtYXBzIHRvIFdlYkNvcmU6OkZyYW1lTG9h
ZFR5cGVSZWRpcmVjdFdpdGhMb2NrZWRCYWNrRm9yd2FyZExpc3QKICAgICBXZWJGcmFtZUxvYWRU
eXBlUmVwbGFjZSwKICAgICBXZWJGcmFtZUxvYWRUeXBlUmVsb2FkRnJvbU9yaWdpbiwKLSAgICBX
ZWJGcmFtZUxvYWRUeXBlQmFja1dNTERlY2tOb3RBY2Nlc3NpYmxlCiB9IFdlYkZyYW1lTG9hZFR5
cGU7CiAKIEBpbnRlcmZhY2UgV2ViRnJhbWUgKFdlYlByaXZhdGUpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCShyZXZpc2lvbiA4
NTI0MikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtOTQsNyArOTQsNiBAQCBlbnVtIHsgCiAKIC8vIE1lc3NhZ2Ug
U291cmNlcy4KIGV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2FnZVNv
dXJjZTsKLWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VXTUxNZXNzYWdlU291cmNl
OwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVhNTE1lc3NhZ2VTb3VyY2U7CiBl
eHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlSlNNZXNzYWdlU291cmNlOwogZXh0ZXJu
IE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNTU01lc3NhZ2VTb3VyY2U7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCShyZXZpc2lvbiA4NTI0MikKKysrIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA0LTI4ICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwu
CisKKyAgICAgICAgUmVtb3ZlIFdNTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTk2NzgKKworICAgICAgICBSZW1vdmUgV01MLXJlbGF0ZWQgZW51bWVy
YXRpb24uCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJGcmFtZVByaXZhdGUuaWRsOgorCiAy
MDExLTA0LTI2ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpJbmRleDogU291cmNlL1dlYktpdC93aW4vSW50ZXJm
YWNlcy9JV2ViRnJhbWVQcml2YXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dp
bi9JbnRlcmZhY2VzL0lXZWJGcmFtZVByaXZhdGUuaWRsCShyZXZpc2lvbiA4NTI0MikKKysrIFNv
dXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkZyYW1lUHJpdmF0ZS5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTQzLDcgKzQzLDYgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBXZWJGcmFtZUxvYWRU
eXBlUmVkaXJlY3RXaXRoTG9ja2VkQmFja0ZvcndhcmRMaXN0LAogICAgIFdlYkZyYW1lTG9hZFR5
cGVSZXBsYWNlLAogICAgIFdlYkZyYW1lTG9hZFR5cGVSZWxvYWRGcm9tT3JpZ2luLAotICAgIFdl
YkZyYW1lTG9hZFR5cGVCYWNrV01MRGVja05vdEFjY2Vzc2libGUKIH0gV2ViRnJhbWVMb2FkVHlw
ZTsKIAogWwpJbmRleDogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UJKHJldmlzaW9uIDg1MjQyKQorKysgU291
cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTk0LDcgKzk0LDYg
QEAgV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1NWR19VU0UgIkVuYWJsZSBTVgogV0VCS0lUX0ZFQVRV
UkUoRU5BQkxFX1RPVUNIX0VWRU5UUyAiRW5hYmxlIFRvdWNoIEV2ZW50cyIgREVGQVVMVCBPRkYp
CiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfVklERU8gIkVuYWJsZSB2aWRlbyIgREVGQVVMVCBPTiBI
VE1MKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1dFQl9TT0NLRVRTICJFbmFibGUgd2ViIHNvY2tl
dHMiIERFRkFVTFQgT0ZGKQotV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1dNTCAiRW5hYmxlIFdNTCIg
REVGQVVMVCBPRkYpCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfV09SS0VSUyAiRW5hYmxlIHdvcmtl
cnMiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfWEhUTUxNUCAiRW5hYmxlIFhI
VE1MTVAiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1hQQVRIICJFbmFibGUg
WFBhdGgiIERFRkFVTFQgT04pCkluZGV4OiBTb3VyY2UvY21ha2UvT3B0aW9uc1dpbkNFLmNtYWtl
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luQ0UuY21ha2UJKHJldmlzaW9u
IDg1MjQyKQorKysgU291cmNlL2NtYWtlL09wdGlvbnNXaW5DRS5jbWFrZQkod29ya2luZyBjb3B5
KQpAQCAtNTMsNyArNTMsNiBAQCBXRUJLSVRfRkVBVFVSRShFTkFCTEVfU1ZHX1VTRSAiRW5hYmxl
IFNWCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfVE9VQ0hfRVZFTlRTICJFbmFibGUgVG91Y2ggRXZl
bnRzIiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9WSURFTyAiRW5hYmxlIHZp
ZGVvIiBERUZBVUxUIE9GRiBIVE1MKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1dFQl9TT0NLRVRT
ICJFbmFibGUgd2ViIHNvY2tldHMiIERFRkFVTFQgT0ZGKQotV0VCS0lUX0ZFQVRVUkUoRU5BQkxF
X1dNTCAiRW5hYmxlIFdNTCIgREVGQVVMVCBPRkYpCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfV09S
S0VSUyAiRW5hYmxlIHdvcmtlcnMiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxF
X1hIVE1MTVAgIkVuYWJsZSBYSFRNTE1QIiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVO
QUJMRV9YUEFUSCAiRW5hYmxlIFhQYXRoIiBERUZBVUxUIE9GRikKSW5kZXg6IFRvb2xzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MjQyKQorKysg
VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDQt
MjggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIFNlaWRlbC4KKworICAgICAgICBSZW1vdmUgV01MCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTY3OAorCisgICAgICAgIFJlbW92ZSBidWls
ZCBzeXN0ZW0gaW50ZWdyYXRpb24gYW5kIHRlc3QgaGFybmVzcyBpbnRlZ3JhdGlvbiBmb3IgV01M
LgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogU2NyaXB0cy9v
bGQtcnVuLXdlYmtpdC10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvZmVhdHVy
ZXMucG06CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJr
aXQucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJr
aXRfdW5pdHRlc3QucHk6CisKIDIwMTEtMDQtMjggIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBBdm9pZCBjcmFzaGluZyB3aGVuIHJ1bm5pbmcgbmV3LXJ1bi13ZWJr
aXQtdGVzdHMgb3V0c2lkZSBvZgpJbmRleDogVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQJKHJldmlzaW9uIDg1MjQyKQor
KysgVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQJKHdvcmtpbmcgY29weSkKQEAgLTExNyw3ICsx
MTcsNiBAQCBteSAoCiAgICAgJHdlYkluc3BlY3RvclN1cHBvcnQsCiAgICAgJHdlYlNvY2tldHNT
dXBwb3J0LAogICAgICR3ZWJUaW1pbmdTdXBwb3J0LAotICAgICR3bWxTdXBwb3J0LAogICAgICR3
b3JrZXJzU3VwcG9ydCwKICAgICAkeGh0bWxtcFN1cHBvcnQsCiAgICAgJHhwYXRoU3VwcG9ydCwK
QEAgLTI4Nyw5ICsyODYsNiBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gIndl
Yi10aW1pbmciLCBkZXNjID0+ICJUb2dnbGUgV2ViIFRpbWluZyBzdXBwb3J0IiwKICAgICAgIGRl
ZmluZSA9PiAiRU5BQkxFX1dFQl9USU1JTkciLCBkZWZhdWx0ID0+IDAsIHZhbHVlPT4gXCR3ZWJU
aW1pbmdTdXBwb3J0IH0sCiAKLSAgICB7IG9wdGlvbiA9PiAid21sIiwgZGVzYyA9PiAiVG9nZ2xl
IFdNTCBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1dNTCIsIGRlZmF1bHQgPT4g
MCwgdmFsdWUgPT4gXCR3bWxTdXBwb3J0IH0sCi0KICAgICB7IG9wdGlvbiA9PiAid29ya2VycyIs
IGRlc2MgPT4gIlRvZ2dsZSBXZWIgV29ya2VycyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX1dPUktFUlMiLCBkZWZhdWx0ID0+IChpc0FwcGxlV2ViS2l0KCkgfHwgaXNHdGsoKSks
IHZhbHVlID0+IFwkd29ya2Vyc1N1cHBvcnQgfSwKIApJbmRleDogVG9vbHMvU2NyaXB0cy9vbGQt
cnVuLXdlYmtpdC10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL29sZC1ydW4td2Vi
a2l0LXRlc3RzCShyZXZpc2lvbiA4NTI0MikKKysrIFRvb2xzL1NjcmlwdHMvb2xkLXJ1bi13ZWJr
aXQtdGVzdHMJKHdvcmtpbmcgY29weSkKQEAgLTU5MywxNCArNTkzLDYgQEAgaWYgKCFjaGVja1dl
YkNvcmVGZWF0dXJlU3VwcG9ydCgiM0QgQ2FudgogICAgICRpZ25vcmVkRGlyZWN0b3JpZXN7J2h0
dHAvdGVzdHMvY2FudmFzL3dlYmdsJ30gPSAxOwogfQogCi1pZiAoY2hlY2tXZWJDb3JlRmVhdHVy
ZVN1cHBvcnQoIldNTCIsIDApKSB7Ci0gICAgJHN1cHBvcnRlZEZpbGVFeHRlbnNpb25zeyd3bWwn
fSA9IDE7Ci19IGVsc2UgewotICAgICRpZ25vcmVkRGlyZWN0b3JpZXN7J2h0dHAvdGVzdHMvd21s
J30gPSAxOwotICAgICRpZ25vcmVkRGlyZWN0b3JpZXN7J2Zhc3Qvd21sJ30gPSAxOwotICAgICRp
Z25vcmVkRGlyZWN0b3JpZXN7J3dtbCd9ID0gMTsKLX0KLQogaWYgKCFjaGVja1dlYkNvcmVGZWF0
dXJlU3VwcG9ydCgiV0NTUyIsIDApKSB7CiAgICAgJGlnbm9yZWREaXJlY3Rvcmllc3snZmFzdC93
Y3NzJ30gPSAxOwogfQpAQCAtNzkwLDcgKzc4Miw3IEBAIGZvciBteSAkdGVzdCAoQHRlc3RzKSB7
CiAgICAgICAgICAgICAgICAgICAgIHByaW50IE9VVCAiJGVycm9yTWVzc2FnZVBhdGhcbiI7CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2lmICgkdGVzdCAh
fiAvXmh0dHBcL3Rlc3RzXC9sb2NhbFwvLyAmJiAkdGVzdCAhfiAvXmh0dHBcL3Rlc3RzXC9zc2xc
Ly8gJiYgJHRlc3QgIX4gL15odHRwXC90ZXN0c1wvd21sXC8vKSB7CisgICAgICAgIH0gZWxzaWYg
KCR0ZXN0ICF+IC9eaHR0cFwvdGVzdHNcL2xvY2FsXC8vICYmICR0ZXN0ICF+IC9eaHR0cFwvdGVz
dHNcL3NzbFwvLykgewogICAgICAgICAgICAgbXkgJHBhdGggPSBjYW5vbnBhdGgoJHRlc3QpOwog
ICAgICAgICAgICAgJHBhdGggPX4gcy9eaHR0cFwvdGVzdHNcLy8vOwogICAgICAgICAgICAgcHJp
bnQgT1VUICJodHRwOi8vMTI3LjAuMC4xOiRodHRwZFBvcnQvJHBhdGgkc3VmZml4RXhwZWN0ZWRI
YXNoXG4iOwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL2ZlYXR1cmVzLnBtCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9mZWF0dXJlcy5wbQkocmV2aXNpb24g
ODUyNDIpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvZmVhdHVyZXMucG0JKHdvcmtpbmcg
Y29weSkKQEAgLTcxLDcgKzcxLDYgQEAgc3ViIGhhc0ZlYXR1cmUoJCQpCiAgICAgICAgICJBY2Nl
bGVyYXRlZCBDb21wb3NpdGluZyIgPT4gIkdyYXBoaWNzTGF5ZXIiLAogICAgICAgICAiM0QgUmVu
ZGVyaW5nIiA9PiAiV2ViQ29yZUhhczNEUmVuZGVyaW5nIiwKICAgICAgICAgIjNEIENhbnZhcyIg
PT4gIldlYkdMU2hhZGVyIiwKLSAgICAgICAgIldNTCIgPT4gIldNTEVsZW1lbnQiLAogICAgICAg
ICAiV0NTUyIgPT4gInBhcnNlV0NTU0lucHV0UHJvcGVydHkiLAogICAgICAgICAiWEhUTUxNUCIg
PT4gImlzWEhUTUxNUERvY3VtZW50IiwKICAgICApOwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkJKHJldmlzaW9uIDg1MjQy
KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTIyNiw3ICsyMjYsNiBAQCBjbGFzcyBXZWJLaXRQb3J0KGJhc2Uu
UG9ydCk6CiAgICAgICAgICAgICAiR3JhcGhpY3NMYXllciI6IFsiY29tcG9zaXRpbmciXSwKICAg
ICAgICAgICAgICJXZWJDb3JlSGFzM0RSZW5kZXJpbmciOiBbImFuaW1hdGlvbnMvM2QiLCAidHJh
bnNmb3Jtcy8zZCJdLAogICAgICAgICAgICAgIldlYkdMU2hhZGVyIjogWyJmYXN0L2NhbnZhcy93
ZWJnbCIsICJjb21wb3NpdGluZy93ZWJnbCIsICJodHRwL3Rlc3RzL2NhbnZhcy93ZWJnbCJdLAot
ICAgICAgICAgICAgIldNTEVsZW1lbnQiOiBbImh0dHAvdGVzdHMvd21sIiwgImZhc3Qvd21sIiwg
IndtbCJdLAogICAgICAgICAgICAgInBhcnNlV0NTU0lucHV0UHJvcGVydHkiOiBbImZhc3Qvd2Nz
cyJdLAogICAgICAgICAgICAgImlzWEhUTUxNUERvY3VtZW50IjogWyJmYXN0L3hodG1sbXAiXSwK
ICAgICAgICAgfQpAQCAtMjU5LDkgKzI1OCw3IEBAIGNsYXNzIFdlYktpdFBvcnQoYmFzZS5Qb3J0
KToKICAgICAgICAgIyB0aGUgTWFjIHBsYXRmb3JtLgogICAgICAgICBkaXNhYmxlZF9mZWF0dXJl
X3Rlc3RzID0gWwogICAgICAgICAgICAgImZhc3QveGh0bWxtcCIsCi0gICAgICAgICAgICAiaHR0
cC90ZXN0cy93bWwiLAogICAgICAgICAgICAgIm1hdGhtbCIsCi0gICAgICAgICAgICAid21sIiwK
ICAgICAgICAgXQogICAgICAgICAjIEZJWE1FOiB3ZWJhcmNoaXZlIHRlc3RzIGV4cGVjdCB0byBy
ZWFkLXdyaXRlIGZyb20KICAgICAgICAgIyAtZXhwZWN0ZWQud2ViYXJjaGl2ZSBmaWxlcyBpbnN0
ZWFkIG9mIC50eHQgZmlsZXMuCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L3dlYmtpdF91bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdF91bml0dGVzdC5weQkocmV2aXNpb24g
ODUyNDIpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtp
dF91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCBjbGFzcyBXZWJL
aXRQb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUCiAKICAgICBkZWYgdGVzdF9za2lwcGVkX2Rp
cmVjdG9yaWVzX2Zvcl9zeW1ib2xzKHNlbGYpOgogICAgICAgICBzdXBwb3J0ZWRfc3ltYm9scyA9
IFsiR3JhcGhpY3NMYXllciIsICJXZWJDb3JlSGFzM0RSZW5kZXJpbmciLCAiaXNYSFRNTE1QRG9j
dW1lbnQiLCAiZm9vU3ltYm9sIl0KLSAgICAgICAgZXhwZWN0ZWRfZGlyZWN0b3JpZXMgPSBzZXQo
WyJtYXRobWwiLCAiZmFzdC9jYW52YXMvd2ViZ2wiLCAiY29tcG9zaXRpbmcvd2ViZ2wiLCAiaHR0
cC90ZXN0cy9jYW52YXMvd2ViZ2wiLCAiaHR0cC90ZXN0cy93bWwiLCAiZmFzdC93bWwiLCAid21s
IiwgImZhc3Qvd2NzcyJdKQorICAgICAgICBleHBlY3RlZF9kaXJlY3RvcmllcyA9IHNldChbIm1h
dGhtbCIsICJmYXN0L2NhbnZhcy93ZWJnbCIsICJjb21wb3NpdGluZy93ZWJnbCIsICJodHRwL3Rl
c3RzL2NhbnZhcy93ZWJnbCIsICJmYXN0L3djc3MiXSkKICAgICAgICAgcmVzdWx0X2RpcmVjdG9y
aWVzID0gc2V0KFRlc3RXZWJLaXRQb3J0KHN1cHBvcnRlZF9zeW1ib2xzLCBOb25lKS5fc2tpcHBl
ZF90ZXN0c19mb3JfdW5zdXBwb3J0ZWRfZmVhdHVyZXMoKSkKICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChyZXN1bHRfZGlyZWN0b3JpZXMsIGV4cGVjdGVkX2RpcmVjdG9yaWVzKQogCkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDI1MyBAQAorMjAxMS0wNC0yOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgorCisgICAgICAgIFJl
bW92ZSBXTUwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTU5Njc4CisKKyAgICAgICAgUmVtb3ZlIFdNTCB0ZXN0cy4gIFRoZXNlIHRlc3RzIGRvIG5vdCBh
cHBlYXIgdG8gYmUgcnVuIG9uCisgICAgICAgIGJ1aWxkLndlYmtpdC5vcmcgYmVjYXVzZSBub25l
IG9mIHRoZSBib3RzIG9uIGJ1aWxkLndlYmtpdC5vcmcgZW5hYmxlCisgICAgICAgIFdNTC4KKwor
ICAgICAgICAqIGZhc3Qvd21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2JyLWVsZW1l
bnQtaW4tdGFibGUud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2JyLWVsZW1lbnQt
aW4tdGV4dC53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvY2FyZC1lbGVtZW50Lndt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9jYXNlLXNlbnNpdGl2aXR5LndtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9jZGF0YS1zZWN0aW9uLndtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L3dtbC9jb21tZW50LndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3dt
bC9kby1lbGVtZW50LW9wdGlvbmFsLWF0dHIud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
d21sL2RvLXNoYWRvdy53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvZG8tdGVtcGxh
dGUud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2VudGl0eS53bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC93bWwvZXJyLWV2ZW50LWJpbmRpbmctY29uZmxpY3Qud21sOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3Qvd21sL2Vyci1pbnZhbGlkLWxvY2F0aW9uLWZvci12YXJyZWYu
d21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2Vyci1pbnZhbGlkLXRhYmxlY29sdW1u
LW51bWJlci53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvZXJyLWludmFsaWQtdmFy
aWFibGUtbmFtZS53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvZXJyLW11bHRpLWFj
Y2Vzcy53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvZXJyLW11bHRpLWh0dHAtZXF1
aXYtaW4tbWV0YS53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvZXJyLW11bHRpLW5h
bWUtaW4tbWV0YS53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvZXJyLW11bHRpLXRp
bWVyLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9lcnItc2FtZW5hbWUtZG8ud21s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2Vyci11bmFsbG93ZWQtdGFzay1pbi1hbmNo
b3Iud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL2ZpZWxkc2V0LndtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L3dtbC9odG1sLWZpZWxkc2V0LWNyYXNoLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC93bWwvaW1nLWxvY2Fsc3JjLndtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L3dtbC9pbWctc3JjLWxvY2Fsc3JjLWFsdC53bWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC93bWwvaW1nLXNyYy53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93bWwvaW5wdXQu
d21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL3AtYWxpZ24ud21sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3Qvd21sL3AtbW9kZS53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93
bWwvcmVzb3VyY2VzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL3Jlc291cmNlcy9mYWls
LnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9yZXNvdXJjZXMvcGFzcy5wbmc6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC93bWwvc2VsZWN0LndtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L3dtbC9zaG93LWZpcnN0LWNhcmQud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
d21sL3RhYmxlLWVsZW1lbnQtYWxpZ24tYXR0cmlidXRlLWludmFsaWQud21sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtaW52YWxp
ZC1udW1iZXIud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL3RhYmxlLWVsZW1lbnQt
Y29sdW1ucy1hdHRyaWJ1dGUtaW52YWxpZC53bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC93
bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1taXNzaW5nLndtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLndtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3dtbC90YWJsZS1lbGVtZW50LndtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L3dtbC90YXNrLW5vb3AtaW4tZG8ud21sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3Qvd21sL3Rlc3Qud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL3RleHQt
ZW1waGFzaXMud21sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd21sL3ZhbGlkYXRlLWR0ZC53
bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1kb21haW4tZGVueS1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1kb21haW4t
ZGVueS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJn
ZXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL2FjY2Vz
cy10YXJnZXQtcGF0aC1kZW55LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dtbC9hY2Nlc3MtdGFyZ2V0LXBhdGgtZGVueS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3dtbC9nby10YXNrLWdldC1tZXRob2QtYWNjZXB0LWNoYXJzZXQtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL2dvLXRhc2stZ2V0LW1l
dGhvZC1hY2NlcHQtY2hhcnNldC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d21sL2dvLXRhc2stZ2V0LW1ldGhvZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93bWwvZ28tdGFzay1wb3N0LW1ldGhvZC1hY2NlcHQtY2hhcnNldC1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvZ28tdGFzay1wb3N0
LW1ldGhvZC1hY2NlcHQtY2hhcnNldC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvd21sL2dvLXRhc2stcG9zdC1tZXRob2QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd21sL2dvLXRhc2stcG9zdC1tZXRob2QuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dtbC9wb3N0LWRhdGEtdG8tc2VydmVyLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9wb3N0LWRhdGEtdG8tc2VydmVyLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LWRvbWFp
bi1kZW55LndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMv
YWNjZXNzLXRhcmdldC1wYXRoLWRlbnkud21sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvd21sL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMvYW5zd2VyLXV0ZjguY2dpOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9hbnN3ZXIuY2dpOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9kdW1wVmFyaWFibGVzLmNnaTogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMvbG9ja2VkLWRlY2sud21sOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL3Jlc291cmNlcy91bnJlYWNoYWJsZS1kb21h
aW4ud21sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL3Jlc291cmNlcy91bnJl
YWNoYWJsZS1wYXRoLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9zY3Jp
cHQtdGVzdHM6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3Rz
L1RFTVBMQVRFLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93bWwvc2NyaXB0
LXRlc3RzL2FjY2Vzcy10YXJnZXQtZG9tYWluLWRlbnkuanM6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2FjY2Vzcy10YXJnZXQtcGF0aC1kZW55LmpzOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFy
Z2V0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9n
by10YXNrLWdldC1tZXRob2QtYWNjZXB0LWNoYXJzZXQuanM6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC5qczogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMvZ28tdGFzay1wb3N0LW1l
dGhvZC1hY2NlcHQtY2hhcnNldC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dt
bC9zY3JpcHQtdGVzdHMvZ28tdGFzay1wb3N0LW1ldGhvZC5qczogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMvcG9zdC1kYXRhLXRvLXNlcnZlci5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbHZpZXdlci9kdW1wQXNUZXh0L3dtbC1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWx2aWV3ZXIvZHVtcEFz
VGV4dC93bWwueG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zh
c3Qvd21sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3Qvd21s
L2h0bWwtZmllbGRzZXQtY3Jhc2gtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L3dtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC93bWwvYnItZWxlbWVudC1pbi10YWJsZS1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2JyLWVsZW1lbnQtaW4tdGFibGUtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9ici1lbGVtZW50LWlu
LXRleHQtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L3dtbC9ici1lbGVtZW50LWluLXRleHQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L3dtbC9jYXJkLWVsZW1lbnQtZXhwZWN0ZWQucG5nOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9jYXJkLWVsZW1lbnQtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9jYXNlLXNlbnNp
dGl2aXR5LWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC93bWwvY2FzZS1zZW5zaXRpdml0eS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2NkYXRhLXNlY3Rpb24tZXhwZWN0ZWQucG5nOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9jZGF0YS1zZWN0aW9uLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvY29tbWVudC1l
eHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Nv
bW1lbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L3dtbC9kby1lbGVtZW50LW9wdGlvbmFsLWF0dHItZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9kby1lbGVtZW50LW9wdGlvbmFsLWF0dHItZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9kby1z
aGFkb3ctZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L3dtbC9kby1zaGFkb3ctZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L3dtbC9kby10ZW1wbGF0ZS1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLXRlbXBsYXRlLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZW50aXR5LWV4cGVjdGVkLnBuZzog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZW50aXR5LWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWV2ZW50
LWJpbmRpbmctY29uZmxpY3QtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9mYXN0L3dtbC9lcnItZXZlbnQtYmluZGluZy1jb25mbGljdC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLWxv
Y2F0aW9uLWZvci12YXJyZWYtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9mYXN0L3dtbC9lcnItaW52YWxpZC1sb2NhdGlvbi1mb3ItdmFycmVmLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWludmFs
aWQtdGFibGVjb2x1bW4tbnVtYmVyLWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWludmFsaWQtdGFibGVjb2x1bW4tbnVtYmVyLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWlu
dmFsaWQtdmFyaWFibGUtbmFtZS1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLXZhcmlhYmxlLW5hbWUtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGktYWNj
ZXNzLWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93
bWwvZXJyLW11bHRpLWFjY2Vzcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS1odHRwLWVxdWl2LWluLW1ldGEtZXhwZWN0ZWQu
cG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGkt
aHR0cC1lcXVpdi1pbi1tZXRhLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC93bWwvZXJyLW11bHRpLW5hbWUtaW4tbWV0YS1leHBlY3RlZC5wbmc6IFJl
bW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS1uYW1lLWlu
LW1ldGEtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L3dtbC9lcnItbXVsdGktdGltZXItZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGktdGltZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItc2FtZW5hbWUtZG8tZXhwZWN0
ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItc2Ft
ZW5hbWUtZG8tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L3dtbC9lcnItdW5hbGxvd2VkLXRhc2staW4tYW5jaG9yLWV4cGVjdGVkLnBuZzogUmVtb3Zl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLXVuYWxsb3dlZC10YXNrLWlu
LWFuY2hvci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3Qvd21sL2ZpZWxkc2V0LWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC93bWwvZmllbGRzZXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L3dtbC9odG1sLWZpZWxkc2V0LWNyYXNoLWV4cGVjdGVkLnBuZzog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvaHRtbC1maWVsZHNldC1j
cmFzaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL2ltZy1sb2NhbHNyYy1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL2ltZy1sb2NhbHNyYy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2ltZy1zcmMtZXhwZWN0ZWQucG5nOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9pbWctc3JjLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW1nLXNyYy1sb2NhbHNy
Yy1hbHQtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L3dtbC9pbWctc3JjLWxvY2Fsc3JjLWFsdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2lucHV0LWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW5wdXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9wLWFsaWduLWV4cGVjdGVkLnBuZzog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvcC1hbGlnbi1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3AtbW9kZS1l
eHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3At
bW9kZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL3NlbGVjdC1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3Qvd21sL3NlbGVjdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL3Nob3ctZmlyc3QtY2FyZC1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3Nob3ctZmlyc3QtY2FyZC1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1l
bnQtYWxpZ24tYXR0cmlidXRlLWludmFsaWQtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWFsaWduLWF0dHJpYnV0ZS1p
bnZhbGlkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1leHBlY3RlZC5wbmc6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1u
cy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWludmFsaWQtZXhwZWN0
ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1l
bGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWludmFsaWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0
cmlidXRlLWludmFsaWQtbnVtYmVyLWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1pbnZh
bGlkLW51bWJlci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtbWlzc2luZy1leHBlY3Rl
ZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVs
ZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtbWlzc2luZy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtZXhwZWN0ZWQucG5n
OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwv
dGFzay1ub29wLWluLWRvLWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC93bWwvdGFzay1ub29wLWluLWRvLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGVzdC1leHBlY3RlZC5wbmc6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3Rlc3QtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC90ZXh0LWVtcGhhc2lzLWV4cGVj
dGVkLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGV4dC1l
bXBoYXNpcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3Qvd21sL3ZhbGlkYXRlLWR0ZC1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3Qvd21sL3ZhbGlkYXRlLWR0ZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogd21sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9hY2Nlc3MtdGFyZ2V0LWRlbnkt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9hY2Nlc3MtdGFyZ2V0LWRlbnku
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvYWNjZXNzLXRhcmdldC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogd21sL2FjY2Vzcy10YXJnZXQuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3bWwvZW50ZXItY2FyZC13aXRoLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogd21sL2VudGVyLWNhcmQtd2l0aC1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3bWwvZW50ZXItZmlyc3QtY2FyZC13aXRoLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogd21sL2VudGVyLWZpcnN0LWNhcmQtd2l0aC1ldmVudHMuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2st
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9nby10YXNrLWdldC1tZXRob2Qt
ZXh0ZXJuYWwtZGVjay13aXRoLWhyZWYtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IHdtbC9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVjay13aXRoLWhyZWYuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiB3bWwvZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2suaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvZ28tdGFzay1nZXQtbWV0aG9kLXNhbWUtZGVjay1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogd21sL2dvLXRhc2stZ2V0LW1ldGhvZC1z
YW1lLWRlY2suaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvaW5wdXQtZm9ybWF0LWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvaW5wdXQtZm9ybWF0Lmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogd21sL25ld2NvbnRleHQtc2FtZS1kZWNrLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiB3bWwvbmV3Y29udGV4dC1zYW1lLWRlY2suaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiB3bWwvb25lbnRlcmZvcndhcmQtZXZlbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIHdtbC9vbmVudGVyZm9yd2FyZC1ldmVudC5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHdtbC9vbmVudGVyZm9yd2FyZC1pbmxpbmUtZXZlbnQtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHdtbC9vbmVudGVyZm9yd2FyZC1pbmxpbmUtZXZlbnQuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiB3bWwvb250aW1lci1ldmVudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogd21sL29udGltZXItZXZlbnQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3
bWwvb250aW1lci1pbmxpbmUtZXZlbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IHdtbC9vbnRpbWVyLWlubGluZS1ldmVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9v
cHRpb24tZWxlbWVudC1vbnBpY2stZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdt
bC9vcHRpb24tZWxlbWVudC1vbnBpY2stcmVjdXJzaW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiB3bWwvb3B0aW9uLWVsZW1lbnQtb25waWNrLXJlY3Vyc2lvbi5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIHdtbC9vcHRpb24tZWxlbWVudC1vbnBpY2suaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiB3bWwvcmVzb3VyY2VzOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9yZXNvdXJj
ZXMvV01MVGVzdENhc2UuanM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3Jlc291cmNlcy9hY2Nl
c3MtdGFyZ2V0LWRlbnkud21sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9yZXNvdXJjZXMvYWNj
ZXNzLXRhcmdldC53bWw6IFJlbW92ZWQuCisgICAgICAgICogd21sL3Jlc291cmNlcy9lbnRlci1j
YXJkLXdpdGgtZXZlbnRzLndtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvcmVzb3VyY2VzL2Vu
dGVyLWZpcnN0LWNhcmQtd2l0aC1ldmVudHMud21sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9y
ZXNvdXJjZXMvZXh0ZXJuYWwtZGVjay53bWw6IFJlbW92ZWQuCisgICAgICAgICogd21sL3Jlc291
cmNlcy9sb2NrZWQtZGVjay53bWw6IFJlbW92ZWQuCisgICAgICAgICogd21sL3Jlc291cmNlcy9u
ZXdjb250ZXh0LXNhbWUtZGVjay53bWw6IFJlbW92ZWQuCisgICAgICAgICogd21sL3Jlc291cmNl
cy9vbmVudGVyZm9yd2FyZC1ldmVudC53bWw6IFJlbW92ZWQuCisgICAgICAgICogd21sL3Jlc291
cmNlcy9vbmVudGVyZm9yd2FyZC1pbmxpbmUtZXZlbnQud21sOiBSZW1vdmVkLgorICAgICAgICAq
IHdtbC9yZXNvdXJjZXMvb250aW1lci1ldmVudC53bWw6IFJlbW92ZWQuCisgICAgICAgICogd21s
L3Jlc291cmNlcy9vbnRpbWVyLWlubGluZS1ldmVudC53bWw6IFJlbW92ZWQuCisgICAgICAgICog
d21sL3Jlc291cmNlcy9vcHRpb24tZWxlbWVudC1vbnBpY2stcmVjdXJzaW9uLndtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiB3bWwvcmVzb3VyY2VzL3Rlc3QtZG9jdW1lbnQud21sOiBSZW1vdmVkLgor
ICAgICAgICAqIHdtbC9zY3JpcHQtdGVzdHM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3Njcmlw
dC10ZXN0cy9URU1QTEFURS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9zY3JpcHQtdGVz
dHMvYWNjZXNzLXRhcmdldC1kZW55LmpzOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9zY3JpcHQt
dGVzdHMvYWNjZXNzLXRhcmdldC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvc2NyaXB0LXRl
c3RzL2VudGVyLWNhcmQtd2l0aC1ldmVudHMuanM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3Nj
cmlwdC10ZXN0cy9lbnRlci1maXJzdC1jYXJkLXdpdGgtZXZlbnRzLmpzOiBSZW1vdmVkLgorICAg
ICAgICAqIHdtbC9zY3JpcHQtdGVzdHMvZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2st
d2l0aC1ocmVmLmpzOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC9zY3JpcHQtdGVzdHMvZ28tdGFz
ay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2suanM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3Nj
cmlwdC10ZXN0cy9nby10YXNrLWdldC1tZXRob2Qtc2FtZS1kZWNrLmpzOiBSZW1vdmVkLgorICAg
ICAgICAqIHdtbC9zY3JpcHQtdGVzdHMvaW5wdXQtZm9ybWF0LmpzOiBSZW1vdmVkLgorICAgICAg
ICAqIHdtbC9zY3JpcHQtdGVzdHMvbmV3Y29udGV4dC1zYW1lLWRlY2suanM6IFJlbW92ZWQuCisg
ICAgICAgICogd21sL3NjcmlwdC10ZXN0cy9vbmVudGVyZm9yd2FyZC1ldmVudC5qczogUmVtb3Zl
ZC4KKyAgICAgICAgKiB3bWwvc2NyaXB0LXRlc3RzL29uZW50ZXJmb3J3YXJkLWlubGluZS1ldmVu
dC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvc2NyaXB0LXRlc3RzL29udGltZXItZXZlbnQu
anM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3NjcmlwdC10ZXN0cy9vbnRpbWVyLWlubGluZS1l
dmVudC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiB3bWwvc2NyaXB0LXRlc3RzL29wdGlvbi1lbGVt
ZW50LW9ucGljay1yZWN1cnNpb24uanM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3NjcmlwdC10
ZXN0cy9vcHRpb24tZWxlbWVudC1vbnBpY2suanM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3Nj
cmlwdC10ZXN0cy9zZWxlY3QtZWxlbWVudC12YXJpYWJsZXMuanM6IFJlbW92ZWQuCisgICAgICAg
ICogd21sL3NjcmlwdC10ZXN0cy92YXJpYWJsZS1yZWZlcmVuY2UtaW52YWxpZC1jaGFyYWN0ZXIu
anM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3NjcmlwdC10ZXN0cy92YXJpYWJsZS1yZWZlcmVu
Y2UtdmFsaWQuanM6IFJlbW92ZWQuCisgICAgICAgICogd21sL3NlbGVjdC1lbGVtZW50LXZhcmlh
Ymxlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogd21sL3NlbGVjdC1lbGVtZW50
LXZhcmlhYmxlcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdtbC92YXJpYWJsZS1yZWZlcmVu
Y2UtaW52YWxpZC1jaGFyYWN0ZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdt
bC92YXJpYWJsZS1yZWZlcmVuY2UtaW52YWxpZC1jaGFyYWN0ZXIuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3bWwvdmFyaWFibGUtcmVmZXJlbmNlLXZhbGlkLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiB3bWwvdmFyaWFibGUtcmVmZXJlbmNlLXZhbGlkLmh0bWw6IFJlbW92ZWQu
CisKIDIwMTEtMDQtMjggIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dt
bC9ici1lbGVtZW50LWluLXRhYmxlLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L3dtbC9ici1lbGVtZW50LWluLXRhYmxlLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L3dtbC9ici1lbGVtZW50LWluLXRhYmxlLndtbAkod29ya2luZyBjb3B5KQpAQCAt
MSwxOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElD
ICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcv
RFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gPGNhcmQgdGl0bGU9IlBhcmFncmFwaHMiPgotIDxw
PiBUaGlzIHRlc3QgY2FzZSBpcyB1c2VkIHRvIHRlc3QgYnIgZWxlbWVudCBpbiBhIHRhYmxlLiBl
YWNoIGNlbGwgaXMgYWxpZ25lZCB0byBsZWZ0LCBhbmQgdGhlIEJSIHdpbGwgYnJlYWsgdGhlICJ4
eHh4eHh4eCIgdGV4dCBpbiB0aGUgbGFzdCB0ZDwvcD4KLSA8dGFibGUgY29sdW1ucz0nMycgYWxp
Z249IkxMTCI+Ci0gICAgPHRyPgotICAgICA8dGQgaWQ9ImMxIj5DZWxsIG9uZTwvdGQ+Ci0gICAg
IDx0ZCBpZD0iYzIiPkNlbGwgdHdvPC90ZD4KLSAgICAgPHRkIGlkPSJjMyI+YzM8L3RkPgotICAg
IDwvdHI+Ci0gICAgPHRyPgotICAgICA8dGQgaWQ9ImEiPmNlbGwgYTwvdGQ+Ci0gICAgIDx0ZCBp
ZD0iYiI+Y2VsbCBiPC90ZD4KLSAgICAgPHRkIGlkPSJjIj54eHh4eDxici8+eHh4PC90ZD4KLSAg
ICA8L3RyPgotIDwvdGFibGU+Ci0gPC9jYXJkPgotPC93bWw+IApJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC93bWwvYnItZWxlbWVudC1pbi10ZXh0LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3dtbC9ici1lbGVtZW50LWluLXRleHQud21sCShyZXZpc2lvbiA4NTI0MikKKysrIExh
eW91dFRlc3RzL2Zhc3Qvd21sL2JyLWVsZW1lbnQtaW4tdGV4dC53bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVC
TElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5v
cmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gPGNhcmQgdGl0bGU9IlBhcmFncmFwaHMiPgot
IDxwPiBUaGlzIHRlc3QgY2FzZSBpcyB1c2VkIHRvIHRlc3QgYnIgZWxlbWVudCBpbiB0ZXh0PC9w
PgotICBUaGlzIGlzIGEgcGllY2Ugb2YgdGV4dCA8YnIvPndpdGggYSBsaW5lIGJyZWFrCi0gPC9j
YXJkPgotPC93bWw+IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvY2FyZC1lbGVtZW50Lndt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9jYXJkLWVsZW1lbnQud21sCShy
ZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2NhcmQtZWxlbWVudC53bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwh
RE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjAvL0VOIgotImh0dHA6
Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci0KLTx3bWw+Ci08Y2FyZCBpZD0i
Y2FyZDEiIHRpdGxlPSJDYXJkIDEiPlRoaXMgaXMgY2FyZCBvbmU8L2NhcmQ+Ci08Y2FyZCBpZD0i
Y2FyZDIiIHRpdGxlPSJDYXJkIDIiPlRoaXMgaXMgY2FyZCB0d288L2NhcmQ+Ci08L3dtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2Nhc2Utc2Vuc2l0aXZpdHkud21sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2Nhc2Utc2Vuc2l0aXZpdHkud21sCShyZXZpc2lvbiA4
NTI0MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2Nhc2Utc2Vuc2l0aXZpdHkud21sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgPz4KLTwhRE9D
VFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3
dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gPGNhcmQgaWQ9J2NhcmQx
Jz4KLSA8cD4gVGVzdCBmb3IgQ2FzZSBzZW5zaXRpdml0eSBpbiBXTUwgPC9wPgotIDxwPiBjb21w
YXJlIHRoZSByZXN1bHQgb2YgaW5zZXJ0aW5nICZsdDtici8mZ3Q7IGFuZCAmbHQ7QlIvJmd0OyBp
bnRvIHRoZSBzYW1lIHRleHQsIDxici8+dGhlIGZvcm1lciBzaG91bGQgd29yaywgYW5kIHRoZSBs
YXR0ZXIgZG9lc24ndC48L3A+Ci0gPHRhYmxlIGNvbHVtbnM9IjEiPgotIDx0cj48dGQ+VGVzdCBj
YXNlIDxici8+c2Vuc2l0aXZpdHkgaW4gV01MIDwvdGQ+PC90cj4KLSA8dHI+PHRkPlRlc3QgY2Fz
ZSA8QlIvPnNlbnNpdGl2aXR5IGluIFdNTCA8L3RkPjwvdHI+Ci0gPC90YWJsZT4KLSA8L2NhcmQ+
Ci08L3dtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvY2RhdGEtc2VjdGlvbi53bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvY2RhdGEtc2VjdGlvbi53bWwJKHJl
dmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvY2RhdGEtc2VjdGlvbi53bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiID8+Ci08
IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6
Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotIDxjYXJkIGlkPSdj
YXJkMSc+Ci0gPHA+IFRlc3QgZm9yIENEQVRBIFNlY3Rpb24gaW4gV01MPGJyLz4gSWYgaXQgcGFz
c2VzLCB5b3UgY2FuIHNlZSB0aGUgZm9sbG93aW5nIHRleHQgOiA8L3A+Ci0gPCFbQ0RBVEFbIFRo
aXMgaXMgPEI+IGEgQ0RBVEEgdGVzdF1dPgotIDwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC93bWwvY29tbWVudC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC93bWwvY29tbWVudC53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvZmFzdC93
bWwvY29tbWVudC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwg
MS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21s
PgotIDxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQgMSI+Ci0gIDxwPiBUZXN0IGNvbW1lbnQg
aW4gV01MLCB0aGUgdGV4dCBpbiB0aGUgY29tbWVudCBzaG91bGQgbm90IGJlIGRpc3BsYXllZCwg
aWYgaXQgcGFzc2VzLCB5b3UgY2FuIG9ubHkgc2VlIHRoZSB0ZXh0OiAiSGVsbG8gV29ybGQhIiBh
ZnRlciB0aGlzIGxpbmUgPC9wPgotICA8cD4KLSAgICA8IS0tIFRoaXMgaXMgYSBjb21tZW50ICwg
aXQgc2hvdWxkIG5vdCBiZSBkaXNwbGF5ZWQtLT4KLSAgICBIZWxsbyBXb3JsZCEKLSAgPC9wPgot
IDwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvZG8tZWxlbWVudC1v
cHRpb25hbC1hdHRyLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9kby1l
bGVtZW50LW9wdGlvbmFsLWF0dHIud21sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3Rz
L2Zhc3Qvd21sL2RvLWVsZW1lbnQtb3B0aW9uYWwtYXR0ci53bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsMjMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJ
QyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3Jn
L0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotIDxjYXJkIGlkPSJmaXJzdGNhcmQiIHRpdGxlPSJP
bmUiPgotICA8cD5UZXN0IGZvciBkbyBlbGVtZW50IGluIFdNTCA8L3A+Ci0gIDxwPiBUaGVyZSBh
cmUgdHdvIGRvIGVsZW1lbnQgaW4gdGhpcyBjYXJkLCB0aGUgZmlyc3Qgb25lIHdpbGwgZGlzcGxh
eSwgdGhlIHNlY29uZCB3b24ndCBiZWNhdXNlIGl0cyBvcHRpb25hbCBhdHRyaWJ1dGUgaXMgdHJ1
ZTwvcD4KLSAgPGRvIG5hbWU9ImdvIiB0eXBlPSJhY2NlcHQiIGxhYmVsPSJEbyAxIiBvcHRpb25h
bD0iZmFsc2UiPgotICA8Z28gaHJlZj0iI3RoaXJkY2FyZCIvPgotICA8L2RvPgotICA8ZG8gbmFt
ZT0iZ28yIiB0eXBlPSJhY2NlcHQiIGxhYmVsPSJEbyAyIiBvcHRpb25hbD0idHJ1ZSI+Ci0gIDxn
byBocmVmPSIjc2Vjb25kY2FyZCIvPgotICA8L2RvPgotIDwvY2FyZD4KLQotIDxjYXJkIGlkPSJz
ZWNvbmRjYXJkIiB0aXRsZT0iVHdvIj4KLSAgPHA+VGhpcyBpcyB0aGUgc2Vjb25kIGNhcmQ8L3A+
Ci0gPC9jYXJkPgotCi0gPGNhcmQgaWQ9InRoaXJkY2FyZCIgdGl0bGU9IlRocmVlIj4KLSAgPHA+
VGhpcyBpcyB0aGUgdGhpcmQgY2FyZDwvcD4KLSA8L2NhcmQ+Ci08L3dtbD4KLQpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC93bWwvZG8tc2hhZG93LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3dtbC9kby1zaGFkb3cud21sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3Rz
L2Zhc3Qvd21sL2RvLXNoYWRvdy53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNDEgKzAsMCBAQAot
PD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0v
L0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnht
bCI+Ci08d21sPgotPHRlbXBsYXRlPgotPGRvIHR5cGU9ImFjY2VwdCIgbmFtZT0iZG8xIiBsYWJl
bD0iVGVtcGxhdGUgRG8iPgotPHByZXYvPgotPC9kbz4KLTwvdGVtcGxhdGU+Ci0KLTxjYXJkIGlk
PSJmaXJzdCI+Ci08cD4gVGVzdCBmb3IgZG8tc2hhZG93IGluIFdNTDwvcD4KLTxwPlRoaXMgaXMg
Zmlyc3QgY2FyZCwgd2hpY2ggd29uJ3Qgc2hhZG93IGRlY2stbGV2ZWwgZG88L3A+Ci08YW5jaG9y
PgotPGdvIGhyZWY9IiNzZWNvbmQiPkdvIHRvIGNhcmQgMjwvZ28+Ci08L2FuY2hvcj4KLTwvY2Fy
ZD4KLQotPGNhcmQgaWQ9InNlY29uZCI+Ci08cD5kZWNrLWxldmVsIGRvIGlzIHNoYWRvd2VkIHdp
dGggbm9vcC4gSXQgaXMgbm90IGV4cG9zZWQgdG8gdGhlIHVzZXIgPC9wPgotPGRvIHR5cGU9Im9w
dGlvbnMiIG5hbWU9ImRvMSIgbGFiZWw9InNlY29uZCBkbyI+Ci08bm9vcC8+Ci08L2RvPgotPGFu
Y2hvcj4KLTxnbyBocmVmPSIjdGhpcmQiPkdvIHRvIGNhcmQgMzwvZ28+Ci08L2FuY2hvcj4KLTwv
Y2FyZD4KLQotPGNhcmQgaWQ9InRoaXJkIj4KLTxwPmRlY2stbGV2ZWwgZG8gaXMgc2hhZG93ZWQu
IEl0IGlzIHJlcGxhY2VkIGJ5IGEgY2FyZC1sZXZlbCBkbyBiZWNhdXNlIHRoZXkgaGF2ZSB0aGUg
c2FtZSBuYW1lPC9wPgotPHA+Ci08ZG8gdHlwZT0ib3B0aW9ucyIgbmFtZT0iZG8xIiBsYWJlbD0i
ZG8xIj4KLTxnbyBocmVmPSIuL3Rlc3Qud21sIi8+Ci08L2RvPgotPGJyLz4KLTxhbmNob3I+Ci08
Z28gaHJlZj0iI2ZpcnN0Ij5HbyB0byBjYXJkIDE8L2dvPgotPC9hbmNob3I+Ci08L3A+Ci08L2Nh
cmQ+Ci08L3dtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvZG8tdGVtcGxhdGUud21s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2RvLXRlbXBsYXRlLndtbAkocmV2
aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9kby10ZW1wbGF0ZS53bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMzEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURP
Q1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93
d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotPHRlbXBsYXRlIGlkPSIy
Ij4KLTxkbyBuYW1lPSJnbyIgdHlwZT0iYWNjZXB0IiBsYWJlbD0iVGVtcGxhdGUgZG8iPgotPGdv
IGhyZWY9IiNmaXJzdGNhcmQiLz4KLTwvZG8+Ci08L3RlbXBsYXRlPgotIDxjYXJkIGlkPSJmaXJz
dGNhcmQiIHRpdGxlPSJPbmUiPgotIDxwPiBUZXN0IGZvciBkbyBlbGVtZW50IGluIHRlbXBsYXRl
IGluIFdNTDwvcD4KLSA8cD4gV2hpY2hldmVyIGNhcmQgeW91IGVudGVyZWQsIHlvdSBjYW4gc2Vl
IHRoZSB0ZW1wbGF0ZSBkbyBidXR0b24gYmVjYXVzZSBpdCdzIGdsb2JhbDwvcD4KLSAgPHA+VGhp
cyBpcyB0aGUgZmlyc3QgY2FyZDwvcD4KLSAgPHA+PGFuY2hvcj48Z28gaHJlZj0iI3NlY29uZGNh
cmQiLz5HbyB0byBjYXJkMjwvYW5jaG9yPjwvcD4KLSA8L2NhcmQ+Ci0KLSA8Y2FyZCBpZD0ic2Vj
b25kY2FyZCIgdGl0bGU9IlR3byI+Ci0gPHA+IFRlc3QgZm9yIGRvIGVsZW1lbnQgaW4gdGVtcGxh
dGUgaW4gV01MPC9wPgotIDxwPiBXaGljaGV2ZXIgY2FyZCB5b3UgZW50ZXJlZCwgeW91IGNhbiBz
ZWUgdGhlIHRlbXBsYXRlIGRvIGJ1dHRvbiBiZWNhdXNlIGl0J3MgZ2xvYmFsPC9wPgotICA8cD5U
aGlzIGlzIHRoZSBzZWNvbmQgY2FyZCA8L3A+Ci0gIDxhbmNob3I+R28gdG8gY2FyZCAzCi0gIDxn
byBocmVmPSIjdGhpcmRjYXJkIi8+Ci0gIDwvYW5jaG9yPgotIDwvY2FyZD4KLQotIDxjYXJkIGlk
PSJ0aGlyZGNhcmQiIHRpdGxlPSJUaHJlZSI+Ci0gPHA+IFRlc3QgZm9yIGRvIGVsZW1lbnQgaW4g
dGVtcGxhdGUgaW4gV01MPC9wPgotIDxwPiBXaGljaGV2ZXIgY2FyZCB5b3UgZW50ZXJlZCwgeW91
IGNhbiBzZWUgdGhlIHRlbXBsYXRlIGRvIGJ1dHRvbiBiZWNhdXNlIGl0J3MgZ2xvYmFsPC9wPgot
ICA8cD5UaGlzIGlzIHRoZSB0aGlyZCBjYXJkPC9wPgotICA8YW5jaG9yPkJhY2s8cHJldi8+PC9h
bmNob3I+Ci0gPC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lbnRp
dHkud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2VudGl0eS53bWwJKHJl
dmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvZW50aXR5LndtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwyNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQ
RSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIgotImh0dHA6Ly93d3cu
d2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci0KLTx3bWw+Ci08Y2FyZCBpZD0ibm8xIiB0
aXRsZT0iVGVzdCBlbnRpdHkiPgotPHA+VGVzdCBmb3IgRW50aXRpZXMgaW4gV01MIHBhZ2U8L3A+
Ci0mcXVvdDsgICAgICAgJiMzNDsKLTxici8+Ci0mYW1wOyAgICAgICAgJiMzODsKLTxici8+Ci0m
YXBvczsgICAgICAgJiN4Mjc7Ci08YnIvPgotJmx0OyAgICAgICAgICYjNjA7Ci08YnIvPgotJmd0
OyAgICAgICAgICYjNjI7Ci08YnIvPgotPSZuYnNwOz0mIzE2MDs9Ci08YnIvPgotQUEmc2h5O0FB
JiMxNzM7QUEKLTxici8+IAotPHA+ICZsdDtoZWxsbyZndDsgPC9wPgotPC9jYXJkPgotCi08Y2Fy
ZCBpZD0iY2FyZDIiIHRpdGxlPSIkKGNhcmRpZCkgdGl0bGUiPlRoaXMgaXMgY2FyZCAyPC9jYXJk
PgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItZXZlbnQtYmluZGluZy1j
b25mbGljdC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLWV2ZW50
LWJpbmRpbmctY29uZmxpY3Qud21sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2Zh
c3Qvd21sL2Vyci1ldmVudC1iaW5kaW5nLWNvbmZsaWN0LndtbAkod29ya2luZyBjb3B5KQpAQCAt
MSwxNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiID8+Ci08IURPQ1RZUEUgd21sIFBVQkxJ
QyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3Jn
L0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotPGNhcmQgaWQ9ImNhcmQxIj4KLSAgPG9uZXZlbnQg
dHlwZT0ib25lbnRlcmZvcndhcmQiPgotICA8cmVmcmVzaC8+Ci0gIDwvb25ldmVudD4KLSAgPG9u
ZXZlbnQgdHlwZT0ib25lbnRlcmZvcndhcmQiPgotICA8cHJldi8+Ci0gIDwvb25ldmVudD4KLSAg
PHA+IFRlc3QgZm9yIHRoZSBlcnJvciBldmVudC1iaW5kaW5nIGNvbmZsaWN0PC9wPgotICBZb3Ug
c2hvdWxkIE5PVCBzZWUgdGhpcyB0ZXh0LCBiZWNhdXNlIG9mIHRoZSBlcnJvciBvZiBldmVudC1i
aW5kaW5nIGVycm9yIGluIGNhcmQgZWxlbWVudCAKLTwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC93bWwvZXJyLWludmFsaWQtbG9jYXRpb24tZm9yLXZhcnJlZi53bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLWludmFsaWQtbG9jYXRpb24tZm9y
LXZhcnJlZi53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJy
LWludmFsaWQtbG9jYXRpb24tZm9yLXZhcnJlZi53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8v
V0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIKLSJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQv
d21sXzEuMS54bWwiPgotCi08d21sPgotPGNhcmQgaWQ9Im5vMSIgdGl0bGU9IkNhcmQgMSI+IAot
PHA+IFRlc3QgZm9yIHZhcmlhYmxlIHJlZmVyZW5jZSB2YWxpZGF0aW9uPC9wPgotPHA+IEFuIGVy
cm9yIHdpbGwgb2NjdXIgd2hlbiBsb2FkaW5nIHRoZSBjYXJkIGJlY2F1c2UgdGhlIHZhcmlhYmxl
IHJlZmVyZW5jZSBpcyBwbGFjZWQgaW4gYSBpbnZhbGlkIGxvY2F0aW9uPC9wPgotPGRvIHR5cGU9
IiQodmFyKSIgbmFtZT0icmVmcmVzaCI+Ci0gIDxyZWZyZXNoPgotICAgIDxzZXR2YXIgbmFtZT0i
dmFyIiB2YWx1ZT0idmFyYWlibGUyIi8+Ci0gIDwvcmVmcmVzaD4KLTwvZG8+Ci08L2NhcmQ+Ci08
L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLXRhYmxlY29sdW1u
LW51bWJlci53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLWludmFs
aWQtdGFibGVjb2x1bW4tbnVtYmVyLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3dtbC9lcnItaW52YWxpZC10YWJsZWNvbHVtbi1udW1iZXIud21sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDEzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdt
bCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iCi0iaHR0cDovL3d3dy53YXBm
b3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLQotPHdtbD4KLTxjYXJkIGlkPSJubzEiIHRpdGxl
PSJDYXJkIDEiPiAKLTxwPiBUZXN0IGZvciB0YWJsZSBjb2x1bW4gbnVtYmVyIHZhbGlkYXRpb24g
PC9wPgotPHA+IFRoZSB0YWJsZSB3b24ndCBiZSBkaXNwbGF5ZWQgYmVjYXVzZSBvZiB0aGUgaW52
YWxpZCBjb2x1bW5zIGF0dHJ1aWJ0ZSBvZiB0YWJsZSBlbGVtZW50PC9wPgotPHRhYmxlIGNvbHVt
bnM9IjAiPgotPHRyPjx0ZD5DZWxsIDE8L3RkPjx0ZD5DZWxsIDI8L3RkPjwvdHI+Ci08L3RhYmxl
PgotPC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItaW52YWxp
ZC12YXJpYWJsZS1uYW1lLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9l
cnItaW52YWxpZC12YXJpYWJsZS1uYW1lLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L3dtbC9lcnItaW52YWxpZC12YXJpYWJsZS1uYW1lLndtbAkod29ya2luZyBjb3B5
KQpAQCAtMSwxNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwg
UFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIgotImh0dHA6Ly93d3cud2FwZm9y
dW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci0KLTx3bWw+Ci08Y2FyZCBpZD0ibm8xIiB0aXRsZT0i
Q2FyZCAxIj4gCi08cD4gVGVzdCBmb3IgdmFyaWFibGUgbmFtZSB2YWxpZGF0aW9uIDwvcD4KLTxk
byB0eXBlPSJhY2NlcHQiIG5hbWU9InJlZnJlc2giPgotICA8cmVmcmVzaD4KLSAgICA8c2V0dmFy
IG5hbWU9IiQrdmFyIiB2YWx1ZT0idmFyYWlibGUyIi8+Ci0gIDwvcmVmcmVzaD4KLTwvZG8+Ci08
L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1tdWx0aS1hY2Nl
c3Mud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1tdWx0aS1hY2Nl
c3Mud21sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1tdWx0
aS1hY2Nlc3Mud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICswLDAgQEAKLTw/eG1sIHZlcnNp
b249IjEuMCIgPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAx
LjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+
Ci08aGVhZD4KLTxhY2Nlc3MgcGF0aD0iLyIgZG9tYWluPSJkb21haW4iLz4KLTxhY2Nlc3MgcGF0
aD0iL3BhdGgiIGRvbWFpbj0iZG9tYWluIi8+Ci08L2hlYWQ+Ci08Y2FyZCBpZD0iY2FyZDEiPgot
ICA8cD4gVGVzdCBmb3IgbXVsdGktYWNjZXNzIGVycm9yPC9wPgotICBZb3Ugc2hvdWxkIG5vdCBz
ZWUgdGhpcyB0ZXh0LCBiZWNhdXNlIG9mIHRoZSBlcnJvciBvZiBtdWx0aS1hY2Nlc3MgaW4gaGVh
ZCBlbGVtZW50Ci08L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2Vy
ci1tdWx0aS1odHRwLWVxdWl2LWluLW1ldGEud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvd21sL2Vyci1tdWx0aS1odHRwLWVxdWl2LWluLW1ldGEud21sCShyZXZpc2lvbiA4NTI0
MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1tdWx0aS1odHRwLWVxdWl2LWluLW1ldGEu
d21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
Pz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAi
aHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci08aGVhZD4K
LTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBl
IiBDb250ZW50PSJ0ZXh0L3ZuZC53YXAud21sOyBDaGFyc2V0PWdiMjMxMiIvPgotPC9oZWFkPgot
IDxjYXJkIGlkPSJjYXJkMSI+Ci0gIDxwPiBUZXN0IGZvciBtZXRhIG11bHRpLWh0dHAtZXF1aXYg
ZXJyb3I8L3A+Ci0gIFlvdSBzaG91bGQgbm90IHNlZSB0aGlzIHRleHQsIGJlY2F1c2Ugb2YgdGhl
IGVycm9yIG9mIG11bHRpLWh0dHAtZXF1aXYgaW4gbWV0YSBlbGVtZW50Ci0gPC9jYXJkPgotPC93
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktbmFtZS1pbi1tZXRhLndt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktbmFtZS1pbi1t
ZXRhLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItbXVs
dGktbmFtZS1pbi1tZXRhLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiID8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RU
RCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+
Ci08d21sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJDb250ZW50LVR5cGUiIG5hbWU9IkNvbnRlbnQt
VHlwZSIgQ29udGVudD0idGV4dC92bmQud2FwLndtbDsgQ2hhcnNldD1nYjIzMTIiLz4KLTwvaGVh
ZD4KLSA8Y2FyZCBpZD0iY2FyZDEiPgotICA8cD4gVGVzdCBmb3IgbWV0YSBtdWx0aS1uYW1lIGVy
cm9yPC9wPgotICBZb3Ugc2hvdWxkIG5vdCBzZWUgdGhpcyB0ZXh0LCBiZWNhdXNlIG9mIHRoZSBl
cnJvciBvZiBtdWx0aS1uYW1lIGluIG1ldGEgZWxlbWVudAotIDwvY2FyZD4KLTwvd21sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLW11bHRpLXRpbWVyLndtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktdGltZXIud21sCShyZXZpc2lvbiA4NTI0
MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1tdWx0aS10aW1lci53bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiA/PgotPCFET0NUWVBF
IHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3Lndh
cGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSA8Y2FyZCBpZD0iY2FyZDEiIG9u
dGltZXI9InRlc3Qud21sIj4KLSA8dGltZXIgaWQ9InRpbWVyMSIgbmFtZT0idDEiIHZhbHVlPSIy
MCIvPgotIDx0aW1lciBpZD0idGltZXIyIiBuYW1lPSJ0MiIgdmFsdWU9IjMwIi8+Ci0gIDxwPiBU
ZXN0IGZvciBlcnJvciBvZiBtZXRhIG11bHRpLXRpbWVyIGluIG9uZSBjYXJkIDwvcD4KLSAgWW91
IHNob3VsZCBOT1Qgc2VlIHRoaXMgdGV4dCwgYmVjYXVzZSBvZiB0aGUgZXJyb3IgdGhhdCBtb3Jl
IHRoYW4gb25lIHRpbWVyIGV4aXN0IGluIG9uZSBjYXJkIAotIDwvY2FyZD4KLTwvd21sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLXNhbWVuYW1lLWRvLndtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItc2FtZW5hbWUtZG8ud21sCShyZXZpc2lvbiA4NTI0
MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1zYW1lbmFtZS1kby53bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiA/PgotPCFET0NUWVBF
IHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3Lndh
cGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLTxjYXJkIGlkPSJjYXJkMSI+Ci0g
IDxkbyBuYW1lPSJkbyIgdHlwZT0iYWNjZXB0Ij4KLSAgPHJlZnJlc2gvPgotICA8L2RvPgotICA8
ZG8gbmFtZT0iZG8iIHR5cGU9ImFjY2VwdCI+Ci0gIDxyZWZyZXNoLz4KLSAgPC9kbz4KLSAgPHA+
IFRlc3QgZm9yIHRoZSBlcnJvciB0aGF0IG1vcmUgdGhhbiBvbmUgZG8gZWxlbWVudCBoYXMgc2Ft
ZSBuYW1lPC9wPgotICBZb3Ugc2hvdWxkIE5PVCBzZWUgdGhpcyB0ZXh0LCBiZWNhdXNlIG9mIHRo
ZSBlcnJvciBvZiBuYW1lLWNvbmZsaWN0IG9mIGRvIGVsZW1lbnQgCi08L2NhcmQ+Ci08L3dtbD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci11bmFsbG93ZWQtdGFzay1pbi1hbmNob3Iu
d21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci11bmFsbG93ZWQtdGFz
ay1pbi1hbmNob3Iud21sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21s
L2Vyci11bmFsbG93ZWQtdGFzay1pbi1hbmNob3Iud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEx
ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICIt
Ly9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFRE
L3dtbF8xLjEueG1sIj4KLTx3bWw+Ci08Y2FyZCBpZD0iY2FyZDEiPgotICA8YW5jaG9yPgotICA8
bm9vcC8+Ci0gIDwvYW5jaG9yPgotICA8cD4gVGVzdCBmb3IgdGhlIGVycm9yIHRoYXQgc3BlY2lm
eWluZyBub29wIHRhc2sgdG8gYW5jaG9yIGVsZW1lbnQ8L3A+Ci0gIFlvdSBzaG91bGQgTk9UIHNl
ZSB0aGlzIHRleHQsIGJlY2F1c2Ugb2YgdGhlIGVycm9yIHRoYXQgc3BlY2lmeWluZyB1bmFsbG93
ZWQgdGFzayB0byBhbmNob3IgZWxlbWVudCAKLTwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC93bWwvZmllbGRzZXQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvd21sL2ZpZWxkc2V0LndtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3dtbC9maWVsZHNldC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzAsMCBAQAotPHdtbD4g
Ci08Y2FyZD4gCi08cD4gCi08ZmllbGRzZXQgdGl0bGU9Ik5hbWUiPiAKLUZpcnN0IG5hbWU6IAot
PGJyLz4gCi1MYXN0IG5hbWU6IAotPC9maWVsZHNldD4gCi08L3A+IAotPC9jYXJkPiAKLTwvd21s
PiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2h0bWwtZmllbGRzZXQtY3Jhc2guaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9odG1sLWZpZWxkc2V0LWNyYXNoLmh0
bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvaHRtbC1maWVsZHNl
dC1jcmFzaC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3Jn
L1RSL2h0bWw0L3N0cmljdC5kdGQiPgotPGh0bWw+IAotICA8aGVhZD4gCi0gICAgPHN0eWxlPgot
ICAgICAgbGFiZWx7ZGlzcGxheTpibG9jazt9Ci0gICAgPC9zdHlsZT4KLSAgPC9oZWFkPgotICA8
Ym9keT4KLSAgICAgICAgPGZpZWxkc2V0PgotICAgICAgICA8bGFiZWw+PC9sYWJlbD4KLSAgICAg
ICAgICBhCi0gICAgICAgIDwvZmllbGRzZXQ+IAotICA8L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L3dtbC9pbWctbG9jYWxzcmMud21sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvd21sL2ltZy1sb2NhbHNyYy53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5
b3V0VGVzdHMvZmFzdC93bWwvaW1nLWxvY2Fsc3JjLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwx
MyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICIt
Ly9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFRE
L3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gPGNhcmQgdGl0bGU9IlRlc3QgaW1hZ2UiPgotIDxwPiBU
ZXN0IGZvciBpbWcgZWxlbWVudCBpbiBXTUwgPC9wPgotIDxwPiBUaGlzIGltYWdlIGlzIHNwZWNp
ZmllZCBieSBsb2NhbHNyYyBhdHRyaWJ1dGUgb2YgaW1nIGVsZW1lbnQ8L3A+Ci0gdGVzdCBjb2Rl
OjwhW0NEQVRBWwotIDxwPkxvY2FsPGltZyBoZWlnaHQ9IjYwIiB3aWR0aD0iNDAiIHZzcGFjZT0i
NDAiIGhzcGFjZT0iNjAiIGFsaWduPSJtaWRkbGUiIGxvY2Fsc3JjPSJyZXNvdXJjZXMvcGFzcy5w
bmciIGFsdD0ic21pbGUiLz5JbWFnZTwvcD4KLSBdXT4KLSA8YnIvPgotIDxwPkxvY2FsPGltZyBo
ZWlnaHQ9IjYwIiB3aWR0aD0iNDAiIHZzcGFjZT0iNDAiIGhzcGFjZT0iNjAiIGFsaWduPSJtaWRk
bGUiIGxvY2Fsc3JjPSJyZXNvdXJjZXMvcGFzcy5wbmciIGFsdD0ic21pbGUiLz5JbWFnZTwvcD4K
LSA8L2NhcmQ+Ci08L3dtbD4gCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9pbWctc3JjLWxv
Y2Fsc3JjLWFsdC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvaW1nLXNy
Yy1sb2NhbHNyYy1hbHQud21sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2Zhc3Qv
d21sL2ltZy1zcmMtbG9jYWxzcmMtYWx0LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNyArMCww
IEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBG
T1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8x
LjEueG1sIj4KLTx3bWw+Ci0gPGNhcmQgdGl0bGU9IlRlc3QgaW1hZ2UiPgotIDxwPiBUZXN0IGZv
ciBpbWcgZWxlbWVudCBpbiBXTUwgPC9wPgotIDxwPiBUaGlzIGltYWdlIGNhbiBiZSBzcGVjaWZp
ZWQgYnkgYm90aCBzcmMgYW5kIGxvY2Fsc3JjIGF0dHJpYnV0ZXMgb2YgaW1nIGVsZW1lbnQ8L3A+
Ci0gPHA+IDEpIGxvY2Fsc3JjIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBzcmMgYXR0cmlidXRlIDxi
ci8+Ci0gSW1hZ2U8aW1nIHNyYz0icmVzb3VyY2VzL2ZhaWwucG5nIiBsb2NhbHNyYz0icmVzb3Vy
Y2VzL3Bhc3MucG5nIiBhbHQ9IklNQUdFIi8+SW1hZ2UKLSA8YnIvPgotIDIpIGxvY2Fsc3JjIGNh
bid0IGxvY2F0ZSB0aGUgaW1hZ2UsIHNyYyB3b3JrcyA8YnIvPgotIEltYWdlPGltZyBzcmM9InJl
c291cmNlcy9wYXNzLnBuZyIgbG9jYWxzcmM9Indyb25ncGF0aC9mYWlsLnBuZyIgYWx0PSJJTUFH
RSIvPkltYWdlCi0gPGJyLz4KLSAzKSBuZWl0aGVyIGxvY2Fsc3JjIG5vciBzcmMgY2FuIGxvY2F0
ZSB0aGUgaW1hZ2UsIGFsdCB3b3JrcyA8YnIvPgotIEltYWdlPGltZyBzcmM9Indyb25ncGF0aC9m
YWlsLnBuZyIgbG9jYWxzcmM9Indyb25ncGF0aC9mYWlsLnBuZyIgYWx0PSJQQVNTIi8+SW1hZ2UK
LSA8L3A+Ci0gPC9jYXJkPgotPC93bWw+IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvaW1n
LXNyYy53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvaW1nLXNyYy53bWwJ
KHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvaW1nLXNyYy53bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURP
Q1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93
d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotIDxjYXJkIHRpdGxlPSJU
ZXN0IGltYWdlIj4KLSA8cD4gVGVzdCBmb3IgaW1nIGVsZW1lbnQgaW4gV01MIDwvcD4KLSA8cD4g
VGhpcyBpbWFnZSBpcyBzcGVjaWZpZWQgYnkgc3JjIGF0dHJpYnV0ZSBvZiBpbWcgZWxlbWVudDwv
cD4KLSB0ZXN0IGNvZGU6PCFbQ0RBVEFbCi0gPHA+TmV0d29yayA8aW1nIGhlaWdodD0iNjAiIHdp
ZHRoPSI0MCIgdnNwYWNlPSI0MCIgaHNwYWNlPSI2MCIgYWxpZ249Im1pZGRsZSIgc3JjPSJyZXNv
dXJjZXMvcGFzcy5wbmciIGFsdD0ic21pbGUiLz5JbWFnZTwvcD4KLSBdXT4KLSA8YnIvPgotIDxw
Pk5ldHdvcmsgPGltZyBoZWlnaHQ9IjYwIiB3aWR0aD0iNDAiIHZzcGFjZT0iNDAiIGhzcGFjZT0i
NjAiIGFsaWduPSJtaWRkbGUiIHNyYz0icmVzb3VyY2VzL3Bhc3MucG5nIiBhbHQ9InNtaWxlIi8+
SW1hZ2U8L3A+Ci0gPC9jYXJkPgotPC93bWw+IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwv
aW5wdXQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2lucHV0LndtbAko
cmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9pbnB1dC53bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQ
RSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53
YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci08Y2FyZD4KLTxwPlZlcnkgc2lt
cGxlIHRlc3QsIGNoZWNraW5nIHRoYXQgaW5wdXQgZWxlbWVudHMgYXJlIHJlbmRlcmVkIGNvcnJl
Y3RseTwvcD4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiB2YWx1ZT0iVGVzdCIvPgotPGlucHV0IHR5cGU9
InBhc3N3b3JkIiB2YWx1ZT0iUGFzc3dvcmQiLz4KLTwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC93bWwvcC1hbGlnbi53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC93bWwvcC1hbGlnbi53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvZmFz
dC93bWwvcC1hbGlnbi53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMjkgKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBX
TUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci0K
LTx3bWw+Ci08Y2FyZCBpZD0iY2FyZDEiIHRpdGxlPSJDYXJkMSI+Ci08cD4gVGVzdCBmb3IgYWxp
Z24gYXR0cmlidXRlIG9mIHAgZWxlbWVudCBpbiBXTUwgPC9wPgotPGJyLz4KLTwhW0NEQVRBWyA8
cCBhbGlnbj0iY2VudGVyIj5dXT4KLTxwIGFsaWduPSJjZW50ZXIiPgotSGVyZSB5b3UgY2FuIGxl
YXJuIHZhcmlvdXMgbW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdBUCAyLjAsIFdNTCwg
V01MU2NyaXB0LCBYSFRNTCBNUCwgV0NTUyAvIFdBUCBDU1MsIFVBUHJvZiBhbmQgU01TIHRocm91
Z2ggb3VyIGZyZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBsZXMuIFRoaXMgd2ViIHNp
dGUgY2FuIGhlbHAgd2ViIHByb2dyYW1tZXJzIHdobyB3aXNoIHRvIGV4dGVuZCB0aGVpciBrbm93
bGVkZ2UgdG8gdGhlIHdpcmVsZXNzIHdvcmxkLiAKLTxici8+Ci14eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eAotPC9wPgotPGJyLz4KLTwhW0NEQVRBWyA8cCBhbGlnbj0icmlnaHQiPl1d
PgotPHAgYWxpZ249InJpZ2h0Ij4KLUhlcmUgeW91IGNhbiBsZWFybiB2YXJpb3VzIG1vYmlsZSB0
ZWNobm9sb2dpZXMgbGlrZSBXQVAgLyBXQVAgMi4wLCBXTUwsIFdNTFNjcmlwdCwgWEhUTUwgTVAs
IFdDU1MgLyBXQVAgQ1NTLCBVQVByb2YgYW5kIFNNUyB0aHJvdWdoIG91ciBmcmVlIHR1dG9yaWFs
cywgYXJ0aWNsZXMgYW5kIGV4YW1wbGVzLiBUaGlzIHdlYiBzaXRlIGNhbiBoZWxwIHdlYiBwcm9n
cmFtbWVycyB3aG8gd2lzaCB0byBleHRlbmQgdGhlaXIga25vd2xlZGdlIHRvIHRoZSB3aXJlbGVz
cyB3b3JsZC4gCi08YnIvPgoteHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgKLTwvcD4K
LTxici8+Ci08IVtDREFUQVsgPHAgYWxpZ249ImxlZnQiPl1dPgotPHAgYWxpZ249ImxlZnQiPgot
SGVyZSB5b3UgY2FuIGxlYXJuIHZhcmlvdXMgbW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAv
IFdBUCAyLjAsIFdNTCwgV01MU2NyaXB0LCBYSFRNTCBNUCwgV0NTUyAvIFdBUCBDU1MsIFVBUHJv
ZiBhbmQgU01TIHRocm91Z2ggb3VyIGZyZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBs
ZXMuIFRoaXMgd2ViIHNpdGUgY2FuIGhlbHAgd2ViIHByb2dyYW1tZXJzIHdobyB3aXNoIHRvIGV4
dGVuZCB0aGVpciBrbm93bGVkZ2UgdG8gdGhlIHdpcmVsZXNzIHdvcmxkLiAKLTxici8+Ci14eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eAotPC9wPgotPC9jYXJkPgotPC93bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9wLW1vZGUud21sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvd21sL3AtbW9kZS53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC93bWwvcC1tb2RlLndtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzNSArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFRE
IFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4K
LQotPHdtbD4KLTxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQxIj4gCi08IVtDREFUQVsgPHA+
IGRlZmF1bHQgbW9kZSBpcyAid3JhcCIgZm9yIHRoZSBmaXJzdCBwIGVsZW1lbnQgXV0+Ci08cD4g
VGVzdCBmb3IgbW9kZSBhdHRyaWJ1dGUgb2YgcCBlbGVtZW50IGluIFdNTCA8L3A+Ci08YnIvPgot
PCFbQ0RBVEFbIDxwPiBpdCB3aWxsIHVzZSB0aGUgbW9kZSBvZiBwcmV2aW91cyBwYXJhZ3JhcGgg
ZWxlbWVudF1dPgotPHA+Ci1IZXJlIHlvdSBjYW4gbGVhcm4gdmFyaW91cyBtb2JpbGUgdGVjaG5v
bG9naWVzIGxpa2UgV0FQIC8gV0FQIDIuMCwgV01MLCBXTUxTY3JpcHQsIFhIVE1MIE1QLCBXQ1NT
IC8gV0FQIENTUywgVUFQcm9mIGFuZCBTTVMgdGhyb3VnaCBvdXIgZnJlZSB0dXRvcmlhbHMsIGFy
dGljbGVzIGFuZCBleGFtcGxlcy4gVGhpcyB3ZWIgc2l0ZSBjYW4gaGVscCB3ZWIgcHJvZ3JhbW1l
cnMgd2hvIHdpc2ggdG8gZXh0ZW5kIHRoZWlyIGtub3dsZWRnZSB0byB0aGUgd2lyZWxlc3Mgd29y
bGQuIAotPGJyLz4KLUhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEgKLTwvcD4KLTxici8+Ci08IVtDREFUQVsgPHAgbW9kZT0ibm93cmFwIj5dXT4KLTxwIG1v
ZGU9Im5vd3JhcCI+Ci1IZXJlIHlvdSBjYW4gbGVhcm4gdmFyaW91cyBtb2JpbGUgdGVjaG5vbG9n
aWVzIGxpa2UgV0FQIC8gV0FQIDIuMCwgV01MLCBXTUxTY3JpcHQsIFhIVE1MIE1QLCBXQ1NTIC8g
V0FQIENTUywgVUFQcm9mIGFuZCBTTVMgdGhyb3VnaCBvdXIgZnJlZSB0dXRvcmlhbHMsIGFydGlj
bGVzIGFuZCBleGFtcGxlcy4gVGhpcyB3ZWIgc2l0ZSBjYW4gaGVscCB3ZWIgcHJvZ3JhbW1lcnMg
d2hvIHdpc2ggdG8gZXh0ZW5kIHRoZWlyIGtub3dsZWRnZSB0byB0aGUgd2lyZWxlc3Mgd29ybGQu
IAotPGJyLz4KLUhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEgKLTwvcD4KLTwhW0NEQVRBWyBUaGUgbmV4dCB0d28gcGFyYWdyYXBocyBzaG91bGRuJ3QgYmUg
d3JhcHBlZCBdXT4KLTxwPgotSGVyZSB5b3UgY2FuIGxlYXJuIHZhcmlvdXMgbW9iaWxlIHRlY2hu
b2xvZ2llcyBsaWtlIFdBUCAvIFdBUCAyLjAsIFdNTCwgV01MU2NyaXB0LCBYSFRNTCBNUCwgV0NT
UyAvIFdBUCBDU1MsIFVBUHJvZiBhbmQgU01TIHRocm91Z2ggb3VyIGZyZWUgdHV0b3JpYWxzLCBh
cnRpY2xlcyBhbmQgZXhhbXBsZXMuIFRoaXMgd2ViIHNpdGUgY2FuIGhlbHAgd2ViIHByb2dyYW1t
ZXJzIHdobyB3aXNoIHRvIGV4dGVuZCB0aGVpciBrbm93bGVkZ2UgdG8gdGhlIHdpcmVsZXNzIHdv
cmxkLiAKLTxici8+Ci1ISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhICi08L3A+Ci08YnIvPgotPHA+Ci1IZXJlIHlvdSBjYW4gbGVhcm4gdmFyaW91cyBtb2Jp
bGUgdGVjaG5vbG9naWVzIGxpa2UgV0FQIC8gV0FQIDIuMCwgV01MLCBXTUxTY3JpcHQsIFhIVE1M
IE1QLCBXQ1NTIC8gV0FQIENTUywgVUFQcm9mIGFuZCBTTVMgdGhyb3VnaCBvdXIgZnJlZSB0dXRv
cmlhbHMsIGFydGljbGVzIGFuZCBleGFtcGxlcy4gVGhpcyB3ZWIgc2l0ZSBjYW4gaGVscCB3ZWIg
cHJvZ3JhbW1lcnMgd2hvIHdpc2ggdG8gZXh0ZW5kIHRoZWlyIGtub3dsZWRnZSB0byB0aGUgd2ly
ZWxlc3Mgd29ybGQuIAotPGJyLz4KLUhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEgKLTwvcD4KLTwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC93bWwvc2VsZWN0LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9z
ZWxlY3Qud21sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL3NlbGVj
dC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMjAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
Ij8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIg
Imh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotPGNhcmQ+
Ci08cD5WZXJ5IHNpbXBsZSB0ZXN0LCBjaGVja2luZyB0aGF0IHNlbGVjdCBlbGVtZW50cyBhcmUg
cmVuZGVyZWQgY29ycmVjdGx5PC9wPgotCi08c2VsZWN0IG5hbWU9InRlc3QxIiB0aXRsZT0idGl0
bGUxIiBtdWx0aXBsZT0idHJ1ZSI+Ci0gIDxvcHRpb24gdmFsdWU9InRlc3QxMSI+VGVzdDE8L29w
dGlvbj4KLSAgPG9wdGlvbiB2YWx1ZT0idGVzdDEyIj5UZXN0Mjwvb3B0aW9uPgotICA8b3B0aW9u
IHZhbHVlPSJ0ZXN0MTMiPlRlc3QzPC9vcHRpb24+Ci08L3NlbGVjdD4KLQotPHNlbGVjdCBuYW1l
PSJ0ZXN0MiIgdGl0bGU9InRpdGxlMiI+Ci0gIDxvcHRpb24gdmFsdWU9InRlc3QyMSI+VGVzdDE8
L29wdGlvbj4KLSAgPG9wdGlvbiB2YWx1ZT0idGVzdDIyIj5UZXN0Mjwvb3B0aW9uPgotICA8b3B0
aW9uIHZhbHVlPSJ0ZXN0MjMiPlRlc3QzPC9vcHRpb24+Ci08L3NlbGVjdD4KLQotPC9jYXJkPgot
PC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9zaG93LWZpcnN0LWNhcmQud21sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL3Nob3ctZmlyc3QtY2FyZC53bWwJKHJl
dmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvc2hvdy1maXJzdC1jYXJkLndt
bAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pgot
PCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMC8vRU4iCi0iaHR0
cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLQotPHdtbD4KLTxjYXJkIGlk
PSJubzEiPjxwPlRlc3QgZm9yIHNob3dpbmcgdGhlIGZpcnN0IGNhcmQgb2Ygd21sIGRlY2sgaW4g
ZGVmYXVsdCB3aGVuIHlvdSBkb2Vzbid0IHNwZWNpZnkgYW55IGNvcnJlY3QgVVJMIGZyYWdtZW50
LjwvcD4gSWYgdGhlIHRlc3QgcGFzc2VzLCB5b3Ugc2hvdWxkIHNlZSB0aGlzIHRleHQuPC9jYXJk
PgotPGNhcmQgaWQ9Im5vMiI+VGhpcyBpcyBjYXJkIDIsIHlvdSBzaG91bGQgTk9UIHNlZSB0aGVz
ZSB0ZXh0IHdoaWxlIHJ1bm5pbmcgdGhpcyB0ZXN0PC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWFsaWduLWF0dHJpYnV0ZS1pbnZhbGlkLndt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWFsaWdu
LWF0dHJpYnV0ZS1pbnZhbGlkLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3dtbC90YWJsZS1lbGVtZW50LWFsaWduLWF0dHJpYnV0ZS1pbnZhbGlkLndtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBF
IHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3Lndh
cGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLTxjYXJkPgotICAgIDxwPlRlc3Qg
Zm9yIHRhYmxlIGVsZW1lbnQgYW5kIGludmFsaWQgYWxpZ24gYXR0cmlidXRlPC9wPgotICAgIDx0
YWJsZSBjb2x1bW5zPSIxIiBhbGlnbj0iJHRlc3QiLz4KLTwvY2FyZD4KLTwvd21sPiAKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtaW52
YWxpZC1udW1iZXIud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL3RhYmxl
LWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtaW52YWxpZC1udW1iZXIud21sCShyZXZpc2lvbiA4
NTI0MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRy
aWJ1dGUtaW52YWxpZC1udW1iZXIud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzAsMCBAQAot
PD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0v
L0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnht
bCI+Ci08d21sPgotPGNhcmQ+Ci0gICAgPHA+VGVzdCBmb3IgdGFibGUgZWxlbWVudCBhbmQgaW52
YWxpZCBjb2x1bW5zIGF0dHJpYnV0ZTwvcD4KLSAgICA8dGFibGUgY29sdW1ucz0iMCIvPgotPC9j
YXJkPgotPC93bWw+IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1j
b2x1bW5zLWF0dHJpYnV0ZS1pbnZhbGlkLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWludmFsaWQud21sCShyZXZp
c2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1u
cy1hdHRyaWJ1dGUtaW52YWxpZC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8v
RFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1s
Ij4KLTx3bWw+Ci08Y2FyZD4KLSAgICA8cD5UZXN0IGZvciB0YWJsZSBlbGVtZW50IGFuZCBpbnZh
bGlkIGNvbHVtbnMgYXR0cmlidXRlPC9wPgotICAgIDx0YWJsZSBjb2x1bW5zPSIxYSIvPgotPC9j
YXJkPgotPC93bWw+IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1j
b2x1bW5zLWF0dHJpYnV0ZS1taXNzaW5nLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLW1pc3Npbmcud21sCShyZXZp
c2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1u
cy1hdHRyaWJ1dGUtbWlzc2luZy53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8v
RFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1s
Ij4KLTx3bWw+Ci08Y2FyZD4KLSAgICA8cD5UZXN0IGZvciB0YWJsZSBlbGVtZW50IGFuZCBtaXNz
aW5nIGNvbHVtbnMgYXR0cmlidXRlPC9wPgotICAgIDx0YWJsZS8+Ci08L2NhcmQ+Ci08L3dtbD4g
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmli
dXRlLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC90YWJsZS1lbGVtZW50
LWNvbHVtbnMtYXR0cmlidXRlLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLndtbAkod29ya2luZyBjb3B5
KQpAQCAtMSw3NyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwg
UFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1
bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci08Y2FyZD4KLSAgICA8cD5UZXN0IGZvciB0
YWJsZSBlbGVtZW50IGFuZCBjb2x1bW5zIGF0dHJpYnV0ZTwvcD4KLSAgICA8cD5UaGUgZmlyc3Qg
YW5kIHNlY29uZCByb3cgb2YgYWxsIHRlc3RzIHNob3VsZCBsb29rIGVxdWFsPC9wPgotCi0gICAg
PHA+VGVzdCAxOiBKb2luIHN1cGVyZmxvdXMgY29sdW1ucywgbGVmdCBjZWxsIGxlZnQgYWxpZ25l
ZCwgcmlnaHQgY2VsbCByaWdodCBhbGlnbmVkPC9wPgotICAgIDx0YWJsZSBjb2x1bW5zPSIyIiBh
bGlnbj0iTFIiPgotICAgIDx0cj4KLSAgICAgICAgPHRkPkZpcnN0IGNvbHVtbjwvdGQ+Ci0gICAg
ICAgIDx0ZD5TZWNvbmQ8L3RkPgotICAgICAgICA8dGQ+Y29sdW1uPC90ZD4KLSAgICA8L3RyPgot
ICAgIDx0cj4KLSAgICAgICAgPHRkPkZpcnN0IGNvbHVtbjwvdGQ+Ci0gICAgICAgIDx0ZD5TZWNv
bmQgY29sdW1uPC90ZD4KLSAgICA8L3RyPgotICAgIDwvdGFibGU+Ci0KLSAgICA8cD5UZXN0IDI6
IEpvaW4gc3VwZXJmbG91cyBjb2x1bW5zIHdpdGggJ2JyJyBlbGVtZW50cyBpbnNpZGUsIHRhYmxl
IGlzIGNlbnRlciBhbGlnbmVkPC9wPgotICAgIDx0YWJsZSBjb2x1bW5zPSIyIiBhbGlnbj0iQ0Mi
PgotICAgIDx0cj4KLSAgICAgICAgPHRkPkZpcnN0PGJyLz5jb2x1bW48L3RkPgotICAgICAgICA8
dGQ+U2Vjb25kPC90ZD4KLSAgICAgICAgPHRkPjxici8+PC90ZD4KLSAgICAgICAgPHRkPmNvbHVt
bjwvdGQ+Ci0gICAgPC90cj4KLSAgICA8dHI+Ci0gICAgICAgIDx0ZD5GaXJzdDxici8+Y29sdW1u
PC90ZD4KLSAgICAgICAgPHRkPlNlY29uZDxici8+Y29sdW1uPC90ZD4KLSAgICA8L3RyPgotICAg
IDwvdGFibGU+Ci0KLSAgICA8cD5UZXN0IDM6IEpvaW4gc3VwZXJmbG91cyBjb2x1bW5zIHdpdGgg
J2JyJyBhbmQgJ2ltZycgZWxlbWVudHMgaW5zaWRlLCB0YWJsZSBpcyBjZW50ZXIgYWxpZ25lZDwv
cD4KLSAgICA8dGFibGUgY29sdW1ucz0iMiIgYWxpZ249IkNDIj4KLSAgICA8dHI+Ci0gICAgICAg
IDx0ZD5GaXJzdCBjb2x1bW48L3RkPgotICAgICAgICA8dGQ+U2Vjb25kPC90ZD4KLSAgICAgICAg
PHRkPmNvbHVtbiB3aXRoPC90ZD4KLSAgICAgICAgPHRkPmltYWdlIDwvdGQ+Ci0gICAgICAgIDx0
ZD48aW1nIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgc3JjPSJyZXNvdXJjZXMvcGFzcy5wbmciLz4g
YW5kPC90ZD4KLSAgICAgICAgPHRkPnRyYWlsaW5nIHRleHQ8L3RkPgotICAgIDwvdHI+Ci0gICAg
PHRyPgotICAgICAgICA8dGQ+Rmlyc3QgY29sdW1uPC90ZD4KLSAgICAgICAgPHRkPlNlY29uZCBj
b2x1bW4gd2l0aCBpbWFnZSA8aW1nIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgc3JjPSJyZXNvdXJj
ZXMvcGFzcy5wbmciLz4gYW5kIHRyYWlsaW5nIHRleHQ8L3RkPgotICAgIDwvdHI+Ci0gICAgPC90
YWJsZT4KLQotCTxwPlRlc3QgNDogSm9pbiBzdXBlcmZsb3VzIGNvbHVtbnMgd2l0aCAnYnInIGFu
ZCAnaW1nJyBlbGVtZW50cyBpbnNpZGUsIHRhYmxlIGlzIHJpZ2h0IGFsaWduZWQ8L3A+Ci0gICAg
PHRhYmxlIGNvbHVtbnM9IjIiIGFsaWduPSJSUiI+Ci0gICAgPHRyPgotICAgICAgICA8dGQ+Rmly
c3QgY29sdW1uPC90ZD4KLSAgICAgICAgPHRkPlNlY29uZDwvdGQ+Ci0gICAgICAgIDx0ZD5jb2x1
bW4gd2l0aDwvdGQ+Ci0gICAgICAgIDx0ZD5pbWFnZSA8aW1nIHdpZHRoPSIyMCIgaGVpZ2h0PSIy
MCIgc3JjPSJyZXNvdXJjZXMvcGFzcy5wbmciLz48L3RkPgotICAgICAgICA8dGQ+YW5kIHRyYWls
aW5nIHRleHQ8L3RkPgotICAgIDwvdHI+Ci0gICAgPHRyPgotICAgICAgICA8dGQ+Rmlyc3QgY29s
dW1uPC90ZD4KLSAgICAgICAgPHRkPlNlY29uZCBjb2x1bW4gd2l0aCBpbWFnZSA8aW1nIHdpZHRo
PSIyMCIgaGVpZ2h0PSIyMCIgc3JjPSJyZXNvdXJjZXMvcGFzcy5wbmciLz5hbmQgdHJhaWxpbmcg
dGV4dDwvdGQ+Ci0gICAgPC90cj4KLSAgICA8L3RhYmxlPgotCi0gICAgPHA+VGVzdCA1OiBQYWQg
d2l0aCBlbXB0eSBjb2x1bW5zLCBpZiB0aGVyZSBhcmUgbm90IGVub3VnaCAndGQnIGVsZW1lbnRz
PC9wPgotICAgIDx0YWJsZSBjb2x1bW5zPSIyIiBhbGlnbj0iTEwiPgotICAgIDx0cj4KLSAgICAg
ICAgPHRkPkZpcnN0IGNvbHVtbjwvdGQ+Ci0gICAgPC90cj4KLSAgICA8dHI+Ci0gICAgICAgIDx0
ZD5GaXJzdCBjb2x1bW48L3RkPgotICAgICAgICA8dGQvPgotICAgIDwvdHI+Ci0gICAgPC90YWJs
ZT4KLTwvY2FyZD4KLTwvd21sPiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL3RhYmxlLWVs
ZW1lbnQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL3RhYmxlLWVsZW1l
bnQud21sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL3RhYmxlLWVs
ZW1lbnQud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249
IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8v
RU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSA8
Y2FyZD4KLSA8cD4gVGVzdCBmb3IgdGFibGUgZWxlbWVudCBpbiBXTUwgPC9wPgotIDxwPiBzb3Vy
Y2UgY29kZTogPC9wPgotIDwhW0NEQVRBWwotICAgPHRhYmxlIGNvbHVtbnM9IjMiIGFsaWduPSJM
UlIiPiAKLSAgICA8dHI+Ci0gICAgIDx0ZD5DZWxsIG9uZTwvdGQ+Ci0gICAgIDx0ZD5DPGJyLz5l
bGw8YnIvPiB0d288L3RkPgotICAgICA8dGQ+Q2VsbCB0aHJlZTwvdGQ+Ci0gICAgPC90cj4KLSAg
ICA8dHI+Ci0gICAgPHRkPiBvbmUgPC90ZD4KLSAgICA8dGQvPgotICAgIDx0ZD5DIHRocmVlPC90
ZD4KLSAgICA8L3RyPgotICAgPC90YWJsZT4KLSBdXT4KLSA8YnIvPgotICA8cD4KLSAgIDx0YWJs
ZSBjb2x1bW5zPSIzIiBhbGlnbj0iTFJSIj4gCi0gICAgPHRyPgotICAgICA8dGQ+Q2VsbCBvbmU8
L3RkPgotICAgICA8dGQ+Qzxici8+ZWxsPGJyLz4gdHdvPC90ZD4KLSAgICAgPHRkPkNlbGwgdGhy
ZWU8L3RkPgotICAgIDwvdHI+Ci0gICAgPHRyPgotICAgIDx0ZD4gb25lIDwvdGQ+Ci0gICAgPHRk
Lz4KLSAgICA8dGQ+QyB0aHJlZTwvdGQ+Ci0gICAgPC90cj4KLSAgIDwvdGFibGU+Ci0gPC9wPgot
IDwvY2FyZD4KLTwvd21sPiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL3Rhc2stbm9vcC1p
bi1kby53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvdGFzay1ub29wLWlu
LWRvLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC90YXNrLW5v
b3AtaW4tZG8ud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICswLDAgQEAKLTw/eG1sIHZlcnNp
b249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEu
MS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4K
LSAgICA8Y2FyZCBpZD0iY2FyZDEiPgotICAgICAgICA8cD5UZXN0IGZvciBOb29wIHRhc2sgaW4g
ZG8gZWxlbWVudCBvZiBXTUwuIDwvcD4KLSAgICAgICAgPHA+SWYgaXQgcGFzc2VzLCB5b3Ugc2hv
dWxkIG5vdCBzZWUgdGhlICJCYWNrIiBidXR0b248L3A+Ci0gICAgICAgIDxkbyBuYW1lPSJkbyIg
dHlwZT0iYWNjZXB0IiBsYWJlbD0iQmFjayI+Ci0gICAgICAgICAgICA8bm9vcC8+Ci0gICAgICAg
IDwvZG8+Ci0gICAgPC9jYXJkPiAKLTwvd21sPiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21s
L3Rlc3Qud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL3Rlc3Qud21sCShy
ZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL3Rlc3Qud21sCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiA/PgotPCFET0NUWVBF
IHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3Lndh
cGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbCB4bWxucz0iaHR0cDovL3d3dy53YXBm
b3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLSA8Y2FyZCBpZD0nY2FyZDEnPgotIDxwPiBUaGlz
IHBhZ2UgaXMgYXNzaXN0YW50IHBhZ2UuIE1hbnkgdGVzdCBwYWdlcyB3aWxsIGp1bXAgaGVyZS4g
PC9wPgotIDxwPkNsaWNrICJCYWNrIiB0byBnbyBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlPC9w
PgotIDxhbmNob3I+IEJhY2sgPHByZXYvPjwvYW5jaG9yPgotIDwvY2FyZD4KLTwvd21sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC93bWwvdGV4dC1lbXBoYXNpcy53bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC93bWwvdGV4dC1lbXBoYXNpcy53bWwJKHJldmlzaW9uIDg1MjQyKQor
KysgTGF5b3V0VGVzdHMvZmFzdC93bWwvdGV4dC1lbXBoYXNpcy53bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsMjIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBV
QkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0u
b3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotIDxjYXJkIHRpdGxlPSJUZXh0IEZvcm1hdHRp
bmciPgotICA8cD4gVGVzdCBmb3IgdGV4dCBlbXBoYXNpcyBvZiBXTUwgPC9wPgotICA8cD4KLSAg
IG5vcm1hbDxici8+Ci0gICA8ZW0+ZW1waGFzaXplZDwvZW0+PGJyLz4KLSAgIDxzdHJvbmc+c3Ry
b25nPC9zdHJvbmc+PGJyLz4KLSAgIDxiPmJvbGQ8L2I+PGJyLz4KLSAgIDxpPml0YWxpYzwvaT48
YnIvPgotICAgPHU+dW5kZXJsaW5lPC91Pjxici8+Ci0gICA8YmlnPmJpZzwvYmlnPjxici8+Ci0g
ICA8c21hbGw+c21hbGw8L3NtYWxsPgotICA8L3A+Ci0gIDxwcmU+ICBUaGlzIHRleHQsIHNob3Vs
ZCBhcHBlYXIKLWFzCi1wcmUKLWZvcm1hdHRlZAotICAgICAgICAgICB0ZXh0LCBwcmVzZXJ2aW5n
IGFueSB3aGl0ZSAgICBzcGFjZS48L3ByZT4KLSA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvd21sL3ZhbGlkYXRlLWR0ZC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC93bWwvdmFsaWRhdGUtZHRkLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L3dtbC92YWxpZGF0ZS1kdGQud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQ
Rk9SVU0vL0RURCBXTUwgTk9UIEVYSVNUQU5UIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVt
Lm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLTxjYXJkIGlkPSJubzEiIHRpdGxlPSJDYXJk
IDEiPiAKLTxwPlRlc3QgZm9yIERURCB2YWxpZGF0aW9uIG9mIFdNTCBmaWxlPGJyLz5JZiB0aGUg
RE9DVFlQRSBpcyBpbmNvcnJlY3Qgb3IgbWlzc2luZywgdGhpcyB0ZXN0IGZhaWxlcy48L3A+Ci08
L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL3Jlc291cmNlcy9mYWls
LnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0
eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L3dtbC9yZXNvdXJjZXMvcGFzcy5wbmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlz
cGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvYWNj
ZXNzLXRhcmdldC1kb21haW4tZGVueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1kb21haW4tZGVueS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvYWNjZXNz
LXRhcmdldC1kb21haW4tZGVueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTkg
KzAsMCBAQAotV01MIGh0dHAgbmF2aWdhdGlvbiBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBz
Y3JpcHRpbmcKLQotCi1UZXN0cyBhY2Nlc3MgY29udHJvbCBzdXBwb3J0Ci0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZy
YW1lMC0tPi0tPicKLS0tLS0tLS0tCi1TdGFydCB0ZXN0Ci1UZXN0IGZvciBEZWNrIEFjY2VzcyBj
b250cm9sIGluIFdNTC4KLUlmIHRoZSB0ZXN0IHBhc3NlcywgdGhpcyBkZWNrIHdpbGwgcmVtYWlu
IHZpc2libGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQt
ZG9tYWluLWRlbnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dt
bC9hY2Nlc3MtdGFyZ2V0LWRvbWFpbi1kZW55Lmh0bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1kb21haW4tZGVueS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
LTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVzdHMgPSAiLi4vLi4vLi4iOzwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3dtbC9yZXNvdXJjZXMvV01MVGVzdENhc2UuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPldNTCBodHRwIG5hdmln
YXRpb24gbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nPC9oMT4KLTxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzL2FjY2Vzcy10YXJnZXQtZG9tYWluLWRlbnkuanMiIGNoYXJzZXQ9InV0Zjgi
Pjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93bWwvYWNjZXNzLXRhcmdldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1
MjQyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTggKzAsMCBAQAotV01MIGh0dHAgbmF2aWdhdGlv
biBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmcKLQotCi1UZXN0cyBhY2Nlc3Mg
Y29udHJvbCBzdXBwb3J0Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQot
RnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi1UZXN0
IGZvciBEZWNrIEFjY2VzcyBjb250cm9sIGluIFdNTC4KLVRoaXMgaXMgdGhlIGxvY2tlZCB0YXJn
ZXQgZGVjaywgb25seSAnYWNjZXNzLXRhcmdldC53bWwiIGNhbiBhY2Nlc3MgbWUKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQtcGF0aC1kZW55LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9hY2Nlc3MtdGFy
Z2V0LXBhdGgtZGVueS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1wYXRoLWRlbnktZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDE5ICswLDAgQEAKLVdNTCBodHRwIG5hdmlnYXRpb24gbGF5b3V0
IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVzdHMgYWNjZXNzIGNvbnRyb2wg
c3VwcG9ydAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAn
PCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotU3RhcnQgdGVzdAot
VGVzdCBmb3IgRGVjayBBY2Nlc3MgY29udHJvbCBpbiBXTUwuCi1JZiB0aGUgdGVzdCBwYXNzZXMs
IHRoaXMgZGVjayB3aWxsIHJlbWFpbiB2aXNpYmxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dtbC9hY2Nlc3MtdGFyZ2V0LXBhdGgtZGVueS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQtcGF0aC1kZW55Lmh0bWwJKHJldmlz
aW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC1w
YXRoLWRlbnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZhciByZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzID0g
Ii4uLy4uLy4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi93bWwvcmVzb3VyY2Vz
L1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxo
MT5XTUwgaHR0cCBuYXZpZ2F0aW9uIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGlu
ZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LXBhdGgtZGVueS5qcyIg
Y2hhcnNldD0idXRmOCI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dtbC9hY2Nlc3MtdGFyZ2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvYWNjZXNzLXRhcmdldC5odG1sCShyZXZpc2lvbiA4NTI0
MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2FjY2Vzcy10YXJnZXQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08
c2NyaXB0PnZhciByZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzID0gIi4uLy4uLy4uIjs8L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi93bWwvcmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5XTUwgaHR0cCBuYXZpZ2F0
aW9uIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LmpzIiBjaGFyc2V0PSJ1dGY4Ij48L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2dvLXRhc2st
Z2V0LW1ldGhvZC1hY2NlcHQtY2hhcnNldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLWFjY2VwdC1jaGFyc2V0
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dtbC9nby10YXNrLWdldC1tZXRob2QtYWNjZXB0LWNoYXJzZXQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDIyICswLDAgQEAKLVdNTCBodHRwIG5hdmlnYXRpb24gbGF5b3V0IHRl
c3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVzdHMgR0VUIG1ldGhvZCBvZiA8Z28+
IGVsZW1lbnQgLSBhY2NlcHQtY2hhcnNldCBhdHRyaWJ1dGUKLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+
LS0+JwotLS0tLS0tLS0KLVRoaXMgcGFnZSB3YXMgcmVxdWVzdGVkIHdpdGggYW4gSFRUUCBHRVQK
LQotVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgYXJlOiB2YXIxPVRleHQlMjB3aXRoJTIwd2hpdGVzcGFj
ZTt2YXIyPVRleHQlMjB3aXRoJTIwbm9uLWxhdGluMSUyMGNoYXJhY3RlcnMlM0ElMjBTY2glQzMl
QjZuJTJDJTIwZGElQzMlOUYlMjBlcyUyMCVDMyU4NCUyNk91bWwlM0IlQzMlOUMlMjBnaWJ0JTIx
Ci1Gb3JtIGNvbnRlbnQgdmFyMTogJ1RleHQgd2l0aCB3aGl0ZXNwYWNlJwotRm9ybSBjb250ZW50
IHZhcjI6ICdUZXh0IHdpdGggbm9uLWxhdGluMSBjaGFyYWN0ZXJzOiBTY2jDtm4sIGRhw58gZXMg
w4TDlsOcIGdpYnQhJwotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9nby10YXNr
LWdldC1tZXRob2QtYWNjZXB0LWNoYXJzZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dtbC9nby10YXNrLWdldC1tZXRob2QtYWNjZXB0LWNoYXJzZXQuaHRtbAko
cmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9nby10YXNrLWdl
dC1tZXRob2QtYWNjZXB0LWNoYXJzZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCww
IEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRt
bD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZhciByZWxhdGl2ZVBhdGhU
b0xheW91dFRlc3RzID0gIi4uLy4uLy4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li93bWwvcmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxoMT5XTUwgaHR0cCBuYXZpZ2F0aW9uIGxheW91dCB0ZXN0cyAtIHVzaW5n
IFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9nby10YXNrLWdldC1t
ZXRob2QtYWNjZXB0LWNoYXJzZXQuanMiIGNoYXJzZXQ9InV0ZjgiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvZ28tdGFzay1nZXQt
bWV0aG9kLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dtbC9nby10YXNrLWdldC1tZXRob2QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2dvLXRhc2stZ2V0LW1ldGhvZC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjIgKzAsMCBAQAotV01MIGh0dHAgbmF2aWdhdGlvbiBs
YXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmcKLQotCi1UZXN0cyBHRVQgbWV0aG9k
IG9mIDxnbz4gZWxlbWVudAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0K
LUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotVGhp
cyBwYWdlIHdhcyByZXF1ZXN0ZWQgd2l0aCBhbiBIVFRQIEdFVAotCi1UaGUgcXVlcnkgcGFyYW1l
dGVycyBhcmU6IHZhcjE9VGV4dCUyMHdpdGglMjB3aGl0ZXNwYWNlO3ZhcjI9VGV4dCUyMHdpdGgl
MjBlbnRpdGllcyUzQSUyMCUyNmF1bWwlM0IlMjBhbmQlMjAlMjZvdW1sJTNCCi1Gb3JtIGNvbnRl
bnQgdmFyMTogJ1RleHQgd2l0aCB3aGl0ZXNwYWNlJwotRm9ybSBjb250ZW50IHZhcjI6ICdUZXh0
IHdpdGggZW50aXRpZXM6IMOkIGFuZCDDticKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLmh0bWwJKHJldmlzaW9uIDg1MjQyKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgot
PHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLi8uLi8uLiI7PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vd21sL3Jlc291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGh0dHAgbmF2aWdh
dGlvbiBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJz
Y3JpcHQtdGVzdHMvZ28tdGFzay1nZXQtbWV0aG9kLmpzIiBjaGFyc2V0PSJ1dGY4Ij48L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2dv
LXRhc2stcG9zdC1tZXRob2QtYWNjZXB0LWNoYXJzZXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2dvLXRhc2stcG9zdC1tZXRob2QtYWNjZXB0
LWNoYXJzZXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvd21sL2dvLXRhc2stcG9zdC1tZXRob2QtYWNjZXB0LWNoYXJzZXQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIyICswLDAgQEAKLVdNTCBodHRwIG5hdmlnYXRpb24g
bGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVzdHMgUE9TVCBtZXRo
b2Qgb2YgPGdvPiBlbGVtZW50IC0gYWNjZXB0LWNoYXJzZXQgYXR0cmlidXRlCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0K
LVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEt
LWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi1UaGlzIHBhZ2Ugd2FzIHJlcXVlc3RlZCB3aXRoIGFu
IEhUVFAgUE9TVAotCi1UaGUgcXVlcnkgcGFyYW1ldGVycyBhcmU6IHZhcjE9VGV4dCUyMHdpdGgl
MjB3aGl0ZXNwYWNlO3ZhcjI9VGV4dCUyMHdpdGglMjBub24tbGF0aW4xJTIwY2hhcmFjdGVycyUz
QSUyMFNjaCVDMyVCNm4lMkMlMjBkYSVDMyU5RiUyMGVzJTIwJUMzJTg0JTI2T3VtbCUzQiVDMyU5
QyUyMGdpYnQlMjEKLUZvcm0gY29udGVudCB2YXIxOiAnVGV4dCB3aXRoIHdoaXRlc3BhY2UnCi1G
b3JtIGNvbnRlbnQgdmFyMjogJ1RleHQgd2l0aCBub24tbGF0aW4xIGNoYXJhY3RlcnM6IFNjaMO2
biwgZGHDnyBlcyDDhMOWw5wgZ2lidCEnCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
d21sL2dvLXRhc2stcG9zdC1tZXRob2QtYWNjZXB0LWNoYXJzZXQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9nby10YXNrLXBvc3QtbWV0aG9kLWFjY2VwdC1j
aGFyc2V0Lmh0bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
bWwvZ28tdGFzay1wb3N0LW1ldGhvZC1hY2NlcHQtY2hhcnNldC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDE1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFy
IHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVzdHMgPSAiLi4vLi4vLi4iOzwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3dtbC9yZXNvdXJjZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPldNTCBodHRwIG5hdmlnYXRpb24gbGF5b3V0
IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
L2dvLXRhc2stcG9zdC1tZXRob2QtYWNjZXB0LWNoYXJzZXQuanMiIGNoYXJzZXQ9InV0ZjgiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
bWwvZ28tdGFzay1wb3N0LW1ldGhvZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93bWwvZ28tdGFzay1wb3N0LW1ldGhvZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvZ28tdGFzay1wb3N0
LW1ldGhvZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjIgKzAsMCBAQAotV01M
IGh0dHAgbmF2aWdhdGlvbiBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmcKLQot
Ci1UZXN0cyBQT1NUIG1ldGhvZCBvZiA8Z28+IGVsZW1lbnQKLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+
LS0+JwotLS0tLS0tLS0KLVRoaXMgcGFnZSB3YXMgcmVxdWVzdGVkIHdpdGggYW4gSFRUUCBQT1NU
Ci0KLVRoZSBxdWVyeSBwYXJhbWV0ZXJzIGFyZTogdmFyMT1UZXh0JTIwd2l0aCUyMHdoaXRlc3Bh
Y2U7dmFyMj1UZXh0JTIwd2l0aCUyMGVudGl0aWVzJTNBJTIwJTI2YXVtbCUzQiUyMGFuZCUyMCUy
Nm91bWwlM0IKLUZvcm0gY29udGVudCB2YXIxOiAnVGV4dCB3aXRoIHdoaXRlc3BhY2UnCi1Gb3Jt
IGNvbnRlbnQgdmFyMjogJ1RleHQgd2l0aCBlbnRpdGllczogw6QgYW5kIMO2JwotCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9nby10YXNrLXBvc3QtbWV0aG9kLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvZ28tdGFzay1wb3N0LW1ldGhvZC5o
dG1sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL2dvLXRh
c2stcG9zdC1tZXRob2QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFk
PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZhciByZWxhdGl2ZVBhdGhUb0xheW91dFRl
c3RzID0gIi4uLy4uLy4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi93bWwvcmVz
b3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxoMT5XTUwgaHR0cCBuYXZpZ2F0aW9uIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNj
cmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9nby10YXNrLXBvc3QtbWV0aG9kLmpz
IiBjaGFyc2V0PSJ1dGY4Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Bvc3QtZGF0YS10by1zZXJ2ZXItZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Bvc3QtZGF0YS10by1zZXJ2
ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvd21sL3Bvc3QtZGF0YS10by1zZXJ2ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDI0ICswLDAgQEAKLVdNTCBodHRwIG5hdmlnYXRpb24gbGF5b3V0IHRlc3RzIC0gdXNpbmcg
WEhUTUwgc2NyaXB0aW5nCi0KLQotQ29tcGxleCBkYXRhIHBvc3RpbmcgZXhhbXBsZQotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAv
LzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotVGhpcyBwYWdlIHdhcyByZXF1ZXN0ZWQgd2l0
aCBhbiBIVFRQIFBPU1QKLQotVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgYXJlOiBjYXRlZ29yeT07dGl0
bGU9JTVCdGl0bGUlNUQlMjBURVNUJTIwUEFTU0VEO3VybD0lNUJ1cmwlNUQlMjBURVNUJTIwUEFT
U0VEO2Rlc2M9JTVCZGVzYyU1RCUyMFRFU1QlMjBQQVNTRUQKLUZvcm0gY29udGVudCBjYXRlZ29y
eTogJycKLUZvcm0gY29udGVudCB0aXRsZSA6ICdbdGl0bGVdIFRFU1QgUEFTU0VEJwotRm9ybSBj
b250ZW50IHVybCA6ICdbdXJsXSBURVNUIFBBU1NFRCcKLUZvcm0gY29udGVudCBkZXNjIDogJ1tk
ZXNjXSBURVNUIFBBU1NFRCcKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcG9z
dC1kYXRhLXRvLXNlcnZlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvd21sL3Bvc3QtZGF0YS10by1zZXJ2ZXIuaHRtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9wb3N0LWRhdGEtdG8tc2VydmVyLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlw
dD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLi8uLi8uLiI7PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vd21sL3Jlc291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGh0dHAgbmF2aWdhdGlvbiBs
YXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvcG9zdC1kYXRhLXRvLXNlcnZlci5qcyIgY2hhcnNldD0idXRmOCI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9yZXNvdXJj
ZXMvYWNjZXNzLXRhcmdldC1kb21haW4tZGVueS53bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQtZG9tYWluLWRlbnkud21s
CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNl
cy9hY2Nlc3MtdGFyZ2V0LWRvbWFpbi1kZW55LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSw5ICsw
LDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dB
UEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21s
XzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZD4KLSAgICAgICAgPGFuY2hvcj5TdGFydCB0ZXN0
PGdvIGhyZWY9InVucmVhY2hhYmxlLWRvbWFpbi53bWwiLz48L2FuY2hvcj4KLSAgICAgICAgPHA+
VGVzdCBmb3IgRGVjayBBY2Nlc3MgY29udHJvbCBpbiBXTUwuPC9wPgotICAgICAgICA8cD5JZiB0
aGUgdGVzdCBwYXNzZXMsIHRoaXMgZGVjayB3aWxsIHJlbWFpbiB2aXNpYmxlPC9wPgotICAgIDwv
Y2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2Vz
L2FjY2Vzcy10YXJnZXQtcGF0aC1kZW55LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMvYWNjZXNzLXRhcmdldC1wYXRoLWRlbnkud21sCShyZXZp
c2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9hY2Nl
c3MtdGFyZ2V0LXBhdGgtZGVueS53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOSArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8v
RFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1s
Ij4KLTx3bWw+Ci0gICAgPGNhcmQ+Ci0gICAgICAgIDxhbmNob3I+U3RhcnQgdGVzdDxnbyBocmVm
PSJ1bnJlYWNoYWJsZS1wYXRoLndtbCIvPjwvYW5jaG9yPgotICAgICAgICA8cD5UZXN0IGZvciBE
ZWNrIEFjY2VzcyBjb250cm9sIGluIFdNTC48L3A+Ci0gICAgICAgIDxwPklmIHRoZSB0ZXN0IHBh
c3NlcywgdGhpcyBkZWNrIHdpbGwgcmVtYWluIHZpc2libGU8L3A+Ci0gICAgPC9jYXJkPgotPC93
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMvYWNjZXNzLXRh
cmdldC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcmVzb3Vy
Y2VzL2FjY2Vzcy10YXJnZXQud21sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvd21sL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LndtbAkod29ya2luZyBjb3B5KQpA
QCAtMSw5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJM
SUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9y
Zy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZD4KLSAgICAgICAgPGFuY2hvcj5T
dGFydCB0ZXN0PGdvIGhyZWY9ImxvY2tlZC1kZWNrLndtbCIvPjwvYW5jaG9yPgotICAgICAgICA8
cD5UZXN0IGZvciBEZWNrIEFjY2VzcyBjb250cm9sIGluIFdNTC48L3A+Ci0gICAgICAgIDxwPklm
IHRoZSB0ZXN0IHBhc3NlcywgdGhpcyBkZWNrIHdpbGwgaW1tZWRpYXRlbHkganVtcCB0byAibG9j
a2VkLWRlY2sud21sIjwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9hbnN3ZXItdXRmOC5jZ2kKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2Fuc3dlci11dGY4LmNnaQkocmV2
aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMvYW5z
d2VyLXV0ZjguY2dpCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI0ICswLDAgQEAKLSMhL3Vzci9iaW4v
cGVybCAtdwotCi11c2UgQ0dJOwotCi0kcXVlcnkgPSBuZXcgQ0dJOwotJG1ldGhvZCA9ICRxdWVy
eS0+cmVxdWVzdF9tZXRob2QoKTsKLSRxdWVyeVN0cmluZyA9ICRxdWVyeS0+cXVlcnlfc3RyaW5n
OwotJHZhcjEgPSAkcXVlcnktPnBhcmFtKCJ2YXIxIik7Ci0kdmFyMiA9ICRxdWVyeS0+cGFyYW0o
InZhcjIiKTsKLQotcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sO2NoYXJzZXQ9dXRmLThc
clxuIjsKLXByaW50ICJDYWNoZS1Db250cm9sOiBuby1zdG9yZSwgbm8tY2FjaGUsIG11c3QtcmV2
YWxpZGF0ZVxyXG4iOwotcHJpbnQgIlxyXG4iOwotCi1wcmludCA8PEhFUkVfRE9DX0VORDsKLTxo
dG1sPgotPGJvZHk+Ci1UaGlzIHBhZ2Ugd2FzIHJlcXVlc3RlZCB3aXRoIGFuIEhUVFAgJG1ldGhv
ZDxici8+PGJyLz4KLVRoZSBxdWVyeSBwYXJhbWV0ZXJzIGFyZTogJHF1ZXJ5U3RyaW5nPGJyLz4K
LUZvcm0gY29udGVudCB2YXIxOiAnJHZhcjEnPGJyLz4KLUZvcm0gY29udGVudCB2YXIyOiAnJHZh
cjInPGJyLz4KLTwvYm9keT4KLTwvaHRtbD4KLUhFUkVfRE9DX0VORApJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2Fuc3dlci5jZ2kKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2Fuc3dlci5jZ2kJKHJldmlzaW9uIDg1
MjQyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2Fuc3dlci5jZ2kJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMjQgKzAsMCBAQAotIyEvdXNyL2Jpbi9wZXJsIC13Ci0KLXVz
ZSBDR0k7Ci0KLSRxdWVyeSA9IG5ldyBDR0k7Ci0kbWV0aG9kID0gJHF1ZXJ5LT5yZXF1ZXN0X21l
dGhvZCgpOwotJHF1ZXJ5U3RyaW5nID0gJHF1ZXJ5LT5xdWVyeV9zdHJpbmc7Ci0kdmFyMSA9ICRx
dWVyeS0+cGFyYW0oInZhcjEiKTsKLSR2YXIyID0gJHF1ZXJ5LT5wYXJhbSgidmFyMiIpOwotCi1w
cmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcclxuIjsKLXByaW50ICJDYWNoZS1Db250cm9s
OiBuby1zdG9yZSwgbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZVxyXG4iOwotcHJpbnQgIlxyXG4i
OwotCi1wcmludCA8PEhFUkVfRE9DX0VORDsKLTxodG1sPgotPGJvZHk+Ci1UaGlzIHBhZ2Ugd2Fz
IHJlcXVlc3RlZCB3aXRoIGFuIEhUVFAgJG1ldGhvZDxici8+PGJyLz4KLVRoZSBxdWVyeSBwYXJh
bWV0ZXJzIGFyZTogJHF1ZXJ5U3RyaW5nPGJyLz4KLUZvcm0gY29udGVudCB2YXIxOiAnJHZhcjEn
PGJyLz4KLUZvcm0gY29udGVudCB2YXIyOiAnJHZhcjInPGJyLz4KLTwvYm9keT4KLTwvaHRtbD4K
LUhFUkVfRE9DX0VORApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2Vz
L2R1bXBWYXJpYWJsZXMuY2dpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
d21sL3Jlc291cmNlcy9kdW1wVmFyaWFibGVzLmNnaQkocmV2aXNpb24gODUyNDIpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMvZHVtcFZhcmlhYmxlcy5jZ2kJKHdvcmtp
bmcgY29weSkKQEAgLTEsMjggKzAsMCBAQAotIyEvdXNyL2Jpbi9wZXJsIC13Ci0KLXVzZSBDR0k7
Ci0KLSRxdWVyeSA9IG5ldyBDR0k7Ci0kbWV0aG9kID0gJHF1ZXJ5LT5yZXF1ZXN0X21ldGhvZCgp
OwotJHF1ZXJ5U3RyaW5nID0gJHF1ZXJ5LT5xdWVyeV9zdHJpbmc7Ci0kY2F0ID0gJHF1ZXJ5LT5w
YXJhbSgiY2F0ZWdvcnkiKTsKLSR0aXRsZSA9ICRxdWVyeS0+cGFyYW0oInRpdGxlIik7Ci0kdXJs
ID0gJHF1ZXJ5LT5wYXJhbSgidXJsIik7Ci0kZGVzYyA9ICRxdWVyeS0+cGFyYW0oImRlc2MiKTsK
LQotcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXHJcbiI7Ci1wcmludCAiQ2FjaGUtQ29u
dHJvbDogbm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGVcclxuIjsKLXByaW50ICJc
clxuIjsKLQotcHJpbnQgPDxIRVJFX0RPQ19FTkQ7Ci08aHRtbD4KLTxib2R5PgotVGhpcyBwYWdl
IHdhcyByZXF1ZXN0ZWQgd2l0aCBhbiBIVFRQICRtZXRob2Q8YnIvPjxici8+Ci1UaGUgcXVlcnkg
cGFyYW1ldGVycyBhcmU6ICRxdWVyeVN0cmluZzxici8+Ci1Gb3JtIGNvbnRlbnQgY2F0ZWdvcnk6
ICckY2F0Jzxici8+Ci1Gb3JtIGNvbnRlbnQgdGl0bGUgICA6ICckdGl0bGUnPGJyLz4KLUZvcm0g
Y29udGVudCB1cmwgICAgIDogJyR1cmwnPGJyLz4KLUZvcm0gY29udGVudCBkZXNjICAgIDogJyRk
ZXNjJzxici8+Ci08L2JvZHk+Ci08L2h0bWw+Ci1IRVJFX0RPQ19FTkQKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy9sb2NrZWQtZGVjay53bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL2xvY2tlZC1kZWNrLndtbAko
cmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMv
bG9ja2VkLWRlY2sud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01M
IDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdt
bD4KLSAgICA8aGVhZD4KLSAgICAgICAgPGFjY2VzcyBkb21haW49IjEyNy4wLjAuMSIgcGF0aD0i
YWNjZXNzLXRhcmdldC53bWwiLz4KLSAgICA8L2hlYWQ+Ci0KLSAgICA8Y2FyZD4KLSAgICAgICAg
PHA+VGVzdCBmb3IgRGVjayBBY2Nlc3MgY29udHJvbCBpbiBXTUwuPC9wPgotICAgICAgICA8cD5U
aGlzIGlzIHRoZSBsb2NrZWQgdGFyZ2V0IGRlY2ssIG9ubHkgJ2FjY2Vzcy10YXJnZXQud21sIiBj
YW4gYWNjZXNzIG1lPC9wPgotICAgICAgICA8cCBpZD0icmVzdWx0SW5kaWNhdG9yIiBzdHlsZT0i
ZGlzcGxheTogbm9uZSIvPgotICAgIDwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL3VucmVhY2hhYmxlLWRvbWFpbi53bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvcmVzb3VyY2VzL3VucmVhY2hhYmxlLWRv
bWFpbi53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwv
cmVzb3VyY2VzL3VucmVhY2hhYmxlLWRvbWFpbi53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTIg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8v
V0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93
bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxoZWFkPgotICAgICAgICA8YWNjZXNzIGRvbWFpbj0i
bm90ZXhpc3RhbnQuY29tIiBwYXRoPSIvd21sL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LWRlbnku
d21sIi8+Ci0gICAgPC9oZWFkPgotCi0gICAgPGNhcmQ+Ci0gICAgICAgIDxwPlRlc3QgZm9yIERl
Y2sgQWNjZXNzIGNvbnRyb2wgaW4gV01MLjwvcD4KLSAgICAgICAgPHA+T25seSB3d3cubm90ZXhp
c3RhbnQuY29tIHdvdWxkIGJlIGFsbG93ZWQgdG8gYWNjZXNzIHRoaXMgZGVjay4gSXQncyB1bnJl
YWNoYWJsZSBmcm9tIHRoZSBMYXlvdXRUZXN0czwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3Jlc291cmNlcy91bnJlYWNoYWJsZS1wYXRo
LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9yZXNvdXJjZXMv
dW5yZWFjaGFibGUtcGF0aC53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93bWwvcmVzb3VyY2VzL3VucmVhY2hhYmxlLXBhdGgud21sCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDEyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQ
VUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVt
Lm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPGFjY2Vz
cyBkb21haW49ImxvY2FsaG9zdCIgcGF0aD0iL2ZhaWxzL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0
LWRlbnkud21sIi8+Ci0gICAgPC9oZWFkPgotCi0gICAgPGNhcmQ+Ci0gICAgICAgIDxwPlRlc3Qg
Zm9yIERlY2sgQWNjZXNzIGNvbnRyb2wgaW4gV01MLjwvcD4KLSAgICAgICAgPHA+T25seSAvZmFp
bHMvcmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQtZGVueS53bWwgd291bGQgYmUgYWxsb3dlZCB0byBh
Y2Nlc3MgdGhpcyBkZWNrLjwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1s
CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10
ZXN0cy9URU1QTEFURS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+
Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVz
dHMgPSAiLi4vLi4vLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3dtbC9yZXNv
dXJjZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGgxPldNTCBodHRwIG5hdmlnYXRpb24gbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2Ny
aXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci08c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiIGNoYXJzZXQ9InV0ZjgiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
bWwvc2NyaXB0LXRlc3RzL2FjY2Vzcy10YXJnZXQtZG9tYWluLWRlbnkuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2FjY2Vzcy10YXJnZXQt
ZG9tYWluLWRlbnkuanMJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93bWwvc2NyaXB0LXRlc3RzL2FjY2Vzcy10YXJnZXQtZG9tYWluLWRlbnkuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMjMgKzAsMCBAQAotLy8gW05hbWVdIGFjY2Vzcy10YXJnZXQtZG9tYWluLWRl
bnkuanMKLQotY3JlYXRlU3RhdGljV01MVGVzdENhc2UoIlRlc3RzIGFjY2VzcyBjb250cm9sIHN1
cHBvcnQiLCAicmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQtZG9tYWluLWRlbnkud21sIik7Ci0KLWZ1
bmN0aW9uIHNldHVwVGVzdERvY3VtZW50KCkgewotICAgIC8vIG5vLW9wCi19Ci0KLWZ1bmN0aW9u
IHByZXBhcmVUZXN0KCkgewotICAgIHZhciBsYXN0RXJyb3IgPSBjb25zb2xlLmxhc3RXTUxFcnJv
ck1lc3NhZ2UoKTsKLSAgICBpZiAobGFzdEVycm9yID09ICJEZWNrIG5vdCBhY2Nlc3NpYmxlLiIp
IHsKLSAgICAgICAgY29tcGxldGVUZXN0KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBzdGFydFRlc3QoMjUsIDE1KTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAg
Ly8gbm8tb3AKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMvYWNjZXNzLXRhcmdldC1wYXRoLWRl
bnkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvc2NyaXB0LXRl
c3RzL2FjY2Vzcy10YXJnZXQtcGF0aC1kZW55LmpzCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LXBhdGgtZGVu
eS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyMyArMCwwIEBACi0vLyBbTmFtZV0gYWNjZXNzLXRh
cmdldC1wYXRoLWRlbnkuanMKLQotY3JlYXRlU3RhdGljV01MVGVzdENhc2UoIlRlc3RzIGFjY2Vz
cyBjb250cm9sIHN1cHBvcnQiLCAicmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQtcGF0aC1kZW55Lndt
bCIpOwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAgICAvLyBuby1vcAotfQot
Ci1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICB2YXIgbGFzdEVycm9yID0gY29uc29sZS5s
YXN0V01MRXJyb3JNZXNzYWdlKCk7Ci0gICAgaWYgKGxhc3RFcnJvciA9PSAiRGVjayBub3QgYWNj
ZXNzaWJsZS4iKSB7Ci0gICAgICAgIGNvbXBsZXRlVGVzdCgpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgc3RhcnRUZXN0KDI1LCAxNSk7Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVUZXN0
KCkgewotICAgIC8vIG5vLW9wCi19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2FjY2Vzcy10YXJn
ZXQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvc2NyaXB0LXRl
c3RzL2FjY2Vzcy10YXJnZXQuanMJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2FjY2Vzcy10YXJnZXQuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTkgKzAsMCBAQAotLy8gW05hbWVdIGFjY2Vzcy10YXJnZXQuanMKLQotY3JlYXRlU3Rh
dGljV01MVGVzdENhc2UoIlRlc3RzIGFjY2VzcyBjb250cm9sIHN1cHBvcnQiLCAicmVzb3VyY2Vz
L2FjY2Vzcy10YXJnZXQud21sIik7Ci0KLWZ1bmN0aW9uIHNldHVwVGVzdERvY3VtZW50KCkgewot
ICAgIC8vIG5vLW9wCi19Ci0KLWZ1bmN0aW9uIHByZXBhcmVUZXN0KCkgewotICAgIHN0YXJ0VGVz
dCgyNSwgMTUpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICB2YXIgcmVzdWx0
SW5kaWNhdG9yRWxlbWVudCA9IHRlc3REb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0SW5k
aWNhdG9yIik7Ci0gICAgaWYgKHJlc3VsdEluZGljYXRvckVsZW1lbnQpCi0gICAgICAgIGNvbXBs
ZXRlVGVzdCgpOwotfQotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd21sL3NjcmlwdC10ZXN0cy9nby10YXNrLWdldC1tZXRob2Qt
YWNjZXB0LWNoYXJzZXQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC1hY2NlcHQtY2hhcnNldC5qcwkocmV2
aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMv
Z28tdGFzay1nZXQtbWV0aG9kLWFjY2VwdC1jaGFyc2V0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDM4ICswLDAgQEAKLS8vIFtOYW1lXSBnby10YXNrLWdldC1tZXRob2QtYWNjZXB0LWNoYXJzZXQu
anMKLQotY3JlYXRlRHluYW1pY1dNTFRlc3RDYXNlKCJUZXN0cyBHRVQgbWV0aG9kIG9mICZsdDtn
byZndDsgZWxlbWVudCAtIGFjY2VwdC1jaGFyc2V0IGF0dHJpYnV0ZSIsIGZhbHNlKTsKLQotZnVu
Y3Rpb24gc2V0dXBUZXN0RG9jdW1lbnQoKSB7Ci0gICAgdmFyIGNhcmRFbGVtZW50ID0gdGVzdERv
Y3VtZW50LmRvY3VtZW50RWxlbWVudC5maXJzdENoaWxkOwotCi0gICAgdmFyIGFuY2hvckVsZW1l
bnQgPSBjcmVhdGVXTUxFbGVtZW50KCJhbmNob3IiKTsKLSAgICBhbmNob3JFbGVtZW50LnRleHRD
b250ZW50ID0gIlN0YXJ0IHRlc3QiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGFuY2hv
ckVsZW1lbnQpOwotCi0gICAgdmFyIGdvRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImdvIik7
Ci0gICAgZ29FbGVtZW50LnNldEF0dHJpYnV0ZSgibWV0aG9kIiwgIkdFVCIpOwotICAgIGdvRWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFjY2VwdC1jaGFyc2V0IiwgInV0Zi04Iik7Ci0gICAgZ29FbGVt
ZW50LnNldEF0dHJpYnV0ZSgiaHJlZiIsICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvd21sL3Jlc291
cmNlcy9hbnN3ZXItdXRmOC5jZ2kiKTsKLQotICAgIHZhciBwb3N0ZmllbGRFbGVtZW50MSA9IGNy
ZWF0ZVdNTEVsZW1lbnQoInBvc3RmaWVsZCIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQxLnNldEF0
dHJpYnV0ZSgibmFtZSIsICJ2YXIxIik7Ci0gICAgcG9zdGZpZWxkRWxlbWVudDEuc2V0QXR0cmli
dXRlKCJ2YWx1ZSIsICJUZXh0IHdpdGggd2hpdGVzcGFjZSIpOwotICAgIGdvRWxlbWVudC5hcHBl
bmRDaGlsZChwb3N0ZmllbGRFbGVtZW50MSk7Ci0KLSAgICB2YXIgcG9zdGZpZWxkRWxlbWVudDIg
PSBjcmVhdGVXTUxFbGVtZW50KCJwb3N0ZmllbGQiKTsKLSAgICBwb3N0ZmllbGRFbGVtZW50Mi5z
ZXRBdHRyaWJ1dGUoIm5hbWUiLCAidmFyMiIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQyLnNldEF0
dHJpYnV0ZSgidmFsdWUiLCAiVGV4dCB3aXRoIG5vbi1sYXRpbjEgY2hhcmFjdGVyczogU2Now7Zu
LCBkYcOfIGVzIMOEJk91bWw7w5wgZ2lidCEiKTsKLSAgICBnb0VsZW1lbnQuYXBwZW5kQ2hpbGQo
cG9zdGZpZWxkRWxlbWVudDIpOwotCi0gICAgYW5jaG9yRWxlbWVudC5hcHBlbmRDaGlsZChnb0Vs
ZW1lbnQpOwotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICBzdGFydFRlc3QoMjUs
IDE1KTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgY29tcGxldGVUZXN0KCk7
Ci19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMvZ28tdGFzay1n
ZXQtbWV0aG9kLmpzCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
d21sL3NjcmlwdC10ZXN0cy9nby10YXNrLWdldC1tZXRob2QuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsMzcgKzAsMCBAQAotLy8gW05hbWVdIGdvLXRhc2stZ2V0LW1ldGhvZC5qcwotCi1jcmVhdGVE
eW5hbWljV01MVGVzdENhc2UoIlRlc3RzIEdFVCBtZXRob2Qgb2YgJmx0O2dvJmd0OyBlbGVtZW50
IiwgZmFsc2UpOwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAgICB2YXIgY2Fy
ZEVsZW1lbnQgPSB0ZXN0RG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmZpcnN0Q2hpbGQ7Ci0KLSAg
ICB2YXIgYW5jaG9yRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImFuY2hvciIpOwotICAgIGFu
Y2hvckVsZW1lbnQudGV4dENvbnRlbnQgPSAiU3RhcnQgdGVzdCI7Ci0gICAgY2FyZEVsZW1lbnQu
YXBwZW5kQ2hpbGQoYW5jaG9yRWxlbWVudCk7Ci0KLSAgICB2YXIgZ29FbGVtZW50ID0gY3JlYXRl
V01MRWxlbWVudCgiZ28iKTsKLSAgICBnb0VsZW1lbnQuc2V0QXR0cmlidXRlKCJtZXRob2QiLCAi
R0VUIik7Ci0gICAgZ29FbGVtZW50LnNldEF0dHJpYnV0ZSgiaHJlZiIsICJodHRwOi8vMTI3LjAu
MC4xOjgwMDAvd21sL3Jlc291cmNlcy9hbnN3ZXIuY2dpIik7Ci0KLSAgICB2YXIgcG9zdGZpZWxk
RWxlbWVudDEgPSBjcmVhdGVXTUxFbGVtZW50KCJwb3N0ZmllbGQiKTsKLSAgICBwb3N0ZmllbGRF
bGVtZW50MS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAidmFyMSIpOwotICAgIHBvc3RmaWVsZEVsZW1l
bnQxLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiVGV4dCB3aXRoIHdoaXRlc3BhY2UiKTsKLSAgICBn
b0VsZW1lbnQuYXBwZW5kQ2hpbGQocG9zdGZpZWxkRWxlbWVudDEpOwotCi0gICAgdmFyIHBvc3Rm
aWVsZEVsZW1lbnQyID0gY3JlYXRlV01MRWxlbWVudCgicG9zdGZpZWxkIik7Ci0gICAgcG9zdGZp
ZWxkRWxlbWVudDIuc2V0QXR0cmlidXRlKCJuYW1lIiwgInZhcjIiKTsKLSAgICBwb3N0ZmllbGRF
bGVtZW50Mi5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIlRleHQgd2l0aCBlbnRpdGllczogJmF1bWw7
IGFuZCAmb3VtbDsiKTsKLSAgICBnb0VsZW1lbnQuYXBwZW5kQ2hpbGQocG9zdGZpZWxkRWxlbWVu
dDIpOwotCi0gICAgYW5jaG9yRWxlbWVudC5hcHBlbmRDaGlsZChnb0VsZW1lbnQpOwotfQotCi1m
dW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICBzdGFydFRlc3QoMjUsIDE1KTsKLX0KLQotZnVu
Y3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgY29tcGxldGVUZXN0KCk7Ci19Ci0KLXZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwv
c2NyaXB0LXRlc3RzL2dvLXRhc2stcG9zdC1tZXRob2QtYWNjZXB0LWNoYXJzZXQuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2st
cG9zdC1tZXRob2QtYWNjZXB0LWNoYXJzZXQuanMJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stcG9zdC1tZXRob2QtYWNj
ZXB0LWNoYXJzZXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzAsMCBAQAotLy8gW05hbWVd
IGdvLXRhc2stcG9zdC1tZXRob2QtYWNjZXB0LWNoYXJzZXQuanMKLQotY3JlYXRlRHluYW1pY1dN
TFRlc3RDYXNlKCJUZXN0cyBQT1NUIG1ldGhvZCBvZiAmbHQ7Z28mZ3Q7IGVsZW1lbnQgLSBhY2Nl
cHQtY2hhcnNldCBhdHRyaWJ1dGUiLCBmYWxzZSk7Ci0KLWZ1bmN0aW9uIHNldHVwVGVzdERvY3Vt
ZW50KCkgewotICAgIHZhciBjYXJkRWxlbWVudCA9IHRlc3REb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuZmlyc3RDaGlsZDsKLQotICAgIHZhciBhbmNob3JFbGVtZW50ID0gY3JlYXRlV01MRWxlbWVu
dCgiYW5jaG9yIik7Ci0gICAgYW5jaG9yRWxlbWVudC50ZXh0Q29udGVudCA9ICJTdGFydCB0ZXN0
IjsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChhbmNob3JFbGVtZW50KTsKLQotICAgIHZh
ciBnb0VsZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJnbyIpOwotICAgIGdvRWxlbWVudC5zZXRB
dHRyaWJ1dGUoIm1ldGhvZCIsICJQT1NUIik7Ci0gICAgZ29FbGVtZW50LnNldEF0dHJpYnV0ZSgi
YWNjZXB0LWNoYXJzZXQiLCAidXRmLTgiKTsKLSAgICBnb0VsZW1lbnQuc2V0QXR0cmlidXRlKCJo
cmVmIiwgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC93bWwvcmVzb3VyY2VzL2Fuc3dlci11dGY4LmNn
aSIpOwotCi0gICAgdmFyIHBvc3RmaWVsZEVsZW1lbnQxID0gY3JlYXRlV01MRWxlbWVudCgicG9z
dGZpZWxkIik7Ci0gICAgcG9zdGZpZWxkRWxlbWVudDEuc2V0QXR0cmlidXRlKCJuYW1lIiwgInZh
cjEiKTsKLSAgICBwb3N0ZmllbGRFbGVtZW50MS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIlRleHQg
d2l0aCB3aGl0ZXNwYWNlIik7Ci0gICAgZ29FbGVtZW50LmFwcGVuZENoaWxkKHBvc3RmaWVsZEVs
ZW1lbnQxKTsKLQotICAgIHZhciBwb3N0ZmllbGRFbGVtZW50MiA9IGNyZWF0ZVdNTEVsZW1lbnQo
InBvc3RmaWVsZCIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQyLnNldEF0dHJpYnV0ZSgibmFtZSIs
ICJ2YXIyIik7Ci0gICAgcG9zdGZpZWxkRWxlbWVudDIuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJU
ZXh0IHdpdGggbm9uLWxhdGluMSBjaGFyYWN0ZXJzOiBTY2jDtm4sIGRhw58gZXMgw4QmT3VtbDvD
nCBnaWJ0ISIpOwotICAgIGdvRWxlbWVudC5hcHBlbmRDaGlsZChwb3N0ZmllbGRFbGVtZW50Mik7
Ci0KLSAgICBhbmNob3JFbGVtZW50LmFwcGVuZENoaWxkKGdvRWxlbWVudCk7Ci19Ci0KLWZ1bmN0
aW9uIHByZXBhcmVUZXN0KCkgewotICAgIHN0YXJ0VGVzdCgyNSwgMTUpOwotfQotCi1mdW5jdGlv
biBleGVjdXRlVGVzdCgpIHsKLSAgICBjb21wbGV0ZVRlc3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3Jp
cHQtdGVzdHMvZ28tdGFzay1wb3N0LW1ldGhvZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMvZ28tdGFzay1wb3N0LW1ldGhvZC5qcwkocmV2
aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMv
Z28tdGFzay1wb3N0LW1ldGhvZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzNyArMCwwIEBACi0v
LyBbTmFtZV0gZ28tdGFzay1wb3N0LW1ldGhvZC5qcwotCi1jcmVhdGVEeW5hbWljV01MVGVzdENh
c2UoIlRlc3RzIFBPU1QgbWV0aG9kIG9mICZsdDtnbyZndDsgZWxlbWVudCIsIGZhbHNlKTsKLQot
ZnVuY3Rpb24gc2V0dXBUZXN0RG9jdW1lbnQoKSB7Ci0gICAgdmFyIGNhcmRFbGVtZW50ID0gdGVz
dERvY3VtZW50LmRvY3VtZW50RWxlbWVudC5maXJzdENoaWxkOwotCi0gICAgdmFyIGFuY2hvckVs
ZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJhbmNob3IiKTsKLSAgICBhbmNob3JFbGVtZW50LnRl
eHRDb250ZW50ID0gIlN0YXJ0IHRlc3QiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGFu
Y2hvckVsZW1lbnQpOwotCi0gICAgdmFyIGdvRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImdv
Iik7Ci0gICAgZ29FbGVtZW50LnNldEF0dHJpYnV0ZSgibWV0aG9kIiwgIlBPU1QiKTsKLSAgICBn
b0VsZW1lbnQuc2V0QXR0cmlidXRlKCJocmVmIiwgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC93bWwv
cmVzb3VyY2VzL2Fuc3dlci5jZ2kiKTsKLQotICAgIHZhciBwb3N0ZmllbGRFbGVtZW50MSA9IGNy
ZWF0ZVdNTEVsZW1lbnQoInBvc3RmaWVsZCIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQxLnNldEF0
dHJpYnV0ZSgibmFtZSIsICJ2YXIxIik7Ci0gICAgcG9zdGZpZWxkRWxlbWVudDEuc2V0QXR0cmli
dXRlKCJ2YWx1ZSIsICJUZXh0IHdpdGggd2hpdGVzcGFjZSIpOwotICAgIGdvRWxlbWVudC5hcHBl
bmRDaGlsZChwb3N0ZmllbGRFbGVtZW50MSk7Ci0KLSAgICB2YXIgcG9zdGZpZWxkRWxlbWVudDIg
PSBjcmVhdGVXTUxFbGVtZW50KCJwb3N0ZmllbGQiKTsKLSAgICBwb3N0ZmllbGRFbGVtZW50Mi5z
ZXRBdHRyaWJ1dGUoIm5hbWUiLCAidmFyMiIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQyLnNldEF0
dHJpYnV0ZSgidmFsdWUiLCAiVGV4dCB3aXRoIGVudGl0aWVzOiAmYXVtbDsgYW5kICZvdW1sOyIp
OwotICAgIGdvRWxlbWVudC5hcHBlbmRDaGlsZChwb3N0ZmllbGRFbGVtZW50Mik7Ci0KLSAgICBh
bmNob3JFbGVtZW50LmFwcGVuZENoaWxkKGdvRWxlbWVudCk7Ci19Ci0KLWZ1bmN0aW9uIHByZXBh
cmVUZXN0KCkgewotICAgIHN0YXJ0VGVzdCgyNSwgMTUpOwotfQotCi1mdW5jdGlvbiBleGVjdXRl
VGVzdCgpIHsKLSAgICBjb21wbGV0ZVRlc3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMv
cG9zdC1kYXRhLXRvLXNlcnZlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dtbC9zY3JpcHQtdGVzdHMvcG9zdC1kYXRhLXRvLXNlcnZlci5qcwkocmV2aXNpb24gODUy
NDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dtbC9zY3JpcHQtdGVzdHMvcG9zdC1kYXRh
LXRvLXNlcnZlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwxMjkgKzAsMCBAQAotLy8gW05hbWVd
IHBvc3QtZGF0YS10by1zZXJ2ZXIuanMKLQotY3JlYXRlRHluYW1pY1dNTFRlc3RDYXNlKCJDb21w
bGV4IGRhdGEgcG9zdGluZyBleGFtcGxlIiwgZmFsc2UpOwotCi12YXIgY2F0ZWdvcnlTZWxlY3Q7
Ci12YXIgZGVzY0lucHV0OwotdmFyIHRpdGxlSW5wdXQ7Ci12YXIgdXJsSW5wdXQ7Ci0KLWZ1bmN0
aW9uIHNldHVwVGVzdERvY3VtZW50KCkgewotICAgIHZhciBjYXJkRWxlbWVudCA9IHRlc3REb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuZmlyc3RDaGlsZDsKLQotICAgIHZhciBhbmNob3JFbGVtZW50
ID0gY3JlYXRlV01MRWxlbWVudCgiYW5jaG9yIik7Ci0gICAgYW5jaG9yRWxlbWVudC5zZXRBdHRy
aWJ1dGUoImlkIiwgInRvcCIpOwotICAgIGFuY2hvckVsZW1lbnQudGV4dENvbnRlbnQgPSAiU3Rh
cnQgdGVzdCI7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQoYW5jaG9yRWxlbWVudCk7Ci0K
LSAgICAvLyBQdXJlIFdNTCBiYXNlZCBmb3JtIGRhdGEgcG9zdGluZyB1c2luZyB2YXJpYWJsZSBz
dWJzdGl0dXRpb24KLSAgICB2YXIgZ29FbGVtZW50ID0gY3JlYXRlV01MRWxlbWVudCgiZ28iKTsK
LSAgICBnb0VsZW1lbnQuc2V0QXR0cmlidXRlKCJtZXRob2QiLCAiUE9TVCIpOwotICAgIGdvRWxl
bWVudC5zZXRBdHRyaWJ1dGUoImhyZWYiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3dtbC9yZXNv
dXJjZXMvZHVtcFZhcmlhYmxlcy5jZ2kiKTsKLQotICAgIHZhciBwb3N0ZmllbGRFbGVtZW50MSA9
IGNyZWF0ZVdNTEVsZW1lbnQoInBvc3RmaWVsZCIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQxLnNl
dEF0dHJpYnV0ZSgibmFtZSIsICJjYXRlZ29yeSIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQxLnNl
dEF0dHJpYnV0ZSgidmFsdWUiLCAiJGNhdGVnb3J5Iik7Ci0gICAgZ29FbGVtZW50LmFwcGVuZENo
aWxkKHBvc3RmaWVsZEVsZW1lbnQxKTsKLQotICAgIHZhciBwb3N0ZmllbGRFbGVtZW50MiA9IGNy
ZWF0ZVdNTEVsZW1lbnQoInBvc3RmaWVsZCIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQyLnNldEF0
dHJpYnV0ZSgibmFtZSIsICJ0aXRsZSIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQyLnNldEF0dHJp
YnV0ZSgidmFsdWUiLCAiJHRpdGxlIik7Ci0gICAgZ29FbGVtZW50LmFwcGVuZENoaWxkKHBvc3Rm
aWVsZEVsZW1lbnQyKTsKLQotICAgIHZhciBwb3N0ZmllbGRFbGVtZW50MyA9IGNyZWF0ZVdNTEVs
ZW1lbnQoInBvc3RmaWVsZCIpOwotICAgIHBvc3RmaWVsZEVsZW1lbnQzLnNldEF0dHJpYnV0ZSgi
bmFtZSIsICJ1cmwiKTsKLSAgICBwb3N0ZmllbGRFbGVtZW50My5zZXRBdHRyaWJ1dGUoInZhbHVl
IiwgIiR1cmwiKTsKLSAgICBnb0VsZW1lbnQuYXBwZW5kQ2hpbGQocG9zdGZpZWxkRWxlbWVudDMp
OwotCi0gICAgdmFyIHBvc3RmaWVsZEVsZW1lbnQ0ID0gY3JlYXRlV01MRWxlbWVudCgicG9zdGZp
ZWxkIik7Ci0gICAgcG9zdGZpZWxkRWxlbWVudDQuc2V0QXR0cmlidXRlKCJuYW1lIiwgImRlc2Mi
KTsKLSAgICBwb3N0ZmllbGRFbGVtZW50NC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIiRkZXNjIik7
Ci0gICAgZ29FbGVtZW50LmFwcGVuZENoaWxkKHBvc3RmaWVsZEVsZW1lbnQ0KTsKLQotICAgIGFu
Y2hvckVsZW1lbnQuYXBwZW5kQ2hpbGQoZ29FbGVtZW50KTsKLQotICAgIC8vIENhdGVnb3J5Ci0g
ICAgdmFyIGZpZWxkc2V0RWxlbWVudDEgPSBjcmVhdGVXTUxFbGVtZW50KCJmaWVsZHNldCIpOwot
ICAgIGZpZWxkc2V0RWxlbWVudDEudGV4dENvbnRlbnQgPSAiQ2F0ZWdvcnk6IjsKLQotICAgIGNh
dGVnb3J5U2VsZWN0ID0gY3JlYXRlV01MRWxlbWVudCgic2VsZWN0Iik7Ci0gICAgY2F0ZWdvcnlT
ZWxlY3Quc2V0QXR0cmlidXRlKCJuYW1lIiwgImNhdGVnb3J5Iik7Ci0gICAgY2F0ZWdvcnlTZWxl
Y3Quc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJ3YXAiKTsKLSAgICBjYXRlZ29yeVNlbGVjdC5zZXRB
dHRyaWJ1dGUoInRpdGxlIiwgIlNlY3Rpb24/Iik7Ci0gICAgY2F0ZWdvcnlTZWxlY3Quc2V0QXR0
cmlidXRlKCJtdWx0aXBsZSIsICJ5ZXMiKTsKLQotICAgIHZhciBvcHRpb25FbGVtZW50MSA9IGNy
ZWF0ZVdNTEVsZW1lbnQoIm9wdGlvbiIpOwotICAgIG9wdGlvbkVsZW1lbnQxLnRleHRDb250ZW50
ID0gIkNvbXB1dGVycyI7Ci0gICAgb3B0aW9uRWxlbWVudDEuc2V0QXR0cmlidXRlKCJ2YWx1ZSIs
ICJjb21wdXRlcnMiKTsKLSAgICBjYXRlZ29yeVNlbGVjdC5hcHBlbmRDaGlsZChvcHRpb25FbGVt
ZW50MSk7Ci0KLSAgICB2YXIgb3B0aW9uRWxlbWVudDIgPSBjcmVhdGVXTUxFbGVtZW50KCJvcHRp
b24iKTsKLSAgICBvcHRpb25FbGVtZW50Mi50ZXh0Q29udGVudCA9ICJXQVAiOwotICAgIG9wdGlv
bkVsZW1lbnQyLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAid2FwIik7Ci0gICAgY2F0ZWdvcnlTZWxl
Y3QuYXBwZW5kQ2hpbGQob3B0aW9uRWxlbWVudDIpOwotCi0gICAgdmFyIG9wdGlvbkVsZW1lbnQz
ID0gY3JlYXRlV01MRWxlbWVudCgib3B0aW9uIik7Ci0gICAgb3B0aW9uRWxlbWVudDMudGV4dENv
bnRlbnQgPSAiR2F0ZXdheXMiOwotICAgIG9wdGlvbkVsZW1lbnQzLnNldEF0dHJpYnV0ZSgidmFs
dWUiLCAiZ2F0ZXdheXMiKTsKLSAgICBjYXRlZ29yeVNlbGVjdC5hcHBlbmRDaGlsZChvcHRpb25F
bGVtZW50Myk7Ci0KLSAgICBmaWVsZHNldEVsZW1lbnQxLmFwcGVuZENoaWxkKGNhdGVnb3J5U2Vs
ZWN0KTsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChmaWVsZHNldEVsZW1lbnQxKTsKLQot
ICAgIC8vIFRpdGxlCi0gICAgdmFyIGZpZWxkc2V0RWxlbWVudDIgPSBjcmVhdGVXTUxFbGVtZW50
KCJmaWVsZHNldCIpOwotICAgIGZpZWxkc2V0RWxlbWVudDIudGV4dENvbnRlbnQgPSAiVGl0bGU6
IjsKLQotICAgIHRpdGxlSW5wdXQgPSBjcmVhdGVXTUxFbGVtZW50KCJpbnB1dCIpOwotICAgIHRp
dGxlSW5wdXQuc2V0QXR0cmlidXRlKCJ0eXBlIiwgInRleHQiKTsKLSAgICB0aXRsZUlucHV0LnNl
dEF0dHJpYnV0ZSgibmFtZSIsICJ0aXRsZSIpOwotICAgIHRpdGxlSW5wdXQuc2V0QXR0cmlidXRl
KCJzaXplIiwgIjIwIik7Ci0gICAgdGl0bGVJbnB1dC5zZXRBdHRyaWJ1dGUoImVtcHR5b2siLCAi
ZmFsc2UiKTsKLSAgICBmaWVsZHNldEVsZW1lbnQyLmFwcGVuZENoaWxkKHRpdGxlSW5wdXQpOwot
ICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGZpZWxkc2V0RWxlbWVudDIpOwotCi0gICAgLy8g
VVJMCi0gICAgdmFyIGZpZWxkc2V0RWxlbWVudDMgPSBjcmVhdGVXTUxFbGVtZW50KCJmaWVsZHNl
dCIpOwotICAgIGZpZWxkc2V0RWxlbWVudDMudGV4dENvbnRlbnQgPSAiVVJMOiI7Ci0KLSAgICB1
cmxJbnB1dCA9IGNyZWF0ZVdNTEVsZW1lbnQoImlucHV0Iik7Ci0gICAgdXJsSW5wdXQuc2V0QXR0
cmlidXRlKCJ0eXBlIiwgInRleHQiKTsKLSAgICB1cmxJbnB1dC5zZXRBdHRyaWJ1dGUoIm5hbWUi
LCAidXJsIik7Ci0gICAgdXJsSW5wdXQuc2V0QXR0cmlidXRlKCJzaXplIiwgIjEwMCIpOwotICAg
IHVybElucHV0LnNldEF0dHJpYnV0ZSgiZW1wdHlvayIsICJmYWxzZSIpOwotICAgIGZpZWxkc2V0
RWxlbWVudDMuYXBwZW5kQ2hpbGQodXJsSW5wdXQpOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENo
aWxkKGZpZWxkc2V0RWxlbWVudDMpOwotCi0gICAgLy8gRGVzY3JpcHRpb24KLSAgICB2YXIgZmll
bGRzZXRFbGVtZW50NCA9IGNyZWF0ZVdNTEVsZW1lbnQoImZpZWxkc2V0Iik7Ci0gICAgZmllbGRz
ZXRFbGVtZW50NC50ZXh0Q29udGVudCA9ICJEZXNjcmlwdGlvbjoiOwotCi0gICAgZGVzY0lucHV0
ID0gY3JlYXRlV01MRWxlbWVudCgiaW5wdXQiKTsKLSAgICBkZXNjSW5wdXQuc2V0QXR0cmlidXRl
KCJ0eXBlIiwgInRleHQiKTsKLSAgICBkZXNjSW5wdXQuc2V0QXR0cmlidXRlKCJuYW1lIiwgImRl
c2MiKTsKLSAgICBkZXNjSW5wdXQuc2V0QXR0cmlidXRlKCJzaXplIiwgIjgwMCIpOwotICAgIGRl
c2NJbnB1dC5zZXRBdHRyaWJ1dGUoImVtcHR5b2siLCAidHJ1ZSIpOwotICAgIGZpZWxkc2V0RWxl
bWVudDQuYXBwZW5kQ2hpbGQoZGVzY0lucHV0KTsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGls
ZChmaWVsZHNldEVsZW1lbnQ0KTsKLX0KLQotZnVuY3Rpb24gc2VuZFRleHRUb0NvbnRyb2woZWxl
bWVudCwgdGV4dCkgewotICAgIGVsZW1lbnQuZm9jdXMoKTsKLSAgICB0ZXN0RG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkluc2VydFRleHQiLCBmYWxzZSwgdGV4dCk7Ci19Ci0KLWZ1bmN0aW9uIHByZXBh
cmVUZXN0KCkgewotICAgIHNlbmRUZXh0VG9Db250cm9sKHRpdGxlSW5wdXQsICJbdGl0bGVdIFRF
U1QgUEFTU0VEIik7Ci0gICAgc2VuZFRleHRUb0NvbnRyb2wodXJsSW5wdXQsICJbdXJsXSBURVNU
IFBBU1NFRCIpOwotICAgIHNlbmRUZXh0VG9Db250cm9sKGRlc2NJbnB1dCwgIltkZXNjXSBURVNU
IFBBU1NFRCIpOwotICAgIGNhdGVnb3J5U2VsZWN0LmZvY3VzKCk7Ci0KLSAgICB0ZXN0RG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRvcCIpLmZvY3VzKCk7Ci0gICAgc3RhcnRUZXN0KDI1LCAxNSk7
Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGNvbXBsZXRlVGVzdCgpOwotfQot
Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1sdmlld2VyL2R1bXBBc1RleHQvd21sLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbHZpZXdlci9kdW1wQXNUZXh0L3dtbC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWx2aWV3
ZXIvZHVtcEFzVGV4dC93bWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE0ICsw
LDAgQEAKLVRoaXMgWE1MIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGhhdmUgYW55IHN0eWxlIGlu
Zm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCBpdC4gVGhlIGRvY3VtZW50IHRyZWUgaXMgc2hvd24g
YmVsb3cuCi08IS0tCi1JZiB5b3UgY2FuIHNlZSB0aGlzLCB0aGlzIHRlc3QgaGFzIGZhaWxlZCwg
ZXhjZXB0IGlmIHlvdSBhcmUgbm90IHVzaW5nIGEgV01MLWF3YXJlIGNsaWVudC4KLS0tPgotPD9z
ZHMgZXJmZT8+Ci08d21sPgotPGhlYWRlcj4KLVRoaXMgdGVzdHMgdGhhdCB4bWwgdmlld2VyIGlz
IG5vdCB1c2VkIGZvciBkb2N1bWVudHMgd2l0aCBXTUwgZG9jdHlwZS4KLTwvaGVhZGVyPgotPGNh
cmQgaWQ9ImNhcmQxIiB0aXRsZT0iQ2FyZCAxIj4KLTxGQUlMLz4KLTxwPlNVQ0NFU1M8L3A+Ci08
L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1sdmlld2VyL2R1
bXBBc1RleHQvd21sLnhtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bHZpZXdlci9kdW1wQXNUZXh0L3dtbC54bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWx2aWV3ZXIvZHVtcEFzVGV4dC93bWwueG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDExICswLDAgQEAKLTwhLS0gSWYgeW91IGNhbiBzZWUgdGhpcywgdGhpcyB0ZXN0IGhh
cyBmYWlsZWQsIGV4Y2VwdCBpZiB5b3UgYXJlCi0gICAgIG5vdCB1c2luZyBhIFdNTC1hd2FyZSBj
bGllbnQuIC0tPgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEu
MS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPD9zZHMg
ZXJmZT8+Ci08d21sPgotICAgIDxoZWFkZXI+VGhpcyB0ZXN0cyB0aGF0IHhtbCB2aWV3ZXIgaXMg
bm90IHVzZWQgZm9yIGRvY3VtZW50cyB3aXRoIFdNTCBkb2N0eXBlLjwvaGVhZGVyPgotICAgIDxj
YXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQgMSI+Ci0gICAgICAgIDxGQUlMLz4KLSAgICAgICAg
PHA+U1VDQ0VTUzwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1sZW9wYXJkL2Zhc3Qvd21sL2h0bWwtZmllbGRzZXQtY3Jhc2gtZXhwZWN0ZWQu
cG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5
cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9ici1lbGVtZW50LWluLXRhYmxlLWV4cGVjdGVk
LnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0
eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvYnItZWxlbWVudC1pbi10YWJsZS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Jy
LWVsZW1lbnQtaW4tdGFibGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9ici1lbGVtZW50LWluLXRhYmxlLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzNCArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgw
LDApIHNpemUgODAweDEzNgotICBSZW5kZXJCbG9jayB7d21sfSBhdCAoMCwwKSBzaXplIDgwMHgx
MzYKLSAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMTYpIHNpemUgNzg0eDExMgotICAgICAg
UmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc2NXgzNgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDc2NTogIlRoaXMgdGVzdCBjYXNlIGlzIHVzZWQgdG8gdGVzdCBiciBlbGVtZW50IGlu
IGEgdGFibGUuIGVhY2ggY2VsbCBpcyBhbGlnbmVkIHRvIGxlZnQsIGFuZCB0aGUgQlIgd2lsbCBi
cmVhayB0aGUgXCJ4eHh4eHh4eFwiIHRleHQgaW4iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MTgpIHdpZHRoIDYwOiAidGhlIGxhc3QgdGQiCi0gICAgICBSZW5kZXJUYWJsZSB7dGFibGV9IGF0
ICgwLDUyKSBzaXplIDE1NXg2MAotICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24gKGFub255bW91
cykgYXQgKDAsMCkgc2l6ZSAxNTV4NjAKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7dHJ9IGF0
ICgwLDIpIHNpemUgMTU1eDE4Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAo
MiwyKSBzaXplIDUzeDE4IFtyPTAgYz0wIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTN4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA1MzogIkNlbGwgb25lIgotICAgICAgICAgICAgUmVuZGVyVGFibGVD
ZWxsIHt0ZH0gYXQgKDU3LDIpIHNpemUgNTR4MTggW3I9MCBjPTEgcnM9MSBjcz0xXQotICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NHgxOAotICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU0OiAiQ2VsbCB0d28iCi0gICAgICAgICAg
ICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoMTEzLDIpIHNpemUgNDB4MTggW3I9MCBjPTIgcnM9
MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
NXgxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE1OiAiYzMiCi0g
ICAgICAgICAgUmVuZGVyVGFibGVSb3cge3RyfSBhdCAoMCwyMikgc2l6ZSAxNTV4MzYKLSAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICgyLDMxKSBzaXplIDUzeDE4IFtyPTEgYz0w
IHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMzN4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMzogImNl
bGwgYSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICg1NywzMSkgc2l6ZSA1
NHgxOCBbcj0xIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDM0eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMzQ6ICJjZWxsIGIiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAo
MTEzLDIyKSBzaXplIDQweDM2IFtyPTEgYz0yIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDB4MTgKLSAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCA0MDogInh4eHh4IgotICAgICAgICAgICAgICBSZW5kZXJCUiB7
YnJ9IGF0ICg0MCwwKSBzaXplIDB4MTgKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDE4KSBzaXplIDI0eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgp
IHdpZHRoIDI0OiAieHh4IgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21s
L2JyLWVsZW1lbnQtaW4tdGV4dC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0
aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21s
L2JyLWVsZW1lbnQtaW4tdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2JyLWVsZW1lbnQtaW4tdGV4dC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Jy
LWVsZW1lbnQtaW4tdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTQgKzAs
MCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg5NAotICBSZW5kZXJCbG9jayB7
d21sfSBhdCAoMCwwKSBzaXplIDgwMHg5NAotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwx
Nikgc2l6ZSA3ODR4NzAKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgx
OAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyODV4MTgKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyODU6ICJUaGlzIHRlc3QgY2FzZSBpcyB1c2Vk
IHRvIHRlc3QgYnIgZWxlbWVudCBpbiB0ZXh0IgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDAsMzQpIHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDEzOHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEzODog
IlRoaXMgaXMgYSBwaWVjZSBvZiB0ZXh0ICIKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMTM4
LDApIHNpemUgMHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTgpIHNpemUg
MTA1eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDEwNTogIndpdGggYSBs
aW5lIGJyZWFrIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2NhcmQt
ZWxlbWVudC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJr
ZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0
cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2NhcmQtZWxlbWVu
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3Qvd21sL2NhcmQtZWxlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2NhcmQtZWxlbWVudC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNyArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNp
emUgODAweDM0Ci0gIFJlbmRlckJsb2NrIHt3bWx9IGF0ICgwLDApIHNpemUgODAweDM0Ci0gICAg
UmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDgpIHNpemUgNzg0eDE4Ci0gICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTgKLSAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTAwOiAiVGhpcyBpcyBjYXJkIG9uZSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3dtbC9jYXNlLXNlbnNpdGl2aXR5LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNh
bm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBl
ID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC93bWwvY2FzZS1zZW5zaXRpdml0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Nhc2Utc2Vuc2l0aXZpdHktZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3dtbC9jYXNlLXNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwz
MCArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDE3MAotICBSZW5kZXJC
bG9jayB7d21sfSBhdCAoMCwwKSBzaXplIDgwMHgxNzAKLSAgICBSZW5kZXJCbG9jayB7Y2FyZH0g
YXQgKDgsMTYpIHNpemUgNzg0eDE0NgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNp
emUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIxMHgx
OAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIxMDogIlRlc3QgZm9yIENhc2Ug
c2Vuc2l0aXZpdHkgaW4gV01MIgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDM0KSBzaXpl
IDc4NHgzNgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0MjZ4MTgK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0MjY6ICJjb21wYXJlIHRoZSByZXN1
bHQgb2YgaW5zZXJ0aW5nIDxici8+IGFuZCA8QlIvPiBpbnRvIHRoZSBzYW1lIHRleHQsICIKLSAg
ICAgICAgUmVuZGVyQlIge2JyfSBhdCAoNDI2LDApIHNpemUgMHgxOAotICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMTgpIHNpemUgMjg5eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMTgpIHdpZHRoIDI4OTogInRoZSBmb3JtZXIgc2hvdWxkIHdvcmssIGFuZCB0aGUgbGF0dGVy
IGRvZXNuJ3QuIgotICAgICAgUmVuZGVyVGFibGUge3RhYmxlfSBhdCAoMCw4Nikgc2l6ZSAxODh4
NjAKLSAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUg
MTg4eDYwCi0gICAgICAgICAgUmVuZGVyVGFibGVSb3cge3RyfSBhdCAoMCwyKSBzaXplIDE4OHgz
NgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDIsMikgc2l6ZSAxODR4MzYg
W3I9MCBjPTAgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA2MngxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDYyOiAiVGVzdCBjYXNlICIKLSAgICAgICAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoNjIsMCkg
c2l6ZSAweDE4Ci0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6
ZSAxMjJ4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTIyOiAi
c2Vuc2l0aXZpdHkgaW4gV01MIgotICAgICAgICAgIFJlbmRlclRhYmxlUm93IHt0cn0gYXQgKDAs
NDApIHNpemUgMTg4eDE4Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoMiw0
MCkgc2l6ZSAxODR4MTggW3I9MSBjPTAgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MngxOAotICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDYyOiAiVGVzdCBjYXNlICIKLSAgICAgICAgICAgICAgUmVuZGVySW5s
aW5lIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDE4Ci0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNjIsMCkgc2l6ZSAxMjJ4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NjIsMCkgd2lkdGggMTIyOiAic2Vuc2l0aXZpdHkgaW4gV01MIgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2NkYXRhLXNlY3Rpb24tZXhwZWN0ZWQucG5nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1l
LXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3dtbC9jZGF0YS1zZWN0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvY2RhdGEtc2VjdGlvbi1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL2NkYXRhLXNlY3Rpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICsw
LDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4OTQKLSAgUmVuZGVyQmxvY2sg
e3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4OTQKLSAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgs
MTYpIHNpemUgNzg0eDcwCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4
MzYKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjIweDE4Ci0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjIwOiAiVGVzdCBmb3IgQ0RBVEEgU2VjdGlv
biBpbiBXTUwiCi0gICAgICAgIFJlbmRlckJSIHticn0gYXQgKDIyMCwwKSBzaXplIDB4MTgKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE4KSBzaXplIDI3MXgxOAotICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAyNzE6ICJJZiBpdCBwYXNzZXMsIHlvdSBjYW4gc2Vl
IHRoZSBmb2xsb3dpbmcgdGV4dCA6IgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDAsNTIpIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyNjZGF0YS1zZWN0aW9ufSBh
dCAoMCwwKSBzaXplIDE3MngxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE3
MjogIlRoaXMgaXMgPEI+IGEgQ0RBVEEgdGVzdCIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93
bWwvY29tbWVudC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBt
YXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0
LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2NvbW1lbnQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3dtbC9jb21tZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvY29tbWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTIgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMDIK
LSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTAyCi0gICAgUmVuZGVyQmxv
Y2sge2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHg3MAotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0
ICgwLDApIHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDc0M3gzNgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc0MzogIlRlc3Qg
Y29tbWVudCBpbiBXTUwsIHRoZSB0ZXh0IGluIHRoZSBjb21tZW50IHNob3VsZCBub3QgYmUgZGlz
cGxheWVkLCBpZiBpdCBwYXNzZXMsIHlvdSBjYW4gb25seSBzZWUgdGhlIHRleHQ6IFwiSGVsbG8i
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDEzNzogIldvcmxkIVwiIGFmdGVy
IHRoaXMgbGluZSIKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCw1Mikgc2l6ZSA3ODR4MTgK
LSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODR4MTgKLSAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4NDogIkhlbGxvIFdvcmxkISIKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9kby1lbGVtZW50LW9wdGlvbmFsLWF0dHItZXhw
ZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmlu
YXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9kby1lbGVtZW50LW9wdGlvbmFsLWF0
dHItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3dtbC9kby1lbGVtZW50LW9wdGlvbmFsLWF0dHItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4
NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9kby1lbGVtZW50LW9w
dGlvbmFsLWF0dHItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIwICswLDAgQEAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTExCi0gIFJlbmRlckJsb2NrIHt3bWx9
IGF0ICgwLDApIHNpemUgODAweDExMQotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwxNikg
c2l6ZSA3ODR4ODcKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgxOAot
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxODF4MTgKLSAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODE6ICJUZXN0IGZvciBkbyBlbGVtZW50IGluIFdN
TCIKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwzNCkgc2l6ZSA3ODR4MTgKLSAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzMxeDE4Ci0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggNzMxOiAiVGhlcmUgYXJlIHR3byBkbyBlbGVtZW50IGluIHRoaXMg
Y2FyZCwgdGhlIGZpcnN0IG9uZSB3aWxsIGRpc3BsYXksIHRoZSBzZWNvbmQgd29uJ3QgYmVjYXVz
ZSBpdHMgb3B0aW9uYWwgYXR0cmlidXRlIGlzIHRydWUiCi0gICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoMCw2OCkgc2l6ZSA3ODR4MTkKLSAgICAgICAgUmVuZGVyQnV0dG9uIHtkb30g
YXQgKDAsMSkgc2l6ZSA0MXgxOCBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNl
dCAjQzBDMEMwKSBub25lICgycHggb3V0c2V0ICNDMEMwQzApXQotICAgICAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICg4LDIpIHNpemUgMjV4MTMKLSAgICAgICAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMjV4MTMKLSAgICAgICAgICAgICAgUmVuZGVy
VGV4dCBhdCAoMCwwKSBzaXplIDI1eDEzCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMjU6ICJEbyAxIgotICAgICAgICAgICAgUmVuZGVyQmxvY2sge2dvfSBhdCAoMCwx
Mykgc2l6ZSAyNXgwCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9kby1zaGFkb3ctZXhwZWN0ZWQucG5nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2
bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3dtbC9kby1zaGFkb3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9kby1zaGFkb3ctZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dt
bC9kby1zaGFkb3ctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMyICswLDAgQEAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTI5Ci0gIFJlbmRlckJsb2NrIHt3bWx9
IGF0ICgwLDApIHNpemUgODAweDEyOQotICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgw
LDApIHNpemUgODAweDE5Ci0gICAgICBSZW5kZXJJbmxpbmUge3RlbXBsYXRlfSBhdCAoMCwwKSBz
aXplIDg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgICBSZW5kZXJCdXR0b24ge2RvfSBhdCAoMCwxKSBzaXplIDg0eDE4IFtiZ2NvbG9yPSND
MEMwQzBdIFtib3JkZXI6ICgycHggb3V0c2V0ICNDMEMwQzApIG5vbmUgKDJweCBvdXRzZXQgI0Mw
QzBDMCldCi0gICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsMikgc2l6ZSA2
OHgxMwotICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDY4eDEzCi0gICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDY4OiAiVGVtcGxhdGUgRG8iCi0gICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge3ByZXZ9IGF0ICgwLDApIHNpemUgMHgxMwotICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgUmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDM1KSBzaXplIDc4NHg4
NgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE4MngxOAotICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDE4MjogIlRlc3QgZm9yIGRvLXNoYWRvdyBpbiBXTUwiCi0gICAgICBS
ZW5kZXJCbG9jayB7cH0gYXQgKDAsMzQpIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyOXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDMyOTogIlRoaXMgaXMgZmlyc3QgY2FyZCwgd2hpY2ggd29uJ3Qgc2hhZG93IGRlY2st
bGV2ZWwgZG8iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw2OCkgc2l6ZSA3
ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUge2FuY2hvcn0gYXQgKDAsMCkgc2l6ZSAweDAgW2Nv
bG9yPSMwMDAwRUVdCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw2OCkgc2l6ZSA3ODR4MTgK
LSAgICAgICAgUmVuZGVyQmxvY2sge2dvfSBhdCAoMCwwKSBzaXplIDc4NHgxOCBbY29sb3I9IzAw
MDBFRV0KLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3OXgxOAot
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzk6ICJHbyB0byBjYXJkIDIiCi0g
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw4Nikgc2l6ZSA3ODR4MAotICAgICAg
ICBSZW5kZXJJbmxpbmUge2FuY2hvcn0gYXQgKDAsMCkgc2l6ZSAweDAgW2NvbG9yPSMwMDAwRUVd
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLXRlbXBsYXRlLWV4cGVjdGVkLnBuZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpz
dm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZG8tdGVtcGxhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9kby10ZW1wbGF0ZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3Qvd21sL2RvLXRlbXBsYXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzNCAr
MCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDE3MQotICBSZW5kZXJCbG9j
ayB7d21sfSBhdCAoMCwwKSBzaXplIDgwMHgxNzEKLSAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwwKSBzaXplIDgwMHgxOQotICAgICAgUmVuZGVySW5saW5lIHt0ZW1wbGF0ZX0gYXQg
KDAsMCkgc2l6ZSA4M3gxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgICAgUmVuZGVyQnV0dG9uIHtkb30gYXQgKDAsMSkgc2l6ZSA4M3gxOCBbYmdj
b2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKSBub25lICgycHggb3V0
c2V0ICNDMEMwQzApXQotICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDIp
IHNpemUgNjd4MTMKLSAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDAp
IHNpemUgNjd4MTMKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDY3eDEz
Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjc6ICJUZW1wbGF0ZSBk
byIKLSAgICAgICAgICAgIFJlbmRlckJsb2NrIHtnb30gYXQgKDAsMTMpIHNpemUgNjd4MAotICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAo
OCwzNSkgc2l6ZSA3ODR4MTIwCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3
ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjU0eDE4Ci0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjU0OiAiVGVzdCBmb3IgZG8gZWxlbWVu
dCBpbiB0ZW1wbGF0ZSBpbiBXTUwiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMzQpIHNp
emUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDUyMngx
OAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDUyMjogIldoaWNoZXZlciBjYXJk
IHlvdSBlbnRlcmVkLCB5b3UgY2FuIHNlZSB0aGUgdGVtcGxhdGUgZG8gYnV0dG9uIGJlY2F1c2Ug
aXQncyBnbG9iYWwiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsNjgpIHNpemUgNzg0eDE4
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEyNHgxOAotICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEyNDogIlRoaXMgaXMgdGhlIGZpcnN0IGNhcmQi
Ci0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMTAyKSBzaXplIDc4NHgxOAotICAgICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgwCi0gICAgICAgICAgUmVu
ZGVySW5saW5lIHthbmNob3J9IGF0ICgwLDApIHNpemUgMHgwIFtjb2xvcj0jMDAwMEVFXQotICAg
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgwCi0gICAgICAg
ICAgUmVuZGVyQmxvY2sge2dvfSBhdCAoMCwwKSBzaXplIDc4NHgwIFtjb2xvcj0jMDAwMEVFXQot
ICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgxOAotICAg
ICAgICAgIFJlbmRlcklubGluZSB7YW5jaG9yfSBhdCAoMCwwKSBzaXplIDc1eDE4IFtjb2xvcj0j
MDAwMEVFXQotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzV4
MTgKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzU6ICJHbyB0byBjYXJk
MiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lbnRpdHktZXhwZWN0
ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5
IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lbnRpdHktZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lbnRpdHktZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3dtbC9lbnRpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICswLDAgQEAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjI2Ci0gIFJlbmRlckJsb2NrIHt3bWx9
IGF0ICgwLDApIHNpemUgODAweDIyNgotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwxNikg
c2l6ZSA3ODR4MTk0Ci0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgK
LSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTkzeDE4Ci0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTkzOiAiVGVzdCBmb3IgRW50aXRpZXMgaW4gV01M
IHBhZ2UiCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNCkgc2l6ZSA3ODR4
MTI2Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIyeDE4Ci0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE6ICJcIiAiCi0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDExLDApIHdpZHRoIDExOiAiXCIgIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgy
MiwwKSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE4KSBzaXpl
IDMyeDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDE2OiAiJiAiCi0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDE2LDE4KSB3aWR0aCAxNjogIiYgIgotICAgICAgICBSZW5kZXJC
UiB7YnJ9IGF0ICgzMiwxOCkgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwzNikgc2l6ZSAxNHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCA3
OiAiJyAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDcsMzYpIHdpZHRoIDc6ICInICIKLSAgICAg
ICAgUmVuZGVyQlIge2JyfSBhdCAoMTQsMzYpIHNpemUgMHgxOAotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsNTQpIHNpemUgMjZ4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1
NCkgd2lkdGggMTM6ICI8ICIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMsNTQpIHdpZHRoIDEz
OiAiPCAiCi0gICAgICAgIFJlbmRlckJSIHticn0gYXQgKDI2LDU0KSBzaXplIDB4MTgKLSAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDcyKSBzaXplIDI2eDE4Ci0gICAgICAgICAgdGV4
dCBydW4gYXQgKDAsNzIpIHdpZHRoIDEzOiAiPiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDEz
LDcyKSB3aWR0aCAxMzogIj4gIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgyNiw3Mikgc2l6
ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw5MCkgc2l6ZSAzOXgxOAot
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDkwKSB3aWR0aCAzOTogIj0gPSA9ICIKLSAgICAgICAg
UmVuZGVyQlIge2JyfSBhdCAoMzksOTApIHNpemUgMHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMTA4KSBzaXplIDc2eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTA4
KSB3aWR0aCAyNDogIkFBIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgyNCwxMDgpIHdpZHRoIDI0
OiAiQUEiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDQ4LDEwOCkgd2lkdGggMjg6ICJBQSAiCi0g
ICAgICAgIFJlbmRlckJSIHticn0gYXQgKDc2LDEwOCkgc2l6ZSAweDE4Ci0gICAgICBSZW5kZXJC
bG9jayB7cH0gYXQgKDAsMTc2KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSA0OXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDQ5OiAiPGhlbGxvPiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9l
cnItZXZlbnQtYmluZGluZy1jb25mbGljdC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3Qg
ZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFw
cGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3Qvd21sL2Vyci1ldmVudC1iaW5kaW5nLWNvbmZsaWN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWV2ZW50LWJpbmRpbmct
Y29uZmxpY3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L3dtbC9lcnItZXZlbnQtYmluZGluZy1jb25mbGljdC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMzAgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHgxNjYKLSAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDE2
NgotICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgxMzQKLSAgICAgIFJl
bmRlckJsb2NrIHtwYXJzZXJlcnJvcn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBbYmdjb2xvcj0j
RkZEREREXSBbYm9yZGVyOiAoMnB4IHNvbGlkICNDQzc3NzcpXQotICAgICAgICBSZW5kZXJCbG9j
ayB7aDN9IGF0ICgxOCwyMCkgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAzMjR4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDMyNDogIlRoaXMgcGFnZSBjb250YWlucyB0aGUgZm9sbG93aW5nIGVycm9yczoiCi0gICAg
ICAgIFJlbmRlckJsb2NrIHtkaXZ9IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4MTQKLSAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1MjV4MTQKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDUyNTogImVycm9yIG9uIGxpbmUgOSBhdCBjb2x1bW4gNjE6IENv
bmZsaWN0aW5nIGV2ZW50IGJpbmRpbmdzIHdpdGhpbiBhbiBlbGVtZW50LiIKLSAgICAgICAgUmVu
ZGVyQmxvY2sge2gzfSBhdCAoMTgsOTIpIHNpemUgNzE2eDIyCi0gICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDI5eDIyCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA0Mjk6ICJCZWxvdyBpcyBhIHJlbmRlcmluZyBvZiB0aGUgcGFnZSB1cCB0byB0
aGUgZmlyc3QgZXJyb3IuIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUw
KSBzaXplIDc4NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4
MAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgwCi0gICAgICAgIFJl
bmRlckJsb2NrIHtjYXJkfSBhdCAoOCwwKSBzaXplIDc2OHgwCi0gICAgICAgICAgUmVuZGVySW5s
aW5lIHtvbmV2ZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge3JlZnJl
c2h9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgICAgICBSZW5kZXJJbmxpbmUge29uZXZlbnR9IGF0ICgwLDApIHNpemUgMHgw
Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgICAgIFJlbmRlcklubGluZSB7cHJldn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE1MCkgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJ
bmxpbmUge3dtbH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3dtbC9lcnItaW52YWxpZC1sb2NhdGlvbi1mb3ItdmFycmVmLWV4cGVjdGVkLnBu
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBl
Lgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWludmFsaWQtbG9jYXRpb24tZm9yLXZhcnJl
Zi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3Qvd21sL2Vyci1pbnZhbGlkLWxvY2F0aW9uLWZvci12YXJyZWYtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItaW52
YWxpZC1sb2NhdGlvbi1mb3ItdmFycmVmLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwzMyArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDI2MQotICBSZW5k
ZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjYxCi0gICAgUmVuZGVyQm9keSB7Ym9k
eX0gYXQgKDgsMTYpIHNpemUgNzg0eDIzNwotICAgICAgUmVuZGVyQmxvY2sge3BhcnNlcmVycm9y
fSBhdCAoMTYsMCkgc2l6ZSA3NTJ4MTM0IFtiZ2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHgg
c29saWQgI0NDNzc3NyldCi0gICAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQgKDE4LDIwKSBzaXpl
IDcxNngyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyNHgy
MgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzI0OiAiVGhpcyBwYWdlIGNv
bnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2Rpdn0g
YXQgKDE4LDYwKSBzaXplIDcxNngxNAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDU4OHgxNAotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTg4
OiAiZXJyb3Igb24gbGluZSA5IGF0IGNvbHVtbiA0NjogQSB2YXJpYWJsZSByZWZlcmVuY2UgaXMg
cGxhY2VkIGluIGFuIGludmFsaWQgbG9jYXRpb24uIgotICAgICAgICBSZW5kZXJCbG9jayB7aDN9
IGF0ICgxOCw5Mikgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA0Mjl4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQy
OTogIkJlbG93IGlzIGEgcmVuZGVyaW5nIG9mIHRoZSBwYWdlIHVwIHRvIHRoZSBmaXJzdCBlcnJv
ci4iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDAK
LSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9jayAo
YW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDg3Ci0gICAgICAgIFJlbmRlckJsb2NrIHtj
YXJkfSBhdCAoOCwwKSBzaXplIDc2OHg4NwotICAgICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAo
MCwwKSBzaXplIDc2OHgxOAotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMjMxeDE4Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIzMTog
IlRlc3QgZm9yIHZhcmlhYmxlIHJlZmVyZW5jZSB2YWxpZGF0aW9uIgotICAgICAgICAgIFJlbmRl
ckJsb2NrIHtwfSBhdCAoMCwzNCkgc2l6ZSA3Njh4MTgKLSAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDY0NXgxOAotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA2NDU6ICJBbiBlcnJvciB3aWxsIG9jY3VyIHdoZW4gbG9hZGluZyB0aGUgY2Fy
ZCBiZWNhdXNlIHRoZSB2YXJpYWJsZSByZWZlcmVuY2UgaXMgcGxhY2VkIGluIGEgaW52YWxpZCBs
b2NhdGlvbiIKLSAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw2OCkgc2l6
ZSA3Njh4MTkKLSAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7ZG99IGF0ICgwLDEpIHNpemUgNTR4
MTggW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCkgbm9uZSAo
MnB4IG91dHNldCAjQzBDMEMwKV0KLSAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDgsMikgc2l6ZSAzOHgxMwotICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAs
MCkgc2l6ZSAzOHgxMwotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
Mzg6ICJyZWZyZXNoIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMjQ1KSBz
aXplIDc4NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLXRhYmxl
Y29sdW1uLW51bWJlci1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmls
ZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29j
dGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1p
bnZhbGlkLXRhYmxlY29sdW1uLW51bWJlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLXRhYmxlY29sdW1uLW51
bWJlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLXRhYmxlY29sdW1uLW51bWJlci1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjkgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHgyNDIKLSAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDI0
MgotICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgyMTgKLSAgICAgIFJl
bmRlckJsb2NrIHtwYXJzZXJlcnJvcn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBbYmdjb2xvcj0j
RkZEREREXSBbYm9yZGVyOiAoMnB4IHNvbGlkICNDQzc3NzcpXQotICAgICAgICBSZW5kZXJCbG9j
ayB7aDN9IGF0ICgxOCwyMCkgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAzMjR4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDMyNDogIlRoaXMgcGFnZSBjb250YWlucyB0aGUgZm9sbG93aW5nIGVycm9yczoiCi0gICAg
ICAgIFJlbmRlckJsb2NrIHtkaXZ9IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4MTQKLSAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1MzJ4MTQKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDUzMjogImVycm9yIG9uIGxpbmUgOSBhdCBjb2x1bW4gNDc6IEEg
dGFibGUgY29udGFpbnMgYW4gaW52YWxpZCBudW1iZXIgb2YgY29sdW1ucy4iCi0gICAgICAgIFJl
bmRlckJsb2NrIHtoM30gYXQgKDE4LDkyKSBzaXplIDcxNngyMgotICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQyOXgyMgotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggNDI5OiAiQmVsb3cgaXMgYSByZW5kZXJpbmcgb2YgdGhlIHBhZ2UgdXAgdG8g
dGhlIGZpcnN0IGVycm9yLiIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE1
MCkgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUge3dtbH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE1MCkgc2l6ZSA3ODR4NjgKLSAgICAgICAg
UmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDApIHNpemUgNzY4eDY4Ci0gICAgICAgICAgUmVuZGVy
QmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzY4eDE4Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAyNTJ4MTgKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMjUyOiAiVGVzdCBmb3IgdGFibGUgY29sdW1uIG51bWJlciB2YWxpZGF0aW9uIgot
ICAgICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwzNCkgc2l6ZSA3Njh4MTgKLSAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDUzOHgxOAotICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1Mzg6ICJUaGUgdGFibGUgd29uJ3QgYmUgZGlzcGxh
eWVkIGJlY2F1c2Ugb2YgdGhlIGludmFsaWQgY29sdW1ucyBhdHRydWlidGUgb2YgdGFibGUgZWxl
bWVudCIKLSAgICAgICAgICBSZW5kZXJUYWJsZSB7dGFibGV9IGF0ICgwLDY4KSBzaXplIDR4MAot
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMjI2KSBzaXplIDc4NHgwCi0gICAg
ICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLXZhcmlhYmxlLW5hbWUtZXhwZWN0
ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5
IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItaW52YWxpZC12YXJpYWJsZS1uYW1l
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC93bWwvZXJyLWludmFsaWQtdmFyaWFibGUtbmFtZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1
MjQyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLXZh
cmlhYmxlLW5hbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMzICswLDAgQEAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjI3Ci0gIFJlbmRlckJsb2NrIHtodG1s
fSBhdCAoMCwwKSBzaXplIDgwMHgyMjcKLSAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwxNikg
c2l6ZSA3ODR4MjAzCi0gICAgICBSZW5kZXJCbG9jayB7cGFyc2VyZXJyb3J9IGF0ICgxNiwwKSBz
aXplIDc1MngxMzQgW2JnY29sb3I9I0ZGRERERF0gW2JvcmRlcjogKDJweCBzb2xpZCAjQ0M3Nzc3
KV0KLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsMjApIHNpemUgNzE2eDIyCi0gICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzI0eDIyCi0gICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjQ6ICJUaGlzIHBhZ2UgY29udGFpbnMgdGhlIGZv
bGxvd2luZyBlcnJvcnM6IgotICAgICAgICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoMTgsNjApIHNp
emUgNzE2eDE0Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTI1
eDE0Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1MjU6ICJlcnJvciBvbiBs
aW5lIDEwIGF0IGNvbHVtbiA2ODogQSB2YXJpYWJsZSBuYW1lIGNvbnRhaW5zIGludmFsaWQgY2hh
cmFjdGVycy4iCi0gICAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQgKDE4LDkyKSBzaXplIDcxNngy
MgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQyOXgyMgotICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDI5OiAiQmVsb3cgaXMgYSByZW5kZXJp
bmcgb2YgdGhlIHBhZ2UgdXAgdG8gdGhlIGZpcnN0IGVycm9yLiIKLSAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgwLDE1MCkgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUg
e3dtbH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE1MCkg
c2l6ZSA3ODR4NTMKLSAgICAgICAgUmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDApIHNpemUgNzY4
eDUzCi0gICAgICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzY4eDE4Ci0gICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMDd4MTgKLSAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjA3OiAiVGVzdCBmb3IgdmFyaWFibGUgbmFt
ZSB2YWxpZGF0aW9uIgotICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM0
KSBzaXplIDc2OHgxOQotICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtkb30gYXQgKDAsMSkgc2l6
ZSA1NHgxOCBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKSBu
b25lICgycHggb3V0c2V0ICNDMEMwQzApXQotICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoOCwyKSBzaXplIDM4eDEzCi0gICAgICAgICAgICAgICAgUmVuZGVySW5saW5l
IHtyZWZyZXNofSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgICAgICAgICBSZW5kZXJJbmxp
bmUge3NldHZhcn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0
IGF0ICgwLDApIHNpemUgMzh4MTMKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDM4OiAicmVmcmVzaCIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgw
LDIxMSkgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUge3dtbH0gYXQgKDAsMCkgc2l6
ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGkt
YWNjZXNzLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtl
ZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3Ry
ZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLW11bHRpLWFj
Y2Vzcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3Qvd21sL2Vyci1tdWx0aS1hY2Nlc3MtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGktYWNjZXNzLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxOCArMCwwIEBACi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVy
IGF0ICgwLDApIHNpemUgODAweDE2NgotICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6
ZSA4MDB4MTY2Ci0gICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTYpIHNpemUgNzg0eDEzNAot
ICAgICAgUmVuZGVyQmxvY2sge3BhcnNlcmVycm9yfSBhdCAoMTYsMCkgc2l6ZSA3NTJ4MTM0IFti
Z2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHggc29saWQgI0NDNzc3NyldCi0gICAgICAgIFJl
bmRlckJsb2NrIHtoM30gYXQgKDE4LDIwKSBzaXplIDcxNngyMgotICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyNHgyMgotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMzI0OiAiVGhpcyBwYWdlIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3Jz
OiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2Rpdn0gYXQgKDE4LDYwKSBzaXplIDcxNngxNAotICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDUyNXgxNAotICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTI1OiAiZXJyb3Igb24gbGluZSA2IGF0IGNvbHVt
biA1MjogT25seSBvbmUgYWNjZXNzIGVsZW1lbnQgaXMgYWxsb3dlZCBpbiBhIGRlY2suIgotICAg
ICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCw5Mikgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0Mjl4MjIKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDQyOTogIkJlbG93IGlzIGEgcmVuZGVyaW5nIG9mIHRoZSBwYWdl
IHVwIHRvIHRoZSBmaXJzdCBlcnJvci4iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMCwxNTApIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLW11bHRpLWh0dHAt
ZXF1aXYtaW4tbWV0YS1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmls
ZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29j
dGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1t
dWx0aS1odHRwLWVxdWl2LWluLW1ldGEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItbXVsdGktaHR0cC1lcXVpdi1pbi1tZXRh
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC93bWwvZXJyLW11bHRpLWh0dHAtZXF1aXYtaW4tbWV0YS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTkgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
Ci0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXpl
IDgwMHgxNjYKLSAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDE2NgotICAg
IFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgxMzQKLSAgICAgIFJlbmRlckJs
b2NrIHtwYXJzZXJlcnJvcn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBbYmdjb2xvcj0jRkZERERE
XSBbYm9yZGVyOiAoMnB4IHNvbGlkICNDQzc3NzcpXQotICAgICAgICBSZW5kZXJCbG9jayB7aDN9
IGF0ICgxOCwyMCkgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAzMjR4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMy
NDogIlRoaXMgcGFnZSBjb250YWlucyB0aGUgZm9sbG93aW5nIGVycm9yczoiCi0gICAgICAgIFJl
bmRlckJsb2NrIHtkaXZ9IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4MTQKLSAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0MjB4MTQKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDQyMDogImVycm9yIG9uIGxpbmUgNSBhdCBjb2x1bW4gNDc6IEF0dHJpYnV0
ZSBodHRwLWVxdWl2IHJlZGVmaW5lZCIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0MjAsMCkg
d2lkdGggMDogIiAiCi0gICAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQgKDE4LDkyKSBzaXplIDcx
NngyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQyOXgyMgot
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDI5OiAiQmVsb3cgaXMgYSByZW5k
ZXJpbmcgb2YgdGhlIHBhZ2UgdXAgdG8gdGhlIGZpcnN0IGVycm9yLiIKLSAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICgwLDE1MCkgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxp
bmUge3dtbH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dt
bC9lcnItbXVsdGktbmFtZS1pbi1tZXRhLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBk
aXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBw
bGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC93bWwvZXJyLW11bHRpLW5hbWUtaW4tbWV0YS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS1uYW1lLWluLW1ldGEt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3dtbC9lcnItbXVsdGktbmFtZS1pbi1tZXRhLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwxOSArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDE2
NgotICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTY2Ci0gICAgUmVuZGVy
Qm9keSB7Ym9keX0gYXQgKDgsMTYpIHNpemUgNzg0eDEzNAotICAgICAgUmVuZGVyQmxvY2sge3Bh
cnNlcmVycm9yfSBhdCAoMTYsMCkgc2l6ZSA3NTJ4MTM0IFtiZ2NvbG9yPSNGRkRERERdIFtib3Jk
ZXI6ICgycHggc29saWQgI0NDNzc3NyldCi0gICAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQgKDE4
LDIwKSBzaXplIDcxNngyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDMyNHgyMgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzI0OiAiVGhp
cyBwYWdlIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiIKLSAgICAgICAgUmVuZGVyQmxv
Y2sge2Rpdn0gYXQgKDE4LDYwKSBzaXplIDcxNngxNAotICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDM3OHgxNAotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMzc4OiAiZXJyb3Igb24gbGluZSA1IGF0IGNvbHVtbiAzNTogQXR0cmlidXRlIG5hbWUg
cmVkZWZpbmVkIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM3OCwwKSB3aWR0aCAwOiAiICIK
LSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsOTIpIHNpemUgNzE2eDIyCi0gICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDI5eDIyCi0gICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0Mjk6ICJCZWxvdyBpcyBhIHJlbmRlcmluZyBvZiB0aGUg
cGFnZSB1cCB0byB0aGUgZmlyc3QgZXJyb3IuIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDAsMTUwKSBzaXplIDc4NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS10
aW1lci1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQg
YXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVh
bQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS10aW1l
ci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3Qvd21sL2Vyci1tdWx0aS10aW1lci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1tdWx0aS10aW1lci1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjUgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAo
MCwwKSBzaXplIDgwMHgxNjYKLSAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAw
eDE2NgotICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgxMzQKLSAgICAg
IFJlbmRlckJsb2NrIHtwYXJzZXJlcnJvcn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBbYmdjb2xv
cj0jRkZEREREXSBbYm9yZGVyOiAoMnB4IHNvbGlkICNDQzc3NzcpXQotICAgICAgICBSZW5kZXJC
bG9jayB7aDN9IGF0ICgxOCwyMCkgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjR4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDMyNDogIlRoaXMgcGFnZSBjb250YWlucyB0aGUgZm9sbG93aW5nIGVycm9yczoiCi0g
ICAgICAgIFJlbmRlckJsb2NrIHtkaXZ9IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4MTQKLSAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1MTh4MTQKLSAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDUxODogImVycm9yIG9uIGxpbmUgNiBhdCBjb2x1bW4gNjU6
IE9ubHkgb25lIHRpbWVyIGVsZW1lbnQgaXMgYWxsb3dlZCBpbiBhIGNhcmQuIgotICAgICAgICBS
ZW5kZXJCbG9jayB7aDN9IGF0ICgxOCw5Mikgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0Mjl4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDQyOTogIkJlbG93IGlzIGEgcmVuZGVyaW5nIG9mIHRoZSBwYWdlIHVwIHRv
IHRoZSBmaXJzdCBlcnJvci4iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwx
NTApIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDAKLSAgICAgICAg
UmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDApIHNpemUgNzY4eDAKLSAgICAgICAgICBSZW5kZXJJ
bmxpbmUge3RpbWVyfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlcklubGluZSB7dGltZXJ9IGF0
ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTAp
IHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgw
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLXNhbWVuYW1lLWRv
LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBh
IGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLXNhbWVuYW1lLWRvLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93
bWwvZXJyLXNhbWVuYW1lLWRvLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLXNhbWVuYW1lLWRvLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSwyOSArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDE5MwotICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTkz
Ci0gICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTYpIHNpemUgNzg0eDE2OQotICAgICAgUmVu
ZGVyQmxvY2sge3BhcnNlcmVycm9yfSBhdCAoMTYsMCkgc2l6ZSA3NTJ4MTM0IFtiZ2NvbG9yPSNG
RkRERERdIFtib3JkZXI6ICgycHggc29saWQgI0NDNzc3NyldCi0gICAgICAgIFJlbmRlckJsb2Nr
IHtoM30gYXQgKDE4LDIwKSBzaXplIDcxNngyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDMyNHgyMgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggMzI0OiAiVGhpcyBwYWdlIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiIKLSAgICAg
ICAgUmVuZGVyQmxvY2sge2Rpdn0gYXQgKDE4LDYwKSBzaXplIDcxNngxNAotICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDYzMHgxNAotICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggNjMwOiAiZXJyb3Igb24gbGluZSA4IGF0IGNvbHVtbiA1NTogQXQg
bGVhc3QgdHdvIGRvIGVsZW1lbnRzIHNoYXJlIGEgbmFtZSwgd2hpY2ggaXMgbm90IGFsbG93ZWQu
IgotICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCw5Mikgc2l6ZSA3MTZ4MjIKLSAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0Mjl4MjIKLSAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQyOTogIkJlbG93IGlzIGEgcmVuZGVyaW5nIG9mIHRo
ZSBwYWdlIHVwIHRvIHRoZSBmaXJzdCBlcnJvci4iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0
ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0
eDE5Ci0gICAgICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwwKSBzaXplIDc2OHgxOQotICAg
ICAgICAgIFJlbmRlckJ1dHRvbiB7ZG99IGF0ICgwLDEpIHNpemUgMzB4MTggW2JnY29sb3I9I0Mw
QzBDMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCkgbm9uZSAoMnB4IG91dHNldCAjQzBD
MEMwKV0KLSAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDIpIHNpemUg
MTR4MTMKLSAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtyZWZyZXNofSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDE0eDEzCi0gICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTQ6ICJkbyIKLSAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICgwLDE3Nykgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUge3dtbH0gYXQg
KDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9l
cnItdW5hbGxvd2VkLXRhc2staW4tYW5jaG9yLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5v
dCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0g
YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvZXJyLXVuYWxsb3dlZC10YXNrLWluLWFuY2hvci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci11bmFsbG93ZWQt
dGFzay1pbi1hbmNob3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItdW5hbGxvd2VkLXRhc2staW4tYW5jaG9yLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyNSArMCwwIEBACi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVy
IGF0ICgwLDApIHNpemUgODAweDE2NgotICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6
ZSA4MDB4MTY2Ci0gICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTYpIHNpemUgNzg0eDEzNAot
ICAgICAgUmVuZGVyQmxvY2sge3BhcnNlcmVycm9yfSBhdCAoMTYsMCkgc2l6ZSA3NTJ4MTM0IFti
Z2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHggc29saWQgI0NDNzc3NyldCi0gICAgICAgIFJl
bmRlckJsb2NrIHtoM30gYXQgKDE4LDIwKSBzaXplIDcxNngyMgotICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyNHgyMgotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMzI0OiAiVGhpcyBwYWdlIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3Jz
OiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2Rpdn0gYXQgKDE4LDYwKSBzaXplIDcxNngxNAotICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDUxMXgxNAotICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTExOiAiZXJyb3Igb24gbGluZSA2IGF0IGNvbHVt
biAyODogRm9yYmlkZGVuIHRhc2sgY29udGFpbmVkIGluIGFuY2hvciBlbGVtZW50LiIKLSAgICAg
ICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsOTIpIHNpemUgNzE2eDIyCi0gICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDI5eDIyCi0gICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA0Mjk6ICJCZWxvdyBpcyBhIHJlbmRlcmluZyBvZiB0aGUgcGFnZSB1
cCB0byB0aGUgZmlyc3QgZXJyb3IuIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDAsMTUwKSBzaXplIDc4NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgwCi0gICAg
ICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwwKSBzaXplIDc2OHgwCi0gICAgICAgICAgUmVu
ZGVySW5saW5lIHthbmNob3J9IGF0ICgwLDApIHNpemUgMHgwIFtjb2xvcj0jMDAwMEVFXQotICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAg
ICBSZW5kZXJJbmxpbmUge25vb3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5l
IHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvZmllbGRzZXQtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6
IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlv
bi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9m
aWVsZHNldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvd21sL2ZpZWxkc2V0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUyNDIpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvZmllbGRzZXQtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDE2ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4MTAzCi0gIFJlbmRlckJsb2NrIHt3bWx9IGF0ICgwLDApIHNpemUgODAweDEwMwotICAg
IFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwxNikgc2l6ZSA3ODR4NzEKLSAgICAgIFJlbmRlckJs
b2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHg3MQotICAgICAgICBSZW5kZXJGaWVsZFNldCB7Zmll
bGRzZXR9IGF0ICgyLDApIHNpemUgNzgweDcxIFtib3JkZXI6ICgycHggZ3Jvb3ZlICNDMEMwQzAp
XQotICAgICAgICAgIFJlbmRlckJsb2NrIHtpbnNlcnRlZExlZ2VuZH0gYXQgKDE0LDApIHNpemUg
NDJ4MTgKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwwKSBzaXplIDM4eDE4
Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDApIHdpZHRoIDM4OiAiTmFtZSIKLSAgICAg
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMTQsMjMpIHNpemUgNzUyeDM2Ci0gICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NHgxOAotICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3NDogIkZpcnN0IG5hbWU6ICIKLSAgICAgICAg
ICAgIFJlbmRlckJSIHticn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSA2OXgxOAotICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwxOCkgd2lkdGggNjk6ICJMYXN0IG5hbWU6IgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL2h0bWwtZmllbGRzZXQtY3Jhc2gtZXhwZWN0ZWQucG5nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1l
LXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3dtbC9odG1sLWZpZWxkc2V0LWNyYXNoLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvaHRtbC1maWVsZHNldC1j
cmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL2h0bWwtZmllbGRzZXQtY3Jhc2gtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDEwICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NTMKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDUzCi0gICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MzcKLSAgICAgIFJlbmRlckZpZWxkU2V0IHtG
SUVMRFNFVH0gYXQgKDIsMCkgc2l6ZSA3ODB4MzcgW2JvcmRlcjogKDJweCBncm9vdmUgI0MwQzBD
MCldCi0gICAgICAgIFJlbmRlckJsb2NrIHtMQUJFTH0gYXQgKDE0LDcpIHNpemUgNzUyeDAKLSAg
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDE0LDcpIHNpemUgNzUyeDE4Ci0gICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgN3gxOAotICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzogImEiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC93bWwvaW1nLWxvY2Fsc3JjLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5v
dCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0g
YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvaW1nLWxvY2Fsc3JjLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW1nLWxvY2Fsc3JjLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW1nLWxv
Y2Fsc3JjLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyNiArMCwwIEBACi1sYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDI5MgotICBSZW5kZXJCbG9jayB7d21sfSBhdCAo
MCwwKSBzaXplIDgwMHgyOTIKLSAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMTYpIHNpemUg
Nzg0eDI2MAotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4Ci0gICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE4OXgxOAotICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDE4OTogIlRlc3QgZm9yIGltZyBlbGVtZW50IGluIFdNTCIK
LSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwzNCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzY5eDE4Ci0gICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMzY5OiAiVGhpcyBpbWFnZSBpcyBzcGVjaWZpZWQgYnkgbG9jYWxzcmMg
YXR0cmlidXRlIG9mIGltZyBlbGVtZW50IgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDAsNjgpIHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDU5eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTk6ICJ0ZXN0
IGNvZGU6IgotICAgICAgICBSZW5kZXJUZXh0IHsjY2RhdGEtc2VjdGlvbn0gYXQgKDU5LDApIHNp
emUgNTkyeDM2Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDU5LDApIHdpZHRoIDQ6ICIgIgotICAg
ICAgICAgIHRleHQgcnVuIGF0ICg2MywwKSB3aWR0aCA1Mjk6ICI8cD5Mb2NhbDxpbWcgaGVpZ2h0
PVwiNjBcIiB3aWR0aD1cIjQwXCIgdnNwYWNlPVwiNDBcIiBoc3BhY2U9XCI2MFwiIGFsaWduPVwi
bWlkZGxlXCIiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDM1MDogImxvY2Fs
c3JjPVwicmVzb3VyY2VzL3Bhc3MucG5nXCIgYWx0PVwic21pbGVcIi8+SW1hZ2U8L3A+ICIKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRl
ckJSIHticn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwx
MjApIHNpemUgNzg0eDE0MAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNTYpIHNp
emUgMzZ4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1Nikgd2lkdGggMzY6ICJMb2NhbCIK
LSAgICAgICAgUmVuZGVySW1hZ2Uge2ltZ30gYXQgKDk2LDQwKSBzaXplIDQweDYwCi0gICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTk2LDU2KSBzaXplIDM5eDE4Ci0gICAgICAgICAgdGV4
dCBydW4gYXQgKDE5Niw1Nikgd2lkdGggMzk6ICJJbWFnZSIKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L3dtbC9pbWctc3JjLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5v
dCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0g
YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvaW1nLXNyYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2ltZy1zcmMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0
MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9pbWctc3JjLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyNiArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgw
LDApIHNpemUgODAweDI5MgotICBSZW5kZXJCbG9jayB7d21sfSBhdCAoMCwwKSBzaXplIDgwMHgy
OTIKLSAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMTYpIHNpemUgNzg0eDI2MAotICAgICAg
UmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE4OXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDE4OTogIlRlc3QgZm9yIGltZyBlbGVtZW50IGluIFdNTCIKLSAgICAgIFJlbmRlckJs
b2NrIHtwfSBhdCAoMCwzNCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMzM5eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
MzM5OiAiVGhpcyBpbWFnZSBpcyBzcGVjaWZpZWQgYnkgc3JjIGF0dHJpYnV0ZSBvZiBpbWcgZWxl
bWVudCIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDY4KSBzaXplIDc4NHgz
NgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1OXgxOAotICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU5OiAidGVzdCBjb2RlOiIKLSAgICAgICAgUmVu
ZGVyVGV4dCB7I2NkYXRhLXNlY3Rpb259IGF0ICg1OSwwKSBzaXplIDc3OXgzNgotICAgICAgICAg
IHRleHQgcnVuIGF0ICg1OSwwKSB3aWR0aCA0OiAiICIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NjMsMCkgd2lkdGggNzE2OiAiPHA+TmV0d29yayA8aW1nIGhlaWdodD1cIjYwXCIgd2lkdGg9XCI0
MFwiIHZzcGFjZT1cIjQwXCIgaHNwYWNlPVwiNjBcIiBhbGlnbj1cIm1pZGRsZVwiIHNyYz1cInJl
c291cmNlcy9wYXNzLnBuZ1wiIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAx
NTc6ICJhbHQ9XCJzbWlsZVwiLz5JbWFnZTwvcD4gIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDEyMCkgc2l6ZSA3ODR4MTQwCi0gICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1Nikgc2l6ZSA2MHgxOAotICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDU2KSB3aWR0aCA2MDogIk5ldHdvcmsgIgotICAgICAgICBSZW5kZXJJbWFn
ZSB7aW1nfSBhdCAoMTIwLDQwKSBzaXplIDQweDYwCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMjIwLDU2KSBzaXplIDM5eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDIyMCw1Nikg
d2lkdGggMzk6ICJJbWFnZSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dt
bC9pbWctc3JjLWxvY2Fsc3JjLWFsdC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlz
cGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL2ltZy1zcmMtbG9jYWxzcmMtYWx0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW1nLXNyYy1sb2NhbHNyYy1hbHQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3dtbC9pbWctc3JjLWxvY2Fsc3JjLWFsdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsMzggKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgzODYKLSAgUmVu
ZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mzg2Ci0gICAgUmVuZGVyQmxvY2sge2Nh
cmR9IGF0ICg4LDE2KSBzaXplIDc4NHgzNTQKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCww
KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
ODl4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODk6ICJUZXN0IGZvciBp
bWcgZWxlbWVudCBpbiBXTUwiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMzQpIHNpemUg
Nzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ4N3gxOAot
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ4NzogIlRoaXMgaW1hZ2UgY2FuIGJl
IHNwZWNpZmllZCBieSBib3RoIHNyYyBhbmQgbG9jYWxzcmMgYXR0cmlidXRlcyBvZiBpbWcgZWxl
bWVudCIKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCw2OCkgc2l6ZSA3ODR4Mjg2Ci0gICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI4OXgxOAotICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDI4OTogIjEpIGxvY2Fsc3JjIHRha2VzIHByZWNlZGVuY2Ug
b3ZlciBzcmMgYXR0cmlidXRlICIKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMjg5LDApIHNp
emUgMHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTA0KSBzaXplIDM5eDE4
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTA0KSB3aWR0aCAzOTogIkltYWdlIgotICAgICAg
ICBSZW5kZXJJbWFnZSB7aW1nfSBhdCAoMzksMTgpIHNpemUgMTAweDEwMAotICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEzOSwxMDQpIHNpemUgNDN4MTgKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTM5LDEwNCkgd2lkdGggNDM6ICJJbWFnZSAiCi0gICAgICAgIFJlbmRlckJSIHticn0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEyMikg
c2l6ZSAyNzd4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMjIpIHdpZHRoIDI3NzogIjIp
IGxvY2Fsc3JjIGNhbid0IGxvY2F0ZSB0aGUgaW1hZ2UsIHNyYyB3b3JrcyAiCi0gICAgICAgIFJl
bmRlckJSIHticn0gYXQgKDI3NywxMjIpIHNpemUgMHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMjI2KSBzaXplIDM5eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjI2
KSB3aWR0aCAzOTogIkltYWdlIgotICAgICAgICBSZW5kZXJJbWFnZSB7aW1nfSBhdCAoMzksMTQw
KSBzaXplIDEwMHgxMDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMzksMjI2KSBz
aXplIDQzeDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDEzOSwyMjYpIHdpZHRoIDQzOiAiSW1h
Z2UgIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyNDQpIHNpemUgMzYxeDE4Ci0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMjQ0KSB3aWR0aCAzNjE6ICIzKSBuZWl0aGVyIGxvY2Fsc3JjIG5vciBzcmMgY2Fu
IGxvY2F0ZSB0aGUgaW1hZ2UsIGFsdCB3b3JrcyAiCi0gICAgICAgIFJlbmRlckJSIHticn0gYXQg
KDM2MSwyNDQpIHNpemUgMHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMjY4
KSBzaXplIDM5eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjY4KSB3aWR0aCAzOTogIklt
YWdlIgotICAgICAgICBSZW5kZXJJbWFnZSB7aW1nfSBhdCAoMzksMjYyKSBzaXplIDM5eDIwCi0g
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzgsMjY4KSBzaXplIDM5eDE4Ci0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDc4LDI2OCkgd2lkdGggMzk6ICJJbWFnZSIKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9pbnB1dC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpD
YW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlw
ZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvd21sL2lucHV0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvaW5wdXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0
MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9pbnB1dC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjIgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHg4MQotICBSZW5kZXJCbG9jayB7d21sfSBhdCAoMCwwKSBzaXplIDgwMHg4MQot
ICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwxNikgc2l6ZSA3ODR4NTcKLSAgICAgIFJlbmRl
ckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSA0MzB4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA0MzA6ICJWZXJ5IHNpbXBsZSB0ZXN0LCBjaGVja2luZyB0aGF0IGlucHV0IGVsZW1lbnRzIGFy
ZSByZW5kZXJlZCBjb3JyZWN0bHkiCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAo
MCwzNCkgc2l6ZSA3ODR4MjMKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge2lucHV0fSBhdCAo
MiwyKSBzaXplIDEyOHgxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMw
MDAwMDApXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEzMiwyKSBzaXplIDR4MTgK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMyLDIpIHdpZHRoIDQ6ICIgIgotICAgICAgICBSZW5k
ZXJUZXh0Q29udHJvbCB7aW5wdXR9IGF0ICgxMzgsMikgc2l6ZSAxMjh4MTkgW2JnY29sb3I9I0ZG
RkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KLSAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoMTMsNTUpIHNpemUgMTIyeDEzCi0g
IFJlbmRlckJsb2NrIHtkaXZ9IGF0ICgzLDMpIHNpemUgMTIyeDEzCi0gICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxLDApIHNpemUgMjN4MTMKLSAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRo
IDIzOiAiVGVzdCIKLWxheWVyIGF0ICgxNDksNTUpIHNpemUgMTIyeDEzCi0gIFJlbmRlckJsb2Nr
IHtkaXZ9IGF0ICgzLDMpIHNpemUgMTIyeDEzCi0gICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
LDApIHNpemUgNTB4MTMKLSAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDUwOiAiXHh7MjAy
Mn1ceHsyMDIyfVx4ezIwMjJ9XHh7MjAyMn1ceHsyMDIyfVx4ezIwMjJ9XHh7MjAyMn1ceHsyMDIy
fSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9wLWFsaWduLWV4cGVj
dGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFy
eSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvcC1hbGlnbi1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3AtYWxpZ24tZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3dtbC9wLWFsaWduLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMCww
IEBACi1sYXllciBhdCAoMCwwKSBzaXplIDExNzZ4NTg1Ci0gIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDExNzZ4NDcwCi0gIFJlbmRlckJsb2Nr
IHt3bWx9IGF0ICgwLDApIHNpemUgODAweDQ3MAotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAo
OCwxNikgc2l6ZSA3ODR4NDM4Ci0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3
ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjgweDE4Ci0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjgwOiAiVGVzdCBmb3IgYWxpZ24gYXR0
cmlidXRlIG9mIHAgZWxlbWVudCBpbiBXTUwiCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwzNCkgc2l6ZSA3ODR4MzYKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMCwwKSBz
aXplIDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I2NkYXRhLXNlY3Rpb259IGF0ICgwLDE4KSBz
aXplIDEyMngxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAxMjI6ICI8cCBh
bGlnbj1cImNlbnRlclwiPiIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsODYpIHNpemUgNzg0eDcyCi0gICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAsMCkgc2l6ZSA3NjN4NTQKLSAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTAsMCkgd2lkdGggNzYzOiAiSGVyZSB5b3UgY2FuIGxlYXJuIHZhcmlvdXMg
bW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdBUCAyLjAsIFdNTCwgV01MU2NyaXB0LCBY
SFRNTCBNUCwgV0NTUyAvIFdBUCIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsMTgpIHdpZHRo
IDc1MjogIkNTUywgVUFQcm9mIGFuZCBTTVMgdGhyb3VnaCBvdXIgZnJlZSB0dXRvcmlhbHMsIGFy
dGljbGVzIGFuZCBleGFtcGxlcy4gVGhpcyB3ZWIgc2l0ZSBjYW4gaGVscCB3ZWIgcHJvZ3JhbW1l
cnMgd2hvIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgyMjEsMzYpIHdpZHRoIDM0MTogIndpc2gg
dG8gZXh0ZW5kIHRoZWlyIGtub3dsZWRnZSB0byB0aGUgd2lyZWxlc3Mgd29ybGQuICIKLSAgICAg
ICAgUmVuZGVyQlIge2JyfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsNTQpIHNpemUgMTE2OHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU0
KSB3aWR0aCAxMTY4OiAieHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgiCi0gICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNzQpIHNpemUgNzg0eDM2Ci0gICAgICAgIFJl
bmRlckJSIHticn0gYXQgKDAsMCkgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyNjZGF0
YS1zZWN0aW9ufSBhdCAoMCwxOCkgc2l6ZSAxMTN4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwxOCkgd2lkdGggMTEzOiAiPHAgYWxpZ249XCJyaWdodFwiPiIKLSAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAs
MjI2KSBzaXplIDc4NHg3MgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIxLDApIHNp
emUgNzYzeDU0Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDIxLDApIHdpZHRoIDc2MzogIkhlcmUg
eW91IGNhbiBsZWFybiB2YXJpb3VzIG1vYmlsZSB0ZWNobm9sb2dpZXMgbGlrZSBXQVAgLyBXQVAg
Mi4wLCBXTUwsIFdNTFNjcmlwdCwgWEhUTUwgTVAsIFdDU1MgLyBXQVAiCi0gICAgICAgICAgdGV4
dCBydW4gYXQgKDMyLDE4KSB3aWR0aCA3NTI6ICJDU1MsIFVBUHJvZiBhbmQgU01TIHRocm91Z2gg
b3VyIGZyZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBsZXMuIFRoaXMgd2ViIHNpdGUg
Y2FuIGhlbHAgd2ViIHByb2dyYW1tZXJzIHdobyIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDQz
LDM2KSB3aWR0aCAzNDE6ICJ3aXNoIHRvIGV4dGVuZCB0aGVpciBrbm93bGVkZ2UgdG8gdGhlIHdp
cmVsZXNzIHdvcmxkLiAiCi0gICAgICAgIFJlbmRlckJSIHticn0gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDU0KSBzaXplIDExNjh4MTgKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMTE2ODogInh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4IgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMzE0KSBz
aXplIDc4NHgzNgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgwLDApIHNpemUgMHgxOAotICAg
ICAgICBSZW5kZXJUZXh0IHsjY2RhdGEtc2VjdGlvbn0gYXQgKDAsMTgpIHNpemUgMTA0eDE4Ci0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDEwNDogIjxwIGFsaWduPVwibGVmdFwi
PiIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBS
ZW5kZXJCbG9jayB7cH0gYXQgKDAsMzY2KSBzaXplIDc4NHg3MgotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NjN4NTQKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCA3NjM6ICJIZXJlIHlvdSBjYW4gbGVhcm4gdmFyaW91cyBtb2JpbGUgdGVjaG5vbG9n
aWVzIGxpa2UgV0FQIC8gV0FQIDIuMCwgV01MLCBXTUxTY3JpcHQsIFhIVE1MIE1QLCBXQ1NTIC8g
V0FQIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA3NTI6ICJDU1MsIFVBUHJv
ZiBhbmQgU01TIHRocm91Z2ggb3VyIGZyZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBs
ZXMuIFRoaXMgd2ViIHNpdGUgY2FuIGhlbHAgd2ViIHByb2dyYW1tZXJzIHdobyIKLSAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggMzQxOiAid2lzaCB0byBleHRlbmQgdGhlaXIga25v
d2xlZGdlIHRvIHRoZSB3aXJlbGVzcyB3b3JsZC4gIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0
ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1NCkgc2l6
ZSAxMTY4eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDExNjg6ICJ4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eCIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3dtbC9wLW1vZGUtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3Bs
YXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNh
dGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dt
bC9wLW1vZGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3dtbC9wLW1vZGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9wLW1vZGUtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDU0ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgMTk2NHg1ODUK
LSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUg
MTk2NHg0OTIKLSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4NDkyCi0gICAg
UmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDgpIHNpemUgNzg0eDQ2OAotICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7
I2NkYXRhLXNlY3Rpb259IGF0ICgwLDApIHNpemUgMzE0eDE4Ci0gICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMzE0OiAiPHA+IGRlZmF1bHQgbW9kZSBpcyBcIndyYXBcIiBmb3IgdGhl
IGZpcnN0IHAgZWxlbWVudCIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMzQpIHNpemUgNzg0eDE4Ci0gICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI4NHgxOAotICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDI4NDogIlRlc3QgZm9yIG1vZGUgYXR0cmlidXRlIG9mIHAg
ZWxlbWVudCBpbiBXTUwiCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw2OCkg
c2l6ZSA3ODR4MzYKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMCwwKSBzaXplIDB4MTgKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I2NkYXRhLXNlY3Rpb259IGF0ICgwLDE4KSBzaXplIDM0OHgxOAot
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAzNDg6ICI8cD4gaXQgd2lsbCB1c2Ug
dGhlIG1vZGUgb2YgcHJldmlvdXMgcGFyYWdyYXBoIGVsZW1lbnQiCi0gICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgw
LDEyMCkgc2l6ZSA3ODR4NzIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgNzYzeDU0Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzYzOiAiSGVyZSB5
b3UgY2FuIGxlYXJuIHZhcmlvdXMgbW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdBUCAy
LjAsIFdNTCwgV01MU2NyaXB0LCBYSFRNTCBNUCwgV0NTUyAvIFdBUCIKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwxOCkgd2lkdGggNzUyOiAiQ1NTLCBVQVByb2YgYW5kIFNNUyB0aHJvdWdoIG91
ciBmcmVlIHR1dG9yaWFscywgYXJ0aWNsZXMgYW5kIGV4YW1wbGVzLiBUaGlzIHdlYiBzaXRlIGNh
biBoZWxwIHdlYiBwcm9ncmFtbWVycyB3aG8iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYp
IHdpZHRoIDM0MTogIndpc2ggdG8gZXh0ZW5kIHRoZWlyIGtub3dsZWRnZSB0byB0aGUgd2lyZWxl
c3Mgd29ybGQuICIKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNTQpIHNpemUgMTk1NngxOAotICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCAxOTU2OiAiSEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISCIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDIwOCkgc2l6ZSA3ODR4MzYKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMCwwKSBz
aXplIDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I2NkYXRhLXNlY3Rpb259IGF0ICgwLDE4KSBz
aXplIDEzNngxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAxMzY6ICI8cCBt
b2RlPVwibm93cmFwXCI+IgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwyNjApIHNpemUgNzg0eDM2Ci0gICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE4NjB4MTgKLSAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODYwOiAiSGVyZSB5b3UgY2FuIGxlYXJuIHZhcmlvdXMg
bW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdBUCAyLjAsIFdNTCwgV01MU2NyaXB0LCBY
SFRNTCBNUCwgV0NTUyAvIFdBUCBDU1MsIFVBUHJvZiBhbmQgU01TIHRocm91Z2ggb3VyIGZyZWUg
dHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBsZXMuIFRoaXMgd2ViIHNpdGUgY2FuIGhlbHAg
d2ViIHByb2dyYW1tZXJzIHdobyB3aXNoIHRvIGV4dGVuZCB0aGVpciBrbm93bGVkZ2UgdG8gdGhl
IHdpcmVsZXNzIHdvcmxkLiIKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMCwwKSBzaXplIDB4
MAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTgpIHNpemUgMTk1NngxOAotICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAxOTU2OiAiSEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISCIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgwLDMxMikgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I2NkYXRh
LXNlY3Rpb259IGF0ICgwLDApIHNpemUgMjk2eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMjk2OiAiVGhlIG5leHQgdHdvIHBhcmFncmFwaHMgc2hvdWxkbid0IGJlIHdyYXBw
ZWQiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
UmVuZGVyQmxvY2sge3B9IGF0ICgwLDM0Nikgc2l6ZSA3ODR4MzYKLSAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTg2MHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDE4NjA6ICJIZXJlIHlvdSBjYW4gbGVhcm4gdmFyaW91cyBtb2JpbGUgdGVjaG5v
bG9naWVzIGxpa2UgV0FQIC8gV0FQIDIuMCwgV01MLCBXTUxTY3JpcHQsIFhIVE1MIE1QLCBXQ1NT
IC8gV0FQIENTUywgVUFQcm9mIGFuZCBTTVMgdGhyb3VnaCBvdXIgZnJlZSB0dXRvcmlhbHMsIGFy
dGljbGVzIGFuZCBleGFtcGxlcy4gVGhpcyB3ZWIgc2l0ZSBjYW4gaGVscCB3ZWIgcHJvZ3JhbW1l
cnMgd2hvIHdpc2ggdG8gZXh0ZW5kIHRoZWlyIGtub3dsZWRnZSB0byB0aGUgd2lyZWxlc3Mgd29y
bGQuIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSAxOTU2eDE4Ci0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMTgpIHdpZHRoIDE5NTY6ICJISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhIIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAs
Mzk4KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgwLDApIHNpemUgMHgx
OAotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDQzMikgc2l6ZSA3ODR4MzYKLSAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTg2MHgxOAotICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDE4NjA6ICJIZXJlIHlvdSBjYW4gbGVhcm4gdmFyaW91cyBtb2Jp
bGUgdGVjaG5vbG9naWVzIGxpa2UgV0FQIC8gV0FQIDIuMCwgV01MLCBXTUxTY3JpcHQsIFhIVE1M
IE1QLCBXQ1NTIC8gV0FQIENTUywgVUFQcm9mIGFuZCBTTVMgdGhyb3VnaCBvdXIgZnJlZSB0dXRv
cmlhbHMsIGFydGljbGVzIGFuZCBleGFtcGxlcy4gVGhpcyB3ZWIgc2l0ZSBjYW4gaGVscCB3ZWIg
cHJvZ3JhbW1lcnMgd2hvIHdpc2ggdG8gZXh0ZW5kIHRoZWlyIGtub3dsZWRnZSB0byB0aGUgd2ly
ZWxlc3Mgd29ybGQuIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSAxOTU2eDE4Ci0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDE5NTY6ICJISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhIIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvd21sL3NlbGVjdC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0
aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21s
L3NlbGVjdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvd21sL3NlbGVjdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3NlbGVjdC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTcgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0g
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgw
MHgxMTkKLSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTE5Ci0gICAgUmVu
ZGVyQmxvY2sge2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHg5NQotICAgICAgUmVuZGVyQmxvY2sg
e3B9IGF0ICgwLDApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDQzM3gxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQzMzog
IlZlcnkgc2ltcGxlIHRlc3QsIGNoZWNraW5nIHRoYXQgc2VsZWN0IGVsZW1lbnRzIGFyZSByZW5k
ZXJlZCBjb3JyZWN0bHkiCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNCkg
c2l6ZSA3ODR4NjEKLSAgICAgICAgUmVuZGVyTGlzdEJveCB7c2VsZWN0fSBhdCAoMiwyKSBzaXpl
IDQ3eDU3IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgxcHggaW5zZXQgIzgwODA4MCldCi0g
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTEsNDApIHNpemUgNHgxOAotICAgICAgICAg
IHRleHQgcnVuIGF0ICg1MSw0MCkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlck1lbnVMaXN0
IHtzZWxlY3R9IGF0ICg1Nyw0MSkgc2l6ZSA2MXgxOCBbYmdjb2xvcj0jRkZGRkZGXQotICAgICAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNjF4MTgKLSAgICAgICAg
ICAgIFJlbmRlclRleHQgYXQgKDgsMikgc2l6ZSAzMHgxMwotICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoOCwyKSB3aWR0aCAzMDogIlRlc3QxIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dt
bC9zaG93LWZpcnN0LWNhcmQtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6
IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlv
bi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9z
aG93LWZpcnN0LWNhcmQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L3dtbC9zaG93LWZpcnN0LWNhcmQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA4NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC9zaG93LWZpcnN0
LWNhcmQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICswLDAgQEAKLWxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NzYKLSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NzYKLSAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMTYpIHNpemUgNzg0
eDUyCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKLSAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjc0eDE4Ci0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggNjc0OiAiVGVzdCBmb3Igc2hvd2luZyB0aGUgZmlyc3QgY2FyZCBv
ZiB3bWwgZGVjayBpbiBkZWZhdWx0IHdoZW4geW91IGRvZXNuJ3Qgc3BlY2lmeSBhbnkgY29ycmVj
dCBVUkwgZnJhZ21lbnQuIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMzQp
IHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2
MXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI2MTogIklmIHRoZSB0ZXN0
IHBhc3NlcywgeW91IHNob3VsZCBzZWUgdGhpcyB0ZXh0LiIKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWFsaWduLWF0dHJpYnV0ZS1pbnZhbGlk
LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBh
IGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1hbGln
bi1hdHRyaWJ1dGUtaW52YWxpZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtYWxpZ24tYXR0cmlidXRlLWlu
dmFsaWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWFsaWduLWF0dHJpYnV0ZS1pbnZhbGlkLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyNiArMCwwIEBACi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVy
IGF0ICgwLDApIHNpemUgODAweDIwOAotICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6
ZSA4MDB4MjA4Ci0gICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTYpIHNpemUgNzg0eDE4NAot
ICAgICAgUmVuZGVyQmxvY2sge3BhcnNlcmVycm9yfSBhdCAoMTYsMCkgc2l6ZSA3NTJ4MTM0IFti
Z2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHggc29saWQgI0NDNzc3NyldCi0gICAgICAgIFJl
bmRlckJsb2NrIHtoM30gYXQgKDE4LDIwKSBzaXplIDcxNngyMgotICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyNHgyMgotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMzI0OiAiVGhpcyBwYWdlIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3Jz
OiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2Rpdn0gYXQgKDE4LDYwKSBzaXplIDcxNngxNAotICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU4OHgxNAotICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTg4OiAiZXJyb3Igb24gbGluZSA2IGF0IGNvbHVt
biAzODogQSB2YXJpYWJsZSByZWZlcmVuY2UgaXMgcGxhY2VkIGluIGFuIGludmFsaWQgbG9jYXRp
b24uIgotICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCw5Mikgc2l6ZSA3MTZ4MjIKLSAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0Mjl4MjIKLSAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQyOTogIkJlbG93IGlzIGEgcmVuZGVyaW5nIG9m
IHRoZSBwYWdlIHVwIHRvIHRoZSBmaXJzdCBlcnJvci4iCi0gICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUg
Nzg0eDM0Ci0gICAgICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwwKSBzaXplIDc2OHgzNAot
ICAgICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc2OHgxOAotICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzAweDE4Ci0gICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMwMDogIlRlc3QgZm9yIHRhYmxlIGVsZW1lbnQgYW5k
IGludmFsaWQgYWxpZ24gYXR0cmlidXRlIgotICAgICAgICAgIFJlbmRlclRhYmxlIHt0YWJsZX0g
YXQgKDAsMzQpIHNpemUgNHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwx
OTIpIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUg
MHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxlbWVu
dC1jb2x1bW5zLWF0dHJpYnV0ZS1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0
aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21s
L3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVt
bnMtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTI2ICswLDAgQEAKLWxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTk2Ci0gIFJlbmRlckJsb2NrIHt3bWx9IGF0ICgwLDApIHNp
emUgODAweDU5NgotICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwxNikgc2l6ZSA3ODR4NTcy
Ci0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjc1eDE4Ci0gICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMjc1OiAiVGVzdCBmb3IgdGFibGUgZWxlbWVudCBhbmQgY29sdW1ucyBh
dHRyaWJ1dGUiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMzQpIHNpemUgNzg0eDE4Ci0g
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM0MHgxOAotICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM0MDogIlRoZSBmaXJzdCBhbmQgc2Vjb25kIHJvdyBv
ZiBhbGwgdGVzdHMgc2hvdWxkIGxvb2sgZXF1YWwiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQg
KDAsNjgpIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDQ3M3gxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ3MzogIlRlc3Qg
MTogSm9pbiBzdXBlcmZsb3VzIGNvbHVtbnMsIGxlZnQgY2VsbCBsZWZ0IGFsaWduZWQsIHJpZ2h0
IGNlbGwgcmlnaHQgYWxpZ25lZCIKLSAgICAgIFJlbmRlclRhYmxlIHt0YWJsZX0gYXQgKDAsMTAy
KSBzaXplIDE4M3g0MgotICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24gKGFub255bW91cykgYXQg
KDAsMCkgc2l6ZSAxODN4NDIKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7dHJ9IGF0ICgwLDIp
IHNpemUgMTgzeDE4Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoMiwyKSBz
aXplIDc5eDE4IFtyPTAgYz0wIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgNzl4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA3OTogIkZpcnN0IGNvbHVtbiIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7dGR9IGF0ICg4MywyKSBzaXplIDk4eDE4IFtyPTAgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOTh4MTgKLSAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA5ODogIlNlY29uZCBjb2x1bW4iCi0gICAgICAg
ICAgUmVuZGVyVGFibGVSb3cge3RyfSBhdCAoMCwyMikgc2l6ZSAxODN4MTgKLSAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICgyLDIyKSBzaXplIDc5eDE4IFtyPTEgYz0wIHJzPTEg
Y3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzl4
MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3OTogIkZpcnN0IGNv
bHVtbiIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICg4MywyMikgc2l6ZSA5
OHgxOCBbcj0xIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDk4eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggOTg6ICJTZWNvbmQgY29sdW1uIgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDE2
MCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
NDk4eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDk4OiAiVGVzdCAyOiBK
b2luIHN1cGVyZmxvdXMgY29sdW1ucyB3aXRoICdicicgZWxlbWVudHMgaW5zaWRlLCB0YWJsZSBp
cyBjZW50ZXIgYWxpZ25lZCIKLSAgICAgIFJlbmRlclRhYmxlIHt0YWJsZX0gYXQgKDAsMTk0KSBz
aXplIDEwMHg3OAotICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24gKGFub255bW91cykgYXQgKDAs
MCkgc2l6ZSAxMDB4NzgKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7dHJ9IGF0ICgwLDIpIHNp
emUgMTAweDM2Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoMiwyKSBzaXpl
IDQ3eDM2IFtyPTAgYz0wIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg5LDApIHNpemUgMjh4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOSww
KSB3aWR0aCAyODogIkZpcnN0IgotICAgICAgICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgzNyww
KSBzaXplIDB4MTgKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE4KSBz
aXplIDQ3eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDQ3OiAi
Y29sdW1uIgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDUxLDIpIHNpemUg
NDd4MzYgW3I9MCBjPTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSA0N3gxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDQ3OiAiU2Vjb25kIgotICAgICAgICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICg0Nyww
KSBzaXplIDB4MTgKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE4KSBz
aXplIDQ3eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDQ3OiAi
Y29sdW1uIgotICAgICAgICAgIFJlbmRlclRhYmxlUm93IHt0cn0gYXQgKDAsNDApIHNpemUgMTAw
eDM2Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoMiw0MCkgc2l6ZSA0N3gz
NiBbcj0xIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoOSwwKSBzaXplIDI4eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDksMCkgd2lk
dGggMjg6ICJGaXJzdCIKLSAgICAgICAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMzcsMCkgc2l6
ZSAweDE4Ci0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSA0
N3gxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA0NzogImNvbHVt
biIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICg1MSw0MCkgc2l6ZSA0N3gz
NiBbcj0xIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDQ3eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggNDc6ICJTZWNvbmQiCi0gICAgICAgICAgICAgIFJlbmRlckJSIHticn0gYXQgKDQ3LDApIHNp
emUgMHgxOAotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTgpIHNpemUg
NDd4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNDc6ICJjb2x1
bW4iCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMjg4KSBzaXplIDc4NHgxOAotICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NTl4MTgKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCA1NTk6ICJUZXN0IDM6IEpvaW4gc3VwZXJmbG91cyBjb2x1bW5z
IHdpdGggJ2JyJyBhbmQgJ2ltZycgZWxlbWVudHMgaW5zaWRlLCB0YWJsZSBpcyBjZW50ZXIgYWxp
Z25lZCIKLSAgICAgIFJlbmRlclRhYmxlIHt0YWJsZX0gYXQgKDAsMzIyKSBzaXplIDM4M3g1NAot
ICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24gKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAzODN4
NTQKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7dHJ9IGF0ICgwLDIpIHNpemUgMzgzeDI0Ci0g
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoMiw1KSBzaXplIDc5eDE4IFtyPTAg
Yz0wIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgNzl4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3OTog
IkZpcnN0IGNvbHVtbiIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICg4Mywy
KSBzaXplIDI5OHgyNCBbcj0wIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCw2KSBzaXplIDE3NngxOAotICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDYpIHdpZHRoIDE3NjogIlNlY29uZCBjb2x1bW4gd2l0aCBpbWFnZSAiCi0gICAgICAg
ICAgICAgIFJlbmRlckltYWdlIHtpbWd9IGF0ICgxNzYsMCkgc2l6ZSAyMHgyMAotICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE5Niw2KSBzaXplIDEwMngxOAotICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxOTYsNikgd2lkdGggMTAyOiAiIGFuZCB0cmFpbGluZyB0ZXh0
IgotICAgICAgICAgIFJlbmRlclRhYmxlUm93IHt0cn0gYXQgKDAsMjgpIHNpemUgMzgzeDI0Ci0g
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoMiwzMSkgc2l6ZSA3OXgxOCBbcj0x
IGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDc5eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzk6
ICJGaXJzdCBjb2x1bW4iCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBhdCAoODMs
MjgpIHNpemUgMjk4eDI0IFtyPTEgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDYpIHNpemUgMTc2eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsNikgd2lkdGggMTc2OiAiU2Vjb25kIGNvbHVtbiB3aXRoIGltYWdlICIKLSAgICAg
ICAgICAgICAgUmVuZGVySW1hZ2Uge2ltZ30gYXQgKDE3NiwwKSBzaXplIDIweDIwCi0gICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTk2LDYpIHNpemUgMTAyeDE4Ci0gICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDE5Niw2KSB3aWR0aCAxMDI6ICIgYW5kIHRyYWlsaW5nIHRl
eHQiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMzkyKSBzaXplIDc4NHgxOAotICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NTB4MTgKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCA1NTA6ICJUZXN0IDQ6IEpvaW4gc3VwZXJmbG91cyBjb2x1bW5z
IHdpdGggJ2JyJyBhbmQgJ2ltZycgZWxlbWVudHMgaW5zaWRlLCB0YWJsZSBpcyByaWdodCBhbGln
bmVkIgotICAgICAgUmVuZGVyVGFibGUge3RhYmxlfSBhdCAoMCw0MjYpIHNpemUgMzc5eDU0Ci0g
ICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDM3OXg1
NAotICAgICAgICAgIFJlbmRlclRhYmxlUm93IHt0cn0gYXQgKDAsMikgc2l6ZSAzNzl4MjQKLSAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICgyLDUpIHNpemUgNzl4MTggW3I9MCBj
PTAgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSA3OXgxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc5OiAi
Rmlyc3QgY29sdW1uIgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDgzLDIp
IHNpemUgMjk0eDI0IFtyPTAgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDYpIHNpemUgMTc2eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsNikgd2lkdGggMTc2OiAiU2Vjb25kIGNvbHVtbiB3aXRoIGltYWdlICIKLSAgICAgICAg
ICAgICAgUmVuZGVySW1hZ2Uge2ltZ30gYXQgKDE3NiwwKSBzaXplIDIweDIwCi0gICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTk2LDYpIHNpemUgOTh4MTgKLSAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTk2LDYpIHdpZHRoIDk4OiAiYW5kIHRyYWlsaW5nIHRleHQiCi0g
ICAgICAgICAgUmVuZGVyVGFibGVSb3cge3RyfSBhdCAoMCwyOCkgc2l6ZSAzNzl4MjQKLSAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICgyLDMxKSBzaXplIDc5eDE4IFtyPTEgYz0w
IHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgNzl4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3OTogIkZp
cnN0IGNvbHVtbiIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICg4MywyOCkg
c2l6ZSAyOTR4MjQgW3I9MSBjPTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsNikgc2l6ZSAxNzZ4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCw2KSB3aWR0aCAxNzY6ICJTZWNvbmQgY29sdW1uIHdpdGggaW1hZ2UgIgotICAgICAgICAg
ICAgICBSZW5kZXJJbWFnZSB7aW1nfSBhdCAoMTc2LDApIHNpemUgMjB4MjAKLSAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxOTYsNikgc2l6ZSA5OHgxOAotICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxOTYsNikgd2lkdGggOTg6ICJhbmQgdHJhaWxpbmcgdGV4dCIKLSAg
ICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCw0OTYpIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQzNHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDQzNDogIlRlc3QgNTogUGFkIHdpdGggZW1wdHkgY29sdW1ucywgaWYgdGhl
cmUgYXJlIG5vdCBlbm91Z2ggJ3RkJyBlbGVtZW50cyIKLSAgICAgIFJlbmRlclRhYmxlIHt0YWJs
ZX0gYXQgKDAsNTMwKSBzaXplIDg2eDQyCi0gICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiAoYW5v
bnltb3VzKSBhdCAoMCwwKSBzaXplIDg2eDQyCi0gICAgICAgICAgUmVuZGVyVGFibGVSb3cge3Ry
fSBhdCAoMCwyKSBzaXplIDg2eDE4Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3RkfSBh
dCAoMiwyKSBzaXplIDgweDE4IFtyPTAgYz0wIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzl4MTgKLSAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCA3OTogIkZpcnN0IGNvbHVtbiIKLSAgICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCB7dGR9IGF0ICg4NCwxMSkgc2l6ZSAweDAgW3I9MCBjPTEgcnM9MSBjcz0xXQot
ICAgICAgICAgIFJlbmRlclRhYmxlUm93IHt0cn0gYXQgKDAsMjIpIHNpemUgODZ4MTgKLSAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICgyLDIyKSBzaXplIDgweDE4IFtyPTEgYz0w
IHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgNzl4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3OTogIkZp
cnN0IGNvbHVtbiIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7dGR9IGF0ICg4NCwzMSkg
c2l6ZSAweDAgW3I9MSBjPTEgcnM9MSBjcz0xXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtaW52YWxpZC1leHBl
Y3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5h
cnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1h
dHRyaWJ1dGUtaW52YWxpZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtaW52
YWxpZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtaW52YWxpZC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjYgKzAsMCBAQAotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXll
ciBhdCAoMCwwKSBzaXplIDgwMHgyMDgKLSAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNp
emUgODAweDIwOAotICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgxODQK
LSAgICAgIFJlbmRlckJsb2NrIHtwYXJzZXJlcnJvcn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBb
Ymdjb2xvcj0jRkZEREREXSBbYm9yZGVyOiAoMnB4IHNvbGlkICNDQzc3NzcpXQotICAgICAgICBS
ZW5kZXJCbG9jayB7aDN9IGF0ICgxOCwyMCkgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjR4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDMyNDogIlRoaXMgcGFnZSBjb250YWlucyB0aGUgZm9sbG93aW5nIGVycm9y
czoiCi0gICAgICAgIFJlbmRlckJsb2NrIHtkaXZ9IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4MTQKLSAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1MzJ4MTQKLSAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDUzMjogImVycm9yIG9uIGxpbmUgNiBhdCBjb2x1
bW4gMzI6IEEgdGFibGUgY29udGFpbnMgYW4gaW52YWxpZCBudW1iZXIgb2YgY29sdW1ucy4iCi0g
ICAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQgKDE4LDkyKSBzaXplIDcxNngyMgotICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQyOXgyMgotICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggNDI5OiAiQmVsb3cgaXMgYSByZW5kZXJpbmcgb2YgdGhlIHBh
Z2UgdXAgdG8gdGhlIGZpcnN0IGVycm9yLiIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDE1MCkgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUge3dtbH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE1MCkgc2l6ZSA3ODR4MzQK
LSAgICAgICAgUmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDApIHNpemUgNzY4eDM0Ci0gICAgICAg
ICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzY4eDE4Ci0gICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjJ4MTgKLSAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggMzIyOiAiVGVzdCBmb3IgdGFibGUgZWxlbWVudCBhbmQgaW52YWxp
ZCBjb2x1bW5zIGF0dHJpYnV0ZSIKLSAgICAgICAgICBSZW5kZXJUYWJsZSB7dGFibGV9IGF0ICgw
LDM0KSBzaXplIDR4MAotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTkyKSBz
aXplIDc4NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtY29s
dW1ucy1hdHRyaWJ1dGUtaW52YWxpZC1udW1iZXItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fu
bm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUg
PSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLWludmFsaWQtbnVtYmVy
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC93bWwvdGFibGUtZWxlbWVudC1jb2x1bW5zLWF0dHJpYnV0ZS1pbnZhbGlkLW51bWJlci1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3Qvd21sL3RhYmxlLWVsZW1lbnQtY29sdW1ucy1hdHRyaWJ1dGUtaW52YWxpZC1udW1iZXItZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDI2ICswLDAgQEAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4MjA4Ci0gIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXpl
IDgwMHgyMDgKLSAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwxNikgc2l6ZSA3ODR4MTg0Ci0g
ICAgICBSZW5kZXJCbG9jayB7cGFyc2VyZXJyb3J9IGF0ICgxNiwwKSBzaXplIDc1MngxMzQgW2Jn
Y29sb3I9I0ZGRERERF0gW2JvcmRlcjogKDJweCBzb2xpZCAjQ0M3Nzc3KV0KLSAgICAgICAgUmVu
ZGVyQmxvY2sge2gzfSBhdCAoMTgsMjApIHNpemUgNzE2eDIyCi0gICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzI0eDIyCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCAzMjQ6ICJUaGlzIHBhZ2UgY29udGFpbnMgdGhlIGZvbGxvd2luZyBlcnJvcnM6
IgotICAgICAgICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoMTgsNjApIHNpemUgNzE2eDE0Ci0gICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTMyeDE0Ci0gICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1MzI6ICJlcnJvciBvbiBsaW5lIDYgYXQgY29sdW1u
IDMyOiBBIHRhYmxlIGNvbnRhaW5zIGFuIGludmFsaWQgbnVtYmVyIG9mIGNvbHVtbnMuIgotICAg
ICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCw5Mikgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0Mjl4MjIKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDQyOTogIkJlbG93IGlzIGEgcmVuZGVyaW5nIG9mIHRoZSBwYWdl
IHVwIHRvIHRoZSBmaXJzdCBlcnJvci4iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMCwxNTApIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
Ci0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDM0Ci0g
ICAgICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwwKSBzaXplIDc2OHgzNAotICAgICAgICAg
IFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc2OHgxOAotICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzIyeDE4Ci0gICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDMyMjogIlRlc3QgZm9yIHRhYmxlIGVsZW1lbnQgYW5kIGludmFsaWQg
Y29sdW1ucyBhdHRyaWJ1dGUiCi0gICAgICAgICAgUmVuZGVyVGFibGUge3RhYmxlfSBhdCAoMCwz
NCkgc2l6ZSA0eDAKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE5Mikgc2l6
ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUge3dtbH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNvbHVt
bnMtYXR0cmlidXRlLW1pc3NpbmctZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3Bs
YXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNh
dGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dt
bC90YWJsZS1lbGVtZW50LWNvbHVtbnMtYXR0cmlidXRlLW1pc3NpbmctZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVt
ZW50LWNvbHVtbnMtYXR0cmlidXRlLW1pc3NpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0
MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LWNv
bHVtbnMtYXR0cmlidXRlLW1pc3NpbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDI2ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjA4Ci0gIFJlbmRl
ckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHgyMDgKLSAgICBSZW5kZXJCb2R5IHtib2R5
fSBhdCAoOCwxNikgc2l6ZSA3ODR4MTg0Ci0gICAgICBSZW5kZXJCbG9jayB7cGFyc2VyZXJyb3J9
IGF0ICgxNiwwKSBzaXplIDc1MngxMzQgW2JnY29sb3I9I0ZGRERERF0gW2JvcmRlcjogKDJweCBz
b2xpZCAjQ0M3Nzc3KV0KLSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsMjApIHNpemUg
NzE2eDIyCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzI0eDIy
Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjQ6ICJUaGlzIHBhZ2UgY29u
dGFpbnMgdGhlIGZvbGxvd2luZyBlcnJvcnM6IgotICAgICAgICBSZW5kZXJCbG9jayB7ZGl2fSBh
dCAoMTgsNjApIHNpemUgNzE2eDE0Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgNTMyeDE0Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1MzI6
ICJlcnJvciBvbiBsaW5lIDYgYXQgY29sdW1uIDI2OiBBIHRhYmxlIGNvbnRhaW5zIGFuIGludmFs
aWQgbnVtYmVyIG9mIGNvbHVtbnMuIgotICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCw5
Mikgc2l6ZSA3MTZ4MjIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA0Mjl4MjIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQyOTogIkJlbG93
IGlzIGEgcmVuZGVyaW5nIG9mIHRoZSBwYWdlIHVwIHRvIHRoZSBmaXJzdCBlcnJvci4iCi0gICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDAKLSAgICAgICAg
UmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwxNTApIHNpemUgNzg0eDM0Ci0gICAgICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAo
OCwwKSBzaXplIDc2OHgzNAotICAgICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXpl
IDc2OHgxOAotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzI3
eDE4Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMyNzogIlRlc3QgZm9y
IHRhYmxlIGVsZW1lbnQgYW5kIG1pc3NpbmcgY29sdW1ucyBhdHRyaWJ1dGUiCi0gICAgICAgICAg
UmVuZGVyVGFibGUge3RhYmxlfSBhdCAoMCwzNCkgc2l6ZSA0eDAKLSAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgwLDE5Mikgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUg
e3dtbH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3dtbC90YWJsZS1lbGVtZW50LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNw
bGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGlj
YXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93
bWwvdGFibGUtZWxlbWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RhYmxlLWVsZW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA4NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YWJsZS1lbGVt
ZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw1NCArMCwwIEBACi1sYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDIzMAotICBSZW5kZXJCbG9jayB7d21sfSBhdCAoMCww
KSBzaXplIDgwMHgyMzAKLSAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMTYpIHNpemUgNzg0
eDE5OAotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4Ci0gICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE5NXgxOAotICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDE5NTogIlRlc3QgZm9yIHRhYmxlIGVsZW1lbnQgaW4gV01MIgot
ICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDM0KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3OXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDc5OiAic291cmNlIGNvZGU6IgotICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsNjgpIHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRlclRleHQgeyNjZGF0YS1z
ZWN0aW9ufSBhdCAoMCwwKSBzaXplIDc2NXgzNgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDIzMDogIjx0YWJsZSBjb2x1bW5zPVwiM1wiIGFsaWduPVwiTFJSXCI+ICIKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMjMwLDApIHdpZHRoIDMxOiAiPHRyPiAiCi0gICAgICAgICAgdGV4
dCBydW4gYXQgKDI2MSwwKSB3aWR0aCAxMjE6ICI8dGQ+Q2VsbCBvbmU8L3RkPiAiCi0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDM4MiwwKSB3aWR0aCAxOTI6ICI8dGQ+Qzxici8+ZWxsPGJyLz4gdHdv
PC90ZD4gIgotICAgICAgICAgIHRleHQgcnVuIGF0ICg1NzQsMCkgd2lkdGggMTI5OiAiPHRkPkNl
bGwgdGhyZWU8L3RkPiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDcwMywwKSB3aWR0aCAzNTog
IjwvdHI+ICIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzM4LDApIHdpZHRoIDI3OiAiPHRyPiIK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggOTk6ICI8dGQ+IG9uZSA8L3RkPiAi
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDk5LDE4KSB3aWR0aCAzODogIjx0ZC8+ICIKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTM3LDE4KSB3aWR0aCAxMTQ6ICI8dGQ+QyB0aHJlZTwvdGQ+ICIK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUxLDE4KSB3aWR0aCAzNTogIjwvdHI+ICIKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMjg2LDE4KSB3aWR0aCA1NjogIjwvdGFibGU+ICIKLSAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlckJSIHti
cn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwxMjApIHNp
emUgNzg0eDc4Ci0gICAgICAgIFJlbmRlclRhYmxlIHt0YWJsZX0gYXQgKDAsMCkgc2l6ZSAxNDZ4
NzgKLSAgICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24gKGFub255bW91cykgYXQgKDAsMCkgc2l6
ZSAxNDZ4NzgKLSAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHt0cn0gYXQgKDAsMikgc2l6ZSAx
NDZ4NTQKLSAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDIsMjApIHNpemUg
NTN4MTggW3I9MCBjPTAgcnM9MSBjcz0xXQotICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDUzeDE4Ci0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA1MzogIkNlbGwgb25lIgotICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e3RkfSBhdCAoNTcsMikgc2l6ZSAyNHg1NCBbcj0wIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMywwKSBzaXplIDExeDE4Ci0gICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTMsMCkgd2lkdGggMTE6ICJDIgotICAgICAgICAgICAgICAg
IFJlbmRlckJSIHticn0gYXQgKDI0LDApIHNpemUgMHgxOAotICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoOSwxOCkgc2l6ZSAxNXgxOAotICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDksMTgpIHdpZHRoIDE1OiAiZWxsIgotICAgICAgICAgICAgICAgIFJlbmRlckJS
IHticn0gYXQgKDI0LDE4KSBzaXplIDB4MTgKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMzYpIHNpemUgMjR4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDM2KSB3aWR0aCAyNDogInR3byIKLSAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHt0
ZH0gYXQgKDgzLDIwKSBzaXplIDYxeDE4IFtyPTAgYz0yIHJzPTEgY3M9MV0KLSAgICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MXgxOAotICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjE6ICJDZWxsIHRocmVlIgotICAgICAgICAg
ICAgUmVuZGVyVGFibGVSb3cge3RyfSBhdCAoMCw1OCkgc2l6ZSAxNDZ4MTgKLSAgICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDIsNTgpIHNpemUgNTN4MTggW3I9MSBjPTAgcnM9
MSBjcz0xXQotICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDIzeDE4Ci0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMzogIm9u
ZSIKLSAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHt0ZH0gYXQgKDU3LDY3KSBzaXplIDI0
eDAgW3I9MSBjPTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge3Rk
fSBhdCAoODMsNTgpIHNpemUgNjF4MTggW3I9MSBjPTIgcnM9MSBjcz0xXQotICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTUsMCkgc2l6ZSA0NngxOAotICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDE1LDApIHdpZHRoIDQ2OiAiQyB0aHJlZSIKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YXNrLW5vb3AtaW4tZG8tZXhwZWN0ZWQucG5n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUu
CnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YXNrLW5vb3AtaW4tZG8tZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90YXNrLW5vb3At
aW4tZG8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3dtbC90YXNrLW5vb3AtaW4tZG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDEyICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4ODQK
LSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4ODQKLSAgICBSZW5kZXJCbG9j
ayB7Y2FyZH0gYXQgKDgsMTYpIHNpemUgNzg0eDUyCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQg
KDAsMCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMjcxeDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjcxOiAiVGVzdCBm
b3IgTm9vcCB0YXNrIGluIGRvIGVsZW1lbnQgb2YgV01MLiIKLSAgICAgIFJlbmRlckJsb2NrIHtw
fSBhdCAoMCwzNCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMzEweDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzEwOiAi
SWYgaXQgcGFzc2VzLCB5b3Ugc2hvdWxkIG5vdCBzZWUgdGhlIFwiQmFja1wiIGJ1dHRvbiIKLSAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDY4KSBzaXplIDc4NHgwCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGVzdC1leHBlY3RlZC5wbmcKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1p
bWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3Qvd21sL3Rlc3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90ZXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
ODUyNDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGVzdC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAo
MCwwKSBzaXplIDgwMHgxMTAKLSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4
MTEwCi0gICAgUmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHg4NgotICAgICAg
UmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM3NXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDM3NTogIlRoaXMgcGFnZSBpcyBhc3Npc3RhbnQgcGFnZS4gTWFueSB0ZXN0IHBhZ2Vz
IHdpbGwganVtcCBoZXJlLiIKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwzNCkgc2l6ZSA3
ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjg2eDE4Ci0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjg2OiAiQ2xpY2sgXCJCYWNrXCIgdG8g
Z28gYmFjayB0byB0aGUgcHJldmlvdXMgcGFnZSIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICgwLDY4KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJJbmxpbmUge2FuY2hvcn0g
YXQgKDAsMCkgc2l6ZSAzM3gxOCBbY29sb3I9IzAwMDBFRV0KLSAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzM3gxOAotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMzM6ICJCYWNrIgotICAgICAgICAgIFJlbmRlcklubGluZSB7cHJldn0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGV4dC1lbXBoYXNpcy1l
eHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBi
aW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL3RleHQtZW1waGFzaXMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3dtbC90
ZXh0LWVtcGhhc2lzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdGV4dC1lbXBoYXNpcy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNTEgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0g
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgw
MHgzMDIKLSAgUmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzAyCi0gICAgUmVu
ZGVyQmxvY2sge2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHgyNzMKLSAgICAgIFJlbmRlckJsb2Nr
IHtwfSBhdCAoMCwwKSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxOTh4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxOTg6
ICJUZXN0IGZvciB0ZXh0IGVtcGhhc2lzIG9mIFdNTCIKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBh
dCAoMCwzNCkgc2l6ZSA3ODR4MTQ4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDQ0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDQ6ICJub3Jt
YWwiCi0gICAgICAgIFJlbmRlckJSIHticn0gYXQgKDQ0LDApIHNpemUgMHgxOAotICAgICAgICBS
ZW5kZXJJbmxpbmUge2VtfSBhdCAoMCwwKSBzaXplIDc0eDE4Ci0gICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDE4KSBzaXplIDc0eDE4Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwxOCkgd2lkdGggNzQ6ICJlbXBoYXNpemVkIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICg3
NCwxOCkgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlcklubGluZSB7c3Ryb25nfSBhdCAoMCwwKSBz
aXplIDQzeDE4Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDM2KSBzaXplIDQz
eDE4Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggNDM6ICJzdHJvbmciCi0g
ICAgICAgIFJlbmRlckJSIHticn0gYXQgKDQzLDM2KSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVy
SW5saW5lIHtifSBhdCAoMCwwKSBzaXplIDMweDE4Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDU0KSBzaXplIDMweDE4Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkg
d2lkdGggMzA6ICJib2xkIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICgzMCw1NCkgc2l6ZSAw
eDE4Ci0gICAgICAgIFJlbmRlcklubGluZSB7aX0gYXQgKDAsMCkgc2l6ZSAzMXgxOAotICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw3Mikgc2l6ZSAzMXgxOAotICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsNzIpIHdpZHRoIDMxOiAiaXRhbGljIgotICAgICAgICBSZW5kZXJCUiB7
YnJ9IGF0ICgzMSw3Mikgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlcklubGluZSB7dX0gYXQgKDAs
MCkgc2l6ZSA1OXgxOAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw5MCkgc2l6
ZSA1OXgxOAotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsOTApIHdpZHRoIDU5OiAidW5kZXJs
aW5lIgotICAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICg1OSw5MCkgc2l6ZSAweDE4Ci0gICAgICAg
IFJlbmRlcklubGluZSB7YmlnfSBhdCAoMCwwKSBzaXplIDI1eDIyCi0gICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDEwOCkgc2l6ZSAyNXgyMgotICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMTA4KSB3aWR0aCAyNTogImJpZyIKLSAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoMjUs
MTExKSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVySW5saW5lIHtzbWFsbH0gYXQgKDAsMCkgc2l6
ZSAyOXgxNQotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMzIpIHNpemUgMjl4
MTUKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEzMikgd2lkdGggMjk6ICJzbWFsbCIKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJC
bG9jayB7cHJlfSBhdCAoMCwxOTgpIHNpemUgNzg0eDc1Ci0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDM3Nng3NQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDIwODogIiAgVGhpcyB0ZXh0LCBzaG91bGQgYXBwZWFyIgotICAgICAgICAgIHRleHQgcnVu
IGF0ICgyMDgsMCkgd2lkdGggMDogIiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTUpIHdp
ZHRoIDE2OiAiYXMiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDE2LDE1KSB3aWR0aCAwOiAiICIK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMCkgd2lkdGggMjQ6ICJwcmUiCi0gICAgICAgICAg
dGV4dCBydW4gYXQgKDI0LDMwKSB3aWR0aCAwOiAiICIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCw0NSkgd2lkdGggNzI6ICJmb3JtYXR0ZWQiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDcyLDQ1
KSB3aWR0aCAwOiAiICIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2MCkgd2lkdGggMzc2OiAi
ICAgICAgICAgICB0ZXh0LCBwcmVzZXJ2aW5nIGFueSB3aGl0ZSAgICBzcGFjZS4iCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdmFsaWRhdGUtZHRkLWV4cGVjdGVkLnBu
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBl
Lgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdmFsaWRhdGUtZHRkLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC93bWwvdmFsaWRhdGUtZHRk
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC93bWwvdmFsaWRhdGUtZHRkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwxNSArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDE2NgotICBSZW5k
ZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTY2Ci0gICAgUmVuZGVyQm9keSB7Ym9k
eX0gYXQgKDgsMTYpIHNpemUgNzg0eDEzNAotICAgICAgUmVuZGVyQmxvY2sge3BhcnNlcmVycm9y
fSBhdCAoMTYsMCkgc2l6ZSA3NTJ4MTM0IFtiZ2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHgg
c29saWQgI0NDNzc3NyldCi0gICAgICAgIFJlbmRlckJsb2NrIHtoM30gYXQgKDE4LDIwKSBzaXpl
IDcxNngyMgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyNHgy
MgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzI0OiAiVGhpcyBwYWdlIGNv
bnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiIKLSAgICAgICAgUmVuZGVyQmxvY2sge2Rpdn0g
YXQgKDE4LDYwKSBzaXplIDcxNngxNAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDM2NHgxNAotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzY0
OiAiZXJyb3Igb24gbGluZSAyIGF0IGNvbHVtbiAxMDM6IEludmFsaWQgRFREIFB1YmxpYyBJRCIK
LSAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMTgsOTIpIHNpemUgNzE2eDIyCi0gICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDI5eDIyCi0gICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0Mjk6ICJCZWxvdyBpcyBhIHJlbmRlcmluZyBvZiB0aGUg
cGFnZSB1cCB0byB0aGUgZmlyc3QgZXJyb3IuIgpJbmRleDogTGF5b3V0VGVzdHMvd21sL2FjY2Vz
cy10YXJnZXQtZGVueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21s
L2FjY2Vzcy10YXJnZXQtZGVueS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5
b3V0VGVzdHMvd21sL2FjY2Vzcy10YXJnZXQtZGVueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTkgKzAsMCBAQAotV01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlw
dGluZwotCi0KLVRlc3RzIGFjY2VzcyBjb250cm9sIHN1cHBvcnQKLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUw
LS0+LS0+JwotLS0tLS0tLS0KLVN0YXJ0IHRlc3QKLVRlc3QgZm9yIERlY2sgQWNjZXNzIGNvbnRy
b2wgaW4gV01MLgotSWYgdGhlIHRlc3QgcGFzc2VzLCB0aGlzIGRlY2sgd2lsbCByZW1haW4gdmlz
aWJsZQpJbmRleDogTGF5b3V0VGVzdHMvd21sL2FjY2Vzcy10YXJnZXQtZGVueS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9hY2Nlc3MtdGFyZ2V0LWRlbnkuaHRtbAkocmV2aXNp
b24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvYWNjZXNzLXRhcmdldC1kZW55Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlw
dD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nPC9oMT4K
LTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2Ny
aXB0IHNyYz0ic2NyaXB0LXRlc3RzL2FjY2Vzcy10YXJnZXQtZGVueS5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvYWNjZXNzLXRhcmdldC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL2FjY2Vzcy10YXJnZXQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9hY2Nlc3MtdGFy
Z2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxOCArMCwwIEBACi1XTUwgbGF5
b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVzdHMgYWNjZXNzIGNvbnRy
b2wgc3VwcG9ydAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1l
OiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotVGVzdCBmb3Ig
RGVjayBBY2Nlc3MgY29udHJvbCBpbiBXTUwuCi1UaGlzIGlzIHRoZSBsb2NrZWQgdGFyZ2V0IGRl
Y2ssIG9ubHkgJ2FjY2Vzcy10YXJnZXQud21sIiBjYW4gYWNjZXNzIG1lCkluZGV4OiBMYXlvdXRU
ZXN0cy93bWwvYWNjZXNzLXRhcmdldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dt
bC9hY2Nlc3MtdGFyZ2V0Lmh0bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21s
L2FjY2Vzcy10YXJnZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFk
PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZhciByZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzID0g
Ii4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvV01MVGVzdENhc2UuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPldNTCBsYXlvdXQgdGVzdHMgLSB1c2lu
ZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYWNjZXNzLXRhcmdl
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93bWwv
ZW50ZXItY2FyZC13aXRoLWV2ZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd21sL2VudGVyLWNhcmQtd2l0aC1ldmVudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4
NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9lbnRlci1jYXJkLXdpdGgtZXZlbnRzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNyArMCwwIEBACi1XTUwgbGF5b3V0IHRlc3RzIC0g
dXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVzdHMgZW50ZXJpbmcgY2FyZHMgaW4gZm9yd2Fy
ZCBhbmQgYmFja3dhcmQgZGlyZWN0aW9ucyB0aGF0IGhhdmUgaW50cmluc2ljIGV2ZW50cyBzZXQK
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0KLVRlc3QgMi8yIFBBU1NFRC4KSW5k
ZXg6IExheW91dFRlc3RzL3dtbC9lbnRlci1jYXJkLXdpdGgtZXZlbnRzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd21sL2VudGVyLWNhcmQtd2l0aC1ldmVudHMuaHRtbAkocmV2aXNp
b24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvZW50ZXItY2FyZC13aXRoLWV2ZW50cy5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxz
Y3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVzdHMgPSAiLi4iOzwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9InJlc291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08aDE+V01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZzwv
aDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgot
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9lbnRlci1jYXJkLXdpdGgtZXZlbnRzLmpzIj48L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9lbnRlci1maXJz
dC1jYXJkLXdpdGgtZXZlbnRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93bWwvZW50ZXItZmlyc3QtY2FyZC13aXRoLWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21sL2VudGVyLWZpcnN0LWNhcmQtd2l0aC1ldmVudHMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICswLDAgQEAKLVdNTCBsYXlvdXQg
dGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmcKLQotCi1UZXN0cyBlbnRlcmluZyBmaXJzdCBj
YXJkIGJhY2t3YXJkcyB0aGF0IGhhcyBpbnRyaW5zaWMgZXZlbnRzIHNldAotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1m
cmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotVGVzdCAyLzIgUEFTU0VELgpJbmRleDogTGF5b3V0VGVz
dHMvd21sL2VudGVyLWZpcnN0LWNhcmQtd2l0aC1ldmVudHMuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93bWwvZW50ZXItZmlyc3QtY2FyZC13aXRoLWV2ZW50cy5odG1sCShyZXZpc2lv
biA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9lbnRlci1maXJzdC1jYXJkLXdpdGgtZXZlbnRz
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgotPHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0
aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2VudGVyLWZpcnN0LWNhcmQtd2l0aC1ldmVu
dHMuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21s
L2dvLXRhc2stZ2V0LW1ldGhvZC1leHRlcm5hbC1kZWNrLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2stZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9nby10YXNrLWdl
dC1tZXRob2QtZXh0ZXJuYWwtZGVjay1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTcgKzAsMCBAQAotV01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZwotCi0K
LVRlc3RzIEdFVCBtZXRob2Qgb2YgPGdvPiBlbGVtZW50IC0ganVtcCB0byBleHRlcm5hbCBkZWNr
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJh
bWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi1UaGlzIGlzIHRoZSBmaXJzdCBl
eHRlcm5hbCBjYXJkLgpJbmRleDogTGF5b3V0VGVzdHMvd21sL2dvLXRhc2stZ2V0LW1ldGhvZC1l
eHRlcm5hbC1kZWNrLXdpdGgtaHJlZi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd21sL2dvLXRhc2stZ2V0LW1ldGhvZC1leHRlcm5hbC1kZWNrLXdpdGgtaHJlZi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21sL2dvLXRhc2stZ2V0
LW1ldGhvZC1leHRlcm5hbC1kZWNrLXdpdGgtaHJlZi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTcgKzAsMCBAQAotV01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlw
dGluZwotCi0KLVRlc3RzIEdFVCBtZXRob2Qgb2YgPGdvPiBlbGVtZW50IC0ganVtcCB0byBleHRl
cm5hbCBkZWNrIHRvIGEgc3BlY2lmaWMgY2FyZAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
LQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0t
LS0tLS0tLQotVGhpcyBpcyB0aGUgc2Vjb25kIGV4dGVybmFsIGNhcmQuCkluZGV4OiBMYXlvdXRU
ZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2std2l0aC1ocmVmLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL2dvLXRhc2stZ2V0LW1ldGhvZC1leHRlcm5h
bC1kZWNrLXdpdGgtaHJlZi5odG1sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dt
bC9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVjay13aXRoLWhyZWYuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZh
ciByZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzID0gIi4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGgxPldNTCBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2std2l0aC1o
cmVmLmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dt
bC9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVjay5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3dtbC9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVjay5odG1sCShyZXZp
c2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJu
YWwtZGVjay5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVzdHMgPSAiLi4iOzwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1M
IHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9nby10YXNrLWdldC1tZXRob2Qt
ZXh0ZXJuYWwtZGVjay5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLXNhbWUtZGVjay1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL2dvLXRhc2stZ2V0LW1ldGhvZC1zYW1lLWRlY2st
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9nby10YXNr
LWdldC1tZXRob2Qtc2FtZS1kZWNrLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwx
NyArMCwwIEBACi1XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQot
VGVzdHMgR0VUIG1ldGhvZCBvZiA8Z28+IGVsZW1lbnQgLSBqdW1wIHdpdGhpbiBkZWNrCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRo
IC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi1UZXN0IHBhc3NlZApJbmRleDogTGF5b3V0
VGVzdHMvd21sL2dvLXRhc2stZ2V0LW1ldGhvZC1zYW1lLWRlY2suaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93bWwvZ28tdGFzay1nZXQtbWV0aG9kLXNhbWUtZGVjay5odG1sCShyZXZp
c2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9nby10YXNrLWdldC1tZXRob2Qtc2FtZS1k
ZWNrLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgotPHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2Ny
aXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC1zYW1l
LWRlY2suanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
d21sL2lucHV0LWZvcm1hdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d21sL2lucHV0LWZvcm1hdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0
VGVzdHMvd21sL2lucHV0LWZvcm1hdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
NTMgKzAsMCBAQAotV01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZwotCi0K
LVRlc3RzIGlucHV0IGZvcm1hdCB2YWxpZGF0aW9uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1QQVNTIHBFbGVtZW50MS50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiAkaW5wdXQxIgot
UEFTUyBwRWxlbWVudDIudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogJGlucHV0MiIKLVBBU1MgcEVs
ZW1lbnQzLnRleHRDb250ZW50IGlzICJSZXN1bHQ6ICRpbnB1dDMiCi1QQVNTIHBFbGVtZW50NC50
ZXh0Q29udGVudCBpcyAiUmVzdWx0OiAkaW5wdXQ0IgotUEFTUyBwRWxlbWVudDUudGV4dENvbnRl
bnQgaXMgIlJlc3VsdDogJGlucHV0NSIKLVBBU1MgcEVsZW1lbnQ2LnRleHRDb250ZW50IGlzICJS
ZXN1bHQ6ICRpbnB1dDYiCi1QQVNTIHBFbGVtZW50Ny50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiAk
aW5wdXQ3IgotUEFTUyBwRWxlbWVudDgudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogJGlucHV0OCIK
LVBBU1MgcEVsZW1lbnQ5LnRleHRDb250ZW50IGlzICJSZXN1bHQ6ICRpbnB1dDkiCi1QQVNTIHBF
bGVtZW50MTAudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogJGlucHV0MTAiCi1QQVNTIHBFbGVtZW50
MTEudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogJGlucHV0MTEiCi1QQVNTIHBFbGVtZW50MTIudGV4
dENvbnRlbnQgaXMgIlJlc3VsdDogJGlucHV0MTIiCi1QQVNTIHBFbGVtZW50MS50ZXh0Q29udGVu
dCBpcyAiUmVzdWx0OiBUZVN0MC0wMSIKLVBBU1MgcEVsZW1lbnQyLnRleHRDb250ZW50IGlzICJS
ZXN1bHQ6IFRlU3QwLTAyIgotUEFTUyBwRWxlbWVudDMudGV4dENvbnRlbnQgaXMgIlJlc3VsdDog
VGVTdC0rMDMiCi1QQVNTIHBFbGVtZW50NC50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiBUZVN0MC0w
NCIKLVBBU1MgcEVsZW1lbnQ1LnRleHRDb250ZW50IGlzICJSZXN1bHQ6IFRlU3QwLTA1IgotUEFT
UyBwRWxlbWVudDYudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogIgotUEFTUyBwRWxlbWVudDcudGV4
dENvbnRlbnQgaXMgIlJlc3VsdDogIgotUEFTUyBwRWxlbWVudDgudGV4dENvbnRlbnQgaXMgIlJl
c3VsdDogVGVTdDAtMDgiCi1QQVNTIHBFbGVtZW50OS50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiBU
ZVN0MC0wOSIKLVBBU1MgcEVsZW1lbnQxMC50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiAwMTIzNDU2
Nzg5IgotUEFTUyBwRWxlbWVudDExLnRleHRDb250ZW50IGlzICJSZXN1bHQ6IFRlU3QwLTExIgot
UEFTUyBwRWxlbWVudDEyLnRleHRDb250ZW50IGlzICJSZXN1bHQ6IFRlU3QwLTEyIgotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0K
LUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotU3Rh
cnQgdGVzdAotUmVzdWx0OiBUZVN0MC0wMQotUmVzdWx0OiBUZVN0MC0wMgotUmVzdWx0OiBUZVN0
LSswMwotUmVzdWx0OiBUZVN0MC0wNAotUmVzdWx0OiBUZVN0MC0wNQotUmVzdWx0OgotUmVzdWx0
OgotUmVzdWx0OiBUZVN0MC0wOAotUmVzdWx0OiBUZVN0MC0wOQotUmVzdWx0OiAwMTIzNDU2Nzg5
Ci1SZXN1bHQ6IFRlU3QwLTExCi1SZXN1bHQ6IFRlU3QwLTEyCkluZGV4OiBMYXlvdXRUZXN0cy93
bWwvaW5wdXQtZm9ybWF0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL2lucHV0
LWZvcm1hdC5odG1sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9pbnB1dC1m
b3JtYXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Ci08c2NyaXB0PnZhciByZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzID0gIi4uIjs8L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPldNTCBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBz
Y3JpcHRpbmc8L2gxPgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW5wdXQtZm9ybWF0LmpzIj48L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9uZXdjb250ZXh0
LXNhbWUtZGVjay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL25l
d2NvbnRleHQtc2FtZS1kZWNrLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlv
dXRUZXN0cy93bWwvbmV3Y29udGV4dC1zYW1lLWRlY2stZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDIxICswLDAgQEAKLVdNTCBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3Jp
cHRpbmcKLQotCi1UZXN0cyBuZXdjb250ZXh0IGF0dHJpYnV0ZSBoYW5kbGluZyBvbiBjYXJkcyB3
aXRoaW4gdGhlIHNhbWUgZGVjawotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFT
UyByZXN1bHQxLnRleHRDb250ZW50IGlzICJUZXN0IDEvMzogdmFyMT0nJyIKLVBBU1MgcmVzdWx0
Mi50ZXh0Q29udGVudCBpcyAiVGVzdCAyLzM6IHZhcjE9JyciCi1QQVNTIHJlc3VsdDMudGV4dENv
bnRlbnQgaXMgIlRlc3QgMy8zOiB2YXIyPSdQQVNTJyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0KLVRlc3QgMi8zOiB2YXIxPScnCi1U
ZXN0IDMvMzogdmFyMj0nUEFTUycKSW5kZXg6IExheW91dFRlc3RzL3dtbC9uZXdjb250ZXh0LXNh
bWUtZGVjay5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9uZXdjb250ZXh0LXNh
bWUtZGVjay5odG1sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9uZXdjb250
ZXh0LXNhbWUtZGVjay5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+
Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVzdHMgPSAi
Li4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGxheW91dCB0ZXN0cyAtIHVzaW5n
IFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9uZXdjb250ZXh0LXNh
bWUtZGVjay5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy93bWwvb25lbnRlcmZvcndhcmQtZXZlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3dtbC9vbmVudGVyZm9yd2FyZC1ldmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLWV2ZW50LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNyArMCwwIEBACi1XTUwgbGF5b3V0IHRlc3RzIC0g
dXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVzdHMgb25lbnRlcmZvcndhcmQgbm9uLWlubGlu
ZSBldmVudCBkZWNsYXJhdGlvbnMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0t
LS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0K
LVRlc3QgcGFzc2VkCkluZGV4OiBMYXlvdXRUZXN0cy93bWwvb25lbnRlcmZvcndhcmQtZXZlbnQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvb25lbnRlcmZvcndhcmQtZXZlbnQu
aHRtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvb25lbnRlcmZvcndhcmQt
ZXZlbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Ci08c2NyaXB0PnZhciByZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzID0gIi4uIjs8L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPldNTCBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBz
Y3JpcHRpbmc8L2gxPgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvb25lbnRlcmZvcndhcmQtZXZlbnQu
anMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL29u
ZW50ZXJmb3J3YXJkLWlubGluZS1ldmVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLWlubGluZS1ldmVudC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21sL29uZW50ZXJmb3J3YXJkLWlubGluZS1l
dmVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzAsMCBAQAotV01MIGxh
eW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZwotCi0KLVRlc3RzIG9uZW50ZXJmb3J3
YXJkIGlubGluZSBldmVudCBkZWNsYXJhdGlvbnMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+Jwot
LS0tLS0tLS0KLVRlc3QgcGFzc2VkCkluZGV4OiBMYXlvdXRUZXN0cy93bWwvb25lbnRlcmZvcndh
cmQtaW5saW5lLWV2ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL29uZW50
ZXJmb3J3YXJkLWlubGluZS1ldmVudC5odG1sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRl
c3RzL3dtbC9vbmVudGVyZm9yd2FyZC1pbmxpbmUtZXZlbnQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PnZhciByZWxhdGl2
ZVBhdGhUb0xheW91dFRlc3RzID0gIi4uIjs8L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvV01MVGVzdENhc2UuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgxPldN
TCBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmc8L2gxPgotPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvb25lbnRlcmZvcndhcmQtaW5saW5lLWV2ZW50LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9vbnRpbWVyLWV2ZW50LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvb250aW1lci1ldmVudC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21sL29udGltZXItZXZlbnQt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICswLDAgQEAKLVdNTCBsYXlvdXQg
dGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmcKLQotCi1UZXN0cyBvbnRpbWVyIG5vbi1pbmxp
bmUgZXZlbnQgZGVjbGFyYXRpb25zCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQotCi0tLS0t
LS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0t
Ci1UZXN0IHBhc3NlZApJbmRleDogTGF5b3V0VGVzdHMvd21sL29udGltZXItZXZlbnQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvb250aW1lci1ldmVudC5odG1sCShyZXZpc2lv
biA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9vbnRpbWVyLWV2ZW50Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdD52YXIg
cmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nPC9oMT4KLTxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL29udGltZXItZXZlbnQuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL29udGltZXItaW5saW5lLWV2ZW50LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvb250aW1lci1pbmxpbmUtZXZlbnQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9vbnRpbWVy
LWlubGluZS1ldmVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzAsMCBA
QAotV01MIGxheW91dCB0ZXN0cyAtIHVzaW5nIFhIVE1MIHNjcmlwdGluZwotCi0KLVRlc3RzIG9u
dGltZXIgaW5saW5lIGV2ZW50IGRlY2xhcmF0aW9ucwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4n
Ci0tLS0tLS0tLQotVGVzdCBwYXNzZWQKSW5kZXg6IExheW91dFRlc3RzL3dtbC9vbnRpbWVyLWlu
bGluZS1ldmVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9vbnRpbWVyLWlu
bGluZS1ldmVudC5odG1sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9vbnRp
bWVyLWlubGluZS1ldmVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhl
YWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVzdHMg
PSAiLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9XTUxUZXN0Q2FzZS5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGxheW91dCB0ZXN0cyAtIHVz
aW5nIFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9vbnRpbWVyLWlu
bGluZS1ldmVudC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy93bWwvb3B0aW9uLWVsZW1lbnQtb25waWNrLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93bWwvb3B0aW9uLWVsZW1lbnQtb25waWNrLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvb3B0aW9uLWVsZW1lbnQtb25waWNrLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNyArMCwwIEBACi1XTUwgbGF5b3V0IHRl
c3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVzdHMgb25waWNrIGludHJpbnNpYyBl
dmVudCBzdXBwb3J0IG9mIG9wdGlvbiBlbGVtZW50cwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4n
Ci0tLS0tLS0tLQotVGVzdCBwYXNzZWQKSW5kZXg6IExheW91dFRlc3RzL3dtbC9vcHRpb24tZWxl
bWVudC1vbnBpY2stcmVjdXJzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93bWwvb3B0aW9uLWVsZW1lbnQtb25waWNrLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21sL29wdGlvbi1lbGVtZW50LW9ucGljay1y
ZWN1cnNpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICswLDAgQEAKLVdN
TCBsYXlvdXQgdGVzdHMgLSB1c2luZyBYSFRNTCBzY3JpcHRpbmcKLQotCi1UZXN0cyBvbnBpY2sg
aW50cmluc2ljIGV2ZW50IHJlY3Vyc2lvbiBidWcKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+Jwot
LS0tLS0tLS0KLQpJbmRleDogTGF5b3V0VGVzdHMvd21sL29wdGlvbi1lbGVtZW50LW9ucGljay1y
ZWN1cnNpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvb3B0aW9uLWVsZW1l
bnQtb25waWNrLXJlY3Vyc2lvbi5odG1sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3Rz
L3dtbC9vcHRpb24tZWxlbWVudC1vbnBpY2stcmVjdXJzaW9uLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdD52YXIgcmVsYXRp
dmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5X
TUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2Ny
aXB0LXRlc3RzL29wdGlvbi1lbGVtZW50LW9ucGljay1yZWN1cnNpb24uanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL29wdGlvbi1lbGVtZW50LW9u
cGljay5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9vcHRpb24tZWxlbWVudC1v
bnBpY2suaHRtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvb3B0aW9uLWVs
ZW1lbnQtb25waWNrLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4K
LTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgotPHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIu
LiI7PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcg
WEhUTUwgc2NyaXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL29wdGlvbi1lbGVtZW50
LW9ucGljay5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy93bWwvc2VsZWN0LWVsZW1lbnQtdmFyaWFibGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93bWwvc2VsZWN0LWVsZW1lbnQtdmFyaWFibGVzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvc2VsZWN0LWVsZW1lbnQtdmFyaWFi
bGVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxOSArMCwwIEBACi1XTUwgbGF5
b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVzdHMgdmFyaWFibGUgcmVm
ZXJlbmNlcyBpbiBjb25qdWN0aW9uIHdpdGggc2VsZWN0IGVsZW1lbnRzCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHJlc3VsdEVsZW1lbnQudGV4dENvbnRlbnQgaXMgIlNl
bGVjdGlvbiByZXN1bHQ6ICcnIgotUEFTUyByZXN1bHRFbGVtZW50LnRleHRDb250ZW50IGlzICJT
ZWxlY3Rpb24gcmVzdWx0OiAnZG9nZ3knIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAv
LzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotU2VsZWN0aW9uIHJlc3VsdDogJ2RvZ2d5JwpJ
bmRleDogTGF5b3V0VGVzdHMvd21sL3NlbGVjdC1lbGVtZW50LXZhcmlhYmxlcy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9zZWxlY3QtZWxlbWVudC12YXJpYWJsZXMuaHRtbAko
cmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvc2VsZWN0LWVsZW1lbnQtdmFyaWFi
bGVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgotPHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2Ny
aXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3NlbGVjdC1lbGVtZW50LXZhcmlhYmxl
cy5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93bWwv
dmFyaWFibGUtcmVmZXJlbmNlLWludmFsaWQtY2hhcmFjdGVyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvdmFyaWFibGUtcmVmZXJlbmNlLWludmFsaWQtY2hhcmFj
dGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvdmFy
aWFibGUtcmVmZXJlbmNlLWludmFsaWQtY2hhcmFjdGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwyOSArMCwwIEBACi1XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2Ny
aXB0aW5nCi0KLQotVGVzdCB0aGF0IGludmFsaWQgdmFyaWFibGUgcmVmZXJlbmNlcyBhcmVuJ3Qg
ZGV0ZWN0ZWQgdW50aWwgdmFyaWFibGUgc3Vic3RpdHV0aW9uIGlzIGV4ZWN1dGVkCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHBFbGVtZW50MS50ZXh0Q29udGVudCBpcyAi
UmVzdWx0OiQjdmFyIFBBU1NFRCIKLVBBU1MgcEVsZW1lbnQyLnRleHRDb250ZW50IGlzICJSZXN1
bHQ6ICQodiNhcjplKVBBU1NFRCIKLVBBU1MgcEVsZW1lbnQzLnRleHRDb250ZW50IGlzICJSZXN1
bHQ6JCh2YXI6IykgUEFTU0VEIgotUEFTUyBwRWxlbWVudDQudGV4dENvbnRlbnQgaXMgIlJlc3Vs
dDogUEFTU0VEJCh2YXI6dW5lc2NhcGUpIgotUEFTUyBwRWxlbWVudDEudGV4dENvbnRlbnQgaXMg
IlJlc3VsdDokI3ZhciBQQVNTRUQiCi1QQVNTIHBFbGVtZW50Mi50ZXh0Q29udGVudCBpcyAiUmVz
dWx0OiAkKHYjYXI6ZSlQQVNTRUQiCi1QQVNTIHBFbGVtZW50My50ZXh0Q29udGVudCBpcyAiUmVz
dWx0OiQodmFyOiMpIFBBU1NFRCIKLVBBU1MgcEVsZW1lbnQ0LnRleHRDb250ZW50IGlzICJSZXN1
bHQ6IFBBU1NFRCQodmFyOnVuZXNjYXBlKSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGgg
Ly88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0KLVN0YXJ0IHRlc3QKLVJlc3VsdDokI3ZhciBQ
QVNTRUQKLVJlc3VsdDogJCh2I2FyOmUpUEFTU0VECi1SZXN1bHQ6JCh2YXI6IykgUEFTU0VECi1S
ZXN1bHQ6IFBBU1NFRCQodmFyOnVuZXNjYXBlKQpJbmRleDogTGF5b3V0VGVzdHMvd21sL3Zhcmlh
YmxlLXJlZmVyZW5jZS1pbnZhbGlkLWNoYXJhY3Rlci5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dtbC92YXJpYWJsZS1yZWZlcmVuY2UtaW52YWxpZC1jaGFyYWN0ZXIuaHRtbAkocmV2
aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvdmFyaWFibGUtcmVmZXJlbmNlLWludmFs
aWQtY2hhcmFjdGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4K
LTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgotPHNjcmlwdD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIu
LiI7PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcg
WEhUTUwgc2NyaXB0aW5nPC9oMT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3ZhcmlhYmxlLXJlZmVy
ZW5jZS1pbnZhbGlkLWNoYXJhY3Rlci5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy93bWwvdmFyaWFibGUtcmVmZXJlbmNlLXZhbGlkLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvdmFyaWFibGUtcmVmZXJlbmNlLXZhbGlk
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvdmFyaWFi
bGUtcmVmZXJlbmNlLXZhbGlkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzOCAr
MCwwIEBACi1XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nCi0KLQotVGVz
dHMgdmFsaWQgdmFyaWFibGUgcmVmZXJlbmNlcwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyBwRWxlbWVudDEudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogJHZhciIKLVBBU1Mg
cEVsZW1lbnQyLnRleHRDb250ZW50IGlzICJSZXN1bHQ6ICQodmFyOmUpIgotUEFTUyBwRWxlbWVu
dDMudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogJCh2YXIyKSIKLVBBU1MgcEVsZW1lbnQ0LnRleHRD
b250ZW50IGlzICJSZXN1bHQ6ICQodmFyMjp1bmVzYykiCi1QQVNTIHBFbGVtZW50NS50ZXh0Q29u
dGVudCBpcyAiUmVzdWx0OiAkdiIKLVBBU1MgcEVsZW1lbnQ2LnRleHRDb250ZW50IGlzICJSZXN1
bHQ6ICQodjplKSIKLVBBU1MgcEVsZW1lbnQ3LnRleHRDb250ZW50IGlzICJSZXN1bHQ6ICR3b250
d29yayIKLVBBU1MgcEVsZW1lbnQxLnRleHRDb250ZW50IGlzICJSZXN1bHQ6IFRFU1QgUEFTU0VE
IgotUEFTUyBwRWxlbWVudDIudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogVEVTVCUyMFBBU1NFRCIK
LVBBU1MgcEVsZW1lbnQzLnRleHRDb250ZW50IGlzICJSZXN1bHQ6IFRFU1QlMjBQQVNTRUQiCi1Q
QVNTIHBFbGVtZW50NC50ZXh0Q29udGVudCBpcyAiUmVzdWx0OiBURVNUIFBBU1NFRCIKLVBBU1Mg
cEVsZW1lbnQ1LnRleHRDb250ZW50IGlzICJSZXN1bHQ6IFRFU1QgUEFTU0VEIgotUEFTUyBwRWxl
bWVudDYudGV4dENvbnRlbnQgaXMgIlJlc3VsdDogVEVTVCUyMFBBU1NFRCIKLVBBU1MgcEVsZW1l
bnQ3LnRleHRDb250ZW50IGlzICJSZXN1bHQ6ICIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBh
dGggLy88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0KLVN0YXJ0IHRlc3QKLVJlc3VsdDogVEVT
VCBQQVNTRUQKLVJlc3VsdDogVEVTVCUyMFBBU1NFRAotUmVzdWx0OiBURVNUJTIwUEFTU0VECi1S
ZXN1bHQ6IFRFU1QgUEFTU0VECi1SZXN1bHQ6IFRFU1QgUEFTU0VECi1SZXN1bHQ6IFRFU1QlMjBQ
QVNTRUQKLVJlc3VsdDoKSW5kZXg6IExheW91dFRlc3RzL3dtbC92YXJpYWJsZS1yZWZlcmVuY2Ut
dmFsaWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvdmFyaWFibGUtcmVmZXJl
bmNlLXZhbGlkLmh0bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21sL3Zhcmlh
YmxlLXJlZmVyZW5jZS12YWxpZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgot
PGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQ+dmFyIHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVz
dHMgPSAiLi4iOzwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9XTUxUZXN0Q2FzZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+V01MIGxheW91dCB0ZXN0cyAt
IHVzaW5nIFhIVE1MIHNjcmlwdGluZzwvaDE+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy92YXJpYWJs
ZS1yZWZlcmVuY2UtdmFsaWQuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9XTUxUZXN0Q2FzZS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzCShyZXZpc2lvbiA4NTI0MikK
KysrIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvV01MVGVzdENhc2UuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTEzICswLDAgQEAKLXZhciB3bWxOUyA9ICJodHRwOi8vd3d3LndhcGZvcnVtLm9y
Zy9EVEQvd21sXzEuMS54bWwiOwotdmFyIHhodG1sTlMgPSAiaHR0cDovL3d3dy53My5vcmcvMTk5
OS94aHRtbCI7Ci0KLXZhciB0ZXN0RG9jdW1lbnQ7Ci12YXIgaWZyYW1lRWxlbWVudDsKLXZhciBi
b2R5RWxlbWVudDsKLQotZnVuY3Rpb24gY3JlYXRlV01MRWxlbWVudChuYW1lKSB7Ci0gICAgcmV0
dXJuIHRlc3REb2N1bWVudC5jcmVhdGVFbGVtZW50TlMod21sTlMsICJ3bWw6IiArIG5hbWUpOwot
fQotCi1mdW5jdGlvbiBvbmxvYWRIYW5kbGVyKHJlc2V0dXBEb2N1bWVudCkgewotICAgIGlmICh0
ZXN0RG9jdW1lbnQpIHsKLSAgICAgICAgdGVzdERvY3VtZW50ID0gaWZyYW1lRWxlbWVudC5jb250
ZW50RG9jdW1lbnQ7Ci0gICAgICAgIGlmIChyZXNldHVwRG9jdW1lbnQpCi0gICAgICAgICAgICBz
ZXR1cFRlc3REb2N1bWVudCgpOwotCi0gICAgICAgIGFzc3VyZUxheW91dCgpOwotICAgICAgICBl
eGVjdXRlVGVzdCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdGVzdERvY3VtZW50
ID0gaWZyYW1lRWxlbWVudC5jb250ZW50RG9jdW1lbnQ7Ci0gICAgc2V0dXBUZXN0RG9jdW1lbnQo
KTsKLSAgICBwcmVwYXJlVGVzdCgpOwotCi0gICAgLy8gSW4gYSByZWd1bGFyIFdNTCBkb2N1bWVu
dCwgdGhpcyB3b3VsZCBoYXBwZW4gYWZ0ZXIgdGhlIHBhcnNpbmcgZmluaXNoZWQuCi0gICAgLy8g
VGhvdWdoIGFzIHdlIGR5bmFtaWNhbGx5IGNyZWF0ZSB0ZXN0Y2FzZXMsIHdlIGhhdmUgdG8gdGFr
ZSBjYXJlIG9mIGluaXRpYWxpemluZyBXTUwgdmFyaWFibGUgc3RhdGUgbWFudWFsbHkuCi0gICAg
dGVzdERvY3VtZW50LmluaXRpYWxpemVXTUxQYWdlU3RhdGUoKTsKLX0KLQotZnVuY3Rpb24gY3Jl
YXRlU3RhdGljV01MVGVzdENhc2UodGVzdERlc2NyaXB0aW9uLCB0ZXN0TmFtZSwgcmVzZXRQYWdl
U3RhdGUpIHsKLSAgICBpZiAodGVzdE5hbWUgPT0gbnVsbCkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgaWYgKHJlc2V0UGFnZVN0YXRlID09IG51bGwpCi0gICAgICAgIHJlc2V0UGFnZVN0YXRlID0g
dHJ1ZTsKLQotICAgIGNyZWF0ZVdNTFRlc3RDYXNlKHRlc3REZXNjcmlwdGlvbiwgZmFsc2UsIHRl
c3ROYW1lLCByZXNldFBhZ2VTdGF0ZSk7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0ZUR5bmFtaWNXTUxU
ZXN0Q2FzZSh0ZXN0RGVzY3JpcHRpb24sIHJlc2V0dXBEb2N1bWVudCkgewotICAgIC8vIFNldHVw
IGRlZmF1bHQgdGVzdCBvcHRpb25zCi0gICAgaWYgKHJlc2V0dXBEb2N1bWVudCA9PSBudWxsKQot
ICAgICAgICByZXNldHVwRG9jdW1lbnQgPSB0cnVlOwotCi0gICAgLy8gU2V0dXAgZGVmYXVsdCB0
ZXN0IG5hbWUKLSAgICB2YXIgdGVzdE5hbWUgPSByZWxhdGl2ZVBhdGhUb0xheW91dFRlc3RzICsg
Ii93bWwvcmVzb3VyY2VzL3Rlc3QtZG9jdW1lbnQud21sIjsKLSAgICBjcmVhdGVXTUxUZXN0Q2Fz
ZSh0ZXN0RGVzY3JpcHRpb24sIHJlc2V0dXBEb2N1bWVudCwgdGVzdE5hbWUsIHRydWUpOwotfQot
Ci1mdW5jdGlvbiBjcmVhdGVXTUxUZXN0Q2FzZSh0ZXN0RGVzY3JpcHRpb24sIHJlc2V0dXBEb2N1
bWVudCwgdGVzdE5hbWUsIHJlc2V0UGFnZVN0YXRlKSB7Ci0gICAgLy8gSW5pdGlhbGl6ZSBKUyB0
ZXN0Ci0gICAgZGVzY3JpcHRpb24odGVzdERlc2NyaXB0aW9uKTsKLSAgICBib2R5RWxlbWVudCA9
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07Ci0KLSAgICAvLyBDbGVh
ciB2YXJpYWJsZSBzdGF0ZSAmIGhpc3RvcnkKLSAgICBpZiAocmVzZXRQYWdlU3RhdGUpCi0gICAg
ICAgIGRvY3VtZW50LnJlc2V0V01MUGFnZVN0YXRlKCk7Ci0KLSAgICAvLyBTZXR1cCBEUlQgc3Bl
Y2lmaWMgc2V0dGluZ3MKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgfQotCi0gICAg
Ly8gQ3JlYXRlIGNvbnRhaW5lciBlbGVtZW50IHRvIGxvYWQgdGhlIFdNTCBkb2N1bWVudAotICAg
IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoeGh0bWxOUywgImlmcmFt
ZSIpOwotICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gdGVzdE5hbWU7Ci0KLSAgICAvLyBQcm9jZXNz
IGxvYWQgZXZlbnRzLCB0YWtpbmcgY2FyZSBvZiBzZXR0aW5nIHVwIHRoZSBuYXRpdmUgV01MIHRl
c3RjYXNlCi0gICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBmdW5jdGlvbigpIHsgd2luZG93LnNl
dFRpbWVvdXQoJ29ubG9hZEhhbmRsZXIoJyArIHJlc2V0dXBEb2N1bWVudCArICcpJywgMCk7IH0K
LSAgICBib2R5RWxlbWVudC5pbnNlcnRCZWZvcmUoaWZyYW1lRWxlbWVudCwgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikpOwotfQotCi1mdW5jdGlvbiBhc3N1cmVMYXlvdXQo
KSB7Ci0gICAgLy8gQXNzdXJlIGluaXRpYWwgbGF5b3V0IGZpbmlzaGVkICh2YXJpYWJsZSBzdWJz
dGl0aW9ucyBoYXBwZW4gb24gYXR0YWNoIHRpbWUpCi0gICAgdmFyIGNhcmRzID0gdGVzdERvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJjYXJkIik7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBjYXJkcy5sZW5ndGg7ICsraSkgewotICAgICAgICBjYXJkc1tpXS5vZmZzZXRUb3A7Ci0gICAg
fQotfQotCi1mdW5jdGlvbiBzdGFydFRlc3QoeCwgeSkgewotICAgIGFzc3VyZUxheW91dCgpOwot
ICAgIHRyaWdnZXJNb3VzZUV2ZW50KHgsIHkpOwotfQotCi1mdW5jdGlvbiB0cmlnZ2VyTW91c2VF
dmVudCh4LCB5KSB7Ci0gICAgLy8gVHJhbnNsYXRpb24gZHVlIHRvIEhUTUwgY29udGVudCBhYm92
ZSB0aGUgV01MIGRvY3VtZW50IGluIHRoZSBpZnJhbWUKLSAgICB4ID0geCArIGlmcmFtZUVsZW1l
bnQub2Zmc2V0TGVmdDsKLSAgICB5ID0geSArIGlmcmFtZUVsZW1lbnQub2Zmc2V0VG9wOwotCi0g
ICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbyh4LCB5KTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlVXAoKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgp
IHsKLSAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHhodG1sTlMsICJz
Y3JpcHQiKTsKLQotICAgIHNjcmlwdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1l
b3V0KCJsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCkiLCAwKTsKLSAgICB9OwotCi0g
ICAgc2NyaXB0LnNyYyA9IHJlbGF0aXZlUGF0aFRvTGF5b3V0VGVzdHMgKyAiL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI7Ci0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
LQotICAgIGJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHNjcmlwdCk7Ci19CkluZGV4OiBMYXlvdXRU
ZXN0cy93bWwvcmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQtZGVueS53bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LWRlbnkud21sCShyZXZpc2lv
biA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvYWNjZXNzLXRhcmdldC1kZW55
LndtbAkod29ya2luZyBjb3B5KQpAQCAtMSw5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/
PgotPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJo
dHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2Fy
ZD4KLSAgICAgICAgPGFuY2hvcj5TdGFydCB0ZXN0PGdvIGhyZWY9ImxvY2tlZC1kZWNrLndtbCIv
PjwvYW5jaG9yPgotICAgICAgICA8cD5UZXN0IGZvciBEZWNrIEFjY2VzcyBjb250cm9sIGluIFdN
TC48L3A+Ci0gICAgICAgIDxwPklmIHRoZSB0ZXN0IHBhc3NlcywgdGhpcyBkZWNrIHdpbGwgcmVt
YWluIHZpc2libGU8L3A+Ci0gICAgPC9jYXJkPgotPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93
bWwvcmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dtbC9yZXNvdXJjZXMvYWNjZXNzLXRhcmdldC53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5
b3V0VGVzdHMvd21sL3Jlc291cmNlcy9hY2Nlc3MtdGFyZ2V0LndtbAkod29ya2luZyBjb3B5KQpA
QCAtMSw5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQVUJM
SUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9y
Zy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZD4KLSAgICAgICAgPGFuY2hvcj5T
dGFydCB0ZXN0PGdvIGhyZWY9ImxvY2tlZC1kZWNrLndtbCIvPjwvYW5jaG9yPgotICAgICAgICA8
cD5UZXN0IGZvciBEZWNrIEFjY2VzcyBjb250cm9sIGluIFdNTC48L3A+Ci0gICAgICAgIDxwPklm
IHRoZSB0ZXN0IHBhc3NlcywgdGhpcyBkZWNrIHdpbGwgaW1tZWRpYXRlbHkganVtcCB0byAibG9j
a2VkLWRlY2sud21sIjwvcD4KLSAgICA8L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3dtbC9yZXNvdXJjZXMvZW50ZXItY2FyZC13aXRoLWV2ZW50cy53bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9lbnRlci1jYXJkLXdpdGgtZXZlbnRzLndtbAkocmV2
aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL2VudGVyLWNhcmQtd2l0
aC1ldmVudHMud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI2ICswLDAgQEAKLTw/eG1sIHZlcnNp
b249IjEuMCI/Pg0KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAx
LjMvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbDEzLmR0ZCI+DQotPHdtbD4N
Ci0gICAgPGNhcmQgaWQ9ImNhcmQxIj4NCi0gICAgICAgIDxhIGhyZWY9IiNjYXJkMiI+TmV4dCBD
YXJkPC9hPg0KLSAgICA8L2NhcmQ+DQotDQotICAgIDxjYXJkIGlkPSJjYXJkMiIgb25lbnRlcmJh
Y2t3YXJkPSIjY2FyZDQiPg0KLSAgICAgICAgPG9uZXZlbnQgdHlwZT0ib25lbnRlcmZvcndhcmQi
Pg0KLSAgICAgICAgICAgIDxnbyBocmVmPSIjY2FyZDMiLz4NCi0gICAgICAgIDwvb25ldmVudD4N
Ci0gICAgICAgIFRlc3QgRkFJTEVELiAoVGhpcyBjYXJkIGlzIE5FVkVSIHZpc2libGUgdG8gdGhl
IHVzZXIpDQotICAgIDwvY2FyZD4NCi0NCi0gICAgPGNhcmQgaWQ9ImNhcmQzIj4NCi0gICAgICAg
IDxhbmNob3I+DQotICAgICAgICAgICAgPHByZXYvPg0KLSAgICAgICAgICAgIE5leHQgVGVzdA0K
LSAgICAgICAgPC9hbmNob3I+DQotICAgICAgICBUZXN0IDEvMiBQQVNTRUQuDQotICAgIDwvY2Fy
ZD4NCi0NCi0gICAgPGNhcmQgaWQ9ImNhcmQ0Ij4NCi0gICAgICAgIFRlc3QgMi8yIFBBU1NFRC4N
Ci0gICAgPC9jYXJkPg0KLTwvd21sPg0KSW5kZXg6IExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMv
ZW50ZXItZmlyc3QtY2FyZC13aXRoLWV2ZW50cy53bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd21sL3Jlc291cmNlcy9lbnRlci1maXJzdC1jYXJkLXdpdGgtZXZlbnRzLndtbAkocmV2aXNp
b24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL2VudGVyLWZpcnN0LWNhcmQt
d2l0aC1ldmVudHMud21sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI1ICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdN
TCAxLjMvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbDEzLmR0ZCI+DQotPHdt
bD4NCi0gICAgPGNhcmQgaWQ9ImNhcmQxIj4NCi0gICAgICAgIDxvbmV2ZW50IHR5cGU9Im9uZW50
ZXJiYWNrd2FyZCI+DQotICAgICAgICAgICAgPGdvIGhyZWY9IiNjYXJkMyI+DQotICAgICAgICAg
ICAgICAgIDxzZXR2YXIgbmFtZT0icmVzdWx0IiB2YWx1ZT0iRE9ORSIvPg0KLSAgICAgICAgICAg
IDwvZ28+DQotICAgICAgICA8L29uZXZlbnQ+DQotICAgICAgICA8YSBocmVmPSIjY2FyZDIiPk5l
eHQgVGVzdDwvYT4NCi0gICAgPC9jYXJkPg0KLQ0KLSAgICA8Y2FyZCBpZD0iY2FyZDIiPg0KLSAg
ICAgICAgPGFuY2hvcj4NCi0gICAgICAgICAgICA8cHJldi8+DQotICAgICAgICAgICAgTmV4dCBU
ZXN0DQotICAgICAgICA8L2FuY2hvcj4NCi0gICAgICAgIFRlc3QgMS8yIFBBU1NFRC4NCi0gICAg
PC9jYXJkPg0KLQ0KLSAgICA8Y2FyZCBpZD0iY2FyZDMiPg0KLSAgICAgICAgVGVzdCAyLzIgUEFT
U0VELg0KLSAgICAgICAgPHAgc3R5bGU9ImRpc3BsYXk6IG5vbmUiIGlkPSJyZXN1bHRJbmRpY2F0
b3IiPiRyZXN1bHQ8L3A+DQotICAgIDwvY2FyZD4NCi08L3dtbD4NCkluZGV4OiBMYXlvdXRUZXN0
cy93bWwvcmVzb3VyY2VzL2V4dGVybmFsLWRlY2sud21sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dtbC9yZXNvdXJjZXMvZXh0ZXJuYWwtZGVjay53bWwJKHJldmlzaW9uIDg1MjQyKQorKysg
TGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9leHRlcm5hbC1kZWNrLndtbAkod29ya2luZyBjb3B5
KQpAQCAtMSw2ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIHdtbCBQ
VUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVt
Lm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLTxjYXJkIGlkPSJleHRlcm5hbENhcmQxIj5U
aGlzIGlzIHRoZSBmaXJzdCBleHRlcm5hbCBjYXJkLjwvY2FyZD4KLTxjYXJkIGlkPSJleHRlcm5h
bENhcmQyIj5UaGlzIGlzIHRoZSBzZWNvbmQgZXh0ZXJuYWwgY2FyZC48L2NhcmQ+Ci08L3dtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvbG9ja2VkLWRlY2sud21sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvbG9ja2VkLWRlY2sud21sCShyZXZpc2lv
biA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvbG9ja2VkLWRlY2sud21sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFE
T0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8v
d3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8aGVhZD4KLSAg
ICAgICAgPGFjY2VzcyBkb21haW49ImxvY2FsaG9zdCIgcGF0aD0iYWNjZXNzLXRhcmdldC53bWwi
Lz4KLSAgICA8L2hlYWQ+Ci0KLSAgICA8Y2FyZD4KLSAgICAgICAgPHA+VGVzdCBmb3IgRGVjayBB
Y2Nlc3MgY29udHJvbCBpbiBXTUwuPC9wPgotICAgICAgICA8cD5UaGlzIGlzIHRoZSBsb2NrZWQg
dGFyZ2V0IGRlY2ssIG9ubHkgJ2FjY2Vzcy10YXJnZXQud21sIiBjYW4gYWNjZXNzIG1lPC9wPgot
ICAgICAgICA8cCBpZD0icmVzdWx0SW5kaWNhdG9yIiBzdHlsZT0iZGlzcGxheTogbm9uZSIvPgot
ICAgIDwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9uZXdj
b250ZXh0LXNhbWUtZGVjay53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3Jlc291
cmNlcy9uZXdjb250ZXh0LXNhbWUtZGVjay53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0
VGVzdHMvd21sL3Jlc291cmNlcy9uZXdjb250ZXh0LXNhbWUtZGVjay53bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMjUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21s
IFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9y
dW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICAgIDxjYXJkIGlkPSJvbmUiPgotICAg
ICAgIDxkbyB0eXBlPSJhY2NlcHQiIGxhYmVsPSJOZXh0IHRlc3QiPgotICAgICAgICAgICAgPGdv
IGhyZWY9IiN0d28iPgotICAgICAgICAgICAgICAgIDxzZXR2YXIgbmFtZT0idmFyMSIgdmFsdWU9
IlBBU1MiLz4KLSAgICAgICAgICAgIDwvZ28+Ci0gICAgICAgIDwvZG8+Ci0gICAgPC9jYXJkPgot
Ci0gICAgPGNhcmQgaWQ9InR3byIgbmV3Y29udGV4dD0idHJ1ZSI+Ci0gICAgICAgIDxkbyB0eXBl
PSJhY2NlcHQiIGxhYmVsPSJOZXh0IHRlc3QiPgotICAgICAgICAgICAgPGdvIGhyZWY9IiN0aHJl
ZSI+Ci0gICAgICAgICAgICAgICAgPHNldHZhciBuYW1lPSJ2YXIyIiB2YWx1ZT0iUEFTUyIvPgot
ICAgICAgICAgICAgPC9nbz4KLSAgICAgICAgPC9kbz4KLSAgICAgICAgPHAgaWQ9InJlc3VsdDEi
PlRlc3QgMS8zOiB2YXIxPSckdmFyMSc8L3A+Ci0gICAgPC9jYXJkPgotCi0gICAgPGNhcmQgaWQ9
InRocmVlIj4KLSAgICAgICAgPHAgaWQ9InJlc3VsdDIiPlRlc3QgMi8zOiB2YXIxPSckdmFyMSc8
L3A+Ci0gICAgICAgIDxwIGlkPSJyZXN1bHQzIj5UZXN0IDMvMzogdmFyMj0nJHZhcjInPC9wPgot
ICAgIDwvY2FyZD4KLTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9vbmVu
dGVyZm9yd2FyZC1ldmVudC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3Jlc291
cmNlcy9vbmVudGVyZm9yd2FyZC1ldmVudC53bWwJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0
VGVzdHMvd21sL3Jlc291cmNlcy9vbmVudGVyZm9yd2FyZC1ldmVudC53bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwg
UFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3dhcC53YXBmb3J1
bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+Ci0gIDxjYXJkIGlkPSJvbmUiPjxvbmV2ZW50
IHR5cGU9Im9uZW50ZXJmb3J3YXJkIj48Z28gaHJlZj0iI3R3byIvPjwvb25ldmVudD5UZXN0IGZh
aWxlZDwvY2FyZD4KLSAgPGNhcmQgaWQ9InR3byI+PHA+VGVzdCBwYXNzZWQ8L3A+PC9jYXJkPgot
PC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL29uZW50ZXJmb3J3YXJkLWlu
bGluZS1ldmVudC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9v
bmVudGVyZm9yd2FyZC1pbmxpbmUtZXZlbnQud21sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91
dFRlc3RzL3dtbC9yZXNvdXJjZXMvb25lbnRlcmZvcndhcmQtaW5saW5lLWV2ZW50LndtbAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NU
WVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd2Fw
LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgPGNhcmQgaWQ9Im9uZSIg
b25lbnRlcmZvcndhcmQ9IiN0d28iPlRlc3QgZmFpbGVkPC9jYXJkPgotICA8Y2FyZCBpZD0idHdv
Ij48cD5UZXN0IHBhc3NlZDwvcD48L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL3dt
bC9yZXNvdXJjZXMvb250aW1lci1ldmVudC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d21sL3Jlc291cmNlcy9vbnRpbWVyLWV2ZW50LndtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlv
dXRUZXN0cy93bWwvcmVzb3VyY2VzL29udGltZXItZXZlbnQud21sCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgd21sIFBVQkxJ
QyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93YXAud2FwZm9ydW0ub3Jn
L0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICA8Y2FyZCBpZD0ib25lIj48b25ldmVudCB0eXBl
PSJvbnRpbWVyIj48Z28gaHJlZj0iI3R3byIvPjwvb25ldmVudD48dGltZXIgdmFsdWU9IjEiLz4x
PC9jYXJkPgotICA8Y2FyZCBpZD0idHdvIj48b25ldmVudCB0eXBlPSJvbnRpbWVyIj48Z28gaHJl
Zj0iI3RocmVlIi8+PC9vbmV2ZW50Pjx0aW1lciB2YWx1ZT0iMSIvPjI8L2NhcmQ+Ci0gIDxjYXJk
IGlkPSJ0aHJlZSI+PG9uZXZlbnQgdHlwZT0ib250aW1lciI+PGdvIGhyZWY9IiNmb3VyIi8+PC9v
bmV2ZW50Pjx0aW1lciB2YWx1ZT0iMSIvPjM8L2NhcmQ+Ci0gIDxjYXJkIGlkPSJmb3VyIj48cD5U
ZXN0IHBhc3NlZDwvcD48L2NhcmQ+Ci08L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL3dtbC9yZXNv
dXJjZXMvb250aW1lci1pbmxpbmUtZXZlbnQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dtbC9yZXNvdXJjZXMvb250aW1lci1pbmxpbmUtZXZlbnQud21sCShyZXZpc2lvbiA4NTI0MikK
KysrIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvb250aW1lci1pbmxpbmUtZXZlbnQud21sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURP
Q1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93
YXAud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Ci08d21sPgotICA8Y2FyZCBpZD0ib25l
IiBvbnRpbWVyPSIjdHdvIj48dGltZXIgdmFsdWU9IjEiLz4xPC9jYXJkPgotICA8Y2FyZCBpZD0i
dHdvIiBvbnRpbWVyPSIjdGhyZWUiPjx0aW1lciB2YWx1ZT0iMSIvPjI8L2NhcmQ+Ci0gIDxjYXJk
IGlkPSJ0aHJlZSIgb250aW1lcj0iI2ZvdXIiPjx0aW1lciB2YWx1ZT0iMSIvPjM8L2NhcmQ+Ci0g
IDxjYXJkIGlkPSJmb3VyIj48cD5UZXN0IHBhc3NlZDwvcD48L2NhcmQ+Ci08L3dtbD4KSW5kZXg6
IExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvb3B0aW9uLWVsZW1lbnQtb25waWNrLXJlY3Vyc2lv
bi53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy9vcHRpb24tZWxl
bWVudC1vbnBpY2stcmVjdXJzaW9uLndtbAkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0
cy93bWwvcmVzb3VyY2VzL29wdGlvbi1lbGVtZW50LW9ucGljay1yZWN1cnNpb24ud21sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NU
WVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3
LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgotPHdtbD4KLSAgICA8Y2FyZD4KLSAgICAg
ICAgPHNlbGVjdCBuYW1lPSJyZXN1bHQiIG11bHRpcGxlPSJmYWxzZSI+Ci0gICAgICAgICAgICA8
b3B0aW9uIG9ucGljaz0iI2NhcmQyIiB2YWx1ZT0iZmluaXNoZWQiPkRvZzwvb3B0aW9uPgotICAg
ICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZXJyb3IiPkNhdDwvb3B0aW9uPgotICAgICAgICA8L3Nl
bGVjdD4KLSAgICA8L2NhcmQ+Ci0KLSAgICA8Y2FyZCBpZD0iY2FyZDIiPgotICAgICAgICA8cD5U
ZXN0IHBhc3NlcywgaWYgdGhpcyB0ZXh0IGlzIG5vdCB2aXNpYmxlIGluIHRoZSBkdW1wZWQgb3V0
cHV0PC9wPgotICAgICAgICA8cCBpZD0icmVzdWx0Ij4kcmVzdWx0PC9wPgotICAgIDwvY2FyZD4K
LTwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvd21sL3Jlc291cmNlcy90ZXN0LWRvY3VtZW50Lndt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvcmVzb3VyY2VzL3Rlc3QtZG9jdW1lbnQu
d21sCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9yZXNvdXJjZXMvdGVzdC1k
b2N1bWVudC53bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiPz4KLTwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEv
L0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KLTx3bWw+PGNh
cmQvPjxjYXJkIGlkPSJjYXJkMiI+PHA+VGVzdCBwYXNzZWQ8L3A+PC9jYXJkPjwvd21sPgpJbmRl
eDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAkocmV2aXNpb24g
ODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlw
dD52YXIgcmVsYXRpdmVQYXRoVG9MYXlvdXRUZXN0cyA9ICIuLiI7PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0icmVzb3VyY2VzL1dNTFRlc3RDYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxoMT5XTUwgbGF5b3V0IHRlc3RzIC0gdXNpbmcgWEhUTUwgc2NyaXB0aW5nPC9oMT4K
LTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2Ny
aXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0LWRlbnkuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0
LWRlbnkuanMJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0
cy9hY2Nlc3MtdGFyZ2V0LWRlbnkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjMgKzAsMCBAQAot
Ly8gW05hbWVdIGFjY2Vzcy10YXJnZXQtZGVueS5qcwotCi1jcmVhdGVTdGF0aWNXTUxUZXN0Q2Fz
ZSgiVGVzdHMgYWNjZXNzIGNvbnRyb2wgc3VwcG9ydCIsICJyZXNvdXJjZXMvYWNjZXNzLXRhcmdl
dC1kZW55LndtbCIpOwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAgICAvLyBu
by1vcAotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICB2YXIgbGFzdEVycm9yID0g
Y29uc29sZS5sYXN0V01MRXJyb3JNZXNzYWdlKCk7Ci0gICAgaWYgKGxhc3RFcnJvciA9PSAiRGVj
ayBub3QgYWNjZXNzaWJsZS4iKSB7Ci0gICAgICAgIGNvbXBsZXRlVGVzdCgpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgc3RhcnRUZXN0KDI1LCAxNSk7Ci19Ci0KLWZ1bmN0aW9uIGV4
ZWN1dGVUZXN0KCkgewotICAgIC8vIG5vLW9wCi19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9hY2Nlc3MtdGFyZ2V0
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvYWNjZXNzLXRh
cmdldC5qcwkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3Rz
L2FjY2Vzcy10YXJnZXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTkgKzAsMCBAQAotLy8gW05h
bWVdIGFjY2Vzcy10YXJnZXQuanMKLQotY3JlYXRlU3RhdGljV01MVGVzdENhc2UoIlRlc3RzIGFj
Y2VzcyBjb250cm9sIHN1cHBvcnQiLCAicmVzb3VyY2VzL2FjY2Vzcy10YXJnZXQud21sIik7Ci0K
LWZ1bmN0aW9uIHNldHVwVGVzdERvY3VtZW50KCkgewotICAgIC8vIG5vLW9wCi19Ci0KLWZ1bmN0
aW9uIHByZXBhcmVUZXN0KCkgewotICAgIHN0YXJ0VGVzdCgyNSwgMTUpOwotfQotCi1mdW5jdGlv
biBleGVjdXRlVGVzdCgpIHsKLSAgICB2YXIgcmVzdWx0SW5kaWNhdG9yRWxlbWVudCA9IHRlc3RE
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0SW5kaWNhdG9yIik7Ci0gICAgaWYgKHJlc3Vs
dEluZGljYXRvckVsZW1lbnQpCi0gICAgICAgIGNvbXBsZXRlVGVzdCgpOwotfQotCi12YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVz
dHMvZW50ZXItY2FyZC13aXRoLWV2ZW50cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
bWwvc2NyaXB0LXRlc3RzL2VudGVyLWNhcmQtd2l0aC1ldmVudHMuanMJKHJldmlzaW9uIDg1MjQy
KQorKysgTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9lbnRlci1jYXJkLXdpdGgtZXZlbnRz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI0ICswLDAgQEAKLS8vLyBbTmFtZV0gZW50ZXItY2Fy
ZC13aXRoLWV2ZW50cy5qcwotCi1jcmVhdGVTdGF0aWNXTUxUZXN0Q2FzZSgiVGVzdHMgZW50ZXJp
bmcgY2FyZHMgaW4gZm9yd2FyZCBhbmQgYmFja3dhcmQgZGlyZWN0aW9ucyB0aGF0IGhhdmUgaW50
cmluc2ljIGV2ZW50cyBzZXQiLCAicmVzb3VyY2VzL2VudGVyLWNhcmQtd2l0aC1ldmVudHMud21s
Iik7Ci0KLXZhciBjb3VudGVyID0gMDsKLQotZnVuY3Rpb24gc2V0dXBUZXN0RG9jdW1lbnQoKSB7
Ci0gICAgLy8gbm8tb3AKLX0KLQotZnVuY3Rpb24gcHJlcGFyZVRlc3QoKSB7Ci0gICAgc3RhcnRU
ZXN0KDI1LCAxNSk7Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGlmIChjb3Vu
dGVyID09IDMpCi0gICAgICAgIGNvbXBsZXRlVGVzdCgpOwotICAgIGVsc2UgaWYgKGNvdW50ZXIg
PT0gMSkKLSAgICAgICAgc3RhcnRUZXN0KDI1LCAxNSk7Ci0gICAgICAgIAotICAgICsrY291bnRl
cjsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0
cy93bWwvc2NyaXB0LXRlc3RzL2VudGVyLWZpcnN0LWNhcmQtd2l0aC1ldmVudHMuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9lbnRlci1maXJzdC1jYXJkLXdp
dGgtZXZlbnRzLmpzCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9zY3JpcHQt
dGVzdHMvZW50ZXItZmlyc3QtY2FyZC13aXRoLWV2ZW50cy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSwyMSArMCwwIEBACi0vLy8gW05hbWVdIGVudGVyLWZpcnN0LWNhcmQtd2l0aC1ldmVudHMuanMK
LQotY3JlYXRlU3RhdGljV01MVGVzdENhc2UoIlRlc3RzIGVudGVyaW5nIGZpcnN0IGNhcmQgYmFj
a3dhcmRzIHRoYXQgaGFzIGludHJpbnNpYyBldmVudHMgc2V0IiwgInJlc291cmNlcy9lbnRlci1m
aXJzdC1jYXJkLXdpdGgtZXZlbnRzLndtbCIpOwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVu
dCgpIHsKLSAgICAvLyBuby1vcAotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICB3
aW5kb3cuc2V0VGltZW91dCgnc3RhcnRUZXN0KDI1LCAxNSknLCAwKTsKLX0KLQotZnVuY3Rpb24g
ZXhlY3V0ZVRlc3QoKSB7Ci0gICAgdmFyIHJlc3VsdEluZGljYXRvckVsZW1lbnQgPSB0ZXN0RG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdEluZGljYXRvciIpOwotICAgIGlmIChyZXN1bHRJ
bmRpY2F0b3JFbGVtZW50LnRleHRDb250ZW50ID09ICJET05FIikKLSAgICAgICAgY29tcGxldGVU
ZXN0KCk7Ci0gICAgZWxzZQotICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgnc3RhcnRUZXN0KDI1
LCAxNSknLCAwKTsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBM
YXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC1leHRlcm5hbC1k
ZWNrLXdpdGgtaHJlZi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRl
c3RzL2dvLXRhc2stZ2V0LW1ldGhvZC1leHRlcm5hbC1kZWNrLXdpdGgtaHJlZi5qcwkocmV2aXNp
b24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1l
dGhvZC1leHRlcm5hbC1kZWNrLXdpdGgtaHJlZi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyNSAr
MCwwIEBACi0vLyBbTmFtZV0gZ28tdGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2std2l0aC1o
cmVmLmpzCi0KLWNyZWF0ZUR5bmFtaWNXTUxUZXN0Q2FzZSgiVGVzdHMgR0VUIG1ldGhvZCBvZiAm
bHQ7Z28mZ3Q7IGVsZW1lbnQgLSBqdW1wIHRvIGV4dGVybmFsIGRlY2sgdG8gYSBzcGVjaWZpYyBj
YXJkIiwgZmFsc2UpOwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAgICB2YXIg
Y2FyZEVsZW1lbnQgPSB0ZXN0RG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmZpcnN0Q2hpbGQ7Ci0K
LSAgICB2YXIgYW5jaG9yRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImFuY2hvciIpOwotICAg
IGFuY2hvckVsZW1lbnQudGV4dENvbnRlbnQgPSAiU3RhcnQgdGVzdCI7Ci0gICAgY2FyZEVsZW1l
bnQuYXBwZW5kQ2hpbGQoYW5jaG9yRWxlbWVudCk7Ci0KLSAgICB2YXIgZ29FbGVtZW50ID0gY3Jl
YXRlV01MRWxlbWVudCgiZ28iKTsKLSAgICBnb0VsZW1lbnQuc2V0QXR0cmlidXRlKCJocmVmIiwg
ImV4dGVybmFsLWRlY2sud21sI2V4dGVybmFsQ2FyZDIiKTsKLSAgICBhbmNob3JFbGVtZW50LmFw
cGVuZENoaWxkKGdvRWxlbWVudCk7Ci19Ci0KLWZ1bmN0aW9uIHByZXBhcmVUZXN0KCkgewotICAg
IHN0YXJ0VGVzdCgyNSwgMTUpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICBj
b21wbGV0ZVRlc3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4
OiBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC1leHRlcm5h
bC1kZWNrLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvZ28t
dGFzay1nZXQtbWV0aG9kLWV4dGVybmFsLWRlY2suanMJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5
b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9nby10YXNrLWdldC1tZXRob2QtZXh0ZXJuYWwtZGVj
ay5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyNSArMCwwIEBACi0vLyBbTmFtZV0gZ28tdGFzay1n
ZXQtbWV0aG9kLWV4dGVybmFsLWRlY2suanMKLQotY3JlYXRlRHluYW1pY1dNTFRlc3RDYXNlKCJU
ZXN0cyBHRVQgbWV0aG9kIG9mICZsdDtnbyZndDsgZWxlbWVudCAtIGp1bXAgdG8gZXh0ZXJuYWwg
ZGVjayIsIGZhbHNlKTsKLQotZnVuY3Rpb24gc2V0dXBUZXN0RG9jdW1lbnQoKSB7Ci0gICAgdmFy
IGNhcmRFbGVtZW50ID0gdGVzdERvY3VtZW50LmRvY3VtZW50RWxlbWVudC5maXJzdENoaWxkOwot
Ci0gICAgdmFyIGFuY2hvckVsZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJhbmNob3IiKTsKLSAg
ICBhbmNob3JFbGVtZW50LnRleHRDb250ZW50ID0gIlN0YXJ0IHRlc3QiOwotICAgIGNhcmRFbGVt
ZW50LmFwcGVuZENoaWxkKGFuY2hvckVsZW1lbnQpOwotCi0gICAgdmFyIGdvRWxlbWVudCA9IGNy
ZWF0ZVdNTEVsZW1lbnQoImdvIik7Ci0gICAgZ29FbGVtZW50LnNldEF0dHJpYnV0ZSgiaHJlZiIs
ICJleHRlcm5hbC1kZWNrLndtbCNleHRlcm5hbENhcmQxIik7Ci0gICAgYW5jaG9yRWxlbWVudC5h
cHBlbmRDaGlsZChnb0VsZW1lbnQpOwotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAg
ICBzdGFydFRlc3QoMjUsIDE1KTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAg
Y29tcGxldGVUZXN0KCk7Ci19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRl
eDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9nby10YXNrLWdldC1tZXRob2Qtc2FtZS1k
ZWNrLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvZ28tdGFz
ay1nZXQtbWV0aG9kLXNhbWUtZGVjay5qcwkocmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0
cy93bWwvc2NyaXB0LXRlc3RzL2dvLXRhc2stZ2V0LW1ldGhvZC1zYW1lLWRlY2suanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsMjUgKzAsMCBAQAotLy8gW05hbWVdIGdvLXRhc2stZ2V0LW1ldGhvZC1z
YW1lLWRlY2suanMKLQotY3JlYXRlRHluYW1pY1dNTFRlc3RDYXNlKCJUZXN0cyBHRVQgbWV0aG9k
IG9mICZsdDtnbyZndDsgZWxlbWVudCAtIGp1bXAgd2l0aGluIGRlY2siLCBmYWxzZSk7Ci0KLWZ1
bmN0aW9uIHNldHVwVGVzdERvY3VtZW50KCkgewotICAgIHZhciBjYXJkRWxlbWVudCA9IHRlc3RE
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZmlyc3RDaGlsZDsKLQotICAgIHZhciBhbmNob3JFbGVt
ZW50ID0gY3JlYXRlV01MRWxlbWVudCgiYW5jaG9yIik7Ci0gICAgYW5jaG9yRWxlbWVudC50ZXh0
Q29udGVudCA9ICJTdGFydCB0ZXN0IjsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChhbmNo
b3JFbGVtZW50KTsKLQotICAgIHZhciBnb0VsZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJnbyIp
OwotICAgIGdvRWxlbWVudC5zZXRBdHRyaWJ1dGUoImhyZWYiLCAiI2NhcmQyIik7Ci0gICAgYW5j
aG9yRWxlbWVudC5hcHBlbmRDaGlsZChnb0VsZW1lbnQpOwotfQotCi1mdW5jdGlvbiBwcmVwYXJl
VGVzdCgpIHsKLSAgICBzdGFydFRlc3QoMjUsIDE1KTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVRl
c3QoKSB7Ci0gICAgY29tcGxldGVUZXN0KCk7Ci19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9pbnB1dC1mb3JtYXQu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9pbnB1dC1mb3Jt
YXQuanMJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9p
bnB1dC1mb3JtYXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTg3ICswLDAgQEAKLS8vIFtOYW1l
XSBpbnB1dC1mb3JtYXQuanMgCi0KLWNyZWF0ZUR5bmFtaWNXTUxUZXN0Q2FzZSgiVGVzdHMgaW5w
dXQgZm9ybWF0IHZhbGlkYXRpb24iKTsKLQotdmFyIHBFbGVtZW50MTsKLXZhciBwRWxlbWVudDI7
Ci12YXIgcEVsZW1lbnQzOwotdmFyIHBFbGVtZW50NDsKLXZhciBwRWxlbWVudDU7Ci12YXIgcEVs
ZW1lbnQ2OwotdmFyIHBFbGVtZW50NzsKLXZhciBwRWxlbWVudDg7Ci12YXIgcEVsZW1lbnQ5Owot
dmFyIHBFbGVtZW50MTA7Ci12YXIgcEVsZW1lbnQxMTsKLXZhciBwRWxlbWVudDEyOwotCi1mdW5j
dGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAgICB2YXIgY2FyZEVsZW1lbnQgPSB0ZXN0RG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LmZpcnN0Q2hpbGQ7Ci0KLSAgICB2YXIgYW5jaG9yRWxlbWVu
dCA9IGNyZWF0ZVdNTEVsZW1lbnQoImFuY2hvciIpOwotICAgIGFuY2hvckVsZW1lbnQudGV4dENv
bnRlbnQgPSAiU3RhcnQgdGVzdCI7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQoYW5jaG9y
RWxlbWVudCk7Ci0KLSAgICB2YXIgcmVmcmVzaEVsZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJy
ZWZyZXNoIik7Ci0gICAgYW5jaG9yRWxlbWVudC5hcHBlbmRDaGlsZChyZWZyZXNoRWxlbWVudCk7
Ci0KLSAgICAvLyBUZXN0IGNhc2VzIGZvciBzdWNjZXNzZnVsIG1hdGNoaW5nLCB0aGUgJ3ZhbHVl
JyBjYW4gZGlzcGxheSBjb3JyZWNsdHkKLSAgICB2YXIgaW5wdXRFbGVtZW50MSA9IGNyZWF0ZVdN
TEVsZW1lbnQoImlucHV0Iik7Ci0gICAgaW5wdXRFbGVtZW50MS5zZXRBdHRyaWJ1dGUoIm5hbWUi
LCAiaW5wdXQxIik7Ci0gICAgaW5wdXRFbGVtZW50MS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIlRl
U3QwLTAxIik7Ci0gICAgaW5wdXRFbGVtZW50MS5zZXRBdHRyaWJ1dGUoImZvcm1hdCIsICJBYVh4
TW1ObiIpOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGlucHV0RWxlbWVudDEpOwotCi0g
ICAgdmFyIGlucHV0RWxlbWVudDIgPSBjcmVhdGVXTUxFbGVtZW50KCJpbnB1dCIpOwotICAgIGlu
cHV0RWxlbWVudDIuc2V0QXR0cmlidXRlKCJuYW1lIiwgImlucHV0MiIpOwotICAgIGlucHV0RWxl
bWVudDIuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJUZVN0MC0wMiIpOwotICAgIGlucHV0RWxlbWVu
dDIuc2V0QXR0cmlidXRlKCJmb3JtYXQiLCAiQWFYeG5cLTJOIik7Ci0gICAgY2FyZEVsZW1lbnQu
YXBwZW5kQ2hpbGQoaW5wdXRFbGVtZW50Mik7Ci0KLSAgICB2YXIgaW5wdXRFbGVtZW50MyA9IGNy
ZWF0ZVdNTEVsZW1lbnQoImlucHV0Iik7Ci0gICAgaW5wdXRFbGVtZW50My5zZXRBdHRyaWJ1dGUo
Im5hbWUiLCAiaW5wdXQzIik7Ci0gICAgaW5wdXRFbGVtZW50My5zZXRBdHRyaWJ1dGUoInZhbHVl
IiwgIlRlU3QtKzAzIik7Ci0gICAgaW5wdXRFbGVtZW50My5zZXRBdHRyaWJ1dGUoImZvcm1hdCIs
ICJBYVh4XC1cK25OIik7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQoaW5wdXRFbGVtZW50
Myk7Ci0KLSAgICB2YXIgaW5wdXRFbGVtZW50NCA9IGNyZWF0ZVdNTEVsZW1lbnQoImlucHV0Iik7
Ci0gICAgaW5wdXRFbGVtZW50NC5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAiaW5wdXQ0Iik7Ci0gICAg
aW5wdXRFbGVtZW50NC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIlRlU3QwLTA0Iik7Ci0gICAgaW5w
dXRFbGVtZW50NC5zZXRBdHRyaWJ1dGUoImZvcm1hdCIsICIqbSIpOwotICAgIGNhcmRFbGVtZW50
LmFwcGVuZENoaWxkKGlucHV0RWxlbWVudDQpOwotCi0gICAgdmFyIGlucHV0RWxlbWVudDUgPSBj
cmVhdGVXTUxFbGVtZW50KCJpbnB1dCIpOwotICAgIGlucHV0RWxlbWVudDUuc2V0QXR0cmlidXRl
KCJuYW1lIiwgImlucHV0NSIpOwotICAgIGlucHV0RWxlbWVudDUuc2V0QXR0cmlidXRlKCJ2YWx1
ZSIsICJUZVN0MC0wNSIpOwotICAgIGlucHV0RWxlbWVudDUuc2V0QXR0cmlidXRlKCJmb3JtYXQi
LCAiWGFtKngiKTsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChpbnB1dEVsZW1lbnQ1KTsK
LQotICAgIC8vIFRlc3QgY2FzZXMgZm9yIGZhaWxlZCBtYXRjaGluZywgaWYgZmFpbGVkLCB0aGUg
J3ZhbHVlJyBzaG91bGQgYmUgc2V0IHRvIGVtcHR5Ci0gICAgdmFyIGlucHV0RWxlbWVudDYgPSBj
cmVhdGVXTUxFbGVtZW50KCJpbnB1dCIpOwotICAgIGlucHV0RWxlbWVudDYuc2V0QXR0cmlidXRl
KCJuYW1lIiwgImlucHV0NiIpOwotICAgIGlucHV0RWxlbWVudDYuc2V0QXR0cmlidXRlKCJ2YWx1
ZSIsICJUZVN0MC0wNiIpOwotICAgIGlucHV0RWxlbWVudDYuc2V0QXR0cmlidXRlKCJmb3JtYXQi
LCAiTWFYeGEzbiIpOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGlucHV0RWxlbWVudDYp
OwotIAotICAgIHZhciBpbnB1dEVsZW1lbnQ3ID0gY3JlYXRlV01MRWxlbWVudCgiaW5wdXQiKTsK
LSAgICBpbnB1dEVsZW1lbnQ3LnNldEF0dHJpYnV0ZSgibmFtZSIsICJpbnB1dDciKTsKLSAgICBp
bnB1dEVsZW1lbnQ3LnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiVGVTdDAtMDciKTsKLSAgICBpbnB1
dEVsZW1lbnQ3LnNldEF0dHJpYnV0ZSgiZm9ybWF0IiwgImFheHhtbW5uIik7Ci0gICAgY2FyZEVs
ZW1lbnQuYXBwZW5kQ2hpbGQoaW5wdXRFbGVtZW50Nyk7Ci0KLSAgICAvLyBUZXN0IGNhc2VzIGZv
ciBpbnZhbGlkIGlucHV0IG1hc2sgd2hpY2ggc2hvdWxkIGJlIGlnbm9yZWQsIAotICAgIC8vIGFu
ZCB0aGUgJ3ZhbHVlJyBjYW4gZGlzcGxheSBjb3JyZWNsdHkKLSAgICB2YXIgaW5wdXRFbGVtZW50
OCA9IGNyZWF0ZVdNTEVsZW1lbnQoImlucHV0Iik7Ci0gICAgaW5wdXRFbGVtZW50OC5zZXRBdHRy
aWJ1dGUoIm5hbWUiLCAiaW5wdXQ4Iik7Ci0gICAgaW5wdXRFbGVtZW50OC5zZXRBdHRyaWJ1dGUo
InZhbHVlIiwgIlRlU3QwLTA4Iik7Ci0gICAgaW5wdXRFbGVtZW50OC5zZXRBdHRyaWJ1dGUoImZv
cm1hdCIsICJUZVN0MDAwOCIpOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGlucHV0RWxl
bWVudDgpOwotCi0gICAgdmFyIGlucHV0RWxlbWVudDkgPSBjcmVhdGVXTUxFbGVtZW50KCJpbnB1
dCIpOwotICAgIGlucHV0RWxlbWVudDkuc2V0QXR0cmlidXRlKCJuYW1lIiwgImlucHV0OSIpOwot
ICAgIGlucHV0RWxlbWVudDkuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJUZVN0MC0wOSIpOwotICAg
IGlucHV0RWxlbWVudDkuc2V0QXR0cmlidXRlKCJmb3JtYXQiLCAiTU1NTU1NTU0wbiIpOwotICAg
IGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKGlucHV0RWxlbWVudDkpOwotCi0gICAgdmFyIGlucHV0
RWxlbWVudDEwID0gY3JlYXRlV01MRWxlbWVudCgiaW5wdXQiKTsKLSAgICBpbnB1dEVsZW1lbnQx
MC5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAiaW5wdXQxMCIpOwotICAgIGlucHV0RWxlbWVudDEwLnNl
dEF0dHJpYnV0ZSgidmFsdWUiLCAiMDEyMzQ1Njc4OSIpOwotICAgIGlucHV0RWxlbWVudDEwLnNl
dEF0dHJpYnV0ZSgiZm9ybWF0IiwgIjEwbiIpOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxk
KGlucHV0RWxlbWVudDEwKTsKLQotICAgIHZhciBpbnB1dEVsZW1lbnQxMSA9IGNyZWF0ZVdNTEVs
ZW1lbnQoImlucHV0Iik7Ci0gICAgaW5wdXRFbGVtZW50MTEuc2V0QXR0cmlidXRlKCJuYW1lIiwg
ImlucHV0MTEiKTsKLSAgICBpbnB1dEVsZW1lbnQxMS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIlRl
U3QwLTExIik7Ci0gICAgaW5wdXRFbGVtZW50MTEuc2V0QXR0cmlidXRlKCJmb3JtYXQiLCAiKkFN
TU1NTU0iKTsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChpbnB1dEVsZW1lbnQxMSk7Ci0K
LSAgICB2YXIgaW5wdXRFbGVtZW50MTI9IGNyZWF0ZVdNTEVsZW1lbnQoImlucHV0Iik7Ci0gICAg
aW5wdXRFbGVtZW50MTIuc2V0QXR0cmlidXRlKCJuYW1lIiwgImlucHV0MTIiKTsKLSAgICBpbnB1
dEVsZW1lbnQxMi5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIlRlU3QwLTEyIik7Ci0gICAgaW5wdXRF
bGVtZW50MTIuc2V0QXR0cmlidXRlKCJmb3JtYXQiLCAiTSphKk0iKTsKLSAgICBjYXJkRWxlbWVu
dC5hcHBlbmRDaGlsZChpbnB1dEVsZW1lbnQxMik7Ci0KLSAgICBwRWxlbWVudDEgPSBjcmVhdGVX
TUxFbGVtZW50KCJwIik7Ci0gICAgcEVsZW1lbnQxLnRleHRDb250ZW50ID0gIlJlc3VsdDogJGlu
cHV0MSI7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQxKTsKLQotICAgIHBF
bGVtZW50MiA9IGNyZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDIudGV4dENvbnRl
bnQgPSAiUmVzdWx0OiAkaW5wdXQyIjsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChwRWxl
bWVudDIpOwotCi0gICAgcEVsZW1lbnQzID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwotICAgIHBF
bGVtZW50My50ZXh0Q29udGVudCA9ICJSZXN1bHQ6ICRpbnB1dDMiOwotICAgIGNhcmRFbGVtZW50
LmFwcGVuZENoaWxkKHBFbGVtZW50Myk7Ci0KLSAgICBwRWxlbWVudDQgPSBjcmVhdGVXTUxFbGVt
ZW50KCJwIik7Ci0gICAgcEVsZW1lbnQ0LnRleHRDb250ZW50ID0gIlJlc3VsdDogJGlucHV0NCI7
Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQ0KTsKLQotICAgIHBFbGVtZW50
NSA9IGNyZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDUudGV4dENvbnRlbnQgPSAi
UmVzdWx0OiAkaW5wdXQ1IjsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChwRWxlbWVudDUp
OwotCi0gICAgcEVsZW1lbnQ2ID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwotICAgIHBFbGVtZW50
Ni50ZXh0Q29udGVudCA9ICJSZXN1bHQ6ICRpbnB1dDYiOwotICAgIGNhcmRFbGVtZW50LmFwcGVu
ZENoaWxkKHBFbGVtZW50Nik7Ci0KLSAgICBwRWxlbWVudDcgPSBjcmVhdGVXTUxFbGVtZW50KCJw
Iik7Ci0gICAgcEVsZW1lbnQ3LnRleHRDb250ZW50ID0gIlJlc3VsdDogJGlucHV0NyI7Ci0gICAg
Y2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQ3KTsKLQotICAgIHBFbGVtZW50OCA9IGNy
ZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDgudGV4dENvbnRlbnQgPSAiUmVzdWx0
OiAkaW5wdXQ4IjsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChwRWxlbWVudDgpOwotCi0g
ICAgcEVsZW1lbnQ5ID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwotICAgIHBFbGVtZW50OS50ZXh0
Q29udGVudCA9ICJSZXN1bHQ6ICRpbnB1dDkiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxk
KHBFbGVtZW50OSk7Ci0KLSAgICBwRWxlbWVudDEwID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwot
ICAgIHBFbGVtZW50MTAudGV4dENvbnRlbnQgPSAiUmVzdWx0OiAkaW5wdXQxMCI7Ci0gICAgY2Fy
ZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQxMCk7Ci0KLSAgICBwRWxlbWVudDExID0gY3Jl
YXRlV01MRWxlbWVudCgicCIpOwotICAgIHBFbGVtZW50MTEudGV4dENvbnRlbnQgPSAiUmVzdWx0
OiAkaW5wdXQxMSI7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQxMSk7Ci0K
LSAgICBwRWxlbWVudDEyID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwotICAgIHBFbGVtZW50MTIu
dGV4dENvbnRlbnQgPSAiUmVzdWx0OiAkaW5wdXQxMiI7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5k
Q2hpbGQocEVsZW1lbnQxMik7Ci19Ci0KLWZ1bmN0aW9uIHByZXBhcmVUZXN0KCkgewotICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQxLnRleHRDb250ZW50IiwgIlJlc3VsdDogJGlu
cHV0MSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQyLnRleHRDb250ZW50
IiwgIlJlc3VsdDogJGlucHV0MiIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1l
bnQzLnRleHRDb250ZW50IiwgIlJlc3VsdDogJGlucHV0MyIpOwotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygicEVsZW1lbnQ0LnRleHRDb250ZW50IiwgIlJlc3VsdDogJGlucHV0NCIpOwotICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQ1LnRleHRDb250ZW50IiwgIlJlc3VsdDog
JGlucHV0NSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQ2LnRleHRDb250
ZW50IiwgIlJlc3VsdDogJGlucHV0NiIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVs
ZW1lbnQ3LnRleHRDb250ZW50IiwgIlJlc3VsdDogJGlucHV0NyIpOwotICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygicEVsZW1lbnQ4LnRleHRDb250ZW50IiwgIlJlc3VsdDogJGlucHV0OCIpOwot
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQ5LnRleHRDb250ZW50IiwgIlJlc3Vs
dDogJGlucHV0OSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQxMC50ZXh0
Q29udGVudCIsICJSZXN1bHQ6ICRpbnB1dDEwIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJwRWxlbWVudDExLnRleHRDb250ZW50IiwgIlJlc3VsdDogJGlucHV0MTEiKTsKLSAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50MTIudGV4dENvbnRlbnQiLCAiUmVzdWx0OiAkaW5w
dXQxMiIpOwotCi0gICAgc3RhcnRUZXN0KDI1LCAxNSk7Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVU
ZXN0KCkgewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQxLnRleHRDb250ZW50
IiwgIlJlc3VsdDogVGVTdDAtMDEiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVt
ZW50Mi50ZXh0Q29udGVudCIsICJSZXN1bHQ6IFRlU3QwLTAyIik7Ci0gICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJwRWxlbWVudDMudGV4dENvbnRlbnQiLCAiUmVzdWx0OiBUZVN0LSswMyIpOwot
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQ0LnRleHRDb250ZW50IiwgIlJlc3Vs
dDogVGVTdDAtMDQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50NS50ZXh0
Q29udGVudCIsICJSZXN1bHQ6IFRlU3QwLTA1Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJwRWxlbWVudDYudGV4dENvbnRlbnQiLCAiUmVzdWx0OiAiKTsKLSAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInBFbGVtZW50Ny50ZXh0Q29udGVudCIsICJSZXN1bHQ6ICIpOwotICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQ4LnRleHRDb250ZW50IiwgIlJlc3VsdDogVGVTdDAt
MDgiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50OS50ZXh0Q29udGVudCIs
ICJSZXN1bHQ6IFRlU3QwLTA5Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVu
dDEwLnRleHRDb250ZW50IiwgIlJlc3VsdDogMDEyMzQ1Njc4OSIpOwotICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygicEVsZW1lbnQxMS50ZXh0Q29udGVudCIsICJSZXN1bHQ6IFRlU3QwLTExIik7
Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDEyLnRleHRDb250ZW50IiwgIlJl
c3VsdDogVGVTdDAtMTIiKTsKLQotICAgIGNvbXBsZXRlVGVzdCgpOwotfQotCi12YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMv
bmV3Y29udGV4dC1zYW1lLWRlY2suanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3Nj
cmlwdC10ZXN0cy9uZXdjb250ZXh0LXNhbWUtZGVjay5qcwkocmV2aXNpb24gODUyNDIpCisrKyBM
YXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL25ld2NvbnRleHQtc2FtZS1kZWNrLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDM2ICswLDAgQEAKLS8vLyBbTmFtZV0gbmV3Y29udGV4dC1zYW1lLWRl
Y2suanMKLQotY3JlYXRlU3RhdGljV01MVGVzdENhc2UoIlRlc3RzIG5ld2NvbnRleHQgYXR0cmli
dXRlIGhhbmRsaW5nIG9uIGNhcmRzIHdpdGhpbiB0aGUgc2FtZSBkZWNrIiwgInJlc291cmNlcy9u
ZXdjb250ZXh0LXNhbWUtZGVjay53bWwiKTsKLQotdmFyIGNvdW50ZXIgPSAwOwotCi12YXIgcmVz
dWx0MTsKLXZhciByZXN1bHQyOwotdmFyIHJlc3VsdDM7Ci0KLWZ1bmN0aW9uIHNldHVwVGVzdERv
Y3VtZW50KCkgewotICAgIC8vIG5vLW9wCi19Ci0KLWZ1bmN0aW9uIHByZXBhcmVUZXN0KCkgewot
ICAgIHN0YXJ0VGVzdCgyNSwgMTUpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAg
ICByZXN1bHQxID0gdGVzdERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQxIik7Ci0gICAg
cmVzdWx0MiA9IHRlc3REb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0MiIpOwotICAgIHJl
c3VsdDMgPSB0ZXN0RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdDMiKTsKLQotICAgIGlm
IChjb3VudGVyID09IDApIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZXN1bHQx
LnRleHRDb250ZW50IiwgIlRlc3QgMS8zOiB2YXIxPScnIik7Ci0gICAgICAgIHN0YXJ0VGVzdCgy
NSwgMTUpOwotICAgIH0gZWxzZSBpZiAoY291bnRlciA9PSAxKSB7Ci0gICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygicmVzdWx0Mi50ZXh0Q29udGVudCIsICJUZXN0IDIvMzogdmFyMT0nJyIp
OwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdDMudGV4dENvbnRlbnQiLCAi
VGVzdCAzLzM6IHZhcjI9J1BBU1MnIik7Ci0gICAgICAgIGNvbXBsZXRlVGVzdCgpOwotICAgIH0K
LQotICAgICsrY291bnRlcjsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cklu
ZGV4OiBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL29uZW50ZXJmb3J3YXJkLWV2ZW50Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb25lbnRlcmZvcndh
cmQtZXZlbnQuanMJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10
ZXN0cy9vbmVudGVyZm9yd2FyZC1ldmVudC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwxNyArMCww
IEBACi0vLy8gW05hbWVdIG9uZW50ZXJmb3J3YXJkLWV2ZW50LmpzCi0KLWNyZWF0ZVN0YXRpY1dN
TFRlc3RDYXNlKCJUZXN0cyBvbmVudGVyZm9yd2FyZCBub24taW5saW5lIGV2ZW50IGRlY2xhcmF0
aW9ucyIsICJyZXNvdXJjZXMvb25lbnRlcmZvcndhcmQtZXZlbnQud21sIik7Ci0KLWZ1bmN0aW9u
IHNldHVwVGVzdERvY3VtZW50KCkgewotICAgIC8vIG5vLW9wCi19Ci0KLWZ1bmN0aW9uIHByZXBh
cmVUZXN0KCkgewotICAgIC8vIG5vLW9wCi19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewot
ICAgIGNvbXBsZXRlVGVzdCgpOwotfQotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
SW5kZXg6IExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb25lbnRlcmZvcndhcmQtaW5saW5l
LWV2ZW50LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb25l
bnRlcmZvcndhcmQtaW5saW5lLWV2ZW50LmpzCShyZXZpc2lvbiA4NTI0MikKKysrIExheW91dFRl
c3RzL3dtbC9zY3JpcHQtdGVzdHMvb25lbnRlcmZvcndhcmQtaW5saW5lLWV2ZW50LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDE3ICswLDAgQEAKLS8vLyBbTmFtZV0gb25lbnRlcmZvcndhcmQtaW5s
aW5lLWV2ZW50LmpzCi0KLWNyZWF0ZVN0YXRpY1dNTFRlc3RDYXNlKCJUZXN0cyBvbmVudGVyZm9y
d2FyZCBpbmxpbmUgZXZlbnQgZGVjbGFyYXRpb25zIiwgInJlc291cmNlcy9vbmVudGVyZm9yd2Fy
ZC1pbmxpbmUtZXZlbnQud21sIik7Ci0KLWZ1bmN0aW9uIHNldHVwVGVzdERvY3VtZW50KCkgewot
ICAgIC8vIG5vLW9wCi19Ci0KLWZ1bmN0aW9uIHByZXBhcmVUZXN0KCkgewotICAgIC8vIG5vLW9w
Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGNvbXBsZXRlVGVzdCgpOwotfQot
Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3dtbC9z
Y3JpcHQtdGVzdHMvb250aW1lci1ldmVudC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
bWwvc2NyaXB0LXRlc3RzL29udGltZXItZXZlbnQuanMJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5
b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9vbnRpbWVyLWV2ZW50LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDIyICswLDAgQEAKLS8vLyBbTmFtZV0gb250aW1lci1ldmVudC5qcwotCi1jcmVhdGVT
dGF0aWNXTUxUZXN0Q2FzZSgiVGVzdHMgb250aW1lciBub24taW5saW5lIGV2ZW50IGRlY2xhcmF0
aW9ucyIsICJyZXNvdXJjZXMvb250aW1lci1ldmVudC53bWwiKTsKLQotdmFyIGNvdW50ZXIgPSAw
OwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsKLSAgICAvLyBuby1vcAotfQotCi1m
dW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICAvLyBuby1vcAotfQotCi1mdW5jdGlvbiBleGVj
dXRlVGVzdCgpIHsKLSAgICBpZiAoY291bnRlciA9PSAyKQotICAgICAgICBjb21wbGV0ZVRlc3Qo
KTsKLQotICAgICsrY291bnRlcjsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL29udGltZXItaW5saW5lLWV2ZW50
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb250aW1lci1p
bmxpbmUtZXZlbnQuanMJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMvd21sL3Njcmlw
dC10ZXN0cy9vbnRpbWVyLWlubGluZS1ldmVudC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyMiAr
MCwwIEBACi0vLy8gW05hbWVdIG9udGltZXItaW5saW5lLWV2ZW50LmpzCi0KLWNyZWF0ZVN0YXRp
Y1dNTFRlc3RDYXNlKCJUZXN0cyBvbnRpbWVyIGlubGluZSBldmVudCBkZWNsYXJhdGlvbnMiLCAi
cmVzb3VyY2VzL29udGltZXItaW5saW5lLWV2ZW50LndtbCIpOwotCi12YXIgY291bnRlciA9IDA7
Ci0KLWZ1bmN0aW9uIHNldHVwVGVzdERvY3VtZW50KCkgewotICAgIC8vIG5vLW9wCi19Ci0KLWZ1
bmN0aW9uIHByZXBhcmVUZXN0KCkgewotICAgIC8vIG5vLW9wCi19Ci0KLWZ1bmN0aW9uIGV4ZWN1
dGVUZXN0KCkgewotICAgIGlmIChjb3VudGVyID09IDIpCi0gICAgICAgIGNvbXBsZXRlVGVzdCgp
OwotCi0gICAgKytjb3VudGVyOwotfQotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
SW5kZXg6IExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvb3B0aW9uLWVsZW1lbnQtb25waWNr
LXJlY3Vyc2lvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3Rz
L29wdGlvbi1lbGVtZW50LW9ucGljay1yZWN1cnNpb24uanMJKHJldmlzaW9uIDg1MjQyKQorKysg
TGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9vcHRpb24tZWxlbWVudC1vbnBpY2stcmVjdXJz
aW9uLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIyICswLDAgQEAKLS8vIFtOYW1lXSBvcHRpb24t
ZWxlbWVudC1vbnBpY2stcmVjdXJzaW9uLmpzCi0KLWNyZWF0ZVN0YXRpY1dNTFRlc3RDYXNlKCJU
ZXN0cyBvbnBpY2sgaW50cmluc2ljIGV2ZW50IHJlY3Vyc2lvbiBidWciLCAicmVzb3VyY2VzL29w
dGlvbi1lbGVtZW50LW9ucGljay1yZWN1cnNpb24ud21sIiwgZmFsc2UpOwotCi12YXIgcmVzdWx0
RWxlbWVudDsKLQotZnVuY3Rpb24gc2V0dXBUZXN0RG9jdW1lbnQoKSB7Ci0gICAgcmVzdWx0RWxl
bWVudCA9IHRlc3REb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7Ci19Ci0KLWZ1bmN0
aW9uIHByZXBhcmVUZXN0KCkgewotICAgIGlmIChyZXN1bHRFbGVtZW50LnRleHRDb250ZW50ICE9
ICJmaW5pc2hlZCIpCi0gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCdzdGFydFRlc3QoMjUsIDE1
KScsIDApOwotICAgIGVsc2UKLSAgICAgICAgY29tcGxldGVUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9u
IGV4ZWN1dGVUZXN0KCkgewotICAgIHdpbmRvdy5oaXN0b3J5LmJhY2soKTsKLX0KLQotdmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRl
c3RzL29wdGlvbi1lbGVtZW50LW9ucGljay5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
bWwvc2NyaXB0LXRlc3RzL29wdGlvbi1lbGVtZW50LW9ucGljay5qcwkocmV2aXNpb24gODUyNDIp
CisrKyBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL29wdGlvbi1lbGVtZW50LW9ucGljay5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSwzMyArMCwwIEBACi0vLyBbTmFtZV0gb3B0aW9uLWVsZW1l
bnQtb25waWNrLmpzCi0KLWNyZWF0ZUR5bmFtaWNXTUxUZXN0Q2FzZSgiVGVzdHMgb25waWNrIGlu
dHJpbnNpYyBldmVudCBzdXBwb3J0IG9mIG9wdGlvbiBlbGVtZW50cyIsIGZhbHNlKTsKLQotZnVu
Y3Rpb24gc2V0dXBUZXN0RG9jdW1lbnQoKSB7Ci0gICAgdmFyIGNhcmRFbGVtZW50ID0gdGVzdERv
Y3VtZW50LmRvY3VtZW50RWxlbWVudC5maXJzdENoaWxkOwotCi0gICAgdmFyIHNlbGVjdEVsZW1l
bnQgPSBjcmVhdGVXTUxFbGVtZW50KCJzZWxlY3QiKTsKLSAgICBzZWxlY3RFbGVtZW50LnNldEF0
dHJpYnV0ZSgibmFtZSIsICJyZXN1bHQiKTsKLSAgICBzZWxlY3RFbGVtZW50LnNldEF0dHJpYnV0
ZSgibXVsdGlwbGUiLCAiZmFsc2UiKTsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChzZWxl
Y3RFbGVtZW50KTsKLQotICAgIHZhciBvcHRpb25FbGVtZW50MSA9IGNyZWF0ZVdNTEVsZW1lbnQo
Im9wdGlvbiIpOwotICAgIG9wdGlvbkVsZW1lbnQxLnNldEF0dHJpYnV0ZSgib25waWNrIiwgIiNj
YXJkMiIpOwotICAgIG9wdGlvbkVsZW1lbnQxLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiZG9nZ3ki
KTsKLSAgICBvcHRpb25FbGVtZW50MS50ZXh0Q29udGVudCA9ICJEb2ciOwotICAgIHNlbGVjdEVs
ZW1lbnQuYXBwZW5kQ2hpbGQob3B0aW9uRWxlbWVudDEpOwotCi0gICAgdmFyIG9wdGlvbkVsZW1l
bnQyID0gY3JlYXRlV01MRWxlbWVudCgib3B0aW9uIik7Ci0gICAgb3B0aW9uRWxlbWVudDIuc2V0
QXR0cmlidXRlKCJ2YWx1ZSIsICJraXR0ZW4iKTsKLSAgICBvcHRpb25FbGVtZW50Mi50ZXh0Q29u
dGVudCA9ICJDYXQiOwotICAgIHNlbGVjdEVsZW1lbnQuYXBwZW5kQ2hpbGQob3B0aW9uRWxlbWVu
dDIpOwotfQotCi1mdW5jdGlvbiBwcmVwYXJlVGVzdCgpIHsKLSAgICB3aW5kb3cuc2V0VGltZW91
dCgnc3RhcnRUZXN0KDI1LCAxNSknLCAwKTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7
Ci0gICAgY29tcGxldGVUZXN0KCk7Ci19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OwpJbmRleDogTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9zZWxlY3QtZWxlbWVudC12YXJp
YWJsZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd21sL3NjcmlwdC10ZXN0cy9zZWxl
Y3QtZWxlbWVudC12YXJpYWJsZXMuanMJKHJldmlzaW9uIDg1MjQyKQorKysgTGF5b3V0VGVzdHMv
d21sL3NjcmlwdC10ZXN0cy9zZWxlY3QtZWxlbWVudC12YXJpYWJsZXMuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNTEgKzAsMCBAQAotLy8gW05hbWVdIHNlbGVjdC1lbGVtZW50LXZhcmlhYmxlcy5q
cwotCi1jcmVhdGVEeW5hbWljV01MVGVzdENhc2UoIlRlc3RzIHZhcmlhYmxlIHJlZmVyZW5jZXMg
aW4gY29uanVjdGlvbiB3aXRoIHNlbGVjdCBlbGVtZW50cyIpOwotCi12YXIgcmVzdWx0RWxlbWVu
dDsKLQotZnVuY3Rpb24gc2V0dXBUZXN0RG9jdW1lbnQoKSB7Ci0gICAgdmFyIGNhcmRFbGVtZW50
ID0gdGVzdERvY3VtZW50LmRvY3VtZW50RWxlbWVudC5maXJzdENoaWxkOwotICAgIHZhciBjYXJk
MkVsZW1lbnQgPSB0ZXN0RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhcmQyIik7Ci0KLSAgICB2
YXIgYW5jaG9yRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImFuY2hvciIpOwotICAgIGFuY2hv
ckVsZW1lbnQudGV4dENvbnRlbnQgPSAiU3RhcnQgdGVzdCI7Ci0gICAgY2FyZEVsZW1lbnQuYXBw
ZW5kQ2hpbGQoYW5jaG9yRWxlbWVudCk7Ci0KLSAgICB2YXIgZ29FbGVtZW50ID0gY3JlYXRlV01M
RWxlbWVudCgiZ28iKTsKLSAgICBnb0VsZW1lbnQuc2V0QXR0cmlidXRlKCJocmVmIiwgIiNjYXJk
MiIpOwotICAgIGFuY2hvckVsZW1lbnQuYXBwZW5kQ2hpbGQoZ29FbGVtZW50KTsKLQotICAgIHZh
ciBwRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudC50ZXh0Q29u
dGVudCA9ICJTZWxlY3QgYW4gb3B0aW9uIjsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChw
RWxlbWVudCk7Ci0KLSAgICB2YXIgc2VsZWN0RWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoInNl
bGVjdCIpOwotICAgIHNlbGVjdEVsZW1lbnQuc2V0QXR0cmlidXRlKCJuYW1lIiwgInJlc3VsdCIp
OwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKHNlbGVjdEVsZW1lbnQpOwotCi0gICAgcmVz
dWx0RWxlbWVudCA9IGNhcmQyRWxlbWVudC5maXJzdENoaWxkOwotICAgIHJlc3VsdEVsZW1lbnQu
dGV4dENvbnRlbnQgPSAiU2VsZWN0aW9uIHJlc3VsdDogJyRyZXN1bHQnIjsKLQotICAgIHZhciBv
cHRpb25FbGVtZW50MSA9IGNyZWF0ZVdNTEVsZW1lbnQoIm9wdGlvbiIpOwotICAgIG9wdGlvbkVs
ZW1lbnQxLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiZG9nZ3kiKTsKLSAgICBvcHRpb25FbGVtZW50
MS50ZXh0Q29udGVudCA9ICJEb2ciOwotICAgIHNlbGVjdEVsZW1lbnQuYXBwZW5kQ2hpbGQob3B0
aW9uRWxlbWVudDEpOwotCi0gICAgdmFyIG9wdGlvbkVsZW1lbnQyID0gY3JlYXRlV01MRWxlbWVu
dCgib3B0aW9uIik7Ci0gICAgb3B0aW9uRWxlbWVudDIuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJr
aXR0ZW4iKTsKLSAgICBvcHRpb25FbGVtZW50Mi50ZXh0Q29udGVudCA9ICJDYXQiOwotICAgIHNl
bGVjdEVsZW1lbnQuYXBwZW5kQ2hpbGQob3B0aW9uRWxlbWVudDIpOwotfQotCi1mdW5jdGlvbiBw
cmVwYXJlVGVzdCgpIHsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdEVsZW1lbnQu
dGV4dENvbnRlbnQiLCAiU2VsZWN0aW9uIHJlc3VsdDogJyciKTsKLSAgICBzdGFydFRlc3QoMjUs
IDE1KTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJyZXN1bHRFbGVtZW50LnRleHRDb250ZW50IiwgIlNlbGVjdGlvbiByZXN1bHQ6ICdk
b2dneSciKTsKLSAgICBjb21wbGV0ZVRlc3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL3ZhcmlhYmxlLXJl
ZmVyZW5jZS1pbnZhbGlkLWNoYXJhY3Rlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
bWwvc2NyaXB0LXRlc3RzL3ZhcmlhYmxlLXJlZmVyZW5jZS1pbnZhbGlkLWNoYXJhY3Rlci5qcwko
cmV2aXNpb24gODUyNDIpCisrKyBMYXlvdXRUZXN0cy93bWwvc2NyaXB0LXRlc3RzL3ZhcmlhYmxl
LXJlZmVyZW5jZS1pbnZhbGlkLWNoYXJhY3Rlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw2MiAr
MCwwIEBACi0vLyBbTmFtZV0gdmFyaWFibGUtcmVmZXJlbmNlLWludmFsaWQtY2hhcmFjdGVyLmpz
IAotCi1jcmVhdGVEeW5hbWljV01MVGVzdENhc2UoIlRlc3QgdGhhdCBpbnZhbGlkIHZhcmlhYmxl
IHJlZmVyZW5jZXMgYXJlbid0IGRldGVjdGVkIHVudGlsIHZhcmlhYmxlIHN1YnN0aXR1dGlvbiBp
cyBleGVjdXRlZCIpOwotCi12YXIgcEVsZW1lbnQxOwotdmFyIHBFbGVtZW50MjsKLXZhciBwRWxl
bWVudDM7Ci12YXIgcEVsZW1lbnQ0OwotCi1mdW5jdGlvbiBzZXR1cFRlc3REb2N1bWVudCgpIHsK
LSAgICB2YXIgY2FyZEVsZW1lbnQgPSB0ZXN0RG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmZpcnN0
Q2hpbGQ7Ci0KLSAgICB2YXIgYW5jaG9yRWxlbWVudCA9IGNyZWF0ZVdNTEVsZW1lbnQoImFuY2hv
ciIpOwotICAgIGFuY2hvckVsZW1lbnQudGV4dENvbnRlbnQgPSAiU3RhcnQgdGVzdCI7Ci0gICAg
Y2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQoYW5jaG9yRWxlbWVudCk7Ci0KLSAgICB2YXIgcmVmcmVz
aEVsZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJyZWZyZXNoIik7Ci0gICAgYW5jaG9yRWxlbWVu
dC5hcHBlbmRDaGlsZChyZWZyZXNoRWxlbWVudCk7Ci0KLSAgICB2YXIgc2V0dmFyRWxlbWVudCA9
IGNyZWF0ZVdNTEVsZW1lbnQoInNldHZhciIpOwotICAgIHNldHZhckVsZW1lbnQuc2V0QXR0cmli
dXRlKCJuYW1lIiwgInZhciIpOwotICAgIHNldHZhckVsZW1lbnQuc2V0QXR0cmlidXRlKCJ2YWx1
ZSIsICJURVNUIFBBU1NFRCIpOwotICAgIHJlZnJlc2hFbGVtZW50LmFwcGVuZENoaWxkKHNldHZh
ckVsZW1lbnQpOwotCi0gICAgcEVsZW1lbnQxID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwotICAg
IHBFbGVtZW50MS50ZXh0Q29udGVudCA9ICJSZXN1bHQ6JCN2YXIgUEFTU0VEIjsKLSAgICBjYXJk
RWxlbWVudC5hcHBlbmRDaGlsZChwRWxlbWVudDEpOwotCi0gICAgcEVsZW1lbnQyID0gY3JlYXRl
V01MRWxlbWVudCgicCIpOwotICAgIHBFbGVtZW50Mi50ZXh0Q29udGVudCA9ICJSZXN1bHQ6ICQo
diNhcjplKVBBU1NFRCI7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQyKTsK
LQotICAgIHBFbGVtZW50MyA9IGNyZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDMu
dGV4dENvbnRlbnQgPSAiUmVzdWx0OiQodmFyOiMpIFBBU1NFRCI7Ci0gICAgY2FyZEVsZW1lbnQu
YXBwZW5kQ2hpbGQocEVsZW1lbnQzKTsKLQotICAgIHBFbGVtZW50NCA9IGNyZWF0ZVdNTEVsZW1l
bnQoInAiKTsKLSAgICBwRWxlbWVudDQudGV4dENvbnRlbnQgPSAiUmVzdWx0OiBQQVNTRUQkKHZh
cjp1bmVzY2FwZSkiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKHBFbGVtZW50NCk7Ci19
Ci0KLWZ1bmN0aW9uIHByZXBhcmVUZXN0KCkgewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
cEVsZW1lbnQxLnRleHRDb250ZW50IiwgIlJlc3VsdDokI3ZhciBQQVNTRUQiKTsKLSAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50Mi50ZXh0Q29udGVudCIsICJSZXN1bHQ6ICQodiNh
cjplKVBBU1NFRCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQzLnRleHRD
b250ZW50IiwgIlJlc3VsdDokKHZhcjojKSBQQVNTRUQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInBFbGVtZW50NC50ZXh0Q29udGVudCIsICJSZXN1bHQ6IFBBU1NFRCQodmFyOnVuZXNj
YXBlKSIpOwotIAotICAgIHN0YXJ0VGVzdCgyNSwgMTUpOwotfQotCi1mdW5jdGlvbiBleGVjdXRl
VGVzdCgpIHsKLSAgICAvLyBObyB2YXJpYWJsZXMgc2hvdWxkIGhhdmUgYmVlbiBzdWJzdGl0dXRl
ZCwgaW5zdGVhZCBmb3VyIGNvbnNvbGUgZXJyb3IgbWVzc2FnZXMKLSAgICAvLyBzaG91bGQgYmUg
aW5jbHVkZWQgaW4gdGhlIGV4cGVjdGVkIGxheW91dCB0ZXN0IHJlc3VsdHMKLSAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50MS50ZXh0Q29udGVudCIsICJSZXN1bHQ6JCN2YXIgUEFT
U0VEIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDIudGV4dENvbnRlbnQi
LCAiUmVzdWx0OiAkKHYjYXI6ZSlQQVNTRUQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InBFbGVtZW50My50ZXh0Q29udGVudCIsICJSZXN1bHQ6JCh2YXI6IykgUEFTU0VEIik7Ci0gICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDQudGV4dENvbnRlbnQiLCAiUmVzdWx0OiBQ
QVNTRUQkKHZhcjp1bmVzY2FwZSkiKTsKLQotICAgIGNvbXBsZXRlVGVzdCgpOwotfQotCi12YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3dtbC9zY3JpcHQt
dGVzdHMvdmFyaWFibGUtcmVmZXJlbmNlLXZhbGlkLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dtbC9zY3JpcHQtdGVzdHMvdmFyaWFibGUtcmVmZXJlbmNlLXZhbGlkLmpzCShyZXZpc2lv
biA4NTI0MikKKysrIExheW91dFRlc3RzL3dtbC9zY3JpcHQtdGVzdHMvdmFyaWFibGUtcmVmZXJl
bmNlLXZhbGlkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDkwICswLDAgQEAKLS8vIFtOYW1lXSB2
YXJpYWJsZS1yZWZlcmVuY2UtdmFsaWQuanMgCi0KLWNyZWF0ZUR5bmFtaWNXTUxUZXN0Q2FzZSgi
VGVzdHMgdmFsaWQgdmFyaWFibGUgcmVmZXJlbmNlcyIpOwotCi1mdW5jdGlvbiBzZXR1cFRlc3RE
b2N1bWVudCgpIHsKLSAgICB2YXIgY2FyZEVsZW1lbnQgPSB0ZXN0RG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmZpcnN0Q2hpbGQ7Ci0KLSAgICB2YXIgYW5jaG9yRWxlbWVudCA9IGNyZWF0ZVdNTEVs
ZW1lbnQoImFuY2hvciIpOwotICAgIGFuY2hvckVsZW1lbnQudGV4dENvbnRlbnQgPSAiU3RhcnQg
dGVzdCI7Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQoYW5jaG9yRWxlbWVudCk7Ci0KLSAg
ICB2YXIgcmVmcmVzaEVsZW1lbnQgPSBjcmVhdGVXTUxFbGVtZW50KCJyZWZyZXNoIik7Ci0gICAg
YW5jaG9yRWxlbWVudC5hcHBlbmRDaGlsZChyZWZyZXNoRWxlbWVudCk7Ci0KLSAgICB2YXIgc2V0
dmFyRWxlbWVudDEgPSBjcmVhdGVXTUxFbGVtZW50KCJzZXR2YXIiKTsKLSAgICBzZXR2YXJFbGVt
ZW50MS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAidmFyIik7Ci0gICAgc2V0dmFyRWxlbWVudDEuc2V0
QXR0cmlidXRlKCJ2YWx1ZSIsICJURVNUIFBBU1NFRCIpOwotICAgIHJlZnJlc2hFbGVtZW50LmFw
cGVuZENoaWxkKHNldHZhckVsZW1lbnQxKTsKLQotICAgIC8vICd2YXIyJyBkb2Vzbid0IGV4aXN0
IHlldCwgc28gdGhlIHZhbHVlIHdpbGwgYmUgZW1wdHkKLSAgICB2YXIgc2V0dmFyRWxlbWVudDIg
PSBjcmVhdGVXTUxFbGVtZW50KCJzZXR2YXIiKTsKLSAgICBzZXR2YXJFbGVtZW50Mi5zZXRBdHRy
aWJ1dGUoIm5hbWUiLCAid29udHdvcmsiKTsKLSAgICBzZXR2YXJFbGVtZW50Mi5zZXRBdHRyaWJ1
dGUoInZhbHVlIiwgIiR2YXIyIik7Ci0gICAgcmVmcmVzaEVsZW1lbnQuYXBwZW5kQ2hpbGQoc2V0
dmFyRWxlbWVudDIpOwotCi0gICAgLy8gJ3ZhcicgYWxyZWFkeSBleGlzdHMsIHNvIHRoZSB2YWx1
ZSB3aWxsIGJlICJURVNUJTIwUEFTU0VEIgotICAgIHZhciBzZXR2YXJFbGVtZW50MyA9IGNyZWF0
ZVdNTEVsZW1lbnQoInNldHZhciIpOwotICAgIHNldHZhckVsZW1lbnQzLnNldEF0dHJpYnV0ZSgi
bmFtZSIsICJ2YXIyIik7Ci0gICAgc2V0dmFyRWxlbWVudDMuc2V0QXR0cmlidXRlKCJ2YWx1ZSIs
ICIkKHZhcjplc2NhcGUpIik7Ci0gICAgcmVmcmVzaEVsZW1lbnQuYXBwZW5kQ2hpbGQoc2V0dmFy
RWxlbWVudDMpOwotCi0gICAgdmFyIHNldHZhckVsZW1lbnQ0ID0gY3JlYXRlV01MRWxlbWVudCgi
c2V0dmFyIik7Ci0gICAgc2V0dmFyRWxlbWVudDQuc2V0QXR0cmlidXRlKCJuYW1lIiwgInYiKTsK
LSAgICBzZXR2YXJFbGVtZW50NC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIlRFU1QgUEFTU0VEIik7
Ci0gICAgcmVmcmVzaEVsZW1lbnQuYXBwZW5kQ2hpbGQoc2V0dmFyRWxlbWVudDQpOwotCi0gICAg
cEVsZW1lbnQxID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwotICAgIHBFbGVtZW50MS50ZXh0Q29u
dGVudCA9ICJSZXN1bHQ6ICR2YXIiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKHBFbGVt
ZW50MSk7Ci0KLSAgICBwRWxlbWVudDIgPSBjcmVhdGVXTUxFbGVtZW50KCJwIik7Ci0gICAgcEVs
ZW1lbnQyLnRleHRDb250ZW50ID0gIlJlc3VsdDogJCh2YXI6ZSkiOwotICAgIGNhcmRFbGVtZW50
LmFwcGVuZENoaWxkKHBFbGVtZW50Mik7Ci0KLSAgICBwRWxlbWVudDMgPSBjcmVhdGVXTUxFbGVt
ZW50KCJwIik7Ci0gICAgcEVsZW1lbnQzLnRleHRDb250ZW50ID0gIlJlc3VsdDogJCh2YXIyKSI7
Ci0gICAgY2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQzKTsKLQotICAgIHBFbGVtZW50
NCA9IGNyZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDQudGV4dENvbnRlbnQgPSAi
UmVzdWx0OiAkKHZhcjI6dW5lc2MpIjsKLSAgICBjYXJkRWxlbWVudC5hcHBlbmRDaGlsZChwRWxl
bWVudDQpOwotCi0gICAgcEVsZW1lbnQ1ID0gY3JlYXRlV01MRWxlbWVudCgicCIpOwotICAgIHBF
bGVtZW50NS50ZXh0Q29udGVudCA9ICJSZXN1bHQ6ICR2IjsKLSAgICBjYXJkRWxlbWVudC5hcHBl
bmRDaGlsZChwRWxlbWVudDUpOwotCi0gICAgcEVsZW1lbnQ2ID0gY3JlYXRlV01MRWxlbWVudCgi
cCIpOwotICAgIHBFbGVtZW50Ni50ZXh0Q29udGVudCA9ICJSZXN1bHQ6ICQodjplKSI7Ci0gICAg
Y2FyZEVsZW1lbnQuYXBwZW5kQ2hpbGQocEVsZW1lbnQ2KTsKLQotICAgIHBFbGVtZW50NyA9IGNy
ZWF0ZVdNTEVsZW1lbnQoInAiKTsKLSAgICBwRWxlbWVudDcudGV4dENvbnRlbnQgPSAiUmVzdWx0
OiAkd29udHdvcmsiOwotICAgIGNhcmRFbGVtZW50LmFwcGVuZENoaWxkKHBFbGVtZW50Nyk7Ci19
Ci0KLWZ1bmN0aW9uIHByZXBhcmVUZXN0KCkgewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
cEVsZW1lbnQxLnRleHRDb250ZW50IiwgIlJlc3VsdDogJHZhciIpOwotICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygicEVsZW1lbnQyLnRleHRDb250ZW50IiwgIlJlc3VsdDogJCh2YXI6ZSkiKTsK
LSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50My50ZXh0Q29udGVudCIsICJSZXN1
bHQ6ICQodmFyMikiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50NC50ZXh0
Q29udGVudCIsICJSZXN1bHQ6ICQodmFyMjp1bmVzYykiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInBFbGVtZW50NS50ZXh0Q29udGVudCIsICJSZXN1bHQ6ICR2Iik7Ci0gICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJwRWxlbWVudDYudGV4dENvbnRlbnQiLCAiUmVzdWx0OiAkKHY6ZSki
KTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50Ny50ZXh0Q29udGVudCIsICJS
ZXN1bHQ6ICR3b250d29yayIpOwotCi0gICAgc3RhcnRUZXN0KDI1LCAxNSk7Ci19Ci0KLWZ1bmN0
aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQx
LnRleHRDb250ZW50IiwgIlJlc3VsdDogVEVTVCBQQVNTRUQiKTsKLSAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInBFbGVtZW50Mi50ZXh0Q29udGVudCIsICJSZXN1bHQ6IFRFU1QlMjBQQVNTRUQi
KTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVtZW50My50ZXh0Q29udGVudCIsICJS
ZXN1bHQ6IFRFU1QlMjBQQVNTRUQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBFbGVt
ZW50NC50ZXh0Q29udGVudCIsICJSZXN1bHQ6IFRFU1QgUEFTU0VEIik7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJwRWxlbWVudDUudGV4dENvbnRlbnQiLCAiUmVzdWx0OiBURVNUIFBBU1NF
RCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVsZW1lbnQ2LnRleHRDb250ZW50Iiwg
IlJlc3VsdDogVEVTVCUyMFBBU1NFRCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicEVs
ZW1lbnQ3LnRleHRDb250ZW50IiwgIlJlc3VsdDogIik7Ci0KLSAgICBjb21wbGV0ZVRlc3QoKTsK
LX0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>