<?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>205741</bug_id>
          
          <creation_ts>2020-01-03 11:42:15 -0800</creation_ts>
          <short_desc>Update test262 tests to commit 157b18d</short_desc>
          <delta_ts>2020-01-03 15:22:22 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1602534</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-01-03 11:42:15 -0800</bug_when>
    <thetext>Update test262 tests to commit 157b18d</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602551</commentid>
    <comment_count>1</comment_count>
      <attachid>386705</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-01-03 12:18:49 -0800</bug_when>
    <thetext>Created attachment 386705
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602553</commentid>
    <comment_count>2</comment_count>
      <attachid>386705</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-03 12:19:31 -0800</bug_when>
    <thetext>Comment on attachment 386705
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602612</commentid>
    <comment_count>3</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-01-03 15:21:59 -0800</bug_when>
    <thetext>Committed r254017: &lt;https://trac.webkit.org/changeset/254017&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602613</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-03 15:22:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/58308691&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386705</attachid>
            <date>2020-01-03 12:18:49 -0800</date>
            <delta_ts>2020-01-03 12:24:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205741-20200103121848.patch</filename>
            <type>text/plain</type>
            <size>784448</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDcwNCBAQAorMjAyMC0wMS0wMyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVy
QGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgdGVzdDI2MiB0ZXN0cyB0byBjb21taXQgMTU3
YjE4ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1
NzQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0
ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sOgorICAgICAgICAqIHRlc3QyNjIvaGFybmVzcy9kZWVw
RXF1YWwuanM6CisgICAgICAgIChhc3NlcnQuZGVlcEVxdWFsKToKKyAgICAgICAgKGFzc2VydC5k
ZWVwRXF1YWwuZm9ybWF0KToKKyAgICAgICAgKGRlZXBFcXVhbCk6CisgICAgICAgIChjb21wYXJl
RXF1YWxpdHkpOgorICAgICAgICAoY29tcGFyZUlmKToKKyAgICAgICAgKHRyeUNvbXBhcmVTdHJp
Y3RFcXVhbGl0eSk6CisgICAgICAgICh0cnlDb21wYXJlVHlwZU9mRXF1YWxpdHkpOgorICAgICAg
ICAodHJ5Q29tcGFyZVRvU3RyaW5nVGFnRXF1YWxpdHkpOgorICAgICAgICAoaXNPcHRpb25hbCk6
CisgICAgICAgIChjb21wYXJlT3B0aW9uYWxpdHkpOgorICAgICAgICAoaXNQcmltaXRpdmVFcXVh
dGFibGUpOgorICAgICAgICAoY29tcGFyZVByaW1pdGl2ZUVxdWFsaXR5KToKKyAgICAgICAgKGlz
TmFORXF1YXRhYmxlKToKKyAgICAgICAgKGNvbXBhcmVOYU5FcXVhbGl0eSk6CisgICAgICAgIChp
c09iamVjdEVxdWF0YWJsZSk6CisgICAgICAgIChjb21wYXJlT2JqZWN0RXF1YWxpdHkpOgorICAg
ICAgICAoaXNCb3hlZCk6CisgICAgICAgIChpc1ZhbHVlT2ZFcXVhdGFibGUpOgorICAgICAgICAo
Y29tcGFyZVZhbHVlT2ZFcXVhbGl0eSk6CisgICAgICAgIChpc1RvU3RyaW5nRXF1YXRhYmxlKToK
KyAgICAgICAgKGNvbXBhcmVUb1N0cmluZ0VxdWFsaXR5KToKKyAgICAgICAgKGlzQXJyYXlMaWtl
RXF1YXRhYmxlKToKKyAgICAgICAgKGlzU3RydWN0dXJhbGx5RXF1YXRhYmxlKToKKyAgICAgICAg
KGlzSXRlcmFibGVFcXVhdGFibGUpOgorICAgICAgICAoY29tcGFyZUl0ZXJhdG9yRXF1YWxpdHkp
OgorICAgICAgICAoY29tcGFyZUl0ZXJhYmxlRXF1YWxpdHkpOgorICAgICAgICAoY2FjaGVDb21w
YXJpc29uKToKKyAgICAgICAgKGZhaWwpOgorICAgICAgICAoc2V0Q2FjaGUpOgorICAgICAgICAo
Z2V0Q2FjaGUpOgorICAgICAgICAoYXNzZXJ0LmRlZXBFcXVhbC5fY29tcGFyZSk6CisgICAgICAg
ICogdGVzdDI2Mi9sYXRlc3QtY2hhbmdlcy1zdW1tYXJ5LnR4dDoKKyAgICAgICAgKiB0ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL2Vycm9ycy1pdGVyYWJsZXRvbGlzdC1mYWls
dXJlcy5qczogQWRkZWQuCisgICAgICAgIChjYXNlMS5nZXQgU3ltYm9sKToKKyAgICAgICAgKGNh
c2UyLmdldCBTeW1ib2wpOgorICAgICAgICAoY2FzZTMuU3ltYm9sLml0ZXJhdG9yKToKKyAgICAg
ICAgKGNhc2U0LlN5bWJvbC5pdGVyYXRvcik6CisgICAgICAgIChjYXNlNS5TeW1ib2wuaXRlcmF0
b3IpOgorICAgICAgICAoY2FzZTYuU3ltYm9sLml0ZXJhdG9yLnJldHVybi5nZXQgbmV4dCk6Cisg
ICAgICAgIChjYXNlNi5TeW1ib2wuaXRlcmF0b3IpOgorICAgICAgICAoY2FzZTcuU3ltYm9sLml0
ZXJhdG9yLnJldHVybi5nZXQgbmV4dCk6CisgICAgICAgIChjYXNlNy5TeW1ib2wuaXRlcmF0b3Ip
OgorICAgICAgICAoY2FzZTguU3ltYm9sLml0ZXJhdG9yKToKKyAgICAgICAgKGNhc2U5LlN5bWJv
bC5pdGVyYXRvcik6CisgICAgICAgIChjYXNlMTAuU3ltYm9sLml0ZXJhdG9yKToKKyAgICAgICAg
KGNhc2UxMS5TeW1ib2wuaXRlcmF0b3IucmV0dXJuLm5leHQucmV0dXJuLmdldCBkb25lKToKKyAg
ICAgICAgKGNhc2UxMS5TeW1ib2wuaXRlcmF0b3IpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvZXJyb3JzLWl0ZXJhYmxldG9saXN0LmpzOiBBZGRlZC4K
KyAgICAgICAgKGNhc2UxLlN5bWJvbC5pdGVyYXRvci5yZXR1cm4ubmV4dC5yZXR1cm4uZ2V0IHZh
bHVlKToKKyAgICAgICAgKGNhc2UxLlN5bWJvbC5pdGVyYXRvcik6CisgICAgICAgICogdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9sZW5ndGguanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbWVzc2FnZS1tZXRob2Qt
cHJvcC1jYXN0LmpzOiBBZGRlZC4KKyAgICAgICAgKHRvU3RyaW5nKToKKyAgICAgICAgKiB0ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL21lc3NhZ2UtbWV0aG9kLXByb3AuanM6
IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3Iv
bWVzc2FnZS10b3N0cmluZy1hYnJ1cHQtc3ltYm9sLmpzOiBBZGRlZC4KKyAgICAgICAgKGNhc2Uy
LlN5bWJvbC50b1ByaW1pdGl2ZSk6CisgICAgICAgIChjYXNlMi50b1N0cmluZyk6CisgICAgICAg
IChjYXNlMi52YWx1ZU9mKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3Jl
Z2F0ZUVycm9yL21lc3NhZ2UtdG9zdHJpbmctYWJydXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKGNh
c2UxLlN5bWJvbC50b1ByaW1pdGl2ZSk6CisgICAgICAgIChjYXNlMS50b1N0cmluZyk6CisgICAg
ICAgIChjYXNlMS52YWx1ZU9mKToKKyAgICAgICAgKGNhc2UyLnRvU3RyaW5nKToKKyAgICAgICAg
KGNhc2UyLnZhbHVlT2YpOgorICAgICAgICAoY2FzZTMudmFsdWVPZik6CisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9tZXNzYWdlLXVuZGVmaW5lZC1uby1w
cm9wLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0
ZUVycm9yL25hbWUuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QWdncmVnYXRlRXJyb3IvbmV3dGFyZ2V0LXByb3RvLWN1c3RvbS5qczogQWRkZWQuCisgICAgICAg
IChuZXd0Lm5ldy5Qcm94eSk6CisgICAgICAgIChuZXd0Lm5ldy5Qcm94eS5nZXQgaWYpOgorICAg
ICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbmV3dGFyZ2V0LXBy
b3RvLWZhbGxiYWNrLmpzOiBBZGRlZC4KKyAgICAgICAgKGN0b3IpOgorICAgICAgICAoY29uc3Qu
dmFsdWUub2YudmFsdWVzLmdldCB0KToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0FnZ3JlZ2F0ZUVycm9yL25ld3RhcmdldC1wcm90by5qczogQWRkZWQuCisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm9wLWRlc2MuanM6IEFkZGVkLgor
ICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG8uanM6
IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3Iv
cHJvdG90eXBlOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3Jl
Z2F0ZUVycm9yL3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci5qczogQWRkZWQuCisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzOiBBZGRl
ZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3Rv
dHlwZS9lcnJvcnMvaW52b2tlZC1hcy1hY2Nlc3Nvci5qczogQWRkZWQuCisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL2ludm9r
ZWQtYXMtZnVuYy5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
Z2dyZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL2xlbmd0aC5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3Jz
L25hbWUuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVn
YXRlRXJyb3IvcHJvdG90eXBlL2Vycm9ycy9wcm9wLWRlc2MuanM6IEFkZGVkLgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL2Vycm9ycy9y
ZXR1cm4tZnJvbS1pdGVyYWJsZS1lcnJvcnMuanM6IEFkZGVkLgorICAgICAgICAoZXJyb3JzLlN5
bWJvbC5pdGVyYXRvci5yZXR1cm4ubmV4dC5yZXR1cm4uZ2V0IHZhbHVlKToKKyAgICAgICAgKGVy
cm9ycy5TeW1ib2wuaXRlcmF0b3IpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL2Vycm9ycy9yZXR1cm4tbmV3LWFycmF5LWZyb20tbGlz
dC5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVF
cnJvci9wcm90b3R5cGUvZXJyb3JzL3RoaXMtaGFzLW5vLXR5cGVkYXJyYXluYW1lLWludGVybmFs
LmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVy
cm9yL3Byb3RvdHlwZS9lcnJvcnMvdGhpcy1pcy1ub3Qtb2JqZWN0LmpzOiBBZGRlZC4KKyAgICAg
ICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9tZXNz
YWdlLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0
ZUVycm9yL3Byb3RvdHlwZS9uYW1lLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9wcm9wLWRlc2MuanM6IEFkZGVkLgor
ICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBl
L3Byb3RvLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5
L3Byb3RvdHlwZS9jb3B5V2l0aGluL2NvZXJjZWQtdmFsdWVzLXN0YXJ0LWNoYW5nZS1zdGFydC5q
czogQWRkZWQuCisgICAgICAgIChsb25nRGVuc2VBcnJheSk6CisgICAgICAgIChzaG9ydGVuKToK
KyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb3B5V2l0
aGluL2NvZXJjZWQtdmFsdWVzLXN0YXJ0LWNoYW5nZS10YXJnZXQuanM6IEFkZGVkLgorICAgICAg
ICAobG9uZ0RlbnNlQXJyYXkpOgorICAgICAgICAoc2hvcnRlbik6CisgICAgICAgICogdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZmxhdE1hcC90aGlzLXZhbHVlLWN0b3It
b2JqZWN0LXNwZWNpZXMtYmFkLXRocm93cy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0F0b21pY3MvYWRkL2JpZ2ludC9ub25zaGFyZWQtaW50LXZpZXdzLmpzOgorICAgICAg
ICAodGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKToKKyAgICAgICAgKiB0ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3MvYW5kL2JpZ2ludC9ub25zaGFyZWQtaW50LXZpZXdz
LmpzOgorICAgICAgICAodGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKToKKyAg
ICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3MvY29tcGFyZUV4Y2hhbmdlL2Jp
Z2ludC9ub25zaGFyZWQtaW50LXZpZXdzLmpzOgorICAgICAgICAodGVzdFdpdGhCaWdJbnRUeXBl
ZEFycmF5Q29uc3RydWN0b3JzKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3MvZXhjaGFuZ2UvYmlnaW50L25vbnNoYXJlZC1pbnQtdmlld3MuanM6CisgICAgICAgICh0
ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMpOgorICAgICAgICAqIHRlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy9vci9iaWdpbnQvbm9uc2hhcmVkLWludC12aWV3cy5qczoK
KyAgICAgICAgKHRlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyk6CisgICAgICAg
ICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3N0b3JlL2JpZ2ludC9ub25zaGFyZWQt
aW50LXZpZXdzLmpzOgorICAgICAgICAodGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0
b3JzKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvc3ViL2JpZ2lu
dC9ub25zaGFyZWQtaW50LXZpZXdzLmpzOgorICAgICAgICAodGVzdFdpdGhCaWdJbnRUeXBlZEFy
cmF5Q29uc3RydWN0b3JzKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9y
L3Byb3RvdHlwZS90b1N0cmluZy9pbnZhbGlkLXJlY2VpdmVyLmpzOiBBZGRlZC4KKyAgICAgICAg
KFN5bWJvbC5mb3JFYWNoKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9y
L3Byb3RvdHlwZS90b1N0cmluZy91bmRlZmluZWQtcHJvcHMuanM6IEFkZGVkLgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uR3JvdXAvcHJvdG90eXBlL2NsZWFu
dXBTb21lL2NsZWFudXAtcHJldmVudGVkLXdpdGgtdW5yZWdpc3Rlci5qczoKKyAgICAgICAgKGVt
cHR5Q2VsbHMpOgorICAgICAgICAoZW1wdHlDZWxscy50aGVuKToKKyAgICAgICAgKiB0ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvbkdyb3VwL3Byb3RvdHlwZS9jbGVhbnVwU29tZS9j
bGVhbnVwLXRocm93cy1pbi1jYWxsYmFjay5qczogQWRkZWQuCisgICAgICAgIChmZy5uZXcuRmlu
YWxpemF0aW9uR3JvdXApOgorICAgICAgICAoY2FsbGJhY2spOgorICAgICAgICAoZW1wdHlDZWxs
cyk6CisgICAgICAgIChlbXB0eUNlbGxzLnRoZW4pOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRmluYWxpemF0aW9uR3JvdXAvcHJvdG90eXBlL3JlZ2lzdGVyL2hvbGRpbmdzLXNh
bWUtYXMtdGFyZ2V0LmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxp
emF0aW9uR3JvdXAvcHJvdG90eXBlL3JlZ2lzdGVyL3JldHVybi11bmRlZmluZWQtcmVnaXN0ZXIt
aXRzZWxmLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9u
R3JvdXAvcHJvdG90eXBlL3JlZ2lzdGVyL3VucmVnaXN0ZXJUb2tlbi1zYW1lLWFzLWhvbGRpbmdz
LWFuZC10YXJnZXQuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6
YXRpb25Hcm91cC9wcm90b3R5cGUvdW5yZWdpc3Rlci91bnJlZ2lzdGVyLWNsZWFuZWQtdXAtY2Vs
bC5qczogQWRkZWQuCisgICAgICAgIChmZy5uZXcuRmluYWxpemF0aW9uR3JvdXApOgorICAgICAg
ICAoZW1wdHlDZWxscyk6CisgICAgICAgIChlbXB0eUNlbGxzLnRoZW4pOgorICAgICAgICAqIHRl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uR3JvdXAvdGFyZ2V0LW5vdC1jYWxsYWJs
ZS10aHJvd3MuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3BhcnNl
L3Jldml2ZXItYXJyYXktZ2V0LXByb3AtZnJvbS1wcm90b3R5cGUuanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9yZXZpdmVyLWFycmF5LW5vbi1j
b25maWd1cmFibGUtcHJvcC1jcmVhdGUuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVz
dC9idWlsdC1pbnMvSlNPTi9wYXJzZS9yZXZpdmVyLWFycmF5LW5vbi1jb25maWd1cmFibGUtcHJv
cC1kZWxldGUuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNP
Ti9wYXJzZS9yZXZpdmVyLWNhbGwtb3JkZXIuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIv
dGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9yZXZpdmVyLW9iamVjdC1nZXQtcHJvcC1mcm9tLXBy
b3RvdHlwZS5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09O
L3BhcnNlL3Jldml2ZXItb2JqZWN0LW5vbi1jb25maWd1cmFibGUtcHJvcC1jcmVhdGUuanM6IEFk
ZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9yZXZpdmVy
LW9iamVjdC1ub24tY29uZmlndXJhYmxlLXByb3AtZGVsZXRlLmpzOiBBZGRlZC4KKyAgICAgICAg
KiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0pTT04vcGFyc2UvcmV2aXZlci13cmFwcGVyLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0pTT04vc3RyaW5naWZ5L3By
b3BlcnR5LW9yZGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9lbnRyaWVzL3JldHVybi1vcmRlci5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZnJlZXplL3Rocm93cy13aGVuLWZhbHNlLmpzOiBBZGRl
ZC4KKyAgICAgICAgKHByZXZlbnRFeHRlbnNpb25zKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eU5hbWVzL3Byb3h5LWludmFyaWFudC1hYnNl
bnQtbm90LWNvbmZpZ3VyYWJsZS1zeW1ib2wta2V5LmpzOiBBZGRlZC4KKyAgICAgICAgKG93bktl
eXMpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3Bl
cnR5TmFtZXMvcHJveHktaW52YXJpYW50LWR1cGxpY2F0ZS1zeW1ib2wtZW50cnkuanM6IEFkZGVk
LgorICAgICAgICAob3duS2V5cyk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvZ2V0T3duUHJvcGVydHlOYW1lcy9wcm94eS1pbnZhcmlhbnQtbm90LWV4dGVuc2libGUt
YWJzZW50LXN5bWJvbC1rZXkuanM6IEFkZGVkLgorICAgICAgICAob3duS2V5cyk6CisgICAgICAg
ICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlOYW1lcy9wcm94
eS1pbnZhcmlhbnQtbm90LWV4dGVuc2libGUtZXh0cmEtc3ltYm9sLWtleS5qczogQWRkZWQuCisg
ICAgICAgIChvd25LZXlzKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9nZXRPd25Qcm9wZXJ0eVN5bWJvbHMvbGVuZ3RoLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9uYW1lLmpzOgorICAgICAg
ICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9v
YmplY3QtY29udGFpbnMtc3ltYm9sLXByb3BlcnR5LXdpdGgtZGVzY3JpcHRpb24uanM6CisgICAg
ICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlTeW1ib2xz
L29iamVjdC1jb250YWlucy1zeW1ib2wtcHJvcGVydHktd2l0aG91dC1kZXNjcmlwdGlvbi5qczoK
KyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eVN5
bWJvbHMvcHJveHktaW52YXJpYW50LWFic2VudC1ub3QtY29uZmlndXJhYmxlLXN0cmluZy1rZXku
anM6IEFkZGVkLgorICAgICAgICAob3duS2V5cyk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlTeW1ib2xzL3Byb3h5LWludmFyaWFudC1kdXBs
aWNhdGUtc3RyaW5nLWVudHJ5LmpzOiBBZGRlZC4KKyAgICAgICAgKG93bktleXMpOgorICAgICAg
ICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9w
cm94eS1pbnZhcmlhbnQtbm90LWV4dGVuc2libGUtYWJzZW50LXN0cmluZy1rZXkuanM6IEFkZGVk
LgorICAgICAgICAob3duS2V5cyk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvZ2V0T3duUHJvcGVydHlTeW1ib2xzL3Byb3h5LWludmFyaWFudC1ub3QtZXh0ZW5zaWJs
ZS1leHRyYS1zdHJpbmcta2V5LmpzOiBBZGRlZC4KKyAgICAgICAgKG93bktleXMpOgorICAgICAg
ICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2tleXMvcHJveHktbm9uLWVudW1lcmFi
bGUtcHJvcC1pbnZhcmlhbnQtMi5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9rZXlzL3Byb3h5LW5vbi1lbnVtZXJhYmxlLXByb3AtaW52YXJpYW50LTMuanM6IEFk
ZGVkLgorICAgICAgICAob3duS2V5cyk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3Qva2V5cy9yZXR1cm4tb3JkZXIuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3ByZXZlbnRFeHRlbnNpb25zL3Rocm93cy13aGVuLWZhbHNl
LmpzOiBBZGRlZC4KKyAgICAgICAgKHByZXZlbnRFeHRlbnNpb25zKToKKyAgICAgICAgKiB0ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvaXNQcm90b3R5cGVPZi9hcmctaXMt
cHJveHkuanM6IEFkZGVkLgorICAgICAgICAoaGFuZGxlci5hbGxvd1Byb3h5VHJhcHMuZ2V0UHJv
dG90eXBlT2YpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3Rv
dHlwZS9pc1Byb3RvdHlwZU9mL2J1aWx0aW4uanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9pc1Byb3RvdHlwZU9mL2xlbmd0aC5qczog
QWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L2lzUHJvdG90eXBlT2YvbmFtZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvaXNQcm90b3R5cGVPZi9udWxsLXRoaXMtYW5kLW9iamVjdC1hcmct
dGhyb3dzLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvaXNQcm90b3R5cGVPZi9udWxsLXRoaXMtYW5kLXByaW1pdGl2ZS1hcmctcmV0
dXJucy1mYWxzZS5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvdGhpcy12YWx1ZS1pcy1pbi1wcm90b3R5cGUt
Y2hhaW4tb2YtYXJnLmpzOiBBZGRlZC4KKyAgICAgICAgKFVTRVJfRkFDVE9SWS50aGlzLmdldE5h
bWUpOgorICAgICAgICAoVVNFUl9GQUNUT1JZKToKKyAgICAgICAgKHRoaXMuZ2V0R3JhZGUpOgor
ICAgICAgICAoRk9SQ0VEVVNFUl9GQUNUT1JZKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvaXNQcm90b3R5cGVPZi91bmRlZmluZWQtdGhpcy1hbmQt
b2JqZWN0LWFyZy10aHJvd3MuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9pc1Byb3RvdHlwZU9mL3VuZGVmaW5lZC10aGlzLWFuZC1w
cmltaXRpdmUtYXJnLXJldHVybnMtZmFsc2UuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvdGhyb3dzLXdoZW4tZmFsc2UuanM6IEFkZGVkLgor
ICAgICAgICAocHJldmVudEV4dGVuc2lvbnMpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3ZhbHVlcy9yZXR1cm4tb3JkZXIuanM6IEFkZGVkLgorICAgICAgICAqIHRl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvaGFzL2NhbGwtaW4tcHJvdG90eXBlLWluZGV4Lmpz
OiBBZGRlZC4KKyAgICAgICAgKGhhbmRsZXIuYWxsb3dQcm94eVRyYXBzLmhhcyk6CisgICAgICAg
ICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9oYXMvY2FsbC1pbi1wcm90b3R5cGUuanM6
CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9vd25LZXlzL2NhbGwtcGFy
YW1ldGVycy1vYmplY3Qta2V5cy5qczoKKyAgICAgICAgKGhhbmRsZXIub3duS2V5cyk6CisgICAg
ICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvY2FsbC1wYXJhbWV0ZXJzLXBy
b3RvdHlwZS1pbmRleC5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWZsZWN0L3ByZXZlbnRFeHRlbnNpb25zL3RhcmdldC1pcy1ub3Qtb2JqZWN0LXRocm93cy5q
czoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2Vz
L2luZGljZXMtYXJyYXktZWxlbWVudC5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktbWF0Y2hlZC5qczoKKyAgICAg
ICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMt
YXJyYXktbm9uLXVuaWNvZGUtbWF0Y2guanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFycmF5LXByb3BlcnRpZXMuanM6Cisg
ICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRp
Y2VzLWFycmF5LXVuaWNvZGUtbWF0Y2guanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFycmF5LXVuaWNvZGUtcHJvcGVydHkt
bmFtZXMuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gt
aW5kaWNlcy9pbmRpY2VzLWFycmF5LXVubWF0Y2hlZC5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXkuanM6CisgICAg
ICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2Vz
LWdyb3Vwcy1vYmplY3QtdW5tYXRjaGVkLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMtb2JqZWN0LmpzOgorICAg
ICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNl
cy1ncm91cHMtcHJvcGVydGllcy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtcHJvcGVydHkuanM6CisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGw6IEFkZGVkLgor
ICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNl
QWxsL2dldFN1YnN0aXR1dGlvbi0weDAwMjQtMHgwMDI0LmpzOiBBZGRlZC4KKyAgICAgICAgKiB0
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9nZXRTdWJz
dGl0dXRpb24tMHgwMDI0LTB4MDAyNi5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvZ2V0U3Vic3RpdHV0aW9uLTB4
MDAyNC0weDAwMjcuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMv
U3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL2dldFN1YnN0aXR1dGlvbi0weDAwMjQtMHgwMDND
LmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90
b3R5cGUvcmVwbGFjZUFsbC9nZXRTdWJzdGl0dXRpb24tMHgwMDI0LTB4MDA2MC5qczogQWRkZWQu
CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxh
Y2VBbGwvZ2V0U3Vic3RpdHV0aW9uLTB4MDAyNC5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvZ2V0U3Vic3RpdHV0
aW9uLTB4MDAyNE4uanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMv
U3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL2dldFN1YnN0aXR1dGlvbi0weDAwMjROTi5qczog
QWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L3JlcGxhY2VBbGwvbGVuZ3RoLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9uYW1lLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9y
ZXBsYWNlQWxsLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0
cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9yZXBsYWNlVmFsdWUtY2FsbC1hYnJ1cHQuanM6IEFk
ZGVkLgorICAgICAgICAoY3VzdG9tKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9yZXBsYWNlVmFsdWUtY2FsbC1lYWNoLW1hdGNo
LXBvc2l0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKHQpOgorICAgICAgICAocmVwbGFjZVZhbHVl
KToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVw
bGFjZUFsbC9yZXBsYWNlVmFsdWUtY2FsbC1tYXRjaGluZy1lbXB0eS5qczogQWRkZWQuCisgICAg
ICAgICh0KToKKyAgICAgICAgKHJlcGxhY2VWYWx1ZSk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLWNhbGwt
c2tpcC1uby1tYXRjaC5qczogQWRkZWQuCisgICAgICAgIChyZXBsYWNlVmFsdWUpOgorICAgICAg
ICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3Jl
cGxhY2VWYWx1ZS1jYWxsLXRvc3RyaW5nLWFicnVwdC5qczogQWRkZWQuCisgICAgICAgIChjdXN0
b20pOgorICAgICAgICAoc3ltYm9sKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9yZXBsYWNlVmFsdWUtZm4tc2tpcC10b1N0cmlu
Zy5qczogQWRkZWQuCisgICAgICAgIChyZXBsYWNlVmFsdWUpOgorICAgICAgICAodmFsdWUpOgor
ICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNl
QWxsL3JlcGxhY2VWYWx1ZS10b3N0cmluZy1hYnJ1cHQuanM6IEFkZGVkLgorICAgICAgICAodGhp
c1ZhbHVlLnRvU3RyaW5nKToKKyAgICAgICAgKHNlYXJjaFZhbHVlLnRvU3RyaW5nKToKKyAgICAg
ICAgKHJlcGxhY2VWYWx1ZS50b1N0cmluZyk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLXZhbHVlLXJlcGxh
Y2VzLXN0cmluZy5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLXZhbHVlLXRvc3RyaW5nLmpz
OiBBZGRlZC4KKyAgICAgICAgKHJlcGxhY2VWYWx1ZS5TeW1ib2wudG9QcmltaXRpdmUpOgorICAg
ICAgICAocmVwbGFjZVZhbHVlLnRvU3RyaW5nKToKKyAgICAgICAgKHJlcGxhY2VWYWx1ZS52YWx1
ZU9mKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
cmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1lbXB0eS1zdHJpbmctdGhpcy1lbXB0eS1zdHJpbmcuanM6
IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlw
ZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLWVtcHR5LXN0cmluZy5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2Vh
cmNoVmFsdWUtZmxhZ3Mtbm8tZy10aHJvd3MuanM6IEFkZGVkLgorICAgICAgICAocG9pc29uLnRv
U3RyaW5nKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5
cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1mbGFncy1udWxsLXVuZGVmaW5lZC10aHJvd3MuanM6
IEFkZGVkLgorICAgICAgICAocG9pc29uLnRvU3RyaW5nKToKKyAgICAgICAgKHNlYXJjaFZhbHVl
LmdldCBmbGFncyk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtZmxhZ3MtdG9TdHJpbmctYWJydXB0LmpzOiBB
ZGRlZC4KKyAgICAgICAgKHBvaXNvbi50b1N0cmluZyk6CisgICAgICAgIChzZWFyY2hWYWx1ZS50
b1N0cmluZyk6CisgICAgICAgIChzZWFyY2hWYWx1ZS5mbGFncy50b1N0cmluZyk6CisgICAgICAg
ICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2Vh
cmNoVmFsdWUtZ2V0LWZsYWdzLWFicnVwdC5qczogQWRkZWQuCisgICAgICAgIChzZWFyY2hWYWx1
ZS5nZXQgZmxhZ3MpOgorICAgICAgICAocG9pc29uLnRvU3RyaW5nKToKKyAgICAgICAgKiB0ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1
ZS1pc1JlZ0V4cC1hYnJ1cHQuanM6IEFkZGVkLgorICAgICAgICAoc2VhcmNoVmFsdWUuZ2V0IFN5
bWJvbCk6CisgICAgICAgIChzZWFyY2hWYWx1ZS50b1N0cmluZyk6CisgICAgICAgIChwb2lzb24u
dG9TdHJpbmcpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3Rv
dHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLXJlcGxhY2UtbWV0aG9kLWFicnVwdC5qczogQWRk
ZWQuCisgICAgICAgIChwb2lzb24udG9TdHJpbmcpOgorICAgICAgICAoc2VhcmNoVmFsdWUuZ2V0
IFN5bWJvbCk6CisgICAgICAgIChzZWFyY2hWYWx1ZS50b1N0cmluZyk6CisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFs
dWUtcmVwbGFjZXItUmVnRXhwLWNhbGwtZm4uanM6IEFkZGVkLgorICAgICAgICAoUkUucHJvdG90
eXBlLlN5bWJvbC5yZXBsYWNlKToKKyAgICAgICAgKFJFLnByb3RvdHlwZS50b1N0cmluZyk6Cisg
ICAgICAgIChSRSk6CisgICAgICAgIChjb25zdC50KToKKyAgICAgICAgKGdldEZuLnJldHVybi5y
ZXBsYWNlVmFsdWVGbik6CisgICAgICAgIChnZXRGbik6CisgICAgICAgICogdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFj
ZXItUmVnRXhwLWNhbGwuanM6IEFkZGVkLgorICAgICAgICAoUkUucHJvdG90eXBlLlN5bWJvbC5y
ZXBsYWNlKToKKyAgICAgICAgKFJFLnByb3RvdHlwZS50b1N0cmluZyk6CisgICAgICAgIChSRSk6
CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxh
Y2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZXItYmVmb3JlLXRvc3RyaW5nLmpzOiBBZGRlZC4KKyAg
ICAgICAgKHZhbHVlKToKKyAgICAgICAgKHBvaXNvbi50b1N0cmluZyk6CisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFs
dWUtcmVwbGFjZXItY2FsbC1hYnJ1cHQuanM6IEFkZGVkLgorICAgICAgICAocG9pc29uLnRvU3Ry
aW5nKToKKyAgICAgICAgKHNlYXJjaFZhbHVlLlN5bWJvbC5yZXBsYWNlKToKKyAgICAgICAgKHNl
YXJjaFZhbHVlLnRvU3RyaW5nKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0
cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1yZXBsYWNlci1jYWxsLmpzOiBB
ZGRlZC4KKyAgICAgICAgKHZhbHVlKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS10b3N0cmluZy1hYnJ1cHQu
anM6IEFkZGVkLgorICAgICAgICAocG9pc29uLnRvU3RyaW5nKToKKyAgICAgICAgKHRoaXNWYWx1
ZS50b1N0cmluZyk6CisgICAgICAgIChzZWFyY2hWYWx1ZS50b1N0cmluZyk6CisgICAgICAgICog
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNo
VmFsdWUtdG9zdHJpbmctcmVnZXhwLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC90aGlzLWlzLW51bGwtdGhyb3dz
LmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90
b3R5cGUvcmVwbGFjZUFsbC90aGlzLWlzLXVuZGVmaW5lZC10aHJvd3MuanM6IEFkZGVkLgorICAg
ICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxs
L3RoaXMtdG9zdHJpbmctYWJydXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKHBvaXNvbi50b1N0cmlu
Zyk6CisgICAgICAgICh0aGlzVmFsdWUudG9TdHJpbmcpOgorICAgICAgICAoc2VhcmNoVmFsdWUu
dG9TdHJpbmcpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3Rv
dHlwZS9yZXBsYWNlQWxsL3RoaXMtdG9zdHJpbmcuanM6IEFkZGVkLgorICAgICAgICAodGhpc1Zh
bHVlLlN5bWJvbC50b1ByaW1pdGl2ZSk6CisgICAgICAgICh0aGlzVmFsdWUudG9TdHJpbmcpOgor
ICAgICAgICAodGhpc1ZhbHVlLnZhbHVlT2YpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheS9mcm9tL21hcGZuLWlzLW5vdC1jYWxsYWJsZS5qczoKKyAgICAgICAg
KiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0lu
dC9zcGVjaWVzY3Rvci1nZXQtc3BlY2llcy1jdXN0b20tY3Rvci1sZW5ndGgtdGhyb3dzLmpzOgor
ICAgICAgICAodGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKToKKyAgICAgICAg
KiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0lu
dC9zcGVjaWVzY3Rvci1nZXQtc3BlY2llcy1jdXN0b20tY3Rvci1sZW5ndGguanM6CisgICAgICAg
ICh0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMpOgorICAgICAgICAqIHRlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2Uvc3BlY2llc2N0b3It
Z2V0LXNwZWNpZXMtY3VzdG9tLWN0b3ItbGVuZ3RoLXRocm93cy5qczoKKyAgICAgICAgKHRlc3RX
aXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9zcGVjaWVzY3Rvci1nZXQtc3BlY2llcy1j
dXN0b20tY3Rvci1sZW5ndGguanM6CisgICAgICAgICh0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9mcm9tL25hbi1jb252ZXJzaW9uLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9mcm9tL25ldy1pbnN0YW5jZS1mcm9tLXpl
cm8uanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL29mL0JpZ0ludC9pbmhlcml0ZWQuanM6CisgICAgICAgICh0ZXN0V2l0aEJpZ0ludFR5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9vZi9pbmhlcml0ZWQuanM6CisgICAgICAgICh0ZXN0V2l0
aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1p
bnMvV2Vha1JlZi9wcm90b3R5cGUtZnJvbS1uZXd0YXJnZXQtYWJydXB0LmpzOgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9oYXJuZXNzL2RlZXBFcXVhbC1hcnJheS5qczoKKyAgICAgICAgKiB0ZXN0
MjYyL3Rlc3QvaGFybmVzcy9kZWVwRXF1YWwtY2lyY3VsYXIuanM6CisgICAgICAgICogdGVzdDI2
Mi90ZXN0L2hhcm5lc3MvZGVlcEVxdWFsLWRlZXAuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0
L2hhcm5lc3MvZGVlcEVxdWFsLW1hcHNldC5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvaGFy
bmVzcy9kZWVwRXF1YWwtb2JqZWN0LmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9pbnRsNDAy
L0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvaG91ckN5Y2xlLWRhdGVT
dHlsZS5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGF0ZVRpbWVG
b3JtYXQvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9ob3VyQ3ljbGUtZGVmYXVsdC5qczogQWRk
ZWQuCisgICAgICAgIChsb2NhbGVzLmZvckVhY2gpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9p
bnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvaG91ckN5Y2xl
LXRpbWVTdHlsZS5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGF0
ZVRpbWVGb3JtYXQvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9ob3VyQ3ljbGUuanM6CisgICAg
ICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzOiBBZGRlZC4KKyAgICAgICAg
KiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvY3Rvci1jdXN0b20tZ2V0LXByb3Rv
dHlwZS1wb2lzb24tdGhyb3dzLmpzOiBBZGRlZC4KKyAgICAgICAgKGN1c3RvbS5uZXcuUHJveHku
bmV3LkZ1bmN0aW9uLmdldCBpZik6CisgICAgICAgIChjdXN0b20ubmV3LlByb3h5Lm5ldy5GdW5j
dGlvbik6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2N0b3It
Y3VzdG9tLXByb3RvdHlwZS5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0
MDIvRGlzcGxheU5hbWVzL2N0b3ItZGVmYXVsdC1wcm90b3R5cGUuanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9pbnN0YW5jZS1leHRlbnNpYmxl
LmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMv
bGVuZ3RoLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5
TmFtZXMvbG9jYWxlcy1pbnZhbGlkLXRocm93cy5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2
Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2xvY2FsZXMtbGVuZ3RoLXBvaXNvbi10aHJvd3Mu
anM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9s
b2NhbGVzLWxlbmd0aC10b2xlbmd0aC10aHJvd3MuanM6IEFkZGVkLgorICAgICAgICAobG9jYWxl
cy5sZW5ndGgudmFsdWVPZik6CisgICAgICAgIChsb2NhbGVzLmxlbmd0aC5TeW1ib2wudG9Qcmlt
aXRpdmUpOgorICAgICAgICAobG9jYWxlcy5sZW5ndGgudG9TdHJpbmcpOgorICAgICAgICAqIHRl
c3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9sb2NhbGVzLXN5bWJvbC1sZW5ndGguanM6
IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9uYW1l
LmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMv
b3B0aW9ucy1mYWxsYmFjay1hYnJ1cHQtdGhyb3dzLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0
MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1mYWxsYmFjay1pbnZhbGlkLXRo
cm93cy5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5h
bWVzL29wdGlvbnMtZmFsbGJhY2stdG9TdHJpbmctYWJydXB0LXRocm93cy5qczogQWRkZWQuCisg
ICAgICAgIChvcHRpb25zLmZhbGxiYWNrLnRvU3RyaW5nKToKKyAgICAgICAgKG9wdGlvbnMuZmFs
bGJhY2sudmFsdWVPZik6CisgICAgICAgIChvcHRpb25zLmZhbGxiYWNrLlN5bWJvbC50b1ByaW1p
dGl2ZSk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlv
bnMtZmFsbGJhY2stdmFsaWQuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9pbnRs
NDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLWxvY2FsZU1hdGNoZXItYWJydXB0LXRocm93cy5qczog
QWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlv
bnMtbG9jYWxlTWF0Y2hlci1pbnZhbGlkLXRocm93cy5qczogQWRkZWQuCisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtbG9jYWxlTWF0Y2hlci10b1N0
cmluZy1hYnJ1cHQtdGhyb3dzLmpzOiBBZGRlZC4KKyAgICAgICAgKG9wdGlvbnMubG9jYWxlTWF0
Y2hlci50b1N0cmluZyk6CisgICAgICAgIChvcHRpb25zLmxvY2FsZU1hdGNoZXIudmFsdWVPZik6
CisgICAgICAgIChvcHRpb25zLmxvY2FsZU1hdGNoZXIuU3ltYm9sLnRvUHJpbWl0aXZlKToKKyAg
ICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1sb2NhbGVN
YXRjaGVyLXZhbGlkLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9E
aXNwbGF5TmFtZXMvb3B0aW9ucy1udWxsLXRocm93cy5qczogQWRkZWQuCisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtcmFuZG9tLXByb3BlcnRpZXMt
dW5jaGVja2VkLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNw
bGF5TmFtZXMvb3B0aW9ucy1zdHlsZS1hYnJ1cHQtdGhyb3dzLmpzOiBBZGRlZC4KKyAgICAgICAg
KiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1zdHlsZS1pbnZhbGlk
LXRocm93cy5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxh
eU5hbWVzL29wdGlvbnMtc3R5bGUtdG9TdHJpbmctYWJydXB0LXRocm93cy5qczogQWRkZWQuCisg
ICAgICAgIChvcHRpb25zLnN0eWxlLnRvU3RyaW5nKToKKyAgICAgICAgKG9wdGlvbnMuc3R5bGUu
dmFsdWVPZik6CisgICAgICAgIChvcHRpb25zLnN0eWxlLlN5bWJvbC50b1ByaW1pdGl2ZSk6Cisg
ICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtc3R5bGUt
dmFsaWQuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlO
YW1lcy9vcHRpb25zLXR5cGUtYWJydXB0LXRocm93cy5qczogQWRkZWQuCisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtdHlwZS1pbnZhbGlkLXRocm93
cy5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVz
L29wdGlvbnMtdHlwZS10b1N0cmluZy1hYnJ1cHQtdGhyb3dzLmpzOiBBZGRlZC4KKyAgICAgICAg
KG9wdGlvbnMudHlwZS50b1N0cmluZyk6CisgICAgICAgIChvcHRpb25zLnR5cGUudmFsdWVPZik6
CisgICAgICAgIChvcHRpb25zLnR5cGUuU3ltYm9sLnRvUHJpbWl0aXZlKToKKyAgICAgICAgKiB0
ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy10eXBlLXZhbGlkLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvcC1k
ZXNjLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFt
ZXMvcHJvdG8tZnJvbS1jdG9yLXJlYWxtLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rl
c3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG8uanM6IEFkZGVkLgorICAgICAgICAqIHRlc3Qy
NjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGU6IEFkZGVkLgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvU3ltYm9sLnRvU3Ry
aW5nVGFnLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5
TmFtZXMvcHJvdG90eXBlL3Byb3AtZGVzYy5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90
ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnM6IEFkZGVk
LgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUv
cmVzb2x2ZWRPcHRpb25zL2RlZmF1bHQtb3B0aW9uLXZhbHVlcy5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9w
dGlvbnMvbGVuZ3RoLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9E
aXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9uYW1lLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29s
dmVkT3B0aW9ucy9vcHRpb24tZmFsbGJhY2suanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIv
dGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL29wdGlv
bi1zdHlsZS5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxh
eU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvb3B0aW9uLXR5cGUuanM6IEFkZGVkLgor
ICAgICAgICAqIHRlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcmVz
b2x2ZWRPcHRpb25zL3Byb3AtZGVzYy5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0
L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvcmV0dXJuLW9i
amVjdC5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5h
bWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvdGhpcy1ub3Qtb2JqZWN0LXRocm93cy5qczog
QWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3Rv
dHlwZS9yZXNvbHZlZE9wdGlvbnMvdGhpcy1vYmplY3QtbGFja3MtaW50ZXJuYWwtdGhyb3dzLmpz
OiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvdW5k
ZWZpbmVkLW5ld3RhcmdldC10aHJvd3MuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVz
dC9sYW5ndWFnZS9kZXN0cnVjdHVyaW5nL2JpbmRpbmcvc3ludGF4L3Byb3BlcnR5LWxpc3Qtc2lu
Z2xlLW5hbWUtYmluZGluZ3MuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2FkZGl0aW9uL2JpZ2ludC1hbmQtbnVtYmVyLmpzOgorICAgICAgICAqIHRlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hZGRpdGlvbi9iaWdpbnQtYXJpdGhtZXRpYy5q
czoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYWRkaXRpb24v
YmlnaW50LWVycm9ycy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYWRkaXRpb24vYmlnaW50LXRvcHJpbWl0aXZlLmpzOgorICAgICAgICAqIHRlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hZGRpdGlvbi9iaWdpbnQtd3JhcHBlZC12YWx1ZXMu
anM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1
bmN0aW9uL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6IEFkZGVkLgorICAgICAgICAoZi5h
LmV2YWwpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJv
dy1mdW5jdGlvbi9zY29wZS1wYXJhbS1lbGVtLXZhci1jbG9zZS5qczoKKyAgICAgICAgKiB0ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vc2NvcGUtcGFyYW0t
ZWxlbS12YXItb3Blbi5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXJyb3ctZnVuY3Rpb24vc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1jbG9zZS5qczoK
KyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rp
b24vc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpzOgorICAgICAgICAqIHRlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9ldmFsLXZhci1z
Y29wZS1zeW50YXgtZXJyLmpzOiBBZGRlZC4KKyAgICAgICAgKGYuYXN5bmMgYSk6CisgICAgICAg
IChTeW50YXhFcnJvci50aGVuKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQtZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5q
czogQWRkZWQuCisgICAgICAgIChmLmFzeW5jIGYpOgorICAgICAgICAoZik6CisgICAgICAgICog
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25hbWVsZXNz
LWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZXZhbC12YXItc2NvcGUt
c3ludGF4LWVyci5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9uYW1lZC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJy
LmpzOiBBZGRlZC4KKyAgICAgICAgKGYuYXN5bmMgZyk6CisgICAgICAgIChmKToKKyAgICAgICAg
KiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS1hbmQvYmlnaW50LWFu
ZC1udW1iZXIuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2JpdHdpc2UtYW5kL2JpZ2ludC1lcnJvcnMuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2UtYW5kL2JpZ2ludC1ub24tcHJpbWl0aXZlLmpzOgor
ICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNlLWFuZC9i
aWdpbnQtdG9wcmltaXRpdmUuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2JpdHdpc2UtYW5kL2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qczoKKyAgICAgICAg
KiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS1ub3QvYmlnaW50LW5v
bi1wcmltaXRpdmUuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2JpdHdpc2Utb3IvYmlnaW50LWFuZC1udW1iZXIuanM6CisgICAgICAgICogdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2Utb3IvYmlnaW50LWVycm9ycy5qczoKKyAg
ICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS1vci9iaWdp
bnQtbm9uLXByaW1pdGl2ZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYml0d2lzZS1vci9iaWdpbnQtdG9wcmltaXRpdmUuanM6CisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2Utb3IvYmlnaW50LXdyYXBwZWQt
dmFsdWVzLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9i
aXR3aXNlLXhvci9iaWdpbnQtYW5kLW51bWJlci5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS14b3IvYmlnaW50LWVycm9ycy5qczoKKyAgICAg
ICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS14b3IvYmlnaW50
LW5vbi1wcmltaXRpdmUuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2JpdHdpc2UteG9yL2JpZ2ludC10b3ByaW1pdGl2ZS5qczoKKyAgICAgICAgKiB0ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS14b3IvYmlnaW50LXdyYXBwZWQt
dmFsdWVzLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpz
OiBBZGRlZC4KKyAgICAgICAgKEMpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1l
cnIuanM6IEFkZGVkLgorICAgICAgICAoQyk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZXZhbC12YXItc2NvcGUt
c3ludGF4LWVyci5qczogQWRkZWQuCisgICAgICAgIChDKToKKyAgICAgICAgKHRoZW4pOgorICAg
ICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRo
b2QvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qczogQWRkZWQuCisgICAgICAgIChDKToKKyAg
ICAgICAgKFN5bnRheEVycm9yLnRoZW4pOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9zeW50YXgvZWFybHktZXJyb3JzL2dyYW1tYXIt
cHJpdmF0ZS1maWVsZC1vcHRpb25hbC1jaGFpbmluZy5qczogQWRkZWQuCisgICAgICAgIChDLnBy
b3RvdHlwZS5hY2Nlc3MpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpz
OiBBZGRlZC4KKyAgICAgICAgKEMpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6
IEFkZGVkLgorICAgICAgICAoQyk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL21ldGhvZC1zdGF0aWMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5q
czogQWRkZWQuCisgICAgICAgIChDKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6IEFk
ZGVkLgorICAgICAgICAoQyk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NvYWxlc2NlL2Nhbm5vdC1jaGFpbi1oZWFkLXdpdGgtbG9naWNhbC1hbmQuanM6Cisg
ICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NvYWxlc2NlL2Nhbm5v
dC1jaGFpbi1oZWFkLXdpdGgtbG9naWNhbC1vci5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29hbGVzY2UvY2Fubm90LWNoYWluLXRhaWwtd2l0aC1sb2dp
Y2FsLWFuZC5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y29hbGVzY2UvY2Fubm90LWNoYWluLXRhaWwtd2l0aC1sb2dpY2FsLW9yLmpzOgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kZWxldGUvc3VwZXItcHJvcGVydHku
anM6CisgICAgICAgIChDKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvZGl2aXNpb24vYmlnaW50LWFuZC1udW1iZXIuanM6CisgICAgICAgICogdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2RpdmlzaW9uL2JpZ2ludC1hcml0aG1ldGljLmpzOgor
ICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kaXZpc2lvbi9iaWdp
bnQtY29tcGxleC1pbmZpbml0eS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvZGl2aXNpb24vYmlnaW50LWVycm9ycy5qczoKKyAgICAgICAgKiB0ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZGl2aXNpb24vYmlnaW50LXRvcHJpbWl0aXZlLmpz
OgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kaXZpc2lvbi9i
aWdpbnQtd3JhcHBlZC12YWx1ZXMuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2RvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLWJpZ2ludC5qczoKKyAgICAg
ICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZG9lcy1ub3QtZXF1YWxzL2Jp
Z2ludC1hbmQtYm9vbGVhbi5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtaW5jb21wYXJhYmxlLXByaW1pdGl2
ZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZG9lcy1u
b3QtZXF1YWxzL2JpZ2ludC1hbmQtbm9uLWZpbml0ZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtbnVtYmVy
LWV4dHJlbWVzLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1udW1iZXIuanM6CisgICAgICAgICogdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2RvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLW9i
amVjdC5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZG9l
cy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtc3RyaW5nLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1iaWdpbnQuanM6CisgICAg
ICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2VxdWFscy9iaWdpbnQtYW5k
LWJvb2xlYW4uanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2VxdWFscy9iaWdpbnQtYW5kLWluY29tcGFyYWJsZS1wcmltaXRpdmUuanM6CisgICAgICAgICog
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2VxdWFscy9iaWdpbnQtYW5kLW5vbi1m
aW5pdGUuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Vx
dWFscy9iaWdpbnQtYW5kLW51bWJlci1leHRyZW1lcy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXF1YWxzL2JpZ2ludC1hbmQtbnVtYmVyLmpzOgorICAg
ICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFu
ZC1vYmplY3QuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2VxdWFscy9iaWdpbnQtYW5kLXN0cmluZy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZXhwb25lbnRpYXRpb24vYmlnaW50LWFuZC1udW1iZXIuanM6Cisg
ICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2V4cG9uZW50aWF0aW9u
L2JpZ2ludC1hcml0aG1ldGljLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9leHBvbmVudGlhdGlvbi9iaWdpbnQtZXJyb3JzLmpzOgorICAgICAgICAqIHRl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9leHBvbmVudGlhdGlvbi9iaWdpbnQtbmVn
YXRpdmUtZXhwb25lbnQtdGhyb3dzLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9leHBvbmVudGlhdGlvbi9iaWdpbnQtdG9wcmltaXRpdmUuanM6CisgICAg
ICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2V4cG9uZW50aWF0aW9uL2Jp
Z2ludC13cmFwcGVkLXZhbHVlcy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvZXhwb25lbnRpYXRpb24vYmlnaW50LXplcm8tYmFzZS16ZXJvLWV4cG9uZW50
LmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlv
bi9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOiBBZGRlZC4KKyAgICAgICAgKGYpOgorICAg
ICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9zY29wZS1w
YXJhbS1lbGVtLXZhci1jbG9zZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvZnVuY3Rpb24vc2NvcGUtcGFyYW0tZWxlbS12YXItb3Blbi5qczoKKyAgICAg
ICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vc2NvcGUtcGFy
YW0tcmVzdC1lbGVtLXZhci1jbG9zZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpz
OgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3Jz
L2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6IEFkZGVkLgorICAgICAgICAoZik6CisgICAg
ICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvc2NvcGUt
cGFyYW0tZWxlbS12YXItY2xvc2UuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tZWxlbS12YXItb3Blbi5qczoKKyAg
ICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9zY29w
ZS1wYXJhbS1yZXN0LWVsZW0tdmFyLWNsb3NlLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXIt
b3Blbi5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ3Jl
YXRlci10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtYmlnaW50LmpzOgorICAgICAgICAqIHRlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9ncmVhdGVyLXRoYW4tb3ItZXF1YWwvYmlnaW50
LWFuZC1pbmNvbXBhcmFibGUtc3RyaW5nLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9ncmVhdGVyLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1ub24tZmlu
aXRlLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9ncmVh
dGVyLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1udW1iZXItZXh0cmVtZXMuanM6CisgICAgICAg
ICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi1vci1lcXVh
bC9iaWdpbnQtYW5kLW51bWJlci5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtc3RyaW5nLmpzOgor
ICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9ncmVhdGVyLXRoYW4v
YmlnaW50LWFuZC1iaWdpbnQuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5kLWJvb2xlYW4uanM6CisgICAgICAgICog
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5k
LWluY29tcGFyYWJsZS1zdHJpbmcuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanM6CisgICAg
ICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdp
bnQtYW5kLW51bWJlci1leHRyZW1lcy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFuL2JpZ2ludC1hbmQtbnVtYmVyLmpzOgorICAgICAg
ICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9ncmVhdGVyLXRoYW4vYmlnaW50
LWFuZC1zeW1ib2wuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2xlZnQtc2hpZnQvYmlnaW50LWFuZC1udW1iZXIuanM6CisgICAgICAgICogdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hpZnQvYmlnaW50LWVycm9ycy5qczoKKyAg
ICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVmdC1zaGlmdC9iaWdp
bnQtbm9uLXByaW1pdGl2ZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvbGVmdC1zaGlmdC9iaWdpbnQtdG9wcmltaXRpdmUuanM6CisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hpZnQvYmlnaW50LXdyYXBwZWQt
dmFsdWVzLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9s
ZXNzLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1iaWdpbnQuanM6CisgICAgICAgICogdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5k
LWluY29tcGFyYWJsZS1zdHJpbmcuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2xlc3MtdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanM6
CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi1v
ci1lcXVhbC9iaWdpbnQtYW5kLW51bWJlci1leHRyZW1lcy5qczoKKyAgICAgICAgKiB0ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQt
bnVtYmVyLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9s
ZXNzLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1zdHJpbmcuanM6CisgICAgICAgICogdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi9iaWdpbnQtYW5kLWJpZ2ludC5q
czoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10aGFu
L2JpZ2ludC1hbmQtYm9vbGVhbi5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvbGVzcy10aGFuL2JpZ2ludC1hbmQtaW5jb21wYXJhYmxlLXN0cmluZy5qczoK
KyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10aGFuL2Jp
Z2ludC1hbmQtbm9uLWZpbml0ZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvbGVzcy10aGFuL2JpZ2ludC1hbmQtbnVtYmVyLWV4dHJlbWVzLmpzOgorICAg
ICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZXNzLXRoYW4vYmlnaW50
LWFuZC1udW1iZXIuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL21vZHVsdXMvYmlnaW50LWFuZC1udW1iZXIuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL21vZHVsdXMvYmlnaW50LWFyaXRobWV0aWMuanM6CisgICAg
ICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL21vZHVsdXMvYmlnaW50LWVy
cm9ycy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbW9k
dWx1cy9iaWdpbnQtbW9kdWxvLXplcm8uanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL21vZHVsdXMvYmlnaW50LXRvcHJpbWl0aXZlLmpzOgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9tb2R1bHVzL2JpZ2ludC13cmFwcGVk
LXZhbHVlcy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
bXVsdGlwbGljYXRpb24vYmlnaW50LWFuZC1udW1iZXIuanM6CisgICAgICAgICogdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL211bHRpcGxpY2F0aW9uL2JpZ2ludC1hcml0aG1ldGlj
LmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9tdWx0aXBs
aWNhdGlvbi9iaWdpbnQtZXJyb3JzLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9tdWx0aXBsaWNhdGlvbi9iaWdpbnQtdG9wcmltaXRpdmUuanM6CisgICAg
ICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL211bHRpcGxpY2F0aW9uL2Jp
Z2ludC13cmFwcGVkLXZhbHVlcy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2FzeW5jLWdlbi1tZXRoLWV2YWwt
dmFyLXNjb3BlLXN5bnRheC1lcnIuanM6IEFkZGVkLgorICAgICAgICAob2JqLmFzeW5jIG1ldGhv
ZCk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9t
ZXRob2QtZGVmaW5pdGlvbi9hc3luYy1tZXRoLWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6
IEFkZGVkLgorICAgICAgICAob2JqLmFzeW5jIG1ldGhvZCk6CisgICAgICAgIChTeW50YXhFcnJv
ci50aGVuKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2Jq
ZWN0L21ldGhvZC1kZWZpbml0aW9uL2dlbi1tZXRoLWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIu
anM6IEFkZGVkLgorICAgICAgICAob2JqLm1ldGhvZC5hLmV2YWwpOgorICAgICAgICAqIHRlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vbWV0
aC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOiBBZGRlZC4KKyAgICAgICAgKG9iai5tZXRo
b2QuYS5ldmFsKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
b2JqZWN0L3Njb3BlLWdlbi1tZXRoLXBhcmFtLWVsZW0tdmFyLWNsb3NlLmpzOgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qvc2NvcGUtZ2VuLW1ldGgt
cGFyYW0tZWxlbS12YXItb3Blbi5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L3Njb3BlLWdlbi1tZXRoLXBhcmFtLXJlc3QtZWxlbS12YXItY2xv
c2UuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVj
dC9zY29wZS1nZW4tbWV0aC1wYXJhbS1yZXN0LWVsZW0tdmFyLW9wZW4uanM6CisgICAgICAgICog
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9zY29wZS1tZXRoLXBhcmFt
LWVsZW0tdmFyLWNsb3NlLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9vYmplY3Qvc2NvcGUtbWV0aC1wYXJhbS1lbGVtLXZhci1vcGVuLmpzOgorICAgICAg
ICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qvc2NvcGUtbWV0aC1w
YXJhbS1yZXN0LWVsZW0tdmFyLWNsb3NlLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9vYmplY3Qvc2NvcGUtbWV0aC1wYXJhbS1yZXN0LWVsZW0tdmFyLW9w
ZW4uanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29wdGlv
bmFsLWNoYWluaW5nL2l0ZXJhdGlvbi1zdGF0ZW1lbnQtZG8uanM6IEFkZGVkLgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vcHRpb25hbC1jaGFpbmluZy9pdGVy
YXRpb24tc3RhdGVtZW50LWZvci1hd2FpdC1vZi5qczogQWRkZWQuCisgICAgICAgIChjb25zdC5v
YmouaXRlcmFibGUuU3ltYm9sLmFzeW5jSXRlcmF0b3IpOgorICAgICAgICAoYXN5bmMgY2hlY2tB
c3NlcnRpb25zKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
b3B0aW9uYWwtY2hhaW5pbmcvaXRlcmF0aW9uLXN0YXRlbWVudC1mb3ItaW4uanM6IEFkZGVkLgor
ICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vcHRpb25hbC1jaGFp
bmluZy9pdGVyYXRpb24tc3RhdGVtZW50LWZvci1vZi10eXBlLWVycm9yLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb3B0aW9uYWwtY2hhaW5p
bmcvaXRlcmF0aW9uLXN0YXRlbWVudC1mb3IuanM6IEFkZGVkLgorICAgICAgICAoY29uc3Qub2Jq
My5nZXQgYSk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29w
dGlvbmFsLWNoYWluaW5nL2l0ZXJhdGlvbi1zdGF0ZW1lbnQtd2hpbGUuanM6IEFkZGVkLgorICAg
ICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vcHRpb25hbC1jaGFpbmlu
Zy9uZXctdGFyZ2V0LW9wdGlvbmFsLWNhbGwuanM6IEFkZGVkLgorICAgICAgICAoY29uc3QubmV3
VGFyZ2V0Q29udGV4dCk6CisgICAgICAgIChCYXNlKToKKyAgICAgICAgKEZvbyk6CisgICAgICAg
ICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29wdGlvbmFsLWNoYWluaW5nL29w
dGlvbmFsLWNhbGwtcHJlc2VydmVzLXRoaXMuanM6IEFkZGVkLgorICAgICAgICAoY29uc3QuYS5i
KToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb3B0aW9uYWwt
Y2hhaW5pbmcvc3VwZXItcHJvcGVydHktb3B0aW9uYWwtY2FsbC5qczogQWRkZWQuCisgICAgICAg
IChCYXNlLnByb3RvdHlwZS5tZXRob2QpOgorICAgICAgICAoQmFzZSk6CisgICAgICAgIChGb28u
cHJvdG90eXBlLm1ldGhvZCk6CisgICAgICAgIChGb28pOgorICAgICAgICAqIHRlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9yaWdodC1zaGlmdC9iaWdpbnQtYW5kLW51bWJlci5qczoK
KyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvcmlnaHQtc2hpZnQv
YmlnaW50LWVycm9ycy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvcmlnaHQtc2hpZnQvYmlnaW50LW5vbi1wcmltaXRpdmUuanM6CisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3JpZ2h0LXNoaWZ0L2JpZ2ludC10b3ByaW1p
dGl2ZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvcmln
aHQtc2hpZnQvYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQt
YmlnaW50LmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9z
dHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtYm9vbGVhbi5qczoKKyAgICAgICAgKiB0
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWRvZXMtbm90LWVxdWFscy9i
aWdpbnQtYW5kLWluY29tcGFyYWJsZS1wcmltaXRpdmUuanM6CisgICAgICAgICogdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFu
ZC1ub24tZmluaXRlLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9zdHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtbnVtYmVyLWV4dHJlbWVzLmpz
OgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZG9l
cy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtbnVtYmVyLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQt
b2JqZWN0LmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9z
dHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtc3RyaW5nLmpzOgorICAgICAgICAqIHRl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2JpZ2ludC1hbmQt
YmlnaW50LmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9z
dHJpY3QtZXF1YWxzL2JpZ2ludC1hbmQtYm9vbGVhbi5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9iaWdpbnQtYW5kLWluY29tcGFy
YWJsZS1wcmltaXRpdmUuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL3N0cmljdC1lcXVhbHMvYmlnaW50LWFuZC1ub24tZmluaXRlLmpzOgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2JpZ2ludC1h
bmQtbnVtYmVyLWV4dHJlbWVzLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2JpZ2ludC1hbmQtbnVtYmVyLmpzOgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2JpZ2ludC1h
bmQtb2JqZWN0LmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9zdHJpY3QtZXF1YWxzL2JpZ2ludC1hbmQtc3RyaW5nLmpzOgorICAgICAgICAqIHRlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdWJ0cmFjdGlvbi9iaWdpbnQtYW5kLW51bWJlci5q
czoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3VidHJhY3Rp
b24vYmlnaW50LWFyaXRobWV0aWMuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL3N1YnRyYWN0aW9uL2JpZ2ludC1lcnJvcnMuanM6CisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N1YnRyYWN0aW9uL2JpZ2ludC10b3ByaW1p
dGl2ZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3Vi
dHJhY3Rpb24vYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy90eXBlb2YvcHJveHkuanM6IEFkZGVkLgorICAgICAgICAo
YXNzZXJ0LnNhbWVWYWx1ZS50eXBlb2YubmV3LlByb3h5KToKKyAgICAgICAgKGNvbnN0LnJwMi5Q
cm94eS5yZXZvY2FibGUpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy91bmFyeS1taW51cy9iaWdpbnQtbm9uLXByaW1pdGl2ZS5qczoKKyAgICAgICAgKiB0ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdW5hcnktcGx1cy9iaWdpbnQtdGhyb3dzLmpz
OgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy91bnNpZ25lZC1y
aWdodC1zaGlmdC9iaWdpbnQtYW5kLW51bWJlci5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdW5zaWduZWQtcmlnaHQtc2hpZnQvYmlnaW50LWVycm9ycy5q
czoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdW5zaWduZWQt
cmlnaHQtc2hpZnQvYmlnaW50LW5vbi1wcmltaXRpdmUuanM6CisgICAgICAgICogdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3Vuc2lnbmVkLXJpZ2h0LXNoaWZ0L2JpZ2ludC10b3By
aW1pdGl2ZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
dW5zaWduZWQtcmlnaHQtc2hpZnQvYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpzOgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9mdW5jdGlvbi1jb2RlL2V2YWwtcGFyYW0tZW52LXdpdGgt
Y29tcHV0ZWQta2V5LmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9mdW5jdGlv
bi1jb2RlL2V2YWwtcGFyYW0tZW52LXdpdGgtcHJvcC1pbml0aWFsaXplci5qczoKKyAgICAgICAg
KiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9ldmFsLXZh
ci1zY29wZS1zeW50YXgtZXJyLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jIGYpOgorICAgICAg
ICAoU3ludGF4RXJyb3IudGhlbik6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6IEFk
ZGVkLgorICAgICAgICAoYXN5bmMgZik6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC1zdGF0aWMvZXZhbC12YXItc2NvcGUt
c3ludGF4LWVyci5qczogQWRkZWQuCisgICAgICAgIChDLmFzeW5jIG1ldGhvZCk6CisgICAgICAg
IChDKToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9h
c3luYy1nZW4tbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6IEFkZGVkLgorICAg
ICAgICAoQy5wcm90b3R5cGUuYXN5bmMgbWV0aG9kKToKKyAgICAgICAgKEMpOgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0
aWMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qczogQWRkZWQuCisgICAgICAgIChDLmFzeW5j
IG1ldGhvZCk6CisgICAgICAgIChDKToKKyAgICAgICAgKFN5bnRheEVycm9yLnRoZW4pOgorICAg
ICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhv
ZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOiBBZGRlZC4KKyAgICAgICAgKEMucHJvdG90
eXBlLmFzeW5jIG1ldGhvZCk6CisgICAgICAgIChDKToKKyAgICAgICAgKFN5bnRheEVycm9yLnRo
ZW4pOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Rl
ZmluaXRpb24vY29uc3RydWN0YWJsZS1idXQtbm8tcHJvdG90eXBlLmpzOgorICAgICAgICAqIHRl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vY29uc3RydWN0
b3Itc3RyaWN0LWJ5LWRlZmF1bHQuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9nZXR0ZXJzLXJlc3RyaWN0ZWQtaWRzLmpzOgor
ICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRp
b24vaW1wbGljaXQtY29uc3RydWN0b3IuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9pbnZhbGlkLWV4dGVuZHMuanM6CisgICAg
ICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9t
ZXRob2RzLW5hbWVkLWV2YWwtYXJndW1lbnRzLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vcHJvdG90eXBlLWdldHRlci5qczoK
KyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0
aW9uL3Byb3RvdHlwZS1wcm9wZXJ0eS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL3NldHRlcnMtcmVzdHJpY3RlZC1pZHMuanM6
CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5p
dGlvbi9zaWRlLWVmZmVjdHMtaW4tZXh0ZW5kcy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL3NpZGUtZWZmZWN0cy1pbi1wcm9w
ZXJ0eS1kZWZpbmUuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvZGVmaW5pdGlvbi90aGlzLWFjY2Vzcy1yZXN0cmljdGlvbi0yLmpzOgorICAgICAg
ICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vdGhp
cy1hY2Nlc3MtcmVzdHJpY3Rpb24uanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi90aGlzLWNoZWNrLW9yZGVyaW5nLmpzOgorICAg
ICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3N5
bnRheC9lYXJseS1lcnJvcnMvZ3JhbW1hci1wcml2YXRlLWZpZWxkLW9wdGlvbmFsLWNoYWluaW5n
LmpzOiBBZGRlZC4KKyAgICAgICAgKEMucHJvdG90eXBlLmFjY2Vzcyk6CisgICAgICAgIChDKToK
KyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0
aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOiBBZGRlZC4KKyAgICAgICAg
KEMubWV0aG9kKToKKyAgICAgICAgKEMpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2QvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5q
czogQWRkZWQuCisgICAgICAgIChDLnByb3RvdHlwZS5tZXRob2QpOgorICAgICAgICAoQyk6Cisg
ICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kLXN0
YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOiBBZGRlZC4KKyAgICAgICAgKEMubWV0
aG9kKToKKyAgICAgICAgKEMpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL21ldGhvZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOiBBZGRlZC4K
KyAgICAgICAgKEMucHJvdG90eXBlLm1ldGhvZCk6CisgICAgICAgIChDKToKKyAgICAgICAgKiB0
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9uYW1lLWJpbmRpbmcvYmFzaWMu
anM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mvc3Vi
Y2xhc3MvYmluZGluZy5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9zdWJjbGFzcy9idWlsdGluLW9iamVjdHMvUmVnRXhwL2xhc3RJbmRleC5qczoK
KyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJjbGFz
cy9idWlsdGluLW9iamVjdHMvU3RyaW5nL2xlbmd0aC5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJjbGFzcy9idWlsdGluLW9iamVjdHMvV2Vh
a01hcC9yZWd1bGFyLXN1YmNsYXNzaW5nLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2J1aWx0aW4tb2JqZWN0cy9XZWFrTWFwL3N1
cGVyLW11c3QtYmUtY2FsbGVkLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2J1aWx0aW4tb2JqZWN0cy9XZWFrU2V0L3JlZ3VsYXIt
c3ViY2xhc3NpbmcuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3Mvc3ViY2xhc3MvYnVpbHRpbi1vYmplY3RzL1dlYWtTZXQvc3VwZXItbXVzdC1iZS1j
YWxsZWQuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3Mvc3ViY2xhc3MvYnVpbHRpbnMuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3MvZGVmYXVsdC1jb25zdHJ1Y3Rvci1zcHJlYWQtb3Zl
cnJpZGUuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9y
LWluL2lkZW50aWZpZXItbGV0LWFsbG93ZWQtYXMtbGVmdGhhbmRzaWRlLWV4cHJlc3Npb24tbm90
LXN0cmljdC5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9m
b3ItaW4vb3JkZXItZW51bWVyYWJsZS1zaGFkb3dlZC5qczogQWRkZWQuCisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLWluL29yZGVyLXByb3BlcnR5LWFkZGVk
LmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9m
b3ItaW4vb3JkZXItcHJvcGVydHktb24tcHJvdG90eXBlLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3ItaW4vb3JkZXItc2ltcGxlLW9iamVj
dC5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
ZnVuY3Rpb24vZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qczogQWRkZWQuCisgICAgICAgIChm
KToKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9z
Y29wZS1wYXJhbS1lbGVtLXZhci1jbG9zZS5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9zY29wZS1wYXJhbS1lbGVtLXZhci1vcGVuLmpzOgor
ICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL3Njb3Bl
LXBhcmFtLXJlc3QtZWxlbS12YXItY2xvc2UuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVu
LmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRv
cnMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qczogQWRkZWQuCisgICAgICAgIChmKToKKyAg
ICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0b3JzL3Njb3Bl
LXBhcmFtLWVsZW0tdmFyLWNsb3NlLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tZWxlbS12YXItb3Blbi5qczoKKyAg
ICAgICAgKiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0b3JzL3Njb3Bl
LXBhcmFtLXJlc3QtZWxlbS12YXItY2xvc2UuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9zY29wZS1wYXJhbS1yZXN0LWVsZW0tdmFyLW9w
ZW4uanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0MjYyLVJldmlzaW9uLnR4dDoKKwogMjAyMC0w
MS0wMyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBCMzo6UmVk
dWNlTG9vcFN0cmVuZ3RoIHNob3VsZCBub3QgZG8gcmFuZ2UgYmFzZWQgaXRlcmF0aW9uIG9uIGEg
dmVjdG9yIGl0J3MgbXV0YXRpbmcKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMu
eWFtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwJKHJl
dmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAkod29y
a2luZyBjb3B5KQpAQCAtNjE4LDYgKzYxOCw5MCBAQCB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9nbG9i
YWwtY29kZS9zd2l0Y2gtCiB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9p
dGVyYXRvci1jbG9zZS1yZXR1cm4tZW11bGF0ZXMtdW5kZWZpbmVkLXRocm93cy13aGVuLWNhbGxl
ZC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8g
YmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiAgIHN0cmljdCBt
b2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0
IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKK3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0
ZUVycm9yL2Vycm9ycy1pdGVyYWJsZXRvbGlzdC1mYWlsdXJlcy5qczoKKyAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogZ2V0IFN5bWJvbC5pdGVyYXRvciBFeHBlY3RlZCBhIFRlc3QyNjJFcnJvciBi
dXQgZ290IGEgUmVmZXJlbmNlRXJyb3InCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBn
ZXQgU3ltYm9sLml0ZXJhdG9yIEV4cGVjdGVkIGEgVGVzdDI2MkVycm9yIGJ1dCBnb3QgYSBSZWZl
cmVuY2VFcnJvcicKK3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL2Vycm9ycy1pdGVyYWJs
ZXRvbGlzdC5qczoKKyAgZGVmYXVsdDogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBBZ2dyZWdhdGVFcnJvciIKKyAgc3RyaWN0IG1vZGU6ICJSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogQWdncmVnYXRlRXJyb3IiCit0ZXN0L2J1aWx0LWlucy9BZ2dyZWdh
dGVFcnJvci9sZW5ndGguanM6CisgIGRlZmF1bHQ6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogQWdncmVnYXRlRXJyb3IiCisgIHN0cmljdCBtb2RlOiAiUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgordGVzdC9idWlsdC1pbnMv
QWdncmVnYXRlRXJyb3IvbWVzc2FnZS1tZXRob2QtcHJvcC1jYXN0LmpzOgorICBkZWZhdWx0OiAi
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgorICBz
dHJpY3QgbW9kZTogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBZ2dyZWdh
dGVFcnJvciIKK3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL21lc3NhZ2UtbWV0aG9kLXBy
b3AuanM6CisgIGRlZmF1bHQ6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
QWdncmVnYXRlRXJyb3IiCisgIHN0cmljdCBtb2RlOiAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgordGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJy
b3IvbWVzc2FnZS10b3N0cmluZy1hYnJ1cHQtc3ltYm9sLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiB0b1ByaW1pdGl2ZSBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgUmVmZXJl
bmNlRXJyb3InCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiB0b1ByaW1pdGl2ZSBFeHBl
Y3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgUmVmZXJlbmNlRXJyb3InCit0ZXN0L2J1aWx0LWlu
cy9BZ2dyZWdhdGVFcnJvci9tZXNzYWdlLXRvc3RyaW5nLWFicnVwdC5qczoKKyAgZGVmYXVsdDog
J1Rlc3QyNjJFcnJvcjogdG9QcmltaXRpdmUgRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdv
dCBhIFJlZmVyZW5jZUVycm9yJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogdG9Qcmlt
aXRpdmUgRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFJlZmVyZW5jZUVycm9yJwor
dGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbWVzc2FnZS11bmRlZmluZWQtbm8tcHJvcC5q
czoKKyAgZGVmYXVsdDogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBZ2dy
ZWdhdGVFcnJvciIKKyAgc3RyaWN0IG1vZGU6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2
YXJpYWJsZTogQWdncmVnYXRlRXJyb3IiCit0ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9u
YW1lLmpzOgorICBkZWZhdWx0OiAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IEFnZ3JlZ2F0ZUVycm9yIgorICBzdHJpY3QgbW9kZTogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBBZ2dyZWdhdGVFcnJvciIKK3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVy
cm9yL25ld3RhcmdldC1wcm90by1jdXN0b20uanM6CisgIGRlZmF1bHQ6ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQWdncmVnYXRlRXJyb3IiCisgIHN0cmljdCBtb2RlOiAi
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgordGVz
dC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbmV3dGFyZ2V0LXByb3RvLWZhbGxiYWNrLmpzOgor
ICBkZWZhdWx0OiAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEFnZ3JlZ2F0
ZUVycm9yIgorICBzdHJpY3QgbW9kZTogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBBZ2dyZWdhdGVFcnJvciIKK3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL25ld3Rh
cmdldC1wcm90by5qczoKKyAgZGVmYXVsdDogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBBZ2dyZWdhdGVFcnJvciIKKyAgc3RyaWN0IG1vZGU6ICJSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogQWdncmVnYXRlRXJyb3IiCit0ZXN0L2J1aWx0LWlucy9BZ2dy
ZWdhdGVFcnJvci9wcm9wLWRlc2MuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVj
dGVkIFNhbWVWYWx1ZSjCq3VuZGVmaW5lZMK7LCDCq2Z1bmN0aW9uwrspIHRvIGJlIHRydWUnCisg
IHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqt1bmRlZmlu
ZWTCuywgwqtmdW5jdGlvbsK7KSB0byBiZSB0cnVlJwordGVzdC9idWlsdC1pbnMvQWdncmVnYXRl
RXJyb3IvcHJvdG8uanM6CisgIGRlZmF1bHQ6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2
YXJpYWJsZTogQWdncmVnYXRlRXJyb3IiCisgIHN0cmljdCBtb2RlOiAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgordGVzdC9idWlsdC1pbnMvQWdn
cmVnYXRlRXJyb3IvcHJvdG90eXBlL2NvbnN0cnVjdG9yLmpzOgorICBkZWZhdWx0OiAiUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgorICBzdHJpY3Qg
bW9kZTogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBZ2dyZWdhdGVFcnJv
ciIKK3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9lcnJvcnMvaW52b2tl
ZC1hcy1hY2Nlc3Nvci5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBU
eXBlRXJyb3IgYnV0IGdvdCBhIFJlZmVyZW5jZUVycm9yJworICBzdHJpY3QgbW9kZTogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIFJlZmVyZW5jZUVycm9yJwor
dGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL2Vycm9ycy9pbnZva2VkLWFz
LWZ1bmMuanM6CisgIGRlZmF1bHQ6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogQWdncmVnYXRlRXJyb3IiCisgIHN0cmljdCBtb2RlOiAiUmVmZXJlbmNlRXJyb3I6IENhbid0
IGZpbmQgdmFyaWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgordGVzdC9idWlsdC1pbnMvQWdncmVnYXRl
RXJyb3IvcHJvdG90eXBlL2Vycm9ycy9sZW5ndGguanM6CisgIGRlZmF1bHQ6ICJSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQWdncmVnYXRlRXJyb3IiCisgIHN0cmljdCBtb2Rl
OiAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgor
dGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL2Vycm9ycy9uYW1lLmpzOgor
ICBkZWZhdWx0OiAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEFnZ3JlZ2F0
ZUVycm9yIgorICBzdHJpY3QgbW9kZTogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBBZ2dyZWdhdGVFcnJvciIKK3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3Rv
dHlwZS9lcnJvcnMvcHJvcC1kZXNjLmpzOgorICBkZWZhdWx0OiAiUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgorICBzdHJpY3QgbW9kZTogIlJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBZ2dyZWdhdGVFcnJvciIKK3Rlc3QvYnVp
bHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9lcnJvcnMvcmV0dXJuLWZyb20taXRlcmFi
bGUtZXJyb3JzLmpzOgorICBkZWZhdWx0OiAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgorICBzdHJpY3QgbW9kZTogIlJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBBZ2dyZWdhdGVFcnJvciIKK3Rlc3QvYnVpbHQtaW5zL0FnZ3Jl
Z2F0ZUVycm9yL3Byb3RvdHlwZS9lcnJvcnMvcmV0dXJuLW5ldy1hcnJheS1mcm9tLWxpc3QuanM6
CisgIGRlZmF1bHQ6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQWdncmVn
YXRlRXJyb3IiCisgIHN0cmljdCBtb2RlOiAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgordGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJv
dG90eXBlL2Vycm9ycy90aGlzLWhhcy1uby10eXBlZGFycmF5bmFtZS1pbnRlcm5hbC5qczoKKyAg
ZGVmYXVsdDogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBZ2dyZWdhdGVF
cnJvciIKKyAgc3RyaWN0IG1vZGU6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogQWdncmVnYXRlRXJyb3IiCit0ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5
cGUvZXJyb3JzL3RoaXMtaXMtbm90LW9iamVjdC5qczoKKyAgZGVmYXVsdDogIlJlZmVyZW5jZUVy
cm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBZ2dyZWdhdGVFcnJvciIKKyAgc3RyaWN0IG1vZGU6
ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQWdncmVnYXRlRXJyb3IiCit0
ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvbWVzc2FnZS5qczoKKyAgZGVm
YXVsdDogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBZ2dyZWdhdGVFcnJv
ciIKKyAgc3RyaWN0IG1vZGU6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
QWdncmVnYXRlRXJyb3IiCit0ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUv
bmFtZS5qczoKKyAgZGVmYXVsdDogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBBZ2dyZWdhdGVFcnJvciIKKyAgc3RyaWN0IG1vZGU6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogQWdncmVnYXRlRXJyb3IiCit0ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVF
cnJvci9wcm90b3R5cGUvcHJvcC1kZXNjLmpzOgorICBkZWZhdWx0OiAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IEFnZ3JlZ2F0ZUVycm9yIgorICBzdHJpY3QgbW9kZTogIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBZ2dyZWdhdGVFcnJvciIKK3Rlc3Qv
YnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9wcm90by5qczoKKyAgZGVmYXVsdDog
IlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBZ2dyZWdhdGVFcnJvciIKKyAg
c3RyaWN0IG1vZGU6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQWdncmVn
YXRlRXJyb3IiCiB0ZXN0L2J1aWx0LWlucy9BcnJheS9vZi9yZXR1cm4tYWJydXB0LWZyb20tZGF0
YS1wcm9wZXJ0eS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBl
RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiAg
IHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0
aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKQEAgLTEwMzUsNiArMTEx
OSwyMSBAQCB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpCiB0ZXN0L2J1
aWx0LWlucy9HZW5lcmF0b3JGdW5jdGlvbi9wcm90by1mcm9tLWN0b3ItcmVhbG0uanM6CiAgIGRl
ZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq1tvYmplY3QgR2VuZXJh
dG9yRnVuY3Rpb25dwrssIMKrW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl3CuykgdG8gYmUgdHJ1
ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq1tv
YmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dwrssIMKrW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl3C
uykgdG8gYmUgdHJ1ZScKK3Rlc3QvYnVpbHQtaW5zL0pTT04vcGFyc2UvcmV2aXZlci1hcnJheS1n
ZXQtcHJvcC1mcm9tLXByb3RvdHlwZS5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjog
RXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlJwordGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9y
ZXZpdmVyLWFycmF5LW5vbi1jb25maWd1cmFibGUtcHJvcC1jcmVhdGUuanM6CisgIGRlZmF1bHQ6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzIywrssIMKrMsK7KSB0byBiZSB0
cnVlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKr
MjLCuywgwqsywrspIHRvIGJlIHRydWUnCit0ZXN0L2J1aWx0LWlucy9KU09OL3BhcnNlL3Jldml2
ZXItb2JqZWN0LWdldC1wcm9wLWZyb20tcHJvdG90eXBlLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UnCisgIHN0cmljdCBtb2RlOiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UnCit0ZXN0L2J1aWx0LWlucy9K
U09OL3BhcnNlL3Jldml2ZXItb2JqZWN0LW5vbi1jb25maWd1cmFibGUtcHJvcC1jcmVhdGUuanM6
CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzIywrssIMKr
MsK7KSB0byBiZSB0cnVlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
U2FtZVZhbHVlKMKrMjLCuywgwqsywrspIHRvIGJlIHRydWUnCit0ZXN0L2J1aWx0LWlucy9KU09O
L3BhcnNlL3Jldml2ZXItd3JhcHBlci5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogW1tT
ZXRdXSBzaG91bGQgbm90IGJlIGNhbGxlZC4nCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9y
OiBbW1NldF1dIHNob3VsZCBub3QgYmUgY2FsbGVkLicKIHRlc3QvYnVpbHQtaW5zL01hcC9wcm90
by1mcm9tLWN0b3ItcmVhbG0uanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IFNhbWVWYWx1ZSjCq1tvYmplY3QgTWFwXcK7LCDCq1tvYmplY3QgTWFwXcK7KSB0byBiZSB0cnVl
JwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrW29i
amVjdCBNYXBdwrssIMKrW29iamVjdCBNYXBdwrspIHRvIGJlIHRydWUnCkBAIC0xMDYyLDYgKzEx
NjEsMjQgQEAgdGVzdC9idWlsdC1pbnMvTnVtYmVyL2JpZ2ludC1jb252ZXJzaW9uLgogdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvLWZyb20tY3Rvci1yZWFsbS5qczoKICAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrMMK7LCDCqzDCuykgdG8gYmUgdHJ1ZScK
ICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzDCuywg
wqswwrspIHRvIGJlIHRydWUnCit0ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlO
YW1lcy9wcm94eS1pbnZhcmlhbnQtYWJzZW50LW5vdC1jb25maWd1cmFibGUtc3ltYm9sLWtleS5q
czoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUg
dGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmljdCBtb2Rl
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5v
IGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKK3Rlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRP
d25Qcm9wZXJ0eU5hbWVzL3Byb3h5LWludmFyaWFudC1ub3QtZXh0ZW5zaWJsZS1hYnNlbnQtc3lt
Ym9sLWtleS5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJy
b3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0
cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJv
d24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKK3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9nZXRPd25Qcm9wZXJ0eU5hbWVzL3Byb3h5LWludmFyaWFudC1ub3QtZXh0ZW5zaWJsZS1l
eHRyYS1zeW1ib2wta2V5LmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBh
IFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFs
bCcKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRv
IGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwordGVzdC9idWls
dC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9wcm94eS1pbnZhcmlhbnQtYWJzZW50
LW5vdC1jb25maWd1cmFibGUtc3RyaW5nLWtleS5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJv
cjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2Fz
IHRocm93biBhdCBhbGwnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBh
IFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFs
bCcKK3Rlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eVN5bWJvbHMvcHJveHktaW52
YXJpYW50LW5vdC1leHRlbnNpYmxlLWFic2VudC1zdHJpbmcta2V5LmpzOgorICBkZWZhdWx0OiAn
VGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4
Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0
aHJvd24gYXQgYWxsJwordGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9s
cy9wcm94eS1pbnZhcmlhbnQtbm90LWV4dGVuc2libGUtZXh0cmEtc3RyaW5nLWtleS5qczoKKyAg
ZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3du
IGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmljdCBtb2RlOiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2Vw
dGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKIHRlc3QvYnVpbHQtaW5zL09iamVjdC9pbnRlcm5hbHMv
RGVmaW5lT3duUHJvcGVydHkvY29uc2lzdGVudC12YWx1ZS1mdW5jdGlvbi1hcmd1bWVudHMuanM6
CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq251bGzCuywg
wqtbb2JqZWN0IEFyZ3VtZW50c13CuykgdG8gYmUgdHJ1ZScKIHRlc3QvYnVpbHQtaW5zL09iamVj
dC9pbnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvY29uc2lzdGVudC12YWx1ZS1mdW5jdGlvbi1j
YWxsZXIuanM6CkBAIC0xMDc4LDYgKzExOTUsMTIgQEAgdGVzdC9idWlsdC1pbnMvT2JqZWN0L2tl
eXMvcHJveHktbm9uLWVudQogdGVzdC9idWlsdC1pbnMvT2JqZWN0L2tleXMvcHJveHktbm9uLWVu
dW1lcmFibGUtcHJvcC1pbnZhcmlhbnQtMi5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjog
RXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRo
cm93biBhdCBhbGwnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5
cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcK
K3Rlc3QvYnVpbHQtaW5zL09iamVjdC9rZXlzL3Byb3h5LW5vbi1lbnVtZXJhYmxlLXByb3AtaW52
YXJpYW50LTMuanM6CisgIGRlZmF1bHQ6ICJUeXBlRXJyb3I6IFByb3h5IGhhbmRsZXIncyAnb3du
S2V5cycgbWV0aG9kIHJldHVybmVkIGEga2V5IHRoYXQgd2FzIG5vdCBwcmVzZW50IGluIGl0cyBu
b24tZXh0ZW5zaWJsZSB0YXJnZXQiCisgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiBQcm94eSBo
YW5kbGVyJ3MgJ293bktleXMnIG1ldGhvZCByZXR1cm5lZCBhIGtleSB0aGF0IHdhcyBub3QgcHJl
c2VudCBpbiBpdHMgbm9uLWV4dGVuc2libGUgdGFyZ2V0IgordGVzdC9idWlsdC1pbnMvT2JqZWN0
L3ByZXZlbnRFeHRlbnNpb25zL3Rocm93cy13aGVuLWZhbHNlLmpzOgorICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2Vw
dGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJv
d24gYXQgYWxsJwogdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvLWZyb20tY3Rvci1yZWFsbS5q
czoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrW29iamVj
dCBPYmplY3RdwrssIMKrW29iamVjdCBPYmplY3RdwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBt
b2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtbb2JqZWN0IE9iamVjdF3C
uywgwqtbb2JqZWN0IE9iamVjdF3CuykgdG8gYmUgdHJ1ZScKQEAgLTE1NjQsNiArMTY4Nyw5IEBA
IHRlc3QvYnVpbHQtaW5zL1NldC9wcm90by1mcm9tLWN0b3ItcmVhbG0KIHRlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90by1mcm9tLWN0b3ItcmVhbG0uanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq8K7LCDCq8K7KSB0byBiZSB0cnVlJwogICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrwrssIMKrwrspIHRvIGJl
IHRydWUnCit0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNo
VmFsdWUtcmVwbGFjZXItUmVnRXhwLWNhbGwuanM6CisgIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6
IHNhbXBsZSAxMTogJ2FiY2JhJy5yZXBsYWNlQWxsKC8oPzxuYW1lZD5iKS9nLCAnKCQ8bmFtZWQ+
KScpIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2EoJDxuYW1lZD4pYygkPG5hbWVkPilhwrssIMKrYShi
KWMoYilhwrspIHRvIGJlIHRydWUiCisgIHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9yOiBzYW1w
bGUgMTE6ICdhYmNiYScucmVwbGFjZUFsbCgvKD88bmFtZWQ+YikvZywgJygkPG5hbWVkPiknKSBF
eHBlY3RlZCBTYW1lVmFsdWUowqthKCQ8bmFtZWQ+KWMoJDxuYW1lZD4pYcK7LCDCq2EoYiljKGIp
YcK7KSB0byBiZSB0cnVlIgogdGVzdC9idWlsdC1pbnMvVGhyb3dUeXBlRXJyb3IvZXh0ZW5zaWJs
ZS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdHJ1
ZcK7LCDCq2ZhbHNlwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9y
OiBFeHBlY3RlZCBTYW1lVmFsdWUowqt0cnVlwrssIMKrZmFsc2XCuykgdG8gYmUgdHJ1ZScKQEAg
LTE4NzIsMTIgKzE5OTgsMTM4IEBAIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5
cGUvZm8KIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0
cy9yZWxhdGVkLXllYXIuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNh
bWVWYWx1ZSjCq2ZhbHNlwrssIMKrdHJ1ZcK7KSB0byBiZSB0cnVlJwogICBzdHJpY3QgbW9kZTog
J1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZmFsc2XCuywgwqt0cnVlwrspIHRv
IGJlIHRydWUnCit0ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL3Jlc29sdmVk
T3B0aW9ucy9ob3VyQ3ljbGUtZGVmYXVsdC5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjog
RXhwZWN0ZWQgU2FtZVZhbHVlKMKraDI0wrssIMKraDIzwrspIHRvIGJlIHRydWUnCisgIHN0cmlj
dCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtoMjTCuywgwqtoMjPC
uykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvcmVz
b2x2ZWRPcHRpb25zL29yZGVyLWRheVBlcmlvZC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJv
cjogRXhwZWN0ZWQgW2xvY2FsZSwgY2FsZW5kYXIsIG51bWJlcmluZ1N5c3RlbSwgdGltZVpvbmUs
IGhvdXJDeWNsZSwgaG91cjEyLCBob3VyLCBtaW51dGVdIGFuZCBbbG9jYWxlLCBjYWxlbmRhciwg
bnVtYmVyaW5nU3lzdGVtLCB0aW1lWm9uZSwgaG91ckN5Y2xlLCBob3VyMTIsIGRheVBlcmlvZCwg
aG91ciwgbWludXRlXSB0byBoYXZlIHRoZSBzYW1lIGNvbnRlbnRzLiAnCiAgIHN0cmljdCBtb2Rl
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbbG9jYWxlLCBjYWxlbmRhciwgbnVtYmVyaW5nU3lz
dGVtLCB0aW1lWm9uZSwgaG91ckN5Y2xlLCBob3VyMTIsIGhvdXIsIG1pbnV0ZV0gYW5kIFtsb2Nh
bGUsIGNhbGVuZGFyLCBudW1iZXJpbmdTeXN0ZW0sIHRpbWVab25lLCBob3VyQ3ljbGUsIGhvdXIx
MiwgZGF5UGVyaW9kLCBob3VyLCBtaW51dGVdIHRvIGhhdmUgdGhlIHNhbWUgY29udGVudHMuICcK
IHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL29y
ZGVyLWZyYWN0aW9uYWxTZWNvbmREaWdpdHMuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIFtsb2NhbGUsIGNhbGVuZGFyLCBudW1iZXJpbmdTeXN0ZW0sIHRpbWVab25lLCBt
aW51dGUsIHNlY29uZF0gYW5kIFtsb2NhbGUsIGNhbGVuZGFyLCBudW1iZXJpbmdTeXN0ZW0sIHRp
bWVab25lLCBtaW51dGUsIHNlY29uZCwgZnJhY3Rpb25hbFNlY29uZERpZ2l0c10gdG8gaGF2ZSB0
aGUgc2FtZSBjb250ZW50cy4gJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgW2xvY2FsZSwgY2FsZW5kYXIsIG51bWJlcmluZ1N5c3RlbSwgdGltZVpvbmUsIG1pbnV0ZSwg
c2Vjb25kXSBhbmQgW2xvY2FsZSwgY2FsZW5kYXIsIG51bWJlcmluZ1N5c3RlbSwgdGltZVpvbmUs
IG1pbnV0ZSwgc2Vjb25kLCBmcmFjdGlvbmFsU2Vjb25kRGlnaXRzXSB0byBoYXZlIHRoZSBzYW1l
IGNvbnRlbnRzLiAnCit0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2N0b3ItY3VzdG9tLWdldC1w
cm90b3R5cGUtcG9pc29uLXRocm93cy5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKKyAgc3RyaWN0IG1vZGU6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVGVzdDI2MkVycm9yIGJ1dCBnb3QgYSBUeXBlRXJy
b3InCit0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2N0b3ItY3VzdG9tLXByb3RvdHlwZS5qczoK
KyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogUmVmbGVjdC5jb25zdHJ1Y3QgcmVxdWlyZXMgdGhlIGZp
cnN0IGFyZ3VtZW50IGJlIGEgY29uc3RydWN0b3InCisgIHN0cmljdCBtb2RlOiAnVHlwZUVycm9y
OiBSZWZsZWN0LmNvbnN0cnVjdCByZXF1aXJlcyB0aGUgZmlyc3QgYXJndW1lbnQgYmUgYSBjb25z
dHJ1Y3RvcicKK3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvY3Rvci1kZWZhdWx0LXByb3RvdHlw
ZS5qczoKKyAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVj
dG9yIChldmFsdWF0aW5nICduZXcgSW50bC5EaXNwbGF5TmFtZXMoKScpIgorICBzdHJpY3QgbW9k
ZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5n
ICduZXcgSW50bC5EaXNwbGF5TmFtZXMoKScpIgordGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9p
bnN0YW5jZS1leHRlbnNpYmxlLmpzOgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQg
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBJbnRsLkRpc3BsYXlOYW1lcygp
JykiCisgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEgY29uc3Ry
dWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBJbnRsLkRpc3BsYXlOYW1lcygpJykiCit0ZXN0L2ludGw0
MDIvRGlzcGxheU5hbWVzL2xlbmd0aC5qczoKKyAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iob2JqLCBuYW1lKScpIgorICBzdHJpY3QgbW9kZTogIlR5cGVFcnJvcjogdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iob2JqLCBuYW1lKScpIgordGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9sb2NhbGVz
LWxlbmd0aC1wb2lzb24tdGhyb3dzLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBhIFRlc3QyNjJFcnJvciBidXQgZ290IGEgVHlwZUVycm9yJworICBzdHJpY3QgbW9kZTog
J1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJv
cicKK3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvbG9jYWxlcy1sZW5ndGgtdG9sZW5ndGgtdGhy
b3dzLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBwb2lzb25lZCB2YWx1ZU9mIGZvciBU
b051bWJlciBFeHBlY3RlZCBhIFRlc3QyNjJFcnJvciBidXQgZ290IGEgVHlwZUVycm9yJworICBz
dHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogcG9pc29uZWQgdmFsdWVPZiBmb3IgVG9OdW1iZXIg
RXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKK3Rlc3QvaW50bDQw
Mi9EaXNwbGF5TmFtZXMvbG9jYWxlcy1zeW1ib2wtbGVuZ3RoLmpzOgorICBkZWZhdWx0OiAiVHlw
ZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBJ
bnRsLkRpc3BsYXlOYW1lcyhzeW1ib2wpJykiCisgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBJbnRsLkRpc3Bs
YXlOYW1lcyhzeW1ib2wpJykiCit0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL25hbWUuanM6Cisg
IGRlZmF1bHQ6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICdPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbmFtZSknKSIKKyAgc3Ry
aWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICdPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbmFtZSknKSIKK3Rlc3Qv
aW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1mYWxsYmFjay1hYnJ1cHQtdGhyb3dzLmpzOgor
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFRlc3QyNjJFcnJvciBidXQgZ290
IGEgVHlwZUVycm9yJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBU
ZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKK3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFt
ZXMvb3B0aW9ucy1mYWxsYmFjay1pbnZhbGlkLXRocm93cy5qczoKKyAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogZXJyIEV4cGVjdGVkIGEgUmFuZ2VFcnJvciBidXQgZ290IGEgVHlwZUVycm9yJwor
ICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogZXJyIEV4cGVjdGVkIGEgUmFuZ2VFcnJvciBi
dXQgZ290IGEgVHlwZUVycm9yJwordGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLWZh
bGxiYWNrLXRvU3RyaW5nLWFicnVwdC10aHJvd3MuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IGZyb20gdG9TdHJpbmcgRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVF
cnJvcicKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IGZyb20gdG9TdHJpbmcgRXhwZWN0
ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKK3Rlc3QvaW50bDQwMi9EaXNw
bGF5TmFtZXMvb3B0aW9ucy1mYWxsYmFjay12YWxpZC5qczoKKyAgZGVmYXVsdDogIlR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgSW50bC5E
aXNwbGF5TmFtZXMoJ2VuJywgb3B0aW9ucyknKSIKKyAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6
IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEludGwuRGlz
cGxheU5hbWVzKCdlbicsIG9wdGlvbnMpJykiCit0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29w
dGlvbnMtbG9jYWxlTWF0Y2hlci1hYnJ1cHQtdGhyb3dzLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBhIFRlc3QyNjJFcnJvciBidXQgZ290IGEgVHlwZUVycm9yJworICBz
dHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdv
dCBhIFR5cGVFcnJvcicKK3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1sb2NhbGVN
YXRjaGVyLWludmFsaWQtdGhyb3dzLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBiZXN0
Zml0IEV4cGVjdGVkIGEgUmFuZ2VFcnJvciBidXQgZ290IGEgVHlwZUVycm9yJworICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogYmVzdGZpdCBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgYnV0IGdv
dCBhIFR5cGVFcnJvcicKK3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1sb2NhbGVN
YXRjaGVyLXRvU3RyaW5nLWFicnVwdC10aHJvd3MuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IGZyb20gdG9TdHJpbmcgRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVF
cnJvcicKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IGZyb20gdG9TdHJpbmcgRXhwZWN0
ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKK3Rlc3QvaW50bDQwMi9EaXNw
bGF5TmFtZXMvb3B0aW9ucy1sb2NhbGVNYXRjaGVyLXZhbGlkLmpzOgorICBkZWZhdWx0OiAiVHlw
ZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBJ
bnRsLkRpc3BsYXlOYW1lcygnZW4nLCBvcHRpb25zKScpIgorICBzdHJpY3QgbW9kZTogIlR5cGVF
cnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgSW50
bC5EaXNwbGF5TmFtZXMoJ2VuJywgb3B0aW9ucyknKSIKK3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFt
ZXMvb3B0aW9ucy1yYW5kb20tcHJvcGVydGllcy11bmNoZWNrZWQuanM6CisgIGRlZmF1bHQ6ICJU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3
IEludGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpJykiCisgIHN0cmljdCBtb2RlOiAiVHlw
ZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBJ
bnRsLkRpc3BsYXlOYW1lcygnZW4nLCBvcHRpb25zKScpIgordGVzdC9pbnRsNDAyL0Rpc3BsYXlO
YW1lcy9vcHRpb25zLXN0eWxlLWFicnVwdC10aHJvd3MuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIGEgVGVzdDI2MkVycm9yIGJ1dCBnb3QgYSBUeXBlRXJyb3InCisgIHN0
cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFRlc3QyNjJFcnJvciBidXQgZ290
IGEgVHlwZUVycm9yJwordGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLXN0eWxlLWlu
dmFsaWQtdGhyb3dzLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBzbWFsbCBFeHBlY3Rl
ZCBhIFJhbmdlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKKyAgc3RyaWN0IG1vZGU6ICdUZXN0
MjYyRXJyb3I6IHNtYWxsIEV4cGVjdGVkIGEgUmFuZ2VFcnJvciBidXQgZ290IGEgVHlwZUVycm9y
JwordGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLXN0eWxlLXRvU3RyaW5nLWFicnVw
dC10aHJvd3MuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IGZyb20gdG9TdHJpbmcgRXhw
ZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKKyAgc3RyaWN0IG1vZGU6
ICdUZXN0MjYyRXJyb3I6IGZyb20gdG9TdHJpbmcgRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0
IGdvdCBhIFR5cGVFcnJvcicKK3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1zdHls
ZS12YWxpZC5qczoKKyAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNv
bnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgSW50bC5EaXNwbGF5TmFtZXMoJ2VuJywgb3B0aW9u
cyknKSIKKyAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYSBjb25z
dHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEludGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMp
JykiCit0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtdHlwZS1hYnJ1cHQtdGhyb3dz
LmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFRlc3QyNjJFcnJvciBi
dXQgZ290IGEgVHlwZUVycm9yJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKK3Rlc3QvaW50bDQwMi9EaXNw
bGF5TmFtZXMvb3B0aW9ucy10eXBlLWludmFsaWQtdGhyb3dzLmpzOgorICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiBsYW5nIEV4cGVjdGVkIGEgUmFuZ2VFcnJvciBidXQgZ290IGEgVHlwZUVycm9y
JworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogbGFuZyBFeHBlY3RlZCBhIFJhbmdlRXJy
b3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKK3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9u
cy10eXBlLXRvU3RyaW5nLWFicnVwdC10aHJvd3MuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IGZyb20gdG9TdHJpbmcgRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVF
cnJvcicKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IGZyb20gdG9TdHJpbmcgRXhwZWN0
ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKK3Rlc3QvaW50bDQwMi9EaXNw
bGF5TmFtZXMvb3B0aW9ucy10eXBlLXZhbGlkLmpzOgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBJbnRsLkRpc3Bs
YXlOYW1lcygnZW4nLCBvcHRpb25zKScpIgorICBzdHJpY3QgbW9kZTogIlR5cGVFcnJvcjogdW5k
ZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgSW50bC5EaXNwbGF5
TmFtZXMoJ2VuJywgb3B0aW9ucyknKSIKK3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvcC1k
ZXNjLmpzOgorICBkZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBgdHlwZW9mIEludGwuRGlzcGxheU5h
bWVzYCBpcyBgJ2Z1bmN0aW9uJ2AgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdW5kZWZpbmVkwrssIMKr
ZnVuY3Rpb27CuykgdG8gYmUgdHJ1ZSIKKyAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IGB0
eXBlb2YgSW50bC5EaXNwbGF5TmFtZXNgIGlzIGAnZnVuY3Rpb24nYCBFeHBlY3RlZCBTYW1lVmFs
dWUowqt1bmRlZmluZWTCuywgwqtmdW5jdGlvbsK7KSB0byBiZSB0cnVlIgordGVzdC9pbnRsNDAy
L0Rpc3BsYXlOYW1lcy9wcm90by1mcm9tLWN0b3ItcmVhbG0uanM6CisgIGRlZmF1bHQ6ICdUeXBl
RXJyb3I6IFJlZmxlY3QuY29uc3RydWN0IHJlcXVpcmVzIHRoZSBmaXJzdCBhcmd1bWVudCBiZSBh
IGNvbnN0cnVjdG9yJworICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogUmVmbGVjdC5jb25zdHJ1
Y3QgcmVxdWlyZXMgdGhlIGZpcnN0IGFyZ3VtZW50IGJlIGEgY29uc3RydWN0b3InCit0ZXN0L2lu
dGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvLmpzOgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldFByb3RvdHlwZU9m
KEludGwuRGlzcGxheU5hbWVzKScpIgorICBzdHJpY3QgbW9kZTogIlR5cGVFcnJvcjogdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRQcm90b3R5cGVPZihJ
bnRsLkRpc3BsYXlOYW1lcyknKSIKK3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBl
L1N5bWJvbC50b1N0cmluZ1RhZy5qczoKKyAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ0ludGwuRGlzcGxheU5hbWVzLnByb3RvdHlw
ZScpIgorICBzdHJpY3QgbW9kZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ0ludGwuRGlzcGxheU5hbWVzLnByb3RvdHlwZScpIgordGVzdC9pbnRs
NDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcHJvcC1kZXNjLmpzOgorICBkZWZhdWx0OiAiVHlw
ZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG5hbWUpJykiCisgIHN0cmljdCBtb2RlOiAiVHlw
ZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG5hbWUpJykiCit0ZXN0L2ludGw0MDIvRGlzcGxh
eU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvZGVmYXVsdC1vcHRpb24tdmFsdWVzLmpz
OgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3Ig
KGV2YWx1YXRpbmcgJ25ldyBJbnRsLkRpc3BsYXlOYW1lcygnZW4tVVMnKScpIgorICBzdHJpY3Qg
bW9kZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0
aW5nICduZXcgSW50bC5EaXNwbGF5TmFtZXMoJ2VuLVVTJyknKSIKK3Rlc3QvaW50bDQwMi9EaXNw
bGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9sZW5ndGguanM6CisgIGRlZmF1bHQ6
ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdJbnRs
LkRpc3BsYXlOYW1lcy5wcm90b3R5cGUnKSIKKyAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdJbnRsLkRpc3BsYXlOYW1lcy5w
cm90b3R5cGUnKSIKK3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVk
T3B0aW9ucy9uYW1lLmpzOgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnSW50bC5EaXNwbGF5TmFtZXMucHJvdG90eXBlJykiCisg
IHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnSW50bC5EaXNwbGF5TmFtZXMucHJvdG90eXBlJykiCit0ZXN0L2ludGw0MDIvRGlz
cGxheU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvb3B0aW9uLWZhbGxiYWNrLmpzOgor
ICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2
YWx1YXRpbmcgJ25ldyBJbnRsLkRpc3BsYXlOYW1lcygnZW4tVVMnLCB7IGZhbGxiYWNrIH0pJyki
CisgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0
b3IgKGV2YWx1YXRpbmcgJ25ldyBJbnRsLkRpc3BsYXlOYW1lcygnZW4tVVMnLCB7IGZhbGxiYWNr
IH0pJykiCit0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlv
bnMvb3B0aW9uLXN0eWxlLmpzOgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMg
bm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBJbnRsLkRpc3BsYXlOYW1lcygnZW4t
VVMnLCB7IHN0eWxlIH0pJykiCisgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQg
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBJbnRsLkRpc3BsYXlOYW1lcygn
ZW4tVVMnLCB7IHN0eWxlIH0pJykiCit0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlw
ZS9yZXNvbHZlZE9wdGlvbnMvb3B0aW9uLXR5cGUuanM6CisgIGRlZmF1bHQ6ICJUeXBlRXJyb3I6
IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEludGwuRGlz
cGxheU5hbWVzKCdlbi1VUycsIHsgdHlwZSB9KScpIgorICBzdHJpY3QgbW9kZTogIlR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgSW50bC5E
aXNwbGF5TmFtZXMoJ2VuLVVTJywgeyB0eXBlIH0pJykiCit0ZXN0L2ludGw0MDIvRGlzcGxheU5h
bWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvcHJvcC1kZXNjLmpzOgorICBkZWZhdWx0OiAi
VHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnSW50bC5E
aXNwbGF5TmFtZXMucHJvdG90eXBlJykiCisgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnSW50bC5EaXNwbGF5TmFtZXMucHJv
dG90eXBlJykiCit0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9w
dGlvbnMvcmV0dXJuLW9iamVjdC5qczoKKyAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVk
IGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgSW50bC5EaXNwbGF5TmFtZXMo
J2VuLVVTJyknKSIKKyAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEludGwuRGlzcGxheU5hbWVzKCdlbi1VUycp
JykiCit0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMv
dGhpcy1ub3Qtb2JqZWN0LXRocm93cy5qczoKKyAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ0ludGwuRGlzcGxheU5hbWVzLnByb3Rv
dHlwZScpIgorICBzdHJpY3QgbW9kZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ0ludGwuRGlzcGxheU5hbWVzLnByb3RvdHlwZScpIgordGVzdC9p
bnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL3RoaXMtb2JqZWN0
LWxhY2tzLWludGVybmFsLXRocm93cy5qczoKKyAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ0ludGwuRGlzcGxheU5hbWVzLnByb3Rv
dHlwZScpIgorICBzdHJpY3QgbW9kZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ0ludGwuRGlzcGxheU5hbWVzLnByb3RvdHlwZScpIgogdGVzdC9p
bnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy9jYW5vbmljYWxpemVkLXRhZ3MuanM6CiAg
IGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2NtbsK7LCDCq3po
wrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBT
YW1lVmFsdWUowqtjbW7Cuywgwqt6aMK7KSB0byBiZSB0cnVlJwpAQCAtMjEwMCwxNCArMjM1Miwx
MyBAQCB0ZXN0L2xhbmd1YWdlL2V2YWwtY29kZS9pbmRpcmVjdC92YXItZW52CiB0ZXN0L2xhbmd1
YWdlL2V2YWwtY29kZS9pbmRpcmVjdC92YXItZW52LWdsb2JhbC1sZXgtbm9uLXN0cmljdC5qczoK
ICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZnVuY3Rpb24g
VHlwZUVycm9yKCkgeycKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNh
bWVWYWx1ZSjCq2Z1bmN0aW9uIFR5cGVFcnJvcigpIHsnCit0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2Fycm93LWZ1bmN0aW9uL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6CisgIGRlZmF1
bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1
dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0
aW9uIHdhcyB0aHJvd24gYXQgYWxsJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1m
dW5jdGlvbi9zY29wZS1ib2R5LWxleC1kaXN0aW5jdC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJF
cnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlv
biB3YXMgdGhyb3duIGF0IGFsbCcKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVu
Y3Rpb24vc2NvcGUtcGFyYW0tZWxlbS12YXItY2xvc2UuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2luc2lkZcK7LCDCq291dHNpZGXCuykgdG8gYmUg
dHJ1ZScKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vc2NvcGUtcGFy
YW0tZWxlbS12YXItb3Blbi5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
U2FtZVZhbHVlKMKraW5zaWRlwrssIMKrb3V0c2lkZcK7KSB0byBiZSB0cnVlJwotdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9zY29wZS1wYXJhbS1yZXN0LWVsZW0tdmFy
LWNsb3NlLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUo
wqtpbnNpZGXCuywgwqtvdXRzaWRlwrspIHRvIGJlIHRydWUnCit0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2Fycm93LWZ1bmN0aW9uL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5qczoK
KyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrb3V0c2lkZcK7
LCDCq2luc2lkZcK7KSB0byBiZSB0cnVlJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3Np
Z25tZW50L1MxMS4xMy4xX0E1X1Q0LmpzOgogICBkZWZhdWx0OiAiUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IHgiCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1l
bnQvUzExLjEzLjFfQTVfVDUuanM6CkBAIC0yMjcxLDkgKzI1MjIsMTUgQEAgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3NpZ25tZW50L2ZuLQogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJv
cjogZGVzY3JpcHRvciB2YWx1ZSBzaG91bGQgYmUgJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3luYy1nZW5lcmF0b3IvZWFybHktZXJyb3JzLWV4cHJlc3Npb24teWllbGQtYXMtZnVuY3Rp
b24tYmluZGluZy1pZGVudGlmaWVyLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MjogVGhpcyBzdGF0
ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwordGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3luYy1nZW5lcmF0b3IvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qczoKKyAgZGVmYXVs
dDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0
IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRp
b24gd2FzIHRocm93biBhdCBhbGwnCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdl
bmVyYXRvci9nZW5lcmF0b3ItY3JlYXRlZC1hZnRlci1kZWNsLWluc3QuanM6CiAgIGRlZmF1bHQ6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq1tvYmplY3QgQXN5bmNHZW5lcmF0
b3JdwrssIMKrW29iamVjdCBBc3luY0dlbmVyYXRvcl3CuykgdG8gYmUgZmFsc2UnCiAgIHN0cmlj
dCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtbb2JqZWN0IEFzeW5j
R2VuZXJhdG9yXcK7LCDCq1tvYmplY3QgQXN5bmNHZW5lcmF0b3JdwrspIHRvIGJlIGZhbHNlJwor
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvbmFtZWQtZXZhbC12YXIt
c2NvcGUtc3ludGF4LWVyci5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
YSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0
IGFsbCcKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJy
b3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NhbGwvZXZhbC1yZWFsbS1pbmRpcmVjdC5qczoKICAgZGVm
YXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKraW5zaWRlwrssIMKrb3V0
c2lkZcK7KSB0byBiZSB0cnVlJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jYWxsL2V2YWwt
c3ByZWFkLWVtcHR5LWxlYWRpbmcuanM6CkBAIC0yMzA1LDYgKzI1NjIsMTIgQEAgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jYWxsL3Rjby1ub24tZQogICBkZWZhdWx0OiAnUmFuZ2VFcnJvcjog
TWF4aW11bSBjYWxsIHN0YWNrIHNpemUgZXhjZWVkZWQuJwogdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jYWxsL3Rjby1ub24tZXZhbC13aXRoLmpzOgogICBkZWZhdWx0OiAnUmFuZ2VFcnJvcjog
TWF4aW11bSBjYWxsIHN0YWNrIHNpemUgZXhjZWVkZWQuJwordGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgt
ZXJyLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9y
IHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJworICBzdHJp
Y3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJv
d24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKK3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJy
LmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRv
IGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJworICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24g
YnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvY2xhc3MtbmFtZS1pZGVudC1hd2FpdC1lc2NhcGVkLmpzOgogICBkZWZhdWx0
OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGtleXdvcmQg
dG9rZW46ICdhd1xcdTAwNjFpdCciCiAgIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGtleXdvcmQgdG9rZW46ICdhd1xcdTAwNjFpdCci
CkBAIC0yMzI0LDYgKzI1ODcsMTIgQEAgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9l
bGVtZW50cwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9zeW50YXgv
dmFsaWQvZ3JhbW1hci1zdGF0aWMtY3Rvci1nZW4tbWV0aC12YWxpZC5qczoKICAgZGVmYXVsdDog
IlN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhIGdlbmVyYXRvciBmdW5jdGlvbiBuYW1lZCAn
Y29uc3RydWN0b3InLiIKICAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogQ2Fubm90IGRlY2xh
cmUgYSBnZW5lcmF0b3IgZnVuY3Rpb24gbmFtZWQgJ2NvbnN0cnVjdG9yJy4iCit0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2V2YWwtdmFyLXNjb3BlLXN5
bnRheC1lcnIuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4
RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisg
IHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJl
IHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwordGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIu
anM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8g
YmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmljdCBt
b2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBi
dXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwogdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9pZGVudC1uYW1lLW1ldGhvZC1kZWYtYnJlYWstZXNjYXBlZC5qczoKICAgZGVm
YXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGVzY2FwZWQgY2hhcmFjdGVycyBpbiBrZXl3
b3JkIHRva2VuOiAnYnJlXFx1MDA2MWsnIgogICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBV
bmV4cGVjdGVkIGVzY2FwZWQgY2hhcmFjdGVycyBpbiBrZXl3b3JkIHRva2VuOiAnYnJlXFx1MDA2
MWsnIgpAQCAtMjQ1Myw2ICsyNzIyLDEyIEBAIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvaWRlbnQtbmEKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvaWRlbnQtbmFtZS1t
ZXRob2QtZGVmLXdpdGgtZXNjYXBlZC5qczoKICAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIGVzY2FwZWQgY2hhcmFjdGVycyBpbiBrZXl3b3JkIHRva2VuOiAnd1xcdTAwNjl0aCci
CiAgIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgZXNjYXBlZCBjaGFyYWN0
ZXJzIGluIGtleXdvcmQgdG9rZW46ICd3XFx1MDA2OXRoJyIKK3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOgor
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRo
cm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJworICBzdHJpY3QgbW9kZTog
J1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5v
IGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKK3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6CisgIGRlZmF1bHQ6ICdU
ZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBl
eGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9y
OiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdh
cyB0aHJvd24gYXQgYWxsJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9wb2lzb25l
ZC11bmRlcnNjb3JlLXByb3RvLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBzaG91bGQg
bm90IGJlIGNhbGxlZCcKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IHNob3VsZCBub3Qg
YmUgY2FsbGVkJwpAQCAtMjYxMywyNSArMjg4OCwyMyBAQCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NvbXBvdW5kLWFzc2lnCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NvbmRpdGlvbmFs
L2luLWJyYW5jaC0xLmpzOgogICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQga2V5
d29yZCAnaW4nLiBFeHBlY3RlZCAnOicgaW4gdGVybmFyeSBvcGVyYXRvci4iCiAgIHN0cmljdCBt
b2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQga2V5d29yZCAnaW4nLiBFeHBlY3RlZCAnOicg
aW4gdGVybmFyeSBvcGVyYXRvci4iCit0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9u
L2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2Fz
IHRocm93biBhdCBhbGwnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBh
IFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQg
YWxsJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9zY29wZS1ib2R5LWxleC1k
aXN0aW5jdC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhF
cnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKLXRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vc2NvcGUtcGFyYW0tZWxlbS12YXItY2xv
c2UuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2lu
c2lkZcK7LCDCq291dHNpZGXCuykgdG8gYmUgdHJ1ZScKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvZnVuY3Rpb24vc2NvcGUtcGFyYW0tZWxlbS12YXItb3Blbi5qczoKLSAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKraW5zaWRlwrssIMKrb3V0c2lkZcK7KSB0
byBiZSB0cnVlJwotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9zY29wZS1wYXJh
bS1yZXN0LWVsZW0tdmFyLWNsb3NlLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBTYW1lVmFsdWUowqtpbnNpZGXCuywgwqtvdXRzaWRlwrspIHRvIGJlIHRydWUnCit0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXIt
b3Blbi5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKr
b3V0c2lkZcK7LCDCq2luc2lkZcK7KSB0byBiZSB0cnVlJwordGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9nZW5lcmF0b3JzL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6CisgIGRlZmF1bHQ6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBu
byBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9u
IHdhcyB0aHJvd24gYXQgYWxsJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3Jz
L2dlbmVyYXRvci1jcmVhdGVkLWFmdGVyLWRlY2wtaW5zdC5qczoKICAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrW29iamVjdCBHZW5lcmF0b3JdwrssIMKrW29i
amVjdCBHZW5lcmF0b3JdwrspIHRvIGJlIGZhbHNlJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJF
cnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrW29iamVjdCBHZW5lcmF0b3JdwrssIMKrW29iamVj
dCBHZW5lcmF0b3JdwrspIHRvIGJlIGZhbHNlJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9n
ZW5lcmF0b3JzL3Njb3BlLWJvZHktbGV4LWRpc3RpbmN0LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0
aW9uIHdhcyB0aHJvd24gYXQgYWxsJwotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0
b3JzL3Njb3BlLXBhcmFtLWVsZW0tdmFyLWNsb3NlLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtpbnNpZGXCuywgwqtvdXRzaWRlwrspIHRvIGJlIHRy
dWUnCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tZWxl
bS12YXItb3Blbi5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZh
bHVlKMKraW5zaWRlwrssIMKrb3V0c2lkZcK7KSB0byBiZSB0cnVlJwotdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9nZW5lcmF0b3JzL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItY2xvc2UuanM6
Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2luc2lkZcK7
LCDCq291dHNpZGXCuykgdG8gYmUgdHJ1ZScKK3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2Vu
ZXJhdG9ycy9zY29wZS1wYXJhbS1yZXN0LWVsZW0tdmFyLW9wZW4uanM6CisgIGRlZmF1bHQ6ICdU
ZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq291dHNpZGXCuywgwqtpbnNpZGXCuykg
dG8gYmUgdHJ1ZScKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvaW1wb3J0Lm1ldGEvaW1wb3J0
LW1ldGEtaXMtYW4tb3JkaW5hcnktb2JqZWN0LmpzOgogICBtb2R1bGU6ICdTeW50YXhFcnJvcjog
Q2Fubm90IHVzZSBuZXcgd2l0aCBpbXBvcnQuJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9p
bXBvcnQubWV0YS9zeW50YXgvaW52YWxpZC1hc3NpZ25tZW50LXRhcmdldC1mb3ItYXdhaXQtb2Yt
bG9vcC5qczoKQEAgLTMwMTgsMzAgKzMyOTEsMzEgQEAgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9vYmplY3QvaWRlbnQtbgogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvaWRlbnQt
bmFtZS1wcm9wLW5hbWUtbGl0ZXJhbC13aXRoLWVzY2FwZWQuanM6CiAgIGRlZmF1bHQ6ICJTeW50
YXhFcnJvcjogVW5leHBlY3RlZCBlc2NhcGVkIGNoYXJhY3RlcnMgaW4ga2V5d29yZCB0b2tlbjog
J3dcXHUwMDY5dGgnIgogICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGVz
Y2FwZWQgY2hhcmFjdGVycyBpbiBrZXl3b3JkIHRva2VuOiAnd1xcdTAwNjl0aCciCit0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9hc3luYy1nZW4tbWV0
aC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9y
OiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdh
cyB0aHJvd24gYXQgYWxsJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
YSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0
IGFsbCcKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9u
L2VzY2FwZWQtZ2V0LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hv
dWxkIG5vdCBiZSBldmFsdWF0ZWQuJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjI6IFRoaXMgc3Rh
dGVtZW50IHNob3VsZCBub3QgYmUgZXZhbHVhdGVkLicKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2VzY2FwZWQtc2V0LmpzOgogICBkZWZhdWx0OiAn
VGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwogICBzdHJp
Y3QgbW9kZTogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZhbHVhdGVk
LicKK3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2dl
bi1tZXRoLWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRp
b24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJv
d24gYXQgYWxsJwordGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmlu
aXRpb24vbWV0aC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOgorICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhj
ZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjog
RXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMg
dGhyb3duIGF0IGFsbCcKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L3Njb3BlLWdl
bi1tZXRoLWJvZHktbGV4LWRpc3RpbmN0LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0
aHJvd24gYXQgYWxsJwotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qvc2NvcGUtZ2Vu
LW1ldGgtcGFyYW0tZWxlbS12YXItY2xvc2UuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2luc2lkZcK7LCDCq291dHNpZGXCuykgdG8gYmUgdHJ1ZScK
LXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L3Njb3BlLWdlbi1tZXRoLXBhcmFtLWVs
ZW0tdmFyLW9wZW4uanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVW
YWx1ZSjCq2luc2lkZcK7LCDCq291dHNpZGXCuykgdG8gYmUgdHJ1ZScKLXRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L3Njb3BlLWdlbi1tZXRoLXBhcmFtLXJlc3QtZWxlbS12YXItY2xv
c2UuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2lu
c2lkZcK7LCDCq291dHNpZGXCuykgdG8gYmUgdHJ1ZScKK3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvb2JqZWN0L3Njb3BlLWdlbi1tZXRoLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5qczoKKyAg
ZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrb3V0c2lkZcK7LCDC
q2luc2lkZcK7KSB0byBiZSB0cnVlJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qv
c2NvcGUtZ2V0dGVyLWJvZHktbGV4LWRpc3RpbmMuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24g
d2FzIHRocm93biBhdCBhbGwnCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9zY29w
ZS1tZXRoLWJvZHktbGV4LWRpc3RpbmN0LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0
aHJvd24gYXQgYWxsJwotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qvc2NvcGUtbWV0
aC1wYXJhbS1lbGVtLXZhci1jbG9zZS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgU2FtZVZhbHVlKMKraW5zaWRlwrssIMKrb3V0c2lkZcK7KSB0byBiZSB0cnVlJwotdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qvc2NvcGUtbWV0aC1wYXJhbS1lbGVtLXZhci1v
cGVuLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtp
bnNpZGXCuywgwqtvdXRzaWRlwrspIHRvIGJlIHRydWUnCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29iamVjdC9zY29wZS1tZXRoLXBhcmFtLXJlc3QtZWxlbS12YXItY2xvc2UuanM6Ci0gIGRl
ZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2luc2lkZcK7LCDCq291
dHNpZGXCuykgdG8gYmUgdHJ1ZScKK3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L3Nj
b3BlLW1ldGgtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtvdXRzaWRlwrssIMKraW5zaWRlwrspIHRvIGJl
IHRydWUnCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9zY29wZS1zZXR0ZXItYm9k
eS1sZXgtZGlzdGluYy5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBT
eW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFs
bCcKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvcG9zdGZpeC1kZWNyZW1lbnQvUzExLjMuMl9B
NV9UMS5qczoKQEAgLTMxMjgsMTAgKzM0MDIsNiBAQCB0ZXN0L2xhbmd1YWdlL2Z1bmN0aW9uLWNv
ZGUvZWFjaC1wYXJhbS1oCiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgUmVm
ZXJlbmNlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBh
bGwnCiB0ZXN0L2xhbmd1YWdlL2Z1bmN0aW9uLWNvZGUvZWFjaC1wYXJhbS1oYXMtb3duLXNjb3Bl
LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFJlZmVyZW5jZUVycm9y
IHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwotdGVzdC9s
YW5ndWFnZS9mdW5jdGlvbi1jb2RlL2V2YWwtcGFyYW0tZW52LXdpdGgtY29tcHV0ZWQta2V5Lmpz
OgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtpbm5lcsK7
LCDCq291dGVywrspIHRvIGJlIHRydWUnCi10ZXN0L2xhbmd1YWdlL2Z1bmN0aW9uLWNvZGUvZXZh
bC1wYXJhbS1lbnYtd2l0aC1wcm9wLWluaXRpYWxpemVyLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtpbm5lcsK7LCDCq291dGVywrspIHRvIGJlIHRy
dWUnCiB0ZXN0L2xhbmd1YWdlL2dsb2JhbC1jb2RlL3NjcmlwdC1kZWNsLWZ1bmMtZXJyLW5vbi1j
b25maWd1cmFibGUuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IHdyaXRhYmxlLCBub24t
ZW51bWVyYWJsZSBkYXRhIHByb3BlcnR5IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93
biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwogICBzdHJpY3QgbW9kZTogJ1Rl
c3QyNjJFcnJvcjogd3JpdGFibGUsIG5vbi1lbnVtZXJhYmxlIGRhdGEgcHJvcGVydHkgRXhwZWN0
ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBh
dCBhbGwnCkBAIC0zMjYwLDkgKzM1MzAsMTggQEAgdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9w
YXJzZS1lcnItaG9pcwogICBtb2R1bGU6ICdUZXN0MjYyOiBUaGlzIHN0YXRlbWVudCBzaG91bGQg
bm90IGJlIGV2YWx1YXRlZC4nCiB0ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL3BhcnNlLWVyci1o
b2lzdC1sZXgtZ2VuLmpzOgogICBtb2R1bGU6ICdUZXN0MjYyOiBUaGlzIHN0YXRlbWVudCBzaG91
bGQgbm90IGJlIGV2YWx1YXRlZC4nCit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2Vu
ZXJhdG9yL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRp
b24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJv
d24gYXQgYWxsJwogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9nZW5l
cmF0b3ItY3JlYXRlZC1hZnRlci1kZWNsLWluc3QuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq1tvYmplY3QgQXN5bmNHZW5lcmF0b3JdwrssIMKrW29i
amVjdCBBc3luY0dlbmVyYXRvcl3CuykgdG8gYmUgZmFsc2UnCiAgIHN0cmljdCBtb2RlOiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtbb2JqZWN0IEFzeW5jR2VuZXJhdG9yXcK7
LCDCq1tvYmplY3QgQXN5bmNHZW5lcmF0b3JdwrspIHRvIGJlIGZhbHNlJwordGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2V2YWwtdmFyLXNjb3Bl
LXN5bnRheC1lcnIuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3lu
dGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwn
CisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRv
IGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwordGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2QvZXZhbC12YXItc2NvcGUtc3lu
dGF4LWVyci5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhF
cnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKKyAg
c3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUg
dGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvY2xhc3MtbmFtZS1pZGVudC1hd2FpdC1lc2NhcGVkLmpzOgogICBk
ZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGtl
eXdvcmQgdG9rZW46ICdhd1xcdTAwNjFpdCciCiAgIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGtleXdvcmQgdG9rZW46ICdhd1xcdTAw
NjFpdCciCkBAIC0zMjgyLDYgKzM1NjEsMTIgQEAgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2VsZW1lbnRzLwogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3N5
bnRheC92YWxpZC9ncmFtbWFyLXN0YXRpYy1jdG9yLWdlbi1tZXRoLXZhbGlkLmpzOgogICBkZWZh
dWx0OiAiU3ludGF4RXJyb3I6IENhbm5vdCBkZWNsYXJlIGEgZ2VuZXJhdG9yIGZ1bmN0aW9uIG5h
bWVkICdjb25zdHJ1Y3RvcicuIgogICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBDYW5ub3Qg
ZGVjbGFyZSBhIGdlbmVyYXRvciBmdW5jdGlvbiBuYW1lZCAnY29uc3RydWN0b3InLiIKK3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29w
ZS1zeW50YXgtZXJyLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5
bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxs
JworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0
byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKK3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1l
cnIuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3Ig
dG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmlj
dCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93
biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwogdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2lkZW50LW5hbWUtbWV0aG9kLWRlZi1icmVhay1lc2NhcGVkLmpzOgogICBk
ZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGtl
eXdvcmQgdG9rZW46ICdicmVcXHUwMDYxayciCiAgIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGtleXdvcmQgdG9rZW46ICdicmVcXHUw
MDYxayciCkBAIC0zNDExLDYgKzM2OTYsMTIgQEAgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2lkZW50LW5hbQogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2lkZW50LW5hbWUt
bWV0aG9kLWRlZi13aXRoLWVzY2FwZWQuanM6CiAgIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBlc2NhcGVkIGNoYXJhY3RlcnMgaW4ga2V5d29yZCB0b2tlbjogJ3dcXHUwMDY5dGgn
IgogICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGVzY2FwZWQgY2hhcmFj
dGVycyBpbiBrZXl3b3JkIHRva2VuOiAnd1xcdTAwNjl0aCciCit0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOgor
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRo
cm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJworICBzdHJpY3QgbW9kZTog
J1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5v
IGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKK3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9tZXRob2QvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qczoKKyAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4
Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2Fz
IHRocm93biBhdCBhbGwnCiB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvcG9pc29uZWQt
dW5kZXJzY29yZS1wcm90by5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogc2hvdWxkIG5v
dCBiZSBjYWxsZWQnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBzaG91bGQgbm90IGJl
IGNhbGxlZCcKQEAgLTM1MTEsNiArMzgwMiw5IEBAIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9m
b3ItaW4vaWRlbnRpZmkKICAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBDYW5ub3QgdXNlIHRoZSBr
ZXl3b3JkICdpbicgYXMgYSBsZXhpY2FsIHZhcmlhYmxlIG5hbWUuIgogdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2Zvci1pbi9sZXQtYXJyYXktd2l0aC1uZXdsaW5lLmpzOgogICBkZWZhdWx0OiAn
VGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwordGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1pbi9vcmRlci1lbnVtZXJhYmxlLXNoYWRvd2VkLmpzOgor
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbcDEsIHAyXSBhbmQgW3AxXSB0byBo
YXZlIHRoZSBzYW1lIGNvbnRlbnRzLiAnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBbcDEsIHAyXSBhbmQgW3AxXSB0byBoYXZlIHRoZSBzYW1lIGNvbnRlbnRzLiAnCiB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLWluL3Njb3BlLWJvZHktbGV4LW9wZW4uanM6CiAg
IGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgUmVmZXJlbmNlRXJyb3IgdG8gYmUg
dGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiAgIHN0cmljdCBtb2Rl
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFJlZmVyZW5jZUVycm9yIHRvIGJlIHRocm93biBi
dXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwpAQCAtMzY3MSwyNSArMzk2NSwyMyBA
QCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yL2xldC1hcnJheS13CiB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvZm9yL3Njb3BlLWJvZHktbGV4LW9wZW4uanM6CiAgIGRlZmF1bHQ6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2luc2lkZcK7LCDCq291dHNpZGXCuykgdG8g
YmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1
ZSjCq2luc2lkZcK7LCDCq291dHNpZGXCuykgdG8gYmUgdHJ1ZScKK3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9mdW5jdGlvbi9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOgorICBkZWZhdWx0
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQg
bm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJF
cnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlv
biB3YXMgdGhyb3duIGF0IGFsbCcKIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9z
Y29wZS1ib2R5LWxleC1kaXN0aW5jdC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhy
b3duIGF0IGFsbCcKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9zY29wZS1wYXJh
bS1lbGVtLXZhci1jbG9zZS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
U2FtZVZhbHVlKMKraW5zaWRlwrssIMKrb3V0c2lkZcK7KSB0byBiZSB0cnVlJwotdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL3Njb3BlLXBhcmFtLWVsZW0tdmFyLW9wZW4uanM6Ci0g
IGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2luc2lkZcK7LCDC
q291dHNpZGXCuykgdG8gYmUgdHJ1ZScKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlv
bi9zY29wZS1wYXJhbS1yZXN0LWVsZW0tdmFyLWNsb3NlLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtpbnNpZGXCuywgwqtvdXRzaWRlwrspIHRvIGJl
IHRydWUnCit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vc2NvcGUtcGFyYW0tcmVz
dC1lbGVtLXZhci1vcGVuLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBT
YW1lVmFsdWUowqtvdXRzaWRlwrssIMKraW5zaWRlwrspIHRvIGJlIHRydWUnCit0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOgor
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRo
cm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJworICBzdHJpY3QgbW9kZTog
J1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5v
IGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9n
ZW5lcmF0b3JzL2dlbmVyYXRvci1jcmVhdGVkLWFmdGVyLWRlY2wtaW5zdC5qczoKICAgZGVmYXVs
dDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrW29iamVjdCBHZW5lcmF0b3Jd
wrssIMKrW29iamVjdCBHZW5lcmF0b3JdwrspIHRvIGJlIGZhbHNlJwogICBzdHJpY3QgbW9kZTog
J1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrW29iamVjdCBHZW5lcmF0b3Jdwrss
IMKrW29iamVjdCBHZW5lcmF0b3JdwrspIHRvIGJlIGZhbHNlJwogdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2dlbmVyYXRvcnMvc2NvcGUtYm9keS1sZXgtZGlzdGluY3QuanM6CiAgIGRlZmF1bHQ6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBu
byBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Z2VuZXJhdG9ycy9zY29wZS1wYXJhbS1lbGVtLXZhci1jbG9zZS5qczoKLSAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKraW5zaWRlwrssIMKrb3V0c2lkZcK7KSB0
byBiZSB0cnVlJwotdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvc2NvcGUtcGFy
YW0tZWxlbS12YXItb3Blbi5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
U2FtZVZhbHVlKMKraW5zaWRlwrssIMKrb3V0c2lkZcK7KSB0byBiZSB0cnVlJwotdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1jbG9z
ZS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKraW5z
aWRlwrssIMKrb3V0c2lkZcK7KSB0byBiZSB0cnVlJwordGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpzOgorICBkZWZhdWx0
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtvdXRzaWRlwrssIMKraW5zaWRl
wrspIHRvIGJlIHRydWUnCiB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvaWYvaWYtYXN5bmMtZnVu
LWVsc2UtYXN5bmMtZnVuLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQg
c2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2lmL2lm
LWFzeW5jLWZ1bi1lbHNlLXN0bXQuanM6CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvbGF0ZXN0LWNo
YW5nZXMtc3VtbWFyeS50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL2xhdGVzdC1j
aGFuZ2VzLXN1bW1hcnkudHh0CShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIv
bGF0ZXN0LWNoYW5nZXMtc3VtbWFyeS50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTMgKzEsMTA1
IEBACi1NIGhhcm5lc3MvYXNzZXJ0LmpzCi1NIGhhcm5lc3MvY29tcGFyZUFycmF5LmpzCiBNIGhh
cm5lc3MvZGVlcEVxdWFsLmpzCi1EIGhhcm5lc3MvdHlwZXMuZC50cwotQSB0ZXN0L2J1aWx0LWlu
cy9PYmplY3Qva2V5cy9wcm94eS1ub24tZW51bWVyYWJsZS1wcm9wLWludmFyaWFudC0xLmpzCi1B
IHRlc3QvYnVpbHQtaW5zL09iamVjdC9rZXlzL3Byb3h5LW5vbi1lbnVtZXJhYmxlLXByb3AtaW52
YXJpYW50LTIuanMKLU0gdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9leGVjdXRvci1mdW5jdGlvbi1u
b25jb25zdHJ1Y3Rvci5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm94eS9oYXMvY2FsbC1pbi1wcm90
b3R5cGUuanMKLU0gdGVzdC9idWlsdC1pbnMvUHJveHkvc2V0L2NhbGwtcGFyYW1ldGVycy1wcm90
b3R5cGUtZHVuZGVyLXByb3RvLmpzCi1NIHRlc3QvYnVpbHQtaW5zL1Byb3h5L3NldC9jYWxsLXBh
cmFtZXRlcnMtcHJvdG90eXBlLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL2Vy
cm9ycy1pdGVyYWJsZXRvbGlzdC1mYWlsdXJlcy5qcworQSB0ZXN0L2J1aWx0LWlucy9BZ2dyZWdh
dGVFcnJvci9lcnJvcnMtaXRlcmFibGV0b2xpc3QuanMKK0EgdGVzdC9idWlsdC1pbnMvQWdncmVn
YXRlRXJyb3IvbGVuZ3RoLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL21lc3Nh
Z2UtbWV0aG9kLXByb3AtY2FzdC5qcworQSB0ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9t
ZXNzYWdlLW1ldGhvZC1wcm9wLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL21l
c3NhZ2UtdG9zdHJpbmctYWJydXB0LXN5bWJvbC5qcworQSB0ZXN0L2J1aWx0LWlucy9BZ2dyZWdh
dGVFcnJvci9tZXNzYWdlLXRvc3RyaW5nLWFicnVwdC5qcworQSB0ZXN0L2J1aWx0LWlucy9BZ2dy
ZWdhdGVFcnJvci9tZXNzYWdlLXVuZGVmaW5lZC1uby1wcm9wLmpzCitBIHRlc3QvYnVpbHQtaW5z
L0FnZ3JlZ2F0ZUVycm9yL25hbWUuanMKK0EgdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3Iv
bmV3dGFyZ2V0LXByb3RvLWN1c3RvbS5qcworQSB0ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJv
ci9uZXd0YXJnZXQtcHJvdG8tZmFsbGJhY2suanMKK0EgdGVzdC9idWlsdC1pbnMvQWdncmVnYXRl
RXJyb3IvbmV3dGFyZ2V0LXByb3RvLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9y
L3Byb3AtZGVzYy5qcworQSB0ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90by5qcwor
QSB0ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvY29uc3RydWN0b3IuanMK
K0EgdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL2Vycm9ycy9pbnZva2Vk
LWFzLWFjY2Vzc29yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlw
ZS9lcnJvcnMvaW52b2tlZC1hcy1mdW5jLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVy
cm9yL3Byb3RvdHlwZS9lcnJvcnMvbGVuZ3RoLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0
ZUVycm9yL3Byb3RvdHlwZS9lcnJvcnMvbmFtZS5qcworQSB0ZXN0L2J1aWx0LWlucy9BZ2dyZWdh
dGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL3Byb3AtZGVzYy5qcworQSB0ZXN0L2J1aWx0LWlucy9B
Z2dyZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL3JldHVybi1mcm9tLWl0ZXJhYmxlLWVycm9y
cy5qcworQSB0ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL3Jl
dHVybi1uZXctYXJyYXktZnJvbS1saXN0LmpzCitBIHRlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVy
cm9yL3Byb3RvdHlwZS9lcnJvcnMvdGhpcy1oYXMtbm8tdHlwZWRhcnJheW5hbWUtaW50ZXJuYWwu
anMKK0EgdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL2Vycm9ycy90aGlz
LWlzLW5vdC1vYmplY3QuanMKK0EgdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90
eXBlL21lc3NhZ2UuanMKK0EgdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBl
L25hbWUuanMKK0EgdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL3Byb3At
ZGVzYy5qcworQSB0ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvcHJvdG8u
anMKK0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRoaW4vY29lcmNlZC12
YWx1ZXMtc3RhcnQtY2hhbmdlLXN0YXJ0LmpzCitBIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS9jb3B5V2l0aGluL2NvZXJjZWQtdmFsdWVzLXN0YXJ0LWNoYW5nZS10YXJnZXQuanMKK00g
dGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZsYXRNYXAvdGhpcy12YWx1ZS1jdG9yLW9i
amVjdC1zcGVjaWVzLWJhZC10aHJvd3MuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy9hZGQv
YmlnaW50L25vbnNoYXJlZC1pbnQtdmlld3MuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy9h
bmQvYmlnaW50L25vbnNoYXJlZC1pbnQtdmlld3MuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy9jb21wYXJlRXhjaGFuZ2UvYmlnaW50L25vbnNoYXJlZC1pbnQtdmlld3MuanMKK00gdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy9leGNoYW5nZS9iaWdpbnQvbm9uc2hhcmVkLWludC12aWV3cy5qcwor
TSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL29yL2JpZ2ludC9ub25zaGFyZWQtaW50LXZpZXdzLmpz
CitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvc3RvcmUvYmlnaW50L25vbnNoYXJlZC1pbnQtdmll
d3MuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy9zdWIvYmlnaW50L25vbnNoYXJlZC1pbnQt
dmlld3MuanMKK0EgdGVzdC9idWlsdC1pbnMvRXJyb3IvcHJvdG90eXBlL3RvU3RyaW5nL2ludmFs
aWQtcmVjZWl2ZXIuanMKK0EgdGVzdC9idWlsdC1pbnMvRXJyb3IvcHJvdG90eXBlL3RvU3RyaW5n
L3VuZGVmaW5lZC1wcm9wcy5qcworTSB0ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25Hcm91cC9w
cm90b3R5cGUvY2xlYW51cFNvbWUvY2xlYW51cC1wcmV2ZW50ZWQtd2l0aC11bnJlZ2lzdGVyLmpz
CitBIHRlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvbkdyb3VwL3Byb3RvdHlwZS9jbGVhbnVwU29t
ZS9jbGVhbnVwLXRocm93cy1pbi1jYWxsYmFjay5qcworRCB0ZXN0L2J1aWx0LWlucy9GaW5hbGl6
YXRpb25Hcm91cC9wcm90b3R5cGUvY2xlYW51cFNvbWUvaXRlcmF0b3ItZHluYW1pYy5qcworTSB0
ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25Hcm91cC9wcm90b3R5cGUvcmVnaXN0ZXIvaG9sZGlu
Z3Mtc2FtZS1hcy10YXJnZXQuanMKK00gdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uR3JvdXAv
cHJvdG90eXBlL3JlZ2lzdGVyL3JldHVybi11bmRlZmluZWQtcmVnaXN0ZXItaXRzZWxmLmpzCitN
IHRlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvbkdyb3VwL3Byb3RvdHlwZS9yZWdpc3Rlci91bnJl
Z2lzdGVyVG9rZW4tc2FtZS1hcy1ob2xkaW5ncy1hbmQtdGFyZ2V0LmpzCitBIHRlc3QvYnVpbHQt
aW5zL0ZpbmFsaXphdGlvbkdyb3VwL3Byb3RvdHlwZS91bnJlZ2lzdGVyL3VucmVnaXN0ZXItY2xl
YW5lZC11cC1jZWxsLmpzCitNIHRlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvbkdyb3VwL3Rhcmdl
dC1ub3QtY2FsbGFibGUtdGhyb3dzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS90b1N0cmluZy9saW5lLXRlcm1pbmF0b3Itbm9ybWFsaXNhdGlvbi1DUi5qcworQSB0ZXN0
L2J1aWx0LWlucy9KU09OL3BhcnNlL3Jldml2ZXItYXJyYXktZ2V0LXByb3AtZnJvbS1wcm90b3R5
cGUuanMKK0EgdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9yZXZpdmVyLWFycmF5LW5vbi1jb25m
aWd1cmFibGUtcHJvcC1jcmVhdGUuanMKK0EgdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9yZXZp
dmVyLWFycmF5LW5vbi1jb25maWd1cmFibGUtcHJvcC1kZWxldGUuanMKK0EgdGVzdC9idWlsdC1p
bnMvSlNPTi9wYXJzZS9yZXZpdmVyLWNhbGwtb3JkZXIuanMKK0EgdGVzdC9idWlsdC1pbnMvSlNP
Ti9wYXJzZS9yZXZpdmVyLW9iamVjdC1nZXQtcHJvcC1mcm9tLXByb3RvdHlwZS5qcworQSB0ZXN0
L2J1aWx0LWlucy9KU09OL3BhcnNlL3Jldml2ZXItb2JqZWN0LW5vbi1jb25maWd1cmFibGUtcHJv
cC1jcmVhdGUuanMKK0EgdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9yZXZpdmVyLW9iamVjdC1u
b24tY29uZmlndXJhYmxlLXByb3AtZGVsZXRlLmpzCitBIHRlc3QvYnVpbHQtaW5zL0pTT04vcGFy
c2UvcmV2aXZlci13cmFwcGVyLmpzCitBIHRlc3QvYnVpbHQtaW5zL0pTT04vc3RyaW5naWZ5L3By
b3BlcnR5LW9yZGVyLmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9lbnRyaWVzL3JldHVybi1v
cmRlci5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvZnJlZXplL3Rocm93cy13aGVuLWZhbHNl
LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eU5hbWVzL3Byb3h5LWlu
dmFyaWFudC1hYnNlbnQtbm90LWNvbmZpZ3VyYWJsZS1zeW1ib2wta2V5LmpzCitBIHRlc3QvYnVp
bHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eU5hbWVzL3Byb3h5LWludmFyaWFudC1kdXBsaWNh
dGUtc3ltYm9sLWVudHJ5LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0
eU5hbWVzL3Byb3h5LWludmFyaWFudC1ub3QtZXh0ZW5zaWJsZS1hYnNlbnQtc3ltYm9sLWtleS5q
cworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlOYW1lcy9wcm94eS1pbnZh
cmlhbnQtbm90LWV4dGVuc2libGUtZXh0cmEtc3ltYm9sLWtleS5qcworTSB0ZXN0L2J1aWx0LWlu
cy9PYmplY3QvZ2V0T3duUHJvcGVydHlTeW1ib2xzL2xlbmd0aC5qcworTSB0ZXN0L2J1aWx0LWlu
cy9PYmplY3QvZ2V0T3duUHJvcGVydHlTeW1ib2xzL25hbWUuanMKK00gdGVzdC9idWlsdC1pbnMv
T2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9vYmplY3QtY29udGFpbnMtc3ltYm9sLXByb3Bl
cnR5LXdpdGgtZGVzY3JpcHRpb24uanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blBy
b3BlcnR5U3ltYm9scy9vYmplY3QtY29udGFpbnMtc3ltYm9sLXByb3BlcnR5LXdpdGhvdXQtZGVz
Y3JpcHRpb24uanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9s
cy9wcm94eS1pbnZhcmlhbnQtYWJzZW50LW5vdC1jb25maWd1cmFibGUtc3RyaW5nLWtleS5qcwor
QSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlTeW1ib2xzL3Byb3h5LWludmFy
aWFudC1kdXBsaWNhdGUtc3RyaW5nLWVudHJ5LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9n
ZXRPd25Qcm9wZXJ0eVN5bWJvbHMvcHJveHktaW52YXJpYW50LW5vdC1leHRlbnNpYmxlLWFic2Vu
dC1zdHJpbmcta2V5LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eVN5
bWJvbHMvcHJveHktaW52YXJpYW50LW5vdC1leHRlbnNpYmxlLWV4dHJhLXN0cmluZy1rZXkuanMK
K00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L2tleXMvcHJveHktbm9uLWVudW1lcmFibGUtcHJvcC1p
bnZhcmlhbnQtMi5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qva2V5cy9wcm94eS1ub24tZW51
bWVyYWJsZS1wcm9wLWludmFyaWFudC0zLmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9rZXlz
L3JldHVybi1vcmRlci5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJldmVudEV4dGVuc2lv
bnMvdGhyb3dzLXdoZW4tZmFsc2UuanMKK0QgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9pc1Byb3RvdHlwZU9mL1MxNS4yLjQuNl9BMS5qcworRCB0ZXN0L2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL2lzUHJvdG90eXBlT2YvUzE1LjIuNC42X0ExMC5qcworRCB0ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvUzE1LjIuNC42X0ExMS5qcworRCB0ZXN0
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvUzE1LjIuNC42X0ExMi5q
cworRCB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvUzE1LjIu
NC42X0ExMy5qcworRCB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBl
T2YvUzE1LjIuNC42X0E2LmpzCitEIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvaXNQ
cm90b3R5cGVPZi9TMTUuMi40LjZfQTcuanMKK0QgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3Rv
dHlwZS9pc1Byb3RvdHlwZU9mL1MxNS4yLjQuNl9BOC5qcworRCB0ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvUzE1LjIuNC42X0E5LmpzCitBIHRlc3QvYnVpbHQt
aW5zL09iamVjdC9wcm90b3R5cGUvaXNQcm90b3R5cGVPZi9hcmctaXMtcHJveHkuanMKK0EgdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9pc1Byb3RvdHlwZU9mL2J1aWx0aW4uanMKK0Eg
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9pc1Byb3RvdHlwZU9mL2xlbmd0aC5qcwor
TSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvbmFtZS5qcwor
QSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvbnVsbC10aGlz
LWFuZC1vYmplY3QtYXJnLXRocm93cy5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL2lzUHJvdG90eXBlT2YvbnVsbC10aGlzLWFuZC1wcmltaXRpdmUtYXJnLXJldHVybnMtZmFs
c2UuanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9pc1Byb3RvdHlwZU9mL3Ro
aXMtdmFsdWUtaXMtaW4tcHJvdG90eXBlLWNoYWluLW9mLWFyZy5qcworQSB0ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvdW5kZWZpbmVkLXRoaXMtYW5kLW9iamVj
dC1hcmctdGhyb3dzLmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvaXNQcm90
b3R5cGVPZi91bmRlZmluZWQtdGhpcy1hbmQtcHJpbWl0aXZlLWFyZy1yZXR1cm5zLWZhbHNlLmpz
CitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3Rocm93cy13aGVuLWZhbHNlLmpzCitBIHRl
c3QvYnVpbHQtaW5zL09iamVjdC92YWx1ZXMvcmV0dXJuLW9yZGVyLmpzCitBIHRlc3QvYnVpbHQt
aW5zL1Byb3h5L2hhcy9jYWxsLWluLXByb3RvdHlwZS1pbmRleC5qcworTSB0ZXN0L2J1aWx0LWlu
cy9Qcm94eS9oYXMvY2FsbC1pbi1wcm90b3R5cGUuanMKK00gdGVzdC9idWlsdC1pbnMvUHJveHkv
b3duS2V5cy9jYWxsLXBhcmFtZXRlcnMtb2JqZWN0LWtleXMuanMKK0EgdGVzdC9idWlsdC1pbnMv
UHJveHkvc2V0L2NhbGwtcGFyYW1ldGVycy1wcm90b3R5cGUtaW5kZXguanMKK00gdGVzdC9idWls
dC1pbnMvUmVmbGVjdC9wcmV2ZW50RXh0ZW5zaW9ucy90YXJnZXQtaXMtbm90LW9iamVjdC10aHJv
d3MuanMKIE0gdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJh
eS1lbGVtZW50LmpzCiBNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGlj
ZXMtYXJyYXktbWF0Y2hlZC5qcwogTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNl
cy9pbmRpY2VzLWFycmF5LW5vbi11bmljb2RlLW1hdGNoLmpzCkBAIC0xNiw5NCArMTA4LDM1NiBA
QCBNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luCiBNIHRlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktdW5pY29kZS1wcm9wZXJ0eS1u
YW1lcy5qcwogTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFy
cmF5LXVubWF0Y2hlZC5qcwogTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9p
bmRpY2VzLWFycmF5LmpzCi1NIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2lu
ZGljZXMtZ3JvdXBzLW9iamVjdC11bmRlZmluZWQuanMKIE0gdGVzdC9idWlsdC1pbnMvUmVnRXhw
L21hdGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMtb2JqZWN0LXVubWF0Y2hlZC5qcwogTSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWdyb3Vwcy1vYmplY3QuanMK
IE0gdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMtcHJv
cGVydGllcy5qcwogTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2Vz
LXByb3BlcnR5LmpzCi1NIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvbWF0Y2hBbGwv
ZmxhZ3MtdW5kZWZpbmVkLXRocm93cy5qcwotTSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL21hdGNoQWxsL3JlZ2V4cC1nZXQtbWF0Y2hBbGwtdGhyb3dzLmpzCi1NIHRlc3QvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvbWF0Y2hBbGwvcmVnZXhwLW1hdGNoQWxsLWlzLXVuZGVmaW5l
ZC1vci1udWxsLmpzCi1NIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvbWF0Y2hBbGwv
cmVnZXhwLW1hdGNoQWxsLXRocm93cy5qcwotTSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL21hdGNoQWxsL3JlZ2V4cC1wcm90b3R5cGUtZ2V0LW1hdGNoQWxsLXRocm93cy5qcwotTSB0
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL21hdGNoQWxsL3JlZ2V4cC1wcm90b3R5cGUt
bWF0Y2hBbGwtaW52b2NhdGlvbi5qcwotTSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L21hdGNoQWxsL3JlZ2V4cC1wcm90b3R5cGUtbWF0Y2hBbGwtdGhyb3dzLmpzCitBIHRlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9nZXRTdWJzdGl0dXRpb24tMHgwMDI0
LTB4MDAyNC5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwv
Z2V0U3Vic3RpdHV0aW9uLTB4MDAyNC0weDAwMjYuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9yZXBsYWNlQWxsL2dldFN1YnN0aXR1dGlvbi0weDAwMjQtMHgwMDI3LmpzCitB
IHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9nZXRTdWJzdGl0dXRp
b24tMHgwMDI0LTB4MDAzQy5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3Jl
cGxhY2VBbGwvZ2V0U3Vic3RpdHV0aW9uLTB4MDAyNC0weDAwNjAuanMKK0EgdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL2dldFN1YnN0aXR1dGlvbi0weDAwMjQuanMK
K0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL2dldFN1YnN0aXR1
dGlvbi0weDAwMjROLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFj
ZUFsbC9nZXRTdWJzdGl0dXRpb24tMHgwMDI0Tk4uanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9yZXBsYWNlQWxsL2xlbmd0aC5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcv
cHJvdG90eXBlL3JlcGxhY2VBbGwvbmFtZS5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZUFsbC5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcv
cHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLWNhbGwtYWJydXB0LmpzCitBIHRlc3Qv
YnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9yZXBsYWNlVmFsdWUtY2FsbC1l
YWNoLW1hdGNoLXBvc2l0aW9uLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
cmVwbGFjZUFsbC9yZXBsYWNlVmFsdWUtY2FsbC1tYXRjaGluZy1lbXB0eS5qcworQSB0ZXN0L2J1
aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLWNhbGwtc2tp
cC1uby1tYXRjaC5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VB
bGwvcmVwbGFjZVZhbHVlLWNhbGwtdG9zdHJpbmctYWJydXB0LmpzCitBIHRlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9yZXBsYWNlVmFsdWUtZm4tc2tpcC10b1N0cmlu
Zy5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFj
ZVZhbHVlLXRvc3RyaW5nLWFicnVwdC5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLXZhbHVlLXJlcGxhY2VzLXN0cmluZy5qcworQSB0
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLXZh
bHVlLXRvc3RyaW5nLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFj
ZUFsbC9zZWFyY2hWYWx1ZS1lbXB0eS1zdHJpbmctdGhpcy1lbXB0eS1zdHJpbmcuanMKK0EgdGVz
dC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLWVtcHR5
LXN0cmluZy5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwv
c2VhcmNoVmFsdWUtZmxhZ3Mtbm8tZy10aHJvd3MuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLWZsYWdzLW51bGwtdW5kZWZpbmVkLXRo
cm93cy5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2Vh
cmNoVmFsdWUtZmxhZ3MtdG9TdHJpbmctYWJydXB0LmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmlu
Zy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1nZXQtZmxhZ3MtYWJydXB0LmpzCitB
IHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1p
c1JlZ0V4cC1hYnJ1cHQuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBs
YWNlQWxsL3NlYXJjaFZhbHVlLXJlcGxhY2UtbWV0aG9kLWFicnVwdC5qcworQSB0ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZXItUmVn
RXhwLWNhbGwtZm4uanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNl
QWxsL3NlYXJjaFZhbHVlLXJlcGxhY2VyLVJlZ0V4cC1jYWxsLmpzCitBIHRlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1yZXBsYWNlci1iZWZvcmUt
dG9zdHJpbmcuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxs
L3NlYXJjaFZhbHVlLXJlcGxhY2VyLWNhbGwtYWJydXB0LmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0
cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1yZXBsYWNlci1jYWxsLmpzCitB
IHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS10
b3N0cmluZy1hYnJ1cHQuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBs
YWNlQWxsL3NlYXJjaFZhbHVlLXRvc3RyaW5nLXJlZ2V4cC5qcworQSB0ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvdGhpcy1pcy1udWxsLXRocm93cy5qcworQSB0ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvdGhpcy1pcy11bmRlZmluZWQt
dGhyb3dzLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC90
aGlzLXRvc3RyaW5nLWFicnVwdC5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L3JlcGxhY2VBbGwvdGhpcy10b3N0cmluZy5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
L2Zyb20vbWFwZm4taXMtbm90LWNhbGxhYmxlLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9zcGVjaWVzY3Rvci1nZXQtc3BlY2llcy1jdXN0b20t
Y3Rvci1sZW5ndGgtdGhyb3dzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90
eXBlL3NsaWNlL0JpZ0ludC9zcGVjaWVzY3Rvci1nZXQtc3BlY2llcy1jdXN0b20tY3Rvci1sZW5n
dGguanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2Uvc3BlY2ll
c2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9tLWN0b3ItbGVuZ3RoLXRocm93cy5qcworTSB0ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9zcGVjaWVzY3Rvci1nZXQtc3BlY2ll
cy1jdXN0b20tY3Rvci1sZW5ndGguanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9mcm9tL25hbi1jb252ZXJzaW9uLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvZnJvbS9uZXctaW5zdGFuY2UtZnJvbS16ZXJvLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvb2YvQmlnSW50L2luaGVyaXRlZC5qcworTSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL29mL2luaGVyaXRlZC5qcworTSB0
ZXN0L2J1aWx0LWlucy9XZWFrUmVmL3Byb3RvdHlwZS1mcm9tLW5ld3RhcmdldC1hYnJ1cHQuanMK
IE0gdGVzdC9oYXJuZXNzL2RlZXBFcXVhbC1hcnJheS5qcwogTSB0ZXN0L2hhcm5lc3MvZGVlcEVx
dWFsLWNpcmN1bGFyLmpzCiBNIHRlc3QvaGFybmVzcy9kZWVwRXF1YWwtZGVlcC5qcwogTSB0ZXN0
L2hhcm5lc3MvZGVlcEVxdWFsLW1hcHNldC5qcwogTSB0ZXN0L2hhcm5lc3MvZGVlcEVxdWFsLW9i
amVjdC5qcwotQSB0ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvY29uc3RydWN0b3ItY2FsZW5k
YXItbnVtYmVyaW5nU3lzdGVtLW9yZGVyLmpzCi1BIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1h
dC9wcm90b3R5cGUvZm9ybWF0UmFuZ2VUb1BhcnRzL3BhdHRlcm4tb24tY2FsZW5kYXIuanMKLUEg
dGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3BhdHRl
cm4tb24tY2FsZW5kYXIuanMKLUEgdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlw
ZS9mb3JtYXRUb1BhcnRzL3JlbGF0ZWQteWVhci5qcwotQSB0ZXN0L2ludGw0MDIvTGlzdEZvcm1h
dC9jb25zdHJ1Y3Rvci9jb25zdHJ1Y3Rvci9wcm90by1mcm9tLWN0b3ItcmVhbG0uanMKLU0gdGVz
dC9pbnRsNDAyL0xpc3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9icmFuZGluZy5qcwotTSB0ZXN0
L2ludGw0MDIvTGlzdEZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2VuLXVzLWRlZmF1bHQuanMKLU0g
dGVzdC9pbnRsNDAyL0xpc3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9lbi11cy1kaXNqdW5jdGlv
bi5qcwotTSB0ZXN0L2ludGw0MDIvTGlzdEZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2VuLXVzLW5h
cnJvdy5qcwotTSB0ZXN0L2ludGw0MDIvTGlzdEZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2VuLXVz
LXNob3J0LmpzCi1NIHRlc3QvaW50bDQwMi9MaXN0Rm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvZW4t
dXMtdW5pdC5qcwotTSB0ZXN0L2ludGw0MDIvTGlzdEZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2Vz
LWVzLWxvbmcuanMKLU0gdGVzdC9pbnRsNDAyL0xpc3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9l
cy1lcy1uYXJyb3cuanMKLU0gdGVzdC9pbnRsNDAyL0xpc3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1h
dC9lcy1lcy1zaG9ydC5qcwotQSB0ZXN0L2ludGw0MDIvTGlzdEZvcm1hdC9wcm90b3R5cGUvZm9y
bWF0L2l0ZXJhYmxlLWdldGl0ZXJhdG9yLXRocm93LmpzCi1BIHRlc3QvaW50bDQwMi9MaXN0Rm9y
bWF0L3Byb3RvdHlwZS9mb3JtYXQvaXRlcmFibGUtaW52YWxpZC5qcwotQSB0ZXN0L2ludGw0MDIv
TGlzdEZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2l0ZXJhYmxlLWl0ZXJhdG9yY2xvc2UuanMKLUEg
dGVzdC9pbnRsNDAyL0xpc3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9pdGVyYWJsZS1pdGVyYXRv
cnN0ZXAtdGhyb3cuanMKLUEgdGVzdC9pbnRsNDAyL0xpc3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1h
dC9pdGVyYWJsZS1pdGVyYXRvcnZhbHVlLXRocm93LmpzCi1BIHRlc3QvaW50bDQwMi9MaXN0Rm9y
bWF0L3Byb3RvdHlwZS9mb3JtYXQvaXRlcmFibGUtdW5kZWZpbmVkLmpzCi1BIHRlc3QvaW50bDQw
Mi9MaXN0Rm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvaXRlcmFibGUuanMKLU0gdGVzdC9pbnRsNDAy
L0xpc3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9sZW5ndGguanMKLU0gdGVzdC9pbnRsNDAyL0xp
c3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9uYW1lLmpzCi1NIHRlc3QvaW50bDQwMi9MaXN0Rm9y
bWF0L3Byb3RvdHlwZS9mb3JtYXQvcHJvcC1kZXNjLmpzCi1NIHRlc3QvaW50bDQwMi9MaXN0Rm9y
bWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL2JyYW5kaW5nLmpzCi1NIHRlc3QvaW50bDQwMi9M
aXN0Rm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL2VuLXVzLWRlZmF1bHQuanMKLU0gdGVz
dC9pbnRsNDAyL0xpc3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvZW4tdXMtZGlzanVu
Y3Rpb24uanMKLU0gdGVzdC9pbnRsNDAyL0xpc3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFy
dHMvZW4tdXMtbmFycm93LmpzCi1NIHRlc3QvaW50bDQwMi9MaXN0Rm9ybWF0L3Byb3RvdHlwZS9m
b3JtYXRUb1BhcnRzL2VuLXVzLXNob3J0LmpzCi1NIHRlc3QvaW50bDQwMi9MaXN0Rm9ybWF0L3By
b3RvdHlwZS9mb3JtYXRUb1BhcnRzL2VuLXVzLXVuaXQuanMKLU0gdGVzdC9pbnRsNDAyL0xpc3RG
b3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvZXMtZXMtbG9uZy5qcwotTSB0ZXN0L2ludGw0
MDIvTGlzdEZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9lcy1lcy1uYXJyb3cuanMKLU0g
dGVzdC9pbnRsNDAyL0xpc3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvZXMtZXMtc2hv
cnQuanMKLUEgdGVzdC9pbnRsNDAyL0xpc3RGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMv
aXRlcmFibGUtZ2V0aXRlcmF0b3ItdGhyb3cuanMKLUEgdGVzdC9pbnRsNDAyL0xpc3RGb3JtYXQv
cHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvaXRlcmFibGUtaW52YWxpZC5qcwotQSB0ZXN0L2ludGw0
MDIvTGlzdEZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9pdGVyYWJsZS1pdGVyYXRvcmNs
b3NlLmpzCi1BIHRlc3QvaW50bDQwMi9MaXN0Rm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRz
L2l0ZXJhYmxlLWl0ZXJhdG9yc3RlcC10aHJvdy5qcwotQSB0ZXN0L2ludGw0MDIvTGlzdEZvcm1h
dC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9pdGVyYWJsZS1pdGVyYXRvcnZhbHVlLXRocm93Lmpz
Ci1BIHRlc3QvaW50bDQwMi9MaXN0Rm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL2l0ZXJh
YmxlLXVuZGVmaW5lZC5qcwotQSB0ZXN0L2ludGw0MDIvTGlzdEZvcm1hdC9wcm90b3R5cGUvZm9y
bWF0VG9QYXJ0cy9pdGVyYWJsZS5qcwotTSB0ZXN0L2ludGw0MDIvTGlzdEZvcm1hdC9wcm90b3R5
cGUvZm9ybWF0VG9QYXJ0cy9sZW5ndGguanMKLU0gdGVzdC9pbnRsNDAyL0xpc3RGb3JtYXQvcHJv
dG90eXBlL2Zvcm1hdFRvUGFydHMvbmFtZS5qcwotTSB0ZXN0L2ludGw0MDIvTGlzdEZvcm1hdC9w
cm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9wcm9wLWRlc2MuanMKLUEgdGVzdC9pbnRsNDAyL0xvY2Fs
ZS9wcm90by1mcm9tLWN0b3ItcmVhbG0uanMKLUEgdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9j
b25zdHJ1Y3Rvci1udW1iZXJpbmdTeXN0ZW0tb3JkZXIuanMKLU0gdGVzdC9pbnRsNDAyL051bWJl
ckZvcm1hdC9jb25zdHJ1Y3Rvci1vcHRpb25zLXRocm93aW5nLWdldHRlcnMuanMKLUEgdGVzdC9p
bnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9jb25zdHJ1Y3Rvci9jb25zdHJ1Y3Rvci9wcm90by1m
cm9tLWN0b3ItcmVhbG0uanMKLUEgdGVzdC9pbnRsNDAyL1NlZ21lbnRlci9jb25zdHJ1Y3Rvci9j
b25zdHJ1Y3Rvci9wcm90by1mcm9tLWN0b3ItcmVhbG0uanMKLUEgdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jb2FsZXNjZS9hYnJ1cHQtaXMtYS1zaG9ydC1jaXJjdWl0LmpzCi1BIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY29hbGVzY2UvY2Fubm90LWNoYWluLWhlYWQtd2l0aC1sb2dpY2Fs
LWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NvYWxlc2NlL2Nhbm5vdC1jaGFp
bi1oZWFkLXdpdGgtbG9naWNhbC1vci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Nv
YWxlc2NlL2Nhbm5vdC1jaGFpbi10YWlsLXdpdGgtbG9naWNhbC1hbmQuanMKLUEgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jb2FsZXNjZS9jYW5ub3QtY2hhaW4tdGFpbC13aXRoLWxvZ2ljYWwt
b3IuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jb2FsZXNjZS9jaGFpbmFibGUtaWYt
cGFyZW50aGVzaXMtY292ZXJlZC1sb2dpY2FsLWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NvYWxlc2NlL2NoYWluYWJsZS1pZi1wYXJlbnRoZXNpcy1jb3ZlcmVkLWxvZ2ljYWwt
b3IuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jb2FsZXNjZS9jaGFpbmFibGUtd2l0
aC1iaXR3aXNlLWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NvYWxlc2NlL2No
YWluYWJsZS13aXRoLWJpdHdpc2Utb3IuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
b2FsZXNjZS9jaGFpbmFibGUtd2l0aC1iaXR3aXNlLXhvci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NvYWxlc2NlL2NoYWluYWJsZS5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NvYWxlc2NlL2ZvbGxvd3MtbnVsbC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NvYWxlc2NlL2ZvbGxvd3MtdW5kZWZpbmVkLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY29hbGVzY2Uvc2hvcnQtY2lyY3VpdC1udW1iZXItMC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NvYWxlc2NlL3Nob3J0LWNpcmN1aXQtbnVtYmVyLTQyLmpzCi1BIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY29hbGVzY2Uvc2hvcnQtY2lyY3VpdC1udW1iZXItZW1wdHktc3Ry
aW5nLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29hbGVzY2Uvc2hvcnQtY2lyY3Vp
dC1udW1iZXItZmFsc2UuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jb2FsZXNjZS9z
aG9ydC1jaXJjdWl0LW51bWJlci1vYmplY3QuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jb2FsZXNjZS9zaG9ydC1jaXJjdWl0LW51bWJlci1zdHJpbmcuanMKLUEgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jb2FsZXNjZS9zaG9ydC1jaXJjdWl0LW51bWJlci1zeW1ib2wuanMKLUEg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jb2FsZXNjZS9zaG9ydC1jaXJjdWl0LW51bWJlci10
cnVlLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29hbGVzY2Uvc2hvcnQtY2lyY3Vp
dC1wcmV2ZW50cy1ldmFsdWF0aW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29h
bGVzY2UvdGNvLXBvcy1udWxsLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29hbGVz
Y2UvdGNvLXBvcy11bmRlZmluZWQuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jb25k
aXRpb25hbC9jb2FsZXNjZS1leHByLXRlcm5hcnkuanMKLU0gdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUtZmllbGQtaXMtdmlzaWJsZS1pbi1jb21wdXRlZC1w
cm9wZXJ0aWVzLmpzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorQSB0ZXN0L2ludGw0MDIv
RGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9ob3VyQ3ljbGUtZGF0ZVN0
eWxlLmpzCitBIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvcmVzb2x2ZWRP
cHRpb25zL2hvdXJDeWNsZS1kZWZhdWx0LmpzCitBIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1h
dC9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL2hvdXJDeWNsZS10aW1lU3R5bGUuanMKK00gdGVz
dC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvaG91ckN5
Y2xlLmpzCitBIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvY3Rvci1jdXN0b20tZ2V0LXByb3Rv
dHlwZS1wb2lzb24tdGhyb3dzLmpzCitBIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvY3Rvci1j
dXN0b20tcHJvdG90eXBlLmpzCitBIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvY3Rvci1kZWZh
dWx0LXByb3RvdHlwZS5qcworQSB0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2luc3RhbmNlLWV4
dGVuc2libGUuanMKK0EgdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9sZW5ndGguanMKK0EgdGVz
dC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9sb2NhbGVzLWludmFsaWQtdGhyb3dzLmpzCitBIHRlc3Qv
aW50bDQwMi9EaXNwbGF5TmFtZXMvbG9jYWxlcy1sZW5ndGgtcG9pc29uLXRocm93cy5qcworQSB0
ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2xvY2FsZXMtbGVuZ3RoLXRvbGVuZ3RoLXRocm93cy5q
cworQSB0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2xvY2FsZXMtc3ltYm9sLWxlbmd0aC5qcwor
QSB0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL25hbWUuanMKK0EgdGVzdC9pbnRsNDAyL0Rpc3Bs
YXlOYW1lcy9vcHRpb25zLWZhbGxiYWNrLWFicnVwdC10aHJvd3MuanMKK0EgdGVzdC9pbnRsNDAy
L0Rpc3BsYXlOYW1lcy9vcHRpb25zLWZhbGxiYWNrLWludmFsaWQtdGhyb3dzLmpzCitBIHRlc3Qv
aW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1mYWxsYmFjay10b1N0cmluZy1hYnJ1cHQtdGhy
b3dzLmpzCitBIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1mYWxsYmFjay12YWxp
ZC5qcworQSB0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtbG9jYWxlTWF0Y2hlci1h
YnJ1cHQtdGhyb3dzLmpzCitBIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1sb2Nh
bGVNYXRjaGVyLWludmFsaWQtdGhyb3dzLmpzCitBIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMv
b3B0aW9ucy1sb2NhbGVNYXRjaGVyLXRvU3RyaW5nLWFicnVwdC10aHJvd3MuanMKK0EgdGVzdC9p
bnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLWxvY2FsZU1hdGNoZXItdmFsaWQuanMKK0EgdGVz
dC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLW51bGwtdGhyb3dzLmpzCitBIHRlc3QvaW50
bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1yYW5kb20tcHJvcGVydGllcy11bmNoZWNrZWQuanMK
K0EgdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLXN0eWxlLWFicnVwdC10aHJvd3Mu
anMKK0EgdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLXN0eWxlLWludmFsaWQtdGhy
b3dzLmpzCitBIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1zdHlsZS10b1N0cmlu
Zy1hYnJ1cHQtdGhyb3dzLmpzCitBIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1z
dHlsZS12YWxpZC5qcworQSB0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtdHlwZS1h
YnJ1cHQtdGhyb3dzLmpzCitBIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy10eXBl
LWludmFsaWQtdGhyb3dzLmpzCitBIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy10
eXBlLXRvU3RyaW5nLWFicnVwdC10aHJvd3MuanMKK0EgdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1l
cy9vcHRpb25zLXR5cGUtdmFsaWQuanMKK0EgdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm9w
LWRlc2MuanMKK0EgdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90by1mcm9tLWN0b3ItcmVh
bG0uanMKK0EgdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90by5qcworQSB0ZXN0L2ludGw0
MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlwZS9TeW1ib2wudG9TdHJpbmdUYWcuanMKK0EgdGVzdC9p
bnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcHJvcC1kZXNjLmpzCitBIHRlc3QvaW50bDQw
Mi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9kZWZhdWx0LW9wdGlvbi12
YWx1ZXMuanMKK0EgdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcmVzb2x2ZWRP
cHRpb25zL2xlbmd0aC5qcworQSB0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlwZS9y
ZXNvbHZlZE9wdGlvbnMvbmFtZS5qcworQSB0ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3Rv
dHlwZS9yZXNvbHZlZE9wdGlvbnMvb3B0aW9uLWZhbGxiYWNrLmpzCitBIHRlc3QvaW50bDQwMi9E
aXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9vcHRpb24tc3R5bGUuanMKK0Eg
dGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL29wdGlv
bi10eXBlLmpzCitBIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVk
T3B0aW9ucy9wcm9wLWRlc2MuanMKK0EgdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5
cGUvcmVzb2x2ZWRPcHRpb25zL3JldHVybi1vYmplY3QuanMKK0EgdGVzdC9pbnRsNDAyL0Rpc3Bs
YXlOYW1lcy9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL3RoaXMtbm90LW9iamVjdC10aHJvd3Mu
anMKK0EgdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25z
L3RoaXMtb2JqZWN0LWxhY2tzLWludGVybmFsLXRocm93cy5qcworQSB0ZXN0L2ludGw0MDIvRGlz
cGxheU5hbWVzL3VuZGVmaW5lZC1uZXd0YXJnZXQtdGhyb3dzLmpzCitNIHRlc3QvbGFuZ3VhZ2Uv
ZGVzdHJ1Y3R1cmluZy9iaW5kaW5nL3N5bnRheC9wcm9wZXJ0eS1saXN0LXNpbmdsZS1uYW1lLWJp
bmRpbmdzLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYWRkaXRpb24vYmlnaW50LWFu
ZC1udW1iZXIuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hZGRpdGlvbi9iaWdpbnQt
YXJpdGhtZXRpYy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FkZGl0aW9uL2JpZ2lu
dC1lcnJvcnMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hZGRpdGlvbi9iaWdpbnQt
dG9wcmltaXRpdmUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hZGRpdGlvbi9iaWdp
bnQtd3JhcHBlZC12YWx1ZXMuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1m
dW5jdGlvbi9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vc2NvcGUtcGFyYW0tZWxlbS12YXItY2xvc2UuanMKK00g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9zY29wZS1wYXJhbS1lbGVt
LXZhci1vcGVuLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24v
c2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1jbG9zZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2Fycm93LWZ1bmN0aW9uL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5qcwor
RCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnQvZHN0ci9hcnJheS1lbGVtLW5l
c3RlZC1tZW1iZXJleHByLW9wdGNoYWluLXByb3AtcmVmLmpzCitEIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXNzaWdubWVudC9kc3RyL2FycmF5LWVsZW0tcHV0LW9iai1saXRlcmFsLW9wdGNo
YWluLXByb3AtcmVmLmpzCitEIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudC9k
c3RyL29iai1wcm9wLWVsZW0tdGFyZ2V0LW1lbWJlcmV4cHItb3B0Y2hhaW4tcHJvcC1yZWYuanMK
K0QgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50L2RzdHIvb2JqLXByb3AtZWxl
bS10YXJnZXQtb2JqLWxpdGVyYWwtb3B0Y2hhaW4tcHJvcC1yZWYuanMKK0EgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9ldmFsLXZhci1zY29wZS1zeW50YXgt
ZXJyLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQt
ZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2FzeW5jLWZ1bmN0aW9uL25hbWVsZXNzLWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMKK0Eg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZXZhbC12YXItc2NvcGUt
c3ludGF4LWVyci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRv
ci9uYW1lZC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYml0d2lzZS1hbmQvYmlnaW50LWFuZC1udW1iZXIuanMKK00gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9iaXR3aXNlLWFuZC9iaWdpbnQtZXJyb3JzLmpzCitNIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYml0d2lzZS1hbmQvYmlnaW50LW5vbi1wcmltaXRpdmUuanMKK00gdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNlLWFuZC9iaWdpbnQtdG9wcmltaXRpdmUuanMK
K00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNlLWFuZC9iaWdpbnQtd3JhcHBlZC12
YWx1ZXMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNlLW5vdC9iaWdpbnQt
bm9uLXByaW1pdGl2ZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2Utb3Iv
YmlnaW50LWFuZC1udW1iZXIuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNl
LW9yL2JpZ2ludC1lcnJvcnMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNl
LW9yL2JpZ2ludC1ub24tcHJpbWl0aXZlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Yml0d2lzZS1vci9iaWdpbnQtdG9wcmltaXRpdmUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9iaXR3aXNlLW9yL2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcworTSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2JpdHdpc2UteG9yL2JpZ2ludC1hbmQtbnVtYmVyLmpzCitNIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS14b3IvYmlnaW50LWVycm9ycy5qcworTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2UteG9yL2JpZ2ludC1ub24tcHJpbWl0aXZlLmpzCitN
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS14b3IvYmlnaW50LXRvcHJpbWl0aXZl
LmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS14b3IvYmlnaW50LXdyYXBw
ZWQtdmFsdWVzLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2Vu
LW1ldGhvZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC1zdGF0aWMvZXZhbC12YXItc2NvcGUtc3lu
dGF4LWVyci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhv
ZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpz
CitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvc3ludGF4L2Vhcmx5
LWVycm9ycy9ncmFtbWFyLXByaXZhdGUtZmllbGQtb3B0aW9uYWwtY2hhaW5pbmcuanMKK0EgdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5
bnRheC1lcnIuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9k
LXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMKK0EgdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2Qtc3RhdGljL2V2YWwtdmFyLXNjb3Bl
LXN5bnRheC1lcnIuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jb2FsZXNjZS9jYW5u
b3QtY2hhaW4taGVhZC13aXRoLWxvZ2ljYWwtYW5kLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY29hbGVzY2UvY2Fubm90LWNoYWluLWhlYWQtd2l0aC1sb2dpY2FsLW9yLmpzCitNIHRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29hbGVzY2UvY2Fubm90LWNoYWluLXRhaWwtd2l0aC1s
b2dpY2FsLWFuZC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NvYWxlc2NlL2Nhbm5v
dC1jaGFpbi10YWlsLXdpdGgtbG9naWNhbC1vci5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2RlbGV0ZS9zdXBlci1wcm9wZXJ0eS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2RpdmlzaW9uL2JpZ2ludC1hbmQtbnVtYmVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvZGl2aXNpb24vYmlnaW50LWFyaXRobWV0aWMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9kaXZpc2lvbi9iaWdpbnQtY29tcGxleC1pbmZpbml0eS5qcworTSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2RpdmlzaW9uL2JpZ2ludC1lcnJvcnMuanMKK00gdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9kaXZpc2lvbi9iaWdpbnQtdG9wcmltaXRpdmUuanMKK00gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9kaXZpc2lvbi9iaWdpbnQtd3JhcHBlZC12YWx1ZXMuanMKK00gdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1iaWdpbnQuanMK
K00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1i
b29sZWFuLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZG9lcy1ub3QtZXF1YWxzL2Jp
Z2ludC1hbmQtaW5jb21wYXJhYmxlLXByaW1pdGl2ZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2RvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanMKK00gdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1udW1iZXItZXh0
cmVtZXMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMvYmln
aW50LWFuZC1udW1iZXIuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kb2VzLW5vdC1l
cXVhbHMvYmlnaW50LWFuZC1vYmplY3QuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9k
b2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1zdHJpbmcuanMKK00gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1iaWdpbnQuanMKK00gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1ib29sZWFuLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvZXF1YWxzL2JpZ2ludC1hbmQtaW5jb21wYXJhYmxlLXByaW1pdGl2ZS5qcworTSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2VxdWFscy9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanMK
K00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1udW1iZXItZXh0
cmVtZXMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1u
dW1iZXIuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1v
YmplY3QuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1z
dHJpbmcuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9leHBvbmVudGlhdGlvbi9iaWdp
bnQtYW5kLW51bWJlci5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2V4cG9uZW50aWF0
aW9uL2JpZ2ludC1hcml0aG1ldGljLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXhw
b25lbnRpYXRpb24vYmlnaW50LWVycm9ycy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2V4cG9uZW50aWF0aW9uL2JpZ2ludC1uZWdhdGl2ZS1leHBvbmVudC10aHJvd3MuanMKK00gdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9leHBvbmVudGlhdGlvbi9iaWdpbnQtdG9wcmltaXRpdmUu
anMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9leHBvbmVudGlhdGlvbi9iaWdpbnQtd3Jh
cHBlZC12YWx1ZXMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9leHBvbmVudGlhdGlv
bi9iaWdpbnQtemVyby1iYXNlLXplcm8tZXhwb25lbnQuanMKK0EgdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9mdW5jdGlvbi9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCitNIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vc2NvcGUtcGFyYW0tZWxlbS12YXItY2xvc2UuanMK
K00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9zY29wZS1wYXJhbS1lbGVtLXZh
ci1vcGVuLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vc2NvcGUtcGFy
YW0tcmVzdC1lbGVtLXZhci1jbG9zZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1
bmN0aW9uL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5qcworQSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcworTSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tZWxlbS12YXIt
Y2xvc2UuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL3Njb3BlLXBh
cmFtLWVsZW0tdmFyLW9wZW4uanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0
b3JzL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItY2xvc2UuanMKK00gdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9nZW5lcmF0b3JzL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5qcwor
TSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5kLWJpZ2lu
dC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5k
LWJvb2xlYW4uanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9ncmVhdGVyLXRoYW4vYmln
aW50LWFuZC1pbmNvbXBhcmFibGUtc3RyaW5nLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvZ3JlYXRlci10aGFuL2JpZ2ludC1hbmQtbm9uLWZpbml0ZS5qcworTSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5kLW51bWJlci1leHRyZW1lcy5qcwor
TSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5kLW51bWJl
ci5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5k
LXN5bWJvbC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi1vci1l
cXVhbC9iaWdpbnQtYW5kLWJpZ2ludC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dy
ZWF0ZXItdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLWluY29tcGFyYWJsZS1zdHJpbmcuanMKK00g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9ncmVhdGVyLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFu
ZC1ub24tZmluaXRlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFu
LW9yLWVxdWFsL2JpZ2ludC1hbmQtbnVtYmVyLWV4dHJlbWVzLmpzCitNIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtbnVtYmVyLmpzCitN
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFuLW9yLWVxdWFsL2JpZ2ludC1h
bmQtc3RyaW5nLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVmdC1zaGlmdC9iaWdp
bnQtYW5kLW51bWJlci5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hpZnQv
YmlnaW50LWVycm9ycy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hpZnQv
YmlnaW50LW5vbi1wcmltaXRpdmUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZWZ0
LXNoaWZ0L2JpZ2ludC10b3ByaW1pdGl2ZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2xlZnQtc2hpZnQvYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvbGVzcy10aGFuL2JpZ2ludC1hbmQtYmlnaW50LmpzCitNIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvbGVzcy10aGFuL2JpZ2ludC1hbmQtYm9vbGVhbi5qcworTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi9iaWdpbnQtYW5kLWluY29tcGFyYWJsZS1zdHJpbmcu
anMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZXNzLXRoYW4vYmlnaW50LWFuZC1ub24t
ZmluaXRlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10aGFuL2JpZ2ludC1h
bmQtbnVtYmVyLWV4dHJlbWVzLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10
aGFuL2JpZ2ludC1hbmQtbnVtYmVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVz
cy10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtYmlnaW50LmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvbGVzcy10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtaW5jb21wYXJhYmxlLXN0cmlu
Zy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi1vci1lcXVhbC9iaWdp
bnQtYW5kLW5vbi1maW5pdGUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZXNzLXRo
YW4tb3ItZXF1YWwvYmlnaW50LWFuZC1udW1iZXItZXh0cmVtZXMuanMKK00gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9sZXNzLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1udW1iZXIuanMKK00g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZXNzLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1z
dHJpbmcuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9tb2R1bHVzL2JpZ2ludC1hbmQt
bnVtYmVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbW9kdWx1cy9iaWdpbnQtYXJp
dGhtZXRpYy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL21vZHVsdXMvYmlnaW50LWVy
cm9ycy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL21vZHVsdXMvYmlnaW50LW1vZHVs
by16ZXJvLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbW9kdWx1cy9iaWdpbnQtdG9w
cmltaXRpdmUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9tb2R1bHVzL2JpZ2ludC13
cmFwcGVkLXZhbHVlcy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL211bHRpcGxpY2F0
aW9uL2JpZ2ludC1hbmQtbnVtYmVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbXVs
dGlwbGljYXRpb24vYmlnaW50LWFyaXRobWV0aWMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9tdWx0aXBsaWNhdGlvbi9iaWdpbnQtZXJyb3JzLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvbXVsdGlwbGljYXRpb24vYmlnaW50LXRvcHJpbWl0aXZlLmpzCitNIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvbXVsdGlwbGljYXRpb24vYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpz
CitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2Fz
eW5jLWdlbi1tZXRoLWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMKK0EgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vYXN5bmMtbWV0aC1ldmFsLXZh
ci1zY29wZS1zeW50YXgtZXJyLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L21ldGhvZC1kZWZpbml0aW9uL2dlbi1tZXRoLWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMK
K0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vbWV0
aC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvb2JqZWN0L3Njb3BlLWdlbi1tZXRoLXBhcmFtLWVsZW0tdmFyLWNsb3NlLmpzCitNIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L3Njb3BlLWdlbi1tZXRoLXBhcmFtLWVsZW0tdmFy
LW9wZW4uanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qvc2NvcGUtZ2VuLW1l
dGgtcGFyYW0tcmVzdC1lbGVtLXZhci1jbG9zZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29iamVjdC9zY29wZS1nZW4tbWV0aC1wYXJhbS1yZXN0LWVsZW0tdmFyLW9wZW4uanMKK00g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qvc2NvcGUtbWV0aC1wYXJhbS1lbGVtLXZh
ci1jbG9zZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9zY29wZS1tZXRo
LXBhcmFtLWVsZW0tdmFyLW9wZW4uanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmpl
Y3Qvc2NvcGUtbWV0aC1wYXJhbS1yZXN0LWVsZW0tdmFyLWNsb3NlLmpzCitNIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvb2JqZWN0L3Njb3BlLW1ldGgtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVu
LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb3B0aW9uYWwtY2hhaW5pbmcvaXRlcmF0
aW9uLXN0YXRlbWVudC1kby5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29wdGlvbmFs
LWNoYWluaW5nL2l0ZXJhdGlvbi1zdGF0ZW1lbnQtZm9yLWF3YWl0LW9mLmpzCitBIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvb3B0aW9uYWwtY2hhaW5pbmcvaXRlcmF0aW9uLXN0YXRlbWVudC1m
b3ItaW4uanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vcHRpb25hbC1jaGFpbmluZy9p
dGVyYXRpb24tc3RhdGVtZW50LWZvci1vZi10eXBlLWVycm9yLmpzCitBIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb3B0aW9uYWwtY2hhaW5pbmcvaXRlcmF0aW9uLXN0YXRlbWVudC1mb3IuanMK
K0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vcHRpb25hbC1jaGFpbmluZy9pdGVyYXRpb24t
c3RhdGVtZW50LXdoaWxlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb3B0aW9uYWwt
Y2hhaW5pbmcvbmV3LXRhcmdldC1vcHRpb25hbC1jYWxsLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvb3B0aW9uYWwtY2hhaW5pbmcvb3B0aW9uYWwtY2FsbC1wcmVzZXJ2ZXMtdGhpcy5q
cworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29wdGlvbmFsLWNoYWluaW5nL3N1cGVyLXBy
b3BlcnR5LW9wdGlvbmFsLWNhbGwuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9yaWdo
dC1zaGlmdC9iaWdpbnQtYW5kLW51bWJlci5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L3JpZ2h0LXNoaWZ0L2JpZ2ludC1lcnJvcnMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9yaWdodC1zaGlmdC9iaWdpbnQtbm9uLXByaW1pdGl2ZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL3JpZ2h0LXNoaWZ0L2JpZ2ludC10b3ByaW1pdGl2ZS5qcworTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL3JpZ2h0LXNoaWZ0L2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcworTSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFu
ZC1iaWdpbnQuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZG9lcy1ub3Qt
ZXF1YWxzL2JpZ2ludC1hbmQtYm9vbGVhbi5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L3N0cmljdC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1pbmNvbXBhcmFibGUtcHJpbWl0aXZl
LmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWRvZXMtbm90LWVxdWFscy9i
aWdpbnQtYW5kLW5vbi1maW5pdGUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJp
Y3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtbnVtYmVyLWV4dHJlbWVzLmpzCitNIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWRvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLW51
bWJlci5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1kb2VzLW5vdC1lcXVh
bHMvYmlnaW50LWFuZC1vYmplY3QuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJp
Y3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtc3RyaW5nLmpzCitNIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9iaWdpbnQtYW5kLWJpZ2ludC5qcworTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1lcXVhbHMvYmlnaW50LWFuZC1ib29sZWFuLmpzCitN
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9iaWdpbnQtYW5kLWluY29t
cGFyYWJsZS1wcmltaXRpdmUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3Qt
ZXF1YWxzL2JpZ2ludC1hbmQtbm9uLWZpbml0ZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL3N0cmljdC1lcXVhbHMvYmlnaW50LWFuZC1udW1iZXItZXh0cmVtZXMuanMKK00gdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2JpZ2ludC1hbmQtbnVtYmVyLmpzCitN
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9iaWdpbnQtYW5kLW9iamVj
dC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1lcXVhbHMvYmlnaW50LWFu
ZC1zdHJpbmcuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdWJ0cmFjdGlvbi9iaWdp
bnQtYW5kLW51bWJlci5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N1YnRyYWN0aW9u
L2JpZ2ludC1hcml0aG1ldGljLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3VidHJh
Y3Rpb24vYmlnaW50LWVycm9ycy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N1YnRy
YWN0aW9uL2JpZ2ludC10b3ByaW1pdGl2ZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L3N1YnRyYWN0aW9uL2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcworQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL3R5cGVvZi9wcm94eS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3Vu
YXJ5LW1pbnVzL2JpZ2ludC1ub24tcHJpbWl0aXZlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvdW5hcnktcGx1cy9iaWdpbnQtdGhyb3dzLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvdW5zaWduZWQtcmlnaHQtc2hpZnQvYmlnaW50LWFuZC1udW1iZXIuanMKK00gdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy91bnNpZ25lZC1yaWdodC1zaGlmdC9iaWdpbnQtZXJyb3JzLmpz
CitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdW5zaWduZWQtcmlnaHQtc2hpZnQvYmlnaW50
LW5vbi1wcmltaXRpdmUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy91bnNpZ25lZC1y
aWdodC1zaGlmdC9iaWdpbnQtdG9wcmltaXRpdmUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy91bnNpZ25lZC1yaWdodC1zaGlmdC9iaWdpbnQtd3JhcHBlZC12YWx1ZXMuanMKK0QgdGVz
dC9sYW5ndWFnZS9mdW5jdGlvbi1jb2RlL2VhY2gtcGFyYW0taGFzLW93bi1ub24tc2hhcmVkLWV2
YWwtc2NvcGUuanMKK0QgdGVzdC9sYW5ndWFnZS9mdW5jdGlvbi1jb2RlL2VhY2gtcGFyYW0taGFz
LW93bi1zY29wZS5qcworTSB0ZXN0L2xhbmd1YWdlL2Z1bmN0aW9uLWNvZGUvZXZhbC1wYXJhbS1l
bnYtd2l0aC1jb21wdXRlZC1rZXkuanMKK00gdGVzdC9sYW5ndWFnZS9mdW5jdGlvbi1jb2RlL2V2
YWwtcGFyYW0tZW52LXdpdGgtcHJvcC1pbml0aWFsaXplci5qcworQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcworQSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2V2YWwtdmFyLXNjb3BlLXN5
bnRheC1lcnIuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1t
ZXRob2QvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC1zdGF0aWMvZXZhbC12YXItc2NvcGUtc3ludGF4
LWVyci5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2V2
YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcworTSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9jb25zdHJ1Y3RhYmxlLWJ1
dC1uby1wcm90b3R5cGUuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmlu
aXRpb24vY29uc3RydWN0b3Itc3RyaWN0LWJ5LWRlZmF1bHQuanMKK00gdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vZ2V0dGVycy1yZXN0cmljdGVkLWlkcy5qcworTSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9pbXBsaWNpdC1jb25zdHJ1
Y3Rvci5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9pbnZh
bGlkLWV4dGVuZHMuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRp
b24vbWV0aG9kcy1uYW1lZC1ldmFsLWFyZ3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvZGVmaW5pdGlvbi9wcm90b3R5cGUtZ2V0dGVyLmpzCitNIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL3Byb3RvdHlwZS1wcm9wZXJ0eS5qcworTSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9zZXR0ZXJzLXJlc3RyaWN0
ZWQtaWRzLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL3Np
ZGUtZWZmZWN0cy1pbi1leHRlbmRzLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9kZWZpbml0aW9uL3NpZGUtZWZmZWN0cy1pbi1wcm9wZXJ0eS1kZWZpbmUuanMKK00gdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vdGhpcy1hY2Nlc3MtcmVzdHJpY3Rp
b24tMi5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi90aGlz
LWFjY2Vzcy1yZXN0cmljdGlvbi5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZGVmaW5pdGlvbi90aGlzLWNoZWNrLW9yZGVyaW5nLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9lbGVtZW50cy9zeW50YXgvZWFybHktZXJyb3JzL2dyYW1tYXItcHJpdmF0ZS1m
aWVsZC1vcHRpb25hbC1jaGFpbmluZy5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZ2VuLW1ldGhvZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCitBIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50
YXgtZXJyLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2QvZXZhbC12
YXItc2NvcGUtc3ludGF4LWVyci5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
bWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCitNIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9uYW1lLWJpbmRpbmcvYmFzaWMuanMKK00gdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2JpbmRpbmcuanMKK00gdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2J1aWx0aW4tb2JqZWN0cy9SZWdFeHAvbGFzdEluZGV4
LmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJjbGFzcy9idWlsdGluLW9i
amVjdHMvU3RyaW5nL2xlbmd0aC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
c3ViY2xhc3MvYnVpbHRpbi1vYmplY3RzL1dlYWtNYXAvcmVndWxhci1zdWJjbGFzc2luZy5qcwor
TSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3MvYnVpbHRpbi1vYmplY3Rz
L1dlYWtNYXAvc3VwZXItbXVzdC1iZS1jYWxsZWQuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL3N1YmNsYXNzL2J1aWx0aW4tb2JqZWN0cy9XZWFrU2V0L3JlZ3VsYXItc3ViY2xh
c3NpbmcuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2J1aWx0
aW4tb2JqZWN0cy9XZWFrU2V0L3N1cGVyLW11c3QtYmUtY2FsbGVkLmpzCitNIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJjbGFzcy9idWlsdGlucy5qcworTSB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3MvZGVmYXVsdC1jb25zdHJ1Y3Rvci1zcHJlYWQtb3Zl
cnJpZGUuanMKK0QgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1pbi9kc3RyL2FycmF5LWVs
ZW0tbmVzdGVkLW1lbWJlcmV4cHItb3B0Y2hhaW4tcHJvcC1yZWYuanMKK0QgdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2Zvci1pbi9kc3RyL2FycmF5LWVsZW0tcHV0LW9iai1saXRlcmFsLW9wdGNo
YWluLXByb3AtcmVmLmpzCitEIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3ItaW4vZHN0ci9v
YmotcHJvcC1lbGVtLXRhcmdldC1tZW1iZXJleHByLW9wdGNoYWluLXByb3AtcmVmLmpzCitEIHRl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3ItaW4vZHN0ci9vYmotcHJvcC1lbGVtLXRhcmdldC1v
YmotbGl0ZXJhbC1vcHRjaGFpbi1wcm9wLXJlZi5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvZm9yLWluL2lkZW50aWZpZXItbGV0LWFsbG93ZWQtYXMtbGVmdGhhbmRzaWRlLWV4cHJlc3Np
b24tbm90LXN0cmljdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLWluL29yZGVy
LWVudW1lcmFibGUtc2hhZG93ZWQuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1p
bi9vcmRlci1wcm9wZXJ0eS1hZGRlZC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9y
LWluL29yZGVyLXByb3BlcnR5LW9uLXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvZm9yLWluL29yZGVyLXNpbXBsZS1vYmplY3QuanMKK0QgdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2Zvci1vZi9kc3RyL2FycmF5LWVsZW0tbmVzdGVkLW1lbWJlcmV4cHItb3B0Y2hhaW4t
cHJvcC1yZWYuanMKK0QgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9kc3RyL2FycmF5
LWVsZW0tcHV0LW9iai1saXRlcmFsLW9wdGNoYWluLXByb3AtcmVmLmpzCitEIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9mb3Itb2YvZHN0ci9vYmotcHJvcC1lbGVtLXRhcmdldC1tZW1iZXJleHBy
LW9wdGNoYWluLXByb3AtcmVmLmpzCitEIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3Itb2Yv
ZHN0ci9vYmotcHJvcC1lbGVtLXRhcmdldC1vYmotbGl0ZXJhbC1vcHRjaGFpbi1wcm9wLXJlZi5q
cworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZXZhbC12YXItc2NvcGUtc3lu
dGF4LWVyci5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vc2NvcGUtcGFy
YW0tZWxlbS12YXItY2xvc2UuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9u
L3Njb3BlLXBhcmFtLWVsZW0tdmFyLW9wZW4uanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2Z1bmN0aW9uL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItY2xvc2UuanMKK00gdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5q
cworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9ldmFsLXZhci1zY29wZS1z
eW50YXgtZXJyLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0b3JzL3Njb3Bl
LXBhcmFtLWVsZW0tdmFyLWNsb3NlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5l
cmF0b3JzL3Njb3BlLXBhcmFtLWVsZW0tdmFyLW9wZW4uanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1jbG9zZS5qcworTSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9zY29wZS1wYXJhbS1yZXN0LWVsZW0t
dmFyLW9wZW4uanMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdDI2Mi1SZXZpc2lvbi50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QyNjItUmV2aXNpb24udHh0CShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdDI2Mi1SZXZpc2lvbi50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMiArMSwyIEBACi10
ZXN0MjYyIHJlbW90ZSB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Rlc3QyNjIuZ2l0Ci10
ZXN0MjYyIHJldmlzaW9uOiAxNDZlZjdkYjU3NTJmYjVlYzQ0NzBjODg4Y2JlMjgyN2ZjZDUyNjk3
Cit0ZXN0MjYyIHJlbW90ZSB1cmw6IGdpdEBnaXRodWIuY29tOnRjMzkvdGVzdDI2Mi5naXQKK3Rl
c3QyNjIgcmV2aXNpb246IDE1N2IxOGQxNmI1ZDUyNTAxYzRkNzVhYzQyMmQzYTgwYmZhZDFjMTcK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi9oYXJuZXNzL2RlZXBFcXVhbC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy9kZWVwRXF1YWwuanMJKHJldmlzaW9uIDI1NDAwNykK
KysrIEpTVGVzdHMvdGVzdDI2Mi9oYXJuZXNzL2RlZXBFcXVhbC5qcwkod29ya2luZyBjb3B5KQpA
QCAtMSwzMjcgKzEsMzI3IEBACi0vLyBDb3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4NCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuDQotLyotLS0NCi1kZXNjcmlwdGlvbjogPg0K
LSAgQ29tcGFyZSB0d28gdmFsdWVzIHN0cnVjdHVyYWxseQ0KLWRlZmluZXM6IFthc3NlcnQuZGVl
cEVxdWFsXQ0KLS0tLSovDQotDQotYXNzZXJ0LmRlZXBFcXVhbCA9IGZ1bmN0aW9uKGFjdHVhbCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsNCi0gIHZhciBmb3JtYXQgPSBhc3NlcnQuZGVlcEVxdWFsLmZv
cm1hdDsNCi0gIGFzc2VydCgNCi0gICAgYXNzZXJ0LmRlZXBFcXVhbC5fY29tcGFyZShhY3R1YWws
IGV4cGVjdGVkKSwNCi0gICAgYEV4cGVjdGVkICR7Zm9ybWF0KGFjdHVhbCl9IHRvIGJlIHN0cnVj
dHVyYWxseSBlcXVhbCB0byAke2Zvcm1hdChleHBlY3RlZCl9LiAkeyhtZXNzYWdlIHx8ICcnKX1g
DQotICApOw0KLX07DQotDQotYXNzZXJ0LmRlZXBFcXVhbC5mb3JtYXQgPSBmdW5jdGlvbih2YWx1
ZSwgc2Vlbikgew0KLSAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHsNCi0gICAgY2FzZSAnc3RyaW5n
JzoNCi0gICAgICByZXR1cm4gdHlwZW9mIEpTT04gIT09ICJ1bmRlZmluZWQiID8gSlNPTi5zdHJp
bmdpZnkodmFsdWUpIDogYCIke3ZhbHVlfSJgOw0KLSAgICBjYXNlICdudW1iZXInOg0KLSAgICBj
YXNlICdib29sZWFuJzoNCi0gICAgY2FzZSAnc3ltYm9sJzoNCi0gICAgY2FzZSAnYmlnaW50JzoN
Ci0gICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTsNCi0gICAgY2FzZSAndW5kZWZpbmVkJzoN
Ci0gICAgICByZXR1cm4gJ3VuZGVmaW5lZCc7DQotICAgIGNhc2UgJ2Z1bmN0aW9uJzoNCi0gICAg
ICByZXR1cm4gYFtGdW5jdGlvbiR7dmFsdWUubmFtZSA/IGA6ICR7dmFsdWUubmFtZX1gIDogJyd9
XWA7DQotICAgIGNhc2UgJ29iamVjdCc6DQotICAgICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1
cm4gJ251bGwnOw0KLSAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHJldHVybiBgRGF0
ZSAiJHt2YWx1ZS50b0lTT1N0cmluZygpfSJgOw0KLSAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9m
IFJlZ0V4cCkgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7DQotICAgICAgaWYgKCFzZWVuKSB7DQot
ICAgICAgICBzZWVuID0gew0KLSAgICAgICAgICBjb3VudGVyOiAwLA0KLSAgICAgICAgICBtYXA6
IG5ldyBNYXAoKQ0KLSAgICAgICAgfTsNCi0gICAgICB9DQotDQotICAgICAgbGV0IHVzYWdlID0g
c2Vlbi5tYXAuZ2V0KHZhbHVlKTsNCi0gICAgICBpZiAodXNhZ2UpIHsNCi0gICAgICAgIHVzYWdl
LnVzZWQgPSB0cnVlOw0KLSAgICAgICAgcmV0dXJuIGBbUmVmOiAjJHt1c2FnZS5pZH1dYDsNCi0g
ICAgICB9DQotDQotICAgICAgdXNhZ2UgPSB7IGlkOiArK3NlZW4uY291bnRlciwgdXNlZDogZmFs
c2UgfTsNCi0gICAgICBzZWVuLm1hcC5zZXQodmFsdWUsIHVzYWdlKTsNCi0NCi0gICAgICBpZiAo
dHlwZW9mIFNldCAhPT0gInVuZGVmaW5lZCIgJiYgdmFsdWUgaW5zdGFuY2VvZiBTZXQpIHsNCi0g
ICAgICAgIHJldHVybiBgU2V0IHske0FycmF5LmZyb20odmFsdWUpLm1hcCh2YWx1ZSA9PiBhc3Nl
cnQuZGVlcEVxdWFsLmZvcm1hdCh2YWx1ZSwgc2VlbikpLmpvaW4oJywgJyl9fSR7dXNhZ2UudXNl
ZCA/IGAgYXMgIyR7dXNhZ2UuaWR9YCA6ICcnfWA7DQotICAgICAgfQ0KLSAgICAgIGlmICh0eXBl
b2YgTWFwICE9PSAidW5kZWZpbmVkIiAmJiB2YWx1ZSBpbnN0YW5jZW9mIE1hcCkgew0KLSAgICAg
ICAgcmV0dXJuIGBNYXAgeyR7QXJyYXkuZnJvbSh2YWx1ZSkubWFwKHBhaXIgPT4gYCR7YXNzZXJ0
LmRlZXBFcXVhbC5mb3JtYXQocGFpclswXSwgc2Vlbil9ID0+ICR7YXNzZXJ0LmRlZXBFcXVhbC5m
b3JtYXQocGFpclsxXSwgc2Vlbil9fWApLmpvaW4oJywgJyl9fSR7dXNhZ2UudXNlZCA/IGAgYXMg
IyR7dXNhZ2UuaWR9YCA6ICcnfWA7DQotICAgICAgfQ0KLSAgICAgIGlmIChBcnJheS5pc0FycmF5
ID8gQXJyYXkuaXNBcnJheSh2YWx1ZSkgOiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7DQotICAg
ICAgICByZXR1cm4gYFske3ZhbHVlLm1hcCh2YWx1ZSA9PiBhc3NlcnQuZGVlcEVxdWFsLmZvcm1h
dCh2YWx1ZSwgc2VlbikpLmpvaW4oJywgJyl9XSR7dXNhZ2UudXNlZCA/IGAgYXMgIyR7dXNhZ2Uu
aWR9YCA6ICcnfWA7DQotICAgICAgfQ0KLSAgICAgIGxldCB0YWcgPSBTeW1ib2wudG9TdHJpbmdU
YWcgaW4gdmFsdWUgPyB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddIDogJ09iamVjdCc7DQotICAg
ICAgaWYgKHRhZyA9PT0gJ09iamVjdCcgJiYgT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlKSA9
PT0gbnVsbCkgew0KLSAgICAgICAgdGFnID0gJ1tPYmplY3Q6IG51bGwgcHJvdG90eXBlXSc7DQot
ICAgICAgfQ0KLSAgICAgIHJldHVybiBgJHt0YWcgPyBgJHt0YWd9IGAgOiAnJ317ICR7T2JqZWN0
LmtleXModmFsdWUpLm1hcChrZXkgPT4gYCR7a2V5LnRvU3RyaW5nKCl9OiAke2Fzc2VydC5kZWVw
RXF1YWwuZm9ybWF0KHZhbHVlW2tleV0sIHNlZW4pfWApLmpvaW4oJywgJyl9IH0ke3VzYWdlLnVz
ZWQgPyBgIGFzICMke3VzYWdlLmlkfWAgOiAnJ31gOw0KLSAgICBkZWZhdWx0Og0KLSAgICAgIHJl
dHVybiB0eXBlb2YgdmFsdWU7DQotICB9DQotfTsNCi0NCi1hc3NlcnQuZGVlcEVxdWFsLl9jb21w
YXJlID0gKGZ1bmN0aW9uICgpIHsNCi0gIHZhciBFUVVBTCA9IDE7DQotICB2YXIgTk9UX0VRVUFM
ID0gLTE7DQotICB2YXIgVU5LTk9XTiA9IDA7DQotDQotICBmdW5jdGlvbiBkZWVwRXF1YWwoYSwg
Yikgew0KLSAgICByZXR1cm4gY29tcGFyZUVxdWFsaXR5KGEsIGIpID09PSBFUVVBTDsNCi0gIH0N
Ci0NCi0gIGZ1bmN0aW9uIGNvbXBhcmVFcXVhbGl0eShhLCBiLCBjYWNoZSkgew0KLSAgICByZXR1
cm4gY29tcGFyZUlmKGEsIGIsIGlzT3B0aW9uYWwsIGNvbXBhcmVPcHRpb25hbGl0eSkNCi0gICAg
ICB8fCBjb21wYXJlSWYoYSwgYiwgaXNQcmltaXRpdmVFcXVhdGFibGUsIGNvbXBhcmVQcmltaXRp
dmVFcXVhbGl0eSkNCi0gICAgICB8fCBjb21wYXJlSWYoYSwgYiwgaXNPYmplY3RFcXVhdGFibGUs
IGNvbXBhcmVPYmplY3RFcXVhbGl0eSwgY2FjaGUpDQotICAgICAgfHwgTk9UX0VRVUFMOw0KLSAg
fQ0KLQ0KLSAgZnVuY3Rpb24gY29tcGFyZUlmKGEsIGIsIHRlc3QsIGNvbXBhcmUsIGNhY2hlKSB7
DQotICAgIHJldHVybiAhdGVzdChhKQ0KLSAgICAgID8gIXRlc3QoYikgPyBVTktOT1dOIDogTk9U
X0VRVUFMDQotICAgICAgOiAhdGVzdChiKSA/IE5PVF9FUVVBTCA6IGNhY2hlQ29tcGFyaXNvbihh
LCBiLCBjb21wYXJlLCBjYWNoZSk7DQotICB9DQotDQotICBmdW5jdGlvbiB0cnlDb21wYXJlU3Ry
aWN0RXF1YWxpdHkoYSwgYikgew0KLSAgICByZXR1cm4gYSA9PT0gYiA/IEVRVUFMIDogVU5LTk9X
TjsNCi0gIH0NCi0NCi0gIGZ1bmN0aW9uIHRyeUNvbXBhcmVUeXBlT2ZFcXVhbGl0eShhLCBiKSB7
DQotICAgIHJldHVybiB0eXBlb2YgYSAhPT0gdHlwZW9mIGIgPyBOT1RfRVFVQUwgOiBVTktOT1dO
Ow0KLSAgfQ0KLQ0KLSAgZnVuY3Rpb24gdHJ5Q29tcGFyZVRvU3RyaW5nVGFnRXF1YWxpdHkoYSwg
Yikgew0KLSAgICB2YXIgYVRhZyA9IFN5bWJvbC50b1N0cmluZ1RhZyBpbiBhID8gYVtTeW1ib2wu
dG9TdHJpbmdUYWddIDogdW5kZWZpbmVkOw0KLSAgICB2YXIgYlRhZyA9IFN5bWJvbC50b1N0cmlu
Z1RhZyBpbiBiID8gYltTeW1ib2wudG9TdHJpbmdUYWddIDogdW5kZWZpbmVkOw0KLSAgICByZXR1
cm4gYVRhZyAhPT0gYlRhZyA/IE5PVF9FUVVBTCA6IFVOS05PV047DQotICB9DQotDQotICBmdW5j
dGlvbiBpc09wdGlvbmFsKHZhbHVlKSB7DQotICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVk
DQotICAgICAgfHwgdmFsdWUgPT09IG51bGw7DQotICB9DQotDQotICBmdW5jdGlvbiBjb21wYXJl
T3B0aW9uYWxpdHkoYSwgYikgew0KLSAgICByZXR1cm4gdHJ5Q29tcGFyZVN0cmljdEVxdWFsaXR5
KGEsIGIpDQotICAgICAgfHwgTk9UX0VRVUFMOw0KLSAgfQ0KLQ0KLSAgZnVuY3Rpb24gaXNQcmlt
aXRpdmVFcXVhdGFibGUodmFsdWUpIHsNCi0gICAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHsNCi0g
ICAgICBjYXNlICdzdHJpbmcnOg0KLSAgICAgIGNhc2UgJ251bWJlcic6DQotICAgICAgY2FzZSAn
YmlnaW50JzoNCi0gICAgICBjYXNlICdib29sZWFuJzoNCi0gICAgICBjYXNlICdzeW1ib2wnOg0K
LSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgICAgZGVmYXVsdDoNCi0gICAgICAgIHJldHVybiBp
c0JveGVkKHZhbHVlKTsNCi0gICAgfQ0KLSAgfQ0KLQ0KLSAgZnVuY3Rpb24gY29tcGFyZVByaW1p
dGl2ZUVxdWFsaXR5KGEsIGIpIHsNCi0gICAgaWYgKGlzQm94ZWQoYSkpIGEgPSBhLnZhbHVlT2Yo
KTsNCi0gICAgaWYgKGlzQm94ZWQoYikpIGIgPSBiLnZhbHVlT2YoKTsNCi0gICAgcmV0dXJuIHRy
eUNvbXBhcmVTdHJpY3RFcXVhbGl0eShhLCBiKQ0KLSAgICAgIHx8IHRyeUNvbXBhcmVUeXBlT2ZF
cXVhbGl0eShhLCBiKQ0KLSAgICAgIHx8IGNvbXBhcmVJZihhLCBiLCBpc05hTkVxdWF0YWJsZSwg
Y29tcGFyZU5hTkVxdWFsaXR5KQ0KLSAgICAgIHx8IE5PVF9FUVVBTDsNCi0gIH0NCi0NCi0gIGZ1
bmN0aW9uIGlzTmFORXF1YXRhYmxlKHZhbHVlKSB7DQotICAgIHJldHVybiB0eXBlb2YgdmFsdWUg
PT09ICdudW1iZXInOw0KLSAgfQ0KLQ0KLSAgZnVuY3Rpb24gY29tcGFyZU5hTkVxdWFsaXR5KGEs
IGIpIHsNCi0gICAgcmV0dXJuIGlzTmFOKGEpICYmIGlzTmFOKGIpID8gRVFVQUwgOiBOT1RfRVFV
QUw7DQotICB9DQotDQotICBmdW5jdGlvbiBpc09iamVjdEVxdWF0YWJsZSh2YWx1ZSkgew0KLSAg
ICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JzsNCi0gIH0NCi0NCi0gIGZ1bmN0aW9u
IGNvbXBhcmVPYmplY3RFcXVhbGl0eShhLCBiLCBjYWNoZSkgew0KLSAgICBpZiAoIWNhY2hlKSBj
YWNoZSA9IG5ldyBNYXAoKTsNCi0gICAgcmV0dXJuIGdldENhY2hlKGNhY2hlLCBhLCBiKQ0KLSAg
ICAgIHx8IHNldENhY2hlKGNhY2hlLCBhLCBiLCBFUVVBTCkgLy8gY29uc2lkZXIgZXF1YWwgZm9y
IG5vdw0KLSAgICAgIHx8IGNhY2hlQ29tcGFyaXNvbihhLCBiLCB0cnlDb21wYXJlU3RyaWN0RXF1
YWxpdHksIGNhY2hlKQ0KLSAgICAgIHx8IGNhY2hlQ29tcGFyaXNvbihhLCBiLCB0cnlDb21wYXJl
VG9TdHJpbmdUYWdFcXVhbGl0eSwgY2FjaGUpDQotICAgICAgfHwgY29tcGFyZUlmKGEsIGIsIGlz
VmFsdWVPZkVxdWF0YWJsZSwgY29tcGFyZVZhbHVlT2ZFcXVhbGl0eSkNCi0gICAgICB8fCBjb21w
YXJlSWYoYSwgYiwgaXNUb1N0cmluZ0VxdWF0YWJsZSwgY29tcGFyZVRvU3RyaW5nRXF1YWxpdHkp
DQotICAgICAgfHwgY29tcGFyZUlmKGEsIGIsIGlzQXJyYXlMaWtlRXF1YXRhYmxlLCBjb21wYXJl
QXJyYXlMaWtlRXF1YWxpdHksIGNhY2hlKQ0KLSAgICAgIHx8IGNvbXBhcmVJZihhLCBiLCBpc1N0
cnVjdHVyYWxseUVxdWF0YWJsZSwgY29tcGFyZVN0cnVjdHVyYWxFcXVhbGl0eSwgY2FjaGUpDQot
ICAgICAgfHwgY29tcGFyZUlmKGEsIGIsIGlzSXRlcmFibGVFcXVhdGFibGUsIGNvbXBhcmVJdGVy
YWJsZUVxdWFsaXR5LCBjYWNoZSkNCi0gICAgICB8fCBjYWNoZUNvbXBhcmlzb24oYSwgYiwgZmFp
bCwgY2FjaGUpOw0KLSAgfQ0KLQ0KLSAgZnVuY3Rpb24gaXNCb3hlZCh2YWx1ZSkgew0KLSAgICBy
ZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBTdHJpbmcNCi0gICAgICB8fCB2YWx1ZSBpbnN0YW5jZW9m
IE51bWJlcg0KLSAgICAgIHx8IHZhbHVlIGluc3RhbmNlb2YgQm9vbGVhbg0KLSAgICAgIHx8IHR5
cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUgaW5zdGFuY2VvZiBTeW1ib2wNCi0g
ICAgICB8fCB0eXBlb2YgQmlnSW50ID09PSAnZnVuY3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2Yg
QmlnSW50Ow0KLSAgfQ0KLQ0KLSAgZnVuY3Rpb24gaXNWYWx1ZU9mRXF1YXRhYmxlKHZhbHVlKSB7
DQotICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIERhdGU7DQotICB9DQotDQotICBmdW5jdGlv
biBjb21wYXJlVmFsdWVPZkVxdWFsaXR5KGEsIGIpIHsNCi0gICAgcmV0dXJuIGNvbXBhcmVJZihh
LnZhbHVlT2YoKSwgYi52YWx1ZU9mKCksIGlzUHJpbWl0aXZlRXF1YXRhYmxlLCBjb21wYXJlUHJp
bWl0aXZlRXF1YWxpdHkpDQotICAgICAgfHwgTk9UX0VRVUFMOw0KLSAgfQ0KLQ0KLSAgZnVuY3Rp
b24gaXNUb1N0cmluZ0VxdWF0YWJsZSh2YWx1ZSkgew0KLSAgICByZXR1cm4gdmFsdWUgaW5zdGFu
Y2VvZiBSZWdFeHA7DQotICB9DQotDQotICBmdW5jdGlvbiBjb21wYXJlVG9TdHJpbmdFcXVhbGl0
eShhLCBiKSB7DQotICAgIHJldHVybiBjb21wYXJlSWYoYS50b1N0cmluZygpLCBiLnRvU3RyaW5n
KCksIGlzUHJpbWl0aXZlRXF1YXRhYmxlLCBjb21wYXJlUHJpbWl0aXZlRXF1YWxpdHkpDQotICAg
ICAgfHwgTk9UX0VRVUFMOw0KLSAgfQ0KLQ0KLSAgZnVuY3Rpb24gaXNBcnJheUxpa2VFcXVhdGFi
bGUodmFsdWUpIHsNCi0gICAgcmV0dXJuIChBcnJheS5pc0FycmF5ID8gQXJyYXkuaXNBcnJheSh2
YWx1ZSkgOiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KQ0KLSAgICAgIHx8ICh0eXBlb2YgVWludDhB
cnJheSA9PT0gJ2Z1bmN0aW9uJyAmJiB2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpDQotICAg
ICAgfHwgKHR5cGVvZiBVaW50OENsYW1wZWRBcnJheSA9PT0gJ2Z1bmN0aW9uJyAmJiB2YWx1ZSBp
bnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5KQ0KLSAgICAgIHx8ICh0eXBlb2YgVWludDE2QXJy
YXkgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUgaW5zdGFuY2VvZiBVaW50MTZBcnJheSkNCi0gICAg
ICB8fCAodHlwZW9mIFVpbnQzMkFycmF5ID09PSAnZnVuY3Rpb24nICYmIHZhbHVlIGluc3RhbmNl
b2YgVWludDMyQXJyYXkpDQotICAgICAgfHwgKHR5cGVvZiBJbnQ4QXJyYXkgPT09ICdmdW5jdGlv
bicgJiYgdmFsdWUgaW5zdGFuY2VvZiBJbnQ4QXJyYXkpDQotICAgICAgfHwgKHR5cGVvZiBJbnQx
NkFycmF5ID09PSAnZnVuY3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2YgSW50MTZBcnJheSkNCi0g
ICAgICB8fCAodHlwZW9mIEludDMyQXJyYXkgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUgaW5zdGFu
Y2VvZiBJbnQzMkFycmF5KQ0KLSAgICAgIHx8ICh0eXBlb2YgRmxvYXQzMkFycmF5ID09PSAnZnVu
Y3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2YgRmxvYXQzMkFycmF5KQ0KLSAgICAgIHx8ICh0eXBl
b2YgRmxvYXQ2NEFycmF5ID09PSAnZnVuY3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2YgRmxvYXQ2
NEFycmF5KQ0KLSAgICAgIHx8ICh0eXBlb2YgQmlnVWludDY0QXJyYXkgPT09ICdmdW5jdGlvbicg
JiYgdmFsdWUgaW5zdGFuY2VvZiBCaWdVaW50NjRBcnJheSkNCi0gICAgICB8fCAodHlwZW9mIEJp
Z0ludDY0QXJyYXkgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUgaW5zdGFuY2VvZiBCaWdJbnQ2NEFy
cmF5KTsNCi0gIH0NCi0NCi0gIGZ1bmN0aW9uIGNvbXBhcmVBcnJheUxpa2VFcXVhbGl0eShhLCBi
LCBjYWNoZSkgew0KLSAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSByZXR1cm4gTk9UX0VR
VUFMOw0KLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGEubGVuZ3RoOyBpKyspIHsNCi0gICAgICBp
ZiAoY29tcGFyZUVxdWFsaXR5KGFbaV0sIGJbaV0sIGNhY2hlKSA9PT0gTk9UX0VRVUFMKSB7DQot
ICAgICAgICByZXR1cm4gTk9UX0VRVUFMOw0KLSAgICAgIH0NCi0gICAgfQ0KLSAgICByZXR1cm4g
RVFVQUw7DQotICB9DQotDQotICBmdW5jdGlvbiBpc1N0cnVjdHVyYWxseUVxdWF0YWJsZSh2YWx1
ZSkgew0KLSAgICByZXR1cm4gISh0eXBlb2YgUHJvbWlzZSA9PT0gJ2Z1bmN0aW9uJyAmJiB2YWx1
ZSBpbnN0YW5jZW9mIFByb21pc2UgLy8gb25seSBjb21wYXJhYmxlIGJ5IHJlZmVyZW5jZQ0KLSAg
ICAgIHx8IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2Yg
V2Vha01hcCAvLyBvbmx5IGNvbXBhcmFibGUgYnkgcmVmZXJlbmNlDQotICAgICAgfHwgdHlwZW9m
IFdlYWtTZXQgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUgaW5zdGFuY2VvZiBXZWFrU2V0IC8vIG9u
bHkgY29tcGFyYWJsZSBieSByZWZlcmVuY2UNCi0gICAgICB8fCB0eXBlb2YgTWFwID09PSAnZnVu
Y3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2YgTWFwIC8vIGNvbXBhcmFibGUgdmlhIEBAaXRlcmF0
b3INCi0gICAgICB8fCB0eXBlb2YgU2V0ID09PSAnZnVuY3Rpb24nICYmIHZhbHVlIGluc3RhbmNl
b2YgU2V0KTsgLy8gY29tcGFyYWJsZSB2aWEgQEBpdGVyYXRvcg0KLSAgfQ0KLQ0KLSAgZnVuY3Rp
b24gY29tcGFyZVN0cnVjdHVyYWxFcXVhbGl0eShhLCBiLCBjYWNoZSkgew0KLSAgICB2YXIgYUtl
eXMgPSBbXTsNCi0gICAgZm9yICh2YXIga2V5IGluIGEpIGFLZXlzLnB1c2goa2V5KTsNCi0NCi0g
ICAgdmFyIGJLZXlzID0gW107DQotICAgIGZvciAodmFyIGtleSBpbiBiKSBiS2V5cy5wdXNoKGtl
eSk7DQotDQotICAgIGlmIChhS2V5cy5sZW5ndGggIT09IGJLZXlzLmxlbmd0aCkgew0KLSAgICAg
IHJldHVybiBOT1RfRVFVQUw7DQotICAgIH0NCi0NCi0gICAgYUtleXMuc29ydCgpOw0KLSAgICBi
S2V5cy5zb3J0KCk7DQotDQotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYUtleXMubGVuZ3RoOyBp
KyspIHsNCi0gICAgICB2YXIgYUtleSA9IGFLZXlzW2ldOw0KLSAgICAgIHZhciBiS2V5ID0gYktl
eXNbaV07DQotICAgICAgaWYgKGNvbXBhcmVFcXVhbGl0eShhS2V5LCBiS2V5LCBjYWNoZSkgPT09
IE5PVF9FUVVBTCkgew0KLSAgICAgICAgcmV0dXJuIE5PVF9FUVVBTDsNCi0gICAgICB9DQotICAg
ICAgaWYgKGNvbXBhcmVFcXVhbGl0eShhW2FLZXldLCBiW2JLZXldLCBjYWNoZSkgPT09IE5PVF9F
UVVBTCkgew0KLSAgICAgICAgcmV0dXJuIE5PVF9FUVVBTDsNCi0gICAgICB9DQotICAgIH0NCi0N
Ci0gICAgcmV0dXJuIGNvbXBhcmVJZihhLCBiLCBpc0l0ZXJhYmxlRXF1YXRhYmxlLCBjb21wYXJl
SXRlcmFibGVFcXVhbGl0eSwgY2FjaGUpDQotICAgICAgfHwgRVFVQUw7DQotICB9DQotDQotICBm
dW5jdGlvbiBpc0l0ZXJhYmxlRXF1YXRhYmxlKHZhbHVlKSB7DQotICAgIHJldHVybiB0eXBlb2Yg
U3ltYm9sID09PSAnZnVuY3Rpb24nDQotICAgICAgJiYgdHlwZW9mIHZhbHVlW1N5bWJvbC5pdGVy
YXRvcl0gPT09ICdmdW5jdGlvbic7DQotICB9DQotDQotICBmdW5jdGlvbiBjb21wYXJlSXRlcmF0
b3JFcXVhbGl0eShhLCBiLCBjYWNoZSkgew0KLSAgICBpZiAodHlwZW9mIE1hcCA9PT0gJ2Z1bmN0
aW9uJyAmJiBhIGluc3RhbmNlb2YgTWFwICYmIGIgaW5zdGFuY2VvZiBNYXAgfHwNCi0gICAgICB0
eXBlb2YgU2V0ID09PSAnZnVuY3Rpb24nICYmIGEgaW5zdGFuY2VvZiBTZXQgJiYgYiBpbnN0YW5j
ZW9mIFNldCkgew0KLSAgICAgIGlmIChhLnNpemUgIT09IGIuc2l6ZSkgcmV0dXJuIE5PVF9FUVVB
TDsgLy8gZXhpdCBlYXJseSBpZiB3ZSBkZXRlY3QgYSBkaWZmZXJlbmNlIGluIHNpemUNCi0gICAg
fQ0KLQ0KLSAgICB2YXIgYXIsIGJyOw0KLSAgICB3aGlsZSAodHJ1ZSkgew0KLSAgICAgIGFyID0g
YS5uZXh0KCk7DQotICAgICAgYnIgPSBiLm5leHQoKTsNCi0gICAgICBpZiAoYXIuZG9uZSkgew0K
LSAgICAgICAgaWYgKGJyLmRvbmUpIHJldHVybiBFUVVBTDsNCi0gICAgICAgIGlmIChiLnJldHVy
bikgYi5yZXR1cm4oKTsNCi0gICAgICAgIHJldHVybiBOT1RfRVFVQUw7DQotICAgICAgfQ0KLSAg
ICAgIGlmIChici5kb25lKSB7DQotICAgICAgICBpZiAoYS5yZXR1cm4pIGEucmV0dXJuKCk7DQot
ICAgICAgICByZXR1cm4gTk9UX0VRVUFMOw0KLSAgICAgIH0NCi0gICAgICBpZiAoY29tcGFyZUVx
dWFsaXR5KGFyLnZhbHVlLCBici52YWx1ZSwgY2FjaGUpID09PSBOT1RfRVFVQUwpIHsNCi0gICAg
ICAgIGlmIChhLnJldHVybikgYS5yZXR1cm4oKTsNCi0gICAgICAgIGlmIChiLnJldHVybikgYi5y
ZXR1cm4oKTsNCi0gICAgICAgIHJldHVybiBOT1RfRVFVQUw7DQotICAgICAgfQ0KLSAgICB9DQot
ICB9DQotDQotICBmdW5jdGlvbiBjb21wYXJlSXRlcmFibGVFcXVhbGl0eShhLCBiLCBjYWNoZSkg
ew0KLSAgICByZXR1cm4gY29tcGFyZUl0ZXJhdG9yRXF1YWxpdHkoYVtTeW1ib2wuaXRlcmF0b3Jd
KCksIGJbU3ltYm9sLml0ZXJhdG9yXSgpLCBjYWNoZSk7DQotICB9DQotDQotICBmdW5jdGlvbiBj
YWNoZUNvbXBhcmlzb24oYSwgYiwgY29tcGFyZSwgY2FjaGUpIHsNCi0gICAgdmFyIHJlc3VsdCA9
IGNvbXBhcmUoYSwgYiwgY2FjaGUpOw0KLSAgICBpZiAoY2FjaGUgJiYgKHJlc3VsdCA9PT0gRVFV
QUwgfHwgcmVzdWx0ID09PSBOT1RfRVFVQUwpKSB7DQotICAgICAgc2V0Q2FjaGUoY2FjaGUsIGEs
IGIsIC8qKiBAdHlwZSB7RVFVQUwgfCBOT1RfRVFVQUx9ICovKHJlc3VsdCkpOw0KLSAgICB9DQot
ICAgIHJldHVybiByZXN1bHQ7DQotICB9DQotDQotICBmdW5jdGlvbiBmYWlsKCkgew0KLSAgICBy
ZXR1cm4gTk9UX0VRVUFMOw0KLSAgfQ0KLQ0KLSAgZnVuY3Rpb24gc2V0Q2FjaGUoY2FjaGUsIGxl
ZnQsIHJpZ2h0LCByZXN1bHQpIHsNCi0gICAgdmFyIG90aGVyQ2FjaGU7DQotDQotICAgIG90aGVy
Q2FjaGUgPSBjYWNoZS5nZXQobGVmdCk7DQotICAgIGlmICghb3RoZXJDYWNoZSkgY2FjaGUuc2V0
KGxlZnQsIG90aGVyQ2FjaGUgPSBuZXcgTWFwKCkpOw0KLSAgICBvdGhlckNhY2hlLnNldChyaWdo
dCwgcmVzdWx0KTsNCi0NCi0gICAgb3RoZXJDYWNoZSA9IGNhY2hlLmdldChyaWdodCk7DQotICAg
IGlmICghb3RoZXJDYWNoZSkgY2FjaGUuc2V0KHJpZ2h0LCBvdGhlckNhY2hlID0gbmV3IE1hcCgp
KTsNCi0gICAgb3RoZXJDYWNoZS5zZXQobGVmdCwgcmVzdWx0KTsNCi0gIH0NCi0NCi0gIGZ1bmN0
aW9uIGdldENhY2hlKGNhY2hlLCBsZWZ0LCByaWdodCkgew0KLSAgICB2YXIgb3RoZXJDYWNoZTsN
Ci0gICAgdmFyIHJlc3VsdDsNCi0NCi0gICAgb3RoZXJDYWNoZSA9IGNhY2hlLmdldChsZWZ0KTsN
Ci0gICAgcmVzdWx0ID0gb3RoZXJDYWNoZSAmJiBvdGhlckNhY2hlLmdldChyaWdodCk7DQotICAg
IGlmIChyZXN1bHQpIHJldHVybiByZXN1bHQ7DQotDQotICAgIG90aGVyQ2FjaGUgPSBjYWNoZS5n
ZXQocmlnaHQpOw0KLSAgICByZXN1bHQgPSBvdGhlckNhY2hlICYmIG90aGVyQ2FjaGUuZ2V0KGxl
ZnQpOw0KLSAgICBpZiAocmVzdWx0KSByZXR1cm4gcmVzdWx0Ow0KLQ0KLSAgICByZXR1cm4gVU5L
Tk9XTjsNCi0gIH0NCi0NCi0gIHJldHVybiBkZWVwRXF1YWw7DQotfSkoKTsNCisvLyBDb3B5cmln
aHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
Ky8qLS0tCitkZXNjcmlwdGlvbjogPgorICBDb21wYXJlIHR3byB2YWx1ZXMgc3RydWN0dXJhbGx5
CitkZWZpbmVzOiBbYXNzZXJ0LmRlZXBFcXVhbF0KKy0tLSovCisKK2Fzc2VydC5kZWVwRXF1YWwg
PSBmdW5jdGlvbihhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIHZhciBmb3JtYXQgPSBh
c3NlcnQuZGVlcEVxdWFsLmZvcm1hdDsKKyAgYXNzZXJ0KAorICAgIGFzc2VydC5kZWVwRXF1YWwu
X2NvbXBhcmUoYWN0dWFsLCBleHBlY3RlZCksCisgICAgYEV4cGVjdGVkICR7Zm9ybWF0KGFjdHVh
bCl9IHRvIGJlIHN0cnVjdHVyYWxseSBlcXVhbCB0byAke2Zvcm1hdChleHBlY3RlZCl9LiAkeyht
ZXNzYWdlIHx8ICcnKX1gCisgICk7Cit9OworCithc3NlcnQuZGVlcEVxdWFsLmZvcm1hdCA9IGZ1
bmN0aW9uKHZhbHVlLCBzZWVuKSB7CisgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7CisgICAgY2Fz
ZSAnc3RyaW5nJzoKKyAgICAgIHJldHVybiB0eXBlb2YgSlNPTiAhPT0gInVuZGVmaW5lZCIgPyBK
U09OLnN0cmluZ2lmeSh2YWx1ZSkgOiBgIiR7dmFsdWV9ImA7CisgICAgY2FzZSAnbnVtYmVyJzoK
KyAgICBjYXNlICdib29sZWFuJzoKKyAgICBjYXNlICdzeW1ib2wnOgorICAgIGNhc2UgJ2JpZ2lu
dCc6CisgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTsKKyAgICBjYXNlICd1bmRlZmluZWQn
OgorICAgICAgcmV0dXJuICd1bmRlZmluZWQnOworICAgIGNhc2UgJ2Z1bmN0aW9uJzoKKyAgICAg
IHJldHVybiBgW0Z1bmN0aW9uJHt2YWx1ZS5uYW1lID8gYDogJHt2YWx1ZS5uYW1lfWAgOiAnJ31d
YDsKKyAgICBjYXNlICdvYmplY3QnOgorICAgICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4g
J251bGwnOworICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIGBEYXRlICIk
e3ZhbHVlLnRvSVNPU3RyaW5nKCl9ImA7CisgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBSZWdF
eHApIHJldHVybiB2YWx1ZS50b1N0cmluZygpOworICAgICAgaWYgKCFzZWVuKSB7CisgICAgICAg
IHNlZW4gPSB7CisgICAgICAgICAgY291bnRlcjogMCwKKyAgICAgICAgICBtYXA6IG5ldyBNYXAo
KQorICAgICAgICB9OworICAgICAgfQorCisgICAgICBsZXQgdXNhZ2UgPSBzZWVuLm1hcC5nZXQo
dmFsdWUpOworICAgICAgaWYgKHVzYWdlKSB7CisgICAgICAgIHVzYWdlLnVzZWQgPSB0cnVlOwor
ICAgICAgICByZXR1cm4gYFtSZWY6ICMke3VzYWdlLmlkfV1gOworICAgICAgfQorCisgICAgICB1
c2FnZSA9IHsgaWQ6ICsrc2Vlbi5jb3VudGVyLCB1c2VkOiBmYWxzZSB9OworICAgICAgc2Vlbi5t
YXAuc2V0KHZhbHVlLCB1c2FnZSk7CisKKyAgICAgIGlmICh0eXBlb2YgU2V0ICE9PSAidW5kZWZp
bmVkIiAmJiB2YWx1ZSBpbnN0YW5jZW9mIFNldCkgeworICAgICAgICByZXR1cm4gYFNldCB7JHtB
cnJheS5mcm9tKHZhbHVlKS5tYXAodmFsdWUgPT4gYXNzZXJ0LmRlZXBFcXVhbC5mb3JtYXQodmFs
dWUsIHNlZW4pKS5qb2luKCcsICcpfX0ke3VzYWdlLnVzZWQgPyBgIGFzICMke3VzYWdlLmlkfWAg
OiAnJ31gOworICAgICAgfQorICAgICAgaWYgKHR5cGVvZiBNYXAgIT09ICJ1bmRlZmluZWQiICYm
IHZhbHVlIGluc3RhbmNlb2YgTWFwKSB7CisgICAgICAgIHJldHVybiBgTWFwIHske0FycmF5LmZy
b20odmFsdWUpLm1hcChwYWlyID0+IGAke2Fzc2VydC5kZWVwRXF1YWwuZm9ybWF0KHBhaXJbMF0s
IHNlZW4pfSA9PiAke2Fzc2VydC5kZWVwRXF1YWwuZm9ybWF0KHBhaXJbMV0sIHNlZW4pfX1gKS5q
b2luKCcsICcpfX0ke3VzYWdlLnVzZWQgPyBgIGFzICMke3VzYWdlLmlkfWAgOiAnJ31gOworICAg
ICAgfQorICAgICAgaWYgKEFycmF5LmlzQXJyYXkgPyBBcnJheS5pc0FycmF5KHZhbHVlKSA6IHZh
bHVlIGluc3RhbmNlb2YgQXJyYXkpIHsKKyAgICAgICAgcmV0dXJuIGBbJHt2YWx1ZS5tYXAodmFs
dWUgPT4gYXNzZXJ0LmRlZXBFcXVhbC5mb3JtYXQodmFsdWUsIHNlZW4pKS5qb2luKCcsICcpfV0k
e3VzYWdlLnVzZWQgPyBgIGFzICMke3VzYWdlLmlkfWAgOiAnJ31gOworICAgICAgfQorICAgICAg
bGV0IHRhZyA9IFN5bWJvbC50b1N0cmluZ1RhZyBpbiB2YWx1ZSA/IHZhbHVlW1N5bWJvbC50b1N0
cmluZ1RhZ10gOiAnT2JqZWN0JzsKKyAgICAgIGlmICh0YWcgPT09ICdPYmplY3QnICYmIE9iamVj
dC5nZXRQcm90b3R5cGVPZih2YWx1ZSkgPT09IG51bGwpIHsKKyAgICAgICAgdGFnID0gJ1tPYmpl
Y3Q6IG51bGwgcHJvdG90eXBlXSc7CisgICAgICB9CisgICAgICByZXR1cm4gYCR7dGFnID8gYCR7
dGFnfSBgIDogJyd9eyAke09iamVjdC5rZXlzKHZhbHVlKS5tYXAoa2V5ID0+IGAke2tleS50b1N0
cmluZygpfTogJHthc3NlcnQuZGVlcEVxdWFsLmZvcm1hdCh2YWx1ZVtrZXldLCBzZWVuKX1gKS5q
b2luKCcsICcpfSB9JHt1c2FnZS51c2VkID8gYCBhcyAjJHt1c2FnZS5pZH1gIDogJyd9YDsKKyAg
ICBkZWZhdWx0OgorICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZTsKKyAgfQorfTsKKworYXNzZXJ0
LmRlZXBFcXVhbC5fY29tcGFyZSA9IChmdW5jdGlvbiAoKSB7CisgIHZhciBFUVVBTCA9IDE7Cisg
IHZhciBOT1RfRVFVQUwgPSAtMTsKKyAgdmFyIFVOS05PV04gPSAwOworCisgIGZ1bmN0aW9uIGRl
ZXBFcXVhbChhLCBiKSB7CisgICAgcmV0dXJuIGNvbXBhcmVFcXVhbGl0eShhLCBiKSA9PT0gRVFV
QUw7CisgIH0KKworICBmdW5jdGlvbiBjb21wYXJlRXF1YWxpdHkoYSwgYiwgY2FjaGUpIHsKKyAg
ICByZXR1cm4gY29tcGFyZUlmKGEsIGIsIGlzT3B0aW9uYWwsIGNvbXBhcmVPcHRpb25hbGl0eSkK
KyAgICAgIHx8IGNvbXBhcmVJZihhLCBiLCBpc1ByaW1pdGl2ZUVxdWF0YWJsZSwgY29tcGFyZVBy
aW1pdGl2ZUVxdWFsaXR5KQorICAgICAgfHwgY29tcGFyZUlmKGEsIGIsIGlzT2JqZWN0RXF1YXRh
YmxlLCBjb21wYXJlT2JqZWN0RXF1YWxpdHksIGNhY2hlKQorICAgICAgfHwgTk9UX0VRVUFMOwor
ICB9CisKKyAgZnVuY3Rpb24gY29tcGFyZUlmKGEsIGIsIHRlc3QsIGNvbXBhcmUsIGNhY2hlKSB7
CisgICAgcmV0dXJuICF0ZXN0KGEpCisgICAgICA/ICF0ZXN0KGIpID8gVU5LTk9XTiA6IE5PVF9F
UVVBTAorICAgICAgOiAhdGVzdChiKSA/IE5PVF9FUVVBTCA6IGNhY2hlQ29tcGFyaXNvbihhLCBi
LCBjb21wYXJlLCBjYWNoZSk7CisgIH0KKworICBmdW5jdGlvbiB0cnlDb21wYXJlU3RyaWN0RXF1
YWxpdHkoYSwgYikgeworICAgIHJldHVybiBhID09PSBiID8gRVFVQUwgOiBVTktOT1dOOworICB9
CisKKyAgZnVuY3Rpb24gdHJ5Q29tcGFyZVR5cGVPZkVxdWFsaXR5KGEsIGIpIHsKKyAgICByZXR1
cm4gdHlwZW9mIGEgIT09IHR5cGVvZiBiID8gTk9UX0VRVUFMIDogVU5LTk9XTjsKKyAgfQorCisg
IGZ1bmN0aW9uIHRyeUNvbXBhcmVUb1N0cmluZ1RhZ0VxdWFsaXR5KGEsIGIpIHsKKyAgICB2YXIg
YVRhZyA9IFN5bWJvbC50b1N0cmluZ1RhZyBpbiBhID8gYVtTeW1ib2wudG9TdHJpbmdUYWddIDog
dW5kZWZpbmVkOworICAgIHZhciBiVGFnID0gU3ltYm9sLnRvU3RyaW5nVGFnIGluIGIgPyBiW1N5
bWJvbC50b1N0cmluZ1RhZ10gOiB1bmRlZmluZWQ7CisgICAgcmV0dXJuIGFUYWcgIT09IGJUYWcg
PyBOT1RfRVFVQUwgOiBVTktOT1dOOworICB9CisKKyAgZnVuY3Rpb24gaXNPcHRpb25hbCh2YWx1
ZSkgeworICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkCisgICAgICB8fCB2YWx1ZSA9PT0g
bnVsbDsKKyAgfQorCisgIGZ1bmN0aW9uIGNvbXBhcmVPcHRpb25hbGl0eShhLCBiKSB7CisgICAg
cmV0dXJuIHRyeUNvbXBhcmVTdHJpY3RFcXVhbGl0eShhLCBiKQorICAgICAgfHwgTk9UX0VRVUFM
OworICB9CisKKyAgZnVuY3Rpb24gaXNQcmltaXRpdmVFcXVhdGFibGUodmFsdWUpIHsKKyAgICBz
d2l0Y2ggKHR5cGVvZiB2YWx1ZSkgeworICAgICAgY2FzZSAnc3RyaW5nJzoKKyAgICAgIGNhc2Ug
J251bWJlcic6CisgICAgICBjYXNlICdiaWdpbnQnOgorICAgICAgY2FzZSAnYm9vbGVhbic6Cisg
ICAgICBjYXNlICdzeW1ib2wnOgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgIGRlZmF1bHQ6
CisgICAgICAgIHJldHVybiBpc0JveGVkKHZhbHVlKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlv
biBjb21wYXJlUHJpbWl0aXZlRXF1YWxpdHkoYSwgYikgeworICAgIGlmIChpc0JveGVkKGEpKSBh
ID0gYS52YWx1ZU9mKCk7CisgICAgaWYgKGlzQm94ZWQoYikpIGIgPSBiLnZhbHVlT2YoKTsKKyAg
ICByZXR1cm4gdHJ5Q29tcGFyZVN0cmljdEVxdWFsaXR5KGEsIGIpCisgICAgICB8fCB0cnlDb21w
YXJlVHlwZU9mRXF1YWxpdHkoYSwgYikKKyAgICAgIHx8IGNvbXBhcmVJZihhLCBiLCBpc05hTkVx
dWF0YWJsZSwgY29tcGFyZU5hTkVxdWFsaXR5KQorICAgICAgfHwgTk9UX0VRVUFMOworICB9CisK
KyAgZnVuY3Rpb24gaXNOYU5FcXVhdGFibGUodmFsdWUpIHsKKyAgICByZXR1cm4gdHlwZW9mIHZh
bHVlID09PSAnbnVtYmVyJzsKKyAgfQorCisgIGZ1bmN0aW9uIGNvbXBhcmVOYU5FcXVhbGl0eShh
LCBiKSB7CisgICAgcmV0dXJuIGlzTmFOKGEpICYmIGlzTmFOKGIpID8gRVFVQUwgOiBOT1RfRVFV
QUw7CisgIH0KKworICBmdW5jdGlvbiBpc09iamVjdEVxdWF0YWJsZSh2YWx1ZSkgeworICAgIHJl
dHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnOworICB9CisKKyAgZnVuY3Rpb24gY29tcGFy
ZU9iamVjdEVxdWFsaXR5KGEsIGIsIGNhY2hlKSB7CisgICAgaWYgKCFjYWNoZSkgY2FjaGUgPSBu
ZXcgTWFwKCk7CisgICAgcmV0dXJuIGdldENhY2hlKGNhY2hlLCBhLCBiKQorICAgICAgfHwgc2V0
Q2FjaGUoY2FjaGUsIGEsIGIsIEVRVUFMKSAvLyBjb25zaWRlciBlcXVhbCBmb3Igbm93CisgICAg
ICB8fCBjYWNoZUNvbXBhcmlzb24oYSwgYiwgdHJ5Q29tcGFyZVN0cmljdEVxdWFsaXR5LCBjYWNo
ZSkKKyAgICAgIHx8IGNhY2hlQ29tcGFyaXNvbihhLCBiLCB0cnlDb21wYXJlVG9TdHJpbmdUYWdF
cXVhbGl0eSwgY2FjaGUpCisgICAgICB8fCBjb21wYXJlSWYoYSwgYiwgaXNWYWx1ZU9mRXF1YXRh
YmxlLCBjb21wYXJlVmFsdWVPZkVxdWFsaXR5KQorICAgICAgfHwgY29tcGFyZUlmKGEsIGIsIGlz
VG9TdHJpbmdFcXVhdGFibGUsIGNvbXBhcmVUb1N0cmluZ0VxdWFsaXR5KQorICAgICAgfHwgY29t
cGFyZUlmKGEsIGIsIGlzQXJyYXlMaWtlRXF1YXRhYmxlLCBjb21wYXJlQXJyYXlMaWtlRXF1YWxp
dHksIGNhY2hlKQorICAgICAgfHwgY29tcGFyZUlmKGEsIGIsIGlzU3RydWN0dXJhbGx5RXF1YXRh
YmxlLCBjb21wYXJlU3RydWN0dXJhbEVxdWFsaXR5LCBjYWNoZSkKKyAgICAgIHx8IGNvbXBhcmVJ
ZihhLCBiLCBpc0l0ZXJhYmxlRXF1YXRhYmxlLCBjb21wYXJlSXRlcmFibGVFcXVhbGl0eSwgY2Fj
aGUpCisgICAgICB8fCBjYWNoZUNvbXBhcmlzb24oYSwgYiwgZmFpbCwgY2FjaGUpOworICB9CisK
KyAgZnVuY3Rpb24gaXNCb3hlZCh2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9m
IFN0cmluZworICAgICAgfHwgdmFsdWUgaW5zdGFuY2VvZiBOdW1iZXIKKyAgICAgIHx8IHZhbHVl
IGluc3RhbmNlb2YgQm9vbGVhbgorICAgICAgfHwgdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9u
JyAmJiB2YWx1ZSBpbnN0YW5jZW9mIFN5bWJvbAorICAgICAgfHwgdHlwZW9mIEJpZ0ludCA9PT0g
J2Z1bmN0aW9uJyAmJiB2YWx1ZSBpbnN0YW5jZW9mIEJpZ0ludDsKKyAgfQorCisgIGZ1bmN0aW9u
IGlzVmFsdWVPZkVxdWF0YWJsZSh2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9m
IERhdGU7CisgIH0KKworICBmdW5jdGlvbiBjb21wYXJlVmFsdWVPZkVxdWFsaXR5KGEsIGIpIHsK
KyAgICByZXR1cm4gY29tcGFyZUlmKGEudmFsdWVPZigpLCBiLnZhbHVlT2YoKSwgaXNQcmltaXRp
dmVFcXVhdGFibGUsIGNvbXBhcmVQcmltaXRpdmVFcXVhbGl0eSkKKyAgICAgIHx8IE5PVF9FUVVB
TDsKKyAgfQorCisgIGZ1bmN0aW9uIGlzVG9TdHJpbmdFcXVhdGFibGUodmFsdWUpIHsKKyAgICBy
ZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBSZWdFeHA7CisgIH0KKworICBmdW5jdGlvbiBjb21wYXJl
VG9TdHJpbmdFcXVhbGl0eShhLCBiKSB7CisgICAgcmV0dXJuIGNvbXBhcmVJZihhLnRvU3RyaW5n
KCksIGIudG9TdHJpbmcoKSwgaXNQcmltaXRpdmVFcXVhdGFibGUsIGNvbXBhcmVQcmltaXRpdmVF
cXVhbGl0eSkKKyAgICAgIHx8IE5PVF9FUVVBTDsKKyAgfQorCisgIGZ1bmN0aW9uIGlzQXJyYXlM
aWtlRXF1YXRhYmxlKHZhbHVlKSB7CisgICAgcmV0dXJuIChBcnJheS5pc0FycmF5ID8gQXJyYXku
aXNBcnJheSh2YWx1ZSkgOiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KQorICAgICAgfHwgKHR5cGVv
ZiBVaW50OEFycmF5ID09PSAnZnVuY3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2YgVWludDhBcnJh
eSkKKyAgICAgIHx8ICh0eXBlb2YgVWludDhDbGFtcGVkQXJyYXkgPT09ICdmdW5jdGlvbicgJiYg
dmFsdWUgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSkKKyAgICAgIHx8ICh0eXBlb2YgVWlu
dDE2QXJyYXkgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUgaW5zdGFuY2VvZiBVaW50MTZBcnJheSkK
KyAgICAgIHx8ICh0eXBlb2YgVWludDMyQXJyYXkgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUgaW5z
dGFuY2VvZiBVaW50MzJBcnJheSkKKyAgICAgIHx8ICh0eXBlb2YgSW50OEFycmF5ID09PSAnZnVu
Y3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2YgSW50OEFycmF5KQorICAgICAgfHwgKHR5cGVvZiBJ
bnQxNkFycmF5ID09PSAnZnVuY3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2YgSW50MTZBcnJheSkK
KyAgICAgIHx8ICh0eXBlb2YgSW50MzJBcnJheSA9PT0gJ2Z1bmN0aW9uJyAmJiB2YWx1ZSBpbnN0
YW5jZW9mIEludDMyQXJyYXkpCisgICAgICB8fCAodHlwZW9mIEZsb2F0MzJBcnJheSA9PT0gJ2Z1
bmN0aW9uJyAmJiB2YWx1ZSBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSkKKyAgICAgIHx8ICh0eXBl
b2YgRmxvYXQ2NEFycmF5ID09PSAnZnVuY3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2YgRmxvYXQ2
NEFycmF5KQorICAgICAgfHwgKHR5cGVvZiBCaWdVaW50NjRBcnJheSA9PT0gJ2Z1bmN0aW9uJyAm
JiB2YWx1ZSBpbnN0YW5jZW9mIEJpZ1VpbnQ2NEFycmF5KQorICAgICAgfHwgKHR5cGVvZiBCaWdJ
bnQ2NEFycmF5ID09PSAnZnVuY3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2YgQmlnSW50NjRBcnJh
eSk7CisgIH0KKworICBmdW5jdGlvbiBjb21wYXJlQXJyYXlMaWtlRXF1YWxpdHkoYSwgYiwgY2Fj
aGUpIHsKKyAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSByZXR1cm4gTk9UX0VRVUFMOwor
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgeworICAgICAgaWYgKGNvbXBh
cmVFcXVhbGl0eShhW2ldLCBiW2ldLCBjYWNoZSkgPT09IE5PVF9FUVVBTCkgeworICAgICAgICBy
ZXR1cm4gTk9UX0VRVUFMOworICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gRVFVQUw7CisgIH0K
KworICBmdW5jdGlvbiBpc1N0cnVjdHVyYWxseUVxdWF0YWJsZSh2YWx1ZSkgeworICAgIHJldHVy
biAhKHR5cGVvZiBQcm9taXNlID09PSAnZnVuY3Rpb24nICYmIHZhbHVlIGluc3RhbmNlb2YgUHJv
bWlzZSAvLyBvbmx5IGNvbXBhcmFibGUgYnkgcmVmZXJlbmNlCisgICAgICB8fCB0eXBlb2YgV2Vh
a01hcCA9PT0gJ2Z1bmN0aW9uJyAmJiB2YWx1ZSBpbnN0YW5jZW9mIFdlYWtNYXAgLy8gb25seSBj
b21wYXJhYmxlIGJ5IHJlZmVyZW5jZQorICAgICAgfHwgdHlwZW9mIFdlYWtTZXQgPT09ICdmdW5j
dGlvbicgJiYgdmFsdWUgaW5zdGFuY2VvZiBXZWFrU2V0IC8vIG9ubHkgY29tcGFyYWJsZSBieSBy
ZWZlcmVuY2UKKyAgICAgIHx8IHR5cGVvZiBNYXAgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUgaW5z
dGFuY2VvZiBNYXAgLy8gY29tcGFyYWJsZSB2aWEgQEBpdGVyYXRvcgorICAgICAgfHwgdHlwZW9m
IFNldCA9PT0gJ2Z1bmN0aW9uJyAmJiB2YWx1ZSBpbnN0YW5jZW9mIFNldCk7IC8vIGNvbXBhcmFi
bGUgdmlhIEBAaXRlcmF0b3IKKyAgfQorCisgIGZ1bmN0aW9uIGNvbXBhcmVTdHJ1Y3R1cmFsRXF1
YWxpdHkoYSwgYiwgY2FjaGUpIHsKKyAgICB2YXIgYUtleXMgPSBbXTsKKyAgICBmb3IgKHZhciBr
ZXkgaW4gYSkgYUtleXMucHVzaChrZXkpOworCisgICAgdmFyIGJLZXlzID0gW107CisgICAgZm9y
ICh2YXIga2V5IGluIGIpIGJLZXlzLnB1c2goa2V5KTsKKworICAgIGlmIChhS2V5cy5sZW5ndGgg
IT09IGJLZXlzLmxlbmd0aCkgeworICAgICAgcmV0dXJuIE5PVF9FUVVBTDsKKyAgICB9CisKKyAg
ICBhS2V5cy5zb3J0KCk7CisgICAgYktleXMuc29ydCgpOworCisgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBhS2V5cy5sZW5ndGg7IGkrKykgeworICAgICAgdmFyIGFLZXkgPSBhS2V5c1tpXTsKKyAg
ICAgIHZhciBiS2V5ID0gYktleXNbaV07CisgICAgICBpZiAoY29tcGFyZUVxdWFsaXR5KGFLZXks
IGJLZXksIGNhY2hlKSA9PT0gTk9UX0VRVUFMKSB7CisgICAgICAgIHJldHVybiBOT1RfRVFVQUw7
CisgICAgICB9CisgICAgICBpZiAoY29tcGFyZUVxdWFsaXR5KGFbYUtleV0sIGJbYktleV0sIGNh
Y2hlKSA9PT0gTk9UX0VRVUFMKSB7CisgICAgICAgIHJldHVybiBOT1RfRVFVQUw7CisgICAgICB9
CisgICAgfQorCisgICAgcmV0dXJuIGNvbXBhcmVJZihhLCBiLCBpc0l0ZXJhYmxlRXF1YXRhYmxl
LCBjb21wYXJlSXRlcmFibGVFcXVhbGl0eSwgY2FjaGUpCisgICAgICB8fCBFUVVBTDsKKyAgfQor
CisgIGZ1bmN0aW9uIGlzSXRlcmFibGVFcXVhdGFibGUodmFsdWUpIHsKKyAgICByZXR1cm4gdHlw
ZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJworICAgICAgJiYgdHlwZW9mIHZhbHVlW1N5bWJvbC5p
dGVyYXRvcl0gPT09ICdmdW5jdGlvbic7CisgIH0KKworICBmdW5jdGlvbiBjb21wYXJlSXRlcmF0
b3JFcXVhbGl0eShhLCBiLCBjYWNoZSkgeworICAgIGlmICh0eXBlb2YgTWFwID09PSAnZnVuY3Rp
b24nICYmIGEgaW5zdGFuY2VvZiBNYXAgJiYgYiBpbnN0YW5jZW9mIE1hcCB8fAorICAgICAgdHlw
ZW9mIFNldCA9PT0gJ2Z1bmN0aW9uJyAmJiBhIGluc3RhbmNlb2YgU2V0ICYmIGIgaW5zdGFuY2Vv
ZiBTZXQpIHsKKyAgICAgIGlmIChhLnNpemUgIT09IGIuc2l6ZSkgcmV0dXJuIE5PVF9FUVVBTDsg
Ly8gZXhpdCBlYXJseSBpZiB3ZSBkZXRlY3QgYSBkaWZmZXJlbmNlIGluIHNpemUKKyAgICB9CisK
KyAgICB2YXIgYXIsIGJyOworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICBhciA9IGEubmV4dCgp
OworICAgICAgYnIgPSBiLm5leHQoKTsKKyAgICAgIGlmIChhci5kb25lKSB7CisgICAgICAgIGlm
IChici5kb25lKSByZXR1cm4gRVFVQUw7CisgICAgICAgIGlmIChiLnJldHVybikgYi5yZXR1cm4o
KTsKKyAgICAgICAgcmV0dXJuIE5PVF9FUVVBTDsKKyAgICAgIH0KKyAgICAgIGlmIChici5kb25l
KSB7CisgICAgICAgIGlmIChhLnJldHVybikgYS5yZXR1cm4oKTsKKyAgICAgICAgcmV0dXJuIE5P
VF9FUVVBTDsKKyAgICAgIH0KKyAgICAgIGlmIChjb21wYXJlRXF1YWxpdHkoYXIudmFsdWUsIGJy
LnZhbHVlLCBjYWNoZSkgPT09IE5PVF9FUVVBTCkgeworICAgICAgICBpZiAoYS5yZXR1cm4pIGEu
cmV0dXJuKCk7CisgICAgICAgIGlmIChiLnJldHVybikgYi5yZXR1cm4oKTsKKyAgICAgICAgcmV0
dXJuIE5PVF9FUVVBTDsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBjb21wYXJl
SXRlcmFibGVFcXVhbGl0eShhLCBiLCBjYWNoZSkgeworICAgIHJldHVybiBjb21wYXJlSXRlcmF0
b3JFcXVhbGl0eShhW1N5bWJvbC5pdGVyYXRvcl0oKSwgYltTeW1ib2wuaXRlcmF0b3JdKCksIGNh
Y2hlKTsKKyAgfQorCisgIGZ1bmN0aW9uIGNhY2hlQ29tcGFyaXNvbihhLCBiLCBjb21wYXJlLCBj
YWNoZSkgeworICAgIHZhciByZXN1bHQgPSBjb21wYXJlKGEsIGIsIGNhY2hlKTsKKyAgICBpZiAo
Y2FjaGUgJiYgKHJlc3VsdCA9PT0gRVFVQUwgfHwgcmVzdWx0ID09PSBOT1RfRVFVQUwpKSB7Cisg
ICAgICBzZXRDYWNoZShjYWNoZSwgYSwgYiwgLyoqIEB0eXBlIHtFUVVBTCB8IE5PVF9FUVVBTH0g
Ki8ocmVzdWx0KSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7CisgIH0KKworICBmdW5jdGlv
biBmYWlsKCkgeworICAgIHJldHVybiBOT1RfRVFVQUw7CisgIH0KKworICBmdW5jdGlvbiBzZXRD
YWNoZShjYWNoZSwgbGVmdCwgcmlnaHQsIHJlc3VsdCkgeworICAgIHZhciBvdGhlckNhY2hlOwor
CisgICAgb3RoZXJDYWNoZSA9IGNhY2hlLmdldChsZWZ0KTsKKyAgICBpZiAoIW90aGVyQ2FjaGUp
IGNhY2hlLnNldChsZWZ0LCBvdGhlckNhY2hlID0gbmV3IE1hcCgpKTsKKyAgICBvdGhlckNhY2hl
LnNldChyaWdodCwgcmVzdWx0KTsKKworICAgIG90aGVyQ2FjaGUgPSBjYWNoZS5nZXQocmlnaHQp
OworICAgIGlmICghb3RoZXJDYWNoZSkgY2FjaGUuc2V0KHJpZ2h0LCBvdGhlckNhY2hlID0gbmV3
IE1hcCgpKTsKKyAgICBvdGhlckNhY2hlLnNldChsZWZ0LCByZXN1bHQpOworICB9CisKKyAgZnVu
Y3Rpb24gZ2V0Q2FjaGUoY2FjaGUsIGxlZnQsIHJpZ2h0KSB7CisgICAgdmFyIG90aGVyQ2FjaGU7
CisgICAgdmFyIHJlc3VsdDsKKworICAgIG90aGVyQ2FjaGUgPSBjYWNoZS5nZXQobGVmdCk7Cisg
ICAgcmVzdWx0ID0gb3RoZXJDYWNoZSAmJiBvdGhlckNhY2hlLmdldChyaWdodCk7CisgICAgaWYg
KHJlc3VsdCkgcmV0dXJuIHJlc3VsdDsKKworICAgIG90aGVyQ2FjaGUgPSBjYWNoZS5nZXQocmln
aHQpOworICAgIHJlc3VsdCA9IG90aGVyQ2FjaGUgJiYgb3RoZXJDYWNoZS5nZXQobGVmdCk7Cisg
ICAgaWYgKHJlc3VsdCkgcmV0dXJuIHJlc3VsdDsKKworICAgIHJldHVybiBVTktOT1dOOworICB9
CisKKyAgcmV0dXJuIGRlZXBFcXVhbDsKK30pKCk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvZXJyb3JzLWl0ZXJhYmxldG9saXN0LWZhaWx1cmVz
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdh
dGVFcnJvci9lcnJvcnMtaXRlcmFibGV0b2xpc3QtZmFpbHVyZXMuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL2Vycm9ycy1p
dGVyYWJsZXRvbGlzdC1mYWlsdXJlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4MyBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYWdncmVnYXRlLWVycm9yCitkZXNj
cmlwdGlvbjogPgorICBSZXR1cm4gYWJydXB0IGNvbXBsZXRpb24gZnJvbSBJdGVyYWJsZVRvTGlz
dChlcnJvcnMpCitpbmZvOiB8CisgIEFnZ3JlZ2F0ZUVycm9yICggZXJyb3JzLCBtZXNzYWdlICkK
KworICAuLi4KKyAgMy4gTGV0IGVycm9yc0xpc3QgYmUgPyBJdGVyYWJsZVRvTGlzdChlcnJvcnMp
LgorICA0LiBTZXQgTy5bW0FnZ3JlZ2F0ZUVycm9yc11dIHRvIGVycm9yc0xpc3QuCisgIC4uLgor
ICA2LiBSZXR1cm4gTy4KKworICBSdW50aW1lIFNlbWFudGljczogSXRlcmFibGVUb0xpc3QgKCBp
dGVtcyBbICwgbWV0aG9kIF0gKQorCisgIDEuIElmIG1ldGhvZCBpcyBwcmVzZW50LCB0aGVuCisg
ICAgLi4uCisgIDIuIEVsc2UsCisgICAgYi4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRl
cmF0b3IoaXRlbXMsIHN5bmMpLgorICAzLiBMZXQgdmFsdWVzIGJlIGEgbmV3IGVtcHR5IExpc3Qu
CisgIDQuIExldCBuZXh0IGJlIHRydWUuCisgIDUuIFJlcGVhdCwgd2hpbGUgbmV4dCBpcyBub3Qg
ZmFsc2UKKyAgICBhLiBTZXQgbmV4dCB0byA/IEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCku
CisgICAgYi4gSWYgbmV4dCBpcyBub3QgZmFsc2UsIHRoZW4KKyAgICAgIGkuIExldCBuZXh0VmFs
dWUgYmUgPyBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgaWkuIEFwcGVuZCBuZXh0VmFsdWUg
dG8gdGhlIGVuZCBvZiB0aGUgTGlzdCB2YWx1ZXMuCisgIDYuIFJldHVybiB2YWx1ZXMuCisKKyAg
R2V0SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgIC4uLgorICAz
LiBJZiBtZXRob2QgaXMgbm90IHByZXNlbnQsIHRoZW4KKyAgICBhLiBJZiBoaW50IGlzIGFzeW5j
LCB0aGVuCisgICAgICAuLi4KKyAgICBiLiBPdGhlcndpc2UsIHNldCBtZXRob2QgdG8gPyBHZXRN
ZXRob2Qob2JqLCBAQGl0ZXJhdG9yKS4KKyAgNC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRo
b2QsIG9iaikuCisgIDUuIElmIFR5cGUoaXRlcmF0b3IpIGlzIG5vdCBPYmplY3QsIHRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgNi4gTGV0IG5leHRNZXRob2QgYmUgPyBHZXRWKGl0ZXJh
dG9yLCAibmV4dCIpLgorICAuLi4KKyAgOC4gUmV0dXJuIGl0ZXJhdG9yUmVjb3JkLgorZmVhdHVy
ZXM6IFtBZ2dyZWdhdGVFcnJvciwgU3ltYm9sLml0ZXJhdG9yXQorLS0tKi8KKwordmFyIGNhc2Ux
ID0geworICBnZXQgW1N5bWJvbC5pdGVyYXRvcl0oKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigpOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4gewor
ICB2YXIgb2JqID0gbmV3IEFnZ3JlZ2F0ZUVycm9yKGNhc2UxKTsKK30sICdnZXQgU3ltYm9sLml0
ZXJhdG9yJyk7CisKK3ZhciBjYXNlMiA9IHsKKyAgZ2V0IFtTeW1ib2wuaXRlcmF0b3JdKCkgewor
ICAgIHJldHVybiB7fTsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+
IHsKKyAgdmFyIG9iaiA9IG5ldyBBZ2dyZWdhdGVFcnJvcihjYXNlMik7Cit9LCAnR2V0TWV0aG9k
KG9iaiwgQEBpdGVyYXRvcikgYWJydXB0cyBmcm9tIG5vbiBjYWxsYWJsZScpOworCit2YXIgY2Fz
ZTMgPSB7CisgIFtTeW1ib2wuaXRlcmF0b3JdKCkgeworICAgIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoKTsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAg
dmFyIG9iaiA9IG5ldyBBZ2dyZWdhdGVFcnJvcihjYXNlMyk7Cit9LCAnQWJydXB0IGZyb20gQEBp
dGVyYXRvciBjYWxsJyk7CisKK3ZhciBjYXNlNCA9IHsKKyAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7
CisgICAgcmV0dXJuICdhIHN0cmluZyc7CisgIH0KK307CisKK2Fzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCAoKSA9PiB7CisgIHZhciBvYmogPSBuZXcgQWdncmVnYXRlRXJyb3IoY2FzZTQpOworfSwg
J0BAaXRlcmF0b3IgY2FsbCByZXR1cm5zIGEgc3RyaW5nJyk7CisKK3ZhciBjYXNlNSA9IHsKKyAg
W1N5bWJvbC5pdGVyYXRvcl0oKSB7CisgICAgcmV0dXJuIHVuZGVmaW5lZDsKKyAgfQorfTsKKwor
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgdmFyIG9iaiA9IG5ldyBBZ2dyZWdh
dGVFcnJvcihjYXNlNSk7Cit9LCAnQEBpdGVyYXRvciBjYWxsIHJldHVybnMgdW5kZWZpbmVkJyk7
CisKK3ZhciBjYXNlNiA9IHsKKyAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7CisgICAgcmV0dXJuIHsK
KyAgICAgIGdldCBuZXh0KCkgeworICAgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7Cisg
ICAgICB9CisgICAgfQorICB9Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkg
PT4geworICB2YXIgb2JqID0gbmV3IEFnZ3JlZ2F0ZUVycm9yKGNhc2U2KTsKK30sICdHZXRWKGl0
ZXJhdG9yLCBuZXh0KSByZXR1cm5zIGFicnVwdCcpOworCit2YXIgY2FzZTcgPSB7CisgIFtTeW1i
b2wuaXRlcmF0b3JdKCkgeworICAgIHJldHVybiB7CisgICAgICBnZXQgbmV4dCgpIHsKKyAgICAg
ICAgcmV0dXJuIHt9OworICAgICAgfQorICAgIH0KKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsICgpID0+IHsKKyAgdmFyIG9iaiA9IG5ldyBBZ2dyZWdhdGVFcnJvcihjYXNlNyk7
Cit9LCAnR2V0VihpdGVyYXRvciwgbmV4dCkgcmV0dXJucyBhIG5vbiBjYWxsYWJsZScpOworCit2
YXIgY2FzZTggPSB7CisgIFtTeW1ib2wuaXRlcmF0b3JdKCkgeworICAgIHJldHVybiB7CisgICAg
ICBuZXh0KCkgeworICAgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgICB9Cisg
ICAgfQorICB9Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICB2
YXIgb2JqID0gbmV3IEFnZ3JlZ2F0ZUVycm9yKGNhc2U4KTsKK30sICdhYnJ1cHQgZnJvbSBpdGVy
YXRvci5uZXh0KCknKTsKKwordmFyIGNhc2U5ID0geworICBbU3ltYm9sLml0ZXJhdG9yXSgpIHsK
KyAgICByZXR1cm4geworICAgICAgbmV4dCgpIHsKKyAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsK
KyAgICAgIH0KKyAgICB9CisgIH0KK307CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9
PiB7CisgIHZhciBvYmogPSBuZXcgQWdncmVnYXRlRXJyb3IoY2FzZTkpOworfSwgJ2l0ZXJhdG9y
Lm5leHQoKSByZXR1cm5zIHVuZGVmaW5lZCcpOworCit2YXIgY2FzZTEwID0geworICBbU3ltYm9s
Lml0ZXJhdG9yXSgpIHsKKyAgICByZXR1cm4geworICAgICAgbmV4dCgpIHsKKyAgICAgICAgcmV0
dXJuICdhIHN0cmluZyc7CisgICAgICB9CisgICAgfQorICB9Cit9OworCithc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgKCkgPT4geworICB2YXIgb2JqID0gbmV3IEFnZ3JlZ2F0ZUVycm9yKGNhc2Ux
MCk7Cit9LCAnaXRlcmF0b3IubmV4dCgpIHJldHVybnMgYSBzdHJpbmcnKTsKKwordmFyIGNhc2Ux
MSA9IHsKKyAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7CisgICAgcmV0dXJuIHsKKyAgICAgIG5leHQo
KSB7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgZ2V0IGRvbmUoKSB7CisgICAgICAgICAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgICAgICAgfQorICAgICAgICB9OworICAg
ICAgfQorICAgIH0KKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+
IHsKKyAgdmFyIG9iaiA9IG5ldyBBZ2dyZWdhdGVFcnJvcihjYXNlMTEpOworfSwgJ0l0ZXJhdG9y
Q29tcGV0ZSBhYnJ1cHRzIGdldHRpbmcgdGhlIGRvbmUgcHJvcGVydHknKTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9lcnJvcnMtaXRlcmFibGV0
b2xpc3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Fn
Z3JlZ2F0ZUVycm9yL2Vycm9ycy1pdGVyYWJsZXRvbGlzdC5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvZXJyb3JzLWl0ZXJh
YmxldG9saXN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjkgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLWFnZ3JlZ2F0ZS1lcnJvcgorZGVzY3JpcHRpb246ID4KKyAg
SXRlcmF0aW9uIG9mIGVycm9ycworaW5mbzogfAorICBBZ2dyZWdhdGVFcnJvciAoIGVycm9ycywg
bWVzc2FnZSApCisKKyAgLi4uCisgIDMuIExldCBlcnJvcnNMaXN0IGJlID8gSXRlcmFibGVUb0xp
c3QoZXJyb3JzKS4KKyAgNC4gU2V0IE8uW1tBZ2dyZWdhdGVFcnJvcnNdXSB0byBlcnJvcnNMaXN0
LgorICAuLi4KKyAgNi4gUmV0dXJuIE8uCisKKyAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhYmxl
VG9MaXN0ICggaXRlbXMgWyAsIG1ldGhvZCBdICkKKworICAxLiBJZiBtZXRob2QgaXMgcHJlc2Vu
dCwgdGhlbgorICAgIC4uLgorICAyLiBFbHNlLAorICAgIGIuIExldCBpdGVyYXRvclJlY29yZCBi
ZSA/IEdldEl0ZXJhdG9yKGl0ZW1zLCBzeW5jKS4KKyAgMy4gTGV0IHZhbHVlcyBiZSBhIG5ldyBl
bXB0eSBMaXN0LgorICA0LiBMZXQgbmV4dCBiZSB0cnVlLgorICA1LiBSZXBlYXQsIHdoaWxlIG5l
eHQgaXMgbm90IGZhbHNlCisgICAgYS4gU2V0IG5leHQgdG8gPyBJdGVyYXRvclN0ZXAoaXRlcmF0
b3JSZWNvcmQpLgorICAgIGIuIElmIG5leHQgaXMgbm90IGZhbHNlLCB0aGVuCisgICAgICBpLiBM
ZXQgbmV4dFZhbHVlIGJlID8gSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgIGlpLiBBcHBlbmQg
bmV4dFZhbHVlIHRvIHRoZSBlbmQgb2YgdGhlIExpc3QgdmFsdWVzLgorICA2LiBSZXR1cm4gdmFs
dWVzLgorCisgIEdldEl0ZXJhdG9yICggb2JqIFsgLCBoaW50IFsgLCBtZXRob2QgXSBdICkKKwor
ICAuLi4KKyAgMy4gSWYgbWV0aG9kIGlzIG5vdCBwcmVzZW50LCB0aGVuCisgICAgYS4gSWYgaGlu
dCBpcyBhc3luYywgdGhlbgorICAgICAgLi4uCisgICAgYi4gT3RoZXJ3aXNlLCBzZXQgbWV0aG9k
IHRvID8gR2V0TWV0aG9kKG9iaiwgQEBpdGVyYXRvcikuCisgIDQuIExldCBpdGVyYXRvciBiZSA/
IENhbGwobWV0aG9kLCBvYmopLgorICA1LiBJZiBUeXBlKGl0ZXJhdG9yKSBpcyBub3QgT2JqZWN0
LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDYuIExldCBuZXh0TWV0aG9kIGJlID8g
R2V0VihpdGVyYXRvciwgIm5leHQiKS4KKyAgLi4uCisgIDguIFJldHVybiBpdGVyYXRvclJlY29y
ZC4KK2ZlYXR1cmVzOiBbQWdncmVnYXRlRXJyb3IsIFN5bWJvbC5pdGVyYXRvcl0KK2luY2x1ZGVz
OiBbY29tcGFyZUFycmF5LmpzXQorLS0tKi8KKwordmFyIGNvdW50ID0gMDsKK3ZhciB2YWx1ZXMg
PSBbXTsKK3ZhciBjYXNlMSA9IHsKKyAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7CisgICAgcmV0dXJu
IHsKKyAgICAgIG5leHQoKSB7CisgICAgICAgIGNvdW50ICs9IDE7CisgICAgICAgIHJldHVybiB7
CisgICAgICAgICAgZG9uZTogY291bnQgPT09IDMsCisgICAgICAgICAgZ2V0IHZhbHVlKCkgewor
ICAgICAgICAgICAgdmFsdWVzLnB1c2goY291bnQpCisgICAgICAgICAgfQorICAgICAgICB9Owor
ICAgICAgfQorICAgIH07CisgIH0KK307CisKK25ldyBBZ2dyZWdhdGVFcnJvcihjYXNlMSk7CisK
K2Fzc2VydC5zYW1lVmFsdWUoY291bnQsIDMpOworYXNzZXJ0LmNvbXBhcmVBcnJheSh2YWx1ZXMs
IFsxLCAyXSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRl
RXJyb3IvbGVuZ3RoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BZ2dyZWdhdGVFcnJvci9sZW5ndGguanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL2xlbmd0aC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1h
Z2dyZWdhdGUtZXJyb3IKK2Rlc2NyaXB0aW9uOiBBZ2dyZWdhdGVFcnJvci5sZW5ndGggcHJvcGVy
dHkgZGVzY3JpcHRvcgoraW5mbzogfAorICBBZ2dyZWdhdGVFcnJvciAoIGVycm9ycywgbWVzc2Fn
ZSApCisKKyAgMTcgRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1pbiBPYmplY3RzCisKKyAgRXZl
cnkgYnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0b3JzLCBoYXMg
YSBsZW5ndGgKKyAgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90
aGVyd2lzZSBzcGVjaWZpZWQsIHRoaXMKKyAgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIGxhcmdlc3Qg
bnVtYmVyIG9mIG5hbWVkIGFyZ3VtZW50cyBzaG93biBpbiB0aGUKKyAgc3ViY2xhdXNlIGhlYWRp
bmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24uIE9wdGlvbmFsIHBhcmFtZXRlcnMKKyAg
KHdoaWNoIGFyZSBpbmRpY2F0ZWQgd2l0aCBicmFja2V0czogWyBdKSBvciByZXN0IHBhcmFtZXRl
cnMgKHdoaWNoCisgIGFyZSBzaG93biB1c2luZyB0aGUgZm9ybSDCqy4uLm5hbWXCuykgYXJlIG5v
dCBpbmNsdWRlZCBpbiB0aGUgZGVmYXVsdAorICBhcmd1bWVudCBjb3VudC4KKworICBVbmxlc3Mg
b3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBhIGJ1aWx0LWluCisg
IGZ1bmN0aW9uIG9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IGZhbHNl
LAorICBbW0VudW1lcmFibGVdXTogZmFsc2UsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KK2lu
Y2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczogW0FnZ3JlZ2F0ZUVycm9yXQor
LS0tKi8KKwordmVyaWZ5UHJvcGVydHkoQWdncmVnYXRlRXJyb3IsICdsZW5ndGgnLCB7CisgIHZh
bHVlOiAyLAorICB3cml0YWJsZTogZmFsc2UsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICBjb25m
aWd1cmFibGU6IHRydWUKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0FnZ3JlZ2F0ZUVycm9yL21lc3NhZ2UtbWV0aG9kLXByb3AtY2FzdC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbWVzc2FnZS1t
ZXRob2QtcHJvcC1jYXN0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9tZXNzYWdlLW1ldGhvZC1wcm9wLWNhc3QuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw2OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBC
YWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtYWdncmVnYXRlLWVycm9yCitkZXNjcmlwdGlvbjogPgorICBDYXN0IFRvU3RyaW5nIHZh
bHVlcyBvZiBtZXNzYWdlIGluIHRoZSBjcmVhdGVkIG1ldGhvZCBwcm9wZXJ0eQoraW5mbzogfAor
ICBBZ2dyZWdhdGVFcnJvciAoIGVycm9ycywgbWVzc2FnZSApCisKKyAgLi4uCisgIDUuIElmIG1l
c3NhZ2UgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgIGEuIExldCBtc2cgYmUgPyBUb1N0cmlu
ZyhtZXNzYWdlKS4KKyAgICBiLiBQZXJmb3JtICEgQ3JlYXRlTWV0aG9kUHJvcGVydHkoTywgIm1l
c3NhZ2UiLCBtc2cpLgorICA2LiBSZXR1cm4gTy4KKworICBDcmVhdGVNZXRob2RQcm9wZXJ0eSAo
IE8sIFAsIFYgKQorCisgIC4uLgorICAzLiBMZXQgbmV3RGVzYyBiZSB0aGUgUHJvcGVydHlEZXNj
cmlwdG9yIHsgW1tWYWx1ZV1dOiBWLCBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1d
OiBmYWxzZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9LgorICA0LiBSZXR1cm4gPyBPLltbRGVm
aW5lT3duUHJvcGVydHldXShQLCBuZXdEZXNjKS4KK2ZlYXR1cmVzOiBbQWdncmVnYXRlRXJyb3Jd
CitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQorLS0tKi8KKwordmFyIGNhc2UxID0gbmV3
IEFnZ3JlZ2F0ZUVycm9yKFtdLCA0Mik7CisKK3ZlcmlmeVByb3BlcnR5KGNhc2UxLCAnbWVzc2Fn
ZScsIHsKKyAgdmFsdWU6ICc0MicsCisgIHdyaXRhYmxlOiB0cnVlLAorICBlbnVtZXJhYmxlOiBm
YWxzZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlLAorfSk7CisKK3ZhciBjYXNlMiA9IG5ldyBBZ2dy
ZWdhdGVFcnJvcihbXSwgZmFsc2UpOworCit2ZXJpZnlQcm9wZXJ0eShjYXNlMiwgJ21lc3NhZ2Un
LCB7CisgIHZhbHVlOiAnZmFsc2UnLAorICB3cml0YWJsZTogdHJ1ZSwKKyAgZW51bWVyYWJsZTog
ZmFsc2UsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKK30pOworCit2YXIgY2FzZTMgPSBuZXcgQWdn
cmVnYXRlRXJyb3IoW10sIHRydWUpOworCit2ZXJpZnlQcm9wZXJ0eShjYXNlMywgJ21lc3NhZ2Un
LCB7CisgIHZhbHVlOiAndHJ1ZScsCisgIHdyaXRhYmxlOiB0cnVlLAorICBlbnVtZXJhYmxlOiBm
YWxzZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlLAorfSk7CisKK3ZhciBjYXNlNCA9IG5ldyBBZ2dy
ZWdhdGVFcnJvcihbXSwgeyB0b1N0cmluZygpIHsgcmV0dXJuICdzdHJpbmcnOyB9fSk7CisKK3Zl
cmlmeVByb3BlcnR5KGNhc2U0LCAnbWVzc2FnZScsIHsKKyAgdmFsdWU6ICdzdHJpbmcnLAorICB3
cml0YWJsZTogdHJ1ZSwKKyAgZW51bWVyYWJsZTogZmFsc2UsCisgIGNvbmZpZ3VyYWJsZTogdHJ1
ZSwKK30pOworCit2YXIgY2FzZTUgPSBuZXcgQWdncmVnYXRlRXJyb3IoW10sIG51bGwpOworCit2
ZXJpZnlQcm9wZXJ0eShjYXNlNSwgJ21lc3NhZ2UnLCB7CisgIHZhbHVlOiAnbnVsbCcsCisgIHdy
aXRhYmxlOiB0cnVlLAorICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiB0cnVl
LAorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJy
b3IvbWVzc2FnZS1tZXRob2QtcHJvcC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbWVzc2FnZS1tZXRob2QtcHJvcC5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJy
b3IvbWVzc2FnZS1tZXRob2QtcHJvcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hZ2dyZWdhdGUtZXJyb3IKK2Rlc2Ny
aXB0aW9uOiA+CisgIENyZWF0ZXMgYSBtZXRob2QgcHJvcGVydHkgZm9yIG1lc3NhZ2UKK2luZm86
IHwKKyAgQWdncmVnYXRlRXJyb3IgKCBlcnJvcnMsIG1lc3NhZ2UgKQorCisgIC4uLgorICA1LiBJ
ZiBtZXNzYWdlIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICBhLiBMZXQgbXNnIGJlID8gVG9T
dHJpbmcobWVzc2FnZSkuCisgICAgYi4gUGVyZm9ybSAhIENyZWF0ZU1ldGhvZFByb3BlcnR5KE8s
ICJtZXNzYWdlIiwgbXNnKS4KKyAgNi4gUmV0dXJuIE8uCisKKyAgQ3JlYXRlTWV0aG9kUHJvcGVy
dHkgKCBPLCBQLCBWICkKKworICAuLi4KKyAgMy4gTGV0IG5ld0Rlc2MgYmUgdGhlIFByb3BlcnR5
RGVzY3JpcHRvciB7IFtbVmFsdWVdXTogViwgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFi
bGVdXTogZmFsc2UsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KKyAgNC4gUmV0dXJuID8gTy5b
W0RlZmluZU93blByb3BlcnR5XV0oUCwgbmV3RGVzYykuCitmZWF0dXJlczogW0FnZ3JlZ2F0ZUVy
cm9yXQoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KKy0tLSovCisKK3ZhciBvYmogPSBu
ZXcgQWdncmVnYXRlRXJyb3IoW10sICc0MicpOworCit2ZXJpZnlQcm9wZXJ0eShvYmosICdtZXNz
YWdlJywgeworICB2YWx1ZTogJzQyJywKKyAgd3JpdGFibGU6IHRydWUsCisgIGVudW1lcmFibGU6
IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9tZXNzYWdlLXRvc3RyaW5nLWFicnVwdC1z
eW1ib2wuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Fn
Z3JlZ2F0ZUVycm9yL21lc3NhZ2UtdG9zdHJpbmctYWJydXB0LXN5bWJvbC5qcwkobm9uZXhpc3Rl
bnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbWVz
c2FnZS10b3N0cmluZy1hYnJ1cHQtc3ltYm9sLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MzkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWFnZ3JlZ2F0ZS1lcnJvcgor
ZGVzY3JpcHRpb246ID4KKyAgQWJydXB0IGNvbXBsZXRpb25zIG9mIFRvU3RyaW5nKFN5bWJvbCBt
ZXNzYWdlKQoraW5mbzogfAorICBBZ2dyZWdhdGVFcnJvciAoIGVycm9ycywgbWVzc2FnZSApCisK
KyAgLi4uCisgIDUuIElmIG1lc3NhZ2UgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgIGEuIExl
dCBtc2cgYmUgPyBUb1N0cmluZyhtZXNzYWdlKS4KKyAgICBiLiBQZXJmb3JtICEgQ3JlYXRlTWV0
aG9kUHJvcGVydHkoTywgIm1lc3NhZ2UiLCBtc2cpLgorICA2LiBSZXR1cm4gTy4KK2ZlYXR1cmVz
OiBbQWdncmVnYXRlRXJyb3IsIFN5bWJvbCwgU3ltYm9sLnRvUHJpbWl0aXZlXQorLS0tKi8KKwor
dmFyIGNhc2UxID0gU3ltYm9sKCk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7
CisgIG5ldyBBZ2dyZWdhdGVFcnJvcihbXSwgY2FzZTEpOworfSwgJ3RvUHJpbWl0aXZlJyk7CisK
K3ZhciBjYXNlMiA9IHsKKyAgW1N5bWJvbC50b1ByaW1pdGl2ZV0oKSB7CisgICAgcmV0dXJuIFN5
bWJvbCgpOworICB9LAorICB0b1N0cmluZygpIHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCk7CisgIH0sCisgIHZhbHVlT2YoKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOwor
ICB9Cit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgQWdncmVn
YXRlRXJyb3IoW10sIGNhc2UyKTsKK30sICdmcm9tIFRvUHJpbWl0aXZlJyk7CkluZGV4OiBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbWVzc2FnZS10b3N0cmlu
Zy1hYnJ1cHQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0FnZ3JlZ2F0ZUVycm9yL21lc3NhZ2UtdG9zdHJpbmctYWJydXB0LmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9tZXNzYWdl
LXRvc3RyaW5nLWFicnVwdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU5IEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hZ2dyZWdhdGUtZXJyb3IKK2Rlc2NyaXB0aW9u
OiA+CisgIEFicnVwdCBjb21wbGV0aW9ucyBvZiBUb1N0cmluZyhtZXNzYWdlKQoraW5mbzogfAor
ICBBZ2dyZWdhdGVFcnJvciAoIGVycm9ycywgbWVzc2FnZSApCisKKyAgLi4uCisgIDUuIElmIG1l
c3NhZ2UgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgIGEuIExldCBtc2cgYmUgPyBUb1N0cmlu
ZyhtZXNzYWdlKS4KKyAgICBiLiBQZXJmb3JtICEgQ3JlYXRlTWV0aG9kUHJvcGVydHkoTywgIm1l
c3NhZ2UiLCBtc2cpLgorICA2LiBSZXR1cm4gTy4KK2ZlYXR1cmVzOiBbQWdncmVnYXRlRXJyb3Is
IFN5bWJvbC50b1ByaW1pdGl2ZV0KKy0tLSovCisKK3ZhciBjYXNlMSA9IHsKKyAgW1N5bWJvbC50
b1ByaW1pdGl2ZV0oKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICB9LAorICB0
b1N0cmluZygpIHsKKyAgICB0aHJvdyAndG9TdHJpbmcgY2FsbGVkJzsKKyAgfSwKKyAgdmFsdWVP
ZigpIHsKKyAgICB0aHJvdyAndmFsdWVPZiBjYWxsZWQnOworICB9Cit9OworCithc3NlcnQudGhy
b3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgQWdncmVnYXRlRXJyb3IoW10sIGNhc2Ux
KTsKK30sICd0b1ByaW1pdGl2ZScpOworCit2YXIgY2FzZTIgPSB7CisgIFtTeW1ib2wudG9Qcmlt
aXRpdmVdOiB1bmRlZmluZWQsCisgIHRvU3RyaW5nKCkgeworICAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoKTsKKyAgfSwKKyAgdmFsdWVPZigpIHsKKyAgICB0aHJvdyAndmFsdWVPZiBjYWxsZWQn
OworICB9Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcg
QWdncmVnYXRlRXJyb3IoW10sIGNhc2UyKTsKK30sICd0b1N0cmluZycpOworCit2YXIgY2FzZTMg
PSB7CisgIFtTeW1ib2wudG9QcmltaXRpdmVdOiB1bmRlZmluZWQsCisgIHRvU3RyaW5nOiB1bmRl
ZmluZWQsCisgIHZhbHVlT2YoKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICB9
Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgQWdncmVn
YXRlRXJyb3IoW10sIGNhc2UzKTsKK30sICd2YWx1ZU9mJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbWVzc2FnZS11bmRlZmluZWQtbm8tcHJv
cC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVn
YXRlRXJyb3IvbWVzc2FnZS11bmRlZmluZWQtbm8tcHJvcC5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbWVzc2FnZS11bmRl
ZmluZWQtbm8tcHJvcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hZ2dyZWdhdGUtZXJyb3IKK2Rlc2NyaXB0aW9uOiA+
CisgIElmIG1lc3NhZ2UgaXMgdW5kZWZpbmVkLCBubyBwcm9wZXJ0eSB3aWxsIGJlIHNldCB0byB0
aGUgbmV3IGluc3RhbmNlCitpbmZvOiB8CisgIEFnZ3JlZ2F0ZUVycm9yICggZXJyb3JzLCBtZXNz
YWdlICkKKworICAuLi4KKyAgNS4gSWYgbWVzc2FnZSBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisg
ICAgYS4gTGV0IG1zZyBiZSA/IFRvU3RyaW5nKG1lc3NhZ2UpLgorICAgIGIuIFBlcmZvcm0gISBD
cmVhdGVNZXRob2RQcm9wZXJ0eShPLCAibWVzc2FnZSIsIG1zZykuCisgIDYuIFJldHVybiBPLgor
ZmVhdHVyZXM6IFtBZ2dyZWdhdGVFcnJvcl0KKy0tLSovCisKK3ZhciBjYXNlMSA9IG5ldyBBZ2dy
ZWdhdGVFcnJvcihbXSwgdW5kZWZpbmVkKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0
LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNhc2UxLCAnbWVzc2FnZScpLAorICBmYWxz
ZSwKKyAgJ2V4cGxpY2l0JworKTsKKwordmFyIGNhc2UyID0gbmV3IEFnZ3JlZ2F0ZUVycm9yKFtd
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0
eS5jYWxsKGNhc2UyLCAnbWVzc2FnZScpLAorICBmYWxzZSwKKyAgJ2ltcGxpY2l0JworKTsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9uYW1lLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVF
cnJvci9uYW1lLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BZ2dyZWdhdGVFcnJvci9uYW1lLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzMg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWFnZ3JlZ2F0ZS1lcnJvcgorZGVz
Y3JpcHRpb246IEFnZ3JlZ2F0ZUVycm9yLm5hbWUgcHJvcGVydHkgZGVzY3JpcHRvcgoraW5mbzog
fAorICBQcm9wZXJ0aWVzIG9mIHRoZSBBZ2dyZWdhdGVFcnJvciBDb25zdHJ1Y3RvcgorCisgIC0g
aGFzIGEgbmFtZSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyB0aGUgU3RyaW5nIHZhbHVlICJBZ2dy
ZWdhdGVFcnJvciIuCisKKyAgMTcgRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1pbiBPYmplY3Rz
CisKKyAgRXZlcnkgYnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0
b3JzLCB0aGF0IGlzIG5vdAorICBpZGVudGlmaWVkIGFzIGFuIGFub255bW91cyBmdW5jdGlvbiBo
YXMgYSBuYW1lIHByb3BlcnR5IHdob3NlIHZhbHVlCisgIGlzIGEgU3RyaW5nLiBVbmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2YWx1ZSBpcyB0aGUgbmFtZSB0aGF0CisgIGlzIGdpdmVu
IHRvIHRoZSBmdW5jdGlvbiBpbiB0aGlzIHNwZWNpZmljYXRpb24uIEZvciBmdW5jdGlvbnMgdGhh
dAorICBhcmUgc3BlY2lmaWVkIGFzIHByb3BlcnRpZXMgb2Ygb2JqZWN0cywgdGhlIG5hbWUgdmFs
dWUgaXMgdGhlCisgIHByb3BlcnR5IG5hbWUgc3RyaW5nIHVzZWQgdG8gYWNjZXNzIHRoZSBmdW5j
dGlvbi4gWy4uLl0KKworICBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhlIG5hbWUgcHJv
cGVydHkgb2YgYSBidWlsdC1pbiBmdW5jdGlvbgorICBvYmplY3QsIGlmIGl0IGV4aXN0cywgaGFz
IHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwKKyAgW1tFbnVtZXJhYmxlXV06
IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCitpbmNsdWRlczogW3Byb3BlcnR5SGVs
cGVyLmpzXQorZmVhdHVyZXM6IFtBZ2dyZWdhdGVFcnJvcl0KKy0tLSovCisKK3ZlcmlmeVByb3Bl
cnR5KEFnZ3JlZ2F0ZUVycm9yLCAnbmFtZScsIHsKKyAgdmFsdWU6ICdBZ2dyZWdhdGVFcnJvcics
CisgIHdyaXRhYmxlOiBmYWxzZSwKKyAgZW51bWVyYWJsZTogZmFsc2UsCisgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZQorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVn
YXRlRXJyb3IvbmV3dGFyZ2V0LXByb3RvLWN1c3RvbS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbmV3dGFyZ2V0LXByb3RvLWN1
c3RvbS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QWdncmVnYXRlRXJyb3IvbmV3dGFyZ2V0LXByb3RvLWN1c3RvbS5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQ3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hZ2dyZWdh
dGUtZXJyb3IKK2Rlc2NyaXB0aW9uOiA+CisgIFVzZSBhIGN1c3RvbSBOZXdUYXJnZXQgcHJvdG90
eXBlCitpbmZvOiB8CisgIEFnZ3JlZ2F0ZUVycm9yICggZXJyb3JzLCBtZXNzYWdlICkKKworICAx
LiBJZiBOZXdUYXJnZXQgaXMgdW5kZWZpbmVkLCBsZXQgbmV3VGFyZ2V0IGJlIHRoZSBhY3RpdmUg
ZnVuY3Rpb24gb2JqZWN0LCBlbHNlIGxldCBuZXdUYXJnZXQgYmUgTmV3VGFyZ2V0LgorICAyLiBM
ZXQgTyBiZSA/IE9yZGluYXJ5Q3JlYXRlRnJvbUNvbnN0cnVjdG9yKG5ld1RhcmdldCwgIiVBZ2dy
ZWdhdGVFcnJvci5wcm90b3R5cGUlIiwgwqsgW1tFcnJvckRhdGFdXSwgW1tBZ2dyZWdhdGVFcnJv
cnNdXSDCuykuCisgIC4uLgorICA2LiBSZXR1cm4gTy4KKworICBPcmRpbmFyeUNyZWF0ZUZyb21D
b25zdHJ1Y3RvciAoIGNvbnN0cnVjdG9yLCBpbnRyaW5zaWNEZWZhdWx0UHJvdG8gWyAsIGludGVy
bmFsU2xvdHNMaXN0IF0gKQorCisgIC4uLgorICAyLiBMZXQgcHJvdG8gYmUgPyBHZXRQcm90b3R5
cGVGcm9tQ29uc3RydWN0b3IoY29uc3RydWN0b3IsIGludHJpbnNpY0RlZmF1bHRQcm90bykuCisg
IDMuIFJldHVybiBPYmplY3RDcmVhdGUocHJvdG8sIGludGVybmFsU2xvdHNMaXN0KS4KKworICBH
ZXRQcm90b3R5cGVGcm9tQ29uc3RydWN0b3IgKCBjb25zdHJ1Y3RvciwgaW50cmluc2ljRGVmYXVs
dFByb3RvICkKKworICAuLi4KKyAgMy4gTGV0IHByb3RvIGJlID8gR2V0KGNvbnN0cnVjdG9yLCAi
cHJvdG90eXBlIikuCisgIDQuIElmIFR5cGUocHJvdG8pIGlzIG5vdCBPYmplY3QsIHRoZW4KKyAg
ICBhLiBMZXQgcmVhbG0gYmUgPyBHZXRGdW5jdGlvblJlYWxtKGNvbnN0cnVjdG9yKS4KKyAgICBi
LiBTZXQgcHJvdG8gdG8gcmVhbG0ncyBpbnRyaW5zaWMgb2JqZWN0IG5hbWVkIGludHJpbnNpY0Rl
ZmF1bHRQcm90by4KKyAgUmV0dXJuIHByb3RvLgorZmVhdHVyZXM6IFtBZ2dyZWdhdGVFcnJvcl0K
Ky0tLSovCisKK3ZhciBjdXN0b20gPSB7IHg6IDQyIH07Cit2YXIgbmV3dCA9IG5ldyBQcm94eShm
dW5jdGlvbigpIHt9LCB7CisgIGdldCh0LCBwKSB7CisgICAgaWYgKHAgPT09ICdwcm90b3R5cGUn
KSB7CisgICAgICByZXR1cm4gY3VzdG9tOworICAgIH0KKworICAgIHJldHVybiB0W3BdOworICB9
Cit9KTsKKwordmFyIG9iaiA9IFJlZmxlY3QuY29uc3RydWN0KEFnZ3JlZ2F0ZUVycm9yLCBbW11d
LCBuZXd0KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSwg
Y3VzdG9tKTsKK2Fzc2VydC5zYW1lVmFsdWUob2JqLngsIDQyKTsKSW5kZXg6IEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9uZXd0YXJnZXQtcHJvdG8tZmFsbGJh
Y2suanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3Jl
Z2F0ZUVycm9yL25ld3RhcmdldC1wcm90by1mYWxsYmFjay5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvbmV3dGFyZ2V0LXBy
b3RvLWZhbGxiYWNrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjIgQEAKKy8vIENvcHly
aWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLWFnZ3JlZ2F0ZS1lcnJvcgorZGVzY3JpcHRpb246ID4K
KyAgRmFsbGJhY2sgdG8gdGhlIE5ld1RhcmdldCdzIFtbUHJvdG90eXBlXV0gaWYgdGhlIHByb3Rv
dHlwZSBwcm9wZXJ0eSBpcyBub3QgYW4gb2JqZWN0CitpbmZvOiB8CisgIEFnZ3JlZ2F0ZUVycm9y
ICggZXJyb3JzLCBtZXNzYWdlICkKKworICAxLiBJZiBOZXdUYXJnZXQgaXMgdW5kZWZpbmVkLCBs
ZXQgbmV3VGFyZ2V0IGJlIHRoZSBhY3RpdmUgZnVuY3Rpb24gb2JqZWN0LCBlbHNlIGxldCBuZXdU
YXJnZXQgYmUgTmV3VGFyZ2V0LgorICAyLiBMZXQgTyBiZSA/IE9yZGluYXJ5Q3JlYXRlRnJvbUNv
bnN0cnVjdG9yKG5ld1RhcmdldCwgIiVBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUlIiwgwqsgW1tF
cnJvckRhdGFdXSwgW1tBZ2dyZWdhdGVFcnJvcnNdXSDCuykuCisgIC4uLgorICA2LiBSZXR1cm4g
Ty4KKworICBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvciAoIGNvbnN0cnVjdG9yLCBpbnRy
aW5zaWNEZWZhdWx0UHJvdG8gWyAsIGludGVybmFsU2xvdHNMaXN0IF0gKQorCisgIC4uLgorICAy
LiBMZXQgcHJvdG8gYmUgPyBHZXRQcm90b3R5cGVGcm9tQ29uc3RydWN0b3IoY29uc3RydWN0b3Is
IGludHJpbnNpY0RlZmF1bHRQcm90bykuCisgIDMuIFJldHVybiBPYmplY3RDcmVhdGUocHJvdG8s
IGludGVybmFsU2xvdHNMaXN0KS4KKworICBHZXRQcm90b3R5cGVGcm9tQ29uc3RydWN0b3IgKCBj
b25zdHJ1Y3RvciwgaW50cmluc2ljRGVmYXVsdFByb3RvICkKKworICAuLi4KKyAgMy4gTGV0IHBy
b3RvIGJlID8gR2V0KGNvbnN0cnVjdG9yLCAicHJvdG90eXBlIikuCisgIDQuIElmIFR5cGUocHJv
dG8pIGlzIG5vdCBPYmplY3QsIHRoZW4KKyAgICBhLiBMZXQgcmVhbG0gYmUgPyBHZXRGdW5jdGlv
blJlYWxtKGNvbnN0cnVjdG9yKS4KKyAgICBiLiBTZXQgcHJvdG8gdG8gcmVhbG0ncyBpbnRyaW5z
aWMgb2JqZWN0IG5hbWVkIGludHJpbnNpY0RlZmF1bHRQcm90by4KKyAgUmV0dXJuIHByb3RvLgor
ZmVhdHVyZXM6IFtBZ2dyZWdhdGVFcnJvciwgU3ltYm9sXQorLS0tKi8KKwordmFyIGN1c3RvbSA9
IHsgeDogNDIgfTsKK3ZhciBjdG9yID0gZnVuY3Rpb24oKSB7fTsKK09iamVjdC5zZXRQcm90b3R5
cGVPZihjdG9yLCBjdXN0b20pOworCit2YXIgdmFsdWVzID0gWworICB1bmRlZmluZWQsCisgIG51
bGwsCisgIDQyLAorICBmYWxzZSwKKyAgdHJ1ZSwKKyAgU3ltYm9sKCksCisgICdzdHJpbmcnCitd
OworCitmb3IgKGNvbnN0IHZhbHVlIG9mIHZhbHVlcykgeworICBjb25zdCBuZXd0ID0gbmV3IFBy
b3h5KGN0b3IsIHsKKyAgICBnZXQodCwgcCkgeworICAgICAgaWYgKHAgPT09ICdwcm90b3R5cGUn
KSB7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICAgIH0KKworICAgICAgcmV0dXJuIHRbcF07
CisgICAgfQorICB9KTsKKworICBjb25zdCBvYmogPSBSZWZsZWN0LmNvbnN0cnVjdChBZ2dyZWdh
dGVFcnJvciwgW1tdXSwgbmV3dCk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJv
dG90eXBlT2Yob2JqKSwgY3VzdG9tKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShvYmoueCwgNDIpOwor
fQpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL25l
d3RhcmdldC1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQWdncmVnYXRlRXJyb3IvbmV3dGFyZ2V0LXByb3RvLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9uZXd0YXJnZXQt
cHJvdG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtYWdncmVnYXRlLWVycm9yCitkZXNjcmlwdGlvbjogPgorICBEZWZh
dWx0IHByb3RvdHlwZSBpcyB0aGUgJUFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZSUiCitpbmZvOiB8
CisgIEFnZ3JlZ2F0ZUVycm9yICggZXJyb3JzLCBtZXNzYWdlICkKKworICAxLiBJZiBOZXdUYXJn
ZXQgaXMgdW5kZWZpbmVkLCBsZXQgbmV3VGFyZ2V0IGJlIHRoZSBhY3RpdmUgZnVuY3Rpb24gb2Jq
ZWN0LCBlbHNlIGxldCBuZXdUYXJnZXQgYmUgTmV3VGFyZ2V0LgorICAyLiBMZXQgTyBiZSA/IE9y
ZGluYXJ5Q3JlYXRlRnJvbUNvbnN0cnVjdG9yKG5ld1RhcmdldCwgIiVBZ2dyZWdhdGVFcnJvci5w
cm90b3R5cGUlIiwgwqsgW1tFcnJvckRhdGFdXSwgW1tBZ2dyZWdhdGVFcnJvcnNdXSDCuykuCisg
IC4uLgorICA2LiBSZXR1cm4gTy4KKworICBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvciAo
IGNvbnN0cnVjdG9yLCBpbnRyaW5zaWNEZWZhdWx0UHJvdG8gWyAsIGludGVybmFsU2xvdHNMaXN0
IF0gKQorCisgIC4uLgorICAyLiBMZXQgcHJvdG8gYmUgPyBHZXRQcm90b3R5cGVGcm9tQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IsIGludHJpbnNpY0RlZmF1bHRQcm90bykuCisgIDMuIFJldHVybiBP
YmplY3RDcmVhdGUocHJvdG8sIGludGVybmFsU2xvdHNMaXN0KS4KKworICBHZXRQcm90b3R5cGVG
cm9tQ29uc3RydWN0b3IgKCBjb25zdHJ1Y3RvciwgaW50cmluc2ljRGVmYXVsdFByb3RvICkKKwor
ICAuLi4KKyAgMy4gTGV0IHByb3RvIGJlID8gR2V0KGNvbnN0cnVjdG9yLCAicHJvdG90eXBlIiku
CisgIDQuIElmIFR5cGUocHJvdG8pIGlzIG5vdCBPYmplY3QsIHRoZW4KKyAgICBhLiBMZXQgcmVh
bG0gYmUgPyBHZXRGdW5jdGlvblJlYWxtKGNvbnN0cnVjdG9yKS4KKyAgICBiLiBTZXQgcHJvdG8g
dG8gcmVhbG0ncyBpbnRyaW5zaWMgb2JqZWN0IG5hbWVkIGludHJpbnNpY0RlZmF1bHRQcm90by4K
KyAgUmV0dXJuIHByb3RvLgorZmVhdHVyZXM6IFtBZ2dyZWdhdGVFcnJvcl0KKy0tLSovCisKK3Zh
ciBvYmogPSBuZXcgQWdncmVnYXRlRXJyb3IoW10pOworCithc3NlcnQuc2FtZVZhbHVlKE9iamVj
dC5nZXRQcm90b3R5cGVPZihvYmopLCBBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUpOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3AtZGVzYy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRl
RXJyb3IvcHJvcC1kZXNjLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm9wLWRlc2MuanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYWdncmVnYXRl
LWVycm9yCitkZXNjcmlwdGlvbjogPgorICBQcm9wZXJ0eSBkZXNjcmlwdG9yIG9mIEFnZ3JlZ2F0
ZUVycm9yCitpbmZvOiB8CisgIFRoZSBBZ2dyZWdhdGVFcnJvciBPYmplY3QKKworICBFQ01BU2Ny
aXB0IFN0YW5kYXJkIEJ1aWx0LWluIE9iamVjdHM6CisKKyAgRXZlcnkgb3RoZXIgZGF0YSBwcm9w
ZXJ0eSBkZXNjcmliZWQgaW4gY2xhdXNlcyAxOCB0aHJvdWdoIDI2IGFuZCBpbiBBbm5leCBCLjIK
KyAgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVd
XTogZmFsc2UsCisgIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfSB1bmxlc3Mgb3RoZXJ3aXNlIHNw
ZWNpZmllZC4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczogW0FnZ3Jl
Z2F0ZUVycm9yXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQWdncmVnYXRlRXJy
b3IsICdmdW5jdGlvbicpOworCit2ZXJpZnlQcm9wZXJ0eSh0aGlzLCAnQWdncmVnYXRlRXJyb3In
LCB7CisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJsZTogdHJ1ZSwKKyAgY29uZmlndXJh
YmxlOiB0cnVlCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dy
ZWdhdGVFcnJvci9wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVy
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZGVzY3JpcHRp
b246IFRoZSBwcm90b3R5cGUgb2YgQWdncmVnYXRlRXJyb3IgY29uc3RydWN0b3IgaXMgRXJyb3IK
K2VzaWQ6IHNlYy1hZ2dyZWdhdGUtZXJyb3IKK2luZm86IHwKKyAgUHJvcGVydGllcyBvZiB0aGUg
QWdncmVnYXRlRXJyb3IgQ29uc3RydWN0b3IKKworICAtIGhhcyBhIFtbUHJvdG90eXBlXV0gaW50
ZXJuYWwgc2xvdCB3aG9zZSB2YWx1ZSBpcyB0aGUgaW50cmluc2ljIG9iamVjdCAlRXJyb3IlLgor
ZmVhdHVyZXM6IFtBZ2dyZWdhdGVFcnJvcl0KKy0tLSovCisKK3ZhciBwcm90byA9IE9iamVjdC5n
ZXRQcm90b3R5cGVPZihBZ2dyZWdhdGVFcnJvcik7CisKK2Fzc2VydC5zYW1lVmFsdWUocHJvdG8s
IEVycm9yKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVF
cnJvci9wcm90b3R5cGUvY29uc3RydWN0b3IuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci5q
cwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVn
YXRlRXJyb3IvcHJvdG90eXBlL2NvbnN0cnVjdG9yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMjUgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWFnZ3JlZ2F0ZS1lcnJv
ci5wcm90b3R5cGUuY29uc3RydWN0b3IKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBgQWdncmVnYXRl
RXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yYCBwcm9wZXJ0eSBkZXNjcmlwdG9yLgoraW5mbzog
fAorICBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUuY29uc3Ry
dWN0b3IgaXMgdGhlIGludHJpbnNpYworICBvYmplY3QgJUFnZ3JlZ2F0ZUVycm9yJS4KKworICAx
NyBFQ01BU2NyaXB0IFN0YW5kYXJkIEJ1aWx0LWluIE9iamVjdHM6CisKKyAgRXZlcnkgb3RoZXIg
ZGF0YSBwcm9wZXJ0eSBkZXNjcmliZWQgKC4uLikgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0
YWJsZV1dOiB0cnVlLAorICAgIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwgW1tDb25maWd1cmFibGVd
XTogdHJ1ZSB9IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLgoraW5jbHVkZXM6IFtwcm9wZXJ0
eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbQWdncmVnYXRlRXJyb3JdCistLS0qLworCit2ZXJpZnlQ
cm9wZXJ0eShBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUsICdjb25zdHJ1Y3RvcicsIHsKKyAgdmFs
dWU6IEFnZ3JlZ2F0ZUVycm9yLAorICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgd3JpdGFibGU6IHRy
dWUsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL21lc3NhZ2UuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3Rv
dHlwZS9tZXNzYWdlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvbWVzc2FnZS5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hZ2dy
ZWdhdGUtZXJyb3IucHJvdG90eXBlLm1lc3NhZ2UKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBgQWdn
cmVnYXRlRXJyb3IucHJvdG90eXBlLm1lc3NhZ2VgIHByb3BlcnR5IGRlc2NyaXB0b3IuCitpbmZv
OiB8CisgIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBtZXNzYWdlIHByb3BlcnR5IG9mIHRoZSBw
cm90b3R5cGUgZm9yIGEgZ2l2ZW4gQWdncmVnYXRlRXJyb3IKKyAgY29uc3RydWN0b3IgaXMgdGhl
IGVtcHR5IFN0cmluZy4KKworICAxNyBFQ01BU2NyaXB0IFN0YW5kYXJkIEJ1aWx0LWluIE9iamVj
dHM6CisKKyAgRXZlcnkgb3RoZXIgZGF0YSBwcm9wZXJ0eSBkZXNjcmliZWQgKC4uLikgaGFzIHRo
ZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiB0cnVlLAorICAgIFtbRW51bWVyYWJsZV1dOiBm
YWxzZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVk
LgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbQWdncmVnYXRlRXJy
b3JdCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUsICdt
ZXNzYWdlJywgeworICB2YWx1ZTogJycsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJs
ZTogdHJ1ZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvbmFtZS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJv
dG90eXBlL25hbWUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9uYW1lLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWFnZ3JlZ2F0
ZS1lcnJvci5wcm90b3R5cGUubmFtZQorZGVzY3JpcHRpb246ID4KKyAgVGhlIGBBZ2dyZWdhdGVF
cnJvci5wcm90b3R5cGUubmFtZWAgcHJvcGVydHkgZGVzY3JpcHRvci4KK2luZm86IHwKKyAgVGhl
IGluaXRpYWwgdmFsdWUgb2YgQWdncmVnYXRlRXJyb3IucHJvdG90eXBlLm5hbWUgaXMgIkFnZ3Jl
Z2F0ZUVycm9yIi4KKworICAxNyBFQ01BU2NyaXB0IFN0YW5kYXJkIEJ1aWx0LWluIE9iamVjdHM6
CisKKyAgRXZlcnkgb3RoZXIgZGF0YSBwcm9wZXJ0eSBkZXNjcmliZWQgKC4uLikgaGFzIHRoZSBh
dHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiB0cnVlLAorICAgIFtbRW51bWVyYWJsZV1dOiBmYWxz
ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLgor
aW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbQWdncmVnYXRlRXJyb3Jd
CistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUsICduYW1l
JywgeworICB2YWx1ZTogJ0FnZ3JlZ2F0ZUVycm9yJywKKyAgZW51bWVyYWJsZTogZmFsc2UsCisg
IHdyaXRhYmxlOiB0cnVlLAorICBjb25maWd1cmFibGU6IHRydWUKK30pOwpJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9wcm9wLWRl
c2MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3Jl
Z2F0ZUVycm9yL3Byb3RvdHlwZS9wcm9wLWRlc2MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9wcm9wLWRl
c2MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtYWdncmVnYXRlLWVycm9yLnByb3RvdHlwZQorZGVzY3JpcHRpb246ID4K
KyAgUHJvcGVydHkgZGVzY3JpcHRvciBvZiBBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUKK2luZm86
IHwKKyAgQWdncmVnYXRlRXJyb3IucHJvdG90eXBlCisKKyAgVGhlIGluaXRpYWwgdmFsdWUgb2Yg
QWdncmVnYXRlRXJyb3IucHJvdG90eXBlIGlzIHRoZSBpbnRyaW5zaWMgb2JqZWN0ICVBZ2dyZWdh
dGVFcnJvclByb3RvdHlwZSUuCisKKyAgVGhpcyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMg
eyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogZmFsc2UsIFtbQ29uZmlndXJh
YmxlXV06IGZhbHNlIH0uCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQorZmVhdHVyZXM6
IFtBZ2dyZWdhdGVFcnJvcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEFnZ3Jl
Z2F0ZUVycm9yLnByb3RvdHlwZSwgJ29iamVjdCcpOworCit2ZXJpZnlQcm9wZXJ0eShBZ2dyZWdh
dGVFcnJvciwgJ3Byb3RvdHlwZScsIHsKKyAgZW51bWVyYWJsZTogZmFsc2UsCisgIHdyaXRhYmxl
OiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiBmYWxzZQorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL3Byb3RvLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9w
cm90b3R5cGUvcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9wcm90by5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDE2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1wcm9w
ZXJ0aWVzLW9mLXRoZS1hZ2dyZWdhdGUtZXJyb3ItcHJvdG90eXBlLW9iamVjdHMKK2Rlc2NyaXB0
aW9uOiBUaGUgcHJvdG90eXBlIG9mIEFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZSBjb25zdHJ1Y3Rv
ciBpcyBFcnJvci5wcm90b3R5cGUKK2luZm86IHwKKyAgUHJvcGVydGllcyBvZiB0aGUgQWdncmVn
YXRlRXJyb3IgUHJvdG90eXBlIE9iamVjdAorCisgIC0gaGFzIGEgW1tQcm90b3R5cGVdXSBpbnRl
cm5hbCBzbG90IHdob3NlIHZhbHVlIGlzIHRoZSBpbnRyaW5zaWMgb2JqZWN0ICVFcnJvci5wcm90
b3R5cGUlLgorZmVhdHVyZXM6IFtBZ2dyZWdhdGVFcnJvcl0KKy0tLSovCisKK3ZhciBwcm90byA9
IE9iamVjdC5nZXRQcm90b3R5cGVPZihBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUpOworCithc3Nl
cnQuc2FtZVZhbHVlKHByb3RvLCBFcnJvci5wcm90b3R5cGUpOwpJbmRleDogSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9lcnJvcnMvaW52b2tl
ZC1hcy1hY2Nlc3Nvci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL2Vycm9ycy9pbnZva2VkLWFzLWFjY2Vzc29y
LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dy
ZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL2ludm9rZWQtYXMtYWNjZXNzb3IuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyMSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0
ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBz
ZWMtZ2V0LWFnZ3JlZ2F0ZS1lcnJvci5wcm90b3R5cGUuZXJyb3JzCitkZXNjcmlwdGlvbjogPgor
ICBSZXF1aXJlcyB0aGlzIHZhbHVlIHRvIGhhdmUgYSBbW0FnZ3JlZ2F0ZUVycm9yRGF0YV1dIGlu
dGVybmFsIHNsb3QKK2luZm86IHwKKyAgZ2V0IEFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZS5lcnJv
cnMKKworICAxLiBMZXQgRSBiZSB0aGUgdGhpcyB2YWx1ZS4KKyAgMi4gSWYgVHlwZShFKSBpcyBu
b3QgT2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDMuIElmIEUgZG9lcyBu
b3QgaGF2ZSBhbiBbW0Vycm9yRGF0YV1dIGludGVybmFsIHNsb3QsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgNC4gSWYgRSBkb2VzIG5vdCBoYXZlIGFuIFtbQWdncmVnYXRlRXJyb3Jz
XV0gaW50ZXJuYWwgc2xvdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICA1LiBSZXR1
cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KEUuW1tBZ2dyZWdhdGVFcnJvcnNdXSkuCitmZWF0dXJl
czogW0FnZ3JlZ2F0ZUVycm9yXQorLS0tKi8KKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1
bmN0aW9uKCkgeworICBBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUuZXJyb3JzOworfSk7CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBl
L2Vycm9ycy9pbnZva2VkLWFzLWZ1bmMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9lcnJvcnMvaW52b2tlZC1h
cy1mdW5jLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL2ludm9rZWQtYXMtZnVuYy5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJh
bHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1nZXQtYWdncmVnYXRlLWVycm9yLnByb3RvdHlwZS5lcnJvcnMKK2Rlc2NyaXB0aW9uOiA+
CisgIFRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiBpbnZva2VkIGFzIGEgZnVuY3Rp
b24KK2luZm86IHwKKyAgZ2V0IEFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZS5lcnJvcnMKKworICAx
LiBMZXQgRSBiZSB0aGUgdGhpcyB2YWx1ZS4KKyAgMi4gSWYgVHlwZShFKSBpcyBub3QgT2JqZWN0
LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDMuIElmIEUgZG9lcyBub3QgaGF2ZSBh
biBbW0Vycm9yRGF0YV1dIGludGVybmFsIHNsb3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KKyAgNC4gSWYgRSBkb2VzIG5vdCBoYXZlIGFuIFtbQWdncmVnYXRlRXJyb3JzXV0gaW50ZXJu
YWwgc2xvdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICA1LiBSZXR1cm4gISBDcmVh
dGVBcnJheUZyb21MaXN0KEUuW1tBZ2dyZWdhdGVFcnJvcnNdXSkuCitmZWF0dXJlczogW0FnZ3Jl
Z2F0ZUVycm9yXQorLS0tKi8KKwordmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoCisgIEFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZSwgJ2Vycm9ycycKKykuZ2V0Owor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIGdldHRlcigpOworfSk7
CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJv
dG90eXBlL2Vycm9ycy9sZW5ndGguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9lcnJvcnMvbGVuZ3RoLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVF
cnJvci9wcm90b3R5cGUvZXJyb3JzL2xlbmd0aC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1nZXQtYWdncmVnYXRlLWVy
cm9yLnByb3RvdHlwZS5lcnJvcnMKK2Rlc2NyaXB0aW9uOiA+CisgIFByb3BlcnR5IGRlc2NyaXB0
b3Igb2YgKGdldCBBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUuZXJyb3JzKS5sZW5ndGgKK2luZm86
IHwKKyAgZ2V0IEFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZS5lcnJvcnMKKworICAxNyBFQ01BU2Ny
aXB0IFN0YW5kYXJkIEJ1aWx0LWluIE9iamVjdHM6CisgICAgRXZlcnkgYnVpbHQtaW4gRnVuY3Rp
b24gb2JqZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0b3JzLCBoYXMgYSBsZW5ndGgKKyAgICBwcm9w
ZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmll
ZCwgdGhpcworICAgIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1l
ZCBhcmd1bWVudHMgc2hvd24gaW4gdGhlCisgICAgc3ViY2xhdXNlIGhlYWRpbmdzIGZvciB0aGUg
ZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbAorICAgIHBhcmFtZXRlcnMu
IEhvd2V2ZXIsIHJlc3QgcGFyYW1ldGVycyBzaG93biB1c2luZyB0aGUgZm9ybSDigJwuLi5uYW1l
4oCdCisgICAgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgZGVmYXVsdCBhcmd1bWVudCBjb3VudC4K
KworICAgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9m
IGEgYnVpbHQtaW4gRnVuY3Rpb24KKyAgICBvYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tX
cml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLAorICAgIFtbQ29uZmlndXJh
YmxlXV06IHRydWUgfS4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczog
W0FnZ3JlZ2F0ZUVycm9yXQorLS0tKi8KKwordmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKEFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZSwgJ2Vycm9ycycpOworCit2ZXJp
ZnlQcm9wZXJ0eShkZXNjLmdldCwgJ2xlbmd0aCcsIHsKKyAgdmFsdWU6IDAsCisgIGVudW1lcmFi
bGU6IGZhbHNlLAorICB3cml0YWJsZTogZmFsc2UsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorfSk7
CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJv
dG90eXBlL2Vycm9ycy9uYW1lLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL25hbWUuanMJKG5vbmV4
aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9y
L3Byb3RvdHlwZS9lcnJvcnMvbmFtZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1nZXQtYWdncmVnYXRlLWVycm9yLnBy
b3RvdHlwZS5lcnJvcnMKK2Rlc2NyaXB0aW9uOiA+CisgIFByb3BlcnR5IGRlc2NyaXB0b3Igb2Yg
KGdldCBBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUuZXJyb3JzKS5uYW1lCitpbmZvOiB8CisgIGdl
dCBBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUuZXJyb3JzCisKKyAgMTcgRUNNQVNjcmlwdCBTdGFu
ZGFyZCBCdWlsdC1pbiBPYmplY3RzCisKKyAgRnVuY3Rpb25zIHRoYXQgYXJlIHNwZWNpZmllZCBh
cyBnZXQgb3Igc2V0IGFjY2Vzc29yIGZ1bmN0aW9ucyBvZiBidWlsdC1pbgorICBwcm9wZXJ0aWVz
IGhhdmUgImdldCAiIG9yICJzZXQgIiBwcmVwZW5kZWQgdG8gdGhlIHByb3BlcnR5IG5hbWUgc3Ry
aW5nLgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbQWdncmVnYXRl
RXJyb3JdCistLS0qLworCit2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoCisgIEFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZSwgJ2Vycm9ycycKKyk7CisKK3ZlcmlmeVBy
b3BlcnR5KGRlc2MuZ2V0LCAnbmFtZScsIHsKKyAgdmFsdWU6ICdnZXQgZXJyb3JzJywKKyAgZW51
bWVyYWJsZTogZmFsc2UsCisgIHdyaXRhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiB0cnVl
Cit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJv
ci9wcm90b3R5cGUvZXJyb3JzL3Byb3AtZGVzYy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL2Vycm9ycy9wcm9w
LWRlc2MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9lcnJvcnMvcHJvcC1kZXNjLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjUgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1nZXQt
YWdncmVnYXRlLWVycm9yLnByb3RvdHlwZS5lcnJvcnMKK2Rlc2NyaXB0aW9uOiA+CisgICJlcnJv
cnMiIHByb3BlcnR5IG9mIEFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZQoraW5mbzogfAorICBBZ2dy
ZWdhdGVFcnJvci5wcm90b3R5cGUuZXJyb3JzIGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdob3Nl
IHNldCBhY2Nlc3NvcgorICBmdW5jdGlvbiBpcyB1bmRlZmluZWQuCisKKyAgU2VjdGlvbiAxNzog
RXZlcnkgYWNjZXNzb3IgcHJvcGVydHkgZGVzY3JpYmVkIGluIGNsYXVzZXMgMTggdGhyb3VnaCAy
NiBhbmQgaW4KKyAgQW5uZXggQi4yIGhhcyB0aGUgYXR0cmlidXRlcyB7W1tFbnVtZXJhYmxlXV06
IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxw
ZXIuanNdCitmZWF0dXJlczogW0FnZ3JlZ2F0ZUVycm9yXQorLS0tKi8KKwordmFyIGRlc2MgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZSwg
J2Vycm9ycycpOworCithc3NlcnQuc2FtZVZhbHVlKGRlc2Muc2V0LCB1bmRlZmluZWQpOworYXNz
ZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgZGVzYy5nZXQsICdmdW5jdGlvbicpOworCit2ZXJpZnlQcm9w
ZXJ0eShBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUsICdlcnJvcnMnLCB7CisgIGVudW1lcmFibGU6
IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9lcnJvcnMvcmV0dXJuLWZy
b20taXRlcmFibGUtZXJyb3JzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL3JldHVybi1mcm9tLWl0
ZXJhYmxlLWVycm9ycy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL2Vycm9ycy9yZXR1cm4tZnJvbS1pdGVy
YWJsZS1lcnJvcnMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisvKi0tLQorZXNpZDogc2VjLWdldC1hZ2dyZWdhdGUtZXJyb3IucHJvdG90eXBlLmVycm9y
cworZGVzY3JpcHRpb246ID4KKyAgUmV0dXJuIGEgbmV3IGFycmF5IGZyb20gdGhlIFtbQWdncmVn
YXRlRXJyb3JzXV0gbGlzdCwgYWZ0ZXIgYW4gaXRlcmFibGUgZXJyb3JzIGFyZy4KK2luZm86IHwK
KyAgZ2V0IEFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZS5lcnJvcnMKKworICAxLiBMZXQgRSBiZSB0
aGUgdGhpcyB2YWx1ZS4KKyAgLi4uCisgIDUuIFJldHVybiAhIENyZWF0ZUFycmF5RnJvbUxpc3Qo
RS5bW0FnZ3JlZ2F0ZUVycm9yc11dKS4KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQorZmVh
dHVyZXM6IFtBZ2dyZWdhdGVFcnJvciwgU3ltYm9sLml0ZXJhdG9yXQorLS0tKi8KKwordmFyIGNv
dW50ID0gMDsKK3ZhciBlcnJvcnMgPSB7CisgIFtTeW1ib2wuaXRlcmF0b3JdKCkgeworICAgIHJl
dHVybiB7CisgICAgICBuZXh0KCkgeworICAgICAgICBjb3VudCArPSAxOworICAgICAgICByZXR1
cm4geworICAgICAgICAgIGRvbmU6IGNvdW50ID09PSAzLAorICAgICAgICAgIGdldCB2YWx1ZSgp
IHsKKyAgICAgICAgICAgIHJldHVybiBjb3VudCAqIDM7CisgICAgICAgICAgfQorICAgICAgICB9
OworICAgICAgfQorICAgIH07CisgIH0KK307CisKK3ZhciBjYXNlMSA9IG5ldyBBZ2dyZWdhdGVF
cnJvcihlcnJvcnMpOworCithc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAzKTsKKwordmFyIGdldDEg
PSBjYXNlMS5lcnJvcnM7Cit2YXIgZ2V0MiA9IGNhc2UxLmVycm9yczsKKworYXNzZXJ0LnNhbWVW
YWx1ZShBcnJheS5pc0FycmF5KGdldDEpLCB0cnVlKTsKK2Fzc2VydC5zYW1lVmFsdWUoQXJyYXku
aXNBcnJheShnZXQyKSwgdHJ1ZSk7CisKK2Fzc2VydC5ub3RTYW1lVmFsdWUoZ2V0MSwgZXJyb3Jz
LCAnY3JlYXRlcyBhIG5ldyBhcnJheSAjMScpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShnZXQyLCBl
cnJvcnMsICdjcmVhdGVzIGEgbmV3IGFycmF5ICMyJyk7Cithc3NlcnQubm90U2FtZVZhbHVlKGdl
dDEsIGdldDIsICdjcmVhdGVzIGEgbmV3IGFycmF5IGV2ZXJ5dGltZSBpdCBnZXRzIHRoZSB2YWx1
ZXMnKTsKKworYXNzZXJ0LmNvbXBhcmVBcnJheShnZXQxLCBbMywgNl0sICdnZXQgYWNjZXNzb3Ig
ZG9lcyBub3QgdHJpZ2dlciBhIG5ldyBpdGVyYXRpb24gIzEnKTsKK2Fzc2VydC5jb21wYXJlQXJy
YXkoZ2V0MiwgWzMsIDZdLCAnZ2V0IGFjY2Vzc29yIGRvZXMgbm90IHRyaWdnZXIgYSBuZXcgaXRl
cmF0aW9uICMyJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoY291bnQsIDMsICdjb3VudCBpcyBwcmVz
ZXJ2ZWQnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVF
cnJvci9wcm90b3R5cGUvZXJyb3JzL3JldHVybi1uZXctYXJyYXktZnJvbS1saXN0LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9w
cm90b3R5cGUvZXJyb3JzL3JldHVybi1uZXctYXJyYXktZnJvbS1saXN0LmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdhdGVFcnJvci9wcm90
b3R5cGUvZXJyb3JzL3JldHVybi1uZXctYXJyYXktZnJvbS1saXN0LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1nZXQtYWdn
cmVnYXRlLWVycm9yLnByb3RvdHlwZS5lcnJvcnMKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybiBh
IG5ldyBhcnJheSBmcm9tIHRoZSBbW0FnZ3JlZ2F0ZUVycm9yc11dIGxpc3QuCitpbmZvOiB8Cisg
IGdldCBBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUuZXJyb3JzCisKKyAgMS4gTGV0IEUgYmUgdGhl
IHRoaXMgdmFsdWUuCisgIC4uLgorICA1LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KEUu
W1tBZ2dyZWdhdGVFcnJvcnNdXSkuCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2ZlYXR1
cmVzOiBbQWdncmVnYXRlRXJyb3IsIFN5bWJvbF0KKy0tLSovCisKK3ZhciBlcnJvcnMgPSBbXTsK
K3ZhciBjYXNlMSA9IG5ldyBBZ2dyZWdhdGVFcnJvcihlcnJvcnMpOwordmFyIGNhc2UxZ2V0MSA9
IGNhc2UxLmVycm9yczsKK3ZhciBjYXNlMWdldDIgPSBjYXNlMS5lcnJvcnM7CisKK2Fzc2VydC5z
YW1lVmFsdWUoQXJyYXkuaXNBcnJheShjYXNlMWdldDEpLCB0cnVlKTsKK2Fzc2VydC5zYW1lVmFs
dWUoQXJyYXkuaXNBcnJheShjYXNlMWdldDIpLCB0cnVlKTsKKworYXNzZXJ0Lm5vdFNhbWVWYWx1
ZShjYXNlMWdldDEsIGVycm9ycywgJ2Nhc2UxIC0gY3JlYXRlcyBhIG5ldyBhcnJheSAjMScpOwor
YXNzZXJ0Lm5vdFNhbWVWYWx1ZShjYXNlMWdldDIsIGVycm9ycywgJ2Nhc2UxIC0gY3JlYXRlcyBh
IG5ldyBhcnJheSAjMicpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShjYXNlMWdldDEsIGNhc2UxZ2V0
MiwgJ2NyZWF0ZXMgYSBuZXcgYXJyYXkgZXZlcnl0aW1lIGl0IGdldHMgdGhlIHZhbHVlcycpOwor
Cithc3NlcnQuY29tcGFyZUFycmF5KGNhc2UxZ2V0MSwgZXJyb3JzKTsKK2Fzc2VydC5jb21wYXJl
QXJyYXkoY2FzZTFnZXQyLCBlcnJvcnMpOworCisvLy8vLworCitlcnJvcnMgPSBbdW5kZWZpbmVk
LCBudWxsLCAxLCAwLCAnJywge30sIFN5bWJvbCgpXTsKK3ZhciBjYXNlMiA9IG5ldyBBZ2dyZWdh
dGVFcnJvcihlcnJvcnMpOwordmFyIGNhc2UyZ2V0MSA9IGNhc2UyLmVycm9yczsKK3ZhciBjYXNl
MmdldDIgPSBjYXNlMi5lcnJvcnM7CisKK2Fzc2VydC5zYW1lVmFsdWUoQXJyYXkuaXNBcnJheShj
YXNlMmdldDEpLCB0cnVlKTsKK2Fzc2VydC5zYW1lVmFsdWUoQXJyYXkuaXNBcnJheShjYXNlMmdl
dDIpLCB0cnVlKTsKKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShjYXNlMmdldDEsIGVycm9ycywgJ2Nh
c2UyIC0gY3JlYXRlcyBhIG5ldyBhcnJheSAjMScpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShjYXNl
MmdldDIsIGVycm9ycywgJ2Nhc2UyIC0gY3JlYXRlcyBhIG5ldyBhcnJheSAjMicpOworYXNzZXJ0
Lm5vdFNhbWVWYWx1ZShjYXNlMmdldDEsIGNhc2UyZ2V0MiwgJ2NyZWF0ZXMgYSBuZXcgYXJyYXkg
ZXZlcnl0aW1lIGl0IGdldHMgdGhlIHZhbHVlcycpOworCithc3NlcnQuY29tcGFyZUFycmF5KGNh
c2UyZ2V0MSwgZXJyb3JzKTsKK2Fzc2VydC5jb21wYXJlQXJyYXkoY2FzZTJnZXQyLCBlcnJvcnMp
OworCisvLy8vLworCitlcnJvcnMgPSBbdW5kZWZpbmVkLCwsLHVuZGVmaW5lZF07Cit2YXIgY2Fz
ZTMgPSBuZXcgQWdncmVnYXRlRXJyb3IoZXJyb3JzKTsKK3ZhciBjYXNlM2dldDEgPSBjYXNlMy5l
cnJvcnM7Cit2YXIgY2FzZTNnZXQyID0gY2FzZTMuZXJyb3JzOworCithc3NlcnQuc2FtZVZhbHVl
KEFycmF5LmlzQXJyYXkoY2FzZTNnZXQxKSwgdHJ1ZSk7Cithc3NlcnQuc2FtZVZhbHVlKEFycmF5
LmlzQXJyYXkoY2FzZTNnZXQyKSwgdHJ1ZSk7CisKK2Fzc2VydC5ub3RTYW1lVmFsdWUoY2FzZTNn
ZXQxLCBlcnJvcnMsICdjYXNlMyAtIGNyZWF0ZXMgYSBuZXcgYXJyYXkgIzEnKTsKK2Fzc2VydC5u
b3RTYW1lVmFsdWUoY2FzZTNnZXQyLCBlcnJvcnMsICdjYXNlMyAtIGNyZWF0ZXMgYSBuZXcgYXJy
YXkgIzInKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUoY2FzZTNnZXQxLCBjYXNlM2dldDIsICdjcmVh
dGVzIGEgbmV3IGFycmF5IGV2ZXJ5dGltZSBpdCBnZXRzIHRoZSB2YWx1ZXMnKTsKKworYXNzZXJ0
LmNvbXBhcmVBcnJheShjYXNlM2dldDEsIGVycm9ycyk7Cithc3NlcnQuY29tcGFyZUFycmF5KGNh
c2UzZ2V0MiwgZXJyb3JzKTsKKworYXNzZXJ0KE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVy
dHkuY2FsbChjYXNlM2dldDEsIDApLCAnZmlsbGVkIGFycmF5IGZyb20gYSBzcGFyc2Ugb3JpZ2lu
IC0gY2FzZTNnZXQxLCAwJyk7Cithc3NlcnQoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0
eS5jYWxsKGNhc2UzZ2V0MSwgMSksICdmaWxsZWQgYXJyYXkgZnJvbSBhIHNwYXJzZSBvcmlnaW4g
LSBjYXNlM2dldDEsIDEnKTsKK2Fzc2VydChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5
LmNhbGwoY2FzZTNnZXQxLCAyKSwgJ2ZpbGxlZCBhcnJheSBmcm9tIGEgc3BhcnNlIG9yaWdpbiAt
IGNhc2UzZ2V0MSwgMicpOworYXNzZXJ0KE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHku
Y2FsbChjYXNlM2dldDEsIDMpLCAnZmlsbGVkIGFycmF5IGZyb20gYSBzcGFyc2Ugb3JpZ2luIC0g
Y2FzZTNnZXQxLCAzJyk7Cithc3NlcnQoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5j
YWxsKGNhc2UzZ2V0MSwgNCksICdmaWxsZWQgYXJyYXkgZnJvbSBhIHNwYXJzZSBvcmlnaW4gLSBj
YXNlM2dldDEsIDQnKTsKKworYXNzZXJ0KE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHku
Y2FsbChjYXNlM2dldDIsIDApLCAnZmlsbGVkIGFycmF5IGZyb20gYSBzcGFyc2Ugb3JpZ2luIC0g
Y2FzZTNnZXQyLCAwJyk7Cithc3NlcnQoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5j
YWxsKGNhc2UzZ2V0MiwgMSksICdmaWxsZWQgYXJyYXkgZnJvbSBhIHNwYXJzZSBvcmlnaW4gLSBj
YXNlM2dldDIsIDEnKTsKK2Fzc2VydChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNh
bGwoY2FzZTNnZXQyLCAyKSwgJ2ZpbGxlZCBhcnJheSBmcm9tIGEgc3BhcnNlIG9yaWdpbiAtIGNh
c2UzZ2V0MiwgMicpOworYXNzZXJ0KE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2Fs
bChjYXNlM2dldDIsIDMpLCAnZmlsbGVkIGFycmF5IGZyb20gYSBzcGFyc2Ugb3JpZ2luIC0gY2Fz
ZTNnZXQyLCAzJyk7Cithc3NlcnQoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxs
KGNhc2UzZ2V0MiwgNCksICdmaWxsZWQgYXJyYXkgZnJvbSBhIHNwYXJzZSBvcmlnaW4gLSBjYXNl
M2dldDIsIDQnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dyZWdh
dGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL3RoaXMtaGFzLW5vLXR5cGVkYXJyYXluYW1lLWludGVy
bmFsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BZ2dy
ZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL3RoaXMtaGFzLW5vLXR5cGVkYXJyYXluYW1lLWlu
dGVybmFsLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL3RoaXMtaGFzLW5vLXR5cGVkYXJyYXlu
YW1lLWludGVybmFsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHly
aWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorLyotLS0KK2VzaWQ6IHNlYy1nZXQtYWdncmVnYXRlLWVycm9yLnByb3RvdHlwZS5lcnJv
cnMKK2Rlc2NyaXB0aW9uOiA+CisgIFRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiBg
dGhpc2AgZG9lcyBub3QgaGF2ZSBhIFtbQWdncmVnYXRlRXJyb3JEYXRhXV0KKyAgaW50ZXJuYWwg
c2xvdAoraW5mbzogfAorICBnZXQgQWdncmVnYXRlRXJyb3IucHJvdG90eXBlLmVycm9ycworCisg
IDEuIExldCBFIGJlIHRoZSB0aGlzIHZhbHVlLgorICAyLiBJZiBUeXBlKEUpIGlzIG5vdCBPYmpl
Y3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgMy4gSWYgRSBkb2VzIG5vdCBoYXZl
IGFuIFtbRXJyb3JEYXRhXV0gaW50ZXJuYWwgc2xvdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uLgorICA0LiBJZiBFIGRvZXMgbm90IGhhdmUgYW4gW1tBZ2dyZWdhdGVFcnJvcnNdXSBpbnRl
cm5hbCBzbG90LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDUuIFJldHVybiAhIENy
ZWF0ZUFycmF5RnJvbUxpc3QoRS5bW0FnZ3JlZ2F0ZUVycm9yc11dKS4KK2ZlYXR1cmVzOiBbQWdn
cmVnYXRlRXJyb3JdCistLS0qLworCit2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcigKKyAgQWdncmVnYXRlRXJyb3IucHJvdG90eXBlLCAnZXJyb3JzJworKS5nZXQ7
CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgZ2V0dGVyLmNhbGwo
bmV3IEVycm9yKCkpOworfSwgJ3RoaXMgaXMgYW4gaW5zdGFuY2Ugb2YgRXJyb3IsIG5vIFtbQWdn
cmVnYXRlRXJyb3JzXV0nKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkg
eworICBnZXR0ZXIuY2FsbChBZ2dyZWdhdGVFcnJvcik7Cit9LCAnQWdncmVnYXRlRXJyb3IgZG9l
cyBub3QgaGF2ZSBhbiBbW0FnZ3JlZ2F0ZUVycm9yc11dIGludGVybmFsJyk7CkluZGV4OiBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQWdncmVnYXRlRXJyb3IvcHJvdG90eXBlL2Vycm9y
cy90aGlzLWlzLW5vdC1vYmplY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvdHlwZS9lcnJvcnMvdGhpcy1pcy1ub3Qt
b2JqZWN0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BZ2dyZWdhdGVFcnJvci9wcm90b3R5cGUvZXJyb3JzL3RoaXMtaXMtbm90LW9iamVjdC5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVv
IEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lk
OiBzZWMtZ2V0LWFnZ3JlZ2F0ZS1lcnJvci5wcm90b3R5cGUuZXJyb3JzCitkZXNjcmlwdGlvbjog
VGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuIGB0aGlzYCBpcyBub3QgT2JqZWN0Citp
bmZvOiB8CisgIGdldCBBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUuZXJyb3JzCisKKyAgMS4gTGV0
IEUgYmUgdGhlIHRoaXMgdmFsdWUuCisgIDIuIElmIFR5cGUoRSkgaXMgbm90IE9iamVjdCwgdGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2ZlYXR1cmVzOiBbQWdncmVnYXRlRXJy
b3IsIFN5bWJvbF0KKy0tLSovCisKK3ZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKAorICBBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUsICdlcnJvcnMnCispLmdldDsK
KworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBnZXR0ZXIuY2FsbCh1
bmRlZmluZWQpOworfSwgJ3RoaXMgaXMgdW5kZWZpbmVkJyk7CisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgZ2V0dGVyLmNhbGwobnVsbCk7Cit9LCAndGhpcyBpcyBu
dWxsJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgZ2V0dGVy
LmNhbGwoNDIpOworfSwgJ3RoaXMgaXMgNDInKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
IGZ1bmN0aW9uKCkgeworICBnZXR0ZXIuY2FsbCgnMScpOworfSwgJ3RoaXMgaXMgYSBzdHJpbmcn
KTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBnZXR0ZXIuY2Fs
bCh0cnVlKTsKK30sICd0aGlzIGlzIHRydWUnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
IGZ1bmN0aW9uKCkgeworICBnZXR0ZXIuY2FsbChmYWxzZSk7Cit9LCAndGhpcyBpcyBmYWxzZScp
OworCit2YXIgcyA9IFN5bWJvbCgncycpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0
aW9uKCkgeworICBnZXR0ZXIuY2FsbChzKTsKK30sICd0aGlzIGlzIGEgU3ltYm9sJyk7CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRo
aW4vY29lcmNlZC12YWx1ZXMtc3RhcnQtY2hhbmdlLXN0YXJ0LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29weVdpdGhpbi9j
b2VyY2VkLXZhbHVlcy1zdGFydC1jaGFuZ2Utc3RhcnQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb3B5V2l0aGluL2Nv
ZXJjZWQtdmFsdWVzLXN0YXJ0LWNoYW5nZS1zdGFydC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDU5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgR29vZ2xlLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hcnJheS5wcm90b3R5cGUuY29w
eXdpdGhpbgorZGVzY3JpcHRpb246ID4KKyAgU0VDVVJJVFk6IHN0YXJ0IGFyZ3VtZW50IGlzIGNv
ZXJjZWQgdG8gYW4gaW50ZWdlciB2YWx1ZQorICBhbmQgc2lkZSBlZmZlY3RzIGNoYW5nZSB0aGUg
bGVuZ3RoIG9mIHRoZSBhcnJheSBzbyB0aGF0CisgIHRoZSBzdGFydCBpcyBvdXQgb2YgYm91bmRz
CitpbmZvOiB8CisgIDIyLjEuMy4zIEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluICh0YXJnZXQs
IHN0YXJ0IFsgLCBlbmQgXSApCisKKyAgLi4uCisgIDguIExldCByZWxhdGl2ZVN0YXJ0IGJlIFRv
SW50ZWdlcihzdGFydCkuCisgIC4uLgoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCistLS0q
LworCisKKy8vIG1ha2UgYSBsb25nIGludGVnZXIgQXJyYXkKK2Z1bmN0aW9uIGxvbmdEZW5zZUFy
cmF5KCl7CisJdmFyIGEgPSBbMF07CisJZm9yKHZhciBpID0gMDsgaSA8IDEwMjQ7IGkrKyl7CisJ
CWFbaV0gPSBpOworCX0KKwlyZXR1cm4gYTsKK30KKworZnVuY3Rpb24gc2hvcnRlbigpeworCWN1
cnJBcnJheS5sZW5ndGggPSAyMDsKKwlyZXR1cm4gMTAwMDsKK30KKwordmFyIGFycmF5ID0gW107
CithcnJheS5sZW5ndGggPSAyMDsKKwordmFyIGN1cnJBcnJheSA9IGxvbmdEZW5zZUFycmF5KCk7
CisKK2Fzc2VydCgKKyAgY29tcGFyZUFycmF5KAorICAgIGN1cnJBcnJheS5jb3B5V2l0aGluKDAs
IHt2YWx1ZU9mOiBzaG9ydGVufSksIGFycmF5CisgICksCisgICdjb2VyY2lvbiBzaWRlLWVmZmVj
dCBtYWtlcyBzdGFydCBvdXQgb2YgYm91bmRzJworKTsKKworY3VyckFycmF5ID0gbG9uZ0RlbnNl
QXJyYXkoKTsKK09iamVjdC5zZXRQcm90b3R5cGVPZihjdXJyQXJyYXksIGxvbmdEZW5zZUFycmF5
KCkpOworCit2YXIgYXJyYXkyID0gbG9uZ0RlbnNlQXJyYXkoKTsKK2FycmF5Mi5sZW5ndGggPSAy
MDsKK2Zvcih2YXIgaSA9IDA7IGkgPCAyNDsgaSsrKXsKKwlhcnJheTJbaV0gPSBPYmplY3QuZ2V0
UHJvdG90eXBlT2YoY3VyckFycmF5KVtpKzEwMDBdOworfQorCithc3NlcnQoCisgIGNvbXBhcmVB
cnJheSgKKyAgICBjdXJyQXJyYXkuY29weVdpdGhpbigwLCB7dmFsdWVPZjogc2hvcnRlbn0pLCBh
cnJheTIKKyAgKSwKKyAgJ2NvZXJjaW9uIHNpZGUtZWZmZWN0IG1ha2VzIHN0YXJ0IG91dCBvZiBi
b3VuZHMgd2l0aCBwcm90b3R5cGUnCispOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb3B5V2l0aGluL2NvZXJjZWQtdmFsdWVzLXN0YXJ0LWNo
YW5nZS10YXJnZXQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0FycmF5L3Byb3RvdHlwZS9jb3B5V2l0aGluL2NvZXJjZWQtdmFsdWVzLXN0YXJ0LWNoYW5n
ZS10YXJnZXQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0FycmF5L3Byb3RvdHlwZS9jb3B5V2l0aGluL2NvZXJjZWQtdmFsdWVzLXN0YXJ0LWNoYW5n
ZS10YXJnZXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDE5IEdvb2dsZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8q
LS0tCitlc2lkOiBzZWMtYXJyYXkucHJvdG90eXBlLmNvcHl3aXRoaW4KK2Rlc2NyaXB0aW9uOiA+
CisgIFNFQ1VSSVRZOiBzdGFydCBhcmd1bWVudCBpcyBjb2VyY2VkIHRvIGFuIGludGVnZXIgdmFs
dWUKKyAgYW5kIHNpZGUgZWZmZWN0cyBjaGFuZ2UgdGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkgc28g
dGhhdAorICB0aGUgdGFyZ2V0IGlzIG91dCBvZiBib3VuZHMKK2luZm86IHwKKyAgMjIuMS4zLjMg
QXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4gKHRhcmdldCwgc3RhcnQgWyAsIGVuZCBdICkKKwor
ICAuLi4KKyAgOC4gTGV0IHJlbGF0aXZlU3RhcnQgYmUgVG9JbnRlZ2VyKHN0YXJ0KS4KKyAgLi4u
CitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KKy0tLSovCisKKworLy8gbWFrZSBhIGxvbmcg
aW50ZWdlciBBcnJheQorZnVuY3Rpb24gbG9uZ0RlbnNlQXJyYXkoKXsKKwl2YXIgYSA9IFswXTsK
Kwlmb3IodmFyIGkgPSAwOyBpIDwgMTAyNDsgaSsrKXsKKwkJYVtpXSA9IGk7CisJfQorCXJldHVy
biBhOworfQorCitmdW5jdGlvbiBzaG9ydGVuKCl7CisJY3VyckFycmF5Lmxlbmd0aCA9IDIwOwor
CXJldHVybiAxOworfQorCit2YXIgYXJyYXkgPSBsb25nRGVuc2VBcnJheSgpOworYXJyYXkubGVu
Z3RoID0gMjA7Citmb3IodmFyIGkgPSAwOyBpIDwgMTk7IGkrKyl7CisJYXJyYXlbaSsxMDAwXSA9
IGFycmF5W2krMV07Cit9CisKK3ZhciBjdXJyQXJyYXkgPSBsb25nRGVuc2VBcnJheSgpOworCith
c3NlcnQoCisgIGNvbXBhcmVBcnJheSgKKyAgICBjdXJyQXJyYXkuY29weVdpdGhpbigxMDAwLCB7
dmFsdWVPZjogc2hvcnRlbn0pLCBhcnJheQorICApLAorICAnY29lcmNpb24gc2lkZS1lZmZlY3Qg
bWFrZXMgdGFyZ2V0IG91dCBvZiBib3VuZHMnCispOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb3B5V2l0aGluL2Nv
ZXJjZWQtdmFsdWVzLXN0YXJ0LWNoYW5nZS10YXJnZXQuanMKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogYWxs
b3ctdGFicwojIyAtMCwwICsxICMjCisxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZmxh
dE1hcC90aGlzLXZhbHVlLWN0b3Itb2JqZWN0LXNwZWNpZXMtYmFkLXRocm93cy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2Zs
YXRNYXAvdGhpcy12YWx1ZS1jdG9yLW9iamVjdC1zcGVjaWVzLWJhZC10aHJvd3MuanMJKHJldmlz
aW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90
b3R5cGUvZmxhdE1hcC90aGlzLXZhbHVlLWN0b3Itb2JqZWN0LXNwZWNpZXMtYmFkLXRocm93cy5q
cwkod29ya2luZyBjb3B5KQpAQCAtMTI2LDQgKzEyNiw0IEBAIGFyci5jb25zdHJ1Y3RvciA9IHsK
IGFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKICAgYXJyLmZsYXRNYXAo
bWFwcGVyRm4pOwogfSwgJ1JldHVybiBhYnJ1cHQgY29tcGxldGlvbiBmcm9tIGdldHRpbmcgdGhl
IEBAc3BlY2llcycpOwotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsZWQsIDEsICdnb3Qgc3BlY2llcyBv
bmNlJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
ZWQsIDEsICdnb3Qgc3BlY2llcyBvbmNlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy9hZGQvYmlnaW50L25vbnNoYXJlZC1pbnQtdmlld3MuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3MvYWRkL2JpZ2lu
dC9ub25zaGFyZWQtaW50LXZpZXdzLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9hZGQvYmlnaW50L25vbnNoYXJlZC1pbnQtdmll
d3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTEzLDQgKzEzLDQgQEAgdGVzdFdpdGhCaWdJbnRUeXBl
ZEFycmF5Q29uc3RydWN0b3JzKGZ1bgogICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7CiAgICAgQXRvbWljcy5hZGQobmV3IFRBKGFiKSwgMCwgMG4pOwogICB9LCAnYEF0b21p
Y3MuYWRkKG5ldyBUQShhYiksIDAsIDBuKWAgdGhyb3dzIFR5cGVFcnJvcicpOwotfSk7ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy9hbmQvYmlnaW50L25vbnNoYXJlZC1pbnQtdmlld3MuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3MvYW5kL2JpZ2lu
dC9ub25zaGFyZWQtaW50LXZpZXdzLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9hbmQvYmlnaW50L25vbnNoYXJlZC1pbnQtdmll
d3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTEzLDQgKzEzLDQgQEAgdGVzdFdpdGhCaWdJbnRUeXBl
ZEFycmF5Q29uc3RydWN0b3JzKGZ1bgogICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7CiAgICAgQXRvbWljcy5hbmQobmV3IFRBKGJ1ZmZlciksIDAsIDBuKTsKICAgfSwgJ2BB
dG9taWNzLmFuZChuZXcgVEEoYnVmZmVyKSwgMCwgMG4pYCB0aHJvd3MgVHlwZUVycm9yJyk7Ci19
KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL2NvbXBhcmVFeGNoYW5nZS9iaWdpbnQvbm9uc2hhcmVk
LWludC12aWV3cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy9jb21wYXJlRXhjaGFuZ2UvYmlnaW50L25vbnNoYXJlZC1pbnQtdmlld3MuanMJ
KHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9t
aWNzL2NvbXBhcmVFeGNoYW5nZS9iaWdpbnQvbm9uc2hhcmVkLWludC12aWV3cy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMTMsNCArMTMsNCBAQCB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMoZnVuCiAgIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICBB
dG9taWNzLmNvbXBhcmVFeGNoYW5nZShuZXcgVEEoYnVmZmVyKSwgMCwgMG4sIDBuKTsKICAgfSwg
J2BBdG9taWNzLmNvbXBhcmVFeGNoYW5nZShuZXcgVEEoYnVmZmVyKSwgMCwgMG4sIDBuKWAgdGhy
b3dzIFR5cGVFcnJvcicpOwotfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSk7Cklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9leGNoYW5nZS9iaWdp
bnQvbm9uc2hhcmVkLWludC12aWV3cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy9leGNoYW5nZS9iaWdpbnQvbm9uc2hhcmVkLWludC12aWV3
cy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0F0b21pY3MvZXhjaGFuZ2UvYmlnaW50L25vbnNoYXJlZC1pbnQtdmlld3MuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEzLDQgKzEzLDQgQEAgdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0
b3JzKGZ1bgogICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgICAgQXRv
bWljcy5leGNoYW5nZShuZXcgVEEoYnVmZmVyKSwgMG4sIDBuKTsKICAgfSwgJ2BBdG9taWNzLmV4
Y2hhbmdlKG5ldyBUQShidWZmZXIpLCAwbiwgMG4pYCB0aHJvd3MgVHlwZUVycm9yJyk7Ci19KTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL29yL2JpZ2ludC9ub25zaGFyZWQtaW50LXZpZXdzLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL29yL2Jp
Z2ludC9ub25zaGFyZWQtaW50LXZpZXdzLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9vci9iaWdpbnQvbm9uc2hhcmVkLWludC12
aWV3cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMTMsNCArMTMsNCBAQCB0ZXN0V2l0aEJpZ0ludFR5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuCiAgIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5j
dGlvbigpIHsKICAgICBBdG9taWNzLm9yKG5ldyBUQShidWZmZXIpLCAwLCAwbik7CiAgIH0sICdg
QXRvbWljcy5vcihuZXcgVEEoYnVmZmVyKSwgMCwgMG4pYCB0aHJvd3MgVHlwZUVycm9yJyk7Ci19
KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3N0b3JlL2JpZ2ludC9ub25zaGFyZWQtaW50LXZpZXdz
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3N0b3JlL2JpZ2ludC9ub25zaGFyZWQtaW50LXZpZXdzLmpzCShyZXZpc2lvbiAyNTQwMDcpCisr
KyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9zdG9yZS9iaWdpbnQvbm9u
c2hhcmVkLWludC12aWV3cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMTMsNCArMTMsNCBAQCB0ZXN0
V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuCiAgIGFzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICBBdG9taWNzLnN0b3JlKG5ldyBUQShidWZmZXIpLCAw
LCAwbik7CiAgIH0sICdgQXRvbWljcy5zdG9yZShuZXcgVEEoYnVmZmVyKSwgMCwgMG4pYCB0aHJv
d3MgVHlwZUVycm9yJyk7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9KTsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3N1Yi9iaWdpbnQvbm9u
c2hhcmVkLWludC12aWV3cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy9zdWIvYmlnaW50L25vbnNoYXJlZC1pbnQtdmlld3MuanMJKHJldmlz
aW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3N1
Yi9iaWdpbnQvbm9uc2hhcmVkLWludC12aWV3cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMTMsNCAr
MTMsNCBAQCB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuCiAgIGFzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICBBdG9taWNzLnN1YihuZXcgVEEo
YnVmZmVyKSwgMCwgMG4pOwogICB9LCAnYEF0b21pY3Muc3ViKG5ldyBUQShidWZmZXIpLCAwLCAw
bilgIHRocm93cyBUeXBlRXJyb3InKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
K30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlw
ZS90b1N0cmluZy9pbnZhbGlkLXJlY2VpdmVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9FcnJvci9wcm90b3R5cGUvdG9TdHJpbmcvaW52YWxpZC1yZWNl
aXZlci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RXJyb3IvcHJvdG90eXBlL3RvU3RyaW5nL2ludmFsaWQtcmVjZWl2ZXIuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxOCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IEVjbWEgSW50ZXJuYXRp
b25hbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1lcnJvci5wcm90b3R5cGUudG9zdHJpbmcKK2Rlc2NyaXB0aW9uOiA+CisgIEVycm9yLnBy
b3RvdHlwZS50b1N0cmluZyB0aHJvd3MgaWYgaXRzIHJlY2VpdmVyIGlzIG5vdCBhbiBvYmplY3Qu
CitpbmZvOiB8CisgIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyAoICkKKyAgMS4gTGV0IE8gYmUg
dGhpcyB2YWx1ZS4KKyAgMi4gSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0LCB0aHJvdyBhIFR5cGVF
cnJvciBleGNlcHRpb24uCistLS0qLworCitbdW5kZWZpbmVkLCBudWxsLCAxLCB0cnVlLCAnc3Ry
aW5nJywgU3ltYm9sKCldLmZvckVhY2goKHYpID0+IHsKKyAgYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgICBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2KTsKKyAgfSwg
YEVycm9yLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKCR7U3RyaW5nKHYpfSlgKTsKK30pOwpJbmRl
eDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS90b1N0cmlu
Zy91bmRlZmluZWQtcHJvcHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS90b1N0cmluZy91bmRlZmluZWQtcHJvcHMuanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3Rv
dHlwZS90b1N0cmluZy91bmRlZmluZWQtcHJvcHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyMCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IEVjbWEgSW50ZXJuYXRpb25hbC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lcnJvci5w
cm90b3R5cGUudG9zdHJpbmcKK2Rlc2NyaXB0aW9uOiA+CisgIEVycm9yLnByb3RvdHlwZS50b1N0
cmluZyBoYW5kbGVzIHRoaXMubmFtZSBhbmQgdGhpcy5tZXNzYWdlIGJlaW5nIHVuZGVmaW5lZC4K
K2luZm86IHwKKyAgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nICggKQorICAuLi4KKyAgMy4gTGV0
IG5hbWUgYmUgPyBHZXQoTywgIm5hbWUiKS4KKyAgNC4gSWYgbmFtZSBpcyB1bmRlZmluZWQsIHNl
dCBuYW1lIHRvICJFcnJvciI7IG90aGVyd2lzZSBzZXQgbmFtZSB0byA/IFRvU3RyaW5nKG5hbWUp
LgorICA1LiBMZXQgbXNnIGJlID8gR2V0KE8sICJtZXNzYWdlIikuCisgIDYuIElmIG1zZyBpcyB1
bmRlZmluZWQsIHNldCBtc2cgdG8gdGhlIGVtcHR5IFN0cmluZzsgb3RoZXJ3aXNlIHNldCBtc2cg
dG8gPyBUb1N0cmluZyhtc2cpLgorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShFcnJvci5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbCh7fSksICdFcnJvcicpOworYXNzZXJ0LnNhbWVWYWx1ZShFcnJv
ci5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh7IG1lc3NhZ2U6ICc0MicgfSksICdFcnJvcjogNDIn
KTsKK2Fzc2VydC5zYW1lVmFsdWUoRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeyBuYW1l
OiAnMjQnIH0pLCAnMjQnKTsKK2Fzc2VydC5zYW1lVmFsdWUoRXJyb3IucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwoeyBuYW1lOiAnMjQnLCBtZXNzYWdlOiAnNDInIH0pLCAnMjQ6IDQyJyk7CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uR3JvdXAvdGFyZ2V0
LW5vdC1jYWxsYWJsZS10aHJvd3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvbkdyb3VwL3RhcmdldC1ub3QtY2FsbGFibGUtdGhyb3dz
LmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RmluYWxpemF0aW9uR3JvdXAvdGFyZ2V0LW5vdC1jYWxsYWJsZS10aHJvd3MuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTExLDcgKzExLDcgQEAgaW5mbzogfAogICAxLiBJZiBOZXdUYXJnZXQgaXMgdW5k
ZWZpbmVkLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCiAgIDIuIElmIElzQ2FsbGFibGUo
Y2xlYW51cENhbGxiYWNrKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgog
ICAuLi4KLWZlYXR1cmVzOiBbRmluYWxpemF0aW9uR3JvdXBdCitmZWF0dXJlczogW0ZpbmFsaXph
dGlvbkdyb3VwLCBXZWFrUmVmXQogLS0tKi8KIAogYXNzZXJ0LnNhbWVWYWx1ZSgKSW5kZXg6IEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25Hcm91cC9wcm90b3R5cGUv
Y2xlYW51cFNvbWUvY2xlYW51cC1wcmV2ZW50ZWQtd2l0aC11bnJlZ2lzdGVyLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25Hcm91cC9w
cm90b3R5cGUvY2xlYW51cFNvbWUvY2xlYW51cC1wcmV2ZW50ZWQtd2l0aC11bnJlZ2lzdGVyLmpz
CShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmlu
YWxpemF0aW9uR3JvdXAvcHJvdG90eXBlL2NsZWFudXBTb21lL2NsZWFudXAtcHJldmVudGVkLXdp
dGgtdW5yZWdpc3Rlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMjcsMjQgKzI3LDI1IEBAIGluY2x1
ZGVzOiBbYXN5bmMtZ2MuanNdCiBmbGFnczogW2FzeW5jLCBub24tZGV0ZXJtaW5pc3RpY10KIC0t
LSovCiAKLXZhciBjYWxsZWQgPSAwOwordmFyIHRva2VuID0ge307CiB2YXIgZmcgPSBuZXcgRmlu
YWxpemF0aW9uR3JvdXAoZnVuY3Rpb24oKSB7fSk7CiAKIGZ1bmN0aW9uIGVtcHR5Q2VsbHMoKSB7
CiAgIHZhciB0YXJnZXQgPSB7fTsKLSAgdmFyIHRva2VuID0ge307CiAgIGZnLnJlZ2lzdGVyKHRh
cmdldCwgJ3RhcmdldCEnLCB0b2tlbik7CiAKICAgdmFyIHByb20gPSBhc3luY0dDKHRhcmdldCk7
CiAgIHRhcmdldCA9IG51bGw7CiAKLSAgdmFyIHJlcyA9IGZnLnVucmVnaXN0ZXIodG9rZW4pOwot
ICBhc3NlcnQuc2FtZVZhbHVlKHJlcywgdHJ1ZSwgJ3VucmVnaXN0ZXIgdGFyZ2V0IGJlZm9yZSBp
dGVyYXRpbmcgb3ZlciBpdCBpbiBjbGVhbnVwJyk7Ci0KICAgcmV0dXJuIHByb207CiB9CiAKIGVt
cHR5Q2VsbHMoKS50aGVuKGZ1bmN0aW9uKCkgeworICB2YXIgY2FsbGVkID0gMDsKKworICB2YXIg
cmVzID0gZmcudW5yZWdpc3Rlcih0b2tlbik7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzLCB0cnVl
LCAndW5yZWdpc3RlciB0YXJnZXQgYmVmb3JlIGl0ZXJhdGluZyBvdmVyIGl0IGluIGNsZWFudXAn
KTsKKwogICBmZy5jbGVhbnVwU29tZShmdW5jdGlvbiBjYihpdGVyYXRvcikgewogICAgIGNhbGxl
ZCArPSAxOwogICB9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5h
bGl6YXRpb25Hcm91cC9wcm90b3R5cGUvY2xlYW51cFNvbWUvY2xlYW51cC10aHJvd3MtaW4tY2Fs
bGJhY2suanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Zp
bmFsaXphdGlvbkdyb3VwL3Byb3RvdHlwZS9jbGVhbnVwU29tZS9jbGVhbnVwLXRocm93cy1pbi1j
YWxsYmFjay5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRmluYWxpemF0aW9uR3JvdXAvcHJvdG90eXBlL2NsZWFudXBTb21lL2NsZWFudXAtdGhyb3dz
LWluLWNhbGxiYWNrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKy8vIENvcHly
aWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLXByb3BlcnRpZXMtb2YtdGhlLWZpbmFsaXphdGlvbi1n
cm91cC1jb25zdHJ1Y3RvcgorZGVzY3JpcHRpb246ID4KKyAgVGhlIGNsZWFudXBTb21lKCkgbWV0
aG9kIHRocm93cyBpZiBjbGVhbnVwIGlzIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4gCitpbmZvOiB8
CisgIEZpbmFsaXphdGlvbkdyb3VwLnByb3RvdHlwZS5jbGVhbnVwU29tZSAoIFsgY2FsbGJhY2sg
XSApCisKKyAgMS4gTGV0IGZpbmFsaXphdGlvbkdyb3VwIGJlIHRoZSB0aGlzIHZhbHVlLgorICAu
Li4KKyAgNC4gSWYgZmluYWxpemF0aW9uR3JvdXAuW1tJc0ZpbmFsaXphdGlvbkdyb3VwQ2xlYW51
cEpvYkFjdGl2ZV1dIGlzIHRydWUsIAorICAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisKK2ZlYXR1cmVzOiBbRmluYWxpemF0aW9uR3JvdXAsIGhvc3QtZ2MtcmVxdWlyZWRdCitpbmNs
dWRlczogW2FzeW5jLWdjLmpzXQorZmxhZ3M6IFthc3luYywgbm9uLWRldGVybWluaXN0aWNdCist
LS0qLworCit2YXIgY2FsbGVkID0gMDsKK3ZhciBlbmRPZkNhbGwgPSAwOwordmFyIGZnID0gbmV3
IEZpbmFsaXphdGlvbkdyb3VwKGZ1bmN0aW9uKCkge30pOworCitmdW5jdGlvbiBjYWxsYmFjayhp
dGVyYXRvcikgeworICBjYWxsZWQgKz0gMTsKKworICBpZiAoY2FsbGVkID09PSAxKSB7CisgICAg
Ly8gQXRlbXB0IHRvIHJlLWVudGVyIHRoZSBjYWxsYmFjay4KKyAgICB2YXIgbmVzdGVkQ2FsbGJh
Y2tSYW4gPSBmYWxzZTsKKyAgICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICAg
ICAgZmcuY2xlYW51cFNvbWUoKCkgPT4geyBuZXN0ZWRDYWxsYmFja1JhbiA9IHRydWUgfSk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShuZXN0ZWRDYWxsYmFja1JhbiwgZmFsc2UpOwor
ICB9CisKKyAgZW5kT2ZDYWxsICs9IDE7Cit9CisKK2Z1bmN0aW9uIGVtcHR5Q2VsbHMoKSB7Cisg
IHZhciBvMSA9IHt9OworICBmZy5yZWdpc3RlcihvMSwgJ2hvbGRpbmdzIDEnKTsKKworICB2YXIg
cHJvbSA9IGFzeW5jR0MobzEpOworICBvMSA9IG51bGw7CisKKyAgcmV0dXJuIHByb207Cit9CisK
K2VtcHR5Q2VsbHMoKS50aGVuKGZ1bmN0aW9uKCkgeworICBmZy5jbGVhbnVwU29tZShjYWxsYmFj
ayk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsZWQsIDEsICdjYWxsYmFjayB3YXMgY2FsbGVk
Jyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZW5kT2ZDYWxsLCAxLCAnY2FsbGJhY2sgZmluaXNoZWQn
KTsKK30pLnRoZW4oJERPTkUsIHJlc29sdmVBc3luY0dDKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25Hcm91cC9wcm90b3R5cGUvcmVnaXN0ZXIvaG9s
ZGluZ3Mtc2FtZS1hcy10YXJnZXQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvbkdyb3VwL3Byb3RvdHlwZS9yZWdpc3Rlci9ob2xkaW5n
cy1zYW1lLWFzLXRhcmdldC5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvbkdyb3VwL3Byb3RvdHlwZS9yZWdpc3Rlci9ob2xk
aW5ncy1zYW1lLWFzLXRhcmdldC5qcwkod29ya2luZyBjb3B5KQpAQCAtOSwxOCArOSwxMyBAQCBp
bmZvOiB8CiAKICAgMS4gTGV0IGZpbmFsaXphdGlvbkdyb3VwIGJlIHRoZSB0aGlzIHZhbHVlLgog
ICAyLiBJZiBUeXBlKGZpbmFsaXphdGlvbkdyb3VwKSBpcyBub3QgT2JqZWN0LCB0aHJvdyBhIFR5
cGVFcnJvciBleGNlcHRpb24uCi0gIDMuIElmIFR5cGUodGFyZ2V0KSBpcyBub3QgT2JqZWN0LCB0
aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi0gIDQuIElmIGZpbmFsaXphdGlvbkdyb3VwIGRv
ZXMgbm90IGhhdmUgYSBbW0NlbGxzXV0gaW50ZXJuYWwgc2xvdCwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgotICA1LiBJZiBUeXBlKHVucmVnaXN0ZXJUb2tlbikgaXMgbm90IE9iamVjdCwK
LSAgICBhLiBJZiB1bnJlZ2lzdGVyVG9rZW4gaXMgbm90IHVuZGVmaW5lZCwgdGhyb3cgYSBUeXBl
RXJyb3IgZXhjZXB0aW9uLgotICAgIGIuIFNldCB1bnJlZ2lzdGVyVG9rZW4gdG8gZW1wdHkuCi0g
IDYuIExldCBjZWxsIGJlIHRoZSBSZWNvcmQgeyBbW1RhcmdldF1dIDogdGFyZ2V0LCBbW0hvbGRp
bmdzXV06IGhvbGRpbmdzLCBbW1VucmVnaXN0ZXJUb2tlbl1dOiB1bnJlZ2lzdGVyVG9rZW4gfS4K
LSAgNy4gQXBwZW5kIGNlbGwgdG8gZmluYWxpemF0aW9uR3JvdXAuW1tDZWxsc11dLgotICA4LiBS
ZXR1cm4gdW5kZWZpbmVkLgorICAzLiBJZiBmaW5hbGl6YXRpb25Hcm91cCBkb2VzIG5vdCBoYXZl
IGEgW1tDZWxsc11dIGludGVybmFsIHNsb3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4K
KyAgNC4gSWYgVHlwZSh0YXJnZXQpIGlzIG5vdCBPYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgNS4gSWYgU2FtZVZhbHVlKHRhcmdldCwgaG9sZGluZ3MpLCB0aHJvdyBhIFR5
cGVFcnJvciBleGNlcHRpb24uCiBmZWF0dXJlczogW0ZpbmFsaXphdGlvbkdyb3VwXQogLS0tKi8K
IAogdmFyIGZnID0gbmV3IEZpbmFsaXphdGlvbkdyb3VwKGZ1bmN0aW9uKCkge30pOwogCiB2YXIg
dGFyZ2V0ID0ge307Ci1hc3NlcnQuc2FtZVZhbHVlKGZnLnJlZ2lzdGVyKHRhcmdldCwgdGFyZ2V0
KSwgdW5kZWZpbmVkKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBmZy5yZWdpc3Rl
cih0YXJnZXQsIHRhcmdldCkpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0ZpbmFsaXphdGlvbkdyb3VwL3Byb3RvdHlwZS9yZWdpc3Rlci9yZXR1cm4tdW5kZWZpbmVkLXJl
Z2lzdGVyLWl0c2VsZi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRmluYWxpemF0aW9uR3JvdXAvcHJvdG90eXBlL3JlZ2lzdGVyL3JldHVybi11bmRlZmlu
ZWQtcmVnaXN0ZXItaXRzZWxmLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uR3JvdXAvcHJvdG90eXBlL3JlZ2lzdGVyL3Jl
dHVybi11bmRlZmluZWQtcmVnaXN0ZXItaXRzZWxmLmpzCSh3b3JraW5nIGNvcHkpCkBAIC05LDIw
ICs5LDIyIEBAIGluZm86IHwKIAogICAxLiBMZXQgZmluYWxpemF0aW9uR3JvdXAgYmUgdGhlIHRo
aXMgdmFsdWUuCiAgIDIuIElmIFR5cGUoZmluYWxpemF0aW9uR3JvdXApIGlzIG5vdCBPYmplY3Qs
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KLSAgMy4gSWYgVHlwZSh0YXJnZXQpIGlzIG5v
dCBPYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KLSAgNC4gSWYgZmluYWxpemF0
aW9uR3JvdXAgZG9lcyBub3QgaGF2ZSBhIFtbQ2VsbHNdXSBpbnRlcm5hbCBzbG90LCB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24uCi0gIDUuIElmIFR5cGUodW5yZWdpc3RlclRva2VuKSBpcyBu
b3QgT2JqZWN0LAorICAzLiBJZiBmaW5hbGl6YXRpb25Hcm91cCBkb2VzIG5vdCBoYXZlIGEgW1tD
ZWxsc11dIGludGVybmFsIHNsb3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgNC4g
SWYgVHlwZSh0YXJnZXQpIGlzIG5vdCBPYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KKyAgNS4gSWYgU2FtZVZhbHVlKHRhcmdldCwgaG9sZGluZ3MpLCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCisgIDYuIElmIFR5cGUodW5yZWdpc3RlclRva2VuKSBpcyBub3QgT2JqZWN0
LAogICAgIGEuIElmIHVucmVnaXN0ZXJUb2tlbiBpcyBub3QgdW5kZWZpbmVkLCB0aHJvdyBhIFR5
cGVFcnJvciBleGNlcHRpb24uCiAgICAgYi4gU2V0IHVucmVnaXN0ZXJUb2tlbiB0byBlbXB0eS4K
LSAgNi4gTGV0IGNlbGwgYmUgdGhlIFJlY29yZCB7IFtbVGFyZ2V0XV0gOiB0YXJnZXQsIFtbSG9s
ZGluZ3NdXTogaG9sZGluZ3MsIFtbVW5yZWdpc3RlclRva2VuXV06IHVucmVnaXN0ZXJUb2tlbiB9
LgotICA3LiBBcHBlbmQgY2VsbCB0byBmaW5hbGl6YXRpb25Hcm91cC5bW0NlbGxzXV0uCi0gIDgu
IFJldHVybiB1bmRlZmluZWQuCisgIDcuIExldCBjZWxsIGJlIHRoZSBSZWNvcmQgeyBbW1Rhcmdl
dF1dIDogdGFyZ2V0LCBbW0hvbGRpbmdzXV06IGhvbGRpbmdzLCBbW1VucmVnaXN0ZXJUb2tlbl1d
OiB1bnJlZ2lzdGVyVG9rZW4gfS4KKyAgOC4gQXBwZW5kIGNlbGwgdG8gZmluYWxpemF0aW9uR3Jv
dXAuW1tDZWxsc11dLgorICA5LiBSZXR1cm4gdW5kZWZpbmVkLgogZmVhdHVyZXM6IFtGaW5hbGl6
YXRpb25Hcm91cF0KIC0tLSovCiAKIHZhciBmbiA9IGZ1bmN0aW9uKCkge307CiB2YXIgZmcgPSBu
ZXcgRmluYWxpemF0aW9uR3JvdXAoZm4pOwordmFyIGhvbGRpbmdzID0ge307CiAKIGFzc2VydC5z
YW1lVmFsdWUoZmcucmVnaXN0ZXIoZmcpLCB1bmRlZmluZWQsICdSZWdpc3RlciBpdHNlbGYnKTsK
LWFzc2VydC5zYW1lVmFsdWUoZmcucmVnaXN0ZXIoZmcsIGZnKSwgdW5kZWZpbmVkLCAnUmVnaXN0
ZXIgaXRzZWxmIHdpdGggaG9sZGluZ3MnKTsKLWFzc2VydC5zYW1lVmFsdWUoZmcucmVnaXN0ZXIo
ZmcsIGZnLCBmZyksIHVuZGVmaW5lZCwgJ1JlZ2lzdGVyIGl0c2VsZiB3aXRoIGhvbGRpbmdzIGFu
ZCB1bnJlZ2lzdGVyVG9rZW4nKTsKK2Fzc2VydC5zYW1lVmFsdWUoZmcucmVnaXN0ZXIoZmcsIGhv
bGRpbmdzKSwgdW5kZWZpbmVkLCAnUmVnaXN0ZXIgaXRzZWxmIHdpdGggaG9sZGluZ3MnKTsKK2Fz
c2VydC5zYW1lVmFsdWUoZmcucmVnaXN0ZXIoZmcsIGhvbGRpbmdzLCBmZyksIHVuZGVmaW5lZCwg
J1JlZ2lzdGVyIGl0c2VsZiB3aXRoIGhvbGRpbmdzIGFuZCB1bnJlZ2lzdGVyVG9rZW4nKTsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25Hcm91cC9wcm90
b3R5cGUvcmVnaXN0ZXIvdW5yZWdpc3RlclRva2VuLXNhbWUtYXMtaG9sZGluZ3MtYW5kLXRhcmdl
dC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxp
emF0aW9uR3JvdXAvcHJvdG90eXBlL3JlZ2lzdGVyL3VucmVnaXN0ZXJUb2tlbi1zYW1lLWFzLWhv
bGRpbmdzLWFuZC10YXJnZXQuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25Hcm91cC9wcm90b3R5cGUvcmVnaXN0ZXIvdW5y
ZWdpc3RlclRva2VuLXNhbWUtYXMtaG9sZGluZ3MtYW5kLXRhcmdldC5qcwkod29ya2luZyBjb3B5
KQpAQCAtOSwxOCArOSwxOSBAQCBpbmZvOiB8CiAKICAgMS4gTGV0IGZpbmFsaXphdGlvbkdyb3Vw
IGJlIHRoZSB0aGlzIHZhbHVlLgogICAyLiBJZiBUeXBlKGZpbmFsaXphdGlvbkdyb3VwKSBpcyBu
b3QgT2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi0gIDMuIElmIFR5cGUodGFy
Z2V0KSBpcyBub3QgT2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi0gIDQuIElm
IGZpbmFsaXphdGlvbkdyb3VwIGRvZXMgbm90IGhhdmUgYSBbW0NlbGxzXV0gaW50ZXJuYWwgc2xv
dCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgotICA1LiBJZiBUeXBlKHVucmVnaXN0ZXJU
b2tlbikgaXMgbm90IE9iamVjdCwKKyAgMy4gSWYgZmluYWxpemF0aW9uR3JvdXAgZG9lcyBub3Qg
aGF2ZSBhIFtbQ2VsbHNdXSBpbnRlcm5hbCBzbG90LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCisgIDQuIElmIFR5cGUodGFyZ2V0KSBpcyBub3QgT2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCisgIDUuIElmIFNhbWVWYWx1ZSh0YXJnZXQsIGhvbGRpbmdzKSwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICA2LiBJZiBUeXBlKHVucmVnaXN0ZXJUb2tlbikgaXMg
bm90IE9iamVjdCwKICAgICBhLiBJZiB1bnJlZ2lzdGVyVG9rZW4gaXMgbm90IHVuZGVmaW5lZCwg
dGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogICAgIGIuIFNldCB1bnJlZ2lzdGVyVG9rZW4g
dG8gZW1wdHkuCi0gIDYuIExldCBjZWxsIGJlIHRoZSBSZWNvcmQgeyBbW1RhcmdldF1dIDogdGFy
Z2V0LCBbW0hvbGRpbmdzXV06IGhvbGRpbmdzLCBbW1VucmVnaXN0ZXJUb2tlbl1dOiB1bnJlZ2lz
dGVyVG9rZW4gfS4KLSAgNy4gQXBwZW5kIGNlbGwgdG8gZmluYWxpemF0aW9uR3JvdXAuW1tDZWxs
c11dLgotICA4LiBSZXR1cm4gdW5kZWZpbmVkLgorICA3LiBMZXQgY2VsbCBiZSB0aGUgUmVjb3Jk
IHsgW1tUYXJnZXRdXSA6IHRhcmdldCwgW1tIb2xkaW5nc11dOiBob2xkaW5ncywgW1tVbnJlZ2lz
dGVyVG9rZW5dXTogdW5yZWdpc3RlclRva2VuIH0uCisgIDguIEFwcGVuZCBjZWxsIHRvIGZpbmFs
aXphdGlvbkdyb3VwLltbQ2VsbHNdXS4KKyAgOS4gUmV0dXJuIHVuZGVmaW5lZC4KIGZlYXR1cmVz
OiBbRmluYWxpemF0aW9uR3JvdXBdCiAtLS0qLwogCiB2YXIgZmcgPSBuZXcgRmluYWxpemF0aW9u
R3JvdXAoZnVuY3Rpb24oKSB7fSk7CiAKIHZhciB0YXJnZXQgPSB7fTsKLWFzc2VydC5zYW1lVmFs
dWUoZmcucmVnaXN0ZXIodGFyZ2V0LCB0YXJnZXQsIHRhcmdldCksIHVuZGVmaW5lZCk7Cithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZmcucmVnaXN0ZXIodGFyZ2V0LCB0YXJnZXQsIHRh
cmdldCkpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlv
bkdyb3VwL3Byb3RvdHlwZS91bnJlZ2lzdGVyL3VucmVnaXN0ZXItY2xlYW5lZC11cC1jZWxsLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRp
b25Hcm91cC9wcm90b3R5cGUvdW5yZWdpc3Rlci91bnJlZ2lzdGVyLWNsZWFuZWQtdXAtY2VsbC5q
cwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxp
emF0aW9uR3JvdXAvcHJvdG90eXBlL3VucmVnaXN0ZXIvdW5yZWdpc3Rlci1jbGVhbmVkLXVwLWNl
bGwuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MiBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDE5IE1hdGhpZXUgSG9mbWFuLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZXNpZDogc2VjLWZpbmFsaXphdGlvbi1ncm91cC5wcm90b3R5cGUudW5yZWdpc3Rl
cgorZGVzY3JpcHRpb246IENhbm5vdCB1bnJlZ2lzdGVyIGEgY2VsbCB0aGF0IGhhcyBiZWVuIGNs
ZWFuZWQgdXAKK2luZm86IHwKKyAgRmluYWxpemF0aW9uR3JvdXAucHJvdG90eXBlLmNsZWFudXBT
b21lICggWyBjYWxsYmFjayBdICkKKworICAxLiBMZXQgZmluYWxpemF0aW9uR3JvdXAgYmUgdGhl
IHRoaXMgdmFsdWUuCisgIC4uLgorICA1LiBQZXJmb3JtICEgQ2xlYW51cEZpbmFsaXphdGlvbkdy
b3VwKGZpbmFsaXphdGlvbkdyb3VwLCBjYWxsYmFjaykuCisgIC4uLgorCisgIENsZWFudXBGaW5h
bGl6YXRpb25Hcm91cCAoIGZpbmFsaXphdGlvbkdyb3VwIFsgLCBjYWxsYmFjayBdICkKKworICAu
Li4KKyAgMy4gTGV0IGl0ZXJhdG9yIGJlICEgQ3JlYXRlRmluYWxpemF0aW9uR3JvdXBDbGVhbnVw
SXRlcmF0b3IoZmluYWxpemF0aW9uR3JvdXApLgorICAuLi4KKyAgNi4gTGV0IHJlc3VsdCBiZSBD
YWxsKGNhbGxiYWNrLCB1bmRlZmluZWQsIMKrIGl0ZXJhdG9yIMK7KS4KKyAgLi4uCisKKyAgJUZp
bmFsaXphdGlvbkdyb3VwQ2xlYW51cEl0ZXJhdG9yUHJvdG90eXBlJS5uZXh0ICggKQorCisgIDgu
IElmIGZpbmFsaXphdGlvbkdyb3VwLltbQ2VsbHNdXSBjb250YWlucyBhIFJlY29yZCBjZWxsIHN1
Y2ggdGhhdCBjZWxsLltbVGFyZ2V0XV0gaXMgZW1wdHksCisgICAgYS4gQ2hvb3NlIGFueSBzdWNo
IGNlbGwuCisgICAgYi4gUmVtb3ZlIGNlbGwgZnJvbSBmaW5hbGl6YXRpb25Hcm91cC5bW0NlbGxz
XV0uCisgICAgYy4gUmV0dXJuIENyZWF0ZUl0ZXJSZXN1bHRPYmplY3QoY2VsbC5bW0hvbGRpbmdz
XV0sIGZhbHNlKS4KKyAgOS4gT3RoZXJ3aXNlLCByZXR1cm4gQ3JlYXRlSXRlclJlc3VsdE9iamVj
dCh1bmRlZmluZWQsIHRydWUpLgorCisgIEZpbmFsaXphdGlvbkdyb3VwLnByb3RvdHlwZS51bnJl
Z2lzdGVyICggdW5yZWdpc3RlclRva2VuICkKKworICAxLiBMZXQgcmVtb3ZlZCBiZSBmYWxzZS4K
KyAgMi4gRm9yIGVhY2ggUmVjb3JkIHsgW1tUYXJnZXRdXSwgW1tIb2xkaW5nc11dLCBbW1VucmVn
aXN0ZXJUb2tlbl1dIH0gY2VsbCB0aGF0IGlzIGFuIGVsZW1lbnQgb2YgZmluYWxpemF0aW9uR3Jv
dXAuW1tDZWxsc11dLCBkbworICAgIGEuIElmIFNhbWVWYWx1ZShjZWxsLltbVW5yZWdpc3RlclRv
a2VuXV0sIHVucmVnaXN0ZXJUb2tlbikgaXMgdHJ1ZSwgdGhlbgorICAgICAgaS4gUmVtb3ZlIGNl
bGwgZnJvbSBmaW5hbGl6YXRpb25Hcm91cC5bW0NlbGxzXV0uCisgICAgICBpaS4gU2V0IHJlbW92
ZWQgdG8gdHJ1ZS4KKyAgMy4gUmV0dXJuIHJlbW92ZWQuCitmZWF0dXJlczogW0ZpbmFsaXphdGlv
bkdyb3VwLCBob3N0LWdjLXJlcXVpcmVkXQoraW5jbHVkZXM6IFthc3luYy1nYy5qc10KK2ZsYWdz
OiBbYXN5bmMsIG5vbi1kZXRlcm1pbmlzdGljXQorLS0tKi8KKwordmFyIHZhbHVlID0gJ3Rhcmdl
dCEnOwordmFyIHRva2VuID0ge307Cit2YXIgZmcgPSBuZXcgRmluYWxpemF0aW9uR3JvdXAoZnVu
Y3Rpb24oKSB7fSk7CisKK2Z1bmN0aW9uIGVtcHR5Q2VsbHMoKSB7CisgIHZhciB0YXJnZXQgPSB7
fTsKKyAgZmcucmVnaXN0ZXIodGFyZ2V0LCB2YWx1ZSwgdG9rZW4pOworCisgIHZhciBwcm9tID0g
YXN5bmNHQyh0YXJnZXQpOworICB0YXJnZXQgPSBudWxsOworCisgIHJldHVybiBwcm9tOworfQor
CitlbXB0eUNlbGxzKCkudGhlbihmdW5jdGlvbigpIHsKKyAgdmFyIGNhbGxlZCA9IDA7CisgIHZh
ciBob2xkaW5nczsKKyAgZmcuY2xlYW51cFNvbWUoZnVuY3Rpb24gY2IoaXRlcmF0b3IpIHsKKyAg
ICBjYWxsZWQgKz0gMTsKKyAgICBob2xkaW5ncyA9IFsuLi5pdGVyYXRvcl07CisgIH0pOworCisg
IGFzc2VydC5zYW1lVmFsdWUoY2FsbGVkLCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShob2xkaW5n
cy5sZW5ndGgsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKGhvbGRpbmdzWzBdLCB2YWx1ZSk7CisK
KyAgdmFyIHJlcyA9IGZnLnVucmVnaXN0ZXIodG9rZW4pOworICBhc3NlcnQuc2FtZVZhbHVlKHJl
cywgZmFsc2UsICd1bnJlZ2lzdGVyIGFmdGVyIGl0ZXJhdGluZyBvdmVyIGl0IGluIGNsZWFudXAn
KTsKK30pLnRoZW4oJERPTkUsIHJlc29sdmVBc3luY0dDKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9KU09OL3BhcnNlL3Jldml2ZXItYXJyYXktZ2V0LXByb3AtZnJvbS1w
cm90b3R5cGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0pTT04vcGFyc2UvcmV2aXZlci1hcnJheS1nZXQtcHJvcC1mcm9tLXByb3RvdHlwZS5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9y
ZXZpdmVyLWFycmF5LWdldC1wcm9wLWZyb20tcHJvdG90eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBBbGV4ZXkgU2h2YXlrYS4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtaW50ZXJu
YWxpemVqc29ucHJvcGVydHkKK2Rlc2NyaXB0aW9uOiA+CisgIGBuYW1lYCBwcm9wZXJ0eSBpcyBv
YnRhaW5lZCB3aXRoIFtbR2V0XV0gZnJvbSBwcm90b3R5cGUgY2hhaW4uCitpbmZvOiB8CisgIEpT
T04ucGFyc2UgKCB0ZXh0IFsgLCByZXZpdmVyIF0gKQorCisgIFsuLi5dCisgIDcuIElmIElzQ2Fs
bGFibGUocmV2aXZlcikgaXMgdHJ1ZSwgdGhlbgorICAgIFsuLi5dCisgICAgZC4gUmV0dXJuID8g
SW50ZXJuYWxpemVKU09OUHJvcGVydHkocm9vdCwgcm9vdE5hbWUpLgorCisgIEludGVybmFsaXpl
SlNPTlByb3BlcnR5ICggaG9sZGVyLCBuYW1lICkKKworICAxLiBMZXQgdmFsIGJlID8gR2V0KGhv
bGRlciwgbmFtZSkuCisgIDIuIElmIFR5cGUodmFsKSBpcyBPYmplY3QsIHRoZW4KKyAgICBhLiBM
ZXQgaXNBcnJheSBiZSA/IElzQXJyYXkodmFsKS4KKyAgICBiLiBJZiBpc0FycmF5IGlzIHRydWUs
IHRoZW4KKyAgICAgIFsuLi5dCisgICAgICBpaWkuIFJlcGVhdCwgd2hpbGUgSSA8IGxlbiwKKyAg
ICAgICAgMS4gTGV0IG5ld0VsZW1lbnQgYmUgPyBJbnRlcm5hbGl6ZUpTT05Qcm9wZXJ0eSh2YWws
ICEgVG9TdHJpbmcoSSkpLgorICAgICAgICAyLiBJZiBuZXdFbGVtZW50IGlzIHVuZGVmaW5lZCwg
dGhlbgorICAgICAgICAgIFsuLi5dCisgICAgICAgIDMuIEVsc2UsCisgICAgICAgICAgYS4gUGVy
Zm9ybSA/IENyZWF0ZURhdGFQcm9wZXJ0eSh2YWwsICEgVG9TdHJpbmcoSSksIG5ld0VsZW1lbnQp
LgorLS0tKi8KKworQXJyYXkucHJvdG90eXBlWzFdID0gMzsKKwordmFyIGpzb24gPSAnWzEsIDJd
JzsKK3ZhciBhcnIgPSBKU09OLnBhcnNlKGpzb24sIGZ1bmN0aW9uKGtleSwgdmFsdWUpIHsKKyAg
aWYgKGtleSA9PT0gJzAnKSB7CisgICAgYXNzZXJ0KGRlbGV0ZSB0aGlzWzFdKTsKKyAgfQorCisg
IHJldHVybiB2YWx1ZTsKK30pOworCithc3NlcnQoZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXSk7
Cithc3NlcnQuc2FtZVZhbHVlKGFyclswXSwgMSk7Cithc3NlcnQoYXJyLmhhc093blByb3BlcnR5
KCcxJykpOworYXNzZXJ0LnNhbWVWYWx1ZShhcnJbMV0sIDMpOwpJbmRleDogSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0pTT04vcGFyc2UvcmV2aXZlci1hcnJheS1ub24tY29uZmlndXJh
YmxlLXByb3AtY3JlYXRlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9KU09OL3BhcnNlL3Jldml2ZXItYXJyYXktbm9uLWNvbmZpZ3VyYWJsZS1wcm9wLWNy
ZWF0ZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
SlNPTi9wYXJzZS9yZXZpdmVyLWFycmF5LW5vbi1jb25maWd1cmFibGUtcHJvcC1jcmVhdGUuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IEFs
ZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0K
K2VzaWQ6IHNlYy1pbnRlcm5hbGl6ZWpzb25wcm9wZXJ0eQorZGVzY3JpcHRpb246ID4KKyAgW1tE
ZWZpbmVPd25Qcm9wZXJ0eV1dIHZhbGlkYXRlcyBwcm9wZXJ0eSBkZXNjcmlwdG9yIGJlZm9yZSBh
cHBseWluZy4KKyAgSWYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGlzIHVuc3VjY2Vzc2Z1bCwgbm8g
ZXhjZXB0aW9uIGlzIHRocm93bi4KK2luZm86IHwKKyAgSlNPTi5wYXJzZSAoIHRleHQgWyAsIHJl
dml2ZXIgXSApCisKKyAgWy4uLl0KKyAgNy4gSWYgSXNDYWxsYWJsZShyZXZpdmVyKSBpcyB0cnVl
LCB0aGVuCisgICAgWy4uLl0KKyAgICBkLiBSZXR1cm4gPyBJbnRlcm5hbGl6ZUpTT05Qcm9wZXJ0
eShyb290LCByb290TmFtZSkuCisKKyAgSW50ZXJuYWxpemVKU09OUHJvcGVydHkgKCBob2xkZXIs
IG5hbWUgKQorCisgIDEuIExldCB2YWwgYmUgPyBHZXQoaG9sZGVyLCBuYW1lKS4KKyAgMi4gSWYg
VHlwZSh2YWwpIGlzIE9iamVjdCwgdGhlbgorICAgIGEuIExldCBpc0FycmF5IGJlID8gSXNBcnJh
eSh2YWwpLgorICAgIGIuIElmIGlzQXJyYXkgaXMgdHJ1ZSwgdGhlbgorICAgICAgWy4uLl0KKyAg
ICAgIGlpaS4gUmVwZWF0LCB3aGlsZSBJIDwgbGVuLAorICAgICAgICAxLiBMZXQgbmV3RWxlbWVu
dCBiZSA/IEludGVybmFsaXplSlNPTlByb3BlcnR5KHZhbCwgISBUb1N0cmluZyhJKSkuCisgICAg
ICAgIDIuIElmIG5ld0VsZW1lbnQgaXMgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgICAgWy4uLl0K
KyAgICAgICAgMy4gRWxzZSwKKyAgICAgICAgICBhLiBQZXJmb3JtID8gQ3JlYXRlRGF0YVByb3Bl
cnR5KHZhbCwgISBUb1N0cmluZyhJKSwgbmV3RWxlbWVudCkuCisKKyAgQ3JlYXRlRGF0YVByb3Bl
cnR5ICggTywgUCwgViApCisKKyAgWy4uLl0KKyAgNC4gUmV0dXJuID8gTy5bW0RlZmluZU93blBy
b3BlcnR5XV0oUCwgbmV3RGVzYykuCistLS0qLworCit2YXIganNvbiA9ICdbMSwgMl0nOwordmFy
IGFyciA9IEpTT04ucGFyc2UoanNvbiwgZnVuY3Rpb24oa2V5LCB2YWx1ZSkgeworICBpZiAoa2V5
ID09PSAnMCcpIHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJzEnLCB7Y29uZmln
dXJhYmxlOiBmYWxzZX0pOworICB9CisgIGlmIChrZXkgPT09ICcxJykgcmV0dXJuIDIyOworCisg
IHJldHVybiB2YWx1ZTsKK30pOworCithc3NlcnQuc2FtZVZhbHVlKGFyclswXSwgMSk7Cithc3Nl
cnQuc2FtZVZhbHVlKGFyclsxXSwgMik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvSlNPTi9wYXJzZS9yZXZpdmVyLWFycmF5LW5vbi1jb25maWd1cmFibGUtcHJvcC1kZWxl
dGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0pTT04v
cGFyc2UvcmV2aXZlci1hcnJheS1ub24tY29uZmlndXJhYmxlLXByb3AtZGVsZXRlLmpzCShub25l
eGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3BhcnNlL3Jl
dml2ZXItYXJyYXktbm9uLWNvbmZpZ3VyYWJsZS1wcm9wLWRlbGV0ZS5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQ3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgQWxleGV5IFNodmF5a2Eu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWlu
dGVybmFsaXplanNvbnByb3BlcnR5CitkZXNjcmlwdGlvbjogPgorICBbW0RlbGV0ZV1dIGRvZXMg
bm90IHJlbW92ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMuCisgIElmIFtbRGVsZXRlXV0g
aXMgdW5zdWNjZXNzZnVsLCBubyBleGNlcHRpb24gaXMgdGhyb3duLgoraW5mbzogfAorICBKU09O
LnBhcnNlICggdGV4dCBbICwgcmV2aXZlciBdICkKKworICBbLi4uXQorICA3LiBJZiBJc0NhbGxh
YmxlKHJldml2ZXIpIGlzIHRydWUsIHRoZW4KKyAgICBbLi4uXQorICAgIGQuIFJldHVybiA/IElu
dGVybmFsaXplSlNPTlByb3BlcnR5KHJvb3QsIHJvb3ROYW1lKS4KKworICBJbnRlcm5hbGl6ZUpT
T05Qcm9wZXJ0eSAoIGhvbGRlciwgbmFtZSApCisKKyAgMS4gTGV0IHZhbCBiZSA/IEdldChob2xk
ZXIsIG5hbWUpLgorICAyLiBJZiBUeXBlKHZhbCkgaXMgT2JqZWN0LCB0aGVuCisgICAgYS4gTGV0
IGlzQXJyYXkgYmUgPyBJc0FycmF5KHZhbCkuCisgICAgYi4gSWYgaXNBcnJheSBpcyB0cnVlLCB0
aGVuCisgICAgICBbLi4uXQorICAgICAgaWlpLiBSZXBlYXQsIHdoaWxlIEkgPCBsZW4sCisgICAg
ICAgIDEuIExldCBuZXdFbGVtZW50IGJlID8gSW50ZXJuYWxpemVKU09OUHJvcGVydHkodmFsLCAh
IFRvU3RyaW5nKEkpKS4KKyAgICAgICAgMi4gSWYgbmV3RWxlbWVudCBpcyB1bmRlZmluZWQsIHRo
ZW4KKyAgICAgICAgICBhLiBQZXJmb3JtID8gdmFsLltbRGVsZXRlXV0oISBUb1N0cmluZyhJKSku
CisKKyAgT3JkaW5hcnlEZWxldGUgKCBPLCBQICkKKworICBbLi4uXQorICA0LiBJZiBkZXNjLltb
Q29uZmlndXJhYmxlXV0gaXMgdHJ1ZSwgdGhlbgorICAgIGEuIFJlbW92ZSB0aGUgb3duIHByb3Bl
cnR5IHdpdGggbmFtZSBQIGZyb20gTy4KKy0tLSovCisKK3ZhciBqc29uID0gJ1sxLCAyXSc7Cit2
YXIgYXJyID0gSlNPTi5wYXJzZShqc29uLCBmdW5jdGlvbihrZXksIHZhbHVlKSB7CisgIGlmIChr
ZXkgPT09ICcwJykgeworICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnMScsIHtjb25m
aWd1cmFibGU6IGZhbHNlfSk7CisgIH0KKyAgaWYgKGtleSA9PT0gJzEnKSByZXR1cm47CisKKyAg
cmV0dXJuIHZhbHVlOworfSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoYXJyWzBdLCAxKTsKK2Fzc2Vy
dChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSk7Cithc3NlcnQuc2FtZVZhbHVlKGFyclsxXSwgMik7
CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9yZXZpdmVy
LWNhbGwtb3JkZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0pTT04vcGFyc2UvcmV2aXZlci1jYWxsLW9yZGVyLmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3BhcnNlL3Jldml2ZXItY2FsbC1vcmRl
ci5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACisvLyBDb3B5cmlnaHQgMjAxOSBL
ZXZpbiBHaWJib25zLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0t
LQorZXNpZDogc2VjLWludGVybmFsaXplanNvbnByb3BlcnR5CitkZXNjcmlwdGlvbjogSlNPTi5w
YXJzZSByZXZpdmVyIGNhbGwgb3JkZXIKK2ZlYXR1cmVzOiBbZm9yLWluLW9yZGVyXQoraW5jbHVk
ZXM6IFtjb21wYXJlQXJyYXkuanNdCistLS0qLworCit2YXIgY2FsbHMgPSBbXTsKK2Z1bmN0aW9u
IHJldml2ZXIobmFtZSwgdmFsKSB7CisgIGNhbGxzLnB1c2gobmFtZSk7CisgIHJldHVybiB2YWw7
Cit9CisKK0pTT04ucGFyc2UoJ3sicDEiOjAsInAyIjowLCJwMSI6MCwiMiI6MCwiMSI6MH0nLCBy
ZXZpdmVyKTsKKworLy8gVGhlIGVtcHR5IHN0cmluZyBpcyB0aGUgX3Jvb3ROYW1lXyBpbiBKU09O
LnBhcnNlCithc3NlcnQuY29tcGFyZUFycmF5KGNhbGxzLCBbJzEnLCAnMicsICdwMScsICdwMics
ICcnXSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9y
ZXZpdmVyLW9iamVjdC1nZXQtcHJvcC1mcm9tLXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9yZXZpdmVyLW9iamVjdC1n
ZXQtcHJvcC1mcm9tLXByb3RvdHlwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9yZXZpdmVyLW9iamVjdC1nZXQtcHJvcC1mcm9t
LXByb3RvdHlwZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMTkgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWludGVybmFsaXplanNvbnByb3BlcnR5CitkZXNjcmlw
dGlvbjogPgorICBgbmFtZWAgcHJvcGVydHkgaXMgb2J0YWluZWQgd2l0aCBbW0dldF1dIGZyb20g
cHJvdG90eXBlIGNoYWluLgoraW5mbzogfAorICBKU09OLnBhcnNlICggdGV4dCBbICwgcmV2aXZl
ciBdICkKKworICBbLi4uXQorICA3LiBJZiBJc0NhbGxhYmxlKHJldml2ZXIpIGlzIHRydWUsIHRo
ZW4KKyAgICBbLi4uXQorICAgIGQuIFJldHVybiA/IEludGVybmFsaXplSlNPTlByb3BlcnR5KHJv
b3QsIHJvb3ROYW1lKS4KKworICBJbnRlcm5hbGl6ZUpTT05Qcm9wZXJ0eSAoIGhvbGRlciwgbmFt
ZSApCisKKyAgMS4gTGV0IHZhbCBiZSA/IEdldChob2xkZXIsIG5hbWUpLgorICAyLiBJZiBUeXBl
KHZhbCkgaXMgT2JqZWN0LCB0aGVuCisgICAgYS4gTGV0IGlzQXJyYXkgYmUgPyBJc0FycmF5KHZh
bCkuCisgICAgYi4gSWYgaXNBcnJheSBpcyB0cnVlLCB0aGVuCisgICAgICBbLi4uXQorICAgIGMu
IEVsc2UsCisgICAgICBpLiBMZXQga2V5cyBiZSA/IEVudW1lcmFibGVPd25Qcm9wZXJ0eU5hbWVz
KHZhbCwgImtleSIpLgorICAgICAgaWkuIEZvciBlYWNoIFN0cmluZyBQIGluIGtleXMsIGRvCisg
ICAgICAgIDEuIExldCBuZXdFbGVtZW50IGJlID8gSW50ZXJuYWxpemVKU09OUHJvcGVydHkodmFs
LCBQKS4KKyAgICAgICAgMi4gSWYgbmV3RWxlbWVudCBpcyB1bmRlZmluZWQsIHRoZW4KKyAgICAg
ICAgICBbLi4uXQorICAgICAgICAzLiBFbHNlLAorICAgICAgICAgIGEuIFBlcmZvcm0gPyBDcmVh
dGVEYXRhUHJvcGVydHkodmFsLCBQLCBuZXdFbGVtZW50KS4KKy0tLSovCisKK09iamVjdC5wcm90
b3R5cGUuYiA9IDM7CisKK3ZhciBqc29uID0gJ3siYSI6IDEsICJiIjogMn0nOwordmFyIG9iaiA9
IEpTT04ucGFyc2UoanNvbiwgZnVuY3Rpb24oa2V5LCB2YWx1ZSkgeworICBpZiAoa2V5ID09PSAn
YScpIHsKKyAgICBhc3NlcnQoZGVsZXRlIHRoaXMuYik7CisgIH0KKworICByZXR1cm4gdmFsdWU7
Cit9KTsKKworYXNzZXJ0KGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmIpOworYXNzZXJ0LnNhbWVW
YWx1ZShvYmouYSwgMSk7Cithc3NlcnQob2JqLmhhc093blByb3BlcnR5KCdiJykpOworYXNzZXJ0
LnNhbWVWYWx1ZShvYmouYiwgMyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvSlNPTi9wYXJzZS9yZXZpdmVyLW9iamVjdC1ub24tY29uZmlndXJhYmxlLXByb3AtY3JlYXRl
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3Bh
cnNlL3Jldml2ZXItb2JqZWN0LW5vbi1jb25maWd1cmFibGUtcHJvcC1jcmVhdGUuanMJKG5vbmV4
aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0pTT04vcGFyc2UvcmV2
aXZlci1vYmplY3Qtbm9uLWNvbmZpZ3VyYWJsZS1wcm9wLWNyZWF0ZS5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQ5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgQWxleGV5IFNodmF5a2Eu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWlu
dGVybmFsaXplanNvbnByb3BlcnR5CitkZXNjcmlwdGlvbjogPgorICBbW0RlZmluZU93blByb3Bl
cnR5XV0gdmFsaWRhdGVzIHByb3BlcnR5IGRlc2NyaXB0b3IgYmVmb3JlIGFwcGx5aW5nLgorICBJ
ZiBbW0RlZmluZU93blByb3BlcnR5XV0gaXMgdW5zdWNjZXNzZnVsLCBubyBleGNlcHRpb24gaXMg
dGhyb3duLgoraW5mbzogfAorICBKU09OLnBhcnNlICggdGV4dCBbICwgcmV2aXZlciBdICkKKwor
ICBbLi4uXQorICA3LiBJZiBJc0NhbGxhYmxlKHJldml2ZXIpIGlzIHRydWUsIHRoZW4KKyAgICBb
Li4uXQorICAgIGQuIFJldHVybiA/IEludGVybmFsaXplSlNPTlByb3BlcnR5KHJvb3QsIHJvb3RO
YW1lKS4KKworICBJbnRlcm5hbGl6ZUpTT05Qcm9wZXJ0eSAoIGhvbGRlciwgbmFtZSApCisKKyAg
MS4gTGV0IHZhbCBiZSA/IEdldChob2xkZXIsIG5hbWUpLgorICAyLiBJZiBUeXBlKHZhbCkgaXMg
T2JqZWN0LCB0aGVuCisgICAgYS4gTGV0IGlzQXJyYXkgYmUgPyBJc0FycmF5KHZhbCkuCisgICAg
Yi4gSWYgaXNBcnJheSBpcyB0cnVlLCB0aGVuCisgICAgICBbLi4uXQorICAgIGMuIEVsc2UsCisg
ICAgICBpLiBMZXQga2V5cyBiZSA/IEVudW1lcmFibGVPd25Qcm9wZXJ0eU5hbWVzKHZhbCwgImtl
eSIpLgorICAgICAgaWkuIEZvciBlYWNoIFN0cmluZyBQIGluIGtleXMsIGRvCisgICAgICAgIDEu
IExldCBuZXdFbGVtZW50IGJlID8gSW50ZXJuYWxpemVKU09OUHJvcGVydHkodmFsLCBQKS4KKyAg
ICAgICAgMi4gSWYgbmV3RWxlbWVudCBpcyB1bmRlZmluZWQsIHRoZW4KKyAgICAgICAgICBbLi4u
XQorICAgICAgICAzLiBFbHNlLAorICAgICAgICAgIGEuIFBlcmZvcm0gPyBDcmVhdGVEYXRhUHJv
cGVydHkodmFsLCBQLCBuZXdFbGVtZW50KS4KKworICBDcmVhdGVEYXRhUHJvcGVydHkgKCBPLCBQ
LCBWICkKKworICBbLi4uXQorICA0LiBSZXR1cm4gPyBPLltbRGVmaW5lT3duUHJvcGVydHldXShQ
LCBuZXdEZXNjKS4KKy0tLSovCisKK3ZhciBqc29uID0gJ3siYSI6IDEsICJiIjogMn0nOwordmFy
IG9iaiA9IEpTT04ucGFyc2UoanNvbiwgZnVuY3Rpb24oa2V5LCB2YWx1ZSkgeworICBpZiAoa2V5
ID09PSAnYScpIHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2InLCB7Y29uZmln
dXJhYmxlOiBmYWxzZX0pOworICB9CisgIGlmIChrZXkgPT09ICdiJykgcmV0dXJuIDIyOworCisg
IHJldHVybiB2YWx1ZTsKK30pOworCithc3NlcnQuc2FtZVZhbHVlKG9iai5hLCAxKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUob2JqLmIsIDIpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0pTT04vcGFyc2UvcmV2aXZlci1vYmplY3Qtbm9uLWNvbmZpZ3VyYWJsZS1wcm9wLWRlbGV0
ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9w
YXJzZS9yZXZpdmVyLW9iamVjdC1ub24tY29uZmlndXJhYmxlLXByb3AtZGVsZXRlLmpzCShub25l
eGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3BhcnNlL3Jl
dml2ZXItb2JqZWN0LW5vbi1jb25maWd1cmFibGUtcHJvcC1kZWxldGUuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhleSBTaHZheWth
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1p
bnRlcm5hbGl6ZWpzb25wcm9wZXJ0eQorZGVzY3JpcHRpb246ID4KKyAgW1tEZWxldGVdXSBkb2Vz
IG5vdCByZW1vdmUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLgorICBJZiBbW0RlbGV0ZV1d
IGlzIHVuc3VjY2Vzc2Z1bCwgbm8gZXhjZXB0aW9uIGlzIHRocm93bi4KK2luZm86IHwKKyAgSlNP
Ti5wYXJzZSAoIHRleHQgWyAsIHJldml2ZXIgXSApCisKKyAgWy4uLl0KKyAgNy4gSWYgSXNDYWxs
YWJsZShyZXZpdmVyKSBpcyB0cnVlLCB0aGVuCisgICAgWy4uLl0KKyAgICBkLiBSZXR1cm4gPyBJ
bnRlcm5hbGl6ZUpTT05Qcm9wZXJ0eShyb290LCByb290TmFtZSkuCisKKyAgSW50ZXJuYWxpemVK
U09OUHJvcGVydHkgKCBob2xkZXIsIG5hbWUgKQorCisgIDEuIExldCB2YWwgYmUgPyBHZXQoaG9s
ZGVyLCBuYW1lKS4KKyAgMi4gSWYgVHlwZSh2YWwpIGlzIE9iamVjdCwgdGhlbgorICAgIGEuIExl
dCBpc0FycmF5IGJlID8gSXNBcnJheSh2YWwpLgorICAgIGIuIElmIGlzQXJyYXkgaXMgdHJ1ZSwg
dGhlbgorICAgICAgWy4uLl0KKyAgICBjLiBFbHNlLAorICAgICAgaS4gTGV0IGtleXMgYmUgPyBF
bnVtZXJhYmxlT3duUHJvcGVydHlOYW1lcyh2YWwsICJrZXkiKS4KKyAgICAgIGlpLiBGb3IgZWFj
aCBTdHJpbmcgUCBpbiBrZXlzLCBkbworICAgICAgICAxLiBMZXQgbmV3RWxlbWVudCBiZSA/IElu
dGVybmFsaXplSlNPTlByb3BlcnR5KHZhbCwgUCkuCisgICAgICAgIDIuIElmIG5ld0VsZW1lbnQg
aXMgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgICAgYS4gUGVyZm9ybSA/IHZhbC5bW0RlbGV0ZV1d
KFApLgorCisgIE9yZGluYXJ5RGVsZXRlICggTywgUCApCisKKyAgWy4uLl0KKyAgNC4gSWYgZGVz
Yy5bW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUsIHRoZW4KKyAgICBhLiBSZW1vdmUgdGhlIG93biBw
cm9wZXJ0eSB3aXRoIG5hbWUgUCBmcm9tIE8uCistLS0qLworCit2YXIganNvbiA9ICd7ImEiOiAx
LCAiYiI6IDJ9JzsKK3ZhciBvYmogPSBKU09OLnBhcnNlKGpzb24sIGZ1bmN0aW9uKGtleSwgdmFs
dWUpIHsKKyAgaWYgKGtleSA9PT0gJ2EnKSB7CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRo
aXMsICdiJywge2NvbmZpZ3VyYWJsZTogZmFsc2V9KTsKKyAgfQorICBpZiAoa2V5ID09PSAnYicp
IHJldHVybjsKKworICByZXR1cm4gdmFsdWU7Cit9KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShvYmou
YSwgMSk7Cithc3NlcnQob2JqLmhhc093blByb3BlcnR5KCdiJykpOworYXNzZXJ0LnNhbWVWYWx1
ZShvYmouYiwgMik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9w
YXJzZS9yZXZpdmVyLXdyYXBwZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0pTT04vcGFyc2UvcmV2aXZlci13cmFwcGVyLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3BhcnNlL3Jldml2ZXItd3Jh
cHBlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMTkgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisvKi0tLQorZXNpZDogc2VjLWpzb24ucGFyc2UKK2Rlc2NyaXB0aW9uOiA+CisgIFdyYXBwZXIg
aXMgcGxhaW4gZXh0ZW5zaWJsZSBvYmplY3Qgd2l0aCBzaW5nbGUgZGF0YSBwcm9wZXJ0eS4KK2lu
Zm86IHwKKyAgSlNPTi5wYXJzZSAoIHRleHQgWyAsIHJldml2ZXIgXSApCisKKyAgWy4uLl0KKyAg
Ny4gSWYgSXNDYWxsYWJsZShyZXZpdmVyKSBpcyB0cnVlLCB0aGVuCisgICAgYS4gTGV0IHJvb3Qg
YmUgT2JqZWN0Q3JlYXRlKCVPYmplY3QucHJvdG90eXBlJSkuCisgICAgYi4gTGV0IHJvb3ROYW1l
IGJlIHRoZSBlbXB0eSBTdHJpbmcuCisgICAgYy4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0
eU9yVGhyb3cocm9vdCwgcm9vdE5hbWUsIHVuZmlsdGVyZWQpLgoraW5jbHVkZXM6IFtwcm9wZXJ0
eUhlbHBlci5qc10KKy0tLSovCisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90
eXBlLCAnJywgeworICBzZXQ6IGZ1bmN0aW9uKCkgeworICAgIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJ1tbU2V0XV0gc2hvdWxkIG5vdCBiZSBjYWxsZWQuJyk7CisgIH0sCit9KTsKKwordmFyIHdy
YXBwZXI7CitKU09OLnBhcnNlKCcyJywgZnVuY3Rpb24oKSB7CisgIHdyYXBwZXIgPSB0aGlzOwor
fSk7CisKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHdyYXBwZXIsICdvYmplY3QnKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHdyYXBwZXIpLCBPYmplY3QucHJvdG90
eXBlKTsKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMod3JhcHBl
cikubGVuZ3RoLCAxKTsKK2Fzc2VydChPYmplY3QuaXNFeHRlbnNpYmxlKHdyYXBwZXIpKTsKKwor
dmVyaWZ5UHJvcGVydHkod3JhcHBlciwgJycsIHsKKyAgdmFsdWU6IDIsCisgIHdyaXRhYmxlOiB0
cnVlLAorICBlbnVtZXJhYmxlOiB0cnVlLAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3N0cmluZ2lmeS9wcm9wZXJ0
eS1vcmRlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
SlNPTi9zdHJpbmdpZnkvcHJvcGVydHktb3JkZXIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0pTT04vc3RyaW5naWZ5L3Byb3BlcnR5LW9yZGVyLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKKy8vIENvcHlyaWdodCAyMDE5IEtldmlu
IEdpYmJvbnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtc2VyaWFsaXplanNvbm9iamVjdAorZGVzY3JpcHRpb246IEpTT04uc3RyaW5naWZ5
IHByb3BlcnR5IGVudW1lcmF0aW9uIG9yZGVyCitmZWF0dXJlczogW2Zvci1pbi1vcmRlcl0KKy0t
LSovCisKK3ZhciBvID0geworICBwMTogJ3AxJywKKyAgcDI6ICdwMicsCisgIHAzOiAncDMnLAor
fTsKKworLy8gVGhpcyBnZXR0ZXIgd2lsbCBiZSB0cmlnZ2VyZWQgZHVyaW5nIGVudW1lcmF0aW9u
LCBidXQgdGhlIHByb3BlcnR5IGl0IGFkZHMgc2hvdWxkIG5vdCBiZSBlbnVtZXJhdGVkLgorT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KG8sICdhZGQnLCB7CisgIGVudW1lcmFibGU6IHRydWUsCisgIGdl
dDogZnVuY3Rpb24gKCkgeworICAgIG8uZXh0cmEgPSAnZXh0cmEnOworICAgIHJldHVybiAnYWRk
JzsKKyAgfQorfSk7CisKK28ucDQgPSAncDQnOworCitvWzJdID0gJzInOworb1swXSA9ICcwJzsK
K29bMV0gPSAnMSc7CisKK2RlbGV0ZSBvLnAxOworZGVsZXRlIG8ucDM7CitvLnAxID0gJ3AxJzsK
KwordmFyIGFjdHVhbCA9IEpTT04uc3RyaW5naWZ5KG8pOworCit2YXIgZXhwZWN0ZWQgPSAneyIw
IjoiMCIsIjEiOiIxIiwiMiI6IjIiLCJwMiI6InAyIiwiYWRkIjoiYWRkIiwicDQiOiJwNCIsInAx
IjoicDEifSc7CisKK2Fzc2VydC5zYW1lVmFsdWUoYWN0dWFsLCBleHBlY3RlZCk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2VudHJpZXMvcmV0dXJuLW9yZGVy
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
ZW50cmllcy9yZXR1cm4tb3JkZXIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9lbnRyaWVzL3JldHVybi1vcmRlci5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQxIEBACisvLyBDb3B5cmlnaHQgMjAxOSBLZXZpbiBHaWJib25zLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9i
amVjdC5lbnRyaWVzCitkZXNjcmlwdGlvbjogT2JqZWN0LmVudHJpZXMgZW51bWVyYXRpb24gb3Jk
ZXIKK2ZlYXR1cmVzOiBbZm9yLWluLW9yZGVyXQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNd
CistLS0qLworCit2YXIgbyA9IHsKKyAgcDE6ICdwMScsCisgIHAyOiAncDInLAorICBwMzogJ3Az
JywKK307CisKKy8vIFRoaXMgZ2V0dGVyIHdpbGwgYmUgdHJpZ2dlcmVkIGR1cmluZyBlbnVtZXJh
dGlvbiwgYnV0IHRoZSBwcm9wZXJ0eSBpdCBhZGRzIHNob3VsZCBub3QgYmUgZW51bWVyYXRlZC4K
K09iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAnYWRkJywgeworICBlbnVtZXJhYmxlOiB0cnVlLAor
ICBnZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICBvLmV4dHJhID0gJ2V4dHJhJzsKKyAgICByZXR1cm4g
J2FkZCc7CisgIH0KK30pOworCitvLnA0ID0gJ3A0JzsKKworb1syXSA9ICcyJzsKK29bMF0gPSAn
MCc7CitvWzFdID0gJzEnOworCitkZWxldGUgby5wMTsKK2RlbGV0ZSBvLnAzOworby5wMSA9ICdw
MSc7CisKKwordmFyIGFjdHVhbCA9IE9iamVjdC5lbnRyaWVzKG8pLm1hcChmdW5jdGlvbihlKSB7
IHJldHVybiBlWzBdOyB9KTsKKwordmFyIGV4cGVjdGVkID0gWycwJywgJzEnLCAnMicsICdwMics
ICdhZGQnLCAncDQnLCAncDEnXTsKKworYXNzZXJ0LmNvbXBhcmVBcnJheShhY3R1YWwsIGV4cGVj
dGVkKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZnJlZXpl
L3Rocm93cy13aGVuLWZhbHNlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvZnJlZXplL3Rocm93cy13aGVuLWZhbHNlLmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZnJlZXplL3Rocm93
cy13aGVuLWZhbHNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKy8vIENvcHly
aWdodCAoQykgMjAxOSBFY21hIEludGVybmF0aW9uYWwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LmZyZWV6ZQorZGVzY3JpcHRp
b246ID4KKyAgT2JqZWN0LmZyZWV6ZSB0aHJvd3MgaWYgU2V0SW50ZWdyaXR5TGV2ZWwoTywgZnJv
emVuKSByZXR1cm5zIGZhbHNlLgoraW5mbzogfAorICBPYmplY3QuZnJlZXplICggTyApCisgIC4u
LgorICAyLiBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgZnJvemVuKS4KKyAg
My4gSWYgc3RhdHVzIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKyAg
U2V0SW50ZWdyaXR5TGV2ZWwgKCBPLCBsZXZlbCApCisgIC4uLgorICAzLiBMZXQgc3RhdHVzIGJl
ID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgNC4gSWYgc3RhdHVzIGlzIGZhbHNlLCBy
ZXR1cm4gZmFsc2UuCistLS0qLworCitjb25zdCBwID0gbmV3IFByb3h5KHt9LCB7CisgIHByZXZl
bnRFeHRlbnNpb25zKCkgeworICAgIHJldHVybiBmYWxzZTsKKyAgfSwKK30pOworCithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBPYmplY3QuZnJlZXplKHApOworfSk7CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5TmFt
ZXMvcHJveHktaW52YXJpYW50LWFic2VudC1ub3QtY29uZmlndXJhYmxlLXN5bWJvbC1rZXkuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRP
d25Qcm9wZXJ0eU5hbWVzL3Byb3h5LWludmFyaWFudC1hYnNlbnQtbm90LWNvbmZpZ3VyYWJsZS1z
eW1ib2wta2V5LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlOYW1lcy9wcm94eS1pbnZhcmlhbnQtYWJzZW50LW5v
dC1jb25maWd1cmFibGUtc3ltYm9sLWtleS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU0
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LmdldG93bnBy
b3BlcnR5bmFtZXMKK2Rlc2NyaXB0aW9uOiA+CisgIFByb3h5IFtbT3duUHJvcGVydHlLZXlzXV0g
dHJhcCBkb2VzIG5vdCBza2lwIHN5bWJvbCBrZXlzIHdoZW4gdmFsaWRhdGluZyBpbnZhcmlhbnQ6
CisgICogVGhlIHJlc3VsdCBMaXN0IG11c3QgY29udGFpbiB0aGUga2V5cyBvZiBhbGwgbm9uLWNv
bmZpZ3VyYWJsZSBvd24gcHJvcGVydGllcyBvZgorICAgIHRoZSB0YXJnZXQgb2JqZWN0LgoraW5m
bzogfAorICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAoIE8gKQorCisgIDEuIFJldHVybiA/
IEdldE93blByb3BlcnR5S2V5cyhPLCBTdHJpbmcpLgorCisgIEdldE93blByb3BlcnR5S2V5cyAo
IE8sIHR5cGUgKQorCisgIC4uLgorICAyLiBMZXQga2V5cyBiZSA/IG9iai5bW093blByb3BlcnR5
S2V5c11dKCkuCisKKyAgW1tPd25Qcm9wZXJ0eUtleXNdXSAoICkKKworICAuLi4KKyAgMTEuIExl
dCB0YXJnZXRLZXlzIGJlID8gdGFyZ2V0LltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgLi4uCisg
IDE1LiBMZXQgdGFyZ2V0Tm9uY29uZmlndXJhYmxlS2V5cyBiZSBhIG5ldyBlbXB0eSBMaXN0Lgor
ICAxNi4gRm9yIGVhY2ggZWxlbWVudCBrZXkgb2YgdGFyZ2V0S2V5cywgZG8KKyAgICBhLiBMZXQg
ZGVzYyBiZSA/IHRhcmdldC5bW0dldE93blByb3BlcnR5XV0oa2V5KS4KKyAgICBiLiBJZiBkZXNj
IGlzIG5vdCB1bmRlZmluZWQgYW5kIGRlc2MuW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSwgdGhl
bgorICAgICAgaS4gQXBwZW5kIGtleSBhcyBhbiBlbGVtZW50IG9mIHRhcmdldE5vbmNvbmZpZ3Vy
YWJsZUtleXMuCisgIC4uLgorICAxOC4gTGV0IHVuY2hlY2tlZFJlc3VsdEtleXMgYmUgYSBuZXcg
TGlzdCB3aGljaCBpcyBhIGNvcHkgb2YgdHJhcFJlc3VsdC4KKyAgMTkuIEZvciBlYWNoIGtleSB0
aGF0IGlzIGFuIGVsZW1lbnQgb2YgdGFyZ2V0Tm9uY29uZmlndXJhYmxlS2V5cywgZG8KKyAgICBh
LiBJZiBrZXkgaXMgbm90IGFuIGVsZW1lbnQgb2YgdW5jaGVja2VkUmVzdWx0S2V5cywgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorZmVhdHVyZXM6IFtQcm94eSwgU3ltYm9sXQorLS0tKi8K
KwordmFyIHRhcmdldCA9IHt9OwordmFyIHN5bWJvbCA9IFN5bWJvbCgpOworT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KHRhcmdldCwgc3ltYm9sLCB7CisgIHZhbHVlOiAxLAorICB3cml0YWJsZTogdHJ1
ZSwKKyAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgY29uZmlndXJhYmxlOiBmYWxzZSwKK30pOworCit2
YXIgcHJveHkgPSBuZXcgUHJveHkodGFyZ2V0LCB7CisgIG93bktleXM6IGZ1bmN0aW9uKCkgewor
ICAgIHJldHVybiBbXTsKKyAgfSwKK30pOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7CisgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3h5KTsKK30pOwpJbmRl
eDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eU5h
bWVzL3Byb3h5LWludmFyaWFudC1kdXBsaWNhdGUtc3ltYm9sLWVudHJ5LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlO
YW1lcy9wcm94eS1pbnZhcmlhbnQtZHVwbGljYXRlLXN5bWJvbC1lbnRyeS5qcwkobm9uZXhpc3Rl
bnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3Bl
cnR5TmFtZXMvcHJveHktaW52YXJpYW50LWR1cGxpY2F0ZS1zeW1ib2wtZW50cnkuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhleSBT
aHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLW9iamVjdC5nZXRvd25wcm9wZXJ0eW5hbWVzCitkZXNjcmlwdGlvbjogPgorICBQcm94
eSBbW093blByb3BlcnR5S2V5c11dIHRyYXAgZG9lcyBub3Qgc2tpcCBzeW1ib2wga2V5cyB3aGVu
IHZhbGlkYXRpbmcgaW52YXJpYW50OgorICAqIFRoZSByZXR1cm5lZCBMaXN0IGNvbnRhaW5zIG5v
IGR1cGxpY2F0ZSBlbnRyaWVzLgoraW5mbzogfAorICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1l
cyAoIE8gKQorCisgIDEuIFJldHVybiA/IEdldE93blByb3BlcnR5S2V5cyhPLCBTdHJpbmcpLgor
CisgIEdldE93blByb3BlcnR5S2V5cyAoIE8sIHR5cGUgKQorCisgIC4uLgorICAyLiBMZXQga2V5
cyBiZSA/IG9iai5bW093blByb3BlcnR5S2V5c11dKCkuCisKKyAgW1tPd25Qcm9wZXJ0eUtleXNd
XSAoICkKKworICAuLi4KKyAgOC4gTGV0IHRyYXBSZXN1bHQgYmUgPyBDcmVhdGVMaXN0RnJvbUFy
cmF5TGlrZSh0cmFwUmVzdWx0QXJyYXksIMKrIFN0cmluZywgU3ltYm9sIMK7KS4KKyAgOS4gSWYg
dHJhcFJlc3VsdCBjb250YWlucyBhbnkgZHVwbGljYXRlIGVudHJpZXMsIHRocm93IGEgVHlwZUVy
cm9yIGV4Y2VwdGlvbi4KK2ZlYXR1cmVzOiBbUHJveHksIFN5bWJvbF0KKy0tLSovCisKK3ZhciBz
eW1ib2wgPSBTeW1ib2woKTsKK3ZhciBwcm94eSA9IG5ldyBQcm94eSh7fSwgeworICBvd25LZXlz
OiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gW3N5bWJvbCwgc3ltYm9sXTsKKyAgfSwKK30pOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eU5hbWVzKHByb3h5KTsKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eU5hbWVzL3Byb3h5LWludmFyaWFudC1ub3QtZXh0
ZW5zaWJsZS1hYnNlbnQtc3ltYm9sLWtleS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5TmFtZXMvcHJveHktaW52YXJp
YW50LW5vdC1leHRlbnNpYmxlLWFic2VudC1zeW1ib2wta2V5LmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlOYW1l
cy9wcm94eS1pbnZhcmlhbnQtbm90LWV4dGVuc2libGUtYWJzZW50LXN5bWJvbC1rZXkuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhl
eSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQor
ZXNpZDogc2VjLW9iamVjdC5nZXRvd25wcm9wZXJ0eW5hbWVzCitkZXNjcmlwdGlvbjogPgorICBQ
cm94eSBbW093blByb3BlcnR5S2V5c11dIHRyYXAgZG9lcyBub3Qgc2tpcCBzeW1ib2wga2V5cyB3
aGVuIHZhbGlkYXRpbmcgaW52YXJpYW50OgorICAqIElmIHRoZSB0YXJnZXQgb2JqZWN0IGlzIG5v
dCBleHRlbnNpYmxlLCB0aGVuIHRoZSByZXN1bHQgTGlzdCBtdXN0IGNvbnRhaW4gYWxsIHRoZSBr
ZXlzIG9mCisgICAgdGhlIG93biBwcm9wZXJ0aWVzIG9mIHRoZSB0YXJnZXQgb2JqZWN0IGFuZCBu
byBvdGhlciB2YWx1ZXMuCitpbmZvOiB8CisgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzICgg
TyApCisKKyAgMS4gUmV0dXJuID8gR2V0T3duUHJvcGVydHlLZXlzKE8sIFN0cmluZykuCisKKyAg
R2V0T3duUHJvcGVydHlLZXlzICggTywgdHlwZSApCisKKyAgLi4uCisgIDIuIExldCBrZXlzIGJl
ID8gb2JqLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKworICBbW093blByb3BlcnR5S2V5c11dICgg
KQorCisgIC4uLgorICAxMS4gTGV0IHRhcmdldEtleXMgYmUgPyB0YXJnZXQuW1tPd25Qcm9wZXJ0
eUtleXNdXSgpLgorICAxNi4gRm9yIGVhY2ggZWxlbWVudCBrZXkgb2YgdGFyZ2V0S2V5cywgZG8K
KyAgICBhLiBMZXQgZGVzYyBiZSA/IHRhcmdldC5bW0dldE93blByb3BlcnR5XV0oa2V5KS4KKyAg
ICBiLiBJZiBkZXNjIGlzIG5vdCB1bmRlZmluZWQgYW5kIGRlc2MuW1tDb25maWd1cmFibGVdXSBp
cyBmYWxzZSwgdGhlbgorICAgICAgLi4uCisgICAgYy4gRWxzZSwKKyAgICAgIGkuIEFwcGVuZCBr
ZXkgYXMgYW4gZWxlbWVudCBvZiB0YXJnZXRDb25maWd1cmFibGVLZXlzLgorICAuLi4KKyAgMTgu
IExldCB1bmNoZWNrZWRSZXN1bHRLZXlzIGJlIGEgbmV3IExpc3Qgd2hpY2ggaXMgYSBjb3B5IG9m
IHRyYXBSZXN1bHQuCisgIC4uLgorICAyMS4gRm9yIGVhY2gga2V5IHRoYXQgaXMgYW4gZWxlbWVu
dCBvZiB0YXJnZXRDb25maWd1cmFibGVLZXlzLCBkbworICAgIGEuIElmIGtleSBpcyBub3QgYW4g
ZWxlbWVudCBvZiB1bmNoZWNrZWRSZXN1bHRLZXlzLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCitmZWF0dXJlczogW1Byb3h5LCBTeW1ib2xdCistLS0qLworCit2YXIgdGFyZ2V0ID0ge307
Cit2YXIgc3ltYm9sID0gU3ltYm9sKCk7Cit0YXJnZXRbc3ltYm9sXSA9IDI7CisKK3ZhciBwcm94
eSA9IG5ldyBQcm94eSh0YXJnZXQsIHsKKyAgb3duS2V5czogZnVuY3Rpb24oKSB7CisgICAgcmV0
dXJuIFtdOworICB9LAorfSk7CisKK09iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh0YXJnZXQpOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eU5hbWVzKHByb3h5KTsKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eU5hbWVzL3Byb3h5LWludmFyaWFudC1ub3QtZXh0
ZW5zaWJsZS1leHRyYS1zeW1ib2wta2V5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlOYW1lcy9wcm94eS1pbnZhcmlh
bnQtbm90LWV4dGVuc2libGUtZXh0cmEtc3ltYm9sLWtleS5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5TmFtZXMv
cHJveHktaW52YXJpYW50LW5vdC1leHRlbnNpYmxlLWV4dHJhLXN5bWJvbC1rZXkuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhleSBT
aHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLW9iamVjdC5nZXRvd25wcm9wZXJ0eW5hbWVzCitkZXNjcmlwdGlvbjogPgorICBQcm94
eSBbW093blByb3BlcnR5S2V5c11dIHRyYXAgZG9lcyBub3Qgc2tpcCBzeW1ib2wga2V5cyB3aGVu
IHZhbGlkYXRpbmcgaW52YXJpYW50OgorICAqIElmIHRoZSB0YXJnZXQgb2JqZWN0IGlzIG5vdCBl
eHRlbnNpYmxlLCB0aGVuIHRoZSByZXN1bHQgTGlzdCBtdXN0IGNvbnRhaW4gYWxsIHRoZSBrZXlz
IG9mCisgICAgdGhlIG93biBwcm9wZXJ0aWVzIG9mIHRoZSB0YXJnZXQgb2JqZWN0IGFuZCBubyBv
dGhlciB2YWx1ZXMuCitpbmZvOiB8CisgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzICggTyAp
CisKKyAgMS4gUmV0dXJuID8gR2V0T3duUHJvcGVydHlLZXlzKE8sIFN0cmluZykuCisKKyAgR2V0
T3duUHJvcGVydHlLZXlzICggTywgdHlwZSApCisKKyAgLi4uCisgIDIuIExldCBrZXlzIGJlID8g
b2JqLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKworICBbW093blByb3BlcnR5S2V5c11dICggKQor
CisgIC4uLgorICAxMS4gTGV0IHRhcmdldEtleXMgYmUgPyB0YXJnZXQuW1tPd25Qcm9wZXJ0eUtl
eXNdXSgpLgorICAxNi4gRm9yIGVhY2ggZWxlbWVudCBrZXkgb2YgdGFyZ2V0S2V5cywgZG8KKyAg
ICBhLiBMZXQgZGVzYyBiZSA/IHRhcmdldC5bW0dldE93blByb3BlcnR5XV0oa2V5KS4KKyAgICBi
LiBJZiBkZXNjIGlzIG5vdCB1bmRlZmluZWQgYW5kIGRlc2MuW1tDb25maWd1cmFibGVdXSBpcyBm
YWxzZSwgdGhlbgorICAgICAgLi4uCisgICAgYy4gRWxzZSwKKyAgICAgIGkuIEFwcGVuZCBrZXkg
YXMgYW4gZWxlbWVudCBvZiB0YXJnZXRDb25maWd1cmFibGVLZXlzLgorICAuLi4KKyAgMTguIExl
dCB1bmNoZWNrZWRSZXN1bHRLZXlzIGJlIGEgbmV3IExpc3Qgd2hpY2ggaXMgYSBjb3B5IG9mIHRy
YXBSZXN1bHQuCisgIC4uLgorICAyMi4gSWYgdW5jaGVja2VkUmVzdWx0S2V5cyBpcyBub3QgZW1w
dHksIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KK2ZlYXR1cmVzOiBbUHJveHksIFN5bWJv
bF0KKy0tLSovCisKK3ZhciB0YXJnZXQgPSB7fTsKK3ZhciBzeW1ib2wgPSBTeW1ib2woKTsKK3Zh
ciBwcm94eSA9IG5ldyBQcm94eSh0YXJnZXQsIHsKKyAgb3duS2V5czogZnVuY3Rpb24oKSB7Cisg
ICAgcmV0dXJuIFtzeW1ib2xdOworICB9LAorfSk7CisKK09iamVjdC5wcmV2ZW50RXh0ZW5zaW9u
cyh0YXJnZXQpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3h5KTsKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eVN5bWJvbHMvbGVuZ3RoLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0
T3duUHJvcGVydHlTeW1ib2xzL2xlbmd0aC5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eVN5bWJvbHMvbGVu
Z3RoLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBAQAogLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogCiAv
Ki0tLQotZXM2aWQ6IDE5LjEuMi44Citlc2lkOiBzZWMtb2JqZWN0LmdldG93bnByb3BlcnR5c3lt
Ym9scwogZGVzY3JpcHRpb246ID4KICAgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scy5sZW5n
dGggaXMgMS4KIGluZm86IHwKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvZ2V0T3duUHJvcGVydHlTeW1ib2xzL25hbWUuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eVN5bWJvbHMvbmFt
ZS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9nZXRPd25Qcm9wZXJ0eVN5bWJvbHMvbmFtZS5qcwkod29ya2luZyBjb3B5KQpAQCAt
Miw3ICsyLDcgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIAogLyotLS0KLWVzNmlkOiAxOS4xLjIuOAorZXNp
ZDogc2VjLW9iamVjdC5nZXRvd25wcm9wZXJ0eXN5bWJvbHMKIGRlc2NyaXB0aW9uOiA+CiAgIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMubmFtZSBpcyAiZ2V0T3duUHJvcGVydHlTeW1ib2xz
Ii4KIGluZm86IHwKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
Z2V0T3duUHJvcGVydHlTeW1ib2xzL29iamVjdC1jb250YWlucy1zeW1ib2wtcHJvcGVydHktd2l0
aC1kZXNjcmlwdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9vYmplY3QtY29udGFpbnMtc3ltYm9s
LXByb3BlcnR5LXdpdGgtZGVzY3JpcHRpb24uanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlTeW1ib2xzL29i
amVjdC1jb250YWlucy1zeW1ib2wtcHJvcGVydHktd2l0aC1kZXNjcmlwdGlvbi5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIC8vIENvcHlyaWdodCAoQykgMjAxMyB0aGUgVjggcHJv
amVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyotLS0K
LWVzNmlkOiAxOS4xLjIuOAorZXNpZDogc2VjLW9iamVjdC5nZXRvd25wcm9wZXJ0eXN5bWJvbHMK
IGRlc2NyaXB0aW9uOiA+CiAgICAgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyByZXR1cm5z
IGFsbCBzeW1ib2wgcHJvcGVydGllcyB0aGF0IGhhdmUgZGVzY3JpcHRpb25zCiBmZWF0dXJlczog
W1N5bWJvbF0KSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0
T3duUHJvcGVydHlTeW1ib2xzL29iamVjdC1jb250YWlucy1zeW1ib2wtcHJvcGVydHktd2l0aG91
dC1kZXNjcmlwdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9vYmplY3QtY29udGFpbnMtc3ltYm9s
LXByb3BlcnR5LXdpdGhvdXQtZGVzY3JpcHRpb24uanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlTeW1ib2xz
L29iamVjdC1jb250YWlucy1zeW1ib2wtcHJvcGVydHktd2l0aG91dC1kZXNjcmlwdGlvbi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIC8vIENvcHlyaWdodCAoQykgMjAxMyB0aGUg
VjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgog
LyotLS0KLWVzNmlkOiAxOS4xLjIuOAorZXNpZDogc2VjLW9iamVjdC5nZXRvd25wcm9wZXJ0eXN5
bWJvbHMKIGRlc2NyaXB0aW9uOiA+CiAgICAgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyBy
ZXR1cm5zIGFsbCBzeW1ib2wgcHJvcGVydGllcyB0aGF0IGRvIG5vdCBoYXZlIGRlc2NyaXB0aW9u
cwogZmVhdHVyZXM6IFtTeW1ib2xdCkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9wcm94eS1pbnZhcmlhbnQtYWJzZW50LW5v
dC1jb25maWd1cmFibGUtc3RyaW5nLWtleS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9wcm94eS1pbnZh
cmlhbnQtYWJzZW50LW5vdC1jb25maWd1cmFibGUtc3RyaW5nLWtleS5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5
U3ltYm9scy9wcm94eS1pbnZhcmlhbnQtYWJzZW50LW5vdC1jb25maWd1cmFibGUtc3RyaW5nLWtl
eS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MTkgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LmdldG93bnByb3BlcnR5c3ltYm9scworZGVzY3JpcHRp
b246ID4KKyAgUHJveHkgW1tPd25Qcm9wZXJ0eUtleXNdXSB0cmFwIGRvZXMgbm90IHNraXAgc3Ry
aW5nIGtleXMgd2hlbiB2YWxpZGF0aW5nIGludmFyaWFudDoKKyAgKiBUaGUgcmVzdWx0IExpc3Qg
bXVzdCBjb250YWluIHRoZSBrZXlzIG9mIGFsbCBub24tY29uZmlndXJhYmxlIG93biBwcm9wZXJ0
aWVzIG9mCisgICAgdGhlIHRhcmdldCBvYmplY3QuCitpbmZvOiB8CisgIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eVN5bWJvbHMgKCBPICkKKworICAxLiBSZXR1cm4gPyBHZXRPd25Qcm9wZXJ0eUtleXMo
TywgU3ltYm9sKS4KKworICBHZXRPd25Qcm9wZXJ0eUtleXMgKCBPLCB0eXBlICkKKworICAuLi4K
KyAgMi4gTGV0IGtleXMgYmUgPyBvYmouW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgorCisgIFtbT3du
UHJvcGVydHlLZXlzXV0gKCApCisKKyAgLi4uCisgIDExLiBMZXQgdGFyZ2V0S2V5cyBiZSA/IHRh
cmdldC5bW093blByb3BlcnR5S2V5c11dKCkuCisgIC4uLgorICAxNS4gTGV0IHRhcmdldE5vbmNv
bmZpZ3VyYWJsZUtleXMgYmUgYSBuZXcgZW1wdHkgTGlzdC4KKyAgMTYuIEZvciBlYWNoIGVsZW1l
bnQga2V5IG9mIHRhcmdldEtleXMsIGRvCisgICAgYS4gTGV0IGRlc2MgYmUgPyB0YXJnZXQuW1tH
ZXRPd25Qcm9wZXJ0eV1dKGtleSkuCisgICAgYi4gSWYgZGVzYyBpcyBub3QgdW5kZWZpbmVkIGFu
ZCBkZXNjLltbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgIGkuIEFwcGVuZCBr
ZXkgYXMgYW4gZWxlbWVudCBvZiB0YXJnZXROb25jb25maWd1cmFibGVLZXlzLgorICAuLi4KKyAg
MTguIExldCB1bmNoZWNrZWRSZXN1bHRLZXlzIGJlIGEgbmV3IExpc3Qgd2hpY2ggaXMgYSBjb3B5
IG9mIHRyYXBSZXN1bHQuCisgIDE5LiBGb3IgZWFjaCBrZXkgdGhhdCBpcyBhbiBlbGVtZW50IG9m
IHRhcmdldE5vbmNvbmZpZ3VyYWJsZUtleXMsIGRvCisgICAgYS4gSWYga2V5IGlzIG5vdCBhbiBl
bGVtZW50IG9mIHVuY2hlY2tlZFJlc3VsdEtleXMsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KK2ZlYXR1cmVzOiBbUHJveHldCistLS0qLworCit2YXIgdGFyZ2V0ID0ge307CitPYmplY3Qu
ZGVmaW5lUHJvcGVydHkodGFyZ2V0LCAncHJvcCcsIHsKKyAgdmFsdWU6IDEsCisgIHdyaXRhYmxl
OiB0cnVlLAorICBlbnVtZXJhYmxlOiB0cnVlLAorICBjb25maWd1cmFibGU6IGZhbHNlLAorfSk7
CisKK3ZhciBwcm94eSA9IG5ldyBQcm94eSh0YXJnZXQsIHsKKyAgb3duS2V5czogZnVuY3Rpb24o
KSB7CisgICAgcmV0dXJuIFtdOworICB9LAorfSk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9y
LCBmdW5jdGlvbigpIHsKKyAgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhwcm94eSk7Cit9
KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJv
cGVydHlTeW1ib2xzL3Byb3h5LWludmFyaWFudC1kdXBsaWNhdGUtc3RyaW5nLWVudHJ5LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3du
UHJvcGVydHlTeW1ib2xzL3Byb3h5LWludmFyaWFudC1kdXBsaWNhdGUtc3RyaW5nLWVudHJ5Lmpz
CShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
Z2V0T3duUHJvcGVydHlTeW1ib2xzL3Byb3h5LWludmFyaWFudC1kdXBsaWNhdGUtc3RyaW5nLWVu
dHJ5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAxOSBBbGV4ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3QuZ2V0b3ducHJvcGVydHlzeW1ib2xzCitkZXNjcmlw
dGlvbjogPgorICBQcm94eSBbW093blByb3BlcnR5S2V5c11dIHRyYXAgZG9lcyBub3Qgc2tpcCBz
dHJpbmcga2V5cyB3aGVuIHZhbGlkYXRpbmcgaW52YXJpYW50OgorICAqIFRoZSByZXR1cm5lZCBM
aXN0IGNvbnRhaW5zIG5vIGR1cGxpY2F0ZSBlbnRyaWVzLgoraW5mbzogfAorICBPYmplY3QuZ2V0
T3duUHJvcGVydHlTeW1ib2xzICggTyApCisKKyAgMS4gUmV0dXJuID8gR2V0T3duUHJvcGVydHlL
ZXlzKE8sIFN5bWJvbCkuCisKKyAgR2V0T3duUHJvcGVydHlLZXlzICggTywgdHlwZSApCisKKyAg
Li4uCisgIDIuIExldCBrZXlzIGJlID8gb2JqLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKworICBb
W093blByb3BlcnR5S2V5c11dICggKQorCisgIC4uLgorICA4LiBMZXQgdHJhcFJlc3VsdCBiZSA/
IENyZWF0ZUxpc3RGcm9tQXJyYXlMaWtlKHRyYXBSZXN1bHRBcnJheSwgwqsgU3RyaW5nLCBTeW1i
b2wgwrspLgorICA5LiBJZiB0cmFwUmVzdWx0IGNvbnRhaW5zIGFueSBkdXBsaWNhdGUgZW50cmll
cywgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorZmVhdHVyZXM6IFtQcm94eV0KKy0tLSov
CisKK3ZhciBwcm94eSA9IG5ldyBQcm94eSh7fSwgeworICBvd25LZXlzOiBmdW5jdGlvbigpIHsK
KyAgICByZXR1cm4gWydhJywgJ2EnXTsKKyAgfSwKK30pOworCithc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7CisgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocHJveHkp
OworfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93
blByb3BlcnR5U3ltYm9scy9wcm94eS1pbnZhcmlhbnQtbm90LWV4dGVuc2libGUtYWJzZW50LXN0
cmluZy1rZXkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9nZXRPd25Qcm9wZXJ0eVN5bWJvbHMvcHJveHktaW52YXJpYW50LW5vdC1leHRlbnNp
YmxlLWFic2VudC1zdHJpbmcta2V5LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlTeW1ib2xzL3Byb3h5LWludmFy
aWFudC1ub3QtZXh0ZW5zaWJsZS1hYnNlbnQtc3RyaW5nLWtleS5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQ5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgQWxleGV5IFNodmF5a2EuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2Jq
ZWN0LmdldG93bnByb3BlcnR5c3ltYm9scworZGVzY3JpcHRpb246ID4KKyAgUHJveHkgW1tPd25Q
cm9wZXJ0eUtleXNdXSB0cmFwIGRvZXMgbm90IHNraXAgc3RyaW5nIGtleXMgd2hlbiB2YWxpZGF0
aW5nIGludmFyaWFudDoKKyAgKiBJZiB0aGUgdGFyZ2V0IG9iamVjdCBpcyBub3QgZXh0ZW5zaWJs
ZSwgdGhlbiB0aGUgcmVzdWx0IExpc3QgbXVzdCBjb250YWluIGFsbCB0aGUga2V5cyBvZgorICAg
IHRoZSBvd24gcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0IG9iamVjdCBhbmQgbm8gb3RoZXIgdmFs
dWVzLgoraW5mbzogfAorICBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzICggTyApCisKKyAg
MS4gUmV0dXJuID8gR2V0T3duUHJvcGVydHlLZXlzKE8sIFN5bWJvbCkuCisKKyAgR2V0T3duUHJv
cGVydHlLZXlzICggTywgdHlwZSApCisKKyAgLi4uCisgIDIuIExldCBrZXlzIGJlID8gb2JqLltb
T3duUHJvcGVydHlLZXlzXV0oKS4KKworICBbW093blByb3BlcnR5S2V5c11dICggKQorCisgIC4u
LgorICAxMS4gTGV0IHRhcmdldEtleXMgYmUgPyB0YXJnZXQuW1tPd25Qcm9wZXJ0eUtleXNdXSgp
LgorICAxNi4gRm9yIGVhY2ggZWxlbWVudCBrZXkgb2YgdGFyZ2V0S2V5cywgZG8KKyAgICBhLiBM
ZXQgZGVzYyBiZSA/IHRhcmdldC5bW0dldE93blByb3BlcnR5XV0oa2V5KS4KKyAgICBiLiBJZiBk
ZXNjIGlzIG5vdCB1bmRlZmluZWQgYW5kIGRlc2MuW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSwg
dGhlbgorICAgICAgLi4uCisgICAgYy4gRWxzZSwKKyAgICAgIGkuIEFwcGVuZCBrZXkgYXMgYW4g
ZWxlbWVudCBvZiB0YXJnZXRDb25maWd1cmFibGVLZXlzLgorICAuLi4KKyAgMTguIExldCB1bmNo
ZWNrZWRSZXN1bHRLZXlzIGJlIGEgbmV3IExpc3Qgd2hpY2ggaXMgYSBjb3B5IG9mIHRyYXBSZXN1
bHQuCisgIC4uLgorICAyMS4gRm9yIGVhY2gga2V5IHRoYXQgaXMgYW4gZWxlbWVudCBvZiB0YXJn
ZXRDb25maWd1cmFibGVLZXlzLCBkbworICAgIGEuIElmIGtleSBpcyBub3QgYW4gZWxlbWVudCBv
ZiB1bmNoZWNrZWRSZXN1bHRLZXlzLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCitmZWF0
dXJlczogW1Byb3h5XQorLS0tKi8KKwordmFyIHRhcmdldCA9IHtwcm9wOiAyfTsKK3ZhciBwcm94
eSA9IG5ldyBQcm94eSh0YXJnZXQsIHsKKyAgb3duS2V5czogZnVuY3Rpb24oKSB7CisgICAgcmV0
dXJuIFtdOworICB9LAorfSk7CisKK09iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh0YXJnZXQpOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eVN5bWJvbHMocHJveHkpOworfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9wcm94eS1pbnZhcmlhbnQtbm90
LWV4dGVuc2libGUtZXh0cmEtc3RyaW5nLWtleS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9wcm94eS1p
bnZhcmlhbnQtbm90LWV4dGVuc2libGUtZXh0cmEtc3RyaW5nLWtleS5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5
U3ltYm9scy9wcm94eS1pbnZhcmlhbnQtbm90LWV4dGVuc2libGUtZXh0cmEtc3RyaW5nLWtleS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkg
QWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtb2JqZWN0LmdldG93bnByb3BlcnR5c3ltYm9scworZGVzY3JpcHRpb246
ID4KKyAgUHJveHkgW1tPd25Qcm9wZXJ0eUtleXNdXSB0cmFwIGRvZXMgbm90IHNraXAgc3RyaW5n
IGtleXMgd2hlbiB2YWxpZGF0aW5nIGludmFyaWFudDoKKyAgKiBJZiB0aGUgdGFyZ2V0IG9iamVj
dCBpcyBub3QgZXh0ZW5zaWJsZSwgdGhlbiB0aGUgcmVzdWx0IExpc3QgbXVzdCBjb250YWluIGFs
bCB0aGUga2V5cyBvZgorICAgIHRoZSBvd24gcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0IG9iamVj
dCBhbmQgbm8gb3RoZXIgdmFsdWVzLgoraW5mbzogfAorICBPYmplY3QuZ2V0T3duUHJvcGVydHlT
eW1ib2xzICggTyApCisKKyAgMS4gUmV0dXJuID8gR2V0T3duUHJvcGVydHlLZXlzKE8sIFN5bWJv
bCkuCisKKyAgR2V0T3duUHJvcGVydHlLZXlzICggTywgdHlwZSApCisKKyAgLi4uCisgIDIuIExl
dCBrZXlzIGJlID8gb2JqLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKworICBbW093blByb3BlcnR5
S2V5c11dICggKQorCisgIC4uLgorICAxMS4gTGV0IHRhcmdldEtleXMgYmUgPyB0YXJnZXQuW1tP
d25Qcm9wZXJ0eUtleXNdXSgpLgorICAxNi4gRm9yIGVhY2ggZWxlbWVudCBrZXkgb2YgdGFyZ2V0
S2V5cywgZG8KKyAgICBhLiBMZXQgZGVzYyBiZSA/IHRhcmdldC5bW0dldE93blByb3BlcnR5XV0o
a2V5KS4KKyAgICBiLiBJZiBkZXNjIGlzIG5vdCB1bmRlZmluZWQgYW5kIGRlc2MuW1tDb25maWd1
cmFibGVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgLi4uCisgICAgYy4gRWxzZSwKKyAgICAgIGku
IEFwcGVuZCBrZXkgYXMgYW4gZWxlbWVudCBvZiB0YXJnZXRDb25maWd1cmFibGVLZXlzLgorICAu
Li4KKyAgMTguIExldCB1bmNoZWNrZWRSZXN1bHRLZXlzIGJlIGEgbmV3IExpc3Qgd2hpY2ggaXMg
YSBjb3B5IG9mIHRyYXBSZXN1bHQuCisgIC4uLgorICAyMi4gSWYgdW5jaGVja2VkUmVzdWx0S2V5
cyBpcyBub3QgZW1wdHksIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KK2ZlYXR1cmVzOiBb
UHJveHldCistLS0qLworCit2YXIgdGFyZ2V0ID0ge307Cit2YXIgcHJveHkgPSBuZXcgUHJveHko
dGFyZ2V0LCB7CisgIG93bktleXM6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBbJ3Byb3AnXTsK
KyAgfSwKK30pOworCitPYmplY3QucHJldmVudEV4dGVuc2lvbnModGFyZ2V0KTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBPYmplY3QuZ2V0T3duUHJvcGVydHlT
eW1ib2xzKHByb3h5KTsKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9rZXlzL3Byb3h5LW5vbi1lbnVtZXJhYmxlLXByb3AtaW52YXJpYW50LTIuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9rZXlzL3By
b3h5LW5vbi1lbnVtZXJhYmxlLXByb3AtaW52YXJpYW50LTIuanMJKHJldmlzaW9uIDI1NDAwNykK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qva2V5cy9wcm94eS1ub24t
ZW51bWVyYWJsZS1wcm9wLWludmFyaWFudC0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0
Myw2IEBAIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsICdwcm9wJywgewogICBlbnVtZXJh
YmxlOiBmYWxzZSwKICAgY29uZmlndXJhYmxlOiB0cnVlLAogfSk7Ci1PYmplY3QucHJldmVudEV4
dGVuc2lvbnModGFyZ2V0KTsKIAogdmFyIHByb3h5ID0gbmV3IFByb3h5KHRhcmdldCwgewogICBv
d25LZXlzOiBmdW5jdGlvbigpIHsKQEAgLTUxLDYgKzUwLDggQEAgdmFyIHByb3h5ID0gbmV3IFBy
b3h5KHRhcmdldCwgewogICB9LAogfSk7CiAKK09iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh0YXJn
ZXQpOworCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIE9iamVjdC5r
ZXlzKHByb3h5KTsKIH0pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9rZXlzL3Byb3h5LW5vbi1lbnVtZXJhYmxlLXByb3AtaW52YXJpYW50LTMuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9rZXlzL3Byb3h5
LW5vbi1lbnVtZXJhYmxlLXByb3AtaW52YXJpYW50LTMuanMJKG5vbmV4aXN0ZW50KQorKysgSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9rZXlzL3Byb3h5LW5vbi1lbnVtZXJh
YmxlLXByb3AtaW52YXJpYW50LTMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5rZXlzCitkZXNjcmlw
dGlvbjogPgorICBQcm94eSBbW093blByb3BlcnR5S2V5c11dIHRyYXAgZG9lcyBub3Qgc2tpcCBu
b24tZW51bWVyYWJsZSBrZXlzIHdoZW4gdmFsaWRhdGluZyBpbnZhcmlhbnQ6CisgICogSWYgdGhl
IHRhcmdldCBvYmplY3QgaXMgbm90IGV4dGVuc2libGUsIHRoZW4gdGhlIHJlc3VsdCBMaXN0IG11
c3QgY29udGFpbiBhbGwgdGhlIGtleXMgb2YKKyAgICB0aGUgb3duIHByb3BlcnRpZXMgb2YgdGhl
IHRhcmdldCBvYmplY3QgYW5kIG5vIG90aGVyIHZhbHVlcy4KK2luZm86IHwKKyAgT2JqZWN0Lmtl
eXMgKCBPICkKKworICAuLi4KKyAgMi4gTGV0IG5hbWVMaXN0IGJlID8gRW51bWVyYWJsZU93blBy
b3BlcnR5TmFtZXMob2JqLCAia2V5IikuCisKKyAgRW51bWVyYWJsZU93blByb3BlcnR5TmFtZXMg
KCBPLCBraW5kICkKKworICAuLi4KKyAgMi4gTGV0IG93bktleXMgYmUgPyBPLltbT3duUHJvcGVy
dHlLZXlzXV0oKS4KKworICBbW093blByb3BlcnR5S2V5c11dICggKQorCisgIC4uLgorICAxMS4g
TGV0IHRhcmdldEtleXMgYmUgPyB0YXJnZXQuW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgorICAxNi4g
Rm9yIGVhY2ggZWxlbWVudCBrZXkgb2YgdGFyZ2V0S2V5cywgZG8KKyAgICBhLiBMZXQgZGVzYyBi
ZSA/IHRhcmdldC5bW0dldE93blByb3BlcnR5XV0oa2V5KS4KKyAgICBiLiBJZiBkZXNjIGlzIG5v
dCB1bmRlZmluZWQgYW5kIGRlc2MuW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSwgdGhlbgorICAg
ICAgLi4uCisgICAgYy4gRWxzZSwKKyAgICAgIGkuIEFwcGVuZCBrZXkgYXMgYW4gZWxlbWVudCBv
ZiB0YXJnZXRDb25maWd1cmFibGVLZXlzLgorICAuLi4KKyAgMTguIExldCB1bmNoZWNrZWRSZXN1
bHRLZXlzIGJlIGEgbmV3IExpc3Qgd2hpY2ggaXMgYSBjb3B5IG9mIHRyYXBSZXN1bHQuCisgIC4u
LgorICAyMi4gSWYgdW5jaGVja2VkUmVzdWx0S2V5cyBpcyBub3QgZW1wdHksIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KK2ZlYXR1cmVzOiBbUHJveHldCistLS0qLworCit2YXIgdGFyZ2V0
ID0ge307CitPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCAncHJvcCcsIHsKKyAgdmFsdWU6
IDMsCisgIHdyaXRhYmxlOiB0cnVlLAorICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJh
YmxlOiB0cnVlLAorfSk7CisKK3ZhciBwcm94eSA9IG5ldyBQcm94eSh0YXJnZXQsIHsKKyAgb3du
S2V5czogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIFsncHJvcCddOworICB9LAorfSk7CisKK09i
amVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh0YXJnZXQpOworCit2YXIga2V5cyA9IE9iamVjdC5rZXlz
KHByb3h5KTsKK2Fzc2VydC5zYW1lVmFsdWUoa2V5cy5sZW5ndGgsIDApOwpJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9rZXlzL3JldHVybi1vcmRlci5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2tleXMvcmV0
dXJuLW9yZGVyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3Qva2V5cy9yZXR1cm4tb3JkZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMCBAQAorLy8gQ29weXJpZ2h0IDIwMTkgS2V2aW4gR2liYm9ucy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3Qua2V5cworZGVz
Y3JpcHRpb246IE9iamVjdC5rZXlzIGVudW1lcmF0aW9uIG9yZGVyCitmZWF0dXJlczogW2Zvci1p
bi1vcmRlcl0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQorLS0tKi8KKwordmFyIG8gPSB7
CisgIHAxOiAncDEnLAorICBwMjogJ3AyJywKKyAgcDM6ICdwMycsCit9Oworby5wNCA9ICdwNCc7
CisKK29bMl0gPSAnMic7CitvWzBdID0gJzAnOworb1sxXSA9ICcxJzsKKworZGVsZXRlIG8ucDE7
CitkZWxldGUgby5wMzsKK28ucDEgPSAncDEnOworCit2YXIgYWN0dWFsID0gT2JqZWN0LmtleXMo
byk7CisKK3ZhciBleHBlY3RlZCA9IFsnMCcsICcxJywgJzInLCAncDInLCAncDQnLCAncDEnXTsK
KworYXNzZXJ0LmNvbXBhcmVBcnJheShhY3R1YWwsIGV4cGVjdGVkKTsKSW5kZXg6IEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJldmVudEV4dGVuc2lvbnMvdGhyb3dzLXdo
ZW4tZmFsc2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9wcmV2ZW50RXh0ZW5zaW9ucy90aHJvd3Mtd2hlbi1mYWxzZS5qcwkobm9uZXhpc3Rl
bnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3ByZXZlbnRFeHRl
bnNpb25zL3Rocm93cy13aGVuLWZhbHNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBFY21hIEludGVybmF0aW9uYWwuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnByZXZl
bnRleHRlbnNpb25zCitkZXNjcmlwdGlvbjogPgorICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMg
dGhyb3dzIGlmIE8uW1tQcmV2ZW50RXh0ZW5zaW9uc11dKCkgcmV0dXJucyBmYWxzZS4KK2luZm86
IHwKKyAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zICggTyApCisgIC4uLgorICAyLiBMZXQgc3Rh
dHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgMy4gSWYgc3RhdHVzIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCistLS0qLworCitjb25zdCBwID0gbmV3
IFByb3h5KHt9LCB7CisgIHByZXZlbnRFeHRlbnNpb25zKCkgeworICAgIHJldHVybiBmYWxzZTsK
KyAgfSwKK30pOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBPYmplY3Qu
cHJldmVudEV4dGVuc2lvbnMocCk7Cit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvYXJnLWlzLXByb3h5LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL2lzUHJvdG90eXBlT2YvYXJnLWlzLXByb3h5LmpzCShub25leGlzdGVudCkKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2Yv
YXJnLWlzLXByb3h5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHly
aWdodCAoQykgMjAxOSBBbGV4ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3QucHJvdG90eXBlLmlzcHJvdG90eXBl
b2YKK2Rlc2NyaXB0aW9uOiA+CisgIElmIFYgaXMgYSBQcm94eSBvYmplY3QsIG9ubHkgaXRzICJn
ZXRQcm90b3R5cGVPZiIgdHJhcCBnZXRzIGludm9rZWQuCitpbmZvOiB8CisgIE9iamVjdC5wcm90
b3R5cGUuaXNQcm90b3R5cGVPZiAoIFYgKQorCisgIC4uLgorICAzLiBSZXBlYXQsCisgICAgYS4g
U2V0IFYgdG8gPyBWLltbR2V0UHJvdG90eXBlT2ZdXSgpLgorICAgIGIuIElmIFYgaXMgbnVsbCwg
cmV0dXJuIGZhbHNlLgorICAgIGMuIElmIFNhbWVWYWx1ZShPLCBWKSBpcyB0cnVlLCByZXR1cm4g
dHJ1ZS4KK2luY2x1ZGVzOiBbcHJveHlUcmFwc0hlbHBlci5qc10KK2ZlYXR1cmVzOiBbUHJveHld
CistLS0qLworCit2YXIgcHJveHlQcm90byA9IFtdOwordmFyIGhhbmRsZXIgPSBhbGxvd1Byb3h5
VHJhcHMoeworICBnZXRQcm90b3R5cGVPZjogZnVuY3Rpb24oX3RhcmdldCkgeworICAgIHJldHVy
biBwcm94eVByb3RvOworICB9LAorfSk7CisKK3ZhciBwcm94eSA9IG5ldyBQcm94eSh7fSwgaGFu
ZGxlcik7CisKK2Fzc2VydC5zYW1lVmFsdWUocHJveHlQcm90by5pc1Byb3RvdHlwZU9mKHByb3h5
KSwgdHJ1ZSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9pc1Byb3RvdHlwZU9mL2J1aWx0aW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvaXNQcm90b3R5cGVPZi9idWls
dGluLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvYnVpbHRpbi5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDE4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9y
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1vYmplY3QucHJvdG90eXBlLmlzcHJvdG90eXBlb2YKK2Rlc2NyaXB0aW9uOiA+CisgIFRlc3Rz
IHRoYXQgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mIG1lZXRzIHRoZSByZXF1aXJlbWVu
dHMKKyAgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9m
IGNoYXB0ZXIgMTcgb2YKKyAgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4K
K2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1
Y3RdCistLS0qLworCithc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShPYmplY3QucHJvdG90eXBl
LmlzUHJvdG90eXBlT2YpKTsKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiksICJbb2JqZWN0IEZ1bmN0
aW9uXSIpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoT2JqZWN0LnBy
b3RvdHlwZS5pc1Byb3RvdHlwZU9mKSwgRnVuY3Rpb24ucHJvdG90eXBlKTsKK2Fzc2VydC5zYW1l
VmFsdWUoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmhhc093blByb3BlcnR5KCJwcm90
b3R5cGUiKSwgZmFsc2UpOworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKE9iamVjdC5w
cm90b3R5cGUuaXNQcm90b3R5cGVPZiksIGZhbHNlKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvbGVuZ3RoLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL2lzUHJvdG90eXBlT2YvbGVuZ3RoLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvbGVuZ3Ro
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAw
OSB0aGUgU3B1dG5payBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5wcm90b3R5cGUuaXNwcm90b3R5cGVvZgorZGVz
Y3JpcHRpb246ID4KKyAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBpcyAx
LgoraW5mbzogfAorICBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgKCBWICkKKworICBF
Q01BU2NyaXB0IFN0YW5kYXJkIEJ1aWx0LWluIE9iamVjdHMKKworICBVbmxlc3Mgb3RoZXJ3aXNl
IHNwZWNpZmllZCwgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBhIGJ1aWx0LWluIEZ1bmN0aW9uCisg
IG9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1l
cmFibGVdXTogZmFsc2UsCisgIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KK2luY2x1ZGVzOiBb
cHJvcGVydHlIZWxwZXIuanNdCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShPYmplY3QucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YsICJsZW5ndGgiLCB7CisgIHZhbHVlOiAxLAorICB3cml0YWJsZTog
ZmFsc2UsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lz
UHJvdG90eXBlT2YvbmFtZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9pc1Byb3RvdHlwZU9mL25hbWUuanMJKHJldmlzaW9u
IDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL2lzUHJvdG90eXBlT2YvbmFtZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMiw3ICsyLDcgQEAK
IC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KIAogLyotLS0KLWVzNmlkOiAxOS4xLjMuMworZXNpZDogc2VjLW9iamVj
dC5wcm90b3R5cGUuaXNwcm90b3R5cGVvZgogZGVzY3JpcHRpb246ID4KICAgT2JqZWN0LnByb3Rv
dHlwZS5pc1Byb3RvdHlwZU9mLm5hbWUgaXMgImlzUHJvdG90eXBlT2YiLgogaW5mbzogfApAQCAt
MTksOCArMTksOSBAQCBpbmZvOiB8CiBpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQogLS0t
Ki8KIAotYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YubmFt
ZSwgImlzUHJvdG90eXBlT2YiKTsKLQotdmVyaWZ5Tm90RW51bWVyYWJsZShPYmplY3QucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YsICJuYW1lIik7Ci12ZXJpZnlOb3RXcml0YWJsZShPYmplY3QucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YsICJuYW1lIik7Ci12ZXJpZnlDb25maWd1cmFibGUoT2JqZWN0
LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLCAibmFtZSIpOwordmVyaWZ5UHJvcGVydHkoT2JqZWN0
LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLCAibmFtZSIsIHsKKyAgdmFsdWU6ICJpc1Byb3RvdHlw
ZU9mIiwKKyAgd3JpdGFibGU6IGZhbHNlLAorICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgY29uZmln
dXJhYmxlOiB0cnVlLAorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9pc1Byb3RvdHlwZU9mL251bGwtdGhpcy1hbmQtb2JqZWN0LWFyZy10
aHJvd3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvaXNQcm90b3R5cGVPZi9udWxsLXRoaXMtYW5kLW9iamVjdC1hcmctdGhy
b3dzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvbnVsbC10aGlzLWFuZC1vYmplY3QtYXJnLXRo
cm93cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE5IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3QucHJvdG90eXBlLmlzcHJvdG90eXBlb2YK
K2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBvcmRlcmluZyBvZiBzdGVwcyAxIGFuZCAyIHByZXNlcnZl
cyB0aGUgYmVoYXZpb3VyIHNwZWNpZmllZCBieSBwcmV2aW91cworICBlZGl0aW9ucyBvZiB0aGlz
IHNwZWNpZmljYXRpb24gZm9yIHRoZSBjYXNlIHdoZXJlIFYgaXMgbm90IGFuIG9iamVjdCBhbmQK
KyAgdGhlIHRoaXMgdmFsdWUgaXMgdW5kZWZpbmVkIG9yIG51bGwuCitpbmZvOiB8CisgIE9iamVj
dC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiAoIFYgKQorCisgIDEuIElmIFR5cGUoVikgaXMgbm90
IE9iamVjdCwgcmV0dXJuIGZhbHNlLgorICAyLiBMZXQgTyBiZSA/IFRvT2JqZWN0KHRoaXMgdmFs
dWUpLgorLS0tKi8KKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBP
YmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChudWxsLCBmdW5jdGlvbigpIHt9KTsK
K30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5
cGUvaXNQcm90b3R5cGVPZi9udWxsLXRoaXMtYW5kLXByaW1pdGl2ZS1hcmctcmV0dXJucy1mYWxz
ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3Byb3RvdHlwZS9pc1Byb3RvdHlwZU9mL251bGwtdGhpcy1hbmQtcHJpbWl0aXZlLWFyZy1yZXR1
cm5zLWZhbHNlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvbnVsbC10aGlzLWFuZC1wcmltaXRp
dmUtYXJnLXJldHVybnMtZmFsc2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5wcm90b3R5cGUuaXNw
cm90b3R5cGVvZgorZGVzY3JpcHRpb246ID4KKyAgVGhlIG9yZGVyaW5nIG9mIHN0ZXBzIDEgYW5k
IDIgcHJlc2VydmVzIHRoZSBiZWhhdmlvdXIgc3BlY2lmaWVkIGJ5IHByZXZpb3VzCisgIGVkaXRp
b25zIG9mIHRoaXMgc3BlY2lmaWNhdGlvbiBmb3IgdGhlIGNhc2Ugd2hlcmUgViBpcyBub3QgYW4g
b2JqZWN0IGFuZAorICB0aGUgdGhpcyB2YWx1ZSBpcyB1bmRlZmluZWQgb3IgbnVsbC4KK2luZm86
IHwKKyAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mICggViApCisKKyAgMS4gSWYgVHlw
ZShWKSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIDIuIExldCBPIGJlID8gVG9PYmpl
Y3QodGhpcyB2YWx1ZSkuCitmZWF0dXJlczogW1N5bWJvbF0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwobnVsbCwgdW5kZWZpbmVk
KSwgZmFsc2UpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBl
T2YuY2FsbChudWxsLCBudWxsKSwgZmFsc2UpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChudWxsLCBmYWxzZSksIGZhbHNlKTsKK2Fzc2VydC5z
YW1lVmFsdWUoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwobnVsbCwgIiIpLCBm
YWxzZSk7Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5j
YWxsKG51bGwsIFN5bWJvbCgpKSwgZmFsc2UpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChudWxsLCAxMCksIGZhbHNlKTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2Yv
dGhpcy12YWx1ZS1pcy1pbi1wcm90b3R5cGUtY2hhaW4tb2YtYXJnLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90
eXBlT2YvdGhpcy12YWx1ZS1pcy1pbi1wcm90b3R5cGUtY2hhaW4tb2YtYXJnLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L2lzUHJvdG90eXBlT2YvdGhpcy12YWx1ZS1pcy1pbi1wcm90b3R5cGUtY2hhaW4tb2YtYXJnLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAwOSB0
aGUgU3B1dG5payBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5wcm90b3R5cGUuaXNwcm90b3R5cGVvZgorZGVzY3Jp
cHRpb246ID4KKyAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mIHJldHVybnMgdHJ1ZSBp
ZiBlaXRoZXIgcGFyYW1ldGVyIFYKKyAgYW5kIE8gcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9y
IE8gaXMgaW4gW1tQcm90b3R5cGVdXSBjaGFpbiBvZiBWLgoraW5mbzogfAorICBPYmplY3QucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YgKCBWICkKKworICAuLi4KKyAgMy4gUmVwZWF0LAorICAgIGEu
IFNldCBWIHRvID8gVi5bW0dldFByb3RvdHlwZU9mXV0oKS4KKyAgICBiLiBJZiBWIGlzIG51bGws
IHJldHVybiBmYWxzZS4KKyAgICBjLiBJZiBTYW1lVmFsdWUoTywgVikgaXMgdHJ1ZSwgcmV0dXJu
IHRydWUuCistLS0qLworCitmdW5jdGlvbiBVU0VSX0ZBQ1RPUlkobmFtZSkgeworICB0aGlzLm5h
bWUgPSBuYW1lOworICB0aGlzLmdldE5hbWUgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gbmFt
ZTsKKyAgfTsKK30KKworZnVuY3Rpb24gRk9SQ0VEVVNFUl9GQUNUT1JZKG5hbWUsIGdyYWRlKSB7
CisgIHRoaXMubmFtZSA9IG5hbWU7CisgIHRoaXMuZ3JhZGUgPSBncmFkZTsKKyAgdGhpcy5nZXRH
cmFkZSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBncmFkZTsKKyAgfTsKK30KKwordmFyIHBy
b3RvID0gbmV3IFVTRVJfRkFDVE9SWSgibm9uYW1lIik7CisKK0ZPUkNFRFVTRVJfRkFDVE9SWS5w
cm90b3R5cGUgPSBwcm90bzsKKwordmFyIGx1a2UgPSBuZXcgRk9SQ0VEVVNFUl9GQUNUT1JZKCJM
dWtlIFNreXdhbGtlciIsIDEyKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShwcm90by5pc1Byb3RvdHlw
ZU9mKGx1a2UpLCB0cnVlKTsKK2Fzc2VydC5zYW1lVmFsdWUoVVNFUl9GQUNUT1JZLnByb3RvdHlw
ZS5pc1Byb3RvdHlwZU9mKGx1a2UpLCB0cnVlKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLmlz
UHJvdG90eXBlT2YobHVrZSksIGZhbHNlKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvdW5kZWZpbmVkLXRoaXMtYW5k
LW9iamVjdC1hcmctdGhyb3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvdW5kZWZpbmVkLXRoaXMt
YW5kLW9iamVjdC1hcmctdGhyb3dzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvdW5kZWZpbmVk
LXRoaXMtYW5kLW9iamVjdC1hcmctdGhyb3dzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxMSB0aGUgU3B1dG5payBhdXRob3JzLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5w
cm90b3R5cGUuaXNwcm90b3R5cGVvZgorZGVzY3JpcHRpb246ID4KKyAgVGhlIG9yZGVyaW5nIG9m
IHN0ZXBzIDEgYW5kIDIgcHJlc2VydmVzIHRoZSBiZWhhdmlvdXIgc3BlY2lmaWVkIGJ5IHByZXZp
b3VzCisgIGVkaXRpb25zIG9mIHRoaXMgc3BlY2lmaWNhdGlvbiBmb3IgdGhlIGNhc2Ugd2hlcmUg
ViBpcyBub3QgYW4gb2JqZWN0IGFuZAorICB0aGUgdGhpcyB2YWx1ZSBpcyB1bmRlZmluZWQgb3Ig
bnVsbC4KK2luZm86IHwKKyAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mICggViApCisK
KyAgMS4gSWYgVHlwZShWKSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIDIuIExldCBP
IGJlID8gVG9PYmplY3QodGhpcyB2YWx1ZSkuCistLS0qLworCithc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7CisgIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5jYWxs
KHVuZGVmaW5lZCwge30pOworfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9pc1Byb3RvdHlwZU9mL3VuZGVmaW5lZC10aGlzLWFuZC1wcmlt
aXRpdmUtYXJnLXJldHVybnMtZmFsc2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvaXNQcm90b3R5cGVPZi91bmRlZmluZWQt
dGhpcy1hbmQtcHJpbWl0aXZlLWFyZy1yZXR1cm5zLWZhbHNlLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90
eXBlT2YvdW5kZWZpbmVkLXRoaXMtYW5kLXByaW1pdGl2ZS1hcmctcmV0dXJucy1mYWxzZS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgQWxl
eGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtb2JqZWN0LnByb3RvdHlwZS5pc3Byb3RvdHlwZW9mCitkZXNjcmlwdGlvbjog
PgorICBUaGUgb3JkZXJpbmcgb2Ygc3RlcHMgMSBhbmQgMiBwcmVzZXJ2ZXMgdGhlIGJlaGF2aW91
ciBzcGVjaWZpZWQgYnkgcHJldmlvdXMKKyAgZWRpdGlvbnMgb2YgdGhpcyBzcGVjaWZpY2F0aW9u
IGZvciB0aGUgY2FzZSB3aGVyZSBWIGlzIG5vdCBhbiBvYmplY3QgYW5kCisgIHRoZSB0aGlzIHZh
bHVlIGlzIHVuZGVmaW5lZCBvciBudWxsLgoraW5mbzogfAorICBPYmplY3QucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YgKCBWICkKKworICAxLiBJZiBUeXBlKFYpIGlzIG5vdCBPYmplY3QsIHJldHVy
biBmYWxzZS4KKyAgMi4gTGV0IE8gYmUgPyBUb09iamVjdCh0aGlzIHZhbHVlKS4KK2ZlYXR1cmVz
OiBbU3ltYm9sXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YuY2FsbCh1bmRlZmluZWQsIHVuZGVmaW5lZCksIGZhbHNlKTsKK2Fzc2VydC5z
YW1lVmFsdWUoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwodW5kZWZpbmVkLCBu
dWxsKSwgZmFsc2UpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90
eXBlT2YuY2FsbCh1bmRlZmluZWQsIHRydWUpLCBmYWxzZSk7Cithc3NlcnQuc2FtZVZhbHVlKE9i
amVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5jYWxsKHVuZGVmaW5lZCwgInN0ciIpLCBmYWxz
ZSk7Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5jYWxs
KHVuZGVmaW5lZCwgU3ltYm9sKCJkZXNjIikpLCBmYWxzZSk7Cithc3NlcnQuc2FtZVZhbHVlKE9i
amVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5jYWxsKHVuZGVmaW5lZCwgMy4xNCksIGZhbHNl
KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC90aHJv
d3Mtd2hlbi1mYWxzZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvdGhyb3dzLXdoZW4tZmFsc2UuanMJKG5vbmV4aXN0ZW50KQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3Rocm93cy13aGVuLWZh
bHNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKy8vIENvcHlyaWdodCAoQykg
MjAxOSBFY21hIEludGVybmF0aW9uYWwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+CisgIE9i
amVjdC5zZWFsIHRocm93cyBpZiBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpIHJldHVybnMg
ZmFsc2UuCitpbmZvOiB8CisgIE9iamVjdC5zZWFsICggTyApCisgIC4uLgorICAyLiBMZXQgc3Rh
dHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4KKyAgMy4gSWYgc3RhdHVzIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKyAgU2V0SW50ZWdyaXR5TGV2
ZWwgKCBPLCBsZXZlbCApCisgIC4uLgorICAzLiBMZXQgc3RhdHVzIGJlID8gTy5bW1ByZXZlbnRF
eHRlbnNpb25zXV0oKS4KKyAgNC4gSWYgc3RhdHVzIGlzIGZhbHNlLCByZXR1cm4gZmFsc2UuCist
LS0qLworCitjb25zdCBwID0gbmV3IFByb3h5KHt9LCB7CisgIHByZXZlbnRFeHRlbnNpb25zKCkg
eworICAgIHJldHVybiBmYWxzZTsKKyAgfSwKK30pOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4geworICBPYmplY3Quc2VhbChwKTsKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC92YWx1ZXMvcmV0dXJuLW9yZGVyLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvdmFsdWVzL3JldHVybi1v
cmRlci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3ZhbHVlcy9yZXR1cm4tb3JkZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
MSBAQAorLy8gQ29weXJpZ2h0IDIwMTkgS2V2aW4gR2liYm9ucy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3QudmFsdWVzCitkZXNj
cmlwdGlvbjogT2JqZWN0LnZhbHVlcyBlbnVtZXJhdGlvbiBvcmRlcgorZmVhdHVyZXM6IFtmb3It
aW4tb3JkZXJdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KKy0tLSovCisKK3ZhciBvID0g
eworICBwMTogJ3AxJywKKyAgcDI6ICdwMicsCisgIHAzOiAncDMnLAorfTsKKworLy8gVGhpcyBn
ZXR0ZXIgd2lsbCBiZSB0cmlnZ2VyZWQgZHVyaW5nIGVudW1lcmF0aW9uLCBidXQgdGhlIHByb3Bl
cnR5IGl0IGFkZHMgc2hvdWxkIG5vdCBiZSBlbnVtZXJhdGVkLgorT2JqZWN0LmRlZmluZVByb3Bl
cnR5KG8sICdhZGQnLCB7CisgIGVudW1lcmFibGU6IHRydWUsCisgIGdldDogZnVuY3Rpb24gKCkg
eworICAgIG8uZXh0cmEgPSAnZXh0cmEnOworICAgIHJldHVybiAnYWRkJzsKKyAgfQorfSk7CisK
K28ucDQgPSAncDQnOworCitvWzJdID0gJzInOworb1swXSA9ICcwJzsKK29bMV0gPSAnMSc7CisK
K2RlbGV0ZSBvLnAxOworZGVsZXRlIG8ucDM7CitvLnAxID0gJ3AxJzsKKworCit2YXIgYWN0dWFs
ID0gT2JqZWN0LnZhbHVlcyhvKTsKKwordmFyIGV4cGVjdGVkID0gWycwJywgJzEnLCAnMicsICdw
MicsICdhZGQnLCAncDQnLCAncDEnXTsKKworYXNzZXJ0LmNvbXBhcmVBcnJheShhY3R1YWwsIGV4
cGVjdGVkKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9oYXMv
Y2FsbC1pbi1wcm90b3R5cGUtaW5kZXguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1Byb3h5L2hhcy9jYWxsLWluLXByb3RvdHlwZS1pbmRleC5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvaGFzL2Nh
bGwtaW4tcHJvdG90eXBlLWluZGV4LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAxOSBBbGV4ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtcHJveHktb2JqZWN0LWludGVybmFs
LW1ldGhvZHMtYW5kLWludGVybmFsLXNsb3RzLWhhc3Byb3BlcnR5LXAKK2Rlc2NyaXB0aW9uOiA+
CisgIE9yZGluYXJ5IFtbSGFzUHJvcGVydHldXSBmb3J3YXJkcyBjYWxsIHRvIFByb3h5ICJoYXMi
IHRyYXAgd2l0aCBjb3JyZWN0IGFyZ3VtZW50cy4KKyAgKGludGVnZXIgaW5kZXggcHJvcGVydHkg
bmFtZSkKK2luZm86IHwKKyAgT3JkaW5hcnlIYXNQcm9wZXJ0eSAoIE8sIFAgKQorCisgIC4uLgor
ICA0LiBMZXQgcGFyZW50IGJlID8gTy5bW0dldFByb3RvdHlwZU9mXV0oKS4KKyAgNS4gSWYgcGFy
ZW50IGlzIG5vdCBudWxsLCB0aGVuCisgICAgYS4gUmV0dXJuID8gcGFyZW50LltbSGFzUHJvcGVy
dHldXShQKS4KKworICBbW0hhc1Byb3BlcnR5XV0gKCBQICkKKworICAuLi4KKyAgOC4gTGV0IGJv
b2xlYW5UcmFwUmVzdWx0IGJlICEgVG9Cb29sZWFuKD8gQ2FsbCh0cmFwLCBoYW5kbGVyLCDCqyB0
YXJnZXQsIFAgwrspKS4KKyAgLi4uCisgIDEwLiBSZXR1cm4gYm9vbGVhblRyYXBSZXN1bHQuCitp
bmNsdWRlczogW3Byb3h5VHJhcHNIZWxwZXIuanNdCitmZWF0dXJlczogW1Byb3h5XQorLS0tKi8K
KwordmFyIF9oYW5kbGVyLCBfdGFyZ2V0LCBfcHJvcDsKK3ZhciBwcm90byA9IFsxNF07Cit2YXIg
dGFyZ2V0ID0gT2JqZWN0LmNyZWF0ZShwcm90byk7Cit2YXIgaGFuZGxlciA9IGFsbG93UHJveHlU
cmFwcyh7CisgIGhhczogZnVuY3Rpb24odGFyZ2V0LCBwcm9wKSB7CisgICAgX2hhbmRsZXIgPSB0
aGlzOworICAgIF90YXJnZXQgPSB0YXJnZXQ7CisgICAgX3Byb3AgPSBwcm9wOworCisgICAgcmV0
dXJuIGZhbHNlOworICB9LAorfSk7Cit2YXIgcHJveHkgPSBuZXcgUHJveHkodGFyZ2V0LCBoYW5k
bGVyKTsKK3ZhciBhcnJheSA9IFtdOworT2JqZWN0LnNldFByb3RvdHlwZU9mKGFycmF5LCBwcm94
eSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoMSBpbiBhcnJheSwgZmFsc2UpOworYXNzZXJ0LnNhbWVW
YWx1ZShfaGFuZGxlciwgaGFuZGxlciwgJ2hhbmRsZXIgaXMgY29udGV4dCcpOworYXNzZXJ0LnNh
bWVWYWx1ZShfdGFyZ2V0LCB0YXJnZXQsICd0YXJnZXQgaXMgdGhlIGZpcnN0IHBhcmFtZXRlcicp
OworYXNzZXJ0LnNhbWVWYWx1ZShfcHJvcCwgJzEnLCAnZ2l2ZW4gcHJvcCBpcyB0aGUgc2Vjb25k
IHBhcmFtdGVyJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkv
aGFzL2NhbGwtaW4tcHJvdG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9Qcm94eS9oYXMvY2FsbC1pbi1wcm90b3R5cGUuanMJKHJldmlzaW9uIDI1
NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9oYXMvY2FsbC1p
bi1wcm90b3R5cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDggQEAgZmVhdHVyZXM6
IFtQcm94eV0KIC0tLSovCiAKIHZhciBfaGFuZGxlciwgX3RhcmdldCwgX3Byb3A7Ci12YXIgdGFy
Z2V0ID0ge307Cit2YXIgcHJvdG8gPSB7cHJvcDogMX07Cit2YXIgdGFyZ2V0ID0gT2JqZWN0LmNy
ZWF0ZShwcm90byk7CiB2YXIgaGFuZGxlciA9IGFsbG93UHJveHlUcmFwcyh7CiAgIGhhczogZnVu
Y3Rpb24odGFyZ2V0LCBwcm9wKSB7CiAgICAgX2hhbmRsZXIgPSB0aGlzOwpJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L293bktleXMvY2FsbC1wYXJhbWV0ZXJzLW9i
amVjdC1rZXlzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9Qcm94eS9vd25LZXlzL2NhbGwtcGFyYW1ldGVycy1vYmplY3Qta2V5cy5qcwkocmV2aXNpb24g
MjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L293bktleXMv
Y2FsbC1wYXJhbWV0ZXJzLW9iamVjdC1rZXlzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUs
NyBAQCBlc2lkOiBzZWMtcHJveHktb2JqZWN0LWludGVybmFsLW1ldGhvZHMtCiBkZXNjcmlwdGlv
bjogPgogICAgIFtbT3duUHJvcGVydHlLZXlzXV0gKCApCiAKLSAgICA4LiBMZXQgdHJhcFJlc3Vs
dEFycmF5IGJlIENhbGwodHJhcCwgaGFuZGxlciwgwqt0YXJnZXTCuykuCisgICAgNy4gTGV0IHRy
YXBSZXN1bHRBcnJheSBiZSA/IENhbGwodHJhcCwgaGFuZGxlciwgwqsgdGFyZ2V0IMK7KS4KIGZl
YXR1cmVzOiBbUHJveHldCiAtLS0qLwogCkBAIC0xOCwxMiArMTgsMTIgQEAgdmFyIGhhbmRsZXIg
PSB7CiAgIG93bktleXM6IGZ1bmN0aW9uKHQpIHsKICAgICBfaGFuZGxlciA9IHRoaXM7CiAgICAg
X3RhcmdldCA9IHQ7Ci0gICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpOwor
ICAgIHJldHVybiBPYmplY3Qua2V5cyh0KTsKICAgfQogfTsKIHZhciBwID0gbmV3IFByb3h5KHRh
cmdldCwgaGFuZGxlcik7CiAKLXZhciBrZXlzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMo
cCk7Cit2YXIga2V5cyA9IE9iamVjdC5rZXlzKHApOwogCiBhc3NlcnQuc2FtZVZhbHVlKGtleXNb
MF0sICJmb28iKTsKIGFzc2VydC5zYW1lVmFsdWUoa2V5c1sxXSwgImJhciIpOwpJbmRleDogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L3NldC9jYWxsLXBhcmFtZXRlcnMtcHJv
dG90eXBlLWluZGV4LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9Qcm94eS9zZXQvY2FsbC1wYXJhbWV0ZXJzLXByb3RvdHlwZS1pbmRleC5qcwkobm9uZXhp
c3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvc2V0L2NhbGwt
cGFyYW1ldGVycy1wcm90b3R5cGUtaW5kZXguanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
NSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1wcm94eS1vYmplY3QtaW50
ZXJuYWwtbWV0aG9kcy1hbmQtaW50ZXJuYWwtc2xvdHMtc2V0LXAtdi1yZWNlaXZlcgorZGVzY3Jp
cHRpb246ID4KKyAgT3JkaW5hcnkgW1tTZXRdXSBmb3J3YXJkcyBjYWxsIHRvIFByb3h5ICJzZXQi
IHRyYXAgd2l0aCBjb3JyZWN0IGFyZ3VtZW50cy4KKyAgKGludGVnZXIgaW5kZXggcHJvcGVydHkg
bmFtZSkKK2luZm86IHwKKyAgT3JkaW5hcnlTZXQgKCBPLCBQLCBWLCBSZWNlaXZlciApCisKKyAg
Li4uCisgIDMuIFJldHVybiBPcmRpbmFyeVNldFdpdGhPd25EZXNjcmlwdG9yKE8sIFAsIFYsIFJl
Y2VpdmVyLCBvd25EZXNjKS4KKworICBPcmRpbmFyeVNldFdpdGhPd25EZXNjcmlwdG9yICggTywg
UCwgViwgUmVjZWl2ZXIsIG93bkRlc2MgKQorCisgIC4uLgorICAyLiBJZiBvd25EZXNjIGlzIHVu
ZGVmaW5lZCwgdGhlbgorICAgIGEuIExldCBwYXJlbnQgYmUgPyBPLltbR2V0UHJvdG90eXBlT2Zd
XSgpLgorICAgIGIuIElmIHBhcmVudCBpcyBub3QgbnVsbCwgdGhlbgorICAgICAgaS4gUmV0dXJu
ID8gcGFyZW50LltbU2V0XV0oUCwgViwgUmVjZWl2ZXIpLgorCisgIFtbU2V0XV0gKCBQLCBWLCBS
ZWNlaXZlciApCisKKyAgLi4uCisgIDguIExldCBib29sZWFuVHJhcFJlc3VsdCBiZSAhIFRvQm9v
bGVhbig/IENhbGwodHJhcCwgaGFuZGxlciwgwqsgdGFyZ2V0LCBQLCBWLCBSZWNlaXZlciDCuykp
LgorICAuLi4KKyAgMTIuIFJldHVybiB0cnVlLgoraW5jbHVkZXM6IFtwcm94eVRyYXBzSGVscGVy
LmpzXQorZmVhdHVyZXM6IFtQcm94eV0KKy0tLSovCisKK3ZhciBfaGFuZGxlciwgX3RhcmdldCwg
X3Byb3AsIF92YWx1ZSwgX3JlY2VpdmVyOwordmFyIHRhcmdldCA9IHt9OwordmFyIGhhbmRsZXIg
PSBhbGxvd1Byb3h5VHJhcHMoeworICBzZXQ6IGZ1bmN0aW9uKHRhcmdldCwgcHJvcCwgdmFsdWUs
IHJlY2VpdmVyKSB7CisgICAgX2hhbmRsZXIgPSB0aGlzOworICAgIF90YXJnZXQgPSB0YXJnZXQ7
CisgICAgX3Byb3AgPSBwcm9wOworICAgIF92YWx1ZSA9IHZhbHVlOworICAgIF9yZWNlaXZlciA9
IHJlY2VpdmVyOworICAgIHJldHVybiB0cnVlOworICB9LAorfSk7CisKK3ZhciBwcm94eSA9IG5l
dyBQcm94eSh0YXJnZXQsIGhhbmRsZXIpOwordmFyIGFycmF5ID0gbmV3IEFycmF5KDEpOworT2Jq
ZWN0LnNldFByb3RvdHlwZU9mKGFycmF5LCBwcm94eSk7CisKK2FycmF5WzBdID0gMTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZShfaGFuZGxlciwgaGFuZGxlciwgJ2hhbmRsZXIgb2JqZWN0IGlzIHRoZSB0
cmFwIGNvbnRleHQnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX3RhcmdldCwgdGFyZ2V0LCAnZmlyc3Qg
YXJndW1lbnQgaXMgdGhlIHRhcmdldCBvYmplY3QnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX3Byb3As
ICcwJywgJ3NlY29uZCBhcmd1bWVudCBpcyB0aGUgcHJvcGVydHkgbmFtZScpOworYXNzZXJ0LnNh
bWVWYWx1ZShfdmFsdWUsIDEsICd0aGlyZCBhcmd1bWVudCBpcyB0aGUgbmV3IHZhbHVlJyk7Cith
c3NlcnQuc2FtZVZhbHVlKF9yZWNlaXZlciwgYXJyYXksICdmb3VydGggYXJndW1lbnQgaXMgdGhl
IHJlY2VpdmVyIG9iamVjdCcpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZmxlY3QvcHJldmVudEV4dGVuc2lvbnMvdGFyZ2V0LWlzLW5vdC1vYmplY3QtdGhyb3dzLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L3By
ZXZlbnRFeHRlbnNpb25zL3RhcmdldC1pcy1ub3Qtb2JqZWN0LXRocm93cy5qcwkocmV2aXNpb24g
MjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZmxlY3QvcHJldmVu
dEV4dGVuc2lvbnMvdGFyZ2V0LWlzLW5vdC1vYmplY3QtdGhyb3dzLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC01LDcgKzUsNyBAQCBlczZpZDogMjYuMS4xMAogZGVzY3JpcHRpb246ID4KICAgVGhyb3dz
IGEgVHlwZUVycm9yIGlmIHRhcmdldCBpcyBub3QgYW4gT2JqZWN0LgogaW5mbzogfAotICAyNi4x
LjEwIFJlZmxlY3QuaXNFeHRlbnNpYmxlICh0YXJnZXQpCisgIDI2LjEuMTEgUmVmbGVjdC5wcmV2
ZW50RXh0ZW5zaW9ucyAoIHRhcmdldCApCiAKICAgMS4gSWYgVHlwZSh0YXJnZXQpIGlzIG5vdCBP
YmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICAgLi4uCkBAIC0xMywxNyArMTMs
MTcgQEAgZmVhdHVyZXM6IFtSZWZsZWN0XQogLS0tKi8KIAogYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsIGZ1bmN0aW9uKCkgewotICBSZWZsZWN0LmlzRXh0ZW5zaWJsZSgxKTsKKyAgUmVmbGVjdC5w
cmV2ZW50RXh0ZW5zaW9ucygxKTsKIH0pOwogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7Ci0gIFJlZmxlY3QuaXNFeHRlbnNpYmxlKG51bGwpOworICBSZWZsZWN0LnByZXZl
bnRFeHRlbnNpb25zKG51bGwpOwogfSk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5j
dGlvbigpIHsKLSAgUmVmbGVjdC5pc0V4dGVuc2libGUodW5kZWZpbmVkKTsKKyAgUmVmbGVjdC5w
cmV2ZW50RXh0ZW5zaW9ucyh1bmRlZmluZWQpOwogfSk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCBmdW5jdGlvbigpIHsKLSAgUmVmbGVjdC5pc0V4dGVuc2libGUoJycpOworICBSZWZsZWN0
LnByZXZlbnRFeHRlbnNpb25zKCcnKTsKIH0pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktZWxlbWVudC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNo
LWluZGljZXMvaW5kaWNlcy1hcnJheS1lbGVtZW50LmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNl
cy1hcnJheS1lbGVtZW50LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI3ICsxLDI3IEBACi0vLyBD
b3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi0vLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuDQotDQotLyotLS0NCi1kZXNjcmlwdGlvbjogQSBtYXRjaGluZyBlbGVtZW50IG9mIGlu
ZGljZXMgaXMgYW4gQXJyYXkgd2l0aCBleGFjdGx5IHR3byBudW1iZXIgcHJvcGVydGllcy4NCi1l
c2lkOiBzZWMtZ2V0bWF0Y2hpbmRpY2VzYXJyYXkNCi1mZWF0dXJlczogW3JlZ2V4cC1tYXRjaC1p
bmRpY2VzXQ0KLWluZm86IHwNCi0gIEdldE1hdGNoSW5kaWNlc0FycmF5ICggUywgbWF0Y2ggKQ0K
LSAgICA1LiBSZXR1cm4gQ3JlYXRlQXJyYXlGcm9tTGlzdCjCqyBfbWF0Y2hfLltbU3RhcnRJbmRl
eF1dLCBfbWF0Y2hfLltbRW5kSW5kZXhdXSDCuykuDQotLS0tKi8NCi0NCi1sZXQgaW5wdXQgPSAi
YWJjZCI7DQotbGV0IG1hdGNoID0gL2IoYykvLmV4ZWMoaW5wdXQpOw0KLWxldCBpbmRpY2VzID0g
bWF0Y2guaW5kaWNlczsNCi0NCi0vLyBgaW5kaWNlc1swXWAgaXMgYW4gYXJyYXkNCi1hc3NlcnQu
c2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihpbmRpY2VzWzBdKSwgQXJyYXkucHJvdG90
eXBlKTsNCi1hc3NlcnQuc2FtZVZhbHVlKGluZGljZXNbMF0ubGVuZ3RoLCAyKTsNCi1hc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiBpbmRpY2VzWzBdWzBdLCAibnVtYmVyIik7DQotYXNzZXJ0LnNhbWVW
YWx1ZSh0eXBlb2YgaW5kaWNlc1swXVsxXSwgIm51bWJlciIpOw0KLQ0KLS8vIGBpbmRpY2VzWzFd
YCBpcyBhbiBhcnJheQ0KLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKGlu
ZGljZXNbMV0pLCBBcnJheS5wcm90b3R5cGUpOw0KLWFzc2VydC5zYW1lVmFsdWUoaW5kaWNlc1sx
XS5sZW5ndGgsIDIpOw0KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIGluZGljZXNbMV1bMF0sICJu
dW1iZXIiKTsNCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBpbmRpY2VzWzFdWzFdLCAibnVtYmVy
Iik7DQorLy8gQ29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitkZXNjcmlwdGlvbjogQSBtYXRjaGluZyBlbGVtZW50
IG9mIGluZGljZXMgaXMgYW4gQXJyYXkgd2l0aCBleGFjdGx5IHR3byBudW1iZXIgcHJvcGVydGll
cy4KK2VzaWQ6IHNlYy1nZXRtYXRjaGluZGljZXNhcnJheQorZmVhdHVyZXM6IFtyZWdleHAtbWF0
Y2gtaW5kaWNlc10KK2luZm86IHwKKyAgR2V0TWF0Y2hJbmRpY2VzQXJyYXkgKCBTLCBtYXRjaCAp
CisgICAgNS4gUmV0dXJuIENyZWF0ZUFycmF5RnJvbUxpc3QowqsgX21hdGNoXy5bW1N0YXJ0SW5k
ZXhdXSwgX21hdGNoXy5bW0VuZEluZGV4XV0gwrspLgorLS0tKi8KKworbGV0IGlucHV0ID0gImFi
Y2QiOworbGV0IG1hdGNoID0gL2IoYykvLmV4ZWMoaW5wdXQpOworbGV0IGluZGljZXMgPSBtYXRj
aC5pbmRpY2VzOworCisvLyBgaW5kaWNlc1swXWAgaXMgYW4gYXJyYXkKK2Fzc2VydC5zYW1lVmFs
dWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKGluZGljZXNbMF0pLCBBcnJheS5wcm90b3R5cGUpOwor
YXNzZXJ0LnNhbWVWYWx1ZShpbmRpY2VzWzBdLmxlbmd0aCwgMik7Cithc3NlcnQuc2FtZVZhbHVl
KHR5cGVvZiBpbmRpY2VzWzBdWzBdLCAibnVtYmVyIik7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVv
ZiBpbmRpY2VzWzBdWzFdLCAibnVtYmVyIik7CisKKy8vIGBpbmRpY2VzWzFdYCBpcyBhbiBhcnJh
eQorYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5kaWNlc1sxXSksIEFy
cmF5LnByb3RvdHlwZSk7Cithc3NlcnQuc2FtZVZhbHVlKGluZGljZXNbMV0ubGVuZ3RoLCAyKTsK
K2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIGluZGljZXNbMV1bMF0sICJudW1iZXIiKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIGluZGljZXNbMV1bMV0sICJudW1iZXIiKTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFy
cmF5LW1hdGNoZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktbWF0Y2hlZC5qcwkocmV2aXNp
b24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRj
aC1pbmRpY2VzL2luZGljZXMtYXJyYXktbWF0Y2hlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwz
OCArMSwzOCBAQAotLy8gQ29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuDQotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLg0KLQ0KLS8qLS0tDQotZGVzY3JpcHRpb246IFRoZSBwcm9w
ZXJ0aWVzIG9mIHRoZSAiaW5kaWNlcyIgYXJyYXkgY29ycmVzcG9uZCB0byB0aGUgc3RhcnQvZW5k
IGluZGljZXMgb2YgdGhlIHNhbWUgdmFsdWVzIGluIHRoZSBtYXRjaC4NCi1pbmNsdWRlczogW2Nv
bXBhcmVBcnJheS5qc10NCi1lc2lkOiBzZWMtbWFrZWluZGljZXNhcnJheQ0KLWZlYXR1cmVzOiBb
cmVnZXhwLW1hdGNoLWluZGljZXNdDQotaW5mbzogfA0KLSAgTWFrZUluZGljZXNBcnJheSAoIFMs
IGluZGljZXMsIGdyb3VwTmFtZXMgKQ0KLSAgICA0LiBMZXQgX25fIGJlIHRoZSBudW1iZXIgb2Yg
ZWxlbWVudHMgaW4gX2luZGljZXNfLg0KLSAgICAuLi4NCi0gICAgNi4gU2V0IF9BXyB0byAhIEFy
cmF5Q3JlYXRlKF9uXykuDQotICAgIC4uLg0KLSAgICAxMS4gRm9yIGVhY2ggaW50ZWdlciBfaV8g
c3VjaCB0aGF0IF9pXyA+PSAwIGFuZCBfaV8gPCBfbl8sIGRvDQotICAgICAgYS4gTGV0IF9tYXRj
aEluZGljZXNfIGJlIF9pbmRpY2VzX1tfaV9dLg0KLSAgICAgIGIuIElmIF9tYXRjaEluZGljZXNf
IGlzIG5vdCAqdW5kZWZpbmVkKiwgdGhlbg0KLSAgICAgICAgaS4gTGV0IF9tYXRjaEluZGljZXNB
cnJheV8gYmUgISBHZXRNYXRjaEluZGljZXNBcnJheShfU18sIF9tYXRjaEluZGljZXNfKS4NCi0g
ICAgICBjLiBFbHNlLA0KLSAgICAgICAgaS4gTGV0IF9tYXRjaEluZGljZXNBcnJheV8gYmUgKnVu
ZGVmaW5lZCouDQotICAgICAgZC4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eShfQV8sICEg
VG9TdHJpbmcoX25fKSwgX21hdGNoSW5kaWNlc0FycmF5XykuDQotICAgICAgICAuLi4NCi0tLS0q
Lw0KLQ0KLWxldCBpbnB1dCA9ICJhYmNkIjsNCi1sZXQgbWF0Y2ggPSAvYihjKS8uZXhlYyhpbnB1
dCk7DQotbGV0IGluZGljZXMgPSBtYXRjaC5pbmRpY2VzOw0KLQ0KLS8vIGBpbmRpY2VzYCBoYXMg
dGhlIHNhbWUgbGVuZ3RoIGFzIG1hdGNoDQotYXNzZXJ0LnNhbWVWYWx1ZShpbmRpY2VzLmxlbmd0
aCwgbWF0Y2gubGVuZ3RoKTsNCi0NCi0vLyBUaGUgZmlyc3QgZWxlbWVudCBvZiBgaW5kaWNlc2Ag
Y29udGFpbnMgdGhlIHN0YXJ0L2VuZCBpbmRpY2VzIG9mIHRoZSBtYXRjaA0KLWFzc2VydC5jb21w
YXJlQXJyYXkoaW5kaWNlc1swXSwgWzEsIDNdKTsNCi1hc3NlcnQuc2FtZVZhbHVlKGlucHV0LnNs
aWNlKGluZGljZXNbMF1bMF0sIGluZGljZXNbMF1bMV0pLCBtYXRjaFswXSk7DQotDQotLy8gVGhl
IHNlY29uZCBlbGVtZW50IG9mIGBpbmRpY2VzYCBjb250YWlucyB0aGUgc3RhcnQvZW5kIGluZGlj
ZXMgb2YgdGhlIGZpcnN0IGNhcHR1cmUNCi1hc3NlcnQuY29tcGFyZUFycmF5KGluZGljZXNbMV0s
IFsyLCAzXSk7DQotYXNzZXJ0LnNhbWVWYWx1ZShpbnB1dC5zbGljZShpbmRpY2VzWzFdWzBdLCBp
bmRpY2VzWzFdWzFdKSwgbWF0Y2hbMV0pOw0KKy8vIENvcHlyaWdodCAyMDE5IFJvbiBCdWNrdG9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZGVzY3JpcHRp
b246IFRoZSBwcm9wZXJ0aWVzIG9mIHRoZSAiaW5kaWNlcyIgYXJyYXkgY29ycmVzcG9uZCB0byB0
aGUgc3RhcnQvZW5kIGluZGljZXMgb2YgdGhlIHNhbWUgdmFsdWVzIGluIHRoZSBtYXRjaC4KK2lu
Y2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQorZXNpZDogc2VjLW1ha2VpbmRpY2VzYXJyYXkKK2Zl
YXR1cmVzOiBbcmVnZXhwLW1hdGNoLWluZGljZXNdCitpbmZvOiB8CisgIE1ha2VJbmRpY2VzQXJy
YXkgKCBTLCBpbmRpY2VzLCBncm91cE5hbWVzICkKKyAgICA0LiBMZXQgX25fIGJlIHRoZSBudW1i
ZXIgb2YgZWxlbWVudHMgaW4gX2luZGljZXNfLgorICAgIC4uLgorICAgIDYuIFNldCBfQV8gdG8g
ISBBcnJheUNyZWF0ZShfbl8pLgorICAgIC4uLgorICAgIDExLiBGb3IgZWFjaCBpbnRlZ2VyIF9p
XyBzdWNoIHRoYXQgX2lfID49IDAgYW5kIF9pXyA8IF9uXywgZG8KKyAgICAgIGEuIExldCBfbWF0
Y2hJbmRpY2VzXyBiZSBfaW5kaWNlc19bX2lfXS4KKyAgICAgIGIuIElmIF9tYXRjaEluZGljZXNf
IGlzIG5vdCAqdW5kZWZpbmVkKiwgdGhlbgorICAgICAgICBpLiBMZXQgX21hdGNoSW5kaWNlc0Fy
cmF5XyBiZSAhIEdldE1hdGNoSW5kaWNlc0FycmF5KF9TXywgX21hdGNoSW5kaWNlc18pLgorICAg
ICAgYy4gRWxzZSwKKyAgICAgICAgaS4gTGV0IF9tYXRjaEluZGljZXNBcnJheV8gYmUgKnVuZGVm
aW5lZCouCisgICAgICBkLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5KF9BXywgISBUb1N0
cmluZyhfbl8pLCBfbWF0Y2hJbmRpY2VzQXJyYXlfKS4KKyAgICAgICAgLi4uCistLS0qLworCits
ZXQgaW5wdXQgPSAiYWJjZCI7CitsZXQgbWF0Y2ggPSAvYihjKS8uZXhlYyhpbnB1dCk7CitsZXQg
aW5kaWNlcyA9IG1hdGNoLmluZGljZXM7CisKKy8vIGBpbmRpY2VzYCBoYXMgdGhlIHNhbWUgbGVu
Z3RoIGFzIG1hdGNoCithc3NlcnQuc2FtZVZhbHVlKGluZGljZXMubGVuZ3RoLCBtYXRjaC5sZW5n
dGgpOworCisvLyBUaGUgZmlyc3QgZWxlbWVudCBvZiBgaW5kaWNlc2AgY29udGFpbnMgdGhlIHN0
YXJ0L2VuZCBpbmRpY2VzIG9mIHRoZSBtYXRjaAorYXNzZXJ0LmNvbXBhcmVBcnJheShpbmRpY2Vz
WzBdLCBbMSwgM10pOworYXNzZXJ0LnNhbWVWYWx1ZShpbnB1dC5zbGljZShpbmRpY2VzWzBdWzBd
LCBpbmRpY2VzWzBdWzFdKSwgbWF0Y2hbMF0pOworCisvLyBUaGUgc2Vjb25kIGVsZW1lbnQgb2Yg
YGluZGljZXNgIGNvbnRhaW5zIHRoZSBzdGFydC9lbmQgaW5kaWNlcyBvZiB0aGUgZmlyc3QgY2Fw
dHVyZQorYXNzZXJ0LmNvbXBhcmVBcnJheShpbmRpY2VzWzFdLCBbMiwgM10pOworYXNzZXJ0LnNh
bWVWYWx1ZShpbnB1dC5zbGljZShpbmRpY2VzWzFdWzBdLCBpbmRpY2VzWzFdWzFdKSwgbWF0Y2hb
MV0pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1p
bmRpY2VzL2luZGljZXMtYXJyYXktbm9uLXVuaWNvZGUtbWF0Y2guanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGlj
ZXMtYXJyYXktbm9uLXVuaWNvZGUtbWF0Y2guanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFy
cmF5LW5vbi11bmljb2RlLW1hdGNoLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDc1ICsxLDc1IEBA
Ci0vLyBDb3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi0v
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuDQotDQotLyotLS0NCi1kZXNjcmlwdGlvbjogQmFzaWMgbWF0Y2hpbmcgY2Fz
ZXMgd2l0aCBub24tdW5pY29kZSBtYXRjaGVzLg0KLWluY2x1ZGVzOiBbY29tcGFyZUFycmF5Lmpz
LCBwcm9wZXJ0eUhlbHBlci5qcywgZGVlcEVxdWFsLmpzXQ0KLWVzaWQ6IHNlYy1yZWdleHBidWls
dGluZXhlYw0KLWZlYXR1cmVzOiBbcmVnZXhwLW1hdGNoLWluZGljZXNdDQotaW5mbzogfA0KLSAg
UnVudGltZSBTZW1hbnRpY3M6IFJlZ0V4cEJ1aWx0aW5FeGVjICggUiwgUyApDQotICAgIC4uLg0K
LSAgICA0LiBMZXQgX2xhc3RJbmRleF8gYmUgPyBUb0xlbmd0aCg/IEdldChfUl8sIGAibGFzdElu
ZGV4IikpLg0KLSAgICAuLi4NCi0gICAgMjUuIExldCBfaW5kaWNlc18gYmUgYSBuZXcgZW1wdHkg
TGlzdC4NCi0gICAgMjYuIExldCBfbWF0Y2hfIGJlIHRoZSBNYXRjaCB7IFtbU3RhcnRJbmRleF1d
OiBfbGFzdEluZGV4XywgW1tFbmRJbmRleF1dOiBfZV8gfS4NCi0gICAgMjcuIEFkZCBfbWF0Y2hf
IGFzIHRoZSBsYXN0IGVsZW1lbnQgb2YgX2luZGljZXNfLg0KLSAgICAuLi4NCi0gICAgMzMuIEZv
ciBlYWNoIGludGVnZXIgX2lfIHN1Y2ggdGhhdCBfaV8gPiAwIGFuZCBfaV8gPD0gX25fLCBpbiBh
c2NlbmRpbmcgb3JkZXIsIGRvDQotICAgICAgLi4uDQotICAgICAgZi4gRWxzZSwNCi0gICAgICAg
IGkuIExldCBfY2FwdHVyZVN0YXJ0XyBiZSBfY2FwdHVyZUlfJ3MgX3N0YXJ0SW5kZXhfLg0KLSAg
ICAgICAgaWkuIExldCBfY2FwdHVyZUVuZF8gYmUgX2NhcHR1cmVJXydzIF9lbmRJbmRleF8uDQot
ICAgICAgICAuLi4NCi0gICAgICAgIGl2LiBMZXQgX2NhcHR1cmVfIGJlIHRoZSBNYXRjaCAgeyBb
W1N0YXJ0SW5kZXhdXTogX2NhcHR1cmVTdGFydF8sIFtbRW5kSW5kZXhdXTogX2NhcHR1cmVFbmRf
IH0uDQotICAgICAgICB2LiBBcHBlbmQgX2NhcHR1cmVfIHRvIF9pbmRpY2VzXy4NCi0gICAgICAg
IC4uLg0KLSAgICAzNC4gTGV0IF9pbmRpY2VzQXJyYXlfIGJlIE1ha2VJbmRpY2VzQXJyYXkoIF9T
XywgX2luZGljZXNfLCBfZ3JvdXBOYW1lc18pLg0KLS0tLSovDQotDQotYXNzZXJ0LmRlZXBFcXVh
bChbWzEsIDJdLCBbMSwgMl1dLCAiYmFiIi5tYXRjaCgvKGEpLykuaW5kaWNlcyk7DQotYXNzZXJ0
LmRlZXBFcXVhbChbWzAsIDNdLCBbMSwgMl1dLCAiYmFiIi5tYXRjaCgvLihhKS4vKS5pbmRpY2Vz
KTsNCi1hc3NlcnQuZGVlcEVxdWFsKFtbMCwgM10sIFsxLCAyXSwgWzIsIDNdXSwgImJhYiIubWF0
Y2goLy4oYSkoLikvKS5pbmRpY2VzKTsNCi1hc3NlcnQuZGVlcEVxdWFsKFtbMCwgM10sIFsxLCAz
XV0sICJiYWIiLm1hdGNoKC8uKFx3XHcpLykuaW5kaWNlcyk7DQotYXNzZXJ0LmRlZXBFcXVhbChb
WzAsIDNdLCBbMCwgM11dLCAiYmFiIi5tYXRjaCgvKFx3XHdcdykvKS5pbmRpY2VzKTsNCi1hc3Nl
cnQuZGVlcEVxdWFsKFtbMCwgM10sIFswLCAyXSwgWzIsIDNdXSwgImJhYiIubWF0Y2goLyhcd1x3
KShcdykvKS5pbmRpY2VzKTsNCi1hc3NlcnQuZGVlcEVxdWFsKFtbMCwgMl0sIFswLCAyXSwgdW5k
ZWZpbmVkXSwgImJhYiIubWF0Y2goLyhcd1x3KShcVyk/LykuaW5kaWNlcyk7DQotDQotbGV0IGdy
b3VwcyA9IC8oPzxhPi4pKD88Yj4uKSg/PGM+LilcazxjPlxrPGI+XGs8YT4vLmV4ZWMoImFiY2Ni
YSIpLmluZGljZXMuZ3JvdXBzOw0KLWFzc2VydC5jb21wYXJlQXJyYXkoWzAsIDFdLCBncm91cHMu
YSk7DQotYXNzZXJ0LmNvbXBhcmVBcnJheShbMSwgMl0sIGdyb3Vwcy5iKTsNCi1hc3NlcnQuY29t
cGFyZUFycmF5KFsyLCAzXSwgZ3JvdXBzLmMpOw0KLXZlcmlmeVByb3BlcnR5KGdyb3VwcywgImEi
LCB7DQotICAgIGVudW1lcmFibGU6IHRydWUsDQotICAgIHdyaXRhYmxlOiB0cnVlLA0KLSAgICBj
b25maWd1cmFibGU6IHRydWUNCi19KTsNCi12ZXJpZnlQcm9wZXJ0eShncm91cHMsICJiIiwgew0K
LSAgICBlbnVtZXJhYmxlOiB0cnVlLA0KLSAgICB3cml0YWJsZTogdHJ1ZSwNCi0gICAgY29uZmln
dXJhYmxlOiB0cnVlDQotfSk7DQotdmVyaWZ5UHJvcGVydHkoZ3JvdXBzLCAiYyIsIHsNCi0gICAg
ZW51bWVyYWJsZTogdHJ1ZSwNCi0gICAgd3JpdGFibGU6IHRydWUsDQotICAgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZQ0KLX0pOw0KLQ0KLS8vICLwnZCBIiBpcyBVKzFkNDAxIE1BVEhFTUFUSUNBTCBCT0xE
IENBUElUQUwgQg0KLS8vIC0gQWxzbyByZXByZXNlbnRhYmxlIGFzIHRoZSBjb2RlIHBvaW50ICJc
dXsxZDQwMX0iDQotLy8gLSBBbHNvIHJlcHJlc2VudGFibGUgYXMgdGhlIHN1cnJvZ2F0ZSBwYWly
ICJcdUQ4MzVcdURDMDEiDQotDQotLy8gVmVyaWZ5IGFzc3VtcHRpb25zOg0KLWFzc2VydC5zYW1l
VmFsdWUoIvCdkIEiLmxlbmd0aCwgMiwgJ1RoZSBsZW5ndGggb2YgIvCdkIEiIGlzIDInKTsNCi1h
c3NlcnQuc2FtZVZhbHVlKCJcdXsxZDQwMX0iLmxlbmd0aCwgMiwgJ1RoZSBsZW5ndGggb2YgIlxc
dXsxZDQwMX0iIGlzIDInKTsNCi1hc3NlcnQuc2FtZVZhbHVlKCJcdUQ4MzVcdURDMDEiLmxlbmd0
aCwgMiwgJ1RoZSBsZW5ndGggb2YgIlxcdUQ4MzVcXHVEQzAxIiBpcyAyJyk7DQotYXNzZXJ0LnNh
bWVWYWx1ZSgi8J2QgSIubWF0Y2goLy4vKVswXS5sZW5ndGgsIDEsICdUaGUgbGVuZ3RoIG9mIGEg
c2luZ2xlIGNvZGUgdW5pdCBtYXRjaCBhZ2FpbnN0ICLwnZCBIiBpcyAxICh3aXRob3V0IC91IGZs
YWcpJyk7DQotYXNzZXJ0LnNhbWVWYWx1ZSgiXHV7MWQ0MDF9Ii5tYXRjaCgvLi8pWzBdLmxlbmd0
aCwgMSwgJ1RoZSBsZW5ndGggb2YgYSBzaW5nbGUgY29kZSB1bml0IG1hdGNoIGFnYWluc3QgIlxc
dXsxZDQwMX0iIGlzIDEgKHdpdGhvdXQgL3UgZmxhZyknKTsNCi1hc3NlcnQuc2FtZVZhbHVlKCJc
dUQ4MzVcdURDMDEiLm1hdGNoKC8uLylbMF0ubGVuZ3RoLCAxLCAnVGhlIGxlbmd0aCBvZiBhIHNp
bmdsZSBjb2RlIHVuaXQgbWF0Y2ggYWdhaW5zdCAiXFx1ZDgzNVxcdWRjMDEiIGlzIDEgKHdpdGhv
dXQgL3UgZmxhZyknKTsNCi0NCi1hc3NlcnQuY29tcGFyZUFycmF5KFswLCAxXSwgIvCdkIEiLm1h
dGNoKC8uLykuaW5kaWNlc1swXSwgJ0luZGljZXMgZm9yIG5vbi11bmljb2RlIG1hdGNoIGFnYWlu
c3QgIvCdkIEiICh3aXRob3V0IC91IGZsYWcpJyk7DQotYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwg
MV0sICJcdXsxZDQwMX0iLm1hdGNoKC8uLykuaW5kaWNlc1swXSwgJ0luZGljZXMgZm9yIG5vbi11
bmljb2RlIG1hdGNoIGFnYWluc3QgIlxcdXsxZDQwMX0iICh3aXRob3V0IC91IGZsYWcpJyk7DQot
YXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMV0sICJcdUQ4MzVcdURDMDEiLm1hdGNoKC8uLykuaW5k
aWNlc1swXSwgJ0luZGljZXMgZm9yIG5vbi11bmljb2RlIG1hdGNoIGFnYWluc3QgIlxcdWQ4MzVc
XHVkYzAxIiAod2l0aG91dCAvdSBmbGFnKScpOw0KLWFzc2VydC5jb21wYXJlQXJyYXkoWzAsIDFd
LCAi8J2QgSIubWF0Y2goLyg/PGE+LikvKS5pbmRpY2VzLmdyb3Vwcy5hLCAnSW5kaWNlcyBmb3Ig
bm9uLXVuaWNvZGUgbWF0Y2ggYWdhaW5zdCAi8J2QgSIgaW4gZ3JvdXBzLmEgKHdpdGhvdXQgL3Ug
ZmxhZyknKTsNCi1hc3NlcnQuY29tcGFyZUFycmF5KFswLCAxXSwgIlx1ezFkNDAxfSIubWF0Y2go
Lyg/PGE+LikvKS5pbmRpY2VzLmdyb3Vwcy5hLCAnSW5kaWNlcyBmb3Igbm9uLXVuaWNvZGUgbWF0
Y2ggYWdhaW5zdCAiXFx1ezFkNDAxfSIgaW4gZ3JvdXBzLmEgKHdpdGhvdXQgL3UgZmxhZyknKTsN
Ci1hc3NlcnQuY29tcGFyZUFycmF5KFswLCAxXSwgIlx1RDgzNVx1REMwMSIubWF0Y2goLyg/PGE+
LikvKS5pbmRpY2VzLmdyb3Vwcy5hLCAnSW5kaWNlcyBmb3Igbm9uLXVuaWNvZGUgbWF0Y2ggYWdh
aW5zdCAiXFx1ZDgzNVxcdWRjMDEiIGluIGdyb3Vwcy5hICh3aXRob3V0IC91IGZsYWcpJyk7DQor
Ly8gQ29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitkZXNjcmlwdGlvbjogQmFzaWMgbWF0Y2hpbmcgY2FzZXMgd2l0
aCBub24tdW5pY29kZSBtYXRjaGVzLgoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanMsIHByb3Bl
cnR5SGVscGVyLmpzLCBkZWVwRXF1YWwuanNdCitlc2lkOiBzZWMtcmVnZXhwYnVpbHRpbmV4ZWMK
K2ZlYXR1cmVzOiBbcmVnZXhwLW1hdGNoLWluZGljZXNdCitpbmZvOiB8CisgIFJ1bnRpbWUgU2Vt
YW50aWNzOiBSZWdFeHBCdWlsdGluRXhlYyAoIFIsIFMgKQorICAgIC4uLgorICAgIDQuIExldCBf
bGFzdEluZGV4XyBiZSA/IFRvTGVuZ3RoKD8gR2V0KF9SXywgYCJsYXN0SW5kZXgiKSkuCisgICAg
Li4uCisgICAgMjUuIExldCBfaW5kaWNlc18gYmUgYSBuZXcgZW1wdHkgTGlzdC4KKyAgICAyNi4g
TGV0IF9tYXRjaF8gYmUgdGhlIE1hdGNoIHsgW1tTdGFydEluZGV4XV06IF9sYXN0SW5kZXhfLCBb
W0VuZEluZGV4XV06IF9lXyB9LgorICAgIDI3LiBBZGQgX21hdGNoXyBhcyB0aGUgbGFzdCBlbGVt
ZW50IG9mIF9pbmRpY2VzXy4KKyAgICAuLi4KKyAgICAzMy4gRm9yIGVhY2ggaW50ZWdlciBfaV8g
c3VjaCB0aGF0IF9pXyA+IDAgYW5kIF9pXyA8PSBfbl8sIGluIGFzY2VuZGluZyBvcmRlciwgZG8K
KyAgICAgIC4uLgorICAgICAgZi4gRWxzZSwKKyAgICAgICAgaS4gTGV0IF9jYXB0dXJlU3RhcnRf
IGJlIF9jYXB0dXJlSV8ncyBfc3RhcnRJbmRleF8uCisgICAgICAgIGlpLiBMZXQgX2NhcHR1cmVF
bmRfIGJlIF9jYXB0dXJlSV8ncyBfZW5kSW5kZXhfLgorICAgICAgICAuLi4KKyAgICAgICAgaXYu
IExldCBfY2FwdHVyZV8gYmUgdGhlIE1hdGNoICB7IFtbU3RhcnRJbmRleF1dOiBfY2FwdHVyZVN0
YXJ0XywgW1tFbmRJbmRleF1dOiBfY2FwdHVyZUVuZF8gfS4KKyAgICAgICAgdi4gQXBwZW5kIF9j
YXB0dXJlXyB0byBfaW5kaWNlc18uCisgICAgICAgIC4uLgorICAgIDM0LiBMZXQgX2luZGljZXNB
cnJheV8gYmUgTWFrZUluZGljZXNBcnJheSggX1NfLCBfaW5kaWNlc18sIF9ncm91cE5hbWVzXyku
CistLS0qLworCithc3NlcnQuZGVlcEVxdWFsKFtbMSwgMl0sIFsxLCAyXV0sICJiYWIiLm1hdGNo
KC8oYSkvKS5pbmRpY2VzKTsKK2Fzc2VydC5kZWVwRXF1YWwoW1swLCAzXSwgWzEsIDJdXSwgImJh
YiIubWF0Y2goLy4oYSkuLykuaW5kaWNlcyk7Cithc3NlcnQuZGVlcEVxdWFsKFtbMCwgM10sIFsx
LCAyXSwgWzIsIDNdXSwgImJhYiIubWF0Y2goLy4oYSkoLikvKS5pbmRpY2VzKTsKK2Fzc2VydC5k
ZWVwRXF1YWwoW1swLCAzXSwgWzEsIDNdXSwgImJhYiIubWF0Y2goLy4oXHdcdykvKS5pbmRpY2Vz
KTsKK2Fzc2VydC5kZWVwRXF1YWwoW1swLCAzXSwgWzAsIDNdXSwgImJhYiIubWF0Y2goLyhcd1x3
XHcpLykuaW5kaWNlcyk7Cithc3NlcnQuZGVlcEVxdWFsKFtbMCwgM10sIFswLCAyXSwgWzIsIDNd
XSwgImJhYiIubWF0Y2goLyhcd1x3KShcdykvKS5pbmRpY2VzKTsKK2Fzc2VydC5kZWVwRXF1YWwo
W1swLCAyXSwgWzAsIDJdLCB1bmRlZmluZWRdLCAiYmFiIi5tYXRjaCgvKFx3XHcpKFxXKT8vKS5p
bmRpY2VzKTsKKworbGV0IGdyb3VwcyA9IC8oPzxhPi4pKD88Yj4uKSg/PGM+LilcazxjPlxrPGI+
XGs8YT4vLmV4ZWMoImFiY2NiYSIpLmluZGljZXMuZ3JvdXBzOworYXNzZXJ0LmNvbXBhcmVBcnJh
eShbMCwgMV0sIGdyb3Vwcy5hKTsKK2Fzc2VydC5jb21wYXJlQXJyYXkoWzEsIDJdLCBncm91cHMu
Yik7Cithc3NlcnQuY29tcGFyZUFycmF5KFsyLCAzXSwgZ3JvdXBzLmMpOwordmVyaWZ5UHJvcGVy
dHkoZ3JvdXBzLCAiYSIsIHsKKyAgICBlbnVtZXJhYmxlOiB0cnVlLAorICAgIHdyaXRhYmxlOiB0
cnVlLAorICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorfSk7Cit2ZXJpZnlQcm9wZXJ0eShncm91cHMs
ICJiIiwgeworICAgIGVudW1lcmFibGU6IHRydWUsCisgICAgd3JpdGFibGU6IHRydWUsCisgICAg
Y29uZmlndXJhYmxlOiB0cnVlCit9KTsKK3ZlcmlmeVByb3BlcnR5KGdyb3VwcywgImMiLCB7Cisg
ICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgICB3cml0YWJsZTogdHJ1ZSwKKyAgICBjb25maWd1cmFi
bGU6IHRydWUKK30pOworCisvLyAi8J2QgSIgaXMgVSsxZDQwMSBNQVRIRU1BVElDQUwgQk9MRCBD
QVBJVEFMIEIKKy8vIC0gQWxzbyByZXByZXNlbnRhYmxlIGFzIHRoZSBjb2RlIHBvaW50ICJcdXsx
ZDQwMX0iCisvLyAtIEFsc28gcmVwcmVzZW50YWJsZSBhcyB0aGUgc3Vycm9nYXRlIHBhaXIgIlx1
RDgzNVx1REMwMSIKKworLy8gVmVyaWZ5IGFzc3VtcHRpb25zOgorYXNzZXJ0LnNhbWVWYWx1ZSgi
8J2QgSIubGVuZ3RoLCAyLCAnVGhlIGxlbmd0aCBvZiAi8J2QgSIgaXMgMicpOworYXNzZXJ0LnNh
bWVWYWx1ZSgiXHV7MWQ0MDF9Ii5sZW5ndGgsIDIsICdUaGUgbGVuZ3RoIG9mICJcXHV7MWQ0MDF9
IiBpcyAyJyk7Cithc3NlcnQuc2FtZVZhbHVlKCJcdUQ4MzVcdURDMDEiLmxlbmd0aCwgMiwgJ1Ro
ZSBsZW5ndGggb2YgIlxcdUQ4MzVcXHVEQzAxIiBpcyAyJyk7Cithc3NlcnQuc2FtZVZhbHVlKCLw
nZCBIi5tYXRjaCgvLi8pWzBdLmxlbmd0aCwgMSwgJ1RoZSBsZW5ndGggb2YgYSBzaW5nbGUgY29k
ZSB1bml0IG1hdGNoIGFnYWluc3QgIvCdkIEiIGlzIDEgKHdpdGhvdXQgL3UgZmxhZyknKTsKK2Fz
c2VydC5zYW1lVmFsdWUoIlx1ezFkNDAxfSIubWF0Y2goLy4vKVswXS5sZW5ndGgsIDEsICdUaGUg
bGVuZ3RoIG9mIGEgc2luZ2xlIGNvZGUgdW5pdCBtYXRjaCBhZ2FpbnN0ICJcXHV7MWQ0MDF9IiBp
cyAxICh3aXRob3V0IC91IGZsYWcpJyk7Cithc3NlcnQuc2FtZVZhbHVlKCJcdUQ4MzVcdURDMDEi
Lm1hdGNoKC8uLylbMF0ubGVuZ3RoLCAxLCAnVGhlIGxlbmd0aCBvZiBhIHNpbmdsZSBjb2RlIHVu
aXQgbWF0Y2ggYWdhaW5zdCAiXFx1ZDgzNVxcdWRjMDEiIGlzIDEgKHdpdGhvdXQgL3UgZmxhZykn
KTsKKworYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMV0sICLwnZCBIi5tYXRjaCgvLi8pLmluZGlj
ZXNbMF0sICdJbmRpY2VzIGZvciBub24tdW5pY29kZSBtYXRjaCBhZ2FpbnN0ICLwnZCBIiAod2l0
aG91dCAvdSBmbGFnKScpOworYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMV0sICJcdXsxZDQwMX0i
Lm1hdGNoKC8uLykuaW5kaWNlc1swXSwgJ0luZGljZXMgZm9yIG5vbi11bmljb2RlIG1hdGNoIGFn
YWluc3QgIlxcdXsxZDQwMX0iICh3aXRob3V0IC91IGZsYWcpJyk7Cithc3NlcnQuY29tcGFyZUFy
cmF5KFswLCAxXSwgIlx1RDgzNVx1REMwMSIubWF0Y2goLy4vKS5pbmRpY2VzWzBdLCAnSW5kaWNl
cyBmb3Igbm9uLXVuaWNvZGUgbWF0Y2ggYWdhaW5zdCAiXFx1ZDgzNVxcdWRjMDEiICh3aXRob3V0
IC91IGZsYWcpJyk7Cithc3NlcnQuY29tcGFyZUFycmF5KFswLCAxXSwgIvCdkIEiLm1hdGNoKC8o
PzxhPi4pLykuaW5kaWNlcy5ncm91cHMuYSwgJ0luZGljZXMgZm9yIG5vbi11bmljb2RlIG1hdGNo
IGFnYWluc3QgIvCdkIEiIGluIGdyb3Vwcy5hICh3aXRob3V0IC91IGZsYWcpJyk7Cithc3NlcnQu
Y29tcGFyZUFycmF5KFswLCAxXSwgIlx1ezFkNDAxfSIubWF0Y2goLyg/PGE+LikvKS5pbmRpY2Vz
Lmdyb3Vwcy5hLCAnSW5kaWNlcyBmb3Igbm9uLXVuaWNvZGUgbWF0Y2ggYWdhaW5zdCAiXFx1ezFk
NDAxfSIgaW4gZ3JvdXBzLmEgKHdpdGhvdXQgL3UgZmxhZyknKTsKK2Fzc2VydC5jb21wYXJlQXJy
YXkoWzAsIDFdLCAiXHVEODM1XHVEQzAxIi5tYXRjaCgvKD88YT4uKS8pLmluZGljZXMuZ3JvdXBz
LmEsICdJbmRpY2VzIGZvciBub24tdW5pY29kZSBtYXRjaCBhZ2FpbnN0ICJcXHVkODM1XFx1ZGMw
MSIgaW4gZ3JvdXBzLmEgKHdpdGhvdXQgL3UgZmxhZyknKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFycmF5LXByb3Bl
cnRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktcHJvcGVydGllcy5qcwkocmV2aXNpb24g
MjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1p
bmRpY2VzL2luZGljZXMtYXJyYXktcHJvcGVydGllcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwy
OSArMSwyOSBAQAotLy8gQ29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuDQotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLg0KLQ0KLS8qLS0tDQotZGVzY3JpcHRpb246IFRoZSBwcm9w
ZXJ0aWVzIG9mIHRoZSAiaW5kaWNlcyIgYXJyYXkgYXJlIGNyZWF0ZWQgd2l0aCBDcmVhdGVEYXRh
UHJvcGVydHkuDQotaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10NCi1lc2lkOiBzZWMtbWFr
ZWluZGljZXNhcnJheQ0KLWZlYXR1cmVzOiBbcmVnZXhwLW1hdGNoLWluZGljZXNdDQotaW5mbzog
fA0KLSAgTWFrZUluZGljZXNBcnJheSAoIFMsIGluZGljZXMsIGdyb3VwTmFtZXMgKQ0KLSAgICAx
MS4gRm9yIGVhY2ggaW50ZWdlciBfaV8gc3VjaCB0aGF0IF9pXyA+PSAwIGFuZCBfaV8gPCBfbl8s
IGRvDQotICAgICAgZC4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eShfQV8sICEgVG9TdHJp
bmcoX25fKSwgX21hdGNoSW5kaWNlc0FycmF5XykuDQotLS0tKi8NCi0NCi1sZXQgaW5wdXQgPSAi
YWJjZCI7DQotbGV0IG1hdGNoID0gL2IoYykvLmV4ZWMoaW5wdXQpOw0KLWxldCBpbmRpY2VzID0g
bWF0Y2guaW5kaWNlczsNCi0NCi12ZXJpZnlQcm9wZXJ0eShpbmRpY2VzLCAnMCcsIHsNCi0gIGVu
dW1lcmFibGU6IHRydWUsDQotICBjb25maWd1cmFibGU6IHRydWUsDQotICB3cml0YWJsZTogdHJ1
ZQ0KLX0pOw0KLQ0KLXZlcmlmeVByb3BlcnR5KGluZGljZXMsICcxJywgew0KLSAgZW51bWVyYWJs
ZTogdHJ1ZSwNCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZSwNCi0gIHdyaXRhYmxlOiB0cnVlDQotfSk7
DQorLy8gQ29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitkZXNjcmlwdGlvbjogVGhlIHByb3BlcnRpZXMgb2YgdGhl
ICJpbmRpY2VzIiBhcnJheSBhcmUgY3JlYXRlZCB3aXRoIENyZWF0ZURhdGFQcm9wZXJ0eS4KK2lu
Y2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitlc2lkOiBzZWMtbWFrZWluZGljZXNhcnJheQor
ZmVhdHVyZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10KK2luZm86IHwKKyAgTWFrZUluZGljZXNB
cnJheSAoIFMsIGluZGljZXMsIGdyb3VwTmFtZXMgKQorICAgIDExLiBGb3IgZWFjaCBpbnRlZ2Vy
IF9pXyBzdWNoIHRoYXQgX2lfID49IDAgYW5kIF9pXyA8IF9uXywgZG8KKyAgICAgIGQuIFBlcmZv
cm0gISBDcmVhdGVEYXRhUHJvcGVydHkoX0FfLCAhIFRvU3RyaW5nKF9uXyksIF9tYXRjaEluZGlj
ZXNBcnJheV8pLgorLS0tKi8KKworbGV0IGlucHV0ID0gImFiY2QiOworbGV0IG1hdGNoID0gL2Io
YykvLmV4ZWMoaW5wdXQpOworbGV0IGluZGljZXMgPSBtYXRjaC5pbmRpY2VzOworCit2ZXJpZnlQ
cm9wZXJ0eShpbmRpY2VzLCAnMCcsIHsKKyAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgY29uZmlndXJh
YmxlOiB0cnVlLAorICB3cml0YWJsZTogdHJ1ZQorfSk7CisKK3ZlcmlmeVByb3BlcnR5KGluZGlj
ZXMsICcxJywgeworICBlbnVtZXJhYmxlOiB0cnVlLAorICBjb25maWd1cmFibGU6IHRydWUsCisg
IHdyaXRhYmxlOiB0cnVlCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFycmF5LXVuaWNvZGUtbWF0Y2guanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1p
bmRpY2VzL2luZGljZXMtYXJyYXktdW5pY29kZS1tYXRjaC5qcwkocmV2aXNpb24gMjU0MDA3KQor
KysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2lu
ZGljZXMtYXJyYXktdW5pY29kZS1tYXRjaC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw4NCArMSw4
NCBAQAotLy8gQ29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
DQotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLg0KLQ0KLS8qLS0tDQotZGVzY3JpcHRpb246IEJhc2ljIG1hdGNoaW5n
IGNhc2VzIHdpdGggbm9uLXVuaWNvZGUgbWF0Y2hlcy4NCi1pbmNsdWRlczogW2NvbXBhcmVBcnJh
eS5qcywgcHJvcGVydHlIZWxwZXIuanMsIGRlZXBFcXVhbC5qc10NCi1lc2lkOiBzZWMtcmVnZXhw
YnVpbHRpbmV4ZWMNCi1mZWF0dXJlczogW3JlZ2V4cC1tYXRjaC1pbmRpY2VzXQ0KLWluZm86IHwN
Ci0gIFJ1bnRpbWUgU2VtYW50aWNzOiBSZWdFeHBCdWlsdGluRXhlYyAoIFIsIFMgKQ0KLSAgICAu
Li4NCi0gICAgNC4gTGV0IF9sYXN0SW5kZXhfIGJlID8gVG9MZW5ndGgoPyBHZXQoX1JfLCBgImxh
c3RJbmRleCIpKS4NCi0gICAgLi4uDQotICAgIDE2LiBJZiBfZnVsbFVuaWNvZGVfIGlzICp0cnVl
Kiwgc2V0IF9lXyB0byAhIEdldFN0cmluZ0luZGV4KF9TXywgX0lucHV0XywgX2VfKS4NCi0gICAg
Li4uDQotICAgIDI1LiBMZXQgX2luZGljZXNfIGJlIGEgbmV3IGVtcHR5IExpc3QuDQotICAgIDI2
LiBMZXQgX21hdGNoXyBiZSB0aGUgTWF0Y2ggeyBbW1N0YXJ0SW5kZXhdXTogX2xhc3RJbmRleF8s
IFtbRW5kSW5kZXhdXTogX2VfIH0uDQotICAgIDI3LiBBZGQgX21hdGNoXyBhcyB0aGUgbGFzdCBl
bGVtZW50IG9mIF9pbmRpY2VzXy4NCi0gICAgLi4uDQotICAgIDMzLiBGb3IgZWFjaCBpbnRlZ2Vy
IF9pXyBzdWNoIHRoYXQgX2lfID4gMCBhbmQgX2lfIDw9IF9uXywgaW4gYXNjZW5kaW5nIG9yZGVy
LCBkbw0KLSAgICAgIC4uLg0KLSAgICAgIGYuIEVsc2UsDQotICAgICAgICBpLiBMZXQgX2NhcHR1
cmVTdGFydF8gYmUgX2NhcHR1cmVJXydzIF9zdGFydEluZGV4Xy4NCi0gICAgICAgIGlpLiBMZXQg
X2NhcHR1cmVFbmRfIGJlIF9jYXB0dXJlSV8ncyBfZW5kSW5kZXhfLg0KLSAgICAgICAgaWlpLiBJ
ZiBfZnVsbFVuaWNvZGVfIGlzICp0cnVlKiwgdGhlbg0KLSAgICAgICAgICAxLiBTZXQgX2NhcHR1
cmVTdGFydF8gdG8gISBHZXRTdHJpbmdJbmRleChfU18sIF9JbnB1dF8sIF9jYXB0dXJlU3RhcnRf
KS4NCi0gICAgICAgICAgMS4gU2V0IF9jYXB0dXJlRW5kXyB0byAhIEdldFN0cmluZ0luZGV4KF9T
XywgX0lucHV0XywgX2NhcHR1cmVFbmRfKS4NCi0gICAgICAgIGl2LiBMZXQgX2NhcHR1cmVfIGJl
IHRoZSBNYXRjaCAgeyBbW1N0YXJ0SW5kZXhdXTogX2NhcHR1cmVTdGFydF8sIFtbRW5kSW5kZXhd
XTogX2NhcHR1cmVFbmRfIH0uDQotICAgICAgICB2LiBBcHBlbmQgX2NhcHR1cmVfIHRvIF9pbmRp
Y2VzXy4NCi0gICAgICAgIC4uLg0KLSAgICAzNC4gTGV0IF9pbmRpY2VzQXJyYXlfIGJlIE1ha2VJ
bmRpY2VzQXJyYXkoIF9TXywgX2luZGljZXNfLCBfZ3JvdXBOYW1lc18pLg0KLQ0KLSAgR2V0U3Ry
aW5nSW5kZXggKCBTLCBJbnB1dCwgZSApDQotICAgIC4uLg0KLSAgICA0LiBMZXQgX2VVVEZfIGJl
IHRoZSBzbWFsbGVzdCBpbmRleCBpbnRvIF9TXyB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBjaGFy
YWN0ZXIgYXQgZWxlbWVudCBfZV8gb2YgX0lucHV0Xy4gSWYgX2VfIGlzIGdyZWF0ZXIgdGhhbiBv
ciBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIF9JbnB1dF8sIHRoZW4gX2VVVEZf
IGlzIHRoZSBudW1iZXIgb2YgY29kZSB1bml0cyBpbiBfU18uDQotICAgIDUuIFJldHVybiBfZVVU
Rl8uDQotLS0tKi8NCi0NCi1hc3NlcnQuZGVlcEVxdWFsKFtbMSwgMl0sIFsxLCAyXV0sICJiYWIi
Lm1hdGNoKC8oYSkvdSkuaW5kaWNlcyk7DQotYXNzZXJ0LmRlZXBFcXVhbChbWzAsIDNdLCBbMSwg
Ml1dLCAiYmFiIi5tYXRjaCgvLihhKS4vdSkuaW5kaWNlcyk7DQotYXNzZXJ0LmRlZXBFcXVhbChb
WzAsIDNdLCBbMSwgMl0sIFsyLCAzXV0sICJiYWIiLm1hdGNoKC8uKGEpKC4pL3UpLmluZGljZXMp
Ow0KLWFzc2VydC5kZWVwRXF1YWwoW1swLCAzXSwgWzEsIDNdXSwgImJhYiIubWF0Y2goLy4oXHdc
dykvdSkuaW5kaWNlcyk7DQotYXNzZXJ0LmRlZXBFcXVhbChbWzAsIDNdLCBbMCwgM11dLCAiYmFi
Ii5tYXRjaCgvKFx3XHdcdykvdSkuaW5kaWNlcyk7DQotYXNzZXJ0LmRlZXBFcXVhbChbWzAsIDNd
LCBbMCwgMl0sIFsyLCAzXV0sICJiYWIiLm1hdGNoKC8oXHdcdykoXHcpL3UpLmluZGljZXMpOw0K
LWFzc2VydC5kZWVwRXF1YWwoW1swLCAyXSwgWzAsIDJdLCB1bmRlZmluZWRdLCAiYmFiIi5tYXRj
aCgvKFx3XHcpKFxXKT8vdSkuaW5kaWNlcyk7DQotDQotbGV0IGdyb3VwcyA9IC8oPzxhPi4pKD88
Yj4uKSg/PGM+LilcazxjPlxrPGI+XGs8YT4vdS5leGVjKCJhYmNjYmEiKS5pbmRpY2VzLmdyb3Vw
czsNCi1hc3NlcnQuY29tcGFyZUFycmF5KFswLCAxXSwgZ3JvdXBzLmEpOw0KLWFzc2VydC5jb21w
YXJlQXJyYXkoWzEsIDJdLCBncm91cHMuYik7DQotYXNzZXJ0LmNvbXBhcmVBcnJheShbMiwgM10s
IGdyb3Vwcy5jKTsNCi12ZXJpZnlQcm9wZXJ0eShncm91cHMsICJhIiwgew0KLSAgICBlbnVtZXJh
YmxlOiB0cnVlLA0KLSAgICB3cml0YWJsZTogdHJ1ZSwNCi0gICAgY29uZmlndXJhYmxlOiB0cnVl
DQotfSk7DQotdmVyaWZ5UHJvcGVydHkoZ3JvdXBzLCAiYiIsIHsNCi0gICAgZW51bWVyYWJsZTog
dHJ1ZSwNCi0gICAgd3JpdGFibGU6IHRydWUsDQotICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KLX0p
Ow0KLXZlcmlmeVByb3BlcnR5KGdyb3VwcywgImMiLCB7DQotICAgIGVudW1lcmFibGU6IHRydWUs
DQotICAgIHdyaXRhYmxlOiB0cnVlLA0KLSAgICBjb25maWd1cmFibGU6IHRydWUNCi19KTsNCi0N
Ci0vLyAi8J2QgSIgaXMgVSsxZDQwMSBNQVRIRU1BVElDQUwgQk9MRCBDQVBJVEFMIEINCi0vLyAt
IEFsc28gcmVwcmVzZW50YWJsZSBhcyB0aGUgY29kZSBwb2ludCAiXHV7MWQ0MDF9Ig0KLS8vIC0g
QWxzbyByZXByZXNlbnRhYmxlIGFzIHRoZSBzdXJyb2dhdGUgcGFpciAiXHVEODM1XHVEQzAxIg0K
LQ0KLS8vIFZlcmlmeSBhc3N1bXB0aW9uczoNCi1hc3NlcnQuc2FtZVZhbHVlKCLwnZCBIi5sZW5n
dGgsIDIsICdUaGUgbGVuZ3RoIG9mICLwnZCBIiBpcyAyJyk7DQotYXNzZXJ0LnNhbWVWYWx1ZSgi
XHV7MWQ0MDF9Ii5sZW5ndGgsIDIsICdUaGUgbGVuZ3RoIG9mICJcXHV7MWQ0MDF9IiBpcyAyJyk7
DQotYXNzZXJ0LnNhbWVWYWx1ZSgiXHVEODM1XHVEQzAxIi5sZW5ndGgsIDIsICdUaGUgbGVuZ3Ro
IG9mICJcXHVEODM1XFx1REMwMSIgaXMgMicpOw0KLWFzc2VydC5zYW1lVmFsdWUoMiwgIvCdkIEi
Lm1hdGNoKC8uL3UpWzBdLmxlbmd0aCwgJ1RoZSBsZW5ndGggb2YgYSBzaW5nbGUgY29kZSBwb2lu
dCBtYXRjaCBhZ2FpbnN0ICLwnZCBIiBpcyAyICh3aXRoIC91IGZsYWcpJyk7DQotYXNzZXJ0LnNh
bWVWYWx1ZSgyLCAiXHV7MWQ0MDF9Ii5tYXRjaCgvLi91KVswXS5sZW5ndGgsICdUaGUgbGVuZ3Ro
IG9mIGEgc2luZ2xlIGNvZGUgcG9pbnQgbWF0Y2ggYWdhaW5zdCAiXFx1ezFkNDAxfSIgaXMgMiAo
d2l0aCAvdSBmbGFnKScpOw0KLWFzc2VydC5zYW1lVmFsdWUoMiwgIlx1RDgzNVx1REMwMSIubWF0
Y2goLy4vdSlbMF0ubGVuZ3RoLCAnVGhlIGxlbmd0aCBvZiBhIHNpbmdsZSBjb2RlIHBvaW50IG1h
dGNoIGFnYWluc3QgIlxcdWQ4MzVcXHVkYzAxIiBpcyAyICh3aXRoIC91IGZsYWcpJyk7DQotDQot
YXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMl0sICLwnZCBIi5tYXRjaCgvLi91KS5pbmRpY2VzWzBd
LCAnSW5kaWNlcyBmb3IgdW5pY29kZSBtYXRjaCBhZ2FpbnN0ICLwnZCBIiAod2l0aCAvdSBmbGFn
KScpOw0KLWFzc2VydC5jb21wYXJlQXJyYXkoWzAsIDJdLCAiXHV7MWQ0MDF9Ii5tYXRjaCgvLi91
KS5pbmRpY2VzWzBdLCAnSW5kaWNlcyBmb3IgdW5pY29kZSBtYXRjaCBhZ2FpbnN0IFxcdXsxZDQw
MX0gKHdpdGggL3UgZmxhZyknKTsNCi1hc3NlcnQuY29tcGFyZUFycmF5KFswLCAyXSwgIlx1RDgz
NVx1REMwMSIubWF0Y2goLy4vdSkuaW5kaWNlc1swXSwgJ0luZGljZXMgZm9yIHVuaWNvZGUgbWF0
Y2ggYWdhaW5zdCBcXHVkODM1XFx1ZGMwMSAod2l0aCAvdSBmbGFnKScpOw0KLWFzc2VydC5jb21w
YXJlQXJyYXkoWzAsIDJdLCAi8J2QgSIubWF0Y2goLyg/PGE+LikvdSkuaW5kaWNlcy5ncm91cHMu
YSwgJ0luZGljZXMgZm9yIHVuaWNvZGUgbWF0Y2ggYWdhaW5zdCDwnZCBIGluIGdyb3Vwcy5hICh3
aXRoIC91IGZsYWcpJyk7DQotYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMl0sICJcdXsxZDQwMX0i
Lm1hdGNoKC8oPzxhPi4pL3UpLmluZGljZXMuZ3JvdXBzLmEsICdJbmRpY2VzIGZvciB1bmljb2Rl
IG1hdGNoIGFnYWluc3QgXFx1ezFkNDAxfSBpbiBncm91cHMuYSAod2l0aCAvdSBmbGFnKScpOw0K
LWFzc2VydC5jb21wYXJlQXJyYXkoWzAsIDJdLCAiXHVEODM1XHVEQzAxIi5tYXRjaCgvKD88YT4u
KS91KS5pbmRpY2VzLmdyb3Vwcy5hLCAnSW5kaWNlcyBmb3IgdW5pY29kZSBtYXRjaCBhZ2FpbnN0
IFxcdWQ4MzVcXHVkYzAxIGluIGdyb3Vwcy5hICh3aXRoIC91IGZsYWcpJyk7DQorLy8gQ29weXJp
Z2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisKKy8qLS0tCitkZXNjcmlwdGlvbjogQmFzaWMgbWF0Y2hpbmcgY2FzZXMgd2l0aCBub24tdW5p
Y29kZSBtYXRjaGVzLgoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanMsIHByb3BlcnR5SGVscGVy
LmpzLCBkZWVwRXF1YWwuanNdCitlc2lkOiBzZWMtcmVnZXhwYnVpbHRpbmV4ZWMKK2ZlYXR1cmVz
OiBbcmVnZXhwLW1hdGNoLWluZGljZXNdCitpbmZvOiB8CisgIFJ1bnRpbWUgU2VtYW50aWNzOiBS
ZWdFeHBCdWlsdGluRXhlYyAoIFIsIFMgKQorICAgIC4uLgorICAgIDQuIExldCBfbGFzdEluZGV4
XyBiZSA/IFRvTGVuZ3RoKD8gR2V0KF9SXywgYCJsYXN0SW5kZXgiKSkuCisgICAgLi4uCisgICAg
MTYuIElmIF9mdWxsVW5pY29kZV8gaXMgKnRydWUqLCBzZXQgX2VfIHRvICEgR2V0U3RyaW5nSW5k
ZXgoX1NfLCBfSW5wdXRfLCBfZV8pLgorICAgIC4uLgorICAgIDI1LiBMZXQgX2luZGljZXNfIGJl
IGEgbmV3IGVtcHR5IExpc3QuCisgICAgMjYuIExldCBfbWF0Y2hfIGJlIHRoZSBNYXRjaCB7IFtb
U3RhcnRJbmRleF1dOiBfbGFzdEluZGV4XywgW1tFbmRJbmRleF1dOiBfZV8gfS4KKyAgICAyNy4g
QWRkIF9tYXRjaF8gYXMgdGhlIGxhc3QgZWxlbWVudCBvZiBfaW5kaWNlc18uCisgICAgLi4uCisg
ICAgMzMuIEZvciBlYWNoIGludGVnZXIgX2lfIHN1Y2ggdGhhdCBfaV8gPiAwIGFuZCBfaV8gPD0g
X25fLCBpbiBhc2NlbmRpbmcgb3JkZXIsIGRvCisgICAgICAuLi4KKyAgICAgIGYuIEVsc2UsCisg
ICAgICAgIGkuIExldCBfY2FwdHVyZVN0YXJ0XyBiZSBfY2FwdHVyZUlfJ3MgX3N0YXJ0SW5kZXhf
LgorICAgICAgICBpaS4gTGV0IF9jYXB0dXJlRW5kXyBiZSBfY2FwdHVyZUlfJ3MgX2VuZEluZGV4
Xy4KKyAgICAgICAgaWlpLiBJZiBfZnVsbFVuaWNvZGVfIGlzICp0cnVlKiwgdGhlbgorICAgICAg
ICAgIDEuIFNldCBfY2FwdHVyZVN0YXJ0XyB0byAhIEdldFN0cmluZ0luZGV4KF9TXywgX0lucHV0
XywgX2NhcHR1cmVTdGFydF8pLgorICAgICAgICAgIDEuIFNldCBfY2FwdHVyZUVuZF8gdG8gISBH
ZXRTdHJpbmdJbmRleChfU18sIF9JbnB1dF8sIF9jYXB0dXJlRW5kXykuCisgICAgICAgIGl2LiBM
ZXQgX2NhcHR1cmVfIGJlIHRoZSBNYXRjaCAgeyBbW1N0YXJ0SW5kZXhdXTogX2NhcHR1cmVTdGFy
dF8sIFtbRW5kSW5kZXhdXTogX2NhcHR1cmVFbmRfIH0uCisgICAgICAgIHYuIEFwcGVuZCBfY2Fw
dHVyZV8gdG8gX2luZGljZXNfLgorICAgICAgICAuLi4KKyAgICAzNC4gTGV0IF9pbmRpY2VzQXJy
YXlfIGJlIE1ha2VJbmRpY2VzQXJyYXkoIF9TXywgX2luZGljZXNfLCBfZ3JvdXBOYW1lc18pLgor
CisgIEdldFN0cmluZ0luZGV4ICggUywgSW5wdXQsIGUgKQorICAgIC4uLgorICAgIDQuIExldCBf
ZVVURl8gYmUgdGhlIHNtYWxsZXN0IGluZGV4IGludG8gX1NfIHRoYXQgY29ycmVzcG9uZHMgdG8g
dGhlIGNoYXJhY3RlciBhdCBlbGVtZW50IF9lXyBvZiBfSW5wdXRfLiBJZiBfZV8gaXMgZ3JlYXRl
ciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gX0lucHV0XywgdGhl
biBfZVVURl8gaXMgdGhlIG51bWJlciBvZiBjb2RlIHVuaXRzIGluIF9TXy4KKyAgICA1LiBSZXR1
cm4gX2VVVEZfLgorLS0tKi8KKworYXNzZXJ0LmRlZXBFcXVhbChbWzEsIDJdLCBbMSwgMl1dLCAi
YmFiIi5tYXRjaCgvKGEpL3UpLmluZGljZXMpOworYXNzZXJ0LmRlZXBFcXVhbChbWzAsIDNdLCBb
MSwgMl1dLCAiYmFiIi5tYXRjaCgvLihhKS4vdSkuaW5kaWNlcyk7Cithc3NlcnQuZGVlcEVxdWFs
KFtbMCwgM10sIFsxLCAyXSwgWzIsIDNdXSwgImJhYiIubWF0Y2goLy4oYSkoLikvdSkuaW5kaWNl
cyk7Cithc3NlcnQuZGVlcEVxdWFsKFtbMCwgM10sIFsxLCAzXV0sICJiYWIiLm1hdGNoKC8uKFx3
XHcpL3UpLmluZGljZXMpOworYXNzZXJ0LmRlZXBFcXVhbChbWzAsIDNdLCBbMCwgM11dLCAiYmFi
Ii5tYXRjaCgvKFx3XHdcdykvdSkuaW5kaWNlcyk7Cithc3NlcnQuZGVlcEVxdWFsKFtbMCwgM10s
IFswLCAyXSwgWzIsIDNdXSwgImJhYiIubWF0Y2goLyhcd1x3KShcdykvdSkuaW5kaWNlcyk7Cith
c3NlcnQuZGVlcEVxdWFsKFtbMCwgMl0sIFswLCAyXSwgdW5kZWZpbmVkXSwgImJhYiIubWF0Y2go
Lyhcd1x3KShcVyk/L3UpLmluZGljZXMpOworCitsZXQgZ3JvdXBzID0gLyg/PGE+LikoPzxiPi4p
KD88Yz4uKVxrPGM+XGs8Yj5cazxhPi91LmV4ZWMoImFiY2NiYSIpLmluZGljZXMuZ3JvdXBzOwor
YXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMV0sIGdyb3Vwcy5hKTsKK2Fzc2VydC5jb21wYXJlQXJy
YXkoWzEsIDJdLCBncm91cHMuYik7Cithc3NlcnQuY29tcGFyZUFycmF5KFsyLCAzXSwgZ3JvdXBz
LmMpOwordmVyaWZ5UHJvcGVydHkoZ3JvdXBzLCAiYSIsIHsKKyAgICBlbnVtZXJhYmxlOiB0cnVl
LAorICAgIHdyaXRhYmxlOiB0cnVlLAorICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorfSk7Cit2ZXJp
ZnlQcm9wZXJ0eShncm91cHMsICJiIiwgeworICAgIGVudW1lcmFibGU6IHRydWUsCisgICAgd3Jp
dGFibGU6IHRydWUsCisgICAgY29uZmlndXJhYmxlOiB0cnVlCit9KTsKK3ZlcmlmeVByb3BlcnR5
KGdyb3VwcywgImMiLCB7CisgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgICB3cml0YWJsZTogdHJ1
ZSwKKyAgICBjb25maWd1cmFibGU6IHRydWUKK30pOworCisvLyAi8J2QgSIgaXMgVSsxZDQwMSBN
QVRIRU1BVElDQUwgQk9MRCBDQVBJVEFMIEIKKy8vIC0gQWxzbyByZXByZXNlbnRhYmxlIGFzIHRo
ZSBjb2RlIHBvaW50ICJcdXsxZDQwMX0iCisvLyAtIEFsc28gcmVwcmVzZW50YWJsZSBhcyB0aGUg
c3Vycm9nYXRlIHBhaXIgIlx1RDgzNVx1REMwMSIKKworLy8gVmVyaWZ5IGFzc3VtcHRpb25zOgor
YXNzZXJ0LnNhbWVWYWx1ZSgi8J2QgSIubGVuZ3RoLCAyLCAnVGhlIGxlbmd0aCBvZiAi8J2QgSIg
aXMgMicpOworYXNzZXJ0LnNhbWVWYWx1ZSgiXHV7MWQ0MDF9Ii5sZW5ndGgsIDIsICdUaGUgbGVu
Z3RoIG9mICJcXHV7MWQ0MDF9IiBpcyAyJyk7Cithc3NlcnQuc2FtZVZhbHVlKCJcdUQ4MzVcdURD
MDEiLmxlbmd0aCwgMiwgJ1RoZSBsZW5ndGggb2YgIlxcdUQ4MzVcXHVEQzAxIiBpcyAyJyk7Cith
c3NlcnQuc2FtZVZhbHVlKDIsICLwnZCBIi5tYXRjaCgvLi91KVswXS5sZW5ndGgsICdUaGUgbGVu
Z3RoIG9mIGEgc2luZ2xlIGNvZGUgcG9pbnQgbWF0Y2ggYWdhaW5zdCAi8J2QgSIgaXMgMiAod2l0
aCAvdSBmbGFnKScpOworYXNzZXJ0LnNhbWVWYWx1ZSgyLCAiXHV7MWQ0MDF9Ii5tYXRjaCgvLi91
KVswXS5sZW5ndGgsICdUaGUgbGVuZ3RoIG9mIGEgc2luZ2xlIGNvZGUgcG9pbnQgbWF0Y2ggYWdh
aW5zdCAiXFx1ezFkNDAxfSIgaXMgMiAod2l0aCAvdSBmbGFnKScpOworYXNzZXJ0LnNhbWVWYWx1
ZSgyLCAiXHVEODM1XHVEQzAxIi5tYXRjaCgvLi91KVswXS5sZW5ndGgsICdUaGUgbGVuZ3RoIG9m
IGEgc2luZ2xlIGNvZGUgcG9pbnQgbWF0Y2ggYWdhaW5zdCAiXFx1ZDgzNVxcdWRjMDEiIGlzIDIg
KHdpdGggL3UgZmxhZyknKTsKKworYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMl0sICLwnZCBIi5t
YXRjaCgvLi91KS5pbmRpY2VzWzBdLCAnSW5kaWNlcyBmb3IgdW5pY29kZSBtYXRjaCBhZ2FpbnN0
ICLwnZCBIiAod2l0aCAvdSBmbGFnKScpOworYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMl0sICJc
dXsxZDQwMX0iLm1hdGNoKC8uL3UpLmluZGljZXNbMF0sICdJbmRpY2VzIGZvciB1bmljb2RlIG1h
dGNoIGFnYWluc3QgXFx1ezFkNDAxfSAod2l0aCAvdSBmbGFnKScpOworYXNzZXJ0LmNvbXBhcmVB
cnJheShbMCwgMl0sICJcdUQ4MzVcdURDMDEiLm1hdGNoKC8uL3UpLmluZGljZXNbMF0sICdJbmRp
Y2VzIGZvciB1bmljb2RlIG1hdGNoIGFnYWluc3QgXFx1ZDgzNVxcdWRjMDEgKHdpdGggL3UgZmxh
ZyknKTsKK2Fzc2VydC5jb21wYXJlQXJyYXkoWzAsIDJdLCAi8J2QgSIubWF0Y2goLyg/PGE+Likv
dSkuaW5kaWNlcy5ncm91cHMuYSwgJ0luZGljZXMgZm9yIHVuaWNvZGUgbWF0Y2ggYWdhaW5zdCDw
nZCBIGluIGdyb3Vwcy5hICh3aXRoIC91IGZsYWcpJyk7Cithc3NlcnQuY29tcGFyZUFycmF5KFsw
LCAyXSwgIlx1ezFkNDAxfSIubWF0Y2goLyg/PGE+LikvdSkuaW5kaWNlcy5ncm91cHMuYSwgJ0lu
ZGljZXMgZm9yIHVuaWNvZGUgbWF0Y2ggYWdhaW5zdCBcXHV7MWQ0MDF9IGluIGdyb3Vwcy5hICh3
aXRoIC91IGZsYWcpJyk7Cithc3NlcnQuY29tcGFyZUFycmF5KFswLCAyXSwgIlx1RDgzNVx1REMw
MSIubWF0Y2goLyg/PGE+LikvdSkuaW5kaWNlcy5ncm91cHMuYSwgJ0luZGljZXMgZm9yIHVuaWNv
ZGUgbWF0Y2ggYWdhaW5zdCBcXHVkODM1XFx1ZGMwMSBpbiBncm91cHMuYSAod2l0aCAvdSBmbGFn
KScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1p
bmRpY2VzL2luZGljZXMtYXJyYXktdW5pY29kZS1wcm9wZXJ0eS1uYW1lcy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMv
aW5kaWNlcy1hcnJheS11bmljb2RlLXByb3BlcnR5LW5hbWVzLmpzCShyZXZpc2lvbiAyNTQwMDcp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMv
aW5kaWNlcy1hcnJheS11bmljb2RlLXByb3BlcnR5LW5hbWVzLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDIwICsxLDIwIEBACi0vLyBDb3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4NCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuDQotDQotLyotLS0NCi1kZXNjcmlwdGlvbjogQmFz
aWMgbWF0Y2hpbmcgY2FzZXMgd2l0aCBub24tdW5pY29kZSBtYXRjaGVzLg0KLWluY2x1ZGVzOiBb
Y29tcGFyZUFycmF5LmpzXQ0KLWVzaWQ6IHNlYy1tYWtlaW5kaWNlc2FycmF5DQotZmVhdHVyZXM6
IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10NCi0tLS0qLw0KLQ0KLWFzc2VydC5jb21wYXJlQXJyYXko
WzEsIDJdLCAvKD88z4A+YSkvdS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vwcy7PgCk7DQotYXNz
ZXJ0LmNvbXBhcmVBcnJheShbMSwgMl0sIC8oPzxcdXswM0MwfT5hKS91LmV4ZWMoImJhYiIpLmlu
ZGljZXMuZ3JvdXBzLs+AKTsNCi1hc3NlcnQuY29tcGFyZUFycmF5KFsxLCAyXSwgLyg/PM+APmEp
L3UuZXhlYygiYmFiIikuaW5kaWNlcy5ncm91cHMuXHUwM0MwKTsNCi1hc3NlcnQuY29tcGFyZUFy
cmF5KFsxLCAyXSwgLyg/PFx1ezAzQzB9PmEpL3UuZXhlYygiYmFiIikuaW5kaWNlcy5ncm91cHMu
XHUwM0MwKTsNCi1hc3NlcnQuY29tcGFyZUFycmF5KFsxLCAyXSwgLyg/PCQ+YSkvdS5leGVjKCJi
YWIiKS5pbmRpY2VzLmdyb3Vwcy4kKTsNCi1hc3NlcnQuY29tcGFyZUFycmF5KFsxLCAyXSwgLyg/
PF8+YSkvdS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vwcy5fKTsNCi1hc3NlcnQuY29tcGFyZUFy
cmF5KFsxLCAyXSwgLyg/PCTwkJKkPmEpL3UuZXhlYygiYmFiIikuaW5kaWNlcy5ncm91cHMuJPCQ
kqQpOw0KLWFzc2VydC5jb21wYXJlQXJyYXkoWzEsIDJdLCAvKD88X1x1MjAwQz5hKS91LmV4ZWMo
ImJhYiIpLmluZGljZXMuZ3JvdXBzLl9cdTIwMEMpOw0KLWFzc2VydC5jb21wYXJlQXJyYXkoWzEs
IDJdLCAvKD88X1x1MjAwRD5hKS91LmV4ZWMoImJhYiIpLmluZGljZXMuZ3JvdXBzLl9cdTIwMEQp
Ow0KLWFzc2VydC5jb21wYXJlQXJyYXkoWzEsIDJdLCAvKD884LKgX+CyoD5hKS91LmV4ZWMoImJh
YiIpLmluZGljZXMuZ3JvdXBzLuCyoF/gsqApOw0KKy8vIENvcHlyaWdodCAyMDE5IFJvbiBCdWNr
dG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZGVzY3Jp
cHRpb246IEJhc2ljIG1hdGNoaW5nIGNhc2VzIHdpdGggbm9uLXVuaWNvZGUgbWF0Y2hlcy4KK2lu
Y2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQorZXNpZDogc2VjLW1ha2VpbmRpY2VzYXJyYXkKK2Zl
YXR1cmVzOiBbcmVnZXhwLW1hdGNoLWluZGljZXNdCistLS0qLworCithc3NlcnQuY29tcGFyZUFy
cmF5KFsxLCAyXSwgLyg/PM+APmEpL3UuZXhlYygiYmFiIikuaW5kaWNlcy5ncm91cHMuz4ApOwor
YXNzZXJ0LmNvbXBhcmVBcnJheShbMSwgMl0sIC8oPzxcdXswM0MwfT5hKS91LmV4ZWMoImJhYiIp
LmluZGljZXMuZ3JvdXBzLs+AKTsKK2Fzc2VydC5jb21wYXJlQXJyYXkoWzEsIDJdLCAvKD88z4A+
YSkvdS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vwcy5cdTAzQzApOworYXNzZXJ0LmNvbXBhcmVB
cnJheShbMSwgMl0sIC8oPzxcdXswM0MwfT5hKS91LmV4ZWMoImJhYiIpLmluZGljZXMuZ3JvdXBz
Llx1MDNDMCk7Cithc3NlcnQuY29tcGFyZUFycmF5KFsxLCAyXSwgLyg/PCQ+YSkvdS5leGVjKCJi
YWIiKS5pbmRpY2VzLmdyb3Vwcy4kKTsKK2Fzc2VydC5jb21wYXJlQXJyYXkoWzEsIDJdLCAvKD88
Xz5hKS91LmV4ZWMoImJhYiIpLmluZGljZXMuZ3JvdXBzLl8pOworYXNzZXJ0LmNvbXBhcmVBcnJh
eShbMSwgMl0sIC8oPzwk8JCSpD5hKS91LmV4ZWMoImJhYiIpLmluZGljZXMuZ3JvdXBzLiTwkJKk
KTsKK2Fzc2VydC5jb21wYXJlQXJyYXkoWzEsIDJdLCAvKD88X1x1MjAwQz5hKS91LmV4ZWMoImJh
YiIpLmluZGljZXMuZ3JvdXBzLl9cdTIwMEMpOworYXNzZXJ0LmNvbXBhcmVBcnJheShbMSwgMl0s
IC8oPzxfXHUyMDBEPmEpL3UuZXhlYygiYmFiIikuaW5kaWNlcy5ncm91cHMuX1x1MjAwRCk7Cith
c3NlcnQuY29tcGFyZUFycmF5KFsxLCAyXSwgLyg/POCyoF/gsqA+YSkvdS5leGVjKCJiYWIiKS5p
bmRpY2VzLmdyb3Vwcy7gsqBf4LKgKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFycmF5LXVubWF0Y2hlZC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWlu
ZGljZXMvaW5kaWNlcy1hcnJheS11bm1hdGNoZWQuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2Vz
LWFycmF5LXVubWF0Y2hlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwzMiArMSwzMiBAQAotLy8g
Q29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQotLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLg0KLQ0KLS8qLS0tDQotZGVzY3JpcHRpb246IEFuIHVubWF0Y2hlZCBjYXB0dXJlIGlu
IGEgbWF0Y2ggY29ycmVzcG9uZHMgdG8gYW4gdW5tYXRjaGVkIGNhcHR1cmUgaW4gImluZGljZXMi
DQotZXNpZDogc2VjLW1ha2VpbmRpY2VzYXJyYXkNCi1mZWF0dXJlczogW3JlZ2V4cC1tYXRjaC1p
bmRpY2VzXQ0KLWluZm86IHwNCi0gIE1ha2VJbmRpY2VzQXJyYXkgKCBTLCBpbmRpY2VzLCBncm91
cE5hbWVzICkNCi0gICAgNC4gTGV0IF9uXyBiZSB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIF9p
bmRpY2VzXy4NCi0gICAgLi4uDQotICAgIDYuIFNldCBfQV8gdG8gISBBcnJheUNyZWF0ZShfbl8p
Lg0KLSAgICAuLi4NCi0gICAgMTEuIEZvciBlYWNoIGludGVnZXIgX2lfIHN1Y2ggdGhhdCBfaV8g
Pj0gMCBhbmQgX2lfIDwgX25fLCBkbw0KLSAgICAgIGEuIExldCBfbWF0Y2hJbmRpY2VzXyBiZSBf
aW5kaWNlc19bX2lfXS4NCi0gICAgICBiLiBJZiBfbWF0Y2hJbmRpY2VzXyBpcyBub3QgKnVuZGVm
aW5lZCosIHRoZW4NCi0gICAgICAgIGkuIExldCBfbWF0Y2hJbmRpY2VzQXJyYXlfIGJlICEgR2V0
TWF0Y2hJbmRpY2VzQXJyYXkoX1NfLCBfbWF0Y2hJbmRpY2VzXykuDQotICAgICAgYy4gRWxzZSwN
Ci0gICAgICAgIGkuIExldCBfbWF0Y2hJbmRpY2VzQXJyYXlfIGJlICp1bmRlZmluZWQqLg0KLSAg
ICAgIGQuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHkoX0FfLCAhIFRvU3RyaW5nKF9uXyks
IF9tYXRjaEluZGljZXNBcnJheV8pLg0KLSAgICAgICAgLi4uDQotLS0tKi8NCi0NCi1sZXQgaW5w
dXQgPSAiYWJkIjsNCi1sZXQgbWF0Y2ggPSAvYihjKT8vLmV4ZWMoaW5wdXQpOw0KLWxldCBpbmRp
Y2VzID0gbWF0Y2guaW5kaWNlczsNCi0NCi0vLyBgaW5kaWNlc2AgaGFzIHRoZSBzYW1lIGxlbmd0
aCBhcyBtYXRjaA0KLWFzc2VydC5zYW1lVmFsdWUoaW5kaWNlcy5sZW5ndGgsIG1hdGNoLmxlbmd0
aCk7DQotDQotLy8gVGhlIHNlY29uZCBlbGVtZW50IG9mIGBpbmRpY2VzYCBzaG91bGQgYmUgdW5k
ZWZpbmVkLg0KLWFzc2VydC5zYW1lVmFsdWUoaW5kaWNlc1sxXSwgdW5kZWZpbmVkKTsNCisvLyBD
b3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2Rlc2NyaXB0aW9uOiBBbiB1bm1hdGNoZWQgY2FwdHVyZSBpbiBhIG1h
dGNoIGNvcnJlc3BvbmRzIHRvIGFuIHVubWF0Y2hlZCBjYXB0dXJlIGluICJpbmRpY2VzIgorZXNp
ZDogc2VjLW1ha2VpbmRpY2VzYXJyYXkKK2ZlYXR1cmVzOiBbcmVnZXhwLW1hdGNoLWluZGljZXNd
CitpbmZvOiB8CisgIE1ha2VJbmRpY2VzQXJyYXkgKCBTLCBpbmRpY2VzLCBncm91cE5hbWVzICkK
KyAgICA0LiBMZXQgX25fIGJlIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gX2luZGljZXNfLgor
ICAgIC4uLgorICAgIDYuIFNldCBfQV8gdG8gISBBcnJheUNyZWF0ZShfbl8pLgorICAgIC4uLgor
ICAgIDExLiBGb3IgZWFjaCBpbnRlZ2VyIF9pXyBzdWNoIHRoYXQgX2lfID49IDAgYW5kIF9pXyA8
IF9uXywgZG8KKyAgICAgIGEuIExldCBfbWF0Y2hJbmRpY2VzXyBiZSBfaW5kaWNlc19bX2lfXS4K
KyAgICAgIGIuIElmIF9tYXRjaEluZGljZXNfIGlzIG5vdCAqdW5kZWZpbmVkKiwgdGhlbgorICAg
ICAgICBpLiBMZXQgX21hdGNoSW5kaWNlc0FycmF5XyBiZSAhIEdldE1hdGNoSW5kaWNlc0FycmF5
KF9TXywgX21hdGNoSW5kaWNlc18pLgorICAgICAgYy4gRWxzZSwKKyAgICAgICAgaS4gTGV0IF9t
YXRjaEluZGljZXNBcnJheV8gYmUgKnVuZGVmaW5lZCouCisgICAgICBkLiBQZXJmb3JtICEgQ3Jl
YXRlRGF0YVByb3BlcnR5KF9BXywgISBUb1N0cmluZyhfbl8pLCBfbWF0Y2hJbmRpY2VzQXJyYXlf
KS4KKyAgICAgICAgLi4uCistLS0qLworCitsZXQgaW5wdXQgPSAiYWJkIjsKK2xldCBtYXRjaCA9
IC9iKGMpPy8uZXhlYyhpbnB1dCk7CitsZXQgaW5kaWNlcyA9IG1hdGNoLmluZGljZXM7CisKKy8v
IGBpbmRpY2VzYCBoYXMgdGhlIHNhbWUgbGVuZ3RoIGFzIG1hdGNoCithc3NlcnQuc2FtZVZhbHVl
KGluZGljZXMubGVuZ3RoLCBtYXRjaC5sZW5ndGgpOworCisvLyBUaGUgc2Vjb25kIGVsZW1lbnQg
b2YgYGluZGljZXNgIHNob3VsZCBiZSB1bmRlZmluZWQuCithc3NlcnQuc2FtZVZhbHVlKGluZGlj
ZXNbMV0sIHVuZGVmaW5lZCk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJheS5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1h
cnJheS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXkuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTggKzEsMTggQEAKLS8vIENvcHlyaWdodCAyMDE5IFJvbiBCdWNrdG9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLg0KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4NCi0NCi0vKi0tLQ0KLWRlc2NyaXB0aW9uOiBU
aGUgImluZGljZXMiIHByb3BlcnR5IGlzIGFuIEFycmF5Lg0KLWVzaWQ6IHNlYy1tYWtlaW5kaWNl
c2FycmF5DQotZmVhdHVyZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10NCi1pbmZvOiB8DQotICBN
YWtlSW5kaWNlc0FycmF5ICggUywgaW5kaWNlcywgZ3JvdXBOYW1lcyApDQotICAgIDYuIFNldCBf
QV8gdG8gISBBcnJheUNyZWF0ZShfbl8pLg0KLS0tLSovDQotDQotbGV0IG1hdGNoID0gL2EvLmV4
ZWMoImEiKTsNCi1sZXQgaW5kaWNlcyA9IG1hdGNoLmluZGljZXM7DQotDQotLy8gYGluZGljZXNg
IGlzIGFuIGFycmF5DQotYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5k
aWNlcyksIEFycmF5LnByb3RvdHlwZSk7DQotYXNzZXJ0KEFycmF5LmlzQXJyYXkoaW5kaWNlcykp
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKy8vIENvcHlyaWdodCAyMDE5IFJvbiBCdWNr
dG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZGVzY3Jp
cHRpb246IFRoZSAiaW5kaWNlcyIgcHJvcGVydHkgaXMgYW4gQXJyYXkuCitlc2lkOiBzZWMtbWFr
ZWluZGljZXNhcnJheQorZmVhdHVyZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10KK2luZm86IHwK
KyAgTWFrZUluZGljZXNBcnJheSAoIFMsIGluZGljZXMsIGdyb3VwTmFtZXMgKQorICAgIDYuIFNl
dCBfQV8gdG8gISBBcnJheUNyZWF0ZShfbl8pLgorLS0tKi8KKworbGV0IG1hdGNoID0gL2EvLmV4
ZWMoImEiKTsKK2xldCBpbmRpY2VzID0gbWF0Y2guaW5kaWNlczsKKworLy8gYGluZGljZXNgIGlz
IGFuIGFycmF5Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihpbmRpY2Vz
KSwgQXJyYXkucHJvdG90eXBlKTsKK2Fzc2VydChBcnJheS5pc0FycmF5KGluZGljZXMpKTsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9p
bmRpY2VzLWdyb3Vwcy1vYmplY3QtdW5tYXRjaGVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWdyb3Vw
cy1vYmplY3QtdW5tYXRjaGVkLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMtb2Jq
ZWN0LXVubWF0Y2hlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyMCArMSwyMCBAQAotLy8gQ29w
eXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQotLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLg0KLQ0KLS8qLS0tDQotZGVzY3JpcHRpb246IFRlc3QgdGhlIGdyb3VwcyBvYmplY3Qgb2Yg
aW5kaWNlcyB3aXRoIG1hdGNoZWQgYW5kIHVubWF0Y2hlZCBuYW1lZCBjYXB0dXJlcy4NCi1pbmNs
dWRlczogW2NvbXBhcmVBcnJheS5qc10NCi1lc2lkOiBzZWMtbWFrZWluZGljZXNhcnJheQ0KLWZl
YXR1cmVzOiBbcmVnZXhwLW5hbWVkLWdyb3VwcywgcmVnZXhwLW1hdGNoLWluZGljZXNdDQotaW5m
bzogfA0KLSAgTWFrZUluZGljZXNBcnJheSAoIFMsIGluZGljZXMsIGdyb3VwTmFtZXMgKQ0KLSAg
ICAxMS4gRm9yIGVhY2ggaW50ZWdlciBfaV8gc3VjaCB0aGF0IF9pXyA+PSAwIGFuZCBfaV8gPCBf
bl8sIGRvDQotICAgICAgZS4gSWYgX2dyb3VwTmFtZXNfIGlzIG5vdCAqdW5kZmluZWQqIGFuZCBf
Z3JvdXBOYW1lc19bX2lfXSBpcyBub3QgKnVuZGVmaW5lZCosIHRoZW4NCi0gICAgICAgIGkuIFBl
cmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHkoX2dyb3Vwc18sIF9ncm91cE5hbWVzX1tfaV9dLCBf
bWF0Y2hJbmRpY2VzQXJyYXlfKS4NCi0tLS0qLw0KLQ0KLQ0KLWNvbnN0IHJlID0gLyg/PGE+YSku
fCg/PHg+eCkvOw0KLWNvbnN0IHJlc3VsdCA9IHJlLmV4ZWMoImFiIikuaW5kaWNlczsNCi1hc3Nl
cnQuY29tcGFyZUFycmF5KFswLCAxXSwgcmVzdWx0Lmdyb3Vwcy5hKTsNCi1hc3NlcnQuc2FtZVZh
bHVlKHVuZGVmaW5lZCwgcmVzdWx0Lmdyb3Vwcy54KTsNCisvLyBDb3B5cmlnaHQgMjAxOSBSb24g
QnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Rl
c2NyaXB0aW9uOiBUZXN0IHRoZSBncm91cHMgb2JqZWN0IG9mIGluZGljZXMgd2l0aCBtYXRjaGVk
IGFuZCB1bm1hdGNoZWQgbmFtZWQgY2FwdHVyZXMuCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5q
c10KK2VzaWQ6IHNlYy1tYWtlaW5kaWNlc2FycmF5CitmZWF0dXJlczogW3JlZ2V4cC1uYW1lZC1n
cm91cHMsIHJlZ2V4cC1tYXRjaC1pbmRpY2VzXQoraW5mbzogfAorICBNYWtlSW5kaWNlc0FycmF5
ICggUywgaW5kaWNlcywgZ3JvdXBOYW1lcyApCisgICAgMTEuIEZvciBlYWNoIGludGVnZXIgX2lf
IHN1Y2ggdGhhdCBfaV8gPj0gMCBhbmQgX2lfIDwgX25fLCBkbworICAgICAgZS4gSWYgX2dyb3Vw
TmFtZXNfIGlzIG5vdCAqdW5kZmluZWQqIGFuZCBfZ3JvdXBOYW1lc19bX2lfXSBpcyBub3QgKnVu
ZGVmaW5lZCosIHRoZW4KKyAgICAgICAgaS4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eShf
Z3JvdXBzXywgX2dyb3VwTmFtZXNfW19pX10sIF9tYXRjaEluZGljZXNBcnJheV8pLgorLS0tKi8K
KworCitjb25zdCByZSA9IC8oPzxhPmEpLnwoPzx4PngpLzsKK2NvbnN0IHJlc3VsdCA9IHJlLmV4
ZWMoImFiIikuaW5kaWNlczsKK2Fzc2VydC5jb21wYXJlQXJyYXkoWzAsIDFdLCByZXN1bHQuZ3Jv
dXBzLmEpOworYXNzZXJ0LnNhbWVWYWx1ZSh1bmRlZmluZWQsIHJlc3VsdC5ncm91cHMueCk7Cklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMv
aW5kaWNlcy1ncm91cHMtb2JqZWN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWdyb3Vwcy1vYmplY3Qu
anMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWdyb3Vwcy1vYmplY3QuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDAgKzEsNDAgQEAKLS8vIENvcHlyaWdodCAyMDE5IFJvbiBCdWNrdG9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLg0KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4NCi0NCi0vKi0tLQ0KLWRlc2NyaXB0aW9u
OiBUaGUgZ3JvdXBzIG9iamVjdCBvZiBpbmRpY2VzIGlzIGNyZWF0ZWQgd2l0aCBDcmVhdGVEYXRh
UHJvcGVydHkNCi1pbmNsdWRlczogW2NvbXBhcmVBcnJheS5qcywgcHJvcGVydHlIZWxwZXIuanNd
DQotZXNpZDogc2VjLW1ha2VpbmRpY2VzYXJyYXkNCi1mZWF0dXJlczogW3JlZ2V4cC1uYW1lZC1n
cm91cHMsIHJlZ2V4cC1tYXRjaC1pbmRpY2VzXQ0KLWluZm86IHwNCi0gIE1ha2VJbmRpY2VzQXJy
YXkgKCBTLCBpbmRpY2VzLCBncm91cE5hbWVzICkNCi0gICAgOC4gSWYgX2dyb3VwTmFtZXNfIGlz
IG5vdCAqdW5kZWZpbmVkKiwgdGhlbg0KLSAgICAgIGEuIExldCBfZ3JvdXBzXyBiZSAhIE9iamVj
dENyZWF0ZSgqbnVsbCopLg0KLSAgICA5LiBFbHNlLA0KLSAgICAgIGEuIExldCBfZ3JvdXBzXyBi
ZSAqdW5kZWZpbmVkKi4NCi0gICAgMTAuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHkoX0Ff
LCBgImdyb3VwcyJgLCBfZ3JvdXBzXykuDQotLS0tKi8NCi0NCi0NCi0vLyBgZ3JvdXBzYCBpcyBj
cmVhdGVkIHdpdGggRGVmaW5lLCBub3QgU2V0Lg0KLWxldCBjb3VudGVyID0gMDsNCi1PYmplY3Qu
ZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiZ3JvdXBzIiwgew0KLSAgc2V0KCkgeyBj
b3VudGVyKys7IH0NCi19KTsNCi0NCi1sZXQgaW5kaWNlcyA9IC8oPzx4Pi4pLy5leGVjKCJhIiku
aW5kaWNlczsNCi1hc3NlcnQuc2FtZVZhbHVlKGNvdW50ZXIsIDApOw0KLQ0KLS8vIGBncm91cHNg
IGlzIHdyaXRhYmxlLCBlbnVtZXJhYmxlIGFuZCBjb25maWd1cmFibGUNCi0vLyAoZnJvbSBDcmVh
dGVEYXRhUHJvcGVydHkpLg0KLXZlcmlmeVByb3BlcnR5KGluZGljZXMsICdncm91cHMnLCB7DQot
ICAgIHdyaXRhYmxlOiB0cnVlLA0KLSAgICBlbnVtZXJhYmxlOiB0cnVlLA0KLSAgICBjb25maWd1
cmFibGU6IHRydWUNCi19KTsNCi0NCi0vLyBUaGUgYF9fcHJvdG9fX2AgcHJvcGVydHkgb24gdGhl
IGdyb3VwcyBvYmplY3QgaXMgbm90IHNwZWNpYWwsDQotLy8gYW5kIGRvZXMgbm90IGFmZmVjdCB0
aGUgW1tQcm90b3R5cGVdXSBvZiB0aGUgcmVzdWx0aW5nIGdyb3VwcyBvYmplY3QuDQotbGV0IHtn
cm91cHN9ID0gLyg/PF9fcHJvdG9fXz4uKS8uZXhlYygiYSIpLmluZGljZXM7DQotYXNzZXJ0LmNv
bXBhcmVBcnJheShbMCwgMV0sIGdyb3Vwcy5fX3Byb3RvX18pOw0KLWFzc2VydC5zYW1lVmFsdWUo
bnVsbCwgT2JqZWN0LmdldFByb3RvdHlwZU9mKGdyb3VwcykpOw0KKy8vIENvcHlyaWdodCAyMDE5
IFJvbiBCdWNrdG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0t
LQorZGVzY3JpcHRpb246IFRoZSBncm91cHMgb2JqZWN0IG9mIGluZGljZXMgaXMgY3JlYXRlZCB3
aXRoIENyZWF0ZURhdGFQcm9wZXJ0eQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanMsIHByb3Bl
cnR5SGVscGVyLmpzXQorZXNpZDogc2VjLW1ha2VpbmRpY2VzYXJyYXkKK2ZlYXR1cmVzOiBbcmVn
ZXhwLW5hbWVkLWdyb3VwcywgcmVnZXhwLW1hdGNoLWluZGljZXNdCitpbmZvOiB8CisgIE1ha2VJ
bmRpY2VzQXJyYXkgKCBTLCBpbmRpY2VzLCBncm91cE5hbWVzICkKKyAgICA4LiBJZiBfZ3JvdXBO
YW1lc18gaXMgbm90ICp1bmRlZmluZWQqLCB0aGVuCisgICAgICBhLiBMZXQgX2dyb3Vwc18gYmUg
ISBPYmplY3RDcmVhdGUoKm51bGwqKS4KKyAgICA5LiBFbHNlLAorICAgICAgYS4gTGV0IF9ncm91
cHNfIGJlICp1bmRlZmluZWQqLgorICAgIDEwLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5
KF9BXywgYCJncm91cHMiYCwgX2dyb3Vwc18pLgorLS0tKi8KKworCisvLyBgZ3JvdXBzYCBpcyBj
cmVhdGVkIHdpdGggRGVmaW5lLCBub3QgU2V0LgorbGV0IGNvdW50ZXIgPSAwOworT2JqZWN0LmRl
ZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImdyb3VwcyIsIHsKKyAgc2V0KCkgeyBjb3Vu
dGVyKys7IH0KK30pOworCitsZXQgaW5kaWNlcyA9IC8oPzx4Pi4pLy5leGVjKCJhIikuaW5kaWNl
czsKK2Fzc2VydC5zYW1lVmFsdWUoY291bnRlciwgMCk7CisKKy8vIGBncm91cHNgIGlzIHdyaXRh
YmxlLCBlbnVtZXJhYmxlIGFuZCBjb25maWd1cmFibGUKKy8vIChmcm9tIENyZWF0ZURhdGFQcm9w
ZXJ0eSkuCit2ZXJpZnlQcm9wZXJ0eShpbmRpY2VzLCAnZ3JvdXBzJywgeworICAgIHdyaXRhYmxl
OiB0cnVlLAorICAgIGVudW1lcmFibGU6IHRydWUsCisgICAgY29uZmlndXJhYmxlOiB0cnVlCit9
KTsKKworLy8gVGhlIGBfX3Byb3RvX19gIHByb3BlcnR5IG9uIHRoZSBncm91cHMgb2JqZWN0IGlz
IG5vdCBzcGVjaWFsLAorLy8gYW5kIGRvZXMgbm90IGFmZmVjdCB0aGUgW1tQcm90b3R5cGVdXSBv
ZiB0aGUgcmVzdWx0aW5nIGdyb3VwcyBvYmplY3QuCitsZXQge2dyb3Vwc30gPSAvKD88X19wcm90
b19fPi4pLy5leGVjKCJhIikuaW5kaWNlczsKK2Fzc2VydC5jb21wYXJlQXJyYXkoWzAsIDFdLCBn
cm91cHMuX19wcm90b19fKTsKK2Fzc2VydC5zYW1lVmFsdWUobnVsbCwgT2JqZWN0LmdldFByb3Rv
dHlwZU9mKGdyb3VwcykpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtZ3JvdXBzLXByb3BlcnRpZXMuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2Vz
L2luZGljZXMtZ3JvdXBzLXByb3BlcnRpZXMuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWdy
b3Vwcy1wcm9wZXJ0aWVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM1ICsxLDM1IEBACi0vLyBD
b3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi0vLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuDQotDQotLyotLS0NCi1kZXNjcmlwdGlvbjogUHJvcGVydGllcyBvZiB0aGUgZ3JvdXBz
IG9iamVjdCBvZiBpbmRpY2VzIGFyZSBjcmVhdGVkIHdpdGggQ3JlYXRlRGF0YVByb3BlcnR5DQot
aW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanMsIHByb3BlcnR5SGVscGVyLmpzXQ0KLWVzaWQ6IHNl
Yy1tYWtlaW5kaWNlc2FycmF5DQotZmVhdHVyZXM6IFtyZWdleHAtbmFtZWQtZ3JvdXBzLCByZWdl
eHAtbWF0Y2gtaW5kaWNlc10NCi1pbmZvOiB8DQotICBNYWtlSW5kaWNlc0FycmF5ICggUywgaW5k
aWNlcywgZ3JvdXBOYW1lcyApDQotICAgIDExLiBGb3IgZWFjaCBpbnRlZ2VyIF9pXyBzdWNoIHRo
YXQgX2lfID49IDAgYW5kIF9pXyA8IF9uXywgZG8NCi0gICAgICBlLiBJZiBfZ3JvdXBOYW1lc18g
aXMgbm90ICp1bmRmaW5lZCogYW5kIF9ncm91cE5hbWVzX1tfaV9dIGlzIG5vdCAqdW5kZWZpbmVk
KiwgdGhlbg0KLSAgICAgICAgaS4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eShfZ3JvdXBz
XywgX2dyb3VwTmFtZXNfW19pX10sIF9tYXRjaEluZGljZXNBcnJheV8pLg0KLS0tLSovDQotDQot
DQotLy8gUHJvcGVydGllcyBjcmVhdGVkIG9uIHJlc3VsdC5ncm91cHMgaW4gdGV4dHVhbCBvcmRl
ci4NCi1sZXQgZ3JvdXBOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKC8oPzxmc3Q+
Lil8KD88c25kPi4pL3UuZXhlYygiYWJjZCIpLmluZGljZXMuZ3JvdXBzKTsNCi1hc3NlcnQuY29t
cGFyZUFycmF5KGdyb3VwTmFtZXMsIFsiZnN0IiwgInNuZCJdKTsNCi0NCi0vLyAvLyBQcm9wZXJ0
aWVzIGFyZSBjcmVhdGVkIHdpdGggRGVmaW5lLCBub3QgU2V0DQotLy8gbGV0IGNvdW50ZXIgPSAw
Ow0KLS8vIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAneCcsIHtzZXQo
KSB7IGNvdW50ZXIrKzsgfX0pOw0KLQ0KLWxldCBpbmRpY2VzID0gLyg/PHg+LikvLmV4ZWMoJ2En
KS5pbmRpY2VzOw0KLWxldCBncm91cHMgPSBpbmRpY2VzLmdyb3VwczsNCi0vLyBhc3NlcnQuc2Ft
ZVZhbHVlKGNvdW50ZXIsIDApOw0KLQ0KLS8vIFByb3BlcnRpZXMgYXJlIHdyaXRhYmxlLCBlbnVt
ZXJhYmxlIGFuZCBjb25maWd1cmFibGUNCi0vLyAoZnJvbSBDcmVhdGVEYXRhUHJvcGVydHkpDQot
dmVyaWZ5UHJvcGVydHkoZ3JvdXBzLCAneCcsIHsNCi0gICAgd3JpdGFibGU6IHRydWUsDQotICAg
IGVudW1lcmFibGU6IHRydWUsDQotICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KLX0pOw0KKy8vIENv
cHlyaWdodCAyMDE5IFJvbiBCdWNrdG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZGVzY3JpcHRpb246IFByb3BlcnRpZXMgb2YgdGhlIGdyb3VwcyBvYmpl
Y3Qgb2YgaW5kaWNlcyBhcmUgY3JlYXRlZCB3aXRoIENyZWF0ZURhdGFQcm9wZXJ0eQoraW5jbHVk
ZXM6IFtjb21wYXJlQXJyYXkuanMsIHByb3BlcnR5SGVscGVyLmpzXQorZXNpZDogc2VjLW1ha2Vp
bmRpY2VzYXJyYXkKK2ZlYXR1cmVzOiBbcmVnZXhwLW5hbWVkLWdyb3VwcywgcmVnZXhwLW1hdGNo
LWluZGljZXNdCitpbmZvOiB8CisgIE1ha2VJbmRpY2VzQXJyYXkgKCBTLCBpbmRpY2VzLCBncm91
cE5hbWVzICkKKyAgICAxMS4gRm9yIGVhY2ggaW50ZWdlciBfaV8gc3VjaCB0aGF0IF9pXyA+PSAw
IGFuZCBfaV8gPCBfbl8sIGRvCisgICAgICBlLiBJZiBfZ3JvdXBOYW1lc18gaXMgbm90ICp1bmRm
aW5lZCogYW5kIF9ncm91cE5hbWVzX1tfaV9dIGlzIG5vdCAqdW5kZWZpbmVkKiwgdGhlbgorICAg
ICAgICBpLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5KF9ncm91cHNfLCBfZ3JvdXBOYW1l
c19bX2lfXSwgX21hdGNoSW5kaWNlc0FycmF5XykuCistLS0qLworCisKKy8vIFByb3BlcnRpZXMg
Y3JlYXRlZCBvbiByZXN1bHQuZ3JvdXBzIGluIHRleHR1YWwgb3JkZXIuCitsZXQgZ3JvdXBOYW1l
cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKC8oPzxmc3Q+Lil8KD88c25kPi4pL3UuZXhl
YygiYWJjZCIpLmluZGljZXMuZ3JvdXBzKTsKK2Fzc2VydC5jb21wYXJlQXJyYXkoZ3JvdXBOYW1l
cywgWyJmc3QiLCAic25kIl0pOworCisvLyAvLyBQcm9wZXJ0aWVzIGFyZSBjcmVhdGVkIHdpdGgg
RGVmaW5lLCBub3QgU2V0CisvLyBsZXQgY291bnRlciA9IDA7CisvLyBPYmplY3QuZGVmaW5lUHJv
cGVydHkoT2JqZWN0LnByb3RvdHlwZSwgJ3gnLCB7c2V0KCkgeyBjb3VudGVyKys7IH19KTsKKwor
bGV0IGluZGljZXMgPSAvKD88eD4uKS8uZXhlYygnYScpLmluZGljZXM7CitsZXQgZ3JvdXBzID0g
aW5kaWNlcy5ncm91cHM7CisvLyBhc3NlcnQuc2FtZVZhbHVlKGNvdW50ZXIsIDApOworCisvLyBQ
cm9wZXJ0aWVzIGFyZSB3cml0YWJsZSwgZW51bWVyYWJsZSBhbmQgY29uZmlndXJhYmxlCisvLyAo
ZnJvbSBDcmVhdGVEYXRhUHJvcGVydHkpCit2ZXJpZnlQcm9wZXJ0eShncm91cHMsICd4Jywgewor
ICAgIHdyaXRhYmxlOiB0cnVlLAorICAgIGVudW1lcmFibGU6IHRydWUsCisgICAgY29uZmlndXJh
YmxlOiB0cnVlCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLXByb3BlcnR5LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLXBy
b3BlcnR5LmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1wcm9wZXJ0eS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSwyOSArMSwyOSBAQAotLy8gQ29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuDQotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLg0KLQ0KLS8qLS0tDQotZGVzY3JpcHRp
b246IFRoZSAiaW5kaWNlcyIgcHJvcGVydHkgaXMgY3JlYXRlZCB3aXRoIERlZmluZVByb3BlcnR5
T3JUaHJvdw0KLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdDQotZXNpZDogc2VjLXJlZ2V4
cGJ1aWx0aW5leGVjDQotZmVhdHVyZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10NCi1pbmZvOiB8
DQotICBSdW50aW1lIFNlbWFudGljczogUmVnRXhwQnVpbHRpbkV4ZWMgKCBSLCBTICkNCi0gICAg
MzQuIExldCBfaW5kaWNlc0FycmF5XyBiZSBNYWtlSW5kaWNlc0FycmF5KF9TXywgX2luZGljZXNf
LCBfZ3JvdXBOYW1lc18pLg0KLSAgICAzNS4gUGVyZm9ybSAhIERlZmluZVByb3BlcnR5T3JUaHJv
dyhfQV8sIGAiaW5kaWNlcyJgLCBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW1ZhbHVlXV06IF9pbmRp
Y2VzQXJyYXlfLCBbW1dyaXRhYmxlXV06ICpmYWxzZSosIFtbRW51bWVyYWJsZV1dOiAqZmFsc2Uq
LCBbW0NvbmZpZ3VyYWJsZV1dOiAqdHJ1ZSogfSkuDQotLS0tKi8NCi0NCi0vLyBgaW5kaWNlc2Ag
aXMgY3JlYXRlZCB3aXRoIERlZmluZSwgbm90IFNldC4NCi1sZXQgY291bnRlciA9IDA7DQotT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImluZGljZXMiLCB7DQotICBzZXQo
KSB7IGNvdW50ZXIrKzsgfQ0KLX0pOw0KLQ0KLWxldCBtYXRjaCA9IC9hLy5leGVjKCJhIik7DQot
YXNzZXJ0LnNhbWVWYWx1ZShjb3VudGVyLCAwKTsNCi0NCi0vLyBgaW5kaWNlc2AgaXMgYSBub24t
d3JpdGFibGUsIG5vbi1lbnVtZXJhYmxlLCBhbmQgY29uZmlndXJhYmxlIGRhdGEtcHJvcGVydHku
DQotdmVyaWZ5UHJvcGVydHkobWF0Y2gsICdpbmRpY2VzJywgew0KLSAgd3JpdGFibGU6IHRydWUs
DQotICBlbnVtZXJhYmxlOiB0cnVlLA0KLSAgY29uZmlndXJhYmxlOiB0cnVlDQotfSk7DQorLy8g
Q29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCisKKy8qLS0tCitkZXNjcmlwdGlvbjogVGhlICJpbmRpY2VzIiBwcm9wZXJ0eSBpcyBj
cmVhdGVkIHdpdGggRGVmaW5lUHJvcGVydHlPclRocm93CitpbmNsdWRlczogW3Byb3BlcnR5SGVs
cGVyLmpzXQorZXNpZDogc2VjLXJlZ2V4cGJ1aWx0aW5leGVjCitmZWF0dXJlczogW3JlZ2V4cC1t
YXRjaC1pbmRpY2VzXQoraW5mbzogfAorICBSdW50aW1lIFNlbWFudGljczogUmVnRXhwQnVpbHRp
bkV4ZWMgKCBSLCBTICkKKyAgICAzNC4gTGV0IF9pbmRpY2VzQXJyYXlfIGJlIE1ha2VJbmRpY2Vz
QXJyYXkoX1NfLCBfaW5kaWNlc18sIF9ncm91cE5hbWVzXykuCisgICAgMzUuIFBlcmZvcm0gISBE
ZWZpbmVQcm9wZXJ0eU9yVGhyb3coX0FfLCBgImluZGljZXMiYCwgUHJvcGVydHlEZXNjcmlwdG9y
IHsgW1tWYWx1ZV1dOiBfaW5kaWNlc0FycmF5XywgW1tXcml0YWJsZV1dOiAqZmFsc2UqLCBbW0Vu
dW1lcmFibGVdXTogKmZhbHNlKiwgW1tDb25maWd1cmFibGVdXTogKnRydWUqIH0pLgorLS0tKi8K
KworLy8gYGluZGljZXNgIGlzIGNyZWF0ZWQgd2l0aCBEZWZpbmUsIG5vdCBTZXQuCitsZXQgY291
bnRlciA9IDA7CitPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiaW5kaWNl
cyIsIHsKKyAgc2V0KCkgeyBjb3VudGVyKys7IH0KK30pOworCitsZXQgbWF0Y2ggPSAvYS8uZXhl
YygiYSIpOworYXNzZXJ0LnNhbWVWYWx1ZShjb3VudGVyLCAwKTsKKworLy8gYGluZGljZXNgIGlz
IGEgbm9uLXdyaXRhYmxlLCBub24tZW51bWVyYWJsZSwgYW5kIGNvbmZpZ3VyYWJsZSBkYXRhLXBy
b3BlcnR5LgordmVyaWZ5UHJvcGVydHkobWF0Y2gsICdpbmRpY2VzJywgeworICB3cml0YWJsZTog
dHJ1ZSwKKyAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlCit9KTsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxh
Y2VBbGwvZ2V0U3Vic3RpdHV0aW9uLTB4MDAyNC0weDAwM0MuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9n
ZXRTdWJzdGl0dXRpb24tMHgwMDI0LTB4MDAzQy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL2dldFN1
YnN0aXR1dGlvbi0weDAwMjQtMHgwMDNDLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzEg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXN0cmluZy5wcm90b3R5cGUucmVw
bGFjZWFsbAorZGVzY3JpcHRpb246ID4KKyAgUmVwbGFjZW1lbnQgVGV4dCBTeW1ib2wgU3Vic3Rp
dHV0aW9ucyAoJDwpCitpbmZvOiB8CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCAoIHNl
YXJjaFZhbHVlLCByZXBsYWNlVmFsdWUgKQorCisgIDEwLiBMZXQgcG9zaXRpb24gYmUgISBTdHJp
bmdJbmRleE9mKHN0cmluZywgc2VhcmNoU3RyaW5nLCAwKS4KKyAgMTEuIFJlcGVhdCwgd2hpbGUg
cG9zaXRpb24gaXMgbm90IC0xCisgICAgYS4gQXBwZW5kIHBvc2l0aW9uIHRvIHRoZSBlbmQgb2Yg
bWF0Y2hQb3NpdGlvbnMuCisgICAgYi4gTGV0IHBvc2l0aW9uIGJlICEgU3RyaW5nSW5kZXhPZihz
dHJpbmcsIHNlYXJjaFN0cmluZywgcG9zaXRpb24gKyBhZHZhbmNlQnkpLiAKKyAgLi4uCisgIDE0
LiBGb3IgZWFjaCBwb3NpdGlvbiBpbiBtYXRjaFBvc2l0aW9ucywgZG8KKyAgICBhLiBJZiBmdW5j
dGlvbmFsUmVwbGFjZSBpcyB0cnVlLCB0aGVuCisgICAgICAuLi4KKyAgICBiLiBFbHNlLAorICAg
ICAgLi4uCisgICAgICBpaS4gTGV0IGNhcHR1cmVzIGJlIGEgbmV3IGVtcHR5IExpc3QuCisgICAg
ICBpaWkuIExldCByZXBsYWNlbWVudCBiZSBHZXRTdWJzdGl0dXRpb24oc2VhcmNoU3RyaW5nLCBz
dHJpbmcsIHBvc2l0aW9uLCBjYXB0dXJlcywgdW5kZWZpbmVkLCByZXBsYWNlVmFsdWUpLgorCisg
IFN0cmluZ0luZGV4T2YgKCBzdHJpbmcsIHNlYXJjaFZhbHVlLCBmcm9tSW5kZXggKQorCisgIC4u
LgorICA0LiBMZXQgbGVuIGJlIHRoZSBsZW5ndGggb2Ygc3RyaW5nLgorICA1LiBJZiBzZWFyY2hW
YWx1ZSBpcyB0aGUgZW1wdHkgc3RyaW5nLCBhbmQgZnJvbUluZGV4IDw9IGxlbiwgcmV0dXJuIGZy
b21JbmRleC4KKyAgNi4gTGV0IHNlYXJjaExlbiBiZSB0aGUgbGVuZ3RoIG9mIHNlYXJjaFZhbHVl
LgorICA3LiBJZiB0aGVyZSBleGlzdHMgYW55IGludGVnZXIgayBzdWNoIHRoYXQgZnJvbUluZGV4
IOKJpCBrIOKJpCBsZW4gLSBzZWFyY2hMZW4gYW5kIGZvciBhbGwgbm9ubmVnYXRpdmUgaW50ZWdl
cnMgaiBsZXNzIHRoYW4gc2VhcmNoTGVuLCB0aGUgY29kZSB1bml0IGF0IGluZGV4IGsgKyBqIHdp
dGhpbiBzdHJpbmcgaXMgdGhlIHNhbWUgYXMgdGhlIGNvZGUgdW5pdCBhdCBpbmRleCBqIHdpdGhp
biBzZWFyY2hWYWx1ZSwgbGV0IHBvcyBiZSB0aGUgc21hbGxlc3QgKGNsb3Nlc3QgdG8gLeKInikg
c3VjaCBpbnRlZ2VyLiBPdGhlcndpc2UsIGxldCBwb3MgYmUgLTEuCisgIDguIFJldHVybiBwb3Mu
IAorCisgIFJ1bnRpbWUgU2VtYW50aWNzOiBHZXRTdWJzdGl0dXRpb24gKCBtYXRjaGVkLCBzdHIs
IHBvc2l0aW9uLCBjYXB0dXJlcywgbmFtZWRDYXB0dXJlcywgcmVwbGFjZW1lbnQgKQorCisgIC4u
LgorICAyLiBMZXQgbWF0Y2hMZW5ndGggYmUgdGhlIG51bWJlciBvZiBjb2RlIHVuaXRzIGluIG1h
dGNoZWQuCisgIC4uLgorICA0LiBMZXQgc3RyaW5nTGVuZ3RoIGJlIHRoZSBudW1iZXIgb2YgY29k
ZSB1bml0cyBpbiBzdHIuCisgIC4uLgorICA5LiBMZXQgdGFpbFBvcyBiZSBwb3NpdGlvbiArIG1h
dGNoTGVuZ3RoLgorICAxMC4gTGV0IG0gYmUgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBjYXB0
dXJlcy4KKyAgMTEuIExldCByZXN1bHQgYmUgdGhlIFN0cmluZyB2YWx1ZSBkZXJpdmVkIGZyb20g
cmVwbGFjZW1lbnQgYnkgY29weWluZyBjb2RlIHVuaXQgZWxlbWVudHMgZnJvbSByZXBsYWNlbWVu
dCB0byByZXN1bHQgd2hpbGUgcGVyZm9ybWluZyByZXBsYWNlbWVudHMgYXMgc3BlY2lmaWVkIGlu
IFRhYmxlIDUzLiBUaGVzZSAkIHJlcGxhY2VtZW50cyBhcmUgZG9uZSBsZWZ0LXRvLXJpZ2h0LCBh
bmQsIG9uY2Ugc3VjaCBhIHJlcGxhY2VtZW50IGlzIHBlcmZvcm1lZCwgdGhlIG5ldyByZXBsYWNl
bWVudCB0ZXh0IGlzIG5vdCBzdWJqZWN0IHRvIGZ1cnRoZXIgcmVwbGFjZW1lbnRzLgorICAxMiBS
ZXR1cm4gcmVzdWx0LgorCisgIFRhYmxlIDUzOiBSZXBsYWNlbWVudCBUZXh0IFN5bWJvbCBTdWJz
dGl0dXRpb25zCisgIC4uLgorCisgICQ8CisgIDEuIElmIG5hbWVkQ2FwdHVyZXMgaXMgdW5kZWZp
bmVkLCB0aGUgcmVwbGFjZW1lbnQgdGV4dCBpcyB0aGUgU3RyaW5nICIkPCIuCisgIC4uLgorZmVh
dHVyZXM6IFtTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwsIFN5bWJvbC5yZXBsYWNlXQorLS0t
Ki8KKwordmFyIHN0ciA9ICdhYWFhYWFhYWFhYWFhYWFhIGFhYWFhYWFhIGFhYWFhYWFhYWFhYWFh
YWEnOworCit2YXIgcmVzdWx0OworCisvLyBjYXB0dXJlcyBpcyBhbHdheXMgYW4gZW1wdHkgbGlz
dCBpZiBHZXRTdWJzdGl0dXRpb24gaXMgY2FsbGVkIGZyb20gdGhlIHN0cmluZyB2YWx1ZSBvZiBT
ZWFyY2hWYWx1ZQorCityZXN1bHQgPSBzdHIucmVwbGFjZUFsbCgnYScsICckPCcpOworYXNzZXJ0
LnNhbWVWYWx1ZShyZXN1bHQsICckPCQ8JDwkPCQ8JDwkPCQ8JDwkPCQ8JDwkPCQ8JDwkPCAkPCQ8
JDwkPCQ8JDwkPCQ8ICQ8JDwkPCQ8JDwkPCQ8JDwkPCQ8JDwkPCQ8JDwkPCQ8Jyk7CisKK3ZhciBj
dXN0b21SRSA9IC8uL2c7CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShjdXN0b21SRSwgU3ltYm9s
LnJlcGxhY2UsIHsKKyAgdmFsdWU6IHVuZGVmaW5lZAorfSk7CisKK3Jlc3VsdCA9ICctLS0tLS0t
LS0tLS0tLS0tLS0tIC8uL2cgLS0tLS0tLS8uL2cnLnJlcGxhY2VBbGwoY3VzdG9tUkUsICdhKCQ8
JDwpJyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJy0tLS0tLS0tLS0tLS0tLS0tLS0gYSgk
PCQ8KSAtLS0tLS0tYSgkPCQ8KScpOworCkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL2dldFN1YnN0aXR1dGlvbi0weDAwMjQt
MHgwMDI0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvZ2V0U3Vic3RpdHV0aW9uLTB4MDAyNC0weDAwMjQu
anMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmlu
Zy9wcm90b3R5cGUvcmVwbGFjZUFsbC9nZXRTdWJzdGl0dXRpb24tMHgwMDI0LTB4MDAyNC5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcwIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVv
IEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Vz
aWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VhbGwKK2Rlc2NyaXB0aW9uOiA+CisgIFJl
cGxhY2VtZW50IFRleHQgU3ltYm9sIFN1YnN0aXR1dGlvbnMgKCQkKQoraW5mbzogfAorICBTdHJp
bmcucHJvdG90eXBlLnJlcGxhY2VBbGwgKCBzZWFyY2hWYWx1ZSwgcmVwbGFjZVZhbHVlICkKKwor
ICAxMC4gTGV0IHBvc2l0aW9uIGJlICEgU3RyaW5nSW5kZXhPZihzdHJpbmcsIHNlYXJjaFN0cmlu
ZywgMCkuCisgIDExLiBSZXBlYXQsIHdoaWxlIHBvc2l0aW9uIGlzIG5vdCAtMQorICAgIGEuIEFw
cGVuZCBwb3NpdGlvbiB0byB0aGUgZW5kIG9mIG1hdGNoUG9zaXRpb25zLgorICAgIGIuIExldCBw
b3NpdGlvbiBiZSAhIFN0cmluZ0luZGV4T2Yoc3RyaW5nLCBzZWFyY2hTdHJpbmcsIHBvc2l0aW9u
ICsgYWR2YW5jZUJ5KS4gCisgIC4uLgorICAxNC4gRm9yIGVhY2ggcG9zaXRpb24gaW4gbWF0Y2hQ
b3NpdGlvbnMsIGRvCisgICAgYS4gSWYgZnVuY3Rpb25hbFJlcGxhY2UgaXMgdHJ1ZSwgdGhlbgor
ICAgICAgLi4uCisgICAgYi4gRWxzZSwKKyAgICAgIC4uLgorICAgICAgaWkuIExldCBjYXB0dXJl
cyBiZSBhIG5ldyBlbXB0eSBMaXN0LgorICAgICAgaWlpLiBMZXQgcmVwbGFjZW1lbnQgYmUgR2V0
U3Vic3RpdHV0aW9uKHNlYXJjaFN0cmluZywgc3RyaW5nLCBwb3NpdGlvbiwgY2FwdHVyZXMsIHVu
ZGVmaW5lZCwgcmVwbGFjZVZhbHVlKS4KKworICBTdHJpbmdJbmRleE9mICggc3RyaW5nLCBzZWFy
Y2hWYWx1ZSwgZnJvbUluZGV4ICkKKworICAuLi4KKyAgNC4gTGV0IGxlbiBiZSB0aGUgbGVuZ3Ro
IG9mIHN0cmluZy4KKyAgNS4gSWYgc2VhcmNoVmFsdWUgaXMgdGhlIGVtcHR5IHN0cmluZywgYW5k
IGZyb21JbmRleCA8PSBsZW4sIHJldHVybiBmcm9tSW5kZXguCisgIDYuIExldCBzZWFyY2hMZW4g
YmUgdGhlIGxlbmd0aCBvZiBzZWFyY2hWYWx1ZS4KKyAgNy4gSWYgdGhlcmUgZXhpc3RzIGFueSBp
bnRlZ2VyIGsgc3VjaCB0aGF0IGZyb21JbmRleCDiiaQgayDiiaQgbGVuIC0gc2VhcmNoTGVuIGFu
ZCBmb3IgYWxsIG5vbm5lZ2F0aXZlIGludGVnZXJzIGogbGVzcyB0aGFuIHNlYXJjaExlbiwgdGhl
IGNvZGUgdW5pdCBhdCBpbmRleCBrICsgaiB3aXRoaW4gc3RyaW5nIGlzIHRoZSBzYW1lIGFzIHRo
ZSBjb2RlIHVuaXQgYXQgaW5kZXggaiB3aXRoaW4gc2VhcmNoVmFsdWUsIGxldCBwb3MgYmUgdGhl
IHNtYWxsZXN0IChjbG9zZXN0IHRvIC3iiJ4pIHN1Y2ggaW50ZWdlci4gT3RoZXJ3aXNlLCBsZXQg
cG9zIGJlIC0xLgorICA4LiBSZXR1cm4gcG9zLiAKKworICBSdW50aW1lIFNlbWFudGljczogR2V0
U3Vic3RpdHV0aW9uICggbWF0Y2hlZCwgc3RyLCBwb3NpdGlvbiwgY2FwdHVyZXMsIG5hbWVkQ2Fw
dHVyZXMsIHJlcGxhY2VtZW50ICkKKworICAuLi4KKyAgMi4gTGV0IG1hdGNoTGVuZ3RoIGJlIHRo
ZSBudW1iZXIgb2YgY29kZSB1bml0cyBpbiBtYXRjaGVkLgorICAuLi4KKyAgNC4gTGV0IHN0cmlu
Z0xlbmd0aCBiZSB0aGUgbnVtYmVyIG9mIGNvZGUgdW5pdHMgaW4gc3RyLgorICAuLi4KKyAgOS4g
TGV0IHRhaWxQb3MgYmUgcG9zaXRpb24gKyBtYXRjaExlbmd0aC4KKyAgMTAuIExldCBtIGJlIHRo
ZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gY2FwdHVyZXMuCisgIDExLiBMZXQgcmVzdWx0IGJlIHRo
ZSBTdHJpbmcgdmFsdWUgZGVyaXZlZCBmcm9tIHJlcGxhY2VtZW50IGJ5IGNvcHlpbmcgY29kZSB1
bml0IGVsZW1lbnRzIGZyb20gcmVwbGFjZW1lbnQgdG8gcmVzdWx0IHdoaWxlIHBlcmZvcm1pbmcg
cmVwbGFjZW1lbnRzIGFzIHNwZWNpZmllZCBpbiBUYWJsZSA1My4gVGhlc2UgJCByZXBsYWNlbWVu
dHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYSByZXBsYWNlbWVudCBp
cyBwZXJmb3JtZWQsIHRoZSBuZXcgcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBm
dXJ0aGVyIHJlcGxhY2VtZW50cy4KKyAgMTIgUmV0dXJuIHJlc3VsdC4KKworICBUYWJsZSA1Mzog
UmVwbGFjZW1lbnQgVGV4dCBTeW1ib2wgU3Vic3RpdHV0aW9ucworICAuLi4KK2ZlYXR1cmVzOiBb
U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsXQorLS0tKi8KKwordmFyIHN0ciA9ICdOaW5ndcOp
bSDDqSBpZ3VhbCBhIG5pbmd1w6ltLiBUb2RvIG8gc2VyIGh1bWFubyDDqSB1bSBlc3RyYW5obyDD
rW1wYXIuJzsKKwordmFyIHJlc3VsdDsKKworcmVzdWx0ID0gc3RyLnJlcGxhY2VBbGwoJ25pbmd1
w6ltJywgJyQkJyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ05pbmd1w6ltIMOpIGlndWFs
IGEgJC4gVG9kbyBvIHNlciBodW1hbm8gw6kgdW0gZXN0cmFuaG8gw61tcGFyLicpOworCityZXN1
bHQgPSBzdHIucmVwbGFjZUFsbCgnw6knLCAnJCQnKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0
LCAnTmluZ3UkbSAkIGlndWFsIGEgbmluZ3UkbS4gVG9kbyBvIHNlciBodW1hbm8gJCB1bSBlc3Ry
YW5obyDDrW1wYXIuJyk7CisKK3Jlc3VsdCA9IHN0ci5yZXBsYWNlQWxsKCfDqScsICckJCAtJyk7
Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ05pbmd1JCAtbSAkIC0gaWd1YWwgYSBuaW5ndSQg
LW0uIFRvZG8gbyBzZXIgaHVtYW5vICQgLSB1bSBlc3RyYW5obyDDrW1wYXIuJyk7CisKK3Jlc3Vs
dCA9IHN0ci5yZXBsYWNlQWxsKCfDqScsICckJCYnKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0
LCAnTmluZ3UkJm0gJCYgaWd1YWwgYSBuaW5ndSQmbS4gVG9kbyBvIHNlciBodW1hbm8gJCYgdW0g
ZXN0cmFuaG8gw61tcGFyLicpOworCityZXN1bHQgPSBzdHIucmVwbGFjZUFsbCgnw6knLCAnJCQk
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ05pbmd1JCRtICQkIGlndWFsIGEgbmluZ3Uk
JG0uIFRvZG8gbyBzZXIgaHVtYW5vICQkIHVtIGVzdHJhbmhvIMOtbXBhci4nKTsKKworcmVzdWx0
ID0gc3RyLnJlcGxhY2VBbGwoJ8OpJywgJyQkJCQnKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0
LCAnTmluZ3UkJG0gJCQgaWd1YWwgYSBuaW5ndSQkbS4gVG9kbyBvIHNlciBodW1hbm8gJCQgdW0g
ZXN0cmFuaG8gw61tcGFyLicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9nZXRTdWJzdGl0dXRpb24tMHgwMDI0LTB4MDAy
Ni5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9yZXBsYWNlQWxsL2dldFN1YnN0aXR1dGlvbi0weDAwMjQtMHgwMDI2LmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3JlcGxhY2VBbGwvZ2V0U3Vic3RpdHV0aW9uLTB4MDAyNC0weDAwMjYuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw2NCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0
ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBz
ZWMtc3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlYWxsCitkZXNjcmlwdGlvbjogPgorICBSZXBsYWNl
bWVudCBUZXh0IFN5bWJvbCBTdWJzdGl0dXRpb25zICgkJikKK2luZm86IHwKKyAgU3RyaW5nLnBy
b3RvdHlwZS5yZXBsYWNlQWxsICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAgMTAu
IExldCBwb3NpdGlvbiBiZSAhIFN0cmluZ0luZGV4T2Yoc3RyaW5nLCBzZWFyY2hTdHJpbmcsIDAp
LgorICAxMS4gUmVwZWF0LCB3aGlsZSBwb3NpdGlvbiBpcyBub3QgLTEKKyAgICBhLiBBcHBlbmQg
cG9zaXRpb24gdG8gdGhlIGVuZCBvZiBtYXRjaFBvc2l0aW9ucy4KKyAgICBiLiBMZXQgcG9zaXRp
b24gYmUgISBTdHJpbmdJbmRleE9mKHN0cmluZywgc2VhcmNoU3RyaW5nLCBwb3NpdGlvbiArIGFk
dmFuY2VCeSkuIAorICAuLi4KKyAgMTQuIEZvciBlYWNoIHBvc2l0aW9uIGluIG1hdGNoUG9zaXRp
b25zLCBkbworICAgIGEuIElmIGZ1bmN0aW9uYWxSZXBsYWNlIGlzIHRydWUsIHRoZW4KKyAgICAg
IC4uLgorICAgIGIuIEVsc2UsCisgICAgICAuLi4KKyAgICAgIGlpLiBMZXQgY2FwdHVyZXMgYmUg
YSBuZXcgZW1wdHkgTGlzdC4KKyAgICAgIGlpaS4gTGV0IHJlcGxhY2VtZW50IGJlIEdldFN1YnN0
aXR1dGlvbihzZWFyY2hTdHJpbmcsIHN0cmluZywgcG9zaXRpb24sIGNhcHR1cmVzLCB1bmRlZmlu
ZWQsIHJlcGxhY2VWYWx1ZSkuCisKKyAgU3RyaW5nSW5kZXhPZiAoIHN0cmluZywgc2VhcmNoVmFs
dWUsIGZyb21JbmRleCApCisKKyAgLi4uCisgIDQuIExldCBsZW4gYmUgdGhlIGxlbmd0aCBvZiBz
dHJpbmcuCisgIDUuIElmIHNlYXJjaFZhbHVlIGlzIHRoZSBlbXB0eSBzdHJpbmcsIGFuZCBmcm9t
SW5kZXggPD0gbGVuLCByZXR1cm4gZnJvbUluZGV4LgorICA2LiBMZXQgc2VhcmNoTGVuIGJlIHRo
ZSBsZW5ndGggb2Ygc2VhcmNoVmFsdWUuCisgIDcuIElmIHRoZXJlIGV4aXN0cyBhbnkgaW50ZWdl
ciBrIHN1Y2ggdGhhdCBmcm9tSW5kZXgg4omkIGsg4omkIGxlbiAtIHNlYXJjaExlbiBhbmQgZm9y
IGFsbCBub25uZWdhdGl2ZSBpbnRlZ2VycyBqIGxlc3MgdGhhbiBzZWFyY2hMZW4sIHRoZSBjb2Rl
IHVuaXQgYXQgaW5kZXggayArIGogd2l0aGluIHN0cmluZyBpcyB0aGUgc2FtZSBhcyB0aGUgY29k
ZSB1bml0IGF0IGluZGV4IGogd2l0aGluIHNlYXJjaFZhbHVlLCBsZXQgcG9zIGJlIHRoZSBzbWFs
bGVzdCAoY2xvc2VzdCB0byAt4oieKSBzdWNoIGludGVnZXIuIE90aGVyd2lzZSwgbGV0IHBvcyBi
ZSAtMS4KKyAgOC4gUmV0dXJuIHBvcy4gCisKKyAgUnVudGltZSBTZW1hbnRpY3M6IEdldFN1YnN0
aXR1dGlvbiAoIG1hdGNoZWQsIHN0ciwgcG9zaXRpb24sIGNhcHR1cmVzLCBuYW1lZENhcHR1cmVz
LCByZXBsYWNlbWVudCApCisKKyAgLi4uCisgIDIuIExldCBtYXRjaExlbmd0aCBiZSB0aGUgbnVt
YmVyIG9mIGNvZGUgdW5pdHMgaW4gbWF0Y2hlZC4KKyAgLi4uCisgIDQuIExldCBzdHJpbmdMZW5n
dGggYmUgdGhlIG51bWJlciBvZiBjb2RlIHVuaXRzIGluIHN0ci4KKyAgLi4uCisgIDkuIExldCB0
YWlsUG9zIGJlIHBvc2l0aW9uICsgbWF0Y2hMZW5ndGguCisgIDEwLiBMZXQgbSBiZSB0aGUgbnVt
YmVyIG9mIGVsZW1lbnRzIGluIGNhcHR1cmVzLgorICAxMS4gTGV0IHJlc3VsdCBiZSB0aGUgU3Ry
aW5nIHZhbHVlIGRlcml2ZWQgZnJvbSByZXBsYWNlbWVudCBieSBjb3B5aW5nIGNvZGUgdW5pdCBl
bGVtZW50cyBmcm9tIHJlcGxhY2VtZW50IHRvIHJlc3VsdCB3aGlsZSBwZXJmb3JtaW5nIHJlcGxh
Y2VtZW50cyBhcyBzcGVjaWZpZWQgaW4gVGFibGUgNTMuIFRoZXNlICQgcmVwbGFjZW1lbnRzIGFy
ZSBkb25lIGxlZnQtdG8tcmlnaHQsIGFuZCwgb25jZSBzdWNoIGEgcmVwbGFjZW1lbnQgaXMgcGVy
Zm9ybWVkLCB0aGUgbmV3IHJlcGxhY2VtZW50IHRleHQgaXMgbm90IHN1YmplY3QgdG8gZnVydGhl
ciByZXBsYWNlbWVudHMuCisgIDEyIFJldHVybiByZXN1bHQuCisKKyAgVGFibGUgNTM6IFJlcGxh
Y2VtZW50IFRleHQgU3ltYm9sIFN1YnN0aXR1dGlvbnMKKyAgLi4uCitmZWF0dXJlczogW1N0cmlu
Zy5wcm90b3R5cGUucmVwbGFjZUFsbF0KKy0tLSovCisKK3ZhciBzdHIgPSAnTmluZ3XDqW0gw6kg
aWd1YWwgYSBuaW5ndcOpbS4gVG9kbyBvIHNlciBodW1hbm8gw6kgdW0gZXN0cmFuaG8gw61tcGFy
Lic7CisKK3ZhciByZXN1bHQ7CisKK3Jlc3VsdCA9IHN0ci5yZXBsYWNlQWxsKCduaW5ndcOpbScs
ICckJicpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICdOaW5ndcOpbSDDqSBpZ3VhbCBhIG5p
bmd1w6ltLiBUb2RvIG8gc2VyIGh1bWFubyDDqSB1bSBlc3RyYW5obyDDrW1wYXIuJyk7CisKK3Jl
c3VsdCA9IHN0ci5yZXBsYWNlQWxsKCduaW5ndcOpbScsICcoJCYpJyk7Cithc3NlcnQuc2FtZVZh
bHVlKHJlc3VsdCwgJ05pbmd1w6ltIMOpIGlndWFsIGEgKG5pbmd1w6ltKS4gVG9kbyBvIHNlciBo
dW1hbm8gw6kgdW0gZXN0cmFuaG8gw61tcGFyLicpOworCityZXN1bHQgPSBzdHIucmVwbGFjZUFs
bCgnw6knLCAnKCQmKScpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICdOaW5ndSjDqSltICjD
qSkgaWd1YWwgYSBuaW5ndSjDqSltLiBUb2RvIG8gc2VyIGh1bWFubyAow6kpIHVtIGVzdHJhbmhv
IMOtbXBhci4nKTsKKworcmVzdWx0ID0gc3RyLnJlcGxhY2VBbGwoJ8OpJywgJygkJikgJCYnKTsK
K2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnTmluZ3Uow6kpIMOpbSAow6kpIMOpIGlndWFsIGEg
bmluZ3Uow6kpIMOpbS4gVG9kbyBvIHNlciBodW1hbm8gKMOpKSDDqSB1bSBlc3RyYW5obyDDrW1w
YXIuJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3Rv
dHlwZS9yZXBsYWNlQWxsL2dldFN1YnN0aXR1dGlvbi0weDAwMjQtMHgwMDI3LmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3Jl
cGxhY2VBbGwvZ2V0U3Vic3RpdHV0aW9uLTB4MDAyNC0weDAwMjcuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFj
ZUFsbC9nZXRTdWJzdGl0dXRpb24tMHgwMDI0LTB4MDAyNy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDY0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJv
dG90eXBlLnJlcGxhY2VhbGwKK2Rlc2NyaXB0aW9uOiA+CisgIFJlcGxhY2VtZW50IFRleHQgU3lt
Ym9sIFN1YnN0aXR1dGlvbnMgKCQnKQoraW5mbzogfAorICBTdHJpbmcucHJvdG90eXBlLnJlcGxh
Y2VBbGwgKCBzZWFyY2hWYWx1ZSwgcmVwbGFjZVZhbHVlICkKKworICAxMC4gTGV0IHBvc2l0aW9u
IGJlICEgU3RyaW5nSW5kZXhPZihzdHJpbmcsIHNlYXJjaFN0cmluZywgMCkuCisgIDExLiBSZXBl
YXQsIHdoaWxlIHBvc2l0aW9uIGlzIG5vdCAtMQorICAgIGEuIEFwcGVuZCBwb3NpdGlvbiB0byB0
aGUgZW5kIG9mIG1hdGNoUG9zaXRpb25zLgorICAgIGIuIExldCBwb3NpdGlvbiBiZSAhIFN0cmlu
Z0luZGV4T2Yoc3RyaW5nLCBzZWFyY2hTdHJpbmcsIHBvc2l0aW9uICsgYWR2YW5jZUJ5KS4gCisg
IC4uLgorICAxNC4gRm9yIGVhY2ggcG9zaXRpb24gaW4gbWF0Y2hQb3NpdGlvbnMsIGRvCisgICAg
YS4gSWYgZnVuY3Rpb25hbFJlcGxhY2UgaXMgdHJ1ZSwgdGhlbgorICAgICAgLi4uCisgICAgYi4g
RWxzZSwKKyAgICAgIC4uLgorICAgICAgaWkuIExldCBjYXB0dXJlcyBiZSBhIG5ldyBlbXB0eSBM
aXN0LgorICAgICAgaWlpLiBMZXQgcmVwbGFjZW1lbnQgYmUgR2V0U3Vic3RpdHV0aW9uKHNlYXJj
aFN0cmluZywgc3RyaW5nLCBwb3NpdGlvbiwgY2FwdHVyZXMsIHVuZGVmaW5lZCwgcmVwbGFjZVZh
bHVlKS4KKworICBTdHJpbmdJbmRleE9mICggc3RyaW5nLCBzZWFyY2hWYWx1ZSwgZnJvbUluZGV4
ICkKKworICAuLi4KKyAgNC4gTGV0IGxlbiBiZSB0aGUgbGVuZ3RoIG9mIHN0cmluZy4KKyAgNS4g
SWYgc2VhcmNoVmFsdWUgaXMgdGhlIGVtcHR5IHN0cmluZywgYW5kIGZyb21JbmRleCA8PSBsZW4s
IHJldHVybiBmcm9tSW5kZXguCisgIDYuIExldCBzZWFyY2hMZW4gYmUgdGhlIGxlbmd0aCBvZiBz
ZWFyY2hWYWx1ZS4KKyAgNy4gSWYgdGhlcmUgZXhpc3RzIGFueSBpbnRlZ2VyIGsgc3VjaCB0aGF0
IGZyb21JbmRleCDiiaQgayDiiaQgbGVuIC0gc2VhcmNoTGVuIGFuZCBmb3IgYWxsIG5vbm5lZ2F0
aXZlIGludGVnZXJzIGogbGVzcyB0aGFuIHNlYXJjaExlbiwgdGhlIGNvZGUgdW5pdCBhdCBpbmRl
eCBrICsgaiB3aXRoaW4gc3RyaW5nIGlzIHRoZSBzYW1lIGFzIHRoZSBjb2RlIHVuaXQgYXQgaW5k
ZXggaiB3aXRoaW4gc2VhcmNoVmFsdWUsIGxldCBwb3MgYmUgdGhlIHNtYWxsZXN0IChjbG9zZXN0
IHRvIC3iiJ4pIHN1Y2ggaW50ZWdlci4gT3RoZXJ3aXNlLCBsZXQgcG9zIGJlIC0xLgorICA4LiBS
ZXR1cm4gcG9zLiAKKworICBSdW50aW1lIFNlbWFudGljczogR2V0U3Vic3RpdHV0aW9uICggbWF0
Y2hlZCwgc3RyLCBwb3NpdGlvbiwgY2FwdHVyZXMsIG5hbWVkQ2FwdHVyZXMsIHJlcGxhY2VtZW50
ICkKKworICAuLi4KKyAgMi4gTGV0IG1hdGNoTGVuZ3RoIGJlIHRoZSBudW1iZXIgb2YgY29kZSB1
bml0cyBpbiBtYXRjaGVkLgorICAuLi4KKyAgNC4gTGV0IHN0cmluZ0xlbmd0aCBiZSB0aGUgbnVt
YmVyIG9mIGNvZGUgdW5pdHMgaW4gc3RyLgorICAuLi4KKyAgOS4gTGV0IHRhaWxQb3MgYmUgcG9z
aXRpb24gKyBtYXRjaExlbmd0aC4KKyAgMTAuIExldCBtIGJlIHRoZSBudW1iZXIgb2YgZWxlbWVu
dHMgaW4gY2FwdHVyZXMuCisgIDExLiBMZXQgcmVzdWx0IGJlIHRoZSBTdHJpbmcgdmFsdWUgZGVy
aXZlZCBmcm9tIHJlcGxhY2VtZW50IGJ5IGNvcHlpbmcgY29kZSB1bml0IGVsZW1lbnRzIGZyb20g
cmVwbGFjZW1lbnQgdG8gcmVzdWx0IHdoaWxlIHBlcmZvcm1pbmcgcmVwbGFjZW1lbnRzIGFzIHNw
ZWNpZmllZCBpbiBUYWJsZSA1My4gVGhlc2UgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10
by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYSByZXBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBu
ZXcgcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50
cy4KKyAgMTIgUmV0dXJuIHJlc3VsdC4KKworICBUYWJsZSA1MzogUmVwbGFjZW1lbnQgVGV4dCBT
eW1ib2wgU3Vic3RpdHV0aW9ucworICAuLi4KK2ZlYXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5y
ZXBsYWNlQWxsXQorLS0tKi8KKwordmFyIHN0ciA9ICdOaW5ndcOpbSDDqSBpZ3VhbCBhIG5pbmd1
w6ltLiBUb2RvIG8gc2VyIGh1bWFubyDDqSB1bSBlc3RyYW5obyDDrW1wYXIuJzsKKwordmFyIHJl
c3VsdDsKKworcmVzdWx0ID0gc3RyLnJlcGxhY2VBbGwoJ25pbmd1w6ltJywgJyRcJycpOworYXNz
ZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICdOaW5ndcOpbSDDqSBpZ3VhbCBhIC4gVG9kbyBvIHNlciBo
dW1hbm8gw6kgdW0gZXN0cmFuaG8gw61tcGFyLi4gVG9kbyBvIHNlciBodW1hbm8gw6kgdW0gZXN0
cmFuaG8gw61tcGFyLicpOworCityZXN1bHQgPSBzdHIucmVwbGFjZUFsbCgnLicsICctLS0gJFwn
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ05pbmd1w6ltIMOpIGlndWFsIGEgbmluZ3XD
qW0tLS0gIFRvZG8gbyBzZXIgaHVtYW5vIMOpIHVtIGVzdHJhbmhvIMOtbXBhci4gVG9kbyBvIHNl
ciBodW1hbm8gw6kgdW0gZXN0cmFuaG8gw61tcGFyLS0tICcpOworCityZXN1bHQgPSBzdHIucmVw
bGFjZUFsbCgnw6knLCAnKCRcJyknKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnTmluZ3Uo
bSDDqSBpZ3VhbCBhIG5pbmd1w6ltLiBUb2RvIG8gc2VyIGh1bWFubyDDqSB1bSBlc3RyYW5obyDD
rW1wYXIuKW0gKCBpZ3VhbCBhIG5pbmd1w6ltLiBUb2RvIG8gc2VyIGh1bWFubyDDqSB1bSBlc3Ry
YW5obyDDrW1wYXIuKSBpZ3VhbCBhIG5pbmd1KG0uIFRvZG8gbyBzZXIgaHVtYW5vIMOpIHVtIGVz
dHJhbmhvIMOtbXBhci4pbS4gVG9kbyBvIHNlciBodW1hbm8gKCB1bSBlc3RyYW5obyDDrW1wYXIu
KSB1bSBlc3RyYW5obyDDrW1wYXIuJyk7CisKK3Jlc3VsdCA9IHN0ci5yZXBsYWNlQWxsKCfDqScs
ICcoJFwnKSAkXCcnKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnTmluZ3UobSDDqSBpZ3Vh
bCBhIG5pbmd1w6ltLiBUb2RvIG8gc2VyIGh1bWFubyDDqSB1bSBlc3RyYW5obyDDrW1wYXIuKSBt
IMOpIGlndWFsIGEgbmluZ3XDqW0uIFRvZG8gbyBzZXIgaHVtYW5vIMOpIHVtIGVzdHJhbmhvIMOt
bXBhci5tICggaWd1YWwgYSBuaW5ndcOpbS4gVG9kbyBvIHNlciBodW1hbm8gw6kgdW0gZXN0cmFu
aG8gw61tcGFyLikgIGlndWFsIGEgbmluZ3XDqW0uIFRvZG8gbyBzZXIgaHVtYW5vIMOpIHVtIGVz
dHJhbmhvIMOtbXBhci4gaWd1YWwgYSBuaW5ndShtLiBUb2RvIG8gc2VyIGh1bWFubyDDqSB1bSBl
c3RyYW5obyDDrW1wYXIuKSBtLiBUb2RvIG8gc2VyIGh1bWFubyDDqSB1bSBlc3RyYW5obyDDrW1w
YXIubS4gVG9kbyBvIHNlciBodW1hbm8gKCB1bSBlc3RyYW5obyDDrW1wYXIuKSAgdW0gZXN0cmFu
aG8gw61tcGFyLiB1bSBlc3RyYW5obyDDrW1wYXIuJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL2dldFN1YnN0aXR1dGlv
bi0weDAwMjQtMHgwMDYwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvZ2V0U3Vic3RpdHV0aW9uLTB4MDAy
NC0weDAwNjAuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9nZXRTdWJzdGl0dXRpb24tMHgwMDI0LTB4
MDA2MC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY3IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VhbGwKK2Rlc2NyaXB0aW9u
OiA+CisgIFJlcGxhY2VtZW50IFRleHQgU3ltYm9sIFN1YnN0aXR1dGlvbnMgKCRgKQoraW5mbzog
fAorICBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwgKCBzZWFyY2hWYWx1ZSwgcmVwbGFjZVZh
bHVlICkKKworICAxMC4gTGV0IHBvc2l0aW9uIGJlICEgU3RyaW5nSW5kZXhPZihzdHJpbmcsIHNl
YXJjaFN0cmluZywgMCkuCisgIDExLiBSZXBlYXQsIHdoaWxlIHBvc2l0aW9uIGlzIG5vdCAtMQor
ICAgIGEuIEFwcGVuZCBwb3NpdGlvbiB0byB0aGUgZW5kIG9mIG1hdGNoUG9zaXRpb25zLgorICAg
IGIuIExldCBwb3NpdGlvbiBiZSAhIFN0cmluZ0luZGV4T2Yoc3RyaW5nLCBzZWFyY2hTdHJpbmcs
IHBvc2l0aW9uICsgYWR2YW5jZUJ5KS4gCisgIC4uLgorICAxNC4gRm9yIGVhY2ggcG9zaXRpb24g
aW4gbWF0Y2hQb3NpdGlvbnMsIGRvCisgICAgYS4gSWYgZnVuY3Rpb25hbFJlcGxhY2UgaXMgdHJ1
ZSwgdGhlbgorICAgICAgLi4uCisgICAgYi4gRWxzZSwKKyAgICAgIC4uLgorICAgICAgaWkuIExl
dCBjYXB0dXJlcyBiZSBhIG5ldyBlbXB0eSBMaXN0LgorICAgICAgaWlpLiBMZXQgcmVwbGFjZW1l
bnQgYmUgR2V0U3Vic3RpdHV0aW9uKHNlYXJjaFN0cmluZywgc3RyaW5nLCBwb3NpdGlvbiwgY2Fw
dHVyZXMsIHVuZGVmaW5lZCwgcmVwbGFjZVZhbHVlKS4KKworICBTdHJpbmdJbmRleE9mICggc3Ry
aW5nLCBzZWFyY2hWYWx1ZSwgZnJvbUluZGV4ICkKKworICAuLi4KKyAgNC4gTGV0IGxlbiBiZSB0
aGUgbGVuZ3RoIG9mIHN0cmluZy4KKyAgNS4gSWYgc2VhcmNoVmFsdWUgaXMgdGhlIGVtcHR5IHN0
cmluZywgYW5kIGZyb21JbmRleCA8PSBsZW4sIHJldHVybiBmcm9tSW5kZXguCisgIDYuIExldCBz
ZWFyY2hMZW4gYmUgdGhlIGxlbmd0aCBvZiBzZWFyY2hWYWx1ZS4KKyAgNy4gSWYgdGhlcmUgZXhp
c3RzIGFueSBpbnRlZ2VyIGsgc3VjaCB0aGF0IGZyb21JbmRleCDiiaQgayDiiaQgbGVuIC0gc2Vh
cmNoTGVuIGFuZCBmb3IgYWxsIG5vbm5lZ2F0aXZlIGludGVnZXJzIGogbGVzcyB0aGFuIHNlYXJj
aExlbiwgdGhlIGNvZGUgdW5pdCBhdCBpbmRleCBrICsgaiB3aXRoaW4gc3RyaW5nIGlzIHRoZSBz
YW1lIGFzIHRoZSBjb2RlIHVuaXQgYXQgaW5kZXggaiB3aXRoaW4gc2VhcmNoVmFsdWUsIGxldCBw
b3MgYmUgdGhlIHNtYWxsZXN0IChjbG9zZXN0IHRvIC3iiJ4pIHN1Y2ggaW50ZWdlci4gT3RoZXJ3
aXNlLCBsZXQgcG9zIGJlIC0xLgorICA4LiBSZXR1cm4gcG9zLiAKKworICBSdW50aW1lIFNlbWFu
dGljczogR2V0U3Vic3RpdHV0aW9uICggbWF0Y2hlZCwgc3RyLCBwb3NpdGlvbiwgY2FwdHVyZXMs
IG5hbWVkQ2FwdHVyZXMsIHJlcGxhY2VtZW50ICkKKworICAuLi4KKyAgMi4gTGV0IG1hdGNoTGVu
Z3RoIGJlIHRoZSBudW1iZXIgb2YgY29kZSB1bml0cyBpbiBtYXRjaGVkLgorICAuLi4KKyAgNC4g
TGV0IHN0cmluZ0xlbmd0aCBiZSB0aGUgbnVtYmVyIG9mIGNvZGUgdW5pdHMgaW4gc3RyLgorICAu
Li4KKyAgOS4gTGV0IHRhaWxQb3MgYmUgcG9zaXRpb24gKyBtYXRjaExlbmd0aC4KKyAgMTAuIExl
dCBtIGJlIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gY2FwdHVyZXMuCisgIDExLiBMZXQgcmVz
dWx0IGJlIHRoZSBTdHJpbmcgdmFsdWUgZGVyaXZlZCBmcm9tIHJlcGxhY2VtZW50IGJ5IGNvcHlp
bmcgY29kZSB1bml0IGVsZW1lbnRzIGZyb20gcmVwbGFjZW1lbnQgdG8gcmVzdWx0IHdoaWxlIHBl
cmZvcm1pbmcgcmVwbGFjZW1lbnRzIGFzIHNwZWNpZmllZCBpbiBUYWJsZSA1My4gVGhlc2UgJCBy
ZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYSByZXBs
YWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcgcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3Vi
amVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cy4KKyAgMTIgUmV0dXJuIHJlc3VsdC4KKworICBU
YWJsZSA1MzogUmVwbGFjZW1lbnQgVGV4dCBTeW1ib2wgU3Vic3RpdHV0aW9ucworICAuLi4KK2Zl
YXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsXQorLS0tKi8KKwordmFyIHN0ciA9
ICdOaW5ndcOpbSDDqSBpZ3VhbCBhIG5pbmd1w6ltLiBUb2RvIG8gc2VyIGh1bWFubyDDqSB1bSBl
c3RyYW5obyDDrW1wYXIuJzsKKwordmFyIHJlc3VsdDsKKworcmVzdWx0ID0gc3RyLnJlcGxhY2VB
bGwoJ25pbmd1w6ltJywgJyRgJyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ05pbmd1w6lt
IMOpIGlndWFsIGEgTmluZ3XDqW0gw6kgaWd1YWwgYSAuIFRvZG8gbyBzZXIgaHVtYW5vIMOpIHVt
IGVzdHJhbmhvIMOtbXBhci4nKTsKKworcmVzdWx0ID0gc3RyLnJlcGxhY2VBbGwoJ05pbmd1w6lt
JywgJyRgJyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJyDDqSBpZ3VhbCBhIG5pbmd1w6lt
LiBUb2RvIG8gc2VyIGh1bWFubyDDqSB1bSBlc3RyYW5obyDDrW1wYXIuJyk7CisKK3Jlc3VsdCA9
IHN0ci5yZXBsYWNlQWxsKCduaW5ndcOpbScsICcoJGApJyk7Cithc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdCwgJ05pbmd1w6ltIMOpIGlndWFsIGEgKE5pbmd1w6ltIMOpIGlndWFsIGEgKS4gVG9kbyBv
IHNlciBodW1hbm8gw6kgdW0gZXN0cmFuaG8gw61tcGFyLicpOworCityZXN1bHQgPSBzdHIucmVw
bGFjZUFsbCgnw6knLCAnKCRgKScpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICdOaW5ndShO
aW5ndSltIChOaW5ndcOpbSApIGlndWFsIGEgbmluZ3UoTmluZ3XDqW0gw6kgaWd1YWwgYSBuaW5n
dSltLiBUb2RvIG8gc2VyIGh1bWFubyAoTmluZ3XDqW0gw6kgaWd1YWwgYSBuaW5ndcOpbS4gVG9k
byBvIHNlciBodW1hbm8gKSB1bSBlc3RyYW5obyDDrW1wYXIuJyk7CisKK3Jlc3VsdCA9IHN0ci5y
ZXBsYWNlQWxsKCfDqScsICcoJGApICRgJyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ05p
bmd1KE5pbmd1KSBOaW5ndW0gKE5pbmd1w6ltICkgTmluZ3XDqW0gIGlndWFsIGEgbmluZ3UoTmlu
Z3XDqW0gw6kgaWd1YWwgYSBuaW5ndSkgTmluZ3XDqW0gw6kgaWd1YWwgYSBuaW5ndW0uIFRvZG8g
byBzZXIgaHVtYW5vIChOaW5ndcOpbSDDqSBpZ3VhbCBhIG5pbmd1w6ltLiBUb2RvIG8gc2VyIGh1
bWFubyApIE5pbmd1w6ltIMOpIGlndWFsIGEgbmluZ3XDqW0uIFRvZG8gbyBzZXIgaHVtYW5vICB1
bSBlc3RyYW5obyDDrW1wYXIuJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL2dldFN1YnN0aXR1dGlvbi0weDAwMjQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90
b3R5cGUvcmVwbGFjZUFsbC9nZXRTdWJzdGl0dXRpb24tMHgwMDI0LmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxh
Y2VBbGwvZ2V0U3Vic3RpdHV0aW9uLTB4MDAyNC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDY0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBl
LnJlcGxhY2VhbGwKK2Rlc2NyaXB0aW9uOiA+CisgIFJlcGxhY2VtZW50IFRleHQgU3ltYm9sIFN1
YnN0aXR1dGlvbnMgKCQpCitpbmZvOiB8CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCAo
IHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUgKQorCisgIDEwLiBMZXQgcG9zaXRpb24gYmUgISBT
dHJpbmdJbmRleE9mKHN0cmluZywgc2VhcmNoU3RyaW5nLCAwKS4KKyAgMTEuIFJlcGVhdCwgd2hp
bGUgcG9zaXRpb24gaXMgbm90IC0xCisgICAgYS4gQXBwZW5kIHBvc2l0aW9uIHRvIHRoZSBlbmQg
b2YgbWF0Y2hQb3NpdGlvbnMuCisgICAgYi4gTGV0IHBvc2l0aW9uIGJlICEgU3RyaW5nSW5kZXhP
ZihzdHJpbmcsIHNlYXJjaFN0cmluZywgcG9zaXRpb24gKyBhZHZhbmNlQnkpLiAKKyAgLi4uCisg
IDE0LiBGb3IgZWFjaCBwb3NpdGlvbiBpbiBtYXRjaFBvc2l0aW9ucywgZG8KKyAgICBhLiBJZiBm
dW5jdGlvbmFsUmVwbGFjZSBpcyB0cnVlLCB0aGVuCisgICAgICAuLi4KKyAgICBiLiBFbHNlLAor
ICAgICAgLi4uCisgICAgICBpaS4gTGV0IGNhcHR1cmVzIGJlIGEgbmV3IGVtcHR5IExpc3QuCisg
ICAgICBpaWkuIExldCByZXBsYWNlbWVudCBiZSBHZXRTdWJzdGl0dXRpb24oc2VhcmNoU3RyaW5n
LCBzdHJpbmcsIHBvc2l0aW9uLCBjYXB0dXJlcywgdW5kZWZpbmVkLCByZXBsYWNlVmFsdWUpLgor
CisgIFN0cmluZ0luZGV4T2YgKCBzdHJpbmcsIHNlYXJjaFZhbHVlLCBmcm9tSW5kZXggKQorCisg
IC4uLgorICA0LiBMZXQgbGVuIGJlIHRoZSBsZW5ndGggb2Ygc3RyaW5nLgorICA1LiBJZiBzZWFy
Y2hWYWx1ZSBpcyB0aGUgZW1wdHkgc3RyaW5nLCBhbmQgZnJvbUluZGV4IDw9IGxlbiwgcmV0dXJu
IGZyb21JbmRleC4KKyAgNi4gTGV0IHNlYXJjaExlbiBiZSB0aGUgbGVuZ3RoIG9mIHNlYXJjaFZh
bHVlLgorICA3LiBJZiB0aGVyZSBleGlzdHMgYW55IGludGVnZXIgayBzdWNoIHRoYXQgZnJvbUlu
ZGV4IOKJpCBrIOKJpCBsZW4gLSBzZWFyY2hMZW4gYW5kIGZvciBhbGwgbm9ubmVnYXRpdmUgaW50
ZWdlcnMgaiBsZXNzIHRoYW4gc2VhcmNoTGVuLCB0aGUgY29kZSB1bml0IGF0IGluZGV4IGsgKyBq
IHdpdGhpbiBzdHJpbmcgaXMgdGhlIHNhbWUgYXMgdGhlIGNvZGUgdW5pdCBhdCBpbmRleCBqIHdp
dGhpbiBzZWFyY2hWYWx1ZSwgbGV0IHBvcyBiZSB0aGUgc21hbGxlc3QgKGNsb3Nlc3QgdG8gLeKI
nikgc3VjaCBpbnRlZ2VyLiBPdGhlcndpc2UsIGxldCBwb3MgYmUgLTEuCisgIDguIFJldHVybiBw
b3MuIAorCisgIFJ1bnRpbWUgU2VtYW50aWNzOiBHZXRTdWJzdGl0dXRpb24gKCBtYXRjaGVkLCBz
dHIsIHBvc2l0aW9uLCBjYXB0dXJlcywgbmFtZWRDYXB0dXJlcywgcmVwbGFjZW1lbnQgKQorCisg
IC4uLgorICAyLiBMZXQgbWF0Y2hMZW5ndGggYmUgdGhlIG51bWJlciBvZiBjb2RlIHVuaXRzIGlu
IG1hdGNoZWQuCisgIC4uLgorICA0LiBMZXQgc3RyaW5nTGVuZ3RoIGJlIHRoZSBudW1iZXIgb2Yg
Y29kZSB1bml0cyBpbiBzdHIuCisgIC4uLgorICA5LiBMZXQgdGFpbFBvcyBiZSBwb3NpdGlvbiAr
IG1hdGNoTGVuZ3RoLgorICAxMC4gTGV0IG0gYmUgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBj
YXB0dXJlcy4KKyAgMTEuIExldCByZXN1bHQgYmUgdGhlIFN0cmluZyB2YWx1ZSBkZXJpdmVkIGZy
b20gcmVwbGFjZW1lbnQgYnkgY29weWluZyBjb2RlIHVuaXQgZWxlbWVudHMgZnJvbSByZXBsYWNl
bWVudCB0byByZXN1bHQgd2hpbGUgcGVyZm9ybWluZyByZXBsYWNlbWVudHMgYXMgc3BlY2lmaWVk
IGluIFRhYmxlIDUzLiBUaGVzZSAkIHJlcGxhY2VtZW50cyBhcmUgZG9uZSBsZWZ0LXRvLXJpZ2h0
LCBhbmQsIG9uY2Ugc3VjaCBhIHJlcGxhY2VtZW50IGlzIHBlcmZvcm1lZCwgdGhlIG5ldyByZXBs
YWNlbWVudCB0ZXh0IGlzIG5vdCBzdWJqZWN0IHRvIGZ1cnRoZXIgcmVwbGFjZW1lbnRzLgorICAx
MiBSZXR1cm4gcmVzdWx0LgorCisgIFRhYmxlIDUzOiBSZXBsYWNlbWVudCBUZXh0IFN5bWJvbCBT
dWJzdGl0dXRpb25zCisgIC4uLgorZmVhdHVyZXM6IFtTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VB
bGxdCistLS0qLworCit2YXIgc3RyID0gJ05pbmd1w6ltIMOpIGlndWFsIGEgbmluZ3XDqW0uIFRv
ZG8gbyBzZXIgaHVtYW5vIMOpIHVtIGVzdHJhbmhvIMOtbXBhci4nOworCit2YXIgcmVzdWx0Owor
CityZXN1bHQgPSBzdHIucmVwbGFjZUFsbCgnbmluZ3XDqW0nLCAnJCcpOworYXNzZXJ0LnNhbWVW
YWx1ZShyZXN1bHQsICdOaW5ndcOpbSDDqSBpZ3VhbCBhICQuIFRvZG8gbyBzZXIgaHVtYW5vIMOp
IHVtIGVzdHJhbmhvIMOtbXBhci4nKTsKKworcmVzdWx0ID0gc3RyLnJlcGxhY2VBbGwoJ8OpJywg
JyQnKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnTmluZ3UkbSAkIGlndWFsIGEgbmluZ3Uk
bS4gVG9kbyBvIHNlciBodW1hbm8gJCB1bSBlc3RyYW5obyDDrW1wYXIuJyk7CisKK3Jlc3VsdCA9
IHN0ci5yZXBsYWNlQWxsKCfDqScsICckIC0nKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAn
TmluZ3UkIC1tICQgLSBpZ3VhbCBhIG5pbmd1JCAtbS4gVG9kbyBvIHNlciBodW1hbm8gJCAtIHVt
IGVzdHJhbmhvIMOtbXBhci4nKTsKKworcmVzdWx0ID0gc3RyLnJlcGxhY2VBbGwoJ8OpJywgJyQk
JCcpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICdOaW5ndSQkbSAkJCBpZ3VhbCBhIG5pbmd1
JCRtLiBUb2RvIG8gc2VyIGh1bWFubyAkJCB1bSBlc3RyYW5obyDDrW1wYXIuJyk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxs
L2dldFN1YnN0aXR1dGlvbi0weDAwMjROLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvZ2V0U3Vic3RpdHV0
aW9uLTB4MDAyNE4uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9nZXRTdWJzdGl0dXRpb24tMHgwMDI0
Ti5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyot
LS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VhbGwKK2Rlc2NyaXB0aW9uOiA+
CisgIFJlcGxhY2VtZW50IFRleHQgU3ltYm9sIFN1YnN0aXR1dGlvbnMgKCROKQoraW5mbzogfAor
ICBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwgKCBzZWFyY2hWYWx1ZSwgcmVwbGFjZVZhbHVl
ICkKKworICAxMC4gTGV0IHBvc2l0aW9uIGJlICEgU3RyaW5nSW5kZXhPZihzdHJpbmcsIHNlYXJj
aFN0cmluZywgMCkuCisgIDExLiBSZXBlYXQsIHdoaWxlIHBvc2l0aW9uIGlzIG5vdCAtMQorICAg
IGEuIEFwcGVuZCBwb3NpdGlvbiB0byB0aGUgZW5kIG9mIG1hdGNoUG9zaXRpb25zLgorICAgIGIu
IExldCBwb3NpdGlvbiBiZSAhIFN0cmluZ0luZGV4T2Yoc3RyaW5nLCBzZWFyY2hTdHJpbmcsIHBv
c2l0aW9uICsgYWR2YW5jZUJ5KS4gCisgIC4uLgorICAxNC4gRm9yIGVhY2ggcG9zaXRpb24gaW4g
bWF0Y2hQb3NpdGlvbnMsIGRvCisgICAgYS4gSWYgZnVuY3Rpb25hbFJlcGxhY2UgaXMgdHJ1ZSwg
dGhlbgorICAgICAgLi4uCisgICAgYi4gRWxzZSwKKyAgICAgIC4uLgorICAgICAgaWkuIExldCBj
YXB0dXJlcyBiZSBhIG5ldyBlbXB0eSBMaXN0LgorICAgICAgaWlpLiBMZXQgcmVwbGFjZW1lbnQg
YmUgR2V0U3Vic3RpdHV0aW9uKHNlYXJjaFN0cmluZywgc3RyaW5nLCBwb3NpdGlvbiwgY2FwdHVy
ZXMsIHVuZGVmaW5lZCwgcmVwbGFjZVZhbHVlKS4KKworICBTdHJpbmdJbmRleE9mICggc3RyaW5n
LCBzZWFyY2hWYWx1ZSwgZnJvbUluZGV4ICkKKworICAuLi4KKyAgNC4gTGV0IGxlbiBiZSB0aGUg
bGVuZ3RoIG9mIHN0cmluZy4KKyAgNS4gSWYgc2VhcmNoVmFsdWUgaXMgdGhlIGVtcHR5IHN0cmlu
ZywgYW5kIGZyb21JbmRleCA8PSBsZW4sIHJldHVybiBmcm9tSW5kZXguCisgIDYuIExldCBzZWFy
Y2hMZW4gYmUgdGhlIGxlbmd0aCBvZiBzZWFyY2hWYWx1ZS4KKyAgNy4gSWYgdGhlcmUgZXhpc3Rz
IGFueSBpbnRlZ2VyIGsgc3VjaCB0aGF0IGZyb21JbmRleCDiiaQgayDiiaQgbGVuIC0gc2VhcmNo
TGVuIGFuZCBmb3IgYWxsIG5vbm5lZ2F0aXZlIGludGVnZXJzIGogbGVzcyB0aGFuIHNlYXJjaExl
biwgdGhlIGNvZGUgdW5pdCBhdCBpbmRleCBrICsgaiB3aXRoaW4gc3RyaW5nIGlzIHRoZSBzYW1l
IGFzIHRoZSBjb2RlIHVuaXQgYXQgaW5kZXggaiB3aXRoaW4gc2VhcmNoVmFsdWUsIGxldCBwb3Mg
YmUgdGhlIHNtYWxsZXN0IChjbG9zZXN0IHRvIC3iiJ4pIHN1Y2ggaW50ZWdlci4gT3RoZXJ3aXNl
LCBsZXQgcG9zIGJlIC0xLgorICA4LiBSZXR1cm4gcG9zLiAKKworICBSdW50aW1lIFNlbWFudGlj
czogR2V0U3Vic3RpdHV0aW9uICggbWF0Y2hlZCwgc3RyLCBwb3NpdGlvbiwgY2FwdHVyZXMsIG5h
bWVkQ2FwdHVyZXMsIHJlcGxhY2VtZW50ICkKKworICAuLi4KKyAgMi4gTGV0IG1hdGNoTGVuZ3Ro
IGJlIHRoZSBudW1iZXIgb2YgY29kZSB1bml0cyBpbiBtYXRjaGVkLgorICAuLi4KKyAgNC4gTGV0
IHN0cmluZ0xlbmd0aCBiZSB0aGUgbnVtYmVyIG9mIGNvZGUgdW5pdHMgaW4gc3RyLgorICAuLi4K
KyAgOS4gTGV0IHRhaWxQb3MgYmUgcG9zaXRpb24gKyBtYXRjaExlbmd0aC4KKyAgMTAuIExldCBt
IGJlIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gY2FwdHVyZXMuCisgIDExLiBMZXQgcmVzdWx0
IGJlIHRoZSBTdHJpbmcgdmFsdWUgZGVyaXZlZCBmcm9tIHJlcGxhY2VtZW50IGJ5IGNvcHlpbmcg
Y29kZSB1bml0IGVsZW1lbnRzIGZyb20gcmVwbGFjZW1lbnQgdG8gcmVzdWx0IHdoaWxlIHBlcmZv
cm1pbmcgcmVwbGFjZW1lbnRzIGFzIHNwZWNpZmllZCBpbiBUYWJsZSA1My4gVGhlc2UgJCByZXBs
YWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYSByZXBsYWNl
bWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcgcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVj
dCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cy4KKyAgMTIgUmV0dXJuIHJlc3VsdC4KKworICBUYWJs
ZSA1MzogUmVwbGFjZW1lbnQgVGV4dCBTeW1ib2wgU3Vic3RpdHV0aW9ucworICAuLi4KKworICBU
aGUgbnRoIGVsZW1lbnQgb2YgY2FwdHVyZXMsIHdoZXJlIG4gaXMgYSBzaW5nbGUgZGlnaXQgaW4g
dGhlIHJhbmdlIDEgdG8gOS4gSWYgbiDiiaQgbSBhbmQgdGhlIG50aCBlbGVtZW50IG9mIGNhcHR1
cmVzIGlzIHVuZGVmaW5lZCwgdXNlIHRoZSBlbXB0eSBTdHJpbmcgaW5zdGVhZC4gSWYgbiA+IG0s
IG5vIHJlcGxhY2VtZW50IGlzIGRvbmUuIAorZmVhdHVyZXM6IFtTdHJpbmcucHJvdG90eXBlLnJl
cGxhY2VBbGwsIFN5bWJvbC5yZXBsYWNlXQorLS0tKi8KKwordmFyIHN0ciA9ICdBQkMgQUFBIEFC
QyBBQUEnOworCit2YXIgcmVzdWx0OworCisvLyBjYXB0dXJlcyBpcyBhbHdheXMgYW4gZW1wdHkg
bGlzdCBpZiBHZXRTdWJzdGl0dXRpb24gaXMgY2FsbGVkIGZyb20gdGhlIHN0cmluZyB2YWx1ZSBv
ZiBTZWFyY2hWYWx1ZQorCityZXN1bHQgPSBzdHIucmVwbGFjZUFsbCgnQUJDJywgJyQxJyk7Cith
c3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJyQxIEFBQSAkMSBBQUEnKTsKKworcmVzdWx0ID0gc3Ry
LnJlcGxhY2VBbGwoJ0FCQycsICckMicpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICckMiBB
QUEgJDIgQUFBJyk7CisKK3Jlc3VsdCA9IHN0ci5yZXBsYWNlQWxsKCdBQkMnLCAnJDMnKTsKK2Fz
c2VydC5zYW1lVmFsdWUocmVzdWx0LCAnJDMgQUFBICQzIEFBQScpOworCityZXN1bHQgPSBzdHIu
cmVwbGFjZUFsbCgnQUJDJywgJyQ0Jyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJyQ0IEFB
QSAkNCBBQUEnKTsKKworcmVzdWx0ID0gc3RyLnJlcGxhY2VBbGwoJ0FCQycsICckNScpOworYXNz
ZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICckNSBBQUEgJDUgQUFBJyk7CisKK3Jlc3VsdCA9IHN0ci5y
ZXBsYWNlQWxsKCdBQkMnLCAnJDYnKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnJDYgQUFB
ICQ2IEFBQScpOworCityZXN1bHQgPSBzdHIucmVwbGFjZUFsbCgnQUJDJywgJyQ3Jyk7Cithc3Nl
cnQuc2FtZVZhbHVlKHJlc3VsdCwgJyQ3IEFBQSAkNyBBQUEnKTsKKworcmVzdWx0ID0gc3RyLnJl
cGxhY2VBbGwoJ0FCQycsICckOCcpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICckOCBBQUEg
JDggQUFBJyk7CisKK3Jlc3VsdCA9IHN0ci5yZXBsYWNlQWxsKCdBQkMnLCAnJDknKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUocmVzdWx0LCAnJDkgQUFBICQ5IEFBQScpOworCit2YXIgY3VzdG9tUkUgPSAv
Li9nOworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoY3VzdG9tUkUsIFN5bWJvbC5yZXBsYWNlLCB7
CisgIHZhbHVlOiB1bmRlZmluZWQKK30pOworCityZXN1bHQgPSAnLS0tIC8uL2cgLS0tIC9hL2cg
LS0tIC8uL2cgLS0tJy5yZXBsYWNlQWxsKGN1c3RvbVJFLCAnYSgkMSQxKScpOworYXNzZXJ0LnNh
bWVWYWx1ZShyZXN1bHQsICctLS0gYSgkMSQxKSAtLS0gL2EvZyAtLS0gYSgkMSQxKSAtLS0nKTsK
KwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
cmVwbGFjZUFsbC9nZXRTdWJzdGl0dXRpb24tMHgwMDI0Tk4uanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9n
ZXRTdWJzdGl0dXRpb24tMHgwMDI0Tk4uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9nZXRTdWJzdGl0
dXRpb24tMHgwMDI0Tk4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MiBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlYWxsCitk
ZXNjcmlwdGlvbjogPgorICBSZXBsYWNlbWVudCBUZXh0IFN5bWJvbCBTdWJzdGl0dXRpb25zICgk
Tk4pCitpbmZvOiB8CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCAoIHNlYXJjaFZhbHVl
LCByZXBsYWNlVmFsdWUgKQorCisgIDEwLiBMZXQgcG9zaXRpb24gYmUgISBTdHJpbmdJbmRleE9m
KHN0cmluZywgc2VhcmNoU3RyaW5nLCAwKS4KKyAgMTEuIFJlcGVhdCwgd2hpbGUgcG9zaXRpb24g
aXMgbm90IC0xCisgICAgYS4gQXBwZW5kIHBvc2l0aW9uIHRvIHRoZSBlbmQgb2YgbWF0Y2hQb3Np
dGlvbnMuCisgICAgYi4gTGV0IHBvc2l0aW9uIGJlICEgU3RyaW5nSW5kZXhPZihzdHJpbmcsIHNl
YXJjaFN0cmluZywgcG9zaXRpb24gKyBhZHZhbmNlQnkpLiAKKyAgLi4uCisgIDE0LiBGb3IgZWFj
aCBwb3NpdGlvbiBpbiBtYXRjaFBvc2l0aW9ucywgZG8KKyAgICBhLiBJZiBmdW5jdGlvbmFsUmVw
bGFjZSBpcyB0cnVlLCB0aGVuCisgICAgICAuLi4KKyAgICBiLiBFbHNlLAorICAgICAgLi4uCisg
ICAgICBpaS4gTGV0IGNhcHR1cmVzIGJlIGEgbmV3IGVtcHR5IExpc3QuCisgICAgICBpaWkuIExl
dCByZXBsYWNlbWVudCBiZSBHZXRTdWJzdGl0dXRpb24oc2VhcmNoU3RyaW5nLCBzdHJpbmcsIHBv
c2l0aW9uLCBjYXB0dXJlcywgdW5kZWZpbmVkLCByZXBsYWNlVmFsdWUpLgorCisgIFN0cmluZ0lu
ZGV4T2YgKCBzdHJpbmcsIHNlYXJjaFZhbHVlLCBmcm9tSW5kZXggKQorCisgIC4uLgorICA0LiBM
ZXQgbGVuIGJlIHRoZSBsZW5ndGggb2Ygc3RyaW5nLgorICA1LiBJZiBzZWFyY2hWYWx1ZSBpcyB0
aGUgZW1wdHkgc3RyaW5nLCBhbmQgZnJvbUluZGV4IDw9IGxlbiwgcmV0dXJuIGZyb21JbmRleC4K
KyAgNi4gTGV0IHNlYXJjaExlbiBiZSB0aGUgbGVuZ3RoIG9mIHNlYXJjaFZhbHVlLgorICA3LiBJ
ZiB0aGVyZSBleGlzdHMgYW55IGludGVnZXIgayBzdWNoIHRoYXQgZnJvbUluZGV4IOKJpCBrIOKJ
pCBsZW4gLSBzZWFyY2hMZW4gYW5kIGZvciBhbGwgbm9ubmVnYXRpdmUgaW50ZWdlcnMgaiBsZXNz
IHRoYW4gc2VhcmNoTGVuLCB0aGUgY29kZSB1bml0IGF0IGluZGV4IGsgKyBqIHdpdGhpbiBzdHJp
bmcgaXMgdGhlIHNhbWUgYXMgdGhlIGNvZGUgdW5pdCBhdCBpbmRleCBqIHdpdGhpbiBzZWFyY2hW
YWx1ZSwgbGV0IHBvcyBiZSB0aGUgc21hbGxlc3QgKGNsb3Nlc3QgdG8gLeKInikgc3VjaCBpbnRl
Z2VyLiBPdGhlcndpc2UsIGxldCBwb3MgYmUgLTEuCisgIDguIFJldHVybiBwb3MuIAorCisgIFJ1
bnRpbWUgU2VtYW50aWNzOiBHZXRTdWJzdGl0dXRpb24gKCBtYXRjaGVkLCBzdHIsIHBvc2l0aW9u
LCBjYXB0dXJlcywgbmFtZWRDYXB0dXJlcywgcmVwbGFjZW1lbnQgKQorCisgIC4uLgorICAyLiBM
ZXQgbWF0Y2hMZW5ndGggYmUgdGhlIG51bWJlciBvZiBjb2RlIHVuaXRzIGluIG1hdGNoZWQuCisg
IC4uLgorICA0LiBMZXQgc3RyaW5nTGVuZ3RoIGJlIHRoZSBudW1iZXIgb2YgY29kZSB1bml0cyBp
biBzdHIuCisgIC4uLgorICA5LiBMZXQgdGFpbFBvcyBiZSBwb3NpdGlvbiArIG1hdGNoTGVuZ3Ro
LgorICAxMC4gTGV0IG0gYmUgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBjYXB0dXJlcy4KKyAg
MTEuIExldCByZXN1bHQgYmUgdGhlIFN0cmluZyB2YWx1ZSBkZXJpdmVkIGZyb20gcmVwbGFjZW1l
bnQgYnkgY29weWluZyBjb2RlIHVuaXQgZWxlbWVudHMgZnJvbSByZXBsYWNlbWVudCB0byByZXN1
bHQgd2hpbGUgcGVyZm9ybWluZyByZXBsYWNlbWVudHMgYXMgc3BlY2lmaWVkIGluIFRhYmxlIDUz
LiBUaGVzZSAkIHJlcGxhY2VtZW50cyBhcmUgZG9uZSBsZWZ0LXRvLXJpZ2h0LCBhbmQsIG9uY2Ug
c3VjaCBhIHJlcGxhY2VtZW50IGlzIHBlcmZvcm1lZCwgdGhlIG5ldyByZXBsYWNlbWVudCB0ZXh0
IGlzIG5vdCBzdWJqZWN0IHRvIGZ1cnRoZXIgcmVwbGFjZW1lbnRzLgorICAxMiBSZXR1cm4gcmVz
dWx0LgorCisgIFRhYmxlIDUzOiBSZXBsYWNlbWVudCBUZXh0IFN5bWJvbCBTdWJzdGl0dXRpb25z
CisgIC4uLgorCisgIFRoZSBubnRoIGVsZW1lbnQgb2YgY2FwdHVyZXMsIHdoZXJlIG5uIGlzIGEg
dHdvLWRpZ2l0IGRlY2ltYWwgbnVtYmVyIGluIHRoZSByYW5nZSAwMSB0byA5OS4gSWYgbm4g4omk
IG0gYW5kIHRoZSBubnRoIGVsZW1lbnQgb2YgY2FwdHVyZXMgaXMgdW5kZWZpbmVkLCB1c2UgdGhl
IGVtcHR5IFN0cmluZyBpbnN0ZWFkLiBJZiBubiBpcyAwMCBvciBubiA+IG0sIG5vIHJlcGxhY2Vt
ZW50IGlzIGRvbmUuCitmZWF0dXJlczogW1N0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCwgU3lt
Ym9sLnJlcGxhY2VdCistLS0qLworCit2YXIgc3RyID0gJ2FhYWFhYWFhYWFhYWFhYWEgYWFhYWFh
YWEgYWFhYWFhYWFhYWFhYWFhYSc7CisKK3ZhciByZXN1bHQ7CisKKy8vIGNhcHR1cmVzIGlzIGFs
d2F5cyBhbiBlbXB0eSBsaXN0IGlmIEdldFN1YnN0aXR1dGlvbiBpcyBjYWxsZWQgZnJvbSB0aGUg
c3RyaW5nIHZhbHVlIG9mIFNlYXJjaFZhbHVlCisKK3Jlc3VsdCA9IHN0ci5yZXBsYWNlQWxsKCdh
JywgJyQxMScpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICckMTEkMTEkMTEkMTEkMTEkMTEk
MTEkMTEkMTEkMTEkMTEkMTEkMTEkMTEkMTEkMTEgJDExJDExJDExJDExJDExJDExJDExJDExICQx
MSQxMSQxMSQxMSQxMSQxMSQxMSQxMSQxMSQxMSQxMSQxMSQxMSQxMSQxMSQxMScpOworCityZXN1
bHQgPSBzdHIucmVwbGFjZUFsbCgnYScsICckMjknKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0
LCAnJDI5JDI5JDI5JDI5JDI5JDI5JDI5JDI5JDI5JDI5JDI5JDI5JDI5JDI5JDI5JDI5ICQyOSQy
OSQyOSQyOSQyOSQyOSQyOSQyOSAkMjkkMjkkMjkkMjkkMjkkMjkkMjkkMjkkMjkkMjkkMjkkMjkk
MjkkMjkkMjkkMjknKTsKKwordmFyIGN1c3RvbVJFID0gLy4vZzsKKworT2JqZWN0LmRlZmluZVBy
b3BlcnR5KGN1c3RvbVJFLCBTeW1ib2wucmVwbGFjZSwgeworICB2YWx1ZTogdW5kZWZpbmVkCit9
KTsKKworcmVzdWx0ID0gJy0tLS0tLS0tLS0tLS0tLS0tLS0gLy4vZyAtLS0tLS0tLy4vZycucmVw
bGFjZUFsbChjdXN0b21SRSwgJ2EoJDEyJDExKScpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQs
ICctLS0tLS0tLS0tLS0tLS0tLS0tIGEoJDEyJDExKSAtLS0tLS0tYSgkMTIkMTEpJyk7CisKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxh
Y2VBbGwvbGVuZ3RoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvbGVuZ3RoLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxh
Y2VBbGwvbGVuZ3RoLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKKy8vIENvcHly
aWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLXN0cmluZy5wcm90b3R5cGUucmVwbGFjZWFsbAorZGVz
Y3JpcHRpb246ID4KKyAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsLmxlbmd0aCB2YWx1ZSBh
bmQgZGVzY3JpcHRvci4KK2luZm86IHwKKyAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsICgg
c2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAgMTcgRUNNQVNjcmlwdCBTdGFuZGFyZCBC
dWlsdC1pbiBPYmplY3RzCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQorZmVhdHVyZXM6
IFtTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGxdCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShT
dHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwsICdsZW5ndGgnLCB7CisgIHZhbHVlOiAyLAorICBl
bnVtZXJhYmxlOiBmYWxzZSwKKyAgd3JpdGFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRy
dWUsCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3JlcGxhY2VBbGwvbmFtZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL25hbWUuanMJKG5vbmV4
aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5
cGUvcmVwbGFjZUFsbC9uYW1lLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXN0cmluZy5wcm90b3R5cGUucmVwbGFjZWFs
bAorZGVzY3JpcHRpb246ID4KKyAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsLm5hbWUgdmFs
dWUgYW5kIGRlc2NyaXB0b3IuCitpbmZvOiB8CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFs
bCAoIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUgKQorCisgIDE3IEVDTUFTY3JpcHQgU3RhbmRh
cmQgQnVpbHQtaW4gT2JqZWN0cworaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1
cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsXQorLS0tKi8KKwordmVyaWZ5UHJvcGVy
dHkoU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsLCAnbmFtZScsIHsKKyAgdmFsdWU6ICdyZXBs
YWNlQWxsJywKKyAgZW51bWVyYWJsZTogZmFsc2UsCisgIHdyaXRhYmxlOiBmYWxzZSwKKyAgY29u
ZmlndXJhYmxlOiB0cnVlLAorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3JlcGxhY2VBbGwuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFj
ZUFsbC9yZXBsYWNlQWxsLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZUFsbC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJh
bHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VhbGwKK2Rlc2NyaXB0aW9uOiA+CisgIFByb3Bl
cnR5IHR5cGUgYW5kIGRlc2NyaXB0b3IuCitpbmZvOiB8CisgIFN0cmluZy5wcm90b3R5cGUucmVw
bGFjZUFsbCAoIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUgKQorCisgIDE3IEVDTUFTY3JpcHQg
U3RhbmRhcmQgQnVpbHQtaW4gT2JqZWN0cworaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10K
K2ZlYXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsXQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCwKKyAgJ2Z1
bmN0aW9uJywKKyAgJ2B0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsYCBpcyBgZnVu
Y3Rpb25gJworKTsKKwordmVyaWZ5UHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgJ3JlcGxhY2VB
bGwnLCB7CisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJsZTogdHJ1ZSwKKyAgY29uZmln
dXJhYmxlOiB0cnVlLAorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
U3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3JlcGxhY2VWYWx1ZS1jYWxsLWFicnVwdC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3Rv
dHlwZS9yZXBsYWNlQWxsL3JlcGxhY2VWYWx1ZS1jYWxsLWFicnVwdC5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBs
YWNlQWxsL3JlcGxhY2VWYWx1ZS1jYWxsLWFicnVwdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDI2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90
eXBlLnJlcGxhY2VhbGwKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybiBhYnJ1cHQgZnJvbSBDYWxs
KHJlcGxhY2VWYWx1ZSwgLi4uKQoraW5mbzogfAorICBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VB
bGwgKCBzZWFyY2hWYWx1ZSwgcmVwbGFjZVZhbHVlICkKKworICAuLi4KKyAgNS4gTGV0IGZ1bmN0
aW9uYWxSZXBsYWNlIGJlIElzQ2FsbGFibGUocmVwbGFjZVZhbHVlKS4KKyAgLi4uCisgIDE0LiBG
b3IgZWFjaCBwb3NpdGlvbiBpbiBtYXRjaFBvc2l0aW9ucywgZG8KKyAgICBhLiBJZiBmdW5jdGlv
bmFsUmVwbGFjZSBpcyB0cnVlLCB0aGVuCisgICAgICBpLiBMZXQgcmVwbGFjZW1lbnQgYmUgPyBU
b1N0cmluZyg/IENhbGwocmVwbGFjZVZhbHVlLCB1bmRlZmluZWQsIMKrIHNlYXJjaFN0cmluZywg
cG9zaXRpb24sIHN0cmluZyDCuykuCitmZWF0dXJlczogW1N0cmluZy5wcm90b3R5cGUucmVwbGFj
ZUFsbF0KKy0tLSovCisKK2Z1bmN0aW9uIGN1c3RvbSgpIHsKKyAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigpOworfQorCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7Cisg
ICdhJy5yZXBsYWNlQWxsKCdhJywgY3VzdG9tKTsKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9yZXBsYWNlVmFsdWUt
Y2FsbC1lYWNoLW1hdGNoLXBvc2l0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVl
LWNhbGwtZWFjaC1tYXRjaC1wb3NpdGlvbi5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3JlcGxhY2VW
YWx1ZS1jYWxsLWVhY2gtbWF0Y2gtcG9zaXRpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw0MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc3RyaW5nLnByb3RvdHlw
ZS5yZXBsYWNlYWxsCitkZXNjcmlwdGlvbjogPgorICBJZiByZXBsYWNlVmFsdWUgaXMgYSBmdW5j
dGlvbiwgaXQncyBjYWxsZWQgZm9yIGVhY2ggbWF0Y2hpbmcgcG9zaXRpb24KK2luZm86IHwKKyAg
U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSAp
CisKKyAgLi4uCisgIDUuIExldCBmdW5jdGlvbmFsUmVwbGFjZSBiZSBJc0NhbGxhYmxlKHJlcGxh
Y2VWYWx1ZSkuCisgIC4uLgorICAxNC4gRm9yIGVhY2ggcG9zaXRpb24gaW4gbWF0Y2hQb3NpdGlv
bnMsIGRvCisgICAgYS4gSWYgZnVuY3Rpb25hbFJlcGxhY2UgaXMgdHJ1ZSwgdGhlbgorICAgICAg
aS4gTGV0IHJlcGxhY2VtZW50IGJlID8gVG9TdHJpbmcoPyBDYWxsKHJlcGxhY2VWYWx1ZSwgdW5k
ZWZpbmVkLCDCqyBzZWFyY2hTdHJpbmcsIHBvc2l0aW9uLCBzdHJpbmcgwrspLgorZmVhdHVyZXM6
IFtTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGxdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5q
c10KKy0tLSovCisKK3ZhciB0ID0gKGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSkoKTsKKwor
dmFyIGNhbGxzID0gW107Cit2YXIgcmVwbGFjZVZhbHVlID0gZnVuY3Rpb24oLi4uYXJncykgewor
ICBjYWxscy5wdXNoKFt0aGlzLCAuLi5hcmdzXSk7CisgIHJldHVybiAneic7Cit9OworCit2YXIg
c2VhcmNoVmFsdWUgPSBuZXcgU3RyaW5nKCdhYiBjJyk7CisKK3ZhciBvYmogPSBuZXcgU3RyaW5n
KCdhYiBjIGFiIGNkYWIgY2FiIGMnKTsKKwordmFyIHJlc3VsdCA9IG9iai5yZXBsYWNlQWxsKHNl
YXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxscy5sZW5ndGgs
IDQpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICd6IHpkenonKTsKKwordmFyIHN0ciA9IG9i
ai50b1N0cmluZygpOworCithc3NlcnQuY29tcGFyZUFycmF5KGNhbGxzWzBdLCBbdCwgJ2FiIGMn
LCAwLCBzdHJdKTsKK2Fzc2VydC5jb21wYXJlQXJyYXkoY2FsbHNbMV0sIFt0LCAnYWIgYycsIDUs
IHN0cl0pOworYXNzZXJ0LmNvbXBhcmVBcnJheShjYWxsc1syXSwgW3QsICdhYiBjJywgMTAsIHN0
cl0pOworYXNzZXJ0LmNvbXBhcmVBcnJheShjYWxsc1szXSwgW3QsICdhYiBjJywgMTQsIHN0cl0p
OwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
cmVwbGFjZUFsbC9yZXBsYWNlVmFsdWUtY2FsbC1tYXRjaGluZy1lbXB0eS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBs
YWNlQWxsL3JlcGxhY2VWYWx1ZS1jYWxsLW1hdGNoaW5nLWVtcHR5LmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxh
Y2VBbGwvcmVwbGFjZVZhbHVlLWNhbGwtbWF0Y2hpbmctZW1wdHkuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc3RyaW5n
LnByb3RvdHlwZS5yZXBsYWNlYWxsCitkZXNjcmlwdGlvbjogPgorICByZXBsYWNlVmFsdWUgY2Fu
IGJlIGNhbGxlZCBmb3IgbWF0Y2hpbmcgcG9zaXRpb24gb2YgYW4gZW1wdHkgc3RyaW5nCitpbmZv
OiB8CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCAoIHNlYXJjaFZhbHVlLCByZXBsYWNl
VmFsdWUgKQorCisgIC4uLgorICA1LiBMZXQgZnVuY3Rpb25hbFJlcGxhY2UgYmUgSXNDYWxsYWJs
ZShyZXBsYWNlVmFsdWUpLgorICAuLi4KKyAgMTQuIEZvciBlYWNoIHBvc2l0aW9uIGluIG1hdGNo
UG9zaXRpb25zLCBkbworICAgIGEuIElmIGZ1bmN0aW9uYWxSZXBsYWNlIGlzIHRydWUsIHRoZW4K
KyAgICAgIGkuIExldCByZXBsYWNlbWVudCBiZSA/IFRvU3RyaW5nKD8gQ2FsbChyZXBsYWNlVmFs
dWUsIHVuZGVmaW5lZCwgwqsgc2VhcmNoU3RyaW5nLCBwb3NpdGlvbiwgc3RyaW5nIMK7KS4KK2Zl
YXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsXQoraW5jbHVkZXM6IFtjb21wYXJl
QXJyYXkuanNdCistLS0qLworCit2YXIgdCA9IChmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0p
KCk7CisKK3ZhciBjYWxscyA9IFtdOwordmFyIHJlcGxhY2VWYWx1ZSA9IGZ1bmN0aW9uKC4uLmFy
Z3MpIHsKKyAgY2FsbHMucHVzaChbdGhpcywgLi4uYXJnc10pOworICByZXR1cm4gJ2FiYyc7Cit9
OworCit2YXIgc2VhcmNoVmFsdWUgPSBuZXcgU3RyaW5nKCcnKTsKKwordmFyIG9iaiA9IG5ldyBT
dHJpbmcoJycpOworCit2YXIgcmVzdWx0ID0gb2JqLnJlcGxhY2VBbGwoc2VhcmNoVmFsdWUsIHJl
cGxhY2VWYWx1ZSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxzLmxlbmd0aCwgMSk7Cithc3NlcnQu
c2FtZVZhbHVlKHJlc3VsdCwgJ2FiYycpOworCit2YXIgc3RyID0gb2JqLnRvU3RyaW5nKCk7CisK
K2Fzc2VydC5jb21wYXJlQXJyYXkoY2FsbHNbMF0sIFt0LCAnJywgMCwgc3RyXSk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxs
L3JlcGxhY2VWYWx1ZS1jYWxsLXNraXAtbm8tbWF0Y2guanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9yZXBs
YWNlVmFsdWUtY2FsbC1za2lwLW5vLW1hdGNoLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFj
ZVZhbHVlLWNhbGwtc2tpcC1uby1tYXRjaC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMy
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLnJl
cGxhY2VhbGwKK2Rlc2NyaXB0aW9uOiA+CisgIHJlcGxhY2VWYWx1ZSBpcyBub3QgY2FsbGVkIGlm
IHRoZXJlIGlzbid0IGEgbWF0Y2gKK2luZm86IHwKKyAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNl
QWxsICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAgLi4uCisgIDUuIExldCBmdW5j
dGlvbmFsUmVwbGFjZSBiZSBJc0NhbGxhYmxlKHJlcGxhY2VWYWx1ZSkuCisgIC4uLgorICAxNC4g
Rm9yIGVhY2ggcG9zaXRpb24gaW4gbWF0Y2hQb3NpdGlvbnMsIGRvCisgICAgYS4gSWYgZnVuY3Rp
b25hbFJlcGxhY2UgaXMgdHJ1ZSwgdGhlbgorICAgICAgaS4gTGV0IHJlcGxhY2VtZW50IGJlID8g
VG9TdHJpbmcoPyBDYWxsKHJlcGxhY2VWYWx1ZSwgdW5kZWZpbmVkLCDCqyBzZWFyY2hTdHJpbmcs
IHBvc2l0aW9uLCBzdHJpbmcgwrspLgorZmVhdHVyZXM6IFtTdHJpbmcucHJvdG90eXBlLnJlcGxh
Y2VBbGxdCistLS0qLworCitmdW5jdGlvbiByZXBsYWNlVmFsdWUoKSB7CisgIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoKTsKK30KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgJ2EnLnJlcGxhY2VBbGwo
J2InLCByZXBsYWNlVmFsdWUpLAorICAnYScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgICdh
Jy5yZXBsYWNlQWxsKCdhYScsIHJlcGxhY2VWYWx1ZSksCisgICdhJworKTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVw
bGFjZVZhbHVlLWNhbGwtdG9zdHJpbmctYWJydXB0LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFj
ZVZhbHVlLWNhbGwtdG9zdHJpbmctYWJydXB0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFj
ZVZhbHVlLWNhbGwtdG9zdHJpbmctYWJydXB0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXN0cmluZy5wcm90b3R5cGUu
cmVwbGFjZWFsbAorZGVzY3JpcHRpb246ID4KKyAgUmV0dXJuIGFicnVwdCBmcm9tIFRvU3RyaW5n
KENhbGwocmVwbGFjZVZhbHVlLCAuLi4pKQoraW5mbzogfAorICBTdHJpbmcucHJvdG90eXBlLnJl
cGxhY2VBbGwgKCBzZWFyY2hWYWx1ZSwgcmVwbGFjZVZhbHVlICkKKworICAuLi4KKyAgNS4gTGV0
IGZ1bmN0aW9uYWxSZXBsYWNlIGJlIElzQ2FsbGFibGUocmVwbGFjZVZhbHVlKS4KKyAgLi4uCisg
IDE0LiBGb3IgZWFjaCBwb3NpdGlvbiBpbiBtYXRjaFBvc2l0aW9ucywgZG8KKyAgICBhLiBJZiBm
dW5jdGlvbmFsUmVwbGFjZSBpcyB0cnVlLCB0aGVuCisgICAgICBpLiBMZXQgcmVwbGFjZW1lbnQg
YmUgPyBUb1N0cmluZyg/IENhbGwocmVwbGFjZVZhbHVlLCB1bmRlZmluZWQsIMKrIHNlYXJjaFN0
cmluZywgcG9zaXRpb24sIHN0cmluZyDCuykuCitmZWF0dXJlczogW1N0cmluZy5wcm90b3R5cGUu
cmVwbGFjZUFsbCwgU3ltYm9sXQorLS0tKi8KKworZnVuY3Rpb24gY3VzdG9tKCkgeworICByZXR1
cm4geworICAgIHRvU3RyaW5nKCkgeworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOwor
ICAgIH0KKyAgfQorfQorCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7
CisgICdhJy5yZXBsYWNlQWxsKCdhJywgY3VzdG9tKTsKK30pOworCitmdW5jdGlvbiBzeW1ib2wo
KSB7CisgIHJldHVybiB7CisgICAgdG9TdHJpbmcoKSB7CisgICAgICByZXR1cm4gU3ltYm9sKCk7
CisgICAgfQorICB9Cit9CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsK
KyAgJ2EnLnJlcGxhY2VBbGwoJ2EnLCBzeW1ib2wpOworfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3JlcGxhY2VWYWx1
ZS1mbi1za2lwLXRvU3RyaW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLWZuLXNr
aXAtdG9TdHJpbmcuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9yZXBsYWNlVmFsdWUtZm4tc2tpcC10
b1N0cmluZy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VhbGwKK2Rlc2NyaXB0
aW9uOiA+CisgIFNraXAgVG9TdHJpbmcocmVwbGFjZVZhbHVlKSBpZiBpdCdzIGEgZnVuY3Rpb24K
K2luZm86IHwKKyAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsICggc2VhcmNoVmFsdWUsIHJl
cGxhY2VWYWx1ZSApCisKKyAgMS4gTGV0IE8gYmUgUmVxdWlyZU9iamVjdENvZXJjaWJsZSh0aGlz
IHZhbHVlKS4KKyAgMi4gSWYgc2VhcmNoVmFsdWUgaXMgbmVpdGhlciB1bmRlZmluZWQgbm9yIG51
bGwsIHRoZW4KKyAgICAuLi4KKyAgMy4gTGV0IHN0cmluZyBiZSA/IFRvU3RyaW5nKE8pLgorICA0
LiBMZXQgc2VhcmNoU3RyaW5nIGJlID8gVG9TdHJpbmcoc2VhcmNoVmFsdWUpLgorICA1LiBMZXQg
ZnVuY3Rpb25hbFJlcGxhY2UgYmUgSXNDYWxsYWJsZShyZXBsYWNlVmFsdWUpLgorICA2LiBJZiBm
dW5jdGlvbmFsUmVwbGFjZSBpcyBmYWxzZSwgdGhlbgorICAgIGEuIExldCByZXBsYWNlVmFsdWUg
YmUgPyBUb1N0cmluZyhyZXBsYWNlVmFsdWUpLiAKKyAgLi4uCitmZWF0dXJlczogW1N0cmluZy5w
cm90b3R5cGUucmVwbGFjZUFsbF0KKy0tLSovCisKK3ZhciBjYWxsZWQgPSAwOwordmFyIHJlcGxh
Y2VWYWx1ZSA9IGZ1bmN0aW9uKCkgeworICBjYWxsZWQgKz0gMTsKKyAgcmV0dXJuICdiJzsKK307
Cit2YXIgcG9pc29uZWQgPSAwOworT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlcGxhY2VWYWx1ZSwg
J3RvU3RyaW5nJywgeworICB2YWx1ZTogZnVuY3Rpb24oKSB7CisgICAgcG9pc29uZWQgKz0gMTsK
KyAgICB0aHJvdyAnc2hvdWxkIG5vdCBjYWxsIHRoaXMnOworICB9Cit9KTsKKwordmFyIHJlc3Vs
dCA9ICdhYWEnLnJlcGxhY2VBbGwoJ2EnLCByZXBsYWNlVmFsdWUpOworYXNzZXJ0LnNhbWVWYWx1
ZShjYWxsZWQsIDMpOworYXNzZXJ0LnNhbWVWYWx1ZShwb2lzb25lZCwgMCk7Cithc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdCwgJ2JiYicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9yZXBsYWNlVmFsdWUtdG9zdHJpbmctYWJy
dXB0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJp
bmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLXRvc3RyaW5nLWFicnVwdC5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3By
b3RvdHlwZS9yZXBsYWNlQWxsL3JlcGxhY2VWYWx1ZS10b3N0cmluZy1hYnJ1cHQuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw3NSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0
ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBz
ZWMtc3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlYWxsCitkZXNjcmlwdGlvbjogPgorICBSZXR1cm5z
IGFicnVwdCBjb21wbGV0aW9ucyBmcm9tIFRvU3RyaW5nKHJlcGxhY2VWYWx1ZSkKK2luZm86IHwK
KyAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1
ZSApCisKKyAgMS4gTGV0IE8gYmUgUmVxdWlyZU9iamVjdENvZXJjaWJsZSh0aGlzIHZhbHVlKS4K
KyAgMi4gSWYgc2VhcmNoVmFsdWUgaXMgbmVpdGhlciB1bmRlZmluZWQgbm9yIG51bGwsIHRoZW4K
KyAgICAuLi4KKyAgMy4gTGV0IHN0cmluZyBiZSA/IFRvU3RyaW5nKE8pLgorICA0LiBMZXQgc2Vh
cmNoU3RyaW5nIGJlID8gVG9TdHJpbmcoc2VhcmNoVmFsdWUpLgorICA1LiBMZXQgZnVuY3Rpb25h
bFJlcGxhY2UgYmUgSXNDYWxsYWJsZShyZXBsYWNlVmFsdWUpLgorICA2LiBJZiBmdW5jdGlvbmFs
UmVwbGFjZSBpcyBmYWxzZSwgdGhlbgorICAgIGEuIExldCByZXBsYWNlVmFsdWUgYmUgPyBUb1N0
cmluZyhyZXBsYWNlVmFsdWUpLiAKKyAgLi4uCitmZWF0dXJlczogW1N0cmluZy5wcm90b3R5cGUu
cmVwbGFjZUFsbCwgU3ltYm9sXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9m
IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2Z1bmN0aW9u
IG11c3QgZXhpc3QnCispOworCit2YXIgdGhpc1ZhbHVlQ2FsbGVkID0gMDsKK3ZhciB0aGlzVmFs
dWUgPSB7CisgIHRvU3RyaW5nKCkgeworICAgIHRoaXNWYWx1ZUNhbGxlZCArPSAxOworICAgIHJl
dHVybiAnJzsKKyAgfQorfTsKKwordmFyIHNlYXJjaFZhbHVlQ2FsbGVkID0gMDsKK3ZhciBzZWFy
Y2hWYWx1ZSA9IHsKKyAgdG9TdHJpbmcoKSB7CisgICAgc2VhcmNoVmFsdWVDYWxsZWQgKz0gMTsK
KyAgICByZXR1cm4gJyc7CisgIH0KK307CisKK3ZhciBjYWxsZWQgPSAwOwordmFyIHJlcGxhY2VW
YWx1ZSA9IHsKKyAgdG9TdHJpbmcoKSB7CisgICAgY2FsbGVkICs9IDE7CisgICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigpOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwg
ZnVuY3Rpb24oKSB7CisgICcnLnJlcGxhY2VBbGwuY2FsbCh0aGlzVmFsdWUsIHNlYXJjaFZhbHVl
LCByZXBsYWNlVmFsdWUpOworfSwgJ2N1c3RvbScpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsZWQs
IDEpOworYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzVmFsdWVDYWxsZWQsIDEpOworYXNzZXJ0LnNhbWVW
YWx1ZShzZWFyY2hWYWx1ZUNhbGxlZCwgMSk7CisKK3NlYXJjaFZhbHVlQ2FsbGVkID0gMDsKK3Ro
aXNWYWx1ZUNhbGxlZCA9IDA7CitjYWxsZWQgPSAwOworcmVwbGFjZVZhbHVlID0geworICB0b1N0
cmluZygpIHsKKyAgICBjYWxsZWQgKz0gMTsKKyAgICByZXR1cm4gU3ltYm9sKCk7CisgIH0KK307
CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgJycucmVwbGFjZUFs
bC5jYWxsKHRoaXNWYWx1ZSwgc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSk7Cit9LCAnU3ltYm9s
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxlZCwgMSk7Cithc3NlcnQuc2FtZVZhbHVlKHRoaXNW
YWx1ZUNhbGxlZCwgMSk7Cithc3NlcnQuc2FtZVZhbHVlKHNlYXJjaFZhbHVlQ2FsbGVkLCAxKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3Jl
cGxhY2VBbGwvcmVwbGFjZVZhbHVlLXZhbHVlLXJlcGxhY2VzLXN0cmluZy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBs
YWNlQWxsL3JlcGxhY2VWYWx1ZS12YWx1ZS1yZXBsYWNlcy1zdHJpbmcuanMJKG5vbmV4aXN0ZW50
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVw
bGFjZUFsbC9yZXBsYWNlVmFsdWUtdmFsdWUtcmVwbGFjZXMtc3RyaW5nLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXN0
cmluZy5wcm90b3R5cGUucmVwbGFjZWFsbAorZGVzY3JpcHRpb246ID4KKyAgcmVwbGFjZVZhbHVl
IGlzIHVzZWQgdG8gcmVwbGFjZSBtYXRjaGluZyBwb3NpdGlvbnMgaW4gc3RyaW5nCitpbmZvOiB8
CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCAoIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFs
dWUgKQorCisgIC4uLgorICA1LiBMZXQgZnVuY3Rpb25hbFJlcGxhY2UgYmUgSXNDYWxsYWJsZShy
ZXBsYWNlVmFsdWUpLgorICA2LiBJZiBmdW5jdGlvbmFsUmVwbGFjZSBpcyBmYWxzZSwgdGhlbgor
ICAgIGEuIExldCByZXBsYWNlVmFsdWUgYmUgPyBUb1N0cmluZyhyZXBsYWNlVmFsdWUpLiAKKyAg
Li4uCisgIDE0LiBGb3IgZWFjaCBwb3NpdGlvbiBpbiBtYXRjaFBvc2l0aW9ucywgZG8KKyAgICBh
LiBJZiBmdW5jdGlvbmFsUmVwbGFjZSBpcyB0cnVlLCB0aGVuCisgICAgICAuLi4KKyAgICBiLiBF
bHNlLAorICAgICAgLi4uCisgICAgICBpaS4gTGV0IGNhcHR1cmVzIGJlIGEgbmV3IGVtcHR5IExp
c3QuCisgICAgICBpaWkuIExldCByZXBsYWNlbWVudCBiZSBHZXRTdWJzdGl0dXRpb24oc2VhcmNo
U3RyaW5nLCBzdHJpbmcsIHBvc2l0aW9uLCBjYXB0dXJlcywgdW5kZWZpbmVkLCByZXBsYWNlVmFs
dWUpLgorZmVhdHVyZXM6IFtTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGxdCistLS0qLworCit2
YXIgcmVzdWx0ID0gJ2FhYWIgYSBhIGFhYycucmVwbGFjZUFsbCgnYWEnLCAneicpOworYXNzZXJ0
LnNhbWVWYWx1ZShyZXN1bHQsICd6YWIgYSBhIHpjJyk7CisKK3Jlc3VsdCA9ICdhYWFiIGEgYSBh
YWMnLnJlcGxhY2VBbGwoJ2FhJywgJ2EnKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnYWFi
IGEgYSBhYycpOworCityZXN1bHQgPSAnYWFhYiBhIGEgYWFjJy5yZXBsYWNlQWxsKCdhJywgJ2En
KTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnYWFhYiBhIGEgYWFjJyk7CisKK3Jlc3VsdCA9
ICdhYWFiIGEgYSBhYWMnLnJlcGxhY2VBbGwoJ2EnLCAneicpOworYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQsICd6enpiIHogeiB6emMnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLXZhbHVlLXRvc3Ry
aW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJp
bmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLXZhbHVlLXRvc3RyaW5nLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3JlcGxhY2VBbGwvcmVwbGFjZVZhbHVlLXZhbHVlLXRvc3RyaW5nLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsOTcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVy
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2Vj
LXN0cmluZy5wcm90b3R5cGUucmVwbGFjZWFsbAorZGVzY3JpcHRpb246ID4KKyAgVG9TdHJpbmco
cmVwbGFjZVZhbHVlKQoraW5mbzogfAorICBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwgKCBz
ZWFyY2hWYWx1ZSwgcmVwbGFjZVZhbHVlICkKKworICAuLi4KKyAgNS4gTGV0IGZ1bmN0aW9uYWxS
ZXBsYWNlIGJlIElzQ2FsbGFibGUocmVwbGFjZVZhbHVlKS4KKyAgNi4gSWYgZnVuY3Rpb25hbFJl
cGxhY2UgaXMgZmFsc2UsIHRoZW4KKyAgICBhLiBMZXQgcmVwbGFjZVZhbHVlIGJlID8gVG9TdHJp
bmcocmVwbGFjZVZhbHVlKS4gCisgIC4uLgorICAxNC4gRm9yIGVhY2ggcG9zaXRpb24gaW4gbWF0
Y2hQb3NpdGlvbnMsIGRvCisgICAgYS4gSWYgZnVuY3Rpb25hbFJlcGxhY2UgaXMgdHJ1ZSwgdGhl
bgorICAgICAgLi4uCisgICAgYi4gRWxzZSwKKyAgICAgIC4uLgorICAgICAgaWkuIExldCBjYXB0
dXJlcyBiZSBhIG5ldyBlbXB0eSBMaXN0LgorICAgICAgaWlpLiBMZXQgcmVwbGFjZW1lbnQgYmUg
R2V0U3Vic3RpdHV0aW9uKHNlYXJjaFN0cmluZywgc3RyaW5nLCBwb3NpdGlvbiwgY2FwdHVyZXMs
IHVuZGVmaW5lZCwgcmVwbGFjZVZhbHVlKS4KK2ZlYXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5y
ZXBsYWNlQWxsLCBTeW1ib2wudG9QcmltaXRpdmVdCistLS0qLworCit2YXIgcmVzdWx0OworCit2
YXIgY2FsbGVkOwordmFyIHJlcGxhY2VWYWx1ZTsKKworY2FsbGVkID0gMDsKK3JlcGxhY2VWYWx1
ZSA9IHsKKyAgW1N5bWJvbC50b1ByaW1pdGl2ZV0oKXsKKyAgICBjYWxsZWQgKz0gMTsKKyAgICBy
ZXR1cm4gJ3onOworICB9LAorICB0b1N0cmluZygpIHsKKyAgICB0aHJvdyAncG9pc29uJzsKKyAg
fSwKKyAgdmFsdWVPZigpIHsKKyAgICB0aHJvdyAncG9pc29uJzsKKyAgfSwKK307CisKK3Jlc3Vs
dCA9ICdhYScucmVwbGFjZUFsbCgnYScsIHJlcGxhY2VWYWx1ZSk7Cithc3NlcnQuc2FtZVZhbHVl
KHJlc3VsdCwgJ3p6JywgJ29iamVjdCBAQHRvUHJpbWl0aXZlJyk7Cithc3NlcnQuc2FtZVZhbHVl
KGNhbGxlZCwgMSwgJ0BAdG9QcmltaXRpdmUgaXMgY2FsbGVkIG9ubHkgb25jZScpOworCitjYWxs
ZWQgPSAwOworcmVwbGFjZVZhbHVlID0geworICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogdW5kZWZp
bmVkLAorICB0b1N0cmluZygpIHsKKyAgICBjYWxsZWQgKz0gMTsKKyAgICByZXR1cm4gJ3onOwor
ICB9LAorICB2YWx1ZU9mKCkgeworICAgIHRocm93ICdwb2lzb24nOworICB9LAorfTsKKworcmVz
dWx0ID0gJ2FhJy5yZXBsYWNlQWxsKCdhJywgcmVwbGFjZVZhbHVlKTsKK2Fzc2VydC5zYW1lVmFs
dWUocmVzdWx0LCAnenonLCAnb2JqZWN0IHRvU3RyaW5nJyk7Cithc3NlcnQuc2FtZVZhbHVlKGNh
bGxlZCwgMSwgJ3RvU3RyaW5nIGlzIGNhbGxlZCBvbmx5IG9uY2UnKTsKKworY2FsbGVkID0gMDsK
K3JlcGxhY2VWYWx1ZSA9IHsKKyAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IHVuZGVmaW5lZCwKKyAg
dG9TdHJpbmc6IHVuZGVmaW5lZCwKKyAgdmFsdWVPZigpIHsKKyAgICBjYWxsZWQgKz0gMTsKKyAg
ICByZXR1cm4gJ3onOworICB9LAorfTsKKworcmVzdWx0ID0gJ2FhJy5yZXBsYWNlQWxsKCdhJywg
cmVwbGFjZVZhbHVlKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnenonLCAnb2JqZWN0IHZh
bHVlT2YnKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbGVkLCAxLCAndmFsdWVPZiBpcyBjYWxsZWQg
b25seSBvbmNlJyk7CisKK3JlcGxhY2VWYWx1ZSA9IDQyOworcmVzdWx0ID0gJ2FhJy5yZXBsYWNl
QWxsKCdhJywgcmVwbGFjZVZhbHVlKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnNDI0Mics
ICdudW1iZXInKTsKKworcmVwbGFjZVZhbHVlID0gdHJ1ZTsKK3Jlc3VsdCA9ICdhYScucmVwbGFj
ZUFsbCgnYScsIHJlcGxhY2VWYWx1ZSk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ3RydWV0
cnVlJywgJ0Jvb2xlYW4gdHJ1ZScpOworCityZXBsYWNlVmFsdWUgPSBmYWxzZTsKK3Jlc3VsdCA9
ICdhYScucmVwbGFjZUFsbCgnYScsIHJlcGxhY2VWYWx1ZSk7Cithc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdCwgJ2ZhbHNlZmFsc2UnLCAnQm9vbGVhbiBmYWxzZScpOworCityZXBsYWNlVmFsdWUgPSB1
bmRlZmluZWQ7CityZXN1bHQgPSAnYWEnLnJlcGxhY2VBbGwoJ2EnLCByZXBsYWNlVmFsdWUpOwor
YXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICd1bmRlZmluZWR1bmRlZmluZWQnLCAndW5kZWZpbmVk
Jyk7CisKK3JlcGxhY2VWYWx1ZSA9IG51bGw7CityZXN1bHQgPSAnYWEnLnJlcGxhY2VBbGwoJ2En
LCByZXBsYWNlVmFsdWUpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICdudWxsbnVsbCcsICdu
dWxsJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3Rv
dHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLWVtcHR5LXN0cmluZy10aGlzLWVtcHR5LXN0cmlu
Zy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLWVtcHR5LXN0cmluZy10aGlzLWVtcHR5
LXN0cmluZy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLWVtcHR5LXN0cmluZy10
aGlzLWVtcHR5LXN0cmluZy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQxIEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VhbGwK
K2Rlc2NyaXB0aW9uOiA+CisgIE1hdGNoaW5nIGVtcHR5IHN0cmluZyBmb3IgdGhlIHRoaXMgdmFs
dWUgYW5kIHRoZSBzZWFyY2hWYWx1ZQoraW5mbzogfAorICBTdHJpbmcucHJvdG90eXBlLnJlcGxh
Y2VBbGwgKCBzZWFyY2hWYWx1ZSwgcmVwbGFjZVZhbHVlICkKKworICAuLi4KKyAgNS4gTGV0IGZ1
bmN0aW9uYWxSZXBsYWNlIGJlIElzQ2FsbGFibGUocmVwbGFjZVZhbHVlKS4KKyAgNi4gSWYgZnVu
Y3Rpb25hbFJlcGxhY2UgaXMgZmFsc2UsIHRoZW4KKyAgICBhLiBMZXQgcmVwbGFjZVZhbHVlIGJl
ID8gVG9TdHJpbmcocmVwbGFjZVZhbHVlKS4gCisgIC4uLgorICAxMC4gTGV0IHBvc2l0aW9uIGJl
ICEgU3RyaW5nSW5kZXhPZihzdHJpbmcsIHNlYXJjaFN0cmluZywgMCkuCisgIDExLiBSZXBlYXQs
IHdoaWxlIHBvc2l0aW9uIGlzIG5vdCAtMQorICAgIGEuIEFwcGVuZCBwb3NpdGlvbiB0byB0aGUg
ZW5kIG9mIG1hdGNoUG9zaXRpb25zLgorICAgIGIuIExldCBwb3NpdGlvbiBiZSAhIFN0cmluZ0lu
ZGV4T2Yoc3RyaW5nLCBzZWFyY2hTdHJpbmcsIHBvc2l0aW9uICsgYWR2YW5jZUJ5KS4KKyAgLi4u
CisgIDE0LiBGb3IgZWFjaCBwb3NpdGlvbiBpbiBtYXRjaFBvc2l0aW9ucywgZG8KKyAgICBhLiBJ
ZiBmdW5jdGlvbmFsUmVwbGFjZSBpcyB0cnVlLCB0aGVuCisgICAgICAuLi4KKyAgICBiLiBFbHNl
LAorICAgICAgLi4uCisgICAgICBpaS4gTGV0IGNhcHR1cmVzIGJlIGEgbmV3IGVtcHR5IExpc3Qu
CisgICAgICBpaWkuIExldCByZXBsYWNlbWVudCBiZSBHZXRTdWJzdGl0dXRpb24oc2VhcmNoU3Ry
aW5nLCBzdHJpbmcsIHBvc2l0aW9uLCBjYXB0dXJlcywgdW5kZWZpbmVkLCByZXBsYWNlVmFsdWUp
LgorCisgIFN0cmluZ0luZGV4T2YgKCBzdHJpbmcsIHNlYXJjaFZhbHVlLCBmcm9tSW5kZXggKQor
CisgIC4uLgorICA0LiBMZXQgbGVuIGJlIHRoZSBsZW5ndGggb2Ygc3RyaW5nLgorICA1LiBJZiBz
ZWFyY2hWYWx1ZSBpcyB0aGUgZW1wdHkgc3RyaW5nLCBhbmQgZnJvbUluZGV4IDw9IGxlbiwgcmV0
dXJuIGZyb21JbmRleC4KKyAgNi4gTGV0IHNlYXJjaExlbiBiZSB0aGUgbGVuZ3RoIG9mIHNlYXJj
aFZhbHVlLgorICA3LiBJZiB0aGVyZSBleGlzdHMgYW55IGludGVnZXIgayBzdWNoIHRoYXQgZnJv
bUluZGV4IOKJpCBrIOKJpCBsZW4gLSBzZWFyY2hMZW4gYW5kIGZvciBhbGwgbm9ubmVnYXRpdmUg
aW50ZWdlcnMgaiBsZXNzIHRoYW4gc2VhcmNoTGVuLCB0aGUgY29kZSB1bml0IGF0IGluZGV4IGsg
KyBqIHdpdGhpbiBzdHJpbmcgaXMgdGhlIHNhbWUgYXMgdGhlIGNvZGUgdW5pdCBhdCBpbmRleCBq
IHdpdGhpbiBzZWFyY2hWYWx1ZSwgbGV0IHBvcyBiZSB0aGUgc21hbGxlc3QgKGNsb3Nlc3QgdG8g
LeKInikgc3VjaCBpbnRlZ2VyLiBPdGhlcndpc2UsIGxldCBwb3MgYmUgLTEuCisgIDguIFJldHVy
biBwb3MuIAorZmVhdHVyZXM6IFtTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGxdCistLS0qLwor
Cit2YXIgcmVzdWx0ID0gJycucmVwbGFjZUFsbCgnJywgJ2FiYycpOworYXNzZXJ0LnNhbWVWYWx1
ZShyZXN1bHQsICdhYmMnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtZW1wdHktc3RyaW5nLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtZW1wdHktc3RyaW5nLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxh
Y2VBbGwvc2VhcmNoVmFsdWUtZW1wdHktc3RyaW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNTMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXN0cmluZy5wcm90b3R5
cGUucmVwbGFjZWFsbAorZGVzY3JpcHRpb246ID4KKyAgUmVwbGFjZW1lbnRzIHdoZW4gdGhlIHNl
YXJjaCB2YWx1ZSBpcyB0aGUgZW1wdHkgc3RyaW5nCitpbmZvOiB8CisgIFN0cmluZy5wcm90b3R5
cGUucmVwbGFjZUFsbCAoIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUgKQorCisgIDEwLiBMZXQg
cG9zaXRpb24gYmUgISBTdHJpbmdJbmRleE9mKHN0cmluZywgc2VhcmNoU3RyaW5nLCAwKS4KKyAg
MTEuIFJlcGVhdCwgd2hpbGUgcG9zaXRpb24gaXMgbm90IC0xCisgICAgYS4gQXBwZW5kIHBvc2l0
aW9uIHRvIHRoZSBlbmQgb2YgbWF0Y2hQb3NpdGlvbnMuCisgICAgYi4gTGV0IHBvc2l0aW9uIGJl
ICEgU3RyaW5nSW5kZXhPZihzdHJpbmcsIHNlYXJjaFN0cmluZywgcG9zaXRpb24gKyBhZHZhbmNl
QnkpLiAKKyAgLi4uCisgIDE0LiBGb3IgZWFjaCBwb3NpdGlvbiBpbiBtYXRjaFBvc2l0aW9ucywg
ZG8KKyAgICBhLiBJZiBmdW5jdGlvbmFsUmVwbGFjZSBpcyB0cnVlLCB0aGVuCisgICAgICAuLi4K
KyAgICBiLiBFbHNlLAorICAgICAgLi4uCisgICAgICBpaS4gTGV0IGNhcHR1cmVzIGJlIGEgbmV3
IGVtcHR5IExpc3QuCisgICAgICBpaWkuIExldCByZXBsYWNlbWVudCBiZSBHZXRTdWJzdGl0dXRp
b24oc2VhcmNoU3RyaW5nLCBzdHJpbmcsIHBvc2l0aW9uLCBjYXB0dXJlcywgdW5kZWZpbmVkLCBy
ZXBsYWNlVmFsdWUpLgorCisgIFN0cmluZ0luZGV4T2YgKCBzdHJpbmcsIHNlYXJjaFZhbHVlLCBm
cm9tSW5kZXggKQorCisgIC4uLgorICA0LiBMZXQgbGVuIGJlIHRoZSBsZW5ndGggb2Ygc3RyaW5n
LgorICA1LiBJZiBzZWFyY2hWYWx1ZSBpcyB0aGUgZW1wdHkgc3RyaW5nLCBhbmQgZnJvbUluZGV4
IDw9IGxlbiwgcmV0dXJuIGZyb21JbmRleC4KKyAgNi4gTGV0IHNlYXJjaExlbiBiZSB0aGUgbGVu
Z3RoIG9mIHNlYXJjaFZhbHVlLgorICA3LiBJZiB0aGVyZSBleGlzdHMgYW55IGludGVnZXIgayBz
dWNoIHRoYXQgZnJvbUluZGV4IOKJpCBrIOKJpCBsZW4gLSBzZWFyY2hMZW4gYW5kIGZvciBhbGwg
bm9ubmVnYXRpdmUgaW50ZWdlcnMgaiBsZXNzIHRoYW4gc2VhcmNoTGVuLCB0aGUgY29kZSB1bml0
IGF0IGluZGV4IGsgKyBqIHdpdGhpbiBzdHJpbmcgaXMgdGhlIHNhbWUgYXMgdGhlIGNvZGUgdW5p
dCBhdCBpbmRleCBqIHdpdGhpbiBzZWFyY2hWYWx1ZSwgbGV0IHBvcyBiZSB0aGUgc21hbGxlc3Qg
KGNsb3Nlc3QgdG8gLeKInikgc3VjaCBpbnRlZ2VyLiBPdGhlcndpc2UsIGxldCBwb3MgYmUgLTEu
CisgIDguIFJldHVybiBwb3MuIAorCisgIFJ1bnRpbWUgU2VtYW50aWNzOiBHZXRTdWJzdGl0dXRp
b24gKCBtYXRjaGVkLCBzdHIsIHBvc2l0aW9uLCBjYXB0dXJlcywgbmFtZWRDYXB0dXJlcywgcmVw
bGFjZW1lbnQgKQorCisgIC4uLgorICAyLiBMZXQgbWF0Y2hMZW5ndGggYmUgdGhlIG51bWJlciBv
ZiBjb2RlIHVuaXRzIGluIG1hdGNoZWQuCisgIC4uLgorICA0LiBMZXQgc3RyaW5nTGVuZ3RoIGJl
IHRoZSBudW1iZXIgb2YgY29kZSB1bml0cyBpbiBzdHIuCisgIC4uLgorICA5LiBMZXQgdGFpbFBv
cyBiZSBwb3NpdGlvbiArIG1hdGNoTGVuZ3RoLgorICAxMC4gTGV0IG0gYmUgdGhlIG51bWJlciBv
ZiBlbGVtZW50cyBpbiBjYXB0dXJlcy4KKyAgMTEuIExldCByZXN1bHQgYmUgdGhlIFN0cmluZyB2
YWx1ZSBkZXJpdmVkIGZyb20gcmVwbGFjZW1lbnQgYnkgY29weWluZyBjb2RlIHVuaXQgZWxlbWVu
dHMgZnJvbSByZXBsYWNlbWVudCB0byByZXN1bHQgd2hpbGUgcGVyZm9ybWluZyByZXBsYWNlbWVu
dHMgYXMgc3BlY2lmaWVkIGluIFRhYmxlIDUzLiBUaGVzZSAkIHJlcGxhY2VtZW50cyBhcmUgZG9u
ZSBsZWZ0LXRvLXJpZ2h0LCBhbmQsIG9uY2Ugc3VjaCBhIHJlcGxhY2VtZW50IGlzIHBlcmZvcm1l
ZCwgdGhlIG5ldyByZXBsYWNlbWVudCB0ZXh0IGlzIG5vdCBzdWJqZWN0IHRvIGZ1cnRoZXIgcmVw
bGFjZW1lbnRzLgorICAxMiBSZXR1cm4gcmVzdWx0LgorZmVhdHVyZXM6IFtTdHJpbmcucHJvdG90
eXBlLnJlcGxhY2VBbGxdCistLS0qLworCit2YXIgcmVzdWx0OworCityZXN1bHQgPSAnYWFiIGMg
IFxueCcucmVwbGFjZUFsbCgnJywgJ18nKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnX2Ff
YV9iXyBfY18gXyBfXG5feF8nKTsKKworcmVzdWx0ID0gJ2EnLnJlcGxhY2VBbGwoJycsICdfJyk7
Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ19hXycpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1m
bGFncy1uby1nLXRocm93cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLWZsYWdzLW5v
LWctdGhyb3dzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtZmxhZ3Mtbm8tZy10
aHJvd3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MiBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtc3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlYWxsCitkZXNjcmlwdGlv
bjogPgorICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgZmxhZ3MgZG9lcyBub3QgY29udGFpbiAiZyIK
K2luZm86IHwKKyAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsICggc2VhcmNoVmFsdWUsIHJl
cGxhY2VWYWx1ZSApCisKKyAgMS4gTGV0IE8gYmUgUmVxdWlyZU9iamVjdENvZXJjaWJsZSh0aGlz
IHZhbHVlKS4KKyAgMi4gSWYgc2VhcmNoVmFsdWUgaXMgbmVpdGhlciB1bmRlZmluZWQgbm9yIG51
bGwsIHRoZW4KKyAgICBhLiBMZXQgaXNSZWdFeHAgYmUgPyBJc1JlZ0V4cChzZWFyY2hTdHJpbmcp
LgorICAgIGIuIElmIGlzUmVnRXhwIGlzIHRydWUsIHRoZW4KKyAgICAgIGkuIExldCBmbGFncyBi
ZSA/IEdldChzZWFyY2hWYWx1ZSwgImZsYWdzIikuCisgICAgICBpaS4gUGVyZm9ybSA/IFJlcXVp
cmVPYmplY3RDb2VyY2libGUoZmxhZ3MpLgorICAgICAgaWlpLiBJZiA/IFRvU3RyaW5nKGZsYWdz
KSBkb2VzIG5vdCBjb250YWluICJnIiwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAu
Li4KK2ZlYXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsLCBTeW1ib2wubWF0Y2gs
IFN5bWJvbF0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBTdHJpbmcucHJv
dG90eXBlLnJlcGxhY2VBbGwsCisgICdmdW5jdGlvbicsCisgICdmdW5jdGlvbiBtdXN0IGV4aXN0
JworKTsKKwordmFyIHBvaXNvbmVkID0gMDsKK3ZhciBwb2lzb24gPSB7CisgIHRvU3RyaW5nKCkg
eworICAgIHBvaXNvbmVkICs9IDE7CisgICAgdGhyb3cgJ1Nob3VsZCBub3QgY2FsbCB0b1N0cmlu
ZyBvbiB0aGlzL3JlcGxhY2VWYWx1ZSc7CisgIH0sCit9OworCit2YXIgc2VhcmNoVmFsdWUgPSAv
Li87CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgJycucmVwbGFj
ZUFsbC5jYWxsKHBvaXNvbiwgc2VhcmNoVmFsdWUsIHBvaXNvbik7Cit9LCAnZmxhZ3MgaXMgdGhl
IGVtcHR5IHN0cmluZycpOworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VhcmNoVmFsdWUsICdm
bGFncycsIHsKKyAgdmFsdWU6ICdHJywKKyAgd3JpdGFibGU6IHRydWUsCisgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZSwKK30pOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Cisg
ICcnLnJlcGxhY2VBbGwuY2FsbChwb2lzb24sIHNlYXJjaFZhbHVlLCBwb2lzb24pOworfSwgJ2Nh
c2Ugc2Vuc2l0aXZlIEcnKTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlYXJjaFZhbHVlLCAn
ZmxhZ3MnLCB7CisgIHZhbHVlOiAnaScsCisgIHdyaXRhYmxlOiB0cnVlLAorICBjb25maWd1cmFi
bGU6IHRydWUsCit9KTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewor
ICAnJy5yZXBsYWNlQWxsLmNhbGwocG9pc29uLCBzZWFyY2hWYWx1ZSwgcG9pc29uKTsKK30sICdp
Jyk7CisKK2Fzc2VydC5zYW1lVmFsdWUocG9pc29uZWQsIDApOwpJbmRleDogSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1
ZS1mbGFncy1udWxsLXVuZGVmaW5lZC10aHJvd3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hW
YWx1ZS1mbGFncy1udWxsLXVuZGVmaW5lZC10aHJvd3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9z
ZWFyY2hWYWx1ZS1mbGFncy1udWxsLXVuZGVmaW5lZC10aHJvd3MuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw1OCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc3RyaW5n
LnByb3RvdHlwZS5yZXBsYWNlYWxsCitkZXNjcmlwdGlvbjogPgorICBUaHJvd3MgYSBUeXBlRXJy
b3IgaWYgZmxhZ3MgaXMgbm90IGFuIE9iamVjdENvZXJjaWJsZSAobnVsbCBvciB1bmRlZmluZWQp
CitpbmZvOiB8CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCAoIHNlYXJjaFZhbHVlLCBy
ZXBsYWNlVmFsdWUgKQorCisgIDEuIExldCBPIGJlIFJlcXVpcmVPYmplY3RDb2VyY2libGUodGhp
cyB2YWx1ZSkuCisgIDIuIElmIHNlYXJjaFZhbHVlIGlzIG5laXRoZXIgdW5kZWZpbmVkIG5vciBu
dWxsLCB0aGVuCisgICAgYS4gTGV0IGlzUmVnRXhwIGJlID8gSXNSZWdFeHAoc2VhcmNoU3RyaW5n
KS4KKyAgICBiLiBJZiBpc1JlZ0V4cCBpcyB0cnVlLCB0aGVuCisgICAgICBpLiBMZXQgZmxhZ3Mg
YmUgPyBHZXQoc2VhcmNoVmFsdWUsICJmbGFncyIpLgorICAgICAgaWkuIFBlcmZvcm0gPyBSZXF1
aXJlT2JqZWN0Q29lcmNpYmxlKGZsYWdzKS4KKyAgICAgIGlpaS4gSWYgPyBUb1N0cmluZyhmbGFn
cykgZG9lcyBub3QgY29udGFpbiAiZyIsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAg
Li4uCitmZWF0dXJlczogW1N0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCwgU3ltYm9sLm1hdGNo
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFN0cmluZy5wcm90b3R5cGUu
cmVwbGFjZUFsbCwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2Z1bmN0aW9uIG11c3QgZXhpc3QnCispOwor
Cit2YXIgcG9pc29uZWQgPSAwOwordmFyIHBvaXNvbiA9IHsKKyAgdG9TdHJpbmcoKSB7CisgICAg
cG9pc29uZWQgKz0gMTsKKyAgICB0aHJvdyAnU2hvdWxkIG5vdCBjYWxsIHRvU3RyaW5nIG9uIHRo
aXMvcmVwbGFjZVZhbHVlJzsKKyAgfSwKK307CisKK3ZhciBjYWxsZWQgPSAwOwordmFyIHZhbHVl
ID0gdW5kZWZpbmVkOwordmFyIHNlYXJjaFZhbHVlID0geworICBbU3ltYm9sLm1hdGNoXTogdHJ1
ZSwKKyAgZ2V0IGZsYWdzKCkgeworICAgIGNhbGxlZCArPSAxOworICAgIHJldHVybiB2YWx1ZTsK
KyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICAnJy5y
ZXBsYWNlQWxsLmNhbGwocG9pc29uLCBzZWFyY2hWYWx1ZSwgcG9pc29uKTsKK30sICd1bmRlZmlu
ZWQnKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbGVkLCAxKTsKKworY2FsbGVkID0gMDsKK3ZhbHVl
ID0gbnVsbDsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgJycucmVw
bGFjZUFsbC5jYWxsKHBvaXNvbiwgc2VhcmNoVmFsdWUsIHBvaXNvbik7Cit9LCAnbnVsbCcpOwor
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsZWQsIDEpOworCithc3NlcnQuc2FtZVZhbHVlKHBvaXNvbmVk
LCAwKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtZmxhZ3MtdG9TdHJpbmctYWJydXB0LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtZmxhZ3MtdG9TdHJpbmctYWJydXB0LmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtZmxhZ3MtdG9TdHJpbmctYWJydXB0LmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNTggQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVy
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2Vj
LXN0cmluZy5wcm90b3R5cGUucmVwbGFjZWFsbAorZGVzY3JpcHRpb246ID4KKyAgUmV0dXJucyBh
YnJ1cHQgY29tcGxldGlvbnMgZnJvbSBUb1N0cmluZyhmbGFncykKK2luZm86IHwKKyAgU3RyaW5n
LnByb3RvdHlwZS5yZXBsYWNlQWxsICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAg
MS4gTGV0IE8gYmUgUmVxdWlyZU9iamVjdENvZXJjaWJsZSh0aGlzIHZhbHVlKS4KKyAgMi4gSWYg
c2VhcmNoVmFsdWUgaXMgbmVpdGhlciB1bmRlZmluZWQgbm9yIG51bGwsIHRoZW4KKyAgICBhLiBM
ZXQgaXNSZWdFeHAgYmUgPyBJc1JlZ0V4cChzZWFyY2hTdHJpbmcpLgorICAgIGIuIElmIGlzUmVn
RXhwIGlzIHRydWUsIHRoZW4KKyAgICAgIGkuIExldCBmbGFncyBiZSA/IEdldChzZWFyY2hWYWx1
ZSwgImZsYWdzIikuCisgICAgICBpaS4gUGVyZm9ybSA/IFJlcXVpcmVPYmplY3RDb2VyY2libGUo
ZmxhZ3MpLgorICAgICAgaWlpLiBJZiA/IFRvU3RyaW5nKGZsYWdzKSBkb2VzIG5vdCBjb250YWlu
ICJnIiwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2ZlYXR1cmVzOiBbU3Ry
aW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsLCBTeW1ib2wubWF0Y2gsIFN5bWJvbF0KKy0tLSovCisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGws
CisgICdmdW5jdGlvbicsCisgICdmdW5jdGlvbiBtdXN0IGV4aXN0JworKTsKKwordmFyIHBvaXNv
bmVkID0gMDsKK3ZhciBwb2lzb24gPSB7CisgIHRvU3RyaW5nKCkgeworICAgIHBvaXNvbmVkICs9
IDE7CisgICAgdGhyb3cgJ1Nob3VsZCBub3QgY2FsbCB0b1N0cmluZyBvbiB0aGlzL3JlcGxhY2VW
YWx1ZSc7CisgIH0sCit9OworCit2YXIgc2VhcmNoVmFsdWUgPSB7CisgIFtTeW1ib2wubWF0Y2hd
OiB0cnVlLAorICBmbGFnczogU3ltYm9sKCksCisgIHRvU3RyaW5nKCkgeworICAgIHRocm93ICdT
aG91bGQgbm90IGNhbGwgdG9TdHJpbmcgb24gc2VhcmNoVmFsdWUnOworICB9Cit9OworCithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgICcnLnJlcGxhY2VBbGwuY2FsbChw
b2lzb24sIHNlYXJjaFZhbHVlLCBwb2lzb24pOworfSwgJ1N5bWJvbCcpOworCitzZWFyY2hWYWx1
ZS5mbGFncyA9IHsKKyAgdG9TdHJpbmcoKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigp
OworICB9Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7Cisg
ICcnLnJlcGxhY2VBbGwuY2FsbChwb2lzb24sIHNlYXJjaFZhbHVlLCBwb2lzb24pOworfSwgJ2N1
c3RvbSBhYnJ1cHQnKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShwb2lzb25lZCwgMCk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxs
L3NlYXJjaFZhbHVlLWdldC1mbGFncy1hYnJ1cHQuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hW
YWx1ZS1nZXQtZmxhZ3MtYWJydXB0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUt
Z2V0LWZsYWdzLWFicnVwdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDg0IEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VhbGwK
K2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybiBBYnJ1cHQgY29tcGxldGlvbiBmcm9tIEdldChzZWFy
Y2hWYWx1ZSwgImZsYWdzIikKK2luZm86IHwKKyAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxs
ICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAgMS4gTGV0IE8gYmUgUmVxdWlyZU9i
amVjdENvZXJjaWJsZSh0aGlzIHZhbHVlKS4KKyAgMi4gSWYgc2VhcmNoVmFsdWUgaXMgbmVpdGhl
ciB1bmRlZmluZWQgbm9yIG51bGwsIHRoZW4KKyAgICBhLiBMZXQgaXNSZWdFeHAgYmUgPyBJc1Jl
Z0V4cChzZWFyY2hTdHJpbmcpLgorICAgIGIuIElmIGlzUmVnRXhwIGlzIHRydWUsIHRoZW4KKyAg
ICAgIGkuIExldCBmbGFncyBiZSA/IEdldChzZWFyY2hWYWx1ZSwgImZsYWdzIikuCisgICAgICBp
aS4gUGVyZm9ybSA/IFJlcXVpcmVPYmplY3RDb2VyY2libGUoZmxhZ3MpLgorICAgICAgaWlpLiBJ
ZiA/IFRvU3RyaW5nKGZsYWdzKSBkb2VzIG5vdCBjb250YWluICJnIiwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgorICAuLi4KK2ZlYXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNl
QWxsLCBTeW1ib2wubWF0Y2hdCistLS0qLworCit2YXIgc2VhcmNoVmFsdWUgPSB7CisgIFtTeW1i
b2wubWF0Y2hdOiB0cnVlLAorICBnZXQgZmxhZ3MoKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcjsKKyAgfQorfTsKKwordmFyIHBvaXNvbmVkID0gMDsKK3ZhciBwb2lzb24gPSB7CisgIHRv
U3RyaW5nKCkgeworICAgIHBvaXNvbmVkICs9IDE7CisgICAgdGhyb3cgJ1Nob3VsZCBub3QgY2Fs
bCB0b1N0cmluZyBvbiB0aGlzL3JlcGxhY2VWYWx1ZSc7CisgIH0sCit9OworCithc3NlcnQudGhy
b3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CisgICcnLnJlcGxhY2VBbGwuY2FsbChwb2lz
b24sIHNlYXJjaFZhbHVlLCBwb2lzb24pOworfSwgJ2Zyb20gY3VzdG9tIHNlYXJjaFZhbHVlIG9i
amVjdCcpOworCit2YXIgcmUxID0gLy4vOworT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlMSwgJ2Zs
YWdzJywgeworICBnZXQoKSB7IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsgfQorfSk7CisKK2Fz
c2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgJycucmVwbGFjZUFsbC5j
YWxsKHBvaXNvbiwgcmUxLCBwb2lzb24pOworfSwgJ2Zyb20gUkUgaW5zdGFuY2UsIHVzaW5nIGRl
ZmF1bHQgU3ltYm9sLm1hdGNoIGNoZWNrJyk7CisKK3ZhciBjYWxsZWQgPSAwOwordmFyIHJlMiA9
IC8uLzsKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShyZTIsIFN5bWJvbC5tYXRjaCwgeworICBnZXQo
KSB7CisgICAgY2FsbGVkICs9IDE7CisgICAgcmV0dXJuIHRydWU7CisgIH0KK30pOworT2JqZWN0
LmRlZmluZVByb3BlcnR5KHJlMiwgJ2ZsYWdzJywgeworICBnZXQoKSB7IHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoKTsgfQorfSk7CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlv
bigpIHsKKyAgJycucmVwbGFjZUFsbC5jYWxsKHBvaXNvbiwgcmUyLCBwb2lzb24pOworfSwgJ2Zy
b20gUkUgaW5zdGFuY2UsIHVzaW5nIFN5bWJvbC5tYXRjaCBjaGVjayAodHJ1ZSknKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoY2FsbGVkLCAxKTsKKworY2FsbGVkID0gMDsKK3ZhciByZTMgPSAvLi87CitP
YmplY3QuZGVmaW5lUHJvcGVydHkocmUzLCBTeW1ib2wubWF0Y2gsIHsKKyAgZ2V0KCkgeworICAg
IGNhbGxlZCArPSAxOworICAgIHJldHVybiAxOworICB9Cit9KTsKK09iamVjdC5kZWZpbmVQcm9w
ZXJ0eShyZTMsICdmbGFncycsIHsKKyAgZ2V0KCkgeyB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7
IH0KK30pOworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CisgICcn
LnJlcGxhY2VBbGwuY2FsbChwb2lzb24sIHJlMywgcG9pc29uKTsKK30sICdmcm9tIFJFIGluc3Rh
bmNlLCB1c2luZyBTeW1ib2wubWF0Y2ggY2hlY2sgKDEpLCB1c2VzIEludGVybmFsIGZvciBJc1Jl
Z0V4cCcpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsZWQsIDEpOworCithc3NlcnQuc2FtZVZhbHVl
KHBvaXNvbmVkLCAwKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJp
bmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtaXNSZWdFeHAtYWJydXB0LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtaXNSZWdFeHAtYWJydXB0LmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3Jl
cGxhY2VBbGwvc2VhcmNoVmFsdWUtaXNSZWdFeHAtYWJydXB0LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXN0cmluZy5w
cm90b3R5cGUucmVwbGFjZWFsbAorZGVzY3JpcHRpb246ID4KKyAgUmV0dXJuIEFicnVwdCBjb21w
bGV0aW9uIGZyb20gaXNSZWdFeHAKK2luZm86IHwKKyAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNl
QWxsICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAgMS4gTGV0IE8gYmUgUmVxdWly
ZU9iamVjdENvZXJjaWJsZSh0aGlzIHZhbHVlKS4KKyAgMi4gSWYgc2VhcmNoVmFsdWUgaXMgbmVp
dGhlciB1bmRlZmluZWQgbm9yIG51bGwsIHRoZW4KKyAgICBhLiBMZXQgaXNSZWdFeHAgYmUgPyBJ
c1JlZ0V4cChzZWFyY2hTdHJpbmcpLgorICAuLi4KKworICBJc1JlZ0V4cCAoIGFyZ3VtZW50ICkK
KworICAxLiBJZiBUeXBlKGFyZ3VtZW50KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisg
IDIuIExldCBtYXRjaGVyIGJlID8gR2V0KGFyZ3VtZW50LCBAQG1hdGNoKS4KKyAgMy4gSWYgbWF0
Y2hlciBpcyBub3QgdW5kZWZpbmVkLCByZXR1cm4gISBUb0Jvb2xlYW4obWF0Y2hlcikuCisgIDQu
IElmIGFyZ3VtZW50IGhhcyBhIFtbUmVnRXhwTWF0Y2hlcl1dIGludGVybmFsIHNsb3QsIHJldHVy
biB0cnVlLgorICA1LiBSZXR1cm4gZmFsc2UuIAorZmVhdHVyZXM6IFtTdHJpbmcucHJvdG90eXBl
LnJlcGxhY2VBbGwsIFN5bWJvbC5tYXRjaF0KKy0tLSovCisKK3ZhciBzZWFyY2hWYWx1ZSA9IHsK
KyAgZ2V0IFtTeW1ib2wubWF0Y2hdKCkgeworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsK
KyAgfSwKKyAgdG9TdHJpbmcoKSB7CisgICAgdGhyb3cgJ1Nob3VsZCBub3QgY2FsbCB0b1N0cmlu
ZyBvbiBzZWFyY2hWYWx1ZSc7CisgIH0KK307CisKK3ZhciBwb2lzb25lZCA9IDA7Cit2YXIgcG9p
c29uID0geworICB0b1N0cmluZygpIHsKKyAgICBwb2lzb25lZCArPSAxOworICAgIHRocm93ICdT
aG91bGQgbm90IGNhbGwgdG9TdHJpbmcgb24gdGhpcy9yZXBsYWNlVmFsdWUnOworICB9LAorfTsK
KworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgeworICAnJy5yZXBsYWNl
QWxsLmNhbGwocG9pc29uLCBzZWFyY2hWYWx1ZSwgcG9pc29uKTsKK30pOworCithc3NlcnQuc2Ft
ZVZhbHVlKHBvaXNvbmVkLCAwKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZS1tZXRob2Qt
YWJydXB0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZS1tZXRob2QtYWJy
dXB0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZS1tZXRob2QtYWJy
dXB0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTI5IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VhbGwKK2Rlc2NyaXB0aW9u
OiA+CisgIFJldHVybiBhYnJ1cHQgY29tcGxldGlvbiBmcm9tIEdldE1ldGhvZChzZWFyY2hWYWxl
dSBAQHJlcGxhY2UpCitpbmZvOiB8CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCAoIHNl
YXJjaFZhbHVlLCByZXBsYWNlVmFsdWUgKQorCisgIDEuIExldCBPIGJlIFJlcXVpcmVPYmplY3RD
b2VyY2libGUodGhpcyB2YWx1ZSkuCisgIDIuIElmIHNlYXJjaFZhbHVlIGlzIG5laXRoZXIgdW5k
ZWZpbmVkIG5vciBudWxsLCB0aGVuCisgICAgYS4gTGV0IGlzUmVnRXhwIGJlID8gSXNSZWdFeHAo
c2VhcmNoU3RyaW5nKS4KKyAgICBiLiBJZiBpc1JlZ0V4cCBpcyB0cnVlLCB0aGVuCisgICAgICBp
LiBMZXQgZmxhZ3MgYmUgPyBHZXQoc2VhcmNoVmFsdWUsICJmbGFncyIpLgorICAgICAgaWkuIFBl
cmZvcm0gPyBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKGZsYWdzKS4KKyAgICAgIGlpaS4gSWYgPyBU
b1N0cmluZyhmbGFncykgZG9lcyBub3QgY29udGFpbiAiZyIsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgICBjLiBMZXQgcmVwbGFjZXIgYmUgPyBHZXRNZXRob2Qoc2VhcmNoVmFsdWUs
IEBAcmVwbGFjZSkuCisgIC4uLgorCisgIEdldE1ldGhvZCAoIFYsIFAgKQorCisgIC4uLgorICAy
LiBMZXQgZnVuYyBiZSA/IEdldFYoViwgUCkuCisgIDMuIElmIGZ1bmMgaXMgZWl0aGVyIHVuZGVm
aW5lZCBvciBudWxsLCByZXR1cm4gdW5kZWZpbmVkLgorICA0LiBJZiBJc0NhbGxhYmxlKGZ1bmMp
IGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDUuIFJldHVybiBmdW5j
LiAKK2ZlYXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsLCBTeW1ib2wsIFN5bWJv
bC5tYXRjaCwgU3ltYm9sLnJlcGxhY2VdCistLS0qLworCit2YXIgcG9pc29uZWQgPSAwOwordmFy
IHBvaXNvbiA9IHsKKyAgdG9TdHJpbmcoKSB7CisgICAgcG9pc29uZWQgKz0gMTsKKyAgICB0aHJv
dyAnU2hvdWxkIG5vdCBjYWxsIHRvU3RyaW5nIG9uIHRoaXMvcmVwbGFjZVZhbHVlJzsKKyAgfSwK
K307CisKK3ZhciBzZWFyY2hWYWx1ZSA9IHsKKyAgW1N5bWJvbC5tYXRjaF06IGZhbHNlLAorICBm
bGFnczogJ2cnLAorICBnZXQgW1N5bWJvbC5yZXBsYWNlXSgpIHsKKyAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCk7CisgIH0sCit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVu
Y3Rpb24oKSB7CisgICcnLnJlcGxhY2VBbGwuY2FsbChwb2lzb24sIHNlYXJjaFZhbHVlLCBwb2lz
b24pOworfSwgJ2N1c3RvbSBhYnJ1cHQnKTsKKworc2VhcmNoVmFsdWUgPSB7CisgIFtTeW1ib2wu
bWF0Y2hdOiBmYWxzZSwKKyAgZmxhZ3M6ICdnJywKKyAgW1N5bWJvbC5yZXBsYWNlXToge30sCisg
IHRvU3RyaW5nKCkgeworICAgIHRocm93ICdTaG91bGQgbm90IGNhbGwgdG9TdHJpbmcgb24gc2Vh
cmNoVmFsdWUnOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7CisgICcnLnJlcGxhY2VBbGwuY2FsbChwb2lzb24sIHNlYXJjaFZhbHVlLCBwb2lzb24pOwor
fSwgJ0BAcmVwbGFjZSBpcyBhbiBvYmplY3QgKG5vdCBjYWxsYWJsZSknKTsKKworc2VhcmNoVmFs
dWUgPSB7CisgIFtTeW1ib2wubWF0Y2hdOiBmYWxzZSwKKyAgZmxhZ3M6ICdnJywKKyAgW1N5bWJv
bC5yZXBsYWNlXTogJycsCisgIHRvU3RyaW5nKCkgeworICAgIHRocm93ICdTaG91bGQgbm90IGNh
bGwgdG9TdHJpbmcgb24gc2VhcmNoVmFsdWUnOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgICcnLnJlcGxhY2VBbGwuY2FsbChwb2lzb24sIHNlYXJj
aFZhbHVlLCBwb2lzb24pOworfSwgJ0BAcmVwbGFjZSBpcyBhIHN0cmluZycpOworCitzZWFyY2hW
YWx1ZSA9IHsKKyAgW1N5bWJvbC5tYXRjaF06IGZhbHNlLAorICBmbGFnczogJ2cnLAorICBbU3lt
Ym9sLnJlcGxhY2VdOiA0MiwKKyAgdG9TdHJpbmcoKSB7CisgICAgdGhyb3cgJ1Nob3VsZCBub3Qg
Y2FsbCB0b1N0cmluZyBvbiBzZWFyY2hWYWx1ZSc7CisgIH0KK307CisKK2Fzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgJycucmVwbGFjZUFsbC5jYWxsKHBvaXNvbiwgc2Vh
cmNoVmFsdWUsIHBvaXNvbik7Cit9LCAnQEByZXBsYWNlIGlzIGEgbnVtYmVyJyk7CisKK3NlYXJj
aFZhbHVlID0geworICBbU3ltYm9sLm1hdGNoXTogZmFsc2UsCisgIGZsYWdzOiAnZycsCisgIFtT
eW1ib2wucmVwbGFjZV06IFN5bWJvbCgpLAorICB0b1N0cmluZygpIHsKKyAgICB0aHJvdyAnU2hv
dWxkIG5vdCBjYWxsIHRvU3RyaW5nIG9uIHNlYXJjaFZhbHVlJzsKKyAgfQorfTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICAnJy5yZXBsYWNlQWxsLmNhbGwocG9p
c29uLCBzZWFyY2hWYWx1ZSwgcG9pc29uKTsKK30sICdAQHJlcGxhY2UgaXMgYSBzeW1ib2wnKTsK
Kworc2VhcmNoVmFsdWUgPSB7CisgIFtTeW1ib2wubWF0Y2hdOiBmYWxzZSwKKyAgZmxhZ3M6ICdn
JywKKyAgW1N5bWJvbC5yZXBsYWNlXTogdHJ1ZSwKKyAgdG9TdHJpbmcoKSB7CisgICAgdGhyb3cg
J1Nob3VsZCBub3QgY2FsbCB0b1N0cmluZyBvbiBzZWFyY2hWYWx1ZSc7CisgIH0KK307CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgJycucmVwbGFjZUFsbC5jYWxs
KHBvaXNvbiwgc2VhcmNoVmFsdWUsIHBvaXNvbik7Cit9LCAnQEByZXBsYWNlIGlzIHRydWUnKTsK
Kworc2VhcmNoVmFsdWUgPSB7CisgIFtTeW1ib2wubWF0Y2hdOiBmYWxzZSwKKyAgZmxhZ3M6ICdn
JywKKyAgW1N5bWJvbC5yZXBsYWNlXTogZmFsc2UsCisgIHRvU3RyaW5nKCkgeworICAgIHRocm93
ICdTaG91bGQgbm90IGNhbGwgdG9TdHJpbmcgb24gc2VhcmNoVmFsdWUnOworICB9Cit9OworCith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgICcnLnJlcGxhY2VBbGwuY2Fs
bChwb2lzb24sIHNlYXJjaFZhbHVlLCBwb2lzb24pOworfSwgJ0BAcmVwbGFjZSBpcyBmYWxzZScp
OworCithc3NlcnQuc2FtZVZhbHVlKHBvaXNvbmVkLCAwKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUt
cmVwbGFjZXItUmVnRXhwLWNhbGwtZm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1y
ZXBsYWNlci1SZWdFeHAtY2FsbC1mbi5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVl
LXJlcGxhY2VyLVJlZ0V4cC1jYWxsLWZuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLnJl
cGxhY2VhbGwKK2Rlc2NyaXB0aW9uOiA+CisgIEEgUmVnRXhwIHNlYXJjaFZhbHVlJ3MgU3ltYm9s
LnJlcGxhY2UgY2FuIGJlIGNhbGxlZCBpbnN0ZWFkIG9mIHRoZSBuZXh0IHN0ZXBzIG9mIHJlcGxh
Y2VBbGwKK2luZm86IHwKKyAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsICggc2VhcmNoVmFs
dWUsIHJlcGxhY2VWYWx1ZSApCisKKyAgMS4gTGV0IE8gYmUgUmVxdWlyZU9iamVjdENvZXJjaWJs
ZSh0aGlzIHZhbHVlKS4KKyAgMi4gSWYgc2VhcmNoVmFsdWUgaXMgbmVpdGhlciB1bmRlZmluZWQg
bm9yIG51bGwsIHRoZW4KKyAgICBhLiBMZXQgaXNSZWdFeHAgYmUgPyBJc1JlZ0V4cChzZWFyY2hT
dHJpbmcpLgorICAgIGIuIElmIGlzUmVnRXhwIGlzIHRydWUsIHRoZW4KKyAgICAgIGkuIExldCBm
bGFncyBiZSA/IEdldChzZWFyY2hWYWx1ZSwgImZsYWdzIikuCisgICAgICBpaS4gUGVyZm9ybSA/
IFJlcXVpcmVPYmplY3RDb2VyY2libGUoZmxhZ3MpLgorICAgICAgaWlpLiBJZiA/IFRvU3RyaW5n
KGZsYWdzKSBkb2VzIG5vdCBjb250YWluICJnIiwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9u
LgorICAgIGMuIExldCByZXBsYWNlciBiZSA/IEdldE1ldGhvZChzZWFyY2hWYWx1ZSwgQEByZXBs
YWNlKS4KKyAgICBkLiBJZiByZXBsYWNlciBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICBp
LiBSZXR1cm4gPyBDYWxsKHJlcGxhY2VyLCBzZWFyY2hWYWx1ZSwgwqsgTywgcmVwbGFjZVZhbHVl
IMK7KS4KKyAgMy4gTGV0IHN0cmluZyBiZSA/IFRvU3RyaW5nKE8pLgorICA0LiBMZXQgc2VhcmNo
U3RyaW5nIGJlID8gVG9TdHJpbmcoc2VhcmNoVmFsdWUpLgorICAuLi4KK2ZlYXR1cmVzOiBbU3Ry
aW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsLCBTeW1ib2wucmVwbGFjZSwgY2xhc3NdCitpbmNsdWRl
czogW2NvbXBhcmVBcnJheS5qc10KKy0tLSovCisKK2xldCBjYWxsZWQgPSAwOworCitjbGFzcyBS
RSBleHRlbmRzIFJlZ0V4cCB7CisgIFtTeW1ib2wucmVwbGFjZV0oLi4uYXJncykgeworICAgIGNv
bnN0IGFjdHVhbCA9IHN1cGVyW1N5bWJvbC5yZXBsYWNlXSguLi5hcmdzKTsKKworICAgIC8vIE9y
ZGVyaW5nIGlzIGludGVudGlvbmFsIHRvIG9ic2VydmUgY2FsbCBmcm9tIHN1cGVyCisgICAgY2Fs
bGVkICs9IDE7CisgICAgcmV0dXJuIGFjdHVhbDsKKyAgfQorCisgIHRvU3RyaW5nKCkgeworICAg
IHRocm93ICdTaG91bGQgbm90IGNhbGwgdG9TdHJpbmcgb24gc2VhcmNoVmFsdWUnOworICB9Cit9
CisKK2NvbnN0IHQgPSAoZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSgpOworbGV0IGNhbGxz
OworCitmdW5jdGlvbiBnZXRGbih2YWwpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uIHJlcGxhY2VWYWx1
ZUZuKC4uLmFyZ3MpIHsKKyAgICBjYWxscy5wdXNoKFt0aGlzLCAuLi5hcmdzXSk7CisgICAgcmV0
dXJuIHZhbDsKKyAgfTsKK30KKworY29uc3Qgc2FtcGxlcyA9IFsKKyAgWyAnKGEpJywgJ2FhYSBh
YmMnLCAneicsICd6enogemJjJyBdLAorICBbICcoYSknLCAnYWFhIGFiYycsICckMScsICckMSQx
JDEgJDFiYycgXSwKKyAgWyAnKGEpJywgJ2FhYSBhYmMnLCAnJCQnLCAnJCQkJCQkICQkYmMnIF0s
CisgIFsgJyhhKScsICdhYWEgYWJjJywgJyQmJywgJyQmJCYkJiAkJmJjJyBdLAorICBbICcoYSkn
LCAnYWFhIGFiYycsICckXCcnLCAnJFwnJFwnJFwnICRcJ2JjJyBdLAorICBbICcoYSknLCAnYWFh
IGFiYycsICckYCcsICckYCRgJGAgJGBiYycgXSwKK107CisKK2xldCBjb3VudCA9IDA7Citmb3Ig
KGNvbnN0IFsgcmVTdHIsIHRoaXNWYWx1ZSwgcmVwbGFjZVZhbHVlLCBleHBlY3RlZCBdIG9mIHNh
bXBsZXMpIHsKKyAgY29uc3Qgc2VhcmNoVmFsdWUgPSBuZXcgUkUocmVTdHIsICdnJyk7CisgIGNv
bnN0IHJlcGxhY2VGbiA9IGdldEZuKHJlcGxhY2VWYWx1ZSk7CisKKyAgLy8gT2JzZXJ2ZXMgdGhl
IHRvU3RyaW5nCisgIGNvbnN0IG9iaiA9IG5ldyBTdHJpbmcodGhpc1ZhbHVlKTsKKworICBjYWxs
ZWQgPSAwOworICBjYWxscyA9IFtdOworCisgIGNvbnN0IGFjdHVhbCA9IG9iai5yZXBsYWNlQWxs
KHNlYXJjaFZhbHVlLCByZXBsYWNlRm4pOworCisgIGNvbnN0IG1lc3NhZ2UgPSBgc2FtcGxlICR7
Y291bnR9OiAnJHt0aGlzVmFsdWV9Jy5yZXBsYWNlQWxsKC8ke3JlU3RyfS9nLCAoKSA9PiAnJHty
ZXBsYWNlVmFsdWV9JylgOworCisgIGFzc2VydC5zYW1lVmFsdWUoY2FsbGVkLCAxLCBgY2FsbGVk
IC0tICR7bWVzc2FnZX1gKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhY3R1YWwsIGV4cGVjdGVkLCBg
YWN0dWFsIC0tICR7bWVzc2FnZX1gKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxzLmxlbmd0
aCwgNCwgYGNhbGxzLmxlbmd0aCAtLSAke21lc3NhZ2V9YCk7CisgIGFzc2VydC5jb21wYXJlQXJy
YXkoY2FsbHNbMF0sIFt0LCAnYScsICdhJywgMCwgdGhpc1ZhbHVlXSk7CisgIGFzc2VydC5jb21w
YXJlQXJyYXkoY2FsbHNbMV0sIFt0LCAnYScsICdhJywgMSwgdGhpc1ZhbHVlXSk7CisgIGFzc2Vy
dC5jb21wYXJlQXJyYXkoY2FsbHNbMl0sIFt0LCAnYScsICdhJywgMiwgdGhpc1ZhbHVlXSk7Cisg
IGFzc2VydC5jb21wYXJlQXJyYXkoY2FsbHNbM10sIFt0LCAnYScsICdhJywgNCwgdGhpc1ZhbHVl
XSk7CisKKyAgY291bnQgKz0gMTsKK30KKworY29uc3Qgc2FtcGxlc1N0aWNreSA9IFsKKyAgWyAn
KGEpJywgJ2FhYSBhYmMnLCAneicsICd6enogYWJjJyBdLAorICBbICcoYSknLCAnYWFhIGFiYycs
ICckMScsICckMSQxJDEgYWJjJyBdLAorICBbICcoYSknLCAnYWFhIGFiYycsICckJCcsICckJCQk
JCQgYWJjJyBdLAorICBbICcoYSknLCAnYWFhIGFiYycsICckJicsICckJiQmJCYgYWJjJyBdLAor
ICBbICcoYSknLCAnYWFhIGFiYycsICckXCcnLCAnJFwnJFwnJFwnIGFiYycgXSwKKyAgWyAnKGEp
JywgJ2FhYSBhYmMnLCAnJGAnLCAnJGAkYCRgIGFiYycgXSwKK107CisKK2NvdW50ID0gMDsKK2Zv
ciAoY29uc3QgWyByZVN0ciwgdGhpc1ZhbHVlLCByZXBsYWNlVmFsdWUsIGV4cGVjdGVkIF0gb2Yg
c2FtcGxlc1N0aWNreSkgeworICBjb25zdCBzZWFyY2hWYWx1ZSA9IG5ldyBSRShyZVN0ciwgJ2d5
Jyk7CisgIGNvbnN0IHJlcGxhY2VGbiA9IGdldEZuKHJlcGxhY2VWYWx1ZSk7CisKKyAgLy8gT2Jz
ZXJ2ZXMgdGhlIHRvU3RyaW5nCisgIGNvbnN0IG9iaiA9IG5ldyBTdHJpbmcodGhpc1ZhbHVlKTsK
KworICBjYWxsZWQgPSAwOworICBjYWxscyA9IFtdOworCisgIGNvbnN0IGFjdHVhbCA9IG9iai5y
ZXBsYWNlQWxsKHNlYXJjaFZhbHVlLCByZXBsYWNlRm4pOworCisgIGNvbnN0IG1lc3NhZ2UgPSBg
c2FtcGxlICR7Y291bnR9OiAnJHt0aGlzVmFsdWV9Jy5yZXBsYWNlQWxsKC8ke3JlU3RyfS9neSwg
KCkgPT4gJyR7cmVwbGFjZVZhbHVlfScpYDsKKworICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxlZCwg
MSwgYGNhbGxlZCAtLSAke21lc3NhZ2V9YCk7CisgIGFzc2VydC5zYW1lVmFsdWUoYWN0dWFsLCBl
eHBlY3RlZCwgYGFjdHVhbCAtLSAke21lc3NhZ2V9YCk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShj
YWxscy5sZW5ndGgsIDMsIGBjYWxscy5sZW5ndGggLS0gJHttZXNzYWdlfWApOworICBhc3NlcnQu
Y29tcGFyZUFycmF5KGNhbGxzWzBdLCBbdCwgJ2EnLCAnYScsIDAsIHRoaXNWYWx1ZV0pOworICBh
c3NlcnQuY29tcGFyZUFycmF5KGNhbGxzWzFdLCBbdCwgJ2EnLCAnYScsIDEsIHRoaXNWYWx1ZV0p
OworICBhc3NlcnQuY29tcGFyZUFycmF5KGNhbGxzWzJdLCBbdCwgJ2EnLCAnYScsIDIsIHRoaXNW
YWx1ZV0pOworCisgIGNvdW50ICs9IDE7Cit9CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLXJlcGxhY2Vy
LVJlZ0V4cC1jYWxsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZXItUmVn
RXhwLWNhbGwuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1yZXBsYWNlci1SZWdF
eHAtY2FsbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgyIEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VhbGwKK2Rlc2NyaXB0
aW9uOiA+CisgIEEgUmVnRXhwIHNlYXJjaFZhbHVlJ3MgU3ltYm9sLnJlcGxhY2UgY2FuIGJlIGNh
bGxlZCBpbnN0ZWFkIG9mIHRoZSBuZXh0IHN0ZXBzIG9mIHJlcGxhY2VBbGwKK2luZm86IHwKKyAg
U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSAp
CisKKyAgMS4gTGV0IE8gYmUgUmVxdWlyZU9iamVjdENvZXJjaWJsZSh0aGlzIHZhbHVlKS4KKyAg
Mi4gSWYgc2VhcmNoVmFsdWUgaXMgbmVpdGhlciB1bmRlZmluZWQgbm9yIG51bGwsIHRoZW4KKyAg
ICBhLiBMZXQgaXNSZWdFeHAgYmUgPyBJc1JlZ0V4cChzZWFyY2hTdHJpbmcpLgorICAgIGIuIElm
IGlzUmVnRXhwIGlzIHRydWUsIHRoZW4KKyAgICAgIGkuIExldCBmbGFncyBiZSA/IEdldChzZWFy
Y2hWYWx1ZSwgImZsYWdzIikuCisgICAgICBpaS4gUGVyZm9ybSA/IFJlcXVpcmVPYmplY3RDb2Vy
Y2libGUoZmxhZ3MpLgorICAgICAgaWlpLiBJZiA/IFRvU3RyaW5nKGZsYWdzKSBkb2VzIG5vdCBj
b250YWluICJnIiwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgIGMuIExldCByZXBs
YWNlciBiZSA/IEdldE1ldGhvZChzZWFyY2hWYWx1ZSwgQEByZXBsYWNlKS4KKyAgICBkLiBJZiBy
ZXBsYWNlciBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICBpLiBSZXR1cm4gPyBDYWxsKHJl
cGxhY2VyLCBzZWFyY2hWYWx1ZSwgwqsgTywgcmVwbGFjZVZhbHVlIMK7KS4KKyAgMy4gTGV0IHN0
cmluZyBiZSA/IFRvU3RyaW5nKE8pLgorICA0LiBMZXQgc2VhcmNoU3RyaW5nIGJlID8gVG9TdHJp
bmcoc2VhcmNoVmFsdWUpLgorICAuLi4KK2ZlYXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5yZXBs
YWNlQWxsLCBTeW1ib2wucmVwbGFjZSwgY2xhc3NdCistLS0qLworCitsZXQgY2FsbGVkID0gMDsK
KworY2xhc3MgUkUgZXh0ZW5kcyBSZWdFeHAgeworICBbU3ltYm9sLnJlcGxhY2VdKC4uLmFyZ3Mp
IHsKKyAgICBjb25zdCBhY3R1YWwgPSBzdXBlcltTeW1ib2wucmVwbGFjZV0oLi4uYXJncyk7CisK
KyAgICAvLyBPcmRlcmluZyBpcyBpbnRlbnRpb25hbCB0byBvYnNlcnZlIGNhbGwgZnJvbSBzdXBl
cgorICAgIGNhbGxlZCArPSAxOworICAgIHJldHVybiBhY3R1YWw7CisgIH0KKworICB0b1N0cmlu
ZygpIHsKKyAgICB0aHJvdyAnU2hvdWxkIG5vdCBjYWxsIHRvU3RyaW5nIG9uIHNlYXJjaFZhbHVl
JzsKKyAgfQorfQorCitjb25zdCBzYW1wbGVzID0gWworICBbIFsnYicsICdnJ10sICdhYmMgYWJj
IGFiYycsICd6JywgJ2F6YyBhemMgYXpjJyBdLAorICBbIFsnYicsICdneSddLCAnYWJjIGFiYyBh
YmMnLCAneicsICdhYmMgYWJjIGFiYycgXSwKKyAgWyBbJ2InLCAnZ2l5J10sICdhYmMgYWJjIGFi
YycsICd6JywgJ2FiYyBhYmMgYWJjJyBdLAorICBbIFsgJ1tBLVpdJywgJ2cnIF0sICdObyBVcHBl
cmNhc2UhJywgJycsICdvIHBwZXJjYXNlIScgXSwKKyAgWyBbICdbQS1aXScsICdneScgXSwgJ05v
IFVwcGVyY2FzZT8nLCAnJywgJ28gVXBwZXJjYXNlPycgXSwKKyAgWyBbICdbQS1aXScsICdneScg
XSwgJ05PIFVQUEVSQ0FTRSEnLCAnJywgJyBVUFBFUkNBU0UhJyBdLAorICBbIFsgJ2EoYikoY2Ep
JywgJ2cnIF0sICdhYmNhYmNhYmNhYmMnLCAnJDItJDEnLCAnY2EtYmJjY2EtYmJjJyBdLAorICBb
IFsgJyhhKC4pKScsICdnJyBdLCAnYWJjYWJjYWJjYWJjJywgJyQxJDIkMycsICdhYmIkM2NhYmIk
M2NhYmIkM2NhYmIkM2MnIF0sCisgIFsgWyAnKCgoKCgoKCgoKCgoKGEoLikuKS4pLikuKS4pLiku
KS4pKSkpKSknLCAnZycgXSwgJ2FhYmFjYWRhZWFmYWdhaGFpYWpha2FsYW1hbm8gYSBhemF5YScs
ICcoJDEwKS0oJDEyKS0oJDEpJywgJyhhYWJhY2EpLShhYWJhKS0oYWFiYWNhZGFlYSlmKGFnYWhh
aSktKGFnYWgpLShhZ2FoYWlhamFrKShhbGFtYW4pLShhbGFtKS0oYWxhbWFubyBhIClhemF5YScg
XSwKKyAgWyBbICdiJywgJ2cnIF0sICdhYmNiYScsICckXCcnLCAnYWNiYWNhYScgXSwKKyAgWyBb
ICdiJywgJ2cnIF0sICdhYmNiYScsICckYCcsICdhYWNhYmNhJyBdLAorICBbIFsgJyg/PG5hbWVk
PmIpJywgJ2cnIF0sICdhYmNiYScsICcoJDxuYW1lZD4pJywgJ2EoYiljKGIpYScgXSwKKyAgWyBb
ICcoPzxuYW1lZD5iKScsICdnJyBdLCAnYWJjYmEnLCAnKCQ8bmFtZWQpJywgJ2EoJDxuYW1lZClj
KCQ8bmFtZWQpYScgXSwKKyAgWyBbICcoPzxuYW1lZD5iKScsICdnJyBdLCAnYWJjYmEnLCAnKCQ8
dW5uYW1lZD4pJywgJ2EoKWMoKWEnIF0sCisgIFsgWyAnYShiKShjYSknLCAnZycgXSwgJ2FiY2Fi
Y2FiY2FiYycsICcoJCQpJywgJygkKWJjKCQpYmMnIF0sCisgIFsgWyAnYShiKShjYSknLCAnZycg
XSwgJ2FiY2FiY2FiY2FiYycsICcoJCknLCAnKCQpYmMoJCliYycgXSwKKyAgWyBbICdhKGIpKGNh
KScsICdnJyBdLCAnYWJjYWJjYWJjYWJjJywgJygkJCQkKScsICcoJCQpYmMoJCQpYmMnIF0sCisg
IFsgWyAnYShiKShjYSknLCAnZycgXSwgJ2FiY2FiY2FiY2FiYycsICcoJCQkKScsICcoJCQpYmMo
JCQpYmMnIF0sCisgIFsgWyAnYShiKShjYSknLCAnZycgXSwgJ2FiY2FiY2FiY2FiYycsICcoJCQm
KScsICcoJCYpYmMoJCYpYmMnIF0sCisgIFsgWyAnYShiKShjYSknLCAnZycgXSwgJ2FiY2FiY2Fi
Y2FiYycsICcoJCQxKScsICcoJDEpYmMoJDEpYmMnIF0sCisgIFsgWyAnYShiKShjYSknLCAnZycg
XSwgJ2FiY2FiY2FiY2FiYycsICcoJCRgKScsICcoJGApYmMoJGApYmMnIF0sCisgIFsgWyAnYShi
KShjYSknLCAnZycgXSwgJ2FiY2FiY2FiY2FiYycsICcoJCRcJyknLCAnKCRcJyliYygkXCcpYmMn
IF0sCisgIFsgWyAnYSg/PHo+YikoY2EpJywgJ2cnIF0sICdhYmNhYmNhYmNhYmMnLCAnKCQkPHo+
KScsICcoJDx6PiliYygkPHo+KWJjJyBdLAorICBbIFsgJ2EoYikoY2EpJywgJ2cnIF0sICdhYmNh
YmNhYmNhYmMnLCAnKCQmKScsICcoYWJjYSliYyhhYmNhKWJjJyBdLAorXTsKKworbGV0IGNvdW50
ID0gMDsKK2ZvciAoY29uc3QgWyBbIHJlU3RyLCBmbGFncyBdLCB0aGlzVmFsdWUsIHJlcGxhY2VW
YWx1ZSwgZXhwZWN0ZWQgXSBvZiBzYW1wbGVzKSB7CisgIGNvbnN0IHNlYXJjaFZhbHVlID0gbmV3
IFJFKHJlU3RyLCBmbGFncyk7CisKKyAgY2FsbGVkID0gMDsKKyAgY29uc3QgYWN0dWFsID0gdGhp
c1ZhbHVlLnJlcGxhY2VBbGwoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSk7CisKKyAgY29uc3Qg
bWVzc2FnZSA9IGBzYW1wbGUgJHtjb3VudH06ICcke3RoaXNWYWx1ZX0nLnJlcGxhY2VBbGwoLyR7
cmVTdHJ9LyR7ZmxhZ3N9LCAnJHtyZXBsYWNlVmFsdWV9JylgOworCisgIGFzc2VydC5zYW1lVmFs
dWUoY2FsbGVkLCAxLCBtZXNzYWdlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKTsKKyAgY291bnQgKz0gMTsKK30KSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVw
bGFjZXItYmVmb3JlLXRvc3RyaW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVw
bGFjZXItYmVmb3JlLXRvc3RyaW5nLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUt
cmVwbGFjZXItYmVmb3JlLXRvc3RyaW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTgg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXN0cmluZy5wcm90b3R5cGUucmVw
bGFjZWFsbAorZGVzY3JpcHRpb246ID4KKyAgVGhlIHNlYXJjaFZhbHVlIGlzIG9ic2VydmVkIGJl
Zm9yZSBUb1N0cmluZyh0aGlzIHZhbHVlKSBhbmQgVG9TdHJpbmcocmVwbGFjZVZhbHVlKQoraW5m
bzogfAorICBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwgKCBzZWFyY2hWYWx1ZSwgcmVwbGFj
ZVZhbHVlICkKKworICAxLiBMZXQgTyBiZSBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKHRoaXMgdmFs
dWUpLgorICAyLiBJZiBzZWFyY2hWYWx1ZSBpcyBuZWl0aGVyIHVuZGVmaW5lZCBub3IgbnVsbCwg
dGhlbgorICAgIGEuIExldCBpc1JlZ0V4cCBiZSA/IElzUmVnRXhwKHNlYXJjaFN0cmluZykuCisg
ICAgYi4gSWYgaXNSZWdFeHAgaXMgdHJ1ZSwgdGhlbgorICAgICAgaS4gTGV0IGZsYWdzIGJlID8g
R2V0KHNlYXJjaFZhbHVlLCAiZmxhZ3MiKS4KKyAgICAgIGlpLiBQZXJmb3JtID8gUmVxdWlyZU9i
amVjdENvZXJjaWJsZShmbGFncykuCisgICAgICBpaWkuIElmID8gVG9TdHJpbmcoZmxhZ3MpIGRv
ZXMgbm90IGNvbnRhaW4gImciLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgICAgYy4g
TGV0IHJlcGxhY2VyIGJlID8gR2V0TWV0aG9kKHNlYXJjaFZhbHVlLCBAQHJlcGxhY2UpLgorICAg
IGQuIElmIHJlcGxhY2VyIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgIGkuIFJldHVybiA/
IENhbGwocmVwbGFjZXIsIHNlYXJjaFZhbHVlLCDCqyBPLCByZXBsYWNlVmFsdWUgwrspLgorICAz
LiBMZXQgc3RyaW5nIGJlID8gVG9TdHJpbmcoTykuCisgIDQuIExldCBzZWFyY2hTdHJpbmcgYmUg
PyBUb1N0cmluZyhzZWFyY2hWYWx1ZSkuCisgIC4uLgorZmVhdHVyZXM6IFtTdHJpbmcucHJvdG90
eXBlLnJlcGxhY2VBbGwsIFN5bWJvbC5yZXBsYWNlXQorLS0tKi8KKwordmFyIGNhbGxlZCA9IDA7
Cit2YXIgc2VhcmNoVmFsdWUgPSAvLi9nOworT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlYXJjaFZh
bHVlLCBTeW1ib2wucmVwbGFjZSwgeworICB2YWx1ZTogZnVuY3Rpb24oTywgcmVwbGFjZVZhbHVl
KSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLCBzZWFyY2hWYWx1ZSk7CisgICAgYXNzZXJ0
LnNhbWVWYWx1ZShPLCBwb2lzb24sICdmaXJzdCBhcmcgaXMgdGhlIHRoaXMgdmFsdWUgb2YgcmVw
bGFjZUFsbCcpOworICAgIGFzc2VydC5zYW1lVmFsdWUocmVwbGFjZVZhbHVlLCBwb2lzb24sICdz
ZWNvbmQgYXJnIGlzIHRoZSByZXBsYWNlVmFsdWUnKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGFy
Z3VtZW50cy5sZW5ndGgsIDIpOworICAgIGNhbGxlZCArPSAxOworICAgIHJldHVybiAncmV0dXJu
IGZyb20gc2VhcmNoVmFsdWUnOworICB9Cit9KTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KHNl
YXJjaFZhbHVlLCAndG9TdHJpbmcnLCB7CisgIHZhbHVlOiBmdW5jdGlvbigpIHsKKyAgICB0aHJv
dyAnU2hvdWxkIG5vdCBjYWxsIHRvU3RyaW5nIG9uIHNlYXJjaFZhbHVlJzsKKyAgfQorfSk7CisK
K3ZhciBwb2lzb25lZCA9IDA7Cit2YXIgcG9pc29uID0geworICB0b1N0cmluZygpIHsKKyAgICBw
b2lzb25lZCArPSAxOworICAgIHRocm93ICdTaG91bGQgbm90IGNhbGwgdG9TdHJpbmcgb24gdGhp
cy9yZXBsYWNlVmFsdWUnOworICB9LAorfTsKKwordmFyIHJldHVybmVkID0gJycucmVwbGFjZUFs
bC5jYWxsKHBvaXNvbiwgc2VhcmNoVmFsdWUsIHBvaXNvbik7CisKK2Fzc2VydC5zYW1lVmFsdWUo
cmV0dXJuZWQsICdyZXR1cm4gZnJvbSBzZWFyY2hWYWx1ZScpOworYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsZWQsIDEpOworYXNzZXJ0LnNhbWVWYWx1ZShwb2lzb25lZCwgMCk7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3NlYXJj
aFZhbHVlLXJlcGxhY2VyLWNhbGwtYWJydXB0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFs
dWUtcmVwbGFjZXItY2FsbC1hYnJ1cHQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1
ZS1yZXBsYWNlci1jYWxsLWFicnVwdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxh
Y2VhbGwKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybiBhYnJ1cHQgY29tcGxldGlvbiBmcm9tIENh
bGwuY2FsbChwb2lzb24sIHJlcGxhY2VyLCBwb2lzb24pCitpbmZvOiB8CisgIFN0cmluZy5wcm90
b3R5cGUucmVwbGFjZUFsbCAoIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUgKQorCisgIDEuIExl
dCBPIGJlIFJlcXVpcmVPYmplY3RDb2VyY2libGUodGhpcyB2YWx1ZSkuCisgIDIuIElmIHNlYXJj
aFZhbHVlIGlzIG5laXRoZXIgdW5kZWZpbmVkIG5vciBudWxsLCB0aGVuCisgICAgYS4gTGV0IGlz
UmVnRXhwIGJlID8gSXNSZWdFeHAoc2VhcmNoU3RyaW5nKS4KKyAgICBiLiBJZiBpc1JlZ0V4cCBp
cyB0cnVlLCB0aGVuCisgICAgICBpLiBMZXQgZmxhZ3MgYmUgPyBHZXQoc2VhcmNoVmFsdWUsICJm
bGFncyIpLgorICAgICAgaWkuIFBlcmZvcm0gPyBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKGZsYWdz
KS4KKyAgICAgIGlpaS4gSWYgPyBUb1N0cmluZyhmbGFncykgZG9lcyBub3QgY29udGFpbiAiZyIs
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgICBjLiBMZXQgcmVwbGFjZXIgYmUgPyBH
ZXRNZXRob2Qoc2VhcmNoVmFsdWUsIEBAcmVwbGFjZSkuCisgICAgZC4gSWYgcmVwbGFjZXIgaXMg
bm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgaS4gUmV0dXJuID8gQ2FsbChyZXBsYWNlciwgc2Vh
cmNoVmFsdWUsIMKrIE8sIHJlcGxhY2VWYWx1ZSDCuykuCisgIC4uLgorZmVhdHVyZXM6IFtTdHJp
bmcucHJvdG90eXBlLnJlcGxhY2VBbGwsIFN5bWJvbC5tYXRjaCwgU3ltYm9sLnJlcGxhY2VdCist
LS0qLworCit2YXIgcG9pc29uZWQgPSAwOwordmFyIHBvaXNvbiA9IHsKKyAgdG9TdHJpbmcoKSB7
CisgICAgcG9pc29uZWQgKz0gMTsKKyAgICB0aHJvdyAnU2hvdWxkIG5vdCBjYWxsIHRvU3RyaW5n
IG9uIHRoaXMvcmVwbGFjZVZhbHVlJzsKKyAgfSwKK307CisKK3ZhciBzZWFyY2hWYWx1ZSA9IHsK
KyAgW1N5bWJvbC5tYXRjaF06IGZhbHNlLAorICBmbGFnczogJ2cnLAorICBbU3ltYm9sLnJlcGxh
Y2VdKCkgeworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsKKyAgfSwKKyAgdG9TdHJpbmco
KSB7CisgICAgdGhyb3cgJ1Nob3VsZCBub3QgY2FsbCB0b1N0cmluZyBvbiBzZWFyY2hWYWx1ZSc7
CisgIH0KK307CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAg
JycucmVwbGFjZUFsbC5jYWxsKHBvaXNvbiwgc2VhcmNoVmFsdWUsIHBvaXNvbik7Cit9KTsKKwor
YXNzZXJ0LnNhbWVWYWx1ZShwb2lzb25lZCwgMCk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLXJlcGxh
Y2VyLWNhbGwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1yZXBsYWNlci1jYWxsLmpz
CShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcv
cHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZXItY2FsbC5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDU1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRl
ci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VhbGwKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybiB2
YWx1ZSBmcm9tIENhbGwocmVwbGFjZXIsIC4uLikKK2luZm86IHwKKyAgU3RyaW5nLnByb3RvdHlw
ZS5yZXBsYWNlQWxsICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAgMS4gTGV0IE8g
YmUgUmVxdWlyZU9iamVjdENvZXJjaWJsZSh0aGlzIHZhbHVlKS4KKyAgMi4gSWYgc2VhcmNoVmFs
dWUgaXMgbmVpdGhlciB1bmRlZmluZWQgbm9yIG51bGwsIHRoZW4KKyAgICBhLiBMZXQgaXNSZWdF
eHAgYmUgPyBJc1JlZ0V4cChzZWFyY2hTdHJpbmcpLgorICAgIGIuIElmIGlzUmVnRXhwIGlzIHRy
dWUsIHRoZW4KKyAgICAgIGkuIExldCBmbGFncyBiZSA/IEdldChzZWFyY2hWYWx1ZSwgImZsYWdz
IikuCisgICAgICBpaS4gUGVyZm9ybSA/IFJlcXVpcmVPYmplY3RDb2VyY2libGUoZmxhZ3MpLgor
ICAgICAgaWlpLiBJZiA/IFRvU3RyaW5nKGZsYWdzKSBkb2VzIG5vdCBjb250YWluICJnIiwgdGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgIGMuIExldCByZXBsYWNlciBiZSA/IEdldE1l
dGhvZChzZWFyY2hWYWx1ZSwgQEByZXBsYWNlKS4KKyAgICBkLiBJZiByZXBsYWNlciBpcyBub3Qg
dW5kZWZpbmVkLCB0aGVuCisgICAgICBpLiBSZXR1cm4gPyBDYWxsKHJlcGxhY2VyLCBzZWFyY2hW
YWx1ZSwgwqsgTywgcmVwbGFjZVZhbHVlIMK7KS4KKyAgMy4gTGV0IHN0cmluZyBiZSA/IFRvU3Ry
aW5nKE8pLgorICA0LiBMZXQgc2VhcmNoU3RyaW5nIGJlID8gVG9TdHJpbmcoc2VhcmNoVmFsdWUp
LgorICA1LiBMZXQgZnVuY3Rpb25hbFJlcGxhY2UgYmUgSXNDYWxsYWJsZShyZXBsYWNlVmFsdWUp
LgorICA2LiBJZiBmdW5jdGlvbmFsUmVwbGFjZSBpcyBmYWxzZSwgdGhlbgorICAgIGEuIExldCBy
ZXBsYWNlVmFsdWUgYmUgPyBUb1N0cmluZyhyZXBsYWNlVmFsdWUpLiAKKyAgLi4uCitmZWF0dXJl
czogW1N0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCwgU3ltYm9sLnJlcGxhY2VdCistLS0qLwor
Cit2YXIgY2FsbGVkID0gMDsKK3ZhciBzZWFyY2hWYWx1ZSA9IC8uL2c7CitPYmplY3QuZGVmaW5l
UHJvcGVydHkoc2VhcmNoVmFsdWUsIFN5bWJvbC5yZXBsYWNlLCB7CisgIHZhbHVlOiBmdW5jdGlv
bihPLCByZXBsYWNlVmFsdWUpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHRoaXMsIHNlYXJjaFZh
bHVlKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKE8sIHN0ciwgJ2ZpcnN0IGFyZyBpcyB0aGUgdGhp
cyB2YWx1ZSBvZiByZXBsYWNlQWxsJyk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXBsYWNlVmFs
dWUsIG9iaiwgJ3NlY29uZCBhcmcgaXMgdGhlIHJlcGxhY2VWYWx1ZScpOworICAgIGFzc2VydC5z
YW1lVmFsdWUoYXJndW1lbnRzLmxlbmd0aCwgMik7CisgICAgY2FsbGVkICs9IDE7CisgICAgcmV0
dXJuIDQyOworICB9Cit9KTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlYXJjaFZhbHVlLCAn
dG9TdHJpbmcnLCB7CisgIHZhbHVlOiBmdW5jdGlvbigpIHsKKyAgICB0aHJvdyAnU2hvdWxkIG5v
dCBjYWxsIHNlYXJjaFZhbHVlIHRvU3RyaW5nJworICB9Cit9KTsKKwordmFyIHN0ciA9IG5ldyBT
dHJpbmcoJ0xlbycpOwordmFyIG9iaiA9IHt9OworCit2YXIgcmV0dXJuZWQgPSBzdHIucmVwbGFj
ZUFsbChzZWFyY2hWYWx1ZSwgb2JqKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShyZXR1cm5lZCwgNDIp
OworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsZWQsIDEpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS10b3N0
cmluZy1hYnJ1cHQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS10b3N0cmluZy1hYnJ1
cHQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0
cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS10b3N0cmluZy1hYnJ1cHQuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3NCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExl
byBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtc3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlYWxsCitkZXNjcmlwdGlvbjogPgorICBS
ZXR1cm5zIGFicnVwdCBjb21wbGV0aW9ucyBmcm9tIFRvU3RyaW5nKHNlYXJjaFZhbHVlKQoraW5m
bzogfAorICBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwgKCBzZWFyY2hWYWx1ZSwgcmVwbGFj
ZVZhbHVlICkKKworICAxLiBMZXQgTyBiZSBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKHRoaXMgdmFs
dWUpLgorICAyLiBJZiBzZWFyY2hWYWx1ZSBpcyBuZWl0aGVyIHVuZGVmaW5lZCBub3IgbnVsbCwg
dGhlbgorICAgIC4uLgorICAzLiBMZXQgc3RyaW5nIGJlID8gVG9TdHJpbmcoTykuCisgIDQuIExl
dCBzZWFyY2hTdHJpbmcgYmUgPyBUb1N0cmluZyhzZWFyY2hWYWx1ZSkuCisgIDUuIExldCBmdW5j
dGlvbmFsUmVwbGFjZSBiZSBJc0NhbGxhYmxlKHJlcGxhY2VWYWx1ZSkuCisgIDYuIElmIGZ1bmN0
aW9uYWxSZXBsYWNlIGlzIGZhbHNlLCB0aGVuCisgICAgYS4gTGV0IHJlcGxhY2VWYWx1ZSBiZSA/
IFRvU3RyaW5nKHJlcGxhY2VWYWx1ZSkuIAorICAuLi4KK2ZlYXR1cmVzOiBbU3RyaW5nLnByb3Rv
dHlwZS5yZXBsYWNlQWxsLCBTeW1ib2xdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICB0
eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsLAorICAnZnVuY3Rpb24nLAorICAnZnVu
Y3Rpb24gbXVzdCBleGlzdCcKKyk7CisKK3ZhciBwb2lzb25lZCA9IDA7Cit2YXIgcG9pc29uID0g
eworICB0b1N0cmluZygpIHsKKyAgICBwb2lzb25lZCArPSAxOworICAgIHRocm93ICdTaG91bGQg
bm90IGNhbGwgdG9TdHJpbmcgb24gcmVwbGFjZVZhbHVlJzsKKyAgfSwKK307CisKK3ZhciB0aGlz
VmFsdWVDYWxsZWQgPSAwOwordmFyIHRoaXNWYWx1ZSA9IHsKKyAgdG9TdHJpbmcoKSB7CisgICAg
dGhpc1ZhbHVlQ2FsbGVkICs9IDE7CisgICAgcmV0dXJuICcnOworICB9Cit9OworCit2YXIgY2Fs
bGVkID0gMDsKK3ZhciBzZWFyY2hWYWx1ZSA9IHsKKyAgdG9TdHJpbmcoKSB7CisgICAgY2FsbGVk
ICs9IDE7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICB9Cit9OworCithc3NlcnQu
dGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CisgICcnLnJlcGxhY2VBbGwuY2FsbCh0
aGlzVmFsdWUsIHNlYXJjaFZhbHVlLCBwb2lzb24pOworfSwgJ2N1c3RvbScpOworYXNzZXJ0LnNh
bWVWYWx1ZShjYWxsZWQsIDEpOworYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzVmFsdWVDYWxsZWQsIDEp
OworCit0aGlzVmFsdWVDYWxsZWQgPSAwOworY2FsbGVkID0gMDsKK3NlYXJjaFZhbHVlID0gewor
ICB0b1N0cmluZygpIHsKKyAgICBjYWxsZWQgKz0gMTsKKyAgICByZXR1cm4gU3ltYm9sKCk7Cisg
IH0KK307CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgJycucmVw
bGFjZUFsbC5jYWxsKHRoaXNWYWx1ZSwgc2VhcmNoVmFsdWUsIHBvaXNvbik7Cit9LCAnU3ltYm9s
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxlZCwgMSk7Cithc3NlcnQuc2FtZVZhbHVlKHRoaXNW
YWx1ZUNhbGxlZCwgMSk7CisKK2Fzc2VydC5zYW1lVmFsdWUocG9pc29uZWQsIDApOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFs
bC9zZWFyY2hWYWx1ZS10b3N0cmluZy1yZWdleHAuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hW
YWx1ZS10b3N0cmluZy1yZWdleHAuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS10
b3N0cmluZy1yZWdleHAuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlYWxsCitk
ZXNjcmlwdGlvbjogPgorICBUb1N0cmluZyhzZWFyY2hWYWx1ZSkKK2luZm86IHwKKyAgU3RyaW5n
LnByb3RvdHlwZS5yZXBsYWNlQWxsICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAg
Li4uCisgIDQuIExldCBzZWFyY2hTdHJpbmcgYmUgPyBUb1N0cmluZyhzZWFyY2hWYWx1ZSkuCisg
IDUuIExldCBmdW5jdGlvbmFsUmVwbGFjZSBiZSBJc0NhbGxhYmxlKHJlcGxhY2VWYWx1ZSkuCisg
IDYuIElmIGZ1bmN0aW9uYWxSZXBsYWNlIGlzIGZhbHNlLCB0aGVuCisgICAgYS4gTGV0IHJlcGxh
Y2VWYWx1ZSBiZSA/IFRvU3RyaW5nKHJlcGxhY2VWYWx1ZSkuIAorICAuLi4KKyAgMTQuIEZvciBl
YWNoIHBvc2l0aW9uIGluIG1hdGNoUG9zaXRpb25zLCBkbworICAgIGEuIElmIGZ1bmN0aW9uYWxS
ZXBsYWNlIGlzIHRydWUsIHRoZW4KKyAgICAgIC4uLgorICAgIGIuIEVsc2UsCisgICAgICAuLi4K
KyAgICAgIGlpLiBMZXQgY2FwdHVyZXMgYmUgYSBuZXcgZW1wdHkgTGlzdC4KKyAgICAgIGlpaS4g
TGV0IHJlcGxhY2VtZW50IGJlIEdldFN1YnN0aXR1dGlvbihzZWFyY2hTdHJpbmcsIHN0cmluZywg
cG9zaXRpb24sIGNhcHR1cmVzLCB1bmRlZmluZWQsIHJlcGxhY2VWYWx1ZSkuCitmZWF0dXJlczog
W1N0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCwgU3ltYm9sLnJlcGxhY2VdCistLS0qLworCit2
YXIgcmVzdWx0OwordmFyIHNlYXJjaFZhbHVlOworCitzZWFyY2hWYWx1ZSA9IC8uL2c7CisKK09i
amVjdC5kZWZpbmVQcm9wZXJ0eShzZWFyY2hWYWx1ZSwgU3ltYm9sLnJlcGxhY2UsIHsgdmFsdWU6
IHVuZGVmaW5lZCB9KTsKKworcmVzdWx0ID0gJ2FhIC8uL2cgLy4vZyBhYScucmVwbGFjZUFsbChz
ZWFyY2hWYWx1ZSwgJ3onKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnYWEgeiB6IGFhJywg
Jy8uL2cnKTsKKworc2VhcmNoVmFsdWUgPSAvLi9neTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5
KHNlYXJjaFZhbHVlLCBTeW1ib2wucmVwbGFjZSwgeyB2YWx1ZTogdW5kZWZpbmVkIH0pOworCity
ZXN1bHQgPSAnYWEgLy4vZ3kgLy4vZ3kgYWEnLnJlcGxhY2VBbGwoc2VhcmNoVmFsdWUsICd6Jyk7
Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ2FhIHogeiBhYScsICcvLi9neScpOworCitzZWFy
Y2hWYWx1ZSA9IC8uL2dpOworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VhcmNoVmFsdWUsIFN5
bWJvbC5yZXBsYWNlLCB7IHZhbHVlOiB1bmRlZmluZWQgfSk7CisKK3Jlc3VsdCA9ICdhYSAvLi9n
aSAvLi9naSBhYScucmVwbGFjZUFsbChzZWFyY2hWYWx1ZSwgJ3onKTsKK2Fzc2VydC5zYW1lVmFs
dWUocmVzdWx0LCAnYWEgeiB6IGFhJywgJy8uL2dpJyk7CisKK3NlYXJjaFZhbHVlID0gLy4vaXln
OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VhcmNoVmFsdWUsIFN5bWJvbC5yZXBsYWNlLCB7
IHZhbHVlOiB1bmRlZmluZWQgfSk7CisKK3Jlc3VsdCA9ICdhYSAvLi9naXkgLy4vaXlnIC8uL2d5
aSAvLi9naXkgYWEnLnJlcGxhY2VBbGwoc2VhcmNoVmFsdWUsICd6Jyk7Cithc3NlcnQuc2FtZVZh
bHVlKHJlc3VsdCwgJ2FhIHogLy4vaXlnIC8uL2d5aSB6IGFhJywgJy8uL2l5ZycpOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFs
bC90aGlzLWlzLW51bGwtdGhyb3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvdGhpcy1pcy1udWxsLXRo
cm93cy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
U3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3RoaXMtaXMtbnVsbC10aHJvd3MuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0
ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBz
ZWMtc3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlYWxsCitkZXNjcmlwdGlvbjogPgorICBUaHJvd3Mg
VHlwZUVycm9yIHdoZW4gYHRoaXNgIGlzIG51bGwKK2luZm86IHwKKyAgU3RyaW5nLnByb3RvdHlw
ZS5yZXBsYWNlQWxsICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAgMS4gTGV0IE8g
YmUgUmVxdWlyZU9iamVjdENvZXJjaWJsZSh0aGlzIHZhbHVlKS4KKyAgLi4uCisKKyAgUmVxdWly
ZU9iamVjdENvZXJjaWJsZSAoIGFyZ3VtZW50ICkKKworICAtIFVuZGVmaW5lZDogVGhyb3cgYSBU
eXBlRXJyb3IgZXhjZXB0aW9uLgorICAtIE51bGw6IFRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KK2ZlYXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsXQorLS0tKi8KKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCwKKyAg
J2Z1bmN0aW9uJywKKyAgJ2Z1bmN0aW9uIG11c3QgZXhpc3QnCispOworCithc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbC5j
YWxsKG51bGwpOworfSk7CisKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvdGhpcy1pcy11bmRlZmluZWQtdGhyb3dzLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL3JlcGxhY2VBbGwvdGhpcy1pcy11bmRlZmluZWQtdGhyb3dzLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxh
Y2VBbGwvdGhpcy1pcy11bmRlZmluZWQtdGhyb3dzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXN0cmluZy5wcm90b3R5
cGUucmVwbGFjZWFsbAorZGVzY3JpcHRpb246ID4KKyAgVGhyb3dzIFR5cGVFcnJvciB3aGVuIGB0
aGlzYCBpcyB1bmRlZmluZWQKK2luZm86IHwKKyAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxs
ICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAgMS4gTGV0IE8gYmUgUmVxdWlyZU9i
amVjdENvZXJjaWJsZSh0aGlzIHZhbHVlKS4KKyAgLi4uCisKKyAgUmVxdWlyZU9iamVjdENvZXJj
aWJsZSAoIGFyZ3VtZW50ICkKKworICAtIFVuZGVmaW5lZDogVGhyb3cgYSBUeXBlRXJyb3IgZXhj
ZXB0aW9uLgorICAtIE51bGw6IFRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KK2ZlYXR1cmVz
OiBbU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgdHlwZW9mIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCwKKyAgJ2Z1bmN0aW9uJywK
KyAgJ2Z1bmN0aW9uIG11c3QgZXhpc3QnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbC5jYWxsKHVuZGVmaW5l
ZCk7Cit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3JlcGxhY2VBbGwvdGhpcy10b3N0cmluZy1hYnJ1cHQuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFs
bC90aGlzLXRvc3RyaW5nLWFicnVwdC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3RoaXMtdG9zdHJp
bmctYWJydXB0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjUgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLXN0cmluZy5wcm90b3R5cGUucmVwbGFjZWFsbAorZGVzY3Jp
cHRpb246ID4KKyAgUmV0dXJucyBhYnJ1cHQgY29tcGxldGlvbnMgZnJvbSBUb1N0cmluZyh0aGlz
IHZhbHVlKQoraW5mbzogfAorICBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwgKCBzZWFyY2hW
YWx1ZSwgcmVwbGFjZVZhbHVlICkKKworICAxLiBMZXQgTyBiZSBSZXF1aXJlT2JqZWN0Q29lcmNp
YmxlKHRoaXMgdmFsdWUpLgorICAyLiBJZiBzZWFyY2hWYWx1ZSBpcyBuZWl0aGVyIHVuZGVmaW5l
ZCBub3IgbnVsbCwgdGhlbgorICAgIC4uLgorICAzLiBMZXQgc3RyaW5nIGJlID8gVG9TdHJpbmco
TykuCisgIC4uLgorZmVhdHVyZXM6IFtTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwsIFN5bWJv
bF0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBTdHJpbmcucHJvdG90eXBl
LnJlcGxhY2VBbGwsCisgICdmdW5jdGlvbicsCisgICdmdW5jdGlvbiBtdXN0IGV4aXN0JworKTsK
KwordmFyIHBvaXNvbmVkID0gMDsKK3ZhciBwb2lzb24gPSB7CisgIHRvU3RyaW5nKCkgeworICAg
IHBvaXNvbmVkICs9IDE7CisgICAgdGhyb3cgJ1Nob3VsZCBub3QgY2FsbCB0b1N0cmluZyBvbiBy
ZXBsYWNlVmFsdWUnOworICB9LAorfTsKKwordmFyIGNhbGxlZCA9IDA7Cit2YXIgdGhpc1ZhbHVl
ID0geworICB0b1N0cmluZygpIHsKKyAgICBjYWxsZWQgKz0gMTsKKyAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCk7CisgIH0KK30KKwordmFyIHNlYXJjaFZhbHVlID0geworICB0b1N0cmluZygp
IHsKKyAgICB0aHJvdyAnU2hvdWxkIG5vdCBjYWxsIHRvU3RyaW5nIG9uIHNlYXJjaFZhbHVlJzsK
KyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgeworICAn
Jy5yZXBsYWNlQWxsLmNhbGwodGhpc1ZhbHVlLCBzZWFyY2hWYWx1ZSwgcG9pc29uKTsKK30sICdj
dXN0b20nKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbGVkLCAxKTsKKworY2FsbGVkID0gMDsKK3Ro
aXNWYWx1ZSA9IHsKKyAgdG9TdHJpbmcoKSB7CisgICAgY2FsbGVkICs9IDE7CisgICAgcmV0dXJu
IFN5bWJvbCgpOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7CisgICcnLnJlcGxhY2VBbGwuY2FsbCh0aGlzVmFsdWUsIHNlYXJjaFZhbHVlLCBwb2lzb24p
OworfSwgJ1N5bWJvbCcpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsZWQsIDEpOworCithc3NlcnQu
c2FtZVZhbHVlKHBvaXNvbmVkLCAwKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvdGhpcy10b3N0cmluZy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9y
ZXBsYWNlQWxsL3RoaXMtdG9zdHJpbmcuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC90aGlzLXRvc3Ry
aW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTEgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLXN0cmluZy5wcm90b3R5cGUucmVwbGFjZWFsbAorZGVzY3JpcHRpb246
ID4KKyAgVG9TdHJpbmcodGhpcyB2YWx1ZSkKK2luZm86IHwKKyAgU3RyaW5nLnByb3RvdHlwZS5y
ZXBsYWNlQWxsICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAgLi4uCisgIDMuIExl
dCBzdHJpbmcgYmUgPyBUb1N0cmluZyhPKS4KKyAgNC4gTGV0IHNlYXJjaFN0cmluZyBiZSA/IFRv
U3RyaW5nKHNlYXJjaFZhbHVlKS4KKyAgNS4gTGV0IGZ1bmN0aW9uYWxSZXBsYWNlIGJlIElzQ2Fs
bGFibGUocmVwbGFjZVZhbHVlKS4KKyAgNi4gSWYgZnVuY3Rpb25hbFJlcGxhY2UgaXMgZmFsc2Us
IHRoZW4KKyAgICBhLiBMZXQgcmVwbGFjZVZhbHVlIGJlID8gVG9TdHJpbmcocmVwbGFjZVZhbHVl
KS4gCisgIC4uLgorICAxNC4gRm9yIGVhY2ggcG9zaXRpb24gaW4gbWF0Y2hQb3NpdGlvbnMsIGRv
CisgICAgYS4gSWYgZnVuY3Rpb25hbFJlcGxhY2UgaXMgdHJ1ZSwgdGhlbgorICAgICAgLi4uCisg
ICAgYi4gRWxzZSwKKyAgICAgIC4uLgorICAgICAgaWkuIExldCBjYXB0dXJlcyBiZSBhIG5ldyBl
bXB0eSBMaXN0LgorICAgICAgaWlpLiBMZXQgcmVwbGFjZW1lbnQgYmUgR2V0U3Vic3RpdHV0aW9u
KHNlYXJjaFN0cmluZywgc3RyaW5nLCBwb3NpdGlvbiwgY2FwdHVyZXMsIHVuZGVmaW5lZCwgcmVw
bGFjZVZhbHVlKS4KK2ZlYXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsLCBTeW1i
b2wudG9QcmltaXRpdmVdCistLS0qLworCit2YXIgcmVzdWx0OworCit2YXIgY2FsbGVkOwordmFy
IHRoaXNWYWx1ZTsKKworY2FsbGVkID0gMDsKK3RoaXNWYWx1ZSA9IHsKKyAgW1N5bWJvbC50b1By
aW1pdGl2ZV0oKXsKKyAgICBjYWxsZWQgKz0gMTsKKyAgICByZXR1cm4gJ2FhJzsKKyAgfSwKKyAg
dG9TdHJpbmcoKSB7CisgICAgdGhyb3cgJ3BvaXNvbic7CisgIH0sCisgIHZhbHVlT2YoKSB7Cisg
ICAgdGhyb3cgJ3BvaXNvbic7CisgIH0sCit9OworCityZXN1bHQgPSAnJy5yZXBsYWNlQWxsLmNh
bGwodGhpc1ZhbHVlLCAnYScsICd6Jyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ3p6Jywg
J29iamVjdCBAQHRvUHJpbWl0aXZlJyk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxlZCwgMSwgJ0BA
dG9QcmltaXRpdmUgaXMgY2FsbGVkIG9ubHkgb25jZScpOworCitjYWxsZWQgPSAwOwordGhpc1Zh
bHVlID0geworICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogdW5kZWZpbmVkLAorICB0b1N0cmluZygp
IHsKKyAgICBjYWxsZWQgKz0gMTsKKyAgICByZXR1cm4gJ2FhJzsKKyAgfSwKKyAgdmFsdWVPZigp
IHsKKyAgICB0aHJvdyAncG9pc29uJzsKKyAgfSwKK307CisKK3Jlc3VsdCA9ICcnLnJlcGxhY2VB
bGwuY2FsbCh0aGlzVmFsdWUsICdhJywgJ3onKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAn
enonLCAnb2JqZWN0IHRvU3RyaW5nJyk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxlZCwgMSwgJ3Rv
U3RyaW5nIGlzIGNhbGxlZCBvbmx5IG9uY2UnKTsKKworY2FsbGVkID0gMDsKK3RoaXNWYWx1ZSA9
IHsKKyAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IHVuZGVmaW5lZCwKKyAgdG9TdHJpbmc6IHVuZGVm
aW5lZCwKKyAgdmFsdWVPZigpIHsKKyAgICBjYWxsZWQgKz0gMTsKKyAgICByZXR1cm4gJ2FhJzsK
KyAgfSwKK307CisKK3Jlc3VsdCA9ICcnLnJlcGxhY2VBbGwuY2FsbCh0aGlzVmFsdWUsICdhJywg
J3onKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAnenonLCAnb2JqZWN0IHZhbHVlT2YnKTsK
K2Fzc2VydC5zYW1lVmFsdWUoY2FsbGVkLCAxLCAndmFsdWVPZiBpcyBjYWxsZWQgb25seSBvbmNl
Jyk7CisKK3RoaXNWYWx1ZSA9IDQyNDQ7CityZXN1bHQgPSAnJy5yZXBsYWNlQWxsLmNhbGwodGhp
c1ZhbHVlLCAnNCcsICd6Jyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ3oyenonLCAnbnVt
YmVyJyk7CisKK3RoaXNWYWx1ZSA9IHRydWU7CityZXN1bHQgPSAnJy5yZXBsYWNlQWxsLmNhbGwo
dGhpc1ZhbHVlLCAncnUnLCAnbyBtJyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ3RvIG1l
JywgJ0Jvb2xlYW4gdHJ1ZScpOworCit0aGlzVmFsdWUgPSBmYWxzZTsKK3Jlc3VsdCA9ICcnLnJl
cGxhY2VBbGwuY2FsbCh0aGlzVmFsdWUsICdhbCcsICdvbicpOworYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQsICdmb25zZScsICdCb29sZWFuIGZhbHNlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9mcm9tL21hcGZuLWlzLW5vdC1jYWxsYWJsZS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9m
cm9tL21hcGZuLWlzLW5vdC1jYWxsYWJsZS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvZnJvbS9tYXBmbi1pcy1ub3QtY2Fs
bGFibGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTU0LDQgKzU0LDQgQEAgYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogYXNzZXJ0LnNhbWVWYWx1ZSgKICAgZ2V0SXRlcmF0b3Is
IDAsCiAgICJJc0NhbGxhYmxlKG1hcGZuKSBjaGVjayBvY2N1cnMgYmVmb3JlIGdldHRpbmcgc291
cmNlW0BAaXRlcmF0b3JdIgotKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCispOwpJbmRl
eDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3Ns
aWNlL3NwZWNpZXNjdG9yLWdldC1zcGVjaWVzLWN1c3RvbS1jdG9yLWxlbmd0aC10aHJvd3MuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL3NsaWNlL3NwZWNpZXNjdG9yLWdldC1zcGVjaWVzLWN1c3RvbS1jdG9yLWxlbmd0
aC10aHJvd3MuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9zcGVjaWVzY3Rvci1nZXQtc3BlY2ll
cy1jdXN0b20tY3Rvci1sZW5ndGgtdGhyb3dzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw0ICsz
OCw0IEBAIHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbigKICAgYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgIHNhbXBsZS5zbGljZSgpOwogICB9
KTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL3NwZWNpZXNj
dG9yLWdldC1zcGVjaWVzLWN1c3RvbS1jdG9yLWxlbmd0aC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2Uvc3Bl
Y2llc2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9tLWN0b3ItbGVuZ3RoLmpzCShyZXZpc2lvbiAyNTQw
MDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvc2xpY2Uvc3BlY2llc2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9tLWN0b3ItbGVuZ3RoLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC00Myw0ICs0Myw0IEBAIHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVj
dG9ycyhmdW5jdGlvbigKICAgY3VzdG9tQ291bnQgPSA1OwogICByZXN1bHQgPSBzYW1wbGUuc2xp
Y2UoKTsKICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQubGVuZ3RoLCBjdXN0b21Db3VudCwgImxl
bmd0aCA+IGNvdW50Iik7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9KTsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9z
bGljZS9CaWdJbnQvc3BlY2llc2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9tLWN0b3ItbGVuZ3RoLXRo
cm93cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvQmlnSW50L3NwZWNpZXNjdG9yLWdldC1zcGVjaWVzLWN1
c3RvbS1jdG9yLWxlbmd0aC10aHJvd3MuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9CaWdJbnQv
c3BlY2llc2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9tLWN0b3ItbGVuZ3RoLXRocm93cy5qcwkod29y
a2luZyBjb3B5KQpAQCAtMzgsNCArMzgsNCBAQCB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMoZnVuCiAgIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAg
ICBzYW1wbGUuc2xpY2UoKTsKICAgfSk7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9zbGljZS9CaWdJbnQvc3BlY2llc2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9tLWN0b3It
bGVuZ3RoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9CaWdJbnQvc3BlY2llc2N0b3ItZ2V0LXNwZWNpZXMt
Y3VzdG9tLWN0b3ItbGVuZ3RoLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvQmlnSW50L3NwZWNp
ZXNjdG9yLWdldC1zcGVjaWVzLWN1c3RvbS1jdG9yLWxlbmd0aC5qcwkod29ya2luZyBjb3B5KQpA
QCAtNDMsNCArNDMsNCBAQCB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVu
CiAgIGN1c3RvbUNvdW50ID0gNTsKICAgcmVzdWx0ID0gc2FtcGxlLnNsaWNlKCk7CiAgIGFzc2Vy
dC5zYW1lVmFsdWUocmVzdWx0Lmxlbmd0aCwgY3VzdG9tQ291bnQsICJsZW5ndGggPiBjb3VudCIp
OwotfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSk7CkluZGV4OiBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9mcm9tL25hbi1jb252
ZXJzaW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2Zyb20vbmFuLWNvbnZlcnNpb24uanMJKHJldmlzaW9uIDI1
NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL2Zyb20vbmFuLWNvbnZlcnNpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDQgKzQ3
LDQgQEAgdGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKAogICBVaW50MTZB
cnJheSwKICAgVWludDhBcnJheSwKICAgVWludDhDbGFtcGVkQXJyYXkKLV0pOwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKK10pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvZnJvbS9uZXctaW5zdGFuY2UtZnJvbS16ZXJvLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2Zyb20vbmV3LWluc3RhbmNlLWZyb20temVyby5qcwkocmV2aXNpb24gMjU0
MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvZnJvbS9uZXctaW5zdGFuY2UtZnJvbS16ZXJvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0z
Nyw0ICszNyw0IEBAIHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbigKICAg
VWludDMyQXJyYXksCiAgIFVpbnQ4QXJyYXksCiAgIFVpbnQ4Q2xhbXBlZEFycmF5Ci1dKTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitdKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL29mL2luaGVyaXRlZC5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9vZi9pbmhlcml0ZWQuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL29mL2luaGVyaXRlZC5qcwko
d29ya2luZyBjb3B5KQpAQCAtMjIsNCArMjIsNCBAQCB0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMoZnVuY3Rpb24oCiAgICAgVEEuaGFzT3duUHJvcGVydHkoIm9mIiksIGZhbHNlLAogICAg
ICJjb25zdHJ1Y3RvciBkb2VzIG5vdCBkZWZpbmUgYW4gb3duIHByb3BlcnR5IG5hbWVkICdvZici
CiAgICk7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9KTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL29mL0JpZ0lu
dC9pbmhlcml0ZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvb2YvQmlnSW50L2luaGVyaXRlZC5qcwkocmV2aXNp
b24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvb2YvQmlnSW50L2luaGVyaXRlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMjIs
NCArMjIsNCBAQCB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuCiAgICAg
VEEuaGFzT3duUHJvcGVydHkoIm9mIiksIGZhbHNlLAogICAgICJjb25zdHJ1Y3RvciBkb2VzIG5v
dCBkZWZpbmUgYW4gb3duIHByb3BlcnR5IG5hbWVkICdvZiciCiAgICk7Ci19KTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9XZWFrUmVmL3Byb3RvdHlwZS1mcm9tLW5ld3RhcmdldC1hYnJ1cHQuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1dlYWtSZWYvcHJvdG90eXBlLWZy
b20tbmV3dGFyZ2V0LWFicnVwdC5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1dlYWtSZWYvcHJvdG90eXBlLWZyb20tbmV3dGFyZ2V0LWFicnVw
dC5qcwkod29ya2luZyBjb3B5KQpAQCAtMzksNCArMzksNCBAQCBhc3NlcnQudGhyb3dzKFRlc3Qy
NjJFcnJvciwgZnVuY3Rpb24oKSB7CiAgIFJlZmxlY3QuY29uc3RydWN0KFdlYWtSZWYsIFt7fV0s
IG5ld1RhcmdldCk7CiB9KTsKIAotYXNzZXJ0LnNhbWVWYWx1ZShjYWxscywgMSk7ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorYXNzZXJ0LnNhbWVWYWx1ZShjYWxscywgMSk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9oYXJuZXNzL2RlZXBFcXVhbC1hcnJheS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9oYXJuZXNzL2RlZXBFcXVhbC1hcnJheS5qcwkocmV2
aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaGFybmVzcy9kZWVwRXF1YWwt
YXJyYXkuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTQgKzEsMTQgQEAKLS8vIENvcHlyaWdodCAy
MDE5IFJvbiBCdWNrdG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KLS8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4NCi0N
Ci0vKi0tLQ0KLWRlc2NyaXB0aW9uOiA+DQotICBhcnJheSB2YWx1ZXMgY29tcGFyZSBjb3JyZWN0
bHkuDQotaW5jbHVkZXM6IFtkZWVwRXF1YWwuanNdDQotLS0tKi8NCi0NCi1hc3NlcnQuZGVlcEVx
dWFsKFtdLCBbXSk7DQotYXNzZXJ0LmRlZXBFcXVhbChbMSwgImEiLCB0cnVlXSwgWzEsICJhIiwg
dHJ1ZV0pOw0KLQ0KLWFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbiAoKSB7IGFz
c2VydC5kZWVwRXF1YWwoW10sIFsxXSk7IH0pOw0KLWFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9y
LCBmdW5jdGlvbiAoKSB7IGFzc2VydC5kZWVwRXF1YWwoWzEsICJhIiwgdHJ1ZV0sIFsxLCAiYSIs
IGZhbHNlXSk7IH0pOw0KKy8vIENvcHlyaWdodCAyMDE5IFJvbiBCdWNrdG9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZGVzY3JpcHRpb246ID4KKyAgYXJy
YXkgdmFsdWVzIGNvbXBhcmUgY29ycmVjdGx5LgoraW5jbHVkZXM6IFtkZWVwRXF1YWwuanNdCist
LS0qLworCithc3NlcnQuZGVlcEVxdWFsKFtdLCBbXSk7Cithc3NlcnQuZGVlcEVxdWFsKFsxLCAi
YSIsIHRydWVdLCBbMSwgImEiLCB0cnVlXSk7CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9y
LCBmdW5jdGlvbiAoKSB7IGFzc2VydC5kZWVwRXF1YWwoW10sIFsxXSk7IH0pOworYXNzZXJ0LnRo
cm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uICgpIHsgYXNzZXJ0LmRlZXBFcXVhbChbMSwgImEi
LCB0cnVlXSwgWzEsICJhIiwgZmFsc2VdKTsgfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9oYXJuZXNzL2RlZXBFcXVhbC1jaXJjdWxhci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9oYXJuZXNzL2RlZXBFcXVhbC1jaXJjdWxhci5qcwkocmV2aXNpb24gMjU0MDA3
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaGFybmVzcy9kZWVwRXF1YWwtY2lyY3VsYXIuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzEsMTcgQEAKLS8vIENvcHlyaWdodCAyMDE5IFJvbiBC
dWNrdG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4NCi0NCi0vKi0tLQ0K
LWRlc2NyaXB0aW9uOiA+DQotICB2YWx1ZXMgY29tcGFyZSBjb3JyZWN0bHkgd2l0aCBjaXJjdWxh
ciByZWZlcmVuY2VzLg0KLWluY2x1ZGVzOiBbZGVlcEVxdWFsLmpzXQ0KLS0tLSovDQotDQotdmFy
IGEgPSB7IHg6IDEgfTsNCi12YXIgYiA9IHsgeDogMSB9Ow0KLWEuYSA9IGE7DQotYS5iID0gYjsN
Ci1iLmEgPSBiOw0KLWIuYiA9IGE7DQotDQotYXNzZXJ0LmRlZXBFcXVhbChhLCBiKTsNCisvLyBD
b3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2Rlc2NyaXB0aW9uOiA+CisgIHZhbHVlcyBjb21wYXJlIGNvcnJlY3Rs
eSB3aXRoIGNpcmN1bGFyIHJlZmVyZW5jZXMuCitpbmNsdWRlczogW2RlZXBFcXVhbC5qc10KKy0t
LSovCisKK3ZhciBhID0geyB4OiAxIH07Cit2YXIgYiA9IHsgeDogMSB9OworYS5hID0gYTsKK2Eu
YiA9IGI7CitiLmEgPSBiOworYi5iID0gYTsKKworYXNzZXJ0LmRlZXBFcXVhbChhLCBiKTsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2hhcm5lc3MvZGVlcEVxdWFsLWRlZXAuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaGFybmVzcy9kZWVwRXF1YWwtZGVlcC5qcwko
cmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaGFybmVzcy9kZWVwRXF1
YWwtZGVlcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMSwxMyBAQAotLy8gQ29weXJpZ2h0
IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQotLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLg0K
LQ0KLS8qLS0tDQotZGVzY3JpcHRpb246ID4NCi0gIHZhbHVlcyBjb21wYXJlIGNvcnJlY3RseS4N
Ci1pbmNsdWRlczogW2RlZXBFcXVhbC5qc10NCi0tLS0qLw0KLQ0KLWFzc2VydC5kZWVwRXF1YWwo
eyBhOiB7IHg6IDEgfSwgYjogW3RydWVdIH0sIHsgYTogeyB4OiAxIH0sIGI6IFt0cnVlXSB9KTsN
Ci0NCi1hc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24gKCkgeyBhc3NlcnQuZGVl
cEVxdWFsKHt9LCB7IGE6IHsgeDogMSB9LCBiOiBbdHJ1ZV0gfSk7IH0pOw0KLWFzc2VydC50aHJv
d3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbiAoKSB7IGFzc2VydC5kZWVwRXF1YWwoeyBhOiB7IHg6
IDEgfSwgYjogW3RydWVdIH0sIHsgYTogeyB4OiAxIH0sIGI6IFtmYWxzZV0gfSk7IH0pOw0KKy8v
IENvcHlyaWdodCAyMDE5IFJvbiBCdWNrdG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvKi0tLQorZGVzY3JpcHRpb246ID4KKyAgdmFsdWVzIGNvbXBhcmUgY29ycmVj
dGx5LgoraW5jbHVkZXM6IFtkZWVwRXF1YWwuanNdCistLS0qLworCithc3NlcnQuZGVlcEVxdWFs
KHsgYTogeyB4OiAxIH0sIGI6IFt0cnVlXSB9LCB7IGE6IHsgeDogMSB9LCBiOiBbdHJ1ZV0gfSk7
CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbiAoKSB7IGFzc2VydC5kZWVw
RXF1YWwoe30sIHsgYTogeyB4OiAxIH0sIGI6IFt0cnVlXSB9KTsgfSk7Cithc3NlcnQudGhyb3dz
KFRlc3QyNjJFcnJvciwgZnVuY3Rpb24gKCkgeyBhc3NlcnQuZGVlcEVxdWFsKHsgYTogeyB4OiAx
IH0sIGI6IFt0cnVlXSB9LCB7IGE6IHsgeDogMSB9LCBiOiBbZmFsc2VdIH0pOyB9KTsKSW5kZXg6
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2hhcm5lc3MvZGVlcEVxdWFsLW1hcHNldC5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9oYXJuZXNzL2RlZXBFcXVhbC1tYXBzZXQuanMJ
KHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2hhcm5lc3MvZGVlcEVx
dWFsLW1hcHNldC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwxOSArMSwxOSBAQAotLy8gQ29weXJp
Z2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQotLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
Lg0KLQ0KLS8qLS0tDQotZGVzY3JpcHRpb246ID4NCi0gIG1hcC9zZXQgdmFsdWVzIGNvbXBhcmUg
Y29ycmVjdGx5Lg0KLWluY2x1ZGVzOiBbZGVlcEVxdWFsLmpzXQ0KLS0tLSovDQotDQotYXNzZXJ0
LmRlZXBFcXVhbChuZXcgU2V0KCksIG5ldyBTZXQoKSk7DQotYXNzZXJ0LmRlZXBFcXVhbChuZXcg
U2V0KFsxLCAiYSIsIHRydWVdKSwgbmV3IFNldChbMSwgImEiLCB0cnVlXSkpOw0KLWFzc2VydC5k
ZWVwRXF1YWwobmV3IE1hcCgpLCBuZXcgTWFwKCkpOw0KLWFzc2VydC5kZWVwRXF1YWwobmV3IE1h
cChbWzEsICJhIl0sIFsiYiIsIHRydWVdXSksIG5ldyBNYXAoW1sxLCAiYSJdLCBbImIiLCB0cnVl
XV0pKTsNCi0NCi1hc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24gKCkgeyBhc3Nl
cnQuZGVlcEVxdWFsKG5ldyBTZXQoW10pLCBuZXcgU2V0KFsxXSkpOyB9KTsNCi1hc3NlcnQudGhy
b3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24gKCkgeyBhc3NlcnQuZGVlcEVxdWFsKG5ldyBTZXQo
WzEsICJhIiwgdHJ1ZV0pLCBuZXcgU2V0KFsxLCAiYSIsIGZhbHNlXSkpOyB9KTsNCi1hc3NlcnQu
dGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24gKCkgeyBhc3NlcnQuZGVlcEVxdWFsKG5ldyBN
YXAoW10pLCBuZXcgTWFwKFtbMSwgImEiXSwgWyJiIiwgdHJ1ZV1dKSk7IH0pOw0KLWFzc2VydC50
aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbiAoKSB7IGFzc2VydC5kZWVwRXF1YWwobmV3IE1h
cChbWzEsICJhIl0sIFsiYiIsIHRydWVdXSksIG5ldyBNYXAoW1sxLCAiYSJdLCBbImIiLCBmYWxz
ZV1dKSk7IH0pOw0KLWFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbiAoKSB7IGFz
c2VydC5kZWVwRXF1YWwobmV3IE1hcChbWzEsICJhIl0sIFsiYiIsIHRydWVdXSksIG5ldyBTZXQo
W1sxLCAiYSJdLCBbImIiLCBmYWxzZV1dKSk7IH0pOw0KKy8vIENvcHlyaWdodCAyMDE5IFJvbiBC
dWNrdG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZGVz
Y3JpcHRpb246ID4KKyAgbWFwL3NldCB2YWx1ZXMgY29tcGFyZSBjb3JyZWN0bHkuCitpbmNsdWRl
czogW2RlZXBFcXVhbC5qc10KKy0tLSovCisKK2Fzc2VydC5kZWVwRXF1YWwobmV3IFNldCgpLCBu
ZXcgU2V0KCkpOworYXNzZXJ0LmRlZXBFcXVhbChuZXcgU2V0KFsxLCAiYSIsIHRydWVdKSwgbmV3
IFNldChbMSwgImEiLCB0cnVlXSkpOworYXNzZXJ0LmRlZXBFcXVhbChuZXcgTWFwKCksIG5ldyBN
YXAoKSk7Cithc3NlcnQuZGVlcEVxdWFsKG5ldyBNYXAoW1sxLCAiYSJdLCBbImIiLCB0cnVlXV0p
LCBuZXcgTWFwKFtbMSwgImEiXSwgWyJiIiwgdHJ1ZV1dKSk7CisKK2Fzc2VydC50aHJvd3MoVGVz
dDI2MkVycm9yLCBmdW5jdGlvbiAoKSB7IGFzc2VydC5kZWVwRXF1YWwobmV3IFNldChbXSksIG5l
dyBTZXQoWzFdKSk7IH0pOworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uICgp
IHsgYXNzZXJ0LmRlZXBFcXVhbChuZXcgU2V0KFsxLCAiYSIsIHRydWVdKSwgbmV3IFNldChbMSwg
ImEiLCBmYWxzZV0pKTsgfSk7Cithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24g
KCkgeyBhc3NlcnQuZGVlcEVxdWFsKG5ldyBNYXAoW10pLCBuZXcgTWFwKFtbMSwgImEiXSwgWyJi
IiwgdHJ1ZV1dKSk7IH0pOworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uICgp
IHsgYXNzZXJ0LmRlZXBFcXVhbChuZXcgTWFwKFtbMSwgImEiXSwgWyJiIiwgdHJ1ZV1dKSwgbmV3
IE1hcChbWzEsICJhIl0sIFsiYiIsIGZhbHNlXV0pKTsgfSk7Cithc3NlcnQudGhyb3dzKFRlc3Qy
NjJFcnJvciwgZnVuY3Rpb24gKCkgeyBhc3NlcnQuZGVlcEVxdWFsKG5ldyBNYXAoW1sxLCAiYSJd
LCBbImIiLCB0cnVlXV0pLCBuZXcgU2V0KFtbMSwgImEiXSwgWyJiIiwgZmFsc2VdXSkpOyB9KTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2hhcm5lc3MvZGVlcEVxdWFsLW9iamVjdC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9oYXJuZXNzL2RlZXBFcXVhbC1vYmpl
Y3QuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2hhcm5lc3Mv
ZGVlcEVxdWFsLW9iamVjdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMSwxNSBAQAotLy8g
Q29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQotLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLg0KLQ0KLS8qLS0tDQotZGVzY3JpcHRpb246ID4NCi0gICAgb2JqZWN0IHZhbHVlcyBj
b21wYXJlIGNvcnJlY3RseS4NCi1pbmNsdWRlczogW2RlZXBFcXVhbC5qc10NCi0tLS0qLw0KLQ0K
LQ0KLWFzc2VydC5kZWVwRXF1YWwoe30sIHt9KTsNCi1hc3NlcnQuZGVlcEVxdWFsKHsgYTogMSwg
YjogdHJ1ZSB9LCB7IGE6IDEsIGI6IHRydWUgfSk7DQotDQotYXNzZXJ0LnRocm93cyhUZXN0MjYy
RXJyb3IsIGZ1bmN0aW9uICgpIHsgYXNzZXJ0LmRlZXBFcXVhbCh7fSwgeyBhOiAxLCBiOiB0cnVl
IH0pOyB9KTsNCi1hc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24gKCkgeyBhc3Nl
cnQuZGVlcEVxdWFsKHsgYTogMSwgYjogdHJ1ZSB9LCB7IGE6IDEsIGI6IGZhbHNlIH0pOyB9KTsN
CisvLyBDb3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2Rlc2NyaXB0aW9uOiA+CisgICAgb2JqZWN0IHZhbHVlcyBj
b21wYXJlIGNvcnJlY3RseS4KK2luY2x1ZGVzOiBbZGVlcEVxdWFsLmpzXQorLS0tKi8KKworCith
c3NlcnQuZGVlcEVxdWFsKHt9LCB7fSk7Cithc3NlcnQuZGVlcEVxdWFsKHsgYTogMSwgYjogdHJ1
ZSB9LCB7IGE6IDEsIGI6IHRydWUgfSk7CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBm
dW5jdGlvbiAoKSB7IGFzc2VydC5kZWVwRXF1YWwoe30sIHsgYTogMSwgYjogdHJ1ZSB9KTsgfSk7
Cithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24gKCkgeyBhc3NlcnQuZGVlcEVx
dWFsKHsgYTogMSwgYjogdHJ1ZSB9LCB7IGE6IDEsIGI6IGZhbHNlIH0pOyB9KTsKSW5kZXg6IEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL3Jlc29s
dmVkT3B0aW9ucy9ob3VyQ3ljbGUtZGF0ZVN0eWxlLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL3Jlc29sdmVkT3B0
aW9ucy9ob3VyQ3ljbGUtZGF0ZVN0eWxlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9u
cy9ob3VyQ3ljbGUtZGF0ZVN0eWxlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjcgQEAK
Ky8vIENvcHlyaWdodCAyMDE5IE1vemlsbGEgQ29ycG9yYXRpb24sIElnYWxpYSBTLkwuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1JbnRsLkRhdGVU
aW1lRm9ybWF0LnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMKK2Rlc2NyaXB0aW9uOiA+CisgIElu
dGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucyBwcm9wZXJseQorICBy
ZWZsZWN0IGhvdXJDeWNsZSBzZXR0aW5ncyB3aGVuIHVzaW5nIGRhdGVTdHlsZS4KK2ZlYXR1cmVz
OiBbSW50bC5EYXRlVGltZUZvcm1hdC1kYXRldGltZXN0eWxlXQorLS0tKi8KKworY29uc3QgaGNW
YWx1ZXMgPSBbImgxMSIsICJoMTIiLCAiaDIzIiwgImgyNCJdOworY29uc3QgaG91cjEyVmFsdWVz
ID0gWyJoMTEiLCAiaDEyIl07CisKK2ZvciAoY29uc3QgZGF0ZVN0eWxlIG9mIFsiZnVsbCIsICJs
b25nIiwgIm1lZGl1bSIsICJzaG9ydCJdKSB7CisgIGFzc2VydC5zYW1lVmFsdWUobmV3IEludGwu
RGF0ZVRpbWVGb3JtYXQoW10sIHsgZGF0ZVN0eWxlIH0pLnJlc29sdmVkT3B0aW9ucygpLmRhdGVT
dHlsZSwKKyAgICAgICAgICAgICAgICAgICBkYXRlU3R5bGUsCisgICAgICAgICAgICAgICAgICAg
YFNob3VsZCBzdXBwb3J0IGRhdGVTdHlsZT0ke2RhdGVTdHlsZX1gKTsKKworICAvKiBWYWx1ZXMg
cGFzc2VkIHZpYSB1bmljb2RlIGV4dGVuc2lvbiBrZXkgd29yayAqLworCisgIGZvciAoY29uc3Qg
aGNWYWx1ZSBvZiBoY1ZhbHVlcykgeworICAgIGNvbnN0IHJlc29sdmVkT3B0aW9ucyA9IG5ldyBJ
bnRsLkRhdGVUaW1lRm9ybWF0KGBkZS11LWhjLSR7aGNWYWx1ZX1gLCB7CisgICAgICBkYXRlU3R5
bGUsCisgICAgfSkucmVzb2x2ZWRPcHRpb25zKCk7CisKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJl
c29sdmVkT3B0aW9ucy5ob3VyQ3ljbGUsIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZShyZXNvbHZlZE9wdGlvbnMuaG91cjEyLCB1bmRlZmluZWQpOworICB9CisKKyAgLyogVmFsdWVz
IHBhc3NlZCB2aWEgb3B0aW9ucyB3b3JrICovCisKKyAgZm9yIChjb25zdCBoY1ZhbHVlIG9mIGhj
VmFsdWVzKSB7CisgICAgY29uc3QgcmVzb2x2ZWRPcHRpb25zID0gbmV3IEludGwuRGF0ZVRpbWVG
b3JtYXQoImVuLVVTIiwgeworICAgICAgZGF0ZVN0eWxlLAorICAgICAgaG91ckN5Y2xlOiBoY1Zh
bHVlCisgICAgfSkucmVzb2x2ZWRPcHRpb25zKCk7CisKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJl
c29sdmVkT3B0aW9ucy5ob3VyQ3ljbGUsIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZShyZXNvbHZlZE9wdGlvbnMuaG91cjEyLCB1bmRlZmluZWQpOworICB9CisKKyAgbGV0IHJlc29s
dmVkT3B0aW9ucyA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbi1VUy11LWhjLWgxMiIsIHsK
KyAgICBkYXRlU3R5bGUsCisgICAgaG91ckN5Y2xlOiAiaDIzIgorICB9KS5yZXNvbHZlZE9wdGlv
bnMoKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKHJlc29sdmVkT3B0aW9ucy5ob3VyQ3ljbGUsIHVu
ZGVmaW5lZCk7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzb2x2ZWRPcHRpb25zLmhvdXIxMiwgdW5k
ZWZpbmVkKTsKKworICByZXNvbHZlZE9wdGlvbnMgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgi
ZnIiLCB7CisgICAgZGF0ZVN0eWxlLAorICAgIGhvdXIxMjogdHJ1ZSwKKyAgICBob3VyQ3ljbGU6
ICJoMjMiCisgIH0pLnJlc29sdmVkT3B0aW9ucygpOworCisgIGFzc2VydC5zYW1lVmFsdWUocmVz
b2x2ZWRPcHRpb25zLmhvdXJDeWNsZSwgdW5kZWZpbmVkKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShy
ZXNvbHZlZE9wdGlvbnMuaG91cjEyLCB1bmRlZmluZWQpOworCisgIHJlc29sdmVkT3B0aW9ucyA9
IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJmci11LWhjLWgyNCIsIHsKKyAgICBkYXRlU3R5bGUs
CisgICAgaG91cjEyOiB0cnVlLAorICB9KS5yZXNvbHZlZE9wdGlvbnMoKTsKKworICBhc3NlcnQu
c2FtZVZhbHVlKHJlc29sdmVkT3B0aW9ucy5ob3VyQ3ljbGUsIHVuZGVmaW5lZCk7CisgIGFzc2Vy
dC5zYW1lVmFsdWUocmVzb2x2ZWRPcHRpb25zLmhvdXIxMiwgdW5kZWZpbmVkKTsKK30KSW5kZXg6
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL3Jl
c29sdmVkT3B0aW9ucy9ob3VyQ3ljbGUtZGVmYXVsdC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9yZXNvbHZlZE9w
dGlvbnMvaG91ckN5Y2xlLWRlZmF1bHQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25z
L2hvdXJDeWNsZS1kZWZhdWx0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8v
IENvcHlyaWdodCAyMDE5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1JbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5yZXNv
bHZlZE9wdGlvbnMKK2Rlc2NyaXB0aW9uOiA+CisgIEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90
eXBlLnJlc29sdmVkT3B0aW9ucyBwcm9wZXJseQorICByZWZsZWN0IGhvdXJDeWNsZSBzZXR0aW5n
cy4KK2luZm86IHwKKyAgMTIuNC41IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLnJlc29s
dmVkT3B0aW9ucygpCisKKyAgMTIuMS4xIEluaXRpYWxpemVEYXRlVGltZUZvcm1hdCAoIGRhdGVU
aW1lRm9ybWF0LCBsb2NhbGVzLCBvcHRpb25zICkKKyAgIDI5LiBJZiBkYXRlVGltZUZvcm1hdC5b
W0hvdXJdXSBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgIGEuIExldCBoY0RlZmF1bHQgYmUg
ZGF0YUxvY2FsZURhdGEuW1tob3VyQ3ljbGVdXS4KKyAgICAgYi4gTGV0IGhjIGJlIGRhdGVUaW1l
Rm9ybWF0LltbSG91ckN5Y2xlXV0uCisgICAgIGMuIElmIGhjIGlzIG51bGwsIHRoZW4KKyAgICAg
ICAgaS4gU2V0IGhjIHRvIGhjRGVmYXVsdC4KKyAgICAgZC4gSWYgaG91cjEyIGlzIG5vdCB1bmRl
ZmluZWQsIHRoZW4KKyAgICAgICAgaS4gSWYgaG91cjEyIGlzIHRydWUsIHRoZW4KKyAgICAgICAg
ICAgMS4gSWYgaGNEZWZhdWx0IGlzICJoMTEiIG9yICJoMjMiLCB0aGVuCisgICAgICAgICAgICAg
IGEuIFNldCBoYyB0byAiaDExIi4KKyAgICAgICAgICAgMi4gRWxzZSwKKyAgICAgICAgICAgICAg
YS4gU2V0IGhjIHRvICJoMTIiLgorICAgICAgICBpaS4gRWxzZSwKKyAgICAgICAgICAgMS4gQXNz
ZXJ0OiBob3VyMTIgaXMgZmFsc2UuCisgICAgICAgICAgIDIuIElmIGhjRGVmYXVsdCBpcyAiaDEx
IiBvciAiaDIzIiwgdGhlbgorICAgICAgICAgICAgICBhLiBTZXQgaGMgdG8gImgyMyIuCisgICAg
ICAgICAgIDMuIEVsc2UsCisgICAgICAgICAgICAgIGEuIFNldCBoYyB0byAiaDI0Ii4KKyAgICAg
ZS4gU2V0IGRhdGVUaW1lRm9ybWF0LltbSG91ckN5Y2xlXV0gdG8gaGMuCisgICAgIAorbG9jYWxl
OiBbZW4sIGZyLCBpdCwgamEsIHpoLCBrbywgYXIsIGhpXQorLS0tKi8KKworbGV0IGxvY2FsZXMg
PSBbImVuIiwgImZyIiwgIml0IiwgImphIiwgInpoIiwgImtvIiwgImFyIiwgImhpIl07CisKK2xv
Y2FsZXMuZm9yRWFjaChmdW5jdGlvbihsb2NhbGUpIHsKKyAgbGV0IGhjRGVmYXVsdCA9IChuZXcg
SW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGUsIHtob3VyOiAibnVtZXJpYyJ9KSkKKyAgICAgIC5y
ZXNvbHZlZE9wdGlvbnMoKS5ob3VyQ3ljbGU7CisgIGlmIChoY0RlZmF1bHQgPT0gImgxMSIgfHwg
aGNEZWZhdWx0ID09ICJoMjMiKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSgiaDExIiwKKyAgICAg
ICAgKG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSwge2hvdXI6ICJudW1lcmljIiwgaG91
cjEyOiB0cnVlfSkpCisgICAgICAgIC5yZXNvbHZlZE9wdGlvbnMoKS5ob3VyQ3ljbGUpOworICAg
IGFzc2VydC5zYW1lVmFsdWUoImgyMyIsCisgICAgICAgIChuZXcgSW50bC5EYXRlVGltZUZvcm1h
dChsb2NhbGUsIHtob3VyOiAibnVtZXJpYyIsIGhvdXIxMjogZmFsc2V9KSkKKyAgICAgICAgLnJl
c29sdmVkT3B0aW9ucygpLmhvdXJDeWNsZSk7CisgIH0gZWxzZSB7CisgICAgYXNzZXJ0LnNhbWVW
YWx1ZSh0cnVlLCBoY0RlZmF1bHQgPT0gImgxMiIgfHwgaGNEZWZhdWx0ID09ICJoMjQiKQorICAg
IGFzc2VydC5zYW1lVmFsdWUoImgxMiIsCisgICAgICAgIChuZXcgSW50bC5EYXRlVGltZUZvcm1h
dChsb2NhbGUsIHtob3VyOiAibnVtZXJpYyIsIGhvdXIxMjogdHJ1ZX0pKQorICAgICAgICAucmVz
b2x2ZWRPcHRpb25zKCkuaG91ckN5Y2xlKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKCJoMjQiLAor
ICAgICAgICAobmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCB7aG91cjogIm51bWVyaWMi
LCBob3VyMTI6IGZhbHNlfSkpCisgICAgICAgIC5yZXNvbHZlZE9wdGlvbnMoKS5ob3VyQ3ljbGUp
OworICB9Cit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGF0ZVRpbWVG
b3JtYXQvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9ob3VyQ3ljbGUtdGltZVN0eWxlLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQv
cHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9ob3VyQ3ljbGUtdGltZVN0eWxlLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJv
dG90eXBlL3Jlc29sdmVkT3B0aW9ucy9ob3VyQ3ljbGUtdGltZVN0eWxlLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsODcgQEAKKy8vIENvcHlyaWdodCAyMDE5IE1vemlsbGEgQ29ycG9yYXRp
b24sIElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1JbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMK
K2Rlc2NyaXB0aW9uOiA+CisgIEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLnJlc29sdmVk
T3B0aW9ucyBwcm9wZXJseQorICByZWZsZWN0IGhvdXJDeWNsZSBzZXR0aW5ncyB3aGVuIHVzaW5n
IHRpbWVTdHlsZS4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczogW0lu
dGwuRGF0ZVRpbWVGb3JtYXQtZGF0ZXRpbWVzdHlsZV0KKy0tLSovCisKK2NvbnN0IGhjVmFsdWVz
ID0gWyJoMTEiLCAiaDEyIiwgImgyMyIsICJoMjQiXTsKK2NvbnN0IGhvdXIxMlZhbHVlcyA9IFsi
aDExIiwgImgxMiJdOworY29uc3QgZGF0YVByb3BlcnR5RGVzYyA9IHsgd3JpdGFibGU6IHRydWUs
IGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9OworCitmb3IgKGNvbnN0IHRp
bWVTdHlsZSBvZiBbImZ1bGwiLCAibG9uZyIsICJtZWRpdW0iLCAic2hvcnQiXSkgeworICBhc3Nl
cnQuc2FtZVZhbHVlKG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFtdLCB7IHRpbWVTdHlsZSB9KS5y
ZXNvbHZlZE9wdGlvbnMoKS50aW1lU3R5bGUsCisgICAgICAgICAgICAgICAgICAgdGltZVN0eWxl
LAorICAgICAgICAgICAgICAgICAgIGBTaG91bGQgc3VwcG9ydCB0aW1lU3R5bGU9JHt0aW1lU3R5
bGV9YCk7CisKKyAgLyogVmFsdWVzIHBhc3NlZCB2aWEgdW5pY29kZSBleHRlbnNpb24ga2V5IHdv
cmsgKi8KKworICBmb3IgKGNvbnN0IGhjVmFsdWUgb2YgaGNWYWx1ZXMpIHsKKyAgICBjb25zdCBy
ZXNvbHZlZE9wdGlvbnMgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChgZGUtdS1oYy0ke2hjVmFs
dWV9YCwgeworICAgICAgdGltZVN0eWxlLAorICAgIH0pLnJlc29sdmVkT3B0aW9ucygpOworCisg
ICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXNvbHZlZE9wdGlvbnMuaG91ckN5Y2xlLCBoY1ZhbHVlKTsK
KyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc29sdmVkT3B0aW9ucy5ob3VyMTIsIGhvdXIxMlZhbHVl
cy5pbmNsdWRlcyhoY1ZhbHVlKSk7CisgIH0KKworICAvKiBWYWx1ZXMgcGFzc2VkIHZpYSBvcHRp
b25zIHdvcmsgKi8KKworICBmb3IgKGNvbnN0IGhjVmFsdWUgb2YgaGNWYWx1ZXMpIHsKKyAgICBj
b25zdCByZXNvbHZlZE9wdGlvbnMgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4tVVMiLCB7
CisgICAgICB0aW1lU3R5bGUsCisgICAgICBob3VyQ3ljbGU6IGhjVmFsdWUKKyAgICB9KS5yZXNv
bHZlZE9wdGlvbnMoKTsKKworICAgIGFzc2VydC5zYW1lVmFsdWUocmVzb2x2ZWRPcHRpb25zLmhv
dXJDeWNsZSwgaGNWYWx1ZSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXNvbHZlZE9wdGlvbnMu
aG91cjEyLCBob3VyMTJWYWx1ZXMuaW5jbHVkZXMoaGNWYWx1ZSkpOworCisgICAgdmVyaWZ5UHJv
cGVydHkocmVzb2x2ZWRPcHRpb25zLCAiaG91ckN5Y2xlIiwgZGF0YVByb3BlcnR5RGVzYyk7Cisg
ICAgdmVyaWZ5UHJvcGVydHkocmVzb2x2ZWRPcHRpb25zLCAiaG91cjEyIiwgZGF0YVByb3BlcnR5
RGVzYyk7CisgIH0KKworICAvKiBXaGVuIGJvdGggZXh0ZW5zaW9uIGtleSBhbmQgb3B0aW9uIGlz
IHBhc3NlZCwgb3B0aW9uIHRha2VzIHByZWNlZGVuY2UgKi8KKworICBsZXQgcmVzb2x2ZWRPcHRp
b25zID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoImVuLVVTLXUtaGMtaDEyIiwgeworICAgIHRp
bWVTdHlsZSwKKyAgICBob3VyQ3ljbGU6ICJoMjMiCisgIH0pLnJlc29sdmVkT3B0aW9ucygpOwor
CisgIGFzc2VydC5zYW1lVmFsdWUocmVzb2x2ZWRPcHRpb25zLmhvdXJDeWNsZSwgImgyMyIpOwor
ICBhc3NlcnQuc2FtZVZhbHVlKHJlc29sdmVkT3B0aW9ucy5ob3VyMTIsIGZhbHNlKTsKKworICB2
ZXJpZnlQcm9wZXJ0eShyZXNvbHZlZE9wdGlvbnMsICJob3VyQ3ljbGUiLCBkYXRhUHJvcGVydHlE
ZXNjKTsKKyAgdmVyaWZ5UHJvcGVydHkocmVzb2x2ZWRPcHRpb25zLCAiaG91cjEyIiwgZGF0YVBy
b3BlcnR5RGVzYyk7CisKKyAgLyogV2hlbiBob3VyMTIgYW5kIGhvdXJDeWNsZSBhcmUgc2V0LCBo
b3VyMTIgdGFrZXMgcHJlY2VkZW5jZSAqLworCisgIHJlc29sdmVkT3B0aW9ucyA9IG5ldyBJbnRs
LkRhdGVUaW1lRm9ybWF0KCJmciIsIHsKKyAgICB0aW1lU3R5bGUsCisgICAgaG91cjEyOiB0cnVl
LAorICAgIGhvdXJDeWNsZTogImgyMyIKKyAgfSkucmVzb2x2ZWRPcHRpb25zKCk7CisKKyAgYXNz
ZXJ0KGhvdXIxMlZhbHVlcy5pbmNsdWRlcyhyZXNvbHZlZE9wdGlvbnMuaG91ckN5Y2xlKSk7Cisg
IGFzc2VydC5zYW1lVmFsdWUocmVzb2x2ZWRPcHRpb25zLmhvdXIxMiwgdHJ1ZSk7CisKKyAgdmVy
aWZ5UHJvcGVydHkocmVzb2x2ZWRPcHRpb25zLCAiaG91ckN5Y2xlIiwgZGF0YVByb3BlcnR5RGVz
Yyk7CisgIHZlcmlmeVByb3BlcnR5KHJlc29sdmVkT3B0aW9ucywgImhvdXIxMiIsIGRhdGFQcm9w
ZXJ0eURlc2MpOworCisgIC8qIFdoZW4gaG91cjEyIGFuZCBleHRlbnNpb24ga2V5IGFyZSBzZXQs
IGhvdXIxMiB0YWtlcyBwcmVjZWRlbmNlICovCisKKyAgcmVzb2x2ZWRPcHRpb25zID0gbmV3IElu
dGwuRGF0ZVRpbWVGb3JtYXQoImZyLXUtaGMtaDI0IiwgeworICAgIHRpbWVTdHlsZSwKKyAgICBo
b3VyMTI6IHRydWUsCisgIH0pLnJlc29sdmVkT3B0aW9ucygpOworCisgIGFzc2VydChob3VyMTJW
YWx1ZXMuaW5jbHVkZXMocmVzb2x2ZWRPcHRpb25zLmhvdXJDeWNsZSkpOworICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlc29sdmVkT3B0aW9ucy5ob3VyMTIsIHRydWUpOworCisgIHZlcmlmeVByb3BlcnR5
KHJlc29sdmVkT3B0aW9ucywgImhvdXJDeWNsZSIsIGRhdGFQcm9wZXJ0eURlc2MpOworICB2ZXJp
ZnlQcm9wZXJ0eShyZXNvbHZlZE9wdGlvbnMsICJob3VyMTIiLCBkYXRhUHJvcGVydHlEZXNjKTsK
K30KSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJv
dG90eXBlL3Jlc29sdmVkT3B0aW9ucy9ob3VyQ3ljbGUuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvcmVzb2x2ZWRP
cHRpb25zL2hvdXJDeWNsZS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL2hv
dXJDeWNsZS5qcwkod29ya2luZyBjb3B5KQpAQCAtODUsMyArODUsMTUgQEAgYXNzZXJ0LnNhbWVW
YWx1ZShyZXNvbHZlZE9wdGlvbnMuaG91cjEyLAogCiB2ZXJpZnlQcm9wZXJ0eShyZXNvbHZlZE9w
dGlvbnMsICdob3VyQ3ljbGUnLCBkYXRhUHJvcGVydHlEZXNjKTsKIHZlcmlmeVByb3BlcnR5KHJl
c29sdmVkT3B0aW9ucywgJ2hvdXIxMicsIGRhdGFQcm9wZXJ0eURlc2MpOworCisvKiBXaGVuIHRo
ZSBob3VyIGlzIG5vdCBpbiB0aGUgcGF0dGVybiwgaG91ckN5Y2xlIGFuZCBob3VyMTIgYXJlIG5v
dCBkZWZpbmVkLiAqLworCityZXNvbHZlZE9wdGlvbnMgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1h
dCgiZnIiLCB7CisgIGhvdXJDeWNsZTogImgxMiIsCisgIGhvdXIxMjogZmFsc2UsCit9KS5yZXNv
bHZlZE9wdGlvbnMoKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShyZXNvbHZlZE9wdGlvbnMuaG91ciwg
dW5kZWZpbmVkLAorICAgICAgICAgICAgICAgICAiUHJlY29uZGl0aW9uOiBob3VyIHNob3VsZCBu
b3QgYmUgaW5jbHVkZWQgYnkgZGVmYXVsdCIpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXNvbHZlZE9w
dGlvbnMuaG91ckN5Y2xlLCB1bmRlZmluZWQpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXNvbHZlZE9w
dGlvbnMuaG91cjEyLCB1bmRlZmluZWQpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50
bDQwMi9EaXNwbGF5TmFtZXMvY3Rvci1jdXN0b20tZ2V0LXByb3RvdHlwZS1wb2lzb24tdGhyb3dz
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5h
bWVzL2N0b3ItY3VzdG9tLWdldC1wcm90b3R5cGUtcG9pc29uLXRocm93cy5qcwkobm9uZXhpc3Rl
bnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9jdG9yLWN1
c3RvbS1nZXQtcHJvdG90eXBlLXBvaXNvbi10aHJvd3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0NCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtSW50bC5EaXNwbGF5
TmFtZXMKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybiBhYnJ1cHQgZnJvbSBHZXQgUHJvdG90eXBl
IGZyb20gYSBjdXN0b20gTmV3VGFyZ2V0CitpbmZvOiB8CisgIEludGwuRGlzcGxheU5hbWVzIChb
IGxvY2FsZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAgMS4gSWYgTmV3VGFyZ2V0IGlzIHVuZGVmaW5l
ZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAyLiBMZXQgZGlzcGxheU5hbWVzIGJl
ID8gT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0LCAiJURpc3BsYXlOYW1l
c1Byb3RvdHlwZSUiLAorICAgIMKrIFtbSW5pdGlhbGl6ZWREaXNwbGF5TmFtZXNdXSwgW1tMb2Nh
bGVdXSwgW1tTdHlsZV1dLCBbW1R5cGVdXSwgW1tGYWxsYmFja11dLCBbW0ZpZWxkc11dIMK7KS4K
KyAgLi4uCisKKyAgT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IgKCBjb25zdHJ1Y3Rvciwg
aW50cmluc2ljRGVmYXVsdFByb3RvIFsgLCBpbnRlcm5hbFNsb3RzTGlzdCBdICkKKworICAuLi4K
KyAgMi4gTGV0IHByb3RvIGJlID8gR2V0UHJvdG90eXBlRnJvbUNvbnN0cnVjdG9yKGNvbnN0cnVj
dG9yLCBpbnRyaW5zaWNEZWZhdWx0UHJvdG8pLgorICAuLi4KKworICBHZXRQcm90b3R5cGVGcm9t
Q29uc3RydWN0b3IgKCBjb25zdHJ1Y3RvciwgaW50cmluc2ljRGVmYXVsdFByb3RvICkKKworICAz
LiBMZXQgcHJvdG8gYmUgPyBHZXQoY29uc3RydWN0b3IsICJwcm90b3R5cGUiKS4KKyAgNC4gSWYg
VHlwZShwcm90bykgaXMgbm90IE9iamVjdCwgdGhlbgorICAgIGEuIExldCByZWFsbSBiZSA/IEdl
dEZ1bmN0aW9uUmVhbG0oY29uc3RydWN0b3IpLgorICAgIGIuIFNldCBwcm90byB0byByZWFsbSdz
IGludHJpbnNpYyBvYmplY3QgbmFtZWQgaW50cmluc2ljRGVmYXVsdFByb3RvLgorICA1LiBSZXR1
cm4gcHJvdG8uCitmZWF0dXJlczogW0ludGwuRGlzcGxheU5hbWVzLCBSZWZsZWN0LCBQcm94eV0K
Ky0tLSovCisKK3ZhciBjdXN0b20gPSBuZXcgUHJveHkobmV3IEZ1bmN0aW9uKCksIHsKKyAgZ2V0
KHRhcmdldCwga2V5KSB7CisgICAgaWYgKGtleSA9PT0gJ3Byb3RvdHlwZScpIHsKKyAgICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoKTsKKyAgICB9CisKKyAgICByZXR1cm4gdGFyZ2V0W2tleV07
CisgIH0KK30pOworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBSZWZs
ZWN0LmNvbnN0cnVjdChJbnRsLkRpc3BsYXlOYW1lcywgW10sIGN1c3RvbSk7Cit9KTsKSW5kZXg6
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2N0b3ItY3VzdG9tLXBy
b3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rp
c3BsYXlOYW1lcy9jdG9yLWN1c3RvbS1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvY3Rvci1jdXN0b20tcHJvdG90
eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLUludGwuRGlzcGxheU5hbWVzCitkZXNjcmlwdGlvbjogPgorICBDdXN0
b20gUHJvdG90eXBlIG9mIHRoZSByZXR1cm5lZCBvYmplY3QgYmFzZWQgb24gdGhlIE5ld1Rhcmdl
dAoraW5mbzogfAorICBJbnRsLkRpc3BsYXlOYW1lcyAoWyBsb2NhbGVzIFsgLCBvcHRpb25zIF1d
KQorCisgIDEuIElmIE5ld1RhcmdldCBpcyB1bmRlZmluZWQsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgMi4gTGV0IGRpc3BsYXlOYW1lcyBiZSA/IE9yZGluYXJ5Q3JlYXRlRnJvbUNv
bnN0cnVjdG9yKE5ld1RhcmdldCwgIiVEaXNwbGF5TmFtZXNQcm90b3R5cGUlIiwKKyAgICDCqyBb
W0luaXRpYWxpemVkRGlzcGxheU5hbWVzXV0sIFtbTG9jYWxlXV0sIFtbU3R5bGVdXSwgW1tUeXBl
XV0sIFtbRmFsbGJhY2tdXSwgW1tGaWVsZHNdXSDCuykuCisgIC4uLgorCisgIE9yZGluYXJ5Q3Jl
YXRlRnJvbUNvbnN0cnVjdG9yICggY29uc3RydWN0b3IsIGludHJpbnNpY0RlZmF1bHRQcm90byBb
ICwgaW50ZXJuYWxTbG90c0xpc3QgXSApCisKKyAgLi4uCisgIDIuIExldCBwcm90byBiZSA/IEdl
dFByb3RvdHlwZUZyb21Db25zdHJ1Y3Rvcihjb25zdHJ1Y3RvciwgaW50cmluc2ljRGVmYXVsdFBy
b3RvKS4KKyAgLi4uCisKKyAgR2V0UHJvdG90eXBlRnJvbUNvbnN0cnVjdG9yICggY29uc3RydWN0
b3IsIGludHJpbnNpY0RlZmF1bHRQcm90byApCisKKyAgMy4gTGV0IHByb3RvIGJlID8gR2V0KGNv
bnN0cnVjdG9yLCAicHJvdG90eXBlIikuCisgIDQuIElmIFR5cGUocHJvdG8pIGlzIG5vdCBPYmpl
Y3QsIHRoZW4KKyAgICBhLiBMZXQgcmVhbG0gYmUgPyBHZXRGdW5jdGlvblJlYWxtKGNvbnN0cnVj
dG9yKS4KKyAgICBiLiBTZXQgcHJvdG8gdG8gcmVhbG0ncyBpbnRyaW5zaWMgb2JqZWN0IG5hbWVk
IGludHJpbnNpY0RlZmF1bHRQcm90by4KKyAgNS4gUmV0dXJuIHByb3RvLgorZmVhdHVyZXM6IFtJ
bnRsLkRpc3BsYXlOYW1lcywgUmVmbGVjdF0KKy0tLSovCisKK3ZhciBjdXN0b20gPSBuZXcgRnVu
Y3Rpb24oKTsKK2N1c3RvbS5wcm90b3R5cGUgPSB7fTsKKwordmFyIG9iaiA9IFJlZmxlY3QuY29u
c3RydWN0KEludGwuRGlzcGxheU5hbWVzLCBbXSwgY3VzdG9tKTsKKworYXNzZXJ0LnNhbWVWYWx1
ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSwgY3VzdG9tLnByb3RvdHlwZSk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9jdG9yLWRlZmF1bHQtcHJv
dG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlz
cGxheU5hbWVzL2N0b3ItZGVmYXVsdC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvY3Rvci1kZWZhdWx0LXByb3Rv
dHlwZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIxIEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1JbnRsLkRpc3BsYXlOYW1lcworZGVzY3JpcHRpb246ID4KKyAgUHJv
dG90eXBlIG9mIHRoZSByZXR1cm5lZCBvYmplY3QgaXMgRGlzcGxheU5hbWVzLnByb3RvdHlwZQor
aW5mbzogfAorICBJbnRsLkRpc3BsYXlOYW1lcyAoWyBsb2NhbGVzIFsgLCBvcHRpb25zIF1dKQor
CisgIDEuIElmIE5ld1RhcmdldCBpcyB1bmRlZmluZWQsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKyAgMi4gTGV0IGRpc3BsYXlOYW1lcyBiZSA/IE9yZGluYXJ5Q3JlYXRlRnJvbUNvbnN0
cnVjdG9yKE5ld1RhcmdldCwgIiVEaXNwbGF5TmFtZXNQcm90b3R5cGUlIiwKKyAgICDCqyBbW0lu
aXRpYWxpemVkRGlzcGxheU5hbWVzXV0sIFtbTG9jYWxlXV0sIFtbU3R5bGVdXSwgW1tUeXBlXV0s
IFtbRmFsbGJhY2tdXSwgW1tGaWVsZHNdXSDCuykuCisgIC4uLgorICAyNy4gUmV0dXJuIGRpc3Bs
YXlOYW1lcy4KK2ZlYXR1cmVzOiBbSW50bC5EaXNwbGF5TmFtZXNdCistLS0qLworCit2YXIgb2Jq
ID0gbmV3IEludGwuRGlzcGxheU5hbWVzKCk7CisKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKG9iaiksIEludGwuRGlzcGxheU5hbWVzLnByb3RvdHlwZSk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9pbnN0YW5jZS1leHRlbnNp
YmxlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxh
eU5hbWVzL2luc3RhbmNlLWV4dGVuc2libGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvaW5zdGFuY2UtZXh0ZW5zaWJsZS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVv
IEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Vz
aWQ6IHNlYy1JbnRsLkRpc3BsYXlOYW1lcworZGVzY3JpcHRpb246ID4KKyAgSW5zdGFuY2UgaXMg
ZXh0ZW5zaWJsZQoraW5mbzogfAorICBJbnRsLkRpc3BsYXlOYW1lcyAoWyBsb2NhbGVzIFsgLCBv
cHRpb25zIF1dKQorCisgIDEuIElmIE5ld1RhcmdldCBpcyB1bmRlZmluZWQsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgMi4gTGV0IGRpc3BsYXlOYW1lcyBiZSA/IE9yZGluYXJ5Q3Jl
YXRlRnJvbUNvbnN0cnVjdG9yKE5ld1RhcmdldCwgIiVEaXNwbGF5TmFtZXNQcm90b3R5cGUlIiwK
KyAgICDCqyBbW0luaXRpYWxpemVkRGlzcGxheU5hbWVzXV0sIFtbTG9jYWxlXV0sIFtbU3R5bGVd
XSwgW1tUeXBlXV0sIFtbRmFsbGJhY2tdXSwgW1tGaWVsZHNdXSDCuykuCisgIC4uLgorCisgIE9y
ZGluYXJ5Q3JlYXRlRnJvbUNvbnN0cnVjdG9yICggY29uc3RydWN0b3IsIGludHJpbnNpY0RlZmF1
bHRQcm90byBbICwgaW50ZXJuYWxTbG90c0xpc3QgXSApCisKKyAgLi4uCisgIDIuIExldCBwcm90
byBiZSA/IEdldFByb3RvdHlwZUZyb21Db25zdHJ1Y3Rvcihjb25zdHJ1Y3RvciwgaW50cmluc2lj
RGVmYXVsdFByb3RvKS4KKyAgMy4gUmV0dXJuIE9iamVjdENyZWF0ZShwcm90bywgaW50ZXJuYWxT
bG90c0xpc3QpLgorCisgIE9iamVjdENyZWF0ZSAoIHByb3RvIFsgLCBpbnRlcm5hbFNsb3RzTGlz
dCBdICkKKworICAuLi4KKyAgMi4gTGV0IG9iaiBiZSBhIG5ld2x5IGNyZWF0ZWQgb2JqZWN0IHdp
dGggYW4gaW50ZXJuYWwgc2xvdCBmb3IgZWFjaCBuYW1lIGluIGludGVybmFsU2xvdHNMaXN0Lgor
ICAzLiBTZXQgb2JqJ3MgZXNzZW50aWFsIGludGVybmFsIG1ldGhvZHMgdG8gdGhlIGRlZmF1bHQg
b3JkaW5hcnkgb2JqZWN0IGRlZmluaXRpb25zIHNwZWNpZmllZCBpbiA5LjEuCisgIDQuIFNldCBv
YmouW1tQcm90b3R5cGVdXSB0byBwcm90by4KKyAgNS4gU2V0IG9iai5bW0V4dGVuc2libGVdXSB0
byB0cnVlLgorICA2LiBSZXR1cm4gb2JqLgorZmVhdHVyZXM6IFtJbnRsLkRpc3BsYXlOYW1lc10K
Ky0tLSovCisKK3ZhciBvYmogPSBuZXcgSW50bC5EaXNwbGF5TmFtZXMoKTsKKworYXNzZXJ0KE9i
amVjdC5pc0V4dGVuc2libGUob2JqKSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRs
NDAyL0Rpc3BsYXlOYW1lcy9sZW5ndGguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvbGVuZ3RoLmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2xlbmd0aC5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMxIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRl
ci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1JbnRsLkRpc3BsYXlOYW1lcworZGVzY3JpcHRpb246ID4KKyAgSW50bC5EaXNwbGF5TmFtZXMu
bGVuZ3RoIGlzIDAuCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgU3RhbmRhcmQgQnVpbHQtaW4gT2Jq
ZWN0czoKKworICBFdmVyeSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25z
dHJ1Y3RvcnMsIGhhcyBhIGxlbmd0aAorICBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRl
Z2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcworICB2YWx1ZSBpcyBlcXVhbCB0
byB0aGUgbGFyZ2VzdCBudW1iZXIgb2YgbmFtZWQgYXJndW1lbnRzIHNob3duIGluIHRoZQorICBz
dWJjbGF1c2UgaGVhZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbi4gT3B0aW9uYWwg
cGFyYW1ldGVycworICAod2hpY2ggYXJlIGluZGljYXRlZCB3aXRoIGJyYWNrZXRzOiBbIF0pIG9y
IHJlc3QgcGFyYW1ldGVycyAod2hpY2gKKyAgYXJlIHNob3duIHVzaW5nIHRoZSBmb3JtIMKrLi4u
bmFtZcK7KSBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBkZWZhdWx0CisgIGFyZ3VtZW50IGNvdW50
LgorCisgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9m
IGEgYnVpbHQtaW4gZnVuY3Rpb24KKyAgb2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3Jp
dGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwKKyAgW1tDb25maWd1cmFibGVd
XTogdHJ1ZSB9LgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbSW50
bC5EaXNwbGF5TmFtZXNdCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShJbnRsLkRpc3BsYXlOYW1l
cywgImxlbmd0aCIsIHsKKyAgdmFsdWU6IDAsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0
YWJsZTogZmFsc2UsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKK30pOwpJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvbG9jYWxlcy1pbnZhbGlkLXRocm93cy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1l
cy9sb2NhbGVzLWludmFsaWQtdGhyb3dzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2xvY2FsZXMtaW52YWxpZC10aHJvd3MuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExl
byBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtSW50bC5EaXNwbGF5TmFtZXMKK2Rlc2NyaXB0aW9uOiA+CisgIFRocm93cyBUeXBl
RXJyb3IgaWYgbG9jYWxlcyBpcyBub3QgdW5kZWZpbmVkLCBhIHN0cmluZywgb3IgYW4gYXJyYXkt
bGlrZSBvYmplY3QuCitpbmZvOiB8CisgIEludGwuRGlzcGxheU5hbWVzIChbIGxvY2FsZXMgWyAs
IG9wdGlvbnMgXV0pCisKKyAgMS4gSWYgTmV3VGFyZ2V0IGlzIHVuZGVmaW5lZCwgdGhyb3cgYSBU
eXBlRXJyb3IgZXhjZXB0aW9uLgorICAyLiBMZXQgZGlzcGxheU5hbWVzIGJlID8gT3JkaW5hcnlD
cmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0LCAiJURpc3BsYXlOYW1lc1Byb3RvdHlwZSUi
LAorICAgIMKrIFtbSW5pdGlhbGl6ZWREaXNwbGF5TmFtZXNdXSwgW1tMb2NhbGVdXSwgW1tTdHls
ZV1dLCBbW1R5cGVdXSwgW1tGYWxsYmFja11dLCBbW0ZpZWxkc11dIMK7KS4KKyAgMy4gTGV0IHJl
cXVlc3RlZExvY2FsZXMgYmUgPyBDYW5vbmljYWxpemVMb2NhbGVMaXN0KGxvY2FsZXMpLgorICAu
Li4KKworICBDYW5vbmljYWxpemVMb2NhbGVMaXN0ICggbG9jYWxlcyApCisKKyAgMS4gSWYgbG9j
YWxlcyBpcyB1bmRlZmluZWQsIHRoZW4KKyAgICBhLiBSZXR1cm4gYSBuZXcgZW1wdHkgTGlzdC4K
KyAgMi4gTGV0IHNlZW4gYmUgYSBuZXcgZW1wdHkgTGlzdC4KKyAgMy4gSWYgVHlwZShsb2NhbGVz
KSBpcyBTdHJpbmcsIHRoZW4KKyAgICBhLiBMZXQgTyBiZSBDcmVhdGVBcnJheUZyb21MaXN0KMKr
IGxvY2FsZXMgwrspLgorICA0LiBFbHNlLAorICAgIGEuIExldCBPIGJlID8gVG9PYmplY3QobG9j
YWxlcykuCisgIDUuIExldCBsZW4gYmUgPyBUb0xlbmd0aCg/IEdldChPLCAibGVuZ3RoIikpLgor
ZmVhdHVyZXM6IFtJbnRsLkRpc3BsYXlOYW1lc10KKy0tLSovCisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3BsYXlOYW1lcyhudWxsKTsKK30sICdudWxs
Jyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9sb2Nh
bGVzLWxlbmd0aC1wb2lzb24tdGhyb3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2xvY2FsZXMtbGVuZ3RoLXBvaXNvbi10aHJvd3Mu
anMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5
TmFtZXMvbG9jYWxlcy1sZW5ndGgtcG9pc29uLXRocm93cy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQwIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1JbnRsLkRpc3Bs
YXlOYW1lcworZGVzY3JpcHRpb246ID4KKyAgUmV0dXJuIGFicnVwdCBjb21wbGV0aW9uIGZyb20g
R2V0IExvY2FsZXMgbGVuZ3RoCitpbmZvOiB8CisgIEludGwuRGlzcGxheU5hbWVzIChbIGxvY2Fs
ZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAgMS4gSWYgTmV3VGFyZ2V0IGlzIHVuZGVmaW5lZCwgdGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAyLiBMZXQgZGlzcGxheU5hbWVzIGJlID8gT3Jk
aW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0LCAiJURpc3BsYXlOYW1lc1Byb3Rv
dHlwZSUiLAorICAgIMKrIFtbSW5pdGlhbGl6ZWREaXNwbGF5TmFtZXNdXSwgW1tMb2NhbGVdXSwg
W1tTdHlsZV1dLCBbW1R5cGVdXSwgW1tGYWxsYmFja11dLCBbW0ZpZWxkc11dIMK7KS4KKyAgMy4g
TGV0IHJlcXVlc3RlZExvY2FsZXMgYmUgPyBDYW5vbmljYWxpemVMb2NhbGVMaXN0KGxvY2FsZXMp
LgorICAuLi4KKworICBDYW5vbmljYWxpemVMb2NhbGVMaXN0ICggbG9jYWxlcyApCisKKyAgMS4g
SWYgbG9jYWxlcyBpcyB1bmRlZmluZWQsIHRoZW4KKyAgICBhLiBSZXR1cm4gYSBuZXcgZW1wdHkg
TGlzdC4KKyAgMi4gTGV0IHNlZW4gYmUgYSBuZXcgZW1wdHkgTGlzdC4KKyAgMy4gSWYgVHlwZShs
b2NhbGVzKSBpcyBTdHJpbmcsIHRoZW4KKyAgICBhLiBMZXQgTyBiZSBDcmVhdGVBcnJheUZyb21M
aXN0KMKrIGxvY2FsZXMgwrspLgorICA0LiBFbHNlLAorICAgIGEuIExldCBPIGJlID8gVG9PYmpl
Y3QobG9jYWxlcykuCisgIDUuIExldCBsZW4gYmUgPyBUb0xlbmd0aCg/IEdldChPLCAibGVuZ3Ro
IikpLgorZmVhdHVyZXM6IFtJbnRsLkRpc3BsYXlOYW1lcywgU3ltYm9sXQorLS0tKi8KKwordmFy
IGxvY2FsZXMgPSB7fTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KGxvY2FsZXMsICdsZW5ndGgn
LCB7CisgIGdldCgpIHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgIH0KK30pOwor
Cithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgSW50bC5EaXNwbGF5
TmFtZXMobG9jYWxlcyk7Cit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
RGlzcGxheU5hbWVzL2xvY2FsZXMtbGVuZ3RoLXRvbGVuZ3RoLXRocm93cy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9sb2NhbGVzLWxl
bmd0aC10b2xlbmd0aC10aHJvd3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvbG9jYWxlcy1sZW5ndGgtdG9sZW5ndGgtdGhyb3dz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAx
OSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0t
LQorZXNpZDogc2VjLUludGwuRGlzcGxheU5hbWVzCitkZXNjcmlwdGlvbjogPgorICBSZXR1cm4g
YWJydXB0IGNvbXBsZXRpb24gZnJvbSBMb2NhbGVzIGludmFsaWQgbGVuZ3RoCitpbmZvOiB8Cisg
IEludGwuRGlzcGxheU5hbWVzIChbIGxvY2FsZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAgMS4gSWYg
TmV3VGFyZ2V0IGlzIHVuZGVmaW5lZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAy
LiBMZXQgZGlzcGxheU5hbWVzIGJlID8gT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3
VGFyZ2V0LCAiJURpc3BsYXlOYW1lc1Byb3RvdHlwZSUiLAorICAgIMKrIFtbSW5pdGlhbGl6ZWRE
aXNwbGF5TmFtZXNdXSwgW1tMb2NhbGVdXSwgW1tTdHlsZV1dLCBbW1R5cGVdXSwgW1tGYWxsYmFj
a11dLCBbW0ZpZWxkc11dIMK7KS4KKyAgMy4gTGV0IHJlcXVlc3RlZExvY2FsZXMgYmUgPyBDYW5v
bmljYWxpemVMb2NhbGVMaXN0KGxvY2FsZXMpLgorICAuLi4KKworICBDYW5vbmljYWxpemVMb2Nh
bGVMaXN0ICggbG9jYWxlcyApCisKKyAgMS4gSWYgbG9jYWxlcyBpcyB1bmRlZmluZWQsIHRoZW4K
KyAgICBhLiBSZXR1cm4gYSBuZXcgZW1wdHkgTGlzdC4KKyAgMi4gTGV0IHNlZW4gYmUgYSBuZXcg
ZW1wdHkgTGlzdC4KKyAgMy4gSWYgVHlwZShsb2NhbGVzKSBpcyBTdHJpbmcsIHRoZW4KKyAgICBh
LiBMZXQgTyBiZSBDcmVhdGVBcnJheUZyb21MaXN0KMKrIGxvY2FsZXMgwrspLgorICA0LiBFbHNl
LAorICAgIGEuIExldCBPIGJlID8gVG9PYmplY3QobG9jYWxlcykuCisgIDUuIExldCBsZW4gYmUg
PyBUb0xlbmd0aCg/IEdldChPLCAibGVuZ3RoIikpLgorCisgIFRvTGVuZ3RoICggYXJndW1lbnQg
KQorCisgIDEuIExldCBsZW4gYmUgPyBUb0ludGVnZXIoYXJndW1lbnQpLgorICAuLi4KK2ZlYXR1
cmVzOiBbSW50bC5EaXNwbGF5TmFtZXMsIFN5bWJvbCwgQmlnSW50XQorLS0tKi8KKwordmFyIGxv
Y2FsZXMgPSB7CisgIGxlbmd0aDogeworICAgIHZhbHVlT2YoKSB7CisgICAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCk7CisgICAgfQorICB9Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJF
cnJvciwgKCkgPT4geworICBuZXcgSW50bC5EaXNwbGF5TmFtZXMobG9jYWxlcyk7Cit9LCAncG9p
c29uZWQgdmFsdWVPZiBmb3IgVG9OdW1iZXInKTsKKworbG9jYWxlcy5sZW5ndGggPSB7CisgIFtT
eW1ib2wudG9QcmltaXRpdmVdKCkgeworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsKKyAg
fQorfTsKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRp
c3BsYXlOYW1lcyhsb2NhbGVzKTsKK30sICdwb2lzb25lZCBUb1ByaW1pdGl2ZSBmb3IgVG9OdW1i
ZXInKTsKKworbG9jYWxlcy5sZW5ndGggPSB7CisgIHRvU3RyaW5nKCkgeworICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoKTsKKyAgfQorfTsKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAo
KSA9PiB7CisgIG5ldyBJbnRsLkRpc3BsYXlOYW1lcyhsb2NhbGVzKTsKK30sICdwb2lzb25lZCB0
b1N0cmluZyBmb3IgVG9OdW1iZXInKTsKKworbG9jYWxlcy5sZW5ndGggPSBTeW1ib2woKTsKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3BsYXlOYW1lcyhs
b2NhbGVzKTsKK30sICdsZW5ndGggaXMgU3ltYm9sJyk7CisKK2xvY2FsZXMubGVuZ3RoID0gQmln
SW50KDEpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEludGwuRGlz
cGxheU5hbWVzKGxvY2FsZXMpOworfSwgJ2xlbmd0aCBpcyBCaWdJbnQnKTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL2xvY2FsZXMtc3ltYm9sLWxlbmd0
aC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlO
YW1lcy9sb2NhbGVzLXN5bWJvbC1sZW5ndGguanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvbG9jYWxlcy1zeW1ib2wtbGVuZ3RoLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBM
ZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQor
ZXNpZDogc2VjLUludGwuRGlzcGxheU5hbWVzCitkZXNjcmlwdGlvbjogPgorICBDYW5vbmljYWxp
emVMb2NhbGVMaXN0IHRyaWVzIHRvIGZldGNoIGxlbmd0aCBmcm9tIE9iamVjdC4KK2luZm86IHwK
KyAgSW50bC5EaXNwbGF5TmFtZXMgKFsgbG9jYWxlcyBbICwgb3B0aW9ucyBdXSkKKworICAxLiBJ
ZiBOZXdUYXJnZXQgaXMgdW5kZWZpbmVkLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisg
IDIuIExldCBkaXNwbGF5TmFtZXMgYmUgPyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvcihO
ZXdUYXJnZXQsICIlRGlzcGxheU5hbWVzUHJvdG90eXBlJSIsCisgICAgwqsgW1tJbml0aWFsaXpl
ZERpc3BsYXlOYW1lc11dLCBbW0xvY2FsZV1dLCBbW1N0eWxlXV0sIFtbVHlwZV1dLCBbW0ZhbGxi
YWNrXV0sIFtbRmllbGRzXV0gwrspLgorICAzLiBMZXQgcmVxdWVzdGVkTG9jYWxlcyBiZSA/IENh
bm9uaWNhbGl6ZUxvY2FsZUxpc3QobG9jYWxlcykuCisgIC4uLgorCisgIENhbm9uaWNhbGl6ZUxv
Y2FsZUxpc3QgKCBsb2NhbGVzICkKKworICAxLiBJZiBsb2NhbGVzIGlzIHVuZGVmaW5lZCwgdGhl
bgorICAgIGEuIFJldHVybiBhIG5ldyBlbXB0eSBMaXN0LgorICAyLiBMZXQgc2VlbiBiZSBhIG5l
dyBlbXB0eSBMaXN0LgorICAzLiBJZiBUeXBlKGxvY2FsZXMpIGlzIFN0cmluZywgdGhlbgorICAg
IGEuIExldCBPIGJlIENyZWF0ZUFycmF5RnJvbUxpc3QowqsgbG9jYWxlcyDCuykuCisgIDQuIEVs
c2UsCisgICAgYS4gTGV0IE8gYmUgPyBUb09iamVjdChsb2NhbGVzKS4KKyAgNS4gTGV0IGxlbiBi
ZSA/IFRvTGVuZ3RoKD8gR2V0KE8sICJsZW5ndGgiKSkuCitmZWF0dXJlczogW0ludGwuRGlzcGxh
eU5hbWVzLCBTeW1ib2xdCitsb2NhbGU6IFtlbl0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5Lmpz
XQorLS0tKi8KKwordmFyIGNhbGxzID0gW107Cit2YXIgc3ltYm9sID0gU3ltYm9sKCk7CisKK1N5
bWJvbC5wcm90b3R5cGUubGVuZ3RoID0gMTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KFN5bWJv
bC5wcm90b3R5cGUsICdsZW5ndGgnLCB7CisgIGdldCgpIHsKKyAgICBhc3NlcnQubm90U2FtZVZh
bHVlKHRoaXMsIHN5bWJvbCwgJ3RoaXMgaXMgYW4gb2JqZWN0IGZyb20gZ2l2ZW4gc3ltYm9sJyk7
CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLnZhbHVlT2YoKSwgc3ltYm9sLCAnaW50ZXJuYWwg
dmFsdWUgaXMgdGhlIHN5bWJvbCcpOworICAgIGFzc2VydCh0aGlzIGluc3RhbmNlb2YgU3ltYm9s
KTsKKyAgICBjYWxscy5wdXNoKCdsZW5ndGgnKTsKKyAgICByZXR1cm4gMTsKKyAgfQorfSk7CisK
K09iamVjdC5kZWZpbmVQcm9wZXJ0eShTeW1ib2wucHJvdG90eXBlLCAnMCcsIHsKKyAgZ2V0KCkg
eworICAgIGFzc2VydC5ub3RTYW1lVmFsdWUodGhpcywgc3ltYm9sLCAndGhpcyBpcyBhbiBvYmpl
Y3QgZnJvbSBnaXZlbiBzeW1ib2wnKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHRoaXMudmFsdWVP
ZigpLCBzeW1ib2wsICdpbnRlcm5hbCB2YWx1ZSBpcyB0aGUgc3ltYm9sJyk7CisgICAgYXNzZXJ0
KHRoaXMgaW5zdGFuY2VvZiBTeW1ib2wpOworICAgIGNhbGxzLnB1c2goJzAnKTsKKyAgICByZXR1
cm4gJ2VuJzsKKyAgfQorfSk7CisKK25ldyBJbnRsLkRpc3BsYXlOYW1lcyhzeW1ib2wpOworCith
c3NlcnQuY29tcGFyZUFycmF5KGNhbGxzLCBbJ2xlbmd0aCcsICcwJ10pOwpJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvbmFtZS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9uYW1lLmpzCShub25l
eGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL25h
bWUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtSW50bC5EaXNwbGF5TmFtZXMKK2Rlc2NyaXB0aW9uOiA+CisgIEludGwu
RGlzcGxheU5hbWVzLm5hbWUgaXMgIkRpc3BsYXlOYW1lcyIuCitpbmZvOiB8CisgIDE3IEVDTUFT
Y3JpcHQgU3RhbmRhcmQgQnVpbHQtaW4gT2JqZWN0czoKKworICBFdmVyeSBidWlsdC1pbiBGdW5j
dGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMsIHRoYXQgaXMgbm90CisgIGlkZW50
aWZpZWQgYXMgYW4gYW5vbnltb3VzIGZ1bmN0aW9uIGhhcyBhIG5hbWUgcHJvcGVydHkgd2hvc2Ug
dmFsdWUgaXMgYQorICBTdHJpbmcuCisKKyAgVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRo
ZSBuYW1lIHByb3BlcnR5IG9mIGEgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0LAorICBpZiBpdCBl
eGlzdHMsIGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVy
YWJsZV1dOgorICBmYWxzZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9LgoraW5jbHVkZXM6IFtw
cm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbSW50bC5EaXNwbGF5TmFtZXNdCistLS0qLwor
Cit2ZXJpZnlQcm9wZXJ0eShJbnRsLkRpc3BsYXlOYW1lcywgIm5hbWUiLCB7CisgIHZhbHVlOiAi
RGlzcGxheU5hbWVzIiwKKyAgd3JpdGFibGU6IGZhbHNlLAorICBlbnVtZXJhYmxlOiBmYWxzZSwK
KyAgY29uZmlndXJhYmxlOiB0cnVlLAorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9p
bnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLWZhbGxiYWNrLWFicnVwdC10aHJvd3MuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0
aW9ucy1mYWxsYmFjay1hYnJ1cHQtdGhyb3dzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtZmFsbGJhY2stYWJydXB0
LXRocm93cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ0IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1JbnRsLkRpc3BsYXlOYW1lcworZGVzY3JpcHRpb246ID4KKyAg
UmV0dXJuIGFicnVwdCBjb21wbGV0aW9uIGZyb20gR2V0T3B0aW9uIGZhbGxiYWNrCitpbmZvOiB8
CisgIEludGwuRGlzcGxheU5hbWVzIChbIGxvY2FsZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAgMS4g
SWYgTmV3VGFyZ2V0IGlzIHVuZGVmaW5lZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAyLiBMZXQgZGlzcGxheU5hbWVzIGJlID8gT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3Io
TmV3VGFyZ2V0LCAiJURpc3BsYXlOYW1lc1Byb3RvdHlwZSUiLAorICAgIMKrIFtbSW5pdGlhbGl6
ZWREaXNwbGF5TmFtZXNdXSwgW1tMb2NhbGVdXSwgW1tTdHlsZV1dLCBbW1R5cGVdXSwgW1tGYWxs
YmFja11dLCBbW0ZpZWxkc11dIMK7KS4KKyAgLi4uCisgIDQuIElmIG9wdGlvbnMgaXMgdW5kZWZp
bmVkLCB0aGVuCisgICAgYS4gTGV0IG9wdGlvbnMgYmUgT2JqZWN0Q3JlYXRlKG51bGwpLgorICA1
LiBFbHNlCisgICAgYS4gTGV0IG9wdGlvbnMgYmUgPyBUb09iamVjdChvcHRpb25zKS4KKyAgLi4u
CisgIDguIExldCBtYXRjaGVyIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJsb2NhbGVNYXRjaGVy
IiwgInN0cmluZyIsIMKrICJsb29rdXAiLCAiYmVzdCBmaXQiIMK7LCAiYmVzdCBmaXQiKS4KKyAg
Li4uCisgIDExLiBMZXQgc3R5bGUgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgInN0eWxlIiwgInN0
cmluZyIsIMKrICJuYXJyb3ciLCAic2hvcnQiLCAibG9uZyIgwrssICJsb25nIikuCisgIC4uLgor
ICAxMy4gTGV0IHR5cGUgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgInR5cGUiLCAic3RyaW5nIiwg
wqsgImxhbmd1YWdlIiwgInJlZ2lvbiIsICJzY3JpcHQiLCAiY3VycmVuY3kiLCAid2Vla2RheSIs
ICJtb250aCIsICJxdWFydGVyIiwgImRheVBlcmlvZCIsICJkYXRlVGltZUZpZWxkIiDCuywgImxh
bmd1YWdlIikuCisgIC4uLgorICAxNS4gTGV0IGZhbGxiYWNrIGJlID8gR2V0T3B0aW9uKG9wdGlv
bnMsICJmYWxsYmFjayIsICJzdHJpbmciLCDCqyAiY29kZSIsICJub25lIiDCuywgImNvZGUiKS4K
KyAgLi4uCisKKyAgR2V0T3B0aW9uICggb3B0aW9ucywgcHJvcGVydHksIHR5cGUsIHZhbHVlcywg
ZmFsbGJhY2sgKQorCisgIDEuIExldCB2YWx1ZSBiZSA/IEdldChvcHRpb25zLCBwcm9wZXJ0eSku
CisgIC4uLgorZmVhdHVyZXM6IFtJbnRsLkRpc3BsYXlOYW1lcywgU3ltYm9sXQorbG9jYWxlOiBb
ZW5dCistLS0qLworCit2YXIgb3B0aW9ucyA9IHt9OworT2JqZWN0LmRlZmluZVByb3BlcnR5KG9w
dGlvbnMsICdmYWxsYmFjaycsIHsKKyAgZ2V0KCkgeyB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7
IH0sCit9KTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IElu
dGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLWZhbGxiYWNrLWludmFsaWQtdGhy
b3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxh
eU5hbWVzL29wdGlvbnMtZmFsbGJhY2staW52YWxpZC10aHJvd3MuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1mYWxs
YmFjay1pbnZhbGlkLXRocm93cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDczIEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1JbnRsLkRpc3BsYXlOYW1lcworZGVzY3Jp
cHRpb246ID4KKyAgUmV0dXJuIGFicnVwdCBjb21wbGV0aW9uIGZyb20gYW4gaW52YWxpZCBmYWxs
YmFjayBvcHRpb24KK2luZm86IHwKKyAgSW50bC5EaXNwbGF5TmFtZXMgKFsgbG9jYWxlcyBbICwg
b3B0aW9ucyBdXSkKKworICAxLiBJZiBOZXdUYXJnZXQgaXMgdW5kZWZpbmVkLCB0aHJvdyBhIFR5
cGVFcnJvciBleGNlcHRpb24uCisgIDIuIExldCBkaXNwbGF5TmFtZXMgYmUgPyBPcmRpbmFyeUNy
ZWF0ZUZyb21Db25zdHJ1Y3RvcihOZXdUYXJnZXQsICIlRGlzcGxheU5hbWVzUHJvdG90eXBlJSIs
CisgICAgwqsgW1tJbml0aWFsaXplZERpc3BsYXlOYW1lc11dLCBbW0xvY2FsZV1dLCBbW1N0eWxl
XV0sIFtbVHlwZV1dLCBbW0ZhbGxiYWNrXV0sIFtbRmllbGRzXV0gwrspLgorICAuLi4KKyAgNC4g
SWYgb3B0aW9ucyBpcyB1bmRlZmluZWQsIHRoZW4KKyAgICBhLiBMZXQgb3B0aW9ucyBiZSBPYmpl
Y3RDcmVhdGUobnVsbCkuCisgIDUuIEVsc2UKKyAgICBhLiBMZXQgb3B0aW9ucyBiZSA/IFRvT2Jq
ZWN0KG9wdGlvbnMpLgorICAuLi4KKyAgOC4gTGV0IG1hdGNoZXIgYmUgPyBHZXRPcHRpb24ob3B0
aW9ucywgImxvY2FsZU1hdGNoZXIiLCAic3RyaW5nIiwgwqsgImxvb2t1cCIsICJiZXN0IGZpdCIg
wrssICJiZXN0IGZpdCIpLgorICAuLi4KKyAgMTEuIExldCBzdHlsZSBiZSA/IEdldE9wdGlvbihv
cHRpb25zLCAic3R5bGUiLCAic3RyaW5nIiwgwqsgIm5hcnJvdyIsICJzaG9ydCIsICJsb25nIiDC
uywgImxvbmciKS4KKyAgLi4uCisgIDEzLiBMZXQgdHlwZSBiZSA/IEdldE9wdGlvbihvcHRpb25z
LCAidHlwZSIsICJzdHJpbmciLCDCqyAibGFuZ3VhZ2UiLCAicmVnaW9uIiwgInNjcmlwdCIsICJj
dXJyZW5jeSIsICJ3ZWVrZGF5IiwgIm1vbnRoIiwgInF1YXJ0ZXIiLCAiZGF5UGVyaW9kIiwgImRh
dGVUaW1lRmllbGQiIMK7LCAibGFuZ3VhZ2UiKS4KKyAgLi4uCisgIDE1LiBMZXQgZmFsbGJhY2sg
YmUgPyBHZXRPcHRpb24ob3B0aW9ucywgImZhbGxiYWNrIiwgInN0cmluZyIsIMKrICJjb2RlIiwg
Im5vbmUiIMK7LCAiY29kZSIpLgorICAuLi4KKworICBHZXRPcHRpb24gKCBvcHRpb25zLCBwcm9w
ZXJ0eSwgdHlwZSwgdmFsdWVzLCBmYWxsYmFjayApCisKKyAgMS4gTGV0IHZhbHVlIGJlID8gR2V0
KG9wdGlvbnMsIHByb3BlcnR5KS4KKyAgMi4gSWYgdmFsdWUgaXMgbm90IHVuZGVmaW5lZCwgdGhl
bgorICAgIC4uLgorICAgIGMuIElmIHR5cGUgaXMgInN0cmluZyIsIHRoZW4KKyAgICAgIGkuIExl
dCB2YWx1ZSBiZSA/IFRvU3RyaW5nKHZhbHVlKS4KKyAgICBkLiBJZiB2YWx1ZXMgaXMgbm90IHVu
ZGVmaW5lZCwgdGhlbgorICAgICAgaS4gSWYgdmFsdWVzIGRvZXMgbm90IGNvbnRhaW4gYW4gZWxl
bWVudCBlcXVhbCB0byB2YWx1ZSwgdGhyb3cgYSBSYW5nZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4u
CitmZWF0dXJlczogW0ludGwuRGlzcGxheU5hbWVzXQorbG9jYWxlOiBbZW5dCistLS0qLworCit2
YXIgb3B0aW9ucyA9IHsKKyAgZmFsbGJhY2s6ICdlcnInCit9OworCithc3NlcnQudGhyb3dzKFJh
bmdlRXJyb3IsICgpID0+IHsKKyAgbmV3IEludGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMp
OworfSwgJ2VycicpOworCitvcHRpb25zLmZhbGxiYWNrID0gJ25vbic7CisKK2Fzc2VydC50aHJv
d3MoUmFuZ2VFcnJvciwgKCkgPT4geworICBuZXcgSW50bC5EaXNwbGF5TmFtZXMoJ2VuJywgb3B0
aW9ucyk7Cit9LCAnbm9uLCBub3Qgbm9uZScpOworCitvcHRpb25zLmZhbGxiYWNrID0gbnVsbDsK
KworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3BsYXlO
YW1lcygnZW4nLCBvcHRpb25zKTsKK30sICdudWxsJyk7CisKK29wdGlvbnMuZmFsbGJhY2sgPSAn
JzsKKworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3Bs
YXlOYW1lcygnZW4nLCBvcHRpb25zKTsKK30sICd0aGUgZW1wdHkgc3RyaW5nJyk7CisKK29wdGlv
bnMuZmFsbGJhY2sgPSBbJ2NvZGUnLCAnbm9uZSddOworCithc3NlcnQudGhyb3dzKFJhbmdlRXJy
b3IsICgpID0+IHsKKyAgbmV3IEludGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwg
J2FuIGFycmF5IHdpdGggdGhlIHZhbGlkIG9wdGlvbnMgaXMgbm90IG5lY2Vzc2FyaWx5IHZhbGlk
Jyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRp
b25zLWZhbGxiYWNrLXRvU3RyaW5nLWFicnVwdC10aHJvd3MuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1mYWxsYmFjay10
b1N0cmluZy1hYnJ1cHQtdGhyb3dzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtZmFsbGJhY2stdG9TdHJpbmctYWJy
dXB0LXRocm93cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcwIEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1JbnRsLkRpc3BsYXlOYW1lcworZGVzY3JpcHRpb246ID4K
KyAgUmV0dXJuIGFicnVwdCBjb21wbGV0aW9uIGZyb20gR2V0T3B0aW9uIGZhbGxiYWNrCitpbmZv
OiB8CisgIEludGwuRGlzcGxheU5hbWVzIChbIGxvY2FsZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAg
MS4gSWYgTmV3VGFyZ2V0IGlzIHVuZGVmaW5lZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9u
LgorICAyLiBMZXQgZGlzcGxheU5hbWVzIGJlID8gT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0
b3IoTmV3VGFyZ2V0LCAiJURpc3BsYXlOYW1lc1Byb3RvdHlwZSUiLAorICAgIMKrIFtbSW5pdGlh
bGl6ZWREaXNwbGF5TmFtZXNdXSwgW1tMb2NhbGVdXSwgW1tTdHlsZV1dLCBbW1R5cGVdXSwgW1tG
YWxsYmFja11dLCBbW0ZpZWxkc11dIMK7KS4KKyAgLi4uCisgIDQuIElmIG9wdGlvbnMgaXMgdW5k
ZWZpbmVkLCB0aGVuCisgICAgYS4gTGV0IG9wdGlvbnMgYmUgT2JqZWN0Q3JlYXRlKG51bGwpLgor
ICA1LiBFbHNlCisgICAgYS4gTGV0IG9wdGlvbnMgYmUgPyBUb09iamVjdChvcHRpb25zKS4KKyAg
Li4uCisgIDguIExldCBtYXRjaGVyIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJsb2NhbGVNYXRj
aGVyIiwgInN0cmluZyIsIMKrICJsb29rdXAiLCAiYmVzdCBmaXQiIMK7LCAiYmVzdCBmaXQiKS4K
KyAgLi4uCisgIDExLiBMZXQgc3R5bGUgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgInN0eWxlIiwg
InN0cmluZyIsIMKrICJuYXJyb3ciLCAic2hvcnQiLCAibG9uZyIgwrssICJsb25nIikuCisgIC4u
LgorCisgIEdldE9wdGlvbiAoIG9wdGlvbnMsIHByb3BlcnR5LCB0eXBlLCB2YWx1ZXMsIGZhbGxi
YWNrICkKKworICAxLiBMZXQgdmFsdWUgYmUgPyBHZXQob3B0aW9ucywgcHJvcGVydHkpLgorICAu
Li4KK2ZlYXR1cmVzOiBbSW50bC5EaXNwbGF5TmFtZXMsIFN5bWJvbF0KK2xvY2FsZTogW2VuXQor
LS0tKi8KKwordmFyIG9wdGlvbnMgPSB7CisgIGZhbGxiYWNrOiB7CisgICAgdG9TdHJpbmcoKSB7
CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgfQorICB9Cit9OworCithc3Nl
cnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgSW50bC5EaXNwbGF5TmFtZXMo
J2VuJywgb3B0aW9ucyk7Cit9LCAnZnJvbSB0b1N0cmluZycpOworCitvcHRpb25zLmZhbGxiYWNr
ID0geworICB0b1N0cmluZzogdW5kZWZpbmVkLAorICB2YWx1ZU9mKCkgeworICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoKTsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3Is
ICgpID0+IHsKKyAgbmV3IEludGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwgJ2Zy
b20gdmFsdWVPZicpOworCitvcHRpb25zLmZhbGxiYWNrID0geworICBbU3ltYm9sLnRvUHJpbWl0
aXZlXSgpIHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgIH0KK307CisKK2Fzc2Vy
dC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3BsYXlOYW1lcygn
ZW4nLCBvcHRpb25zKTsKK30sICdmcm9tIFRvUHJpbWl0aXZlJyk7CisKK29wdGlvbnMuZmFsbGJh
Y2sgPSBTeW1ib2woKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3
IEludGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwgJ3N5bWJvbCB2YWx1ZScpOwpJ
bmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1m
YWxsYmFjay12YWxpZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRs
NDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLWZhbGxiYWNrLXZhbGlkLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtZmFs
bGJhY2stdmFsaWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NCBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtSW50bC5EaXNwbGF5TmFtZXMKK2Rlc2NyaXB0aW9uOiA+
CisgIFZhbGlkIG9wdGlvbnMgZm9yIGZhbGxiYWNrCitpbmZvOiB8CisgIEludGwuRGlzcGxheU5h
bWVzIChbIGxvY2FsZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAgMS4gSWYgTmV3VGFyZ2V0IGlzIHVu
ZGVmaW5lZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAyLiBMZXQgZGlzcGxheU5h
bWVzIGJlID8gT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0LCAiJURpc3Bs
YXlOYW1lc1Byb3RvdHlwZSUiLAorICAgIMKrIFtbSW5pdGlhbGl6ZWREaXNwbGF5TmFtZXNdXSwg
W1tMb2NhbGVdXSwgW1tTdHlsZV1dLCBbW1R5cGVdXSwgW1tGYWxsYmFja11dLCBbW0ZpZWxkc11d
IMK7KS4KKyAgLi4uCisgIDQuIElmIG9wdGlvbnMgaXMgdW5kZWZpbmVkLCB0aGVuCisgICAgYS4g
TGV0IG9wdGlvbnMgYmUgT2JqZWN0Q3JlYXRlKG51bGwpLgorICA1LiBFbHNlCisgICAgYS4gTGV0
IG9wdGlvbnMgYmUgPyBUb09iamVjdChvcHRpb25zKS4KKyAgLi4uCisgIDguIExldCBtYXRjaGVy
IGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJsb2NhbGVNYXRjaGVyIiwgInN0cmluZyIsIMKrICJs
b29rdXAiLCAiYmVzdCBmaXQiIMK7LCAiYmVzdCBmaXQiKS4KKyAgLi4uCisgIDExLiBMZXQgc3R5
bGUgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgInN0eWxlIiwgInN0cmluZyIsIMKrICJuYXJyb3ci
LCAic2hvcnQiLCAibG9uZyIgwrssICJsb25nIikuCisgIC4uLgorICAxMy4gTGV0IHR5cGUgYmUg
PyBHZXRPcHRpb24ob3B0aW9ucywgInR5cGUiLCAic3RyaW5nIiwgwqsgImxhbmd1YWdlIiwgInJl
Z2lvbiIsICJzY3JpcHQiLCAiY3VycmVuY3kiLCAid2Vla2RheSIsICJtb250aCIsICJxdWFydGVy
IiwgImRheVBlcmlvZCIsICJkYXRlVGltZUZpZWxkIiDCuywgImxhbmd1YWdlIikuCisgIC4uLgor
ICAxNS4gTGV0IGZhbGxiYWNrIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJmYWxsYmFjayIsICJz
dHJpbmciLCDCqyAiY29kZSIsICJub25lIiDCuywgImNvZGUiKS4KKyAgLi4uCisKKyAgR2V0T3B0
aW9uICggb3B0aW9ucywgcHJvcGVydHksIHR5cGUsIHZhbHVlcywgZmFsbGJhY2sgKQorCisgIDEu
IExldCB2YWx1ZSBiZSA/IEdldChvcHRpb25zLCBwcm9wZXJ0eSkuCisgIC4uLgorZmVhdHVyZXM6
IFtJbnRsLkRpc3BsYXlOYW1lc10KK2xvY2FsZTogW2VuXQorLS0tKi8KKworLy8gcmVzdWx0cyBm
b3Igb3B0aW9uIHZhbHVlcyB2ZXJpZmllZCBpbiB0aGUgdGVzdHMgZm9yIHJlc29sdmVkT3B0aW9u
cworCit2YXIgdmFsdWVzID0gWworICB1bmRlZmluZWQsCisgICdjb2RlJywKKyAgJ25vbmUnCitd
OworCitmb3IgKGxldCB2YWxpZCBvZiB2YWx1ZXMpIHsKKyAgbGV0IG9wdGlvbnMgPSB7CisgICAg
ZmFsbGJhY2s6IHZhbGlkCisgIH07CisKKyAgdmFyIG9iaiA9IG5ldyBJbnRsLkRpc3BsYXlOYW1l
cygnZW4nLCBvcHRpb25zKTsKKworICBhc3NlcnQob2JqIGluc3RhbmNlb2YgSW50bC5EaXNwbGF5
TmFtZXMsIGBpbnN0YW5jZW9mIGNoZWNrIC0gJHt2YWxpZH1gKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSwgSW50bC5EaXNwbGF5TmFtZXMucHJvdG90eXBl
LCBgcHJvdG8gY2hlY2sgLSAke3ZhbGlkfWApOworfQpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1sb2NhbGVNYXRjaGVyLWFicnVwdC10aHJv
d3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5
TmFtZXMvb3B0aW9ucy1sb2NhbGVNYXRjaGVyLWFicnVwdC10aHJvd3MuanMJKG5vbmV4aXN0ZW50
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1s
b2NhbGVNYXRjaGVyLWFicnVwdC10aHJvd3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
NyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtSW50bC5EaXNwbGF5TmFtZXMK
K2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybiBhYnJ1cHQgY29tcGxldGlvbiBmcm9tIEdldE9wdGlv
biBsb2NhbGVNYXRjaGVyCitpbmZvOiB8CisgIEludGwuRGlzcGxheU5hbWVzIChbIGxvY2FsZXMg
WyAsIG9wdGlvbnMgXV0pCisKKyAgMS4gSWYgTmV3VGFyZ2V0IGlzIHVuZGVmaW5lZCwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAyLiBMZXQgZGlzcGxheU5hbWVzIGJlID8gT3JkaW5h
cnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0LCAiJURpc3BsYXlOYW1lc1Byb3RvdHlw
ZSUiLAorICAgIMKrIFtbSW5pdGlhbGl6ZWREaXNwbGF5TmFtZXNdXSwgW1tMb2NhbGVdXSwgW1tT
dHlsZV1dLCBbW1R5cGVdXSwgW1tGYWxsYmFja11dLCBbW0ZpZWxkc11dIMK7KS4KKyAgLi4uCisg
IDQuIElmIG9wdGlvbnMgaXMgdW5kZWZpbmVkLCB0aGVuCisgICAgYS4gTGV0IG9wdGlvbnMgYmUg
T2JqZWN0Q3JlYXRlKG51bGwpLgorICA1LiBFbHNlCisgICAgYS4gTGV0IG9wdGlvbnMgYmUgPyBU
b09iamVjdChvcHRpb25zKS4KKyAgLi4uCisgIDguIExldCBtYXRjaGVyIGJlID8gR2V0T3B0aW9u
KG9wdGlvbnMsICJsb2NhbGVNYXRjaGVyIiwgInN0cmluZyIsIMKrICJsb29rdXAiLCAiYmVzdCBm
aXQiIMK7LCAiYmVzdCBmaXQiKS4KKworICBHZXRPcHRpb24gKCBvcHRpb25zLCBwcm9wZXJ0eSwg
dHlwZSwgdmFsdWVzLCBmYWxsYmFjayApCisKKyAgMS4gTGV0IHZhbHVlIGJlID8gR2V0KG9wdGlv
bnMsIHByb3BlcnR5KS4KKyAgLi4uCitmZWF0dXJlczogW0ludGwuRGlzcGxheU5hbWVzXQorbG9j
YWxlOiBbZW5dCistLS0qLworCit2YXIgb3B0aW9ucyA9IHt9OworT2JqZWN0LmRlZmluZVByb3Bl
cnR5KG9wdGlvbnMsICdsb2NhbGVNYXRjaGVyJywgeworICBnZXQoKSB7IHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoKTsgfSwKK30pOworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4g
eworICBuZXcgSW50bC5EaXNwbGF5TmFtZXMoJ2VuJywgb3B0aW9ucyk7Cit9KTsKSW5kZXg6IEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtbG9jYWxlTWF0
Y2hlci1pbnZhbGlkLXRocm93cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLWxvY2FsZU1hdGNoZXItaW52YWxpZC10aHJv
d3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNw
bGF5TmFtZXMvb3B0aW9ucy1sb2NhbGVNYXRjaGVyLWludmFsaWQtdGhyb3dzLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNjcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVy
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2Vj
LUludGwuRGlzcGxheU5hbWVzCitkZXNjcmlwdGlvbjogPgorICBSZXR1cm4gYWJydXB0IGNvbXBs
ZXRpb24gZnJvbSBhbiBpbnZhbGlkIGxvY2FsZU1hdGNoZXIgb3B0aW9uCitpbmZvOiB8CisgIElu
dGwuRGlzcGxheU5hbWVzIChbIGxvY2FsZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAgMS4gSWYgTmV3
VGFyZ2V0IGlzIHVuZGVmaW5lZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAyLiBM
ZXQgZGlzcGxheU5hbWVzIGJlID8gT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFy
Z2V0LCAiJURpc3BsYXlOYW1lc1Byb3RvdHlwZSUiLAorICAgIMKrIFtbSW5pdGlhbGl6ZWREaXNw
bGF5TmFtZXNdXSwgW1tMb2NhbGVdXSwgW1tTdHlsZV1dLCBbW1R5cGVdXSwgW1tGYWxsYmFja11d
LCBbW0ZpZWxkc11dIMK7KS4KKyAgLi4uCisgIDQuIElmIG9wdGlvbnMgaXMgdW5kZWZpbmVkLCB0
aGVuCisgICAgYS4gTGV0IG9wdGlvbnMgYmUgT2JqZWN0Q3JlYXRlKG51bGwpLgorICA1LiBFbHNl
CisgICAgYS4gTGV0IG9wdGlvbnMgYmUgPyBUb09iamVjdChvcHRpb25zKS4KKyAgLi4uCisgIDgu
IExldCBtYXRjaGVyIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJsb2NhbGVNYXRjaGVyIiwgInN0
cmluZyIsIMKrICJsb29rdXAiLCAiYmVzdCBmaXQiIMK7LCAiYmVzdCBmaXQiKS4KKworICBHZXRP
cHRpb24gKCBvcHRpb25zLCBwcm9wZXJ0eSwgdHlwZSwgdmFsdWVzLCBmYWxsYmFjayApCisKKyAg
MS4gTGV0IHZhbHVlIGJlID8gR2V0KG9wdGlvbnMsIHByb3BlcnR5KS4KKyAgMi4gSWYgdmFsdWUg
aXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgIC4uLgorICAgIGMuIElmIHR5cGUgaXMgInN0cmlu
ZyIsIHRoZW4KKyAgICAgIGkuIExldCB2YWx1ZSBiZSA/IFRvU3RyaW5nKHZhbHVlKS4KKyAgICBk
LiBJZiB2YWx1ZXMgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgaS4gSWYgdmFsdWVzIGRv
ZXMgbm90IGNvbnRhaW4gYW4gZWxlbWVudCBlcXVhbCB0byB2YWx1ZSwgdGhyb3cgYSBSYW5nZUVy
cm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitmZWF0dXJlczogW0ludGwuRGlzcGxheU5hbWVzXQorbG9j
YWxlOiBbZW5dCistLS0qLworCit2YXIgb3B0aW9ucyA9IHsKKyAgbG9jYWxlTWF0Y2hlcjogJ2Jl
c3RmaXQnIC8vIG5vdCAiYmVzdCBmaXQiCit9OworCithc3NlcnQudGhyb3dzKFJhbmdlRXJyb3Is
ICgpID0+IHsKKyAgbmV3IEludGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwgJ2Jl
c3RmaXQnKTsKKworb3B0aW9ucy5sb2NhbGVNYXRjaGVyID0gJ2xvb2sgdXAnOworCithc3NlcnQu
dGhyb3dzKFJhbmdlRXJyb3IsICgpID0+IHsKKyAgbmV3IEludGwuRGlzcGxheU5hbWVzKCdlbics
IG9wdGlvbnMpOworfSwgJ2xvb2sgdXAnKTsKKworb3B0aW9ucy5sb2NhbGVNYXRjaGVyID0gbnVs
bDsKKworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3Bs
YXlOYW1lcygnZW4nLCBvcHRpb25zKTsKK30sICdudWxsJyk7CisKK29wdGlvbnMubG9jYWxlTWF0
Y2hlciA9ICcnOworCithc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsICgpID0+IHsKKyAgbmV3IElu
dGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwgJ3RoZSBlbXB0eSBzdHJpbmcnKTsK
KworLy8gVGhlIHdvcmxkIGNvdWxkIGJ1cm4KK29wdGlvbnMubG9jYWxlTWF0Y2hlciA9IFsnbG9v
a3VwJywgJ2Jlc3QgZml0J107CisKK2Fzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgKCkgPT4gewor
ICBuZXcgSW50bC5EaXNwbGF5TmFtZXMoJ2VuJywgb3B0aW9ucyk7Cit9LCAnYW4gYXJyYXkgd2l0
aCB0aGUgdmFsaWQgb3B0aW9ucyBpcyBub3QgbmVjZXNzYXJpbHkgdmFsaWQnKTsKSW5kZXg6IEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtbG9jYWxlTWF0
Y2hlci10b1N0cmluZy1hYnJ1cHQtdGhyb3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtbG9jYWxlTWF0Y2hlci10b1N0
cmluZy1hYnJ1cHQtdGhyb3dzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtbG9jYWxlTWF0Y2hlci10b1N0cmluZy1h
YnJ1cHQtdGhyb3dzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjcgQEAKKy8vIENvcHly
aWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLUludGwuRGlzcGxheU5hbWVzCitkZXNjcmlwdGlvbjog
PgorICBSZXR1cm4gYWJydXB0IGNvbXBsZXRpb24gZnJvbSBHZXRPcHRpb24gbG9jYWxlTWF0Y2hl
cgoraW5mbzogfAorICBJbnRsLkRpc3BsYXlOYW1lcyAoWyBsb2NhbGVzIFsgLCBvcHRpb25zIF1d
KQorCisgIDEuIElmIE5ld1RhcmdldCBpcyB1bmRlZmluZWQsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgMi4gTGV0IGRpc3BsYXlOYW1lcyBiZSA/IE9yZGluYXJ5Q3JlYXRlRnJvbUNv
bnN0cnVjdG9yKE5ld1RhcmdldCwgIiVEaXNwbGF5TmFtZXNQcm90b3R5cGUlIiwKKyAgICDCqyBb
W0luaXRpYWxpemVkRGlzcGxheU5hbWVzXV0sIFtbTG9jYWxlXV0sIFtbU3R5bGVdXSwgW1tUeXBl
XV0sIFtbRmFsbGJhY2tdXSwgW1tGaWVsZHNdXSDCuykuCisgIC4uLgorICA0LiBJZiBvcHRpb25z
IGlzIHVuZGVmaW5lZCwgdGhlbgorICAgIGEuIExldCBvcHRpb25zIGJlIE9iamVjdENyZWF0ZShu
dWxsKS4KKyAgNS4gRWxzZQorICAgIGEuIExldCBvcHRpb25zIGJlID8gVG9PYmplY3Qob3B0aW9u
cykuCisgIC4uLgorICA4LiBMZXQgbWF0Y2hlciBiZSA/IEdldE9wdGlvbihvcHRpb25zLCAibG9j
YWxlTWF0Y2hlciIsICJzdHJpbmciLCDCqyAibG9va3VwIiwgImJlc3QgZml0IiDCuywgImJlc3Qg
Zml0IikuCisKKyAgR2V0T3B0aW9uICggb3B0aW9ucywgcHJvcGVydHksIHR5cGUsIHZhbHVlcywg
ZmFsbGJhY2sgKQorCisgIDEuIExldCB2YWx1ZSBiZSA/IEdldChvcHRpb25zLCBwcm9wZXJ0eSku
CisgIC4uLgorZmVhdHVyZXM6IFtJbnRsLkRpc3BsYXlOYW1lcywgU3ltYm9sXQorbG9jYWxlOiBb
ZW5dCistLS0qLworCit2YXIgb3B0aW9ucyA9IHsKKyAgbG9jYWxlTWF0Y2hlcjogeworICAgIHRv
U3RyaW5nKCkgeworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICAgIH0KKyAgfQor
fTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IEludGwuRGlz
cGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwgJ2Zyb20gdG9TdHJpbmcnKTsKKworb3B0aW9u
cy5sb2NhbGVNYXRjaGVyID0geworICB0b1N0cmluZzogdW5kZWZpbmVkLAorICB2YWx1ZU9mKCkg
eworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93
cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IEludGwuRGlzcGxheU5hbWVzKCdlbicsIG9w
dGlvbnMpOworfSwgJ2Zyb20gdmFsdWVPZicpOworCitvcHRpb25zLmxvY2FsZU1hdGNoZXIgPSB7
CisgIFtTeW1ib2wudG9QcmltaXRpdmVdKCkgeworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
KTsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3
IEludGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwgJ2Zyb20gVG9QcmltaXRpdmUn
KTsKKworb3B0aW9ucy5sb2NhbGVNYXRjaGVyID0gU3ltYm9sKCk7CisKK2Fzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3BsYXlOYW1lcygnZW4nLCBvcHRpb25z
KTsKK30sICdzeW1ib2wgdmFsdWUnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0
MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtbG9jYWxlTWF0Y2hlci12YWxpZC5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLWxv
Y2FsZU1hdGNoZXItdmFsaWQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1sb2NhbGVNYXRjaGVyLXZhbGlkLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8g
QmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLUludGwuRGlzcGxheU5hbWVzCitkZXNjcmlwdGlvbjogPgorICBWYWxpZCBvcHRpb25z
IGZvciBsb2NhbGVNYXRjaGVyCitpbmZvOiB8CisgIEludGwuRGlzcGxheU5hbWVzIChbIGxvY2Fs
ZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAgMS4gSWYgTmV3VGFyZ2V0IGlzIHVuZGVmaW5lZCwgdGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAyLiBMZXQgZGlzcGxheU5hbWVzIGJlID8gT3Jk
aW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0LCAiJURpc3BsYXlOYW1lc1Byb3Rv
dHlwZSUiLAorICAgIMKrIFtbSW5pdGlhbGl6ZWREaXNwbGF5TmFtZXNdXSwgW1tMb2NhbGVdXSwg
W1tTdHlsZV1dLCBbW1R5cGVdXSwgW1tGYWxsYmFja11dLCBbW0ZpZWxkc11dIMK7KS4KKyAgLi4u
CisgIDQuIElmIG9wdGlvbnMgaXMgdW5kZWZpbmVkLCB0aGVuCisgICAgYS4gTGV0IG9wdGlvbnMg
YmUgT2JqZWN0Q3JlYXRlKG51bGwpLgorICA1LiBFbHNlCisgICAgYS4gTGV0IG9wdGlvbnMgYmUg
PyBUb09iamVjdChvcHRpb25zKS4KKyAgLi4uCisgIDguIExldCBtYXRjaGVyIGJlID8gR2V0T3B0
aW9uKG9wdGlvbnMsICJsb2NhbGVNYXRjaGVyIiwgInN0cmluZyIsIMKrICJsb29rdXAiLCAiYmVz
dCBmaXQiIMK7LCAiYmVzdCBmaXQiKS4KKyAgLi4uCisgIDExLiBMZXQgc3R5bGUgYmUgPyBHZXRP
cHRpb24ob3B0aW9ucywgInN0eWxlIiwgInN0cmluZyIsIMKrICJuYXJyb3ciLCAic2hvcnQiLCAi
bG9uZyIgwrssICJsb25nIikuCisgIC4uLgorICAxMy4gTGV0IHR5cGUgYmUgPyBHZXRPcHRpb24o
b3B0aW9ucywgInR5cGUiLCAic3RyaW5nIiwgwqsgImxhbmd1YWdlIiwgInJlZ2lvbiIsICJzY3Jp
cHQiLCAiY3VycmVuY3kiLCAid2Vla2RheSIsICJtb250aCIsICJxdWFydGVyIiwgImRheVBlcmlv
ZCIsICJkYXRlVGltZUZpZWxkIiDCuywgImxhbmd1YWdlIikuCisgIC4uLgorICAxNS4gTGV0IGZh
bGxiYWNrIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJmYWxsYmFjayIsICJzdHJpbmciLCDCqyAi
Y29kZSIsICJub25lIiDCuywgImNvZGUiKS4KKyAgLi4uCisKKyAgR2V0T3B0aW9uICggb3B0aW9u
cywgcHJvcGVydHksIHR5cGUsIHZhbHVlcywgZmFsbGJhY2sgKQorCisgIDEuIExldCB2YWx1ZSBi
ZSA/IEdldChvcHRpb25zLCBwcm9wZXJ0eSkuCisgIC4uLgorZmVhdHVyZXM6IFtJbnRsLkRpc3Bs
YXlOYW1lc10KK2xvY2FsZTogW2VuXQorLS0tKi8KKworLy8gcmVzdWx0cyBmb3Igb3B0aW9uIHZh
bHVlcyB2ZXJpZmllZCBpbiB0aGUgdGVzdHMgZm9yIHJlc29sdmVkT3B0aW9ucworCit2YXIgdmFs
dWVzID0gWworICB1bmRlZmluZWQsCisgICdsb29rdXAnLAorICAnYmVzdCBmaXQnCitdOworCitm
b3IgKGxldCB2YWxpZCBvZiB2YWx1ZXMpIHsKKyAgbGV0IG9wdGlvbnMgPSB7CisgICAgbG9jYWxl
TWF0Y2hlcjogdmFsaWQKKyAgfTsKKworICB2YXIgb2JqID0gbmV3IEludGwuRGlzcGxheU5hbWVz
KCdlbicsIG9wdGlvbnMpOworCisgIGFzc2VydChvYmogaW5zdGFuY2VvZiBJbnRsLkRpc3BsYXlO
YW1lcywgYGluc3RhbmNlb2YgY2hlY2sgLSAke3ZhbGlkfWApOworICBhc3NlcnQuc2FtZVZhbHVl
KE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopLCBJbnRsLkRpc3BsYXlOYW1lcy5wcm90b3R5cGUs
IGBwcm90byBjaGVjayAtICR7dmFsaWR9YCk7Cit9CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLW51bGwtdGhyb3dzLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtbnVs
bC10aHJvd3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQw
Mi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1udWxsLXRocm93cy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1JbnRsLkRpc3Bs
YXlOYW1lcworZGVzY3JpcHRpb246ID4KKyAgVGhyb3dzIFR5cGVFcnJvciBpZiBvcHRpb25zIGlz
IG51bGwKK2luZm86IHwKKyAgSW50bC5EaXNwbGF5TmFtZXMgKFsgbG9jYWxlcyBbICwgb3B0aW9u
cyBdXSkKKworICAxLiBJZiBOZXdUYXJnZXQgaXMgdW5kZWZpbmVkLCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCisgIDIuIExldCBkaXNwbGF5TmFtZXMgYmUgPyBPcmRpbmFyeUNyZWF0ZUZy
b21Db25zdHJ1Y3RvcihOZXdUYXJnZXQsICIlRGlzcGxheU5hbWVzUHJvdG90eXBlJSIsCisgICAg
wqsgW1tJbml0aWFsaXplZERpc3BsYXlOYW1lc11dLCBbW0xvY2FsZV1dLCBbW1N0eWxlXV0sIFtb
VHlwZV1dLCBbW0ZhbGxiYWNrXV0sIFtbRmllbGRzXV0gwrspLgorICAuLi4KKyAgNC4gSWYgb3B0
aW9ucyBpcyB1bmRlZmluZWQsIHRoZW4KKyAgICBhLiBMZXQgb3B0aW9ucyBiZSBPYmplY3RDcmVh
dGUobnVsbCkuCisgIDUuIEVsc2UKKyAgICBhLiBMZXQgb3B0aW9ucyBiZSA/IFRvT2JqZWN0KG9w
dGlvbnMpLgorICAuLi4KK2ZlYXR1cmVzOiBbSW50bC5EaXNwbGF5TmFtZXNdCitsb2NhbGU6IFtl
bl0KKy0tLSovCisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRs
LkRpc3BsYXlOYW1lcygnZW4nLCBudWxsKTsKK30sICdudWxsJyk7CkluZGV4OiBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLXJhbmRvbS1wcm9wZXJ0aWVz
LXVuY2hlY2tlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAy
L0Rpc3BsYXlOYW1lcy9vcHRpb25zLXJhbmRvbS1wcm9wZXJ0aWVzLXVuY2hlY2tlZC5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9v
cHRpb25zLXJhbmRvbS1wcm9wZXJ0aWVzLXVuY2hlY2tlZC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDU0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1JbnRsLkRpc3Bs
YXlOYW1lcworZGVzY3JpcHRpb246ID4KKyAgUmFuZG9tIG9wdGlvbnMgYXJlIG5vdCBjaGVja2Vk
IG9yIHVzZWQsIGluY2x1ZGluZyBjYXNlIHNlbnNpdGl2ZQoraW5mbzogfAorICBJbnRsLkRpc3Bs
YXlOYW1lcyAoWyBsb2NhbGVzIFsgLCBvcHRpb25zIF1dKQorCisgIDEuIElmIE5ld1RhcmdldCBp
cyB1bmRlZmluZWQsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgMi4gTGV0IGRpc3Bs
YXlOYW1lcyBiZSA/IE9yZGluYXJ5Q3JlYXRlRnJvbUNvbnN0cnVjdG9yKE5ld1RhcmdldCwgIiVE
aXNwbGF5TmFtZXNQcm90b3R5cGUlIiwKKyAgICDCqyBbW0luaXRpYWxpemVkRGlzcGxheU5hbWVz
XV0sIFtbTG9jYWxlXV0sIFtbU3R5bGVdXSwgW1tUeXBlXV0sIFtbRmFsbGJhY2tdXSwgW1tGaWVs
ZHNdXSDCuykuCisgIC4uLgorICA0LiBJZiBvcHRpb25zIGlzIHVuZGVmaW5lZCwgdGhlbgorICAg
IGEuIExldCBvcHRpb25zIGJlIE9iamVjdENyZWF0ZShudWxsKS4KKyAgNS4gRWxzZQorICAgIGEu
IExldCBvcHRpb25zIGJlID8gVG9PYmplY3Qob3B0aW9ucykuCisgIC4uLgorICA4LiBMZXQgbWF0
Y2hlciBiZSA/IEdldE9wdGlvbihvcHRpb25zLCAibG9jYWxlTWF0Y2hlciIsICJzdHJpbmciLCDC
qyAibG9va3VwIiwgImJlc3QgZml0IiDCuywgImJlc3QgZml0IikuCisgIC4uLgorICAxMS4gTGV0
IHN0eWxlIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJzdHlsZSIsICJzdHJpbmciLCDCqyAibmFy
cm93IiwgInNob3J0IiwgImxvbmciIMK7LCAibG9uZyIpLgorICAuLi4KKyAgMTMuIExldCB0eXBl
IGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJ0eXBlIiwgInN0cmluZyIsIMKrICJsYW5ndWFnZSIs
ICJyZWdpb24iLCAic2NyaXB0IiwgImN1cnJlbmN5IiwgIndlZWtkYXkiLCAibW9udGgiLCAicXVh
cnRlciIsICJkYXlQZXJpb2QiLCAiZGF0ZVRpbWVGaWVsZCIgwrssICJsYW5ndWFnZSIpLgorICAu
Li4KKyAgMTUuIExldCBmYWxsYmFjayBiZSA/IEdldE9wdGlvbihvcHRpb25zLCAiZmFsbGJhY2si
LCAic3RyaW5nIiwgwqsgImNvZGUiLCAibm9uZSIgwrssICJjb2RlIikuCisgIC4uLgorCisgIEdl
dE9wdGlvbiAoIG9wdGlvbnMsIHByb3BlcnR5LCB0eXBlLCB2YWx1ZXMsIGZhbGxiYWNrICkKKwor
ICAxLiBMZXQgdmFsdWUgYmUgPyBHZXQob3B0aW9ucywgcHJvcGVydHkpLgorICAuLi4KK2ZlYXR1
cmVzOiBbSW50bC5EaXNwbGF5TmFtZXNdCitsb2NhbGU6IFtlbl0KKy0tLSovCisKK3ZhciBvcHRp
b25zID0ge307CitPYmplY3QuZGVmaW5lUHJvcGVydHkob3B0aW9ucywgJ2ZhbGxCYWNrJywgewor
ICBnZXQoKSB7IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsgfQorfSk7CitPYmplY3QuZGVmaW5l
UHJvcGVydHkob3B0aW9ucywgJ2xvY2FsZW1hdGNoZXInLCB7CisgIGdldCgpIHsgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigpOyB9Cit9KTsKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRpb25zLCAn
bG9jYWxlLW1hdGNoZXInLCB7CisgIGdldCgpIHsgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOyB9
Cit9KTsKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRpb25zLCAnVHlwZScsIHsKKyAgZ2V0KCkg
eyB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7IH0KK30pOworCit2YXIgb2JqID0gbmV3IEludGwu
RGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworCithc3NlcnQob2JqIGluc3RhbmNlb2YgSW50
bC5EaXNwbGF5TmFtZXMpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
b2JqKSwgSW50bC5EaXNwbGF5TmFtZXMucHJvdG90eXBlKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtc3R5bGUtYWJydXB0LXRocm93cy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1l
cy9vcHRpb25zLXN0eWxlLWFicnVwdC10aHJvd3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1zdHlsZS1hYnJ1cHQt
dGhyb3dzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZXNpZDogc2VjLUludGwuRGlzcGxheU5hbWVzCitkZXNjcmlwdGlvbjogPgorICBS
ZXR1cm4gYWJydXB0IGNvbXBsZXRpb24gZnJvbSBHZXRPcHRpb24gc3R5bGUKK2luZm86IHwKKyAg
SW50bC5EaXNwbGF5TmFtZXMgKFsgbG9jYWxlcyBbICwgb3B0aW9ucyBdXSkKKworICAxLiBJZiBO
ZXdUYXJnZXQgaXMgdW5kZWZpbmVkLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDIu
IExldCBkaXNwbGF5TmFtZXMgYmUgPyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvcihOZXdU
YXJnZXQsICIlRGlzcGxheU5hbWVzUHJvdG90eXBlJSIsCisgICAgwqsgW1tJbml0aWFsaXplZERp
c3BsYXlOYW1lc11dLCBbW0xvY2FsZV1dLCBbW1N0eWxlXV0sIFtbVHlwZV1dLCBbW0ZhbGxiYWNr
XV0sIFtbRmllbGRzXV0gwrspLgorICAuLi4KKyAgNC4gSWYgb3B0aW9ucyBpcyB1bmRlZmluZWQs
IHRoZW4KKyAgICBhLiBMZXQgb3B0aW9ucyBiZSBPYmplY3RDcmVhdGUobnVsbCkuCisgIDUuIEVs
c2UKKyAgICBhLiBMZXQgb3B0aW9ucyBiZSA/IFRvT2JqZWN0KG9wdGlvbnMpLgorICAuLi4KKyAg
OC4gTGV0IG1hdGNoZXIgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgImxvY2FsZU1hdGNoZXIiLCAi
c3RyaW5nIiwgwqsgImxvb2t1cCIsICJiZXN0IGZpdCIgwrssICJiZXN0IGZpdCIpLgorICAuLi4K
KyAgMTEuIExldCBzdHlsZSBiZSA/IEdldE9wdGlvbihvcHRpb25zLCAic3R5bGUiLCAic3RyaW5n
IiwgwqsgIm5hcnJvdyIsICJzaG9ydCIsICJsb25nIiDCuywgImxvbmciKS4KKyAgLi4uCisgIDEz
LiBMZXQgdHlwZSBiZSA/IEdldE9wdGlvbihvcHRpb25zLCAidHlwZSIsICJzdHJpbmciLCDCqyAi
bGFuZ3VhZ2UiLCAicmVnaW9uIiwgInNjcmlwdCIsICJjdXJyZW5jeSIsICJ3ZWVrZGF5IiwgIm1v
bnRoIiwgInF1YXJ0ZXIiLCAiZGF5UGVyaW9kIiwgImRhdGVUaW1lRmllbGQiIMK7LCAibGFuZ3Vh
Z2UiKS4KKyAgLi4uCisgIDE1LiBMZXQgZmFsbGJhY2sgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywg
ImZhbGxiYWNrIiwgInN0cmluZyIsIMKrICJjb2RlIiwgIm5vbmUiIMK7LCAiY29kZSIpLgorICAu
Li4KKworICBHZXRPcHRpb24gKCBvcHRpb25zLCBwcm9wZXJ0eSwgdHlwZSwgdmFsdWVzLCBmYWxs
YmFjayApCisKKyAgMS4gTGV0IHZhbHVlIGJlID8gR2V0KG9wdGlvbnMsIHByb3BlcnR5KS4KKyAg
Li4uCitmZWF0dXJlczogW0ludGwuRGlzcGxheU5hbWVzXQorbG9jYWxlOiBbZW5dCistLS0qLwor
Cit2YXIgb3B0aW9ucyA9IHt9OworT2JqZWN0LmRlZmluZVByb3BlcnR5KG9wdGlvbnMsICdzdHls
ZScsIHsKKyAgZ2V0KCkgeyB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7IH0sCit9KTsKKworYXNz
ZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IEludGwuRGlzcGxheU5hbWVz
KCdlbicsIG9wdGlvbnMpOworfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAy
L0Rpc3BsYXlOYW1lcy9vcHRpb25zLXN0eWxlLWludmFsaWQtdGhyb3dzLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtc3R5
bGUtaW52YWxpZC10aHJvd3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1zdHlsZS1pbnZhbGlkLXRocm93cy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDc1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVv
IEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Vz
aWQ6IHNlYy1JbnRsLkRpc3BsYXlOYW1lcworZGVzY3JpcHRpb246ID4KKyAgUmV0dXJuIGFicnVw
dCBjb21wbGV0aW9uIGZyb20gYW4gaW52YWxpZCBzdHlsZSBvcHRpb24KK2luZm86IHwKKyAgSW50
bC5EaXNwbGF5TmFtZXMgKFsgbG9jYWxlcyBbICwgb3B0aW9ucyBdXSkKKworICAxLiBJZiBOZXdU
YXJnZXQgaXMgdW5kZWZpbmVkLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDIuIExl
dCBkaXNwbGF5TmFtZXMgYmUgPyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvcihOZXdUYXJn
ZXQsICIlRGlzcGxheU5hbWVzUHJvdG90eXBlJSIsCisgICAgwqsgW1tJbml0aWFsaXplZERpc3Bs
YXlOYW1lc11dLCBbW0xvY2FsZV1dLCBbW1N0eWxlXV0sIFtbVHlwZV1dLCBbW0ZhbGxiYWNrXV0s
IFtbRmllbGRzXV0gwrspLgorICAuLi4KKyAgNC4gSWYgb3B0aW9ucyBpcyB1bmRlZmluZWQsIHRo
ZW4KKyAgICBhLiBMZXQgb3B0aW9ucyBiZSBPYmplY3RDcmVhdGUobnVsbCkuCisgIDUuIEVsc2UK
KyAgICBhLiBMZXQgb3B0aW9ucyBiZSA/IFRvT2JqZWN0KG9wdGlvbnMpLgorICAuLi4KKyAgOC4g
TGV0IG1hdGNoZXIgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgImxvY2FsZU1hdGNoZXIiLCAic3Ry
aW5nIiwgwqsgImxvb2t1cCIsICJiZXN0IGZpdCIgwrssICJiZXN0IGZpdCIpLgorICAuLi4KKyAg
MTEuIExldCBzdHlsZSBiZSA/IEdldE9wdGlvbihvcHRpb25zLCAic3R5bGUiLCAic3RyaW5nIiwg
wqsgIm5hcnJvdyIsICJzaG9ydCIsICJsb25nIiDCuywgImxvbmciKS4KKyAgLi4uCisKKyAgR2V0
T3B0aW9uICggb3B0aW9ucywgcHJvcGVydHksIHR5cGUsIHZhbHVlcywgZmFsbGJhY2sgKQorCisg
IDEuIExldCB2YWx1ZSBiZSA/IEdldChvcHRpb25zLCBwcm9wZXJ0eSkuCisgIDIuIElmIHZhbHVl
IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAuLi4KKyAgICBjLiBJZiB0eXBlIGlzICJzdHJp
bmciLCB0aGVuCisgICAgICBpLiBMZXQgdmFsdWUgYmUgPyBUb1N0cmluZyh2YWx1ZSkuCisgICAg
ZC4gSWYgdmFsdWVzIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgIGkuIElmIHZhbHVlcyBk
b2VzIG5vdCBjb250YWluIGFuIGVsZW1lbnQgZXF1YWwgdG8gdmFsdWUsIHRocm93IGEgUmFuZ2VF
cnJvciBleGNlcHRpb24uCisgIC4uLgorZmVhdHVyZXM6IFtJbnRsLkRpc3BsYXlOYW1lc10KK2xv
Y2FsZTogW2VuXQorLS0tKi8KKwordmFyIG9wdGlvbnMgPSB7CisgIHN0eWxlOiAnc21hbGwnCit9
OworCithc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsICgpID0+IHsKKyAgbmV3IEludGwuRGlzcGxh
eU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwgJ3NtYWxsJyk7CisKK29wdGlvbnMuc3R5bGUgPSAn
dmVyeSBsb25nJzsKKworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiB7CisgIG5ldyBJ
bnRsLkRpc3BsYXlOYW1lcygnZW4nLCBvcHRpb25zKTsKK30sICd2ZXJ5IGxvbmcnKTsKKworb3B0
aW9ucy5zdHlsZSA9ICdmdWxsJzsKKworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiB7
CisgIG5ldyBJbnRsLkRpc3BsYXlOYW1lcygnZW4nLCBvcHRpb25zKTsKK30sICdmdWxsJyk7CisK
K29wdGlvbnMuc3R5bGUgPSBudWxsOworCithc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsICgpID0+
IHsKKyAgbmV3IEludGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwgJ251bGwnKTsK
Kworb3B0aW9ucy5zdHlsZSA9ICcnOworCithc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsICgpID0+
IHsKKyAgbmV3IEludGwuRGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwgJ3RoZSBlbXB0
eSBzdHJpbmcnKTsKKworb3B0aW9ucy5zdHlsZSA9IFsnbmFycm93JywgJ3Nob3J0JywgJ2xvbmcn
XTsKKworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3Bs
YXlOYW1lcygnZW4nLCBvcHRpb25zKTsKK30sICdhbiBhcnJheSB3aXRoIHRoZSB2YWxpZCBvcHRp
b25zIGlzIG5vdCBuZWNlc3NhcmlseSB2YWxpZCcpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1zdHlsZS10b1N0cmluZy1hYnJ1cHQtdGhy
b3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxh
eU5hbWVzL29wdGlvbnMtc3R5bGUtdG9TdHJpbmctYWJydXB0LXRocm93cy5qcwkobm9uZXhpc3Rl
bnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25z
LXN0eWxlLXRvU3RyaW5nLWFicnVwdC10aHJvd3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw3MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtSW50bC5EaXNwbGF5TmFt
ZXMKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybiBhYnJ1cHQgY29tcGxldGlvbiBmcm9tIEdldE9w
dGlvbiBzdHlsZQoraW5mbzogfAorICBJbnRsLkRpc3BsYXlOYW1lcyAoWyBsb2NhbGVzIFsgLCBv
cHRpb25zIF1dKQorCisgIDEuIElmIE5ld1RhcmdldCBpcyB1bmRlZmluZWQsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgMi4gTGV0IGRpc3BsYXlOYW1lcyBiZSA/IE9yZGluYXJ5Q3Jl
YXRlRnJvbUNvbnN0cnVjdG9yKE5ld1RhcmdldCwgIiVEaXNwbGF5TmFtZXNQcm90b3R5cGUlIiwK
KyAgICDCqyBbW0luaXRpYWxpemVkRGlzcGxheU5hbWVzXV0sIFtbTG9jYWxlXV0sIFtbU3R5bGVd
XSwgW1tUeXBlXV0sIFtbRmFsbGJhY2tdXSwgW1tGaWVsZHNdXSDCuykuCisgIC4uLgorICA0LiBJ
ZiBvcHRpb25zIGlzIHVuZGVmaW5lZCwgdGhlbgorICAgIGEuIExldCBvcHRpb25zIGJlIE9iamVj
dENyZWF0ZShudWxsKS4KKyAgNS4gRWxzZQorICAgIGEuIExldCBvcHRpb25zIGJlID8gVG9PYmpl
Y3Qob3B0aW9ucykuCisgIC4uLgorICA4LiBMZXQgbWF0Y2hlciBiZSA/IEdldE9wdGlvbihvcHRp
b25zLCAibG9jYWxlTWF0Y2hlciIsICJzdHJpbmciLCDCqyAibG9va3VwIiwgImJlc3QgZml0IiDC
uywgImJlc3QgZml0IikuCisgIC4uLgorICAxMS4gTGV0IHN0eWxlIGJlID8gR2V0T3B0aW9uKG9w
dGlvbnMsICJzdHlsZSIsICJzdHJpbmciLCDCqyAibmFycm93IiwgInNob3J0IiwgImxvbmciIMK7
LCAibG9uZyIpLgorICAuLi4KKworICBHZXRPcHRpb24gKCBvcHRpb25zLCBwcm9wZXJ0eSwgdHlw
ZSwgdmFsdWVzLCBmYWxsYmFjayApCisKKyAgMS4gTGV0IHZhbHVlIGJlID8gR2V0KG9wdGlvbnMs
IHByb3BlcnR5KS4KKyAgLi4uCitmZWF0dXJlczogW0ludGwuRGlzcGxheU5hbWVzLCBTeW1ib2xd
Citsb2NhbGU6IFtlbl0KKy0tLSovCisKK3ZhciBvcHRpb25zID0geworICBzdHlsZTogeworICAg
IHRvU3RyaW5nKCkgeworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICAgIH0KKyAg
fQorfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IEludGwu
RGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwgJ2Zyb20gdG9TdHJpbmcnKTsKKworb3B0
aW9ucy5zdHlsZSA9IHsKKyAgdG9TdHJpbmc6IHVuZGVmaW5lZCwKKyAgdmFsdWVPZigpIHsKKyAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgIH0KK307CisKK2Fzc2VydC50aHJvd3MoVGVz
dDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3BsYXlOYW1lcygnZW4nLCBvcHRpb25z
KTsKK30sICdmcm9tIHZhbHVlT2YnKTsKKworb3B0aW9ucy5zdHlsZSA9IHsKKyAgW1N5bWJvbC50
b1ByaW1pdGl2ZV0oKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICB9Cit9Owor
Cithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgSW50bC5EaXNwbGF5
TmFtZXMoJ2VuJywgb3B0aW9ucyk7Cit9LCAnZnJvbSBUb1ByaW1pdGl2ZScpOworCitvcHRpb25z
LnN0eWxlID0gU3ltYm9sKCk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7Cisg
IG5ldyBJbnRsLkRpc3BsYXlOYW1lcygnZW4nLCBvcHRpb25zKTsKK30sICdzeW1ib2wgdmFsdWUn
KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlv
bnMtc3R5bGUtdmFsaWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50
bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy1zdHlsZS12YWxpZC5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLXN0eWxl
LXZhbGlkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZXNpZDogc2VjLUludGwuRGlzcGxheU5hbWVzCitkZXNjcmlwdGlvbjogPgorICBW
YWxpZCBvcHRpb25zIGZvciBsb2NhbGVNYXRjaGVyCitpbmZvOiB8CisgIEludGwuRGlzcGxheU5h
bWVzIChbIGxvY2FsZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAgMS4gSWYgTmV3VGFyZ2V0IGlzIHVu
ZGVmaW5lZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAyLiBMZXQgZGlzcGxheU5h
bWVzIGJlID8gT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0LCAiJURpc3Bs
YXlOYW1lc1Byb3RvdHlwZSUiLAorICAgIMKrIFtbSW5pdGlhbGl6ZWREaXNwbGF5TmFtZXNdXSwg
W1tMb2NhbGVdXSwgW1tTdHlsZV1dLCBbW1R5cGVdXSwgW1tGYWxsYmFja11dLCBbW0ZpZWxkc11d
IMK7KS4KKyAgLi4uCisgIDQuIElmIG9wdGlvbnMgaXMgdW5kZWZpbmVkLCB0aGVuCisgICAgYS4g
TGV0IG9wdGlvbnMgYmUgT2JqZWN0Q3JlYXRlKG51bGwpLgorICA1LiBFbHNlCisgICAgYS4gTGV0
IG9wdGlvbnMgYmUgPyBUb09iamVjdChvcHRpb25zKS4KKyAgLi4uCisgIDguIExldCBtYXRjaGVy
IGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJsb2NhbGVNYXRjaGVyIiwgInN0cmluZyIsIMKrICJs
b29rdXAiLCAiYmVzdCBmaXQiIMK7LCAiYmVzdCBmaXQiKS4KKyAgLi4uCisgIDExLiBMZXQgc3R5
bGUgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgInN0eWxlIiwgInN0cmluZyIsIMKrICJuYXJyb3ci
LCAic2hvcnQiLCAibG9uZyIgwrssICJsb25nIikuCisgIC4uLgorICAxMy4gTGV0IHR5cGUgYmUg
PyBHZXRPcHRpb24ob3B0aW9ucywgInR5cGUiLCAic3RyaW5nIiwgwqsgImxhbmd1YWdlIiwgInJl
Z2lvbiIsICJzY3JpcHQiLCAiY3VycmVuY3kiLCAid2Vla2RheSIsICJtb250aCIsICJxdWFydGVy
IiwgImRheVBlcmlvZCIsICJkYXRlVGltZUZpZWxkIiDCuywgImxhbmd1YWdlIikuCisgIC4uLgor
ICAxNS4gTGV0IGZhbGxiYWNrIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJmYWxsYmFjayIsICJz
dHJpbmciLCDCqyAiY29kZSIsICJub25lIiDCuywgImNvZGUiKS4KKyAgLi4uCisKKyAgR2V0T3B0
aW9uICggb3B0aW9ucywgcHJvcGVydHksIHR5cGUsIHZhbHVlcywgZmFsbGJhY2sgKQorCisgIDEu
IExldCB2YWx1ZSBiZSA/IEdldChvcHRpb25zLCBwcm9wZXJ0eSkuCisgIC4uLgorZmVhdHVyZXM6
IFtJbnRsLkRpc3BsYXlOYW1lc10KK2xvY2FsZTogW2VuXQorLS0tKi8KKworLy8gcmVzdWx0cyBm
b3Igb3B0aW9uIHZhbHVlcyB2ZXJpZmllZCBpbiB0aGUgdGVzdHMgZm9yIHJlc29sdmVkT3B0aW9u
cworCit2YXIgdmFsdWVzID0gWworICB1bmRlZmluZWQsCisgICduYXJyb3cnLAorICAnc2hvcnQn
LAorICAnbG9uZycKK107CisKK2ZvciAobGV0IHZhbGlkIG9mIHZhbHVlcykgeworICBsZXQgb3B0
aW9ucyA9IHsKKyAgICBzdHlsZTogdmFsaWQKKyAgfTsKKworICB2YXIgb2JqID0gbmV3IEludGwu
RGlzcGxheU5hbWVzKCdlbicsIG9wdGlvbnMpOworCisgIGFzc2VydChvYmogaW5zdGFuY2VvZiBJ
bnRsLkRpc3BsYXlOYW1lcywgYGluc3RhbmNlb2YgY2hlY2sgLSAke3ZhbGlkfWApOworICBhc3Nl
cnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopLCBJbnRsLkRpc3BsYXlOYW1l
cy5wcm90b3R5cGUsIGBwcm90byBjaGVjayAtICR7dmFsaWR9YCk7Cit9CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLXR5cGUtYWJydXB0LXRo
cm93cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3Bs
YXlOYW1lcy9vcHRpb25zLXR5cGUtYWJydXB0LXRocm93cy5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLXR5cGUtYWJy
dXB0LXRocm93cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ0IEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1JbnRsLkRpc3BsYXlOYW1lcworZGVzY3JpcHRpb246ID4K
KyAgUmV0dXJuIGFicnVwdCBjb21wbGV0aW9uIGZyb20gR2V0T3B0aW9uIHR5cGUKK2luZm86IHwK
KyAgSW50bC5EaXNwbGF5TmFtZXMgKFsgbG9jYWxlcyBbICwgb3B0aW9ucyBdXSkKKworICAxLiBJ
ZiBOZXdUYXJnZXQgaXMgdW5kZWZpbmVkLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisg
IDIuIExldCBkaXNwbGF5TmFtZXMgYmUgPyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvcihO
ZXdUYXJnZXQsICIlRGlzcGxheU5hbWVzUHJvdG90eXBlJSIsCisgICAgwqsgW1tJbml0aWFsaXpl
ZERpc3BsYXlOYW1lc11dLCBbW0xvY2FsZV1dLCBbW1N0eWxlXV0sIFtbVHlwZV1dLCBbW0ZhbGxi
YWNrXV0sIFtbRmllbGRzXV0gwrspLgorICAuLi4KKyAgNC4gSWYgb3B0aW9ucyBpcyB1bmRlZmlu
ZWQsIHRoZW4KKyAgICBhLiBMZXQgb3B0aW9ucyBiZSBPYmplY3RDcmVhdGUobnVsbCkuCisgIDUu
IEVsc2UKKyAgICBhLiBMZXQgb3B0aW9ucyBiZSA/IFRvT2JqZWN0KG9wdGlvbnMpLgorICAuLi4K
KyAgOC4gTGV0IG1hdGNoZXIgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgImxvY2FsZU1hdGNoZXIi
LCAic3RyaW5nIiwgwqsgImxvb2t1cCIsICJiZXN0IGZpdCIgwrssICJiZXN0IGZpdCIpLgorICAu
Li4KKyAgMTEuIExldCBzdHlsZSBiZSA/IEdldE9wdGlvbihvcHRpb25zLCAic3R5bGUiLCAic3Ry
aW5nIiwgwqsgIm5hcnJvdyIsICJzaG9ydCIsICJsb25nIiDCuywgImxvbmciKS4KKyAgLi4uCisg
IDEzLiBMZXQgdHlwZSBiZSA/IEdldE9wdGlvbihvcHRpb25zLCAidHlwZSIsICJzdHJpbmciLCDC
qyAibGFuZ3VhZ2UiLCAicmVnaW9uIiwgInNjcmlwdCIsICJjdXJyZW5jeSIsICJ3ZWVrZGF5Iiwg
Im1vbnRoIiwgInF1YXJ0ZXIiLCAiZGF5UGVyaW9kIiwgImRhdGVUaW1lRmllbGQiIMK7LCAibGFu
Z3VhZ2UiKS4KKyAgLi4uCisgIDE1LiBMZXQgZmFsbGJhY2sgYmUgPyBHZXRPcHRpb24ob3B0aW9u
cywgImZhbGxiYWNrIiwgInN0cmluZyIsIMKrICJjb2RlIiwgIm5vbmUiIMK7LCAiY29kZSIpLgor
ICAuLi4KKworICBHZXRPcHRpb24gKCBvcHRpb25zLCBwcm9wZXJ0eSwgdHlwZSwgdmFsdWVzLCBm
YWxsYmFjayApCisKKyAgMS4gTGV0IHZhbHVlIGJlID8gR2V0KG9wdGlvbnMsIHByb3BlcnR5KS4K
KyAgLi4uCitmZWF0dXJlczogW0ludGwuRGlzcGxheU5hbWVzXQorbG9jYWxlOiBbZW5dCistLS0q
LworCit2YXIgb3B0aW9ucyA9IHt9OworT2JqZWN0LmRlZmluZVByb3BlcnR5KG9wdGlvbnMsICd0
eXBlJywgeworICBnZXQoKSB7IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsgfSwKK30pOworCith
c3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgSW50bC5EaXNwbGF5TmFt
ZXMoJ2VuJywgb3B0aW9ucyk7Cit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0
MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtdHlwZS1pbnZhbGlkLXRocm93cy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25zLXR5
cGUtaW52YWxpZC10aHJvd3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvb3B0aW9ucy10eXBlLWludmFsaWQtdGhyb3dzLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8g
QmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLUludGwuRGlzcGxheU5hbWVzCitkZXNjcmlwdGlvbjogPgorICBSZXR1cm4gYWJydXB0
IGNvbXBsZXRpb24gZnJvbSBhbiBpbnZhbGlkIHR5cGUgb3B0aW9uCitpbmZvOiB8CisgIEludGwu
RGlzcGxheU5hbWVzIChbIGxvY2FsZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAgMS4gSWYgTmV3VGFy
Z2V0IGlzIHVuZGVmaW5lZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAyLiBMZXQg
ZGlzcGxheU5hbWVzIGJlID8gT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0
LCAiJURpc3BsYXlOYW1lc1Byb3RvdHlwZSUiLAorICAgIMKrIFtbSW5pdGlhbGl6ZWREaXNwbGF5
TmFtZXNdXSwgW1tMb2NhbGVdXSwgW1tTdHlsZV1dLCBbW1R5cGVdXSwgW1tGYWxsYmFja11dLCBb
W0ZpZWxkc11dIMK7KS4KKyAgLi4uCisgIDQuIElmIG9wdGlvbnMgaXMgdW5kZWZpbmVkLCB0aGVu
CisgICAgYS4gTGV0IG9wdGlvbnMgYmUgT2JqZWN0Q3JlYXRlKG51bGwpLgorICA1LiBFbHNlCisg
ICAgYS4gTGV0IG9wdGlvbnMgYmUgPyBUb09iamVjdChvcHRpb25zKS4KKyAgLi4uCisgIDguIExl
dCBtYXRjaGVyIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJsb2NhbGVNYXRjaGVyIiwgInN0cmlu
ZyIsIMKrICJsb29rdXAiLCAiYmVzdCBmaXQiIMK7LCAiYmVzdCBmaXQiKS4KKyAgLi4uCisgIDEx
LiBMZXQgc3R5bGUgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgInN0eWxlIiwgInN0cmluZyIsIMKr
ICJuYXJyb3ciLCAic2hvcnQiLCAibG9uZyIgwrssICJsb25nIikuCisgIC4uLgorICAxMy4gTGV0
IHR5cGUgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgInR5cGUiLCAic3RyaW5nIiwgwqsgImxhbmd1
YWdlIiwgInJlZ2lvbiIsICJzY3JpcHQiLCAiY3VycmVuY3kiLCAid2Vla2RheSIsICJtb250aCIs
ICJxdWFydGVyIiwgImRheVBlcmlvZCIsICJkYXRlVGltZUZpZWxkIiDCuywgImxhbmd1YWdlIiku
CisgIC4uLgorICAxNS4gTGV0IGZhbGxiYWNrIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJmYWxs
YmFjayIsICJzdHJpbmciLCDCqyAiY29kZSIsICJub25lIiDCuywgImNvZGUiKS4KKyAgLi4uCisK
KyAgR2V0T3B0aW9uICggb3B0aW9ucywgcHJvcGVydHksIHR5cGUsIHZhbHVlcywgZmFsbGJhY2sg
KQorCisgIDEuIExldCB2YWx1ZSBiZSA/IEdldChvcHRpb25zLCBwcm9wZXJ0eSkuCisgIDIuIElm
IHZhbHVlIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAuLi4KKyAgICBjLiBJZiB0eXBlIGlz
ICJzdHJpbmciLCB0aGVuCisgICAgICBpLiBMZXQgdmFsdWUgYmUgPyBUb1N0cmluZyh2YWx1ZSku
CisgICAgZC4gSWYgdmFsdWVzIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgIGkuIElmIHZh
bHVlcyBkb2VzIG5vdCBjb250YWluIGFuIGVsZW1lbnQgZXF1YWwgdG8gdmFsdWUsIHRocm93IGEg
UmFuZ2VFcnJvciBleGNlcHRpb24uCisgIC4uLgorZmVhdHVyZXM6IFtJbnRsLkRpc3BsYXlOYW1l
c10KK2xvY2FsZTogW2VuXQorLS0tKi8KKwordmFyIG9wdGlvbnMgPSB7CisgIHR5cGU6ICdsYW5n
JworfTsKKworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRp
c3BsYXlOYW1lcygnZW4nLCBvcHRpb25zKTsKK30sICdsYW5nJyk7CisKK29wdGlvbnMudHlwZSA9
ICdkYXktcGVyaW9kJzsKKworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiB7CisgIG5l
dyBJbnRsLkRpc3BsYXlOYW1lcygnZW4nLCBvcHRpb25zKTsKK30sICdkYXktcGVyaW9kLCBub3Qg
ZGF5UGVyaW9kJyk7CisKK29wdGlvbnMudHlwZSA9ICd3ZWVrRGF5JzsKKworYXNzZXJ0LnRocm93
cyhSYW5nZUVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3BsYXlOYW1lcygnZW4nLCBvcHRp
b25zKTsKK30sICd3ZWVrRGF5LCBub3Qgd2Vla2RheScpOworCitvcHRpb25zLnR5cGUgPSBudWxs
OworCithc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsICgpID0+IHsKKyAgbmV3IEludGwuRGlzcGxh
eU5hbWVzKCdlbicsIG9wdGlvbnMpOworfSwgJ251bGwnKTsKKworb3B0aW9ucy50eXBlID0gJyc7
CisKK2Fzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgKCkgPT4geworICBuZXcgSW50bC5EaXNwbGF5
TmFtZXMoJ2VuJywgb3B0aW9ucyk7Cit9LCAndGhlIGVtcHR5IHN0cmluZycpOworCitvcHRpb25z
LnR5cGUgPSBbJ2xhbmd1YWdlJywgJ3JlZ2lvbicsICdzY3JpcHQnLCAnY3VycmVuY3knLCAnd2Vl
a2RheScsICdtb250aCcsICdxdWFydGVyJywgJ2RheVBlcmlvZCcsICdkYXRlVGltZUZpZWxkJ107
CisKK2Fzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgKCkgPT4geworICBuZXcgSW50bC5EaXNwbGF5
TmFtZXMoJ2VuJywgb3B0aW9ucyk7Cit9LCAnYW4gYXJyYXkgd2l0aCB0aGUgdmFsaWQgb3B0aW9u
cyBpcyBub3QgbmVjZXNzYXJpbHkgdmFsaWQnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtdHlwZS10b1N0cmluZy1hYnJ1cHQtdGhyb3dz
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5h
bWVzL29wdGlvbnMtdHlwZS10b1N0cmluZy1hYnJ1cHQtdGhyb3dzLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtdHlw
ZS10b1N0cmluZy1hYnJ1cHQtdGhyb3dzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzQg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLUludGwuRGlzcGxheU5hbWVzCitk
ZXNjcmlwdGlvbjogPgorICBSZXR1cm4gYWJydXB0IGNvbXBsZXRpb24gZnJvbSBHZXRPcHRpb24g
dHlwZQoraW5mbzogfAorICBJbnRsLkRpc3BsYXlOYW1lcyAoWyBsb2NhbGVzIFsgLCBvcHRpb25z
IF1dKQorCisgIDEuIElmIE5ld1RhcmdldCBpcyB1bmRlZmluZWQsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgMi4gTGV0IGRpc3BsYXlOYW1lcyBiZSA/IE9yZGluYXJ5Q3JlYXRlRnJv
bUNvbnN0cnVjdG9yKE5ld1RhcmdldCwgIiVEaXNwbGF5TmFtZXNQcm90b3R5cGUlIiwKKyAgICDC
qyBbW0luaXRpYWxpemVkRGlzcGxheU5hbWVzXV0sIFtbTG9jYWxlXV0sIFtbU3R5bGVdXSwgW1tU
eXBlXV0sIFtbRmFsbGJhY2tdXSwgW1tGaWVsZHNdXSDCuykuCisgIC4uLgorICA0LiBJZiBvcHRp
b25zIGlzIHVuZGVmaW5lZCwgdGhlbgorICAgIGEuIExldCBvcHRpb25zIGJlIE9iamVjdENyZWF0
ZShudWxsKS4KKyAgNS4gRWxzZQorICAgIGEuIExldCBvcHRpb25zIGJlID8gVG9PYmplY3Qob3B0
aW9ucykuCisgIC4uLgorICA4LiBMZXQgbWF0Y2hlciBiZSA/IEdldE9wdGlvbihvcHRpb25zLCAi
bG9jYWxlTWF0Y2hlciIsICJzdHJpbmciLCDCqyAibG9va3VwIiwgImJlc3QgZml0IiDCuywgImJl
c3QgZml0IikuCisgIC4uLgorICAxMS4gTGV0IHN0eWxlIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMs
ICJzdHlsZSIsICJzdHJpbmciLCDCqyAibmFycm93IiwgInNob3J0IiwgImxvbmciIMK7LCAibG9u
ZyIpLgorICAuLi4KKyAgMTMuIExldCB0eXBlIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJ0eXBl
IiwgInN0cmluZyIsIMKrICJsYW5ndWFnZSIsICJyZWdpb24iLCAic2NyaXB0IiwgImN1cnJlbmN5
IiwgIndlZWtkYXkiLCAibW9udGgiLCAicXVhcnRlciIsICJkYXlQZXJpb2QiLCAiZGF0ZVRpbWVG
aWVsZCIgwrssICJsYW5ndWFnZSIpLgorICAuLi4KKyAgMTUuIExldCBmYWxsYmFjayBiZSA/IEdl
dE9wdGlvbihvcHRpb25zLCAiZmFsbGJhY2siLCAic3RyaW5nIiwgwqsgImNvZGUiLCAibm9uZSIg
wrssICJjb2RlIikuCisgIC4uLgorCisgIEdldE9wdGlvbiAoIG9wdGlvbnMsIHByb3BlcnR5LCB0
eXBlLCB2YWx1ZXMsIGZhbGxiYWNrICkKKworICAxLiBMZXQgdmFsdWUgYmUgPyBHZXQob3B0aW9u
cywgcHJvcGVydHkpLgorICAuLi4KK2ZlYXR1cmVzOiBbSW50bC5EaXNwbGF5TmFtZXMsIFN5bWJv
bF0KK2xvY2FsZTogW2VuXQorLS0tKi8KKwordmFyIG9wdGlvbnMgPSB7CisgIHR5cGU6IHsKKyAg
ICB0b1N0cmluZygpIHsKKyAgICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsKKyAgICB9Cisg
IH0KK307CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRs
LkRpc3BsYXlOYW1lcygnZW4nLCBvcHRpb25zKTsKK30sICdmcm9tIHRvU3RyaW5nJyk7CisKK29w
dGlvbnMudHlwZSA9IHsKKyAgdG9TdHJpbmc6IHVuZGVmaW5lZCwKKyAgdmFsdWVPZigpIHsKKyAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgIH0KK307CisKK2Fzc2VydC50aHJvd3MoVGVz
dDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3BsYXlOYW1lcygnZW4nLCBvcHRpb25z
KTsKK30sICdmcm9tIHZhbHVlT2YnKTsKKworb3B0aW9ucy50eXBlID0geworICBbU3ltYm9sLnRv
UHJpbWl0aXZlXSgpIHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgIH0KK307CisK
K2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBJbnRsLkRpc3BsYXlO
YW1lcygnZW4nLCBvcHRpb25zKTsKK30sICdmcm9tIFRvUHJpbWl0aXZlJyk7CisKK29wdGlvbnMu
dHlwZSA9IFN5bWJvbCgpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBu
ZXcgSW50bC5EaXNwbGF5TmFtZXMoJ2VuJywgb3B0aW9ucyk7Cit9LCAnc3ltYm9sIHZhbHVlJyk7
CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9vcHRpb25z
LXR5cGUtdmFsaWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQw
Mi9EaXNwbGF5TmFtZXMvb3B0aW9ucy10eXBlLXZhbGlkLmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL29wdGlvbnMtdHlwZS12YWxp
ZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyot
LS0KK2VzaWQ6IHNlYy1JbnRsLkRpc3BsYXlOYW1lcworZGVzY3JpcHRpb246ID4KKyAgVmFsaWQg
b3B0aW9ucyBmb3IgbG9jYWxlTWF0Y2hlcgoraW5mbzogfAorICBJbnRsLkRpc3BsYXlOYW1lcyAo
WyBsb2NhbGVzIFsgLCBvcHRpb25zIF1dKQorCisgIDEuIElmIE5ld1RhcmdldCBpcyB1bmRlZmlu
ZWQsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgMi4gTGV0IGRpc3BsYXlOYW1lcyBi
ZSA/IE9yZGluYXJ5Q3JlYXRlRnJvbUNvbnN0cnVjdG9yKE5ld1RhcmdldCwgIiVEaXNwbGF5TmFt
ZXNQcm90b3R5cGUlIiwKKyAgICDCqyBbW0luaXRpYWxpemVkRGlzcGxheU5hbWVzXV0sIFtbTG9j
YWxlXV0sIFtbU3R5bGVdXSwgW1tUeXBlXV0sIFtbRmFsbGJhY2tdXSwgW1tGaWVsZHNdXSDCuyku
CisgIC4uLgorICA0LiBJZiBvcHRpb25zIGlzIHVuZGVmaW5lZCwgdGhlbgorICAgIGEuIExldCBv
cHRpb25zIGJlIE9iamVjdENyZWF0ZShudWxsKS4KKyAgNS4gRWxzZQorICAgIGEuIExldCBvcHRp
b25zIGJlID8gVG9PYmplY3Qob3B0aW9ucykuCisgIC4uLgorICA4LiBMZXQgbWF0Y2hlciBiZSA/
IEdldE9wdGlvbihvcHRpb25zLCAibG9jYWxlTWF0Y2hlciIsICJzdHJpbmciLCDCqyAibG9va3Vw
IiwgImJlc3QgZml0IiDCuywgImJlc3QgZml0IikuCisgIC4uLgorICAxMS4gTGV0IHN0eWxlIGJl
ID8gR2V0T3B0aW9uKG9wdGlvbnMsICJzdHlsZSIsICJzdHJpbmciLCDCqyAibmFycm93IiwgInNo
b3J0IiwgImxvbmciIMK7LCAibG9uZyIpLgorICAuLi4KKyAgMTMuIExldCB0eXBlIGJlID8gR2V0
T3B0aW9uKG9wdGlvbnMsICJ0eXBlIiwgInN0cmluZyIsIMKrICJsYW5ndWFnZSIsICJyZWdpb24i
LCAic2NyaXB0IiwgImN1cnJlbmN5IiDCuywgImxhbmd1YWdlIikuCisgIC4uLgorICAxNS4gTGV0
IGZhbGxiYWNrIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJmYWxsYmFjayIsICJzdHJpbmciLCDC
qyAiY29kZSIsICJub25lIiDCuywgImNvZGUiKS4KKyAgLi4uCisKKyAgR2V0T3B0aW9uICggb3B0
aW9ucywgcHJvcGVydHksIHR5cGUsIHZhbHVlcywgZmFsbGJhY2sgKQorCisgIDEuIExldCB2YWx1
ZSBiZSA/IEdldChvcHRpb25zLCBwcm9wZXJ0eSkuCisgIC4uLgorZmVhdHVyZXM6IFtJbnRsLkRp
c3BsYXlOYW1lc10KK2xvY2FsZTogW2VuXQorLS0tKi8KKworLy8gcmVzdWx0cyBmb3Igb3B0aW9u
IHZhbHVlcyB2ZXJpZmllZCBpbiB0aGUgdGVzdHMgZm9yIHJlc29sdmVkT3B0aW9ucworCit2YXIg
dmFsdWVzID0gWworICB1bmRlZmluZWQsCisgICdsYW5ndWFnZScsCisgICdyZWdpb24nLAorICAn
c2NyaXB0JywKKyAgJ2N1cnJlbmN5JworXTsKKworZm9yIChsZXQgdmFsaWQgb2YgdmFsdWVzKSB7
CisgIGxldCBvcHRpb25zID0geworICAgIHR5cGU6IHZhbGlkCisgIH07CisKKyAgdmFyIG9iaiA9
IG5ldyBJbnRsLkRpc3BsYXlOYW1lcygnZW4nLCBvcHRpb25zKTsKKworICBhc3NlcnQob2JqIGlu
c3RhbmNlb2YgSW50bC5EaXNwbGF5TmFtZXMsIGBpbnN0YW5jZW9mIGNoZWNrIC0gJHt2YWxpZH1g
KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSwgSW50bC5E
aXNwbGF5TmFtZXMucHJvdG90eXBlLCBgcHJvdG8gY2hlY2sgLSAke3ZhbGlkfWApOworfQpJbmRl
eDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvcC1kZXNjLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVz
L3Byb3AtZGVzYy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRs
NDAyL0Rpc3BsYXlOYW1lcy9wcm9wLWRlc2MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
NCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtSW50bC5EaXNwbGF5TmFtZXMK
K2Rlc2NyaXB0aW9uOiA+CisgIFByb3BlcnR5IGRlc2NyaXB0b3Igb2YgSW50bC5EaXNwbGF5TmFt
ZXMKK2luZm86IHwKKyAgMTcgRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1pbiBPYmplY3RzOgor
CisgIEV2ZXJ5IG90aGVyIGRhdGEgcHJvcGVydHkgZGVzY3JpYmVkIGluIGNsYXVzZXMgMTggdGhy
b3VnaCAyNiBhbmQgaW4gQW5uZXggQi4yCisgIGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFi
bGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLAorICBbW0NvbmZpZ3VyYWJsZV1dOiB0
cnVlIH0gdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQuCitpbmNsdWRlczogW3Byb3BlcnR5SGVs
cGVyLmpzXQorZmVhdHVyZXM6IFtJbnRsLkRpc3BsYXlOYW1lc10KKy0tLSovCisKK2Fzc2VydC5z
YW1lVmFsdWUodHlwZW9mIEludGwuRGlzcGxheU5hbWVzLCAiZnVuY3Rpb24iLCAiYHR5cGVvZiBJ
bnRsLkRpc3BsYXlOYW1lc2AgaXMgYCdmdW5jdGlvbidgIik7CisKK3ZlcmlmeVByb3BlcnR5KElu
dGwsICJEaXNwbGF5TmFtZXMiLCB7CisgIHdyaXRhYmxlOiB0cnVlLAorICBlbnVtZXJhYmxlOiBm
YWxzZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlLAorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90by1mcm9tLWN0b3ItcmVhbG0uanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG8t
ZnJvbS1jdG9yLXJlYWxtLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvLWZyb20tY3Rvci1yZWFsbS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtSW50
bC5EaXNwbGF5TmFtZXMKK2Rlc2NyaXB0aW9uOiBEZWZhdWx0IFtbUHJvdG90eXBlXV0gdmFsdWUg
ZGVyaXZlZCBmcm9tIHJlYWxtIG9mIHRoZSBuZXdUYXJnZXQKK2luZm86IHwKKyAgSW50bC5EaXNw
bGF5TmFtZXMgKFsgbG9jYWxlcyBbICwgb3B0aW9ucyBdXSkKKworICAxLiBJZiBOZXdUYXJnZXQg
aXMgdW5kZWZpbmVkLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDIuIExldCBkaXNw
bGF5TmFtZXMgYmUgPyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvcihOZXdUYXJnZXQsICIl
RGlzcGxheU5hbWVzUHJvdG90eXBlJSIsCisgICAgwqsgW1tJbml0aWFsaXplZERpc3BsYXlOYW1l
c11dLCBbW0xvY2FsZV1dLCBbW1N0eWxlXV0sIFtbVHlwZV1dLCBbW0ZhbGxiYWNrXV0sIFtbRmll
bGRzXV0gwrspLgorICAuLi4KKworICBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvciAoIGNv
bnN0cnVjdG9yLCBpbnRyaW5zaWNEZWZhdWx0UHJvdG8gWyAsIGludGVybmFsU2xvdHNMaXN0IF0g
KQorCisgIC4uLgorICAyLiBMZXQgcHJvdG8gYmUgPyBHZXRQcm90b3R5cGVGcm9tQ29uc3RydWN0
b3IoY29uc3RydWN0b3IsIGludHJpbnNpY0RlZmF1bHRQcm90bykuCisgIDMuIFJldHVybiBPYmpl
Y3RDcmVhdGUocHJvdG8sIGludGVybmFsU2xvdHNMaXN0KS4KKworICBHZXRQcm90b3R5cGVGcm9t
Q29uc3RydWN0b3IgKCBjb25zdHJ1Y3RvciwgaW50cmluc2ljRGVmYXVsdFByb3RvICkKKworICAu
Li4KKyAgMy4gTGV0IHByb3RvIGJlID8gR2V0KGNvbnN0cnVjdG9yLCAicHJvdG90eXBlIikuCisg
IDQuIElmIFR5cGUocHJvdG8pIGlzIG5vdCBPYmplY3QsIHRoZW4KKyAgICBhLiBMZXQgcmVhbG0g
YmUgPyBHZXRGdW5jdGlvblJlYWxtKGNvbnN0cnVjdG9yKS4KKyAgICBiLiBTZXQgcHJvdG8gdG8g
cmVhbG0ncyBpbnRyaW5zaWMgb2JqZWN0IG5hbWVkIGludHJpbnNpY0RlZmF1bHRQcm90by4KKyAg
NS4gUmV0dXJuIHByb3RvLgorZmVhdHVyZXM6IFtJbnRsLkRpc3BsYXlOYW1lcywgY3Jvc3MtcmVh
bG0sIFJlZmxlY3RdCistLS0qLworCit2YXIgb3RoZXIgPSAkMjYyLmNyZWF0ZVJlYWxtKCkuZ2xv
YmFsOwordmFyIEMgPSBuZXcgb3RoZXIuRnVuY3Rpb24oKTsKK0MucHJvdG90eXBlID0gbnVsbDsK
KwordmFyIG8gPSBSZWZsZWN0LmNvbnN0cnVjdChJbnRsLkRpc3BsYXlOYW1lcywgW10sIEMpOwor
Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihvKSwgb3RoZXIuSW50bC5E
aXNwbGF5TmFtZXMucHJvdG90eXBlKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0
MDIvRGlzcGxheU5hbWVzL3Byb3RvLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvLmpzCShub25leGlzdGVudCkKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLUlu
dGwuRGlzcGxheU5hbWVzCitkZXNjcmlwdGlvbjogPgorICBUaGUgaW50ZXJuYWwgcHJvdG90eXBl
IG9mIEludGwuRGlzcGxheU5hbWVzCitmZWF0dXJlczogW0ludGwuRGlzcGxheU5hbWVzXQorLS0t
Ki8KKwordmFyIHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKEludGwuRGlzcGxheU5hbWVz
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShwcm90bywgRnVuY3Rpb24ucHJvdG90eXBlKTsKSW5kZXg6
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3VuZGVmaW5lZC1uZXd0
YXJnZXQtdGhyb3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0
MDIvRGlzcGxheU5hbWVzL3VuZGVmaW5lZC1uZXd0YXJnZXQtdGhyb3dzLmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3VuZGVmaW5l
ZC1uZXd0YXJnZXQtdGhyb3dzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLUludGwuRGlzcGxheU5hbWVzCitkZXNjcmlw
dGlvbjogPgorICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgSW50bC5EaXNwbGF5TmFtZXMgaXMgY2Fs
bGVkIGFzIGEgZnVuY3Rpb24uCitpbmZvOiB8CisgIEludGwuRGlzcGxheU5hbWVzIChbIGxvY2Fs
ZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAgMS4gSWYgTmV3VGFyZ2V0IGlzIHVuZGVmaW5lZCwgdGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2ZlYXR1cmVzOiBbSW50bC5EaXNwbGF5
TmFtZXNdCistLS0qLworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Cisg
IEludGwuRGlzcGxheU5hbWVzKCk7Cit9KTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1
bmN0aW9uKCkgeworICBJbnRsLkRpc3BsYXlOYW1lcygnZW4nKTsKK30pOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIEludGwuRGlzcGxheU5hbWVzKFsnZW4nXSk7
Cit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3By
b3RvdHlwZS9TeW1ib2wudG9TdHJpbmdUYWcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL1N5bWJvbC50b1N0cmluZ1Rh
Zy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3Bs
YXlOYW1lcy9wcm90b3R5cGUvU3ltYm9sLnRvU3RyaW5nVGFnLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjEgQEAKKy8vIENvcHlyaWdodCAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtaW50bC5EaXNwbGF5
TmFtZXMucHJvdG90eXBlLUBAdG9zdHJpbmd0YWcKK2Rlc2NyaXB0aW9uOiA+CisgIFByb3BlcnR5
IGRlc2NyaXB0b3Igb2YgRGlzcGxheU5hbWVzLnByb3RvdHlwZVtAQHRvU3RyaW5nVGFnXQoraW5m
bzogfAorICBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgQEB0b1N0cmluZ1RhZyBwcm9wZXJ0eSBp
cyB0aGUgc3RyaW5nIHZhbHVlICJJbnRsLkRpc3BsYXlOYW1lcyIuCisKKyAgVGhpcyBwcm9wZXJ0
eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVd
XTogZmFsc2UsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KK2luY2x1ZGVzOiBbcHJvcGVydHlI
ZWxwZXIuanNdCitmZWF0dXJlczogW0ludGwuRGlzcGxheU5hbWVzLCBTeW1ib2wudG9TdHJpbmdU
YWddCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShJbnRsLkRpc3BsYXlOYW1lcy5wcm90b3R5cGUs
IFN5bWJvbC50b1N0cmluZ1RhZywgeworICB2YWx1ZTogIkludGwuRGlzcGxheU5hbWVzIiwKKyAg
d3JpdGFibGU6IGZhbHNlLAorICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiB0
cnVlCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVz
L3Byb3RvdHlwZS9wcm9wLWRlc2MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Byb3AtZGVzYy5qcwkobm9uZXhpc3Rl
bnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5
cGUvcHJvcC1kZXNjLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKy8vIENvcHly
aWdodCAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisKKy8qLS0tCitlc2lkOiBzZWMtSW50bC5EaXNwbGF5TmFtZXMucHJvdG90eXBlCitkZXNjcmlw
dGlvbjogPgorICBQcm9wZXJ0eSBkZXNjcmlwdG9yIG9mIEludGwuRGlzcGxheU5hbWVzLnByb3Rv
dHlwZQoraW5mbzogfAorICBUaGUgdmFsdWUgb2YgSW50bC5EaXNwbGF5TmFtZXMucHJvdG90eXBl
IGlzICVEaXNwbGF5TmFtZXNQcm90b3R5cGUlLgorCisgIFRoaXMgcHJvcGVydHkgaGFzIHRoZSBh
dHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLCBb
W0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9LgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10K
K2ZlYXR1cmVzOiBbSW50bC5EaXNwbGF5TmFtZXNdCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShJ
bnRsLkRpc3BsYXlOYW1lcywgInByb3RvdHlwZSIsIHsKKyAgd3JpdGFibGU6IGZhbHNlLAorICBl
bnVtZXJhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiBmYWxzZSwKK30pOwpJbmRleDogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVk
T3B0aW9ucy9kZWZhdWx0LW9wdGlvbi12YWx1ZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9u
cy9kZWZhdWx0LW9wdGlvbi12YWx1ZXMuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9k
ZWZhdWx0LW9wdGlvbi12YWx1ZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MCBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtSW50bC5EaXNwbGF5TmFtZXMucHJvdG90
eXBlLnJlc29sdmVkT3B0aW9ucworZGVzY3JpcHRpb246ID4KKyAgRGVmYXVsdCB2YWx1ZXMgZm9y
IGVhY2ggb3B0aW9uCitpbmZvOiB8CisgIEludGwuRGlzcGxheU5hbWVzLnByb3RvdHlwZS5yZXNv
bHZlZE9wdGlvbnMgKCkKKworICAxLiBMZXQgcHIgYmUgdGhlIHRoaXMgdmFsdWUuCisgIDIuIElm
IFR5cGUocHIpIGlzIG5vdCBPYmplY3Qgb3IgcHIgZG9lcyBub3QgaGF2ZSBhbiBbW0luaXRpYWxp
emVkRGlzcGxheU5hbWVzXV0gaW50ZXJuYWwgc2xvdCwKKyAgICB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgIDMuIExldCBvcHRpb25zIGJlICEgT2JqZWN0Q3JlYXRlKCVPYmplY3RQcm90
b3R5cGUlKS4KKyAgNC4gRm9yIGVhY2ggcm93IG9mIFRhYmxlIDYsIGV4Y2VwdCB0aGUgaGVhZGVy
IHJvdywgaW4gdGFibGUgb3JkZXIsIGRvCisgICAgYS4gTGV0IHAgYmUgdGhlIFByb3BlcnR5IHZh
bHVlIG9mIHRoZSBjdXJyZW50IHJvdy4KKyAgICBiLiBMZXQgdiBiZSB0aGUgdmFsdWUgb2YgcHIn
cyBpbnRlcm5hbCBzbG90IHdob3NlIG5hbWUgaXMgdGhlIEludGVybmFsIFNsb3QgdmFsdWUgb2Yg
dGhlIGN1cnJlbnQgcm93LgorICAgIGMuIElmIHYgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAg
ICAgaS4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cob3B0aW9ucywgcCwgdiku
CisgIDYuIFJldHVybiBvcHRpb25zLgorCisgIFRhYmxlIDY6IFJlc29sdmVkIE9wdGlvbnMgb2Yg
RGlzcGxheU5hbWVzIEluc3RhbmNlcworCisgIFtbTG9jYWxlXV06ICJsb2NhbGUiCisgIFtbU3R5
bGVdXTogInN0eWxlIgorICBbW1R5cGVdXTogInR5cGUiCisgIFtbRmFsbGJhY2tdXTogImZhbGxi
YWNrIgorCisgIEludGwuRGlzcGxheU5hbWVzIChbIGxvY2FsZXMgWyAsIG9wdGlvbnMgXV0pCisK
KyAgLi4uCisgIDguIExldCBtYXRjaGVyIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJsb2NhbGVN
YXRjaGVyIiwgInN0cmluZyIsIMKrICJsb29rdXAiLCAiYmVzdCBmaXQiIMK7LCAiYmVzdCBmaXQi
KS4KKyAgLi4uCisgIDEwLiBMZXQgciBiZSBSZXNvbHZlTG9jYWxlKCVEaXNwbGF5TmFtZXMlLltb
QXZhaWxhYmxlTG9jYWxlc11dLCByZXF1ZXN0ZWRMb2NhbGVzLCBvcHQsCisgICAgJURpc3BsYXlO
YW1lcyUuW1tSZWxldmFudEV4dGVuc2lvbktleXNdXSkuCisgIDExLiBMZXQgc3R5bGUgYmUgPyBH
ZXRPcHRpb24ob3B0aW9ucywgInN0eWxlIiwgInN0cmluZyIsIMKrICJuYXJyb3ciLCAic2hvcnQi
LCAibG9uZyIgwrssICJsb25nIikuCisgIC4uLgorICAxMy4gTGV0IHR5cGUgYmUgPyBHZXRPcHRp
b24ob3B0aW9ucywgInR5cGUiLCAic3RyaW5nIiwgwqsgImxhbmd1YWdlIiwgInJlZ2lvbiIsICJz
Y3JpcHQiLCAiY3VycmVuY3kiLAorICAgICJ3ZWVrZGF5IiwgIm1vbnRoIiwgInF1YXJ0ZXIiLCAi
ZGF5UGVyaW9kIiwgImRhdGVUaW1lRmllbGQiIMK7LCAibGFuZ3VhZ2UiKS4KKyAgLi4uCisgIDE1
LiBMZXQgZmFsbGJhY2sgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgImZhbGxiYWNrIiwgInN0cmlu
ZyIsIMKrICJjb2RlIiwgIm5vbmUiIMK7LCAiY29kZSIpLgorICAuLi4KKyAgMTcuIFNldCBkaXNw
bGF5TmFtZXMuW1tMb2NhbGVdXSB0byB0aGUgdmFsdWUgb2Ygci5bW0xvY2FsZV1dLgorICAuLi4K
KworICBDcmVhdGVEYXRhUHJvcGVydHkgKCBPLCBQLCBWICkKKworICAuLi4KKyAgMy4gTGV0IG5l
d0Rlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbVmFsdWVdXTogViwgW1tXcml0YWJs
ZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwKKyAgICBbW0NvbmZpZ3VyYWJsZV1dOiB0
cnVlIH0uCisgIC4uLgorbG9jYWxlOiBbZW4tVVNdCitmZWF0dXJlczogW0ludGwuRGlzcGxheU5h
bWVzXQoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KKy0tLSovCisKK3ZhciBkbiA9IG5l
dyBJbnRsLkRpc3BsYXlOYW1lcygnZW4tVVMnKTsKKwordmFyIG9wdGlvbnMgPSBkbi5yZXNvbHZl
ZE9wdGlvbnMoKTsKKwordmVyaWZ5UHJvcGVydHkob3B0aW9ucywgJ3N0eWxlJywgeworICB2YWx1
ZTogJ2xvbmcnLAorICB3cml0YWJsZTogdHJ1ZSwKKyAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgY29u
ZmlndXJhYmxlOiB0cnVlCit9KTsKKwordmVyaWZ5UHJvcGVydHkob3B0aW9ucywgJ3R5cGUnLCB7
CisgIHZhbHVlOiAnbGFuZ3VhZ2UnLAorICB3cml0YWJsZTogdHJ1ZSwKKyAgZW51bWVyYWJsZTog
dHJ1ZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlCit9KTsKKwordmVyaWZ5UHJvcGVydHkob3B0aW9u
cywgJ2ZhbGxiYWNrJywgeworICB2YWx1ZTogJ2NvZGUnLAorICB3cml0YWJsZTogdHJ1ZSwKKyAg
ZW51bWVyYWJsZTogdHJ1ZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlCit9KTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9w
dGlvbnMvbGVuZ3RoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0
MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvbGVuZ3RoLmpzCShub25l
eGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3By
b3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvbGVuZ3RoLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLUludGwuRGlzcGxheU5h
bWVzLnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMKK2Rlc2NyaXB0aW9uOiA+CisgIEludGwuRGlz
cGxheU5hbWVzLnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMubGVuZ3RoIGlzIDAuCitpbmZvOiB8
CisgIEVDTUFTY3JpcHQgU3RhbmRhcmQgQnVpbHQtaW4gT2JqZWN0czoKKworICBFdmVyeSBidWls
dC1pbiBmdW5jdGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMsIGhhcyBhIGxlbmd0
aAorICBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNl
IHNwZWNpZmllZCwgdGhpcworICB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgbGFyZ2VzdCBudW1iZXIg
b2YgbmFtZWQgYXJndW1lbnRzIHNob3duIGluIHRoZQorICBzdWJjbGF1c2UgaGVhZGluZ3MgZm9y
IHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbi4gT3B0aW9uYWwgcGFyYW1ldGVycworICAod2hpY2gg
YXJlIGluZGljYXRlZCB3aXRoIGJyYWNrZXRzOiBbIF0pIG9yIHJlc3QgcGFyYW1ldGVycyAod2hp
Y2gKKyAgYXJlIHNob3duIHVzaW5nIHRoZSBmb3JtIMKrLi4ubmFtZcK7KSBhcmUgbm90IGluY2x1
ZGVkIGluIHRoZSBkZWZhdWx0CisgIGFyZ3VtZW50IGNvdW50LgorCisgIFVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkLCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIGEgYnVpbHQtaW4gZnVuY3Rpb24K
KyAgb2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51
bWVyYWJsZV1dOiBmYWxzZSwKKyAgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9LgoraW5jbHVkZXM6
IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbSW50bC5EaXNwbGF5TmFtZXNdCistLS0q
LworCit2ZXJpZnlQcm9wZXJ0eShJbnRsLkRpc3BsYXlOYW1lcy5wcm90b3R5cGUucmVzb2x2ZWRP
cHRpb25zLCAibGVuZ3RoIiwgeworICB2YWx1ZTogMCwKKyAgZW51bWVyYWJsZTogZmFsc2UsCisg
IHdyaXRhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlLAorfSk7CkluZGV4OiBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcmVzb2x2ZWRP
cHRpb25zL25hbWUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQw
Mi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9uYW1lLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3Rv
dHlwZS9yZXNvbHZlZE9wdGlvbnMvbmFtZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1JbnRsLkRpc3BsYXlOYW1lcy5w
cm90b3R5cGUucmVzb2x2ZWRPcHRpb25zCitkZXNjcmlwdGlvbjogPgorICBJbnRsLkRpc3BsYXlO
YW1lcy5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zLm5hbWUgaXMgInJlc29sdmVkT3B0aW9ucyIu
CitpbmZvOiB8CisgIDE3IEVDTUFTY3JpcHQgU3RhbmRhcmQgQnVpbHQtaW4gT2JqZWN0czoKKwor
ICBFdmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMs
IHRoYXQgaXMgbm90CisgIGlkZW50aWZpZWQgYXMgYW4gYW5vbnltb3VzIGZ1bmN0aW9uIGhhcyBh
IG5hbWUgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYQorICBTdHJpbmcuCisKKyAgVW5sZXNzIG90
aGVyd2lzZSBzcGVjaWZpZWQsIHRoZSBuYW1lIHByb3BlcnR5IG9mIGEgYnVpbHQtaW4gRnVuY3Rp
b24gb2JqZWN0LAorICBpZiBpdCBleGlzdHMsIGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFi
bGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOgorICBmYWxzZSwgW1tDb25maWd1cmFibGVdXTog
dHJ1ZSB9LgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbSW50bC5E
aXNwbGF5TmFtZXNdCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShJbnRsLkRpc3BsYXlOYW1lcy5w
cm90b3R5cGUucmVzb2x2ZWRPcHRpb25zLCAibmFtZSIsIHsKKyAgdmFsdWU6ICJyZXNvbHZlZE9w
dGlvbnMiLAorICB3cml0YWJsZTogZmFsc2UsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICBjb25m
aWd1cmFibGU6IHRydWUsCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
RGlzcGxheU5hbWVzL3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvb3B0aW9uLWZhbGxiYWNrLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVz
L3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvb3B0aW9uLWZhbGxiYWNrLmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlw
ZS9yZXNvbHZlZE9wdGlvbnMvb3B0aW9uLWZhbGxiYWNrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsODMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLUludGwuRGlzcGxh
eU5hbWVzLnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMKK2Rlc2NyaXB0aW9uOiA+CisgIFZhbHVl
cyBmb3IgdGhlIGZhbGxiYWNrIG9wdGlvbgoraW5mbzogfAorICBJbnRsLkRpc3BsYXlOYW1lcy5w
cm90b3R5cGUucmVzb2x2ZWRPcHRpb25zICgpCisKKyAgMS4gTGV0IHByIGJlIHRoZSB0aGlzIHZh
bHVlLgorICAyLiBJZiBUeXBlKHByKSBpcyBub3QgT2JqZWN0IG9yIHByIGRvZXMgbm90IGhhdmUg
YW4gW1tJbml0aWFsaXplZERpc3BsYXlOYW1lc11dIGludGVybmFsIHNsb3QsCisgICAgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAzLiBMZXQgb3B0aW9ucyBiZSAhIE9iamVjdENyZWF0
ZSglT2JqZWN0UHJvdG90eXBlJSkuCisgIDQuIEZvciBlYWNoIHJvdyBvZiBUYWJsZSA2LCBleGNl
cHQgdGhlIGhlYWRlciByb3csIGluIHRhYmxlIG9yZGVyLCBkbworICAgIGEuIExldCBwIGJlIHRo
ZSBQcm9wZXJ0eSB2YWx1ZSBvZiB0aGUgY3VycmVudCByb3cuCisgICAgYi4gTGV0IHYgYmUgdGhl
IHZhbHVlIG9mIHByJ3MgaW50ZXJuYWwgc2xvdCB3aG9zZSBuYW1lIGlzIHRoZSBJbnRlcm5hbCBT
bG90IHZhbHVlIG9mIHRoZSBjdXJyZW50IHJvdy4KKyAgICBjLiBJZiB2IGlzIG5vdCB1bmRlZmlu
ZWQsIHRoZW4KKyAgICAgIGkuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KG9w
dGlvbnMsIHAsIHYpLgorICA2LiBSZXR1cm4gb3B0aW9ucy4KKworICBUYWJsZSA2OiBSZXNvbHZl
ZCBPcHRpb25zIG9mIERpc3BsYXlOYW1lcyBJbnN0YW5jZXMKKworICBbW0xvY2FsZV1dOiAibG9j
YWxlIgorICBbW1N0eWxlXV06ICJzdHlsZSIKKyAgW1tUeXBlXV06ICJ0eXBlIgorICBbW0ZhbGxi
YWNrXV06ICJmYWxsYmFjayIKKworICBJbnRsLkRpc3BsYXlOYW1lcyAoWyBsb2NhbGVzIFsgLCBv
cHRpb25zIF1dKQorCisgIC4uLgorICA4LiBMZXQgbWF0Y2hlciBiZSA/IEdldE9wdGlvbihvcHRp
b25zLCAibG9jYWxlTWF0Y2hlciIsICJzdHJpbmciLCDCqyAibG9va3VwIiwgImJlc3QgZml0IiDC
uywgImJlc3QgZml0IikuCisgIC4uLgorICAxMC4gTGV0IHIgYmUgUmVzb2x2ZUxvY2FsZSglRGlz
cGxheU5hbWVzJS5bW0F2YWlsYWJsZUxvY2FsZXNdXSwgcmVxdWVzdGVkTG9jYWxlcywgb3B0LAor
ICAgICVEaXNwbGF5TmFtZXMlLltbUmVsZXZhbnRFeHRlbnNpb25LZXlzXV0pLgorICAxMS4gTGV0
IHN0eWxlIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJzdHlsZSIsICJzdHJpbmciLCDCqyAibmFy
cm93IiwgInNob3J0IiwgImxvbmciIMK7LCAibG9uZyIpLgorICAuLi4KKyAgMTMuIExldCB0eXBl
IGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJ0eXBlIiwgInN0cmluZyIsIMKrICJsYW5ndWFnZSIs
ICJyZWdpb24iLCAic2NyaXB0IiwgImN1cnJlbmN5IiwKKyAgICAid2Vla2RheSIsICJtb250aCIs
ICJxdWFydGVyIiwgImRheVBlcmlvZCIsICJkYXRlVGltZUZpZWxkIiDCuywgImxhbmd1YWdlIiku
CisgIC4uLgorICAxNS4gTGV0IGZhbGxiYWNrIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJmYWxs
YmFjayIsICJzdHJpbmciLCDCqyAiY29kZSIsICJub25lIiDCuywgImNvZGUiKS4KKyAgLi4uCisg
IDE3LiBTZXQgZGlzcGxheU5hbWVzLltbTG9jYWxlXV0gdG8gdGhlIHZhbHVlIG9mIHIuW1tMb2Nh
bGVdXS4KKyAgLi4uCisKKyAgQ3JlYXRlRGF0YVByb3BlcnR5ICggTywgUCwgViApCisKKyAgLi4u
CisgIDMuIExldCBuZXdEZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW1ZhbHVlXV06
IFYsIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsCisgICAgW1tDb25m
aWd1cmFibGVdXTogdHJ1ZSB9LgorICAuLi4KK2xvY2FsZTogW2VuLVVTXQorZmVhdHVyZXM6IFtJ
bnRsLkRpc3BsYXlOYW1lc10KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCistLS0qLwor
Cit2YXIgZmFsbGJhY2tzID0gWydjb2RlJywgJ25vbmUnXTsKKworZmFsbGJhY2tzLmZvckVhY2go
ZmFsbGJhY2sgPT4geworICB2YXIgZG4gPSBuZXcgSW50bC5EaXNwbGF5TmFtZXMoJ2VuLVVTJywg
eyBmYWxsYmFjayB9KTsKKyAgdmFyIG9wdGlvbnMgPSBkbi5yZXNvbHZlZE9wdGlvbnMoKTsKKwor
ICB2ZXJpZnlQcm9wZXJ0eShvcHRpb25zLCAnZmFsbGJhY2snLCB7CisgICAgdmFsdWU6IGZhbGxi
YWNrLAorICAgIHdyaXRhYmxlOiB0cnVlLAorICAgIGVudW1lcmFibGU6IHRydWUsCisgICAgY29u
ZmlndXJhYmxlOiB0cnVlCisgIH0pOworICAKKyAgdmVyaWZ5UHJvcGVydHkob3B0aW9ucywgJ3R5
cGUnLCB7CisgICAgdmFsdWU6ICdsYW5ndWFnZScsCisgICAgd3JpdGFibGU6IHRydWUsCisgICAg
ZW51bWVyYWJsZTogdHJ1ZSwKKyAgICBjb25maWd1cmFibGU6IHRydWUKKyAgfSk7CisgIAorICB2
ZXJpZnlQcm9wZXJ0eShvcHRpb25zLCAnc3R5bGUnLCB7CisgICAgdmFsdWU6ICdsb25nJywKKyAg
ICB3cml0YWJsZTogdHJ1ZSwKKyAgICBlbnVtZXJhYmxlOiB0cnVlLAorICAgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZQorICB9KTsKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9E
aXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9vcHRpb24tc3R5bGUuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJv
dG90eXBlL3Jlc29sdmVkT3B0aW9ucy9vcHRpb24tc3R5bGUuanMJKG5vbmV4aXN0ZW50KQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29s
dmVkT3B0aW9ucy9vcHRpb24tc3R5bGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MyBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtSW50bC5EaXNwbGF5TmFtZXMucHJv
dG90eXBlLnJlc29sdmVkT3B0aW9ucworZGVzY3JpcHRpb246ID4KKyAgVmFsdWVzIGZvciB0aGUg
c3R5bGUgb3B0aW9uCitpbmZvOiB8CisgIEludGwuRGlzcGxheU5hbWVzLnByb3RvdHlwZS5yZXNv
bHZlZE9wdGlvbnMgKCkKKworICAxLiBMZXQgcHIgYmUgdGhlIHRoaXMgdmFsdWUuCisgIDIuIElm
IFR5cGUocHIpIGlzIG5vdCBPYmplY3Qgb3IgcHIgZG9lcyBub3QgaGF2ZSBhbiBbW0luaXRpYWxp
emVkRGlzcGxheU5hbWVzXV0gaW50ZXJuYWwgc2xvdCwKKyAgICB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgIDMuIExldCBvcHRpb25zIGJlICEgT2JqZWN0Q3JlYXRlKCVPYmplY3RQcm90
b3R5cGUlKS4KKyAgNC4gRm9yIGVhY2ggcm93IG9mIFRhYmxlIDYsIGV4Y2VwdCB0aGUgaGVhZGVy
IHJvdywgaW4gdGFibGUgb3JkZXIsIGRvCisgICAgYS4gTGV0IHAgYmUgdGhlIFByb3BlcnR5IHZh
bHVlIG9mIHRoZSBjdXJyZW50IHJvdy4KKyAgICBiLiBMZXQgdiBiZSB0aGUgdmFsdWUgb2YgcHIn
cyBpbnRlcm5hbCBzbG90IHdob3NlIG5hbWUgaXMgdGhlIEludGVybmFsIFNsb3QgdmFsdWUgb2Yg
dGhlIGN1cnJlbnQgcm93LgorICAgIGMuIElmIHYgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAg
ICAgaS4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cob3B0aW9ucywgcCwgdiku
CisgIDYuIFJldHVybiBvcHRpb25zLgorCisgIFRhYmxlIDY6IFJlc29sdmVkIE9wdGlvbnMgb2Yg
RGlzcGxheU5hbWVzIEluc3RhbmNlcworCisgIFtbTG9jYWxlXV06ICJsb2NhbGUiCisgIFtbU3R5
bGVdXTogInN0eWxlIgorICBbW1R5cGVdXTogInR5cGUiCisgIFtbRmFsbGJhY2tdXTogImZhbGxi
YWNrIgorCisgIEludGwuRGlzcGxheU5hbWVzIChbIGxvY2FsZXMgWyAsIG9wdGlvbnMgXV0pCisK
KyAgLi4uCisgIDguIExldCBtYXRjaGVyIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJsb2NhbGVN
YXRjaGVyIiwgInN0cmluZyIsIMKrICJsb29rdXAiLCAiYmVzdCBmaXQiIMK7LCAiYmVzdCBmaXQi
KS4KKyAgLi4uCisgIDEwLiBMZXQgciBiZSBSZXNvbHZlTG9jYWxlKCVEaXNwbGF5TmFtZXMlLltb
QXZhaWxhYmxlTG9jYWxlc11dLCByZXF1ZXN0ZWRMb2NhbGVzLCBvcHQsCisgICAgJURpc3BsYXlO
YW1lcyUuW1tSZWxldmFudEV4dGVuc2lvbktleXNdXSkuCisgIDExLiBMZXQgc3R5bGUgYmUgPyBH
ZXRPcHRpb24ob3B0aW9ucywgInN0eWxlIiwgInN0cmluZyIsIMKrICJuYXJyb3ciLCAic2hvcnQi
LCAibG9uZyIgwrssICJsb25nIikuCisgIC4uLgorICAxMy4gTGV0IHR5cGUgYmUgPyBHZXRPcHRp
b24ob3B0aW9ucywgInR5cGUiLCAic3RyaW5nIiwgwqsgImxhbmd1YWdlIiwgInJlZ2lvbiIsICJz
Y3JpcHQiLCAiY3VycmVuY3kiLAorICAgICJ3ZWVrZGF5IiwgIm1vbnRoIiwgInF1YXJ0ZXIiLCAi
ZGF5UGVyaW9kIiwgImRhdGVUaW1lRmllbGQiIMK7LCAibGFuZ3VhZ2UiKS4KKyAgLi4uCisgIDE1
LiBMZXQgZmFsbGJhY2sgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgImZhbGxiYWNrIiwgInN0cmlu
ZyIsIMKrICJjb2RlIiwgIm5vbmUiIMK7LCAiY29kZSIpLgorICAuLi4KKyAgMTcuIFNldCBkaXNw
bGF5TmFtZXMuW1tMb2NhbGVdXSB0byB0aGUgdmFsdWUgb2Ygci5bW0xvY2FsZV1dLgorICAuLi4K
KworICBDcmVhdGVEYXRhUHJvcGVydHkgKCBPLCBQLCBWICkKKworICAuLi4KKyAgMy4gTGV0IG5l
d0Rlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbVmFsdWVdXTogViwgW1tXcml0YWJs
ZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwKKyAgICBbW0NvbmZpZ3VyYWJsZV1dOiB0
cnVlIH0uCisgIC4uLgorbG9jYWxlOiBbZW4tVVNdCitmZWF0dXJlczogW0ludGwuRGlzcGxheU5h
bWVzXQoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KKy0tLSovCisKK3ZhciBzdHlsZXMg
PSBbJ25hcnJvdycsICdzaG9ydCcsICdsb25nJ107CisKK3N0eWxlcy5mb3JFYWNoKHN0eWxlID0+
IHsKKyAgdmFyIGRuID0gbmV3IEludGwuRGlzcGxheU5hbWVzKCdlbi1VUycsIHsgc3R5bGUgfSk7
CisgIHZhciBvcHRpb25zID0gZG4ucmVzb2x2ZWRPcHRpb25zKCk7CisKKyAgdmVyaWZ5UHJvcGVy
dHkob3B0aW9ucywgJ3N0eWxlJywgeworICAgIHZhbHVlOiBzdHlsZSwKKyAgICB3cml0YWJsZTog
dHJ1ZSwKKyAgICBlbnVtZXJhYmxlOiB0cnVlLAorICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorICB9
KTsKKyAgCisgIHZlcmlmeVByb3BlcnR5KG9wdGlvbnMsICd0eXBlJywgeworICAgIHZhbHVlOiAn
bGFuZ3VhZ2UnLAorICAgIHdyaXRhYmxlOiB0cnVlLAorICAgIGVudW1lcmFibGU6IHRydWUsCisg
ICAgY29uZmlndXJhYmxlOiB0cnVlCisgIH0pOworICAKKyAgdmVyaWZ5UHJvcGVydHkob3B0aW9u
cywgJ2ZhbGxiYWNrJywgeworICAgIHZhbHVlOiAnY29kZScsCisgICAgd3JpdGFibGU6IHRydWUs
CisgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgICBjb25maWd1cmFibGU6IHRydWUKKyAgfSk7Cit9
KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3Rv
dHlwZS9yZXNvbHZlZE9wdGlvbnMvb3B0aW9uLXR5cGUuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0
aW9ucy9vcHRpb24tdHlwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL29wdGlvbi10
eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODMgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLUludGwuRGlzcGxheU5hbWVzLnByb3RvdHlwZS5yZXNvbHZlZE9wdGlv
bnMKK2Rlc2NyaXB0aW9uOiA+CisgIFZhbHVlcyBmb3IgdGhlIHR5cGUgb3B0aW9uCitpbmZvOiB8
CisgIEludGwuRGlzcGxheU5hbWVzLnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMgKCkKKworICAx
LiBMZXQgcHIgYmUgdGhlIHRoaXMgdmFsdWUuCisgIDIuIElmIFR5cGUocHIpIGlzIG5vdCBPYmpl
Y3Qgb3IgcHIgZG9lcyBub3QgaGF2ZSBhbiBbW0luaXRpYWxpemVkRGlzcGxheU5hbWVzXV0gaW50
ZXJuYWwgc2xvdCwKKyAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDMuIExldCBv
cHRpb25zIGJlICEgT2JqZWN0Q3JlYXRlKCVPYmplY3RQcm90b3R5cGUlKS4KKyAgNC4gRm9yIGVh
Y2ggcm93IG9mIFRhYmxlIDYsIGV4Y2VwdCB0aGUgaGVhZGVyIHJvdywgaW4gdGFibGUgb3JkZXIs
IGRvCisgICAgYS4gTGV0IHAgYmUgdGhlIFByb3BlcnR5IHZhbHVlIG9mIHRoZSBjdXJyZW50IHJv
dy4KKyAgICBiLiBMZXQgdiBiZSB0aGUgdmFsdWUgb2YgcHIncyBpbnRlcm5hbCBzbG90IHdob3Nl
IG5hbWUgaXMgdGhlIEludGVybmFsIFNsb3QgdmFsdWUgb2YgdGhlIGN1cnJlbnQgcm93LgorICAg
IGMuIElmIHYgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgaS4gUGVyZm9ybSAhIENyZWF0
ZURhdGFQcm9wZXJ0eU9yVGhyb3cob3B0aW9ucywgcCwgdikuCisgIDYuIFJldHVybiBvcHRpb25z
LgorCisgIFRhYmxlIDY6IFJlc29sdmVkIE9wdGlvbnMgb2YgRGlzcGxheU5hbWVzIEluc3RhbmNl
cworCisgIFtbTG9jYWxlXV06ICJsb2NhbGUiCisgIFtbU3R5bGVdXTogInN0eWxlIgorICBbW1R5
cGVdXTogInR5cGUiCisgIFtbRmFsbGJhY2tdXTogImZhbGxiYWNrIgorCisgIEludGwuRGlzcGxh
eU5hbWVzIChbIGxvY2FsZXMgWyAsIG9wdGlvbnMgXV0pCisKKyAgLi4uCisgIDguIExldCBtYXRj
aGVyIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJsb2NhbGVNYXRjaGVyIiwgInN0cmluZyIsIMKr
ICJsb29rdXAiLCAiYmVzdCBmaXQiIMK7LCAiYmVzdCBmaXQiKS4KKyAgLi4uCisgIDEwLiBMZXQg
ciBiZSBSZXNvbHZlTG9jYWxlKCVEaXNwbGF5TmFtZXMlLltbQXZhaWxhYmxlTG9jYWxlc11dLCBy
ZXF1ZXN0ZWRMb2NhbGVzLCBvcHQsCisgICAgJURpc3BsYXlOYW1lcyUuW1tSZWxldmFudEV4dGVu
c2lvbktleXNdXSkuCisgIDExLiBMZXQgc3R5bGUgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgInN0
eWxlIiwgInN0cmluZyIsIMKrICJuYXJyb3ciLCAic2hvcnQiLCAibG9uZyIgwrssICJsb25nIiku
CisgIC4uLgorICAxMy4gTGV0IHR5cGUgYmUgPyBHZXRPcHRpb24ob3B0aW9ucywgInR5cGUiLCAi
c3RyaW5nIiwgwqsgImxhbmd1YWdlIiwgInJlZ2lvbiIsICJzY3JpcHQiLCAiY3VycmVuY3kiwrss
CisgICAgICAibGFuZ3VhZ2UiKS4KKyAgLi4uCisgIDE1LiBMZXQgZmFsbGJhY2sgYmUgPyBHZXRP
cHRpb24ob3B0aW9ucywgImZhbGxiYWNrIiwgInN0cmluZyIsIMKrICJjb2RlIiwgIm5vbmUiIMK7
LCAiY29kZSIpLgorICAuLi4KKyAgMTcuIFNldCBkaXNwbGF5TmFtZXMuW1tMb2NhbGVdXSB0byB0
aGUgdmFsdWUgb2Ygci5bW0xvY2FsZV1dLgorICAuLi4KKworICBDcmVhdGVEYXRhUHJvcGVydHkg
KCBPLCBQLCBWICkKKworICAuLi4KKyAgMy4gTGV0IG5ld0Rlc2MgYmUgdGhlIFByb3BlcnR5RGVz
Y3JpcHRvciB7IFtbVmFsdWVdXTogViwgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVd
XTogdHJ1ZSwKKyAgICBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCisgIC4uLgorbG9jYWxlOiBb
ZW4tVVNdCitmZWF0dXJlczogW0ludGwuRGlzcGxheU5hbWVzXQoraW5jbHVkZXM6IFtwcm9wZXJ0
eUhlbHBlci5qc10KKy0tLSovCisKK3ZhciB0eXBlcyA9IFsnbGFuZ3VhZ2UnLCAncmVnaW9uJywg
J3NjcmlwdCcsICdjdXJyZW5jeSddOworCit0eXBlcy5mb3JFYWNoKHR5cGUgPT4geworICB2YXIg
ZG4gPSBuZXcgSW50bC5EaXNwbGF5TmFtZXMoJ2VuLVVTJywgeyB0eXBlIH0pOworICB2YXIgb3B0
aW9ucyA9IGRuLnJlc29sdmVkT3B0aW9ucygpOworCisgIHZlcmlmeVByb3BlcnR5KG9wdGlvbnMs
ICd0eXBlJywgeworICAgIHZhbHVlOiB0eXBlLAorICAgIHdyaXRhYmxlOiB0cnVlLAorICAgIGVu
dW1lcmFibGU6IHRydWUsCisgICAgY29uZmlndXJhYmxlOiB0cnVlCisgIH0pOworICAKKyAgdmVy
aWZ5UHJvcGVydHkob3B0aW9ucywgJ2ZhbGxiYWNrJywgeworICAgIHZhbHVlOiAnY29kZScsCisg
ICAgd3JpdGFibGU6IHRydWUsCisgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgICBjb25maWd1cmFi
bGU6IHRydWUKKyAgfSk7CisgIAorICB2ZXJpZnlQcm9wZXJ0eShvcHRpb25zLCAnc3R5bGUnLCB7
CisgICAgdmFsdWU6ICdsb25nJywKKyAgICB3cml0YWJsZTogdHJ1ZSwKKyAgICBlbnVtZXJhYmxl
OiB0cnVlLAorICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorICB9KTsKK30pOwpJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0
aW9ucy9wcm9wLWRlc2MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50
bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9wcm9wLWRlc2MuanMJ
KG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFt
ZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9wcm9wLWRlc2MuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyOCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtSW50bC5E
aXNwbGF5TmFtZXMucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucworZGVzY3JpcHRpb246ID4KKyAg
UHJvcGVydHkgZGVzY3JpcHRvciBvZiBJbnRsLkRpc3BsYXlOYW1lcy5wcm90b3R5cGUucmVzb2x2
ZWRPcHRpb25zCitpbmZvOiB8CisgIDE3IEVDTUFTY3JpcHQgU3RhbmRhcmQgQnVpbHQtaW4gT2Jq
ZWN0czoKKworICBFdmVyeSBvdGhlciBkYXRhIHByb3BlcnR5IGRlc2NyaWJlZCBpbiBjbGF1c2Vz
IDE4IHRocm91Z2ggMjYgYW5kIGluIEFubmV4IEIuMgorICBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBb
W1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwKKyAgW1tDb25maWd1cmFi
bGVdXTogdHJ1ZSB9IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLgoraW5jbHVkZXM6IFtwcm9w
ZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbSW50bC5EaXNwbGF5TmFtZXNdCistLS0qLworCith
c3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgSW50bC5EaXNwbGF5TmFtZXMucHJvdG90eXBlLnJl
c29sdmVkT3B0aW9ucywKKyAgImZ1bmN0aW9uIiwKKyAgImB0eXBlb2YgSW50bC5EaXNwbGF5TmFt
ZXMucHJvdG90eXBlLnJlc29sdmVkT3B0aW9uc2AgaXMgYCdmdW5jdGlvbidgIgorKTsKKwordmVy
aWZ5UHJvcGVydHkoSW50bC5EaXNwbGF5TmFtZXMucHJvdG90eXBlLCAicmVzb2x2ZWRPcHRpb25z
IiwgeworICB3cml0YWJsZTogdHJ1ZSwKKyAgZW51bWVyYWJsZTogZmFsc2UsCisgIGNvbmZpZ3Vy
YWJsZTogdHJ1ZSwKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNw
bGF5TmFtZXMvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9yZXR1cm4tb2JqZWN0LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3Rv
dHlwZS9yZXNvbHZlZE9wdGlvbnMvcmV0dXJuLW9iamVjdC5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcmVzb2x2
ZWRPcHRpb25zL3JldHVybi1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5NSBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtSW50bC5EaXNwbGF5TmFtZXMucHJv
dG90eXBlLnJlc29sdmVkT3B0aW9ucworZGVzY3JpcHRpb246ID4KKyAgUmV0dXJucyBhIG5ldyBv
cmRpbmFyeSBvYmplY3Qgb24gZWFjaCBjYWxsLCB3aXRoIGRhdGEgcHJvcGVydGllcyBjb250YWlu
aW5nIHZhbHVlcyBmcm9tIGludGVybmFscworaW5mbzogfAorICBJbnRsLkRpc3BsYXlOYW1lcy5w
cm90b3R5cGUucmVzb2x2ZWRPcHRpb25zICgpCisKKyAgMS4gTGV0IHByIGJlIHRoZSB0aGlzIHZh
bHVlLgorICAyLiBJZiBUeXBlKHByKSBpcyBub3QgT2JqZWN0IG9yIHByIGRvZXMgbm90IGhhdmUg
YW4gW1tJbml0aWFsaXplZERpc3BsYXlOYW1lc11dIGludGVybmFsIHNsb3QsCisgICAgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAzLiBMZXQgb3B0aW9ucyBiZSAhIE9iamVjdENyZWF0
ZSglT2JqZWN0UHJvdG90eXBlJSkuCisgIDQuIEZvciBlYWNoIHJvdyBvZiBUYWJsZSA2LCBleGNl
cHQgdGhlIGhlYWRlciByb3csIGluIHRhYmxlIG9yZGVyLCBkbworICAgIGEuIExldCBwIGJlIHRo
ZSBQcm9wZXJ0eSB2YWx1ZSBvZiB0aGUgY3VycmVudCByb3cuCisgICAgYi4gTGV0IHYgYmUgdGhl
IHZhbHVlIG9mIHByJ3MgaW50ZXJuYWwgc2xvdCB3aG9zZSBuYW1lIGlzIHRoZSBJbnRlcm5hbCBT
bG90IHZhbHVlIG9mIHRoZSBjdXJyZW50IHJvdy4KKyAgICBjLiBJZiB2IGlzIG5vdCB1bmRlZmlu
ZWQsIHRoZW4KKyAgICAgIGkuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KG9w
dGlvbnMsIHAsIHYpLgorICA2LiBSZXR1cm4gb3B0aW9ucy4KKworICBUYWJsZSA2OiBSZXNvbHZl
ZCBPcHRpb25zIG9mIERpc3BsYXlOYW1lcyBJbnN0YW5jZXMKKworICBbW0xvY2FsZV1dOiAibG9j
YWxlIgorICBbW1N0eWxlXV06ICJzdHlsZSIKKyAgW1tUeXBlXV06ICJ0eXBlIgorICBbW0ZhbGxi
YWNrXV06ICJmYWxsYmFjayIKKworICBJbnRsLkRpc3BsYXlOYW1lcyAoWyBsb2NhbGVzIFsgLCBv
cHRpb25zIF1dKQorCisgIC4uLgorICA4LiBMZXQgbWF0Y2hlciBiZSA/IEdldE9wdGlvbihvcHRp
b25zLCAibG9jYWxlTWF0Y2hlciIsICJzdHJpbmciLCDCqyAibG9va3VwIiwgImJlc3QgZml0IiDC
uywgImJlc3QgZml0IikuCisgIC4uLgorICAxMC4gTGV0IHIgYmUgUmVzb2x2ZUxvY2FsZSglRGlz
cGxheU5hbWVzJS5bW0F2YWlsYWJsZUxvY2FsZXNdXSwgcmVxdWVzdGVkTG9jYWxlcywgb3B0LAor
ICAgICVEaXNwbGF5TmFtZXMlLltbUmVsZXZhbnRFeHRlbnNpb25LZXlzXV0pLgorICAxMS4gTGV0
IHN0eWxlIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJzdHlsZSIsICJzdHJpbmciLCDCqyAibmFy
cm93IiwgInNob3J0IiwgImxvbmciIMK7LCAibG9uZyIpLgorICAuLi4KKyAgMTMuIExldCB0eXBl
IGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJ0eXBlIiwgInN0cmluZyIsIMKrICJsYW5ndWFnZSIs
ICJyZWdpb24iLCAic2NyaXB0IiwgImN1cnJlbmN5IiwKKyAgICAid2Vla2RheSIsICJtb250aCIs
ICJxdWFydGVyIiwgImRheVBlcmlvZCIsICJkYXRlVGltZUZpZWxkIiDCuywgImxhbmd1YWdlIiku
CisgIC4uLgorICAxNS4gTGV0IGZhbGxiYWNrIGJlID8gR2V0T3B0aW9uKG9wdGlvbnMsICJmYWxs
YmFjayIsICJzdHJpbmciLCDCqyAiY29kZSIsICJub25lIiDCuywgImNvZGUiKS4KKyAgLi4uCisg
IDE3LiBTZXQgZGlzcGxheU5hbWVzLltbTG9jYWxlXV0gdG8gdGhlIHZhbHVlIG9mIHIuW1tMb2Nh
bGVdXS4KKyAgLi4uCisKKyAgQ3JlYXRlRGF0YVByb3BlcnR5ICggTywgUCwgViApCisKKyAgLi4u
CisgIDMuIExldCBuZXdEZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW1ZhbHVlXV06
IFYsIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsCisgICAgW1tDb25m
aWd1cmFibGVdXTogdHJ1ZSB9LgorICAuLi4KK2xvY2FsZTogW2VuLVVTXQorZmVhdHVyZXM6IFtJ
bnRsLkRpc3BsYXlOYW1lcywgUmVmbGVjdF0KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanMs
IGNvbXBhcmVBcnJheS5qc10KKy0tLSovCisKK3ZhciBkbiA9IG5ldyBJbnRsLkRpc3BsYXlOYW1l
cygnZW4tVVMnKTsKKwordmFyIG9wdGlvbnMgPSBkbi5yZXNvbHZlZE9wdGlvbnMoKTsKK3ZhciBv
dGhlciA9IGRuLnJlc29sdmVkT3B0aW9ucygpOworCithc3NlcnQubm90U2FtZVZhbHVlKG9wdGlv
bnMsIG90aGVyLCAnZWFjaCBjYWxsIHJldHVybnMgYSBuZXcgb2JqZWN0Jyk7CisKK2Fzc2VydC5z
YW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKG9wdGlvbnMpLCBPYmplY3QucHJvdG90eXBl
LCAnb3JkaW5hcnkgb2JqZWN0ICMxJyk7Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90
b3R5cGVPZihvdGhlciksIE9iamVjdC5wcm90b3R5cGUsICdvcmRpbmFyeSBvYmplY3QgIzInKTsK
KworYXNzZXJ0LmNvbXBhcmVBcnJheSgKKyAgUmVmbGVjdC5vd25LZXlzKG9wdGlvbnMpLAorICBb
J2xvY2FsZScsICdzdHlsZScsICd0eXBlJywgJ2ZhbGxiYWNrJ10sCisgICdhbGwgdGhlIGRhdGEg
cHJvcGVydGllcyBzZXQgdG8gdGhpcyBvYmplY3QsIGluIG9yZGVyIG9mIGNyZWF0aW9uJworKTsK
KwordmVyaWZ5UHJvcGVydHkob3B0aW9ucywgJ2xvY2FsZScsIHsKKyAgdmFsdWU6ICdlbi1VUycs
CisgIHdyaXRhYmxlOiB0cnVlLAorICBlbnVtZXJhYmxlOiB0cnVlLAorICBjb25maWd1cmFibGU6
IHRydWUKK30pOworCit2YXIgZXhwbGljaXQgPSBuZXcgSW50bC5EaXNwbGF5TmFtZXMoJ2VuJywg
eyBsb2NhbGVNYXRjaGVyOiAnbG9va3VwJyB9KS5yZXNvbHZlZE9wdGlvbnMoKTsKKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgZXhwbGljaXQuaGFzT3duUHJvcGVydHkoJ2xvY2FsZU1hdGNoZXInKSwK
KyAgZmFsc2UsCisgICd0aGUgbG9jYWxlTWF0Y2hlciBvcHRpb24gaXMgbm90IHNldCwgb3B0aW9u
IHdhcyBleHBsaWNpdGx5IHNldCcKKyk7CisKK3ZhciBleHRyYSA9IG5ldyBJbnRsLkRpc3BsYXlO
YW1lcygnZW4nLCB7IGNoYW9zOiAneWVzJywgcmFuZG9tOiAnc3VyZScsICcwJzogNDIgfSkucmVz
b2x2ZWRPcHRpb25zKCk7CisKK2Fzc2VydC5jb21wYXJlQXJyYXkoCisgIFJlZmxlY3Qub3duS2V5
cyhleHRyYSksCisgIFsnbG9jYWxlJywgJ3N0eWxlJywgJ3R5cGUnLCAnZmFsbGJhY2snXSwKKyAg
J2V4dHJhIHByb3BlcnRpZXMgYXJlIG5vdCByZWZsZWN0ZWQgaW4gdGhlIHJlc29sdmVkT3B0aW9u
cycKKyk7CisKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVz
L3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvdGhpcy1ub3Qtb2JqZWN0LXRocm93cy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90
b3R5cGUvcmVzb2x2ZWRPcHRpb25zL3RoaXMtbm90LW9iamVjdC10aHJvd3MuanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90
eXBlL3Jlc29sdmVkT3B0aW9ucy90aGlzLW5vdC1vYmplY3QtdGhyb3dzLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNDcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBMZW8gQmFsdGVyLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLUlu
dGwuRGlzcGxheU5hbWVzLnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMKK2Rlc2NyaXB0aW9uOiA+
CisgIFRocm93cyBhIFR5cGVFcnJvciBpZiB0aGlzIGlzIG5vdCBPYmplY3QuCitpbmZvOiB8Cisg
IEludGwuRGlzcGxheU5hbWVzLnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMgKCkKKworICAxLiBM
ZXQgcHIgYmUgdGhlIHRoaXMgdmFsdWUuCisgIDIuIElmIFR5cGUocHIpIGlzIG5vdCBPYmplY3Qg
b3IgcHIgZG9lcyBub3QgaGF2ZSBhbiBbW0luaXRpYWxpemVkRGlzcGxheU5hbWVzXV0gaW50ZXJu
YWwgc2xvdCwKKyAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgorZmVhdHVy
ZXM6IFtJbnRsLkRpc3BsYXlOYW1lcywgU3ltYm9sXQorLS0tKi8KKwordmFyIHJlc29sdmVkT3B0
aW9ucyA9IEludGwuRGlzcGxheU5hbWVzLnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnM7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgcmVzb2x2ZWRPcHRpb25zKCk7
Cit9LCAnZGlyZWN0IGNhbGwnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9u
KCkgeworICByZXNvbHZlZE9wdGlvbnMuY2FsbCgnZW4nKTsKK30sICdzdHJpbmcnKTsKKworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICByZXNvbHZlZE9wdGlvbnMuY2Fs
bCgxKTsKK30sICdudW1iZXInKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9u
KCkgeworICByZXNvbHZlZE9wdGlvbnMuY2FsbChudWxsKTsKK30sICdudWxsJyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgcmVzb2x2ZWRPcHRpb25zLmNhbGwo
dHJ1ZSk7Cit9LCAndHJ1ZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7CisgIHJlc29sdmVkT3B0aW9ucy5jYWxsKGZhbHNlKTsKK30sICdmYWxzZScpOworCit2YXIg
c3ltYm9sID0gU3ltYm9sKCk7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7
CisgIHJlc29sdmVkT3B0aW9ucy5jYWxsKHN5bWJvbCk7Cit9LCAnc3ltYm9sJyk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvcmVzb2x2
ZWRPcHRpb25zL3RoaXMtb2JqZWN0LWxhY2tzLWludGVybmFsLXRocm93cy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUv
cmVzb2x2ZWRPcHRpb25zL3RoaXMtb2JqZWN0LWxhY2tzLWludGVybmFsLXRocm93cy5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9w
cm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL3RoaXMtb2JqZWN0LWxhY2tzLWludGVybmFsLXRocm93
cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQxIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MTkgTGVvIEJhbHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyot
LS0KK2VzaWQ6IHNlYy1JbnRsLkRpc3BsYXlOYW1lcy5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25z
CitkZXNjcmlwdGlvbjogPgorICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgdGhpcyBkb2VzIG5vdCBo
YXZlIGFuIFtbSW5pdGlhbGl6ZWREaXNwbGF5TmFtZXNdXSBpbnRlcm5hbCBzbG90LgoraW5mbzog
fAorICBJbnRsLkRpc3BsYXlOYW1lcy5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zICgpCisKKyAg
MS4gTGV0IHByIGJlIHRoZSB0aGlzIHZhbHVlLgorICAyLiBJZiBUeXBlKHByKSBpcyBub3QgT2Jq
ZWN0IG9yIHByIGRvZXMgbm90IGhhdmUgYW4gW1tJbml0aWFsaXplZERpc3BsYXlOYW1lc11dIGlu
dGVybmFsIHNsb3QsCisgICAgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2Zl
YXR1cmVzOiBbSW50bC5EaXNwbGF5TmFtZXNdCistLS0qLworCit2YXIgcmVzb2x2ZWRPcHRpb25z
ID0gSW50bC5EaXNwbGF5TmFtZXMucHJvdG90eXBlLnJlc29sdmVkT3B0aW9uczsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBJbnRsLkRpc3BsYXlOYW1lcy5wcm90
b3R5cGUucmVzb2x2ZWRPcHRpb25zKCk7Cit9LCAnSW50bC5EaXNwbGF5TmFtZXMucHJvdG90eXBl
IGRvZXMgbm90IGhhdmUgdGhlIGludGVybmFsIHNsb3QnKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgeworICByZXNvbHZlZE9wdGlvbnMuY2FsbCh7fSk7Cit9LCAnb3Jk
aW5hcnkgb2JqZWN0Jyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsK
KyAgcmVzb2x2ZWRPcHRpb25zLmNhbGwoSW50bC5EaXNwbGF5TmFtZXMpOworfSwgJ0ludGwuRGlz
cGxheU5hbWVzIGRvZXMgbm90IGhhdmUgdGhlIGludGVybmFsIHNsb3QnKTsKKworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICByZXNvbHZlZE9wdGlvbnMuY2FsbChJbnRs
KTsKK30sICdJbnRsIGRvZXMgbm90IGhhdmUgdGhlIGludGVybmFsIHNsb3QnKTsKKworLy8gTm90
IERpc3BsYXlOYW1lcyEhIQordmFyIGR0ZiA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCk7CisK
K2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgcmVzb2x2ZWRPcHRpb25z
LmNhbGwoZHRmKTsKK30sICdyZXNvbHZlZE9wdGlvbnMgY2Fubm90IGJlIHVzZWQgd2l0aCBpbnN0
YW5jZXMgZnJvbSBkaWZmZXJlbnQgSW50bCBjdG9ycycpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZGVzdHJ1Y3R1cmluZy9iaW5kaW5nL3N5bnRheC9wcm9wZXJ0eS1saXN0
LXNpbmdsZS1uYW1lLWJpbmRpbmdzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2Rlc3RydWN0dXJpbmcvYmluZGluZy9zeW50YXgvcHJvcGVydHktbGlzdC1z
aW5nbGUtbmFtZS1iaW5kaW5ncy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZGVzdHJ1Y3R1cmluZy9iaW5kaW5nL3N5bnRheC9wcm9wZXJ0eS1s
aXN0LXNpbmdsZS1uYW1lLWJpbmRpbmdzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw0ICszMCw0
IEBAIGZlYXR1cmVzOiBbZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQogZnVuY3Rpb24gZm5hKHt4fSkg
e30KIGZ1bmN0aW9uIGZuYih7eCwgeX0pIHt9CiBmdW5jdGlvbiBmbmMoe3ggPSA0Mn0pIHt9Ci1m
dW5jdGlvbiBmbmQoe3gsIHkgPSA0Mn0pIHt9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
ZnVuY3Rpb24gZm5kKHt4LCB5ID0gNDJ9KSB7fQpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYWRkaXRpb24vYmlnaW50LWFuZC1udW1iZXIuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYWRkaXRp
b24vYmlnaW50LWFuZC1udW1iZXIuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FkZGl0aW9uL2JpZ2ludC1hbmQtbnVtYmVy
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC04Miw0ICs4Miw0IEBAIGFzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCBmdW5jdGlvbigpIHsKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkg
ewogICB1bmRlZmluZWQgKyAxbjsKLX0sICd1bmRlZmluZWQgKyAxbiB0aHJvd3MgVHlwZUVycm9y
Jyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSwgJ3VuZGVmaW5lZCArIDFuIHRocm93
cyBUeXBlRXJyb3InKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2FkZGl0aW9uL2JpZ2ludC1hcml0aG1ldGljLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FkZGl0aW9uL2JpZ2ludC1hcml0
aG1ldGljLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9hZGRpdGlvbi9iaWdpbnQtYXJpdGhtZXRpYy5qcwkod29ya2luZyBj
b3B5KQpAQCAtMTM5OCw0ICsxMzk4LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgLTB4RkVEQ0JB
OTg3NjU0MzIxMG4gKyAtMHhGRURDQkE5ODc2NTQzMjEwbiwKICAgLTB4MUZEQjk3NTMwRUNBODY0
MjBuLAogICAnVGhlIHJlc3VsdCBvZiAoLTB4RkVEQ0JBOTg3NjU0MzIxMG4gKyAtMHhGRURDQkE5
ODc2NTQzMjEwbikgaXMgLTB4MUZEQjk3NTMwRUNBODY0MjBuJwotKTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCispOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYWRkaXRpb24vYmlnaW50LWVycm9ycy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hZGRpdGlvbi9iaWdpbnQtZXJyb3Jz
LmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9hZGRpdGlvbi9iaWdpbnQtZXJyb3JzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC02
Nyw0ICs2Nyw0IEBAIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICAg
IHJldHVybiBTeW1ib2woJzEnKTsKICAgICB9CiAgIH07Ci19LCAnMG4gKyB7dG9TdHJpbmc6IGZ1
bmN0aW9uKCkge3JldHVybiBTeW1ib2woIjEiKTt9fSB0aHJvd3MgVHlwZUVycm9yJyk7ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSwgJzBuICsge3RvU3RyaW5nOiBmdW5jdGlvbigpIHty
ZXR1cm4gU3ltYm9sKCIxIik7fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYWRkaXRpb24vYmlnaW50LXRvcHJpbWl0
aXZlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2FkZGl0aW9uL2JpZ2ludC10b3ByaW1pdGl2ZS5qcwkocmV2aXNpb24gMjU0MDA3KQor
KysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYWRkaXRpb24vYmln
aW50LXRvcHJpbWl0aXZlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zNjksNCArMzY5LDQgQEAgYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICAgcmV0dXJuIHt9OwogICAg
IH0KICAgfTsKLX0sICcwbiArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge307fSwgdG9T
dHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9fSB0aHJvd3MgVHlwZUVycm9yJyk7ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSwgJzBuICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Jl
dHVybiB7fTt9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9O319IHRocm93cyBUeXBl
RXJyb3InKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2FkZGl0aW9uL2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hZGRpdGlvbi9iaWdpbnQtd3JhcHBl
ZC12YWx1ZXMuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2FkZGl0aW9uL2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcwkod29y
a2luZyBjb3B5KQpAQCAtNDIsNCArNDIsNCBAQCBhc3NlcnQuc2FtZVZhbHVlKDFuICsgewogICB0
b1N0cmluZzogZnVuY3Rpb24oKSB7CiAgICAgcmV0dXJuIDJuOwogICB9Ci19LCAzbiwgJ1RoZSBy
ZXN1bHQgb2YgKDFuICsge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMm47fX0pIGlzIDNu
Jyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSwgM24sICdUaGUgcmVzdWx0IG9mICgx
biArIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJuO319KSBpcyAzbicpOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24v
ZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9ldmFsLXZhci1zY29w
ZS1zeW50YXgtZXJyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1l
cnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NyBAQAorLy8gVGhpcyBmaWxlIHdhcyBw
cm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBz
cmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5jYXNlCisvLyAtIHNy
Yy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9hcnJvdy1mdW5jdGlvbi50ZW1wbGF0ZQorLyotLS0KK2Rl
c2NyaXB0aW9uOiBzbG9wcHkgZGlyZWN0IGV2YWwgaW4gcGFyYW1zIGludHJvZHVjZXMgdmFyIChh
cnJvdyBmdW5jdGlvbiBleHByZXNzaW9uKQorZXNpZDogc2VjLWFycm93LWZ1bmN0aW9uLWRlZmlu
aXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVmYXVsdC1w
YXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQXJyb3dGdW5jdGlv
biA6IEFycm93UGFyYW1ldGVycyA9PiBDb25jaXNlQm9keQorCisgICAgWy4uLl0KKyAgICA0LiBM
ZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShBcnJvdywgcGFyYW1ldGVycywgQ29uY2lzZUJv
ZHksIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRo
aXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3Vs
dCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4u
Ll0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRz
TGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50
aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rp
b25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsu
Li5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToK
KyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFs
c2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4u
Ll0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRv
ckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJh
dG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICAKKyAgICBS
dW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKyAgICBGb3Jt
YWxQYXJhbWV0ZXIgOiBCaW5kaW5nRWxlbWVudAorCisgICAgMS4gUmV0dXJuIHRoZSByZXN1bHQg
b2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ0Vs
ZW1lbnQgd2l0aCBhcmd1bWVudHMgaXRlcmF0b3JSZWNvcmQgYW5kIGVudmlyb25tZW50LgorCist
LS0qLworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9IChhID0gZXZhbCgidmFyIGEg
PSA0MiIpKSA9PiB7CisgIAorICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworfTsKKworYXNz
ZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rpb24oKSB7CisgIGYoKTsKK30pOworYXNzZXJ0
LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdhcnJvdyBmdW5jdGlvbiBib2R5IG5vdCBldmFsdWF0
ZWQnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fy
cm93LWZ1bmN0aW9uL3Njb3BlLXBhcmFtLWVsZW0tdmFyLWNsb3NlLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9u
L3Njb3BlLXBhcmFtLWVsZW0tdmFyLWNsb3NlLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9zY29w
ZS1wYXJhbS1lbGVtLXZhci1jbG9zZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwxOCArMSwxNiBA
QAogLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQotZXNpZDogc2VjLWZ1bmN0aW9uLWRl
ZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWl0ZXJhdG9yYmluZGluZ2luaXRpYWxpemF0aW9u
Citlc2lkOiBzZWMtZnVuY3Rpb25kZWNsYXJhdGlvbmluc3RhbnRpYXRpb24KIGRlc2NyaXB0aW9u
OiA+Ci0gICAgUmVtb3ZhbCBvZiB2YXJpYWJsZSBlbnZpcm9ubWVudCBmb3IgZWFjaCBCaW5kaW5n
RWxlbWVudCBmb3JtYWwgcGFyYW1ldGVyCisgICAgc2xvcHB5IGRpcmVjdCBldmFscyBpbiBwYXJh
bXMgaW50cm9kdWNlIHZhcnMKIGluZm86IHwKICAgICBbLi4uXQotICAgIDYuIExldCBwYXJhbVZh
ckVudiBiZSBOZXdEZWNsYXJhdGl2ZUVudmlyb25tZW50KG9yaWdpbmFsRW52KS4KLSAgICA3LiBT
ZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gcGFyYW1WYXJF
bnYuCi0gICAgOC4gU2V0IHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQg
dG8gcGFyYW1WYXJFbnYuCi0gICAgOS4gTGV0IHJlc3VsdCBiZSB0aGUgcmVzdWx0IG9mIHBlcmZv
cm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yCi0gICAgICAgQmluZGluZ0Vs
ZW1lbnQgdXNpbmcgaXRlcmF0b3JSZWNvcmQgYW5kIGVudmlyb25tZW50IGFzIHRoZSBhcmd1bWVu
dHMuCi0gICAgMTAuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4
dCB0byBvcmlnaW5hbEVudi4KLSAgICAxMS4gU2V0IHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2Yg
Y3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCisgICAgMjAuIEVsc2UsCisgICAgICBhLiBO
T1RFOiBBIHNlcGFyYXRlIEVudmlyb25tZW50IFJlY29yZCBpcyBuZWVkZWQgdG8gZW5zdXJlIHRo
YXQgYmluZGluZ3MgY3JlYXRlZCBieSBkaXJlY3QgZXZhbCBjYWxscyBpbiB0aGUgZm9ybWFsIHBh
cmFtZXRlciBsaXN0IGFyZSBvdXRzaWRlIHRoZSBlbnZpcm9ubWVudCB3aGVyZSBwYXJhbWV0ZXJz
IGFyZSBkZWNsYXJlZC4KKyAgICAgIGIuIExldCBjYWxsZWVFbnYgYmUgdGhlIExleGljYWxFbnZp
cm9ubWVudCBvZiBjYWxsZWVDb250ZXh0LgorICAgICAgYy4gTGV0IGVudiBiZSBOZXdEZWNsYXJh
dGl2ZUVudmlyb25tZW50KGNhbGxlZUVudikuCisgICAgICBkLiBMZXQgZW52UmVjIGJlIGVudidz
IEVudmlyb25tZW50UmVjb3JkLgogICAgIFsuLi5dCiBmbGFnczogW25vU3RyaWN0XQogLS0tKi8K
QEAgLTI4LDUgKzI2LDUgQEAgdmFyIHByb2JlMSwgcHJvYmUyLCBwcm9iZUJvZHk7CiB9KSgpOwog
CiBhc3NlcnQuc2FtZVZhbHVlKHByb2JlMSgpLCAnaW5zaWRlJyk7Ci1hc3NlcnQuc2FtZVZhbHVl
KHByb2JlMigpLCAnb3V0c2lkZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZUJvZHkoKSwgJ291
dHNpZGUnKTsKK2Fzc2VydC5zYW1lVmFsdWUocHJvYmUyKCksICdpbnNpZGUnKTsKK2Fzc2VydC5z
YW1lVmFsdWUocHJvYmVCb2R5KCksICdpbnNpZGUnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL3Njb3BlLXBhcmFtLWVsZW0t
dmFyLW9wZW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vc2NvcGUtcGFyYW0tZWxlbS12YXItb3Blbi5qcwko
cmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXJyb3ctZnVuY3Rpb24vc2NvcGUtcGFyYW0tZWxlbS12YXItb3Blbi5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxOSArMSwxNiBAQAogLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBw
cm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0t
LQotZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWl0ZXJh
dG9yYmluZGluZ2luaXRpYWxpemF0aW9uCitlc2lkOiBzZWMtZnVuY3Rpb25kZWNsYXJhdGlvbmlu
c3RhbnRpYXRpb24KIGRlc2NyaXB0aW9uOiA+Ci0gICAgQ3JlYXRpb24gb2YgbmV3IHZhcmlhYmxl
IGVudmlyb25tZW50IGZvciBlYWNoIEJpbmRpbmdFbGVtZW50IGZvcm1hbAotICAgIHBhcmFtZXRl
cgorICAgIHNsb3BweSBkaXJlY3QgZXZhbHMgaW4gcGFyYW1zIGludHJvZHVjZSB2YXJzCiBpbmZv
OiB8CiAgICAgWy4uLl0KLSAgICA2LiBMZXQgcGFyYW1WYXJFbnYgYmUgTmV3RGVjbGFyYXRpdmVF
bnZpcm9ubWVudChvcmlnaW5hbEVudikuCi0gICAgNy4gU2V0IHRoZSBWYXJpYWJsZUVudmlyb25t
ZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAgIDguIFNldCB0aGUgTGV4
aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAgIDku
IExldCByZXN1bHQgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0lu
aXRpYWxpemF0aW9uIGZvcgotICAgICAgIEJpbmRpbmdFbGVtZW50IHVzaW5nIGl0ZXJhdG9yUmVj
b3JkIGFuZCBlbnZpcm9ubWVudCBhcyB0aGUgYXJndW1lbnRzLgotICAgIDEwLiBTZXQgdGhlIFZh
cmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCi0gICAg
MTEuIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdp
bmFsRW52LgorICAgIDIwLiBFbHNlLAorICAgICAgYS4gTk9URTogQSBzZXBhcmF0ZSBFbnZpcm9u
bWVudCBSZWNvcmQgaXMgbmVlZGVkIHRvIGVuc3VyZSB0aGF0IGJpbmRpbmdzIGNyZWF0ZWQgYnkg
ZGlyZWN0IGV2YWwgY2FsbHMgaW4gdGhlIGZvcm1hbCBwYXJhbWV0ZXIgbGlzdCBhcmUgb3V0c2lk
ZSB0aGUgZW52aXJvbm1lbnQgd2hlcmUgcGFyYW1ldGVycyBhcmUgZGVjbGFyZWQuCisgICAgICBi
LiBMZXQgY2FsbGVlRW52IGJlIHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY2FsbGVlQ29udGV4
dC4KKyAgICAgIGMuIExldCBlbnYgYmUgTmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChjYWxsZWVF
bnYpLgorICAgICAgZC4gTGV0IGVudlJlYyBiZSBlbnYncyBFbnZpcm9ubWVudFJlY29yZC4KICAg
ICBbLi4uXQogZmxhZ3M6IFtub1N0cmljdF0KIC0tLSovCkBAIC0yNyw1ICsyNCw1IEBAIHZhciBw
cm9iZTEsIHByb2JlMjsKICAgKSA9PiB7CiB9KSgpOwogCi1hc3NlcnQuc2FtZVZhbHVlKHByb2Jl
MSgpLCAnb3V0c2lkZScpOworYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ2luc2lkZScpOwog
YXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTIoKSwgJ2luc2lkZScpOwpJbmRleDogSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vc2NvcGUtcGFyYW0t
cmVzdC1lbGVtLXZhci1jbG9zZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9zY29wZS1wYXJhbS1yZXN0LWVs
ZW0tdmFyLWNsb3NlLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9zY29wZS1wYXJhbS1yZXN0LWVs
ZW0tdmFyLWNsb3NlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI0ICsxLDE2IEBACiAvLyBDb3B5
cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCi1lc2lkOiBzZWMtZnVuY3Rpb24tZGVmaW5pdGlvbnMt
cnVudGltZS1zZW1hbnRpY3MtaXRlcmF0b3JiaW5kaW5naW5pdGlhbGl6YXRpb24KK2VzaWQ6IHNl
Yy1mdW5jdGlvbmRlY2xhcmF0aW9uaW5zdGFudGlhdGlvbgogZGVzY3JpcHRpb246ID4KLSAgICBS
ZW1vdmFsIG9mIHZhcmlhYmxlIGVudmlyb25tZW50IGZvciB0aGUgQmluZGluZ1Jlc3RFbGVtZW50
IGZvcm1hbCBwYXJhbWV0ZXIKKyAgICBzbG9wcHkgZGlyZWN0IGV2YWxzIGluIHBhcmFtcyBpbnRy
b2R1Y2UgdmFycwogaW5mbzogfAogICAgIFsuLi5dCi0gICAgMi4gTGV0IGN1cnJlbnRDb250ZXh0
IGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0LgotICAgIDMuIExldCBvcmlnaW5hbEVu
diBiZSB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dC4KLSAgICA0LiBB
c3NlcnQ6IFRoZSBWYXJpYWJsZUVudmlyb25tZW50IGFuZCBMZXhpY2FsRW52aXJvbm1lbnQgb2Yg
Y3VycmVudENvbnRleHQKLSAgICAgICBhcmUgdGhlIHNhbWUuCi0gICAgNS4gQXNzZXJ0OiBlbnZp
cm9ubWVudCBhbmQgb3JpZ2luYWxFbnYgYXJlIHRoZSBzYW1lLgotICAgIDYuIExldCBwYXJhbVZh
ckVudiBiZSBOZXdEZWNsYXJhdGl2ZUVudmlyb25tZW50KG9yaWdpbmFsRW52KS4KLSAgICA3LiBT
ZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gcGFyYW1WYXJF
bnYuCi0gICAgOC4gU2V0IHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQg
dG8gcGFyYW1WYXJFbnYuCi0gICAgOS4gTGV0IHJlc3VsdCBiZSB0aGUgcmVzdWx0IG9mIHBlcmZv
cm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yCi0gICAgICAgQmluZGluZ1Jl
c3RFbGVtZW50IHVzaW5nIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudCBhcyB0aGUKLSAg
ICAgICBhcmd1bWVudHMuCi0gICAgMTAuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBj
dXJyZW50Q29udGV4dCB0byBvcmlnaW5hbEVudi4KLSAgICAxMS4gU2V0IHRoZSBMZXhpY2FsRW52
aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCisgICAgMjAuIEVsc2Us
CisgICAgICBhLiBOT1RFOiBBIHNlcGFyYXRlIEVudmlyb25tZW50IFJlY29yZCBpcyBuZWVkZWQg
dG8gZW5zdXJlIHRoYXQgYmluZGluZ3MgY3JlYXRlZCBieSBkaXJlY3QgZXZhbCBjYWxscyBpbiB0
aGUgZm9ybWFsIHBhcmFtZXRlciBsaXN0IGFyZSBvdXRzaWRlIHRoZSBlbnZpcm9ubWVudCB3aGVy
ZSBwYXJhbWV0ZXJzIGFyZSBkZWNsYXJlZC4KKyAgICAgIGIuIExldCBjYWxsZWVFbnYgYmUgdGhl
IExleGljYWxFbnZpcm9ubWVudCBvZiBjYWxsZWVDb250ZXh0LgorICAgICAgYy4gTGV0IGVudiBi
ZSBOZXdEZWNsYXJhdGl2ZUVudmlyb25tZW50KGNhbGxlZUVudikuCisgICAgICBkLiBMZXQgZW52
UmVjIGJlIGVudidzIEVudmlyb25tZW50UmVjb3JkLgogICAgIFsuLi5dCiBmbGFnczogW25vU3Ry
aWN0XQogLS0tKi8KQEAgLTMzLDQgKzI1LDQgQEAgdmFyIHByb2JlUGFyYW0sIHByb2JlQm9keTsK
IH0pKCk7CiAKIGFzc2VydC5zYW1lVmFsdWUocHJvYmVQYXJhbSgpLCAnaW5zaWRlJyk7Ci1hc3Nl
cnQuc2FtZVZhbHVlKHByb2JlQm9keSgpLCAnb3V0c2lkZScpOworYXNzZXJ0LnNhbWVWYWx1ZShw
cm9iZUJvZHkoKSwgJ2luc2lkZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1v
cGVuLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2Fycm93LWZ1bmN0aW9uL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5qcwko
cmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXJyb3ctZnVuY3Rpb24vc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDI0ICsxLDE2IEBACiAvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhl
IFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
IC8qLS0tCi1lc2lkOiBzZWMtZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3Mt
aXRlcmF0b3JiaW5kaW5naW5pdGlhbGl6YXRpb24KK2VzaWQ6IHNlYy1mdW5jdGlvbmRlY2xhcmF0
aW9uaW5zdGFudGlhdGlvbgogZGVzY3JpcHRpb246ID4KLSAgICBDcmVhdGlvbiBvZiBuZXcgdmFy
aWFibGUgZW52aXJvbm1lbnQgZm9yIHRoZSBCaW5kaW5nUmVzdEVsZW1lbnQgZm9ybWFsCi0gICAg
cGFyYW1ldGVyCisgICAgc2xvcHB5IGRpcmVjdCBldmFscyBpbiBwYXJhbXMgaW50cm9kdWNlIHZh
cnMKIGluZm86IHwKICAgICBbLi4uXQotICAgIDIuIExldCBjdXJyZW50Q29udGV4dCBiZSB0aGUg
cnVubmluZyBleGVjdXRpb24gY29udGV4dC4KLSAgICAzLiBMZXQgb3JpZ2luYWxFbnYgYmUgdGhl
IFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQuCi0gICAgNC4gQXNzZXJ0OiBU
aGUgVmFyaWFibGVFbnZpcm9ubWVudCBhbmQgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRD
b250ZXh0Ci0gICAgICAgYXJlIHRoZSBzYW1lLgotICAgIDUuIEFzc2VydDogZW52aXJvbm1lbnQg
YW5kIG9yaWdpbmFsRW52IGFyZSB0aGUgc2FtZS4KLSAgICA2LiBMZXQgcGFyYW1WYXJFbnYgYmUg
TmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChvcmlnaW5hbEVudikuCi0gICAgNy4gU2V0IHRoZSBW
YXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAg
IDguIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFt
VmFyRW52LgotICAgIDkuIExldCByZXN1bHQgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0
ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvcgotICAgICAgQmluZGluZ1Jlc3RFbGVtZW50
IHVzaW5nIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudCBhcyB0aGUgYXJndW1lbnRzLgot
ICAgIDEwLiBTZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8g
b3JpZ2luYWxFbnYuCi0gICAgMTEuIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJl
bnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgorICAgIDIwLiBFbHNlLAorICAgICAgYS4gTk9URTog
QSBzZXBhcmF0ZSBFbnZpcm9ubWVudCBSZWNvcmQgaXMgbmVlZGVkIHRvIGVuc3VyZSB0aGF0IGJp
bmRpbmdzIGNyZWF0ZWQgYnkgZGlyZWN0IGV2YWwgY2FsbHMgaW4gdGhlIGZvcm1hbCBwYXJhbWV0
ZXIgbGlzdCBhcmUgb3V0c2lkZSB0aGUgZW52aXJvbm1lbnQgd2hlcmUgcGFyYW1ldGVycyBhcmUg
ZGVjbGFyZWQuCisgICAgICBiLiBMZXQgY2FsbGVlRW52IGJlIHRoZSBMZXhpY2FsRW52aXJvbm1l
bnQgb2YgY2FsbGVlQ29udGV4dC4KKyAgICAgIGMuIExldCBlbnYgYmUgTmV3RGVjbGFyYXRpdmVF
bnZpcm9ubWVudChjYWxsZWVFbnYpLgorICAgICAgZC4gTGV0IGVudlJlYyBiZSBlbnYncyBFbnZp
cm9ubWVudFJlY29yZC4KICAgICBbLi4uXQogZmxhZ3M6IFtub1N0cmljdF0KIC0tLSovCkBAIC0z
Miw1ICsyNCw1IEBAIHZhciBwcm9iZTEsIHByb2JlMjsKICAgKSA9PiB7CiB9KSgpOwogCi1hc3Nl
cnQuc2FtZVZhbHVlKHByb2JlMSgpLCAnb3V0c2lkZScpOworYXNzZXJ0LnNhbWVWYWx1ZShwcm9i
ZTEoKSwgJ2luc2lkZScpOwogYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTIoKSwgJ2luc2lkZScpOwpJ
bmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtYXJy
b3ctZnVuY3Rpb24vZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5j
dGlvbi9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWFycm93LWZ1bmN0aW9u
L2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
NCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZv
bGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2NvcGUt
c3ludGF4LWVyci5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9hc3luYy1hcnJv
dy1mdW5jdGlvbi50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBzbG9wcHkgZGlyZWN0IGV2
YWwgaW4gcGFyYW1zIGludHJvZHVjZXMgdmFyIChhc3luYyBhcnJvdyBmdW5jdGlvbiBleHByZXNz
aW9uKQorZXNpZDogc2VjLWFzeW5jLWFycm93LWZ1bmN0aW9uLWRlZmluaXRpb25zCitmZWF0dXJl
czogW2RlZmF1bHQtcGFyYW1ldGVycywgYXN5bmMtZnVuY3Rpb25zXQorZmxhZ3M6IFtnZW5lcmF0
ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIDE0LjcgQXN5bmMgQXJyb3cgRnVuY3Rpb24gRGVmaW5p
dGlvbnMKKworICAgIEFzeW5jQXJyb3dGdW5jdGlvbiA6CisgICAgICAuLi4KKyAgICAgIENvdmVy
Q2FsbEV4cHJlc3Npb25BbmRBc3luY0Fycm93SGVhZCA9PiBBc3luY0NvbmNpc2VCb2R5CisKKyAg
ICBBc3luY0NvbmNpc2VCb2R5IDoKKyAgICAgIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCisgICAg
Li4uCisKKyAgICBTdXBwbGVtZW50YWwgU3ludGF4CisKKyAgICBXaGVuIHByb2Nlc3NpbmcgYW4g
aW5zdGFuY2Ugb2YgdGhlIHByb2R1Y3Rpb24gQXN5bmNBcnJvd0Z1bmN0aW9uIDoKKyAgICBDb3Zl
ckNhbGxFeHByZXNzaW9uQW5kQXN5bmNBcnJvd0hlYWQgPT4gQXN5bmNDb25jaXNlQm9keSB0aGUg
aW50ZXJwcmV0YXRpb24gb2YKKyAgICBDb3ZlckNhbGxFeHByZXNzaW9uQW5kQXN5bmNBcnJvd0hl
YWQgaXMgcmVmaW5lZCB1c2luZyB0aGUgZm9sbG93aW5nIGdyYW1tYXI6CisKKyAgICBBc3luY0Fy
cm93SGVhZCA6CisgICAgICBhc3luYyBBcnJvd0Zvcm1hbFBhcmFtZXRlcnMKKworCisgICAgCisg
ICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisgICAg
Rm9ybWFsUGFyYW1ldGVyIDogQmluZGluZ0VsZW1lbnQKKworICAgIDEuIFJldHVybiB0aGUgcmVz
dWx0IG9mIHBlcmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIEJpbmRp
bmdFbGVtZW50IHdpdGggYXJndW1lbnRzIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudC4K
KworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9IGFzeW5jIChhID0g
ZXZhbCgidmFyIGEgPSA0MiIpKSA9PiB7CisgIAorICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAx
OworfTsKKworZigpCisgIC50aGVuKF8gPT4geworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
J2Z1bmN0aW9uIHNob3VsZCBub3QgYmUgcmVzb2x2ZWQnKTsKKyAgfSwgZXJyb3IgPT4gYXNzZXJ0
LnNhbWVWYWx1ZShlcnJvci5jb25zdHJ1Y3RvciwgU3ludGF4RXJyb3IpKQorICAudGhlbigoKSA9
PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlz
IG5vdCBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpCisgIC50aGVuKCRET05FLCAkRE9ORSk7Cklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5j
dGlvbi9uYW1lZC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25h
bWVkLWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQt
ZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM4
IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9ldmFsLXZhci1zY29wZS1z
eW50YXgtZXJyLmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2Vycm9yL2FzeW5jLWZ1bmMt
ZXhwci1uYW1lZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBzbG9wcHkgZGlyZWN0IGV2
YWwgaW4gcGFyYW1zIGludHJvZHVjZXMgdmFyIChhc3luYyBmdW5jdGlvbiBuYW1lZCBleHByZXNz
aW9uKQorZXNpZDogc2VjLWFzeW5jLWZ1bmN0aW9uLWRlZmluaXRpb25zCitmZWF0dXJlczogW2Rl
ZmF1bHQtcGFyYW1ldGVycywgYXN5bmMtZnVuY3Rpb25zXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFz
eW5jXQoraW5mbzogfAorICAgIDE0LjYgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAg
IEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uIDoKKyAgICAgIGFzeW5jIGZ1bmN0aW9uIEJpbmRpbmdJ
ZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCisK
KyAgICAKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRp
b24KKyAgICBGb3JtYWxQYXJhbWV0ZXIgOiBCaW5kaW5nRWxlbWVudAorCisgICAgMS4gUmV0dXJu
IHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBm
b3IgQmluZGluZ0VsZW1lbnQgd2l0aCBhcmd1bWVudHMgaXRlcmF0b3JSZWNvcmQgYW5kIGVudmly
b25tZW50LgorCistLS0qLworCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIGYgPSBhc3luYyBm
dW5jdGlvbiBmKGEgPSBldmFsKCJ2YXIgYSA9IDQyIikpIHsKKyAgCisgIGNhbGxDb3VudCA9IGNh
bGxDb3VudCArIDE7Cit9CisKK2YoKQorICAudGhlbihfID0+IHsKKyAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7CisgIH0sIGVycm9y
ID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFN5bnRheEVycm9yKSkKKyAg
LnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZnVuY3Rp
b24gYm9keSBpcyBub3QgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKQorICAudGhlbigkRE9ORSwg
JERPTkUpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXN5bmMtZnVuY3Rpb24vbmFtZWxlc3MtZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3lu
Yy1mdW5jdGlvbi9uYW1lbGVzcy1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5j
LWZ1bmN0aW9uL25hbWVsZXNzLWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzOCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9y
bXMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jt
cy9lcnJvci9hc3luYy1mdW5jLWV4cHItbmFtZWxlc3MudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlw
dGlvbjogc2xvcHB5IGRpcmVjdCBldmFsIGluIHBhcmFtcyBpbnRyb2R1Y2VzIHZhciAoYXN5bmMg
ZnVuY3Rpb24gbmFtZWxlc3MgZXhwcmVzc2lvbikKK2VzaWQ6IHNlYy1hc3luYy1mdW5jdGlvbi1k
ZWZpbml0aW9ucworZmVhdHVyZXM6IFtkZWZhdWx0LXBhcmFtZXRlcnMsIGFzeW5jLWZ1bmN0aW9u
c10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICAxNC42IEFzeW5jIEZ1
bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiA6CisgICAg
ICBhc3luYyBmdW5jdGlvbiAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5
IH0KKworCisgICAgCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRp
YWxpemF0aW9uCisgICAgRm9ybWFsUGFyYW1ldGVyIDogQmluZGluZ0VsZW1lbnQKKworICAgIDEu
IFJldHVybiB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6
YXRpb24gZm9yIEJpbmRpbmdFbGVtZW50IHdpdGggYXJndW1lbnRzIGl0ZXJhdG9yUmVjb3JkIGFu
ZCBlbnZpcm9ubWVudC4KKworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmID0g
YXN5bmMgZnVuY3Rpb24oYSA9IGV2YWwoInZhciBhID0gNDIiKSkgeworICAKKyAgY2FsbENvdW50
ID0gY2FsbENvdW50ICsgMTsKK30KKworZigpCisgIC50aGVuKF8gPT4geworICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJ2Z1bmN0aW9uIHNob3VsZCBub3QgYmUgcmVzb2x2ZWQnKTsKKyAgfSwg
ZXJyb3IgPT4gYXNzZXJ0LnNhbWVWYWx1ZShlcnJvci5jb25zdHJ1Y3RvciwgU3ludGF4RXJyb3Ip
KQorICAudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdm
dW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpCisgIC50aGVuKCRE
T05FLCAkRE9ORSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3luYy1nZW5lcmF0b3IvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1n
ZW5lcmF0b3IvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3Iv
ZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM4
IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9ldmFsLXZhci1zY29wZS1z
eW50YXgtZXJyLmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2Vycm9yL2FzeW5jLWdlbi1m
dW5jLWV4cHIudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogc2xvcHB5IGRpcmVjdCBldmFs
IGluIHBhcmFtcyBpbnRyb2R1Y2VzIHZhciAoYXN5bmMgZ2VuZXJhdG9yIGZ1bmN0aW9uIGV4cHJl
c3Npb24pCitlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMtZXZhbHVhdGlvbgor
ZmVhdHVyZXM6IFtkZWZhdWx0LXBhcmFtZXRlcnMsIGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBb
Z2VuZXJhdGVkXQoraW5mbzogfAorICAgIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiA6IGFzeW5j
IFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5jdGlvbiAqICggRm9ybWFsUGFyYW1ldGVycyAp
IHsKKyAgICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAgICAgICBbLi4uXQorICAgICAg
ICAzLiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFs
LCBGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgICAgICBBc3luY0dlbmVyYXRvckJvZHksIHNjb3Bl
LCBzdHJpY3QpLgorICAgICAgICBbLi4uXQorCisKKyAgICAKKyAgICBSdW50aW1lIFNlbWFudGlj
czogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKyAgICBGb3JtYWxQYXJhbWV0ZXIgOiBC
aW5kaW5nRWxlbWVudAorCisgICAgMS4gUmV0dXJuIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJ
dGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ0VsZW1lbnQgd2l0aCBhcmd1
bWVudHMgaXRlcmF0b3JSZWNvcmQgYW5kIGVudmlyb25tZW50LgorCistLS0qLworCisKK3ZhciBj
YWxsQ291bnQgPSAwOwordmFyIGY7CitmID0gYXN5bmMgZnVuY3Rpb24qKGEgPSBldmFsKCJ2YXIg
YSA9IDQyIikpIHsKKyAgCisgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7Cit9OworCithc3Nl
cnQudGhyb3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigpIHsKKyAgZigpOworfSk7Cithc3NlcnQu
c2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2dlbmVyYXRvciBmdW5jdGlvbiBib2R5IG5vdCBldmFs
dWF0ZWQnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2FzeW5jLWdlbmVyYXRvci9uYW1lZC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5j
LWdlbmVyYXRvci9uYW1lZC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdl
bmVyYXRvci9uYW1lZC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzggQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRl
ZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2V2
YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXJy
b3IvYXN5bmMtZ2VuLW5hbWVkLWZ1bmMtZXhwci50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9u
OiBzbG9wcHkgZGlyZWN0IGV2YWwgaW4gcGFyYW1zIGludHJvZHVjZXMgdmFyIChhc3luYyBnZW5l
cmF0b3IgbmFtZWQgZnVuY3Rpb24gZXhwcmVzc2lvbikKK2VzaWQ6IHNlYy1hc3luY2dlbmVyYXRv
ci1kZWZpbml0aW9ucy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2RlZmF1bHQtcGFyYW1ldGVycywg
YXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQXN5bmNH
ZW5lcmF0b3JFeHByZXNzaW9uIDogYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0
aW9uICogQmluZGluZ0lkZW50aWZpZXIKKyAgICAgICAgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBB
c3luY0dlbmVyYXRvckJvZHkgfQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDcuIExldCBjbG9z
dXJlIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShOb3JtYWwsIEZvcm1hbFBhcmFt
ZXRlcnMsCisgICAgICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgZnVuY0Vudiwgc3RyaWN0KS4K
KyAgICAgICAgWy4uLl0KKworCisgICAgCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9y
QmluZGluZ0luaXRpYWxpemF0aW9uCisgICAgRm9ybWFsUGFyYW1ldGVyIDogQmluZGluZ0VsZW1l
bnQKKworICAgIDEuIFJldHVybiB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgSXRlcmF0b3JCaW5k
aW5nSW5pdGlhbGl6YXRpb24gZm9yIEJpbmRpbmdFbGVtZW50IHdpdGggYXJndW1lbnRzIGl0ZXJh
dG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudC4KKworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0g
MDsKK3ZhciBmOworZiA9IGFzeW5jIGZ1bmN0aW9uKiBnKGEgPSBldmFsKCJ2YXIgYSA9IDQyIikp
IHsKKyAgCisgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7Cit9OworCithc3NlcnQudGhyb3dz
KFN5bnRheEVycm9yLCBmdW5jdGlvbigpIHsKKyAgZigpOworfSk7Cithc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMCwgJ2dlbmVyYXRvciBmdW5jdGlvbiBib2R5IG5vdCBldmFsdWF0ZWQnKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2Ut
YW5kL2JpZ2ludC1hbmQtbnVtYmVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2UtYW5kL2JpZ2ludC1hbmQtbnVtYmVyLmpz
CShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9iaXR3aXNlLWFuZC9iaWdpbnQtYW5kLW51bWJlci5qcwkod29ya2luZyBjb3B5KQpA
QCAtODcsNCArODcsNCBAQCBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAK
IGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgdW5kZWZpbmVkICYgMW47
Ci19LCAndW5kZWZpbmVkICYgMW4gdGhyb3dzIFR5cGVFcnJvcicpOwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKK30sICd1bmRlZmluZWQgJiAxbiB0aHJvd3MgVHlwZUVycm9yJyk7CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNlLWFuZC9i
aWdpbnQtZXJyb3JzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2JpdHdpc2UtYW5kL2JpZ2ludC1lcnJvcnMuanMJKHJldmlzaW9uIDI1
NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2JpdHdp
c2UtYW5kL2JpZ2ludC1lcnJvcnMuanMJKHdvcmtpbmcgY29weSkKQEAgLTY3LDQgKzY3LDQgQEAg
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICAgcmV0dXJuIFN5bWJv
bCgnMScpOwogICAgIH0KICAgfTsKLX0sICcwbiAmIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0
dXJuIFN5bWJvbCgiMSIpO319IHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCit9LCAnMG4gJiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiBTeW1ib2wo
IjEiKTt9fSB0aHJvd3MgVHlwZUVycm9yJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNlLWFuZC9iaWdpbnQtbm9uLXByaW1pdGl2ZS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9i
aXR3aXNlLWFuZC9iaWdpbnQtbm9uLXByaW1pdGl2ZS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS1hbmQvYmln
aW50LW5vbi1wcmltaXRpdmUuanMJKHdvcmtpbmcgY29weSkKQEAgLTc4LDQgKzc4LDQgQEAgYXNz
ZXJ0LnNhbWVWYWx1ZSgwYjAxMW4gJiB7CiAgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKICAgICBy
ZXR1cm4gMGIxMDFuOwogICB9Ci19LCAwYjAwMW4sICdUaGUgcmVzdWx0IG9mICgwYjAxMW4gJiB7
dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwYjEwMW47fX0pIGlzIDBiMDAxbicpOwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sIDBiMDAxbiwgJ1RoZSByZXN1bHQgb2YgKDBiMDEx
biAmIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDBiMTAxbjt9fSkgaXMgMGIwMDFuJyk7
CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNl
LWFuZC9iaWdpbnQtdG9wcmltaXRpdmUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS1hbmQvYmlnaW50LXRvcHJpbWl0aXZl
LmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9iaXR3aXNlLWFuZC9iaWdpbnQtdG9wcmltaXRpdmUuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTM2OSw0ICszNjksNCBAQCBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7CiAgICAgICByZXR1cm4ge307CiAgICAgfQogICB9OwotfSwgJzBuICYge3ZhbHVlT2Y6IGZ1
bmN0aW9uKCkge3JldHVybiB7fTt9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9O319
IHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCAnMG4g
JiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9O30sIHRvU3RyaW5nOiBmdW5jdGlvbigp
IHtyZXR1cm4ge307fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS1hbmQvYmlnaW50LXdyYXBwZWQtdmFs
dWVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2JpdHdpc2UtYW5kL2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcwkocmV2aXNpb24gMjU0
MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lz
ZS1hbmQvYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00Miw0ICs0
Miw0IEBAIGFzc2VydC5zYW1lVmFsdWUoM24gJiB7CiAgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsK
ICAgICByZXR1cm4gMm47CiAgIH0KLX0sIDJuLCAnVGhlIHJlc3VsdCBvZiAoM24gJiB7dG9TdHJp
bmc6IGZ1bmN0aW9uKCkge3JldHVybiAybjt9fSkgaXMgMm4nKTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCit9LCAybiwgJ1RoZSByZXN1bHQgb2YgKDNuICYge3RvU3RyaW5nOiBmdW5jdGlv
bigpIHtyZXR1cm4gMm47fX0pIGlzIDJuJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNlLW5vdC9iaWdpbnQtbm9uLXByaW1pdGl2ZS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9i
aXR3aXNlLW5vdC9iaWdpbnQtbm9uLXByaW1pdGl2ZS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS1ub3QvYmln
aW50LW5vbi1wcmltaXRpdmUuanMJKHdvcmtpbmcgY29weSkKQEAgLTQxLDQgKzQxLDQgQEAgYXNz
ZXJ0LnNhbWVWYWx1ZSh+ewogICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CiAgICAgcmV0dXJuIDFu
OwogICB9Ci19LCAtMm4sICdUaGUgdmFsdWUgb2Ygfnt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0
dXJuIDFuO319IGlzIC0ybicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sIC0ybiwg
J1RoZSB2YWx1ZSBvZiB+e3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMW47fX0gaXMgLTJu
Jyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3
aXNlLW9yL2JpZ2ludC1hbmQtbnVtYmVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2Utb3IvYmlnaW50LWFuZC1udW1iZXIu
anMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2JpdHdpc2Utb3IvYmlnaW50LWFuZC1udW1iZXIuanMJKHdvcmtpbmcgY29weSkK
QEAgLTg3LDQgKzg3LDQgQEAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewog
CiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIHVuZGVmaW5lZCB8IDFu
OwotfSwgJ3VuZGVmaW5lZCB8IDFuIHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCit9LCAndW5kZWZpbmVkIHwgMW4gdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRl
eDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS1vci9i
aWdpbnQtZXJyb3JzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2JpdHdpc2Utb3IvYmlnaW50LWVycm9ycy5qcwkocmV2aXNpb24gMjU0
MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lz
ZS1vci9iaWdpbnQtZXJyb3JzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw0ICs2Nyw0IEBAIGFz
c2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICAgIHJldHVybiBTeW1ib2wo
JzEnKTsKICAgICB9CiAgIH07Ci19LCAnMG4gfCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVy
biBTeW1ib2woIjEiKTt9fSB0aHJvd3MgVHlwZUVycm9yJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorfSwgJzBuIHwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gU3ltYm9sKCIx
Iik7fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS1vci9iaWdpbnQtbm9uLXByaW1pdGl2ZS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3
aXNlLW9yL2JpZ2ludC1ub24tcHJpbWl0aXZlLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNlLW9yL2JpZ2ludC1u
b24tcHJpbWl0aXZlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC03OSw0ICs3OSw0IEBAIGFzc2VydC5z
YW1lVmFsdWUoMGIwMTFuIHwgewogICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CiAgICAgcmV0dXJu
IDBiMTAxbjsKICAgfQotfSwgMGIxMTFuLCAnVGhlIHJlc3VsdCBvZiAoMGIwMTFuIHwge3RvU3Ry
aW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMGIxMDFuO319KSBpcyAwYjExMW4nKTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCit9LCAwYjExMW4sICdUaGUgcmVzdWx0IG9mICgwYjAxMW4gfCB7
dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwYjEwMW47fX0pIGlzIDBiMTExbicpOwpJbmRl
eDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS1vci9i
aWdpbnQtdG9wcmltaXRpdmUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS1vci9iaWdpbnQtdG9wcmltaXRpdmUuanMJKHJl
dmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2JpdHdpc2Utb3IvYmlnaW50LXRvcHJpbWl0aXZlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0z
NjksNCArMzY5LDQgQEAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAg
ICAgcmV0dXJuIHt9OwogICAgIH0KICAgfTsKLX0sICcwbiB8IHt2YWx1ZU9mOiBmdW5jdGlvbigp
IHtyZXR1cm4ge307fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9fSB0aHJvd3Mg
VHlwZUVycm9yJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSwgJzBuIHwge3ZhbHVl
T2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJu
IHt9O319IHRocm93cyBUeXBlRXJyb3InKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2Utb3IvYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Jp
dHdpc2Utb3IvYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNlLW9yL2JpZ2lu
dC13cmFwcGVkLXZhbHVlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtNDIsNCArNDIsNCBAQCBhc3Nl
cnQuc2FtZVZhbHVlKDFuIHwgewogICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CiAgICAgcmV0dXJu
IDJuOwogICB9Ci19LCAzbiwgJ1RoZSByZXN1bHQgb2YgKDFuIHwge3RvU3RyaW5nOiBmdW5jdGlv
bigpIHtyZXR1cm4gMm47fX0pIGlzIDNuJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
fSwgM24sICdUaGUgcmVzdWx0IG9mICgxbiB8IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJu
IDJuO319KSBpcyAzbicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYml0d2lzZS14b3IvYmlnaW50LWFuZC1udW1iZXIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS14b3IvYmln
aW50LWFuZC1udW1iZXIuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2UteG9yL2JpZ2ludC1hbmQtbnVtYmVyLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC04Nyw0ICs4Nyw0IEBAIGFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCBmdW5jdGlvbigpIHsKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewog
ICB1bmRlZmluZWQgXiAxbjsKLX0sICd1bmRlZmluZWQgXiAxbiB0aHJvd3MgVHlwZUVycm9yJyk7
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSwgJ3VuZGVmaW5lZCBeIDFuIHRocm93cyBU
eXBlRXJyb3InKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2JpdHdpc2UteG9yL2JpZ2ludC1lcnJvcnMuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS14b3IvYmlnaW50LWVycm9y
cy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYml0d2lzZS14b3IvYmlnaW50LWVycm9ycy5qcwkod29ya2luZyBjb3B5KQpA
QCAtNjcsNCArNjcsNCBAQCBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAg
ICAgICByZXR1cm4gU3ltYm9sKCcxJyk7CiAgICAgfQogICB9OwotfSwgJzBuIF4ge3RvU3RyaW5n
OiBmdW5jdGlvbigpIHtyZXR1cm4gU3ltYm9sKCIxIik7fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICcwbiBeIHt0b1N0cmluZzogZnVuY3Rpb24o
KSB7cmV0dXJuIFN5bWJvbCgiMSIpO319IHRocm93cyBUeXBlRXJyb3InKTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2UteG9yL2JpZ2ludC1u
b24tcHJpbWl0aXZlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2JpdHdpc2UteG9yL2JpZ2ludC1ub24tcHJpbWl0aXZlLmpzCShyZXZp
c2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9iaXR3aXNlLXhvci9iaWdpbnQtbm9uLXByaW1pdGl2ZS5qcwkod29ya2luZyBjb3B5KQpAQCAt
NzksNCArNzksNCBAQCBhc3NlcnQuc2FtZVZhbHVlKDBiMDExbiBeIHsKICAgdG9TdHJpbmc6IGZ1
bmN0aW9uKCkgewogICAgIHJldHVybiAwYjEwMW47CiAgIH0KLX0sIDBiMTEwbiwgJ1RoZSByZXN1
bHQgb2YgKDBiMDExbiBeIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDBiMTAxbjt9fSkg
aXMgMGIxMTBuJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSwgMGIxMTBuLCAnVGhl
IHJlc3VsdCBvZiAoMGIwMTFuIF4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMGIxMDFu
O319KSBpcyAwYjExMG4nKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2JpdHdpc2UteG9yL2JpZ2ludC10b3ByaW1pdGl2ZS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNlLXhvci9i
aWdpbnQtdG9wcmltaXRpdmUuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2JpdHdpc2UteG9yL2JpZ2ludC10b3ByaW1pdGl2
ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMzY5LDQgKzM2OSw0IEBAIGFzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICAgIHJldHVybiB7fTsKICAgICB9CiAgIH07Ci19LCAn
MG4gXiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9O30sIHRvU3RyaW5nOiBmdW5jdGlv
bigpIHtyZXR1cm4ge307fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKK30sICcwbiBeIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge307fSwgdG9T
dHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9fSB0aHJvd3MgVHlwZUVycm9yJyk7CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9iaXR3aXNlLXhvci9i
aWdpbnQtd3JhcHBlZC12YWx1ZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYml0d2lzZS14b3IvYmlnaW50LXdyYXBwZWQtdmFsdWVz
LmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9iaXR3aXNlLXhvci9iaWdpbnQtd3JhcHBlZC12YWx1ZXMuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTQyLDQgKzQyLDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgzbiBeIHsKICAgdG9TdHJp
bmc6IGZ1bmN0aW9uKCkgewogICAgIHJldHVybiAybjsKICAgfQotfSwgMW4sICdUaGUgcmVzdWx0
IG9mICgzbiBeIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJuO319KSBpcyAxbicpOwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sIDFuLCAnVGhlIHJlc3VsdCBvZiAoM24gXiB7
dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAybjt9fSkgaXMgMW4nKTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRo
b2Qtc3RhdGljL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1l
dGhvZC1zdGF0aWMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1n
ZW4tbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNjIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVy
YXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1z
L2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMv
ZXJyb3IvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtc3RhdGljLnRlbXBsYXRlCisvKi0tLQorZGVz
Y3JpcHRpb246IHNsb3BweSBkaXJlY3QgZXZhbCBpbiBwYXJhbXMgaW50cm9kdWNlcyB2YXIgKHN0
YXRpYyBjbGFzcyBleHByZXNzaW9uIGFzeW5jIGdlbmVyYXRvciBtZXRob2QpCitlc2lkOiBzZWMt
Y2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6
IFtkZWZhdWx0LXBhcmFtZXRlcnMsIGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVk
XQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVy
b3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHBy
ZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFz
c05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZh
bHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1Rh
aWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQu
NS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAg
MjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAg
ICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisg
ICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5
RGVmaW5pdGlvbkV2YWx1YXRpb24KKyAgICAgICAgICAgZm9yIG0gd2l0aCBhcmd1bWVudHMgRiBh
bmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURl
ZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CisgICAgICAg
IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZv
cm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisg
ICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFt
ZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rp
b24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2Rl
LCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFs
c2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3Mg
TGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5lcmF0
b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAg
QXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisKKyAgICAK
KyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKyAg
ICBGb3JtYWxQYXJhbWV0ZXIgOiBCaW5kaW5nRWxlbWVudAorCisgICAgMS4gUmV0dXJuIHRoZSBy
ZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmlu
ZGluZ0VsZW1lbnQgd2l0aCBhcmd1bWVudHMgaXRlcmF0b3JSZWNvcmQgYW5kIGVudmlyb25tZW50
LgorCistLS0qLworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBzdGF0
aWMgYXN5bmMgKm1ldGhvZChhID0gZXZhbCgidmFyIGEgPSA0MiIpKSB7CisgICAgCisgICAgY2Fs
bENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhTeW50YXhF
cnJvciwgZnVuY3Rpb24oKSB7CisgIEMubWV0aG9kKCk7Cit9KTsKK2Fzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAwLCAnbWV0aG9kIGJvZHkgbm90IGV2YWx1YXRlZCcpOwpJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhv
ZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRob2QvZXZh
bC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2V2YWwt
dmFyLXNjb3BlLXN5bnRheC1lcnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MyBAQAor
Ly8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2lu
ZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2NvcGUtc3ludGF4
LWVyci5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9jbHMtZXhwci1hc3luYy1n
ZW4tbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBzbG9wcHkgZGlyZWN0IGV2YWwg
aW4gcGFyYW1zIGludHJvZHVjZXMgdmFyIChjbGFzcyBleHByZXNzaW9uIGFzeW5jIGdlbmVyYXRv
ciBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3Mt
ZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtkZWZhdWx0LXBhcmFtZXRlcnMsIGFzeW5jLWl0ZXJhdGlv
bl0KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNs
YXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lk
ZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgor
ICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50
aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9u
RXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4K
KyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0
aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVy
IGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVu
CisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisg
ICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1
bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisg
ICAgMTQuNC4xMyBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlv
bgorCisgICAgR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJp
Y3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9w
S2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0
dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRo
aXMgR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmlj
dCBiZSB0cnVlLiBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2Nv
cGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQu
CisgICAgNS4gTGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAor
ICAgICAgIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJp
Y3QpLgorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3Qp
CisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVC
b2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5
Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1
cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4K
KyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9u
KGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JS
ZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRv
cihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGlj
YXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAg
IGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9y
IGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3Vt
ZW50cy4KKyAgICBbLi4uXQorCisKKyAgICAKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0
b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKyAgICBGb3JtYWxQYXJhbWV0ZXIgOiBCaW5kaW5nRWxl
bWVudAorCisgICAgMS4gUmV0dXJuIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJp
bmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ0VsZW1lbnQgd2l0aCBhcmd1bWVudHMgaXRl
cmF0b3JSZWNvcmQgYW5kIGVudmlyb25tZW50LgorCistLS0qLworCit2YXIgY2FsbENvdW50ID0g
MDsKK3ZhciBDID0gY2xhc3MgeworICBhc3luYyAqbWV0aG9kKGEgPSBldmFsKCJ2YXIgYSA9IDQy
IikpIHsKKyAgICAKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCith
c3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigpIHsKKyAgQy5wcm90b3R5cGUubWV0
aG9kKCk7Cit9KTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnbWV0aG9kIGJvZHkg
bm90IGV2YWx1YXRlZCcpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgt
ZXJyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVy
ci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1l
cnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NiBAQAorLy8gVGhpcyBmaWxlIHdhcyBw
cm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBz
cmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5jYXNlCisvLyAtIHNy
Yy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9jbHMtZXhwci1hc3luYy1tZXRoLXN0YXRpYy50ZW1wbGF0
ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBzbG9wcHkgZGlyZWN0IGV2YWwgaW4gcGFyYW1zIGludHJv
ZHVjZXMgdmFyIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBhc3luYyBtZXRob2QpCitlc2lkOiBz
ZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVy
ZXM6IFtkZWZhdWx0LXBhcmFtZXRlcnMsIGFzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJh
dGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5n
SWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0
IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNl
LCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAg
IDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24g
b2YgQ2xhc3NUYWlsCisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0K
KworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRp
b24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhv
ZHMKKyAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgIGIuIEVs
c2UsCisgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3Bl
cnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKyAgICAgICAgZm9yIG0gd2l0aCBhcmd1bWVudHMgRiBh
bmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURl
ZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY01ldGhvZCA6IGFzeW5jIFByb3BlcnR5TmFt
ZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworICAg
IDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUu
CisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9u
IGNvZGUgZm9yIHRoaXMgQXN5bmNNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0cmlj
dCBiZSB0cnVlLiBPdGhlcndpc2UKKyAgICAgICBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQu
IExldCBzY29wZSBiZSB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIHRoZSBydW5uaW5nIGV4ZWN1
dGlvbiBjb250ZXh0LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNGdW5jdGlvbkNyZWF0
ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsIEFzeW5jRnVuY3Rpb25Cb2R5LAorICAg
ICAgIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisKKworICAgIAorICAgIFJ1bnRpbWUgU2Vt
YW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorICAgIEZvcm1hbFBhcmFtZXRl
ciA6IEJpbmRpbmdFbGVtZW50CisKKyAgICAxLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3Jt
aW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBCaW5kaW5nRWxlbWVudCB3aXRo
IGFyZ3VtZW50cyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQuCisKKy0tLSovCisKKwor
dmFyIGNhbGxDb3VudCA9IDA7CisKK3ZhciBDID0gY2xhc3MgeworICBzdGF0aWMgYXN5bmMgbWV0
aG9kKGEgPSBldmFsKCJ2YXIgYSA9IDQyIikpIHsKKyAgICAKKyAgICBjYWxsQ291bnQgPSBjYWxs
Q291bnQgKyAxOworICB9Cit9OworCitDLm1ldGhvZCgpCisgIC50aGVuKF8gPT4geworICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJ2Z1bmN0aW9uIHNob3VsZCBub3QgYmUgcmVzb2x2ZWQnKTsK
KyAgfSwgZXJyb3IgPT4gYXNzZXJ0LnNhbWVWYWx1ZShlcnJvci5jb25zdHJ1Y3RvciwgU3ludGF4
RXJyb3IpKQorICAudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQs
IDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpCisgIC50
aGVuKCRET05FLCAkRE9ORSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9hc3luYy1tZXRob2QvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkobm9uZXhp
c3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9hc3luYy1tZXRob2QvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDY1IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0
ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9l
dmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2Vy
cm9yL2Nscy1leHByLWFzeW5jLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogc2xv
cHB5IGRpcmVjdCBldmFsIGluIHBhcmFtcyBpbnRyb2R1Y2VzIHZhciAoY2xhc3MgZXhwcmVzc2lv
biBhc3luYyBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1h
bnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtkZWZhdWx0LXBhcmFtZXRlcnMsIGFzeW5jLWZ1
bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0V4
cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEu
IElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJl
IHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9m
IEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENs
YXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisgICAgICAgIHdpdGggYXJndW1l
bnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNz
OiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVt
ZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlz
IGZhbHNlLCB0aGVuCisgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJm
b3JtaW5nCisgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRo
IGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICBmYWxzZS4KKyAgICAgIFsuLi5dCisKKyAg
ICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAg
QXN5bmNNZXRob2QgOiBhc3luYyBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJz
ICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVz
dWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHBy
b3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEFzeW5jTWV0aG9k
IGlzIHN0cmljdCBtb2RlIGNvZGUsIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlCisgICAg
ICAgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIExleGljYWxF
bnZpcm9ubWVudCBvZiB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dC4KKyAgICA1LiBMZXQg
Y2xvc3VyZSBiZSAhIEFzeW5jRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJh
bWV0ZXJzLCBBc3luY0Z1bmN0aW9uQm9keSwKKyAgICAgICBzY29wZSwgc3RyaWN0KS4KKyAgICBb
Li4uXQorCisKKyAgICAKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5p
dGlhbGl6YXRpb24KKyAgICBGb3JtYWxQYXJhbWV0ZXIgOiBCaW5kaW5nRWxlbWVudAorCisgICAg
MS4gUmV0dXJuIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRpbmdJbml0aWFs
aXphdGlvbiBmb3IgQmluZGluZ0VsZW1lbnQgd2l0aCBhcmd1bWVudHMgaXRlcmF0b3JSZWNvcmQg
YW5kIGVudmlyb25tZW50LgorCistLS0qLworCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMg
PSBjbGFzcyB7CisgIGFzeW5jIG1ldGhvZChhID0gZXZhbCgidmFyIGEgPSA0MiIpKSB7CisgICAg
CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworQy5wcm90b3R5cGUu
bWV0aG9kKCkKKyAgLnRoZW4oXyA9PiB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVu
Y3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOworICB9LCBlcnJvciA9PiBhc3NlcnQuc2Ft
ZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBTeW50YXhFcnJvcikpCisgIC50aGVuKCgpID0+IHsK
KyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90
IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkKKyAgLnRoZW4oJERPTkUsICRET05FKTsKSW5kZXg6
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRz
L3N5bnRheC9lYXJseS1lcnJvcnMvZ3JhbW1hci1wcml2YXRlLWZpZWxkLW9wdGlvbmFsLWNoYWlu
aW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2VsZW1lbnRzL3N5bnRheC9lYXJseS1lcnJvcnMvZ3JhbW1hci1wcml2YXRl
LWZpZWxkLW9wdGlvbmFsLWNoYWluaW5nLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL3N5bnRheC9lYXJs
eS1lcnJvcnMvZ3JhbW1hci1wcml2YXRlLWZpZWxkLW9wdGlvbmFsLWNoYWluaW5nLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5
IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2NsYXNzLWVs
ZW1lbnRzL2dyYW1tYXItcHJpdmF0ZS1maWVsZC1vcHRpb25hbC1jaGFpbmluZy5jYXNlCisvLyAt
IHNyYy9jbGFzcy1lbGVtZW50cy9zeW50YXgvaW52YWxpZC9jbHMtZXhwci1lbGVtZW50cy1pbnZh
bGlkLXN5bnRheC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBQcml2YXRlTmFtZSBhZnRl
ciAnPy4nIGlzIG5vdCB2YWxpZCBzeW50YXggKGNsYXNzIGV4cHJlc3Npb24pCitlc2lkOiBwcm9k
LUNsYXNzRWxlbWVudAorZmVhdHVyZXM6IFtjbGFzcy1maWVsZHMtcHJpdmF0ZSwgb3B0aW9uYWwt
Y2hhaW5pbmcsIGNsYXNzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCituZWdhdGl2ZToKKyAgcGhhc2U6
IHBhcnNlCisgIHR5cGU6IFN5bnRheEVycm9yCitpbmZvOiB8CisgICAgVXBkYXRlZCBQcm9kdWN0
aW9ucworCisgICAgTWVtYmVyRXhwcmVzc2lvbltZaWVsZF06CisgICAgICBNZW1iZXJFeHByZXNz
aW9uWz9ZaWVsZF0uUHJpdmF0ZU5hbWUKKworLS0tKi8KKworCiskRE9OT1RFVkFMVUFURSgpOwor
Cit2YXIgQyA9IGNsYXNzIHsKKyAgI20gPSAndGVzdDI2Mic7CisKKyAgYWNjZXNzKG9iaikgewor
ICAgIHJldHVybiBvYmo/LiNtOworICB9Cit9OwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0aWMvZXZhbC12YXItc2Nv
cGUtc3ludGF4LWVyci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1z
eW50YXgtZXJyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2V2YWwtdmFyLXNjb3BlLXN5
bnRheC1lcnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MyBAQAorLy8gVGhpcyBmaWxl
IHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgor
Ly8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5jYXNlCisv
LyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9jbHMtZXhwci1nZW4tbWV0aC1zdGF0aWMudGVt
cGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogc2xvcHB5IGRpcmVjdCBldmFsIGluIHBhcmFtcyBp
bnRyb2R1Y2VzIHZhciAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gZ2VuZXJhdG9yIG1ldGhvZCkK
K2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9u
CitmZWF0dXJlczogW2RlZmF1bHQtcGFyYW1ldGVycywgZ2VuZXJhdG9yc10KK2ZsYWdzOiBbZ2Vu
ZXJhdGVkXQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVu
dGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMg
bm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxl
dCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4g
TGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBD
bGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisg
ICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgor
CisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcwor
ICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVs
c2UsCisgICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFBy
b3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKyAgICAgICAgICAgZm9yIG0gd2l0aCBhcmd1bWVu
dHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIDE0LjQuMTMgUnVudGltZSBTZW1hbnRp
Y3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEdlbmVyYXRvck1ldGhvZCA6
CisgICAgICAgICogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2Vu
ZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1
YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAg
IDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJp
Y3QgbW9kZSBjb2RlLAorICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBz
dHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlv
biBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdl
bmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0
ZXJzLCBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKworICAgIDkuMi4xIFtbQ2FsbF1d
ICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQg
cmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAg
ICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1
bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbklu
c3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBG
dW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisg
ICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRv
cl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1d
OiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAg
ICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0
ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAg
aXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworCisgICAg
CisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisg
ICAgRm9ybWFsUGFyYW1ldGVyIDogQmluZGluZ0VsZW1lbnQKKworICAgIDEuIFJldHVybiB0aGUg
cmVzdWx0IG9mIHBlcmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIEJp
bmRpbmdFbGVtZW50IHdpdGggYXJndW1lbnRzIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVu
dC4KKworLS0tKi8KKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3Rh
dGljICptZXRob2QoYSA9IGV2YWwoInZhciBhID0gNDIiKSkgeworICAgIAorICAgIGNhbGxDb3Vu
dCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK2Fzc2VydC50aHJvd3MoU3ludGF4RXJyb3Is
IGZ1bmN0aW9uKCkgeworICBDLm1ldGhvZCgpOworfSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxD
b3VudCwgMCwgJ21ldGhvZCBib2R5IG5vdCBldmFsdWF0ZWQnKTsKSW5kZXg6IEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2QvZXZhbC12YXIt
c2NvcGUtc3ludGF4LWVyci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRh
eC1lcnIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODMgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2Vk
dXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1
bmN0aW9uLWZvcm1zL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuY2FzZQorLy8gLSBzcmMvZnVu
Y3Rpb24tZm9ybXMvZXJyb3IvY2xzLWV4cHItZ2VuLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNj
cmlwdGlvbjogc2xvcHB5IGRpcmVjdCBldmFsIGluIHBhcmFtcyBpbnRyb2R1Y2VzIHZhciAoY2xh
c3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGlt
ZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtkZWZhdWx0LXBhcmFtZXRlcnMsIGdl
bmVyYXRvcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Np
b24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJp
bmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVm
aW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRp
bmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVm
aW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFz
c05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNz
RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBp
biBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxz
ZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9y
bWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdp
dGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4u
Ll0KKworICAgIDE0LjQuMTMgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2
YWx1YXRpb24KKworICAgIEdlbmVyYXRvck1ldGhvZCA6CisgICAgICAgICogUHJvcGVydHlOYW1l
ICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBM
ZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAg
IDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2Rl
IGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAorICAgICAgIGxl
dCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4g
TGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmly
b25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1l
dGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JCb2R5LCBzY29w
ZSwgc3RyaWN0KS4KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVu
dHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2
YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBP
cmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExl
dCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRz
TGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFu
dGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0
ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0
SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhh
c0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAor
ICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0
aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBh
cyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworCisgICAgCisgICAgUnVudGltZSBTZW1hbnRpY3M6
IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisgICAgRm9ybWFsUGFyYW1ldGVyIDogQmlu
ZGluZ0VsZW1lbnQKKworICAgIDEuIFJldHVybiB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgSXRl
cmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIEJpbmRpbmdFbGVtZW50IHdpdGggYXJndW1l
bnRzIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudC4KKworLS0tKi8KKwordmFyIGNhbGxD
b3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgKm1ldGhvZChhID0gZXZhbCgidmFyIGEgPSA0
MiIpKSB7CisgICAgCisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKwor
YXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rpb24oKSB7CisgIEMucHJvdG90eXBlLm1l
dGhvZCgpOworfSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBib2R5
IG5vdCBldmFsdWF0ZWQnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL21ldGhvZC1zdGF0aWMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9tZXRob2Qtc3RhdGljL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMJKG5vbmV4
aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNzkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVy
YXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1z
L2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMv
ZXJyb3IvY2xzLWV4cHItbWV0aC1zdGF0aWMudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjog
c2xvcHB5IGRpcmVjdCBldmFsIGluIHBhcmFtcyBpbnRyb2R1Y2VzIHZhciAoc3RhdGljIGNsYXNz
IGV4cHJlc3Npb24gbWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUt
c2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxh
Z3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmlu
ZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmll
cm9wdCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4g
RWxzZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4K
KyAgICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0
aW9uIG9mIENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsu
Li5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFs
dWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBt
ZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAg
ICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZv
cm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IKKyAgICAgICAgICAgbSB3aXRo
IGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgMTQuMy44IFJ1bnRpbWUg
U2VtYW50aWNzOiBEZWZpbmVNZXRob2QKKworICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0
eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAg
Wy4uLl0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBTdHJpY3RG
b3JtYWxQYXJhbWV0ZXJzLCBGdW5jdGlvbkJvZHksCisgICAgICAgc2NvcGUsIHN0cmljdCkuIElm
IGZ1bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIgdGhlbiBwYXNzIGl0
cworICAgICAgIHZhbHVlIGFzIHRoZSBmdW5jdGlvblByb3RvdHlwZSBvcHRpb25hbCBhcmd1bWVu
dCBvZiBGdW5jdGlvbkNyZWF0ZS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0
aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1
bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsu
Li5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50
c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFu
dGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0
aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBb
Li4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06
CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZh
bHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsu
Li5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0
b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVy
YXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgCisgICAg
UnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisgICAgRm9y
bWFsUGFyYW1ldGVyIDogQmluZGluZ0VsZW1lbnQKKworICAgIDEuIFJldHVybiB0aGUgcmVzdWx0
IG9mIHBlcmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIEJpbmRpbmdF
bGVtZW50IHdpdGggYXJndW1lbnRzIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudC4KKwor
LS0tKi8KKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljIG1l
dGhvZChhID0gZXZhbCgidmFyIGEgPSA0MiIpKSB7CisgICAgCisgICAgY2FsbENvdW50ID0gY2Fs
bENvdW50ICsgMTsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rp
b24oKSB7CisgIEMubWV0aG9kKCk7Cit9KTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAw
LCAnbWV0aG9kIGJvZHkgbm90IGV2YWx1YXRlZCcpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRh
eC1lcnIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMJKG5vbmV4
aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw3OSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12
YXItc2NvcGUtc3ludGF4LWVyci5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9j
bHMtZXhwci1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IHNsb3BweSBkaXJlY3Qg
ZXZhbCBpbiBwYXJhbXMgaW50cm9kdWNlcyB2YXIgKGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQor
ZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24K
K2ZlYXR1cmVzOiBbZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZv
OiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xh
c3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwg
bGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBi
ZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUg
dGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAg
ICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1
bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9y
IGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElm
IElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBi
ZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0
aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAg
ICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICAxNC4zLjggUnVudGltZSBTZW1hbnRpY3M6
IERlZmluZU1ldGhvZAorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0
cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAg
IDYuIExldCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFt
ZXRlcnMsIEZ1bmN0aW9uQm9keSwKKyAgICAgICBzY29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Q
cm90b3R5cGUgd2FzIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzCisgICAgICAg
dmFsdWUgYXMgdGhlIGZ1bmN0aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9mIEZ1bmN0
aW9uQ3JlYXRlLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVu
dCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRp
bmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAg
IDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisK
KyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYs
IGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJh
dGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAg
MjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAg
Q3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAg
IDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAy
NS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJ
bml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3Jk
IGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICAKKyAgICBSdW50aW1lIFNl
bWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKyAgICBGb3JtYWxQYXJhbWV0
ZXIgOiBCaW5kaW5nRWxlbWVudAorCisgICAgMS4gUmV0dXJuIHRoZSByZXN1bHQgb2YgcGVyZm9y
bWluZyBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ0VsZW1lbnQgd2l0
aCBhcmd1bWVudHMgaXRlcmF0b3JSZWNvcmQgYW5kIGVudmlyb25tZW50LgorCistLS0qLworCit2
YXIgY2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBtZXRob2QoYSA9IGV2YWwoInZh
ciBhID0gNDIiKSkgeworICAgIAorICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0K
K307CisKK2Fzc2VydC50aHJvd3MoU3ludGF4RXJyb3IsIGZ1bmN0aW9uKCkgeworICBDLnByb3Rv
dHlwZS5tZXRob2QoKTsKK30pOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdtZXRo
b2QgYm9keSBub3QgZXZhbHVhdGVkJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jb2FsZXNjZS9jYW5ub3QtY2hhaW4taGVhZC13aXRoLWxvZ2ljYWwt
YW5kLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NvYWxlc2NlL2Nhbm5vdC1jaGFpbi1oZWFkLXdpdGgtbG9naWNhbC1hbmQuanMJKHJl
dmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NvYWxlc2NlL2Nhbm5vdC1jaGFpbi1oZWFkLXdpdGgtbG9naWNhbC1hbmQuanMJKHdvcmtp
bmcgY29weSkKQEAgLTIyLDggKzIyLDEwIEBAIGluZm86IHwKICAgICAgICAgQml0d2lzZU9SRXhw
cmVzc2lvbgogZmVhdHVyZXM6IFtjb2FsZXNjZS1leHByZXNzaW9uXQogbmVnYXRpdmU6Ci0gICAg
cGhhc2U6IGVhcmx5CisgICAgcGhhc2U6IHBhcnNlCiAgICAgdHlwZTogU3ludGF4RXJyb3IKIC0t
LSovCiAKLTAgJiYgMCA/PyB0cnVlOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyRET05P
VEVWQUxVQVRFKCk7CisKKzAgJiYgMCA/PyB0cnVlOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29hbGVzY2UvY2Fubm90LWNoYWluLWhlYWQtd2l0aC1s
b2dpY2FsLW9yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NvYWxlc2NlL2Nhbm5vdC1jaGFpbi1oZWFkLXdpdGgtbG9naWNhbC1vci5q
cwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY29hbGVzY2UvY2Fubm90LWNoYWluLWhlYWQtd2l0aC1sb2dpY2FsLW9yLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0yMiw4ICsyMiwxMCBAQCBpbmZvOiB8CiAgICAgICAgIEJpdHdpc2VP
UkV4cHJlc3Npb24KIGZlYXR1cmVzOiBbY29hbGVzY2UtZXhwcmVzc2lvbl0KIG5lZ2F0aXZlOgot
ICAgIHBoYXNlOiBlYXJseQorICAgIHBoYXNlOiBwYXJzZQogICAgIHR5cGU6IFN5bnRheEVycm9y
CiAtLS0qLwogCi0wIHx8IDAgPz8gdHJ1ZTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisk
RE9OT1RFVkFMVUFURSgpOworCiswIHx8IDAgPz8gdHJ1ZTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NvYWxlc2NlL2Nhbm5vdC1jaGFpbi10YWlsLXdp
dGgtbG9naWNhbC1hbmQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY29hbGVzY2UvY2Fubm90LWNoYWluLXRhaWwtd2l0aC1sb2dpY2Fs
LWFuZC5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY29hbGVzY2UvY2Fubm90LWNoYWluLXRhaWwtd2l0aC1sb2dpY2FsLWFu
ZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMjMsOCArMjMsMTAgQEAgaW5mbzogfAogICAgICAgICBC
aXR3aXNlT1JFeHByZXNzaW9uCiBmZWF0dXJlczogW2NvYWxlc2NlLWV4cHJlc3Npb25dCiBuZWdh
dGl2ZToKLSAgICBwaGFzZTogZWFybHkKKyAgICBwaGFzZTogcGFyc2UKICAgICB0eXBlOiBTeW50
YXhFcnJvcgogLS0tKi8KIAotMCA/PyAwICYmIHRydWU7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQorJERPTk9URVZBTFVBVEUoKTsKKworMCA/PyAwICYmIHRydWU7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jb2FsZXNjZS9jYW5ub3QtY2hhaW4t
dGFpbC13aXRoLWxvZ2ljYWwtb3IuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29hbGVzY2UvY2Fubm90LWNoYWluLXRhaWwtd2l0aC1s
b2dpY2FsLW9yLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jb2FsZXNjZS9jYW5ub3QtY2hhaW4tdGFpbC13aXRoLWxvZ2lj
YWwtb3IuanMJKHdvcmtpbmcgY29weSkKQEAgLTIzLDggKzIzLDEwIEBAIGluZm86IHwKICAgICAg
ICAgQml0d2lzZU9SRXhwcmVzc2lvbgogZmVhdHVyZXM6IFtjb2FsZXNjZS1leHByZXNzaW9uXQog
bmVnYXRpdmU6Ci0gICAgcGhhc2U6IGVhcmx5CisgICAgcGhhc2U6IHBhcnNlCiAgICAgdHlwZTog
U3ludGF4RXJyb3IKIC0tLSovCiAKLTAgPz8gMCB8fCB0cnVlOwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKKyRET05PVEVWQUxVQVRFKCk7CisKKzAgPz8gMCB8fCB0cnVlOwpJbmRleDogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZGVsZXRlL3N1cGVyLXByb3Bl
cnR5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2RlbGV0ZS9zdXBlci1wcm9wZXJ0eS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZGVsZXRlL3N1cGVyLXByb3Bl
cnR5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNSw2ICsxNSw3IEBAIHZhciBjYXVnaHQ7CiAKIGNs
YXNzIEMgZXh0ZW5kcyBPYmplY3QgewogICBjb25zdHJ1Y3RvcigpIHsKKyAgICBzdXBlcigpOwog
ICAgIHRyeSB7CiAgICAgICBkZWxldGUgc3VwZXIueDsKICAgICB9IGNhdGNoIChlcnIpIHsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2RpdmlzaW9uL2Jp
Z2ludC1hbmQtbnVtYmVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2RpdmlzaW9uL2JpZ2ludC1hbmQtbnVtYmVyLmpzCShyZXZpc2lv
biAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9k
aXZpc2lvbi9iaWdpbnQtYW5kLW51bWJlci5qcwkod29ya2luZyBjb3B5KQpAQCAtODcsNCArODcs
NCBAQCBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAKIGFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgdW5kZWZpbmVkIC8gMW47Ci19LCAndW5kZWZp
bmVkIC8gMW4gdGhyb3dzIFR5cGVFcnJvcicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
K30sICd1bmRlZmluZWQgLyAxbiB0aHJvd3MgVHlwZUVycm9yJyk7CkluZGV4OiBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kaXZpc2lvbi9iaWdpbnQtYXJpdGhtZXRp
Yy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9kaXZpc2lvbi9iaWdpbnQtYXJpdGhtZXRpYy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZGl2aXNpb24vYmlnaW50
LWFyaXRobWV0aWMuanMJKHdvcmtpbmcgY29weSkKQEAgLTEwNjcsNCArMTA2Nyw0IEBAIGFzc2Vy
dC5zYW1lVmFsdWUoCiAgIC0weEZFRENCQTk4NzY1NDMyMTBuIC8gLTB4RkVEQ0JBOTg3NjU0MzIx
MG4sCiAgIDB4MW4sCiAgICdUaGUgcmVzdWx0IG9mICgtMHhGRURDQkE5ODc2NTQzMjEwbiAvIC0w
eEZFRENCQTk4NzY1NDMyMTBuKSBpcyAweDFuJwotKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCispOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
ZGl2aXNpb24vYmlnaW50LWNvbXBsZXgtaW5maW5pdHkuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZGl2aXNpb24vYmlnaW50LWNvbXBs
ZXgtaW5maW5pdHkuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2RpdmlzaW9uL2JpZ2ludC1jb21wbGV4LWluZmluaXR5Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0zMiw0ICszMiw0IEBAIGFzc2VydC50aHJvd3MoUmFuZ2VFcnJv
ciwgZnVuY3Rpb24oKSB7CiAKIGFzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgZnVuY3Rpb24oKSB7
CiAgIDEwMDAwMDAwMDAwMDAwMDAwMDBuIC8gMG47Ci19LCAnMTAwMDAwMDAwMDAwMDAwMDAwMG4g
LyAwbiB0aHJvd3MgUmFuZ2VFcnJvcicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30s
ICcxMDAwMDAwMDAwMDAwMDAwMDAwbiAvIDBuIHRocm93cyBSYW5nZUVycm9yJyk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kaXZpc2lvbi9iaWdpbnQt
ZXJyb3JzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2RpdmlzaW9uL2JpZ2ludC1lcnJvcnMuanMJKHJldmlzaW9uIDI1NDAwNykKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2RpdmlzaW9uL2JpZ2lu
dC1lcnJvcnMuanMJKHdvcmtpbmcgY29weSkKQEAgLTY3LDQgKzY3LDQgQEAgYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICAgcmV0dXJuIFN5bWJvbCgnMScpOwogICAg
IH0KICAgfTsKLX0sICcwbiAvIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIFN5bWJvbCgi
MSIpO319IHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9
LCAnMG4gLyB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiBTeW1ib2woIjEiKTt9fSB0aHJv
d3MgVHlwZUVycm9yJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9kaXZpc2lvbi9iaWdpbnQtdG9wcmltaXRpdmUuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZGl2aXNpb24vYmlnaW50LXRv
cHJpbWl0aXZlLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9kaXZpc2lvbi9iaWdpbnQtdG9wcmltaXRpdmUuanMJKHdvcmtp
bmcgY29weSkKQEAgLTM2OSw0ICszNjksNCBAQCBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7CiAgICAgICByZXR1cm4ge307CiAgICAgfQogICB9OwotfSwgJzBuIC8ge3ZhbHVl
T2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJu
IHt9O319IHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9
LCAnMG4gLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9O30sIHRvU3RyaW5nOiBmdW5j
dGlvbigpIHtyZXR1cm4ge307fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZGl2aXNpb24vYmlnaW50LXdyYXBwZWQt
dmFsdWVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2RpdmlzaW9uL2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcwkocmV2aXNpb24gMjU0
MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZGl2aXNp
b24vYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00Miw0ICs0Miw0
IEBAIGFzc2VydC5zYW1lVmFsdWUoMm4gLyB7CiAgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKICAg
ICByZXR1cm4gMm47CiAgIH0KLX0sIDFuLCAnVGhlIHJlc3VsdCBvZiAoMm4gLyB7dG9TdHJpbmc6
IGZ1bmN0aW9uKCkge3JldHVybiAybjt9fSkgaXMgMW4nKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCit9LCAxbiwgJ1RoZSByZXN1bHQgb2YgKDJuIC8ge3RvU3RyaW5nOiBmdW5jdGlvbigp
IHtyZXR1cm4gMm47fX0pIGlzIDFuJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1iaWdpbnQuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZG9l
cy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtYmlnaW50LmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMv
YmlnaW50LWFuZC1iaWdpbnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTE2OCw0ICsxNjgsNCBAQCBh
c3NlcnQuc2FtZVZhbHVlKAogICAweDEwMDAwMDAwMG4gIT0gMHgxMDAwMDAwMDAwMDAwMDAwMG4s
CiAgIHRydWUsCiAgICdUaGUgcmVzdWx0IG9mICgweDEwMDAwMDAwMG4gIT0gMHgxMDAwMDAwMDAw
MDAwMDAwMG4pIGlzIHRydWUnCi0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyk7Cklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kb2VzLW5vdC1l
cXVhbHMvYmlnaW50LWFuZC1ib29sZWFuLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2RvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLWJv
b2xlYW4uanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2RvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLWJvb2xlYW4uanMJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDQgKzI4LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSh0cnVlICE9IDFu
LCBmYWxzZSwgJ1RoZQogYXNzZXJ0LnNhbWVWYWx1ZSgybiAhPSBmYWxzZSwgdHJ1ZSwgJ1RoZSBy
ZXN1bHQgb2YgKDJuICE9IGZhbHNlKSBpcyB0cnVlJyk7CiBhc3NlcnQuc2FtZVZhbHVlKGZhbHNl
ICE9IDJuLCB0cnVlLCAnVGhlIHJlc3VsdCBvZiAoZmFsc2UgIT0gMm4pIGlzIHRydWUnKTsKIGFz
c2VydC5zYW1lVmFsdWUoMm4gIT0gdHJ1ZSwgdHJ1ZSwgJ1RoZSByZXN1bHQgb2YgKDJuICE9IHRy
dWUpIGlzIHRydWUnKTsKLWFzc2VydC5zYW1lVmFsdWUodHJ1ZSAhPSAybiwgdHJ1ZSwgJ1RoZSBy
ZXN1bHQgb2YgKHRydWUgIT0gMm4pIGlzIHRydWUnKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCithc3NlcnQuc2FtZVZhbHVlKHRydWUgIT0gMm4sIHRydWUsICdUaGUgcmVzdWx0IG9mICh0
cnVlICE9IDJuKSBpcyB0cnVlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1pbmNvbXBhcmFibGUtcHJp
bWl0aXZlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2RvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLWluY29tcGFyYWJsZS1wcmltaXRp
dmUuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2RvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLWluY29tcGFyYWJsZS1wcmlt
aXRpdmUuanMJKHdvcmtpbmcgY29weSkKQEAgLTIyLDQgKzIyLDQgQEAgYXNzZXJ0LnNhbWVWYWx1
ZShudWxsICE9IDFuLCB0cnVlLCAnVGhlIAogYXNzZXJ0LnNhbWVWYWx1ZSgwbiAhPSBTeW1ib2wo
JzEnKSwgdHJ1ZSwgJ1RoZSByZXN1bHQgb2YgKDBuICE9IFN5bWJvbCgiMSIpKSBpcyB0cnVlJyk7
CiBhc3NlcnQuc2FtZVZhbHVlKFN5bWJvbCgnMScpICE9IDBuLCB0cnVlLCAnVGhlIHJlc3VsdCBv
ZiAoU3ltYm9sKCIxIikgIT0gMG4pIGlzIHRydWUnKTsKIGFzc2VydC5zYW1lVmFsdWUoMW4gIT0g
U3ltYm9sKCcxJyksIHRydWUsICdUaGUgcmVzdWx0IG9mICgxbiAhPSBTeW1ib2woIjEiKSkgaXMg
dHJ1ZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShTeW1ib2woJzEnKSAhPSAxbiwgdHJ1ZSwgJ1RoZSBy
ZXN1bHQgb2YgKFN5bWJvbCgiMSIpICE9IDFuKSBpcyB0cnVlJyk7ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorYXNzZXJ0LnNhbWVWYWx1ZShTeW1ib2woJzEnKSAhPSAxbiwgdHJ1ZSwgJ1Ro
ZSByZXN1bHQgb2YgKFN5bWJvbCgiMSIpICE9IDFuKSBpcyB0cnVlJyk7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50
LWFuZC1ub24tZmluaXRlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2RvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLW5vbi1maW5pdGUu
anMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2RvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanMJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDQgKzI2LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZShOYU4gIT0gMG4sIHRy
dWUsICdUaGUgcgogYXNzZXJ0LnNhbWVWYWx1ZSgxbiAhPSBOYU4sIHRydWUsICdUaGUgcmVzdWx0
IG9mICgxbiAhPSBOYU4pIGlzIHRydWUnKTsKIGFzc2VydC5zYW1lVmFsdWUoTmFOICE9IDFuLCB0
cnVlLCAnVGhlIHJlc3VsdCBvZiAoTmFOICE9IDFuKSBpcyB0cnVlJyk7CiBhc3NlcnQuc2FtZVZh
bHVlKC0xbiAhPSBOYU4sIHRydWUsICdUaGUgcmVzdWx0IG9mICgtMW4gIT0gTmFOKSBpcyB0cnVl
Jyk7Ci1hc3NlcnQuc2FtZVZhbHVlKE5hTiAhPSAtMW4sIHRydWUsICdUaGUgcmVzdWx0IG9mIChO
YU4gIT0gLTFuKSBpcyB0cnVlJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorYXNzZXJ0
LnNhbWVWYWx1ZShOYU4gIT0gLTFuLCB0cnVlLCAnVGhlIHJlc3VsdCBvZiAoTmFOICE9IC0xbikg
aXMgdHJ1ZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtbnVtYmVyLWV4dHJlbWVzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2RvZXMtbm90
LWVxdWFscy9iaWdpbnQtYW5kLW51bWJlci1leHRyZW1lcy5qcwkocmV2aXNpb24gMjU0MDA3KQor
KysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZG9lcy1ub3QtZXF1
YWxzL2JpZ2ludC1hbmQtbnVtYmVyLWV4dHJlbWVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00OCw0
ICs0OCw0IEBAIGFzc2VydC5zYW1lVmFsdWUoCiAgIE51bWJlci5NQVhfVkFMVUUgIT0gMHhmZmZm
ZmZmZmZmZmZmODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxbiwKICAgdHJ1ZSwKICAgJ1RoZSByZXN1bHQgb2YgKE51
bWJlci5NQVhfVkFMVUUgIT0gMHhmZmZmZmZmZmZmZmZmODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxbikgaXMgdHJ1
ZScKLSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorKTsKSW5kZXg6IEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2RvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5k
LW51bWJlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1udW1iZXIuanMJKHJldmlzaW9u
IDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Rv
ZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLW51bWJlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMzgs
NCArMzgsNCBAQCBhc3NlcnQuc2FtZVZhbHVlKAogICBOdW1iZXIuTUlOX1ZBTFVFICE9IC0xMG4s
CiAgIHRydWUsCiAgICdUaGUgcmVzdWx0IG9mIChOdW1iZXIuTUlOX1ZBTFVFICE9IC0xMG4pIGlz
IHRydWUnCi0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50
LWFuZC1vYmplY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtb2JqZWN0LmpzCShyZXZp
c2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEzMSw0ICsxMzEsNCBAQCBhc3NlcnQuc2FtZVZhbHVlKHsKICAgdG9TdHJpbmc6IGZ1bmN0aW9u
KCkgewogICAgIHJldHVybiAnOTAwNzE5OTI1NDc0MDk5MTAyJzsKICAgfQotfSAhPSA5MDA3MTk5
MjU0NzQwOTkxMDFuLCB0cnVlLCAnVGhlIHJlc3VsdCBvZiAoKHt0b1N0cmluZzogZnVuY3Rpb24o
KSB7cmV0dXJuICI5MDA3MTk5MjU0NzQwOTkxMDIiO319KSAhPSA5MDA3MTk5MjU0NzQwOTkxMDFu
KSBpcyB0cnVlJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSAhPSA5MDA3MTk5MjU0
NzQwOTkxMDFuLCB0cnVlLCAnVGhlIHJlc3VsdCBvZiAoKHt0b1N0cmluZzogZnVuY3Rpb24oKSB7
cmV0dXJuICI5MDA3MTk5MjU0NzQwOTkxMDIiO319KSAhPSA5MDA3MTk5MjU0NzQwOTkxMDFuKSBp
cyB0cnVlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1zdHJpbmcuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZG9lcy1ub3QtZXF1YWxzL2Jp
Z2ludC1hbmQtc3RyaW5nLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1zdHJp
bmcuanMJKHdvcmtpbmcgY29weSkKQEAgLTYzLDQgKzYzLDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgK
ICAgJzkwMDcxOTkyNTQ3NDA5OTEwMScgIT0gOTAwNzE5OTI1NDc0MDk5MTAybiwKICAgdHJ1ZSwK
ICAgJ1RoZSByZXN1bHQgb2YgKCI5MDA3MTk5MjU0NzQwOTkxMDEiICE9IDkwMDcxOTkyNTQ3NDA5
OTEwMm4pIGlzIHRydWUnCi0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyk7CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50
LWFuZC1iaWdpbnQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvZXF1YWxzL2JpZ2ludC1hbmQtYmlnaW50LmpzCShyZXZpc2lvbiAyNTQw
MDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMv
YmlnaW50LWFuZC1iaWdpbnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTE2OCw0ICsxNjgsNCBAQCBh
c3NlcnQuc2FtZVZhbHVlKAogICAweDEwMDAwMDAwMG4gPT0gMHgxMDAwMDAwMDAwMDAwMDAwMG4s
CiAgIGZhbHNlLAogICAnVGhlIHJlc3VsdCBvZiAoMHgxMDAwMDAwMDBuID09IDB4MTAwMDAwMDAw
MDAwMDAwMDBuKSBpcyBmYWxzZScKLSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2VxdWFscy9i
aWdpbnQtYW5kLWJvb2xlYW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXF1YWxzL2JpZ2ludC1hbmQtYm9vbGVhbi5qcwkocmV2aXNp
b24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
ZXF1YWxzL2JpZ2ludC1hbmQtYm9vbGVhbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMjgsNCArMjgs
NCBAQCBhc3NlcnQuc2FtZVZhbHVlKHRydWUgPT0gMW4sIHRydWUsICdUaGUgCiBhc3NlcnQuc2Ft
ZVZhbHVlKDJuID09IGZhbHNlLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKDJuID09IGZhbHNlKSBp
cyBmYWxzZScpOwogYXNzZXJ0LnNhbWVWYWx1ZShmYWxzZSA9PSAybiwgZmFsc2UsICdUaGUgcmVz
dWx0IG9mIChmYWxzZSA9PSAybikgaXMgZmFsc2UnKTsKIGFzc2VydC5zYW1lVmFsdWUoMm4gPT0g
dHJ1ZSwgZmFsc2UsICdUaGUgcmVzdWx0IG9mICgybiA9PSB0cnVlKSBpcyBmYWxzZScpOwotYXNz
ZXJ0LnNhbWVWYWx1ZSh0cnVlID09IDJuLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKHRydWUgPT0g
Mm4pIGlzIGZhbHNlJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorYXNzZXJ0LnNhbWVW
YWx1ZSh0cnVlID09IDJuLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKHRydWUgPT0gMm4pIGlzIGZh
bHNlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9l
cXVhbHMvYmlnaW50LWFuZC1pbmNvbXBhcmFibGUtcHJpbWl0aXZlLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2VxdWFscy9iaWdpbnQt
YW5kLWluY29tcGFyYWJsZS1wcmltaXRpdmUuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2VxdWFscy9iaWdpbnQtYW5kLWlu
Y29tcGFyYWJsZS1wcmltaXRpdmUuanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDQgKzIxLDQgQEAg
YXNzZXJ0LnNhbWVWYWx1ZShudWxsID09IDFuLCBmYWxzZSwgJ1RoZQogYXNzZXJ0LnNhbWVWYWx1
ZSgwbiA9PSBTeW1ib2woJzEnKSwgZmFsc2UsICdUaGUgcmVzdWx0IG9mICgwbiA9PSBTeW1ib2wo
IjEiKSkgaXMgZmFsc2UnKTsKIGFzc2VydC5zYW1lVmFsdWUoU3ltYm9sKCcxJykgPT0gMG4sIGZh
bHNlLCAnVGhlIHJlc3VsdCBvZiAoU3ltYm9sKCIxIikgPT0gMG4pIGlzIGZhbHNlJyk7CiBhc3Nl
cnQuc2FtZVZhbHVlKDFuID09IFN5bWJvbCgnMScpLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKDFu
ID09IFN5bWJvbCgiMSIpKSBpcyBmYWxzZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShTeW1ib2woJzEn
KSA9PSAxbiwgZmFsc2UsICdUaGUgcmVzdWx0IG9mIChTeW1ib2woIjEiKSA9PSAxbikgaXMgZmFs
c2UnKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCithc3NlcnQuc2FtZVZhbHVlKFN5bWJv
bCgnMScpID09IDFuLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKFN5bWJvbCgiMSIpID09IDFuKSBp
cyBmYWxzZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvZXF1YWxzL2JpZ2ludC1hbmQtbm9uLWZpbml0ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1ub24t
ZmluaXRlLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1ub24tZmluaXRlLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0yNiw0ICsyNiw0IEBAIGFzc2VydC5zYW1lVmFsdWUoTmFOID09IDBuLCBmYWxz
ZSwgJ1RoZSAKIGFzc2VydC5zYW1lVmFsdWUoMW4gPT0gTmFOLCBmYWxzZSwgJ1RoZSByZXN1bHQg
b2YgKDFuID09IE5hTikgaXMgZmFsc2UnKTsKIGFzc2VydC5zYW1lVmFsdWUoTmFOID09IDFuLCBm
YWxzZSwgJ1RoZSByZXN1bHQgb2YgKE5hTiA9PSAxbikgaXMgZmFsc2UnKTsKIGFzc2VydC5zYW1l
VmFsdWUoLTFuID09IE5hTiwgZmFsc2UsICdUaGUgcmVzdWx0IG9mICgtMW4gPT0gTmFOKSBpcyBm
YWxzZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShOYU4gPT0gLTFuLCBmYWxzZSwgJ1RoZSByZXN1bHQg
b2YgKE5hTiA9PSAtMW4pIGlzIGZhbHNlJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
YXNzZXJ0LnNhbWVWYWx1ZShOYU4gPT0gLTFuLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKE5hTiA9
PSAtMW4pIGlzIGZhbHNlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1udW1iZXItZXh0cmVtZXMuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXF1YWxzL2Jp
Z2ludC1hbmQtbnVtYmVyLWV4dHJlbWVzLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1udW1i
ZXItZXh0cmVtZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTU4LDQgKzU4LDQgQEAgYXNzZXJ0LnNh
bWVWYWx1ZSgKICAgTnVtYmVyLk1BWF9WQUxVRSA9PSAweGZmZmZmZmZmZmZmZmY4MDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDFuLAogICBmYWxzZSwKICAgJ1RoZSByZXN1bHQgb2YgKE51bWJlci5NQVhfVkFMVUUgPT0g
MHhmZmZmZmZmZmZmZmZmODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxbikgaXMgZmFsc2UnCi0pOwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1udW1iZXIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXF1YWxzL2JpZ2ludC1h
bmQtbnVtYmVyLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMvYmlnaW50LWFuZC1udW1iZXIuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTQ4LDQgKzQ4LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgTnVtYmVyLk1JTl9W
QUxVRSA9PSAtMTBuLAogICBmYWxzZSwKICAgJ1RoZSByZXN1bHQgb2YgKE51bWJlci5NSU5fVkFM
VUUgPT0gLTEwbikgaXMgZmFsc2UnCi0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyk7
CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMv
YmlnaW50LWFuZC1vYmplY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXF1YWxzL2JpZ2ludC1hbmQtb2JqZWN0LmpzCShyZXZpc2lv
biAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9l
cXVhbHMvYmlnaW50LWFuZC1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTEzMSw0ICsxMzEs
NCBAQCBhc3NlcnQuc2FtZVZhbHVlKHsKICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgewogICAgIHJl
dHVybiAnOTAwNzE5OTI1NDc0MDk5MTAyJzsKICAgfQotfSA9PSA5MDA3MTk5MjU0NzQwOTkxMDFu
LCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKCh7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAi
OTAwNzE5OTI1NDc0MDk5MTAyIjt9fSkgPT0gOTAwNzE5OTI1NDc0MDk5MTAxbikgaXMgZmFsc2Un
KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9ID09IDkwMDcxOTkyNTQ3NDA5OTEwMW4s
IGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAoKHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICI5
MDA3MTk5MjU0NzQwOTkxMDIiO319KSA9PSA5MDA3MTk5MjU0NzQwOTkxMDFuKSBpcyBmYWxzZScp
OwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXF1YWxz
L2JpZ2ludC1hbmQtc3RyaW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2VxdWFscy9iaWdpbnQtYW5kLXN0cmluZy5qcwkocmV2aXNp
b24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
ZXF1YWxzL2JpZ2ludC1hbmQtc3RyaW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC02Myw0ICs2Myw0
IEBAIGFzc2VydC5zYW1lVmFsdWUoCiAgICc5MDA3MTk5MjU0NzQwOTkxMDEnID09IDkwMDcxOTky
NTQ3NDA5OTEwMm4sCiAgIGZhbHNlLAogICAnVGhlIHJlc3VsdCBvZiAoIjkwMDcxOTkyNTQ3NDA5
OTEwMSIgPT0gOTAwNzE5OTI1NDc0MDk5MTAybikgaXMgZmFsc2UnCi0pOwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9leHBvbmVudGlhdGlvbi9iaWdpbnQtYW5kLW51bWJlci5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9leHBvbmVudGlh
dGlvbi9iaWdpbnQtYW5kLW51bWJlci5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXhwb25lbnRpYXRpb24vYmlnaW50LWFu
ZC1udW1iZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTg3LDQgKzg3LDQgQEAgYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7CiAgIHVuZGVmaW5lZCAqKiAxbjsKLX0sICd1bmRlZmluZWQgKiogMW4gdGhyb3dz
IFR5cGVFcnJvcicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICd1bmRlZmluZWQg
KiogMW4gdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZXhwb25lbnRpYXRpb24vYmlnaW50LWFyaXRobWV0aWMuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXhw
b25lbnRpYXRpb24vYmlnaW50LWFyaXRobWV0aWMuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2V4cG9uZW50aWF0aW9uL2Jp
Z2ludC1hcml0aG1ldGljLmpzCSh3b3JraW5nIGNvcHkpCkBAIC03Miw0ICs3Miw0IEBAIGFzc2Vy
dC5zYW1lVmFsdWUoMHgxbiAqKiAweDEyM24sIDB4MW4sICcKIGFzc2VydC5zYW1lVmFsdWUoMHgx
biAqKiAweEZGbiwgMHgxbiwgJ1RoZSByZXN1bHQgb2YgKDB4MW4gKiogMHhGRm4pIGlzIDB4MW4n
KTsKIGFzc2VydC5zYW1lVmFsdWUoMHgxbiAqKiAweDNuLCAweDFuLCAnVGhlIHJlc3VsdCBvZiAo
MHgxbiAqKiAweDNuKSBpcyAweDFuJyk7CiBhc3NlcnQuc2FtZVZhbHVlKDB4MW4gKiogMHgybiwg
MHgxbiwgJ1RoZSByZXN1bHQgb2YgKDB4MW4gKiogMHgybikgaXMgMHgxbicpOwotYXNzZXJ0LnNh
bWVWYWx1ZSgweDFuICoqIDB4MW4sIDB4MW4sICdUaGUgcmVzdWx0IG9mICgweDFuICoqIDB4MW4p
IGlzIDB4MW4nKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCithc3NlcnQuc2FtZVZhbHVl
KDB4MW4gKiogMHgxbiwgMHgxbiwgJ1RoZSByZXN1bHQgb2YgKDB4MW4gKiogMHgxbikgaXMgMHgx
bicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXhw
b25lbnRpYXRpb24vYmlnaW50LWVycm9ycy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9leHBvbmVudGlhdGlvbi9iaWdpbnQtZXJyb3Jz
LmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9leHBvbmVudGlhdGlvbi9iaWdpbnQtZXJyb3JzLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC02Nyw0ICs2Nyw0IEBAIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsK
ICAgICAgIHJldHVybiBTeW1ib2woJzEnKTsKICAgICB9CiAgIH07Ci19LCAnMG4gKioge3RvU3Ry
aW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gU3ltYm9sKCIxIik7fX0gdGhyb3dzIFR5cGVFcnJvcicp
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICcwbiAqKiB7dG9TdHJpbmc6IGZ1bmN0
aW9uKCkge3JldHVybiBTeW1ib2woIjEiKTt9fSB0aHJvd3MgVHlwZUVycm9yJyk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9leHBvbmVudGlhdGlvbi9i
aWdpbnQtbmVnYXRpdmUtZXhwb25lbnQtdGhyb3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2V4cG9uZW50aWF0aW9uL2JpZ2ludC1u
ZWdhdGl2ZS1leHBvbmVudC10aHJvd3MuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2V4cG9uZW50aWF0aW9uL2JpZ2ludC1u
ZWdhdGl2ZS1leHBvbmVudC10aHJvd3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTI5LDQgKzI5LDQg
QEAgYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKIAogYXNzZXJ0LnRocm93
cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKICAgMW4gKiogLTEwMDAwMDAwMDAwMDAwMDAwMG47
Ci19LCAnMW4gKiogLTEwMDAwMDAwMDAwMDAwMDAwMG4gdGhyb3dzIFJhbmdlRXJyb3InKTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCAnMW4gKiogLTEwMDAwMDAwMDAwMDAwMDAwMG4g
dGhyb3dzIFJhbmdlRXJyb3InKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2V4cG9uZW50aWF0aW9uL2JpZ2ludC10b3ByaW1pdGl2ZS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9leHBvbmVu
dGlhdGlvbi9iaWdpbnQtdG9wcmltaXRpdmUuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2V4cG9uZW50aWF0aW9uL2JpZ2lu
dC10b3ByaW1pdGl2ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMzY5LDQgKzM2OSw0IEBAIGFzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICAgIHJldHVybiB7fTsKICAgICB9
CiAgIH07Ci19LCAnMG4gKioge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9LCB0b1N0
cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9O319IHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCAnMG4gKioge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Jl
dHVybiB7fTt9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9O319IHRocm93cyBUeXBl
RXJyb3InKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2V4cG9uZW50aWF0aW9uL2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9leHBvbmVudGlhdGlvbi9i
aWdpbnQtd3JhcHBlZC12YWx1ZXMuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2V4cG9uZW50aWF0aW9uL2JpZ2ludC13cmFw
cGVkLXZhbHVlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtNDIsNCArNDIsNCBAQCBhc3NlcnQuc2Ft
ZVZhbHVlKDFuICoqIHsKICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgewogICAgIHJldHVybiAybjsK
ICAgfQotfSwgMW4sICdUaGUgcmVzdWx0IG9mICgxbiAqKiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkg
e3JldHVybiAybjt9fSkgaXMgMW4nKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCAx
biwgJ1RoZSByZXN1bHQgb2YgKDFuICoqIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJu
O319KSBpcyAxbicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvZXhwb25lbnRpYXRpb24vYmlnaW50LXplcm8tYmFzZS16ZXJvLWV4cG9uZW50LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2V4
cG9uZW50aWF0aW9uL2JpZ2ludC16ZXJvLWJhc2UtemVyby1leHBvbmVudC5qcwkocmV2aXNpb24g
MjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXhw
b25lbnRpYXRpb24vYmlnaW50LXplcm8tYmFzZS16ZXJvLWV4cG9uZW50LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xNyw0ICsxNyw0IEBAIGluZm86IHwKICAgLi4uCiBmZWF0dXJlczogW0JpZ0ludF0K
IC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKDBuICoqIDBuLCAxbiwgJ1RoZSByZXN1bHQgb2YgKDBu
ICoqIDBuKSBpcyAxbicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2Fzc2VydC5zYW1l
VmFsdWUoMG4gKiogMG4sIDFuLCAnVGhlIHJlc3VsdCBvZiAoMG4gKiogMG4pIGlzIDFuJyk7Cklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9l
dmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL2V2YWwtdmFyLXNjb3BlLXN5bnRh
eC1lcnIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvZnVuY3Rpb24vZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDU4IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBn
ZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1m
b3Jtcy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZv
cm1zL2Vycm9yL2Z1bmMtZXhwci50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBzbG9wcHkg
ZGlyZWN0IGV2YWwgaW4gcGFyYW1zIGludHJvZHVjZXMgdmFyIChmdW5jdGlvbiBleHByZXNzaW9u
KQorZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1
YXRpb24KK2ZlYXR1cmVzOiBbZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRd
CitpbmZvOiB8CisgICAgRnVuY3Rpb25FeHByZXNzaW9uIDogZnVuY3Rpb24gKCBGb3JtYWxQYXJh
bWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDMuIExl
dCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVycywgRnVu
Y3Rpb25Cb2R5LAorICAgICAgICAgICBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4uLl0KKwor
ICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAg
Wy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBh
cmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFs
dWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVu
Y3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4u
Ll0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBh
cmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJl
IFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1l
bnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMg
dHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQg
Zm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxz
IHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisg
ICAgWy4uLl0KKworICAgIAorICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJ
bml0aWFsaXphdGlvbgorICAgIEZvcm1hbFBhcmFtZXRlciA6IEJpbmRpbmdFbGVtZW50CisKKyAg
ICAxLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0luaXRp
YWxpemF0aW9uIGZvciBCaW5kaW5nRWxlbWVudCB3aXRoIGFyZ3VtZW50cyBpdGVyYXRvclJlY29y
ZCBhbmQgZW52aXJvbm1lbnQuCisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIGY7
CitmID0gZnVuY3Rpb24oYSA9IGV2YWwoInZhciBhID0gNDIiKSkgeworICAKKyAgY2FsbENvdW50
ID0gY2FsbENvdW50ICsgMTsKK307CisKK2Fzc2VydC50aHJvd3MoU3ludGF4RXJyb3IsIGZ1bmN0
aW9uKCkgeworICBmKCk7Cit9KTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZnVu
Y3Rpb24gYm9keSBub3QgZXZhbHVhdGVkJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9zY29wZS1wYXJhbS1lbGVtLXZhci1jbG9zZS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9mdW5jdGlvbi9zY29wZS1wYXJhbS1lbGVtLXZhci1jbG9zZS5qcwkocmV2aXNpb24gMjU0MDA3
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24v
c2NvcGUtcGFyYW0tZWxlbS12YXItY2xvc2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTggKzEs
MTYgQEAKIC8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyotLS0KLWVzaWQ6IHNlYy1mdW5jdGlv
bi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1pdGVyYXRvcmJpbmRpbmdpbml0aWFsaXph
dGlvbgorZXNpZDogc2VjLWZ1bmN0aW9uZGVjbGFyYXRpb25pbnN0YW50aWF0aW9uCiBkZXNjcmlw
dGlvbjogPgotICAgIFJlbW92YWwgb2YgdmFyaWFibGUgZW52aXJvbm1lbnQgZm9yIGVhY2ggQmlu
ZGluZ0VsZW1lbnQgZm9ybWFsIHBhcmFtZXRlcgorICAgIHNsb3BweSBkaXJlY3QgZXZhbHMgaW4g
cGFyYW1zIGludHJvZHVjZSB2YXJzCiBpbmZvOiB8CiAgICAgWy4uLl0KLSAgICA2LiBMZXQgcGFy
YW1WYXJFbnYgYmUgTmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChvcmlnaW5hbEVudikuCi0gICAg
Ny4gU2V0IHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFt
VmFyRW52LgotICAgIDguIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250
ZXh0IHRvIHBhcmFtVmFyRW52LgotICAgIDkuIExldCByZXN1bHQgYmUgdGhlIHJlc3VsdCBvZiBw
ZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvcgotICAgICAgIEJpbmRp
bmdFbGVtZW50IHVzaW5nIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudCBhcyB0aGUgYXJn
dW1lbnRzLgotICAgIDEwLiBTZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENv
bnRleHQgdG8gb3JpZ2luYWxFbnYuCi0gICAgMTEuIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50
IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgorICAgIDIwLiBFbHNlLAorICAgICAg
YS4gTk9URTogQSBzZXBhcmF0ZSBFbnZpcm9ubWVudCBSZWNvcmQgaXMgbmVlZGVkIHRvIGVuc3Vy
ZSB0aGF0IGJpbmRpbmdzIGNyZWF0ZWQgYnkgZGlyZWN0IGV2YWwgY2FsbHMgaW4gdGhlIGZvcm1h
bCBwYXJhbWV0ZXIgbGlzdCBhcmUgb3V0c2lkZSB0aGUgZW52aXJvbm1lbnQgd2hlcmUgcGFyYW1l
dGVycyBhcmUgZGVjbGFyZWQuCisgICAgICBiLiBMZXQgY2FsbGVlRW52IGJlIHRoZSBMZXhpY2Fs
RW52aXJvbm1lbnQgb2YgY2FsbGVlQ29udGV4dC4KKyAgICAgIGMuIExldCBlbnYgYmUgTmV3RGVj
bGFyYXRpdmVFbnZpcm9ubWVudChjYWxsZWVFbnYpLgorICAgICAgZC4gTGV0IGVudlJlYyBiZSBl
bnYncyBFbnZpcm9ubWVudFJlY29yZC4KICAgICBbLi4uXQogZmxhZ3M6IFtub1N0cmljdF0KIC0t
LSovCkBAIC0yOCw1ICsyNiw1IEBAIHZhciBwcm9iZTEsIHByb2JlMiwgcHJvYmVCb2R5OwogfSgp
KTsKIAogYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ2luc2lkZScpOwotYXNzZXJ0LnNhbWVW
YWx1ZShwcm9iZTIoKSwgJ291dHNpZGUnKTsKLWFzc2VydC5zYW1lVmFsdWUocHJvYmVCb2R5KCks
ICdvdXRzaWRlJyk7Cithc3NlcnQuc2FtZVZhbHVlKHByb2JlMigpLCAnaW5zaWRlJyk7Cithc3Nl
cnQuc2FtZVZhbHVlKHByb2JlQm9keSgpLCAnaW5zaWRlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9zY29wZS1wYXJhbS1lbGVtLXZh
ci1vcGVuLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2Z1bmN0aW9uL3Njb3BlLXBhcmFtLWVsZW0tdmFyLW9wZW4uanMJKHJldmlzaW9u
IDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1
bmN0aW9uL3Njb3BlLXBhcmFtLWVsZW0tdmFyLW9wZW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTkgKzEsMTYgQEAKIC8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyotLS0KLWVzaWQ6IHNlYy1m
dW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1pdGVyYXRvcmJpbmRpbmdpbml0
aWFsaXphdGlvbgorZXNpZDogc2VjLWZ1bmN0aW9uZGVjbGFyYXRpb25pbnN0YW50aWF0aW9uCiBk
ZXNjcmlwdGlvbjogPgotICAgIENyZWF0aW9uIG9mIG5ldyB2YXJpYWJsZSBlbnZpcm9ubWVudCBm
b3IgZWFjaCBCaW5kaW5nRWxlbWVudCBmb3JtYWwKLSAgICBwYXJhbWV0ZXIKKyAgICBzbG9wcHkg
ZGlyZWN0IGV2YWxzIGluIHBhcmFtcyBpbnRyb2R1Y2UgdmFycwogaW5mbzogfAogICAgIFsuLi5d
Ci0gICAgNi4gTGV0IHBhcmFtVmFyRW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQob3Jp
Z2luYWxFbnYpLgotICAgIDcuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50
Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA4LiBTZXQgdGhlIExleGljYWxFbnZpcm9ubWVu
dCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA5LiBMZXQgcmVzdWx0IGJl
IHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBm
b3IKLSAgICAgICBCaW5kaW5nRWxlbWVudCB1c2luZyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJv
bm1lbnQgYXMgdGhlIGFyZ3VtZW50cy4KLSAgICAxMC4gU2V0IHRoZSBWYXJpYWJsZUVudmlyb25t
ZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgotICAgIDExLiBTZXQgdGhlIExl
eGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBvcmlnaW5hbEVudi4KKyAgICAy
MC4gRWxzZSwKKyAgICAgIGEuIE5PVEU6IEEgc2VwYXJhdGUgRW52aXJvbm1lbnQgUmVjb3JkIGlz
IG5lZWRlZCB0byBlbnN1cmUgdGhhdCBiaW5kaW5ncyBjcmVhdGVkIGJ5IGRpcmVjdCBldmFsIGNh
bGxzIGluIHRoZSBmb3JtYWwgcGFyYW1ldGVyIGxpc3QgYXJlIG91dHNpZGUgdGhlIGVudmlyb25t
ZW50IHdoZXJlIHBhcmFtZXRlcnMgYXJlIGRlY2xhcmVkLgorICAgICAgYi4gTGV0IGNhbGxlZUVu
diBiZSB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGNhbGxlZUNvbnRleHQuCisgICAgICBjLiBM
ZXQgZW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQoY2FsbGVlRW52KS4KKyAgICAgIGQu
IExldCBlbnZSZWMgYmUgZW52J3MgRW52aXJvbm1lbnRSZWNvcmQuCiAgICAgWy4uLl0KIGZsYWdz
OiBbbm9TdHJpY3RdCiAtLS0qLwpAQCAtMjcsNSArMjQsNSBAQCB2YXIgcHJvYmUxLCBwcm9iZTI7
CiAgICkgewogfSgpKTsKIAotYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ291dHNpZGUnKTsK
K2Fzc2VydC5zYW1lVmFsdWUocHJvYmUxKCksICdpbnNpZGUnKTsKIGFzc2VydC5zYW1lVmFsdWUo
cHJvYmUyKCksICdpbnNpZGUnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2Z1bmN0aW9uL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItY2xvc2UuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
ZnVuY3Rpb24vc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1jbG9zZS5qcwkocmV2aXNpb24gMjU0
MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rp
b24vc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1jbG9zZS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSwyNCArMSwxNiBAQAogLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQotZXNpZDogc2Vj
LWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWl0ZXJhdG9yYmluZGluZ2lu
aXRpYWxpemF0aW9uCitlc2lkOiBzZWMtZnVuY3Rpb25kZWNsYXJhdGlvbmluc3RhbnRpYXRpb24K
IGRlc2NyaXB0aW9uOiA+Ci0gICAgUmVtb3ZhbCBvZiB2YXJpYWJsZSBlbnZpcm9ubWVudCBmb3Ig
dGhlIEJpbmRpbmdSZXN0RWxlbWVudCBmb3JtYWwgcGFyYW1ldGVyCisgICAgc2xvcHB5IGRpcmVj
dCBldmFscyBpbiBwYXJhbXMgaW50cm9kdWNlIHZhcnMKIGluZm86IHwKICAgICBbLi4uXQotICAg
IDIuIExldCBjdXJyZW50Q29udGV4dCBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dC4K
LSAgICAzLiBMZXQgb3JpZ2luYWxFbnYgYmUgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3Vy
cmVudENvbnRleHQuCi0gICAgNC4gQXNzZXJ0OiBUaGUgVmFyaWFibGVFbnZpcm9ubWVudCBhbmQg
TGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0Ci0gICAgICAgYXJlIHRoZSBzYW1l
LgotICAgIDUuIEFzc2VydDogZW52aXJvbm1lbnQgYW5kIG9yaWdpbmFsRW52IGFyZSB0aGUgc2Ft
ZS4KLSAgICA2LiBMZXQgcGFyYW1WYXJFbnYgYmUgTmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChv
cmlnaW5hbEVudikuCi0gICAgNy4gU2V0IHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJl
bnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAgIDguIFNldCB0aGUgTGV4aWNhbEVudmlyb25t
ZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAgIDkuIExldCByZXN1bHQg
YmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9u
IGZvcgotICAgICAgIEJpbmRpbmdSZXN0RWxlbWVudCB1c2luZyBpdGVyYXRvclJlY29yZCBhbmQg
ZW52aXJvbm1lbnQgYXMgdGhlCi0gICAgICAgYXJndW1lbnRzLgotICAgIDEwLiBTZXQgdGhlIFZh
cmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCi0gICAg
MTEuIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdp
bmFsRW52LgorICAgIDIwLiBFbHNlLAorICAgICAgYS4gTk9URTogQSBzZXBhcmF0ZSBFbnZpcm9u
bWVudCBSZWNvcmQgaXMgbmVlZGVkIHRvIGVuc3VyZSB0aGF0IGJpbmRpbmdzIGNyZWF0ZWQgYnkg
ZGlyZWN0IGV2YWwgY2FsbHMgaW4gdGhlIGZvcm1hbCBwYXJhbWV0ZXIgbGlzdCBhcmUgb3V0c2lk
ZSB0aGUgZW52aXJvbm1lbnQgd2hlcmUgcGFyYW1ldGVycyBhcmUgZGVjbGFyZWQuCisgICAgICBi
LiBMZXQgY2FsbGVlRW52IGJlIHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY2FsbGVlQ29udGV4
dC4KKyAgICAgIGMuIExldCBlbnYgYmUgTmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChjYWxsZWVF
bnYpLgorICAgICAgZC4gTGV0IGVudlJlYyBiZSBlbnYncyBFbnZpcm9ubWVudFJlY29yZC4KICAg
ICBbLi4uXQogZmxhZ3M6IFtub1N0cmljdF0KIC0tLSovCkBAIC0zMyw0ICsyNSw0IEBAIHZhciBw
cm9iZVBhcmFtLCBwcm9iZUJvZHk7CiB9KCkpOwogCiBhc3NlcnQuc2FtZVZhbHVlKHByb2JlUGFy
YW0oKSwgJ2luc2lkZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZUJvZHkoKSwgJ291dHNpZGUn
KTsKK2Fzc2VydC5zYW1lVmFsdWUocHJvYmVCb2R5KCksICdpbnNpZGUnKTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL3Njb3BlLXBhcmFt
LXJlc3QtZWxlbS12YXItb3Blbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9zY29wZS1wYXJhbS1yZXN0LWVsZW0tdmFy
LW9wZW4uanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSwyNCArMSwxNiBAQAogLy8gQ29weXJpZ2h0IChDKSAyMDE2
IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCiAvKi0tLQotZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50
aWNzLWl0ZXJhdG9yYmluZGluZ2luaXRpYWxpemF0aW9uCitlc2lkOiBzZWMtZnVuY3Rpb25kZWNs
YXJhdGlvbmluc3RhbnRpYXRpb24KIGRlc2NyaXB0aW9uOiA+Ci0gICAgQ3JlYXRpb24gb2YgbmV3
IHZhcmlhYmxlIGVudmlyb25tZW50IGZvciB0aGUgQmluZGluZ1Jlc3RFbGVtZW50IGZvcm1hbAot
ICAgIHBhcmFtZXRlcgorICAgIHNsb3BweSBkaXJlY3QgZXZhbHMgaW4gcGFyYW1zIGludHJvZHVj
ZSB2YXJzCiBpbmZvOiB8CiAgICAgWy4uLl0KLSAgICAyLiBMZXQgY3VycmVudENvbnRleHQgYmUg
dGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQuCi0gICAgMy4gTGV0IG9yaWdpbmFsRW52IGJl
IHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0LgotICAgIDQuIEFzc2Vy
dDogVGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgYW5kIExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJy
ZW50Q29udGV4dAotICAgICAgIGFyZSB0aGUgc2FtZS4KLSAgICA1LiBBc3NlcnQ6IGVudmlyb25t
ZW50IGFuZCBvcmlnaW5hbEVudiBhcmUgdGhlIHNhbWUuCi0gICAgNi4gTGV0IHBhcmFtVmFyRW52
IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQob3JpZ2luYWxFbnYpLgotICAgIDcuIFNldCB0
aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4K
LSAgICA4LiBTZXQgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBw
YXJhbVZhckVudi4KLSAgICA5LiBMZXQgcmVzdWx0IGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWlu
ZyBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IKLSAgICAgIEJpbmRpbmdSZXN0RWxl
bWVudCB1c2luZyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQgYXMgdGhlIGFyZ3VtZW50
cy4KLSAgICAxMC4gU2V0IHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0
IHRvIG9yaWdpbmFsRW52LgotICAgIDExLiBTZXQgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBj
dXJyZW50Q29udGV4dCB0byBvcmlnaW5hbEVudi4KKyAgICAyMC4gRWxzZSwKKyAgICAgIGEuIE5P
VEU6IEEgc2VwYXJhdGUgRW52aXJvbm1lbnQgUmVjb3JkIGlzIG5lZWRlZCB0byBlbnN1cmUgdGhh
dCBiaW5kaW5ncyBjcmVhdGVkIGJ5IGRpcmVjdCBldmFsIGNhbGxzIGluIHRoZSBmb3JtYWwgcGFy
YW1ldGVyIGxpc3QgYXJlIG91dHNpZGUgdGhlIGVudmlyb25tZW50IHdoZXJlIHBhcmFtZXRlcnMg
YXJlIGRlY2xhcmVkLgorICAgICAgYi4gTGV0IGNhbGxlZUVudiBiZSB0aGUgTGV4aWNhbEVudmly
b25tZW50IG9mIGNhbGxlZUNvbnRleHQuCisgICAgICBjLiBMZXQgZW52IGJlIE5ld0RlY2xhcmF0
aXZlRW52aXJvbm1lbnQoY2FsbGVlRW52KS4KKyAgICAgIGQuIExldCBlbnZSZWMgYmUgZW52J3Mg
RW52aXJvbm1lbnRSZWNvcmQuCiAgICAgWy4uLl0KIGZsYWdzOiBbbm9TdHJpY3RdCiAtLS0qLwpA
QCAtMzIsNSArMjQsNSBAQCB2YXIgcHJvYmUxLCBwcm9iZTI7CiAgICkgewogfSgpKTsKIAotYXNz
ZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ291dHNpZGUnKTsKK2Fzc2VydC5zYW1lVmFsdWUocHJv
YmUxKCksICdpbnNpZGUnKTsKIGFzc2VydC5zYW1lVmFsdWUocHJvYmUyKCksICdpbnNpZGUnKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRv
cnMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2V2YWwtdmFyLXNjb3Bl
LXN5bnRheC1lcnIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2Vk
dXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1
bmN0aW9uLWZvcm1zL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuY2FzZQorLy8gLSBzcmMvZnVu
Y3Rpb24tZm9ybXMvZXJyb3IvZ2VuLWZ1bmMtZXhwci50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0
aW9uOiBzbG9wcHkgZGlyZWN0IGV2YWwgaW4gcGFyYW1zIGludHJvZHVjZXMgdmFyIChnZW5lcmF0
b3IgZnVuY3Rpb24gZXhwcmVzc2lvbikKK2VzaWQ6IHNlYy1nZW5lcmF0b3ItZnVuY3Rpb24tZGVm
aW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtkZWZhdWx0
LXBhcmFtZXRlcnMsIGdlbmVyYXRvcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAg
ICBHZW5lcmF0b3JFeHByZXNzaW9uIDogZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7
IEdlbmVyYXRvckJvZHkgfQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDMuIExldCBjbG9zdXJl
IGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVycywKKyAg
ICAgICAgICAgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgICAgIFsuLi5dCisK
KyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAg
IFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwg
YXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZh
bHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1
bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsu
Li5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywg
YXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBi
ZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3Vt
ZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlz
IHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0
IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFs
cyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgor
ICAgIFsuLi5dCisKKworICAgIAorICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRp
bmdJbml0aWFsaXphdGlvbgorICAgIEZvcm1hbFBhcmFtZXRlciA6IEJpbmRpbmdFbGVtZW50CisK
KyAgICAxLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0lu
aXRpYWxpemF0aW9uIGZvciBCaW5kaW5nRWxlbWVudCB3aXRoIGFyZ3VtZW50cyBpdGVyYXRvclJl
Y29yZCBhbmQgZW52aXJvbm1lbnQuCisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFy
IGY7CitmID0gZnVuY3Rpb24qKGEgPSBldmFsKCJ2YXIgYSA9IDQyIikpIHsKKyAgCisgIGNhbGxD
b3VudCA9IGNhbGxDb3VudCArIDE7Cit9OworCithc3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBm
dW5jdGlvbigpIHsKKyAgZigpOworfSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwg
J2dlbmVyYXRvciBmdW5jdGlvbiBib2R5IG5vdCBldmFsdWF0ZWQnKTsKSW5kZXg6IEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0t
ZWxlbS12YXItY2xvc2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9zY29wZS1wYXJhbS1lbGVtLXZhci1jbG9zZS5q
cwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvZ2VuZXJhdG9ycy9zY29wZS1wYXJhbS1lbGVtLXZhci1jbG9zZS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxOCArMSwxNiBAQAogLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBw
cm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0t
LQotZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWl0ZXJh
dG9yYmluZGluZ2luaXRpYWxpemF0aW9uCitlc2lkOiBzZWMtZnVuY3Rpb25kZWNsYXJhdGlvbmlu
c3RhbnRpYXRpb24KIGRlc2NyaXB0aW9uOiA+Ci0gICAgUmVtb3ZhbCBvZiB2YXJpYWJsZSBlbnZp
cm9ubWVudCBmb3IgZWFjaCBCaW5kaW5nRWxlbWVudCBmb3JtYWwgcGFyYW1ldGVyCisgICAgc2xv
cHB5IGRpcmVjdCBldmFscyBpbiBwYXJhbXMgaW50cm9kdWNlIHZhcnMKIGluZm86IHwKICAgICBb
Li4uXQotICAgIDYuIExldCBwYXJhbVZhckVudiBiZSBOZXdEZWNsYXJhdGl2ZUVudmlyb25tZW50
KG9yaWdpbmFsRW52KS4KLSAgICA3LiBTZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3Vy
cmVudENvbnRleHQgdG8gcGFyYW1WYXJFbnYuCi0gICAgOC4gU2V0IHRoZSBMZXhpY2FsRW52aXJv
bm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gcGFyYW1WYXJFbnYuCi0gICAgOS4gTGV0IHJlc3Vs
dCBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRp
b24gZm9yCi0gICAgICAgQmluZGluZ0VsZW1lbnQgdXNpbmcgaXRlcmF0b3JSZWNvcmQgYW5kIGVu
dmlyb25tZW50IGFzIHRoZSBhcmd1bWVudHMuCi0gICAgMTAuIFNldCB0aGUgVmFyaWFibGVFbnZp
cm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBvcmlnaW5hbEVudi4KLSAgICAxMS4gU2V0IHRo
ZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCisg
ICAgMjAuIEVsc2UsCisgICAgICBhLiBOT1RFOiBBIHNlcGFyYXRlIEVudmlyb25tZW50IFJlY29y
ZCBpcyBuZWVkZWQgdG8gZW5zdXJlIHRoYXQgYmluZGluZ3MgY3JlYXRlZCBieSBkaXJlY3QgZXZh
bCBjYWxscyBpbiB0aGUgZm9ybWFsIHBhcmFtZXRlciBsaXN0IGFyZSBvdXRzaWRlIHRoZSBlbnZp
cm9ubWVudCB3aGVyZSBwYXJhbWV0ZXJzIGFyZSBkZWNsYXJlZC4KKyAgICAgIGIuIExldCBjYWxs
ZWVFbnYgYmUgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBjYWxsZWVDb250ZXh0LgorICAgICAg
Yy4gTGV0IGVudiBiZSBOZXdEZWNsYXJhdGl2ZUVudmlyb25tZW50KGNhbGxlZUVudikuCisgICAg
ICBkLiBMZXQgZW52UmVjIGJlIGVudidzIEVudmlyb25tZW50UmVjb3JkLgogICAgIFsuLi5dCiBm
bGFnczogW25vU3RyaWN0XQogZmVhdHVyZXM6IFtnZW5lcmF0b3JzXQpAQCAtMjksNSArMjcsNSBA
QCB2YXIgcHJvYmUxLCBwcm9iZTIsIHByb2JlQm9keTsKIH0oKSkubmV4dCgpOwogCiBhc3NlcnQu
c2FtZVZhbHVlKHByb2JlMSgpLCAnaW5zaWRlJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHByb2JlMigp
LCAnb3V0c2lkZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZUJvZHkoKSwgJ291dHNpZGUnKTsK
K2Fzc2VydC5zYW1lVmFsdWUocHJvYmUyKCksICdpbnNpZGUnKTsKK2Fzc2VydC5zYW1lVmFsdWUo
cHJvYmVCb2R5KCksICdpbnNpZGUnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tZWxlbS12YXItb3Blbi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9n
ZW5lcmF0b3JzL3Njb3BlLXBhcmFtLWVsZW0tdmFyLW9wZW4uanMJKHJldmlzaW9uIDI1NDAwNykK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMv
c2NvcGUtcGFyYW0tZWxlbS12YXItb3Blbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwxOSArMSwx
NiBAQAogLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQotZXNpZDogc2VjLWZ1bmN0aW9u
LWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWl0ZXJhdG9yYmluZGluZ2luaXRpYWxpemF0
aW9uCitlc2lkOiBzZWMtZnVuY3Rpb25kZWNsYXJhdGlvbmluc3RhbnRpYXRpb24KIGRlc2NyaXB0
aW9uOiA+Ci0gICAgQ3JlYXRpb24gb2YgbmV3IHZhcmlhYmxlIGVudmlyb25tZW50IGZvciBlYWNo
IEJpbmRpbmdFbGVtZW50IGZvcm1hbAotICAgIHBhcmFtZXRlcgorICAgIHNsb3BweSBkaXJlY3Qg
ZXZhbHMgaW4gcGFyYW1zIGludHJvZHVjZSB2YXJzCiBpbmZvOiB8CiAgICAgWy4uLl0KLSAgICA2
LiBMZXQgcGFyYW1WYXJFbnYgYmUgTmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChvcmlnaW5hbEVu
dikuCi0gICAgNy4gU2V0IHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0
IHRvIHBhcmFtVmFyRW52LgotICAgIDguIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1
cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAgIDkuIExldCByZXN1bHQgYmUgdGhlIHJl
c3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvcgotICAg
ICAgIEJpbmRpbmdFbGVtZW50IHVzaW5nIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudCBh
cyB0aGUgYXJndW1lbnRzLgotICAgIDEwLiBTZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2Yg
Y3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCi0gICAgMTEuIFNldCB0aGUgTGV4aWNhbEVu
dmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgorICAgIDIwLiBFbHNl
LAorICAgICAgYS4gTk9URTogQSBzZXBhcmF0ZSBFbnZpcm9ubWVudCBSZWNvcmQgaXMgbmVlZGVk
IHRvIGVuc3VyZSB0aGF0IGJpbmRpbmdzIGNyZWF0ZWQgYnkgZGlyZWN0IGV2YWwgY2FsbHMgaW4g
dGhlIGZvcm1hbCBwYXJhbWV0ZXIgbGlzdCBhcmUgb3V0c2lkZSB0aGUgZW52aXJvbm1lbnQgd2hl
cmUgcGFyYW1ldGVycyBhcmUgZGVjbGFyZWQuCisgICAgICBiLiBMZXQgY2FsbGVlRW52IGJlIHRo
ZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY2FsbGVlQ29udGV4dC4KKyAgICAgIGMuIExldCBlbnYg
YmUgTmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChjYWxsZWVFbnYpLgorICAgICAgZC4gTGV0IGVu
dlJlYyBiZSBlbnYncyBFbnZpcm9ubWVudFJlY29yZC4KICAgICBbLi4uXQogZmxhZ3M6IFtub1N0
cmljdF0KIGZlYXR1cmVzOiBbZ2VuZXJhdG9yc10KQEAgLTI4LDUgKzI1LDUgQEAgdmFyIHByb2Jl
MSwgcHJvYmUyOwogICApIHsKIH0oKS5uZXh0KCkpOwogCi1hc3NlcnQuc2FtZVZhbHVlKHByb2Jl
MSgpLCAnb3V0c2lkZScpOworYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ2luc2lkZScpOwog
YXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTIoKSwgJ2luc2lkZScpOwpJbmRleDogSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9zY29wZS1wYXJhbS1yZXN0
LWVsZW0tdmFyLWNsb3NlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1j
bG9zZS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9zY29wZS1wYXJhbS1yZXN0LWVsZW0tdmFyLWNsb3Nl
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI0ICsxLDE2IEBACiAvLyBDb3B5cmlnaHQgKEMpIDIw
MTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KIC8qLS0tCi1lc2lkOiBzZWMtZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1h
bnRpY3MtaXRlcmF0b3JiaW5kaW5naW5pdGlhbGl6YXRpb24KK2VzaWQ6IHNlYy1mdW5jdGlvbmRl
Y2xhcmF0aW9uaW5zdGFudGlhdGlvbgogZGVzY3JpcHRpb246ID4KLSAgICBSZW1vdmFsIG9mIHZh
cmlhYmxlIGVudmlyb25tZW50IGZvciB0aGUgQmluZGluZ1Jlc3RFbGVtZW50IGZvcm1hbCBwYXJh
bWV0ZXIKKyAgICBzbG9wcHkgZGlyZWN0IGV2YWxzIGluIHBhcmFtcyBpbnRyb2R1Y2UgdmFycwog
aW5mbzogfAogICAgIFsuLi5dCi0gICAgMi4gTGV0IGN1cnJlbnRDb250ZXh0IGJlIHRoZSBydW5u
aW5nIGV4ZWN1dGlvbiBjb250ZXh0LgotICAgIDMuIExldCBvcmlnaW5hbEVudiBiZSB0aGUgVmFy
aWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dC4KLSAgICA0LiBBc3NlcnQ6IFRoZSBW
YXJpYWJsZUVudmlyb25tZW50IGFuZCBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRl
eHQKLSAgICAgICBhcmUgdGhlIHNhbWUuCi0gICAgNS4gQXNzZXJ0OiBlbnZpcm9ubWVudCBhbmQg
b3JpZ2luYWxFbnYgYXJlIHRoZSBzYW1lLgotICAgIDYuIExldCBwYXJhbVZhckVudiBiZSBOZXdE
ZWNsYXJhdGl2ZUVudmlyb25tZW50KG9yaWdpbmFsRW52KS4KLSAgICA3LiBTZXQgdGhlIFZhcmlh
YmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gcGFyYW1WYXJFbnYuCi0gICAgOC4g
U2V0IHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gcGFyYW1WYXJF
bnYuCi0gICAgOS4gTGV0IHJlc3VsdCBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgSXRlcmF0
b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yCi0gICAgICAgQmluZGluZ1Jlc3RFbGVtZW50IHVz
aW5nIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudCBhcyB0aGUKLSAgICAgICBhcmd1bWVu
dHMuCi0gICAgMTAuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4
dCB0byBvcmlnaW5hbEVudi4KLSAgICAxMS4gU2V0IHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2Yg
Y3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCisgICAgMjAuIEVsc2UsCisgICAgICBhLiBO
T1RFOiBBIHNlcGFyYXRlIEVudmlyb25tZW50IFJlY29yZCBpcyBuZWVkZWQgdG8gZW5zdXJlIHRo
YXQgYmluZGluZ3MgY3JlYXRlZCBieSBkaXJlY3QgZXZhbCBjYWxscyBpbiB0aGUgZm9ybWFsIHBh
cmFtZXRlciBsaXN0IGFyZSBvdXRzaWRlIHRoZSBlbnZpcm9ubWVudCB3aGVyZSBwYXJhbWV0ZXJz
IGFyZSBkZWNsYXJlZC4KKyAgICAgIGIuIExldCBjYWxsZWVFbnYgYmUgdGhlIExleGljYWxFbnZp
cm9ubWVudCBvZiBjYWxsZWVDb250ZXh0LgorICAgICAgYy4gTGV0IGVudiBiZSBOZXdEZWNsYXJh
dGl2ZUVudmlyb25tZW50KGNhbGxlZUVudikuCisgICAgICBkLiBMZXQgZW52UmVjIGJlIGVudidz
IEVudmlyb25tZW50UmVjb3JkLgogICAgIFsuLi5dCiBmbGFnczogW25vU3RyaWN0XQogZmVhdHVy
ZXM6IFtnZW5lcmF0b3JzXQpAQCAtMzQsNCArMjYsNCBAQCB2YXIgcHJvYmVQYXJhbSwgcHJvYmVC
b2R5OwogfSgpLm5leHQoKSk7CiAKIGFzc2VydC5zYW1lVmFsdWUocHJvYmVQYXJhbSgpLCAnaW5z
aWRlJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHByb2JlQm9keSgpLCAnb3V0c2lkZScpOworYXNzZXJ0
LnNhbWVWYWx1ZShwcm9iZUJvZHkoKSwgJ2luc2lkZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9zY29wZS1wYXJhbS1yZXN0LWVs
ZW0tdmFyLW9wZW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9zY29wZS1wYXJhbS1yZXN0LWVsZW0tdmFyLW9wZW4u
anMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDI0ICsxLDE2IEBACiAvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhl
IFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
IC8qLS0tCi1lc2lkOiBzZWMtZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3Mt
aXRlcmF0b3JiaW5kaW5naW5pdGlhbGl6YXRpb24KK2VzaWQ6IHNlYy1mdW5jdGlvbmRlY2xhcmF0
aW9uaW5zdGFudGlhdGlvbgogZGVzY3JpcHRpb246ID4KLSAgICBDcmVhdGlvbiBvZiBuZXcgdmFy
aWFibGUgZW52aXJvbm1lbnQgZm9yIHRoZSBCaW5kaW5nUmVzdEVsZW1lbnQgZm9ybWFsCi0gICAg
cGFyYW1ldGVyCisgICAgc2xvcHB5IGRpcmVjdCBldmFscyBpbiBwYXJhbXMgaW50cm9kdWNlIHZh
cnMKIGluZm86IHwKICAgICBbLi4uXQotICAgIDIuIExldCBjdXJyZW50Q29udGV4dCBiZSB0aGUg
cnVubmluZyBleGVjdXRpb24gY29udGV4dC4KLSAgICAzLiBMZXQgb3JpZ2luYWxFbnYgYmUgdGhl
IFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQuCi0gICAgNC4gQXNzZXJ0OiBU
aGUgVmFyaWFibGVFbnZpcm9ubWVudCBhbmQgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRD
b250ZXh0Ci0gICAgICAgYXJlIHRoZSBzYW1lLgotICAgIDUuIEFzc2VydDogZW52aXJvbm1lbnQg
YW5kIG9yaWdpbmFsRW52IGFyZSB0aGUgc2FtZS4KLSAgICA2LiBMZXQgcGFyYW1WYXJFbnYgYmUg
TmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChvcmlnaW5hbEVudikuCi0gICAgNy4gU2V0IHRoZSBW
YXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAg
IDguIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFt
VmFyRW52LgotICAgIDkuIExldCByZXN1bHQgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0
ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvcgotICAgICAgQmluZGluZ1Jlc3RFbGVtZW50
IHVzaW5nIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudCBhcyB0aGUgYXJndW1lbnRzLgot
ICAgIDEwLiBTZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8g
b3JpZ2luYWxFbnYuCi0gICAgMTEuIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJl
bnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgorICAgIDIwLiBFbHNlLAorICAgICAgYS4gTk9URTog
QSBzZXBhcmF0ZSBFbnZpcm9ubWVudCBSZWNvcmQgaXMgbmVlZGVkIHRvIGVuc3VyZSB0aGF0IGJp
bmRpbmdzIGNyZWF0ZWQgYnkgZGlyZWN0IGV2YWwgY2FsbHMgaW4gdGhlIGZvcm1hbCBwYXJhbWV0
ZXIgbGlzdCBhcmUgb3V0c2lkZSB0aGUgZW52aXJvbm1lbnQgd2hlcmUgcGFyYW1ldGVycyBhcmUg
ZGVjbGFyZWQuCisgICAgICBiLiBMZXQgY2FsbGVlRW52IGJlIHRoZSBMZXhpY2FsRW52aXJvbm1l
bnQgb2YgY2FsbGVlQ29udGV4dC4KKyAgICAgIGMuIExldCBlbnYgYmUgTmV3RGVjbGFyYXRpdmVF
bnZpcm9ubWVudChjYWxsZWVFbnYpLgorICAgICAgZC4gTGV0IGVudlJlYyBiZSBlbnYncyBFbnZp
cm9ubWVudFJlY29yZC4KICAgICBbLi4uXQogZmxhZ3M6IFtub1N0cmljdF0KIGZlYXR1cmVzOiBb
Z2VuZXJhdG9yc10KQEAgLTMzLDUgKzI1LDUgQEAgdmFyIHByb2JlMSwgcHJvYmUyOwogICApIHsK
IH0oKS5uZXh0KCkpOwogCi1hc3NlcnQuc2FtZVZhbHVlKHByb2JlMSgpLCAnb3V0c2lkZScpOwor
YXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ2luc2lkZScpOwogYXNzZXJ0LnNhbWVWYWx1ZShw
cm9iZTIoKSwgJ2luc2lkZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtYmlnaW50LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dy
ZWF0ZXItdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLWJpZ2ludC5qcwkocmV2aXNpb24gMjU0MDA3
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ3JlYXRlci10
aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtYmlnaW50LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNjEs
NCArMTYxLDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgMHgxMDAwMDAwMDBuID49IDB4MTAwMDAw
MDAwMDAwMDAwMDBuLAogICBmYWxzZSwKICAgJ1RoZSByZXN1bHQgb2YgKDB4MTAwMDAwMDAwbiA+
PSAweDEwMDAwMDAwMDAwMDAwMDAwbikgaXMgZmFsc2UnCi0pOwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9ncmVhdGVyLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1pbmNvbXBhcmFibGUtc3RyaW5n
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2dyZWF0ZXItdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLWluY29tcGFyYWJsZS1zdHJpbmcu
anMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2dyZWF0ZXItdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLWluY29tcGFyYWJsZS1z
dHJpbmcuanMJKHdvcmtpbmcgY29weSkKQEAgLTI0LDQgKzI0LDQgQEAgYXNzZXJ0LnNhbWVWYWx1
ZSgnMXonID49IDBuLCBmYWxzZSwgJ1RoZQogYXNzZXJ0LnNhbWVWYWx1ZSgnKysxJyA+PSAwbiwg
ZmFsc2UsICdUaGUgcmVzdWx0IG9mICgiKysxIiA+PSAwbikgaXMgZmFsc2UnKTsKIGFzc2VydC5z
YW1lVmFsdWUoJy0tMScgPj0gMG4sIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAoIi0tMSIgPj0gMG4p
IGlzIGZhbHNlJyk7CiBhc3NlcnQuc2FtZVZhbHVlKCcxZTAnID49IDBuLCBmYWxzZSwgJ1RoZSBy
ZXN1bHQgb2YgKCIxZTAiID49IDBuKSBpcyBmYWxzZScpOwotYXNzZXJ0LnNhbWVWYWx1ZSgnSW5m
aW5pdHknID49IDBuLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKCJJbmZpbml0eSIgPj0gMG4pIGlz
IGZhbHNlJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorYXNzZXJ0LnNhbWVWYWx1ZSgn
SW5maW5pdHknID49IDBuLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKCJJbmZpbml0eSIgPj0gMG4p
IGlzIGZhbHNlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9ncmVhdGVyLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1ub24tZmluaXRlLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0
ZXItdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanMJKHJldmlzaW9uIDI1NDAw
NykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXIt
dGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanMJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDQgKzI2LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgtSW5maW5pdHkgPj0gMW4sIGZhbHNlLAog
YXNzZXJ0LnNhbWVWYWx1ZSgtMW4gPj0gLUluZmluaXR5LCB0cnVlLCAnVGhlIHJlc3VsdCBvZiAo
LTFuID49IC1JbmZpbml0eSkgaXMgdHJ1ZScpOwogYXNzZXJ0LnNhbWVWYWx1ZSgtSW5maW5pdHkg
Pj0gLTFuLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKC1JbmZpbml0eSA+PSAtMW4pIGlzIGZhbHNl
Jyk7CiBhc3NlcnQuc2FtZVZhbHVlKDBuID49IE5hTiwgZmFsc2UsICdUaGUgcmVzdWx0IG9mICgw
biA+PSBOYU4pIGlzIGZhbHNlJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKE5hTiA+PSAwbiwgZmFsc2Us
ICdUaGUgcmVzdWx0IG9mIChOYU4gPj0gMG4pIGlzIGZhbHNlJyk7ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorYXNzZXJ0LnNhbWVWYWx1ZShOYU4gPj0gMG4sIGZhbHNlLCAnVGhlIHJlc3Vs
dCBvZiAoTmFOID49IDBuKSBpcyBmYWxzZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtbnVt
YmVyLWV4dHJlbWVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLW51bWJlci1l
eHRyZW1lcy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtbnVtYmVy
LWV4dHJlbWVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01MCw0ICs1MCw0IEBAIGFzc2VydC5zYW1l
VmFsdWUoCiAgIE51bWJlci5NQVhfVkFMVUUgPj0gMHhmZmZmZmZmZmZmZmZmODAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxbiwKICAgZmFsc2UsCiAgICdUaGUgcmVzdWx0IG9mIChOdW1iZXIuTUFYX1ZBTFVFID49IDB4
ZmZmZmZmZmZmZmZmZjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMW4pIGlzIGZhbHNlJwotKTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCispOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtbnVtYmVyLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dy
ZWF0ZXItdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLW51bWJlci5qcwkocmV2aXNpb24gMjU0MDA3
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ3JlYXRlci10
aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtbnVtYmVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01Miw0
ICs1Miw0IEBAIGFzc2VydC5zYW1lVmFsdWUoCiAgIE51bWJlci5NSU5fVkFMVUUgPj0gLTEwbiwK
ICAgdHJ1ZSwKICAgJ1RoZSByZXN1bHQgb2YgKE51bWJlci5NSU5fVkFMVUUgPj0gLTEwbikgaXMg
dHJ1ZScKLSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorKTsKSW5kZXg6IEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi1vci1lcXVhbC9i
aWdpbnQtYW5kLXN0cmluZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9ncmVhdGVyLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1zdHJp
bmcuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLXN0cmluZy5qcwko
d29ya2luZyBjb3B5KQpAQCAtNDgsNCArNDgsNCBAQCBhc3NlcnQuc2FtZVZhbHVlKAogICAnLTkw
MDcxOTkyNTQ3NDA5OTInID49IC05MDA3MTk5MjU0NzQwOTkzbiwKICAgdHJ1ZSwKICAgJ1RoZSBy
ZXN1bHQgb2YgKCItOTAwNzE5OTI1NDc0MDk5MiIgPj0gLTkwMDcxOTkyNTQ3NDA5OTNuKSBpcyB0
cnVlJwotKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCispOwpJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFuL2JpZ2ludC1hbmQt
YmlnaW50LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5kLWJpZ2ludC5qcwkocmV2aXNpb24gMjU0
MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ3JlYXRl
ci10aGFuL2JpZ2ludC1hbmQtYmlnaW50LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNjEsNCArMTYx
LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgMHgxMDAwMDAwMDBuID4gMHgxMDAwMDAwMDAwMDAw
MDAwMG4sCiAgIGZhbHNlLAogICAnVGhlIHJlc3VsdCBvZiAoMHgxMDAwMDAwMDBuID4gMHgxMDAw
MDAwMDAwMDAwMDAwMG4pIGlzIGZhbHNlJwotKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CispOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ3Jl
YXRlci10aGFuL2JpZ2ludC1hbmQtYm9vbGVhbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9ncmVhdGVyLXRoYW4vYmlnaW50LWFuZC1i
b29sZWFuLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9ncmVhdGVyLXRoYW4vYmlnaW50LWFuZC1ib29sZWFuLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOCw0ICsxOCw0IEBAIGFzc2VydC5zYW1lVmFsdWUodHJ1ZSA+IDMxbiwg
ZmFsc2UsICdUaGUKIGFzc2VydC5zYW1lVmFsdWUoLTNuID4gdHJ1ZSwgZmFsc2UsICdUaGUgcmVz
dWx0IG9mICgtM24gPiB0cnVlKSBpcyBmYWxzZScpOwogYXNzZXJ0LnNhbWVWYWx1ZSh0cnVlID4g
LTNuLCB0cnVlLCAnVGhlIHJlc3VsdCBvZiAodHJ1ZSA+IC0zbikgaXMgdHJ1ZScpOwogYXNzZXJ0
LnNhbWVWYWx1ZSgtM24gPiBmYWxzZSwgZmFsc2UsICdUaGUgcmVzdWx0IG9mICgtM24gPiBmYWxz
ZSkgaXMgZmFsc2UnKTsKLWFzc2VydC5zYW1lVmFsdWUoZmFsc2UgPiAtM24sIHRydWUsICdUaGUg
cmVzdWx0IG9mIChmYWxzZSA+IC0zbikgaXMgdHJ1ZScpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKK2Fzc2VydC5zYW1lVmFsdWUoZmFsc2UgPiAtM24sIHRydWUsICdUaGUgcmVzdWx0IG9m
IChmYWxzZSA+IC0zbikgaXMgdHJ1ZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFuL2JpZ2ludC1hbmQtaW5jb21wYXJhYmxlLXN0
cmluZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9ncmVhdGVyLXRoYW4vYmlnaW50LWFuZC1pbmNvbXBhcmFibGUtc3RyaW5nLmpzCShy
ZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9ncmVhdGVyLXRoYW4vYmlnaW50LWFuZC1pbmNvbXBhcmFibGUtc3RyaW5nLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNCw0ICsyNCw0IEBAIGFzc2VydC5zYW1lVmFsdWUoJzF6JyA+IDBuLCBm
YWxzZSwgJ1RoZSAKIGFzc2VydC5zYW1lVmFsdWUoJysrMScgPiAwbiwgZmFsc2UsICdUaGUgcmVz
dWx0IG9mICgiKysxIiA+IDBuKSBpcyBmYWxzZScpOwogYXNzZXJ0LnNhbWVWYWx1ZSgnLS0xJyA+
IDBuLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKCItLTEiID4gMG4pIGlzIGZhbHNlJyk7CiBhc3Nl
cnQuc2FtZVZhbHVlKCcxZTAnID4gMG4sIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAoIjFlMCIgPiAw
bikgaXMgZmFsc2UnKTsKLWFzc2VydC5zYW1lVmFsdWUoJ0luZmluaXR5JyA+IDBuLCBmYWxzZSwg
J1RoZSByZXN1bHQgb2YgKCJJbmZpbml0eSIgPiAwbikgaXMgZmFsc2UnKTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCithc3NlcnQuc2FtZVZhbHVlKCdJbmZpbml0eScgPiAwbiwgZmFsc2Us
ICdUaGUgcmVzdWx0IG9mICgiSW5maW5pdHkiID4gMG4pIGlzIGZhbHNlJyk7CkluZGV4OiBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9ncmVhdGVyLXRoYW4vYmlnaW50
LWFuZC1ub24tZmluaXRlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanMJ
KHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDQgKzI2LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgtSW5maW5pdHkgPiAxbiwgZmFs
c2UsIAogYXNzZXJ0LnNhbWVWYWx1ZSgtMW4gPiAtSW5maW5pdHksIHRydWUsICdUaGUgcmVzdWx0
IG9mICgtMW4gPiAtSW5maW5pdHkpIGlzIHRydWUnKTsKIGFzc2VydC5zYW1lVmFsdWUoLUluZmlu
aXR5ID4gLTFuLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKC1JbmZpbml0eSA+IC0xbikgaXMgZmFs
c2UnKTsKIGFzc2VydC5zYW1lVmFsdWUoMG4gPiBOYU4sIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAo
MG4gPiBOYU4pIGlzIGZhbHNlJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKE5hTiA+IDBuLCBmYWxzZSwg
J1RoZSByZXN1bHQgb2YgKE5hTiA+IDBuKSBpcyBmYWxzZScpOwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKK2Fzc2VydC5zYW1lVmFsdWUoTmFOID4gMG4sIGZhbHNlLCAnVGhlIHJlc3VsdCBv
ZiAoTmFOID4gMG4pIGlzIGZhbHNlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9ncmVhdGVyLXRoYW4vYmlnaW50LWFuZC1udW1iZXItZXh0cmVtZXMu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvZ3JlYXRlci10aGFuL2JpZ2ludC1hbmQtbnVtYmVyLWV4dHJlbWVzLmpzCShyZXZpc2lvbiAy
NTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9ncmVh
dGVyLXRoYW4vYmlnaW50LWFuZC1udW1iZXItZXh0cmVtZXMuanMJKHdvcmtpbmcgY29weSkKQEAg
LTQ1LDQgKzQ1LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgTnVtYmVyLk1BWF9WQUxVRSA+IDB4
ZmZmZmZmZmZmZmZmZjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMW4sCiAgIGZhbHNlLAogICAnVGhlIHJlc3VsdCBv
ZiAoTnVtYmVyLk1BWF9WQUxVRSA+IDB4ZmZmZmZmZmZmZmZmZjgwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMW4pIGlz
IGZhbHNlJwotKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCispOwpJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ3JlYXRlci10aGFuL2JpZ2ludC1h
bmQtbnVtYmVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5kLW51bWJlci5qcwkocmV2aXNpb24g
MjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ3Jl
YXRlci10aGFuL2JpZ2ludC1hbmQtbnVtYmVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00Myw0ICs0
Myw0IEBAIGFzc2VydC5zYW1lVmFsdWUoCiAgICdUaGUgcmVzdWx0IG9mICgtMTBuID4gTnVtYmVy
Lk1JTl9WQUxVRSkgaXMgZmFsc2UnCiApOwogCi1hc3NlcnQuc2FtZVZhbHVlKE51bWJlci5NSU5f
VkFMVUUgPiAtMTBuLCB0cnVlLCAnVGhlIHJlc3VsdCBvZiAoTnVtYmVyLk1JTl9WQUxVRSA+IC0x
MG4pIGlzIHRydWUnKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCithc3NlcnQuc2FtZVZh
bHVlKE51bWJlci5NSU5fVkFMVUUgPiAtMTBuLCB0cnVlLCAnVGhlIHJlc3VsdCBvZiAoTnVtYmVy
Lk1JTl9WQUxVRSA+IC0xMG4pIGlzIHRydWUnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdpbnQtYW5kLXN5bWJvbC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9n
cmVhdGVyLXRoYW4vYmlnaW50LWFuZC1zeW1ib2wuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dyZWF0ZXItdGhhbi9iaWdp
bnQtYW5kLXN5bWJvbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTEsNCArMTEsNCBAQCBhc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCBmdW5jdGlvbigpIHsKICAgU3ltYm9sKCcyJykgPiAzbjsKLX0sICdTeW1ib2woIjIiKSA+IDNu
IHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCAnU3lt
Ym9sKCIyIikgPiAzbiB0aHJvd3MgVHlwZUVycm9yJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZWZ0LXNoaWZ0L2JpZ2ludC1hbmQtbnVtYmVyLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2xlZnQtc2hpZnQvYmlnaW50LWFuZC1udW1iZXIuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hpZnQvYmlnaW50
LWFuZC1udW1iZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTg3LDQgKzg3LDQgQEAgYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7CiAgIHVuZGVmaW5lZCA8PCAxbjsKLX0sICd1bmRlZmluZWQgPDwgMW4gdGhy
b3dzIFR5cGVFcnJvcicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICd1bmRlZmlu
ZWQgPDwgMW4gdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVmdC1zaGlmdC9iaWdpbnQtZXJyb3JzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hp
ZnQvYmlnaW50LWVycm9ycy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVmdC1zaGlmdC9iaWdpbnQtZXJyb3JzLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC02Nyw0ICs2Nyw0IEBAIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBm
dW5jdGlvbigpIHsKICAgICAgIHJldHVybiBTeW1ib2woJzEnKTsKICAgICB9CiAgIH07Ci19LCAn
MG4gPDwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gU3ltYm9sKCIxIik7fX0gdGhyb3dz
IFR5cGVFcnJvcicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICcwbiA8PCB7dG9T
dHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiBTeW1ib2woIjEiKTt9fSB0aHJvd3MgVHlwZUVycm9y
Jyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZWZ0
LXNoaWZ0L2JpZ2ludC1ub24tcHJpbWl0aXZlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hpZnQvYmlnaW50LW5vbi1wcmlt
aXRpdmUuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hpZnQvYmlnaW50LW5vbi1wcmltaXRpdmUuanMJKHdvcmtp
bmcgY29weSkKQEAgLTg0LDQgKzg0LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSh7CiAgIHZhbHVlT2Y6
IGZ1bmN0aW9uKCkgewogICAgIHJldHVybiAxbjsKICAgfQotfSwgMGIxMDEwbiwgJ1RoZSByZXN1
bHQgb2YgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDBiMTAxbjt9fSkgPDwge3ZhbHVl
T2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxbjt9fSkgaXMgMGIxMDEwbicpOwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKK30sIDBiMTAxMG4sICdUaGUgcmVzdWx0IG9mICgoe3ZhbHVlT2Y6IGZ1
bmN0aW9uKCkge3JldHVybiAwYjEwMW47fX0pIDw8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1
cm4gMW47fX0pIGlzIDBiMTAxMG4nKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hpZnQvYmlnaW50LXRvcHJpbWl0aXZlLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hp
ZnQvYmlnaW50LXRvcHJpbWl0aXZlLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZWZ0LXNoaWZ0L2JpZ2ludC10b3ByaW1p
dGl2ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMzY5LDQgKzM2OSw0IEBAIGFzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICAgIHJldHVybiB7fTsKICAgICB9CiAgIH07Ci19
LCAnMG4gPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9LCB0b1N0cmluZzogZnVu
Y3Rpb24oKSB7cmV0dXJuIHt9O319IHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCit9LCAnMG4gPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9
LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9O319IHRocm93cyBUeXBlRXJyb3InKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hp
ZnQvYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlZnQtc2hpZnQvYmlnaW50LXdyYXBwZWQtdmFs
dWVzLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9sZWZ0LXNoaWZ0L2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtNDIsNCArNDIsNCBAQCBhc3NlcnQuc2FtZVZhbHVlKDFuIDw8IHsKICAgdG9T
dHJpbmc6IGZ1bmN0aW9uKCkgewogICAgIHJldHVybiAybjsKICAgfQotfSwgNG4sICdUaGUgcmVz
dWx0IG9mICgxbiA8PCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAybjt9fSkgaXMgNG4n
KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCA0biwgJ1RoZSByZXN1bHQgb2YgKDFu
IDw8IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJuO319KSBpcyA0bicpOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10aGFuLW9yLWVx
dWFsL2JpZ2ludC1hbmQtYmlnaW50LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLWJp
Z2ludC5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvbGVzcy10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtYmlnaW50LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xNjEsNCArMTYxLDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgMHgx
MDAwMDAwMDBuIDw9IDB4MTAwMDAwMDAwMDAwMDAwMDBuLAogICB0cnVlLAogICAnVGhlIHJlc3Vs
dCBvZiAoMHgxMDAwMDAwMDBuIDw9IDB4MTAwMDAwMDAwMDAwMDAwMDBuKSBpcyB0cnVlJwotKTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCispOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtaW5j
b21wYXJhYmxlLXN0cmluZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9sZXNzLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1pbmNvbXBh
cmFibGUtc3RyaW5nLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZXNzLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1pbmNv
bXBhcmFibGUtc3RyaW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw0ICsyNCw0IEBAIGFzc2Vy
dC5zYW1lVmFsdWUoMG4gPD0gJzF6JywgZmFsc2UsICdUaGUKIGFzc2VydC5zYW1lVmFsdWUoMG4g
PD0gJysrMScsIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAoMG4gPD0gIisrMSIpIGlzIGZhbHNlJyk7
CiBhc3NlcnQuc2FtZVZhbHVlKDBuIDw9ICctLTEnLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKDBu
IDw9ICItLTEiKSBpcyBmYWxzZScpOwogYXNzZXJ0LnNhbWVWYWx1ZSgwbiA8PSAnMWUwJywgZmFs
c2UsICdUaGUgcmVzdWx0IG9mICgwbiA8PSAiMWUwIikgaXMgZmFsc2UnKTsKLWFzc2VydC5zYW1l
VmFsdWUoMG4gPD0gJ0luZmluaXR5JywgZmFsc2UsICdUaGUgcmVzdWx0IG9mICgwbiA8PSAiSW5m
aW5pdHkiKSBpcyBmYWxzZScpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2Fzc2VydC5z
YW1lVmFsdWUoMG4gPD0gJ0luZmluaXR5JywgZmFsc2UsICdUaGUgcmVzdWx0IG9mICgwbiA8PSAi
SW5maW5pdHkiKSBpcyBmYWxzZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvbGVzcy10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtbm9uLWZpbml0ZS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9sZXNzLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1ub24tZmluaXRlLmpzCShyZXZpc2lvbiAy
NTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZXNz
LXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1ub24tZmluaXRlLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw0ICsyNiw0IEBAIGFzc2VydC5zYW1lVmFsdWUoLUluZmluaXR5IDw9IDFuLCB0cnVlLCAK
IGFzc2VydC5zYW1lVmFsdWUoLTFuIDw9IC1JbmZpbml0eSwgZmFsc2UsICdUaGUgcmVzdWx0IG9m
ICgtMW4gPD0gLUluZmluaXR5KSBpcyBmYWxzZScpOwogYXNzZXJ0LnNhbWVWYWx1ZSgtSW5maW5p
dHkgPD0gLTFuLCB0cnVlLCAnVGhlIHJlc3VsdCBvZiAoLUluZmluaXR5IDw9IC0xbikgaXMgdHJ1
ZScpOwogYXNzZXJ0LnNhbWVWYWx1ZSgwbiA8PSBOYU4sIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAo
MG4gPD0gTmFOKSBpcyBmYWxzZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShOYU4gPD0gMG4sIGZhbHNl
LCAnVGhlIHJlc3VsdCBvZiAoTmFOIDw9IDBuKSBpcyBmYWxzZScpOwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKK2Fzc2VydC5zYW1lVmFsdWUoTmFOIDw9IDBuLCBmYWxzZSwgJ1RoZSByZXN1
bHQgb2YgKE5hTiA8PSAwbikgaXMgZmFsc2UnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLW51bWJl
ci1leHRyZW1lcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9sZXNzLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1udW1iZXItZXh0cmVt
ZXMuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2xlc3MtdGhhbi1vci1lcXVhbC9iaWdpbnQtYW5kLW51bWJlci1leHRyZW1l
cy5qcwkod29ya2luZyBjb3B5KQpAQCAtNTEsNCArNTEsNCBAQCBhc3NlcnQuc2FtZVZhbHVlKAog
ICBOdW1iZXIuTUFYX1ZBTFVFIDw9IDB4ZmZmZmZmZmZmZmZmZjgwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMW4sCiAg
IHRydWUsCiAgICdUaGUgcmVzdWx0IG9mIChOdW1iZXIuTUFYX1ZBTFVFIDw9IDB4ZmZmZmZmZmZm
ZmZmZjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMW4pIGlzIHRydWUnCi0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9sZXNzLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1udW1iZXIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10aGFuLW9yLWVx
dWFsL2JpZ2ludC1hbmQtbnVtYmVyLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZXNzLXRoYW4tb3ItZXF1YWwvYmlnaW50
LWFuZC1udW1iZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTUzLDQgKzUzLDQgQEAgYXNzZXJ0LnNh
bWVWYWx1ZSgKICAgTnVtYmVyLk1JTl9WQUxVRSA8PSAtMTBuLAogICBmYWxzZSwKICAgJ1RoZSBy
ZXN1bHQgb2YgKE51bWJlci5NSU5fVkFMVUUgPD0gLTEwbikgaXMgZmFsc2UnCi0pOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9sZXNzLXRoYW4tb3ItZXF1YWwvYmlnaW50LWFuZC1zdHJpbmcuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
bGVzcy10aGFuLW9yLWVxdWFsL2JpZ2ludC1hbmQtc3RyaW5nLmpzCShyZXZpc2lvbiAyNTQwMDcp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZXNzLXRoYW4t
b3ItZXF1YWwvYmlnaW50LWFuZC1zdHJpbmcuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDQgKzQ4
LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgJy05MDA3MTk5MjU0NzQwOTkyJyA8PSAtOTAwNzE5
OTI1NDc0MDk5M24sCiAgIGZhbHNlLAogICAnVGhlIHJlc3VsdCBvZiAoIi05MDA3MTk5MjU0NzQw
OTkyIiA8PSAtOTAwNzE5OTI1NDc0MDk5M24pIGlzIGZhbHNlJwotKTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCispOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvbGVzcy10aGFuL2JpZ2ludC1hbmQtYmlnaW50LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi9iaWdpbnQt
YW5kLWJpZ2ludC5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10aGFuL2JpZ2ludC1hbmQtYmlnaW50LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNjEsNCArMTYxLDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgMHgxMDAw
MDAwMDBuIDwgMHgxMDAwMDAwMDAwMDAwMDAwMG4sCiAgIHRydWUsCiAgICdUaGUgcmVzdWx0IG9m
ICgweDEwMDAwMDAwMG4gPCAweDEwMDAwMDAwMDAwMDAwMDAwbikgaXMgdHJ1ZScKLSk7ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi9iaWdpbnQtYW5kLWJvb2xlYW4uanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10
aGFuL2JpZ2ludC1hbmQtYm9vbGVhbi5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10aGFuL2JpZ2ludC1hbmQtYm9v
bGVhbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMTgsNCArMTgsNCBAQCBhc3NlcnQuc2FtZVZhbHVl
KHRydWUgPCAzMW4sIHRydWUsICdUaGUgCiBhc3NlcnQuc2FtZVZhbHVlKC0zbiA8IHRydWUsIHRy
dWUsICdUaGUgcmVzdWx0IG9mICgtM24gPCB0cnVlKSBpcyB0cnVlJyk7CiBhc3NlcnQuc2FtZVZh
bHVlKHRydWUgPCAtM24sIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAodHJ1ZSA8IC0zbikgaXMgZmFs
c2UnKTsKIGFzc2VydC5zYW1lVmFsdWUoLTNuIDwgZmFsc2UsIHRydWUsICdUaGUgcmVzdWx0IG9m
ICgtM24gPCBmYWxzZSkgaXMgdHJ1ZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShmYWxzZSA8IC0zbiwg
ZmFsc2UsICdUaGUgcmVzdWx0IG9mIChmYWxzZSA8IC0zbikgaXMgZmFsc2UnKTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCithc3NlcnQuc2FtZVZhbHVlKGZhbHNlIDwgLTNuLCBmYWxzZSwg
J1RoZSByZXN1bHQgb2YgKGZhbHNlIDwgLTNuKSBpcyBmYWxzZScpOwpJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVzcy10aGFuL2JpZ2ludC1hbmQtaW5j
b21wYXJhYmxlLXN0cmluZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9sZXNzLXRoYW4vYmlnaW50LWFuZC1pbmNvbXBhcmFibGUtc3Ry
aW5nLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9sZXNzLXRoYW4vYmlnaW50LWFuZC1pbmNvbXBhcmFibGUtc3RyaW5nLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0yNCw0ICsyNCw0IEBAIGFzc2VydC5zYW1lVmFsdWUoMG4gPCAn
MXonLCBmYWxzZSwgJ1RoZSAKIGFzc2VydC5zYW1lVmFsdWUoMG4gPCAnKysxJywgZmFsc2UsICdU
aGUgcmVzdWx0IG9mICgwbiA8ICIrKzEiKSBpcyBmYWxzZScpOwogYXNzZXJ0LnNhbWVWYWx1ZSgw
biA8ICctLTEnLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKDBuIDwgIi0tMSIpIGlzIGZhbHNlJyk7
CiBhc3NlcnQuc2FtZVZhbHVlKDBuIDwgJzFlMCcsIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAoMG4g
PCAiMWUwIikgaXMgZmFsc2UnKTsKLWFzc2VydC5zYW1lVmFsdWUoMG4gPCAnSW5maW5pdHknLCBm
YWxzZSwgJ1RoZSByZXN1bHQgb2YgKDBuIDwgIkluZmluaXR5IikgaXMgZmFsc2UnKTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCithc3NlcnQuc2FtZVZhbHVlKDBuIDwgJ0luZmluaXR5Jywg
ZmFsc2UsICdUaGUgcmVzdWx0IG9mICgwbiA8ICJJbmZpbml0eSIpIGlzIGZhbHNlJyk7CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZXNzLXRoYW4vYmln
aW50LWFuZC1ub24tZmluaXRlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanMJ
KHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2xlc3MtdGhhbi9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanMJKHdvcmtpbmcgY29weSkK
QEAgLTI2LDQgKzI2LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgtSW5maW5pdHkgPCAxbiwgdHJ1ZSwg
JwogYXNzZXJ0LnNhbWVWYWx1ZSgtMW4gPCAtSW5maW5pdHksIGZhbHNlLCAnVGhlIHJlc3VsdCBv
ZiAoLTFuIDwgLUluZmluaXR5KSBpcyBmYWxzZScpOwogYXNzZXJ0LnNhbWVWYWx1ZSgtSW5maW5p
dHkgPCAtMW4sIHRydWUsICdUaGUgcmVzdWx0IG9mICgtSW5maW5pdHkgPCAtMW4pIGlzIHRydWUn
KTsKIGFzc2VydC5zYW1lVmFsdWUoMG4gPCBOYU4sIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAoMG4g
PCBOYU4pIGlzIGZhbHNlJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKE5hTiA8IDBuLCBmYWxzZSwgJ1Ro
ZSByZXN1bHQgb2YgKE5hTiA8IDBuKSBpcyBmYWxzZScpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKK2Fzc2VydC5zYW1lVmFsdWUoTmFOIDwgMG4sIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAo
TmFOIDwgMG4pIGlzIGZhbHNlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9sZXNzLXRoYW4vYmlnaW50LWFuZC1udW1iZXItZXh0cmVtZXMuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbGVz
cy10aGFuL2JpZ2ludC1hbmQtbnVtYmVyLWV4dHJlbWVzLmpzCShyZXZpc2lvbiAyNTQwMDcpCisr
KyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZXNzLXRoYW4vYmln
aW50LWFuZC1udW1iZXItZXh0cmVtZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDQgKzQ1LDQg
QEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgTnVtYmVyLk1BWF9WQUxVRSA8IDB4ZmZmZmZmZmZmZmZm
ZjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMW4sCiAgIHRydWUsCiAgICdUaGUgcmVzdWx0IG9mIChOdW1iZXIuTUFY
X1ZBTFVFIDwgMHhmZmZmZmZmZmZmZmZmODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxbikgaXMgdHJ1ZScKLSk7Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi9iaWdpbnQtYW5kLW51bWJlci5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sZXNz
LXRoYW4vYmlnaW50LWFuZC1udW1iZXIuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xlc3MtdGhhbi9iaWdpbnQtYW5kLW51
bWJlci5qcwkod29ya2luZyBjb3B5KQpAQCAtNDIsNCArNDIsNCBAQCBhc3NlcnQuc2FtZVZhbHVl
KAogICBOdW1iZXIuTUlOX1ZBTFVFIDwgLTEwbiwKICAgZmFsc2UsCiAgICdUaGUgcmVzdWx0IG9m
IChOdW1iZXIuTUlOX1ZBTFVFIDwgLTEwbikgaXMgZmFsc2UnCi0pOwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9tb2R1bHVzL2JpZ2ludC1hbmQtbnVtYmVyLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL21vZHVsdXMvYmlnaW50LWFuZC1u
dW1iZXIuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL21vZHVsdXMvYmlnaW50LWFuZC1udW1iZXIuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTg3LDQgKzg3LDQgQEAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkg
ewogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIHVuZGVmaW5lZCAl
IDFuOwotfSwgJ3VuZGVmaW5lZCAlIDFuIHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCit9LCAndW5kZWZpbmVkICUgMW4gdGhyb3dzIFR5cGVFcnJvcicpOwpJ
bmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbW9kdWx1cy9i
aWdpbnQtYXJpdGhtZXRpYy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9tb2R1bHVzL2JpZ2ludC1hcml0aG1ldGljLmpzCShyZXZpc2lv
biAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9t
b2R1bHVzL2JpZ2ludC1hcml0aG1ldGljLmpzCSh3b3JraW5nIGNvcHkpCkBAIC05ODEsNCArOTgx
LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgLTB4RkVEQ0JBOTg3NjU0MzIxMG4gJSAtMHhGRURD
QkE5ODc2NTQzMjEwbiwKICAgMHgwbiwKICAgJ1RoZSByZXN1bHQgb2YgKC0weEZFRENCQTk4NzY1
NDMyMTBuICUgLTB4RkVEQ0JBOTg3NjU0MzIxMG4pIGlzIDB4MG4nCi0pOwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9tb2R1bHVzL2JpZ2ludC1lcnJvcnMuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbW9kdWx1cy9iaWdpbnQtZXJyb3Jz
LmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9tb2R1bHVzL2JpZ2ludC1lcnJvcnMuanMJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDQgKzY3LDQgQEAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICAg
cmV0dXJuIFN5bWJvbCgnMScpOwogICAgIH0KICAgfTsKLX0sICcwbiAlIHt0b1N0cmluZzogZnVu
Y3Rpb24oKSB7cmV0dXJuIFN5bWJvbCgiMSIpO319IHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCAnMG4gJSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Jl
dHVybiBTeW1ib2woIjEiKTt9fSB0aHJvd3MgVHlwZUVycm9yJyk7CkluZGV4OiBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9tb2R1bHVzL2JpZ2ludC1tb2R1bG8temVy
by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9tb2R1bHVzL2JpZ2ludC1tb2R1bG8temVyby5qcwkocmV2aXNpb24gMjU0MDA3KQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbW9kdWx1cy9iaWdpbnQt
bW9kdWxvLXplcm8uanMJKHdvcmtpbmcgY29weSkKQEAgLTMyLDQgKzMyLDQgQEAgYXNzZXJ0LnRo
cm93cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKIAogYXNzZXJ0LnRocm93cyhSYW5nZUVycm9y
LCBmdW5jdGlvbigpIHsKICAgMTAwMDAwMDAwMDAwMDAwMDAwMG4gJSAwbjsKLX0sICcxMDAwMDAw
MDAwMDAwMDAwMDAwbiAlIDBuIHRocm93cyBSYW5nZUVycm9yJyk7ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorfSwgJzEwMDAwMDAwMDAwMDAwMDAwMDBuICUgMG4gdGhyb3dzIFJhbmdlRXJy
b3InKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL21v
ZHVsdXMvYmlnaW50LXRvcHJpbWl0aXZlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL21vZHVsdXMvYmlnaW50LXRvcHJpbWl0aXZlLmpz
CShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9tb2R1bHVzL2JpZ2ludC10b3ByaW1pdGl2ZS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MzY5LDQgKzM2OSw0IEBAIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAg
ICAgIHJldHVybiB7fTsKICAgICB9CiAgIH07Ci19LCAnMG4gJSB7dmFsdWVPZjogZnVuY3Rpb24o
KSB7cmV0dXJuIHt9O30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge307fX0gdGhyb3dz
IFR5cGVFcnJvcicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICcwbiAlIHt2YWx1
ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge307fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVy
biB7fTt9fSB0aHJvd3MgVHlwZUVycm9yJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9tb2R1bHVzL2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9tb2R1
bHVzL2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbW9kdWx1cy9iaWdpbnQtd3JhcHBl
ZC12YWx1ZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTQyLDQgKzQyLDQgQEAgYXNzZXJ0LnNhbWVW
YWx1ZSgybiAlIHsKICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgewogICAgIHJldHVybiAybjsKICAg
fQotfSwgMG4sICdUaGUgcmVzdWx0IG9mICgybiAlIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0
dXJuIDJuO319KSBpcyAwbicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sIDBuLCAn
VGhlIHJlc3VsdCBvZiAoMm4gJSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAybjt9fSkg
aXMgMG4nKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L211bHRpcGxpY2F0aW9uL2JpZ2ludC1hbmQtbnVtYmVyLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL211bHRpcGxpY2F0aW9uL2JpZ2lu
dC1hbmQtbnVtYmVyLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9tdWx0aXBsaWNhdGlvbi9iaWdpbnQtYW5kLW51bWJlci5q
cwkod29ya2luZyBjb3B5KQpAQCAtODcsNCArODcsNCBAQCBhc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsK
ICAgdW5kZWZpbmVkICogMW47Ci19LCAndW5kZWZpbmVkICogMW4gdGhyb3dzIFR5cGVFcnJvcicp
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICd1bmRlZmluZWQgKiAxbiB0aHJvd3Mg
VHlwZUVycm9yJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9tdWx0aXBsaWNhdGlvbi9iaWdpbnQtYXJpdGhtZXRpYy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9tdWx0aXBsaWNhdGlvbi9i
aWdpbnQtYXJpdGhtZXRpYy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbXVsdGlwbGljYXRpb24vYmlnaW50LWFyaXRobWV0
aWMuanMJKHdvcmtpbmcgY29weSkKQEAgLTY5Niw0ICs2OTYsNCBAQCBhc3NlcnQuc2FtZVZhbHVl
KAogICAtMHhGRURDQkE5ODc2NTQzMjEwbiAqIC0weEZFRENCQTk4NzY1NDMyMTBuLAogICAweEZE
QkFDMDk3QzhEQzVBQ0NERUVDNkNEN0E0NEE0MTAwbiwKICAgJ1RoZSByZXN1bHQgb2YgKC0weEZF
RENCQTk4NzY1NDMyMTBuICogLTB4RkVEQ0JBOTg3NjU0MzIxMG4pIGlzIDB4RkRCQUMwOTdDOERD
NUFDQ0RFRUM2Q0Q3QTQ0QTQxMDBuJwotKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisp
OwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbXVsdGlw
bGljYXRpb24vYmlnaW50LWVycm9ycy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9tdWx0aXBsaWNhdGlvbi9iaWdpbnQtZXJyb3JzLmpz
CShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9tdWx0aXBsaWNhdGlvbi9iaWdpbnQtZXJyb3JzLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC02Nyw0ICs2Nyw0IEBAIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAg
ICAgIHJldHVybiBTeW1ib2woJzEnKTsKICAgICB9CiAgIH07Ci19LCAnMG4gKiB7dG9TdHJpbmc6
IGZ1bmN0aW9uKCkge3JldHVybiBTeW1ib2woIjEiKTt9fSB0aHJvd3MgVHlwZUVycm9yJyk7Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSwgJzBuICoge3RvU3RyaW5nOiBmdW5jdGlvbigp
IHtyZXR1cm4gU3ltYm9sKCIxIik7fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbXVsdGlwbGljYXRpb24vYmlnaW50
LXRvcHJpbWl0aXZlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL211bHRpcGxpY2F0aW9uL2JpZ2ludC10b3ByaW1pdGl2ZS5qcwkocmV2
aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvbXVsdGlwbGljYXRpb24vYmlnaW50LXRvcHJpbWl0aXZlLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0zNjksNCArMzY5LDQgQEAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewog
ICAgICAgcmV0dXJuIHt9OwogICAgIH0KICAgfTsKLX0sICcwbiAqIHt2YWx1ZU9mOiBmdW5jdGlv
bigpIHtyZXR1cm4ge307fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9fSB0aHJv
d3MgVHlwZUVycm9yJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSwgJzBuICoge3Zh
bHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0
dXJuIHt9O319IHRocm93cyBUeXBlRXJyb3InKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL211bHRpcGxpY2F0aW9uL2JpZ2ludC13cmFwcGVkLXZhbHVl
cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9tdWx0aXBsaWNhdGlvbi9iaWdpbnQtd3JhcHBlZC12YWx1ZXMuanMJKHJldmlzaW9uIDI1
NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL211bHRp
cGxpY2F0aW9uL2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtNDIs
NCArNDIsNCBAQCBhc3NlcnQuc2FtZVZhbHVlKDJuICogewogICB0b1N0cmluZzogZnVuY3Rpb24o
KSB7CiAgICAgcmV0dXJuIDJuOwogICB9Ci19LCA0biwgJ1RoZSByZXN1bHQgb2YgKDJuICoge3Rv
U3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMm47fX0pIGlzIDRuJyk7ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorfSwgNG4sICdUaGUgcmVzdWx0IG9mICgybiAqIHt0b1N0cmluZzogZnVu
Y3Rpb24oKSB7cmV0dXJuIDJuO319KSBpcyA0bicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L3Njb3BlLWdlbi1tZXRoLXBhcmFtLWVsZW0t
dmFyLWNsb3NlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL29iamVjdC9zY29wZS1nZW4tbWV0aC1wYXJhbS1lbGVtLXZhci1jbG9zZS5q
cwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvb2JqZWN0L3Njb3BlLWdlbi1tZXRoLXBhcmFtLWVsZW0tdmFyLWNsb3NlLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDE4ICsxLDE2IEBACiAvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhl
IFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
IC8qLS0tCi1lc2lkOiBzZWMtZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3Mt
aXRlcmF0b3JiaW5kaW5naW5pdGlhbGl6YXRpb24KK2VzaWQ6IHNlYy1mdW5jdGlvbmRlY2xhcmF0
aW9uaW5zdGFudGlhdGlvbgogZGVzY3JpcHRpb246ID4KLSAgICBSZW1vdmFsIG9mIHZhcmlhYmxl
IGVudmlyb25tZW50IGZvciBlYWNoIEJpbmRpbmdFbGVtZW50IGZvcm1hbCBwYXJhbWV0ZXIKKyAg
ICBzbG9wcHkgZGlyZWN0IGV2YWxzIGluIHBhcmFtcyBpbnRyb2R1Y2UgdmFycwogaW5mbzogfAog
ICAgIFsuLi5dCi0gICAgNi4gTGV0IHBhcmFtVmFyRW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJv
bm1lbnQob3JpZ2luYWxFbnYpLgotICAgIDcuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBv
ZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA4LiBTZXQgdGhlIExleGljYWxF
bnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA5LiBMZXQg
cmVzdWx0IGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRpbmdJbml0aWFs
aXphdGlvbiBmb3IKLSAgICAgICBCaW5kaW5nRWxlbWVudCB1c2luZyBpdGVyYXRvclJlY29yZCBh
bmQgZW52aXJvbm1lbnQgYXMgdGhlIGFyZ3VtZW50cy4KLSAgICAxMC4gU2V0IHRoZSBWYXJpYWJs
ZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgotICAgIDExLiBT
ZXQgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBvcmlnaW5hbEVu
di4KKyAgICAyMC4gRWxzZSwKKyAgICAgIGEuIE5PVEU6IEEgc2VwYXJhdGUgRW52aXJvbm1lbnQg
UmVjb3JkIGlzIG5lZWRlZCB0byBlbnN1cmUgdGhhdCBiaW5kaW5ncyBjcmVhdGVkIGJ5IGRpcmVj
dCBldmFsIGNhbGxzIGluIHRoZSBmb3JtYWwgcGFyYW1ldGVyIGxpc3QgYXJlIG91dHNpZGUgdGhl
IGVudmlyb25tZW50IHdoZXJlIHBhcmFtZXRlcnMgYXJlIGRlY2xhcmVkLgorICAgICAgYi4gTGV0
IGNhbGxlZUVudiBiZSB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGNhbGxlZUNvbnRleHQuCisg
ICAgICBjLiBMZXQgZW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQoY2FsbGVlRW52KS4K
KyAgICAgIGQuIExldCBlbnZSZWMgYmUgZW52J3MgRW52aXJvbm1lbnRSZWNvcmQuCiAgICAgWy4u
Ll0KIGZsYWdzOiBbbm9TdHJpY3RdCiBmZWF0dXJlczogW2dlbmVyYXRvcnNdCkBAIC0zMSw1ICsy
OSw1IEBAIHZhciBwcm9iZTEsIHByb2JlMiwgcHJvYmVCb2R5OwogfS5tKCkubmV4dCgpKTsKIAog
YXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ2luc2lkZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShw
cm9iZTIoKSwgJ291dHNpZGUnKTsKLWFzc2VydC5zYW1lVmFsdWUocHJvYmVCb2R5KCksICdvdXRz
aWRlJyk7Cithc3NlcnQuc2FtZVZhbHVlKHByb2JlMigpLCAnaW5zaWRlJyk7Cithc3NlcnQuc2Ft
ZVZhbHVlKHByb2JlQm9keSgpLCAnaW5zaWRlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qvc2NvcGUtZ2VuLW1ldGgtcGFyYW0tZWxlbS12
YXItb3Blbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9vYmplY3Qvc2NvcGUtZ2VuLW1ldGgtcGFyYW0tZWxlbS12YXItb3Blbi5qcwko
cmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvb2JqZWN0L3Njb3BlLWdlbi1tZXRoLXBhcmFtLWVsZW0tdmFyLW9wZW4uanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTkgKzEsMTYgQEAKIC8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjgg
cHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyot
LS0KLWVzaWQ6IHNlYy1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1pdGVy
YXRvcmJpbmRpbmdpbml0aWFsaXphdGlvbgorZXNpZDogc2VjLWZ1bmN0aW9uZGVjbGFyYXRpb25p
bnN0YW50aWF0aW9uCiBkZXNjcmlwdGlvbjogPgotICAgIENyZWF0aW9uIG9mIG5ldyB2YXJpYWJs
ZSBlbnZpcm9ubWVudCBmb3IgZWFjaCBCaW5kaW5nRWxlbWVudCBmb3JtYWwKLSAgICBwYXJhbWV0
ZXIKKyAgICBzbG9wcHkgZGlyZWN0IGV2YWxzIGluIHBhcmFtcyBpbnRyb2R1Y2UgdmFycwogaW5m
bzogfAogICAgIFsuLi5dCi0gICAgNi4gTGV0IHBhcmFtVmFyRW52IGJlIE5ld0RlY2xhcmF0aXZl
RW52aXJvbm1lbnQob3JpZ2luYWxFbnYpLgotICAgIDcuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9u
bWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA4LiBTZXQgdGhlIExl
eGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA5
LiBMZXQgcmVzdWx0IGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRpbmdJ
bml0aWFsaXphdGlvbiBmb3IKLSAgICAgICBCaW5kaW5nRWxlbWVudCB1c2luZyBpdGVyYXRvclJl
Y29yZCBhbmQgZW52aXJvbm1lbnQgYXMgdGhlIGFyZ3VtZW50cy4KLSAgICAxMC4gU2V0IHRoZSBW
YXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgotICAg
IDExLiBTZXQgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBvcmln
aW5hbEVudi4KKyAgICAyMC4gRWxzZSwKKyAgICAgIGEuIE5PVEU6IEEgc2VwYXJhdGUgRW52aXJv
bm1lbnQgUmVjb3JkIGlzIG5lZWRlZCB0byBlbnN1cmUgdGhhdCBiaW5kaW5ncyBjcmVhdGVkIGJ5
IGRpcmVjdCBldmFsIGNhbGxzIGluIHRoZSBmb3JtYWwgcGFyYW1ldGVyIGxpc3QgYXJlIG91dHNp
ZGUgdGhlIGVudmlyb25tZW50IHdoZXJlIHBhcmFtZXRlcnMgYXJlIGRlY2xhcmVkLgorICAgICAg
Yi4gTGV0IGNhbGxlZUVudiBiZSB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGNhbGxlZUNvbnRl
eHQuCisgICAgICBjLiBMZXQgZW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQoY2FsbGVl
RW52KS4KKyAgICAgIGQuIExldCBlbnZSZWMgYmUgZW52J3MgRW52aXJvbm1lbnRSZWNvcmQuCiAg
ICAgWy4uLl0KIGZsYWdzOiBbbm9TdHJpY3RdCiBmZWF0dXJlczogW2dlbmVyYXRvcnNdCkBAIC0y
OSw1ICsyNiw1IEBAIHZhciBwcm9iZTEsIHByb2JlMjsKICAgKSB7fQogfS5tKCkubmV4dCgpKTsK
IAotYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ291dHNpZGUnKTsKK2Fzc2VydC5zYW1lVmFs
dWUocHJvYmUxKCksICdpbnNpZGUnKTsKIGFzc2VydC5zYW1lVmFsdWUocHJvYmUyKCksICdpbnNp
ZGUnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29i
amVjdC9zY29wZS1nZW4tbWV0aC1wYXJhbS1yZXN0LWVsZW0tdmFyLWNsb3NlLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9z
Y29wZS1nZW4tbWV0aC1wYXJhbS1yZXN0LWVsZW0tdmFyLWNsb3NlLmpzCShyZXZpc2lvbiAyNTQw
MDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qv
c2NvcGUtZ2VuLW1ldGgtcGFyYW0tcmVzdC1lbGVtLXZhci1jbG9zZS5qcwkod29ya2luZyBjb3B5
KQpAQCAtMSwyNCArMSwxNiBAQAogLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0
IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQotZXNp
ZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWl0ZXJhdG9yYmlu
ZGluZ2luaXRpYWxpemF0aW9uCitlc2lkOiBzZWMtZnVuY3Rpb25kZWNsYXJhdGlvbmluc3RhbnRp
YXRpb24KIGRlc2NyaXB0aW9uOiA+Ci0gICAgUmVtb3ZhbCBvZiB2YXJpYWJsZSBlbnZpcm9ubWVu
dCBmb3IgdGhlIEJpbmRpbmdSZXN0RWxlbWVudCBmb3JtYWwgcGFyYW1ldGVyCisgICAgc2xvcHB5
IGRpcmVjdCBldmFscyBpbiBwYXJhbXMgaW50cm9kdWNlIHZhcnMKIGluZm86IHwKICAgICBbLi4u
XQotICAgIDIuIExldCBjdXJyZW50Q29udGV4dCBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29u
dGV4dC4KLSAgICAzLiBMZXQgb3JpZ2luYWxFbnYgYmUgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQg
b2YgY3VycmVudENvbnRleHQuCi0gICAgNC4gQXNzZXJ0OiBUaGUgVmFyaWFibGVFbnZpcm9ubWVu
dCBhbmQgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0Ci0gICAgICAgYXJlIHRo
ZSBzYW1lLgotICAgIDUuIEFzc2VydDogZW52aXJvbm1lbnQgYW5kIG9yaWdpbmFsRW52IGFyZSB0
aGUgc2FtZS4KLSAgICA2LiBMZXQgcGFyYW1WYXJFbnYgYmUgTmV3RGVjbGFyYXRpdmVFbnZpcm9u
bWVudChvcmlnaW5hbEVudikuCi0gICAgNy4gU2V0IHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9m
IGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAgIDguIFNldCB0aGUgTGV4aWNhbEVu
dmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAgIDkuIExldCBy
ZXN1bHQgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxp
emF0aW9uIGZvcgotICAgICAgIEJpbmRpbmdSZXN0RWxlbWVudCB1c2luZyBpdGVyYXRvclJlY29y
ZCBhbmQgZW52aXJvbm1lbnQgYXMgdGhlCi0gICAgICAgYXJndW1lbnRzLgotICAgIDEwLiBTZXQg
dGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYu
Ci0gICAgMTEuIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRv
IG9yaWdpbmFsRW52LgorICAgIDIwLiBFbHNlLAorICAgICAgYS4gTk9URTogQSBzZXBhcmF0ZSBF
bnZpcm9ubWVudCBSZWNvcmQgaXMgbmVlZGVkIHRvIGVuc3VyZSB0aGF0IGJpbmRpbmdzIGNyZWF0
ZWQgYnkgZGlyZWN0IGV2YWwgY2FsbHMgaW4gdGhlIGZvcm1hbCBwYXJhbWV0ZXIgbGlzdCBhcmUg
b3V0c2lkZSB0aGUgZW52aXJvbm1lbnQgd2hlcmUgcGFyYW1ldGVycyBhcmUgZGVjbGFyZWQuCisg
ICAgICBiLiBMZXQgY2FsbGVlRW52IGJlIHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY2FsbGVl
Q29udGV4dC4KKyAgICAgIGMuIExldCBlbnYgYmUgTmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChj
YWxsZWVFbnYpLgorICAgICAgZC4gTGV0IGVudlJlYyBiZSBlbnYncyBFbnZpcm9ubWVudFJlY29y
ZC4KICAgICBbLi4uXQogZmxhZ3M6IFtub1N0cmljdF0KIGZlYXR1cmVzOiBbZ2VuZXJhdG9yc10K
QEAgLTM2LDQgKzI4LDQgQEAgdmFyIHByb2JlUGFyYW0sIHByb2JlQm9keTsKIH0ubSgpLm5leHQo
KSk7CiAKIGFzc2VydC5zYW1lVmFsdWUocHJvYmVQYXJhbSgpLCAnaW5zaWRlJyk7Ci1hc3NlcnQu
c2FtZVZhbHVlKHByb2JlQm9keSgpLCAnb3V0c2lkZScpOworYXNzZXJ0LnNhbWVWYWx1ZShwcm9i
ZUJvZHkoKSwgJ2luc2lkZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L3Njb3BlLWdlbi1tZXRoLXBhcmFtLXJlc3QtZWxlbS12YXItb3Bl
bi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9vYmplY3Qvc2NvcGUtZ2VuLW1ldGgtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpzCShy
ZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9vYmplY3Qvc2NvcGUtZ2VuLW1ldGgtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDI0ICsxLDE2IEBACiAvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhl
IFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
IC8qLS0tCi1lc2lkOiBzZWMtZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3Mt
aXRlcmF0b3JiaW5kaW5naW5pdGlhbGl6YXRpb24KK2VzaWQ6IHNlYy1mdW5jdGlvbmRlY2xhcmF0
aW9uaW5zdGFudGlhdGlvbgogZGVzY3JpcHRpb246ID4KLSAgICBDcmVhdGlvbiBvZiBuZXcgdmFy
aWFibGUgZW52aXJvbm1lbnQgZm9yIHRoZSBCaW5kaW5nUmVzdEVsZW1lbnQgZm9ybWFsCi0gICAg
cGFyYW1ldGVyCisgICAgc2xvcHB5IGRpcmVjdCBldmFscyBpbiBwYXJhbXMgaW50cm9kdWNlIHZh
cnMKIGluZm86IHwKICAgICBbLi4uXQotICAgIDIuIExldCBjdXJyZW50Q29udGV4dCBiZSB0aGUg
cnVubmluZyBleGVjdXRpb24gY29udGV4dC4KLSAgICAzLiBMZXQgb3JpZ2luYWxFbnYgYmUgdGhl
IFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQuCi0gICAgNC4gQXNzZXJ0OiBU
aGUgVmFyaWFibGVFbnZpcm9ubWVudCBhbmQgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRD
b250ZXh0Ci0gICAgICAgYXJlIHRoZSBzYW1lLgotICAgIDUuIEFzc2VydDogZW52aXJvbm1lbnQg
YW5kIG9yaWdpbmFsRW52IGFyZSB0aGUgc2FtZS4KLSAgICA2LiBMZXQgcGFyYW1WYXJFbnYgYmUg
TmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChvcmlnaW5hbEVudikuCi0gICAgNy4gU2V0IHRoZSBW
YXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAg
IDguIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFt
VmFyRW52LgotICAgIDkuIExldCByZXN1bHQgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0
ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvcgotICAgICAgQmluZGluZ1Jlc3RFbGVtZW50
IHVzaW5nIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudCBhcyB0aGUgYXJndW1lbnRzLgot
ICAgIDEwLiBTZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8g
b3JpZ2luYWxFbnYuCi0gICAgMTEuIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJl
bnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgorICAgIDIwLiBFbHNlLAorICAgICAgYS4gTk9URTog
QSBzZXBhcmF0ZSBFbnZpcm9ubWVudCBSZWNvcmQgaXMgbmVlZGVkIHRvIGVuc3VyZSB0aGF0IGJp
bmRpbmdzIGNyZWF0ZWQgYnkgZGlyZWN0IGV2YWwgY2FsbHMgaW4gdGhlIGZvcm1hbCBwYXJhbWV0
ZXIgbGlzdCBhcmUgb3V0c2lkZSB0aGUgZW52aXJvbm1lbnQgd2hlcmUgcGFyYW1ldGVycyBhcmUg
ZGVjbGFyZWQuCisgICAgICBiLiBMZXQgY2FsbGVlRW52IGJlIHRoZSBMZXhpY2FsRW52aXJvbm1l
bnQgb2YgY2FsbGVlQ29udGV4dC4KKyAgICAgIGMuIExldCBlbnYgYmUgTmV3RGVjbGFyYXRpdmVF
bnZpcm9ubWVudChjYWxsZWVFbnYpLgorICAgICAgZC4gTGV0IGVudlJlYyBiZSBlbnYncyBFbnZp
cm9ubWVudFJlY29yZC4KICAgICBbLi4uXQogZmxhZ3M6IFtub1N0cmljdF0KIGZlYXR1cmVzOiBb
Z2VuZXJhdG9yc10KQEAgLTM0LDUgKzI2LDUgQEAgdmFyIHByb2JlMSwgcHJvYmUyOwogICApIHt9
CiB9Lm0oKS5uZXh0KCkpOwogCi1hc3NlcnQuc2FtZVZhbHVlKHByb2JlMSgpLCAnb3V0c2lkZScp
OworYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ2luc2lkZScpOwogYXNzZXJ0LnNhbWVWYWx1
ZShwcm9iZTIoKSwgJ2luc2lkZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvb2JqZWN0L3Njb3BlLW1ldGgtcGFyYW0tZWxlbS12YXItY2xvc2UuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
b2JqZWN0L3Njb3BlLW1ldGgtcGFyYW0tZWxlbS12YXItY2xvc2UuanMJKHJldmlzaW9uIDI1NDAw
NykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9z
Y29wZS1tZXRoLXBhcmFtLWVsZW0tdmFyLWNsb3NlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE4
ICsxLDE2IEBACiAvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCi1lc2lkOiBzZWMtZnVu
Y3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtaXRlcmF0b3JiaW5kaW5naW5pdGlh
bGl6YXRpb24KK2VzaWQ6IHNlYy1mdW5jdGlvbmRlY2xhcmF0aW9uaW5zdGFudGlhdGlvbgogZGVz
Y3JpcHRpb246ID4KLSAgICBSZW1vdmFsIG9mIHZhcmlhYmxlIGVudmlyb25tZW50IGZvciBlYWNo
IEJpbmRpbmdFbGVtZW50IGZvcm1hbCBwYXJhbWV0ZXIKKyAgICBzbG9wcHkgZGlyZWN0IGV2YWxz
IGluIHBhcmFtcyBpbnRyb2R1Y2UgdmFycwogaW5mbzogfAogICAgIFsuLi5dCi0gICAgNi4gTGV0
IHBhcmFtVmFyRW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQob3JpZ2luYWxFbnYpLgot
ICAgIDcuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBw
YXJhbVZhckVudi4KLSAgICA4LiBTZXQgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50
Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA5LiBMZXQgcmVzdWx0IGJlIHRoZSByZXN1bHQg
b2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IKLSAgICAgICBC
aW5kaW5nRWxlbWVudCB1c2luZyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQgYXMgdGhl
IGFyZ3VtZW50cy4KLSAgICAxMC4gU2V0IHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJl
bnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgotICAgIDExLiBTZXQgdGhlIExleGljYWxFbnZpcm9u
bWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBvcmlnaW5hbEVudi4KKyAgICAyMC4gRWxzZSwKKyAg
ICAgIGEuIE5PVEU6IEEgc2VwYXJhdGUgRW52aXJvbm1lbnQgUmVjb3JkIGlzIG5lZWRlZCB0byBl
bnN1cmUgdGhhdCBiaW5kaW5ncyBjcmVhdGVkIGJ5IGRpcmVjdCBldmFsIGNhbGxzIGluIHRoZSBm
b3JtYWwgcGFyYW1ldGVyIGxpc3QgYXJlIG91dHNpZGUgdGhlIGVudmlyb25tZW50IHdoZXJlIHBh
cmFtZXRlcnMgYXJlIGRlY2xhcmVkLgorICAgICAgYi4gTGV0IGNhbGxlZUVudiBiZSB0aGUgTGV4
aWNhbEVudmlyb25tZW50IG9mIGNhbGxlZUNvbnRleHQuCisgICAgICBjLiBMZXQgZW52IGJlIE5l
d0RlY2xhcmF0aXZlRW52aXJvbm1lbnQoY2FsbGVlRW52KS4KKyAgICAgIGQuIExldCBlbnZSZWMg
YmUgZW52J3MgRW52aXJvbm1lbnRSZWNvcmQuCiAgICAgWy4uLl0KIGZsYWdzOiBbbm9TdHJpY3Rd
CiAtLS0qLwpAQCAtMzAsNSArMjgsNSBAQCB2YXIgcHJvYmUxLCBwcm9iZTIsIHByb2JlQm9keTsK
IH0ubSgpKTsKIAogYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ2luc2lkZScpOwotYXNzZXJ0
LnNhbWVWYWx1ZShwcm9iZTIoKSwgJ291dHNpZGUnKTsKLWFzc2VydC5zYW1lVmFsdWUocHJvYmVC
b2R5KCksICdvdXRzaWRlJyk7Cithc3NlcnQuc2FtZVZhbHVlKHByb2JlMigpLCAnaW5zaWRlJyk7
Cithc3NlcnQuc2FtZVZhbHVlKHByb2JlQm9keSgpLCAnaW5zaWRlJyk7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qvc2NvcGUtbWV0aC1wYXJh
bS1lbGVtLXZhci1vcGVuLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9zY29wZS1tZXRoLXBhcmFtLWVsZW0tdmFyLW9wZW4u
anMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL29iamVjdC9zY29wZS1tZXRoLXBhcmFtLWVsZW0tdmFyLW9wZW4uanMJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTkgKzEsMTYgQEAKIC8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjgg
cHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyot
LS0KLWVzaWQ6IHNlYy1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1pdGVy
YXRvcmJpbmRpbmdpbml0aWFsaXphdGlvbgorZXNpZDogc2VjLWZ1bmN0aW9uZGVjbGFyYXRpb25p
bnN0YW50aWF0aW9uCiBkZXNjcmlwdGlvbjogPgotICAgIENyZWF0aW9uIG9mIG5ldyB2YXJpYWJs
ZSBlbnZpcm9ubWVudCBmb3IgZWFjaCBCaW5kaW5nRWxlbWVudCBmb3JtYWwKLSAgICBwYXJhbWV0
ZXIKKyAgICBzbG9wcHkgZGlyZWN0IGV2YWxzIGluIHBhcmFtcyBpbnRyb2R1Y2UgdmFycwogaW5m
bzogfAogICAgIFsuLi5dCi0gICAgNi4gTGV0IHBhcmFtVmFyRW52IGJlIE5ld0RlY2xhcmF0aXZl
RW52aXJvbm1lbnQob3JpZ2luYWxFbnYpLgotICAgIDcuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9u
bWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA4LiBTZXQgdGhlIExl
eGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA5
LiBMZXQgcmVzdWx0IGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRpbmdJ
bml0aWFsaXphdGlvbiBmb3IKLSAgICAgICBCaW5kaW5nRWxlbWVudCB1c2luZyBpdGVyYXRvclJl
Y29yZCBhbmQgZW52aXJvbm1lbnQgYXMgdGhlIGFyZ3VtZW50cy4KLSAgICAxMC4gU2V0IHRoZSBW
YXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgotICAg
IDExLiBTZXQgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBvcmln
aW5hbEVudi4KKyAgICAyMC4gRWxzZSwKKyAgICAgIGEuIE5PVEU6IEEgc2VwYXJhdGUgRW52aXJv
bm1lbnQgUmVjb3JkIGlzIG5lZWRlZCB0byBlbnN1cmUgdGhhdCBiaW5kaW5ncyBjcmVhdGVkIGJ5
IGRpcmVjdCBldmFsIGNhbGxzIGluIHRoZSBmb3JtYWwgcGFyYW1ldGVyIGxpc3QgYXJlIG91dHNp
ZGUgdGhlIGVudmlyb25tZW50IHdoZXJlIHBhcmFtZXRlcnMgYXJlIGRlY2xhcmVkLgorICAgICAg
Yi4gTGV0IGNhbGxlZUVudiBiZSB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGNhbGxlZUNvbnRl
eHQuCisgICAgICBjLiBMZXQgZW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQoY2FsbGVl
RW52KS4KKyAgICAgIGQuIExldCBlbnZSZWMgYmUgZW52J3MgRW52aXJvbm1lbnRSZWNvcmQuCiAg
ICAgWy4uLl0KIGZsYWdzOiBbbm9TdHJpY3RdCiAtLS0qLwpAQCAtMjgsNSArMjUsNSBAQCB2YXIg
cHJvYmUxLCBwcm9iZTI7CiAgICkge30KIH0ubSgpKTsKIAotYXNzZXJ0LnNhbWVWYWx1ZShwcm9i
ZTEoKSwgJ291dHNpZGUnKTsKK2Fzc2VydC5zYW1lVmFsdWUocHJvYmUxKCksICdpbnNpZGUnKTsK
IGFzc2VydC5zYW1lVmFsdWUocHJvYmUyKCksICdpbnNpZGUnKTsKSW5kZXg6IEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9zY29wZS1tZXRoLXBhcmFtLXJl
c3QtZWxlbS12YXItY2xvc2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L3Njb3BlLW1ldGgtcGFyYW0tcmVzdC1lbGVtLXZh
ci1jbG9zZS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L3Njb3BlLW1ldGgtcGFyYW0tcmVzdC1lbGVtLXZhci1j
bG9zZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyNCArMSwxNiBAQAogLy8gQ29weXJpZ2h0IChD
KSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCiAvKi0tLQotZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUt
c2VtYW50aWNzLWl0ZXJhdG9yYmluZGluZ2luaXRpYWxpemF0aW9uCitlc2lkOiBzZWMtZnVuY3Rp
b25kZWNsYXJhdGlvbmluc3RhbnRpYXRpb24KIGRlc2NyaXB0aW9uOiA+Ci0gICAgUmVtb3ZhbCBv
ZiB2YXJpYWJsZSBlbnZpcm9ubWVudCBmb3IgdGhlIEJpbmRpbmdSZXN0RWxlbWVudCBmb3JtYWwg
cGFyYW1ldGVyCisgICAgc2xvcHB5IGRpcmVjdCBldmFscyBpbiBwYXJhbXMgaW50cm9kdWNlIHZh
cnMKIGluZm86IHwKICAgICBbLi4uXQotICAgIDIuIExldCBjdXJyZW50Q29udGV4dCBiZSB0aGUg
cnVubmluZyBleGVjdXRpb24gY29udGV4dC4KLSAgICAzLiBMZXQgb3JpZ2luYWxFbnYgYmUgdGhl
IFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQuCi0gICAgNC4gQXNzZXJ0OiBU
aGUgVmFyaWFibGVFbnZpcm9ubWVudCBhbmQgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRD
b250ZXh0Ci0gICAgICAgYXJlIHRoZSBzYW1lLgotICAgIDUuIEFzc2VydDogZW52aXJvbm1lbnQg
YW5kIG9yaWdpbmFsRW52IGFyZSB0aGUgc2FtZS4KLSAgICA2LiBMZXQgcGFyYW1WYXJFbnYgYmUg
TmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChvcmlnaW5hbEVudikuCi0gICAgNy4gU2V0IHRoZSBW
YXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAg
IDguIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFt
VmFyRW52LgotICAgIDkuIExldCByZXN1bHQgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0
ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvcgotICAgICAgIEJpbmRpbmdSZXN0RWxlbWVu
dCB1c2luZyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQgYXMgdGhlCi0gICAgICAgYXJn
dW1lbnRzLgotICAgIDEwLiBTZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENv
bnRleHQgdG8gb3JpZ2luYWxFbnYuCi0gICAgMTEuIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50
IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgorICAgIDIwLiBFbHNlLAorICAgICAg
YS4gTk9URTogQSBzZXBhcmF0ZSBFbnZpcm9ubWVudCBSZWNvcmQgaXMgbmVlZGVkIHRvIGVuc3Vy
ZSB0aGF0IGJpbmRpbmdzIGNyZWF0ZWQgYnkgZGlyZWN0IGV2YWwgY2FsbHMgaW4gdGhlIGZvcm1h
bCBwYXJhbWV0ZXIgbGlzdCBhcmUgb3V0c2lkZSB0aGUgZW52aXJvbm1lbnQgd2hlcmUgcGFyYW1l
dGVycyBhcmUgZGVjbGFyZWQuCisgICAgICBiLiBMZXQgY2FsbGVlRW52IGJlIHRoZSBMZXhpY2Fs
RW52aXJvbm1lbnQgb2YgY2FsbGVlQ29udGV4dC4KKyAgICAgIGMuIExldCBlbnYgYmUgTmV3RGVj
bGFyYXRpdmVFbnZpcm9ubWVudChjYWxsZWVFbnYpLgorICAgICAgZC4gTGV0IGVudlJlYyBiZSBl
bnYncyBFbnZpcm9ubWVudFJlY29yZC4KICAgICBbLi4uXQogZmxhZ3M6IFtub1N0cmljdF0KIC0t
LSovCkBAIC0zNSw0ICsyNyw0IEBAIHZhciBwcm9iZVBhcmFtLCBwcm9iZUJvZHk7CiB9Lm0oKSk7
CiAKIGFzc2VydC5zYW1lVmFsdWUocHJvYmVQYXJhbSgpLCAnaW5zaWRlJyk7Ci1hc3NlcnQuc2Ft
ZVZhbHVlKHByb2JlQm9keSgpLCAnb3V0c2lkZScpOworYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZUJv
ZHkoKSwgJ2luc2lkZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvb2JqZWN0L3Njb3BlLW1ldGgtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29i
amVjdC9zY29wZS1tZXRoLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5qcwkocmV2aXNpb24gMjU0
MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L3Njb3BlLW1ldGgtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDI0ICsxLDE2IEBACiAvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCi1lc2lkOiBz
ZWMtZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtaXRlcmF0b3JiaW5kaW5n
aW5pdGlhbGl6YXRpb24KK2VzaWQ6IHNlYy1mdW5jdGlvbmRlY2xhcmF0aW9uaW5zdGFudGlhdGlv
bgogZGVzY3JpcHRpb246ID4KLSAgICBDcmVhdGlvbiBvZiBuZXcgdmFyaWFibGUgZW52aXJvbm1l
bnQgZm9yIHRoZSBCaW5kaW5nUmVzdEVsZW1lbnQgZm9ybWFsCi0gICAgcGFyYW1ldGVyCisgICAg
c2xvcHB5IGRpcmVjdCBldmFscyBpbiBwYXJhbXMgaW50cm9kdWNlIHZhcnMKIGluZm86IHwKICAg
ICBbLi4uXQotICAgIDIuIExldCBjdXJyZW50Q29udGV4dCBiZSB0aGUgcnVubmluZyBleGVjdXRp
b24gY29udGV4dC4KLSAgICAzLiBMZXQgb3JpZ2luYWxFbnYgYmUgdGhlIFZhcmlhYmxlRW52aXJv
bm1lbnQgb2YgY3VycmVudENvbnRleHQuCi0gICAgNC4gQXNzZXJ0OiBUaGUgVmFyaWFibGVFbnZp
cm9ubWVudCBhbmQgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0Ci0gICAgICAg
YXJlIHRoZSBzYW1lLgotICAgIDUuIEFzc2VydDogZW52aXJvbm1lbnQgYW5kIG9yaWdpbmFsRW52
IGFyZSB0aGUgc2FtZS4KLSAgICA2LiBMZXQgcGFyYW1WYXJFbnYgYmUgTmV3RGVjbGFyYXRpdmVF
bnZpcm9ubWVudChvcmlnaW5hbEVudikuCi0gICAgNy4gU2V0IHRoZSBWYXJpYWJsZUVudmlyb25t
ZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAgIDguIFNldCB0aGUgTGV4
aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52LgotICAgIDku
IExldCByZXN1bHQgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0lu
aXRpYWxpemF0aW9uIGZvcgotICAgICAgQmluZGluZ1Jlc3RFbGVtZW50IHVzaW5nIGl0ZXJhdG9y
UmVjb3JkIGFuZCBlbnZpcm9ubWVudCBhcyB0aGUgYXJndW1lbnRzLgotICAgIDEwLiBTZXQgdGhl
IFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCi0g
ICAgMTEuIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9y
aWdpbmFsRW52LgorICAgIDIwLiBFbHNlLAorICAgICAgYS4gTk9URTogQSBzZXBhcmF0ZSBFbnZp
cm9ubWVudCBSZWNvcmQgaXMgbmVlZGVkIHRvIGVuc3VyZSB0aGF0IGJpbmRpbmdzIGNyZWF0ZWQg
YnkgZGlyZWN0IGV2YWwgY2FsbHMgaW4gdGhlIGZvcm1hbCBwYXJhbWV0ZXIgbGlzdCBhcmUgb3V0
c2lkZSB0aGUgZW52aXJvbm1lbnQgd2hlcmUgcGFyYW1ldGVycyBhcmUgZGVjbGFyZWQuCisgICAg
ICBiLiBMZXQgY2FsbGVlRW52IGJlIHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY2FsbGVlQ29u
dGV4dC4KKyAgICAgIGMuIExldCBlbnYgYmUgTmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChjYWxs
ZWVFbnYpLgorICAgICAgZC4gTGV0IGVudlJlYyBiZSBlbnYncyBFbnZpcm9ubWVudFJlY29yZC4K
ICAgICBbLi4uXQogZmxhZ3M6IFtub1N0cmljdF0KIC0tLSovCkBAIC0zMyw1ICsyNSw1IEBAIHZh
ciBwcm9iZTEsIHByb2JlMjsKICAgKSB7fQogfS5tKCkpOwogCi1hc3NlcnQuc2FtZVZhbHVlKHBy
b2JlMSgpLCAnb3V0c2lkZScpOworYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ2luc2lkZScp
OwogYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTIoKSwgJ2luc2lkZScpOwpJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9u
L2FzeW5jLWdlbi1tZXRoLWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhv
ZC1kZWZpbml0aW9uL2FzeW5jLWdlbi1tZXRoLWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMJ
KG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2FzeW5jLWdlbi1tZXRoLWV2YWwtdmFyLXNjb3Bl
LXN5bnRheC1lcnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorLy8gVGhpcyBm
aWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2Vz
OgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5jYXNl
CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9hc3luYy1nZW4tbWV0aC50ZW1wbGF0ZQor
LyotLS0KK2Rlc2NyaXB0aW9uOiBzbG9wcHkgZGlyZWN0IGV2YWwgaW4gcGFyYW1zIGludHJvZHVj
ZXMgdmFyIChhc3luYyBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLWFzeW5jZ2VuZXJhdG9y
LWRlZmluaXRpb25zLXByb3BlcnR5ZGVmaW5pdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVm
YXVsdC1wYXJhbWV0ZXJzLCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZF0KK2lu
Zm86IHwKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CisgICAgICAgIGFzeW5jIFtubyBMaW5l
VGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMg
KQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BL
ZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1
cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhp
cyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLCBsZXQgc3RyaWN0IGJl
IHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0
IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25t
ZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0
ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAgQXN5bmNHZW5lcmF0b3JC
b2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisKKyAgICAKKyAgICBSdW50aW1lIFNl
bWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKyAgICBGb3JtYWxQYXJhbWV0
ZXIgOiBCaW5kaW5nRWxlbWVudAorCisgICAgMS4gUmV0dXJuIHRoZSByZXN1bHQgb2YgcGVyZm9y
bWluZyBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ0VsZW1lbnQgd2l0
aCBhcmd1bWVudHMgaXRlcmF0b3JSZWNvcmQgYW5kIGVudmlyb25tZW50LgorCistLS0qLworCit2
YXIgY2FsbENvdW50ID0gMDsKK3ZhciBvYmogPSB7CisgIGFzeW5jICptZXRob2QoYSA9IGV2YWwo
InZhciBhID0gNDIiKSkgeworICAgIAorICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7Cisg
IH0KK307CisKK2Fzc2VydC50aHJvd3MoU3ludGF4RXJyb3IsIGZ1bmN0aW9uKCkgeworICBvYmou
bWV0aG9kKCk7Cit9KTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZ2VuZXJhdG9y
IG1ldGhvZCBib2R5IG5vdCBldmFsdWF0ZWQnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9hc3luYy1tZXRo
LWV2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2Fz
eW5jLW1ldGgtZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRl
ZmluaXRpb24vYXN5bmMtbWV0aC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNDEgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdl
bmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZv
cm1zL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9y
bXMvZXJyb3IvYXN5bmMtbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBzbG9wcHkg
ZGlyZWN0IGV2YWwgaW4gcGFyYW1zIGludHJvZHVjZXMgdmFyIChhc3luYyBtZXRob2QpCitlc2lk
OiBzZWMtYXN5bmMtZnVuY3Rpb24tZGVmaW5pdGlvbnMKK2ZlYXR1cmVzOiBbZGVmYXVsdC1wYXJh
bWV0ZXJzLCBhc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZv
OiB8CisgICAgMTQuNiBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNNZXRo
b2QgOgorICAgICBhc3luYyBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkg
eyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKworICAgIAorICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJ
dGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorICAgIEZvcm1hbFBhcmFtZXRlciA6IEJpbmRp
bmdFbGVtZW50CisKKyAgICAxLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJh
dG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBCaW5kaW5nRWxlbWVudCB3aXRoIGFyZ3VtZW50
cyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQuCisKKy0tLSovCisKKwordmFyIGNhbGxD
b3VudCA9IDA7CisKK3ZhciBvYmogPSB7CisgIGFzeW5jIG1ldGhvZChhID0gZXZhbCgidmFyIGEg
PSA0MiIpKSB7CisgICAgCisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsK
Kworb2JqLm1ldGhvZCgpCisgIC50aGVuKF8gPT4geworICAgIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJ2Z1bmN0aW9uIHNob3VsZCBub3QgYmUgcmVzb2x2ZWQnKTsKKyAgfSwgZXJyb3IgPT4gYXNz
ZXJ0LnNhbWVWYWx1ZShlcnJvci5jb25zdHJ1Y3RvciwgU3ludGF4RXJyb3IpKQorICAudGhlbigo
KSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5
IGlzIG5vdCBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpCisgIC50aGVuKCRET05FLCAkRE9ORSk7
CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qv
bWV0aG9kLWRlZmluaXRpb24vZ2VuLW1ldGgtZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9v
YmplY3QvbWV0aG9kLWRlZmluaXRpb24vZ2VuLW1ldGgtZXZhbC12YXItc2NvcGUtc3ludGF4LWVy
ci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZ2VuLW1ldGgtZXZhbC12YXItc2NvcGUt
c3ludGF4LWVyci5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY1IEBACisvLyBUaGlzIGZp
bGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6
CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmNhc2UK
Ky8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2Vycm9yL2dlbi1tZXRoLnRlbXBsYXRlCisvKi0tLQor
ZGVzY3JpcHRpb246IHNsb3BweSBkaXJlY3QgZXZhbCBpbiBwYXJhbXMgaW50cm9kdWNlcyB2YXIg
KGdlbmVyYXRvciBtZXRob2QpCitlc2lkOiBzZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRp
b25zLXJ1bnRpbWUtc2VtYW50aWNzLXByb3BlcnR5ZGVmaW5pdGlvbmV2YWx1YXRpb24KK2ZlYXR1
cmVzOiBbZGVmYXVsdC1wYXJhbWV0ZXJzLCBnZW5lcmF0b3JzXQorZmxhZ3M6IFtnZW5lcmF0ZWRd
CitpbmZvOiB8CisgICAgR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgKiBQcm9wZXJ0eU5hbWUg
KCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExl
dCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAg
Mi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUg
Zm9yIHRoaXMgR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0
IHN0cmljdCBiZSB0cnVlLiBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBM
ZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJv
bm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0
aG9kLAorICAgICAgIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3Bl
LCBzdHJpY3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVu
dCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRp
bmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAg
IDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisK
KyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYs
IGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJh
dGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAg
MjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAg
Q3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAg
IDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAy
NS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJ
bml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3Jk
IGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKworICAgIAorICAgIFJ1bnRpbWUg
U2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorICAgIEZvcm1hbFBhcmFt
ZXRlciA6IEJpbmRpbmdFbGVtZW50CisKKyAgICAxLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJm
b3JtaW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBCaW5kaW5nRWxlbWVudCB3
aXRoIGFyZ3VtZW50cyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQuCisKKy0tLSovCisK
K3ZhciBjYWxsQ291bnQgPSAwOwordmFyIG9iaiA9IHsKKyAgKm1ldGhvZChhID0gZXZhbCgidmFy
IGEgPSA0MiIpKSB7CisgICAgCisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQor
fTsKKworYXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rpb24oKSB7CisgIG9iai5tZXRo
b2QoKTsKK30pOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdnZW5lcmF0b3IgbWV0
aG9kIGJvZHkgbm90IGV2YWx1YXRlZCcpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL21ldGgtZXZhbC12YXIt
c2NvcGUtc3ludGF4LWVyci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vbWV0aC1ldmFsLXZh
ci1zY29wZS1zeW50YXgtZXJyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9tZXRoLWV2
YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MSBA
QAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxv
d2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2NvcGUtc3lu
dGF4LWVyci5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9tZXRoLnRlbXBsYXRl
CisvKi0tLQorZGVzY3JpcHRpb246IHNsb3BweSBkaXJlY3QgZXZhbCBpbiBwYXJhbXMgaW50cm9k
dWNlcyB2YXIgKG1ldGhvZCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1kZWZpbmVtZXRo
b2QKK2ZlYXR1cmVzOiBbZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitp
bmZvOiB8CisgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1h
bFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDYuIExldCBj
bG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsCisg
ICAgICAgRnVuY3Rpb25Cb2R5LCBzY29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Qcm90b3R5cGUg
d2FzIHBhc3NlZCBhcyBhCisgICAgICAgcGFyYW1ldGVyIHRoZW4gcGFzcyBpdHMgdmFsdWUgYXMg
dGhlIGZ1bmN0aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50CisgICAgICAgb2YgRnVuY3Rp
b25DcmVhdGUuCisgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50
LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGlu
YXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAg
OS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKwor
ICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwg
YXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0
aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAy
My4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBD
cmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAg
MjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1
LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0lu
aXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQg
YW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIAorICAgIFJ1bnRpbWUgU2Vt
YW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorICAgIEZvcm1hbFBhcmFtZXRl
ciA6IEJpbmRpbmdFbGVtZW50CisKKyAgICAxLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3Jt
aW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBCaW5kaW5nRWxlbWVudCB3aXRo
IGFyZ3VtZW50cyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQuCisKKy0tLSovCisKK3Zh
ciBjYWxsQ291bnQgPSAwOwordmFyIG9iaiA9IHsKKyAgbWV0aG9kKGEgPSBldmFsKCJ2YXIgYSA9
IDQyIikpIHsKKyAgICAKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9Owor
Cithc3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigpIHsKKyAgb2JqLm1ldGhvZCgp
OworfSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBib2R5IG5vdCBl
dmFsdWF0ZWQnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29wdGlvbmFsLWNoYWluaW5nL2l0ZXJhdGlvbi1zdGF0ZW1lbnQtZG8uanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb3B0aW9uYWwt
Y2hhaW5pbmcvaXRlcmF0aW9uLXN0YXRlbWVudC1kby5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vcHRpb25hbC1jaGFpbmluZy9p
dGVyYXRpb24tc3RhdGVtZW50LWRvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAK
Ky8vIENvcHlyaWdodCAyMDE5IEdvb2dsZSwgTExDLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBwcm9kLU9wdGlvbmFsRXhwcmVzc2lvbgorZGVzY3Jp
cHRpb246ID4KKyAgb3B0aW9uYWwgY2hhaW4gaW4gdGVzdCBwb3J0aW9uIG9mIGRvIHdoaWxlIHN0
YXRlbWVudAoraW5mbzogfAorICBJdGVyYXRpb25TdGF0ZW1lbnQKKyAgICBkbyBTdGF0ZW1lbnQg
d2hpbGUgKE9wdGlvbmFsRXhwcmVzc2lvbikKK2ZlYXR1cmVzOiBbb3B0aW9uYWwtY2hhaW5pbmdd
CistLS0qLworbGV0IGNvdW50ID0gMDsKK2NvbnN0IG9iaiA9IHthOiB0cnVlfTsKK2RvIHsKKyAg
Y291bnQrKzsKKyAgYnJlYWs7Cit9IHdoaWxlIChvYmo/LmEpOworYXNzZXJ0LnNhbWVWYWx1ZSgx
LCBjb3VudCk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9vcHRpb25hbC1jaGFpbmluZy9pdGVyYXRpb24tc3RhdGVtZW50LWZvci1hd2FpdC1vZi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9v
cHRpb25hbC1jaGFpbmluZy9pdGVyYXRpb24tc3RhdGVtZW50LWZvci1hd2FpdC1vZi5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9v
cHRpb25hbC1jaGFpbmluZy9pdGVyYXRpb24tc3RhdGVtZW50LWZvci1hd2FpdC1vZi5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACisvLyBDb3B5cmlnaHQgMjAxOSBHb29nbGUsIExM
Qy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogcHJv
ZC1PcHRpb25hbEV4cHJlc3Npb24KK2Rlc2NyaXB0aW9uOiA+CisgIG9wdGlvbmFsIGNoYWluIFJI
UyBvZiBmb3IgYXdhaXQgc3RhdGVtZW50CitpbmZvOiB8CisgIEl0ZXJhdGlvblN0YXRlbWVudAor
ICAgIGZvciBhd2FpdCAoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBBc3NpZ25tZW50RXhwcmVz
c2lvbikgU3RhdGVtZW50CitmZWF0dXJlczogW29wdGlvbmFsLWNoYWluaW5nXQorZmxhZ3M6IFth
c3luY10KKy0tLSovCitjb25zdCBvYmogPSB7CisgIGl0ZXJhYmxlOiB7CisgICAgW1N5bWJvbC5h
c3luY0l0ZXJhdG9yXSgpIHsKKyAgICAgIHJldHVybiB7CisgICAgICAgIGk6IDAsCisgICAgICAg
IG5leHQoKSB7CisgICAgICAgICAgaWYgKHRoaXMuaSA8IDMpIHsKKyAgICAgICAgICAgIHJldHVy
biBQcm9taXNlLnJlc29sdmUoeyB2YWx1ZTogdGhpcy5pKyssIGRvbmU6IGZhbHNlIH0pOworICAg
ICAgICAgIH0KKyAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgZG9uZTogdHJ1ZSB9
KTsKKyAgICAgICAgfQorICAgICAgfTsKKyAgICB9CisgIH0KK307Cithc3luYyBmdW5jdGlvbiBj
aGVja0Fzc2VydGlvbnMoKSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZvciBhd2FpdCAoY29uc3Qg
bnVtIG9mIG9iaj8uaXRlcmFibGUpIHsKKyAgICBjb3VudCArPSBudW07CisgIH0KKyAgYXNzZXJ0
LnNhbWVWYWx1ZSgzLCBjb3VudCk7Cit9CitjaGVja0Fzc2VydGlvbnMoKS50aGVuKCRET05FLCAk
RE9ORSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9v
cHRpb25hbC1jaGFpbmluZy9pdGVyYXRpb24tc3RhdGVtZW50LWZvci1pbi5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vcHRpb25hbC1j
aGFpbmluZy9pdGVyYXRpb24tc3RhdGVtZW50LWZvci1pbi5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vcHRpb25hbC1jaGFpbmlu
Zy9pdGVyYXRpb24tc3RhdGVtZW50LWZvci1pbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDIyIEBACisvLyBDb3B5cmlnaHQgMjAxOSBHb29nbGUsIExMQy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogcHJvZC1PcHRpb25hbEV4cHJlc3Npb24K
K2Rlc2NyaXB0aW9uOiA+CisgIG9wdGlvbmFsIGNoYWluIGluIHRlc3QgcG9ydGlvbiBvZiBkbyB3
aGlsZSBzdGF0ZW1lbnQKK2luZm86IHwKKyAgSXRlcmF0aW9uU3RhdGVtZW50CisgICAgZm9yIChM
ZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGluIEV4cHJlc3Npb24pIFN0YXRlbWVudAorZmVhdHVyZXM6
IFtvcHRpb25hbC1jaGFpbmluZ10KKy0tLSovCitjb25zdCBvYmogPSB7CisgIGlubmVyOiB7Cisg
ICAgYTogMSwKKyAgICBiOiAyCisgIH0KK307CitsZXQgc3RyID0gJyc7Citmb3IgKGNvbnN0IGtl
eSBpbiBvYmo/LmlubmVyKSB7CisgIHN0ciArPSBrZXk7Cit9Cithc3NlcnQuc2FtZVZhbHVlKCdh
YicsIHN0cik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9vcHRpb25hbC1jaGFpbmluZy9pdGVyYXRpb24tc3RhdGVtZW50LWZvci1vZi10eXBlLWVycm9y
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29wdGlvbmFsLWNoYWluaW5nL2l0ZXJhdGlvbi1zdGF0ZW1lbnQtZm9yLW9mLXR5cGUtZXJy
b3IuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvb3B0aW9uYWwtY2hhaW5pbmcvaXRlcmF0aW9uLXN0YXRlbWVudC1mb3Itb2YtdHlw
ZS1lcnJvci5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACisvLyBDb3B5cmlnaHQg
MjAxOSBHb29nbGUsIExMQy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisv
Ki0tLQorZXNpZDogcHJvZC1PcHRpb25hbEV4cHJlc3Npb24KK2Rlc2NyaXB0aW9uOiA+CisgIG9w
dGlvbmFsIGNoYWluIHJldHVybmluZyB1bmRlZmluZWQgaW4gUkhTIG9mIGZvciBvZiBzdGF0ZW1l
bnQKK2luZm86IHwKKyAgSXRlcmF0aW9uU3RhdGVtZW50CisgICAgZm9yIChMZWZ0SGFuZFNpZGVF
eHByZXNzaW9uIG9mIEV4cHJlc3Npb24pIFN0YXRlbWVudAorZmVhdHVyZXM6IFtvcHRpb25hbC1j
aGFpbmluZ10KKy0tLSovCisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsK
KyAgZm9yIChjb25zdCBrZXkgb2Yge30/LmEpIDsKK30pOworCithc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7CisgIGZvciAoY29uc3Qga2V5IG9mIHt9Py5hKSB7fQorfSk7CisK
K2NvbnN0IG9iaiA9IHVuZGVmaW5lZDsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlv
bigpIHsKKyAgZm9yIChjb25zdCBrZXkgb2Ygb2JqPy5hKSB7fQorfSk7CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgZm9yIChjb25zdCBrZXkgb2Ygb2JqPy5hKTsK
K30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb3B0
aW9uYWwtY2hhaW5pbmcvaXRlcmF0aW9uLXN0YXRlbWVudC1mb3IuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb3B0aW9uYWwtY2hhaW5p
bmcvaXRlcmF0aW9uLXN0YXRlbWVudC1mb3IuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb3B0aW9uYWwtY2hhaW5pbmcvaXRlcmF0
aW9uLXN0YXRlbWVudC1mb3IuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorLy8g
Q29weXJpZ2h0IDIwMTkgR29vZ2xlLCBMTEMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorLyotLS0KK2VzaWQ6IHByb2QtT3B0aW9uYWxFeHByZXNzaW9uCitkZXNjcmlwdGlv
bjogPgorICBvcHRpb25hbCBjaGFpbiBpbiBpbml0L3Rlc3QvdXBkYXRlIG9mIGZvciBzdGF0ZW1l
bnQKK2luZm86IHwKKyAgSXRlcmF0aW9uU3RhdGVtZW50CisgICAgZm9yIChFeHByZXNzaW9uOyBF
eHByZXNzaW9uOyBFeHByZXNzaW9uKSBTdGF0ZW1lbnQKK2ZlYXR1cmVzOiBbb3B0aW9uYWwtY2hh
aW5pbmddCistLS0qLworCisvLyBPcHRpb25hbEV4cHJlc3Npb24gaW4gdGVzdC4KK2xldCBjb3Vu
dDsKK2NvbnN0IG9iaiA9IHthOiB0cnVlfTsKK2ZvciAoY291bnQgPSAwOyBvYmo/LmE7IGNvdW50
KyspIHsKKyAgaWYgKGNvdW50ID4gMCkgYnJlYWs7Cit9Cithc3NlcnQuc2FtZVZhbHVlKGNvdW50
LCAxKTsKKworLy8gT3B0aW9uYWxFeHByZXNzaW9uIGluIGluaXQvdGVzdC91cGRhdGUuCitsZXQg
Y291bnQyID0gMDsKK2NvbnN0IG9iajIgPSB1bmRlZmluZWQ7CisKK2ZvciAob2JqPy5hOyBvYmoy
Py5hOyBvYmo/LmEpIHsgY291bnQyKys7IH0KK2Fzc2VydC5zYW1lVmFsdWUoY291bnQyLCAwKTsK
KworZm9yIChvYmo/LmE7IHVuZGVmaW5lZD8uYTsgb2JqPy5hKSB7IGNvdW50MisrOyB9Cithc3Nl
cnQuc2FtZVZhbHVlKGNvdW50MiwgMCk7CisKKy8vIFNob3J0LWNpcmN1aXRpbmcKK2xldCB0b3Vj
aGVkID0gMDsKK2NvbnN0IG9iajMgPSB7CisgIGdldCBhKCkgeworICAgIGNvdW50Kys7CisgICAg
cmV0dXJuIHVuZGVmaW5lZDsgLy8gZXhwbGljaXQgZm9yIGNsYXJpdHkKKyAgfQorfTsKK2ZvciAo
Y291bnQgPSAwOyB0cnVlOyBvYmozPy5hPy5bdG91Y2hlZCsrXSkgeworICBpZiAoY291bnQgPiAw
KSB7IGJyZWFrOyB9Cit9Cithc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK2Fzc2VydC5zYW1l
VmFsdWUodG91Y2hlZCwgMCk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9vcHRpb25hbC1jaGFpbmluZy9pdGVyYXRpb24tc3RhdGVtZW50LXdoaWxlLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L29wdGlvbmFsLWNoYWluaW5nL2l0ZXJhdGlvbi1zdGF0ZW1lbnQtd2hpbGUuanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb3B0aW9u
YWwtY2hhaW5pbmcvaXRlcmF0aW9uLXN0YXRlbWVudC13aGlsZS5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDE4IEBACisvLyBDb3B5cmlnaHQgMjAxOSBHb29nbGUsIExMQy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogcHJvZC1PcHRpb25hbEV4
cHJlc3Npb24KK2Rlc2NyaXB0aW9uOiA+CisgIG9wdGlvbmFsIGNoYWluIGluIHRlc3QgcG9ydGlv
biBvZiB3aGlsZSBzdGF0ZW1lbnQKK2luZm86IHwKKyAgSXRlcmF0aW9uU3RhdGVtZW50CisgICAg
d2hpbGUgKEV4cHJlc3Npb24pIFN0YXRlbWVudAorZmVhdHVyZXM6IFtvcHRpb25hbC1jaGFpbmlu
Z10KKy0tLSovCitsZXQgY291bnQgPSAwOworY29uc3Qgb2JqID0ge2E6IHRydWV9Oword2hpbGUg
KG9iaj8uYSkgeworICBjb3VudCsrOworICBicmVhazsKK30KK2Fzc2VydC5zYW1lVmFsdWUoMSwg
Y291bnQpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
b3B0aW9uYWwtY2hhaW5pbmcvbmV3LXRhcmdldC1vcHRpb25hbC1jYWxsLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29wdGlvbmFsLWNo
YWluaW5nL25ldy10YXJnZXQtb3B0aW9uYWwtY2FsbC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vcHRpb25hbC1jaGFpbmluZy9u
ZXctdGFyZ2V0LW9wdGlvbmFsLWNhbGwuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBA
QAorLy8gQ29weXJpZ2h0IDIwMTkgR29vZ2xlLCBMTEMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHByb2QtT3B0aW9uYWxFeHByZXNzaW9uCitkZXNj
cmlwdGlvbjogPgorICBvcHRpb25hbCBjYWxsIGludm9rZWQgb24gbmV3LnRhcmdldCBzaG91bGQg
YmUgZXF1aXZhbGVudCB0byBjYWxsCitpbmZvOiB8CisgIE9wdGlvbmFsRXhwcmVzc2lvbgorICAg
IE1lbWJlckV4cHJlc3Npb24gT3B0aW9uYWxDaGFpbgorICAgICAgTmV3VGFyZ2V0IE9wdGlvbmFs
Q2hhaW4KK2ZlYXR1cmVzOiBbb3B0aW9uYWwtY2hhaW5pbmddCistLS0qLworCitjb25zdCBuZXdU
YXJnZXRDb250ZXh0ID0gKGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSkoKTsKKworbGV0IGNh
bGxlZCA9IGZhbHNlOworLy8gc2hvdWxkIGJlIHNldCB0byAndW5kZWZpbmVkJyBvciBnbG9iYWwg
Y29udGV4dCwgZGVwZW5kaW5nIG9uIHdoZXRoZXIKKy8vIG1vZGUgaXMgc3RyaWN0IG9yIHNsb3Bw
eS4KK2xldCBjb250ZXh0ID0gbnVsbDsKK2Z1bmN0aW9uIEJhc2UoKSB7CisgIGNhbGxlZCA9IHRy
dWU7CisgIGNvbnRleHQgPSB0aGlzOworfQorZnVuY3Rpb24gRm9vKGJsZXJnKSB7CisgIG5ldy50
YXJnZXQ/LigpOworfQorCitSZWZsZWN0LmNvbnN0cnVjdChGb28sIFtdLCBCYXNlKTsKK2Fzc2Vy
dChjb250ZXh0ID09PSBuZXdUYXJnZXRDb250ZXh0KTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbGVk
LCB0cnVlKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L29wdGlvbmFsLWNoYWluaW5nL29wdGlvbmFsLWNhbGwtcHJlc2VydmVzLXRoaXMuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb3B0aW9u
YWwtY2hhaW5pbmcvb3B0aW9uYWwtY2FsbC1wcmVzZXJ2ZXMtdGhpcy5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vcHRpb25hbC1j
aGFpbmluZy9vcHRpb25hbC1jYWxsLXByZXNlcnZlcy10aGlzLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBTb255IEludGVyYWN0aXZlIEVu
dGVydGFpbm1lbnQgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyot
LS0KK2VzaWQ6IHNlYy1vcHRpb25hbC1jaGFpbmluZy1jaGFpbi1ldmFsdWF0aW9uCitkZXNjcmlw
dGlvbjogPgorICBvcHRpb25hbCBjYWxsIG11c3QgcHJlc2VydmUgdGhpcyBjb250ZXh0LCBhcyB3
aXRoIGEgbm9uLW9wdGlvbmFsIGNhbGwKK2luZm86IHwKKyAgT3B0aW9uYWxDaGFpbiA6ID8uIEFy
Z3VtZW50cworICAgIDEuIExldCB0aGlzQ2hhaW4gYmUgdGhpcyBPcHRpb25hbENoYWluLgorICAg
IDIuIExldCB0YWlsQ2FsbCBiZSBJc0luVGFpbFBvc2l0aW9uKHRoaXNDaGFpbikuCisgICAgMy4g
UmV0dXJuID8gRXZhbHVhdGVDYWxsKGJhc2VWYWx1ZSwgYmFzZVJlZmVyZW5jZSwgQXJndW1lbnRz
LCB0YWlsQ2FsbCkuCitmZWF0dXJlczogW29wdGlvbmFsLWNoYWluaW5nXQorLS0tKi8KKworY29u
c3QgYSA9IHsKKyAgICBiKCkgeyByZXR1cm4gdGhpcy5fYjsgfSwKKyAgICBfYjogeyBjOiA0MiB9
Cit9OworCithc3NlcnQuc2FtZVZhbHVlKGE/LmIoKS5jLCA0Mik7Cithc3NlcnQuc2FtZVZhbHVl
KChhPy5iKSgpLmMsIDQyKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShhLmI/LigpLmMsIDQyKTsKK2Fz
c2VydC5zYW1lVmFsdWUoKGEuYik/LigpLmMsIDQyKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShhPy5i
Py4oKS5jLCA0Mik7Cithc3NlcnQuc2FtZVZhbHVlKChhPy5iKT8uKCkuYywgNDIpOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb3B0aW9uYWwtY2hhaW5p
bmcvc3VwZXItcHJvcGVydHktb3B0aW9uYWwtY2FsbC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vcHRpb25hbC1jaGFpbmluZy9zdXBl
ci1wcm9wZXJ0eS1vcHRpb25hbC1jYWxsLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29wdGlvbmFsLWNoYWluaW5nL3N1cGVyLXBy
b3BlcnR5LW9wdGlvbmFsLWNhbGwuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAor
Ly8gQ29weXJpZ2h0IDIwMTkgR29vZ2xlLCBMTEMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHByb2QtT3B0aW9uYWxFeHByZXNzaW9uCitkZXNjcmlw
dGlvbjogPgorICBvcHRpb25hbCBjYWxsIGludm9rZWQgb24gc3VwZXIgbWV0aG9kIHNob3VsZCBi
ZSBlcXVpdmFsZW50IHRvIGNhbGwKK2luZm86IHwKKyAgT3B0aW9uYWxFeHByZXNzaW9uCisgICAg
TWVtYmVyRXhwcmVzc2lvbiBPcHRpb25hbENoYWluCisgICAgICBTdXBlclByb3BlcnR5IE9wdGlv
bmFsQ2hhaW4KK2ZlYXR1cmVzOiBbb3B0aW9uYWwtY2hhaW5pbmddCistLS0qLworCitsZXQgY2Fs
bGVkID0gZmFsc2U7CitsZXQgY29udGV4dDsKK2NsYXNzIEJhc2UgeworICAgIG1ldGhvZCgpIHsK
KyAgICAgIGNhbGxlZCA9IHRydWU7CisgICAgICBjb250ZXh0ID0gdGhpczsKKyAgICB9Cit9Citj
bGFzcyBGb28gZXh0ZW5kcyBCYXNlIHsKKyAgICBtZXRob2QoKSB7CisgICAgICBzdXBlci5tZXRo
b2Q/LigpOworICAgIH0KK30KK2NvbnN0IGZvbyA9IG5ldyBGb28oKTsKK2Zvby5tZXRob2QoKTsK
K2Fzc2VydChmb28gPT09IGNvbnRleHQpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsZWQsIHRydWUp
OwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvcmlnaHQt
c2hpZnQvYmlnaW50LWFuZC1udW1iZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvcmlnaHQtc2hpZnQvYmlnaW50LWFuZC1udW1iZXIu
anMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL3JpZ2h0LXNoaWZ0L2JpZ2ludC1hbmQtbnVtYmVyLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC04Nyw0ICs4Nyw0IEBAIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsK
IAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICB1bmRlZmluZWQgPj4g
MW47Ci19LCAndW5kZWZpbmVkID4+IDFuIHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCit9LCAndW5kZWZpbmVkID4+IDFuIHRocm93cyBUeXBlRXJyb3InKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3JpZ2h0LXNo
aWZ0L2JpZ2ludC1lcnJvcnMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvcmlnaHQtc2hpZnQvYmlnaW50LWVycm9ycy5qcwkocmV2aXNp
b24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
cmlnaHQtc2hpZnQvYmlnaW50LWVycm9ycy5qcwkod29ya2luZyBjb3B5KQpAQCAtNjcsNCArNjcs
NCBAQCBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgICAgICByZXR1cm4g
U3ltYm9sKCcxJyk7CiAgICAgfQogICB9OwotfSwgJzBuID4+IHt0b1N0cmluZzogZnVuY3Rpb24o
KSB7cmV0dXJuIFN5bWJvbCgiMSIpO319IHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCit9LCAnMG4gPj4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4g
U3ltYm9sKCIxIik7fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvcmlnaHQtc2hpZnQvYmlnaW50LW5vbi1wcmltaXRp
dmUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvcmlnaHQtc2hpZnQvYmlnaW50LW5vbi1wcmltaXRpdmUuanMJKHJldmlzaW9uIDI1NDAw
NykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3JpZ2h0LXNo
aWZ0L2JpZ2ludC1ub24tcHJpbWl0aXZlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC04NCw0ICs4NCw0
IEBAIGFzc2VydC5zYW1lVmFsdWUoewogICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsKICAgICByZXR1
cm4gMW47CiAgIH0KLX0sIDBiMTBuLCAnVGhlIHJlc3VsdCBvZiAoKHt2YWx1ZU9mOiBmdW5jdGlv
bigpIHtyZXR1cm4gMGIxMDFuO319KSA+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDFu
O319KSBpcyAwYjEwbicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sIDBiMTBuLCAn
VGhlIHJlc3VsdCBvZiAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMGIxMDFuO319KSA+
PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDFuO319KSBpcyAwYjEwbicpOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvcmlnaHQtc2hpZnQvYmln
aW50LXRvcHJpbWl0aXZlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL3JpZ2h0LXNoaWZ0L2JpZ2ludC10b3ByaW1pdGl2ZS5qcwkocmV2
aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvcmlnaHQtc2hpZnQvYmlnaW50LXRvcHJpbWl0aXZlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0z
NjksNCArMzY5LDQgQEAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAg
ICAgcmV0dXJuIHt9OwogICAgIH0KICAgfTsKLX0sICcwbiA+PiB7dmFsdWVPZjogZnVuY3Rpb24o
KSB7cmV0dXJuIHt9O30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge307fX0gdGhyb3dz
IFR5cGVFcnJvcicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICcwbiA+PiB7dmFs
dWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9O30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1
cm4ge307fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvcmlnaHQtc2hpZnQvYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L3JpZ2h0LXNoaWZ0L2JpZ2ludC13cmFwcGVkLXZhbHVlcy5qcwkocmV2aXNpb24gMjU0MDA3KQor
KysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvcmlnaHQtc2hpZnQv
YmlnaW50LXdyYXBwZWQtdmFsdWVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00Miw0ICs0Miw0IEBA
IGFzc2VydC5zYW1lVmFsdWUoNG4gPj4gewogICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CiAgICAg
cmV0dXJuIDJuOwogICB9Ci19LCAxbiwgJ1RoZSByZXN1bHQgb2YgKDRuID4+IHt0b1N0cmluZzog
ZnVuY3Rpb24oKSB7cmV0dXJuIDJuO319KSBpcyAxbicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKK30sIDFuLCAnVGhlIHJlc3VsdCBvZiAoNG4gPj4ge3RvU3RyaW5nOiBmdW5jdGlvbigp
IHtyZXR1cm4gMm47fX0pIGlzIDFuJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtYmlnaW50
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL3N0cmljdC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1iaWdpbnQuanMJKHJldmlzaW9u
IDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0
cmljdC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1iaWdpbnQuanMJKHdvcmtpbmcgY29weSkK
QEAgLTE2OSw0ICsxNjksNCBAQCBhc3NlcnQuc2FtZVZhbHVlKAogICAweDEwMDAwMDAwMG4gIT09
IDB4MTAwMDAwMDAwMDAwMDAwMDBuLAogICB0cnVlLAogICAnVGhlIHJlc3VsdCBvZiAoMHgxMDAw
MDAwMDBuICE9PSAweDEwMDAwMDAwMDAwMDAwMDAwbikgaXMgdHJ1ZScKLSk7ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL3N0cmljdC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1ib29sZWFuLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L3N0cmljdC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1ib29sZWFuLmpzCShyZXZpc2lvbiAy
NTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJp
Y3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtYm9vbGVhbi5qcwkod29ya2luZyBjb3B5KQpA
QCAtMjMsNCArMjMsNCBAQCBhc3NlcnQuc2FtZVZhbHVlKHRydWUgIT09IDFuLCB0cnVlLCAnVGhl
CiBhc3NlcnQuc2FtZVZhbHVlKDJuICE9PSBmYWxzZSwgdHJ1ZSwgJ1RoZSByZXN1bHQgb2YgKDJu
ICE9PSBmYWxzZSkgaXMgdHJ1ZScpOwogYXNzZXJ0LnNhbWVWYWx1ZShmYWxzZSAhPT0gMm4sIHRy
dWUsICdUaGUgcmVzdWx0IG9mIChmYWxzZSAhPT0gMm4pIGlzIHRydWUnKTsKIGFzc2VydC5zYW1l
VmFsdWUoMm4gIT09IHRydWUsIHRydWUsICdUaGUgcmVzdWx0IG9mICgybiAhPT0gdHJ1ZSkgaXMg
dHJ1ZScpOwotYXNzZXJ0LnNhbWVWYWx1ZSh0cnVlICE9PSAybiwgdHJ1ZSwgJ1RoZSByZXN1bHQg
b2YgKHRydWUgIT09IDJuKSBpcyB0cnVlJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
YXNzZXJ0LnNhbWVWYWx1ZSh0cnVlICE9PSAybiwgdHJ1ZSwgJ1RoZSByZXN1bHQgb2YgKHRydWUg
IT09IDJuKSBpcyB0cnVlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9zdHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtaW5jb21wYXJhYmxl
LXByaW1pdGl2ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9zdHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtaW5jb21wYXJh
YmxlLXByaW1pdGl2ZS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWRvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5k
LWluY29tcGFyYWJsZS1wcmltaXRpdmUuanMJKHdvcmtpbmcgY29weSkKQEAgLTE5LDQgKzE5LDQg
QEAgYXNzZXJ0LnNhbWVWYWx1ZShudWxsICE9PSAxbiwgdHJ1ZSwgJ1RoZQogYXNzZXJ0LnNhbWVW
YWx1ZSgwbiAhPT0gU3ltYm9sKCcxJyksIHRydWUsICdUaGUgcmVzdWx0IG9mICgwbiAhPT0gU3lt
Ym9sKCIxIikpIGlzIHRydWUnKTsKIGFzc2VydC5zYW1lVmFsdWUoU3ltYm9sKCcxJykgIT09IDBu
LCB0cnVlLCAnVGhlIHJlc3VsdCBvZiAoU3ltYm9sKCIxIikgIT09IDBuKSBpcyB0cnVlJyk7CiBh
c3NlcnQuc2FtZVZhbHVlKDFuICE9PSBTeW1ib2woJzEnKSwgdHJ1ZSwgJ1RoZSByZXN1bHQgb2Yg
KDFuICE9PSBTeW1ib2woIjEiKSkgaXMgdHJ1ZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShTeW1ib2wo
JzEnKSAhPT0gMW4sIHRydWUsICdUaGUgcmVzdWx0IG9mIChTeW1ib2woIjEiKSAhPT0gMW4pIGlz
IHRydWUnKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCithc3NlcnQuc2FtZVZhbHVlKFN5
bWJvbCgnMScpICE9PSAxbiwgdHJ1ZSwgJ1RoZSByZXN1bHQgb2YgKFN5bWJvbCgiMSIpICE9PSAx
bikgaXMgdHJ1ZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvc3RyaWN0LWRvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3Ry
aWN0LWRvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLW5vbi1maW5pdGUuanMJKHJldmlzaW9uIDI1
NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmlj
dC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1ub24tZmluaXRlLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0yNSw0ICsyNSw0IEBAIGFzc2VydC5zYW1lVmFsdWUoTmFOICE9PSAwbiwgdHJ1ZSwgJ1Ro
ZSAKIGFzc2VydC5zYW1lVmFsdWUoMW4gIT09IE5hTiwgdHJ1ZSwgJ1RoZSByZXN1bHQgb2YgKDFu
ICE9PSBOYU4pIGlzIHRydWUnKTsKIGFzc2VydC5zYW1lVmFsdWUoTmFOICE9PSAxbiwgdHJ1ZSwg
J1RoZSByZXN1bHQgb2YgKE5hTiAhPT0gMW4pIGlzIHRydWUnKTsKIGFzc2VydC5zYW1lVmFsdWUo
LTFuICE9PSBOYU4sIHRydWUsICdUaGUgcmVzdWx0IG9mICgtMW4gIT09IE5hTikgaXMgdHJ1ZScp
OwotYXNzZXJ0LnNhbWVWYWx1ZShOYU4gIT09IC0xbiwgdHJ1ZSwgJ1RoZSByZXN1bHQgb2YgKE5h
TiAhPT0gLTFuKSBpcyB0cnVlJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorYXNzZXJ0
LnNhbWVWYWx1ZShOYU4gIT09IC0xbiwgdHJ1ZSwgJ1RoZSByZXN1bHQgb2YgKE5hTiAhPT0gLTFu
KSBpcyB0cnVlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9zdHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtbnVtYmVyLWV4dHJlbWVzLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L3N0cmljdC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1udW1iZXItZXh0cmVtZXMuanMJKHJl
dmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL3N0cmljdC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1udW1iZXItZXh0cmVtZXMuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTU3LDQgKzU3LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgTnVt
YmVyLk1BWF9WQUxVRSAhPT0gMHhmZmZmZmZmZmZmZmZmODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxbiwKICAgdHJ1
ZSwKICAgJ1RoZSByZXN1bHQgb2YgKE51bWJlci5NQVhfVkFMVUUgIT09IDB4ZmZmZmZmZmZmZmZm
ZjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMW4pIGlzIHRydWUnCi0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9z
dHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtbnVtYmVyLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1kb2VzLW5v
dC1lcXVhbHMvYmlnaW50LWFuZC1udW1iZXIuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1kb2VzLW5vdC1lcXVh
bHMvYmlnaW50LWFuZC1udW1iZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDQgKzQ3LDQgQEAg
YXNzZXJ0LnNhbWVWYWx1ZSgKICAgTnVtYmVyLk1JTl9WQUxVRSAhPT0gLTEwbiwKICAgdHJ1ZSwK
ICAgJ1RoZSByZXN1bHQgb2YgKE51bWJlci5NSU5fVkFMVUUgIT09IC0xMG4pIGlzIHRydWUnCi0p
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1h
bmQtb2JqZWN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL3N0cmljdC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1vYmplY3QuanMJ
KHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL3N0cmljdC1kb2VzLW5vdC1lcXVhbHMvYmlnaW50LWFuZC1vYmplY3QuanMJKHdvcmtp
bmcgY29weSkKQEAgLTExOSw0ICsxMTksNCBAQCBhc3NlcnQuc2FtZVZhbHVlKHsKICAgdG9TdHJp
bmc6IGZ1bmN0aW9uKCkgewogICAgIHJldHVybiAnOTAwNzE5OTI1NDc0MDk5MTAyJzsKICAgfQot
fSAhPT0gOTAwNzE5OTI1NDc0MDk5MTAxbiwgdHJ1ZSwgJ1RoZSByZXN1bHQgb2YgKCh7dG9TdHJp
bmc6IGZ1bmN0aW9uKCkge3JldHVybiAiOTAwNzE5OTI1NDc0MDk5MTAyIjt9fSkgIT09IDkwMDcx
OTkyNTQ3NDA5OTEwMW4pIGlzIHRydWUnKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9
ICE9PSA5MDA3MTk5MjU0NzQwOTkxMDFuLCB0cnVlLCAnVGhlIHJlc3VsdCBvZiAoKHt0b1N0cmlu
ZzogZnVuY3Rpb24oKSB7cmV0dXJuICI5MDA3MTk5MjU0NzQwOTkxMDIiO319KSAhPT0gOTAwNzE5
OTI1NDc0MDk5MTAxbikgaXMgdHJ1ZScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWRvZXMtbm90LWVxdWFscy9iaWdpbnQtYW5kLXN0cmlu
Zy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9zdHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtc3RyaW5nLmpzCShyZXZpc2lv
biAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9z
dHJpY3QtZG9lcy1ub3QtZXF1YWxzL2JpZ2ludC1hbmQtc3RyaW5nLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC02Myw0ICs2Myw0IEBAIGFzc2VydC5zYW1lVmFsdWUoCiAgICc5MDA3MTk5MjU0NzQwOTkx
MDEnICE9PSA5MDA3MTk5MjU0NzQwOTkxMDJuLAogICB0cnVlLAogICAnVGhlIHJlc3VsdCBvZiAo
IjkwMDcxOTkyNTQ3NDA5OTEwMSIgIT09IDkwMDcxOTkyNTQ3NDA5OTEwMm4pIGlzIHRydWUnCi0p
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2JpZ2ludC1hbmQtYmlnaW50
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL3N0cmljdC1lcXVhbHMvYmlnaW50LWFuZC1iaWdpbnQuanMJKHJldmlzaW9uIDI1NDAwNykK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1lcXVh
bHMvYmlnaW50LWFuZC1iaWdpbnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTE2OSw0ICsxNjksNCBA
QCBhc3NlcnQuc2FtZVZhbHVlKAogICAweDEwMDAwMDAwMG4gPT09IDB4MTAwMDAwMDAwMDAwMDAw
MDBuLAogICBmYWxzZSwKICAgJ1RoZSByZXN1bHQgb2YgKDB4MTAwMDAwMDAwbiA9PT0gMHgxMDAw
MDAwMDAwMDAwMDAwMG4pIGlzIGZhbHNlJwotKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CispOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3Ry
aWN0LWVxdWFscy9iaWdpbnQtYW5kLWJvb2xlYW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9iaWdpbnQtYW5k
LWJvb2xlYW4uanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1lcXVhbHMvYmlnaW50LWFuZC1ib29sZWFuLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0yMyw0ICsyMyw0IEBAIGFzc2VydC5zYW1lVmFsdWUodHJ1ZSA9PT0g
MW4sIGZhbHNlLCAnVGgKIGFzc2VydC5zYW1lVmFsdWUoMm4gPT09IGZhbHNlLCBmYWxzZSwgJ1Ro
ZSByZXN1bHQgb2YgKDJuID09PSBmYWxzZSkgaXMgZmFsc2UnKTsKIGFzc2VydC5zYW1lVmFsdWUo
ZmFsc2UgPT09IDJuLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKGZhbHNlID09PSAybikgaXMgZmFs
c2UnKTsKIGFzc2VydC5zYW1lVmFsdWUoMm4gPT09IHRydWUsIGZhbHNlLCAnVGhlIHJlc3VsdCBv
ZiAoMm4gPT09IHRydWUpIGlzIGZhbHNlJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHRydWUgPT09IDJu
LCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKHRydWUgPT09IDJuKSBpcyBmYWxzZScpOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKK2Fzc2VydC5zYW1lVmFsdWUodHJ1ZSA9PT0gMm4sIGZhbHNl
LCAnVGhlIHJlc3VsdCBvZiAodHJ1ZSA9PT0gMm4pIGlzIGZhbHNlJyk7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2JpZ2ludC1h
bmQtaW5jb21wYXJhYmxlLXByaW1pdGl2ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2JpZ2ludC1hbmQtaW5j
b21wYXJhYmxlLXByaW1pdGl2ZS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9iaWdpbnQtYW5kLWlu
Y29tcGFyYWJsZS1wcmltaXRpdmUuanMJKHdvcmtpbmcgY29weSkKQEAgLTE5LDQgKzE5LDQgQEAg
YXNzZXJ0LnNhbWVWYWx1ZShudWxsID09PSAxbiwgZmFsc2UsICdUaAogYXNzZXJ0LnNhbWVWYWx1
ZSgwbiA9PT0gU3ltYm9sKCcxJyksIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAoMG4gPT09IFN5bWJv
bCgiMSIpKSBpcyBmYWxzZScpOwogYXNzZXJ0LnNhbWVWYWx1ZShTeW1ib2woJzEnKSA9PT0gMG4s
IGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAoU3ltYm9sKCIxIikgPT09IDBuKSBpcyBmYWxzZScpOwog
YXNzZXJ0LnNhbWVWYWx1ZSgxbiA9PT0gU3ltYm9sKCcxJyksIGZhbHNlLCAnVGhlIHJlc3VsdCBv
ZiAoMW4gPT09IFN5bWJvbCgiMSIpKSBpcyBmYWxzZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShTeW1i
b2woJzEnKSA9PT0gMW4sIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAoU3ltYm9sKCIxIikgPT09IDFu
KSBpcyBmYWxzZScpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2Fzc2VydC5zYW1lVmFs
dWUoU3ltYm9sKCcxJykgPT09IDFuLCBmYWxzZSwgJ1RoZSByZXN1bHQgb2YgKFN5bWJvbCgiMSIp
ID09PSAxbikgaXMgZmFsc2UnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL3N0cmljdC1lcXVhbHMvYmlnaW50LWFuZC1ub24tZmluaXRlLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmlj
dC1lcXVhbHMvYmlnaW50LWFuZC1ub24tZmluaXRlLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2Jp
Z2ludC1hbmQtbm9uLWZpbml0ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMjUsNCArMjUsNCBAQCBh
c3NlcnQuc2FtZVZhbHVlKE5hTiA9PT0gMG4sIGZhbHNlLCAnVGhlCiBhc3NlcnQuc2FtZVZhbHVl
KDFuID09PSBOYU4sIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAoMW4gPT09IE5hTikgaXMgZmFsc2Un
KTsKIGFzc2VydC5zYW1lVmFsdWUoTmFOID09PSAxbiwgZmFsc2UsICdUaGUgcmVzdWx0IG9mIChO
YU4gPT09IDFuKSBpcyBmYWxzZScpOwogYXNzZXJ0LnNhbWVWYWx1ZSgtMW4gPT09IE5hTiwgZmFs
c2UsICdUaGUgcmVzdWx0IG9mICgtMW4gPT09IE5hTikgaXMgZmFsc2UnKTsKLWFzc2VydC5zYW1l
VmFsdWUoTmFOID09PSAtMW4sIGZhbHNlLCAnVGhlIHJlc3VsdCBvZiAoTmFOID09PSAtMW4pIGlz
IGZhbHNlJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorYXNzZXJ0LnNhbWVWYWx1ZShO
YU4gPT09IC0xbiwgZmFsc2UsICdUaGUgcmVzdWx0IG9mIChOYU4gPT09IC0xbikgaXMgZmFsc2Un
KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmlj
dC1lcXVhbHMvYmlnaW50LWFuZC1udW1iZXItZXh0cmVtZXMuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9iaWdp
bnQtYW5kLW51bWJlci1leHRyZW1lcy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9iaWdpbnQtYW5k
LW51bWJlci1leHRyZW1lcy5qcwkod29ya2luZyBjb3B5KQpAQCAtNjYsNCArNjYsNCBAQCBhc3Nl
cnQuc2FtZVZhbHVlKAogICBOdW1iZXIuTUFYX1ZBTFVFID09PSAweGZmZmZmZmZmZmZmZmY4MDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDFuLAogICBmYWxzZSwKICAgJ1RoZSByZXN1bHQgb2YgKE51bWJlci5NQVhfVkFM
VUUgPT09IDB4ZmZmZmZmZmZmZmZmZjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMW4pIGlzIGZhbHNlJwotKTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCispOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9iaWdpbnQtYW5kLW51bWJlci5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9z
dHJpY3QtZXF1YWxzL2JpZ2ludC1hbmQtbnVtYmVyLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2Jp
Z2ludC1hbmQtbnVtYmVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw0ICs1Nyw0IEBAIGFzc2Vy
dC5zYW1lVmFsdWUoCiAgIE51bWJlci5NSU5fVkFMVUUgPT09IC0xMG4sCiAgIGZhbHNlLAogICAn
VGhlIHJlc3VsdCBvZiAoTnVtYmVyLk1JTl9WQUxVRSA9PT0gLTEwbikgaXMgZmFsc2UnCi0pOwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2JpZ2ludC1hbmQtb2JqZWN0Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L3N0cmljdC1lcXVhbHMvYmlnaW50LWFuZC1vYmplY3QuanMJKHJldmlzaW9uIDI1NDAwNykKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1lcXVhbHMv
YmlnaW50LWFuZC1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTExOSw0ICsxMTksNCBAQCBh
c3NlcnQuc2FtZVZhbHVlKHsKICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgewogICAgIHJldHVybiAn
OTAwNzE5OTI1NDc0MDk5MTAyJzsKICAgfQotfSA9PT0gOTAwNzE5OTI1NDc0MDk5MTAxbiwgZmFs
c2UsICdUaGUgcmVzdWx0IG9mICgoe3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIjkwMDcx
OTkyNTQ3NDA5OTEwMiI7fX0pID09PSA5MDA3MTk5MjU0NzQwOTkxMDFuKSBpcyBmYWxzZScpOwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30gPT09IDkwMDcxOTkyNTQ3NDA5OTEwMW4sIGZh
bHNlLCAnVGhlIHJlc3VsdCBvZiAoKHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICI5MDA3
MTk5MjU0NzQwOTkxMDIiO319KSA9PT0gOTAwNzE5OTI1NDc0MDk5MTAxbikgaXMgZmFsc2UnKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1l
cXVhbHMvYmlnaW50LWFuZC1zdHJpbmcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9iaWdpbnQtYW5kLXN0cmlu
Zy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9iaWdpbnQtYW5kLXN0cmluZy5qcwkod29ya2luZyBj
b3B5KQpAQCAtNjMsNCArNjMsNCBAQCBhc3NlcnQuc2FtZVZhbHVlKAogICAnOTAwNzE5OTI1NDc0
MDk5MTAxJyA9PT0gOTAwNzE5OTI1NDc0MDk5MTAybiwKICAgZmFsc2UsCiAgICdUaGUgcmVzdWx0
IG9mICgiOTAwNzE5OTI1NDc0MDk5MTAxIiA9PT0gOTAwNzE5OTI1NDc0MDk5MTAybikgaXMgZmFs
c2UnCi0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdWJ0cmFjdGlvbi9iaWdpbnQtYW5kLW51
bWJlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9zdWJ0cmFjdGlvbi9iaWdpbnQtYW5kLW51bWJlci5qcwkocmV2aXNpb24gMjU0MDA3
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3VidHJhY3Rp
b24vYmlnaW50LWFuZC1udW1iZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTg3LDQgKzg3LDQgQEAg
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogCiBhc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIHVuZGVmaW5lZCAtIDFuOwotfSwgJ3VuZGVmaW5lZCAt
IDFuIHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCAn
dW5kZWZpbmVkIC0gMW4gdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3VidHJhY3Rpb24vYmlnaW50LWFyaXRobWV0aWMu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvc3VidHJhY3Rpb24vYmlnaW50LWFyaXRobWV0aWMuanMJKHJldmlzaW9uIDI1NDAwNykKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N1YnRyYWN0aW9uL2Jp
Z2ludC1hcml0aG1ldGljLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xMzQxLDQgKzEzNDEsNCBAQCBh
c3NlcnQuc2FtZVZhbHVlKAogICAtMHhGRURDQkE5ODc2NTQzMjEwbiAtIC0weEZFRENCQTk4NzY1
NDMyMTBuLAogICAweDBuLAogICAnVGhlIHJlc3VsdCBvZiAoLTB4RkVEQ0JBOTg3NjU0MzIxMG4g
LSAtMHhGRURDQkE5ODc2NTQzMjEwbikgaXMgMHgwbicKLSk7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL3N1YnRyYWN0aW9uL2JpZ2ludC1lcnJvcnMuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3VidHJhY3Rpb24vYmlnaW50LWVycm9y
cy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvc3VidHJhY3Rpb24vYmlnaW50LWVycm9ycy5qcwkod29ya2luZyBjb3B5KQpA
QCAtNjcsNCArNjcsNCBAQCBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAg
ICAgICByZXR1cm4gU3ltYm9sKCcxJyk7CiAgICAgfQogICB9OwotfSwgJzBuIC0ge3RvU3RyaW5n
OiBmdW5jdGlvbigpIHtyZXR1cm4gU3ltYm9sKCIxIik7fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICcwbiAtIHt0b1N0cmluZzogZnVuY3Rpb24o
KSB7cmV0dXJuIFN5bWJvbCgiMSIpO319IHRocm93cyBUeXBlRXJyb3InKTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N1YnRyYWN0aW9uL2JpZ2ludC10
b3ByaW1pdGl2ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9zdWJ0cmFjdGlvbi9iaWdpbnQtdG9wcmltaXRpdmUuanMJKHJldmlzaW9u
IDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3N1
YnRyYWN0aW9uL2JpZ2ludC10b3ByaW1pdGl2ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMzY5LDQg
KzM2OSw0IEBAIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICAgIHJl
dHVybiB7fTsKICAgICB9CiAgIH07Ci19LCAnMG4gLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0
dXJuIHt9O30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge307fX0gdGhyb3dzIFR5cGVF
cnJvcicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICcwbiAtIHt2YWx1ZU9mOiBm
dW5jdGlvbigpIHtyZXR1cm4ge307fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9
fSB0aHJvd3MgVHlwZUVycm9yJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9zdWJ0cmFjdGlvbi9iaWdpbnQtd3JhcHBlZC12YWx1ZXMuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3VidHJh
Y3Rpb24vYmlnaW50LXdyYXBwZWQtdmFsdWVzLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9zdWJ0cmFjdGlvbi9iaWdpbnQt
d3JhcHBlZC12YWx1ZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTQyLDQgKzQyLDQgQEAgYXNzZXJ0
LnNhbWVWYWx1ZSgzbiAtIHsKICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgewogICAgIHJldHVybiAy
bjsKICAgfQotfSwgMW4sICdUaGUgcmVzdWx0IG9mICgzbiAtIHt0b1N0cmluZzogZnVuY3Rpb24o
KSB7cmV0dXJuIDJuO319KSBpcyAxbicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30s
IDFuLCAnVGhlIHJlc3VsdCBvZiAoM24gLSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAy
bjt9fSkgaXMgMW4nKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL3R5cGVvZi9wcm94eS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy90eXBlb2YvcHJveHkuanMJKG5vbmV4aXN0ZW50KQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdHlwZW9mL3Byb3h5Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBF
Y21hIEludGVybmF0aW9uYWwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitkZXNjcmlwdGlvbjogfAorICBUaGUgdHlwZW9mIG9wZXJhdG9yIG9uIGFuIHByb3h5
IHNob3VsZCBtYXRjaCB0aGUgdHlwZW9mIHZhbHVlIHRoZSBwcm94eSB3cmFwcywKKyAgZXZlbiBp
ZiB0aGUgcHJveHkgaXMgbGF0ZXIgcmV2b2tlZC4KK2VzaWQ6IHNlYy10eXBlb2Ytb3BlcmF0b3IK
K2luZm86IHwKKyAgVGhlIHR5cGVvZiBPcGVyYXRvcgorCisgIFJ1bnRpbWUgU2VtYW50aWNzOiBF
dmFsdWF0aW9uCisKKyAgICAuLi4KKyAgICBSZXR1cm4gYSBTdHJpbmcgYWNjb3JkaW5nIHRvIFRh
YmxlIDM1LgorCisgICN0YWJsZS0zNQorCisgIE9iamVjdCAoZG9lcyBub3QgaW1wbGVtZW50IFtb
Q2FsbF1dKSAib2JqZWN0IgorICBPYmplY3QgKGltcGxlbWVudHMgW1tDYWxsXV0pICJmdW5jdGlv
biIKKworCisgIFByb3h5Q3JlYXRlICggdGFyZ2V0LCBoYW5kbGVyICkKKyAgICAuLi4KKyAgICA3
LiBJZiBJc0NhbGxhYmxlKHRhcmdldCkgaXMgdHJ1ZSwgdGhlbgorICAgICAgIGEuIFNldCBQLltb
Q2FsbF1dIGFzIHNwZWNpZmllZCBpbiA5LjUuMTIuCisgICAgLi4uCitmZWF0dXJlczogW1Byb3h5
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgbmV3IFByb3h5KHt9LCB7fSksICdv
YmplY3QnKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgbmV3IFByb3h5KGZ1bmN0aW9uKCkg
e30sIHt9KSwgJ2Z1bmN0aW9uJyk7CisKK2NvbnN0IHJwMSA9IFByb3h5LnJldm9jYWJsZSh7fSwg
e30pOworcnAxLnJldm9rZSgpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgcnAxLnByb3h5LCAn
b2JqZWN0Jyk7CisKK2NvbnN0IHJwMiA9IFByb3h5LnJldm9jYWJsZShmdW5jdGlvbigpIHt9LCB7
fSk7CitycDIucmV2b2tlKCk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBycDIucHJveHksICdm
dW5jdGlvbicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvdW5hcnktbWludXMvYmlnaW50LW5vbi1wcmltaXRpdmUuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdW5hcnktbWludXMvYmlnaW50
LW5vbi1wcmltaXRpdmUuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3VuYXJ5LW1pbnVzL2JpZ2ludC1ub24tcHJpbWl0aXZl
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC00OSw0ICs0OSw0IEBAIGFzc2VydC5zYW1lVmFsdWUoLXsK
ICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgewogICAgIHJldHVybiAxbjsKICAgfQotfSwgLTFuLCAn
VGhlIHZhbHVlIG9mIC17dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxbjt9fSBpcyAtMW4n
KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCAtMW4sICdUaGUgdmFsdWUgb2YgLXt0
b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDFuO319IGlzIC0xbicpOwpJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdW5hcnktcGx1cy9iaWdpbnQtdGhy
b3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL3VuYXJ5LXBsdXMvYmlnaW50LXRocm93cy5qcwkocmV2aXNpb24gMjU0MDA3KQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdW5hcnktcGx1cy9iaWdp
bnQtdGhyb3dzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw0ICsyOCw0IEBAIGFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1
bmN0aW9uKCkgewogICArMTAwMDAwMDAwMDAwMDAwMG47Ci19LCAnKzEwMDAwMDAwMDAwMDAwMDBu
IHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCAnKzEw
MDAwMDAwMDAwMDAwMDBuIHRocm93cyBUeXBlRXJyb3InKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3Vuc2lnbmVkLXJpZ2h0LXNoaWZ0L2JpZ2ludC1h
bmQtbnVtYmVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL3Vuc2lnbmVkLXJpZ2h0LXNoaWZ0L2JpZ2ludC1hbmQtbnVtYmVyLmpzCShy
ZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy91bnNpZ25lZC1yaWdodC1zaGlmdC9iaWdpbnQtYW5kLW51bWJlci5qcwkod29ya2luZyBj
b3B5KQpAQCAtODcsNCArODcsNCBAQCBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgdW5kZWZpbmVk
ID4+PiAxbjsKLX0sICd1bmRlZmluZWQgPj4+IDFuIHRocm93cyBUeXBlRXJyb3InKTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCAndW5kZWZpbmVkID4+PiAxbiB0aHJvd3MgVHlwZUVy
cm9yJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy91
bnNpZ25lZC1yaWdodC1zaGlmdC9iaWdpbnQtZXJyb3JzLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3Vuc2lnbmVkLXJpZ2h0LXNoaWZ0
L2JpZ2ludC1lcnJvcnMuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3Vuc2lnbmVkLXJpZ2h0LXNoaWZ0L2JpZ2ludC1lcnJv
cnMuanMJKHdvcmtpbmcgY29weSkKQEAgLTY4LDQgKzY4LDQgQEAgYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICAgcmV0dXJuIFN5bWJvbCgnMScpOwogICAgIH0KICAg
fTsKLX0sICcwbiA+Pj4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gU3ltYm9sKCIxIik7
fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICcw
biA+Pj4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gU3ltYm9sKCIxIik7fX0gdGhyb3dz
IFR5cGVFcnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvdW5zaWduZWQtcmlnaHQtc2hpZnQvYmlnaW50LW5vbi1wcmltaXRpdmUuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdW5zaWdu
ZWQtcmlnaHQtc2hpZnQvYmlnaW50LW5vbi1wcmltaXRpdmUuanMJKHJldmlzaW9uIDI1NDAwNykK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3Vuc2lnbmVkLXJp
Z2h0LXNoaWZ0L2JpZ2ludC1ub24tcHJpbWl0aXZlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAs
NCArMTAwLDQgQEAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICAg
cmV0dXJuIDFuOwogICAgIH0KICAgfTsKLX0sICcoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVy
biAwYjEwMW47fX0pID4+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDFuO319IHRocm93
cyBUeXBlRXJyb3InKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCAnKHt2YWx1ZU9m
OiBmdW5jdGlvbigpIHtyZXR1cm4gMGIxMDFuO319KSA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkg
e3JldHVybiAxbjt9fSB0aHJvd3MgVHlwZUVycm9yJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy91bnNpZ25lZC1yaWdodC1zaGlmdC9iaWdpbnQtdG9w
cmltaXRpdmUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvdW5zaWduZWQtcmlnaHQtc2hpZnQvYmlnaW50LXRvcHJpbWl0aXZlLmpzCShy
ZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy91bnNpZ25lZC1yaWdodC1zaGlmdC9iaWdpbnQtdG9wcmltaXRpdmUuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTQxMCw0ICs0MTAsNCBAQCBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7CiAgICAgICByZXR1cm4ge307CiAgICAgfQogICB9OwotfSwgJzBuID4+PiB7dmFsdWVP
ZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9O30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4g
e307fX0gdGhyb3dzIFR5cGVFcnJvcicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30s
ICcwbiA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fTt9LCB0b1N0cmluZzogZnVu
Y3Rpb24oKSB7cmV0dXJuIHt9O319IHRocm93cyBUeXBlRXJyb3InKTsKSW5kZXg6IEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3Vuc2lnbmVkLXJpZ2h0LXNoaWZ0L2Jp
Z2ludC13cmFwcGVkLXZhbHVlcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy91bnNpZ25lZC1yaWdodC1zaGlmdC9iaWdpbnQtd3JhcHBl
ZC12YWx1ZXMuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL3Vuc2lnbmVkLXJpZ2h0LXNoaWZ0L2JpZ2ludC13cmFwcGVkLXZh
bHVlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtNjAsNCArNjAsNCBAQCBhc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgICAgICByZXR1cm4gMm47CiAgICAgfQogICB9OwotfSwg
JzBuID4+PiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAybjt9fSB0aHJvd3MgVHlwZUVy
cm9yJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSwgJzBuID4+PiB7dG9TdHJpbmc6
IGZ1bmN0aW9uKCkge3JldHVybiAybjt9fSB0aHJvd3MgVHlwZUVycm9yJyk7CkluZGV4OiBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9mdW5jdGlvbi1jb2RlL2V2YWwtcGFyYW0tZW52LXdp
dGgtY29tcHV0ZWQta2V5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2Z1bmN0aW9uLWNvZGUvZXZhbC1wYXJhbS1lbnYtd2l0aC1jb21wdXRlZC1rZXkuanMJ
KHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2Z1bmN0
aW9uLWNvZGUvZXZhbC1wYXJhbS1lbnYtd2l0aC1jb21wdXRlZC1rZXkuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTIsMjUgKzIsMjMgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIAogLyotLS0KLWVzaWQ6IHNlYy1m
dW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1pdGVyYXRvcmJpbmRpbmdpbml0
aWFsaXphdGlvbgotZGVzY3JpcHRpb246IElmIGEgY29tcHV0ZWQgcHJvcGVydHkga2V5IGNvbnRh
aW5zIGEgZGlyZWN0IGV2YWwgY2FsbCwgYSBuZXcgZGVjbGFyYXRpdmUgZW52aXJvbm1lbnQgaXMg
Y3JlYXRlZC4KK2VzaWQ6IHNlYy1mdW5jdGlvbmRlY2xhcmF0aW9uaW5zdGFudGlhdGlvbgorZGVz
Y3JpcHRpb246ID4KKyAgICBzbG9wcHkgZGlyZWN0IGV2YWxzIGluIHBhcmFtcyBpbnRyb2R1Y2Ug
dmFycwogaW5mbzogfAotICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlh
bGl6YXRpb24KLQotICBGb3JtYWxQYXJhbWV0ZXIgOiBCaW5kaW5nRWxlbWVudAotCi0gIC4uLgot
ICAyLiBMZXQgY3VycmVudENvbnRleHQgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQu
Ci0gIDMuIExldCBvcmlnaW5hbEVudiBiZSB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJy
ZW50Q29udGV4dC4KLSAgNC4gQXNzZXJ0OiBUaGUgVmFyaWFibGVFbnZpcm9ubWVudCBhbmQgTGV4
aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IGFyZSB0aGUgc2FtZS4KLSAgNS4gQXNz
ZXJ0OiBlbnZpcm9ubWVudCBhbmQgb3JpZ2luYWxFbnYgYXJlIHRoZSBzYW1lLgotICA2LiBMZXQg
cGFyYW1WYXJFbnYgYmUgTmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChvcmlnaW5hbEVudikuCi0g
IC4uLgorICAgIFsuLi5dCisgICAgMjAuIEVsc2UsCisgICAgICBhLiBOT1RFOiBBIHNlcGFyYXRl
IEVudmlyb25tZW50IFJlY29yZCBpcyBuZWVkZWQgdG8gZW5zdXJlIHRoYXQgYmluZGluZ3MgY3Jl
YXRlZCBieSBkaXJlY3QgZXZhbCBjYWxscyBpbiB0aGUgZm9ybWFsIHBhcmFtZXRlciBsaXN0IGFy
ZSBvdXRzaWRlIHRoZSBlbnZpcm9ubWVudCB3aGVyZSBwYXJhbWV0ZXJzIGFyZSBkZWNsYXJlZC4K
KyAgICAgIGIuIExldCBjYWxsZWVFbnYgYmUgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBjYWxs
ZWVDb250ZXh0LgorICAgICAgYy4gTGV0IGVudiBiZSBOZXdEZWNsYXJhdGl2ZUVudmlyb25tZW50
KGNhbGxlZUVudikuCisgICAgICBkLiBMZXQgZW52UmVjIGJlIGVudidzIEVudmlyb25tZW50UmVj
b3JkLgorICAgIFsuLi5dCitmbGFnczogW25vU3RyaWN0XQogLS0tKi8KIAogdmFyIHggPSAib3V0
ZXIiOwogCiBmdW5jdGlvbiBldmFsSW5Db21wdXRlZFByb3BlcnR5S2V5KHtbZXZhbCgidmFyIHgg
PSAnaW5uZXInIildOiBpZ25vcmVkfSkgewotICBhc3NlcnQuc2FtZVZhbHVlKHgsICJvdXRlciIp
OworICBhc3NlcnQuc2FtZVZhbHVlKHgsICJpbm5lciIpOwogfQogZXZhbEluQ29tcHV0ZWRQcm9w
ZXJ0eUtleSh7fSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9mdW5jdGlv
bi1jb2RlL2V2YWwtcGFyYW0tZW52LXdpdGgtcHJvcC1pbml0aWFsaXplci5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9mdW5jdGlvbi1jb2RlL2V2YWwtcGFy
YW0tZW52LXdpdGgtcHJvcC1pbml0aWFsaXplci5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZnVuY3Rpb24tY29kZS9ldmFsLXBhcmFtLWVudi13
aXRoLXByb3AtaW5pdGlhbGl6ZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTIsMjUgKzIsMjMgQEAK
IC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KIAogLyotLS0KLWVzaWQ6IHNlYy1mdW5jdGlvbi1kZWZpbml0aW9ucy1y
dW50aW1lLXNlbWFudGljcy1pdGVyYXRvcmJpbmRpbmdpbml0aWFsaXphdGlvbgotZGVzY3JpcHRp
b246IElmIGEgcHJvcGVydHkgaW5pdGlhbGl6ZXIgY29udGFpbnMgYSBkaXJlY3QgZXZhbCBjYWxs
LCBhIG5ldyBkZWNsYXJhdGl2ZSBlbnZpcm9ubWVudCBpcyBjcmVhdGVkLgorZXNpZDogc2VjLWZ1
bmN0aW9uZGVjbGFyYXRpb25pbnN0YW50aWF0aW9uCitkZXNjcmlwdGlvbjogPgorICAgIHNsb3Bw
eSBkaXJlY3QgZXZhbHMgaW4gcGFyYW1zIGludHJvZHVjZSB2YXJzCiBpbmZvOiB8Ci0gIFJ1bnRp
bWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgotCi0gIEZvcm1hbFBh
cmFtZXRlciA6IEJpbmRpbmdFbGVtZW50Ci0KLSAgLi4uCi0gIDIuIExldCBjdXJyZW50Q29udGV4
dCBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dC4KLSAgMy4gTGV0IG9yaWdpbmFsRW52
IGJlIHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0LgotICA0LiBBc3Nl
cnQ6IFRoZSBWYXJpYWJsZUVudmlyb25tZW50IGFuZCBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY3Vy
cmVudENvbnRleHQgYXJlIHRoZSBzYW1lLgotICA1LiBBc3NlcnQ6IGVudmlyb25tZW50IGFuZCBv
cmlnaW5hbEVudiBhcmUgdGhlIHNhbWUuCi0gIDYuIExldCBwYXJhbVZhckVudiBiZSBOZXdEZWNs
YXJhdGl2ZUVudmlyb25tZW50KG9yaWdpbmFsRW52KS4KLSAgLi4uCisgICAgWy4uLl0KKyAgICAy
MC4gRWxzZSwKKyAgICAgIGEuIE5PVEU6IEEgc2VwYXJhdGUgRW52aXJvbm1lbnQgUmVjb3JkIGlz
IG5lZWRlZCB0byBlbnN1cmUgdGhhdCBiaW5kaW5ncyBjcmVhdGVkIGJ5IGRpcmVjdCBldmFsIGNh
bGxzIGluIHRoZSBmb3JtYWwgcGFyYW1ldGVyIGxpc3QgYXJlIG91dHNpZGUgdGhlIGVudmlyb25t
ZW50IHdoZXJlIHBhcmFtZXRlcnMgYXJlIGRlY2xhcmVkLgorICAgICAgYi4gTGV0IGNhbGxlZUVu
diBiZSB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGNhbGxlZUNvbnRleHQuCisgICAgICBjLiBM
ZXQgZW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQoY2FsbGVlRW52KS4KKyAgICAgIGQu
IExldCBlbnZSZWMgYmUgZW52J3MgRW52aXJvbm1lbnRSZWNvcmQuCisgICAgWy4uLl0KK2ZsYWdz
OiBbbm9TdHJpY3RdCiAtLS0qLwogCiB2YXIgeCA9ICJvdXRlciI7CiAKIGZ1bmN0aW9uIGV2YWxJ
blByb3BlcnR5SW5pdGlhbGl6ZXIoe2E6IGlnbm9yZWQgPSBldmFsKCJ2YXIgeCA9ICdpbm5lcici
KX0pIHsKLSAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAib3V0ZXIiKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZSh4LCAiaW5uZXIiKTsKIH0KIGV2YWxJblByb3BlcnR5SW5pdGlhbGl6ZXIoe30pOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9l
dmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vZXZhbC12YXItc2NvcGUt
c3ludGF4LWVyci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9j
ZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMv
ZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5jYXNlCisvLyAtIHNyYy9m
dW5jdGlvbi1mb3Jtcy9lcnJvci9hc3luYy1mdW5jLWRlY2wudGVtcGxhdGUKKy8qLS0tCitkZXNj
cmlwdGlvbjogc2xvcHB5IGRpcmVjdCBldmFsIGluIHBhcmFtcyBpbnRyb2R1Y2VzIHZhciAoYXN5
bmMgZnVuY3Rpb24gZGVjbGFyYXRpb24pCitlc2lkOiBzZWMtYXN5bmMtZnVuY3Rpb24tZGVmaW5p
dGlvbnMKK2ZlYXR1cmVzOiBbZGVmYXVsdC1wYXJhbWV0ZXJzLCBhc3luYy1mdW5jdGlvbnNdCitm
bGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgMTQuNiBBc3luYyBGdW5jdGlv
biBEZWZpbml0aW9ucworCisgICAgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uIDoKKyAgICAgIGFz
eW5jIGZ1bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5
bmNGdW5jdGlvbkJvZHkgfQorCisKKyAgICAKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0
b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKyAgICBGb3JtYWxQYXJhbWV0ZXIgOiBCaW5kaW5nRWxl
bWVudAorCisgICAgMS4gUmV0dXJuIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJp
bmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ0VsZW1lbnQgd2l0aCBhcmd1bWVudHMgaXRl
cmF0b3JSZWNvcmQgYW5kIGVudmlyb25tZW50LgorCistLS0qLworCisKK3ZhciBjYWxsQ291bnQg
PSAwOworYXN5bmMgZnVuY3Rpb24gZihhID0gZXZhbCgidmFyIGEgPSA0MiIpKSB7CisgIAorICBj
YWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworfQorCitmKCkKKyAgLnRoZW4oXyA9PiB7CisgICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcp
OworICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBTeW50
YXhFcnJvcikpCisgIC50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3Vu
dCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkKKyAg
LnRoZW4oJERPTkUsICRET05FKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9h
c3luYy1nZW5lcmF0b3IvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWdlbmVy
YXRvci9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzggQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRo
ZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2V2YWwtdmFyLXNj
b3BlLXN5bnRheC1lcnIuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXJyb3IvYXN5bmMt
Z2VuLWZ1bmMtZGVjbC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBzbG9wcHkgZGlyZWN0
IGV2YWwgaW4gcGFyYW1zIGludHJvZHVjZXMgdmFyIChhc3luYyBnZW5lcmF0b3IgZnVuY3Rpb24g
ZGVjbGFyYXRpb24pCitlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMtaW5zdGFu
dGlhdGVmdW5jdGlvbm9iamVjdAorZmVhdHVyZXM6IFtkZWZhdWx0LXBhcmFtZXRlcnMsIGFzeW5j
LWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIEFzeW5jR2VuZXJh
dG9yRGVjbGFyYXRpb24gOiBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gZnVuY3Rpb24g
KiBCaW5kaW5nSWRlbnRpZmllcgorICAgICAgICAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5j
R2VuZXJhdG9yQm9keSB9CisKKyAgICAgICAgWy4uLl0KKyAgICAgICAgMy4gTGV0IEYgYmUgISBB
c3luY0dlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVycywgQXN5
bmNHZW5lcmF0b3JCb2R5LAorICAgICAgICAgICAgc2NvcGUsIHN0cmljdCkuCisgICAgICAgIFsu
Li5dCisKKworICAgIAorICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0
aWFsaXphdGlvbgorICAgIEZvcm1hbFBhcmFtZXRlciA6IEJpbmRpbmdFbGVtZW50CisKKyAgICAx
LiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxp
emF0aW9uIGZvciBCaW5kaW5nRWxlbWVudCB3aXRoIGFyZ3VtZW50cyBpdGVyYXRvclJlY29yZCBh
bmQgZW52aXJvbm1lbnQuCisKKy0tLSovCisKKwordmFyIGNhbGxDb3VudCA9IDA7Cithc3luYyBm
dW5jdGlvbiogZihhID0gZXZhbCgidmFyIGEgPSA0MiIpKSB7CisgIAorICBjYWxsQ291bnQgPSBj
YWxsQ291bnQgKyAxOworfQorCithc3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigp
IHsKKyAgZigpOworfSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZ2VuZXJh
dG9yIGZ1bmN0aW9uIGJvZHkgbm90IGV2YWx1YXRlZCcpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9l
dmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC1zdGF0aWMv
ZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3Rh
dGljL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw2MyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhl
IGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2Nv
cGUtc3ludGF4LWVyci5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9jbHMtZGVj
bC1hc3luYy1nZW4tbWV0aC1zdGF0aWMudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogc2xv
cHB5IGRpcmVjdCBldmFsIGluIHBhcmFtcyBpbnRyb2R1Y2VzIHZhciAoc3RhdGljIGNsYXNzIGV4
cHJlc3Npb24gZ2VuZXJhdG9yIG1ldGhvZCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1i
aW5kaW5nY2xhc3NkZWNsYXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVmYXVsdC1wYXJh
bWV0ZXJzLCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAg
ICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisK
KyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVy
LgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1
YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAg
Wy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2
YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9t
IG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAg
ICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVy
Zm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBtIHdp
dGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFu
dGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JN
ZXRob2QgOgorICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0
eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5l
cmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVh
dGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAg
My4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMg
c3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBs
ZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVj
dXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBi
ZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJh
bWV0ZXJzLAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAg
Wy4uLl0KKworCisgICAgCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0lu
aXRpYWxpemF0aW9uCisgICAgRm9ybWFsUGFyYW1ldGVyIDogQmluZGluZ0VsZW1lbnQKKworICAg
IDEuIFJldHVybiB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlh
bGl6YXRpb24gZm9yIEJpbmRpbmdFbGVtZW50IHdpdGggYXJndW1lbnRzIGl0ZXJhdG9yUmVjb3Jk
IGFuZCBlbnZpcm9ubWVudC4KKworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNz
IEMgeworICBzdGF0aWMgYXN5bmMgKm1ldGhvZChhID0gZXZhbCgidmFyIGEgPSA0MiIpKSB7Cisg
ICAgCisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfQorCithc3NlcnQudGhy
b3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigpIHsKKyAgQy5tZXRob2QoKTsKK30pOworCithc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBib2R5IG5vdCBldmFsdWF0ZWQnKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5
bmMtZ2VuLW1ldGhvZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2Vu
LW1ldGhvZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1l
dGhvZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNjEgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRo
ZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2V2YWwtdmFyLXNj
b3BlLXN5bnRheC1lcnIuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXJyb3IvY2xzLWRl
Y2wtYXN5bmMtZ2VuLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogc2xvcHB5IGRp
cmVjdCBldmFsIGluIHBhcmFtcyBpbnRyb2R1Y2VzIHZhciAoY2xhc3MgZXhwcmVzc2lvbiBtZXRo
b2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVh
dGlvbgorZmVhdHVyZXM6IFtkZWZhdWx0LXBhcmFtZXRlcnMsIGFzeW5jLWl0ZXJhdGlvbl0KK2Zs
YWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBC
aW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3Ry
aW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSBy
ZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAg
ICAgIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1l
IFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNo
IENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0
YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhl
IHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2
YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZh
bHNlLgorICAgICAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVm
aW5pdGlvbkV2YWx1YXRpb24KKworICAgIEFzeW5jR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAg
YXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICogUHJvcGVydHlOYW1lICggVW5pcXVlRm9y
bWFsUGFyYW1ldGVycyApCisgICAgICAgICAgICB7IEFzeW5jR2VuZXJhdG9yQm9keSB9CisKKyAg
ICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1l
LgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlv
biBjb2RlIGZvciB0aGlzIEFzeW5jR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUs
IGxldCBzdHJpY3QgYmUgdHJ1ZS4KKyAgICAgICBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxz
ZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBM
ZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgISBBc3luY0dlbmVyYXRv
ckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwgVW5pcXVlRm9ybWFsUGFyYW1ldGVycywKKyAgICAgICBB
c3luY0dlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisKKworICAgIAor
ICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorICAg
IEZvcm1hbFBhcmFtZXRlciA6IEJpbmRpbmdFbGVtZW50CisKKyAgICAxLiBSZXR1cm4gdGhlIHJl
c3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBCaW5k
aW5nRWxlbWVudCB3aXRoIGFyZ3VtZW50cyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQu
CisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgIGFzeW5jICptZXRo
b2QoYSA9IGV2YWwoInZhciBhID0gNDIiKSkgeworICAgIAorICAgIGNhbGxDb3VudCA9IGNhbGxD
b3VudCArIDE7CisgIH0KK30KKworYXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rpb24o
KSB7CisgIEMucHJvdG90eXBlLm1ldGhvZCgpOworfSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxD
b3VudCwgMCwgJ21ldGhvZCBib2R5IG5vdCBldmFsdWF0ZWQnKTsKSW5kZXg6IEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9l
dmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9ldmFs
LXZhci1zY29wZS1zeW50YXgtZXJyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9ldmFs
LXZhci1zY29wZS1zeW50YXgtZXJyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjQgQEAK
Ky8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2V2YWwtdmFyLXNjb3BlLXN5bnRh
eC1lcnIuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXJyb3IvY2xzLWRlY2wtYXN5bmMt
bWV0aC1zdGF0aWMudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogc2xvcHB5IGRpcmVjdCBl
dmFsIGluIHBhcmFtcyBpbnRyb2R1Y2VzIHZhciAoc3RhdGljIGNsYXNzIGRlY2xhcmF0aW9uIGFz
eW5jIG1ldGhvZCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNs
YXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVmYXVsdC1wYXJhbWV0ZXJzLCBhc3luYy1m
dW5jdGlvbnNdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NE
ZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisgICAgMS4g
TGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAy
LiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9m
IENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisK
KyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9u
CisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2Rz
CisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4g
RWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcg
UHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IKKyAgICAgICAgICAgbSB3aXRoIGFyZ3Vt
ZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IFBy
b3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEFzeW5jTWV0aG9kIDogYXN5bmMgUHJv
cGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkg
fQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3Bl
cnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUg
ZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBBc3luY01ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLCBs
ZXQgc3RyaWN0IGJlIHRydWUuIE90aGVyd2lzZQorICAgICAgIGxldCBzdHJpY3QgYmUgZmFsc2Uu
CisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgdGhlIHJ1bm5p
bmcgZXhlY3V0aW9uIGNvbnRleHQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgISBBc3luY0Z1bmN0
aW9uQ3JlYXRlKE1ldGhvZCwgVW5pcXVlRm9ybWFsUGFyYW1ldGVycywgQXN5bmNGdW5jdGlvbkJv
ZHksCisgICAgICAgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworCisgICAgCisgICAgUnVu
dGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisgICAgRm9ybWFs
UGFyYW1ldGVyIDogQmluZGluZ0VsZW1lbnQKKworICAgIDEuIFJldHVybiB0aGUgcmVzdWx0IG9m
IHBlcmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIEJpbmRpbmdFbGVt
ZW50IHdpdGggYXJndW1lbnRzIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudC4KKworLS0t
Ki8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICBzdGF0aWMgYXN5bmMgbWV0
aG9kKGEgPSBldmFsKCJ2YXIgYSA9IDQyIikpIHsKKyAgICAKKyAgICBjYWxsQ291bnQgPSBjYWxs
Q291bnQgKyAxOworICB9Cit9CisKK0MubWV0aG9kKCkKKyAgLnRoZW4oXyA9PiB7CisgICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwor
ICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBTeW50YXhF
cnJvcikpCisgIC50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwg
MCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkKKyAgLnRo
ZW4oJERPTkUsICRET05FKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9hc3luYy1tZXRob2QvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkobm9uZXhpc3Rl
bnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Fz
eW5jLW1ldGhvZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNjQgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBm
cm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2V2YWwt
dmFyLXNjb3BlLXN5bnRheC1lcnIuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXJyb3Iv
Y2xzLWRlY2wtYXN5bmMtbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBzbG9wcHkg
ZGlyZWN0IGV2YWwgaW4gcGFyYW1zIGludHJvZHVjZXMgdmFyIChjbGFzcyBkZWNsYXJhdGlvbiBh
c3luYyBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRp
Y3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtkZWZhdWx0LXBhcmFtZXRlcnMsIGFzeW5jLWZ1bmN0
aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xh
cmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQg
Y2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExl
dCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xh
c3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAg
IDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKwor
ICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAg
ICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBM
ZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9w
ZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAor
ICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50
aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY01ldGhvZCA6IGFz
eW5jIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rp
b25Cb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGlu
ZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4g
SWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNNZXRob2QgaXMgc3RyaWN0IG1vZGUg
Y29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLiBPdGhlcndpc2UKKyAgICAgICBsZXQgc3RyaWN0IGJl
IGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIHRo
ZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5
bmNGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsIEFzeW5jRnVu
Y3Rpb25Cb2R5LAorICAgICAgIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisKKworICAgIAor
ICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorICAg
IEZvcm1hbFBhcmFtZXRlciA6IEJpbmRpbmdFbGVtZW50CisKKyAgICAxLiBSZXR1cm4gdGhlIHJl
c3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBCaW5k
aW5nRWxlbWVudCB3aXRoIGFyZ3VtZW50cyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQu
CisKKy0tLSovCisKKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgYXN5bmMgbWV0
aG9kKGEgPSBldmFsKCJ2YXIgYSA9IDQyIikpIHsKKyAgICAKKyAgICBjYWxsQ291bnQgPSBjYWxs
Q291bnQgKyAxOworICB9Cit9CisKK0MucHJvdG90eXBlLm1ldGhvZCgpCisgIC50aGVuKF8gPT4g
eworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ2Z1bmN0aW9uIHNob3VsZCBub3QgYmUgcmVz
b2x2ZWQnKTsKKyAgfSwgZXJyb3IgPT4gYXNzZXJ0LnNhbWVWYWx1ZShlcnJvci5jb25zdHJ1Y3Rv
ciwgU3ludGF4RXJyb3IpKQorICAudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKKyAgfSwgJERP
TkUpCisgIC50aGVuKCRET05FLCAkRE9ORSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vY29uc3RydWN0YWJsZS1idXQtbm8t
cHJvdG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9jb25zdHJ1Y3RhYmxlLWJ1dC1uby1wcm90b3R5
cGUuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9jb25zdHJ1Y3RhYmxlLWJ1dC1uby1wcm90b3R5
cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTgsNCArOCw0IEBAIGRlc2NyaXB0aW9uOiA+CiB2YXIg
QmFzZSA9IGZ1bmN0aW9uKCkge30uYmluZCgpOwogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1
bmN0aW9uKCkgewogICBjbGFzcyBDIGV4dGVuZHMgQmFzZSB7fQotfSk7ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vY29uc3RydWN0b3Itc3RyaWN0LWJ5LWRlZmF1bHQu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9kZWZpbml0aW9uL2NvbnN0cnVjdG9yLXN0cmljdC1ieS1kZWZhdWx0LmpzCShyZXZp
c2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2RlZmluaXRpb24vY29uc3RydWN0b3Itc3RyaWN0LWJ5LWRlZmF1bHQuanMJKHdvcmtp
bmcgY29weSkKQEAgLTEyLDQgKzEyLDQgQEAgY2xhc3MgQyB7CiAgICAgfSk7CiAgIH0KIH0KLW5l
dyBDKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorbmV3IEMoKTsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9nZXR0
ZXJzLXJlc3RyaWN0ZWQtaWRzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9nZXR0ZXJzLXJlc3RyaWN0ZWQt
aWRzLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vZ2V0dGVycy1yZXN0cmljdGVkLWlkcy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMjMsNCArMjMsNCBAQCBjbGFzcyBDIHsKIGFzc2VydC5zYW1lVmFs
dWUobmV3IEMoKS5ldmFsLCAxLCAiVGhlIHZhbHVlIG9mIGBuZXcgQygpLmV2YWxgIGlzIGAxYCIp
OwogYXNzZXJ0LnNhbWVWYWx1ZShuZXcgQygpLmFyZ3VtZW50cywgMiwgIlRoZSB2YWx1ZSBvZiBg
bmV3IEMoKS5hcmd1bWVudHNgIGlzIGAyYCIpOwogYXNzZXJ0LnNhbWVWYWx1ZShDLmV2YWwsIDMs
ICJUaGUgdmFsdWUgb2YgYEMuZXZhbGAgaXMgYDNgIik7Ci1hc3NlcnQuc2FtZVZhbHVlKEMuYXJn
dW1lbnRzLCA0LCAiVGhlIHZhbHVlIG9mIGBDLmFyZ3VtZW50c2AgaXMgYDRgIik7ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorYXNzZXJ0LnNhbWVWYWx1ZShDLmFyZ3VtZW50cywgNCwgIlRo
ZSB2YWx1ZSBvZiBgQy5hcmd1bWVudHNgIGlzIGA0YCIpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL2ltcGxpY2l0LWNvbnN0
cnVjdG9yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9pbXBsaWNpdC1jb25zdHJ1Y3Rvci5qcwkocmV2aXNp
b24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9kZWZpbml0aW9uL2ltcGxpY2l0LWNvbnN0cnVjdG9yLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xMSw0ICsxMSw0IEBAIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgT2JqZWN0LmdldFByb3RvdHlw
ZU9mKGMpLAogICAgIEMucHJvdG90eXBlLAogICAgICJgT2JqZWN0LmdldFByb3RvdHlwZU9mKGMp
YCByZXR1cm5zIGBDLnByb3RvdHlwZWAiCi0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
Kyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2RlZmluaXRpb24vaW52YWxpZC1leHRlbmRzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9pbnZhbGlkLWV4
dGVuZHMuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9pbnZhbGlkLWV4dGVuZHMuanMJKHdvcmtp
bmcgY29weSkKQEAgLTE4LDQgKzE4LDQgQEAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0
aW9uKCkgewogICBNYXRoLmFicy5wcm90b3R5cGUgPSA0MjsKICAgY2xhc3MgQyBleHRlbmRzIE1h
dGguYWJzIHt9CiB9KTsKLWRlbGV0ZSBNYXRoLmFicy5wcm90b3R5cGU7ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorZGVsZXRlIE1hdGguYWJzLnByb3RvdHlwZTsKSW5kZXg6IEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9tZXRob2Rz
LW5hbWVkLWV2YWwtYXJndW1lbnRzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9tZXRob2RzLW5hbWVkLWV2
YWwtYXJndW1lbnRzLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vbWV0aG9kcy1uYW1lZC1ldmFs
LWFyZ3VtZW50cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMjMsNCArMjMsNCBAQCBjbGFzcyBDIHsK
IGFzc2VydC5zYW1lVmFsdWUobmV3IEMoKS5ldmFsKCksIDEsICJgbmV3IEMoKS5ldmFsKClgIHJl
dHVybnMgYDFgIik7CiBhc3NlcnQuc2FtZVZhbHVlKG5ldyBDKCkuYXJndW1lbnRzKCksIDIsICJg
bmV3IEMoKS5hcmd1bWVudHMoKWAgcmV0dXJucyBgMmAiKTsKIGFzc2VydC5zYW1lVmFsdWUoQy5l
dmFsKCksIDMsICJgQy5ldmFsKClgIHJldHVybnMgYDNgIik7Ci1hc3NlcnQuc2FtZVZhbHVlKEMu
YXJndW1lbnRzKCksIDQsICJgQy5hcmd1bWVudHMoKWAgcmV0dXJucyBgNGAiKTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCithc3NlcnQuc2FtZVZhbHVlKEMuYXJndW1lbnRzKCksIDQsICJg
Qy5hcmd1bWVudHMoKWAgcmV0dXJucyBgNGAiKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9wcm90b3R5cGUtZ2V0dGVyLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvZGVmaW5pdGlvbi9wcm90b3R5cGUtZ2V0dGVyLmpzCShyZXZpc2lvbiAyNTQwMDcpCisr
KyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRp
b24vcHJvdG90eXBlLWdldHRlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMjgsNCArMjgsNCBAQCBP
YmplY3QuZGVmaW5lUHJvcGVydHkoQmFzZSwgJ3Byb3RvdHlwZScsCiBhc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIGNsYXNzIEMgZXh0ZW5kcyBCYXNlIHt9CiB9KTsKLWFz
c2VydC5zYW1lVmFsdWUoY2FsbHMsIDEsICJUaGUgdmFsdWUgb2YgYGNhbGxzYCBpcyBgMWAiKTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCithc3NlcnQuc2FtZVZhbHVlKGNhbGxzLCAxLCAi
VGhlIHZhbHVlIG9mIGBjYWxsc2AgaXMgYDFgIik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vcHJvdG90eXBlLXByb3BlcnR5
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvZGVmaW5pdGlvbi9wcm90b3R5cGUtcHJvcGVydHkuanMJKHJldmlzaW9uIDI1NDAw
NykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVm
aW5pdGlvbi9wcm90b3R5cGUtcHJvcGVydHkuanMJKHdvcmtpbmcgY29weSkKQEAgLTksNCArOSw0
IEBAIGNsYXNzIEMge30KIHZhciBkZXNjciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoQywgJ3Byb3RvdHlwZScpOwogYXNzZXJ0LnNhbWVWYWx1ZShkZXNjci5jb25maWd1cmFibGUs
IGZhbHNlLCAiVGhlIHZhbHVlIG9mIGBkZXNjci5jb25maWd1cmFibGVgIGlzIGBmYWxzZWAiKTsK
IGFzc2VydC5zYW1lVmFsdWUoZGVzY3IuZW51bWVyYWJsZSwgZmFsc2UsICJUaGUgdmFsdWUgb2Yg
YGRlc2NyLmVudW1lcmFibGVgIGlzIGBmYWxzZWAiKTsKLWFzc2VydC5zYW1lVmFsdWUoZGVzY3Iu
d3JpdGFibGUsIGZhbHNlLCAiVGhlIHZhbHVlIG9mIGBkZXNjci53cml0YWJsZWAgaXMgYGZhbHNl
YCIpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2Fzc2VydC5zYW1lVmFsdWUoZGVzY3Iu
d3JpdGFibGUsIGZhbHNlLCAiVGhlIHZhbHVlIG9mIGBkZXNjci53cml0YWJsZWAgaXMgYGZhbHNl
YCIpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9kZWZpbml0aW9uL3NldHRlcnMtcmVzdHJpY3RlZC1pZHMuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL3Nl
dHRlcnMtcmVzdHJpY3RlZC1pZHMuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9zZXR0ZXJzLXJl
c3RyaWN0ZWQtaWRzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw0ICsyOCw0IEBAIGFzc2VydC5z
YW1lVmFsdWUoeCwgMiwgIlRoZSB2YWx1ZSBvZiBgeGAKIEMuZXZhbCA9IDM7CiBhc3NlcnQuc2Ft
ZVZhbHVlKHgsIDMsICJUaGUgdmFsdWUgb2YgYHhgIGlzIGAzYCIpOwogQy5hcmd1bWVudHMgPSA0
OwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCA0LCAiVGhlIHZhbHVlIG9mIGB4YCBpcyBgNGAiKTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCithc3NlcnQuc2FtZVZhbHVlKHgsIDQsICJUaGUgdmFs
dWUgb2YgYHhgIGlzIGA0YCIpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL3NpZGUtZWZmZWN0cy1pbi1leHRlbmRzLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZGVmaW5pdGlvbi9zaWRlLWVmZmVjdHMtaW4tZXh0ZW5kcy5qcwkocmV2aXNpb24gMjU0MDA3
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZp
bml0aW9uL3NpZGUtZWZmZWN0cy1pbi1leHRlbmRzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNSw0
ICsxNSw0IEBAIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgQy5wcm90b3R5cGUsCiAgICAgT2JqZWN0
LmdldFByb3RvdHlwZU9mKEQucHJvdG90eXBlKSwKICAgICAiVGhlIHZhbHVlIG9mIGBDLnByb3Rv
dHlwZWAgaXMgYE9iamVjdC5nZXRQcm90b3R5cGVPZihELnByb3RvdHlwZSlgIgotKTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCispOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL3NpZGUtZWZmZWN0cy1pbi1wcm9wZXJ0
eS1kZWZpbmUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL3NpZGUtZWZmZWN0cy1pbi1wcm9wZXJ0eS1kZWZp
bmUuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9zaWRlLWVmZmVjdHMtaW4tcHJvcGVydHktZGVm
aW5lLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNyw0ICsxNyw0IEBAIGNsYXNzIEMgZXh0ZW5kcyBC
IHsKICAgbSgpIHsgcmV0dXJuIDE7IH0KIH0KIAotYXNzZXJ0LnNhbWVWYWx1ZShuZXcgQygpLm0o
KSwgMSwgImBuZXcgQygpLm0oKWAgcmV0dXJucyBgMWAiKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCithc3NlcnQuc2FtZVZhbHVlKG5ldyBDKCkubSgpLCAxLCAiYG5ldyBDKCkubSgpYCBy
ZXR1cm5zIGAxYCIpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9kZWZpbml0aW9uL3RoaXMtYWNjZXNzLXJlc3RyaWN0aW9uLTIuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9k
ZWZpbml0aW9uL3RoaXMtYWNjZXNzLXJlc3RyaWN0aW9uLTIuanMJKHJldmlzaW9uIDI1NDAwNykK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5p
dGlvbi90aGlzLWFjY2Vzcy1yZXN0cmljdGlvbi0yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC04NSw0
ICs4NSw0IEBAIGNsYXNzIEJhZFN1YmNsYXNzIGV4dGVuZHMgQmFzZSB7CiAgIGNvbnN0cnVjdG9y
KCkge30KIH0KIAotYXNzZXJ0LnRocm93cyhSZWZlcmVuY2VFcnJvciwgZnVuY3Rpb24oKSB7IG5l
dyBCYWRTdWJjbGFzcygpOyB9KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCithc3NlcnQu
dGhyb3dzKFJlZmVyZW5jZUVycm9yLCBmdW5jdGlvbigpIHsgbmV3IEJhZFN1YmNsYXNzKCk7IH0p
OwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9k
ZWZpbml0aW9uL3RoaXMtYWNjZXNzLXJlc3RyaWN0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi90aGlz
LWFjY2Vzcy1yZXN0cmljdGlvbi5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL3RoaXMtYWNjZXNz
LXJlc3RyaWN0aW9uLmpzCSh3b3JraW5nIGNvcHkpCkBAIC05NSw0ICs5NSw0IEBAIGNsYXNzIEMz
IGV4dGVuZHMgT2JqZWN0IHsKICAgICBzdXBlcigpOwogICB9CiB9OwotbmV3IEMzKCk7ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorbmV3IEMzKCk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vdGhpcy1jaGVjay1vcmRl
cmluZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vdGhpcy1jaGVjay1vcmRlcmluZy5qcwkocmV2aXNpb24g
MjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9kZWZpbml0aW9uL3RoaXMtY2hlY2stb3JkZXJpbmcuanMJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDQgKzY3LDQgQEAgY2xhc3MgU3ViY2xhc3MxIGV4dGVuZHMgQmFzZSB7CiAgIH0KIH0KIAotbmV3
IFN1YmNsYXNzMSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK25ldyBTdWJjbGFzczEo
KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZWxlbWVudHMvc3ludGF4L2Vhcmx5LWVycm9ycy9ncmFtbWFyLXByaXZhdGUtZmllbGQtb3B0aW9u
YWwtY2hhaW5pbmcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9zeW50YXgvZWFybHktZXJyb3JzL2dyYW1tYXIt
cHJpdmF0ZS1maWVsZC1vcHRpb25hbC1jaGFpbmluZy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3N5bnRh
eC9lYXJseS1lcnJvcnMvZ3JhbW1hci1wcml2YXRlLWZpZWxkLW9wdGlvbmFsLWNoYWluaW5nLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2Vk
dXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Ns
YXNzLWVsZW1lbnRzL2dyYW1tYXItcHJpdmF0ZS1maWVsZC1vcHRpb25hbC1jaGFpbmluZy5jYXNl
CisvLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9zeW50YXgvaW52YWxpZC9jbHMtZGVjbC1lbGVtZW50
cy1pbnZhbGlkLXN5bnRheC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBQcml2YXRlTmFt
ZSBhZnRlciAnPy4nIGlzIG5vdCB2YWxpZCBzeW50YXggKGNsYXNzIGRlY2xhcmF0aW9uKQorZXNp
ZDogcHJvZC1DbGFzc0VsZW1lbnQKK2ZlYXR1cmVzOiBbY2xhc3MtZmllbGRzLXByaXZhdGUsIG9w
dGlvbmFsLWNoYWluaW5nLCBjbGFzc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQorbmVnYXRpdmU6Cisg
IHBoYXNlOiBwYXJzZQorICB0eXBlOiBTeW50YXhFcnJvcgoraW5mbzogfAorICAgIFVwZGF0ZWQg
UHJvZHVjdGlvbnMKKworICAgIE1lbWJlckV4cHJlc3Npb25bWWllbGRdOgorICAgICAgTWVtYmVy
RXhwcmVzc2lvbls/WWllbGRdLlByaXZhdGVOYW1lCisKKy0tLSovCisKKworJERPTk9URVZBTFVB
VEUoKTsKKworY2xhc3MgQyB7CisgICNtID0gJ3Rlc3QyNjInOworCisgIGFjY2VzcyhvYmopIHsK
KyAgICByZXR1cm4gb2JqPy4jbTsKKyAgfQorfQpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9ldmFsLXZhci1zY29w
ZS1zeW50YXgtZXJyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0aWMvZXZhbC12YXItc2NvcGUtc3lu
dGF4LWVyci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2V2YWwtdmFyLXNjb3BlLXN5bnRh
eC1lcnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MiBAQAorLy8gVGhpcyBmaWxlIHdh
cyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8g
LSBzcmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5jYXNlCisvLyAt
IHNyYy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0aWMudGVtcGxh
dGUKKy8qLS0tCitkZXNjcmlwdGlvbjogc2xvcHB5IGRpcmVjdCBldmFsIGluIHBhcmFtcyBpbnRy
b2R1Y2VzIHZhciAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gZ2VuZXJhdG9yIG1ldGhvZCkKK2Vz
aWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNsYXJhdGlvbmV2YWx1YXRp
b24KK2ZlYXR1cmVzOiBbZGVmYXVsdC1wYXJhbWV0ZXJzLCBnZW5lcmF0b3JzXQorZmxhZ3M6IFtn
ZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJ
ZGVudGlmaWVyIENsYXNzVGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1
ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBv
ZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJn
dW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50
aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NF
bGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9m
IG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1
cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlv
biBmb3IKKyAgICAgICAgICAgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4u
XQorCisgICAgMTQuNC4xMyBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZh
bHVhdGlvbgorCisgICAgR2VuZXJhdG9yTWV0aG9kIDogKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RG
b3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5
IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJu
SWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMg
R2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBi
ZSB0cnVlLiBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUg
YmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisg
ICAgNS4gTGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAg
ICAgIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3Qp
LgorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisK
KyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5
KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2Fs
bEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBi
ZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAg
ICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1
bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNv
cmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihh
cmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRl
cyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIu
IExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZv
cm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50
cy4KKyAgICBbLi4uXQorCisKKyAgICAKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JC
aW5kaW5nSW5pdGlhbGl6YXRpb24KKyAgICBGb3JtYWxQYXJhbWV0ZXIgOiBCaW5kaW5nRWxlbWVu
dAorCisgICAgMS4gUmV0dXJuIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRp
bmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ0VsZW1lbnQgd2l0aCBhcmd1bWVudHMgaXRlcmF0
b3JSZWNvcmQgYW5kIGVudmlyb25tZW50LgorCistLS0qLworCit2YXIgY2FsbENvdW50ID0gMDsK
K2NsYXNzIEMgeworICBzdGF0aWMgKm1ldGhvZChhID0gZXZhbCgidmFyIGEgPSA0MiIpKSB7Cisg
ICAgCisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfQorCithc3NlcnQudGhy
b3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigpIHsKKyAgQy5tZXRob2QoKTsKK30pOworCithc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBib2R5IG5vdCBldmFsdWF0ZWQnKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2Vu
LW1ldGhvZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhvZC9ldmFs
LXZhci1zY29wZS1zeW50YXgtZXJyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhvZC9ldmFsLXZhci1zY29w
ZS1zeW50YXgtZXJyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODEgQEAKKy8vIFRoaXMg
ZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNl
czoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuY2Fz
ZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXJyb3IvY2xzLWRlY2wtZ2VuLW1ldGgudGVtcGxh
dGUKKy8qLS0tCitkZXNjcmlwdGlvbjogc2xvcHB5IGRpcmVjdCBldmFsIGluIHBhcmFtcyBpbnRy
b2R1Y2VzIHZhciAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVm
aW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtkZWZhdWx0
LXBhcmFtZXRlcnMsIGdlbmVyYXRvcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAg
ICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisK
KyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVy
LgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1
YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAg
Wy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2
YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9t
IG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAg
ICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAg
ICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRz
IHByb3RvIGFuZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIDE0
LjQuMTMgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKwor
ICAgIEdlbmVyYXRvck1ldGhvZCA6ICogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1l
dGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVz
dWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHBy
b3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1l
dGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAorICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3Ro
ZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5u
aW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBj
bG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RG
b3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKworICAgIDku
Mi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0K
KyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVu
dHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJv
ZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25E
ZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKwor
ICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVu
dHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29y
ZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlz
dCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwg
dGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFs
U3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgK
KyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4u
Ll0KKworCisgICAgCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRp
YWxpemF0aW9uCisgICAgRm9ybWFsUGFyYW1ldGVyIDogQmluZGluZ0VsZW1lbnQKKworICAgIDEu
IFJldHVybiB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6
YXRpb24gZm9yIEJpbmRpbmdFbGVtZW50IHdpdGggYXJndW1lbnRzIGl0ZXJhdG9yUmVjb3JkIGFu
ZCBlbnZpcm9ubWVudC4KKworLS0tKi8KKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsK
KyAgKm1ldGhvZChhID0gZXZhbCgidmFyIGEgPSA0MiIpKSB7CisgICAgCisgICAgY2FsbENvdW50
ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfQorCithc3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBm
dW5jdGlvbigpIHsKKyAgQy5wcm90b3R5cGUubWV0aG9kKCk7Cit9KTsKK2Fzc2VydC5zYW1lVmFs
dWUoY2FsbENvdW50LCAwLCAnbWV0aG9kIGJvZHkgbm90IGV2YWx1YXRlZCcpOwpJbmRleDogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3RhdGlj
L2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3RhdGljL2V2YWwtdmFy
LXNjb3BlLXN5bnRheC1lcnIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3RhdGljL2V2YWwtdmFyLXNjb3Bl
LXN5bnRheC1lcnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3OCBAQAorLy8gVGhpcyBm
aWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2Vz
OgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5jYXNl
CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9jbHMtZGVjbC1tZXRoLXN0YXRpYy50ZW1w
bGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBzbG9wcHkgZGlyZWN0IGV2YWwgaW4gcGFyYW1zIGlu
dHJvZHVjZXMgdmFyIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMt
cnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0
dXJlczogW2RlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAor
ICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwK
KworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZp
ZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZh
bHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAg
ICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9u
RXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZy
b20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisg
ICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBw
ZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yCisgICAgICAgICAgIG0g
d2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIDE0LjMuOCBSdW50
aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAgICBNZXRob2REZWZpbml0aW9uIDogUHJv
cGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKwor
ICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rpb25DcmVhdGUoa2luZCwgU3Ry
aWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAgIHNjb3BlLCBzdHJpY3Qp
LiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVyIHRoZW4gcGFz
cyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90b3R5cGUgb3B0aW9uYWwgYXJn
dW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1d
ICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQg
cmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAg
ICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1
bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbklu
c3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBG
dW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisg
ICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRv
cl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1d
OiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAg
ICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0
ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAg
aXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIAor
ICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorICAg
IEZvcm1hbFBhcmFtZXRlciA6IEJpbmRpbmdFbGVtZW50CisKKyAgICAxLiBSZXR1cm4gdGhlIHJl
c3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBCaW5k
aW5nRWxlbWVudCB3aXRoIGFyZ3VtZW50cyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQu
CisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgIHN0YXRpYyBtZXRo
b2QoYSA9IGV2YWwoInZhciBhID0gNDIiKSkgeworICAgIAorICAgIGNhbGxDb3VudCA9IGNhbGxD
b3VudCArIDE7CisgIH0KK30KKworYXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rpb24o
KSB7CisgIEMubWV0aG9kKCk7Cit9KTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAn
bWV0aG9kIGJvZHkgbm90IGV2YWx1YXRlZCcpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2QvZXZhbC12YXItc2NvcGUtc3ludGF4LWVy
ci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL21ldGhvZC9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0
aG9kL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw3OCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhl
IGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXItc2Nv
cGUtc3ludGF4LWVyci5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9jbHMtZGVj
bC1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IHNsb3BweSBkaXJlY3QgZXZhbCBp
biBwYXJhbXMgaW50cm9kdWNlcyB2YXIgKGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZXNpZDog
c2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgor
ZmVhdHVyZXM6IFtkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86
IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NU
YWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVu
dGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlv
bkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUu
CisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5p
dGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRl
ciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhl
bgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZwor
ICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJn
dW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKwor
ICAgIDE0LjMuOCBSdW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAgICBNZXRob2RE
ZWZpbml0aW9uIDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgRnVu
Y3Rpb25Cb2R5IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rpb25D
cmVhdGUoa2luZCwgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAg
IHNjb3BlLCBzdHJpY3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEgcGFy
YW1ldGVyIHRoZW4gcGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90b3R5
cGUgb3B0aW9uYWwgYXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0KKworICAg
IDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4u
Ll0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1
bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0
ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rp
b25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0K
KworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1
bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJl
Y29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRz
TGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1
ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9y
bWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdp
dGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAg
Wy4uLl0KKworICAgIAorICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0
aWFsaXphdGlvbgorICAgIEZvcm1hbFBhcmFtZXRlciA6IEJpbmRpbmdFbGVtZW50CisKKyAgICAx
LiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxp
emF0aW9uIGZvciBCaW5kaW5nRWxlbWVudCB3aXRoIGFyZ3VtZW50cyBpdGVyYXRvclJlY29yZCBh
bmQgZW52aXJvbm1lbnQuCisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7
CisgIG1ldGhvZChhID0gZXZhbCgidmFyIGEgPSA0MiIpKSB7CisgICAgCisgICAgY2FsbENvdW50
ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfQorCithc3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBm
dW5jdGlvbigpIHsKKyAgQy5wcm90b3R5cGUubWV0aG9kKCk7Cit9KTsKK2Fzc2VydC5zYW1lVmFs
dWUoY2FsbENvdW50LCAwLCAnbWV0aG9kIGJvZHkgbm90IGV2YWx1YXRlZCcpOwpJbmRleDogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9uYW1lLWJpbmRpbmcv
YmFzaWMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9uYW1lLWJpbmRpbmcvYmFzaWMuanMJKHJldmlzaW9uIDI1NDAwNykKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbmFtZS1iaW5k
aW5nL2Jhc2ljLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw0ICszMyw0IEBAIGFzc2VydC5zYW1l
VmFsdWUoQywgQzIsICJUaGUgdmFsdWUgb2YgYEMKIAogQzIgPSB1bmRlZmluZWQ7CiBuZXcgQygp
LnggPSAxOwotYXNzZXJ0LnNhbWVWYWx1ZShDLCBDMiwgIlRoZSB2YWx1ZSBvZiBgQ2AgaXMgYEMy
YCIpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2Fzc2VydC5zYW1lVmFsdWUoQywgQzIs
ICJUaGUgdmFsdWUgb2YgYENgIGlzIGBDMmAiKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3MvYmluZGluZy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNs
YXNzL2JpbmRpbmcuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3MvYmluZGluZy5qcwkod29ya2luZyBj
b3B5KQpAQCAtNDksNCArNDksNCBAQCBhc3NlcnQuc2FtZVZhbHVlKAogICBPYmplY3QuZ2V0UHJv
dG90eXBlT2YocyksCiAgIFN1YmNsYXNzLnByb3RvdHlwZSwKICAgImBPYmplY3QuZ2V0UHJvdG90
eXBlT2YocylgIHJldHVybnMgYFN1YmNsYXNzLnByb3RvdHlwZWAiCi0pOwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKKyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2J1aWx0aW5zLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3MvYnVpbHRp
bnMuanMJKHJldmlzaW9uIDI1NDAwNykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3MvYnVpbHRpbnMuanMJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDQgKzI3LDQgQEAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKGV1YSksCiAgICJbb2JqZWN0IFVpbnQ4QXJyYXldIiwKICAgImBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoZXVhKWAgcmV0dXJucyBgXCJbb2JqZWN0IFVpbnQ4QXJyYXld
XCJgIgotKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCispOwpJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJjbGFzcy9kZWZhdWx0LWNv
bnN0cnVjdG9yLXNwcmVhZC1vdmVycmlkZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2RlZmF1bHQtY29uc3Ry
dWN0b3Itc3ByZWFkLW92ZXJyaWRlLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2RlZmF1bHQtY29u
c3RydWN0b3Itc3ByZWFkLW92ZXJyaWRlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNyw5ICsxNyw3
IEBAIGluZm86IHwKIAogICAxNC4xLjE5IFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRp
bmdJbml0aWFsaXphdGlvbgogICAgIGBGdW5jdGlvblJlc3RQYXJhbWV0ZXIgOiBCaW5kaW5nUmVz
dEVsZW1lbnRgCi0gICAgLi4uCi0gICAgOS4gTGV0IHJlc3VsdCBiZSB0aGUgcmVzdWx0IG9mIHBl
cmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIEJpbmRpbmdSZXN0RWxl
bWVudCB1c2luZyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQgYXMgdGhlIGFyZ3VtZW50
cy4KLSAgICAuLi4KKyAgICAxLiBMZXQgcmVzdWx0IGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxp
emF0aW9uIG9mIEJpbmRpbmdSZXN0RWxlbWVudCB3aXRoIGFyZ3VtZW50cyBpdGVyYXRvclJlY29y
ZCBhbmQgZW52aXJvbm1lbnQuCiAKICAgMTMuMy4zLjYgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJh
dG9yQmluZGluZ0luaXRpYWxpemF0aW9uCiAgICAgYEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLkJp
bmRpbmdJZGVudGlmaWVyYApJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9zdWJjbGFzcy9idWlsdGluLW9iamVjdHMvUmVnRXhwL2xhc3RJbmRleC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL3N1YmNsYXNzL2J1aWx0aW4tb2JqZWN0cy9SZWdFeHAvbGFzdEluZGV4LmpzCShyZXZp
c2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL3N1YmNsYXNzL2J1aWx0aW4tb2JqZWN0cy9SZWdFeHAvbGFzdEluZGV4LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMyw0ICsyMyw0IEBAIGFzc2VydC5zYW1lVmFsdWUocmUubGFzdEluZGV4
LCAwKTsKIAogdmVyaWZ5V3JpdGFibGUocmUsICdsYXN0SW5kZXgnKTsKIHZlcmlmeU5vdEVudW1l
cmFibGUocmUsICdsYXN0SW5kZXgnKTsKLXZlcmlmeU5vdENvbmZpZ3VyYWJsZShyZSwgJ2xhc3RJ
bmRleCcpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3ZlcmlmeU5vdENvbmZpZ3VyYWJs
ZShyZSwgJ2xhc3RJbmRleCcpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9zdWJjbGFzcy9idWlsdGluLW9iamVjdHMvU3RyaW5nL2xlbmd0aC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL3N1YmNsYXNzL2J1aWx0aW4tb2JqZWN0cy9TdHJpbmcvbGVuZ3RoLmpzCShyZXZpc2lv
biAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL3N1YmNsYXNzL2J1aWx0aW4tb2JqZWN0cy9TdHJpbmcvbGVuZ3RoLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw0ICsyNyw0IEBAIGFzc2VydC5zYW1lVmFsdWUoczIubGVuZ3RoLCA3KTsKIAog
dmVyaWZ5Tm90V3JpdGFibGUoczIsICdsZW5ndGgnKTsKIHZlcmlmeU5vdEVudW1lcmFibGUoczIs
ICdsZW5ndGgnKTsKLXZlcmlmeU5vdENvbmZpZ3VyYWJsZShzMiwgJ2xlbmd0aCcpOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKK3ZlcmlmeU5vdENvbmZpZ3VyYWJsZShzMiwgJ2xlbmd0aCcp
OwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9z
dWJjbGFzcy9idWlsdGluLW9iamVjdHMvV2Vha01hcC9yZWd1bGFyLXN1YmNsYXNzaW5nLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3Mvc3ViY2xhc3MvYnVpbHRpbi1vYmplY3RzL1dlYWtNYXAvcmVndWxhci1zdWJjbGFzc2luZy5q
cwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9zdWJjbGFzcy9idWlsdGluLW9iamVjdHMvV2Vha01hcC9yZWd1bGFyLXN1
YmNsYXNzaW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNCw2ICsxNCw3IEBAIGluZm86IHwKICAg
dGhlIFdlYWtNYXAgY29uc3RydWN0b3IgdG8gY3JlYXRlIGFuZCBpbml0aWFsaXplIHRoZSBzdWJj
bGFzcyBpbnN0YW5jZSB3aXRoCiAgIHRoZSBpbnRlcm5hbCBzdGF0ZSBuZWNlc3NhcnkgdG8gc3Vw
cG9ydCB0aGUgV2Vha01hcC5wcm90b3R5cGUgYnVpbHQtaW4KICAgbWV0aG9kcy4KK2ZlYXR1cmVz
OiBbV2Vha01hcF0KIC0tLSovCiAKIGNsYXNzIFdNIGV4dGVuZHMgV2Vha01hcCB7fQpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJjbGFzcy9i
dWlsdGluLW9iamVjdHMvV2Vha01hcC9zdXBlci1tdXN0LWJlLWNhbGxlZC5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNs
YXNzL2J1aWx0aW4tb2JqZWN0cy9XZWFrTWFwL3N1cGVyLW11c3QtYmUtY2FsbGVkLmpzCShyZXZp
c2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL3N1YmNsYXNzL2J1aWx0aW4tb2JqZWN0cy9XZWFrTWFwL3N1cGVyLW11c3QtYmUtY2Fs
bGVkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNCw2ICsxNCw3IEBAIGluZm86IHwKICAgdGhlIFdl
YWtNYXAgY29uc3RydWN0b3IgdG8gY3JlYXRlIGFuZCBpbml0aWFsaXplIHRoZSBzdWJjbGFzcyBp
bnN0YW5jZSB3aXRoCiAgIHRoZSBpbnRlcm5hbCBzdGF0ZSBuZWNlc3NhcnkgdG8gc3VwcG9ydCB0
aGUgV2Vha01hcC5wcm90b3R5cGUgYnVpbHQtaW4KICAgbWV0aG9kcy4KK2ZlYXR1cmVzOiBbV2Vh
a01hcF0KIC0tLSovCiAKIGNsYXNzIE0xIGV4dGVuZHMgV2Vha01hcCB7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2J1aWx0aW4t
b2JqZWN0cy9XZWFrU2V0L3JlZ3VsYXItc3ViY2xhc3NpbmcuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJjbGFzcy9idWls
dGluLW9iamVjdHMvV2Vha1NldC9yZWd1bGFyLXN1YmNsYXNzaW5nLmpzCShyZXZpc2lvbiAyNTQw
MDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1
YmNsYXNzL2J1aWx0aW4tb2JqZWN0cy9XZWFrU2V0L3JlZ3VsYXItc3ViY2xhc3NpbmcuanMJKHdv
cmtpbmcgY29weSkKQEAgLTE0LDYgKzE0LDcgQEAgaW5mbzogfAogICB0aGUgV2Vha1NldCBjb25z
dHJ1Y3RvciB0byBjcmVhdGUgYW5kIGluaXRpYWxpemUgdGhlIHN1YmNsYXNzIGluc3RhbmNlIHdp
dGgKICAgdGhlIGludGVybmFsIHN0YXRlIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHRoZSBXZWFrU2V0
LnByb3RvdHlwZSBidWlsdC1pbgogICBtZXRob2RzLgorZmVhdHVyZXM6IFtXZWFrU2V0XQogLS0t
Ki8KIAogY2xhc3MgV1MgZXh0ZW5kcyBXZWFrU2V0IHt9CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2J1aWx0aW4tb2JqZWN0cy9X
ZWFrU2V0L3N1cGVyLW11c3QtYmUtY2FsbGVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3MvYnVpbHRpbi1vYmpl
Y3RzL1dlYWtTZXQvc3VwZXItbXVzdC1iZS1jYWxsZWQuanMJKHJldmlzaW9uIDI1NDAwNykKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3Mv
YnVpbHRpbi1vYmplY3RzL1dlYWtTZXQvc3VwZXItbXVzdC1iZS1jYWxsZWQuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTE0LDYgKzE0LDcgQEAgaW5mbzogfAogICB0aGUgV2Vha1NldCBjb25zdHJ1Y3Rv
ciB0byBjcmVhdGUgYW5kIGluaXRpYWxpemUgdGhlIHN1YmNsYXNzIGluc3RhbmNlIHdpdGgKICAg
dGhlIGludGVybmFsIHN0YXRlIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHRoZSBXZWFrU2V0LnByb3Rv
dHlwZSBidWlsdC1pbgogICBtZXRob2RzLgorZmVhdHVyZXM6IFtXZWFrU2V0XQogLS0tKi8KIAog
Y2xhc3MgV1MxIGV4dGVuZHMgV2Vha1NldCB7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1pbi9pZGVudGlmaWVyLWxldC1hbGxvd2VkLWFzLWxlZnRo
YW5kc2lkZS1leHByZXNzaW9uLW5vdC1zdHJpY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3ItaW4vaWRlbnRpZmllci1sZXQtYWxs
b3dlZC1hcy1sZWZ0aGFuZHNpZGUtZXhwcmVzc2lvbi1ub3Qtc3RyaWN0LmpzCShyZXZpc2lvbiAy
NTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1p
bi9pZGVudGlmaWVyLWxldC1hbGxvd2VkLWFzLWxlZnRoYW5kc2lkZS1leHByZXNzaW9uLW5vdC1z
dHJpY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTksNCArOSw0IEBAIGluZm86IHwKICAgICBFeHBy
ZXNzaW9uWytJbiwgP1lpZWxkLCA/IEF3YWl0XSkgU3RhdGVtZW50Wz9ZaWVsZCwgP0F3YWl0LCA/
UmV0dXJuXQogZmxhZ3M6IFtub1N0cmljdF0KIC0tLSovCi1mb3IgKGxldCBpbiB7fSkgeyB9Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZm9yIChsZXQgaW4ge30pIHsgfQpJbmRleDogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3ItaW4vb3JkZXItZW51bWVy
YWJsZS1zaGFkb3dlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2Zvci1pbi9vcmRlci1lbnVtZXJhYmxlLXNoYWRvd2VkLmpzCShub25l
eGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9y
LWluL29yZGVyLWVudW1lcmFibGUtc2hhZG93ZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMyBAQAorLy8gQ29weXJpZ2h0IDIwMTkgS2V2aW4gR2liYm9ucy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lbnVtZXJhdGUtb2JqZWN0
LXByb3BlcnRpZXMKK2Rlc2NyaXB0aW9uOiBFbnVtZXJhYmxlIHByb3BlcnRpZXMgdGhlIHByb3Rv
dHlwZSB3aGljaCBhcmUgc2hhZG93ZWQgYnkgbm9uLWVudW1lcmFibGUgcHJvcGVydGllcyBvbiB0
aGUgb2JqZWN0IGFyZSBub3QgZW51bWVyYXRlZAorZmVhdHVyZXM6IFtmb3ItaW4tb3JkZXJdCitp
bmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KKy0tLSovCisKK3ZhciBwcm90byA9IHsKKyAgcDI6
ICdwMicsCit9OworCit2YXIgbyA9IE9iamVjdC5jcmVhdGUocHJvdG8sIHsKKyAgJ3AxJzogewor
ICAgIHZhbHVlOiAncDEnLAorICAgIGVudW1lcmFibGU6IHRydWUsCisgIH0sCisgICdwMic6IHsK
KyAgICB2YWx1ZTogJ3AxJywKKyAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgfSwKK30pOworCisK
KwordmFyIGtleXMgPSBbXTsKK2ZvciAodmFyIGtleSBpbiBvKSB7CisgIGtleXMucHVzaChrZXkp
OworfQorCithc3NlcnQuY29tcGFyZUFycmF5KGtleXMsIFsncDEnXSk7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1pbi9vcmRlci1wcm9wZXJ0eS1h
ZGRlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2Zvci1pbi9vcmRlci1wcm9wZXJ0eS1hZGRlZC5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1pbi9vcmRlci1wcm9w
ZXJ0eS1hZGRlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI1IEBACisvLyBDb3B5cmln
aHQgMjAxOSBLZXZpbiBHaWJib25zLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLWVudW1lcmF0ZS1vYmplY3QtcHJvcGVydGllcworZGVzY3Jp
cHRpb246IFByb3BlcnRpZXMgYWRkZWQgdG8gdGhlIG9iamVjdCBkdXJpbmcgaXRlcmF0aW9uIGFy
ZSBub3QgZW51bWVyYXRlZAorZmVhdHVyZXM6IFtmb3ItaW4tb3JkZXJdCitpbmNsdWRlczogW2Nv
bXBhcmVBcnJheS5qc10KKy0tLSovCisKK3ZhciBvID0geworICBwMTogJ3AxJywKKyAgcDI6ICdw
MicsCisgIHAzOiAncDMnLAorfTsKKwordmFyIGtleXMgPSBbXTsKK2ZvciAodmFyIGtleSBpbiBv
KSB7CisgIGlmIChrZXkgPT09ICdwMScpIHsKKyAgICBvLnA0ID0gJ3A0JzsKKyAgfQorICBrZXlz
LnB1c2goa2V5KTsKK30KKworYXNzZXJ0LmNvbXBhcmVBcnJheShrZXlzLCBbJ3AxJywgJ3AyJywg
J3AzJ10pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9m
b3ItaW4vb3JkZXItcHJvcGVydHktb24tcHJvdG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLWluL29yZGVyLXByb3BlcnR5
LW9uLXByb3RvdHlwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1pbi9vcmRlci1wcm9wZXJ0eS1vbi1wcm90b3R5cGUuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorLy8gQ29weXJpZ2h0IDIwMTkgS2V2aW4g
R2liYm9ucy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Vz
aWQ6IHNlYy1lbnVtZXJhdGUtb2JqZWN0LXByb3BlcnRpZXMKK2Rlc2NyaXB0aW9uOiBQcm9wZXJ0
aWVzIG9uIHRoZSBwcm90b3R5cGUgYXJlIGVudW1lcmF0ZWQgYWZ0ZXIgcHJvcGVydGllcyBvbiB0
aGUgb2JqZWN0CitmZWF0dXJlczogW2Zvci1pbi1vcmRlcl0KK2luY2x1ZGVzOiBbY29tcGFyZUFy
cmF5LmpzXQorLS0tKi8KKwordmFyIHByb3RvID0geworICBwNDogJ3A0JywKK307CisKK3ZhciBv
ID0geworICBwMTogJ3AxJywKKyAgcDI6ICdwMicsCisgIHAzOiAncDMnLAorfTsKKworT2JqZWN0
LnNldFByb3RvdHlwZU9mKG8sIHByb3RvKTsKKwordmFyIGtleXMgPSBbXTsKK2ZvciAodmFyIGtl
eSBpbiBvKSB7CisgIGtleXMucHVzaChrZXkpOworfQorCithc3NlcnQuY29tcGFyZUFycmF5KGtl
eXMsIFsncDEnLCAncDInLCAncDMnLCAncDQnXSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1pbi9vcmRlci1zaW1wbGUtb2JqZWN0LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLWlu
L29yZGVyLXNpbXBsZS1vYmplY3QuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3ItaW4vb3JkZXItc2ltcGxlLW9iamVjdC5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgMjAxOSBLZXZpbiBH
aWJib25zLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVudW1lcmF0ZS1vYmplY3QtcHJvcGVydGllcworZGVzY3JpcHRpb246IFByb3BlcnR5
IGVudW1lcmF0aW9uIG9yZGVyIGZvciBzaW1wbGUgb2JqZWN0cworZmVhdHVyZXM6IFtmb3ItaW4t
b3JkZXJdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KKy0tLSovCisKK3ZhciBvID0gewor
ICBwMTogJ3AxJywKKyAgcDI6ICdwMicsCisgIHAzOiAncDMnLAorfTsKKworby5wNCA9ICdwNCc7
CisKK29bMl0gPSAnMic7CitvWzBdID0gJzAnOworb1sxXSA9ICcxJzsKKworZGVsZXRlIG8ucDE7
CitkZWxldGUgby5wMzsKK28ucDEgPSAncDEnOworCisKK3ZhciBrZXlzID0gW107Citmb3IgKHZh
ciBrZXkgaW4gbykgeworICBrZXlzLnB1c2goa2V5KTsKK30KKworYXNzZXJ0LmNvbXBhcmVBcnJh
eShrZXlzLCBbJzAnLCAnMScsICcyJywgJ3AyJywgJ3A0JywgJ3AxJ10pOwpJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9ldmFsLXZhci1zY29w
ZS1zeW50YXgtZXJyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZXZhbC12YXItc2NvcGUtc3ludGF4LWVyci5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1
bmN0aW9uL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1NyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20g
dGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZXZhbC12YXIt
c2NvcGUtc3ludGF4LWVyci5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9lcnJvci9mdW5j
LWRlY2wudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogc2xvcHB5IGRpcmVjdCBldmFsIGlu
IHBhcmFtcyBpbnRyb2R1Y2VzIHZhciAoZnVuY3Rpb24gZGVjbGFyYXRpb24pCitlc2lkOiBzZWMt
ZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtaW5zdGFudGlhdGVmdW5jdGlv
bm9iamVjdAorZmVhdHVyZXM6IFtkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRl
ZF0KK2luZm86IHwKKyAgICBGdW5jdGlvbkRlY2xhcmF0aW9uIDoKKyAgICAgICAgZnVuY3Rpb24g
QmluZGluZ0lkZW50aWZpZXIgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQor
CisgICAgICAgIFsuLi5dCisgICAgICAgIDMuIExldCBGIGJlIEZ1bmN0aW9uQ3JlYXRlKE5vcm1h
bCwgRm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAgICAgICBzY29wZSwgc3Ry
aWN0KS4KKyAgICAgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50
LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGlu
YXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAg
OS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKwor
ICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwg
YXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0
aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAy
My4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBD
cmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAg
MjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1
LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0lu
aXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQg
YW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIAorICAgIFJ1bnRpbWUgU2Vt
YW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorICAgIEZvcm1hbFBhcmFtZXRl
ciA6IEJpbmRpbmdFbGVtZW50CisKKyAgICAxLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3Jt
aW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBCaW5kaW5nRWxlbWVudCB3aXRo
IGFyZ3VtZW50cyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQuCisKKy0tLSovCisKK3Zh
ciBjYWxsQ291bnQgPSAwOworZnVuY3Rpb24gZihhID0gZXZhbCgidmFyIGEgPSA0MiIpKSB7Cisg
IAorICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworfQorYXNzZXJ0LnRocm93cyhTeW50YXhF
cnJvciwgZnVuY3Rpb24oKSB7CisgIGYoKTsKK30pOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291
bnQsIDAsICdmdW5jdGlvbiBib2R5IG5vdCBldmFsdWF0ZWQnKTsKSW5kZXg6IEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vc2NvcGUtcGFyYW0tZWxlbS12
YXItY2xvc2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9mdW5jdGlvbi9zY29wZS1wYXJhbS1lbGVtLXZhci1jbG9zZS5qcwkocmV2aXNp
b24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9m
dW5jdGlvbi9zY29wZS1wYXJhbS1lbGVtLXZhci1jbG9zZS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSwxOCArMSwxNiBAQAogLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQotZXNpZDogc2Vj
LWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWl0ZXJhdG9yYmluZGluZ2lu
aXRpYWxpemF0aW9uCitlc2lkOiBzZWMtZnVuY3Rpb25kZWNsYXJhdGlvbmluc3RhbnRpYXRpb24K
IGRlc2NyaXB0aW9uOiA+Ci0gICAgUmVtb3ZhbCBvZiB2YXJpYWJsZSBlbnZpcm9ubWVudCBmb3Ig
ZWFjaCBCaW5kaW5nRWxlbWVudCBmb3JtYWwgcGFyYW1ldGVyCisgICAgc2xvcHB5IGRpcmVjdCBl
dmFscyBpbiBwYXJhbXMgaW50cm9kdWNlIHZhcnMKIGluZm86IHwKICAgICBbLi4uXQotICAgIDYu
IExldCBwYXJhbVZhckVudiBiZSBOZXdEZWNsYXJhdGl2ZUVudmlyb25tZW50KG9yaWdpbmFsRW52
KS4KLSAgICA3LiBTZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQg
dG8gcGFyYW1WYXJFbnYuCi0gICAgOC4gU2V0IHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY3Vy
cmVudENvbnRleHQgdG8gcGFyYW1WYXJFbnYuCi0gICAgOS4gTGV0IHJlc3VsdCBiZSB0aGUgcmVz
dWx0IG9mIHBlcmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yCi0gICAg
ICAgQmluZGluZ0VsZW1lbnQgdXNpbmcgaXRlcmF0b3JSZWNvcmQgYW5kIGVudmlyb25tZW50IGFz
IHRoZSBhcmd1bWVudHMuCi0gICAgMTAuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBj
dXJyZW50Q29udGV4dCB0byBvcmlnaW5hbEVudi4KLSAgICAxMS4gU2V0IHRoZSBMZXhpY2FsRW52
aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCisgICAgMjAuIEVsc2Us
CisgICAgICBhLiBOT1RFOiBBIHNlcGFyYXRlIEVudmlyb25tZW50IFJlY29yZCBpcyBuZWVkZWQg
dG8gZW5zdXJlIHRoYXQgYmluZGluZ3MgY3JlYXRlZCBieSBkaXJlY3QgZXZhbCBjYWxscyBpbiB0
aGUgZm9ybWFsIHBhcmFtZXRlciBsaXN0IGFyZSBvdXRzaWRlIHRoZSBlbnZpcm9ubWVudCB3aGVy
ZSBwYXJhbWV0ZXJzIGFyZSBkZWNsYXJlZC4KKyAgICAgIGIuIExldCBjYWxsZWVFbnYgYmUgdGhl
IExleGljYWxFbnZpcm9ubWVudCBvZiBjYWxsZWVDb250ZXh0LgorICAgICAgYy4gTGV0IGVudiBi
ZSBOZXdEZWNsYXJhdGl2ZUVudmlyb25tZW50KGNhbGxlZUVudikuCisgICAgICBkLiBMZXQgZW52
UmVjIGJlIGVudidzIEVudmlyb25tZW50UmVjb3JkLgogICAgIFsuLi5dCiBmbGFnczogW25vU3Ry
aWN0XQogLS0tKi8KQEAgLTI5LDUgKzI3LDUgQEAgZnVuY3Rpb24gZigKIGYoKTsKIAogYXNzZXJ0
LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ2luc2lkZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTIo
KSwgJ291dHNpZGUnKTsKLWFzc2VydC5zYW1lVmFsdWUocHJvYmVCb2R5KCksICdvdXRzaWRlJyk7
Cithc3NlcnQuc2FtZVZhbHVlKHByb2JlMigpLCAnaW5zaWRlJyk7Cithc3NlcnQuc2FtZVZhbHVl
KHByb2JlQm9keSgpLCAnaW5zaWRlJyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL3Njb3BlLXBhcmFtLWVsZW0tdmFyLW9wZW4uanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5j
dGlvbi9zY29wZS1wYXJhbS1lbGVtLXZhci1vcGVuLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL3Njb3BlLXBh
cmFtLWVsZW0tdmFyLW9wZW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTkgKzEsMTYgQEAKIC8v
IENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyotLS0KLWVzaWQ6IHNlYy1mdW5jdGlvbi1kZWZpbml0
aW9ucy1ydW50aW1lLXNlbWFudGljcy1pdGVyYXRvcmJpbmRpbmdpbml0aWFsaXphdGlvbgorZXNp
ZDogc2VjLWZ1bmN0aW9uZGVjbGFyYXRpb25pbnN0YW50aWF0aW9uCiBkZXNjcmlwdGlvbjogPgot
ICAgIENyZWF0aW9uIG9mIG5ldyB2YXJpYWJsZSBlbnZpcm9ubWVudCBmb3IgZWFjaCBCaW5kaW5n
RWxlbWVudCBmb3JtYWwKLSAgICBwYXJhbWV0ZXIKKyAgICBzbG9wcHkgZGlyZWN0IGV2YWxzIGlu
IHBhcmFtcyBpbnRyb2R1Y2UgdmFycwogaW5mbzogfAogICAgIFsuLi5dCi0gICAgNi4gTGV0IHBh
cmFtVmFyRW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQob3JpZ2luYWxFbnYpLgotICAg
IDcuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJh
bVZhckVudi4KLSAgICA4LiBTZXQgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29u
dGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA5LiBMZXQgcmVzdWx0IGJlIHRoZSByZXN1bHQgb2Yg
cGVyZm9ybWluZyBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IKLSAgICAgICBCaW5k
aW5nRWxlbWVudCB1c2luZyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQgYXMgdGhlIGFy
Z3VtZW50cy4KLSAgICAxMC4gU2V0IHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRD
b250ZXh0IHRvIG9yaWdpbmFsRW52LgotICAgIDExLiBTZXQgdGhlIExleGljYWxFbnZpcm9ubWVu
dCBvZiBjdXJyZW50Q29udGV4dCB0byBvcmlnaW5hbEVudi4KKyAgICAyMC4gRWxzZSwKKyAgICAg
IGEuIE5PVEU6IEEgc2VwYXJhdGUgRW52aXJvbm1lbnQgUmVjb3JkIGlzIG5lZWRlZCB0byBlbnN1
cmUgdGhhdCBiaW5kaW5ncyBjcmVhdGVkIGJ5IGRpcmVjdCBldmFsIGNhbGxzIGluIHRoZSBmb3Jt
YWwgcGFyYW1ldGVyIGxpc3QgYXJlIG91dHNpZGUgdGhlIGVudmlyb25tZW50IHdoZXJlIHBhcmFt
ZXRlcnMgYXJlIGRlY2xhcmVkLgorICAgICAgYi4gTGV0IGNhbGxlZUVudiBiZSB0aGUgTGV4aWNh
bEVudmlyb25tZW50IG9mIGNhbGxlZUNvbnRleHQuCisgICAgICBjLiBMZXQgZW52IGJlIE5ld0Rl
Y2xhcmF0aXZlRW52aXJvbm1lbnQoY2FsbGVlRW52KS4KKyAgICAgIGQuIExldCBlbnZSZWMgYmUg
ZW52J3MgRW52aXJvbm1lbnRSZWNvcmQuCiAgICAgWy4uLl0KIGZsYWdzOiBbbm9TdHJpY3RdCiAt
LS0qLwpAQCAtMjgsNSArMjUsNSBAQCBmdW5jdGlvbiBmKAogfQogZigpOwogCi1hc3NlcnQuc2Ft
ZVZhbHVlKHByb2JlMSgpLCAnb3V0c2lkZScpOworYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwg
J2luc2lkZScpOwogYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTIoKSwgJ2luc2lkZScpOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9zY29wZS1w
YXJhbS1yZXN0LWVsZW0tdmFyLWNsb3NlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vc2NvcGUtcGFyYW0tcmVzdC1lbGVt
LXZhci1jbG9zZS5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9zY29wZS1wYXJhbS1yZXN0LWVsZW0tdmFyLWNs
b3NlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI0ICsxLDE2IEBACiAvLyBDb3B5cmlnaHQgKEMp
IDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KIC8qLS0tCi1lc2lkOiBzZWMtZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1z
ZW1hbnRpY3MtaXRlcmF0b3JiaW5kaW5naW5pdGlhbGl6YXRpb24KK2VzaWQ6IHNlYy1mdW5jdGlv
bmRlY2xhcmF0aW9uaW5zdGFudGlhdGlvbgogZGVzY3JpcHRpb246ID4KLSAgICBSZW1vdmFsIG9m
IHZhcmlhYmxlIGVudmlyb25tZW50IGZvciB0aGUgQmluZGluZ1Jlc3RFbGVtZW50IGZvcm1hbCBw
YXJhbWV0ZXIKKyAgICBzbG9wcHkgZGlyZWN0IGV2YWxzIGluIHBhcmFtcyBpbnRyb2R1Y2UgdmFy
cwogaW5mbzogfAogICAgIFsuLi5dCi0gICAgMi4gTGV0IGN1cnJlbnRDb250ZXh0IGJlIHRoZSBy
dW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0LgotICAgIDMuIExldCBvcmlnaW5hbEVudiBiZSB0aGUg
VmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dC4KLSAgICA0LiBBc3NlcnQ6IFRo
ZSBWYXJpYWJsZUVudmlyb25tZW50IGFuZCBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY3VycmVudENv
bnRleHQKLSAgICAgICBhcmUgdGhlIHNhbWUuCi0gICAgNS4gQXNzZXJ0OiBlbnZpcm9ubWVudCBh
bmQgb3JpZ2luYWxFbnYgYXJlIHRoZSBzYW1lLgotICAgIDYuIExldCBwYXJhbVZhckVudiBiZSBO
ZXdEZWNsYXJhdGl2ZUVudmlyb25tZW50KG9yaWdpbmFsRW52KS4KLSAgICA3LiBTZXQgdGhlIFZh
cmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gcGFyYW1WYXJFbnYuCi0gICAg
OC4gU2V0IHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gcGFyYW1W
YXJFbnYuCi0gICAgOS4gTGV0IHJlc3VsdCBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgSXRl
cmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yCi0gICAgICAgQmluZGluZ1Jlc3RFbGVtZW50
IHVzaW5nIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnZpcm9ubWVudCBhcyB0aGUKLSAgICAgICBhcmd1
bWVudHMuCi0gICAgMTAuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29u
dGV4dCB0byBvcmlnaW5hbEVudi4KLSAgICAxMS4gU2V0IHRoZSBMZXhpY2FsRW52aXJvbm1lbnQg
b2YgY3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCisgICAgMjAuIEVsc2UsCisgICAgICBh
LiBOT1RFOiBBIHNlcGFyYXRlIEVudmlyb25tZW50IFJlY29yZCBpcyBuZWVkZWQgdG8gZW5zdXJl
IHRoYXQgYmluZGluZ3MgY3JlYXRlZCBieSBkaXJlY3QgZXZhbCBjYWxscyBpbiB0aGUgZm9ybWFs
IHBhcmFtZXRlciBsaXN0IGFyZSBvdXRzaWRlIHRoZSBlbnZpcm9ubWVudCB3aGVyZSBwYXJhbWV0
ZXJzIGFyZSBkZWNsYXJlZC4KKyAgICAgIGIuIExldCBjYWxsZWVFbnYgYmUgdGhlIExleGljYWxF
bnZpcm9ubWVudCBvZiBjYWxsZWVDb250ZXh0LgorICAgICAgYy4gTGV0IGVudiBiZSBOZXdEZWNs
YXJhdGl2ZUVudmlyb25tZW50KGNhbGxlZUVudikuCisgICAgICBkLiBMZXQgZW52UmVjIGJlIGVu
didzIEVudmlyb25tZW50UmVjb3JkLgogICAgIFsuLi5dCiBmbGFnczogW25vU3RyaWN0XQogLS0t
Ki8KQEAgLTM0LDQgKzI2LDQgQEAgZnVuY3Rpb24gZigKIGYoKTsKIAogYXNzZXJ0LnNhbWVWYWx1
ZShwcm9iZVBhcmFtKCksICdpbnNpZGUnKTsKLWFzc2VydC5zYW1lVmFsdWUocHJvYmVCb2R5KCks
ICdvdXRzaWRlJyk7Cithc3NlcnQuc2FtZVZhbHVlKHByb2JlQm9keSgpLCAnaW5zaWRlJyk7Cklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL3Nj
b3BlLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL3Njb3BlLXBhcmFtLXJlc3Qt
ZWxlbS12YXItb3Blbi5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9zY29wZS1wYXJhbS1yZXN0LWVsZW0tdmFy
LW9wZW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjQgKzEsMTYgQEAKIC8vIENvcHlyaWdodCAo
QykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgogLyotLS0KLWVzaWQ6IHNlYy1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1l
LXNlbWFudGljcy1pdGVyYXRvcmJpbmRpbmdpbml0aWFsaXphdGlvbgorZXNpZDogc2VjLWZ1bmN0
aW9uZGVjbGFyYXRpb25pbnN0YW50aWF0aW9uCiBkZXNjcmlwdGlvbjogPgotICAgIENyZWF0aW9u
IG9mIG5ldyB2YXJpYWJsZSBlbnZpcm9ubWVudCBmb3IgdGhlIEJpbmRpbmdSZXN0RWxlbWVudCBm
b3JtYWwKLSAgICBwYXJhbWV0ZXIKKyAgICBzbG9wcHkgZGlyZWN0IGV2YWxzIGluIHBhcmFtcyBp
bnRyb2R1Y2UgdmFycwogaW5mbzogfAogICAgIFsuLi5dCi0gICAgMi4gTGV0IGN1cnJlbnRDb250
ZXh0IGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0LgotICAgIDMuIExldCBvcmlnaW5h
bEVudiBiZSB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dC4KLSAgICA0
LiBBc3NlcnQ6IFRoZSBWYXJpYWJsZUVudmlyb25tZW50IGFuZCBMZXhpY2FsRW52aXJvbm1lbnQg
b2YgY3VycmVudENvbnRleHQKLSAgICAgICBhcmUgdGhlIHNhbWUuCi0gICAgNS4gQXNzZXJ0OiBl
bnZpcm9ubWVudCBhbmQgb3JpZ2luYWxFbnYgYXJlIHRoZSBzYW1lLgotICAgIDYuIExldCBwYXJh
bVZhckVudiBiZSBOZXdEZWNsYXJhdGl2ZUVudmlyb25tZW50KG9yaWdpbmFsRW52KS4KLSAgICA3
LiBTZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQgdG8gcGFyYW1W
YXJFbnYuCi0gICAgOC4gU2V0IHRoZSBMZXhpY2FsRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRl
eHQgdG8gcGFyYW1WYXJFbnYuCi0gICAgOS4gTGV0IHJlc3VsdCBiZSB0aGUgcmVzdWx0IG9mIHBl
cmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yCi0gICAgICBCaW5kaW5n
UmVzdEVsZW1lbnQgdXNpbmcgaXRlcmF0b3JSZWNvcmQgYW5kIGVudmlyb25tZW50IGFzIHRoZSBh
cmd1bWVudHMuCi0gICAgMTAuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50
Q29udGV4dCB0byBvcmlnaW5hbEVudi4KLSAgICAxMS4gU2V0IHRoZSBMZXhpY2FsRW52aXJvbm1l
bnQgb2YgY3VycmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCisgICAgMjAuIEVsc2UsCisgICAg
ICBhLiBOT1RFOiBBIHNlcGFyYXRlIEVudmlyb25tZW50IFJlY29yZCBpcyBuZWVkZWQgdG8gZW5z
dXJlIHRoYXQgYmluZGluZ3MgY3JlYXRlZCBieSBkaXJlY3QgZXZhbCBjYWxscyBpbiB0aGUgZm9y
bWFsIHBhcmFtZXRlciBsaXN0IGFyZSBvdXRzaWRlIHRoZSBlbnZpcm9ubWVudCB3aGVyZSBwYXJh
bWV0ZXJzIGFyZSBkZWNsYXJlZC4KKyAgICAgIGIuIExldCBjYWxsZWVFbnYgYmUgdGhlIExleGlj
YWxFbnZpcm9ubWVudCBvZiBjYWxsZWVDb250ZXh0LgorICAgICAgYy4gTGV0IGVudiBiZSBOZXdE
ZWNsYXJhdGl2ZUVudmlyb25tZW50KGNhbGxlZUVudikuCisgICAgICBkLiBMZXQgZW52UmVjIGJl
IGVudidzIEVudmlyb25tZW50UmVjb3JkLgogICAgIFsuLi5dCiBmbGFnczogW25vU3RyaWN0XQog
LS0tKi8KQEAgLTMzLDUgKzI1LDUgQEAgZnVuY3Rpb24gZigKIH0KIGYoKTsKIAotYXNzZXJ0LnNh
bWVWYWx1ZShwcm9iZTEoKSwgJ291dHNpZGUnKTsKK2Fzc2VydC5zYW1lVmFsdWUocHJvYmUxKCks
ICdpbnNpZGUnKTsKIGFzc2VydC5zYW1lVmFsdWUocHJvYmUyKCksICdpbnNpZGUnKTsKSW5kZXg6
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9ldmFs
LXZhci1zY29wZS1zeW50YXgtZXJyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9ldmFsLXZhci1zY29wZS1zeW50YXgt
ZXJyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvZ2VuZXJhdG9ycy9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNTkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdl
bmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZv
cm1zL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9y
bXMvZXJyb3IvZ2VuLWZ1bmMtZGVjbC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBzbG9w
cHkgZGlyZWN0IGV2YWwgaW4gcGFyYW1zIGludHJvZHVjZXMgdmFyIChnZW5lcmF0b3IgZnVuY3Rp
b24gZGVjbGFyYXRpb24pCitlc2lkOiBzZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25z
LXJ1bnRpbWUtc2VtYW50aWNzLWluc3RhbnRpYXRlZnVuY3Rpb25vYmplY3QKK2ZlYXR1cmVzOiBb
ZGVmYXVsdC1wYXJhbWV0ZXJzLCBnZW5lcmF0b3JzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZv
OiB8CisgICAgR2VuZXJhdG9yRGVjbGFyYXRpb24gOiBmdW5jdGlvbiAqICggRm9ybWFsUGFyYW1l
dGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAgICAgWy4uLl0KKyAgICAgICAgMi4gTGV0
IEYgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJzLAor
ICAgICAgICAgICBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4uLl0K
KworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisg
ICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShG
LCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxF
dmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUg
RnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAg
Wy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5j
LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3Jk
IGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJn
dW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMg
aXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBM
ZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3Jt
YWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMu
CisgICAgWy4uLl0KKworCisgICAgCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmlu
ZGluZ0luaXRpYWxpemF0aW9uCisgICAgRm9ybWFsUGFyYW1ldGVyIDogQmluZGluZ0VsZW1lbnQK
KworICAgIDEuIFJldHVybiB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgSXRlcmF0b3JCaW5kaW5n
SW5pdGlhbGl6YXRpb24gZm9yIEJpbmRpbmdFbGVtZW50IHdpdGggYXJndW1lbnRzIGl0ZXJhdG9y
UmVjb3JkIGFuZCBlbnZpcm9ubWVudC4KKworLS0tKi8KKwordmFyIGNhbGxDb3VudCA9IDA7Citm
dW5jdGlvbiogZihhID0gZXZhbCgidmFyIGEgPSA0MiIpKSB7CisgIAorICBjYWxsQ291bnQgPSBj
YWxsQ291bnQgKyAxOworfQorCithc3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigp
IHsKKyAgZigpOworfSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZ2VuZXJh
dG9yIGZ1bmN0aW9uIGJvZHkgbm90IGV2YWx1YXRlZCcpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0b3JzL3Njb3BlLXBhcmFtLWVsZW0tdmFy
LWNsb3NlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvZ2VuZXJhdG9ycy9zY29wZS1wYXJhbS1lbGVtLXZhci1jbG9zZS5qcwkocmV2aXNp
b24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9n
ZW5lcmF0b3JzL3Njb3BlLXBhcmFtLWVsZW0tdmFyLWNsb3NlLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDE4ICsxLDE2IEBACiAvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCi1lc2lkOiBz
ZWMtZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtaXRlcmF0b3JiaW5kaW5n
aW5pdGlhbGl6YXRpb24KK2VzaWQ6IHNlYy1mdW5jdGlvbmRlY2xhcmF0aW9uaW5zdGFudGlhdGlv
bgogZGVzY3JpcHRpb246ID4KLSAgICBSZW1vdmFsIG9mIHZhcmlhYmxlIGVudmlyb25tZW50IGZv
ciBlYWNoIEJpbmRpbmdFbGVtZW50IGZvcm1hbCBwYXJhbWV0ZXIKKyAgICBzbG9wcHkgZGlyZWN0
IGV2YWxzIGluIHBhcmFtcyBpbnRyb2R1Y2UgdmFycwogaW5mbzogfAogICAgIFsuLi5dCi0gICAg
Ni4gTGV0IHBhcmFtVmFyRW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQob3JpZ2luYWxF
bnYpLgotICAgIDcuIFNldCB0aGUgVmFyaWFibGVFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4
dCB0byBwYXJhbVZhckVudi4KLSAgICA4LiBTZXQgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBj
dXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA5LiBMZXQgcmVzdWx0IGJlIHRoZSBy
ZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IKLSAg
ICAgICBCaW5kaW5nRWxlbWVudCB1c2luZyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQg
YXMgdGhlIGFyZ3VtZW50cy4KLSAgICAxMC4gU2V0IHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9m
IGN1cnJlbnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgotICAgIDExLiBTZXQgdGhlIExleGljYWxF
bnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBvcmlnaW5hbEVudi4KKyAgICAyMC4gRWxz
ZSwKKyAgICAgIGEuIE5PVEU6IEEgc2VwYXJhdGUgRW52aXJvbm1lbnQgUmVjb3JkIGlzIG5lZWRl
ZCB0byBlbnN1cmUgdGhhdCBiaW5kaW5ncyBjcmVhdGVkIGJ5IGRpcmVjdCBldmFsIGNhbGxzIGlu
IHRoZSBmb3JtYWwgcGFyYW1ldGVyIGxpc3QgYXJlIG91dHNpZGUgdGhlIGVudmlyb25tZW50IHdo
ZXJlIHBhcmFtZXRlcnMgYXJlIGRlY2xhcmVkLgorICAgICAgYi4gTGV0IGNhbGxlZUVudiBiZSB0
aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGNhbGxlZUNvbnRleHQuCisgICAgICBjLiBMZXQgZW52
IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQoY2FsbGVlRW52KS4KKyAgICAgIGQuIExldCBl
bnZSZWMgYmUgZW52J3MgRW52aXJvbm1lbnRSZWNvcmQuCiAgICAgWy4uLl0KIGZsYWdzOiBbbm9T
dHJpY3RdCiBmZWF0dXJlczogW2dlbmVyYXRvcnNdCkBAIC0zMCw1ICsyOCw1IEBAIGZ1bmN0aW9u
KiBnKAogZygpLm5leHQoKTsKIAogYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ2luc2lkZScp
OwotYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZTIoKSwgJ291dHNpZGUnKTsKLWFzc2VydC5zYW1lVmFs
dWUocHJvYmVCb2R5KCksICdvdXRzaWRlJyk7Cithc3NlcnQuc2FtZVZhbHVlKHByb2JlMigpLCAn
aW5zaWRlJyk7Cithc3NlcnQuc2FtZVZhbHVlKHByb2JlQm9keSgpLCAnaW5zaWRlJyk7CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvc2Nv
cGUtcGFyYW0tZWxlbS12YXItb3Blbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tZWxlbS12YXIt
b3Blbi5qcwkocmV2aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9nZW5lcmF0b3JzL3Njb3BlLXBhcmFtLWVsZW0tdmFyLW9wZW4uanMJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTkgKzEsMTYgQEAKIC8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUg
VjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgog
LyotLS0KLWVzaWQ6IHNlYy1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1p
dGVyYXRvcmJpbmRpbmdpbml0aWFsaXphdGlvbgorZXNpZDogc2VjLWZ1bmN0aW9uZGVjbGFyYXRp
b25pbnN0YW50aWF0aW9uCiBkZXNjcmlwdGlvbjogPgotICAgIENyZWF0aW9uIG9mIG5ldyB2YXJp
YWJsZSBlbnZpcm9ubWVudCBmb3IgZWFjaCBCaW5kaW5nRWxlbWVudCBmb3JtYWwKLSAgICBwYXJh
bWV0ZXIKKyAgICBzbG9wcHkgZGlyZWN0IGV2YWxzIGluIHBhcmFtcyBpbnRyb2R1Y2UgdmFycwog
aW5mbzogfAogICAgIFsuLi5dCi0gICAgNi4gTGV0IHBhcmFtVmFyRW52IGJlIE5ld0RlY2xhcmF0
aXZlRW52aXJvbm1lbnQob3JpZ2luYWxFbnYpLgotICAgIDcuIFNldCB0aGUgVmFyaWFibGVFbnZp
cm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA4LiBTZXQgdGhl
IExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAg
ICA5LiBMZXQgcmVzdWx0IGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJpbmRp
bmdJbml0aWFsaXphdGlvbiBmb3IKLSAgICAgICBCaW5kaW5nRWxlbWVudCB1c2luZyBpdGVyYXRv
clJlY29yZCBhbmQgZW52aXJvbm1lbnQgYXMgdGhlIGFyZ3VtZW50cy4KLSAgICAxMC4gU2V0IHRo
ZSBWYXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdpbmFsRW52Lgot
ICAgIDExLiBTZXQgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBv
cmlnaW5hbEVudi4KKyAgICAyMC4gRWxzZSwKKyAgICAgIGEuIE5PVEU6IEEgc2VwYXJhdGUgRW52
aXJvbm1lbnQgUmVjb3JkIGlzIG5lZWRlZCB0byBlbnN1cmUgdGhhdCBiaW5kaW5ncyBjcmVhdGVk
IGJ5IGRpcmVjdCBldmFsIGNhbGxzIGluIHRoZSBmb3JtYWwgcGFyYW1ldGVyIGxpc3QgYXJlIG91
dHNpZGUgdGhlIGVudmlyb25tZW50IHdoZXJlIHBhcmFtZXRlcnMgYXJlIGRlY2xhcmVkLgorICAg
ICAgYi4gTGV0IGNhbGxlZUVudiBiZSB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGNhbGxlZUNv
bnRleHQuCisgICAgICBjLiBMZXQgZW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1lbnQoY2Fs
bGVlRW52KS4KKyAgICAgIGQuIExldCBlbnZSZWMgYmUgZW52J3MgRW52aXJvbm1lbnRSZWNvcmQu
CiAgICAgWy4uLl0KIGZsYWdzOiBbbm9TdHJpY3RdCiBmZWF0dXJlczogW2dlbmVyYXRvcnNdCkBA
IC0yOSw1ICsyNiw1IEBAIGZ1bmN0aW9uKiBnKAogfQogZygpLm5leHQoKTsKIAotYXNzZXJ0LnNh
bWVWYWx1ZShwcm9iZTEoKSwgJ291dHNpZGUnKTsKK2Fzc2VydC5zYW1lVmFsdWUocHJvYmUxKCks
ICdpbnNpZGUnKTsKIGFzc2VydC5zYW1lVmFsdWUocHJvYmUyKCksICdpbnNpZGUnKTsKSW5kZXg6
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9zY29w
ZS1wYXJhbS1yZXN0LWVsZW0tdmFyLWNsb3NlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9zY29wZS1wYXJhbS1yZXN0
LWVsZW0tdmFyLWNsb3NlLmpzCShyZXZpc2lvbiAyNTQwMDcpCisrKyBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvc2NvcGUtcGFyYW0tcmVzdC1lbGVt
LXZhci1jbG9zZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyNCArMSwxNiBAQAogLy8gQ29weXJp
Z2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQotZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWl0ZXJhdG9yYmluZGluZ2luaXRpYWxpemF0aW9uCitlc2lkOiBzZWMt
ZnVuY3Rpb25kZWNsYXJhdGlvbmluc3RhbnRpYXRpb24KIGRlc2NyaXB0aW9uOiA+Ci0gICAgUmVt
b3ZhbCBvZiB2YXJpYWJsZSBlbnZpcm9ubWVudCBmb3IgdGhlIEJpbmRpbmdSZXN0RWxlbWVudCBm
b3JtYWwgcGFyYW1ldGVyCisgICAgc2xvcHB5IGRpcmVjdCBldmFscyBpbiBwYXJhbXMgaW50cm9k
dWNlIHZhcnMKIGluZm86IHwKICAgICBbLi4uXQotICAgIDIuIExldCBjdXJyZW50Q29udGV4dCBi
ZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dC4KLSAgICAzLiBMZXQgb3JpZ2luYWxFbnYg
YmUgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3VycmVudENvbnRleHQuCi0gICAgNC4gQXNz
ZXJ0OiBUaGUgVmFyaWFibGVFbnZpcm9ubWVudCBhbmQgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1
cnJlbnRDb250ZXh0Ci0gICAgICAgYXJlIHRoZSBzYW1lLgotICAgIDUuIEFzc2VydDogZW52aXJv
bm1lbnQgYW5kIG9yaWdpbmFsRW52IGFyZSB0aGUgc2FtZS4KLSAgICA2LiBMZXQgcGFyYW1WYXJF
bnYgYmUgTmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChvcmlnaW5hbEVudikuCi0gICAgNy4gU2V0
IHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIHBhcmFtVmFyRW52
LgotICAgIDguIFNldCB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRv
IHBhcmFtVmFyRW52LgotICAgIDkuIExldCByZXN1bHQgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3Jt
aW5nIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvcgotICAgICAgIEJpbmRpbmdSZXN0
RWxlbWVudCB1c2luZyBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQgYXMgdGhlCi0gICAg
ICAgYXJndW1lbnRzLgotICAgIDEwLiBTZXQgdGhlIFZhcmlhYmxlRW52aXJvbm1lbnQgb2YgY3Vy
cmVudENvbnRleHQgdG8gb3JpZ2luYWxFbnYuCi0gICAgMTEuIFNldCB0aGUgTGV4aWNhbEVudmly
b25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdpbmFsRW52LgorICAgIDIwLiBFbHNlLAor
ICAgICAgYS4gTk9URTogQSBzZXBhcmF0ZSBFbnZpcm9ubWVudCBSZWNvcmQgaXMgbmVlZGVkIHRv
IGVuc3VyZSB0aGF0IGJpbmRpbmdzIGNyZWF0ZWQgYnkgZGlyZWN0IGV2YWwgY2FsbHMgaW4gdGhl
IGZvcm1hbCBwYXJhbWV0ZXIgbGlzdCBhcmUgb3V0c2lkZSB0aGUgZW52aXJvbm1lbnQgd2hlcmUg
cGFyYW1ldGVycyBhcmUgZGVjbGFyZWQuCisgICAgICBiLiBMZXQgY2FsbGVlRW52IGJlIHRoZSBM
ZXhpY2FsRW52aXJvbm1lbnQgb2YgY2FsbGVlQ29udGV4dC4KKyAgICAgIGMuIExldCBlbnYgYmUg
TmV3RGVjbGFyYXRpdmVFbnZpcm9ubWVudChjYWxsZWVFbnYpLgorICAgICAgZC4gTGV0IGVudlJl
YyBiZSBlbnYncyBFbnZpcm9ubWVudFJlY29yZC4KICAgICBbLi4uXQogZmxhZ3M6IFtub1N0cmlj
dF0KIGZlYXR1cmVzOiBbZ2VuZXJhdG9yc10KQEAgLTM1LDQgKzI3LDQgQEAgZnVuY3Rpb24qIGco
CiBnKCkubmV4dCgpOwogCiBhc3NlcnQuc2FtZVZhbHVlKHByb2JlUGFyYW0oKSwgJ2luc2lkZScp
OwotYXNzZXJ0LnNhbWVWYWx1ZShwcm9iZUJvZHkoKSwgJ291dHNpZGUnKTsKK2Fzc2VydC5zYW1l
VmFsdWUocHJvYmVCb2R5KCksICdpbnNpZGUnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9zY29wZS1wYXJhbS1yZXN0LWVsZW0tdmFy
LW9wZW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9nZW5lcmF0b3JzL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5qcwkocmV2
aXNpb24gMjU0MDA3KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9nZW5lcmF0b3JzL3Njb3BlLXBhcmFtLXJlc3QtZWxlbS12YXItb3Blbi5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSwyNCArMSwxNiBAQAogLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9q
ZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQot
ZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWl0ZXJhdG9y
YmluZGluZ2luaXRpYWxpemF0aW9uCitlc2lkOiBzZWMtZnVuY3Rpb25kZWNsYXJhdGlvbmluc3Rh
bnRpYXRpb24KIGRlc2NyaXB0aW9uOiA+Ci0gICAgQ3JlYXRpb24gb2YgbmV3IHZhcmlhYmxlIGVu
dmlyb25tZW50IGZvciB0aGUgQmluZGluZ1Jlc3RFbGVtZW50IGZvcm1hbAotICAgIHBhcmFtZXRl
cgorICAgIHNsb3BweSBkaXJlY3QgZXZhbHMgaW4gcGFyYW1zIGludHJvZHVjZSB2YXJzCiBpbmZv
OiB8CiAgICAgWy4uLl0KLSAgICAyLiBMZXQgY3VycmVudENvbnRleHQgYmUgdGhlIHJ1bm5pbmcg
ZXhlY3V0aW9uIGNvbnRleHQuCi0gICAgMy4gTGV0IG9yaWdpbmFsRW52IGJlIHRoZSBWYXJpYWJs
ZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0LgotICAgIDQuIEFzc2VydDogVGhlIFZhcmlh
YmxlRW52aXJvbm1lbnQgYW5kIExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dAot
ICAgICAgIGFyZSB0aGUgc2FtZS4KLSAgICA1LiBBc3NlcnQ6IGVudmlyb25tZW50IGFuZCBvcmln
aW5hbEVudiBhcmUgdGhlIHNhbWUuCi0gICAgNi4gTGV0IHBhcmFtVmFyRW52IGJlIE5ld0RlY2xh
cmF0aXZlRW52aXJvbm1lbnQob3JpZ2luYWxFbnYpLgotICAgIDcuIFNldCB0aGUgVmFyaWFibGVF
bnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4KLSAgICA4LiBTZXQg
dGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4dCB0byBwYXJhbVZhckVudi4K
LSAgICA5LiBMZXQgcmVzdWx0IGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBJdGVyYXRvckJp
bmRpbmdJbml0aWFsaXphdGlvbiBmb3IKLSAgICAgIEJpbmRpbmdSZXN0RWxlbWVudCB1c2luZyBp
dGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQgYXMgdGhlIGFyZ3VtZW50cy4KLSAgICAxMC4g
U2V0IHRoZSBWYXJpYWJsZUVudmlyb25tZW50IG9mIGN1cnJlbnRDb250ZXh0IHRvIG9yaWdpbmFs
RW52LgotICAgIDExLiBTZXQgdGhlIExleGljYWxFbnZpcm9ubWVudCBvZiBjdXJyZW50Q29udGV4
dCB0byBvcmlnaW5hbEVudi4KKyAgICAyMC4gRWxzZSwKKyAgICAgIGEuIE5PVEU6IEEgc2VwYXJh
dGUgRW52aXJvbm1lbnQgUmVjb3JkIGlzIG5lZWRlZCB0byBlbnN1cmUgdGhhdCBiaW5kaW5ncyBj
cmVhdGVkIGJ5IGRpcmVjdCBldmFsIGNhbGxzIGluIHRoZSBmb3JtYWwgcGFyYW1ldGVyIGxpc3Qg
YXJlIG91dHNpZGUgdGhlIGVudmlyb25tZW50IHdoZXJlIHBhcmFtZXRlcnMgYXJlIGRlY2xhcmVk
LgorICAgICAgYi4gTGV0IGNhbGxlZUVudiBiZSB0aGUgTGV4aWNhbEVudmlyb25tZW50IG9mIGNh
bGxlZUNvbnRleHQuCisgICAgICBjLiBMZXQgZW52IGJlIE5ld0RlY2xhcmF0aXZlRW52aXJvbm1l
bnQoY2FsbGVlRW52KS4KKyAgICAgIGQuIExldCBlbnZSZWMgYmUgZW52J3MgRW52aXJvbm1lbnRS
ZWNvcmQuCiAgICAgWy4uLl0KIGZsYWdzOiBbbm9TdHJpY3RdCiBmZWF0dXJlczogW2dlbmVyYXRv
cnNdCkBAIC0zNCw1ICsyNiw1IEBAIGZ1bmN0aW9uKiBnKAogfQogZygpLm5leHQoKTsKIAotYXNz
ZXJ0LnNhbWVWYWx1ZShwcm9iZTEoKSwgJ291dHNpZGUnKTsKK2Fzc2VydC5zYW1lVmFsdWUocHJv
YmUxKCksICdpbnNpZGUnKTsKIGFzc2VydC5zYW1lVmFsdWUocHJvYmUyKCksICdpbnNpZGUnKTsK
SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1NDAwOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDIwLTAxLTAzICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIFVwZGF0ZSB0ZXN0MjYyIHRlc3RzIHRvIGNvbW1pdCAxNTdiMThkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU3NDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2luZyAtLXNh
dmUgYW5kIC0tbGF0ZXN0LWltcG9ydCBzaG91bGQgdXBkYXRlIGV4cGVjdGF0aW9ucyByYXRoZXIg
dGhhbiBvdmVyd3JpdGUuCisKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3QyNjIvUnVubmVyLnBtOgor
ICAgICAgICAobWFpbik6CisKIDIwMjAtMDEtMDMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgc2hhcmVkIHNjaGVtZXMgdG8gdGhlIFdl
YktpdC54Y3dvcmtzcGFjZQpJbmRleDogVG9vbHMvU2NyaXB0cy90ZXN0MjYyL1J1bm5lci5wbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3Rlc3QyNjIvUnVubmVyLnBtCShyZXZpc2lvbiAy
NTQwMDcpCisrKyBUb29scy9TY3JpcHRzL3Rlc3QyNjIvUnVubmVyLnBtCSh3b3JraW5nIGNvcHkp
CkBAIC0zMzQsOCArMzM0LDggQEAgc3ViIG1haW4gewogCiAgICAgaWYgKCFAY2xpVGVzdERpcnMp
IHsKICAgICAgICAgIyBJZiBub3QgY29tbWFuZGxpbmUgdGVzdCBwYXRoIHN1cHBsaWVkLCB1c2Ug
dGhlIHJvb3QgZGlyZWN0b3J5IG9mIGFsbCB0ZXN0cy4KLSAgICAgICAgcHVzaChAY2xpVGVzdERp
cnMsICd0ZXN0JykgaWYgbm90IEBjbGlUZXN0RGlyczsKLSAgICAgICAgJHJ1bm5pbmdBbGxUZXN0
cyA9IDE7CisgICAgICAgIHB1c2goQGNsaVRlc3REaXJzLCAndGVzdCcpOworICAgICAgICAkcnVu
bmluZ0FsbFRlc3RzID0gMSBpZiAhJGxhdGVzdEltcG9ydDsKICAgICB9CiAKICAgICBpZiAoJGxh
dGVzdEltcG9ydCkgewo=
</data>
<flag name="review"
          id="402477"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
    <flag name="commit-queue"
          id="402478"
          type_id="3"
          status="+"
          setter="keith_miller"
    />
          </attachment>
      

    </bug>

</bugzilla>