<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>10524</bug_id>
          
          <creation_ts>2016-10-28 14:04:57 +0000</creation_ts>
          <short_desc>Command line build monitoring broken when using custom builddir and config file</short_desc>
          <delta_ts>2017-05-10 16:18:46 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>Toaster</product>
          <component>toaster</component>
          <version>2.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>2.3 M3</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Lock">joshuagloe</reporter>
          <assigned_to name="David Reyna">david.reyna</assigned_to>
          <cc>brian.avery</cc>
    
    <cc>david.reyna</cc>
    
    <cc>jessica.zhang</cc>
    
    <cc>libertad.gonzalez.de.la.cruz</cc>
    
    <cc>stanciux.mihail</cc>
          
          <qa_contact name="Libertad">libertad.gonzalez.de.la.cruz</qa_contact>
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>67724</commentid>
    <comment_count>0</comment_count>
      <attachid>3512</attachid>
    <who name="Joshua Lock">joshuagloe</who>
    <bug_when>2016-10-28 14:04:57 +0000</bug_when>
    <thetext>Created attachment 3512
Some log output including several instances of the tracebacks

I&apos;m using Toaster in a custom build directory which is not a child of the poky repository, i.e:

. oe-init-build-env /srv/builds/foo

To support this I have a custom config file, settings_joshuagl.py (in POKYDIR/bitbake/lib/toaster/toastermain/) and I start Toaster with:

DJANGO_SETTINGS_MODULE=toastermain.settings_joshuagl TOASTER_DIR=/srv/builds/toaster source toaster start

I can drive Toaster via the web UI and start builds there, but when I try and start command line builds my terminal is flooded with tracebacks:

NOTE: ToasterUI waiting for events                                                                       ERROR: unable to open database file                                                                      Traceback (most recent call last):                                                                         File &quot;/home/joshuagl/.local/lib/python3.5/site-packages/django/db/backends/base/base.py&quot;, line 130, in ensure_connection                                                                                            self.connect()                                                                                         File &quot;/home/joshuagl/.local/lib/python3.5/site-packages/django/db/backends/base/base.py&quot;, line 119, in connect                                                                                                      self.connection = self.get_new_connection(conn_params)
  File &quot;/home/joshuagl/.local/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py&quot;, line 204, in get_new_connection                                                                                        conn = Database.connect(**conn_params)
sqlite3.OperationalError: unable to open database file                                                                                                                                                            The above exception was the direct cause of the following exception:
                                                                                                         Traceback (most recent call last):                                                                         File &quot;/home/joshuagl/Projects/poky/bitbake/lib/bb/ui/toasterui.py&quot;, line 283, in main
    buildinfohelper.store_log_event(event)                                                                 File &quot;/home/joshuagl/Projects/poky/bitbake/lib/bb/ui/buildinfohelper.py&quot;, line 1569, in store_log_event    self._ensure_build()
  File &quot;/home/joshuagl/Projects/poky/bitbake/lib/bb/ui/buildinfohelper.py&quot;, line 931, in _ensure_build       self.orm_wrapper.get_or_create_build_object(self.brbe)                                                 File &quot;/home/joshuagl/Projects/poky/bitbake/lib/bb/ui/buildinfohelper.py&quot;, line 165, in get_or_create_build_object                                                                                                   prj = Project.objects.get_or_create_default_project()                                                  File &quot;/home/joshuagl/Projects/poky/bitbake/lib/toaster/orm/models.py&quot;, line 164, in get_or_create_default_project                                                                                                   if len(projects) &gt; 1:                                                                                  File &quot;/home/joshuagl/.local/lib/python3.5/site-packages/django/db/models/query.py&quot;, line 144, in __len__
    self._fetch_all()
&lt;snip&gt;

There&apos;s a bunch of similar &quot;unable to open database file&quot; followed by &quot;above exception was the direct cause of the following exception&quot;.

I can&apos;t replicate this error when using Toaster in a build directory which *is* a child of poky and without the custom configuration file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67725</commentid>
    <comment_count>1</comment_count>
    <who name="Joshua Lock">joshuagloe</who>
    <bug_when>2016-10-28 14:06:35 +0000</bug_when>
    <thetext>$ cat ~/Projects/poky/bitbake/lib/toaster/toastermain/settings_joshuagl.py
from toastermain.settings import *

DEBUG = True
TEMPLATE_DEBUG = DEBUG

DATABASES = {
    &apos;default&apos;: {
        &apos;ENGINE&apos;: &apos;django.db.backends.sqlite3&apos;,
        &apos;NAME&apos;: &apos;/srv/builds/toaster/toaster-db.sqlite&apos;,
        &apos;TEST&apos;: {
            &apos;ENGINE&apos;: &apos;django.db.backends.sqlite3&apos;,
            &apos;NAME&apos;: &apos;/srv/builds/toaster/toaster-db.sqlite&apos;,
        }
    }
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67867</commentid>
    <comment_count>2</comment_count>
    <who name="brian avery">brian.avery</who>
    <bug_when>2016-11-02 15:02:13 +0000</bug_when>
    <thetext>duplicate.

*** This bug has been marked as a duplicate of bug 9992 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67869</commentid>
    <comment_count>3</comment_count>
    <who name="brian avery">brian.avery</who>
    <bug_when>2016-11-02 15:09:31 +0000</bug_when>
    <thetext>not really a duplicate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68857</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Lock">joshuagloe</who>
    <bug_when>2016-12-06 15:23:59 +0000</bug_when>
    <thetext>I don&apos;t have any cycles for this atm so resetting to New and default assignee so that it can be re-triaged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69997</commentid>
    <comment_count>5</comment_count>
    <who name="David Reyna">david.reyna</who>
    <bug_when>2017-01-23 04:10:18 +0000</bug_when>
    <thetext>I am moving this to &quot;Medium&quot;. While this is an important use case and will be resolved, is it not a core use case so I do not want to block on this on this milestone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70437</commentid>
    <comment_count>6</comment_count>
    <who name="brian avery">brian.avery</who>
    <bug_when>2017-02-04 02:19:44 +0000</bug_when>
    <thetext>I think this is fixed on poky-contrib/bavery/toaster/9992-builddir-not-buildV4

with a couple of caveats.  To do what you outlined as the goal in the beginning you would NOT need to have a settings_joshuagl.py file.

You would just do the following:
/home/cow$ . ./poky/oe-init-build-env /srv/builds/foo
That script changes dir into the new bitbake builddir like so:
/srv/builds/foo$ . toaster start
then you just start toaster without any mods...
---
This means that cli builds happen in /srv/builds/foo.
The first toaster project will happen in 
/srv/builds/build-toaster-2
If you do the first toaster project against master, the master checkout will be in 
/srv/builds/_toaster_clones

If this is the desired behaviour, let&apos;s close this when/if the poky-contrib/bavery/toaster/9992-builddir-not-buildV4 changes get merged,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70451</commentid>
    <comment_count>7</comment_count>
    <who name="Joshua Lock">joshuagloe</who>
    <bug_when>2017-02-06 16:40:47 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; I think this is fixed on
&gt; poky-contrib/bavery/toaster/9992-builddir-not-buildV4

confirmed with:

[~/Projects/poky] $ . oe-init-build-env /srv/toaster
[/srv/toaster] $ . toaster start
[/srv/toaster] $ bitbake core-image-minimal

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71830</commentid>
    <comment_count>8</comment_count>
    <who name="David Reyna">david.reyna</who>
    <bug_when>2017-03-28 20:42:10 +0000</bug_when>
    <thetext>Resolved as per Joshua.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3512</attachid>
            <date>2016-10-28 14:04:57 +0000</date>
            <delta_ts>2016-10-28 14:04:57 +0000</delta_ts>
            <desc>Some log output including several instances of the tracebacks</desc>
            <filename>broken-cli-build-monitor.log</filename>
            <type>text/plain</type>
            <size>281577</size>
            <attacher name="Joshua Lock">joshuagloe</attacher>
            
              <data encoding="base64">Tk9URTogVG9hc3RlclVJIHdhaXRpbmcgZm9yIGV2ZW50cwpFUlJPUjogdW5hYmxlIHRvIG9wZW4g
ZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9u
CiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29u
bmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHki
LCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29u
bmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBv
cGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1
c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh
bGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xp
Yi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVs
cGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0
cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwg
aW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVy
LnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0
X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGlu
ZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9i
amVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGlu
ZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVj
dHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5f
XwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5l
IDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0
ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJh
dG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVs
cy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9
IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJz
b3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGlu
ZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgog
ICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhp
dF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2sp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZh
bHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2Vs
Zi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29u
bmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdv
LmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUK
CkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRv
IHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxl
IHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9j
b25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdl
dF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUz
L2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0
YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVu
YWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBk
aXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3Qg
cmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9i
aXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVp
bGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxp
bmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRp
bmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dy
YXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVy
LnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQ
cm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxz
LnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBs
ZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwg
aW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnku
cHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlz
dChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgs
IGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAg
IGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9k
ZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNl
LnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29u
bmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgs
IGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0
cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAg
IHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVj
dAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJh
bXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdl
dF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFt
cykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFi
YXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhj
ZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJP
UjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh
bGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGlu
IGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24g
PSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5k
cy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBj
b25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFs
RXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24g
d2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJh
Y2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVj
dHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFp
bgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBl
ci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVp
bGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIv
dWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNl
bGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRp
bmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAg
ICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9v
cm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0
CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBs
aW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2Rl
bHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2Nh
Y2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5Iiwg
bGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0
ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNl
bGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
YmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5l
Y3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBl
bnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIs
IGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhj
X3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJl
cmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2Vs
Zi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwg
aW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24o
Y29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAy
MDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipj
b25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBv
cGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRv
YXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2Ug
ZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3Qg
cmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGlu
ZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNv
bm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0
aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9w
ZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBl
eGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246
CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4
MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxk
aW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9l
bnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVp
bGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5i
cmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIv
dWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRf
b2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3By
b2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
dG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVs
dF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVl
cnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5f
cmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1
ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhl
Y3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwg
aW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1
cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5z
dXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91
dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlw
ZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2
ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlv
bgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBs
aW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nv
bm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5
IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNv
bm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVu
YWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0
byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4g
ZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJh
Y2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNl
LnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAg
ICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25l
d19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpz
cWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRo
ZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBl
eGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHki
LCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChl
dmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2Ji
L3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAg
ICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9l
bnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmpl
Y3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVh
dGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9k
ZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVh
dGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9t
b2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxs
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAog
ICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
bW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29t
cGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBs
aW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJz
b3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJz
b3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAg
IHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShk
al9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5
IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRi
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVf
Y29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jh
c2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5n
ZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRl
My9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERh
dGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFs
RXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZh
aWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxl
IHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmls
ZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
YmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNv
bm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBj
b25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25u
X3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwg
aW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5f
cGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNl
IGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZv
bGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2Fz
dGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xv
Z19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJh
a2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9n
X2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5
MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9i
dWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdl
dF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29y
X2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdl
dF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5f
ZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2Zl
dGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1
bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGls
ZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVj
dGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYy
LCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vy
c29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9j
dXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25u
ZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgu
cmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRp
bHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJh
Y2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBp
biBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5k
cy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9u
ID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAg
Y29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9w
ZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklU
SUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFz
ZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0
YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAg
ICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVj
dGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBs
aW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVj
dCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVu
IGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ug
b2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwg
bGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9i
Yi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVy
LnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9w
b2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4g
c3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5
IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29y
X2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAx
NjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVj
dHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAx
NjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMp
ID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwog
ICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2
NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJh
dG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9y
CiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9z
cWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNl
bGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Io
c2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAx
MzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAg
c2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9f
CiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVl
LndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5j
b25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVj
dGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRi
LnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVS
Uk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRo
ZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRv
IG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25u
ZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9u
ZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jh
c2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJh
c2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJs
ZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJl
Y3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVj
ZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRi
YWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRp
bmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Q
cm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUg
MTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZv
aGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBw
ZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5
IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9q
ZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5
IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4o
cHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4g
X19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHki
LCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChz
ZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGlu
IGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1
cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1
Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5
IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVj
dGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGlu
IF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFj
ZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJh
aXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAog
ICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9u
ZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykK
ZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNl
IGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0
aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwg
bGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVu
c3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBz
ZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9z
cWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25u
ID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJy
b3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2Fz
IHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sg
KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMv
cG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgog
ICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5w
eSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkv
YnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYu
b3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZv
aGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBw
cmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0v
bW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAg
ICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5l
IDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMv
cXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hl
ID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGlu
ZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9z
cWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYu
bWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFz
ZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rp
b24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1
cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxp
bmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3Zh
bHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFp
c2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5j
b25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4g
Y29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29u
bl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQs
IGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25u
X3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVu
IGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0
ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmls
ZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVj
ZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAx
MzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5l
Y3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9i
YWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9u
CiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJh
dGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNl
cHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpU
cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
UHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4Mywg
aW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5m
b2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1
cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQK
ICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJl
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkv
YnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2Jq
ZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2pl
Y3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9h
c3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9w
cm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnku
cHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVz
dWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5
LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0
ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4g
ZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNv
ciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJl
X2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMw
LCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGls
cy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwg
ZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUs
IGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgog
ICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5l
IDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5l
Y3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5Iiwg
bGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5l
Y3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJs
ZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBz
YXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0
YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sg
KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5
IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBz
ZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19j
b25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxp
dGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBh
Ym92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNl
cHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBs
aW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVu
dCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3Vp
L2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBz
ZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1
cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qo
c2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVf
YnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZh
dWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVf
ZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2Rl
bHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAg
c2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9k
ZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGls
ZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5l
IDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3Io
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IK
ICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNl
bGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9l
eGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5Iiwg
bGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29u
bmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2Uu
cHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRf
bmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9i
YXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFi
YXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJy
b3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxl
ZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRv
IG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpU
cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFz
ZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5l
Y3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25u
ZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3Bh
cmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4g
Z2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFy
YW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZp
bGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxv
d2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVy
dWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19l
dmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2Uv
bGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2
ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEs
IGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWls
ZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9v
cl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2Ny
ZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9v
cl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0
Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNo
X2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRz
ID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIu
cHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlv
bi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBp
biBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29y
KCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJz
b3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVy
YWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMv
c2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2Vi
YWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBl
bnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9i
YXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0g
c2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
c3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29u
biA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJh
dGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNB
TCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJh
c2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBz
ZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5
LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlv
bihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5l
IDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgq
KmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRh
dGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2Yg
dGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFz
dCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91
aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0
b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5
L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3Rv
cmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5Iiwg
bGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2Ny
ZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUs
IGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMu
Z2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQs
IGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4g
MToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAg
c2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwg
aW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9y
KCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAg
ICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwv
Y29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYu
Y29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2Vs
Zi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUs
IGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2Vs
Zi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAg
ICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndp
dGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9i
YWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25u
ZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlv
bgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0
aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9S
OiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBk
YXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9w
ZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0
aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdf
Y29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2Uu
cHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2Uu
Y29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0
byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3Qg
Y2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50
IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtl
L2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZv
aGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9q
ZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2
OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVs
cGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIu
Z2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5Iiwg
bGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0
Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5Iiwg
bGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJv
amVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19s
ZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBs
aW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxm
Lml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0
ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21v
ZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNv
ciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19j
dXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5Iiwg
bGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlv
bgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9f
ZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJh
Y2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNl
IHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAg
c2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdf
Y29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGph
bmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZp
bGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9u
IHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5h
YmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFz
dCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3Vy
ZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxm
LmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxp
dGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0g
RGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6
IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRo
ZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1v
c3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9r
eS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAg
YnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIs
IGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVp
bGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3Jt
X3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVs
cGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmog
PSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9k
ZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBp
ZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0
NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVl
cnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0g
bGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAy
MzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwK
ICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFr
ZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9i
YXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24o
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVf
Y29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUg
OTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVl
LCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UK
ICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25u
ZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29u
bmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9w
YXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGlu
IGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3Bh
cmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRh
dGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIg
ZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpF
UlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50
IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAs
IGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rp
b24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNr
ZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAg
ICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlv
bmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRp
b24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFj
ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJv
amVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4g
bWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hl
bHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVf
YnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
YmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAg
IHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVp
bGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0
CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3Qo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rl
ci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9q
ZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHki
LCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9t
b2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0
X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5
IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9z
cWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhl
Y3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9
IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nv
bm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBp
biBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5w
eSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpf
ZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGlu
IHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAg
c2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDEx
OSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rp
b24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGlu
ZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3Qo
Kipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0
byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZl
IHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJh
c2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1v
c3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5Iiwg
bGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxm
LmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25u
ZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUz
Lk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92
ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRp
b246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5l
IDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1
aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxm
Ll9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVf
YnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2Vs
Zi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
YmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVp
bGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0
X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVm
YXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMv
cXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2Vs
Zi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxz
L3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIu
ZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgz
OCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAg
IGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYu
ZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNf
dHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGlu
ZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVj
dGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHki
LCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3
X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNl
LnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNl
LmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6
IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0
byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9w
ZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFj
ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9i
YXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3Qo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0
CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFt
cykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0
X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1z
KQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUK
ClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2lu
ZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWku
cHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVu
dChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGli
L2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50
CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGlu
IF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9v
YmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9j
cmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0
ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9j
cmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hf
YWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2Fs
bAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0g
Y29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHki
LCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5j
dXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBj
dXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IK
ICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlz
ZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4
LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNr
KHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1
cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNl
L2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2Vs
Zi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3Fs
aXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9
IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlv
bmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAt
IEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5h
YmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2Ug
ZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxm
LmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBp
biBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihj
b25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIw
NCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNv
bm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFi
YXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhl
IGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90
b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3Jl
X2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2Jp
dGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVf
bG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGlu
ZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0
ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGlu
IGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0
X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGlu
IGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2Vs
Zi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4g
X2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICBy
ZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29t
cGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29u
bmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5f
Y3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGlu
IF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5j
b25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBz
aXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
dXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhf
dHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMw
LCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNr
ZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0
aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgog
ICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxz
Lk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBD
UklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRh
YmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4g
ZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9u
CiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29u
bmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHki
LCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29u
bmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBv
cGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1
c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh
bGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xp
Yi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVs
cGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0
cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwg
aW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVy
LnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0
X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGlu
ZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9i
amVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGlu
ZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVj
dHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5f
XwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5l
IDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0
ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJh
dG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVs
cy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9
IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJz
b3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGlu
ZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgog
ICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhp
dF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2sp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZh
bHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2Vs
Zi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29u
bmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdv
LmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUK
CkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRv
IHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxl
IHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9j
b25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdl
dF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUz
L2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0
YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVu
YWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBk
aXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3Qg
cmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9i
aXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVp
bGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxp
bmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRp
bmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dy
YXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVy
LnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQ
cm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxz
LnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBs
ZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwg
aW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnku
cHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlz
dChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgs
IGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAg
IGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9k
ZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNl
LnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29u
bmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgs
IGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0
cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAg
IHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVj
dAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJh
bXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdl
dF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFt
cykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFi
YXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhj
ZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJP
UjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh
bGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGlu
IGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24g
PSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5k
cy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBj
b25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFs
RXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24g
d2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJh
Y2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVj
dHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFp
bgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBl
ci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVp
bGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIv
dWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNl
bGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRp
bmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAg
ICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9v
cm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0
CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBs
aW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2Rl
bHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2Nh
Y2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5Iiwg
bGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0
ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNl
bGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
YmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5l
Y3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBl
bnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIs
IGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhj
X3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJl
cmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2Vs
Zi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwg
aW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24o
Y29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAy
MDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipj
b25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBv
cGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRv
YXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2Ug
ZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3Qg
cmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGlu
ZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNv
bm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0
aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9w
ZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBl
eGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246
CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4
MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxk
aW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9l
bnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVp
bGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5i
cmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIv
dWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRf
b2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3By
b2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
dG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVs
dF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVl
cnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5f
cmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1
ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhl
Y3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwg
aW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1
cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5z
dXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91
dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlw
ZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2
ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlv
bgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBs
aW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nv
bm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5
IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNv
bm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVu
YWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0
byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4g
ZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJh
Y2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNl
LnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAg
ICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25l
d19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpz
cWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRo
ZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBl
eGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHki
LCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChl
dmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2Ji
L3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAg
ICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9l
bnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmpl
Y3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVh
dGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9k
ZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVh
dGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9t
b2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxs
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAog
ICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
bW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29t
cGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBs
aW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJz
b3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJz
b3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAg
IHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShk
al9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5
IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRi
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVf
Y29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jh
c2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5n
ZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRl
My9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERh
dGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFs
RXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZh
aWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxl
IHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmls
ZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
YmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNv
bm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBj
b25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25u
X3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwg
aW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5f
cGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNl
IGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZv
bGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2Fz
dGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xv
Z19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJh
a2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9n
X2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5
MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9i
dWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdl
dF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29y
X2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdl
dF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5f
ZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2Zl
dGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1
bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGls
ZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVj
dGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYy
LCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vy
c29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9j
dXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25u
ZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgu
cmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRp
bHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJh
Y2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBp
biBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5k
cy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9u
ID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAg
Y29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9w
ZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklU
SUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFz
ZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0
YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAg
ICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVj
dGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBs
aW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVj
dCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVu
IGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ug
b2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwg
bGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9i
Yi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVy
LnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9w
b2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4g
c3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5
IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29y
X2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAx
NjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVj
dHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAx
NjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMp
ID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwog
ICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2
NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJh
dG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9y
CiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9z
cWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNl
bGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Io
c2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAx
MzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAg
c2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9f
CiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVl
LndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5j
b25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVj
dGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRi
LnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVS
Uk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRo
ZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRv
IG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25u
ZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9u
ZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jh
c2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJh
c2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJs
ZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJl
Y3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVj
ZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRi
YWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRp
bmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Q
cm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUg
MTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZv
aGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBw
ZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5
IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9q
ZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5
IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4o
cHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4g
X19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHki
LCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChz
ZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGlu
IGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1
cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1
Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5
IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVj
dGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGlu
IF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFj
ZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJh
aXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAog
ICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9u
ZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykK
ZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNl
IGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0
aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwg
bGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVu
c3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBz
ZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9z
cWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25u
ID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJy
b3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2Fz
IHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sg
KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMv
cG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgog
ICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5w
eSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkv
YnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYu
b3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZv
aGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBw
cmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0v
bW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAg
ICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5l
IDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMv
cXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hl
ID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGlu
ZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9z
cWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYu
bWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFz
ZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rp
b24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1
cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxp
bmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3Zh
bHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFp
c2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5j
b25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4g
Y29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29u
bl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQs
IGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25u
X3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVu
IGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0
ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmls
ZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVj
ZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAx
MzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5l
Y3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9i
YWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9u
CiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJh
dGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNl
cHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpU
cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
UHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4Mywg
aW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5m
b2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1
cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQK
ICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJl
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkv
YnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2Jq
ZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2pl
Y3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9h
c3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9w
cm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnku
cHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVz
dWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5
LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0
ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4g
ZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNv
ciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJl
X2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMw
LCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGls
cy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwg
ZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUs
IGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgog
ICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5l
IDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5l
Y3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5Iiwg
bGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5l
Y3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJs
ZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBz
YXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0
YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sg
KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5
IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBz
ZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19j
b25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxp
dGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBh
Ym92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNl
cHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBs
aW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVu
dCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3Vp
L2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBz
ZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1
cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qo
c2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVf
YnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZh
dWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVf
ZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2Rl
bHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAg
c2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9k
ZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGls
ZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5l
IDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3Io
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IK
ICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNl
bGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9l
eGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5Iiwg
bGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29u
bmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2Uu
cHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRf
bmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9i
YXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFi
YXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJy
b3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxl
ZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRv
IG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpU
cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFz
ZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5l
Y3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25u
ZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3Bh
cmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4g
Z2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFy
YW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZp
bGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxv
d2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVy
dWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19l
dmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2Uv
bGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2
ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEs
IGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWls
ZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9v
cl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2Ny
ZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9v
cl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0
Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNo
X2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRz
ID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIu
cHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlv
bi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBp
biBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29y
KCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJz
b3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVy
YWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMv
c2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2Vi
YWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBl
bnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9i
YXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0g
c2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
c3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29u
biA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJh
dGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNB
TCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJh
c2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBz
ZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5
LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlv
bihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5l
IDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgq
KmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRh
dGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2Yg
dGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFz
dCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91
aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0
b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5
L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3Rv
cmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5Iiwg
bGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2Ny
ZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUs
IGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMu
Z2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQs
IGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4g
MToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAg
c2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwg
aW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9y
KCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAg
ICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwv
Y29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYu
Y29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2Vs
Zi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUs
IGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2Vs
Zi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAg
ICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndp
dGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9i
YWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25u
ZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlv
bgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0
aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9S
OiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBk
YXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9w
ZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0
aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdf
Y29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2Uu
cHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2Uu
Y29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0
byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3Qg
Y2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50
IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtl
L2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZv
aGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9q
ZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2
OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVs
cGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIu
Z2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5Iiwg
bGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0
Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5Iiwg
bGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJv
amVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19s
ZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBs
aW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxm
Lml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0
ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21v
ZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNv
ciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19j
dXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5Iiwg
bGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlv
bgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9f
ZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJh
Y2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNl
IHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAg
c2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdf
Y29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGph
bmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZp
bGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9u
IHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5h
YmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFz
dCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3Vy
ZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxm
LmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxp
dGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0g
RGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6
IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRo
ZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1v
c3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9r
eS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAg
YnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIs
IGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVp
bGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3Jt
X3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVs
cGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmog
PSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9k
ZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBp
ZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0
NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVl
cnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0g
bGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAy
MzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwK
ICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFr
ZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9i
YXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24o
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVf
Y29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUg
OTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVl
LCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UK
ICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25u
ZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29u
bmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9w
YXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGlu
IGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3Bh
cmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRh
dGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIg
ZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpF
UlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50
IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAs
IGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rp
b24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNr
ZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAg
ICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlv
bmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRp
b24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFj
ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJv
amVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4g
bWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hl
bHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVf
YnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
YmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAg
IHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVp
bGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0
CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3Qo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rl
ci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9q
ZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHki
LCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9t
b2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0
X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5
IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9z
cWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhl
Y3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9
IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nv
bm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBp
biBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5w
eSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpf
ZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGlu
IHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAg
c2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDEx
OSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rp
b24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGlu
ZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3Qo
Kipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0
byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZl
IHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJh
c2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1v
c3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5Iiwg
bGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxm
LmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25u
ZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUz
Lk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92
ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRp
b246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5l
IDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1
aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxm
Ll9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVf
YnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2Vs
Zi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
YmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVp
bGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0
X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVm
YXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMv
cXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2Vs
Zi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxz
L3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIu
ZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgz
OCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAg
IGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYu
ZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNf
dHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGlu
ZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVj
dGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHki
LCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3
X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNl
LnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNl
LmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6
IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0
byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9w
ZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFj
ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9i
YXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3Qo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0
CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFt
cykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0
X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1z
KQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUK
ClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2lu
ZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWku
cHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVu
dChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGli
L2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50
CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGlu
IF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9v
YmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9j
cmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0
ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9j
cmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hf
YWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2Fs
bAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0g
Y29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHki
LCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5j
dXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBj
dXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IK
ICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlz
ZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4
LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNr
KHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1
cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNl
L2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2Vs
Zi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3Fs
aXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9
IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlv
bmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAt
IEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5h
YmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2Ug
ZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxm
LmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBp
biBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihj
b25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIw
NCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNv
bm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFi
YXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhl
IGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90
b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3Jl
X2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2Jp
dGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVf
bG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGlu
ZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0
ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGlu
IGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0
X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGlu
IGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2Vs
Zi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4g
X2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICBy
ZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29t
cGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29u
bmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5f
Y3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGlu
IF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5j
b25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBz
aXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
dXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhf
dHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMw
LCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNr
ZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0
aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgog
ICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxz
Lk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBD
UklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRh
YmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4g
ZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9u
CiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29u
bmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHki
LCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29u
bmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBv
cGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1
c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh
bGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xp
Yi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVs
cGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0
cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwg
aW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVy
LnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0
X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGlu
ZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9i
amVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGlu
ZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVj
dHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5f
XwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5l
IDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0
ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJh
dG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVs
cy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9
IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJz
b3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGlu
ZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgog
ICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhp
dF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2sp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZh
bHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2Vs
Zi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29u
bmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdv
LmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUK
CkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRv
IHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxl
IHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9j
b25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdl
dF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUz
L2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0
YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVu
YWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBk
aXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3Qg
cmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9i
aXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVp
bGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxp
bmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRp
bmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dy
YXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVy
LnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQ
cm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxz
LnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBs
ZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwg
aW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnku
cHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlz
dChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgs
IGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAg
IGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9k
ZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNl
LnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29u
bmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgs
IGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0
cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAg
IHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVj
dAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJh
bXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdl
dF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFt
cykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFi
YXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhj
ZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJP
UjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh
bGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGlu
IGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24g
PSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5k
cy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBj
b25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFs
RXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24g
d2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJh
Y2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVj
dHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFp
bgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBl
ci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVp
bGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIv
dWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNl
bGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRp
bmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAg
ICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9v
cm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0
CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBs
aW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2Rl
bHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2Nh
Y2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5Iiwg
bGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0
ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNl
bGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
YmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5l
Y3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBl
bnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIs
IGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhj
X3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJl
cmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2Vs
Zi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwg
aW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24o
Y29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAy
MDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipj
b25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBv
cGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRv
YXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2Ug
ZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3Qg
cmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGlu
ZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNv
bm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0
aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9w
ZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBl
eGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246
CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4
MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxk
aW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9l
bnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVp
bGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5i
cmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIv
dWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRf
b2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3By
b2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
dG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVs
dF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVl
cnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5f
cmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1
ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhl
Y3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwg
aW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1
cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5z
dXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91
dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlw
ZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2
ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlv
bgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBs
aW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nv
bm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5
IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNv
bm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVu
YWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0
byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4g
ZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJh
Y2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNl
LnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAg
ICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25l
d19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpz
cWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRo
ZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBl
eGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHki
LCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChl
dmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2Ji
L3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAg
ICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9l
bnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmpl
Y3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVh
dGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9k
ZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVh
dGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9t
b2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxs
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAog
ICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
bW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29t
cGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBs
aW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJz
b3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJz
b3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAg
IHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShk
al9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5
IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRi
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVf
Y29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jh
c2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5n
ZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRl
My9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERh
dGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFs
RXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZh
aWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxl
IHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmls
ZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
YmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNv
bm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBj
b25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25u
X3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwg
aW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5f
cGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNl
IGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZv
bGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2Fz
dGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xv
Z19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJh
a2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9n
X2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5
MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9i
dWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdl
dF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29y
X2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdl
dF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5f
ZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2Zl
dGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1
bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGls
ZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVj
dGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYy
LCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vy
c29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9j
dXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25u
ZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgu
cmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRp
bHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJh
Y2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBp
biBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5k
cy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9u
ID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAg
Y29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9w
ZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklU
SUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFz
ZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0
YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAg
ICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVj
dGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBs
aW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVj
dCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVu
IGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ug
b2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwg
bGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9i
Yi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVy
LnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9w
b2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4g
c3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5
IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29y
X2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAx
NjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVj
dHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAx
NjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMp
ID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwog
ICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2
NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJh
dG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9y
CiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9z
cWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNl
bGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Io
c2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAx
MzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAg
c2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9f
CiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVl
LndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5j
b25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVj
dGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRi
LnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVS
Uk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRo
ZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRv
IG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25u
ZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9u
ZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jh
c2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJh
c2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJs
ZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJl
Y3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVj
ZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRi
YWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRp
bmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Q
cm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUg
MTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZv
aGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBw
ZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5
IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9q
ZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5
IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4o
cHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4g
X19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHki
LCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChz
ZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGlu
IGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1
cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1
Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5
IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVj
dGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGlu
IF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFj
ZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJh
aXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAog
ICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9u
ZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykK
ZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNl
IGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0
aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwg
bGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVu
c3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBz
ZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9z
cWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25u
ID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJy
b3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2Fz
IHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sg
KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMv
cG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgog
ICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5w
eSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkv
YnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYu
b3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZv
aGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBw
cmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0v
bW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAg
ICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5l
IDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMv
cXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hl
ID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGlu
ZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9z
cWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYu
bWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFz
ZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rp
b24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1
cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxp
bmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3Zh
bHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFp
c2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5j
b25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4g
Y29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29u
bl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQs
IGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25u
X3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVu
IGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0
ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmls
ZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVj
ZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAx
MzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5l
Y3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9i
YWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9u
CiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJh
dGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNl
cHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpU
cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
UHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4Mywg
aW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5m
b2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1
cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQK
ICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJl
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkv
YnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2Jq
ZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2pl
Y3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9h
c3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9w
cm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnku
cHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVz
dWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5
LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0
ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4g
ZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNv
ciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJl
X2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMw
LCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGls
cy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwg
ZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUs
IGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgog
ICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5l
IDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5l
Y3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5Iiwg
bGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5l
Y3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJs
ZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBz
YXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0
YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sg
KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5
IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBz
ZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19j
b25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxp
dGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBh
Ym92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNl
cHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBs
aW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVu
dCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3Vp
L2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBz
ZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1
cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qo
c2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVf
YnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZh
dWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVf
ZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2Rl
bHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAg
c2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9k
ZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGls
ZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5l
IDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3Io
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IK
ICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNl
bGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9l
eGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5Iiwg
bGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29u
bmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2Uu
cHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRf
bmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9i
YXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFi
YXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJy
b3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxl
ZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRv
IG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpU
cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFz
ZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5l
Y3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25u
ZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3Bh
cmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4g
Z2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFy
YW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZp
bGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxv
d2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVy
dWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19l
dmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2Uv
bGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2
ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEs
IGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWls
ZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9v
cl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2Ny
ZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9v
cl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0
Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNo
X2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRz
ID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIu
cHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlv
bi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBp
biBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29y
KCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJz
b3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVy
YWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMv
c2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2Vi
YWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBl
bnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9i
YXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0g
c2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
c3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29u
biA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJh
dGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNB
TCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJh
c2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBz
ZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5
LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlv
bihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5l
IDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgq
KmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRh
dGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2Yg
dGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFz
dCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91
aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0
b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5
L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3Rv
cmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5Iiwg
bGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2Ny
ZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUs
IGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMu
Z2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQs
IGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4g
MToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAg
c2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwg
aW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9y
KCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAg
ICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwv
Y29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYu
Y29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2Vs
Zi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUs
IGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2Vs
Zi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAg
ICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndp
dGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9i
YWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25u
ZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlv
bgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0
aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9S
OiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBk
YXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9w
ZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0
aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdf
Y29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2Uu
cHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2Uu
Y29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0
byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3Qg
Y2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50
IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtl
L2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZv
aGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9q
ZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2
OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVs
cGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIu
Z2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5Iiwg
bGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0
Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5Iiwg
bGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJv
amVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19s
ZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBs
aW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxm
Lml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0
ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21v
ZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNv
ciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19j
dXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5Iiwg
bGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlv
bgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9f
ZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJh
Y2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNl
IHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAg
c2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdf
Y29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGph
bmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZp
bGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9u
IHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5h
YmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFz
dCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3Vy
ZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxm
LmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxp
dGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0g
RGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6
IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRo
ZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1v
c3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9r
eS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAg
YnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIs
IGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVp
bGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3Jt
X3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVs
cGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmog
PSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9k
ZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBp
ZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0
NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVl
cnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0g
bGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAy
MzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwK
ICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFr
ZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9i
YXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24o
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVf
Y29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUg
OTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVl
LCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UK
ICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25u
ZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29u
bmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9w
YXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGlu
IGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3Bh
cmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRh
dGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIg
ZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpF
UlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50
IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAs
IGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rp
b24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNr
ZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAg
ICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlv
bmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRp
b24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFj
ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJv
amVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4g
bWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hl
bHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVf
YnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
YmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAg
IHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVp
bGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0
CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3Qo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rl
ci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9q
ZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHki
LCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9t
b2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0
X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5
IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9z
cWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhl
Y3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9
IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nv
bm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBp
biBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5w
eSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpf
ZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGlu
IHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAg
c2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDEx
OSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rp
b24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGlu
ZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3Qo
Kipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0
byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZl
IHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJh
c2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1v
c3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5Iiwg
bGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxm
LmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25u
ZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUz
Lk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92
ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRp
b246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5l
IDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1
aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxm
Ll9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVf
YnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2Vs
Zi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
YmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVp
bGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0
X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVm
YXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMv
cXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2Vs
Zi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxz
L3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIu
ZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgz
OCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAg
IGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYu
ZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNf
dHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGlu
ZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVj
dGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHki
LCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3
X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNl
LnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNl
LmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6
IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0
byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9w
ZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFj
ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9i
YXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3Qo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0
CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFt
cykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0
X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1z
KQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUK
ClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2lu
ZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWku
cHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVu
dChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGli
L2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50
CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGlu
IF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9v
YmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9j
cmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0
ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9j
cmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hf
YWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2Fs
bAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0g
Y29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHki
LCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5j
dXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBj
dXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IK
ICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlz
ZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4
LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNr
KHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1
cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNl
L2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2Vs
Zi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3Fs
aXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9
IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlv
bmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAt
IEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5h
YmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2Ug
ZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxm
LmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBp
biBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihj
b25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIw
NCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNv
bm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFi
YXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhl
IGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90
b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3Jl
X2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2Jp
dGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVf
bG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGlu
ZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0
ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGlu
IGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0
X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGlu
IGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2Vs
Zi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4g
X2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICBy
ZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29t
cGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29u
bmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5f
Y3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGlu
IF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5j
b25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBz
aXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
dXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhf
dHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMw
LCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNr
ZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0
aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgog
ICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxz
Lk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBD
UklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRh
YmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4g
ZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9u
CiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29u
bmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHki
LCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29u
bmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBv
cGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1
c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh
bGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xp
Yi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVs
cGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0
cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwg
aW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVy
LnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0
X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGlu
ZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9i
amVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGlu
ZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVj
dHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5f
XwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5l
IDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0
ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJh
dG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVs
cy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9
IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJz
b3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGlu
ZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgog
ICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhp
dF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2sp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZh
bHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2Vs
Zi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29u
bmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdv
LmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUK
CkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRv
IHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxl
IHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9j
b25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdl
dF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUz
L2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0
YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVu
YWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBk
aXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3Qg
cmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9i
aXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVp
bGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxp
bmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRp
bmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dy
YXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVy
LnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQ
cm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxz
LnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBs
ZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwg
aW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnku
cHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlz
dChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgs
IGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAg
IGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9k
ZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNl
LnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29u
bmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgs
IGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0
cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAg
IHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVj
dAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJh
bXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdl
dF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFt
cykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFi
YXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhj
ZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJP
UjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh
bGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGlu
IGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24g
PSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5k
cy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBj
b25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFs
RXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24g
d2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJh
Y2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVj
dHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFp
bgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBl
ci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVp
bGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIv
dWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNl
bGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRp
bmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAg
ICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9v
cm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0
CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBs
aW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2Rl
bHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2Nh
Y2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5Iiwg
bGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0
ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNl
bGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
YmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5l
Y3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBl
bnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIs
IGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhj
X3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJl
cmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2Vs
Zi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwg
aW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24o
Y29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAy
MDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipj
b25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBv
cGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRv
YXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2Ug
ZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3Qg
cmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGlu
ZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNv
bm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0
aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9w
ZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBl
eGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246
CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4
MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxk
aW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9l
bnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVp
bGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5i
cmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIv
dWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRf
b2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3By
b2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
dG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVs
dF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVl
cnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5f
cmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1
ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhl
Y3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwg
aW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1
cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5z
dXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91
dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlw
ZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2
ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlv
bgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBs
aW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nv
bm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5
IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNv
bm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVu
YWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0
byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4g
ZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJh
Y2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNl
LnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAg
ICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25l
d19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpz
cWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRo
ZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBl
eGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHki
LCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChl
dmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2Ji
L3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAg
ICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9l
bnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmpl
Y3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVh
dGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9k
ZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVh
dGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9t
b2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxs
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAog
ICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
bW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29t
cGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBs
aW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJz
b3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJz
b3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAg
IHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShk
al9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5
IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRi
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVf
Y29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jh
c2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5n
ZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRl
My9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERh
dGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFs
RXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZh
aWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxl
IHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmls
ZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
YmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNv
bm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBj
b25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25u
X3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwg
aW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5f
cGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNl
IGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZv
bGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2Fz
dGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xv
Z19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJh
a2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9n
X2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5
MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9i
dWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdl
dF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29y
X2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdl
dF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5f
ZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2Zl
dGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1
bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGls
ZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVj
dGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYy
LCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vy
c29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9j
dXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25u
ZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgu
cmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRp
bHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJh
Y2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBp
biBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5k
cy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9u
ID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAg
Y29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9w
ZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklU
SUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFz
ZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0
YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAg
ICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVj
dGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBs
aW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVj
dCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVu
IGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ug
b2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwg
bGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9i
Yi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVy
LnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9w
b2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4g
c3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5
IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29y
X2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAx
NjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVj
dHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAx
NjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMp
ID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwog
ICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2
NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJh
dG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9y
CiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9z
cWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNl
bGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Io
c2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAx
MzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAg
c2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9f
CiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVl
LndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5j
b25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVj
dGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRi
LnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVS
Uk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRo
ZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRv
IG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25u
ZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9u
ZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jh
c2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJh
c2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJs
ZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJl
Y3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVj
ZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRi
YWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRp
bmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Q
cm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUg
MTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZv
aGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBw
ZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5
IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9q
ZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5
IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4o
cHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4g
X19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHki
LCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChz
ZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGlu
IGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1
cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1
Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5
IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVj
dGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGlu
IF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFj
ZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJh
aXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAog
ICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9u
ZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykK
ZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNl
IGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0
aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwg
bGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVu
c3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBz
ZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9z
cWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25u
ID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJy
b3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2Fz
IHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sg
KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMv
cG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgog
ICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5w
eSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkv
YnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYu
b3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZv
aGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBw
cmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0v
bW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAg
ICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5l
IDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMv
cXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hl
ID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGlu
ZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9z
cWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYu
bWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFz
ZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rp
b24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1
cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxp
bmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3Zh
bHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFp
c2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5j
b25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4g
Y29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29u
bl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQs
IGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25u
X3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVu
IGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0
ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmls
ZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVj
ZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAx
MzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5l
Y3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9i
YWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9u
CiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJh
dGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNl
cHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpU
cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
UHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4Mywg
aW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5m
b2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1
cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQK
ICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJl
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkv
YnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2Jq
ZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2pl
Y3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9h
c3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9w
cm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnku
cHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVz
dWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5
LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0
ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4g
ZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNv
ciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJl
X2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMw
LCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGls
cy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwg
ZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUs
IGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgog
ICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5l
IDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5l
Y3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5Iiwg
bGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5l
Y3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJs
ZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBz
YXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0
YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sg
KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5
IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBz
ZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19j
b25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxp
dGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBh
Ym92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNl
cHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBs
aW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVu
dCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3Vp
L2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBz
ZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1
cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qo
c2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVf
YnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZh
dWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFr
ZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVf
ZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2Rl
bHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAg
c2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9k
ZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGls
ZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5l
IDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3Io
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IK
ICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNl
bGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9l
eGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5Iiwg
bGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29u
bmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2Uu
cHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRf
bmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9i
YXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFi
YXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJy
b3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxl
ZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRv
IG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpU
cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFz
ZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5l
Y3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25u
ZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3Bh
cmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4g
Z2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFy
YW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZp
bGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxv
d2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVy
dWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19l
dmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2Uv
bGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2
ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEs
IGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWls
ZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9v
cl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2Ny
ZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bv
a3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9v
cl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0
Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNo
X2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRz
ID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIu
cHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlv
bi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBp
biBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29y
KCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJz
b3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0
KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVy
YWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMv
c2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2Vi
YWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBl
bnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9i
YXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0g
c2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
c3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29u
biA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJh
dGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNB
TCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJh
c2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBz
ZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5
LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlv
bihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5l
IDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgq
KmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRh
dGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2Yg
dGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFz
dCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91
aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0
b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5
L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3Rv
cmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5Iiwg
bGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2Ny
ZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUs
IGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMu
Z2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1By
b2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQs
IGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4g
MToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAg
c2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwg
aW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9y
KCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAg
ICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwv
Y29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYu
Y29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2Vs
Zi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUs
IGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2Vs
Zi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAg
ICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndp
dGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9i
YWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25u
ZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
YmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlv
bgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0
aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9S
OiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBk
YXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9w
ZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0
aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdf
Y29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2Uu
cHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2Uu
Y29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0
byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3Qg
Y2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50
IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtl
L2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZv
aGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9q
ZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2
OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVs
cGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIu
Z2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5Iiwg
bGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0
Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5Iiwg
bGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJv
amVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19s
ZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwv
bGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBs
aW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxm
Lml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0
ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21v
ZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNv
ciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19j
dXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5Iiwg
bGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlv
bgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9f
ZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJh
Y2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNl
IHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAg
c2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdf
Y29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGph
bmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZp
bGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9u
IHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5h
YmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFz
dCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3Vy
ZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2Uv
YmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxm
LmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxp
dGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0g
RGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6
IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRo
ZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1v
c3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9r
eS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAg
YnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIs
IGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVp
bGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3Jt
X3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVs
cGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmog
PSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9k
ZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBp
ZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0
NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFn
bC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVl
cnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0g
bGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAy
MzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwK
ICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFr
ZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9i
YXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24o
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVf
Y29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUg
OTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVl
LCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UK
ICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jh
c2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25u
ZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29u
bmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9w
YXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1w
YWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGlu
IGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3Bh
cmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRh
dGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIg
ZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpF
UlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50
IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAs
IGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rp
b24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNr
ZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAg
ICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlv
bmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRp
b24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFj
ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJv
amVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4g
bWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hl
bHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVf
YnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
YmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAg
IHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVp
bGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0
CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3Qo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rl
ci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9q
ZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHki
LCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9t
b2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0
X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5
IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9z
cWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhl
Y3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9
IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nv
bm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBp
biBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5w
eSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpf
ZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGlu
IHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAg
c2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDEx
OSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rp
b24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGlu
ZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3Qo
Kipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0
byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZl
IHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJh
c2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1v
c3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9w
eXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5Iiwg
bGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxm
LmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25u
ZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUz
Lk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92
ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRp
b246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5l
IDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1
aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxm
Ll9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVf
YnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2Vs
Zi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIv
YmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVp
bGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0
X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVm
YXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMv
cXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2Vs
Zi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxz
L3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIu
ZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgz
OCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAg
IGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYu
ZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNf
dHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGlu
ZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVj
dGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHki
LCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3
X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNl
LnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNl
LmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6
IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0
byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9w
ZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFj
ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9i
YXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3Qo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2Fn
ZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0
CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFt
cykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2th
Z2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0
X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1z
KQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUK
ClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2lu
ZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWku
cHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVu
dChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGli
L2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50
CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGlu
IF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9v
YmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9j
cmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0
ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kv
Yml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9j
cmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hf
YWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2Fs
bAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0g
Y29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHki
LCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5j
dXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBj
dXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IK
ICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlz
ZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4
LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNr
KHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1
cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNl
L2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2Vs
Zi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3Fs
aXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9
IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlv
bmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAt
IEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5h
YmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2Ug
ZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxm
LmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3Np
dGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBp
biBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihj
b25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9z
aXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIw
NCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNv
bm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFi
YXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhl
IGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90
b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3Jl
X2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2Jp
dGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVf
bG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGlu
ZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0
ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3Rz
L3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGlu
IGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0
X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2pl
Y3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGlu
IGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2Vs
Zi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4g
X2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICBy
ZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29t
cGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29u
bmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUg
MTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5f
Y3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGlu
IF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5j
b25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBz
aXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
dXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhf
dHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMw
LCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNr
ZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0
aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgog
ICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxz
Lk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBD
UklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRh
YmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4g
ZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28v
ZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9u
CiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0
aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxp
bmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29u
bmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5
dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHki
LCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29u
bmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBv
cGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1
c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh
bGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xp
Yi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4MywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVs
cGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0
cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIsIGxpbmUgMTU2OSwg
aW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1cmVfYnVpbGQoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVy
LnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0
X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
L1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGlu
ZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9i
amVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0vbW9kZWxzLnB5IiwgbGlu
ZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAgICBpZiBsZW4ocHJvamVj
dHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDE0NCwgaW4gX19sZW5f
XwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5l
IDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hlID0gbGlzdChzZWxmLml0
ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJh
dG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVs
cy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9
IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9s
aWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5w
eSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJz
b3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGlu
ZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgog
ICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxpbmUgOTgsIGluIF9fZXhp
dF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2sp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFpc2UKICAgIHJhaXNlIHZh
bHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5n
by9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4gY29ubmVjdAogICAgc2Vs
Zi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29ubl9wYXJhbXMpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQsIGluIGdldF9uZXdfY29u
bmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25uX3BhcmFtcykKZGphbmdv
LmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUK
CkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRv
IHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxl
IHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl
cy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9j
b25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFz
ZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdl
dF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUz
L2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0
YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVu
YWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBk
aXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpUcmFjZWJhY2sgKG1vc3Qg
cmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9i
aXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI1MSwgaW4gbWFpbgogICAgYnVp
bGRpbmZvaGVscGVyLnNhdmVfYnVpbGRfdGFyZ2V0cyhldmVudCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5mb2hlbHBlci5weSIs
IGxpbmUgMTA4OCwgaW4gc2F2ZV9idWlsZF90YXJnZXRzCiAgICBzZWxmLl9lbnN1cmVfYnVpbGQo
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkv
YnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQKICAgIHNlbGYu
b3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJlKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZv
aGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2JqZWN0CiAgICBw
cmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9hc3Rlci9vcm0v
bW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9wcm9qZWN0CiAg
ICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5l
IDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMv
cXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVzdWx0X2NhY2hl
ID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGlu
ZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0ZV9zcWwoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4gZXhlY3V0ZV9z
cWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tl
bmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNvciA9IHNlbGYu
bWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFz
ZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJlX2Nvbm5lY3Rp
b24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFj
a2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1
cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGlscy5weSIsIGxp
bmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwgZGpfZXhjX3Zh
bHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUsIGluIHJlcmFp
c2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRz
L2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5j
b25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDExOSwgaW4g
Y29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5lY3Rpb24oY29u
bl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0
ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5IiwgbGluZSAyMDQs
IGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5lY3QoKipjb25u
X3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVu
IGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBzYXZlIHRvYXN0
ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmls
ZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sgKG1vc3QgcmVj
ZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24z
LjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAx
MzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5l
Y3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9t
ZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9i
YWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9u
CiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxpdGUzLk9wZXJh
dGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBhYm92ZSBleGNl
cHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246CgpU
cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
UHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBsaW5lIDI4Mywg
aW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xvZ19ldmVudChldmVudCkKICBGaWxl
ICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL2J1aWxkaW5m
b2hlbHBlci5weSIsIGxpbmUgMTU2OSwgaW4gc3RvcmVfbG9nX2V2ZW50CiAgICBzZWxmLl9lbnN1
cmVfYnVpbGQoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9s
aWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA5MzEsIGluIF9lbnN1cmVfYnVpbGQK
ICAgIHNlbGYub3JtX3dyYXBwZXIuZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3Qoc2VsZi5icmJl
KQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkv
YnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSAxNjUsIGluIGdldF9vcl9jcmVhdGVfYnVpbGRfb2Jq
ZWN0CiAgICBwcmogPSBQcm9qZWN0Lm9iamVjdHMuZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2pl
Y3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvdG9h
c3Rlci9vcm0vbW9kZWxzLnB5IiwgbGluZSAxNjQsIGluIGdldF9vcl9jcmVhdGVfZGVmYXVsdF9w
cm9qZWN0CiAgICBpZiBsZW4ocHJvamVjdHMpID4gMToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnku
cHkiLCBsaW5lIDE0NCwgaW4gX19sZW5fXwogICAgc2VsZi5fZmV0Y2hfYWxsKCkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDk2NSwgaW4gX2ZldGNoX2FsbAogICAgc2VsZi5fcmVz
dWx0X2NhY2hlID0gbGlzdChzZWxmLml0ZXJhdG9yKCkpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5
LnB5IiwgbGluZSAyMzgsIGluIGl0ZXJhdG9yCiAgICByZXN1bHRzID0gY29tcGlsZXIuZXhlY3V0
ZV9zcWwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9zcWwvY29tcGlsZXIucHkiLCBsaW5lIDgzOCwgaW4g
ZXhlY3V0ZV9zcWwKICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQogIEZpbGUg
Ii9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdv
L2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTYyLCBpbiBjdXJzb3IKICAgIGN1cnNv
ciA9IHNlbGYubWFrZV9kZWJ1Z19jdXJzb3Ioc2VsZi5fY3Vyc29yKCkpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzUsIGluIF9jdXJzb3IKICAgIHNlbGYuZW5zdXJl
X2Nvbm5lY3Rpb24oKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMw
LCBpbiBlbnN1cmVfY29ubmVjdGlvbgogICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9q
b3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi91dGls
cy5weSIsIGxpbmUgOTgsIGluIF9fZXhpdF9fCiAgICBzaXgucmVyYWlzZShkal9leGNfdHlwZSwg
ZGpfZXhjX3ZhbHVlLCB0cmFjZWJhY2spCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vdXRpbHMvc2l4LnB5IiwgbGluZSA2ODUs
IGluIHJlcmFpc2UKICAgIHJhaXNlIHZhbHVlLndpdGhfdHJhY2ViYWNrKHRiKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTMwLCBpbiBlbnN1cmVfY29ubmVjdGlvbgog
ICAgc2VsZi5jb25uZWN0KCkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhv
bjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5l
IDExOSwgaW4gY29ubmVjdAogICAgc2VsZi5jb25uZWN0aW9uID0gc2VsZi5nZXRfbmV3X2Nvbm5l
Y3Rpb24oY29ubl9wYXJhbXMpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvc3FsaXRlMy9iYXNlLnB5Iiwg
bGluZSAyMDQsIGluIGdldF9uZXdfY29ubmVjdGlvbgogICAgY29ubiA9IERhdGFiYXNlLmNvbm5l
Y3QoKipjb25uX3BhcmFtcykKZGphbmdvLmRiLnV0aWxzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJs
ZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKCkVSUk9SOiBDUklUSUNBTCAtIEZhaWxlZCB0byB0byBz
YXZlIHRvYXN0ZXIgZXhjZXB0aW9uIHRvIHRoZSBkYXRhYmFzZTogdW5hYmxlIHRvIG9wZW4gZGF0
YWJhc2UgZmlsZQpFUlJPUjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQpUcmFjZWJhY2sg
KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5
IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBz
ZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykKICBG
aWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2Rq
YW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19j
b25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpzcWxp
dGUzLk9wZXJhdGlvbmFsRXJyb3I6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUKClRoZSBh
Ym92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNl
cHRpb246CgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS90b2FzdGVydWkucHkiLCBs
aW5lIDQyMywgaW4gbWFpbgogICAgYnVpbGRpbmZvaGVscGVyLnN0b3JlX2xheWVyX2luZm8oZXZl
bnQpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91
aS9idWlsZGluZm9oZWxwZXIucHkiLCBsaW5lIDEwNzIsIGluIHN0b3JlX2xheWVyX2luZm8KICAg
IHNlbGYuaW50ZXJuYWxfc3RhdGVbJ2x2cyddW3NlbGYub3JtX3dyYXBwZXIuZ2V0X3VwZGF0ZV9s
YXllcl9vYmplY3QobGF5ZXJpbmZvc1tsYXllcl0sIHNlbGYuYnJiZSldID0gbGF5ZXJpbmZvc1ts
YXllcl1bJ3ZlcnNpb24nXQogIEZpbGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0
YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5IiwgbGluZSA0MzgsIGluIGdldF91cGRh
dGVfbGF5ZXJfb2JqZWN0CiAgICBsYXllcl9pbmRleF91cmw9bGF5ZXJfaW5mb3JtYXRpb25bJ2xh
eWVyX2luZGV4X3VybCddKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9u
My41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9tYW5hZ2VyLnB5IiwgbGluZSAxMjcs
IGluIG1hbmFnZXJfbWV0aG9kCiAgICByZXR1cm4gZ2V0YXR0cihzZWxmLmdldF9xdWVyeXNldCgp
LCBuYW1lKSgqYXJncywgKiprd2FyZ3MpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xp
Yi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGlu
ZSA0MDUsIGluIGdldF9vcl9jcmVhdGUKICAgIHJldHVybiBzZWxmLmdldCgqKmxvb2t1cCksIEZh
bHNlCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvbW9kZWxzL3F1ZXJ5LnB5IiwgbGluZSAzMjgsIGluIGdldAogICAgbnVt
ID0gbGVuKGNsb25lKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41
L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9xdWVyeS5weSIsIGxpbmUgMTQ0LCBpbiBf
X2xlbl9fCiAgICBzZWxmLl9mZXRjaF9hbGwoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2Nh
bC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9xdWVyeS5weSIs
IGxpbmUgOTY1LCBpbiBfZmV0Y2hfYWxsCiAgICBzZWxmLl9yZXN1bHRfY2FjaGUgPSBsaXN0KHNl
bGYuaXRlcmF0b3IoKSkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5lIDIzOCwgaW4g
aXRlcmF0b3IKICAgIHJlc3VsdHMgPSBjb21waWxlci5leGVjdXRlX3NxbCgpCiAgRmlsZSAiL2hv
bWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIv
bW9kZWxzL3NxbC9jb21waWxlci5weSIsIGxpbmUgODM4LCBpbiBleGVjdXRlX3NxbAogICAgY3Vy
c29yID0gc2VsZi5jb25uZWN0aW9uLmN1cnNvcigpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxv
Y2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9i
YXNlLnB5IiwgbGluZSAxNjIsIGluIGN1cnNvcgogICAgY3Vyc29yID0gc2VsZi5tYWtlX2RlYnVn
X2N1cnNvcihzZWxmLl9jdXJzb3IoKSkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHki
LCBsaW5lIDEzNSwgaW4gX2N1cnNvcgogICAgc2VsZi5lbnN1cmVfY29ubmVjdGlvbigpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0
aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL3V0aWxzLnB5IiwgbGluZSA5OCwgaW4g
X19leGl0X18KICAgIHNpeC5yZXJhaXNlKGRqX2V4Y190eXBlLCBkal9leGNfdmFsdWUsIHRyYWNl
YmFjaykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby91dGlscy9zaXgucHkiLCBsaW5lIDY4NSwgaW4gcmVyYWlzZQogICAgcmFp
c2UgdmFsdWUud2l0aF90cmFjZWJhY2sodGIpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2Fs
L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNl
LnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQog
IEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMv
ZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBjb25uZWN0CiAg
ICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25uX3BhcmFtcykK
ICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2Vz
L2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25l
d19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5fcGFyYW1zKQpk
amFuZ28uZGIudXRpbHMuT3BlcmF0aW9uYWxFcnJvcjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2Ug
ZmlsZQoKRVJST1I6IENSSVRJQ0FMIC0gRmFpbGVkIHRvIHRvIHNhdmUgdG9hc3RlciBleGNlcHRp
b24gdG8gdGhlIGRhdGFiYXNlOiB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSBmaWxlCkVSUk9SOiB1
bmFibGUgdG8gb3BlbiBkYXRhYmFzZSBmaWxlClRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBs
YXN0KToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBh
Y2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDEzMCwgaW4gZW5z
dXJlX2Nvbm5lY3Rpb24KICAgIHNlbGYuY29ubmVjdCgpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wv
LmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFz
ZS9iYXNlLnB5IiwgbGluZSAxMTksIGluIGNvbm5lY3QKICAgIHNlbGYuY29ubmVjdGlvbiA9IHNl
bGYuZ2V0X25ld19jb25uZWN0aW9uKGNvbm5fcGFyYW1zKQogIEZpbGUgIi9ob21lL2pvc2h1YWds
Ly5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL3Nx
bGl0ZTMvYmFzZS5weSIsIGxpbmUgMjA0LCBpbiBnZXRfbmV3X2Nvbm5lY3Rpb24KICAgIGNvbm4g
PSBEYXRhYmFzZS5jb25uZWN0KCoqY29ubl9wYXJhbXMpCnNxbGl0ZTMuT3BlcmF0aW9uYWxFcnJv
cjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQoKVGhlIGFib3ZlIGV4Y2VwdGlvbiB3YXMg
dGhlIGRpcmVjdCBjYXVzZSBvZiB0aGUgZm9sbG93aW5nIGV4Y2VwdGlvbjoKClRyYWNlYmFjayAo
bW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Qcm9qZWN0cy9w
b2t5L2JpdGJha2UvbGliL2JiL3VpL3RvYXN0ZXJ1aS5weSIsIGxpbmUgMjgzLCBpbiBtYWluCiAg
ICBidWlsZGluZm9oZWxwZXIuc3RvcmVfbG9nX2V2ZW50KGV2ZW50KQogIEZpbGUgIi9ob21lL2pv
c2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRpbmZvaGVscGVyLnB5
IiwgbGluZSAxNTY5LCBpbiBzdG9yZV9sb2dfZXZlbnQKICAgIHNlbGYuX2Vuc3VyZV9idWlsZCgp
CiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS9i
dWlsZGluZm9oZWxwZXIucHkiLCBsaW5lIDkzMSwgaW4gX2Vuc3VyZV9idWlsZAogICAgc2VsZi5v
cm1fd3JhcHBlci5nZXRfb3JfY3JlYXRlX2J1aWxkX29iamVjdChzZWxmLmJyYmUpCiAgRmlsZSAi
L2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9iYi91aS9idWlsZGluZm9o
ZWxwZXIucHkiLCBsaW5lIDE2NSwgaW4gZ2V0X29yX2NyZWF0ZV9idWlsZF9vYmplY3QKICAgIHBy
aiA9IFByb2plY3Qub2JqZWN0cy5nZXRfb3JfY3JlYXRlX2RlZmF1bHRfcHJvamVjdCgpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi90b2FzdGVyL29ybS9t
b2RlbHMucHkiLCBsaW5lIDE2NCwgaW4gZ2V0X29yX2NyZWF0ZV9kZWZhdWx0X3Byb2plY3QKICAg
IGlmIGxlbihwcm9qZWN0cykgPiAxOgogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9xdWVyeS5weSIsIGxpbmUg
MTQ0LCBpbiBfX2xlbl9fCiAgICBzZWxmLl9mZXRjaF9hbGwoKQogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9x
dWVyeS5weSIsIGxpbmUgOTY1LCBpbiBfZmV0Y2hfYWxsCiAgICBzZWxmLl9yZXN1bHRfY2FjaGUg
PSBsaXN0KHNlbGYuaXRlcmF0b3IoKSkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMvcXVlcnkucHkiLCBsaW5l
IDIzOCwgaW4gaXRlcmF0b3IKICAgIHJlc3VsdHMgPSBjb21waWxlci5leGVjdXRlX3NxbCgpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvbW9kZWxzL3NxbC9jb21waWxlci5weSIsIGxpbmUgODM4LCBpbiBleGVjdXRlX3Nx
bAogICAgY3Vyc29yID0gc2VsZi5jb25uZWN0aW9uLmN1cnNvcigpCiAgRmlsZSAiL2hvbWUvam9z
aHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2Vu
ZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxNjIsIGluIGN1cnNvcgogICAgY3Vyc29yID0gc2VsZi5t
YWtlX2RlYnVnX2N1cnNvcihzZWxmLl9jdXJzb3IoKSkKICBGaWxlICIvaG9tZS9qb3NodWFnbC8u
bG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNl
L2Jhc2UucHkiLCBsaW5lIDEzNSwgaW4gX2N1cnNvcgogICAgc2VsZi5lbnN1cmVfY29ubmVjdGlv
bigpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNr
YWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3Vy
ZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5s
b2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL3V0aWxzLnB5IiwgbGlu
ZSA5OCwgaW4gX19leGl0X18KICAgIHNpeC5yZXJhaXNlKGRqX2V4Y190eXBlLCBkal9leGNfdmFs
dWUsIHRyYWNlYmFjaykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby91dGlscy9zaXgucHkiLCBsaW5lIDY4NSwgaW4gcmVyYWlz
ZQogICAgcmFpc2UgdmFsdWUud2l0aF90cmFjZWJhY2sodGIpCiAgRmlsZSAiL2hvbWUvam9zaHVh
Z2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMv
YmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNv
bm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUt
cGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIsIGxpbmUgMTE5LCBpbiBj
b25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdfY29ubmVjdGlvbihjb25u
X3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRl
LXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2UucHkiLCBsaW5lIDIwNCwg
aW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2UuY29ubmVjdCgqKmNvbm5f
cGFyYW1zKQpkamFuZ28uZGIudXRpbHMuT3BlcmF0aW9uYWxFcnJvcjogdW5hYmxlIHRvIG9wZW4g
ZGF0YWJhc2UgZmlsZQoKRVJST1I6IENSSVRJQ0FMIC0gRmFpbGVkIHRvIHRvIHNhdmUgdG9hc3Rl
ciBleGNlcHRpb24gdG8gdGhlIGRhdGFiYXNlOiB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSBmaWxl
CkVSUk9SOiB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSBmaWxlClRyYWNlYmFjayAobW9zdCByZWNl
bnQgY2FsbCBsYXN0KToKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMu
NS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDEz
MCwgaW4gZW5zdXJlX2Nvbm5lY3Rpb24KICAgIHNlbGYuY29ubmVjdCgpCiAgRmlsZSAiL2hvbWUv
am9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFj
a2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMTksIGluIGNvbm5lY3QKICAgIHNlbGYuY29ubmVj
dGlvbiA9IHNlbGYuZ2V0X25ld19jb25uZWN0aW9uKGNvbm5fcGFyYW1zKQogIEZpbGUgIi9ob21l
L2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2Jh
Y2tlbmRzL3NxbGl0ZTMvYmFzZS5weSIsIGxpbmUgMjA0LCBpbiBnZXRfbmV3X2Nvbm5lY3Rpb24K
ICAgIGNvbm4gPSBEYXRhYmFzZS5jb25uZWN0KCoqY29ubl9wYXJhbXMpCnNxbGl0ZTMuT3BlcmF0
aW9uYWxFcnJvcjogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQoKVGhlIGFib3ZlIGV4Y2Vw
dGlvbiB3YXMgdGhlIGRpcmVjdCBjYXVzZSBvZiB0aGUgZm9sbG93aW5nIGV4Y2VwdGlvbjoKClRy
YWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICBGaWxlICIvaG9tZS9qb3NodWFnbC9Q
cm9qZWN0cy9wb2t5L2JpdGJha2UvbGliL2JiL3VpL3RvYXN0ZXJ1aS5weSIsIGxpbmUgMjUxLCBp
biBtYWluCiAgICBidWlsZGluZm9oZWxwZXIuc2F2ZV9idWlsZF90YXJnZXRzKGV2ZW50KQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsL1Byb2plY3RzL3Bva3kvYml0YmFrZS9saWIvYmIvdWkvYnVpbGRp
bmZvaGVscGVyLnB5IiwgbGluZSAxMDg4LCBpbiBzYXZlX2J1aWxkX3RhcmdldHMKICAgIHNlbGYu
X2Vuc3VyZV9idWlsZCgpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRi
YWtlL2xpYi9iYi91aS9idWlsZGluZm9oZWxwZXIucHkiLCBsaW5lIDkzMSwgaW4gX2Vuc3VyZV9i
dWlsZAogICAgc2VsZi5vcm1fd3JhcHBlci5nZXRfb3JfY3JlYXRlX2J1aWxkX29iamVjdChzZWxm
LmJyYmUpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xpYi9i
Yi91aS9idWlsZGluZm9oZWxwZXIucHkiLCBsaW5lIDE2NSwgaW4gZ2V0X29yX2NyZWF0ZV9idWls
ZF9vYmplY3QKICAgIHByaiA9IFByb2plY3Qub2JqZWN0cy5nZXRfb3JfY3JlYXRlX2RlZmF1bHRf
cHJvamVjdCgpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvUHJvamVjdHMvcG9reS9iaXRiYWtlL2xp
Yi90b2FzdGVyL29ybS9tb2RlbHMucHkiLCBsaW5lIDE2NCwgaW4gZ2V0X29yX2NyZWF0ZV9kZWZh
dWx0X3Byb2plY3QKICAgIGlmIGxlbihwcm9qZWN0cykgPiAxOgogIEZpbGUgIi9ob21lL2pvc2h1
YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL21vZGVscy9x
dWVyeS5weSIsIGxpbmUgMTQ0LCBpbiBfX2xlbl9fCiAgICBzZWxmLl9mZXRjaF9hbGwoKQogIEZp
bGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGph
bmdvL2RiL21vZGVscy9xdWVyeS5weSIsIGxpbmUgOTY1LCBpbiBfZmV0Y2hfYWxsCiAgICBzZWxm
Ll9yZXN1bHRfY2FjaGUgPSBsaXN0KHNlbGYuaXRlcmF0b3IoKSkKICBGaWxlICIvaG9tZS9qb3No
dWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9tb2RlbHMv
cXVlcnkucHkiLCBsaW5lIDIzOCwgaW4gaXRlcmF0b3IKICAgIHJlc3VsdHMgPSBjb21waWxlci5l
eGVjdXRlX3NxbCgpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUv
c2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvbW9kZWxzL3NxbC9jb21waWxlci5weSIsIGxpbmUgODM4
LCBpbiBleGVjdXRlX3NxbAogICAgY3Vyc29yID0gc2VsZi5jb25uZWN0aW9uLmN1cnNvcigpCiAg
RmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9k
amFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxNjIsIGluIGN1cnNvcgogICAg
Y3Vyc29yID0gc2VsZi5tYWtlX2RlYnVnX2N1cnNvcihzZWxmLl9jdXJzb3IoKSkKICBGaWxlICIv
aG9tZS9qb3NodWFnbC8ubG9jYWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9k
Yi9iYWNrZW5kcy9iYXNlL2Jhc2UucHkiLCBsaW5lIDEzNSwgaW4gX2N1cnNvcgogICAgc2VsZi5l
bnN1cmVfY29ubmVjdGlvbigpCiAgRmlsZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRo
b24zLjUvc2l0ZS1wYWNrYWdlcy9kamFuZ28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGlu
ZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9o
b21lL2pvc2h1YWdsLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2Ri
L3V0aWxzLnB5IiwgbGluZSA5OCwgaW4gX19leGl0X18KICAgIHNpeC5yZXJhaXNlKGRqX2V4Y190
eXBlLCBkal9leGNfdmFsdWUsIHRyYWNlYmFjaykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9j
YWwvbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby91dGlscy9zaXgucHkiLCBsaW5l
IDY4NSwgaW4gcmVyYWlzZQogICAgcmFpc2UgdmFsdWUud2l0aF90cmFjZWJhY2sodGIpCiAgRmls
ZSAiL2hvbWUvam9zaHVhZ2wvLmxvY2FsL2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcy9kamFu
Z28vZGIvYmFja2VuZHMvYmFzZS9iYXNlLnB5IiwgbGluZSAxMzAsIGluIGVuc3VyZV9jb25uZWN0
aW9uCiAgICBzZWxmLmNvbm5lY3QoKQogIEZpbGUgIi9ob21lL2pvc2h1YWdsLy5sb2NhbC9saWIv
cHl0aG9uMy41L3NpdGUtcGFja2FnZXMvZGphbmdvL2RiL2JhY2tlbmRzL2Jhc2UvYmFzZS5weSIs
IGxpbmUgMTE5LCBpbiBjb25uZWN0CiAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLmdldF9uZXdf
Y29ubmVjdGlvbihjb25uX3BhcmFtcykKICBGaWxlICIvaG9tZS9qb3NodWFnbC8ubG9jYWwvbGli
L3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzL2RqYW5nby9kYi9iYWNrZW5kcy9zcWxpdGUzL2Jhc2Uu
cHkiLCBsaW5lIDIwNCwgaW4gZ2V0X25ld19jb25uZWN0aW9uCiAgICBjb25uID0gRGF0YWJhc2Uu
Y29ubmVjdCgqKmNvbm5fcGFyYW1zKQpkamFuZ28uZGIudXRpbHMuT3BlcmF0aW9uYWxFcnJvcjog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQoKRVJST1I6IENSSVRJQ0FMIC0gRmFpbGVkIHRv
IHRvIHNhdmUgdG9hc3RlciBleGNlcHRpb24gdG8gdGhlIGRhdGFiYXNlOiB1bmFibGUgdG8gb3Bl
biBkYXRhYmFzZSBmaWxlCmZhdGFsOiBCVUc6IGdldF90ZW1wZmlsZV9mZCgpIGNhbGxlZCBmb3Ig
aW5hY3RpdmUgb2JqZWN0CgpLZXlib2FyZCBJbnRlcnJ1cHQsIGNsb3NpbmcgZG93bi4uLgoK
</data>

          </attachment>
      

    </bug>

</bugzilla>