<?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>2480</bug_id>
          
          <creation_ts>2012-05-21 21:08:08 +0000</creation_ts>
          <short_desc>change in SDK_VERSION produces unexpected archive</short_desc>
          <delta_ts>2013-06-04 04:27:56 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>6</classification_id>
          <classification>Yocto Project Subprojects</classification>
          <product>ADT</product>
          <component>adt</component>
          <version>1.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>normal</bug_severity>
          <target_milestone>1.4</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Reinette Chatre">reinette.chatre</reporter>
          <assigned_to name="Paul Eggleton">bluelightning</assigned_to>
          <cc>bluelightning</cc>
    
    <cc>lianhao.lu</cc>
    
    <cc>poky.adt.watcher</cc>
    
    <cc>poky.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>---</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>21505</commentid>
    <comment_count>0</comment_count>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-21 21:08:08 +0000</bug_when>
    <thetext>I am currently setting SDK_VERSION as well as DISTRO_VERSION to the results of &quot;git describe&quot;. The result of doing the is when I tag a release from the repo that contains the bitbake layer the image and sdk automatically inherit the correct version numbers. The is behaving as expected when doing a clean build of the toolchain. When I run a &quot;bitbake meta-toolchain&quot; I get a file that contains the tag that extracts to a directory named after the tag, for example, concordia-eglibc-x86_64-i586-toolchain-v0.1.3.tar.bz2, extracts to /opt/concordia/v0.1.3.

A problem comes in when I am rebuilding after a change to my bitbake layer. For example, let&apos;s say I only have a file meta-concordia/README that needs to be updated for a new release. If I make the change to the file, commit it, and then re-tag the repo with a new number, for example, v0.1.4. Now I would like to rebuild the toolchain with the expectation that a new file, eglibc-x86_64-i586-toolchain-v0.1.4.tar.bz2, is created that extracts to /opt/concordia/v0.1.4. This does not currently work as expected. When I do the above I do get the new file eglibc-x86_64-i586-toolchain-v0.1.4.tar.bz2 but it extracts to both /opt/concordia/v0.1.3 _and_ /opt/concordia/v0.1.4. The difference between these two is not much though and it appears that I end up with two complete SDKs (apart from the environment files that are different). Below is a run of diff between the two directories. Below this diff capture I also show the output of bitbake when building the new version.

$ cd /opt/concordia
$ diff -r v0.1.3 v0.1.4
diff -r v0.1.3/environment-setup-core2-ccd-linux v0.1.4/environment-setup-core2-ccd-linux
1,4c1,4
&lt; export PATH=/opt/concordia/v0.1.3/sysroots/i686-ccdsdk-linux/usr/bin:/opt/concordia/v0.1.3/sysroots/i686-ccdsdk-linux/usr/bin/core2-ccd-linux:$PATH
&lt; export PKG_CONFIG_SYSROOT_DIR=##SDKTARGETSYSROOT##
&lt; export PKG_CONFIG_PATH=##SDKTARGETSYSROOT##/usr/lib/pkgconfig
&lt; export CONFIG_SITE=/opt/concordia/v0.1.3/site-config-core2-ccd-linux
---
&gt; export PATH=/opt/concordia/v0.1.4/sysroots/i686-ccdsdk-linux/usr/bin:/opt/concordia/v0.1.4/sysroots/i686-ccdsdk-linux/usr/bin/core2-ccd-linux:$PATH
&gt; export PKG_CONFIG_SYSROOT_DIR=/opt/concordia/v0.1.4/sysroots/core2-ccd-linux
&gt; export PKG_CONFIG_PATH=/opt/concordia/v0.1.4/sysroots/core2-ccd-linux/usr/lib/pkgconfig
&gt; export CONFIG_SITE=/opt/concordia/v0.1.4/site-config-core2-ccd-linux
9,18c9,18
&lt; export CONFIGURE_FLAGS=&quot;--target=i586-ccd-linux --host=i586-ccd-linux --build=i686-linux --with-libtool-sysroot=##SDKTARGETSYSROOT##&quot;
&lt; export CFLAGS=&quot; -m32    -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=##SDKTARGETSYSROOT##&quot;
&lt; export CXXFLAGS=&quot; -m32    -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=##SDKTARGETSYSROOT##&quot;
&lt; export LDFLAGS=&quot;  --sysroot=##SDKTARGETSYSROOT##&quot;
&lt; export CPPFLAGS=&quot; -m32    -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=##SDKTARGETSYSROOT##&quot;
&lt; export OECORE_NATIVE_SYSROOT=&quot;/opt/concordia/v0.1.3/sysroots/i686-ccdsdk-linux&quot;
&lt; export OECORE_TARGET_SYSROOT=&quot;##SDKTARGETSYSROOT##&quot;
&lt; export OECORE_ACLOCAL_OPTS=&quot;-I /opt/concordia/v0.1.3/sysroots/i686-ccdsdk-linux/usr/share/aclocal&quot;
&lt; export OECORE_DISTRO_VERSION=&quot;v0.1.3&quot;
&lt; export OECORE_SDK_VERSION=&quot;v0.1.3&quot;
---
&gt; export CONFIGURE_FLAGS=&quot;--target=i586-ccd-linux --host=i586-ccd-linux --build=i686-linux --with-libtool-sysroot=/opt/concordia/v0.1.4/sysroots/core2-ccd-linux&quot;
&gt; export CFLAGS=&quot; -m32    -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=/opt/concordia/v0.1.4/sysroots/core2-ccd-linux&quot;
&gt; export CXXFLAGS=&quot; -m32    -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=/opt/concordia/v0.1.4/sysroots/core2-ccd-linux&quot;
&gt; export LDFLAGS=&quot;  --sysroot=/opt/concordia/v0.1.4/sysroots/core2-ccd-linux&quot;
&gt; export CPPFLAGS=&quot; -m32    -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=/opt/concordia/v0.1.4/sysroots/core2-ccd-linux&quot;
&gt; export OECORE_NATIVE_SYSROOT=&quot;/opt/concordia/v0.1.4/sysroots/i686-ccdsdk-linux&quot;
&gt; export OECORE_TARGET_SYSROOT=&quot;/opt/concordia/v0.1.4/sysroots/core2-ccd-linux&quot;
&gt; export OECORE_ACLOCAL_OPTS=&quot;-I /opt/concordia/v0.1.4/sysroots/i686-ccdsdk-linux/usr/share/aclocal&quot;
&gt; export OECORE_DISTRO_VERSION=&quot;v0.1.4&quot;
&gt; export OECORE_SDK_VERSION=&quot;v0.1.4&quot;
Only in v0.1.4/sysroots: core2-ccd-linux
Only in v0.1.3/sysroots/i686-ccdsdk-linux/etc: bash_completion.d
Only in v0.1.4/sysroots/i686-ccdsdk-linux/etc: ld.so.cache
Only in v0.1.3/sysroots/i686-ccdsdk-linux/etc: ld.so.conf
Only in v0.1.4/sysroots/i686-ccdsdk-linux/etc: opkg-sdk.conf
Only in v0.1.3/sysroots/i686-ccdsdk-linux/etc: qemu
Only in v0.1.3/sysroots/i686-ccdsdk-linux/etc: terminfo
Only in v0.1.3/sysroots/i686-ccdsdk-linux: lib
Only in v0.1.3/sysroots/i686-ccdsdk-linux: usr
Only in v0.1.3/sysroots/i686-ccdsdk-linux/var/lib: nfs
Only in v0.1.4/sysroots/i686-ccdsdk-linux/var/lib/opkg: info
Only in v0.1.4/sysroots/i686-ccdsdk-linux/var/lib/opkg: lists
Only in v0.1.4/sysroots/i686-ccdsdk-linux/var/lib/opkg: status
diff -r v0.1.3/version-core2-ccd-linux v0.1.4/version-core2-ccd-linux
2c2
&lt; Distro Version: v0.1.3
---
&gt; Distro Version: v0.1.4
4c4
&lt; Timestamp: 20120518174913
---
&gt; Timestamp: 20120521182149


Here is the output of bitbake when building with the new tag.

$ bitbake meta-toolchain
Parsing recipes: 100% |##################################################| Time: 00:00:00
Parsing of 839 .bb files complete (0 cached, 839 parsed). 1115 targets, 91 skipped, 0 masked, 0 errors.

OE Build Configuration:
BB_VERSION        = &quot;1.15.1&quot;
TARGET_ARCH       = &quot;i586&quot;
TARGET_OS         = &quot;linux&quot;
MACHINE           = &quot;concordia&quot;
DISTRO            = &quot;concordia&quot;
DISTRO_VERSION    = &quot;v0.1.4&quot;
TUNE_FEATURES     = &quot;m32 core2&quot;
TARGET_FPU        = &quot;&quot;
meta              
meta-yocto        = &quot;denzil:d20a24310eb43fed9a3f3e75752c9ad45a18cbe4&quot;
meta-concordia    = &quot;master:a2914e8a871a064b529dffe5bc931ae2375a6ba5&quot;

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Running setscene task 277 of 464 (/opt/poky.git/meta/recipes-core/meta/meta-environment.bb, do_package_setscene)
NOTE: Running setscene task 279 of 464 (/opt/poky.git/meta/recipes-core/meta/meta-environment.bb, do_package_write_ipk_setscene)
NOTE: package meta-environment-i586-1.0-r8: task do_package_write_ipk_setscene: Started
NOTE: package meta-environment-i586-1.0-r8: task do_package_setscene: Started
NOTE: package meta-environment-i586-1.0-r8: task do_package_write_ipk_setscene: Succeeded
NOTE: package meta-environment-i586-1.0-r8: task do_package_setscene: Succeeded
NOTE: Executing RunQueue Tasks
NOTE: Running task 1413 of 1415 (ID: 8, /opt/poky.git/meta/recipes-core/meta/meta-toolchain.bb, do_populate_sdk)
NOTE: package meta-toolchain-1.0-r7: task do_populate_sdk: Started
NOTE: package meta-toolchain-1.0-r7: task do_populate_sdk: Succeeded
NOTE: Running noexec task 1415 of 1415 (ID: 5, /opt/poky.git/meta/recipes-core/meta/meta-toolchain.bb, do_build)
NOTE: Tasks Summary: Attempted 1415 tasks of which 1413 didn&apos;t need to be rerun and all succeeded.
rchatre@viggo:~/concordia/ccd-distro$</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21509</commentid>
    <comment_count>1</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2012-05-22 04:22:08 +0000</bug_when>
    <thetext>When you retag, did you git clone your new repo and do a clean build?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21510</commentid>
    <comment_count>2</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2012-05-22 05:51:42 +0000</bug_when>
    <thetext>Can you capture your &quot;bitbake -e&quot; output and your local.conf for both 0.1.3 and 0.1.4 build and attach to the bug.  It seems the way you setup your SDK_VERSION and DISTRO_VERSION are not quite right.  Please take a look at how poky setup SDK_VERSION and DISTRO_VERSION, they&apos;re all under meta-yocto/conf/poky.conf.  If you model after that, it should trigger regenerate the SDK once you change your distro version, but by looking at your build log, that didn&apos;t happen to your layer after change the version to 0.1.4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21525</commentid>
    <comment_count>3</comment_count>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-22 16:21:31 +0000</bug_when>
    <thetext>(In reply to comment #1)
&gt; When you retag, did you git clone your new repo and do a clean build?

The tagging I refer to is in the repo itself so a clone was not needed. If I do do a clean build ( as in &quot;rm -rf tmp/ sstate_cache/ downloads&quot; and then rebuild) then the expected file is generated with the new tag and it extracts into only one directory with the correct version. To continue the example from before, the file  eglibc-x86_64-i586-toolchain-v0.1.4.tar.bz2 is created and it extracts only to /opt/concordia/v0.1.4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21526</commentid>
    <comment_count>4</comment_count>
      <attachid>524</attachid>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-22 16:24:40 +0000</bug_when>
    <thetext>Created attachment 524
output of bitbake -e when tag is v0.1.3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21527</commentid>
    <comment_count>5</comment_count>
      <attachid>525</attachid>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-22 16:25:05 +0000</bug_when>
    <thetext>Created attachment 525
output of bitbake -e when tag is v0.1.4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21528</commentid>
    <comment_count>6</comment_count>
      <attachid>526</attachid>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-22 16:25:43 +0000</bug_when>
    <thetext>Created attachment 526
local.conf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21529</commentid>
    <comment_count>7</comment_count>
      <attachid>527</attachid>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-22 16:26:07 +0000</bug_when>
    <thetext>Created attachment 527
distro configuration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21530</commentid>
    <comment_count>8</comment_count>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-22 16:30:40 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; Can you capture your &quot;bitbake -e&quot; output and your local.conf for both 0.1.3
&gt; and 0.1.4 build and attach to the bug.  It seems the way you setup your
&gt; SDK_VERSION and DISTRO_VERSION are not quite right.  Please take a look at
&gt; how poky setup SDK_VERSION and DISTRO_VERSION, they&apos;re all under
&gt; meta-yocto/conf/poky.conf.  If you model after that, it should trigger
&gt; regenerate the SDK once you change your distro version, but by looking at
&gt; your build log, that didn&apos;t happen to your layer after change the version to
&gt; 0.1.4

Yes, the original settings are in meta-yocto/conf/poky.conf, which is included in conf/distro/poky-tiny.conf, which is included in our own distro (concordia&apos;s configuration), which is attached also. It is in this new distro configuration that I override the settings of SDK_VERSION and DISTRO_VERSION, not in local.conf. I do attach local.conf also though.

Could you please point out where I am setting the values incorrectly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21531</commentid>
    <comment_count>9</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2012-05-22 20:49:40 +0000</bug_when>
    <thetext>another question is if you just rebuild your image, not the sdk, do you have similar issue for 0.1.4?  The problem is somehow when you rebuild 0.1.4, it didn&apos;t trigger rebuild the packages for 0.1.4 which it should, instead, it just reuse what&apos;s build for 0.1.3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21533</commentid>
    <comment_count>10</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2012-05-22 21:11:36 +0000</bug_when>
    <thetext>I&apos;ve checked with Beth our release gal, and here&apos;s our procedure for yocto releases, can you follow the same step to see whether still have issue?

02:18:03 PM) eflanagan: ok, I think I see why I&apos;m not seeing it
(02:18:20 PM) eflanagan: I run with a clean build directory but with a non-clean SSTATE_DIR
(02:19:20 PM) eflanagan: jzhang: So I would never hit what they&apos;re hitting since I rm TMPDIR and build with SSTATE_DIR pointed to the nas</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21534</commentid>
    <comment_count>11</comment_count>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-22 21:22:13 +0000</bug_when>
    <thetext>(In reply to comment #9)
&gt; another question is if you just rebuild your image, not the sdk, do you have
&gt; similar issue for 0.1.4?  The problem is somehow when you rebuild 0.1.4, it
&gt; didn&apos;t trigger rebuild the packages for 0.1.4 which it should, instead, it
&gt; just reuse what&apos;s build for 0.1.3

rebuilding the image does not have this issue ... but from what I understand the image does not seem to use the version number internally though, just the filename, which seems to be ok for the sdk also</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21559</commentid>
    <comment_count>12</comment_count>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-23 20:52:19 +0000</bug_when>
    <thetext>When I try to reproduce with version v0.1.t first and then create new version v0.1.x I see the following in my working directory:

$ find . | grep environment-setup-core2-ccd-linux
./core2-ccd-linux/meta-toolchain-1.0-r7/sdk/image/opt/concordia/v0.1.t/environment-setup-core2-ccd-linux
./core2-ccd-linux/meta-toolchain-1.0-r7/sdk/image/opt/concordia/v0.1.x/environment-setup-core2-ccd-linux
./x86_64-nativesdk-ccdsdk-linux/meta-environment-i586-1.0-r8/sdk/image/opt/concordia/v0.1.t/environment-setup-core2-ccd-linux
./x86_64-nativesdk-ccdsdk-linux/meta-environment-i586-1.0-r8/package/opt/concordia/v0.1.t/environment-setup-core2-ccd-linux
./x86_64-nativesdk-ccdsdk-linux/meta-environment-i586-1.0-r8/image/opt/concordia/v0.1.t/environment-setup-core2-ccd-linux
./x86_64-nativesdk-ccdsdk-linux/meta-environment-i586-1.0-r8/packages-split/meta-environment-i586/opt/concordia/v0.1.t/environment-setup-core2-ccd-linux</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21560</commentid>
    <comment_count>13</comment_count>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-23 21:40:21 +0000</bug_when>
    <thetext>(In reply to comment #10)
&gt; I&apos;ve checked with Beth our release gal, and here&apos;s our procedure for yocto
&gt; releases, can you follow the same step to see whether still have issue?
&gt; 
&gt; 02:18:03 PM) eflanagan: ok, I think I see why I&apos;m not seeing it
&gt; (02:18:20 PM) eflanagan: I run with a clean build directory but with a
&gt; non-clean SSTATE_DIR
&gt; (02:19:20 PM) eflanagan: jzhang: So I would never hit what they&apos;re hitting
&gt; since I rm TMPDIR and build with SSTATE_DIR pointed to the nas

Just a note to let you know that I am planning to test this. I completed a clean build and was about to test this when you arrived in my cube and we went through the steps to reproduce the issue instead. At the moment our build machine is undergoing an OS upgrade. When this is complete I will redo a clean build and then try your suggestion. Will let you know the results asap.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21561</commentid>
    <comment_count>14</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2012-05-23 22:40:27 +0000</bug_when>
    <thetext>here&apos;s what I got when I tried to reproduce just using Yocto by following your steps, the following is the start of build output after I bump poky.conf distro_version from 1.2 to 1.3:

jzhang@jzhang-desktop:~/poky-master-build$ bitbake meta-toolchain
WARNING: Host distribution &quot;Ubuntu 10.04.1 LTS&quot; has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Parsing recipes: 100% |#########################################| Time: 00:00:11
Parsing of 846 .bb files complete (0 cached, 846 parsed). 1144 targets, 19 skipped, 0 masked, 0 errors.

Build Configuration:
BB_VERSION        = &quot;1.15.2&quot;
TARGET_ARCH       = &quot;i586&quot;
TARGET_OS         = &quot;linux&quot;
MACHINE           = &quot;qemux86&quot;
DISTRO            = &quot;poky&quot;
DISTRO_VERSION    = &quot;1.3+snapshot-20120523&quot;
TUNE_FEATURES     = &quot;m32 i586&quot;
TARGET_FPU        = &quot;&quot;
meta              
meta-yocto        = &quot;master-next:b254f398c908250d23faef3804401b85e04b5caf&quot;

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Running task 167 of 1854 (ID: 919, /home/jzhang/poky-master/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb, do_configure)
NOTE: Running task 178 of 1854 (ID: 957, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.2.bb, do_configure)
NOTE: Running task 191 of 1854 (ID: 1300, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-core/eglibc/eglibc-initial_2.15.bb, do_unpack)
NOTE: Running task 202 of 1854 (ID: 501, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-core/eglibc/eglibc_2.15.bb, do_unpack)
NOTE: Running task 1002 of 1854 (ID: 1089, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-devtools/gnu-config/gnu-config_20111111.bb, do_configure)
NOTE: Running noexec task 1059 of 1854 (ID: 725, /home/jzhang/poky-master/meta/recipes-core/meta/meta-environment.bb, do_configure)
NOTE: Running noexec task 1060 of 1854 (ID: 726, /home/jzhang/poky-master/meta/recipes-core/meta/meta-environment.bb, do_compile)
NOTE: Running task 1134 of 1854 (ID: 727, /home/jzhang/poky-master/meta/recipes-core/meta/meta-environment.bb, do_generate_content)
NOTE: Running task 1175 of 1854 (ID: 154, /home/jzhang/poky-master/meta/recipes-core/tasks/task-cross-canadian.bb, do_configure)
NOTE: package linux-libc-headers-nativesdk-3.2-r1: task do_configure: Started
NOTE: package eglibc-initial-nativesdk-2.15-r7+svnr17386: task do_unpack: Started
NOTE: package eglibc-nativesdk-2.15-r7+svnr17386: task do_unpack: Started
NOTE: package gnu-config-nativesdk-20111111-r1: task do_configure: Started
NOTE: package meta-environment-i586-1.0-r8: task do_generate_content: Started
NOTE: package task-cross-canadian-i586-1.0-r0: task do_configure: Started
NOTE: package binutils-crosssdk-2.22-r2: task do_configure: Started
NOTE: package meta-environment-i586-1.0-r8: task do_generate_content: Succeeded
NOTE: package task-cross-canadian-i586-1.0-r0: task do_configure: Succeeded
NOTE: Running task 1293 of 1854 (ID: 721, /home/jzhang/poky-master/meta/recipes-core/meta/meta-environment.bb, do_install)
NOTE: Running task 1294 of 1854 (ID: 155, /home/jzhang/poky-master/meta/recipes-core/tasks/task-cross-canadian.bb, do_compile)
NOTE: package task-cross-canadian-i586-1.0-r0: task do_compile: Started
NOTE: package gnu-config-nativesdk-20111111-r1: task do_configure: Succeeded
NOTE: Running task 1295 of 1854 (ID: 1090, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-devtools/gnu-config/gnu-config_20111111.bb, do_compile)
NOTE: package task-cross-canadian-i586-1.0-r0: task do_compile: Succeeded
NOTE: Running task 1296 of 1854 (ID: 150, /home/jzhang/poky-master/meta/recipes-core/tasks/task-cross-canadian.bb, do_install)
NOTE: package meta-environment-i586-1.0-r8: task do_install: Started
NOTE: package gnu-config-nativesdk-20111111-r1: task do_compile: Started
NOTE: package gnu-config-nativesdk-20111111-r1: task do_compile: Succeeded
NOTE: package meta-environment-i586-1.0-r8: task do_install: Succeeded
NOTE: package task-cross-canadian-i586-1.0-r0: task do_install: Started
NOTE: Running task 1297 of 1854 (ID: 729, /home/jzhang/poky-master/meta/recipes-core/meta/meta-environment.bb, do_package)
NOTE: Running noexec task 1298 of 1854 (ID: 722, /home/jzhang/poky-master/meta/recipes-core/meta/meta-environment.bb, do_populate_sysroot)
NOTE: Running task 1299 of 1854 (ID: 1085, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-devtools/gnu-config/gnu-config_20111111.bb, do_install)
NOTE: package task-cross-canadian-i586-1.0-r0: task do_install: Succeeded
NOTE: Running task 1300 of 1854 (ID: 157, /home/jzhang/poky-master/meta/recipes-core/tasks/task-cross-canadian.bb, do_package)
NOTE: Running task 1301 of 1854 (ID: 151, /home/jzhang/poky-master/meta/recipes-core/tasks/task-cross-canadian.bb, do_populate_sysroot)
NOTE: package meta-environment-i586-1.0-r8: task do_package: Started
NOTE: package task-cross-canadian-i586-1.0-r0: task do_package: Started
NOTE: package task-cross-canadian-i586-1.0-r0: task do_populate_sysroot: Started
NOTE: package gnu-config-nativesdk-20111111-r1: task do_install: Started
NOTE: package task-cross-canadian-i586-1.0-r0: task do_populate_sysroot: Succeeded
NOTE: package gnu-config-nativesdk-20111111-r1: task do_install: Succeeded
NOTE: Running task 1302 of 1854 (ID: 1092, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-devtools/gnu-config/gnu-config_20111111.bb, do_package)
NOTE: Running task 1303 of 1854 (ID: 1086, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-devtools/gnu-config/gnu-config_20111111.bb, do_populate_sysroot)
NOTE: package gnu-config-nativesdk-20111111-r1: task do_package: Started
NOTE: package gnu-config-nativesdk-20111111-r1: task do_populate_sysroot: Started
NOTE: package gnu-config-nativesdk-20111111-r1: task do_populate_sysroot: Succeeded
NOTE: package task-cross-canadian-i586-1.0-r0: task do_package: Succeeded
NOTE: package meta-environment-i586-1.0-r8: task do_package: Succeeded
NOTE: Running task 1304 of 1854 (ID: 731, /home/jzhang/poky-master/meta/recipes-core/meta/meta-environment.bb, do_package_write_ipk)
NOTE: package gnu-config-nativesdk-20111111-r1: task do_package: Succeeded
NOTE: Running task 1305 of 1854 (ID: 1094, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-devtools/gnu-config/gnu-config_20111111.bb, do_package_write_ipk)
NOTE: package meta-environment-i586-1.0-r8: task do_package_write_ipk: Started
NOTE: package gnu-config-nativesdk-20111111-r1: task do_package_write_ipk: Started
NOTE: package meta-environment-i586-1.0-r8: task do_package_write_ipk: Succeeded
NOTE: Running noexec task 1306 of 1854 (ID: 728, /home/jzhang/poky-master/meta/recipes-core/meta/meta-environment.bb, do_package_write)
NOTE: Running noexec task 1307 of 1854 (ID: 724, /home/jzhang/poky-master/meta/recipes-core/meta/meta-environment.bb, do_build)
NOTE: package gnu-config-nativesdk-20111111-r1: task do_package_write_ipk: Succeeded
NOTE: Running noexec task 1308 of 1854 (ID: 1091, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-devtools/gnu-config/gnu-config_20111111.bb, do_package_write)
NOTE: Running noexec task 1309 of 1854 (ID: 1088, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-devtools/gnu-config/gnu-config_20111111.bb, do_build)
NOTE: package eglibc-initial-nativesdk-2.15-r7+svnr17386: task do_unpack: Succeeded
NOTE: Running task 1310 of 1854 (ID: 1301, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-core/eglibc/eglibc-initial_2.15.bb, do_patch)
NOTE: package eglibc-initial-nativesdk-2.15-r7+svnr17386: task do_patch: Started
NOTE: package linux-libc-headers-nativesdk-3.2-r1: task do_configure: Succeeded
NOTE: Running task 1311 of 1854 (ID: 958, virtual:nativesdk:/home/jzhang/poky-master/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.2.bb, do_compile)
NOTE: package linux-libc-headers-nativesdk-3.2-r1: task do_compile: Started
NOTE: package linux-libc-headers-nativesdk-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21592</commentid>
    <comment_count>15</comment_count>
      <attachid>533</attachid>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-24 21:00:32 +0000</bug_when>
    <thetext>Created attachment 533
do_install log of eglibc-initial-nativesdk-2.15-r6+svnr17386

(In reply to comment #10)
&gt; I&apos;ve checked with Beth our release gal, and here&apos;s our procedure for yocto
&gt; releases, can you follow the same step to see whether still have issue?
&gt; 
&gt; 02:18:03 PM) eflanagan: ok, I think I see why I&apos;m not seeing it
&gt; (02:18:20 PM) eflanagan: I run with a clean build directory but with a
&gt; non-clean SSTATE_DIR
&gt; (02:19:20 PM) eflanagan: jzhang: So I would never hit what they&apos;re hitting
&gt; since I rm TMPDIR and build with SSTATE_DIR pointed to the nas

I did a clean build (starting with rm -rf tmp/ downloads/ sstate-cache/) using a tag v0.1.t as DISTRO_VERSION and SDK_VERSION. After this I edited a file (README) that does not form part of any layer, commited it and retagged the repo to v0.1.x, thus setting DISTRO_VERSION and SDK_VERSION to v0.1.x. After this I only did a &quot;rm -rf tmp&quot; and then tried to rebuild. Unfortunately this failed while in do_install of eglibc-initial-nativesdk-2.15-r6+svnr17386. See attachment for complete log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21635</commentid>
    <comment_count>16</comment_count>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2012-05-25 23:20:20 +0000</bug_when>
    <thetext>The more I try to figure out what is going on here the more I think that a change in SDK_VERSION should invalidate the entire SDK build. Since DISTRO_VERSION and SDK_VERSION is similar I thus assume a change here should invalidate _all_ builds then, images also. That is, nothing from sstate cache should be re-used. At the moment the actual value of SDKPATH is not in the siginfo of the sstate cache so if it (value of SDKPATH) changes the sstate scripts will not rebuild anything. Even so, many packages for which there is sstate data have the SDKPATH hardcoded in their output. I tried a systemwide override in my local.conf of:

do_populate_sysroot[vardeps] += &quot;${SDKPATH}&quot;
 
This seemed to have helped a little bit but it seems that SDKPATH is buried even deeper in many more tasks than do_populate_sysroot ... for example, gcc-crosssdk-initial_4.6 actually uses the binaries found in SDKPATH in its do_compile task.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32867</commentid>
    <comment_count>17</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2013-05-03 10:08:19 +0000</bug_when>
    <thetext>I think this may finally be addressed with the following commit now in master:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=8d3285f99b685eb08399b037b49fe5d8270fd589</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32875</commentid>
    <comment_count>18</comment_count>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2013-05-03 17:00:22 +0000</bug_when>
    <thetext>I don&apos;t think so since this is what I have been doing all along (see bug 2342 that prompted this patch). In my setup I set DISTRO_VERSION and SDK_VERSION to same value so replacing one with the other should not change behavior. Even so, maybe with this change you will be able to reproduce issue easier? If you create a build with SDK_VERSION set to one value and then modify SDK_VERSION and recreate the SDK ... does it create all the artifacts with the new version and extract to directories with the correct name? I have been forced to do a clean build every time to obtain the expected results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33340</commentid>
    <comment_count>19</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2013-05-28 17:17:27 +0000</bug_when>
    <thetext>I just tried this with recent master and it worked; changing SDK_VERSION triggered re-running a number of tasks and when meta-toolchain finished building, the new version was reflected in the output file name and the path within the SDK itself (i.e. the default installation path, since this is now relocatable).

With the dylan branch (what will become 1.4.1) the same test succeeded but the output filename did not change since DISTRO_VERSION is still being used there. The build failed during do_install for several recipes when I tried the same with the danny branch (what will become 1.3.2) however.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33341</commentid>
    <comment_count>20</comment_count>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2013-05-28 17:51:56 +0000</bug_when>
    <thetext>(In reply to comment #19)
&gt; I just tried this with recent master and it worked; changing SDK_VERSION
&gt; triggered re-running a number of tasks and when meta-toolchain finished
&gt; building, the new version was reflected in the output file name and the path
&gt; within the SDK itself (i.e. the default installation path, since this is now
&gt; relocatable).
&gt; 
&gt; With the dylan branch (what will become 1.4.1) the same test succeeded but
&gt; the output filename did not change since DISTRO_VERSION is still being used
&gt; there. The build failed during do_install for several recipes when I tried
&gt; the same with the danny branch (what will become 1.3.2) however.

I see now. It thus seems that more than just the patch mentioned in comment 17 is needed to address this issue. We are in the process of upgrading from Yocto 1.2 (which this issue was reported against) to Yocto 1.4. On previous occasion I tried to work with master branch but ran into issues since it is a moving target in many aspects. Do you think that testing with Yocto 1.4 would be ok if I just apply patch from comment 17 on top? Alternatively, could you please recommend the id of the commit on master that I should be testing with?

I also ran into issues with &quot;do_install&quot; (see comment 15) (still Yocto 1.2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33342</commentid>
    <comment_count>21</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2013-05-28 19:32:22 +0000</bug_when>
    <thetext>I&apos;d say if you want to work with something stable I&apos;d recommend going with 1.4, perhaps with a move to 1.4.1 when it gets released which will be fairly soon. I&apos;ll talk to Richard and see if we can get the aforementioned SDK_VERSION instead of DISTRO_VERSION patch in for 1.4.1 as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33515</commentid>
    <comment_count>22</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2013-06-03 17:09:33 +0000</bug_when>
    <thetext>Marking as resolved as I think we&apos;ve addressed this now; if not please re-open. (The aforementioned patch is now in the dylan branch and will be part of 1.4.1.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33521</commentid>
    <comment_count>23</comment_count>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2013-06-03 21:06:25 +0000</bug_when>
    <thetext>I am currently running with it and tried to verify it by building an SDK from scratch, making some modifications and then trying to rebuild the SDK. The filename of the SDK as well as the default path it extracts to changed as expected. 

While testing this I encountered an issue during extracting of rebuilt SDK:
$ sudo ./concordia-eglibc-x86_64-i586-toolchain-v0.11-rc0-1-g73d41d0.sh 
Enter target directory for SDK (default: /opt/concordia/v0.11-rc0-1-g73d41d0): 
You are about to install the SDK to &quot;/opt/concordia/v0.11-rc0-1-g73d41d0&quot;. Proceed[Y/n]?Y
Extracting SDK...done
Setting it up...find: `/opt/concordia/v0.11-rc0-1-g73d41d0/sysroots/x86_64-ccdsdk-linux/lib&apos;: No such file or directory
SDK could not be set up. Relocate script unable to find ld-linux.so. Abort!

We are currently building all our images from scratch (ensure tmp, downloads, as well as sstate is clear before a build). We thus do not set ourselves up to encounter this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33522</commentid>
    <comment_count>24</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2013-06-03 21:46:32 +0000</bug_when>
    <thetext>This latest result is with 1.4 + the aforementioned patch, is that correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33527</commentid>
    <comment_count>25</comment_count>
    <who name="Reinette Chatre">reinette.chatre</who>
    <bug_when>2013-06-04 04:27:56 +0000</bug_when>
    <thetext>(In reply to comment #24)
&gt; This latest result is with 1.4 + the aforementioned patch, is that correct?

Correct. I am running with one more patch to 1.4 that is trying to resolve another issue I am encountering. To see exactly what I am running you can take a look at tag ccd-v0.11-rc0 on git://otcgit.jf.intel.com/rchatre/ccd-yocto.git ... or as a shortcut you can just view the tree on gitweb:

http://otcgit.jf.intel.com/?p=rchatre/ccd-yocto.git;a=summary</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>524</attachid>
            <date>2012-05-22 16:24:40 +0000</date>
            <delta_ts>2012-05-22 16:24:40 +0000</delta_ts>
            <desc>output of bitbake -e when tag is v0.1.3</desc>
            <filename>sdk_0.1.3_env</filename>
            <type>application/octet-stream</type>
            <size>317588</size>
            <attacher name="Reinette Chatre">reinette.chatre</attacher>
            
              <data encoding="base64">UGFyc2luZyByZWNpcGVzLi4uZG9uZS4KUGFyc2luZyBvZiA4MzkgLmJiIGZpbGVzIGNvbXBsZXRl
ICgwIGNhY2hlZCwgODM5IHBhcnNlZCkuIDExMTUgdGFyZ2V0cywgOTEgc2tpcHBlZCwgMCBtYXNr
ZWQsIDAgZXJyb3JzLgpOT1RFOiBSZXNvbHZpbmcgYW55IG1pc3NpbmcgdGFzayBxdWV1ZSBkZXBl
bmRlbmNpZXMKIyBTVEFHSU5HX0lOQ0RJUl9OQVRJVkU9JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtp
bmNsdWRlZGlyX25hdGl2ZX0KU1RBR0lOR19JTkNESVJfTkFUSVZFPSIvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUi
CiMgcHJlZml4PS91c3IKZXhwb3J0IHByZWZpeD0iL3VzciIKIyBGUkVFU01BUlRQSE9ORV9HSVQ9
Z2l0Oi8vZ2l0LmZyZWVzbWFydHBob25lLm9yZwpGUkVFU01BUlRQSE9ORV9HSVQ9ImdpdDovL2dp
dC5mcmVlc21hcnRwaG9uZS5vcmciCiMgSU5IRVJJVF9JTlNBTkU9aW5zYW5lCklOSEVSSVRfSU5T
QU5FPSJpbnNhbmUiCiMgQ1ZTRElSPSR7Q09fRElSfS9jdnMKQ1ZTRElSPSIvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL2Rvd25sb2Fkcy9jdnMiCiMgU1ZORElSPSR7Q09fRElSfS9z
dm4KU1ZORElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL2Rvd25sb2Fkcy9z
dm4iCiMgUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLWludGVybWVkaWF0ZT0ke0dDQ1ZFUlNJ
T059ClBSRUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zcy1pbnRlcm1lZGlhdGU9IjQuNiUiCiMgYmlu
ZGlyX2Nyb3NzPS9iaW4KYmluZGlyX2Nyb3NzPSIvYmluIgojIEJBU0VERVBFTkRTPSR7QGJhc2Vf
ZGVwX3ByZXBlbmQoZCl9CkJBU0VERVBFTkRTPSJ2aXJ0dWFsL2k1ODYtY2NkLWxpbnV4LWdjYyB2
aXJ0dWFsL2k1ODYtY2NkLWxpbnV4LWNvbXBpbGVybGlicyB2aXJ0dWFsL2xpYmMiCiMgUFJFRkVS
UkVEX1BST1ZJREVSX2xpYmdjYy1uYXRpdmVzZGs9bGliZ2NjLW5hdGl2ZXNkawpQUkVGRVJSRURf
UFJPVklERVJfbGliZ2NjLW5hdGl2ZXNkaz0ibGliZ2NjLW5hdGl2ZXNkayIKIyBCQl9DT05TT0xF
TE9HPSR7VE1QRElSfS9jb29rZXIubG9nLiR7REFURVRJTUV9CkJCX0NPTlNPTEVMT0c9Ii9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2Nvb2tlci5sb2cuMjAxMjA1MjIxNjE3
MTUiCiMgU1RSSVA9JHtIT1NUX1BSRUZJWH1zdHJpcApleHBvcnQgU1RSSVA9Imk1ODYtY2NkLWxp
bnV4LXN0cmlwIgojIFNUQUdJTkdfREFUQURJUj0ke1NUQUdJTkdfRElSX0hPU1R9JHtkYXRhZGly
fQpTVEFHSU5HX0RBVEFESVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3N5c3Jvb3RzL2NvbmNvcmRpYS91c3Ivc2hhcmUiCiMgdGFyZ2V0X2RhdGFkaXI9L3Vzci9zaGFy
ZQp0YXJnZXRfZGF0YWRpcj0iL3Vzci9zaGFyZSIKIyBJTUFHRV9ST09URlM9JHtXT1JLRElSfS9y
b290ZnMKSU1BR0VfUk9PVEZTPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvcm9vdGZzIgojIEZF
VENIQ09NTUFORF9jdnM9L3Vzci9iaW4vZW52IGN2cyAnLWQke0NWU1JPT1R9JyBjbyAke0NWU0NP
T1BUU30gJHtDVlNNT0RVTEV9CkZFVENIQ09NTUFORF9jdnM9Ii91c3IvYmluL2VudiBjdnMgJy1k
JHtDVlNST09UfScgY28gJHtDVlNDT09QVFN9ICR7Q1ZTTU9EVUxFfSIKIyBiYXNlX2JpbmRpcl9u
YXRpdmU9L2JpbgpiYXNlX2JpbmRpcl9uYXRpdmU9Ii9iaW4iCiMgQkFTRV9MSUJfdHVuZS14ODYt
NjQteDMyPWxpYngzMgpCQVNFX0xJQl90dW5lLXg4Ni02NC14MzI9ImxpYngzMiIKIyBsb2NhbHN0
YXRlZGlyPSR7YmFzZV9wcmVmaXh9L3ZhcgpleHBvcnQgbG9jYWxzdGF0ZWRpcj0iL3ZhciIKIyBT
RUNUSU9OXyR7UE59LWRiZz1Ob25lCiMgREFURVRJTUU9JHtEQVRFfSR7VElNRX0KREFURVRJTUU9
IjIwMTIwNTIyMTYxNzE1IgojIElNQUdFX0ZFQVRVUkVTPSAke0VYVFJBX0lNQUdFX0ZFQVRVUkVT
fQpJTUFHRV9GRUFUVVJFUz0iJHtFWFRSQV9JTUFHRV9GRUFUVVJFU30iCiMgU0VQUFVLVV9BVVRP
QlVJTEQ9Tm9uZQojIElOSVRSQU1GU19GU1RZUEVTPWNwaW8uZ3oKSU5JVFJBTUZTX0ZTVFlQRVM9
ImNwaW8uZ3oiCiMgT1BLR0JVSUxEQ01EPW9wa2ctYnVpbGQKT1BLR0JVSUxEQ01EPSJvcGtnLWJ1
aWxkIgojIFBSRUZFUlJFRF9WRVJTSU9OX2Nyb3NzLWxvY2FsZWRlZi1uYXRpdmU9JHtFR0xJQkNW
RVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl9jcm9zcy1sb2NhbGVkZWYtbmF0aXZlPSIyLjEzIgoj
IFNPTElCU0RFVl9kYXJ3aW44PS5keWxpYgpTT0xJQlNERVZfZGFyd2luOD0iLmR5bGliIgojIFNP
TElCU0RFVl9kYXJ3aW45PS5keWxpYgpTT0xJQlNERVZfZGFyd2luOT0iLmR5bGliIgojIFVTRVI9
cmNoYXRyZQpleHBvcnQgVVNFUj0icmNoYXRyZSIKIyBTT0xJQlNERVZfZGFyd2luPS5keWxpYgpT
T0xJQlNERVZfZGFyd2luPSIuZHlsaWIiCiMgT0VTX0JJVEJBS0VfQ09ORj0xCk9FU19CSVRCQUtF
X0NPTkY9IjEiCiMgUFJFRkVSUkVEX1ZFUlNJT05fYmludXRpbHMtY3Jvc3MtY2FuYWRpYW4taTU4
Nj0ke0JJTlVWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1jcm9zcy1jYW5hZGlh
bi1pNTg2PSIyLjIyIgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJ
WH1saWJjLWZvci1nY2M9Tm9uZQojIFVQREFURUNPTU1BTkQ9RVJST1IsIHRoaXMgbXVzdCBiZSBh
IEJpdEJha2UgYnVnClVQREFURUNPTU1BTkQ9IkVSUk9SLCB0aGlzIG11c3QgYmUgYSBCaXRCYWtl
IGJ1ZyIKIyBFWFRFTkRQRT0ke0BbJycsJyR7UEVceDdkXyddW2QuZ2V0VmFyKCdQRScsMSkgPiAw
XX0KIyBTRUNUSU9OX21ldGEtdG9vbGNoYWluLXN0YXRpY2Rldj1kZXZlbApTRUNUSU9OX21ldGEt
dG9vbGNoYWluLXN0YXRpY2Rldj0iZGV2ZWwiCiMgUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3Nz
LWluaXRpYWw9JHtHQ0NWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3MtaW5pdGlh
bD0iNC42JSIKIyBCQl9OVU1CRVJfVEhSRUFEUz0yNApCQl9OVU1CRVJfVEhSRUFEUz0iMjQiCiMg
U1VNTUFSWV9tZXRhLXRvb2xjaGFpbi1zdGF0aWNkZXY9JHtTVU1NQVJZfSAtIERldmVsb3BtZW50
IGZpbGVzIChTdGF0aWMgTGlicmFyaWVzKQpTVU1NQVJZX21ldGEtdG9vbGNoYWluLXN0YXRpY2Rl
dj0ibWV0YS10b29sY2hhaW4gdmVyc2lvbiAxLjAtcjcgLSBEZXZlbG9wbWVudCBmaWxlcyAoU3Rh
dGljIExpYnJhcmllcykiCiMgU0RLX05BTUU9JHtESVNUUk99LSR7VENMSUJDfS0ke1NES19BUkNI
fS0ke1RBUkdFVF9BUkNIfQpTREtfTkFNRT0iY29uY29yZGlhLWVnbGliYy14ODZfNjQtaTU4NiIK
IyBCQl9IQVNIQ09ORklHX1dISVRFTElTVD0ke0JCX0hBU0hCQVNFX1dISVRFTElTVH0gREFURSBU
SU1FIFNFU1NJT05fTUFOQUdFUiBEQlVTX1NFU1NJT05fQlVTX0FERFJFU1MgU1NIX0FHRU5UX1BJ
RCBYREdfU0VTU0lPTl9DT09LSUUgU1NIX0FVVEhfU09DSyBYQVVUSE9SSVRZCkJCX0hBU0hDT05G
SUdfV0hJVEVMSVNUPSJUTVBESVIgRklMRSBQQVRIIFBXRCBCQl9UQVNLSEFTSCBCQlBBVEggRExf
RElSIFNTVEFURV9ESVIgVEhJU0RJUiBGSUxFU0VYVFJBUEFUSFMgRklMRV9ESVJOQU1FIEhPTUUg
TE9HTkFNRSBTSEVMTCBURVJNIFVTRVIgRklMRVNQQVRIIFNUQUdJTkdfRElSX0hPU1QgU1RBR0lO
R19ESVJfVEFSR0VUIENPUkVCQVNFIFBSU0VSVl9IT1NUIFBSU0VSVl9QT1JUIFBSU0VSVl9EVU1Q
RElSIFBSU0VSVl9EVU1QRklMRSBQUlNFUlZfTE9DS0RPV04gUEFSQUxMRUxfTUFLRSBEQVRFIFRJ
TUUgU0VTU0lPTl9NQU5BR0VSIERCVVNfU0VTU0lPTl9CVVNfQUREUkVTUyBTU0hfQUdFTlRfUElE
IFhER19TRVNTSU9OX0NPT0tJRSBTU0hfQVVUSF9TT0NLIFhBVVRIT1JJVFkiCiMgVE1QRElSPS9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wClRNUERJUj0iL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAiCiMgUFJFRkVSUkVEX1BST1ZJREVSX29wa2ctbmF0
aXZlc2RrPW9wa2ctbmF0aXZlc2RrClBSRUZFUlJFRF9QUk9WSURFUl9vcGtnLW5hdGl2ZXNkaz0i
b3BrZy1uYXRpdmVzZGsiCiMgUUVNVV9PUFRJT05TX2l3bW14dD0tY3B1IHB4YTI3MC1jNQpRRU1V
X09QVElPTlNfaXdtbXh0PSItY3B1IHB4YTI3MC1jNSIKIyBsaWJleGVjZGlyPSR7ZXhlY19wcmVm
aXh9L2xpYmV4ZWMKZXhwb3J0IGxpYmV4ZWNkaXI9Ii91c3IvbGliZXhlYyIKIyBUT09MQ0hBSU5f
TkVFRF9DT05GSUdTSVRFX0NBQ0hFPSR7VENMSUJDfSBuY3Vyc2VzClRPT0xDSEFJTl9ORUVEX0NP
TkZJR1NJVEVfQ0FDSEU9ImVnbGliYyBuY3Vyc2VzIgojIEJCX0JBU0VIQVNIX3Rhc2stZG9fY2xl
YW5zc3RhdGU9Nzc0MmFiNzdjNWRjY2Q5NWJkNmE4OGI4YTA3Yjg2ZGUKQkJfQkFTRUhBU0hfdGFz
ay1kb19jbGVhbnNzdGF0ZT0iNzc0MmFiNzdjNWRjY2Q5NWJkNmE4OGI4YTA3Yjg2ZGUiCiMgU1VN
TUFSWV8ke1BOfS1zdGF0aWNkZXY9Tm9uZQojIElNQUdFX1JPT1RGU19TSVpFPTY1NTM2CklNQUdF
X1JPT1RGU19TSVpFPSI2NTUzNiIKIyBCQl9NSU5fVkVSU0lPTj0xLjE1LjEKQkJfTUlOX1ZFUlNJ
T049IjEuMTUuMSIKIyBkYXRhZGlyX25hdGl2ZT0ke3ByZWZpeF9uYXRpdmV9L3NoYXJlCmRhdGFk
aXJfbmF0aXZlPSIvdXNyL3NoYXJlIgojIFNES19PUz0ke0JVSUxEX09TfQpTREtfT1M9ImxpbnV4
IgojIEdJVF9DT05GSUc9JHtHSVRfQ09ORklHX1BBVEh9L2dpdGNvbmZpZwpHSVRfQ09ORklHPSIv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGlu
dXgvZXRjL2dpdGNvbmZpZyIKIyBQWVRIT049JHtAc3lzLmV4ZWN1dGFibGV9ClBZVEhPTj0iL3Vz
ci9iaW4vcHl0aG9uIgojIGRhdGFkaXI9JHtwcmVmaXh9L3NoYXJlCmV4cG9ydCBkYXRhZGlyPSIv
dXNyL3NoYXJlIgojIFNUQUdJTkdfRVRDRElSX05BVElWRT0ke1NUQUdJTkdfRElSX05BVElWRX0k
e3N5c2NvbmZkaXJfbmF0aXZlfQpTVEFHSU5HX0VUQ0RJUl9OQVRJVkU9Ii9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC9ldGMiCiMgSE9T
VF9FWEVFWFQ9CiMgQ0FDSEU9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
Y2FjaGUvZGVmYXVsdC1lZ2xpYmMvY29uY29yZGlhCkNBQ0hFPSIvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC9jYWNoZS9kZWZhdWx0LWVnbGliYy9jb25jb3JkaWEiCiMgU1VN
TUFSWT0ke1BOfSB2ZXJzaW9uICR7UFZ9LSR7UFJ9ClNVTU1BUlk9Im1ldGEtdG9vbGNoYWluIHZl
cnNpb24gMS4wLXI3IgojIEJCX0JBU0VIQVNIX3Rhc2stZG9fYnVpbGRhbGw9NTQ5NDI3NWZiNWEz
MDdkMWI2YmE5MzJiNTk0MTU1MjIKQkJfQkFTRUhBU0hfdGFzay1kb19idWlsZGFsbD0iNTQ5NDI3
NWZiNWEzMDdkMWI2YmE5MzJiNTk0MTU1MjIiCiMgR1BFUEhPTkVfTUlSUk9SPWh0dHA6Ly9ncGVw
aG9uZS5saW51eHRvZ28ub3JnL2Rvd25sb2FkL2dwZXBob25lCkdQRVBIT05FX01JUlJPUj0iaHR0
cDovL2dwZXBob25lLmxpbnV4dG9nby5vcmcvZG93bmxvYWQvZ3BlcGhvbmUiCiMgR1BFUEhPTkVf
U1ZOPXN2bjovL3Byb2plY3RzLmxpbnV4dG9nby5vcmcvc3ZuL2dwZXBob25lL3RydW5rL3NvdXJj
ZTttb2R1bGU9JHtQTn0KR1BFUEhPTkVfU1ZOPSJzdm46Ly9wcm9qZWN0cy5saW51eHRvZ28ub3Jn
L3N2bi9ncGVwaG9uZS90cnVuay9zb3VyY2U7bW9kdWxlPW1ldGEtdG9vbGNoYWluIgojIEJCX0JB
U0VIQVNIX3Rhc2stZG9fY2xlYW5hbGw9ZmRhNmY0NGEwM2I3NTE1YzUwMjM4ZmFlNWUwN2I3NDgK
QkJfQkFTRUhBU0hfdGFzay1kb19jbGVhbmFsbD0iZmRhNmY0NGEwM2I3NTE1YzUwMjM4ZmFlNWUw
N2I3NDgiCiMgU0RLX09VVFBVVD0ke1NES19ESVJ9L2ltYWdlClNES19PVVRQVVQ9Ii9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEt
dG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UiCiMgQVNTVU1FX1BST1ZJREVEPWJ6aXAyLW5hdGl2
ZSBncmVwLW5hdGl2ZSBkaWZmc3RhdC1uYXRpdmUgcGF0Y2gtbmF0aXZlIHBlcmwtbmF0aXZlLXJ1
bnRpbWUgcHl0aG9uLW5hdGl2ZS1ydW50aW1lIHN1YnZlcnNpb24tbmF0aXZlIHRhci1uYXRpdmUg
dmlydHVhbC9saWJpbnRsLW5hdGl2ZSAgcGtnY29uZmlnJApBU1NVTUVfUFJPVklERUQ9ImJ6aXAy
LW5hdGl2ZSBncmVwLW5hdGl2ZSBkaWZmc3RhdC1uYXRpdmUgcGF0Y2gtbmF0aXZlIHBlcmwtbmF0
aXZlLXJ1bnRpbWUgcHl0aG9uLW5hdGl2ZS1ydW50aW1lIHN1YnZlcnNpb24tbmF0aXZlIHRhci1u
YXRpdmUgdmlydHVhbC9saWJpbnRsLW5hdGl2ZSAgcGtnY29uZmlnJCIKIyBMSUNTU1RBVEVESVI9
JHtXT1JLRElSfS9saWNlbnNlLWRlc3RkaXIvCkxJQ1NTVEFURURJUj0iL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hh
aW4tMS4wLXI3L2xpY2Vuc2UtZGVzdGRpci8iCiMgQUxMX01VTFRJTElCX1BBQ0tBR0VfQVJDSFM9
JHtAYWxsX211bHRpbGliX3R1bmVfdmFsdWVzKGQsICdQQUNLQUdFX0FSQ0hTJyl9CkFMTF9NVUxU
SUxJQl9QQUNLQUdFX0FSQ0hTPSJhbGwgYW55IG5vYXJjaCB4ODYgaTM4NiBpNDg2IGk1ODYgaTY4
NiBjb3JlMiBjb25jb3JkaWEiCiMgTENPTkZfVkVSU0lPTj00CkxDT05GX1ZFUlNJT049IjQiCiMg
RkVUQ0hDTURfaGc9L3Vzci9iaW4vZW52IGhnCkZFVENIQ01EX2hnPSIvdXNyL2Jpbi9lbnYgaGci
CiMgVFVORVZBTElEPU5vbmUKIyBCVUlMRF9DWFg9JHtDQ0FDSEV9JHtCVUlMRF9QUkVGSVh9Zysr
ICR7QlVJTERfQ0NfQVJDSH0KZXhwb3J0IEJVSUxEX0NYWD0iZysrIgojIHN5c2NvbmZkaXI9JHti
YXNlX3ByZWZpeH0vZXRjCmV4cG9ydCBzeXNjb25mZGlyPSIvZXRjIgojIFVQREFURUNPTU1BTkRf
Y3ZzPS91c3IvYmluL2VudiBjdnMgLWQke0NWU1JPT1R9IHVwZGF0ZSAtZCAtUCAke0NWU0NPT1BU
U30KVVBEQVRFQ09NTUFORF9jdnM9Ii91c3IvYmluL2VudiBjdnMgLWQke0NWU1JPT1R9IHVwZGF0
ZSAtZCAtUCAke0NWU0NPT1BUU30iCiMgTUtURU1QQ01EPW1rdGVtcCAtcSAke1RNUEJBU0V9Ck1L
VEVNUENNRD0ibWt0ZW1wIC1xICR7VE1QQkFTRX0iCiMgREFURT0yMDEyMDUyMgpEQVRFPSIyMDEy
MDUyMiIKIyBBUEFDSEVfTUlSUk9SPWh0dHA6Ly93d3cuYXBhY2hlLm9yZy9kaXN0CkFQQUNIRV9N
SVJST1I9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9kaXN0IgojIGRvX3Jvb3Rmcz1Ob25lCiMgTEQ9
JHtIT1NUX1BSRUZJWH1sZCR7VE9PTENIQUlOX09QVElPTlN9ICR7SE9TVF9MRF9BUkNIfQpleHBv
cnQgTEQ9Imk1ODYtY2NkLWxpbnV4LWxkIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEiCiMgSE9TVF9WRU5ET1I9JHtUQVJH
RVRfVkVORE9SfQpIT1NUX1ZFTkRPUj0iLWNjZCIKIyBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUt
eDg2LTY0PSR7VFVORV9QS0dBUkNIX3R1bmUteDg2LTY0fQpQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1
bmUteDg2LTY0PSJ4ODZfNjQiCiMgUFJFRkVSUkVEX1BST1ZJREVSX2dkay1waXhidWY9Z2RrLXBp
eGJ1ZgpQUkVGRVJSRURfUFJPVklERVJfZ2RrLXBpeGJ1Zj0iZ2RrLXBpeGJ1ZiIKIyBTU1RBVEVf
TUFORklMRUJBU0U9JHtTU1RBVEVfTUFOSUZFU1RTfS9tYW5pZmVzdC0ke1NTVEFURV9NQU5NQUNI
fS0KU1NUQVRFX01BTkZJTEVCQVNFPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zc3RhdGUtY29udHJvbC9tYW5pZmVzdC1jb25jb3JkaWEtIgojIE1BQ0hJTkVfVEFTS19Q
Uk9WSURFUj0ke0RFRkFVTFRfVEFTS19QUk9WSURFUn0KTUFDSElORV9UQVNLX1BST1ZJREVSPSJ0
YXNrLWJhc2UiCiMgRVhUUkFfT0VNQUtFPS1lIE1BS0VGTEFHUz0KRVhUUkFfT0VNQUtFPSItZSBN
QUtFRkxBR1M9IgojIExERkxBR1M9JHtUQVJHRVRfTERGTEFHU30KZXhwb3J0IExERkxBR1M9Ii1X
bCwtTzEgLVdsLC0taGFzaC1zdHlsZT1nbnUgLVdsLC0tYXMtbmVlZGVkIgojIEhPU1RfTk9OU1lT
Vj1Ob25lCiMgYmluZGlyPSR7ZXhlY19wcmVmaXh9L2JpbgpleHBvcnQgYmluZGlyPSIvdXNyL2Jp
biIKIyBTVU1NQVJZXyR7UE59LWRiZz1Ob25lCiMgU1lTVklOSVRfRU5BQkxFRF9HRVRUWVM9MSAy
IDMgNApTWVNWSU5JVF9FTkFCTEVEX0dFVFRZUz0iMSAyIDMgNCIKIyBUQVJHRVRfQ1hYRkxBR1M9
JHtUQVJHRVRfQ0ZMQUdTfSAtZnBlcm1pc3NpdmUKZXhwb3J0IFRBUkdFVF9DWFhGTEFHUz0iLU8y
IC1waXBlIC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZnBlcm1pc3NpdmUiCiMg
QlVJTERfQVJDSD0ke0Bvcy51bmFtZSgpWzRdfQpCVUlMRF9BUkNIPSJ4ODZfNjQiCiMgTUFLRT1t
YWtlCmV4cG9ydCBNQUtFPSJtYWtlIgojIFJERVBFTkRTX21ldGEtdG9vbGNoYWluLWRldj0ke1BO
fSAoPSAke0VYVEVORFBLR1Z9KQpSREVQRU5EU19tZXRhLXRvb2xjaGFpbi1kZXY9Im1ldGEtdG9v
bGNoYWluICg9IDEuMC1yNykiCiMgaW5jbHVkZWRpcj0ke2V4ZWNfcHJlZml4fS9pbmNsdWRlCmV4
cG9ydCBpbmNsdWRlZGlyPSIvdXNyL2luY2x1ZGUiCiMgRklMRVNfJHtQTn0tZG9jPU5vbmUKIyBQ
UklPUklUWT1vcHRpb25hbApQUklPUklUWT0ib3B0aW9uYWwiCiMgUEFSQUxMRUxfTUFLRUlOU1Q9
JHtQQVJBTExFTF9NQUtFfQpQQVJBTExFTF9NQUtFSU5TVD0iLWogMTIiCiMgU0VQUFVLVV9RVUVS
WT1Ob25lCiMgQkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OPXN5c3Jvb3RfY2hlY2toYXNoZXMK
QkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OPSJzeXNyb290X2NoZWNraGFzaGVzIgojIFNFQ1RJ
T049YmFzZQpTRUNUSU9OPSJiYXNlIgojIFNES19DQ19BUkNIPSR7QlVJTERfQ0NfQVJDSH0KIyBN
QUlOVEFJTkVSPVBva3kgPHBva3lAeW9jdG9wcm9qZWN0Lm9yZz4KTUFJTlRBSU5FUj0iUG9reSA8
cG9reUB5b2N0b3Byb2plY3Qub3JnPiIKIyBCVUlMRF9DQz0ke0NDQUNIRX0ke0JVSUxEX1BSRUZJ
WH1nY2MgJHtCVUlMRF9DQ19BUkNIfQpleHBvcnQgQlVJTERfQ0M9ImdjYyIKIyBMSUJDT1ZFUlJJ
REU9OmxpYmMtZ2xpYmMKTElCQ09WRVJSSURFPSI6bGliYy1nbGliYyIKIyBCVUlMRF9MREZMQUdT
PS1MJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IC1MJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElW
RX0gLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLWxp
bmssJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0gLVdsLC1ycGF0aCwke1NUQUdJTkdfTElC
RElSX05BVElWRX0gLVdsLC1ycGF0aCwke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSAtV2ws
LU8xCmV4cG9ydCBCVUlMRF9MREZMQUdTPSItTC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliIC1ML2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L2xpYiAtV2wsLXJw
YXRoLWxpbmssL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMv
eDg2XzY0LWxpbnV4L3Vzci9saWIgLVdsLC1ycGF0aC1saW5rLC9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC9saWIgLVdsLC1ycGF0aCwv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGlu
dXgvdXNyL2xpYiAtV2wsLXJwYXRoLC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC9saWIgLVdsLC1PMSIKIyBTREtUQVJHRVRTWVNST09U
PSR7U0RLUEFUSH0vc3lzcm9vdHMvJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU30KU0RLVEFSR0VUU1lT
Uk9PVD0iL29wdC9jb25jb3JkaWEvdjAuMS4zLTEtZ2FkMjhhNjMvc3lzcm9vdHMvY29yZTItY2Nk
LWxpbnV4IgojIFRBUkdFVF9BUkNIPSR7VFVORV9BUkNIfQp1bnNldCBUQVJHRVRfQVJDSAojIEJC
SU5DTFVERUxPR1NfTElORVM9Tm9uZQojIExJTlVYTElCQ1ZFUlNJT049My4yCkxJTlVYTElCQ1ZF
UlNJT049IjMuMiIKIyBMSUJDRVhURU5TSU9OPSR7QFsnJywgJy1nbnUnXVsoZC5nZXRWYXIoJ0FC
SUVYVEVOU0lPTicsIFRydWUpIG9yICcnKSAhPSAnJ119CiMgQ0NBQ0hFX0RJUj0ke1RNUERJUn0v
Y2NhY2hlLyR7TVVMVElNQUNIX0hPU1RfU1lTfS8ke1BOfQpleHBvcnQgQ0NBQ0hFX0RJUj0iL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvY2NhY2hlL2NvcmUyLWNjZC1saW51
eC9tZXRhLXRvb2xjaGFpbiIKIyBRVUlMVFJDRklMRT0ke1NUQUdJTkdfQklORElSX05BVElWRX0v
cXVpbHRyYwpRVUlMVFJDRklMRT0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9iaW4vcXVpbHRyYyIKIyBTRUNUSU9OX21ldGEt
dG9vbGNoYWluLWRldj1kZXZlbApTRUNUSU9OX21ldGEtdG9vbGNoYWluLWRldj0iZGV2ZWwiCiMg
QkJMQVlFUlM9IC9vcHQvcG9reS5naXQvbWV0YSAvb3B0L3Bva3kuZ2l0L21ldGEteW9jdG8gJHtU
T1BESVJ9L21ldGEtY29uY29yZGlhIApCQkxBWUVSUz0iL29wdC9wb2t5LmdpdC9tZXRhIC9vcHQv
cG9reS5naXQvbWV0YS15b2N0byAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL21l
dGEtY29uY29yZGlhIgojIEJPT1RTVFJBUF9FWFRSQV9SREVQRU5EUz0KIyBQUkVGRVJSRURfVkVS
U0lPTl9saW51eC1saWJjLWhlYWRlcnMtbmF0aXZlc2RrPSR7TElOVVhMSUJDVkVSU0lPTn0KUFJF
RkVSUkVEX1ZFUlNJT05fbGludXgtbGliYy1oZWFkZXJzLW5hdGl2ZXNkaz0iMy4yIgojIEJVSUxE
X0xEPSR7QlVJTERfUFJFRklYfWxkICR7QlVJTERfTERfQVJDSH0KZXhwb3J0IEJVSUxEX0xEPSJs
ZCIKIyBCVUlMRF9TWVM9JHtCVUlMRF9BUkNIfSR7QlVJTERfVkVORE9SfS0ke0JVSUxEX09TfQpC
VUlMRF9TWVM9Ing4Nl82NC1saW51eCIKIyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NE
S19QUkVGSVh9bGliYy1mb3ItZ2NjLW5hdGl2ZXNkaz1Ob25lCiMgUUFERVBFTkRTX3ZpcnRjbGFz
cy1uYXRpdmU9CiMgQkJfQkFTRUhBU0hfdGFzay1kb191bnBhY2s9M2I2YWExMmQ2OTFiMmUxNmNl
ODE5N2UxMTdkN2EzNjEKQkJfQkFTRUhBU0hfdGFzay1kb191bnBhY2s9IjNiNmFhMTJkNjkxYjJl
MTZjZTgxOTdlMTE3ZDdhMzYxIgojIERJU1RST19GRUFUVVJFU19MSUJDX05FVD1saWJjLWluZXQg
bGliYy1uaXMKRElTVFJPX0ZFQVRVUkVTX0xJQkNfTkVUPSJsaWJjLWluZXQgbGliYy1uaXMiCiMg
UEFUQ0hERVBFTkRFTkNZPSR7UEFUQ0hUT09MfS1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdApQ
QVRDSERFUEVOREVOQ1k9InF1aWx0LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IgojIEVYVFJB
T1BLR0NPTkZJRz1wb2t5LWZlZWQtY29uZmlnLW9wa2cKRVhUUkFPUEtHQ09ORklHPSJwb2t5LWZl
ZWQtY29uZmlnLW9wa2ciCiMgT0VJTkNMVURFTE9HUz15ZXMKT0VJTkNMVURFTE9HUz0ieWVzIgoj
IFBSQVVUT0lOWD0ke1BGfQpQUkFVVE9JTlg9Im1ldGEtdG9vbGNoYWluLTEuMC1yNyIKIyBQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC9nZXR0ZXh0PWdldHRleHQKUFJFRkVSUkVEX1BST1ZJREVS
X3ZpcnR1YWwvZ2V0dGV4dD0iZ2V0dGV4dCIKIyBGRVRDSENPTU1BTkRfd2dldD0vdXNyL2Jpbi9l
bnYgd2dldCAtdCA1IC1udiAtLXBhc3NpdmUtZnRwIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgLVAg
JHtETF9ESVJ9ICcke1VSSX0nCkZFVENIQ09NTUFORF93Z2V0PSIvdXNyL2Jpbi9lbnYgd2dldCAt
dCA1IC1udiAtLXBhc3NpdmUtZnRwIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgLVAgL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9kb3dubG9hZHMgJyR7VVJJfSciCiMgR1BFX0VYVFJB
X1NWTj1zdm46Ly9wcm9qZWN0cy5saW51eHRvZ28ub3JnL3N2bi9ncGUvdHJ1bmsvZXh0cmE7bW9k
dWxlPSR7UE59CkdQRV9FWFRSQV9TVk49InN2bjovL3Byb2plY3RzLmxpbnV4dG9nby5vcmcvc3Zu
L2dwZS90cnVuay9leHRyYTttb2R1bGU9bWV0YS10b29sY2hhaW4iCiMgb2xkaW5jbHVkZWRpcj0k
e2V4ZWNfcHJlZml4fS9pbmNsdWRlCmV4cG9ydCBvbGRpbmNsdWRlZGlyPSIvdXNyL2luY2x1ZGUi
CiMgVFVORUNPTkZMSUNUUz1Ob25lCiMgU0VSSUFMX0NPTlNPTEU9MTE1MjAwIHR0eVMwClNFUklB
TF9DT05TT0xFPSIxMTUyMDAgdHR5UzAiCiMgRklMRVNfbWV0YS10b29sY2hhaW4tZG9jPSR7ZG9j
ZGlyfSAke21hbmRpcn0gJHtpbmZvZGlyfSAke2RhdGFkaXJ9L2d0ay1kb2MgJHtkYXRhZGlyfS9n
bm9tZS9oZWxwCkZJTEVTX21ldGEtdG9vbGNoYWluLWRvYz0iL3Vzci9zaGFyZS9kb2MgL3Vzci9z
aGFyZS9tYW4gL3Vzci9zaGFyZS9pbmZvIC91c3Ivc2hhcmUvZ3RrLWRvYyAvdXNyL3NoYXJlL2du
b21lL2hlbHAiCiMgVElNRT0xNjE3MTUKVElNRT0iMTYxNzE1IgojIFBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsL3g4Nl82NC1jY2RzZGstbGludXgtbGliYy1mb3ItZ2NjLW5hdGl2ZXNkaz0ke1RD
TElCQ30tbmF0aXZlc2RrClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3g4Nl82NC1jY2RzZGst
bGludXgtbGliYy1mb3ItZ2NjLW5hdGl2ZXNkaz0iZWdsaWJjLW5hdGl2ZXNkayIKIyBCQkZJTEVf
UFJJT1JJVFlfY29uY29yZGlhPU5vbmUKIyBsb2NhbHN0YXRlZGlyX25hdGl2ZXNkaz0vdmFyCmxv
Y2Fsc3RhdGVkaXJfbmF0aXZlc2RrPSIvdmFyIgojIFVQREFURUNPTU1BTkRfc3ZuPS91c3IvYmlu
L2VudiBzdm4gdXBkYXRlICR7U1ZOQ09PUFRTfQpVUERBVEVDT01NQU5EX3N2bj0iL3Vzci9iaW4v
ZW52IHN2biB1cGRhdGUgJHtTVk5DT09QVFN9IgojIFJSRUNPTU1FTkRTXyR7UE59LWRiZz1Ob25l
CiMgU0VQUFVLVV9VU0VSPU5vbmUKIyBGRUVEX0RFUExPWURJUl9CQVNFX1VSST1Ob25lCiMgVFVO
RV9QS0dBUkNIX3R1bmUtY29yZTI9Y29yZTIKVFVORV9QS0dBUkNIX3R1bmUtY29yZTI9ImNvcmUy
IgojIExJTUlUX0JVSUxUX0xPQ0FMRVM9UE9TSVggZW5fVVMgZW5fR0IKTElNSVRfQlVJTFRfTE9D
QUxFUz0iUE9TSVggZW5fVVMgZW5fR0IiCiMgRElTVFJPX0ZFQVRVUkVTX1VTQj11c2Job3N0CkRJ
U1RST19GRUFUVVJFU19VU0I9InVzYmhvc3QiCiMgREVTQ1JJUFRJT05fJHtQTn0tZGJnPU5vbmUK
IyBFWFRFTkRQUkFVVE89JHtAWycuJHtQUkFVVE9ceDdkJywnJ11bZC5nZXRWYXIoJ1BSQVVUTycs
MSkgaXMgTm9uZV19CiMgTEFORz1lbl9VUy5VVEYtOApMQU5HPSJlbl9VUy5VVEYtOCIKIyBCVUlM
RF9DQ0xEPSR7QlVJTERfUFJFRklYfWdjYyAke0JVSUxEX0NDX0FSQ0h9CmV4cG9ydCBCVUlMRF9D
Q0xEPSJnY2MiCiMgREVCVUdfRkxBR1M9LWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVz
CkRFQlVHX0ZMQUdTPSItZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMiCiMgUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LWNjZHNkay1saW51eC1saWJjLWluaXRpYWwtbmF0
aXZlc2RrPSR7VENMSUJDfS1pbml0aWFsLW5hdGl2ZXNkawpQUkVGRVJSRURfUFJPVklERVJfdmly
dHVhbC94ODZfNjQtY2Nkc2RrLWxpbnV4LWxpYmMtaW5pdGlhbC1uYXRpdmVzZGs9ImVnbGliYy1p
bml0aWFsLW5hdGl2ZXNkayIKIyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1s
aW51eC1nY2MtaW5pdGlhbD1nY2MtY3Jvc3MtaW5pdGlhbApQUkVGRVJSRURfUFJPVklERVJfdmly
dHVhbC9pNTg2LWNjZC1saW51eC1nY2MtaW5pdGlhbD0iZ2NjLWNyb3NzLWluaXRpYWwiCiMgQj0k
e1N9CkI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTIt
Y2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9tZXRhLXRvb2xjaGFpbi0xLjAiCiMgR1JP
VVBfZmV0Y2hlcj1Ob25lCiMgU0RLX05BTUVfUFJFRklYPW9lY29yZQpTREtfTkFNRV9QUkVGSVg9
Im9lY29yZSIKIyBCQlBBVEg9L29wdC9wb2t5LmdpdC9tZXRhLXlvY3RvOjovb3B0L3Bva3kuZ2l0
L21ldGE6L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9tZXRhLWNvbmNvcmRpYQpC
QlBBVEg9Ii9vcHQvcG9reS5naXQvbWV0YS15b2N0bzo6L29wdC9wb2t5LmdpdC9tZXRhOi9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vbWV0YS1jb25jb3JkaWEiCiMgUkRFUEVORFNf
JHtQTn0tc3RhdGljZGV2PU5vbmUKIyBWSVJUVUFMLVJVTlRJTUVfbG9naW5fbWFuYWdlcj0KIyBI
T1NUX0xEX0FSQ0g9JHtUQVJHRVRfTERfQVJDSH0KSE9TVF9MRF9BUkNIPSIiCiMgR1JPVVBfZGVw
ZW5kZW5jaWVzPU5vbmUKIyBCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX2xpYz0zMGY4ZTc5
OTc2OThiY2FkNWVlMWM0ZmI1ODEzN2JmNwpCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX2xp
Yz0iMzBmOGU3OTk3Njk4YmNhZDVlZTFjNGZiNTgxMzdiZjciCiMgVFVORV9QS0dBUkNIX3R1bmUt
Y29yZTItNjQ9Y29yZTJfNjQKVFVORV9QS0dBUkNIX3R1bmUtY29yZTItNjQ9ImNvcmUyXzY0Igoj
IEJCX1NUUklDVF9DSEVDS1NVTT0xCkJCX1NUUklDVF9DSEVDS1NVTT0iMSIKIyBUT09MQ0hBSU5f
Q09ORklHU0lURV9TWVNST09UQ0FDSEU9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9zaGFyZS9pNTg2LWNjZC1saW51eF9jb25maWdf
c2l0ZS5kClRPT0xDSEFJTl9DT05GSUdTSVRFX1NZU1JPT1RDQUNIRT0iL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9zaGFyZS9pNTg2
LWNjZC1saW51eF9jb25maWdfc2l0ZS5kIgojIFNES0dDQ1ZFUlNJT049NC42JQpTREtHQ0NWRVJT
SU9OPSI0LjYlIgojIFBSRU1JUlJPUlM9YnpyOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlv
Y3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGN2czovLy4qLy4qICAgaHR0cDovL2Rv
d25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBnaXQ6Ly8uKi8uKiAg
IGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaGc6
Ly8uKi8uKiAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJj
ZXMvIFxuIG9zYzovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21p
cnJvci9zb3VyY2VzLyBcbiBwNDovLy4qLy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9q
ZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gc3ZrOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRz
LnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHN2bjovLy4qLy4qICAgaHR0cDov
L2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbgpQUkVNSVJST1JT
PSJienI6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Iv
c291cmNlcy8gXG4gY3ZzOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5v
cmcvbWlycm9yL3NvdXJjZXMvIFxuIGdpdDovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0
b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBoZzovLy4qLy4qICAgIGh0dHA6Ly9kb3du
bG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gb3NjOi8vLiovLiogICBo
dHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHA0Oi8v
LiovLiogICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2Vz
LyBcbiBzdms6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJy
b3Ivc291cmNlcy8gXG4gc3ZuOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVj
dC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIgojIFJERVBFTkRTPSR7VE9PTENIQUlOX1RBUkdFVF9U
QVNLfSAke1RPT0xDSEFJTl9IT1NUX1RBU0t9ClJERVBFTkRTPSJ0YXNrLWNvcmUtc3RhbmRhbG9u
ZS1zZGstdGFyZ2V0IHRhc2stY29yZS1zdGFuZGFsb25lLXNkay10YXJnZXQtZGJnIHRhc2stc2Rr
LWhvc3QtbmF0aXZlc2RrIHRhc2stY3Jvc3MtY2FuYWRpYW4taTU4NiIKIyBQQUNLQUdFUz0KIyBF
WENMVURFX0ZST01fV09STERfcG4tY2x1dHRlci1ib3gyZD0xCkVYQ0xVREVfRlJPTV9XT1JMRF9w
bi1jbHV0dGVyLWJveDJkPSIxIgojIElQS0dDT05GX1RBUkdFVD0ke1dPUktESVJ9L29wa2cuY29u
ZgpJUEtHQ09ORl9UQVJHRVQ9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9vcGtnLmNvbmYiCiMg
QlVJTERfQ1BQPSR7QlVJTERfUFJFRklYfWNwcCAke0JVSUxEX0NDX0FSQ0h9CmV4cG9ydCBCVUlM
RF9DUFA9ImNwcCIKIyBIT01FUEFHRT11bmtub3duCkhPTUVQQUdFPSJ1bmtub3duIgojIFNBTklU
WV9WRVJTSU9OPTEKU0FOSVRZX1ZFUlNJT049IjEiCiMgREVQTE9ZX0RJUl9UT09MUz0ke0RFUExP
WV9ESVJ9L3Rvb2xzCkRFUExPWV9ESVJfVE9PTFM9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL2RlcGxveS90b29scyIKIyBMSUNfRklMRVNfQ0hLU1VNPWZpbGU6Ly8ke0NP
UkVCQVNFfS9MSUNFTlNFO21kNT0zZjQwZDc5OTQzOTcxMDkyODVlYzdiODFmZGViM2I1OCAgICAg
ICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0z
ZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMApMSUNfRklMRVNfQ0hLU1VNPSJmaWxlOi8v
L29wdC9wb2t5LmdpdC9MSUNFTlNFO21kNT0zZjQwZDc5OTQzOTcxMDkyODVlYzdiODFmZGViM2I1
OCAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8vb3B0L3Bva3kuZ2l0L21ldGEvQ09QWUlORy5N
SVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgojIExJTktFUl9IQVNIX1NU
WUxFX21pcHM9c3lzdgpMSU5LRVJfSEFTSF9TVFlMRV9taXBzPSJzeXN2IgojIEZJTEVTX21ldGEt
dG9vbGNoYWluLXN0YXRpY2Rldj0ke2xpYmRpcn0vKi5hICR7YmFzZV9saWJkaXJ9LyouYSAke2xp
YmRpcn0vJHtCUE59LyouYQpGSUxFU19tZXRhLXRvb2xjaGFpbi1zdGF0aWNkZXY9Ii91c3IvbGli
LyouYSAvbGliLyouYSAvdXNyL2xpYi9tZXRhLXRvb2xjaGFpbi8qLmEiCiMgQVNORUVERURfcG4t
cnBtPQojIEJBU0VfTElCX3R1bmUteDg2LTY0PWxpYjY0CkJBU0VfTElCX3R1bmUteDg2LTY0PSJs
aWI2NCIKIyBYODZBUkNIMzI9aTU4NgpYODZBUkNIMzI9Imk1ODYiCiMgQ1BVX0ZFQVRVUkVTX2Fy
bT12ZnAKQ1BVX0ZFQVRVUkVTX2FybT0idmZwIgojIFJFU1VNRUNPTU1BTkRfd2dldD0vdXNyL2Jp
bi9lbnYgd2dldCAtYyAtdCA1IC1udiAtLXBhc3NpdmUtZnRwIC0tbm8tY2hlY2stY2VydGlmaWNh
dGUgLVAgJHtETF9ESVJ9ICcke1VSSX0nClJFU1VNRUNPTU1BTkRfd2dldD0iL3Vzci9iaW4vZW52
IHdnZXQgLWMgLXQgNSAtbnYgLS1wYXNzaXZlLWZ0cCAtLW5vLWNoZWNrLWNlcnRpZmljYXRlIC1Q
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vZG93bmxvYWRzICcke1VSSX0nIgoj
IEJCX0JBU0VIQVNIX3Rhc2stZG9fcG9wdWxhdGVfc2RrPWZlZmYxYWJkOTBjOTU1ODA3MTFmMjdj
YjgyOGVkM2FmCkJCX0JBU0VIQVNIX3Rhc2stZG9fcG9wdWxhdGVfc2RrPSJmZWZmMWFiZDkwYzk1
NTgwNzExZjI3Y2I4MjhlZDNhZiIKIyBGSUxFU18ke1BOfS1zdGF0aWNkZXY9Tm9uZQojIEdQRV9N
SVJST1I9aHR0cDovL2dwZS5saW51eHRvZ28ub3JnL2Rvd25sb2FkL3NvdXJjZQpHUEVfTUlSUk9S
PSJodHRwOi8vZ3BlLmxpbnV4dG9nby5vcmcvZG93bmxvYWQvc291cmNlIgojIHByZWZpeF9uYXRp
dmVzZGs9L3VzcgpwcmVmaXhfbmF0aXZlc2RrPSIvdXNyIgojIFNTVEFURV9TQ0FOX0NNRD1maW5k
ICR7U1NUQVRFX0JVSUxERElSfSBcKCAtbmFtZSAiJHtAIlwiIC1vIC1uYW1lIFwiIi5qb2luKGQu
Z2V0VmFyKCJTU1RBVEVfU0NBTl9GSUxFUyIsIFRydWUpLnNwbGl0KCkpfSIgXCkgLXR5cGUgZgpT
U1RBVEVfU0NBTl9DTUQ9ImZpbmQgJHtTU1RBVEVfQlVJTERESVJ9IFwoIC1uYW1lIFwiKi5sYVwi
IC1vIC1uYW1lIFwiKi1jb25maWdcIiAtbyAtbmFtZSBcIipfY29uZmlnXCIgXCkgLXR5cGUgZiIK
IyBIQU5ESEVMRFNfQ1ZTPWN2czovL2Fub25jdnM6YW5vbmN2c0Bhbm9uY3ZzLmhhbmRoZWxkcy5v
cmcvY3ZzCkhBTkRIRUxEU19DVlM9ImN2czovL2Fub25jdnM6YW5vbmN2c0Bhbm9uY3ZzLmhhbmRo
ZWxkcy5vcmcvY3ZzIgojIFNUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFPSR7U1RBR0lOR19ESVJf
TkFUSVZFfSR7YmFzZV9saWJkaXJfbmF0aXZlfQpTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRT0i
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxp
bnV4L2xpYiIKIyBTU1RBVEVfTUFORklMRVBSRUZJWD0ke1NTVEFURV9NQU5GSUxFQkFTRX0ke1BO
fQpTU1RBVEVfTUFORklMRVBSRUZJWD0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvc3N0YXRlLWNvbnRyb2wvbWFuaWZlc3QtY29uY29yZGlhLW1ldGEtdG9vbGNoYWluIgoj
IEZJTEVTX21ldGEtdG9vbGNoYWluLWxvY2FsZT0ke2RhdGFkaXJ9L2xvY2FsZQpGSUxFU19tZXRh
LXRvb2xjaGFpbi1sb2NhbGU9Ii91c3Ivc2hhcmUvbG9jYWxlIgojIEJPT1RTVFJBUF9FWFRSQV9S
UkVDT01NRU5EUz0KIyBCQl9CQVNFSEFTSF90YXNrLWRvX3BhY2thZ2Vfd3JpdGVfaXBrX3NldHNj
ZW5lPWRkZTQ4YzJlZGMwNGZjODRlZjA0NmY4MTczNzk0ZjkyCkJCX0JBU0VIQVNIX3Rhc2stZG9f
cGFja2FnZV93cml0ZV9pcGtfc2V0c2NlbmU9ImRkZTQ4YzJlZGMwNGZjODRlZjA0NmY4MTczNzk0
ZjkyIgojIFNES19ERVBMT1k9JHtUTVBESVJ9L2RlcGxveS9zZGsKU0RLX0RFUExPWT0iL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L3NkayIKIyBQUkVGRVJSRURf
VkVSU0lPTl9nemlwLW5hdGl2ZT0xLjQKUFJFRkVSUkVEX1ZFUlNJT05fZ3ppcC1uYXRpdmU9IjEu
NCIKIyBCQkZJTEVfUFJJT1JJVFlfbm9ybWFsPTUKQkJGSUxFX1BSSU9SSVRZX25vcm1hbD0iNSIK
IyBUT1BESVI9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3RybwpUT1BESVI9Ii9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8iCiMgU0VDVElPTl9tZXRhLXRvb2xjaGFpbi1k
Ymc9ZGV2ZWwKU0VDVElPTl9tZXRhLXRvb2xjaGFpbi1kYmc9ImRldmVsIgojIERJU1RST19GRUFU
VVJFU19MSUJDX1RJTlk9bGliYy1saWJtIGxpYmMtY3J5cHQKRElTVFJPX0ZFQVRVUkVTX0xJQkNf
VElOWT0ibGliYy1saWJtIGxpYmMtY3J5cHQiCiMgQUxMT1dFRF9GTEFHUz0tTyAtbWNwdSAtbWFy
Y2ggLXBpcGUKQUxMT1dFRF9GTEFHUz0iLU8gLW1jcHUgLW1hcmNoIC1waXBlIgojIEFTTkVFREVE
X3BuLW1pbmltbz0KIyBWSVJUVUFMLVJVTlRJTUVfdXBkYXRlLWFsdGVybmF0aXZlcz11cGRhdGUt
YWx0ZXJuYXRpdmVzLWN3b3J0aApWSVJUVUFMLVJVTlRJTUVfdXBkYXRlLWFsdGVybmF0aXZlcz0i
dXBkYXRlLWFsdGVybmF0aXZlcy1jd29ydGgiCiMgRklMRV9ESVJOQU1FPSR7QG9zLnBhdGguZGly
bmFtZShkLmdldFZhcignRklMRScpKX0KRklMRV9ESVJOQU1FPSIvb3B0L3Bva3kuZ2l0L21ldGEv
cmVjaXBlcy1jb3JlL21ldGEiCiMgU09VUkNFRk9SR0VfTUlSUk9SPWh0dHA6Ly9kb3dubG9hZHMu
c291cmNlZm9yZ2UubmV0ClNPVVJDRUZPUkdFX01JUlJPUj0iaHR0cDovL2Rvd25sb2Fkcy5zb3Vy
Y2Vmb3JnZS5uZXQiCiMgREVGQVVMVFRVTkU9Y29yZTIKREVGQVVMVFRVTkU9ImNvcmUyIgojIFNU
QUdJTkdfRVhFQ1BSRUZJWERJUj0ke1NUQUdJTkdfRElSX0hPU1R9JHtleGVjX3ByZWZpeH0KU1RB
R0lOR19FWEVDUFJFRklYRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC9zeXNyb290cy9jb25jb3JkaWEvdXNyIgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7
VEFSR0VUX1BSRUZJWH1saWJjLWluaXRpYWw9Tm9uZQojIEJVSUxEX0NGTEFHUz0ke0JVSUxEX0NQ
UEZMQUdTfSAke0JVSUxEX09QVElNSVpBVElPTn0KZXhwb3J0IEJVSUxEX0NGTEFHUz0iLWlzeXN0
ZW0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQt
bGludXgvdXNyL2luY2x1ZGUgLU8yIC1waXBlIgojIFBTRVVET19MT0NBTFNUQVRFRElSPSR7V09S
S0RJUn0vcHNldWRvLwpQU0VVRE9fTE9DQUxTVEFURURJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4w
LXI3L3BzZXVkby8iCiMgQVNTVU1FX1NITElCUz1Ob25lCiMgT0xERVNUX0tFUk5FTD0yLjYuMTYK
T0xERVNUX0tFUk5FTD0iMi42LjE2IgojIEZJTEVTX21ldGEtdG9vbGNoYWluLWRldj0ke2luY2x1
ZGVkaXJ9ICR7bGliZGlyfS9saWIqJHtTT0xJQlNERVZ9ICR7bGliZGlyfS8qLmxhICR7bGliZGly
fS8qLm8gJHtsaWJkaXJ9L3BrZ2NvbmZpZyAke2RhdGFkaXJ9L3BrZ2NvbmZpZyAke2RhdGFkaXJ9
L2FjbG9jYWwgJHtiYXNlX2xpYmRpcn0vKi5vCkZJTEVTX21ldGEtdG9vbGNoYWluLWRldj0iL3Vz
ci9pbmNsdWRlIC91c3IvbGliL2xpYiouc28gL3Vzci9saWIvKi5sYSAvdXNyL2xpYi8qLm8gL3Vz
ci9saWIvcGtnY29uZmlnIC91c3Ivc2hhcmUvcGtnY29uZmlnIC91c3Ivc2hhcmUvYWNsb2NhbCAv
bGliLyoubyIKIyBQUkVGRVJSRURfVkVSU0lPTl9weXRob24tbmF0aXZlPTIuNy4yClBSRUZFUlJF
RF9WRVJTSU9OX3B5dGhvbi1uYXRpdmU9IjIuNy4yIgojIFNFQ1RJT05fJHtQTn0tZG9jPU5vbmUK
IyBYQVVUSE9SSVRZPSR7SE9NRX0vLlhhdXRob3JpdHkKWEFVVEhPUklUWT0iL2hvbWUvcmNoYXRy
ZS8uWGF1dGhvcml0eSIKIyBBVVRIT1I9Tm9uZQojIEJCRklMRV9QQVRURVJOPV4vaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL21ldGEtY29uY29yZGlhLwpCQkZJTEVfUEFUVEVSTj0i
Xi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vbWV0YS1jb25jb3JkaWEvIgojIEJV
SUxEU0RLX0xERkxBR1M9LUwke1NUQUdJTkdfTElCRElSfSAtV2wsLXJwYXRoLWxpbmssJHtTVEFH
SU5HX0xJQkRJUn0gLVdsLC1ycGF0aCwke2xpYmRpcn0gLVdsLC1PMSAtTCR7U1RBR0lOR19ESVJf
SE9TVH0ke2Jhc2VfbGliZGlyfSAtV2wsLXJwYXRoLWxpbmssJHtTVEFHSU5HX0RJUl9IT1NUfSR7
YmFzZV9saWJkaXJ9IC1XbCwtcnBhdGgsJHtiYXNlX2xpYmRpcn0gLVdsLC1PMQpCVUlMRFNES19M
REZMQUdTPSItTC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3Rz
L2NvbmNvcmRpYS91c3IvbGliIC1XbCwtcnBhdGgtbGluaywvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNyL2xpYiAtV2wsLXJwYXRoLC91
c3IvbGliIC1XbCwtTzEgLUwvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9z
eXNyb290cy9jb25jb3JkaWEvbGliIC1XbCwtcnBhdGgtbGluaywvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvbGliIC1XbCwtcnBhdGgsL2xp
YiAtV2wsLU8xIgojIEJBU0VMSUI9bGliCkJBU0VMSUI9ImxpYiIKIyBQT0tZX0RFRkFVTFRfRVhU
UkFfUkRFUEVORFM9dGFzay1jb3JlLWJvb3QKUE9LWV9ERUZBVUxUX0VYVFJBX1JERVBFTkRTPSJ0
YXNrLWNvcmUtYm9vdCIKIyBTT0xJQlNERVY9LnNvClNPTElCU0RFVj0iLnNvIgojIEZJTEVTXyR7
UE59LWRldj1Ob25lCiMgU0VQUFVLVV9QUk9EVUNUPU5vbmUKIyBVU0VSX0NMQVNTRVM9aW1hZ2Ut
bWtsaWJzIGltYWdlLXByZWxpbmsKVVNFUl9DTEFTU0VTPSJpbWFnZS1ta2xpYnMgaW1hZ2UtcHJl
bGluayIKIyBCQklOQ0xVREVEPS9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3Byc2Vydi5iYmNs
YXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzIC9vcHQv
cG9reS5naXQvbWV0YS9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEv
Y2xhc3Nlcy9wb3B1bGF0ZV9zZGsuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9i
YXNlLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIC9v
cHQvcG9reS5naXQvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5p
bmMgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWVnbGliYy5p
bmMgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvcG9wdWxhdGVfc2RrX2lway5iYmNsYXNzIC9v
cHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21l
dGEvY2xhc3Nlcy9pbWFnZXRlc3QtZHVtbXkuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY29u
Zi9hYmlfdmVyc2lvbi5jb25mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vbWV0
YS1jb25jb3JkaWEvY29uZi9sYXllci5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL2lu
c2FuZS5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3Rvb2xjaGFpbi1zY3JpcHRz
LmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12
ZXJzaW9ucy5pbmMgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvc2l0ZWluZm8uYmJjbGFzcyAv
b3B0L3Bva3kuZ2l0L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jIC9v
cHQvcG9reS5naXQvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvb3B0L3Bva3ku
Z2l0L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNz
ZXMvc2FuaXR5LmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvbWlycm9ycy5iYmNs
YXNzIC9vcHQvcG9reS5naXQvbWV0YS15b2N0by9jb25mL2xheWVyLmNvbmYgL29wdC9wb2t5Lmdp
dC9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jIC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vbWV0YS1jb25jb3JkaWEvY29uZi9tYWNoaW5lL2NvbmNvcmRp
YS5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jb25mL2xheWVyLmNvbmYgL29wdC9wb2t5LmdpdC9t
ZXRhL2NsYXNzZXMvcGFja2FnZV9pcGsuYmJjbGFzcyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL2NvbmYvbG9jYWwuY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEteW9jdG8vY29uZi9k
aXN0cm8vcG9reS10aW55LmNvbmYgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvYml0YmFrZS5jb25m
IC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3V0aWxzLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9t
ZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3V0
aWxpdHktdGFza3MuYmJjbGFzcyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL2Nv
bmYvc2l0ZS5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3BhdGNoLmJiY2xhc3MgL29w
dC9wb2t5LmdpdC9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9jb25mL2JibGF5ZXJzLmNvbmYgL29wdC9wb2t5
LmdpdC9tZXRhL2NsYXNzZXMvcGFja2FnZWRhdGEuYmJjbGFzcyAvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL2NvbmYvZGlzdHJvL2NvbmNvcmRpYS5jb25mIC9vcHQvcG9reS5naXQv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmMgL29wdC9wb2t5LmdpdC9tZXRh
L2NvbmYvbWFjaGluZS9pbmNsdWRlL2lhMzIvYXJjaC1pYTMyLmluYyAvb3B0L3Bva3kuZ2l0L21l
dGEvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nl
cy9kZWJpYW4uYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNs
YXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzIC9vcHQvcG9reS5n
aXQvbWV0YS9jb25mL3Nhbml0eS5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL2RldnNo
ZWxsLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvbWV0YS5iYmNsYXNzIC9vcHQv
cG9reS5naXQvbWV0YS15b2N0by9jb25mL2Rpc3Ryby9wb2t5LmNvbmYgL29wdC9wb2t5LmdpdC9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIC9vcHQvcG9reS5naXQv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAvb3B0L3Bva3ku
Z2l0L21ldGEvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3MKQkJJTkNMVURFRD0iL29wdC9w
b2t5LmdpdC9tZXRhL2NsYXNzZXMvcHJzZXJ2LmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2Ns
YXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvbG9n
Z2luZy5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3BvcHVsYXRlX3Nkay5iYmNs
YXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0
L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvb3B0L3Bva3kuZ2l0L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZWdsaWJjLmluYyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xh
c3Nlcy9wb3B1bGF0ZV9zZGtfaXBrLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMv
c3RhZ2luZy5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL2ltYWdldGVzdC1kdW1t
eS5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jb25mL2FiaV92ZXJzaW9uLmNvbmYgL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9tZXRhLWNvbmNvcmRpYS9jb25mL2xheWVyLmNv
bmYgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3MgL29wdC9wb2t5Lmdp
dC9tZXRhL2NsYXNzZXMvdG9vbGNoYWluLXNjcmlwdHMuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAvb3B0L3Bva3kuZ2l0
L21ldGEvY2xhc3Nlcy9zaXRlaW5mby5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmMgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvZGlz
dHJvL2RlZmF1bHRzZXR1cC5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9zYW5pdHkuYmJjbGFzcyAvb3B0L3Bv
a3kuZ2l0L21ldGEvY2xhc3Nlcy9taXJyb3JzLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhLXlv
Y3RvL2NvbmYvbGF5ZXIuY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEvY29uZi9tYWNoaW5lL2luY2x1
ZGUvdHVuZS1jb3JlMi5pbmMgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9tZXRh
LWNvbmNvcmRpYS9jb25mL21hY2hpbmUvY29uY29yZGlhLmNvbmYgL29wdC9wb2t5LmdpdC9tZXRh
L2NvbmYvbGF5ZXIuY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9wYWNrYWdlX2lway5i
YmNsYXNzIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vY29uZi9sb2NhbC5jb25m
IC9vcHQvcG9reS5naXQvbWV0YS15b2N0by9jb25mL2Rpc3Ryby9wb2t5LXRpbnkuY29uZiAvb3B0
L3Bva3kuZ2l0L21ldGEvY29uZi9iaXRiYWtlLmNvbmYgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNz
ZXMvdXRpbHMuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xh
c3MgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNsYXNzIC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vY29uZi9zaXRlLmNvbmYgL29wdC9wb2t5Lmdp
dC9tZXRhL2NsYXNzZXMvcGF0Y2guYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY29uZi9tYWNo
aW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL2NvbmYvYmJsYXllcnMuY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9wYWNrYWdl
ZGF0YS5iYmNsYXNzIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vY29uZi9kaXN0
cm8vY29uY29yZGlhLmNvbmYgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
YXMtbmVlZGVkLmluYyAvb3B0L3Bva3kuZ2l0L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvaWEz
Mi9hcmNoLWlhMzIuaW5jIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL2ltYWdlLW1rbGlicy5i
YmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzIC9vcHQvcG9r
eS5naXQvbWV0YS9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2Ns
YXNzZXMvc3N0YXRlLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvc2FuaXR5LmNvbmYg
L29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvZGV2c2hlbGwuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0
L21ldGEvY2xhc3Nlcy9tZXRhLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhLXlvY3RvL2NvbmYv
ZGlzdHJvL3Bva3kuY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90
Y21vZGUtZGVmYXVsdC5pbmMgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL2ltYWdlLXBy
ZWxpbmsuYmJjbGFzcyIKIyBNS1RFTVBESVJDTUQ9bWt0ZW1wIC1kIC1xICR7VE1QQkFTRX0KTUtU
RU1QRElSQ01EPSJta3RlbXAgLWQgLXEgJHtUTVBCQVNFfSIKIyBESVNUUk9fRkVBVFVSRVNfTElC
Q19SRUdFWD1saWJjLXBvc2l4LXJlZ2V4cApESVNUUk9fRkVBVFVSRVNfTElCQ19SRUdFWD0ibGli
Yy1wb3NpeC1yZWdleHAiCiMgQkJfSEFTSENIRUNLX0ZVTkNUSU9OPXNzdGF0ZV9jaGVja2hhc2hl
cwpCQl9IQVNIQ0hFQ0tfRlVOQ1RJT049InNzdGF0ZV9jaGVja2hhc2hlcyIKIyBJUEtHQ09ORl9T
REs9JHtXT1JLRElSfS9vcGtnLXNkay5jb25mCklQS0dDT05GX1NESz0iL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hh
aW4tMS4wLXI3L29wa2ctc2RrLmNvbmYiCiMgU09MSUJTPS5zby4qClNPTElCUz0iLnNvLioiCiMg
UFJPVklERVM9JHtQfSAke1BGfSAke1BOfSAKUFJPVklERVM9Im1ldGEtdG9vbGNoYWluLTEuMCBt
ZXRhLXRvb2xjaGFpbi0xLjAtcjcgbWV0YS10b29sY2hhaW4iCiMgUFlUSE9OX0JBU0VWRVJTSU9O
PTIuNwpQWVRIT05fQkFTRVZFUlNJT049IjIuNyIKIyBSUFJPVklERVM9CiMgZG9fcGFja2FnZV93
cml0ZV90YXI9Tm9uZQojIGRvY2Rpcj0ke2RhdGFkaXJ9L2RvYwpleHBvcnQgZG9jZGlyPSIvdXNy
L3NoYXJlL2RvYyIKIyBESVNUUk9fRkVBVFVSRVM9JHtESVNUUk9fRkVBVFVSRVNfVElOWX0gJHtE
SVNUUk9fRkVBVFVSRVNfTkVUfSAke0RJU1RST19GRUFUVVJFU19VU0J9ICR7RElTVFJPX0ZFQVRV
UkVTX1VTQkdBREdFVH0gJHtESVNUUk9fRkVBVFVSRVNfV0lGSX0gJHtESVNUUk9fRkVBVFVSRVNf
TElCQ30gIGxhcmdlZmlsZSBvcGVuZ2wke0BvZS51dGlscy5kaXN0cm9fZmVhdHVyZXNfYmFja2Zp
bGwoZCl9CkRJU1RST19GRUFUVVJFUz0icGNpIGlwdjQgdXNiaG9zdCAke0RJU1RST19GRUFUVVJF
U19VU0JHQURHRVR9ICR7RElTVFJPX0ZFQVRVUkVTX1dJRkl9IGlwdjQgaXB2NiBsaWJjLWJhY2t0
cmFjZSBsaWJjLWJpZy1tYWNyb3MgbGliYy1ic2QgbGliYy1jeHgtdGVzdHMgbGliYy1jYXRnZXRz
IGxpYmMtY2hhcnNldHMgbGliYy1jcnlwdCAJCQkJCWxpYmMtY3J5cHQtdWZjIGxpYmMtZGItYWxp
YXNlcyBsaWJjLWVudnogbGliYy1mY3Z0IGxpYmMtZm10bXNnIGxpYmMtZnN0YWIgbGliYy1mdHJh
dmVyc2UgCQkJCQlsaWJjLWdldGxvZ2luIGxpYmMtaWRuIGxpYmMtaW5ldC1hbmwgbGliYy1saWJt
IGxpYmMtbGlibS1iaWcgbGliYy1sb2NhbGVzIGxpYmMtbG9jYWxlLWNvZGUgCQkJCQlsaWJjLW1l
bXVzYWdlIGxpYmMtbmlzIGxpYmMtbnNzd2l0Y2ggbGliYy1yY21kIGxpYmMtcnRsZC1kZWJ1ZyBs
aWJjLXNwYXduIGxpYmMtc3RyZWFtcyBsaWJjLXN1bnJwYyAJCQkJCWxpYmMtdXRtcCBsaWJjLXV0
bXB4IGxpYmMtd29yZGV4cCBsaWJjLXBvc2l4LWNsYW5nLXdjaGFyIGxpYmMtcG9zaXgtcmVnZXhw
IGxpYmMtcG9zaXgtcmVnZXhwLWdsaWJjIAkJCQkJbGliYy1wb3NpeC13Y2hhci1pbyAgbGFyZ2Vm
aWxlIG9wZW5nbCBwdWxzZWF1ZGlvIgojIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3JlMi02
ND0ke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14ODYtNjR9IGNvcmUyXzY0ClBBQ0tBR0VfRVhU
UkFfQVJDSFNfdHVuZS1jb3JlMi02ND0ieDg2XzY0IGNvcmUyXzY0IgojIENPTkZfVkVSU0lPTj0x
CkNPTkZfVkVSU0lPTj0iMSIKIyBSRVNVTUVDT01NQU5EPUVSUk9SLCB0aGlzIG11c3QgYmUgYSBC
aXRCYWtlIGJ1ZwpSRVNVTUVDT01NQU5EPSJFUlJPUiwgdGhpcyBtdXN0IGJlIGEgQml0QmFrZSBi
dWciCiMgaW5mb2Rpcj0ke2RhdGFkaXJ9L2luZm8KZXhwb3J0IGluZm9kaXI9Ii91c3Ivc2hhcmUv
aW5mbyIKIyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1saWJjLWZv
ci1nY2M9JHtUQ0xJQkN9ClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtY2NkLWxpbnV4
LWxpYmMtZm9yLWdjYz0iZWdsaWJjIgojIFNBTklUWV9BQklGSUxFPSR7VE1QRElSfS9hYmlfdmVy
c2lvbgpTQU5JVFlfQUJJRklMRT0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvYWJpX3ZlcnNpb24iCiMgU0lURUNPTkZJR19TWVNST09UQ0FDSEU9JHtTVEFHSU5HX0RBVEFE
SVJ9LyR7VEFSR0VUX1NZU31fY29uZmlnX3NpdGUuZApTSVRFQ09ORklHX1NZU1JPT1RDQUNIRT0i
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlh
L3Vzci9zaGFyZS9pNTg2LWNjZC1saW51eF9jb25maWdfc2l0ZS5kIgojIHJ0X3Rvb2xzPS9vcHQv
cnQKZXhwb3J0IHJ0X3Rvb2xzPSIvb3B0L3J0IgojIERJU1RST09WRVJSSURFUz0ke0BkLmdldFZh
cignRElTVFJPJywgVHJ1ZSkgb3IgJyd9CkRJU1RST09WRVJSSURFUz0iY29uY29yZGlhIgojIENP
TU1FUkNJQUxfUVQ9CiMgU1VNTUFSWV9tZXRhLXRvb2xjaGFpbi1kb2M9JHtTVU1NQVJZfSAtIERv
Y3VtZW50YXRpb24gZmlsZXMKU1VNTUFSWV9tZXRhLXRvb2xjaGFpbi1kb2M9Im1ldGEtdG9vbGNo
YWluIHZlcnNpb24gMS4wLXI3IC0gRG9jdW1lbnRhdGlvbiBmaWxlcyIKIyBMSU5LRVJfSEFTSF9T
VFlMRT1nbnUKTElOS0VSX0hBU0hfU1RZTEU9ImdudSIKIyBTREtfRElSPSR7V09SS0RJUn0vc2Rr
ClNES19ESVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29y
ZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsiCiMgQ0M9JHtDQ0FDSEV9JHtI
T1NUX1BSRUZJWH1nY2MgJHtIT1NUX0NDX0FSQ0h9JHtUT09MQ0hBSU5fT1BUSU9OU30KZXhwb3J0
IENDPSJpNTg2LWNjZC1saW51eC1nY2MgIC1tMzIgICAgLW1hcmNoPWNvcmUyIC1tc3NlMyAtbXR1
bmU9Z2VuZXJpYyAtbWZwbWF0aD1zc2UgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSIKIyBUSElTRElSPSR7QG9zLnBhdGgu
ZGlybmFtZShkLmdldFZhcignRklMRScsIFRydWUpKX0KVEhJU0RJUj0iL29wdC9wb2t5LmdpdC9t
ZXRhL3JlY2lwZXMtY29yZS9tZXRhIgojIEhHRElSPSR7Q09fRElSfS9oZwpIR0RJUj0iL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9kb3dubG9hZHMvaGciCiMgUEFDS0FHRV9FWFRS
QV9BUkNIUz0ke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS0ke0RFRkFVTFRUVU5FfX0KUEFDS0FH
RV9FWFRSQV9BUkNIUz0ieDg2IGkzODYgaTQ4NiBpNTg2IGk2ODYgY29yZTIiCiMgQlVJTERfT1M9
JHtAb3MudW5hbWUoKVswXS5sb3dlcigpfQpCVUlMRF9PUz0ibGludXgiCiMgSU1BR0VfRlNUWVBF
Uz1leHQzIGNwaW8uZ3oKSU1BR0VfRlNUWVBFUz0iZXh0MyBjcGlvLmd6IgojIEZBS0VST09URU5W
PVBTRVVET19QUkVGSVg9JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtwcmVmaXhfbmF0aXZlfSBQU0VV
RE9fTE9DQUxTVEFURURJUj0ke1BTRVVET19MT0NBTFNUQVRFRElSfSBQU0VVRE9fUEFTU1dEPSR7
UFNFVURPX1BBU1NXRH0gUFNFVURPX05PU1lNTElOS0VYUD0xIFBTRVVET19ESVNBQkxFRD0wCkZB
S0VST09URU5WPSJQU0VVRE9fUFJFRklYPS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IgUFNFVURPX0xPQ0FMU1RBVEVESVI9L2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgv
bWV0YS10b29sY2hhaW4tMS4wLXI3L3BzZXVkby8gUFNFVURPX1BBU1NXRD0vaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEgUFNFVURPX05PU1lN
TElOS0VYUD0xIFBTRVVET19ESVNBQkxFRD0wIgojIFNUQUdJTkdfTE9BREVSX0RJUj0ke1NUQUdJ
TkdfRElSX0hPU1R9L2xvYWRlcgpTVEFHSU5HX0xPQURFUl9ESVI9Ii9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYS9sb2FkZXIiCiMgU1NUQVRF
X1BLRz0ke1NTVEFURV9ESVJ9LyR7U1NUQVRFX1BLR05BTUV9ClNTVEFURV9QS0c9Ii9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vc3N0YXRlLWNhY2hlL3NzdGF0ZS1tZXRhLXRvb2xj
aGFpbi1jb3JlMi1jY2QtbGludXgtMS4wLXI3LWNvcmUyLTItJHtCQl9UQVNLSEFTSH0iCiMgRElT
VFJPX0VYVFJBX1JERVBFTkRTPSAgJHtQT0tZX0RFRkFVTFRfRVhUUkFfUkRFUEVORFN9CkRJU1RS
T19FWFRSQV9SREVQRU5EUz0idGFzay1jb3JlLWJvb3QiCiMgTE9HTkFNRT1yY2hhdHJlCmV4cG9y
dCBMT0dOQU1FPSJyY2hhdHJlIgojIEFTTkVFREVEX3BuLWNvbnNvbGUtdG9vbHM9CiMgQVNORUVE
RURfcG4tcHVsc2VhdWRpbz0KIyBBU05FRURFRF9wbi1kaXN0Y2M9CiMgQkJGSUxFX1BBVFRFUk5f
Y29uY29yZGlhPU5vbmUKIyBIT1NUX09TPSR7VEFSR0VUX09TfQpIT1NUX09TPSJsaW51eCIKIyBh
bGxfcHJveHk9c29ja3M6Ly9wcm94eS1zb2Nrcy5qZi5pbnRlbC5jb206MTA4MC8KYWxsX3Byb3h5
PSJzb2NrczovL3Byb3h5LXNvY2tzLmpmLmludGVsLmNvbToxMDgwLyIKIyBURVJNPXh0ZXJtCmV4
cG9ydCBURVJNPSJ4dGVybSIKIyBMQVlFUl9DT05GX1ZFUlNJT049NApMQVlFUl9DT05GX1ZFUlNJ
T049IjQiCiMgTVVMVElNQUNIX0hPU1RfU1lTPSR7UEFDS0FHRV9BUkNIfSR7SE9TVF9WRU5ET1J9
LSR7SE9TVF9PU30KTVVMVElNQUNIX0hPU1RfU1lTPSJjb3JlMi1jY2QtbGludXgiCiMgVEFSR0VU
X0ZQVT0KIyBTVEFHSU5HX0RJUl9OQVRJVkU9JHtTVEFHSU5HX0RJUn0vJHtCVUlMRF9TWVN9ClNU
QUdJTkdfRElSX05BVElWRT0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
c3lzcm9vdHMveDg2XzY0LWxpbnV4IgojIEdOVV9NSVJST1I9ZnRwOi8vZnRwLmdudS5vcmcvZ251
CkdOVV9NSVJST1I9ImZ0cDovL2Z0cC5nbnUub3JnL2dudSIKIyBERVBMT1lfRElSPSR7VE1QRElS
fS9kZXBsb3kKREVQTE9ZX0RJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvZGVwbG95IgojIFNQRFhMSUNFTlNFTUFQPU5vbmUKIyBST09URlNfUE9TVElOU1RBTExfQ09N
TUFORD0gbGljZW5zZV9jcmVhdGVfbWFuaWZlc3Q7IApST09URlNfUE9TVElOU1RBTExfQ09NTUFO
RD0ibGljZW5zZV9jcmVhdGVfbWFuaWZlc3Q7IgojIE1BQ0hJTkVfRVhUUkFfUkRFUEVORFM9CiMg
TVVMVElfUFJPVklERVJfV0hJVEVMSVNUPXZpcnR1YWwvbGliaW50bCB2aXJ0dWFsL2xpYmludGwt
bmF0aXZlIHZpcnR1YWwvbGliaW50bC1uYXRpdmVzZGsgdmlydHVhbC94c2VydmVyIHZpcnR1YWwv
dXBkYXRlLWFsdGVybmF0aXZlcy1uYXRpdmUgdmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzCk1V
TFRJX1BST1ZJREVSX1dISVRFTElTVD0idmlydHVhbC9saWJpbnRsIHZpcnR1YWwvbGliaW50bC1u
YXRpdmUgdmlydHVhbC9saWJpbnRsLW5hdGl2ZXNkayB2aXJ0dWFsL3hzZXJ2ZXIgdmlydHVhbC91
cGRhdGUtYWx0ZXJuYXRpdmVzLW5hdGl2ZSB2aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2ZXMiCiMg
U0VDVElPTl8ke1BOfS1zdGF0aWNkZXY9Tm9uZQojIEFTTkVFREVEX3BuLXB1enpsZXM9CiMgU0lH
R0VOX0VYQ0xVREVSRUNJUEVTX0FCSVNBRkU9ICBzeXN2aW5pdC1pbml0dGFiIHNoYWRvdy1zZWN1
cmV0dHkgb3BrZy1jb25maWctYmFzZSBuZXRiYXNlIGZvcm1mYWN0b3IgeHNlcnZlci14Zjg2LWNv
bmZpZyBwb2ludGVyY2FsIGJhc2UtZmlsZXMga2V5bWFwcyAKU0lHR0VOX0VYQ0xVREVSRUNJUEVT
X0FCSVNBRkU9InN5c3Zpbml0LWluaXR0YWIgc2hhZG93LXNlY3VyZXR0eSBvcGtnLWNvbmZpZy1i
YXNlIG5ldGJhc2UgZm9ybWZhY3RvciB4c2VydmVyLXhmODYtY29uZmlnIHBvaW50ZXJjYWwgYmFz
ZS1maWxlcyBrZXltYXBzIgojIFNUQU1QPSR7VE1QRElSfS9zdGFtcHMvJHtNVUxUSU1BQ0hfVEFS
R0VUX1NZU30vJHtQRn0KU1RBTVA9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N0YW1wcy9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3IgojIEJCSU5D
TFVERUxPR1M9eWVzCkJCSU5DTFVERUxPR1M9InllcyIKIyBQUkVGRVJSRURfUFJPVklERVJfdmly
dHVhbC9saWJpbnRsPWVnbGliYwpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJpbnRsPSJl
Z2xpYmMiCiMgUUFfTE9HRklMRT0ke1RNUERJUn0vcWEubG9nClFBX0xPR0ZJTEU9Ii9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3FhLmxvZyIKIyBHQ0NWRVJTSU9OPTQuNiUK
R0NDVkVSU0lPTj0iNC42JSIKIyBCQVNFTElCX3Bvd2VycGM2ND1saWI2NApCQVNFTElCX3Bvd2Vy
cGM2ND0ibGliNjQiCiMgRVJST1JfUUE9ZGV2LXNvIGRlYnVnLWRlcHMgZGV2LWRlcHMgZGVidWct
ZmlsZXMgYXJjaCBsYTIgcGtnY29uZmlnIGxhIHBlcm1zCkVSUk9SX1FBPSJkZXYtc28gZGVidWct
ZGVwcyBkZXYtZGVwcyBkZWJ1Zy1maWxlcyBhcmNoIGxhMiBwa2djb25maWcgbGEgcGVybXMiCiMg
UFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliZ2w9bWVzYS1kcmkKUFJFRkVSUkVEX1BST1ZJ
REVSX3ZpcnR1YWwvbGliZ2w9Im1lc2EtZHJpIgojIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1j
b3JlMj0ke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14ODZ9IGkzODYgaTQ4NiBpNTg2IGk2ODYg
Y29yZTIKUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcmUyPSJ4ODYgaTM4NiBpNDg2IGk1ODYg
aTY4NiBjb3JlMiIKIyBCQVNFX0xJQl90dW5lLWNvcmUyLTY0LXgzMj1saWJ4MzIKQkFTRV9MSUJf
dHVuZS1jb3JlMi02NC14MzI9ImxpYngzMiIKIyBDUFBGTEFHUz0ke1RBUkdFVF9DUFBGTEFHU30K
IyBFWENMVURFX0ZST01fV09STEQ9MQpFWENMVURFX0ZST01fV09STEQ9IjEiCiMgUUVNVUlNQUdF
VEVTVFM9L29wdC9wb2t5LmdpdC9zY3JpcHRzL3FlbXVpbWFnZS10ZXN0cwpRRU1VSU1BR0VURVNU
Uz0iL29wdC9wb2t5LmdpdC9zY3JpcHRzL3FlbXVpbWFnZS10ZXN0cyIKIyBRQVBBVEhURVNUPU5v
bmUKIyBTU1RBVEVfTUFOTUFDSD1jb25jb3JkaWEKU1NUQVRFX01BTk1BQ0g9ImNvbmNvcmRpYSIK
IyBQS0dEQVRBX0RJUj0ke1RNUERJUn0vcGtnZGF0YS8ke01VTFRJTUFDSF9UQVJHRVRfU1lTfQpQ
S0dEQVRBX0RJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvcGtnZGF0
YS9jb3JlMi1jY2QtbGludXgiCiMgc3lzY29uZmRpcl9uYXRpdmU9L2V0YwpzeXNjb25mZGlyX25h
dGl2ZT0iL2V0YyIKIyBYTElCU19NSVJST1I9aHR0cDovL3hsaWJzLmZyZWVkZXNrdG9wLm9yZy9y
ZWxlYXNlClhMSUJTX01JUlJPUj0iaHR0cDovL3hsaWJzLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNl
IgojIFNES19BUkNIPSR7QlVJTERfQVJDSH0KU0RLX0FSQ0g9Ing4Nl82NCIKIyBQUkVGRVJSRURf
UFJPVklERVJfdmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzLW5hdGl2ZT1vcGtnLW5hdGl2ZQpQ
UkVGRVJSRURfUFJPVklERVJfdmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzLW5hdGl2ZT0ib3Br
Zy1uYXRpdmUiCiMgUElEPSR7QG9zLmdldHBpZCgpfQpQSUQ9IjEzMDYzIgojIERFUENIQUlOX1BP
U1Q9LWRldiAtZGJnCkRFUENIQUlOX1BPU1Q9Ii1kZXYgLWRiZyIKIyBTU1RBVEVfRElSPSR7VE9Q
RElSfS9zc3RhdGUtY2FjaGUKU1NUQVRFX0RJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby9zc3RhdGUtY2FjaGUiCiMgTUFDSElORV9GRUFUVVJFUz1rZXJuZWwyNiBwY2kgdXNi
aG9zdCBleHQyIGV4dDMgeDg2IGFjcGkgc2VyaWFsIHVzYmdhZGdldApNQUNISU5FX0ZFQVRVUkVT
PSJrZXJuZWwyNiBwY2kgdXNiaG9zdCBleHQyIGV4dDMgeDg2IGFjcGkgc2VyaWFsIHVzYmdhZGdl
dCIKIyBEPSR7V09SS0RJUn0vaW1hZ2UKRD0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L2ltYWdl
IgojIFRDTU9ERT1kZWZhdWx0ClRDTU9ERT0iZGVmYXVsdCIKIyBDT01NT05fTElDRU5TRV9ESVI9
JHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMKQ09NTU9OX0xJQ0VOU0VfRElS
PSIvb3B0L3Bva3kuZ2l0L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzIgojIFJBTkxJQj0ke0hP
U1RfUFJFRklYfXJhbmxpYgpleHBvcnQgUkFOTElCPSJpNTg2LWNjZC1saW51eC1yYW5saWIiCiMg
TE9DQUxFX1NFQ1RJT049CiMgUFNFVURPX1BBU1NXRD0ke1NUQUdJTkdfRElSX1RBUkdFVH0KUFNF
VURPX1BBU1NXRD0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9v
dHMvY29uY29yZGlhIgojIExJQkNfTE9DQUxFX0RFUEVOREVOQ0lFUz0JZWdsaWJjLWxvY2FsZWRh
dGEtaTE4biAJZWdsaWJjLWdjb252LWlibTg1MCAJZWdsaWJjLWdjb252LWNwMTI1MiAJZWdsaWJj
LWdjb252LWlzbzg4NTktMSAJZWdsaWJjLWdjb252LWlzbzg4NTktMTUgCWxvY2FsZS1iYXNlLWVu
LXVzIAlsb2NhbGUtYmFzZS1lbi1nYgpMSUJDX0xPQ0FMRV9ERVBFTkRFTkNJRVM9ImVnbGliYy1s
b2NhbGVkYXRhLWkxOG4gCWVnbGliYy1nY29udi1pYm04NTAgCWVnbGliYy1nY29udi1jcDEyNTIg
CWVnbGliYy1nY29udi1pc284ODU5LTEgCWVnbGliYy1nY29udi1pc284ODU5LTE1IAlsb2NhbGUt
YmFzZS1lbi11cyAJbG9jYWxlLWJhc2UtZW4tZ2IiCiMgTElDRU5TRV9ESVJFQ1RPUlk9JHtERVBM
T1lfRElSfS9saWNlbnNlcwpMSUNFTlNFX0RJUkVDVE9SWT0iL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2xpY2Vuc2VzIgojIGRvX3BhY2thZ2Vfd3JpdGVfcnBt
PU5vbmUKIyBUVU5FX0ZFQVRVUkVTX3R1bmUteDg2LTY0LXgzMj1teDMyClRVTkVfRkVBVFVSRVNf
dHVuZS14ODYtNjQteDMyPSJteDMyIgojIEJCX0JBU0VIQVNIX3Rhc2stZG9fcGF0Y2g9ZTkyODZj
Nzg0MTU0ZTkwYjY1ZmE3NGI5NDgxOGE3ZTgKQkJfQkFTRUhBU0hfdGFzay1kb19wYXRjaD0iZTky
ODZjNzg0MTU0ZTkwYjY1ZmE3NGI5NDgxOGE3ZTgiCiMgVFVORV9QS0dBUkNIX3R1bmUteDg2LTY0
LXgzMj14ODZfNjRfeDMyClRVTkVfUEtHQVJDSF90dW5lLXg4Ni02NC14MzI9Ing4Nl82NF94MzIi
CiMgU1RBR0lOR19ESVJfSE9TVD0ke1NUQUdJTkdfRElSfS8ke01BQ0hJTkV9ClNUQUdJTkdfRElS
X0hPU1Q9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2Nv
bmNvcmRpYSIKIyBiYXNlX3NiaW5kaXI9JHtiYXNlX3ByZWZpeH0vc2JpbgpleHBvcnQgYmFzZV9z
YmluZGlyPSIvc2JpbiIKIyBUVU5FX1BLR0FSQ0hfdHVuZS14ODYtNjQ9eDg2XzY0ClRVTkVfUEtH
QVJDSF90dW5lLXg4Ni02ND0ieDg2XzY0IgojIENYWD0ke0NDQUNIRX0ke0hPU1RfUFJFRklYfWcr
KyAke0hPU1RfQ0NfQVJDSH0ke1RPT0xDSEFJTl9PUFRJT05TfQpleHBvcnQgQ1hYPSJpNTg2LWNj
ZC1saW51eC1nKysgIC1tMzIgICAgLW1hcmNoPWNvcmUyIC1tc3NlMyAtbXR1bmU9Z2VuZXJpYyAt
bWZwbWF0aD1zc2UgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSIKIyBTREtQQVRITkFUSVZFPSR7U0RLUEFUSH0vc3lzcm9v
dHMvJHtTREtfU1lTfQpTREtQQVRITkFUSVZFPSIvb3B0L2NvbmNvcmRpYS92MC4xLjMtMS1nYWQy
OGE2My9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4IgojIFBSRUZFUlJFRF9QUk9WSURFUl9t
YXRjaGJveC1wYW5lbD1tYXRjaGJveC1wYW5lbC0yClBSRUZFUlJFRF9QUk9WSURFUl9tYXRjaGJv
eC1wYW5lbD0ibWF0Y2hib3gtcGFuZWwtMiIKIyBNQUNISU5FX0FSQ0g9JHtAW2QuZ2V0VmFyKCdU
VU5FX1BLR0FSQ0gnLCBUcnVlKSwgZC5nZXRWYXIoJ01BQ0hJTkUnLCBUcnVlKV1bYm9vbChkLmdl
dFZhcignTUFDSElORScsIFRydWUpKV0ucmVwbGFjZSgnLScsICdfJyl9Ck1BQ0hJTkVfQVJDSD0i
Y29uY29yZGlhIgojIElNQUdFX09WRVJIRUFEX0ZBQ1RPUj0xLjMKSU1BR0VfT1ZFUkhFQURfRkFD
VE9SPSIxLjMiCiMgQklOVVZFUlNJT049Mi4yMgpCSU5VVkVSU0lPTj0iMi4yMiIKIyBTREtfVkVO
RE9SPS1jY2RzZGsKU0RLX1ZFTkRPUj0iLWNjZHNkayIKIyBBU05FRURFRF9wbi1pY3U9CiMgUFJF
RkVSUkVEX1ZFUlNJT05fZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrPTIuMTUKUFJFRkVSUkVEX1ZF
UlNJT05fZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrPSIyLjE1IgojIFBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsL2xpYmljb252PWVnbGliYwpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJp
Y29udj0iZWdsaWJjIgojIEJCX0JBU0VIQVNIX3Rhc2stZG9faW5zdGFsbD1jMmM2M2VlMDg3ZTE1
N2UxNWUwN2ZhY2YxY2Q4NTg5ZQpCQl9CQVNFSEFTSF90YXNrLWRvX2luc3RhbGw9ImMyYzYzZWUw
ODdlMTU3ZTE1ZTA3ZmFjZjFjZDg1ODllIgojIEJVSUxEX1JBTkxJQj0ke0JVSUxEX1BSRUZJWH1y
YW5saWIKZXhwb3J0IEJVSUxEX1JBTkxJQj0icmFubGliIgojIERFU0NSSVBUSU9OXyR7UE59LWRv
Yz1Ob25lCiMgU0RLX1ZFUlNJT049JHtESVNUUk9fVkVSU0lPTn0KU0RLX1ZFUlNJT049InYwLjEu
My0xLWdhZDI4YTYzIgojIEJVSUxEX1ZFTkRPUj0KIyBLRVJORUxPUkdfTUlSUk9SPWh0dHA6Ly9r
ZXJuZWwub3JnL3B1YgpLRVJORUxPUkdfTUlSUk9SPSJodHRwOi8va2VybmVsLm9yZy9wdWIiCiMg
QUxMT1dfRU1QVFlfbWV0YS10b29sY2hhaW4tZGV2PTEKQUxMT1dfRU1QVFlfbWV0YS10b29sY2hh
aW4tZGV2PSIxIgojIFBSRUZFUlJFRF9WRVJTSU9OX2djYy1ydW50aW1lLW5hdGl2ZXNkaz0ke1NE
S0dDQ1ZFUlNJT059ClBSRUZFUlJFRF9WRVJTSU9OX2djYy1ydW50aW1lLW5hdGl2ZXNkaz0iNC42
JSIKIyBXQVJOX1FBPWxkZmxhZ3MgdXNlbGVzcy1ycGF0aHMgcnBhdGhzIHVuc2FmZS1yZWZlcmVu
Y2VzLWluLWJpbmFyaWVzIHVuc2FmZS1yZWZlcmVuY2VzLWluLXNjcmlwdHMgc3RhdGljZGV2CldB
Uk5fUUE9ImxkZmxhZ3MgdXNlbGVzcy1ycGF0aHMgcnBhdGhzIHVuc2FmZS1yZWZlcmVuY2VzLWlu
LWJpbmFyaWVzIHVuc2FmZS1yZWZlcmVuY2VzLWluLXNjcmlwdHMgc3RhdGljZGV2IgojIEFTTkVF
REVEPS1XbCwtLWFzLW5lZWRlZApBU05FRURFRD0iLVdsLC0tYXMtbmVlZGVkIgojIFBLR19DT05G
SUdfUEFUSD0ke1BLR19DT05GSUdfRElSfToke1NUQUdJTkdfREFUQURJUn0vcGtnY29uZmlnCmV4
cG9ydCBQS0dfQ09ORklHX1BBVEg9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL2NvbmNvcmRpYS8vdXNyL2xpYi9wa2djb25maWc6L2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9zaGFyZS9wa2dj
b25maWciCiMgUFJFRkVSUkVEX1BST1ZJREVSX2dkYj1nZGIKUFJFRkVSUkVEX1BST1ZJREVSX2dk
Yj0iZ2RiIgojIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14ODY9JHtUVU5FX1BLR0FSQ0hfdHVu
ZS14ODZ9ClBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14ODY9Ing4NiIKIyBGSUxFUz0KIyBUQ0xJ
QkM9ZWdsaWJjClRDTElCQz0iZWdsaWJjIgojIFBLR0RFU1RXT1JLPSR7V09SS0RJUn0vcGtnZGF0
YQpQS0dERVNUV09SSz0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29y
ay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3BrZ2RhdGEiCiMgSE9TVF9B
U19BUkNIPSR7VEFSR0VUX0FTX0FSQ0h9CkhPU1RfQVNfQVJDSD0iIgojIFRVTkVfRkVBVFVSRVNf
dHVuZS1jb3JlMi02NC14MzI9JHtUVU5FX0ZFQVRVUkVTX3R1bmUteDg2LTY0LXgzMn0gY29yZTIK
VFVORV9GRUFUVVJFU190dW5lLWNvcmUyLTY0LXgzMj0ibXgzMiBjb3JlMiIKIyBCVUlMRF9OTT0k
e0JVSUxEX1BSRUZJWH1ubQpleHBvcnQgQlVJTERfTk09Im5tIgojIEJCX0JBU0VIQVNIX3Rhc2st
ZG9fcGFja2FnZV93cml0ZV9pcGs9MjdlNTQ2NTJiYzM0YjdlZTIwZTI5NjczZjA2NjlhMjUKQkJf
QkFTRUhBU0hfdGFzay1kb19wYWNrYWdlX3dyaXRlX2lwaz0iMjdlNTQ2NTJiYzM0YjdlZTIwZTI5
NjczZjA2NjlhMjUiCiMgU0FOSVRZX1RFU1RFRF9ESVNUUk9TPSBZb2N0byAoQnVpbHQgYnkgUG9r
eSA3LjApIDEuMiBcbiBVYnVudHUgMTAuMDQuNCBMVFMgXG4gVWJ1bnR1IDExLjEwIFxuIFVidW50
dSAxMi4wNCBcbiBGZWRvcmEgcmVsZWFzZSAxNSAoTG92ZWxvY2spIFxuIEZlZG9yYSByZWxlYXNl
IDE2IChWZXJuZSkgXG4gRmVkb3JhIHJlbGVhc2UgMTcgKEJlZWZ5IE1pcmFjbGUpIFxuIENlbnRP
UyByZWxlYXNlIDUuNiAoRmluYWwpIFxuIENlbnRPUyByZWxlYXNlIDUuNyAoRmluYWwpIFxuIENl
bnRPUyByZWxlYXNlIDYuMiAoRmluYWwpIFxuIERlYmlhbiBHTlUvTGludXggNi4wLjQgKHNxdWVl
emUpIFxuIG9wZW5TVVNFIDExLjQgXG4gb3BlblNVU0UgMTIuMSBcbiAKU0FOSVRZX1RFU1RFRF9E
SVNUUk9TPSJZb2N0byAoQnVpbHQgYnkgUG9reSA3LjApIDEuMiBcbiBVYnVudHUgMTAuMDQuNCBM
VFMgXG4gVWJ1bnR1IDExLjEwIFxuIFVidW50dSAxMi4wNCBcbiBGZWRvcmEgcmVsZWFzZSAxNSAo
TG92ZWxvY2spIFxuIEZlZG9yYSByZWxlYXNlIDE2IChWZXJuZSkgXG4gRmVkb3JhIHJlbGVhc2Ug
MTcgKEJlZWZ5IE1pcmFjbGUpIFxuIENlbnRPUyByZWxlYXNlIDUuNiAoRmluYWwpIFxuIENlbnRP
UyByZWxlYXNlIDUuNyAoRmluYWwpIFxuIENlbnRPUyByZWxlYXNlIDYuMiAoRmluYWwpIFxuIERl
YmlhbiBHTlUvTGludXggNi4wLjQgKHNxdWVlemUpIFxuIG9wZW5TVVNFIDExLjQgXG4gb3BlblNV
U0UgMTIuMSBcbiIKIyBQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0b19xZW11eDg2LTY0PTMu
MiUKUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fcWVtdXg4Ni02ND0iMy4yJSIKIyBUVU5F
X0ZFQVRVUkVTPSR7VFVORV9GRUFUVVJFU190dW5lLSR7REVGQVVMVFRVTkV9fQpUVU5FX0ZFQVRV
UkVTPSJtMzIgY29yZTIiCiMgUE9LWVFFTVVERVBTPSR7QGJhc2VfY29udGFpbnMoIklOQ09NUEFU
SUJMRV9MSUNFTlNFIiwgIkdQTHYzIiwgIiIsICJxZW11LWNvbmZpZyIsZCl9ClBPS1lRRU1VREVQ
Uz0icWVtdS1jb25maWciCiMgUE9LWV9ERUZBVUxUX0VYVFJBX1JSRUNPTU1FTkRTPQojIFBSRUZF
UlJFRF9WRVJTSU9OX2djYy1jcm9zc3Nkaz0ke1NES0dDQ1ZFUlNJT059ClBSRUZFUlJFRF9WRVJT
SU9OX2djYy1jcm9zc3Nkaz0iNC42JSIKIyBGSUxFU19tZXRhLXRvb2xjaGFpbi1kYmc9JHtAZC5n
ZXRWYXIoWydET1RERUJVRy1kYmcnLCAnREVCVUdGSUxFRElSRUNUT1JZLWRiZyddW2QuZ2V0VmFy
KCdQQUNLQUdFX0RFQlVHX1NQTElUX1NUWUxFJywgVHJ1ZSkgPT0gJ2RlYnVnLWZpbGUtZGlyZWN0
b3J5J10sIFRydWUpfQpGSUxFU19tZXRhLXRvb2xjaGFpbi1kYmc9Ii91c3IvYmluLy5kZWJ1ZyAv
dXNyL3NiaW4vLmRlYnVnIC91c3IvbGliZXhlYy8uZGVidWcgL3Vzci9saWIvLmRlYnVnIC9iaW4v
LmRlYnVnIC9zYmluLy5kZWJ1ZyAvbGliLy5kZWJ1ZyAvdXNyL2xpYi9tZXRhLXRvb2xjaGFpbi8u
ZGVidWcgL3Vzci9saWIvbWF0Y2hib3gtcGFuZWwvLmRlYnVnIC91c3Ivc3JjL2RlYnVnIgojIGZ0
cF9wcm94eT1odHRwOi8vcHJveHkuamYuaW50ZWwuY29tOjkxMQpmdHBfcHJveHk9Imh0dHA6Ly9w
cm94eS5qZi5pbnRlbC5jb206OTExIgojIFRSQU5TTEFURURfVEFSR0VUX0FSQ0g9JHtAZC5nZXRW
YXIoJ1RBUkdFVF9BUkNIJywgVHJ1ZSkucmVwbGFjZSgiXyIsICItIil9ClRSQU5TTEFURURfVEFS
R0VUX0FSQ0g9Imk1ODYiCiMgVFVORV9QS0dBUkNIPSR7VFVORV9QS0dBUkNIX3R1bmUtJHtERUZB
VUxUVFVORX19ClRVTkVfUEtHQVJDSD0iY29yZTIiCiMgUFJJTkM9MApQUklOQz0iMCIKIyBQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Y29tcGlsZXJsaWJzPU5vbmUK
IyBUVU5FX0NDQVJHUz0gJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibTMy
IiwgIi1tMzIiLCAiIiwgZCl9ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwg
Im14MzIiLCAiLW14MzIiLCAiIiwgZCl9ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRV
UkVTIiwgIm02NCIsICItbTY0IiwgIiIsIGQpfSAke0BiYi51dGlscy5jb250YWlucygiVFVORV9G
RUFUVVJFUyIsICJpNTg2IiwgIi1tYXJjaD1pNTg2IiwgIiIsIGQpfSAke0BiYi51dGlscy5jb250
YWlucygiVFVORV9GRUFUVVJFUyIsICJjb3JlMiIsICItbWFyY2g9Y29yZTIgLW1zc2UzIC1tdHVu
ZT1nZW5lcmljIC1tZnBtYXRoPXNzZSIsICIiLCBkKX0KVFVORV9DQ0FSR1M9Ii1tMzIgICAgLW1h
cmNoPWNvcmUyIC1tc3NlMyAtbXR1bmU9Z2VuZXJpYyAtbWZwbWF0aD1zc2UiCiMgSU1BR0VfTElO
S19OQU1FPSR7SU1BR0VfQkFTRU5BTUV9LSR7TUFDSElORX0KSU1BR0VfTElOS19OQU1FPSJtZXRh
LXRvb2xjaGFpbi1jb25jb3JkaWEiCiMgRkVUQ0hDTURfYnpyPS91c3IvYmluL2VudiBienIKRkVU
Q0hDTURfYnpyPSIvdXNyL2Jpbi9lbnYgYnpyIgojIFBSRUZFUlJFRF9WRVJTSU9OX2VsZnV0aWxz
PTAuMTQ4ClBSRUZFUlJFRF9WRVJTSU9OX2VsZnV0aWxzPSIwLjE0OCIKIyBCQkZJTEVfUFJJT1JJ
VFlfeW9jdG89NQpCQkZJTEVfUFJJT1JJVFlfeW9jdG89IjUiCiMgQ1ZTX1BST1hZX0hPU1Q9cHJv
eHkuamYuaW50ZWwuY29tCkNWU19QUk9YWV9IT1NUPSJwcm94eS5qZi5pbnRlbC5jb20iCiMgQVZB
SUxUVU5FUz0geDg2IHg4Ni02NCB4ODYtNjQteDMyIGk1ODYgY29yZTIgY29yZTItNjQgY29yZTIt
NjQteDMyCkFWQUlMVFVORVM9Ing4NiB4ODYtNjQgeDg2LTY0LXgzMiBpNTg2IGNvcmUyIGNvcmUy
LTY0IGNvcmUyLTY0LXgzMiIKIyBESVNUUk9fRkVBVFVSRVNfTkVUPWlwdjQKRElTVFJPX0ZFQVRV
UkVTX05FVD0iaXB2NCIKIyBNQUNISU5FX0VTU0VOVElBTF9FWFRSQV9SUkVDT01NRU5EUz0KIyBQ
UkVGRVJSRURfVkVSU0lPTl9lZ2xpYmM9JHtFR0xJQkNWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lP
Tl9lZ2xpYmM9IjIuMTMiCiMgUFJFRkVSUkVEX1ZFUlNJT05fZWdsaWJjLW5hdGl2ZXNkaz0yLjE1
ClBSRUZFUlJFRF9WRVJTSU9OX2VnbGliYy1uYXRpdmVzZGs9IjIuMTUiCiMgQkJfQkFTRUhBU0hf
dGFzay1kb19wYWNrYWdlPTkyYjAxOWY1Mjc2MGViZWYyZDRjZTYzNWM2ODY3NzE5CkJCX0JBU0VI
QVNIX3Rhc2stZG9fcGFja2FnZT0iOTJiMDE5ZjUyNzYwZWJlZjJkNGNlNjM1YzY4Njc3MTkiCiMg
TE9DQUxFX1VURjhfT05MWT0wCkxPQ0FMRV9VVEY4X09OTFk9IjAiCiMgYmluZGlyX25hdGl2ZXNk
az0ke3ByZWZpeF9uYXRpdmVzZGt9L2JpbgpiaW5kaXJfbmF0aXZlc2RrPSIvdXNyL2JpbiIKIyBD
T1JFQkFTRT0vb3B0L3Bva3kuZ2l0CkNPUkVCQVNFPSIvb3B0L3Bva3kuZ2l0IgojIEdOT01FX01J
UlJPUj1odHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcwpHTk9NRV9NSVJST1I9
Imh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzIgojIFBSRUZFUlJFRF9WRVJT
SU9OX2xpYmdjYz0ke0dDQ1ZFUlNJT059ClBSRUZFUlJFRF9WRVJTSU9OX2xpYmdjYz0iNC42JSIK
IyBTU1RBVEVfUEtHU1BFQz1zc3RhdGUtJHtQTn0tJHtQQUNLQUdFX0FSQ0h9JHtUQVJHRVRfVkVO
RE9SfS0ke1RBUkdFVF9PU30tJHtQVn0tJHtQUn0tJHtTU1RBVEVfUEtHQVJDSH0tJHtTU1RBVEVf
VkVSU0lPTn0tClNTVEFURV9QS0dTUEVDPSJzc3RhdGUtbWV0YS10b29sY2hhaW4tY29yZTItY2Nk
LWxpbnV4LTEuMC1yNy1jb3JlMi0yLSIKIyBDT01QQVRJQkxFX0hPU1Q9Tm9uZQojIENWU19QUk9Y
WV9QT1JUPTkxMQpDVlNfUFJPWFlfUE9SVD0iOTExIgojIERFUExPWV9ESVJfSVBLPSR7REVQTE9Z
X0RJUn0vaXBrCkRFUExPWV9ESVJfSVBLPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC9kZXBsb3kvaXBrIgojIFNTVEFURV9NQU5JRkVTVFM9JHtUTVBESVJ9L3NzdGF0ZS1j
b250cm9sClNTVEFURV9NQU5JRkVTVFM9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3NzdGF0ZS1jb250cm9sIgojIFNUQUdJTkdfRklSTVdBUkVfRElSPSR7U1RBR0lOR19E
SVJfSE9TVH0vZmlybXdhcmUKU1RBR0lOR19GSVJNV0FSRV9ESVI9Ii9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYS9maXJtd2FyZSIKIyBCQkZJ
TEVTPS9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLSovKi8qLmJiIC9vcHQvcG9reS5naXQvbWV0
YS15b2N0by9yZWNpcGVzLSovKi8qLmJiIC9vcHQvcG9reS5naXQvbWV0YS15b2N0by9yZWNpcGVz
LSovKi8qLmJiYXBwZW5kIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vbWV0YS1j
b25jb3JkaWEvcmVjaXBlcy0qLyovKi5iYiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL21ldGEtY29uY29yZGlhL3JlY2lwZXMtKi8qLyouYmJhcHBlbmQgL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby9tZXRhLWNvbmNvcmRpYS8qLmJiIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vbWV0YS1jb25jb3JkaWEvKi5iYmFwcGVuZApCQkZJTEVTPSIvb3B0
L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy0qLyovKi5iYiAvb3B0L3Bva3kuZ2l0L21ldGEteW9jdG8v
cmVjaXBlcy0qLyovKi5iYiAvb3B0L3Bva3kuZ2l0L21ldGEteW9jdG8vcmVjaXBlcy0qLyovKi5i
YmFwcGVuZCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL21ldGEtY29uY29yZGlh
L3JlY2lwZXMtKi8qLyouYmIgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9tZXRh
LWNvbmNvcmRpYS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vbWV0YS1jb25jb3JkaWEvKi5iYiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL21ldGEtY29uY29yZGlhLyouYmJhcHBlbmQiCiMgQVM9JHtIT1NUX1BSRUZJWH1h
cyAke0hPU1RfQVNfQVJDSH0KZXhwb3J0IEFTPSJpNTg2LWNjZC1saW51eC1hcyIKIyBQUkVGRVJS
RURfVkVSU0lPTl9iaW51dGlscy1jcm9zc3Nkaz0ke0JJTlVWRVJTSU9OfQpQUkVGRVJSRURfVkVS
U0lPTl9iaW51dGlscy1jcm9zc3Nkaz0iMi4yMiIKIyBQUkVGRVJSRURfVkVSU0lPTl9saW51eC15
b2N0bz0zLjAlClBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvPSIzLjAlIgojIFNVTU1BUllf
bWV0YS10b29sY2hhaW4tZGV2PSR7U1VNTUFSWX0gLSBEZXZlbG9wbWVudCBmaWxlcwpTVU1NQVJZ
X21ldGEtdG9vbGNoYWluLWRldj0ibWV0YS10b29sY2hhaW4gdmVyc2lvbiAxLjAtcjcgLSBEZXZl
bG9wbWVudCBmaWxlcyIKIyBGSUxFU18ke1BOfS1sb2NhbGU9Tm9uZQojIFdPUktESVI9JHtUTVBE
SVJ9L3dvcmsvJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU30vJHtQRn0KV09SS0RJUj0iL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10
b29sY2hhaW4tMS4wLXI3IgojIFBSRUZFUlJFRF9WRVJTSU9OX3VjbGliYy1pbml0aWFsPSR7VUNM
SUJDVkVSU0lPTn0KUFJFRkVSUkVEX1ZFUlNJT05fdWNsaWJjLWluaXRpYWw9IjAuOS4zMyIKIyBT
U1RBVEVfUEtHQVJDSD0ke1BBQ0tBR0VfQVJDSH0KU1NUQVRFX1BLR0FSQ0g9ImNvcmUyIgojIEJV
SUxEX0NQUEZMQUdTPS1pc3lzdGVtJHtTVEFHSU5HX0lOQ0RJUl9OQVRJVkV9CmV4cG9ydCBCVUlM
RF9DUFBGTEFHUz0iLWlzeXN0ZW0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUiCiMgUEVSU0lTVEVOVF9ESVI9JHtU
TVBESVJ9L2NhY2hlClBFUlNJU1RFTlRfRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC9jYWNoZSIKIyBBVVRPX0xJQk5BTUVfUEtHUz0ke1BBQ0tBR0VTfQojIGRvX3Bh
Y2thZ2Vfd3JpdGVfZGViPU5vbmUKIyBST09UX0ZMQVNIX1NJWkU9MjU2ClJPT1RfRkxBU0hfU0la
RT0iMjU2IgojIFNES19QQUNLQUdFX0FSQ0hTPWFsbCBhbnkgbm9hcmNoICR7U0RLX0FSQ0h9LW5h
dGl2ZXNkawpTREtfUEFDS0FHRV9BUkNIUz0iYWxsIGFueSBub2FyY2ggeDg2XzY0LW5hdGl2ZXNk
ayIKIyBDUFA9JHtIT1NUX1BSRUZJWH1nY2MgLUUke1RPT0xDSEFJTl9PUFRJT05TfSAke0hPU1Rf
Q0NfQVJDSH0KZXhwb3J0IENQUD0iaTU4Ni1jY2QtbGludXgtZ2NjIC1FIC0tc3lzcm9vdD0vaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEgIC1t
MzIgICAgLW1hcmNoPWNvcmUyIC1tc3NlMyAtbXR1bmU9Z2VuZXJpYyAtbWZwbWF0aD1zc2UiCiMg
QkJGSUxFX0NPTExFQ1RJT05TPSBub3JtYWwgeW9jdG8gY29uY29yZGlhCkJCRklMRV9DT0xMRUNU
SU9OUz0ibm9ybWFsIHlvY3RvIGNvbmNvcmRpYSIKIyBtYW5kaXI9JHtkYXRhZGlyfS9tYW4KZXhw
b3J0IG1hbmRpcj0iL3Vzci9zaGFyZS9tYW4iCiMgSE9TVF9DQ19BUkNIPSR7VEFSR0VUX0NDX0FS
Q0h9CkhPU1RfQ0NfQVJDSD0iLW0zMiAgICAtbWFyY2g9Y29yZTIgLW1zc2UzIC1tdHVuZT1nZW5l
cmljIC1tZnBtYXRoPXNzZSIKIyBQS0dXUklURURJUklQSz0ke1dPUktESVJ9L2RlcGxveS1pcGtz
ClBLR1dSSVRFRElSSVBLPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93
b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvZGVwbG95LWlwa3MiCiMg
RElTVFJPX0ZFQVRVUkVTX0xJQkNfTUlOSU1BTD1saWJjLXV0bXAgbGliYy1nZXRsb2dpbgpESVNU
Uk9fRkVBVFVSRVNfTElCQ19NSU5JTUFMPSJsaWJjLXV0bXAgbGliYy1nZXRsb2dpbiIKIyBGQUtF
Uk9PVERJUlM9JHtQU0VVRE9fTE9DQUxTVEFURURJUn0KRkFLRVJPT1RESVJTPSIvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRv
b2xjaGFpbi0xLjAtcjcvcHNldWRvLyIKIyBFTkFCTEVfV0lERUM9ZmFsc2UKRU5BQkxFX1dJREVD
PSJmYWxzZSIKIyBLRVJORUxfQ09OU09MRT10dHlTMApLRVJORUxfQ09OU09MRT0idHR5UzAiCiMg
VVNFX1BSX1NFUlY9JHtAWzEsMF1bKChub3QgZC5nZXRWYXIoJ1BSU0VSVl9IT1NUJywgVHJ1ZSkp
IG9yIChub3QgZC5nZXRWYXIoJ1BSU0VSVl9QT1JUJywgVHJ1ZSkpKSBhbmQgKG5vdCBkLmdldFZh
cignUFJTRVJWX0xPQ0tET1dOJywgVHJ1ZSkpXX0KVVNFX1BSX1NFUlY9IjAiCiMgQ0NBQ0hFPQoj
IHNiaW5kaXJfbmF0aXZlPSR7cHJlZml4X25hdGl2ZX0vc2JpbgpzYmluZGlyX25hdGl2ZT0iL3Vz
ci9zYmluIgojIFA9JHtQTn0tJHtQVn0KUD0ibWV0YS10b29sY2hhaW4tMS4wIgojIFBLR19DT05G
SUdfU1lTUk9PVF9ESVI9JHtTVEFHSU5HX0RJUl9IT1NUfQpleHBvcnQgUEtHX0NPTkZJR19TWVNS
T09UX0RJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMv
Y29uY29yZGlhIgojIEZJTEVTUEFUSD0ke0BiYXNlX3NldF9maWxlc3BhdGgoWyAiJHtGSUxFX0RJ
Uk5BTUV9LyR7UEZ9IiwgIiR7RklMRV9ESVJOQU1FfS8ke1B9IiwgIiR7RklMRV9ESVJOQU1FfS8k
e1BOfSIsICIke0ZJTEVfRElSTkFNRX0vJHtCUH0iLCAiJHtGSUxFX0RJUk5BTUV9LyR7QlBOfSIs
ICIke0ZJTEVfRElSTkFNRX0vZmlsZXMiLCAiJHtGSUxFX0RJUk5BTUV9IiBdLCBkKX0KRklMRVNQ
QVRIPSIvb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4t
MS4wLXI3L2xpbnV4Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRv
b2xjaGFpbi0xLjAtcjcvaTU4Njovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEv
bWV0YS10b29sY2hhaW4tMS4wLXI3L2J1aWxkLWxpbnV4Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNp
cGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvcG4tbWV0YS10b29sY2hhaW46L29w
dC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC1yNy9j
b25jb3JkaWE6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNo
YWluLTEuMC1yNy94ODY6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEt
dG9vbGNoYWluLTEuMC1yNy9jb25jb3JkaWE6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29y
ZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC1yNy9mb3JjZXZhcmlhYmxlOi9vcHQvcG9reS5naXQv
bWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvbGliYy1nbGliYzov
b3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tMS4wLXI3
Lzovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tMS4w
L2xpbnV4Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFp
bi0xLjAvaTU4Njovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29s
Y2hhaW4tMS4wL2J1aWxkLWxpbnV4Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0
YS9tZXRhLXRvb2xjaGFpbi0xLjAvcG4tbWV0YS10b29sY2hhaW46L29wdC9wb2t5LmdpdC9tZXRh
L3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC9jb25jb3JkaWE6L29wdC9wb2t5
LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC94ODY6L29wdC9w
b2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC9jb25jb3Jk
aWE6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEu
MC9mb3JjZXZhcmlhYmxlOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRh
LXRvb2xjaGFpbi0xLjAvbGliYy1nbGliYzovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3Jl
L21ldGEvbWV0YS10b29sY2hhaW4tMS4wLzovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3Jl
L21ldGEvbWV0YS10b29sY2hhaW4vbGludXg6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29y
ZS9tZXRhL21ldGEtdG9vbGNoYWluL2k1ODY6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29y
ZS9tZXRhL21ldGEtdG9vbGNoYWluL2J1aWxkLWxpbnV4Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNp
cGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi9wbi1tZXRhLXRvb2xjaGFpbjovb3B0L3Bva3ku
Z2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4vY29uY29yZGlhOi9vcHQv
cG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi94ODY6L29wdC9w
b2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluL2NvbmNvcmRpYTov
b3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4vZm9yY2V2
YXJpYWJsZTovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hh
aW4vbGliYy1nbGliYzovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10
b29sY2hhaW4vOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xj
aGFpbi0xLjAvbGludXg6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEt
dG9vbGNoYWluLTEuMC9pNTg2Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9t
ZXRhLXRvb2xjaGFpbi0xLjAvYnVpbGQtbGludXg6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMt
Y29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC9wbi1tZXRhLXRvb2xjaGFpbjovb3B0L3Bva3ku
Z2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tMS4wL2NvbmNvcmRpYTov
b3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tMS4wL3g4
Njovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tMS4w
L2NvbmNvcmRpYTovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29s
Y2hhaW4tMS4wL2ZvcmNldmFyaWFibGU6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9t
ZXRhL21ldGEtdG9vbGNoYWluLTEuMC9saWJjLWdsaWJjOi9vcHQvcG9reS5naXQvbWV0YS9yZWNp
cGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi0xLjAvOi9vcHQvcG9reS5naXQvbWV0YS9yZWNp
cGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi9saW51eDovb3B0L3Bva3kuZ2l0L21ldGEvcmVj
aXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4vaTU4Njovb3B0L3Bva3kuZ2l0L21ldGEvcmVj
aXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4vYnVpbGQtbGludXg6L29wdC9wb2t5LmdpdC9t
ZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluL3BuLW1ldGEtdG9vbGNoYWluOi9v
cHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi9jb25jb3Jk
aWE6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluL3g4
Njovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4vY29u
Y29yZGlhOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFp
bi9mb3JjZXZhcmlhYmxlOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRh
LXRvb2xjaGFpbi9saWJjLWdsaWJjOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0
YS9tZXRhLXRvb2xjaGFpbi86L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL2Zp
bGVzL2xpbnV4Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9maWxlcy9pNTg2
Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9maWxlcy9idWlsZC1saW51eDov
b3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvZmlsZXMvcG4tbWV0YS10b29sY2hh
aW46L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL2ZpbGVzL2NvbmNvcmRpYTov
b3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvZmlsZXMveDg2Oi9vcHQvcG9reS5n
aXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9maWxlcy9jb25jb3JkaWE6L29wdC9wb2t5LmdpdC9t
ZXRhL3JlY2lwZXMtY29yZS9tZXRhL2ZpbGVzL2ZvcmNldmFyaWFibGU6L29wdC9wb2t5LmdpdC9t
ZXRhL3JlY2lwZXMtY29yZS9tZXRhL2ZpbGVzL2xpYmMtZ2xpYmM6L29wdC9wb2t5LmdpdC9tZXRh
L3JlY2lwZXMtY29yZS9tZXRhL2ZpbGVzLzovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3Jl
L21ldGEvbGludXg6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL2k1ODY6L29w
dC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL2J1aWxkLWxpbnV4Oi9vcHQvcG9reS5n
aXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9wbi1tZXRhLXRvb2xjaGFpbjovb3B0L3Bva3kuZ2l0
L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvY29uY29yZGlhOi9vcHQvcG9reS5naXQvbWV0YS9yZWNp
cGVzLWNvcmUvbWV0YS94ODY6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL2Nv
bmNvcmRpYTovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvZm9yY2V2YXJpYWJs
ZTovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbGliYy1nbGliYzovb3B0L3Bv
a3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvIgojIFRVTkVfQVJDSD0ke0BiYi51dGlscy5j
b250YWlucygiVFVORV9GRUFUVVJFUyIsICJtMzIiLCAiJHtYODZBUkNIMzJ9IiwgIiIgLGQpfSR7
QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgIm14MzIiLCAiJHtYODZBUkNINjR9
IiwgIiIgLGQpfSR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgIm02NCIsICIk
e1g4NkFSQ0g2NH0iLCAiIiAsZCl9ClRVTkVfQVJDSD0iaTU4NiIKIyBRQURFUEVORFM9cHJlbGlu
ay1uYXRpdmUKUUFERVBFTkRTPSJwcmVsaW5rLW5hdGl2ZSIKIyBXSElURUxJU1RfR1BMdjM9bGVz
cwpXSElURUxJU1RfR1BMdjM9Imxlc3MiCiMgRV9TVk49c3ZuOi8vc3ZuLmVubGlnaHRlbm1lbnQu
b3JnL3N2bi9lCkVfU1ZOPSJzdm46Ly9zdm4uZW5saWdodGVubWVudC5vcmcvc3ZuL2UiCiMgQlVJ
TERfQ1hYRkxBR1M9JHtCVUlMRF9DRkxBR1N9IC1mcGVybWlzc2l2ZQpleHBvcnQgQlVJTERfQ1hY
RkxBR1M9Ii1pc3lzdGVtL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lz
cm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlIC1PMiAtcGlwZSAtZnBlcm1pc3NpdmUiCiMg
T0JKQ09QWT0ke0hPU1RfUFJFRklYfW9iamNvcHkKZXhwb3J0IE9CSkNPUFk9Imk1ODYtY2NkLWxp
bnV4LW9iamNvcHkiCiMgVFVORV9GRUFUVVJFU190dW5lLXg4Nj1tMzIKVFVORV9GRUFUVVJFU190
dW5lLXg4Nj0ibTMyIgojIFNSQ19VUkk9CiMgU1NUQVRFUE9TVElOU1RGVU5DUz0KIyBpbmNsdWRl
ZGlyX25hdGl2ZT0ke3ByZWZpeF9uYXRpdmV9L2luY2x1ZGUKaW5jbHVkZWRpcl9uYXRpdmU9Ii91
c3IvaW5jbHVkZSIKIyBBTExPV19FTVBUWV9tZXRhLXRvb2xjaGFpbi1kYmc9MQpBTExPV19FTVBU
WV9tZXRhLXRvb2xjaGFpbi1kYmc9IjEiCiMgU1VNTUFSWV8ke1BOfS1kb2M9Tm9uZQojIEZJTEVT
WVNURU1fUEVSTVNfVEFCTEVTPWNvbmYvZnMtcGVybXMudHh0CkZJTEVTWVNURU1fUEVSTVNfVEFC
TEVTPSJjb25mL2ZzLXBlcm1zLnR4dCIKIyBNQUNISU5FX0VYVFJBX1JSRUNPTU1FTkRTPWtlcm5l
bC1tb2R1bGVzCk1BQ0hJTkVfRVhUUkFfUlJFQ09NTUVORFM9Imtlcm5lbC1tb2R1bGVzIgojIFNU
QUdJTkdfQklORElSPSR7U1RBR0lOR19ESVJfSE9TVH0ke2JpbmRpcn0KU1RBR0lOR19CSU5ESVI9
Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRp
YS91c3IvYmluIgojIFBSRUZFUlJFRF9QUk9WSURFUl9kYnVzLWdsaWItbmF0aXZlPWRidXMtZ2xp
Yi1uYXRpdmUKUFJFRkVSUkVEX1BST1ZJREVSX2RidXMtZ2xpYi1uYXRpdmU9ImRidXMtZ2xpYi1u
YXRpdmUiCiMgRklMRVNESVI9JHtAYmIud2hpY2goZC5nZXRWYXIoJ0ZJTEVTUEFUSCcsIFRydWUp
LCAnLicpfQpGSUxFU0RJUj0iL29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhLy4i
CiMgVVNFX05MUz1ubwpVU0VfTkxTPSJubyIKIyBPRUxBWU9VVF9BQkk9OApPRUxBWU9VVF9BQkk9
IjgiCiMgU0NPTkZfVkVSU0lPTj0xClNDT05GX1ZFUlNJT049IjEiCiMgRElTVFJPX0ZFQVRVUkVT
X0xJQkNfREVGQVVMVD1pcHY0IGlwdjYgbGliYy1iYWNrdHJhY2UgbGliYy1iaWctbWFjcm9zIGxp
YmMtYnNkIGxpYmMtY3h4LXRlc3RzIGxpYmMtY2F0Z2V0cyBsaWJjLWNoYXJzZXRzIGxpYmMtY3J5
cHQgCQkJCQlsaWJjLWNyeXB0LXVmYyBsaWJjLWRiLWFsaWFzZXMgbGliYy1lbnZ6IGxpYmMtZmN2
dCBsaWJjLWZtdG1zZyBsaWJjLWZzdGFiIGxpYmMtZnRyYXZlcnNlIAkJCQkJbGliYy1nZXRsb2dp
biBsaWJjLWlkbiBsaWJjLWluZXQtYW5sIGxpYmMtbGlibSBsaWJjLWxpYm0tYmlnIGxpYmMtbG9j
YWxlcyBsaWJjLWxvY2FsZS1jb2RlIAkJCQkJbGliYy1tZW11c2FnZSBsaWJjLW5pcyBsaWJjLW5z
c3dpdGNoIGxpYmMtcmNtZCBsaWJjLXJ0bGQtZGVidWcgbGliYy1zcGF3biBsaWJjLXN0cmVhbXMg
bGliYy1zdW5ycGMgCQkJCQlsaWJjLXV0bXAgbGliYy11dG1weCBsaWJjLXdvcmRleHAgbGliYy1w
b3NpeC1jbGFuZy13Y2hhciBsaWJjLXBvc2l4LXJlZ2V4cCBsaWJjLXBvc2l4LXJlZ2V4cC1nbGli
YyAJCQkJCWxpYmMtcG9zaXgtd2NoYXItaW8KRElTVFJPX0ZFQVRVUkVTX0xJQkNfREVGQVVMVD0i
aXB2NCBpcHY2IGxpYmMtYmFja3RyYWNlIGxpYmMtYmlnLW1hY3JvcyBsaWJjLWJzZCBsaWJjLWN4
eC10ZXN0cyBsaWJjLWNhdGdldHMgbGliYy1jaGFyc2V0cyBsaWJjLWNyeXB0IAkJCQkJbGliYy1j
cnlwdC11ZmMgbGliYy1kYi1hbGlhc2VzIGxpYmMtZW52eiBsaWJjLWZjdnQgbGliYy1mbXRtc2cg
bGliYy1mc3RhYiBsaWJjLWZ0cmF2ZXJzZSAJCQkJCWxpYmMtZ2V0bG9naW4gbGliYy1pZG4gbGli
Yy1pbmV0LWFubCBsaWJjLWxpYm0gbGliYy1saWJtLWJpZyBsaWJjLWxvY2FsZXMgbGliYy1sb2Nh
bGUtY29kZSAJCQkJCWxpYmMtbWVtdXNhZ2UgbGliYy1uaXMgbGliYy1uc3N3aXRjaCBsaWJjLXJj
bWQgbGliYy1ydGxkLWRlYnVnIGxpYmMtc3Bhd24gbGliYy1zdHJlYW1zIGxpYmMtc3VucnBjIAkJ
CQkJbGliYy11dG1wIGxpYmMtdXRtcHggbGliYy13b3JkZXhwIGxpYmMtcG9zaXgtY2xhbmctd2No
YXIgbGliYy1wb3NpeC1yZWdleHAgbGliYy1wb3NpeC1yZWdleHAtZ2xpYmMgCQkJCQlsaWJjLXBv
c2l4LXdjaGFyLWlvIgojIGJhc2VfbGliZGlyX25hdGl2ZT0vbGliCmJhc2VfbGliZGlyX25hdGl2
ZT0iL2xpYiIKIyBpbmNsdWRlZGlyX25hdGl2ZXNkaz0ke3ByZWZpeF9uYXRpdmVzZGt9L2luY2x1
ZGUKaW5jbHVkZWRpcl9uYXRpdmVzZGs9Ii91c3IvaW5jbHVkZSIKIyBMSU5LRVJfSEFTSF9TVFlM
RV9taXBzZWw9c3lzdgpMSU5LRVJfSEFTSF9TVFlMRV9taXBzZWw9InN5c3YiCiMgSU1BR0VfUEtH
VFlQRT1pcGsKSU1BR0VfUEtHVFlQRT0iaXBrIgojIEZJTEVTXyR7UE59LWRiZz1Ob25lCiMgc2Vy
dmljZWRpcj0ke2Jhc2VfcHJlZml4fS9zcnYKZXhwb3J0IHNlcnZpY2VkaXI9Ii9zcnYiCiMgYmlu
ZGlyX25hdGl2ZT0ke3ByZWZpeF9uYXRpdmV9L2JpbgpiaW5kaXJfbmF0aXZlPSIvdXNyL2JpbiIK
IyBCVUlMRF9QUkVGSVg9CiMgVE9PTENIQUlOX1RBUkdFVF9UQVNLPXRhc2stY29yZS1zdGFuZGFs
b25lLXNkay10YXJnZXQgdGFzay1jb3JlLXN0YW5kYWxvbmUtc2RrLXRhcmdldC1kYmcKVE9PTENI
QUlOX1RBUkdFVF9UQVNLPSJ0YXNrLWNvcmUtc3RhbmRhbG9uZS1zZGstdGFyZ2V0IHRhc2stY29y
ZS1zdGFuZGFsb25lLXNkay10YXJnZXQtZGJnIgojIEhPTUU9L2hvbWUvcmNoYXRyZQpleHBvcnQg
SE9NRT0iL2hvbWUvcmNoYXRyZSIKIyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdF
VF9QUkVGSVh9Z2NjPU5vbmUKIyBTWVNST09UX0xPQ0s9JHtTVEFHSU5HX0RJUn0vc3RhZ2luZy5s
b2NrClNZU1JPT1RfTE9DSz0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
c3lzcm9vdHMvc3RhZ2luZy5sb2NrIgojIENPTUJJTkVEX0ZFQVRVUkVTPSR7QGJhc2VfYm90aF9j
b250YWluKCJESVNUUk9fRkVBVFVSRVMiLCAiTUFDSElORV9GRUFUVVJFUyIsICJhbHNhIiwgZCl9
ICR7QGJhc2VfYm90aF9jb250YWluKCJESVNUUk9fRkVBVFVSRVMiLCAiTUFDSElORV9GRUFUVVJF
UyIsICJibHVldG9vdGgiLCBkKX0gJHtAYmFzZV9ib3RoX2NvbnRhaW4oIkRJU1RST19GRUFUVVJF
UyIsICJNQUNISU5FX0ZFQVRVUkVTIiwgImV4dDIiLCBkKX0gJHtAYmFzZV9ib3RoX2NvbnRhaW4o
IkRJU1RST19GRUFUVVJFUyIsICJNQUNISU5FX0ZFQVRVUkVTIiwgInZmYXQiLCBkKX0gJHtAYmFz
ZV9ib3RoX2NvbnRhaW4oIkRJU1RST19GRUFUVVJFUyIsICJNQUNISU5FX0ZFQVRVUkVTIiwgImly
ZGEiLCBkKX0gJHtAYmFzZV9ib3RoX2NvbnRhaW4oIkRJU1RST19GRUFUVVJFUyIsICJNQUNISU5F
X0ZFQVRVUkVTIiwgInBjbWNpYSIsIGQpfSAke0BiYXNlX2JvdGhfY29udGFpbigiRElTVFJPX0ZF
QVRVUkVTIiwgIk1BQ0hJTkVfRkVBVFVSRVMiLCAicGNpIiwgZCl9ICR7QGJhc2VfYm90aF9jb250
YWluKCJESVNUUk9fRkVBVFVSRVMiLCAiTUFDSElORV9GRUFUVVJFUyIsICJ1c2JnYWRnZXQiLCBk
KX0gJHtAYmFzZV9ib3RoX2NvbnRhaW4oIkRJU1RST19GRUFUVVJFUyIsICJNQUNISU5FX0ZFQVRV
UkVTIiwgInVzYmhvc3QiLCBkKX0gJHtAYmFzZV9ib3RoX2NvbnRhaW4oIkRJU1RST19GRUFUVVJF
UyIsICJNQUNISU5FX0ZFQVRVUkVTIiwgIndpZmkiLCBkKX0KQ09NQklORURfRkVBVFVSRVM9InBj
aSAgdXNiaG9zdCIKIyBUVU5FQ09ORkxJQ1Q9Tm9uZQojIEJVSUxEX0FTX0FSQ0g9CiMgU1JDREFU
RT0ke0RBVEV9ClNSQ0RBVEU9IjIwMTIwNTIyIgojIFNFUFBVS1VfUEFTUz1Ob25lCiMgVEFSR0VU
X0NDX0FSQ0g9JHtUVU5FX0NDQVJHU30KVEFSR0VUX0NDX0FSQ0g9Ii1tMzIgICAgLW1hcmNoPWNv
cmUyIC1tc3NlMyAtbXR1bmU9Z2VuZXJpYyAtbWZwbWF0aD1zc2UiCiMgUUVNVV9PUFRJT05TX2Fy
bXY2PS1jcHUgYXJtMTEzNgpRRU1VX09QVElPTlNfYXJtdjY9Ii1jcHUgYXJtMTEzNiIKIyBIT1NU
X0FSQ0g9JHtUQVJHRVRfQVJDSH0KSE9TVF9BUkNIPSJpNTg2IgojIEVOQUJMRV9CSU5BUllfTE9D
QUxFX0dFTkVSQVRJT049MQpFTkFCTEVfQklOQVJZX0xPQ0FMRV9HRU5FUkFUSU9OPSIxIgojIFRB
UkdFVF9PUz1saW51eCR7TElCQ0VYVEVOU0lPTn0ke0FCSUVYVEVOU0lPTn0KVEFSR0VUX09TPSJs
aW51eCIKIyBTT1VSQ0VfTUlSUk9SX1VSTD1Ob25lCiMgU09MSUJTX2Rhcndpbjg9LiouZHlsaWIK
U09MSUJTX2Rhcndpbjg9Ii4qLmR5bGliIgojIFNPTElCU19kYXJ3aW45PS4qLmR5bGliClNPTElC
U19kYXJ3aW45PSIuKi5keWxpYiIKIyBDT05ORUNUSVZJVFlfQ0hFQ0tfVVJJUz1naXQ6Ly9naXQu
eW9jdG9wcm9qZWN0Lm9yZy95b2N0by1maXJld2FsbC10ZXN0O3Byb3RvY29sPWdpdDtyZXY9SEVB
RCBodHRwczovL2V1bGEtZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvaW5kZXgucGhwIGh0dHA6
Ly9idWd6aWxsYS55b2N0b3Byb2plY3Qub3JnL3JlcG9ydC5jZ2kKQ09OTkVDVElWSVRZX0NIRUNL
X1VSSVM9ImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3lvY3RvLWZpcmV3YWxsLXRlc3Q7cHJv
dG9jb2w9Z2l0O3Jldj1IRUFEIGh0dHBzOi8vZXVsYS1kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9y
Zy9pbmRleC5waHAgaHR0cDovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvcmVwb3J0LmNnaSIK
IyBUVU5FX1BLR0FSQ0hfdHVuZS1pNTg2PWk1ODYKVFVORV9QS0dBUkNIX3R1bmUtaTU4Nj0iaTU4
NiIKIyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1nKys9Z2NjLWNy
b3NzClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtY2NkLWxpbnV4LWcrKz0iZ2NjLWNy
b3NzIgojIEFCSUVYVEVOU0lPTj0ke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIs
ICJteDMyIiwgIngzMiIsICIiICxkKX0KIyBGVUxMX09QVElNSVpBVElPTj0tTzIgLXBpcGUgJHtE
RUJVR19GTEFHU30KRlVMTF9PUFRJTUlaQVRJT049Ii1PMiAtcGlwZSAtZyAtZmVsaW1pbmF0ZS11
bnVzZWQtZGVidWctdHlwZXMiCiMgVEFSR0VUX0FTX0FSQ0g9JHtUVU5FX0FTQVJHU30KVEFSR0VU
X0FTX0FSQ0g9IiIKIyBQUkVGRVJSRURfVkVSU0lPTl9weXRob249Mi43LjIKUFJFRkVSUkVEX1ZF
UlNJT05fcHl0aG9uPSIyLjcuMiIKIyBGSUxFU18ke1BOfT1Ob25lCiMgUFJFRkVSUkVEX1ZFUlNJ
T05fbGliZ2NjLW5hdGl2ZXNkaz0ke1NES0dDQ1ZFUlNJT059ClBSRUZFUlJFRF9WRVJTSU9OX2xp
YmdjYy1uYXRpdmVzZGs9IjQuNiUiCiMgUEFUQ0hSRVNPTFZFPW5vb3AKUEFUQ0hSRVNPTFZFPSJu
b29wIgojIFNTVEFURV9TQ0FOX0ZJTEVTPSoubGEgKi1jb25maWcgKl9jb25maWcKU1NUQVRFX1ND
QU5fRklMRVM9IioubGEgKi1jb25maWcgKl9jb25maWciCiMgTEdQTHYyX1dISVRFTElTVF9HUEx2
Mz1saWJhc3N1YW4gZ251dGxzIGxpYnRhc24xIGxpYmlkbiBsaWJnY2MgZ2NjLXJ1bnRpbWUKTEdQ
THYyX1dISVRFTElTVF9HUEx2Mz0ibGliYXNzdWFuIGdudXRscyBsaWJ0YXNuMSBsaWJpZG4gbGli
Z2NjIGdjYy1ydW50aW1lIgojIFZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXI9CiMgUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsPU5vbmUKIyBQ
QUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUteDg2LTY0LXgzMj0ke1RVTkVfUEtHQVJDSF90dW5lLXg4
Ni02NC14MzJ9ClBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14ODYtNjQteDMyPSJ4ODZfNjRfeDMy
IgojIERJU1RST19GRUFUVVJFU19MSUJDX3ZpcnRjbGFzcy1uYXRpdmVzZGs9JHtESVNUUk9fRkVB
VFVSRVNfTElCQ19ERUZBVUxUfQpESVNUUk9fRkVBVFVSRVNfTElCQ192aXJ0Y2xhc3MtbmF0aXZl
c2RrPSJpcHY0IGlwdjYgbGliYy1iYWNrdHJhY2UgbGliYy1iaWctbWFjcm9zIGxpYmMtYnNkIGxp
YmMtY3h4LXRlc3RzIGxpYmMtY2F0Z2V0cyBsaWJjLWNoYXJzZXRzIGxpYmMtY3J5cHQgCQkJCQls
aWJjLWNyeXB0LXVmYyBsaWJjLWRiLWFsaWFzZXMgbGliYy1lbnZ6IGxpYmMtZmN2dCBsaWJjLWZt
dG1zZyBsaWJjLWZzdGFiIGxpYmMtZnRyYXZlcnNlIAkJCQkJbGliYy1nZXRsb2dpbiBsaWJjLWlk
biBsaWJjLWluZXQtYW5sIGxpYmMtbGlibSBsaWJjLWxpYm0tYmlnIGxpYmMtbG9jYWxlcyBsaWJj
LWxvY2FsZS1jb2RlIAkJCQkJbGliYy1tZW11c2FnZSBsaWJjLW5pcyBsaWJjLW5zc3dpdGNoIGxp
YmMtcmNtZCBsaWJjLXJ0bGQtZGVidWcgbGliYy1zcGF3biBsaWJjLXN0cmVhbXMgbGliYy1zdW5y
cGMgCQkJCQlsaWJjLXV0bXAgbGliYy11dG1weCBsaWJjLXdvcmRleHAgbGliYy1wb3NpeC1jbGFu
Zy13Y2hhciBsaWJjLXBvc2l4LXJlZ2V4cCBsaWJjLXBvc2l4LXJlZ2V4cC1nbGliYyAJCQkJCWxp
YmMtcG9zaXgtd2NoYXItaW8iCiMgRElTVFJPX05BTUU9WW9jdG8gKEJ1aWx0IGJ5IFBva3kgNy4w
KQpESVNUUk9fTkFNRT0iWW9jdG8gKEJ1aWx0IGJ5IFBva3kgNy4wKSIKIyBGUkVFQlNEX01JUlJP
Uj1mdHA6Ly9mdHAuZnJlZWJzZC5vcmcvcHViL0ZyZWVCU0QvCkZSRUVCU0RfTUlSUk9SPSJmdHA6
Ly9mdHAuZnJlZWJzZC5vcmcvcHViL0ZyZWVCU0QvIgojIFBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0
aWxzLWNyb3NzPSR7QklOVVZFUlNJT059ClBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzLWNyb3Nz
PSIyLjIyIgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1iaW51
dGlscz1Ob25lCiMgSE9TVF9QUkVGSVg9JHtUQVJHRVRfUFJFRklYfQpIT1NUX1BSRUZJWD0iaTU4
Ni1jY2QtbGludXgtIgojIERJU1RST19FWFRSQV9SUkVDT01NRU5EUz0gICR7UE9LWV9ERUZBVUxU
X0VYVFJBX1JSRUNPTU1FTkRTfQpESVNUUk9fRVhUUkFfUlJFQ09NTUVORFM9IiIKIyBMQ19BTEw9
QwpleHBvcnQgTENfQUxMPSJDIgojIFBLR0Q9JHtXT1JLRElSfS9wYWNrYWdlClBLR0Q9Ii9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21l
dGEtdG9vbGNoYWluLTEuMC1yNy9wYWNrYWdlIgojIFBLR0U9JHtAWycnLCcke1BFXHg3ZCddW2Qu
Z2V0VmFyKCdQRScsMSkgPiAwXX0KIyBIT1NUX1NZUz0ke0hPU1RfQVJDSH0ke0hPU1RfVkVORE9S
fS0ke0hPU1RfT1N9CkhPU1RfU1lTPSJpNTg2LWNjZC1saW51eCIKIyBTU1RBVEVUQVNLTkFNRVM9
ZGVwbG95LWlwayBwb3B1bGF0ZS1saWMgcGFja2FnZSBwb3B1bGF0ZS1zeXNyb290ClNTVEFURVRB
U0tOQU1FUz0iZGVwbG95LWlwayBwb3B1bGF0ZS1saWMgcGFja2FnZSBwb3B1bGF0ZS1zeXNyb290
IgojIFJSRUNPTU1FTkRTX21ldGEtdG9vbGNoYWluLWRiZz0ke1BOfSAoPSAke0VYVEVORFBLR1Z9
KQpSUkVDT01NRU5EU19tZXRhLXRvb2xjaGFpbi1kYmc9Im1ldGEtdG9vbGNoYWluICg9IDEuMC1y
NykiCiMgUEtHVj0ke1BWfQpQS0dWPSIxLjAiCiMgVEFSR0VUX0NQUEZMQUdTPQojIFBSRUZFUlJF
RF9WRVJTSU9OX2VnbGliYy1pbml0aWFsPSR7RUdMSUJDVkVSU0lPTn0KUFJFRkVSUkVEX1ZFUlNJ
T05fZWdsaWJjLWluaXRpYWw9IjIuMTMiCiMgQkJGSUxFX1BBVFRFUk5feW9jdG89Xi9vcHQvcG9r
eS5naXQvbWV0YS15b2N0by8KQkJGSUxFX1BBVFRFUk5feW9jdG89Il4vb3B0L3Bva3kuZ2l0L21l
dGEteW9jdG8vIgojIFBDTUNJQV9NQU5BR0VSPXBjbWNpYXV0aWxzClBDTUNJQV9NQU5BR0VSPSJw
Y21jaWF1dGlscyIKIyBQUkVGRVJSRURfUFJPVklERVJfb3BrZz1vcGtnClBSRUZFUlJFRF9QUk9W
SURFUl9vcGtnPSJvcGtnIgojIFRVTkVfQVNBUkdTPSAke0BiYi51dGlscy5jb250YWlucygiVFVO
RV9GRUFUVVJFUyIsICJteDMyIiwgIi14MzIiLCAiIiwgZCl9ClRVTkVfQVNBUkdTPSIiCiMgRklM
RT0vb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4uYmIK
RklMRT0iL29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWlu
LmJiIgojIEVYVEVORFBLR0VWRVI9JHtAWycnLCcke1BLR0VceDdkOiddW2QuZ2V0VmFyKCdQS0dF
JywxKS5zdHJpcCgpICE9ICcnXX0KIyBsaWJkaXJfbmF0aXZlPSR7cHJlZml4X25hdGl2ZX0vbGli
CmxpYmRpcl9uYXRpdmU9Ii91c3IvbGliIgojIFBSRUZFUlJFRF9QUk9WSURFUl9kYnVzLWdsaWI9
ZGJ1cy1nbGliClBSRUZFUlJFRF9QUk9WSURFUl9kYnVzLWdsaWI9ImRidXMtZ2xpYiIKIyBleGVj
X3ByZWZpeD0vdXNyCmV4cG9ydCBleGVjX3ByZWZpeD0iL3VzciIKIyBiaW5kaXJfY3Jvc3NzY3Jp
cHRzPSR7YmluZGlyfS9jcm9zc3NjcmlwdHMKYmluZGlyX2Nyb3Nzc2NyaXB0cz0iL3Vzci9iaW4v
Y3Jvc3NzY3JpcHRzIgojIFBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzPSR7QklOVVZFUlNJT059
ClBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzPSIyLjIyIgojIEJBU0VfTElCX3R1bmUtaTU4Nj1s
aWIKQkFTRV9MSUJfdHVuZS1pNTg2PSJsaWIiCiMgUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNv
cmUyLTY0LXgzMj0ke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14ODYtNjQteDMyfSBjb3JlMl82
NF94MzIKUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcmUyLTY0LXgzMj0ieDg2XzY0X3gzMiBj
b3JlMl82NF94MzIiCiMgU0RLUEFUSD0vb3B0LyR7RElTVFJPfS8ke1NES19WRVJTSU9OfQpTREtQ
QVRIPSIvb3B0L2NvbmNvcmRpYS92MC4xLjMtMS1nYWQyOGE2MyIKIyBHUk9VUF9sb2NhbGU9Tm9u
ZQojIFNTVEFURV9QS0dOQU1FPSR7U1NUQVRFX1BLR1NQRUN9JHtCQl9UQVNLSEFTSH0KU1NUQVRF
X1BLR05BTUU9InNzdGF0ZS1tZXRhLXRvb2xjaGFpbi1jb3JlMi1jY2QtbGludXgtMS4wLXI3LWNv
cmUyLTItJHtCQl9UQVNLSEFTSH0iCiMgRkVUQ0hDTURfY3ZzPS91c3IvYmluL2VudiBjdnMKRkVU
Q0hDTURfY3ZzPSIvdXNyL2Jpbi9lbnYgY3ZzIgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFs
LyR7VEFSR0VUX1BSRUZJWH1nY2MtaW50ZXJtZWRpYXRlPU5vbmUKIyBQUkVGRVJSRURfUFJPVklE
RVJfbGliZ2NjPWxpYmdjYwpQUkVGRVJSRURfUFJPVklERVJfbGliZ2NjPSJsaWJnY2MiCiMgR0VO
VE9PX01JUlJPUj1odHRwOi8vZGlzdGZpbGVzLmdlbnRvby5vcmcvZGlzdGZpbGVzCkdFTlRPT19N
SVJST1I9Imh0dHA6Ly9kaXN0ZmlsZXMuZ2VudG9vLm9yZy9kaXN0ZmlsZXMiCiMgQ09fRElSPSR7
RExfRElSfQpDT19ESVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vZG93bmxv
YWRzIgojIE1VTFRJTUFDSF9UQVJHRVRfU1lTPSR7UEFDS0FHRV9BUkNIfSR7VEFSR0VUX1ZFTkRP
Un0tJHtUQVJHRVRfT1N9Ck1VTFRJTUFDSF9UQVJHRVRfU1lTPSJjb3JlMi1jY2QtbGludXgiCiMg
QkJfQkFTRUhBU0hfdGFzay1kb19wb3B1bGF0ZV9saWNfc2V0c2NlbmU9ZGRlNDhjMmVkYzA0ZmM4
NGVmMDQ2ZjgxNzM3OTRmOTIKQkJfQkFTRUhBU0hfdGFzay1kb19wb3B1bGF0ZV9saWNfc2V0c2Nl
bmU9ImRkZTQ4YzJlZGMwNGZjODRlZjA0NmY4MTczNzk0ZjkyIgojIE9CSkRVTVA9JHtIT1NUX1BS
RUZJWH1vYmpkdW1wCmV4cG9ydCBPQkpEVU1QPSJpNTg2LWNjZC1saW51eC1vYmpkdW1wIgojIFRB
UkdFVF9WRU5ET1I9LWNjZApUQVJHRVRfVkVORE9SPSItY2NkIgojIFg4NkFSQ0g2ND14ODZfNjQK
WDg2QVJDSDY0PSJ4ODZfNjQiCiMgSE9TVFRPT0xTX1dISVRFTElTVF9HUEx2Mz0KIyBUVU5FX0xE
QVJHUz0gJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibXgzMiIsICItbSBl
bGYzMl94ODZfNjQiLCAiIiwgZCl9ClRVTkVfTERBUkdTPSIiCiMgYmFzZWxpYj0ke0JBU0VMSUJ9
CmJhc2VsaWI9ImxpYiIKIyBTU1RBVEVfVkVSU0lPTj0yClNTVEFURV9WRVJTSU9OPSIyIgojIFBS
RUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FS
Q0h9PU5vbmUKIyBHTElCQ19FWFRSQV9PRUNPTkY9LS13aXRoLXRscwpHTElCQ19FWFRSQV9PRUNP
TkY9Ii0td2l0aC10bHMiCiMgQkJfRU5WX0VYVFJBV0hJVEU9UFNFVURPX0JVSUxEIFBTRVVET19E
SVNBQkxFRCBNQUNISU5FIERJU1RSTyBUQ01PREUgVENMSUJDIGh0dHBfcHJveHkgZnRwX3Byb3h5
IGh0dHBzX3Byb3h5IGFsbF9wcm94eSBBTExfUFJPWFkgbm9fcHJveHkgU1NIX0FHRU5UX1BJRCBT
U0hfQVVUSF9TT0NLIEJCX1NSQ1JFVl9QT0xJQ1kgU0RLTUFDSElORSBCQl9OVU1CRVJfVEhSRUFE
UyBQQVJBTExFTF9NQUtFIEdJVF9QUk9YWV9DT01NQU5EIEdJVF9QUk9YWV9JR05PUkUgU09DS1M1
X1BBU1NXRCBTT0NLUzVfVVNFUgpCQl9FTlZfRVhUUkFXSElURT0iUFNFVURPX0JVSUxEIFBTRVVE
T19ESVNBQkxFRCBNQUNISU5FIERJU1RSTyBUQ01PREUgVENMSUJDIGh0dHBfcHJveHkgZnRwX3By
b3h5IGh0dHBzX3Byb3h5IGFsbF9wcm94eSBBTExfUFJPWFkgbm9fcHJveHkgU1NIX0FHRU5UX1BJ
RCBTU0hfQVVUSF9TT0NLIEJCX1NSQ1JFVl9QT0xJQ1kgU0RLTUFDSElORSBCQl9OVU1CRVJfVEhS
RUFEUyBQQVJBTExFTF9NQUtFIEdJVF9QUk9YWV9DT01NQU5EIEdJVF9QUk9YWV9JR05PUkUgU09D
S1M1X1BBU1NXRCBTT0NLUzVfVVNFUiIKIyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RB
UkdFVF9QUkVGSVh9ZysrPU5vbmUKIyBTVEFHSU5HX0JBU0VMSUJESVI9JHtTVEFHSU5HX0RJUl9I
T1NUfSR7YmFzZV9saWJkaXJ9ClNUQUdJTkdfQkFTRUxJQkRJUj0iL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL2xpYiIKIyBQUkVGRVJSRURf
VkVSU0lPTl9nY2MtY3Jvc3NzZGstaW50ZXJtZWRpYXRlPSR7U0RLR0NDVkVSU0lPTn0KUFJFRkVS
UkVEX1ZFUlNJT05fZ2NjLWNyb3Nzc2RrLWludGVybWVkaWF0ZT0iNC42JSIKIyBQUkVGRVJSRURf
VkVSU0lPTl9iaW51dGlscy1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9
PU5vbmUKIyBCVUlMRFNES19DUFBGTEFHUz0taXN5c3RlbSR7U1RBR0lOR19JTkNESVJ9CkJVSUxE
U0RLX0NQUEZMQUdTPSItaXN5c3RlbS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL2NvbmNvcmRpYS91c3IvaW5jbHVkZSIKIyBQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9pNTg2LWNjZC1saW51eC1saWJjLWluaXRpYWw9JHtUQ0xJQkN9LWluaXRpYWwKUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1jY2QtbGludXgtbGliYy1pbml0aWFsPSJlZ2xp
YmMtaW5pdGlhbCIKIyBGSUxFU19tZXRhLXRvb2xjaGFpbj0ke2JpbmRpcn0vKiAke3NiaW5kaXJ9
LyogJHtsaWJleGVjZGlyfS8qICR7bGliZGlyfS9saWIqJHtTT0xJQlN9ICR7c3lzY29uZmRpcn0g
JHtzaGFyZWRzdGF0ZWRpcn0gJHtsb2NhbHN0YXRlZGlyfSAke2Jhc2VfYmluZGlyfS8qICR7YmFz
ZV9zYmluZGlyfS8qICR7YmFzZV9saWJkaXJ9Lyoke1NPTElCU30gJHtkYXRhZGlyfS8ke0JQTn0g
JHtsaWJkaXJ9LyR7QlBOfS8qICR7ZGF0YWRpcn0vcGl4bWFwcyAke2RhdGFkaXJ9L2FwcGxpY2F0
aW9ucyAke2RhdGFkaXJ9L2lkbCAke2RhdGFkaXJ9L29tZiAke2RhdGFkaXJ9L3NvdW5kcyAke2xp
YmRpcn0vYm9ub2JvL3NlcnZlcnMKRklMRVNfbWV0YS10b29sY2hhaW49Ii91c3IvYmluLyogL3Vz
ci9zYmluLyogL3Vzci9saWJleGVjLyogL3Vzci9saWIvbGliKi5zby4qIC9ldGMgL2NvbSAvdmFy
IC9iaW4vKiAvc2Jpbi8qIC9saWIvKi5zby4qIC91c3Ivc2hhcmUvbWV0YS10b29sY2hhaW4gL3Vz
ci9saWIvbWV0YS10b29sY2hhaW4vKiAvdXNyL3NoYXJlL3BpeG1hcHMgL3Vzci9zaGFyZS9hcHBs
aWNhdGlvbnMgL3Vzci9zaGFyZS9pZGwgL3Vzci9zaGFyZS9vbWYgL3Vzci9zaGFyZS9zb3VuZHMg
L3Vzci9saWIvYm9ub2JvL3NlcnZlcnMiCiMgQkJfSEFTSEJBU0VfV0hJVEVMSVNUPVRNUERJUiBG
SUxFIFBBVEggUFdEIEJCX1RBU0tIQVNIIEJCUEFUSCBETF9ESVIgU1NUQVRFX0RJUiBUSElTRElS
IEZJTEVTRVhUUkFQQVRIUyBGSUxFX0RJUk5BTUUgSE9NRSBMT0dOQU1FIFNIRUxMIFRFUk0gVVNF
UiBGSUxFU1BBVEggU1RBR0lOR19ESVJfSE9TVCBTVEFHSU5HX0RJUl9UQVJHRVQgQ09SRUJBU0Ug
UFJTRVJWX0hPU1QgUFJTRVJWX1BPUlQgUFJTRVJWX0RVTVBESVIgUFJTRVJWX0RVTVBGSUxFIFBS
U0VSVl9MT0NLRE9XTiBQQVJBTExFTF9NQUtFCkJCX0hBU0hCQVNFX1dISVRFTElTVD0iVE1QRElS
IEZJTEUgUEFUSCBQV0QgQkJfVEFTS0hBU0ggQkJQQVRIIERMX0RJUiBTU1RBVEVfRElSIFRISVNE
SVIgRklMRVNFWFRSQVBBVEhTIEZJTEVfRElSTkFNRSBIT01FIExPR05BTUUgU0hFTEwgVEVSTSBV
U0VSIEZJTEVTUEFUSCBTVEFHSU5HX0RJUl9IT1NUIFNUQUdJTkdfRElSX1RBUkdFVCBDT1JFQkFT
RSBQUlNFUlZfSE9TVCBQUlNFUlZfUE9SVCBQUlNFUlZfRFVNUERJUiBQUlNFUlZfRFVNUEZJTEUg
UFJTRVJWX0xPQ0tET1dOIFBBUkFMTEVMX01BS0UiCiMgU0lURUlORk9fQklUUz0zMgpTSVRFSU5G
T19CSVRTPSIzMiIKIyBFX01JUlJPUj1odHRwOi8vZG93bmxvYWQuZW5saWdodGVubWVudC5vcmcv
cmVsZWFzZXMKRV9NSVJST1I9Imh0dHA6Ly9kb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZy9yZWxl
YXNlcyIKIyBGRVRDSENNRF9zdm49L3Vzci9iaW4vZW52IHN2bgpGRVRDSENNRF9zdm49Ii91c3Iv
YmluL2VudiBzdm4iCiMgQkFTRV9MSUJfdHVuZS1jb3JlMj1saWIKQkFTRV9MSUJfdHVuZS1jb3Jl
Mj0ibGliIgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbD1jY2QtbGludXgKUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsPSJjY2QtbGludXgiCiMgQkJfQkFTRUhBU0hf
dGFzay1kb19saXN0dGFza3M9MWFkMzVkZWM0YzU3NzI3ZTY3MjMxZmJlOWY4ZTQ1M2IKQkJfQkFT
RUhBU0hfdGFzay1kb19saXN0dGFza3M9IjFhZDM1ZGVjNGM1NzcyN2U2NzIzMWZiZTlmOGU0NTNi
IgojIEJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZV93cml0ZT01NDk0Mjc1ZmI1YTMwN2QxYjZi
YTkzMmI1OTQxNTUyMgpCQl9CQVNFSEFTSF90YXNrLWRvX3BhY2thZ2Vfd3JpdGU9IjU0OTQyNzVm
YjVhMzA3ZDFiNmJhOTMyYjU5NDE1NTIyIgojIENQVV9GRUFUVVJFUz0KIyBUVU5FX0ZFQVRVUkVT
X3R1bmUtY29yZTItNjQ9JHtUVU5FX0ZFQVRVUkVTX3R1bmUteDg2LTY0fSBjb3JlMgpUVU5FX0ZF
QVRVUkVTX3R1bmUtY29yZTItNjQ9Im02NCBjb3JlMiIKIyBDQ0xEPSR7Q0N9CmV4cG9ydCBDQ0xE
PSJpNTg2LWNjZC1saW51eC1nY2MgIC1tMzIgICAgLW1hcmNoPWNvcmUyIC1tc3NlMyAtbXR1bmU9
Z2VuZXJpYyAtbWZwbWF0aD1zc2UgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSIKIyBDSEVDS0NPTU1BTkRfd2dldD0vdXNy
L2Jpbi9lbnYgd2dldCAtLXNwaWRlciAtdCA1IC0tcGFzc2l2ZS1mdHAgLS1uby1jaGVjay1jZXJ0
aWZpY2F0ZSAtUCAke0RMX0RJUn0gJyR7VVJJfScKQ0hFQ0tDT01NQU5EX3dnZXQ9Ii91c3IvYmlu
L2VudiB3Z2V0IC0tc3BpZGVyIC10IDUgLS1wYXNzaXZlLWZ0cCAtLW5vLWNoZWNrLWNlcnRpZmlj
YXRlIC1QIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vZG93bmxvYWRzICcke1VS
SX0nIgojIFBSRUZFUlJFRF9WRVJTSU9OX2djYz0ke0dDQ1ZFUlNJT059ClBSRUZFUlJFRF9WRVJT
SU9OX2djYz0iNC42JSIKIyBTRUxFQ1RFRF9PUFRJTUlaQVRJT049JHtAZC5nZXRWYXIoWydGVUxM
X09QVElNSVpBVElPTicsICdERUJVR19PUFRJTUlaQVRJT04nXVtkLmdldFZhcignREVCVUdfQlVJ
TEQnLCBUcnVlKSA9PSAnMSddLCBUcnVlKX0KU0VMRUNURURfT1BUSU1JWkFUSU9OPSItTzIgLXBp
cGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIgojIEdJVF9DT05GSUdfUEFUSD0k
e1NUQUdJTkdfRElSX05BVElWRX0vZXRjCkdJVF9DT05GSUdfUEFUSD0iL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L2V0YyIKIyBUT09M
Q0hBSU5fQ09ORklHU0lURV9OT0NBQ0hFPS9vcHQvcG9reS5naXQvbWV0YS9zaXRlL2VuZGlhbi1s
aXR0bGUgL29wdC9wb2t5LmdpdC9tZXRhL3NpdGUvaXg4Ni1jb21tb24gL29wdC9wb2t5LmdpdC9t
ZXRhL3NpdGUvY29tbW9uLWxpbnV4IC9vcHQvcG9reS5naXQvbWV0YS9zaXRlL2NvbW1vbi1nbGli
YyAvb3B0L3Bva3kuZ2l0L21ldGEvc2l0ZS9jb21tb24gClRPT0xDSEFJTl9DT05GSUdTSVRFX05P
Q0FDSEU9Ii9vcHQvcG9reS5naXQvbWV0YS9zaXRlL2VuZGlhbi1saXR0bGUgL29wdC9wb2t5Lmdp
dC9tZXRhL3NpdGUvaXg4Ni1jb21tb24gL29wdC9wb2t5LmdpdC9tZXRhL3NpdGUvY29tbW9uLWxp
bnV4IC9vcHQvcG9reS5naXQvbWV0YS9zaXRlL2NvbW1vbi1nbGliYyAvb3B0L3Bva3kuZ2l0L21l
dGEvc2l0ZS9jb21tb24iCiMgQVNORUVERURfcG4tb3Blbm9iZXg9CiMgU0VDVElPTl9tZXRhLXRv
b2xjaGFpbi1kb2M9ZG9jClNFQ1RJT05fbWV0YS10b29sY2hhaW4tZG9jPSJkb2MiCiMgREVCSUFO
X05BTUVTPTEKREVCSUFOX05BTUVTPSIxIgojIFBBQ0tBR0VJTkRFWERFUFM9IG9wa2ctdXRpbHMt
bmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3Qgb3BrZy1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9v
dApQQUNLQUdFSU5ERVhERVBTPSJvcGtnLXV0aWxzLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290
IG9wa2ctbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCiMgUFJFRkVSUkVEX1ZFUlNJT05fbGlu
dXgteW9jdG9fcWVtdWFybT0zLjIlClBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3FlbXVh
cm09IjMuMiUiCiMgUUFfTE9HPU5vbmUKIyBERVNDUklQVElPTl9tZXRhLXRvb2xjaGFpbi1kZXY9
JHtERVNDUklQVElPTn0gIFRoaXMgcGFja2FnZSBjb250YWlucyBzeW1ib2xpYyBsaW5rcywgaGVh
ZGVyIGZpbGVzLCBhbmQgcmVsYXRlZCBpdGVtcyBuZWNlc3NhcnkgZm9yIHNvZnR3YXJlIGRldmVs
b3BtZW50LgpERVNDUklQVElPTl9tZXRhLXRvb2xjaGFpbi1kZXY9Ik1ldGEgcGFja2FnZSBmb3Ig
YnVpbGRpbmcgYSBpbnN0YWxsYWJsZSB0b29sY2hhaW4gIFRoaXMgcGFja2FnZSBjb250YWlucyBz
eW1ib2xpYyBsaW5rcywgaGVhZGVyIGZpbGVzLCBhbmQgcmVsYXRlZCBpdGVtcyBuZWNlc3Nhcnkg
Zm9yIHNvZnR3YXJlIGRldmVsb3BtZW50LiIKIyBodHRwc19wcm94eT1odHRwczovL3Byb3h5Lmpm
LmludGVsLmNvbTo5MTEKaHR0cHNfcHJveHk9Imh0dHBzOi8vcHJveHkuamYuaW50ZWwuY29tOjkx
MSIKIyBJTUFHRV9OQU1FPSR7SU1BR0VfQkFTRU5BTUV9LSR7TUFDSElORX0tJHtESVNUUk9fVkVS
U0lPTn0KSU1BR0VfTkFNRT0ibWV0YS10b29sY2hhaW4tY29uY29yZGlhLXYwLjEuMy0xLWdhZDI4
YTYzIgojIFNUQUdJTkdfRElSX1RDQk9PVFNUUkFQPSR7U1RBR0lOR19ESVJfVEFSR0VUfS10Y2Jv
b3RzdHJhcApTVEFHSU5HX0RJUl9UQ0JPT1RTVFJBUD0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhLXRjYm9vdHN0cmFwIgojIFNUQUdJTkdf
TElCRElSX05BVElWRT0ke1NUQUdJTkdfRElSX05BVElWRX0ke2xpYmRpcl9uYXRpdmV9ClNUQUdJ
TkdfTElCRElSX05BVElWRT0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
c3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIiCiMgUUVNVV9UQVJHRVRTPWFybSBpMzg2IG1p
cHMgbWlwc2VsIHBwYyB4ODZfNjQKUUVNVV9UQVJHRVRTPSJhcm0gaTM4NiBtaXBzIG1pcHNlbCBw
cGMgeDg2XzY0IgojIEdST1VQX3BhY2thZ2luZz1Ob25lCiMgT1ZFUlJJREVTPSR7VEFSR0VUX09T
fToke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9OmJ1aWxkLSR7QlVJTERfT1N9OnBuLSR7UE59OiR7
TUFDSElORU9WRVJSSURFU306JHtESVNUUk9PVkVSUklERVN9OmZvcmNldmFyaWFibGUke0xJQkNP
VkVSUklERX0KT1ZFUlJJREVTPSJsaW51eDppNTg2OmJ1aWxkLWxpbnV4OnBuLW1ldGEtdG9vbGNo
YWluOmNvbmNvcmRpYTp4ODY6Y29uY29yZGlhOmZvcmNldmFyaWFibGU6bGliYy1nbGliYyIKIyBJ
TkhFUklUPSAke1BBQ0tBR0VfQ0xBU1NFU30gJHtVU0VSX0NMQVNTRVN9ICR7SU5IRVJJVF9JTlNB
TkV9ICR7SU5IRVJJVF9ESVNUUk99IHNhbml0eQpJTkhFUklUPSJwYWNrYWdlX2lwayBpbWFnZS1t
a2xpYnMgaW1hZ2UtcHJlbGluayBpbnNhbmUgZGViaWFuIGRldnNoZWxsIHNzdGF0ZSBsaWNlbnNl
IHNhbml0eSIKIyBCQl9CQVNFSEFTSF90YXNrLWRvX2RldnNoZWxsPWFhNDhkMjE5Y2JkYTNmMzJj
OWIxNmMwNDhlNWZmNjJlCkJCX0JBU0VIQVNIX3Rhc2stZG9fZGV2c2hlbGw9ImFhNDhkMjE5Y2Jk
YTNmMzJjOWIxNmMwNDhlNWZmNjJlIgojIFRBUkdFVF9MRF9BUkNIPSR7VFVORV9MREFSR1N9ClRB
UkdFVF9MRF9BUkNIPSIiCiMgU0RLX1NZUz0ke1NES19BUkNIfSR7U0RLX1ZFTkRPUn0ke0BbJy0n
ICsgZC5nZXRWYXIoJ1NES19PUycsIFRydWUpLCAnJ11bZC5nZXRWYXIoJ1NES19PUycsIFRydWUp
ID09ICgnJyBvciAnY3VzdG9tJyldfQpTREtfU1lTPSJ4ODZfNjQtY2Nkc2RrLWxpbnV4IgojIFBB
Q0tBR0VfUFJFUFJPQ0VTU19GVU5DUz0KIyBCQkZJTEVfUFJJT1JJVFk9NgpCQkZJTEVfUFJJT1JJ
VFk9IjYiCiMgREVTQ1JJUFRJT05fbWV0YS10b29sY2hhaW4tZGJnPSR7REVTQ1JJUFRJT059ICBU
aGlzIHBhY2thZ2UgY29udGFpbnMgRUxGIHN5bWJvbHMgYW5kIHJlbGF0ZWQgc291cmNlcyBmb3Ig
ZGVidWdnaW5nIHB1cnBvc2VzLgpERVNDUklQVElPTl9tZXRhLXRvb2xjaGFpbi1kYmc9Ik1ldGEg
cGFja2FnZSBmb3IgYnVpbGRpbmcgYSBpbnN0YWxsYWJsZSB0b29sY2hhaW4gIFRoaXMgcGFja2Fn
ZSBjb250YWlucyBFTEYgc3ltYm9scyBhbmQgcmVsYXRlZCBzb3VyY2VzIGZvciBkZWJ1Z2dpbmcg
cHVycG9zZXMuIgojIGJhc2VfZGVwPWRlZiBiYXNlX2RlcF9wcmVwZW5kKGQpOgojCSMKIwkjIElk
ZWFsbHkgdGhpcyB3aWxsIGNoZWNrIGEgZmxhZyBzbyB3ZSB3aWxsIG9wZXJhdGUgcHJvcGVybHkg
aW4KIwkjIHRoZSBjYXNlIHdoZXJlIGhvc3QgPT0gYnVpbGQgPT0gdGFyZ2V0LCBmb3Igbm93IHdl
IGRvbid0IHdvcmsgaW4KIwkjIHRoYXQgY2FzZSB0aG91Z2guCiMJIwojCiMJZGVwcyA9ICIiCiMJ
IyBJTkhJQklUX0RFRkFVTFRfREVQUyBkb2Vzbid0IGFwcGx5IHRvIHRoZSBwYXRjaCBjb21tYW5k
LiAgV2hldGhlciBvciAgbm90CiMJIyB3ZSBuZWVkIHRoYXQgYnVpbHQgaXMgdGhlIHJlc3BvbnNp
YmlsaXR5IG9mIHRoZSBwYXRjaCBmdW5jdGlvbiAvIGNsYXNzLCBub3QKIwkjIHRoZSBhcHBsaWNh
dGlvbi4KIwlpZiBub3QgZC5nZXRWYXIoJ0lOSElCSVRfREVGQVVMVF9ERVBTJyk6CiMJCWlmIChk
LmdldFZhcignSE9TVF9TWVMnLCBUcnVlKSAhPQojCSAgICAgCSAgICBkLmdldFZhcignQlVJTERf
U1lTJywgVHJ1ZSkpOgojCQkJZGVwcyArPSAiIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyB2
aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1jb21waWxlcmxpYnMgdmlydHVhbC9saWJjICIKIwlyZXR1
cm4gZGVwcwojCmJhc2VfZGVwPSJkZWYgYmFzZV9kZXBfcHJlcGVuZChkKTogXAoJIyBcCgkjIElk
ZWFsbHkgdGhpcyB3aWxsIGNoZWNrIGEgZmxhZyBzbyB3ZSB3aWxsIG9wZXJhdGUgcHJvcGVybHkg
aW4gXAoJIyB0aGUgY2FzZSB3aGVyZSBob3N0ID09IGJ1aWxkID09IHRhcmdldCwgZm9yIG5vdyB3
ZSBkb24ndCB3b3JrIGluIFwKCSMgdGhhdCBjYXNlIHRob3VnaC4gXAoJIyBcCiBcCglkZXBzID0g
XCJcIiBcCgkjIElOSElCSVRfREVGQVVMVF9ERVBTIGRvZXNuJ3QgYXBwbHkgdG8gdGhlIHBhdGNo
IGNvbW1hbmQuICBXaGV0aGVyIG9yICBub3QgXAoJIyB3ZSBuZWVkIHRoYXQgYnVpbHQgaXMgdGhl
IHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBwYXRjaCBmdW5jdGlvbiAvIGNsYXNzLCBub3QgXAoJIyB0
aGUgYXBwbGljYXRpb24uIFwKCWlmIG5vdCBkLmdldFZhcignSU5ISUJJVF9ERUZBVUxUX0RFUFMn
KTogXAoJCWlmIChkLmdldFZhcignSE9TVF9TWVMnLCBUcnVlKSAhPSBcCgkgICAgIAkgICAgZC5n
ZXRWYXIoJ0JVSUxEX1NZUycsIFRydWUpKTogXAoJCQlkZXBzICs9IFwiIHZpcnR1YWwvaTU4Ni1j
Y2QtbGludXgtZ2NjIHZpcnR1YWwvaTU4Ni1jY2QtbGludXgtY29tcGlsZXJsaWJzIHZpcnR1YWwv
bGliYyBcIiBcCglyZXR1cm4gZGVwcyIKIyBFR0xJQkNWRVJTSU9OPTIuMTMKRUdMSUJDVkVSU0lP
Tj0iMi4xMyIKIyBiYXNlX2xpYmRpcj0ke2Jhc2VfcHJlZml4fS8ke2Jhc2VsaWJ9CmV4cG9ydCBi
YXNlX2xpYmRpcj0iL2xpYiIKIyBGRVRDSENNRF93Z2V0PS91c3IvYmluL2VudiB3Z2V0IC10IDUg
LW52IC0tbm8tY2hlY2stY2VydGlmaWNhdGUKRkVUQ0hDTURfd2dldD0iL3Vzci9iaW4vZW52IHdn
ZXQgLXQgNSAtbnYgLS1uby1jaGVjay1jZXJ0aWZpY2F0ZSIKIyBCVUlMRF9PUFRJTUlaQVRJT049
LU8yIC1waXBlCkJVSUxEX09QVElNSVpBVElPTj0iLU8yIC1waXBlIgojIEVYQ0xVREVfRlJPTV9X
T1JMRF9wbi1lZHMtdG9vbHM9MQpFWENMVURFX0ZST01fV09STERfcG4tZWRzLXRvb2xzPSIxIgoj
IFBBQ0tBR0VJTkRFWEVTPSBwYWNrYWdlX3VwZGF0ZV9pbmRleF9pcGs7ClBBQ0tBR0VJTkRFWEVT
PSJwYWNrYWdlX3VwZGF0ZV9pbmRleF9pcGs7IgojIEJQTj0ke0BiYXNlX3BydW5lX3N1ZmZpeChk
LmdldFZhcignUE4nLCBUcnVlKSwgZC5nZXRWYXIoJ1NQRUNJQUxfUEtHU1VGRklYJywgVHJ1ZSku
c3BsaXQoKSwgZCl9CkJQTj0ibWV0YS10b29sY2hhaW4iCiMgQVNORUVERURfcG4tZGlhbGVyPQoj
IFBBVEg9JHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59OiR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9
OiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7c2JpbmRpcl9uYXRpdmV9OiR7U1RBR0lOR19CSU5ESVJf
TkFUSVZFfToke1NUQUdJTkdfRElSX05BVElWRX0ke2Jhc2Vfc2JpbmRpcl9uYXRpdmV9OiR7U1RB
R0lOR19ESVJfTkFUSVZFfS8ke2Jhc2VfYmluZGlyX25hdGl2ZX06L29wdC9wb2t5LmdpdC9zY3Jp
cHRzOi9vcHQvcG9reS5naXQvYml0YmFrZS9iaW4vOi91c3IvbGliNjQvY2NhY2hlOi91c3IvbGli
NjQvaWNlY2MvYmluOi91c3IvbG9jYWwvYmluOi9iaW46L3Vzci9iaW46L3Vzci9sb2NhbC9zYmlu
Oi91c3Ivc2Jpbjovc2Jpbjovb3B0L3Bva3kuZ2l0L3NjcmlwdHMKZXhwb3J0IFBBVEg9Ii9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91
c3IvYmluL2NvcmUyLWNjZC1saW51eDovaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNyL2Jpbi9jcm9zc3NjcmlwdHM6L2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9zYmlu
Oi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1s
aW51eC91c3IvYmluOi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jv
b3RzL3g4Nl82NC1saW51eC9zYmluOi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC8vYmluOi9vcHQvcG9reS5naXQvc2NyaXB0czovb3B0
L3Bva3kuZ2l0L2JpdGJha2UvYmluLzovdXNyL2xpYjY0L2NjYWNoZTovdXNyL2xpYjY0L2ljZWNj
L2JpbjovdXNyL2xvY2FsL2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWwvc2JpbjovdXNyL3Ni
aW46L3NiaW46L29wdC9wb2t5LmdpdC9zY3JpcHRzIgojIEFTTkVFREVEX3BuLXBjaXV0aWxzPQoj
IFRBUkdFVF9DRkxBR1M9JHtUQVJHRVRfQ1BQRkxBR1N9ICR7U0VMRUNURURfT1BUSU1JWkFUSU9O
fQpleHBvcnQgVEFSR0VUX0NGTEFHUz0iLU8yIC1waXBlIC1nIC1mZWxpbWluYXRlLXVudXNlZC1k
ZWJ1Zy10eXBlcyIKIyBiYXNlX2JpbmRpcj0ke2Jhc2VfcHJlZml4fS9iaW4KZXhwb3J0IGJhc2Vf
YmluZGlyPSIvYmluIgojIFBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvLXRpbnk9My4yJQpQ
UkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0by10aW55PSIzLjIlIgojIFBLR1I9JHtQUn0ke0VY
VEVORFBSQVVUT30KUEtHUj0icjciCiMgUEtHX0NPTkZJR19MSUJESVI9JHtQS0dfQ09ORklHX0RJ
Un0KZXhwb3J0IFBLR19DT05GSUdfTElCRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvL3Vzci9saWIvcGtnY29uZmlnIgojIFBSRUZF
UlJFRF9WRVJTSU9OX2djYy1jcm9zcz0ke0dDQ1ZFUlNJT059ClBSRUZFUlJFRF9WRVJTSU9OX2dj
Yy1jcm9zcz0iNC42JSIKIyBTQU5JVFlfUkVRVUlSRURfVVRJTElUSUVTPXBhdGNoIGRpZmZzdGF0
IHRleGkyaHRtbCBtYWtlaW5mbyBzdm4gYnppcDIgdGFyIGd6aXAgZ2F3ayBjaHJwYXRoIHdnZXQg
Y3BpbwpTQU5JVFlfUkVRVUlSRURfVVRJTElUSUVTPSJwYXRjaCBkaWZmc3RhdCB0ZXhpMmh0bWwg
bWFrZWluZm8gc3ZuIGJ6aXAyIHRhciBnemlwIGdhd2sgY2hycGF0aCB3Z2V0IGNwaW8iCiMgU0VQ
UFVLVV9DT01QT05FTlQ9Tm9uZQojIFBSRUZFUlJFRF9QUk9WSURFUl9vcGtnLW5hdGl2ZT1vcGtn
LW5hdGl2ZQpQUkVGRVJSRURfUFJPVklERVJfb3BrZy1uYXRpdmU9Im9wa2ctbmF0aXZlIgojIE1B
Q0hJTkU9Y29uY29yZGlhCnVuc2V0IE1BQ0hJTkUKIyBHSVRESVI9JHtDT19ESVJ9L2dpdDIKR0lU
RElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL2Rvd25sb2Fkcy9naXQyIgoj
IEVYQ0xVREVfRlJPTV9XT1JMRF9wbi1nb2JqZWN0LWludHJvc3BlY3Rpb249MQpFWENMVURFX0ZS
T01fV09STERfcG4tZ29iamVjdC1pbnRyb3NwZWN0aW9uPSIxIgojIE1BQ0hJTkVPVkVSUklERVM9
JHtNQUNISU5FfSR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgIm0zMiIsICI6
eDg2IiwgIiIgLGQpfQpNQUNISU5FT1ZFUlJJREVTPSJjb25jb3JkaWE6eDg2IgojIFRPT0xDSEFJ
Tl9PVVRQVVROQU1FPSR7U0RLX05BTUV9LXRvb2xjaGFpbi0ke0RJU1RST19WRVJTSU9OfQpUT09M
Q0hBSU5fT1VUUFVUTkFNRT0iY29uY29yZGlhLWVnbGliYy14ODZfNjQtaTU4Ni10b29sY2hhaW4t
djAuMS4zLTEtZ2FkMjhhNjMiCiMgcHJlZml4X25hdGl2ZT0vdXNyCnByZWZpeF9uYXRpdmU9Ii91
c3IiCiMgUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveHNlcnZlci14Zjg2PXhzZXJ2ZXIteG9y
ZwpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94c2VydmVyLXhmODY9InhzZXJ2ZXIteG9yZyIK
IyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1nY2MtaW50ZXJtZWRp
YXRlPWdjYy1jcm9zcy1pbnRlcm1lZGlhdGUKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4
Ni1jY2QtbGludXgtZ2NjLWludGVybWVkaWF0ZT0iZ2NjLWNyb3NzLWludGVybWVkaWF0ZSIKIyBT
RUNUSU9OXyR7UE59LWRldj1Ob25lCiMgYmFzZV9zYmluZGlyX25hdGl2ZT0vc2JpbgpiYXNlX3Ni
aW5kaXJfbmF0aXZlPSIvc2JpbiIKIyBzYmluZGlyPSR7ZXhlY19wcmVmaXh9L3NiaW4KZXhwb3J0
IHNiaW5kaXI9Ii91c3Ivc2JpbiIKIyBDRkxBR1M9JHtUQVJHRVRfQ0ZMQUdTfQpleHBvcnQgQ0ZM
QUdTPSItTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIgojIEJCX0JB
U0VIQVNIX3Rhc2stZG9fcG9wdWxhdGVfc3lzcm9vdD1kNTgxNDkwZGNlNWVhNmQ2NTczOTU3ZGFi
ZDg1NDkyZgpCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX3N5c3Jvb3Q9ImQ1ODE0OTBkY2U1
ZWE2ZDY1NzM5NTdkYWJkODU0OTJmIgojIEJVSUxEX0FSPSR7QlVJTERfUFJFRklYfWFyCmV4cG9y
dCBCVUlMRF9BUj0iYXIiCiMgQlVJTERfQVM9JHtCVUlMRF9QUkVGSVh9YXMgJHtCVUlMRF9BU19B
UkNIfQpleHBvcnQgQlVJTERfQVM9ImFzIgojIFNITElCU0RJUj0ke1NUQUdJTkdfRElSX0hPU1R9
L3NobGlicwpTSExJQlNESVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3N5c3Jvb3RzL2NvbmNvcmRpYS9zaGxpYnMiCiMgc2hhcmVkc3RhdGVkaXI9JHtiYXNlX3ByZWZp
eH0vY29tCmV4cG9ydCBzaGFyZWRzdGF0ZWRpcj0iL2NvbSIKIyBCQVNFX0xJQl90dW5lLWNvcmUy
LTY0PWxpYjY0CkJBU0VfTElCX3R1bmUtY29yZTItNjQ9ImxpYjY0IgojIENPTU1FUkNJQUxfQVVE
SU9fUExVR0lOUz0KIyBERUJJQU5fTUlSUk9SPWZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9w
b29sCkRFQklBTl9NSVJST1I9ImZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIgojIFBS
RUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmM9ZWdsaWJjClBSRUZFUlJFRF9QUk9WSURFUl92
aXJ0dWFsL2xpYmM9ImVnbGliYyIKIyBERUZBVUxUX1RBU0tfUFJPVklERVI9dGFzay1iYXNlCkRF
RkFVTFRfVEFTS19QUk9WSURFUj0idGFzay1iYXNlIgojIFBSRUZFUlJFRF9WRVJTSU9OX2djYy1j
cm9zcy1jYW5hZGlhbi1pNTg2PSR7R0NDVkVSU0lPTn0KUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNy
b3NzLWNhbmFkaWFuLWk1ODY9IjQuNiUiCiMgU1VNTUFSWV9tZXRhLXRvb2xjaGFpbi1kYmc9JHtT
VU1NQVJZfSAtIERlYnVnZ2luZyBmaWxlcwpTVU1NQVJZX21ldGEtdG9vbGNoYWluLWRiZz0ibWV0
YS10b29sY2hhaW4gdmVyc2lvbiAxLjAtcjcgLSBEZWJ1Z2dpbmcgZmlsZXMiCiMgUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1jY2QtbGludXgtZ2NjPWdjYy1jcm9zcwpQUkVGRVJSRURf
UFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1nY2M9ImdjYy1jcm9zcyIKIyBQUkVGRVJS
RURfVkVSU0lPTl9saW51eC15b2N0b19xZW11cHBjPTMuMiUKUFJFRkVSUkVEX1ZFUlNJT05fbGlu
dXgteW9jdG9fcWVtdXBwYz0iMy4yJSIKIyBCQl9CQVNFSEFTSF90YXNrLWRvX2NvbmZpZ3VyZT0x
N2YxNjY2MWRhYjA4MjMzMDk1OWU4NTFmNDU2YTdkNApCQl9CQVNFSEFTSF90YXNrLWRvX2NvbmZp
Z3VyZT0iMTdmMTY2NjFkYWIwODIzMzA5NTllODUxZjQ1NmE3ZDQiCiMgS0VSTkVMX0lNQUdFVFlQ
RT1iekltYWdlCktFUk5FTF9JTUFHRVRZUEU9ImJ6SW1hZ2UiCiMgVklSVFVBTC1SVU5USU1FX2Fw
bT1hcG0KVklSVFVBTC1SVU5USU1FX2FwbT0iYXBtIgojIElNQUdFX0xJTkdVQVM9ZW4tdXMgZW4t
Z2IKSU1BR0VfTElOR1VBUz0iZW4tdXMgZW4tZ2IiCiMgREVQTE9ZX0RJUl9JTUFHRT0ke0RFUExP
WV9ESVJ9L2ltYWdlcwpERVBMT1lfRElSX0lNQUdFPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9kZXBsb3kvaW1hZ2VzIgojIFNVTU1BUllfJHtQTn0tZGV2PU5vbmUKIyBQ
UkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJjLW5hdGl2ZXNkaz1lZ2xpYmMtbmF0aXZlc2Rr
ClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmMtbmF0aXZlc2RrPSJlZ2xpYmMtbmF0aXZl
c2RrIgojIFBBUkFMTEVMX01BS0U9LWogMTIKUEFSQUxMRUxfTUFLRT0iLWogMTIiCiMgUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliaWNvbnYtbmF0aXZlc2RrPWVnbGliYy1uYXRpdmVzZGsK
UFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliaWNvbnYtbmF0aXZlc2RrPSJlZ2xpYmMtbmF0
aXZlc2RrIgojIERFU0NSSVBUSU9OXyR7UE59LXN0YXRpY2Rldj1Ob25lCiMgUFJFRkVSUkVEX1ZF
UlNJT05fbGludXgtbGliYy1oZWFkZXJzPSR7TElOVVhMSUJDVkVSU0lPTn0KUFJFRkVSUkVEX1ZF
UlNJT05fbGludXgtbGliYy1oZWFkZXJzPSIzLjIiCiMgUFJFRkVSUkVEX1ZFUlNJT05fbGliZXJh
dGlvbi1mb250cz0xLjA0ClBSRUZFUlJFRF9WRVJTSU9OX2xpYmVyYXRpb24tZm9udHM9IjEuMDQi
CiMgRElTVFJPX0ZFQVRVUkVTX1RJTlk9cGNpCkRJU1RST19GRUFUVVJFU19USU5ZPSJwY2kiCiMg
SU5IRVJJVF9ESVNUUk89ZGViaWFuIGRldnNoZWxsIHNzdGF0ZSBsaWNlbnNlCklOSEVSSVRfRElT
VFJPPSJkZWJpYW4gZGV2c2hlbGwgc3N0YXRlIGxpY2Vuc2UiCiMgSU1BR0VfQkFTRU5BTUU9JHtQ
Tn0KSU1BR0VfQkFTRU5BTUU9Im1ldGEtdG9vbGNoYWluIgojIFBBVENIVE9PTD1xdWlsdApQQVRD
SFRPT0w9InF1aWx0IgojIFhPUkdfTUlSUk9SPWh0dHA6Ly94b3JnLmZyZWVkZXNrdG9wLm9yZy9y
ZWxlYXNlcwpYT1JHX01JUlJPUj0iaHR0cDovL3hvcmcuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2Vz
IgojIFNZU1JPT1RfREVTVERJUj0ke1dPUktESVJ9L3N5c3Jvb3QtZGVzdGRpci8KU1lTUk9PVF9E
RVNURElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUy
LWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc3lzcm9vdC1kZXN0ZGlyLyIKIyBCQl9C
QVNFSEFTSF90YXNrLWRvX2NoZWNrdXJpPTI1NzliZjAwNGM3MmQ0ODAxODZiMWU1MWVjNzc1Zjc1
CkJCX0JBU0VIQVNIX3Rhc2stZG9fY2hlY2t1cmk9IjI1NzliZjAwNGM3MmQ0ODAxODZiMWU1MWVj
Nzc1Zjc1IgojIFVDTElCQ1ZFUlNJT049MC45LjMzClVDTElCQ1ZFUlNJT049IjAuOS4zMyIKIyBE
SVNUUk89Y29uY29yZGlhCnVuc2V0IERJU1RSTwojIFBBQ0tBR0VMT0NLPSR7U1RBR0lOR19ESVJ9
L3BhY2thZ2Utb3V0cHV0LmxvY2sKUEFDS0FHRUxPQ0s9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3BhY2thZ2Utb3V0cHV0LmxvY2siCiMgU1BFQ0lBTF9Q
S0dTVUZGSVg9LW5hdGl2ZSAtY3Jvc3MgLWluaXRpYWwgLWludGVybWVkaWF0ZSAtbmF0aXZlc2Rr
IC1jcm9zc3NkayAtY3Jvc3MtY2FuYWRpYW4KU1BFQ0lBTF9QS0dTVUZGSVg9Ii1uYXRpdmUgLWNy
b3NzIC1pbml0aWFsIC1pbnRlcm1lZGlhdGUgLW5hdGl2ZXNkayAtY3Jvc3NzZGsgLWNyb3NzLWNh
bmFkaWFuIgojIEJVSUxEX0VYRUVYVD0KIyBETF9ESVI9JHtUT1BESVJ9L2Rvd25sb2FkcwpETF9E
SVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vZG93bmxvYWRzIgojIEJCX0JB
U0VIQVNIX3Rhc2stZG9fY2hlY2t1cmlhbGw9NTQ5NDI3NWZiNWEzMDdkMWI2YmE5MzJiNTk0MTU1
MjIKQkJfQkFTRUhBU0hfdGFzay1kb19jaGVja3VyaWFsbD0iNTQ5NDI3NWZiNWEzMDdkMWI2YmE5
MzJiNTk0MTU1MjIiCiMgSU1BR0VfUk9PVEZTX0VYVFJBX1NQQUNFPTAKSU1BR0VfUk9PVEZTX0VY
VFJBX1NQQUNFPSIwIgojIEJCX0JBU0VIQVNIX3Rhc2stZG9fY29tcGlsZT0wZGVlYjJlN2IwZGQw
YjNjNDM2NWM2Mzg5MzBkYjYwOApCQl9CQVNFSEFTSF90YXNrLWRvX2NvbXBpbGU9IjBkZWViMmU3
YjBkZDBiM2M0MzY1YzYzODkzMGRiNjA4IgojIFBSPXI3ClBSPSJyNyIKIyBQVj0ke0BiYi5wYXJz
ZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnKSxkKVsxXSBvciAnMS4w
J30KUFY9IjEuMCIKIyBTREtfUFJFRklYPSR7U0RLX1NZU30tClNES19QUkVGSVg9Ing4Nl82NC1j
Y2RzZGstbGludXgtIgojIFBLR0RFU1Q9JHtXT1JLRElSfS9wYWNrYWdlcy1zcGxpdApQS0dERVNU
PSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1s
aW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvcGFja2FnZXMtc3BsaXQiCiMgQkJfQkFTRUhBU0hf
dGFzay1kb19mZXRjaD1mZjA2MGU0NjI3NTY1NDc4MGZjOWY4MTE5ZGIzZjM1YgpCQl9CQVNFSEFT
SF90YXNrLWRvX2ZldGNoPSJmZjA2MGU0NjI3NTY1NDc4MGZjOWY4MTE5ZGIzZjM1YiIKIyBQRj0k
e1BOfS0ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9ClBGPSJtZXRhLXRvb2xjaGFpbi0xLjAtcjciCiMg
U1RBR0lOR19CSU5ESVJfTkFUSVZFPSR7U1RBR0lOR19ESVJfTkFUSVZFfSR7YmluZGlyX25hdGl2
ZX0KU1RBR0lOR19CSU5ESVJfTkFUSVZFPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2JpbiIKIyBJTUFHRVRFU1Q9ZHVtbXkK
SU1BR0VURVNUPSJkdW1teSIKIyBRRU1VX09QVElPTlNfYXJtdjdhPS1jcHUgY29ydGV4LWE4ClFF
TVVfT1BUSU9OU19hcm12N2E9Ii1jcHUgY29ydGV4LWE4IgojIFBOPSR7QGJiLnBhcnNlLkJCSGFu
ZGxlci52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScpLGQpWzBdIG9yICdkZWZhdWx0cGtn
bmFtZSd9ClBOPSJtZXRhLXRvb2xjaGFpbiIKIyBGQUtFUk9PVE5PRU5WPVBTRVVET19VTkxPQUQ9
MQpGQUtFUk9PVE5PRU5WPSJQU0VVRE9fVU5MT0FEPTEiCiMgUEFDS0FHRVZBUlM9RklMRVMgUkRF
UEVORFMgUlJFQ09NTUVORFMgU1VNTUFSWSBERVNDUklQVElPTiBSU1VHR0VTVFMgUlBST1ZJREVT
IFJDT05GTElDVFMgUEtHIEFMTE9XX0VNUFRZIHBrZ19wb3N0aW5zdCBwa2dfcG9zdHJtIElOSVRT
Q1JJUFRfTkFNRSBJTklUU0NSSVBUX1BBUkFNUyBERUJJQU5fTk9BVVRPTkFNRQpQQUNLQUdFVkFS
Uz0iRklMRVMgUkRFUEVORFMgUlJFQ09NTUVORFMgU1VNTUFSWSBERVNDUklQVElPTiBSU1VHR0VT
VFMgUlBST1ZJREVTIFJDT05GTElDVFMgUEtHIEFMTE9XX0VNUFRZIHBrZ19wb3N0aW5zdCBwa2df
cG9zdHJtIElOSVRTQ1JJUFRfTkFNRSBJTklUU0NSSVBUX1BBUkFNUyBERUJJQU5fTk9BVVRPTkFN
RSIKIyBESVNUUk9fVkVSU0lPTj0ke0BzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbImdpdCIsICJk
ZXNjcmliZSJdKS5zdHJpcCgpfQpESVNUUk9fVkVSU0lPTj0idjAuMS4zLTEtZ2FkMjhhNjMiCiMg
U0RLX0xEX0FSQ0g9JHtCVUlMRF9MRF9BUkNIfQojIFM9JHtXT1JLRElSfS8ke0JQfQpTPSIvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9t
ZXRhLXRvb2xjaGFpbi0xLjAtcjcvbWV0YS10b29sY2hhaW4tMS4wIgojIERFUExPWV9ESVJfVEFS
PSR7REVQTE9ZX0RJUn0vdGFyCkRFUExPWV9ESVJfVEFSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvdGFyIgojIFNUQUdJTkdfS0VSTkVMX0RJUj0ke1NUQUdJ
TkdfRElSX0hPU1R9L2tlcm5lbApTVEFHSU5HX0tFUk5FTF9ESVI9Ii9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYS9rZXJuZWwiCiMgUFJFRkVS
UkVEX1BST1ZJREVSX2xpbnV4LWxpYmMtaGVhZGVycz1saW51eC1saWJjLWhlYWRlcnMteW9jdG8K
UFJFRkVSUkVEX1BST1ZJREVSX2xpbnV4LWxpYmMtaGVhZGVycz0ibGludXgtbGliYy1oZWFkZXJz
LXlvY3RvIgojIEJCX0JBU0VIQVNIX3Rhc2stZG9fY2xlYW49OWZjMjhkOGM2ZDcwNmFkNzI2MGYy
NTI5MTliM2EwOGIKQkJfQkFTRUhBU0hfdGFzay1kb19jbGVhbj0iOWZjMjhkOGM2ZDcwNmFkNzI2
MGYyNTI5MTliM2EwOGIiCiMgTUxQUkVGSVg9CiMgQURPQkVfTUlSUk9SPWh0dHA6Ly9mcGRvd25s
b2FkLm1hY3JvbWVkaWEuY29tL2dldC9mbGFzaHBsYXllci9jdXJyZW50LwpBRE9CRV9NSVJST1I9
Imh0dHA6Ly9mcGRvd25sb2FkLm1hY3JvbWVkaWEuY29tL2dldC9mbGFzaHBsYXllci9jdXJyZW50
LyIKIyBJUEtfRkVFRF9VUklTPU5vbmUKIyBQS0dfQ09ORklHX0RJUj0ke1NUQUdJTkdfRElSX0hP
U1R9LyR7bGliZGlyfS9wa2djb25maWcKZXhwb3J0IFBLR19DT05GSUdfRElSPSIvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvL3Vzci9saWIv
cGtnY29uZmlnIgojIFRBUkdFVF9MREZMQUdTPS1XbCwtTzEgJHtUQVJHRVRfTElOS19IQVNIX1NU
WUxFfSAke0FTTkVFREVEfQpleHBvcnQgVEFSR0VUX0xERkxBR1M9Ii1XbCwtTzEgLVdsLC0taGFz
aC1zdHlsZT1nbnUgLVdsLC0tYXMtbmVlZGVkIgojIElNQUdFX1BSRVBST0NFU1NfQ09NTUFORD0g
bWtsaWJzX29wdGltaXplX2ltYWdlOyAgcHJlbGlua19pbWFnZTsgCklNQUdFX1BSRVBST0NFU1Nf
Q09NTUFORD0ibWtsaWJzX29wdGltaXplX2ltYWdlOyAgcHJlbGlua19pbWFnZTsiCiMgREVCSUFO
UkRFUD0KIyBUQVJHRVRfU1lTPSR7VEFSR0VUX0FSQ0h9JHtUQVJHRVRfVkVORE9SfSR7QFsnLScg
KyBkLmdldFZhcignVEFSR0VUX09TJywgVHJ1ZSksICcnXVtkLmdldFZhcignVEFSR0VUX09TJywg
VHJ1ZSkgPT0gKCcnIG9yICdjdXN0b20nKV19ClRBUkdFVF9TWVM9Imk1ODYtY2NkLWxpbnV4Igoj
IFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmMtbG9jYWxlPWVnbGliYy1sb2NhbGUKUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliYy1sb2NhbGU9ImVnbGliYy1sb2NhbGUiCiMgUEtH
X0NPTkZJR19ESVNBQkxFX1VOSU5TVEFMTEVEPXllcwpleHBvcnQgUEtHX0NPTkZJR19ESVNBQkxF
X1VOSU5TVEFMTEVEPSJ5ZXMiCiMgREVTQ1JJUFRJT05fJHtQTn0tZGV2PU5vbmUKIyBQQUNLQUdF
UkRFUFRBU0s9CiMgTElOS0VSX0hBU0hfU1RZTEVfbWlwczY0ZWw9c3lzdgpMSU5LRVJfSEFTSF9T
VFlMRV9taXBzNjRlbD0ic3lzdiIKIyBsaWJkaXI9JHtleGVjX3ByZWZpeH0vJHtiYXNlbGlifQpl
eHBvcnQgbGliZGlyPSIvdXNyL2xpYiIKIyBTRVBQVUtVX05FV1JFUE9SVD1Ob25lCiMgVFVORV9G
RUFUVVJFU190dW5lLXg4Ni02ND1tNjQKVFVORV9GRUFUVVJFU190dW5lLXg4Ni02ND0ibTY0Igoj
IEFMTE9XX0VNUFRZXyR7UE59LWRldj1Ob25lCiMgU1RBR0lOR19CSU5ESVJfVE9PTENIQUlOPSR7
U1RBR0lOR19ESVJfTkFUSVZFfSR7YmluZGlyX25hdGl2ZX0vJHtUVU5FX1BLR0FSQ0h9JHtUQVJH
RVRfVkVORE9SfS0ke1RBUkdFVF9PU30KU1RBR0lOR19CSU5ESVJfVE9PTENIQUlOPSIvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNy
L2Jpbi9jb3JlMi1jY2QtbGludXgiCiMgTUVUQURBVEFfQlJBTkNIPSR7QGJhc2VfZGV0ZWN0X2Jy
YW5jaChkKX0KTUVUQURBVEFfQlJBTkNIPSJkZW56aWwiCiMgUFJFRkVSUkVEX1ZFUlNJT05fZ2Nj
LWNyb3Nzc2RrLWluaXRpYWw9JHtTREtHQ0NWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl9nY2Mt
Y3Jvc3NzZGstaW5pdGlhbD0iNC42JSIKIyBTWVNST09UX1BSRVBST0NFU1NfRlVOQ1M9CiMgUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWxpYmMtaW5pdGlhbC1uYXRpdmVz
ZGs9Tm9uZQojIFNFUFBVS1VfQVRUQUNITUVOVD1Ob25lCiMgQkJfREVGQVVMVF9UQVNLPWJ1aWxk
CkJCX0RFRkFVTFRfVEFTSz0iYnVpbGQiCiMgUFNFVURPX0RJU0FCTEVEPTEKZXhwb3J0IFBTRVVE
T19ESVNBQkxFRD0iMSIKIyBQQUNLQUdFX0NMQVNTRVM9cGFja2FnZV9pcGsKUEFDS0FHRV9DTEFT
U0VTPSJwYWNrYWdlX2lwayIKIyBQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0b19xZW11eDg2
PTMuMiUKUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fcWVtdXg4Nj0iMy4yJSIKIyBUT09M
Q0hBSU5fT1BUSU9OUz0gLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfQpUT09MQ0hBSU5f
T1BUSU9OUz0iLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3N5c3Jvb3RzL2NvbmNvcmRpYSIKIyBMSUJDX0RFUEVOREVOQ0lFUz1saWJzZWdmYXVsdCAJCSAg
ICAgZWdsaWJjICAgICAJCSAgICAgZWdsaWJjLWRiZyAgICAgCQkgICAgIGVnbGliYy1kZXYgICAg
IAkJICAgICBlZ2xpYmMtdXRpbHMgICAgIAkJICAgICBlZ2xpYmMtdGhyZWFkLWRiIAkJICAgICAk
e0BnZXRfbGliY19sb2NhbGVzX2RlcGVuZGVuY2llcyhkKX0KTElCQ19ERVBFTkRFTkNJRVM9Imxp
YnNlZ2ZhdWx0IAkJICAgICBlZ2xpYmMgICAgIAkJICAgICBlZ2xpYmMtZGJnICAgICAJCSAgICAg
ZWdsaWJjLWRldiAgICAgCQkgICAgIGVnbGliYy11dGlscyAgICAgCQkgICAgIGVnbGliYy10aHJl
YWQtZGIgCQkgICAgIAllZ2xpYmMtbG9jYWxlZGF0YS1pMThuIAllZ2xpYmMtZ2NvbnYtaWJtODUw
IAllZ2xpYmMtZ2NvbnYtY3AxMjUyIAllZ2xpYmMtZ2NvbnYtaXNvODg1OS0xIAllZ2xpYmMtZ2Nv
bnYtaXNvODg1OS0xNSAJbG9jYWxlLWJhc2UtZW4tdXMgCWxvY2FsZS1iYXNlLWVuLWdiIgojIFNF
UFBVS1VfTE9HSU49Tm9uZQojIE9FX1RFUk1JTkFMPWF1dG8KT0VfVEVSTUlOQUw9ImF1dG8iCiMg
T0VfVEVSTUlOQUxfRVhQT1JUUz1YQVVUSE9SSVRZIFNIRUxMIERCVVNfU0VTU0lPTl9CVVNfQURE
UkVTUyBESVNQTEFZIEVYVFJBX09FTUFLRQpPRV9URVJNSU5BTF9FWFBPUlRTPSJYQVVUSE9SSVRZ
IFNIRUxMIERCVVNfU0VTU0lPTl9CVVNfQUREUkVTUyBESVNQTEFZIEVYVFJBX09FTUFLRSIKIyBU
VU5FX0ZFQVRVUkVTX3R1bmUtY29yZTI9JHtUVU5FX0ZFQVRVUkVTX3R1bmUteDg2fSBjb3JlMgpU
VU5FX0ZFQVRVUkVTX3R1bmUtY29yZTI9Im0zMiBjb3JlMiIKIyBQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9saWJ4MTE9bGlieDExLXRyaW0KUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGli
eDExPSJsaWJ4MTEtdHJpbSIKIyBUQVJHRVRfUFJFRklYPSR7VEFSR0VUX1NZU30tClRBUkdFVF9Q
UkVGSVg9Imk1ODYtY2NkLWxpbnV4LSIKIyBleHBhbnNpb24gb2YgU1JDUFYgdGhyZXcgRXhwYW5z
aW9uRXJyb3I6IEZhaWx1cmUgZXhwYW5kaW5nIHZhcmlhYmxlIFNSQ1BWLCBleHByZXNzaW9uIHdh
cyAke0BiYi5mZXRjaDIuZ2V0X3NyY3JldihkKX0gd2hpY2ggdHJpZ2dlcmVkIGV4Y2VwdGlvbiBG
ZXRjaEVycm9yOiBGZXRjaGVyIGZhaWx1cmU6IFNSQ1JFViB3YXMgdXNlZCB5ZXQgbm8gdmFsaWQg
U0NNIHdhcyBmb3VuZCBpbiBTUkNfVVJJCiMgX3Rhc2tfZGVwcz17J25vZXhlYyc6IHsnZG9fcGFj
a2FnZV93cml0ZSc6ICcxJywgJ2RvX2J1aWxkJzogJzEnfSwgJ3Rhc2tzJzogWydkb19wYXRjaCcs
ICdkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX3BvcHVsYXRlX3N5c3Jvb3Rfc2V0c2NlbmUnLCAn
ZG9fbGlzdHRhc2tzJywgJ2RvX2NsZWFuJywgJ2RvX2NoZWNrdXJpJywgJ2RvX2NoZWNrdXJpYWxs
JywgJ2RvX2ZldGNoYWxsJywgJ2RvX2J1aWxkYWxsJywgJ2RvX2ZldGNoJywgJ2RvX3VucGFjaycs
ICdkb19jb25maWd1cmUnLCAnZG9fY29tcGlsZScsICdkb19pbnN0YWxsJywgJ2RvX2J1aWxkJywg
J2RvX2NsZWFuc3N0YXRlJywgJ2RvX2NsZWFuYWxsJywgJ2RvX3BhY2thZ2UnLCAnZG9fcGFja2Fn
ZV9zZXRzY2VuZScsICdkb19wYWNrYWdlX3dyaXRlJywgJ2RvX3BhY2thZ2Vfd3JpdGVfaXBrX3Nl
dHNjZW5lJywgJ2RvX3BhY2thZ2Vfd3JpdGVfaXBrJywgJ2RvX2RldnNoZWxsJywgJ2RvX3BvcHVs
YXRlX2xpYycsICdkb19wb3B1bGF0ZV9saWNfc2V0c2NlbmUnLCAnZG9fcG9wdWxhdGVfc2RrJ10s
ICdyZGVwdGFzayc6IHsnZG9fcGFja2FnZV93cml0ZV9pcGsnOiAnJ30sICdyZWNyZGVwdGFzayc6
IHsnZG9fYnVpbGRhbGwnOiAnZG9fYnVpbGQnLCAnZG9fY2hlY2t1cmlhbGwnOiAnZG9fY2hlY2t1
cmknLCAnZG9fZmV0Y2hhbGwnOiAnZG9fZmV0Y2gnLCAnZG9fcG9wdWxhdGVfc2RrJzogJ2RvX3Bh
Y2thZ2Vfd3JpdGUnLCAnZG9fYnVpbGQnOiAnZG9fYnVpbGQnfSwgJ3VtYXNrJzogeydkb19pbnN0
YWxsJzogMTgsICdkb19jb25maWd1cmUnOiAxOCwgJ2RvX3BhY2thZ2UnOiAxOCwgJ2RvX3BhY2th
Z2Vfd3JpdGVfaXBrJzogJzAyMicsICdkb19wb3B1bGF0ZV9zeXNyb290JzogJzAyMicsICdkb19j
b21waWxlJzogMTh9LCAnZGVwZW5kcyc6IHsnZG9fcGF0Y2gnOiAncXVpbHQtbmF0aXZlOmRvX3Bv
cHVsYXRlX3N5c3Jvb3QnLCAnZG9faW5zdGFsbCc6ICcgdmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6
ZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19jb25maWd1cmUnOiAnIGVnbGliYzpkb19wb3B1bGF0
ZV9zeXNyb290IG5jdXJzZXM6ZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19wYWNrYWdlJzogJyB2
aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX3BvcHVsYXRl
X3Nkayc6ICcgb3BrZy1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBvcGtnLXV0aWxzLW5hdGl2
ZTpkb19wb3B1bGF0ZV9zeXNyb290J30sICdmYWtlcm9vdCc6IHsnZG9faW5zdGFsbCc6IDEsICdk
b19wYWNrYWdlX3NldHNjZW5lJzogMSwgJ2RvX3BhY2thZ2UnOiAxLCAnZG9fcG9wdWxhdGVfc2Rr
JzogJzEnfSwgJ3BhcmVudHMnOiB7J2RvX2NvbmZpZ3VyZSc6IFsnZG9fcGF0Y2gnXSwgJ2RvX3Bh
Y2thZ2UnOiBbJ2RvX3BvcHVsYXRlX2xpYycsICdkb19pbnN0YWxsJ10sICdkb19wYWNrYWdlX3dy
aXRlJzogWydkb19wYWNrYWdlX3dyaXRlX2lwaycsICdkb19wYWNrYWdlJ10sICdkb19mZXRjaGFs
bCc6IFsnZG9fZmV0Y2gnXSwgJ2RvX3BvcHVsYXRlX3Nkayc6IFsnZG9faW5zdGFsbCddLCAnZG9f
Y29tcGlsZSc6IFsnZG9fY29uZmlndXJlJ10sICdkb19jbGVhbmFsbCc6IFsnZG9fY2xlYW5zc3Rh
dGUnXSwgJ2RvX2NoZWNrdXJpJzogW10sICdkb191bnBhY2snOiBbJ2RvX2ZldGNoJ10sICdkb19w
b3B1bGF0ZV9saWMnOiBbJ2RvX3BhdGNoJ10sICdkb19idWlsZCc6IFsnZG9fcG9wdWxhdGVfc2Rr
JywgJ2RvX3BhY2thZ2Vfd3JpdGUnLCAnZG9fcGFja2FnZScsICdkb19wb3B1bGF0ZV9zeXNyb290
J10sICdkb19mZXRjaCc6IFtdLCAnZG9fZGV2c2hlbGwnOiBbJ2RvX3BhdGNoJ10sICdkb19wb3B1
bGF0ZV9zeXNyb290JzogWydkb19pbnN0YWxsJ10sICdkb19wb3B1bGF0ZV9zeXNyb290X3NldHNj
ZW5lJzogW10sICdkb19jaGVja3VyaWFsbCc6IFsnZG9fY2hlY2t1cmknXSwgJ2RvX2luc3RhbGwn
OiBbJ2RvX2NvbXBpbGUnXSwgJ2RvX3BvcHVsYXRlX2xpY19zZXRzY2VuZSc6IFtdLCAnZG9fbGlz
dHRhc2tzJzogW10sICdkb19jbGVhbic6IFtdLCAnZG9fcGF0Y2gnOiBbJ2RvX3VucGFjayddLCAn
ZG9fcGFja2FnZV93cml0ZV9pcGtfc2V0c2NlbmUnOiBbXSwgJ2RvX2J1aWxkYWxsJzogWydkb19i
dWlsZCddLCAnZG9fcGFja2FnZV93cml0ZV9pcGsnOiBbJ2RvX3BhY2thZ2UnXSwgJ2RvX3BhY2th
Z2Vfc2V0c2NlbmUnOiBbXSwgJ2RvX2NsZWFuc3N0YXRlJzogWydkb19jbGVhbiddfSwgJ2RlcHRh
c2snOiB7J2RvX2NvbmZpZ3VyZSc6ICdkb19wb3B1bGF0ZV9zeXNyb290J30sICdub3N0YW1wJzog
eydkb19saXN0dGFza3MnOiAnMScsICdkb19kZXZzaGVsbCc6ICcxJywgJ2RvX2NsZWFuJzogJzEn
LCAnZG9fcG9wdWxhdGVfc2RrJzogJzEnLCAnZG9fY2xlYW5hbGwnOiAnMScsICdkb19jaGVja3Vy
aSc6ICcxJywgJ2RvX2NoZWNrdXJpYWxsJzogJzEnfX0KX3Rhc2tfZGVwcz0ieydub2V4ZWMnOiB7
J2RvX3BhY2thZ2Vfd3JpdGUnOiAnMScsICdkb19idWlsZCc6ICcxJ30sICd0YXNrcyc6IFsnZG9f
cGF0Y2gnLCAnZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19wb3B1bGF0ZV9zeXNyb290X3NldHNj
ZW5lJywgJ2RvX2xpc3R0YXNrcycsICdkb19jbGVhbicsICdkb19jaGVja3VyaScsICdkb19jaGVj
a3VyaWFsbCcsICdkb19mZXRjaGFsbCcsICdkb19idWlsZGFsbCcsICdkb19mZXRjaCcsICdkb191
bnBhY2snLCAnZG9fY29uZmlndXJlJywgJ2RvX2NvbXBpbGUnLCAnZG9faW5zdGFsbCcsICdkb19i
dWlsZCcsICdkb19jbGVhbnNzdGF0ZScsICdkb19jbGVhbmFsbCcsICdkb19wYWNrYWdlJywgJ2Rv
X3BhY2thZ2Vfc2V0c2NlbmUnLCAnZG9fcGFja2FnZV93cml0ZScsICdkb19wYWNrYWdlX3dyaXRl
X2lwa19zZXRzY2VuZScsICdkb19wYWNrYWdlX3dyaXRlX2lwaycsICdkb19kZXZzaGVsbCcsICdk
b19wb3B1bGF0ZV9saWMnLCAnZG9fcG9wdWxhdGVfbGljX3NldHNjZW5lJywgJ2RvX3BvcHVsYXRl
X3NkayddLCAncmRlcHRhc2snOiB7J2RvX3BhY2thZ2Vfd3JpdGVfaXBrJzogJyd9LCAncmVjcmRl
cHRhc2snOiB7J2RvX2J1aWxkYWxsJzogJ2RvX2J1aWxkJywgJ2RvX2NoZWNrdXJpYWxsJzogJ2Rv
X2NoZWNrdXJpJywgJ2RvX2ZldGNoYWxsJzogJ2RvX2ZldGNoJywgJ2RvX3BvcHVsYXRlX3Nkayc6
ICdkb19wYWNrYWdlX3dyaXRlJywgJ2RvX2J1aWxkJzogJ2RvX2J1aWxkJ30sICd1bWFzayc6IHsn
ZG9faW5zdGFsbCc6IDE4LCAnZG9fY29uZmlndXJlJzogMTgsICdkb19wYWNrYWdlJzogMTgsICdk
b19wYWNrYWdlX3dyaXRlX2lwayc6ICcwMjInLCAnZG9fcG9wdWxhdGVfc3lzcm9vdCc6ICcwMjIn
LCAnZG9fY29tcGlsZSc6IDE4fSwgJ2RlcGVuZHMnOiB7J2RvX3BhdGNoJzogJ3F1aWx0LW5hdGl2
ZTpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX2luc3RhbGwnOiAnIHZpcnR1YWwvZmFrZXJvb3Qt
bmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fY29uZmlndXJlJzogJyBlZ2xpYmM6ZG9f
cG9wdWxhdGVfc3lzcm9vdCBuY3Vyc2VzOmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcGFja2Fn
ZSc6ICcgdmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19w
b3B1bGF0ZV9zZGsnOiAnIG9wa2ctbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3Qgb3BrZy11dGls
cy1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCd9LCAnZmFrZXJvb3QnOiB7J2RvX2luc3RhbGwn
OiAxLCAnZG9fcGFja2FnZV9zZXRzY2VuZSc6IDEsICdkb19wYWNrYWdlJzogMSwgJ2RvX3BvcHVs
YXRlX3Nkayc6ICcxJ30sICdwYXJlbnRzJzogeydkb19jb25maWd1cmUnOiBbJ2RvX3BhdGNoJ10s
ICdkb19wYWNrYWdlJzogWydkb19wb3B1bGF0ZV9saWMnLCAnZG9faW5zdGFsbCddLCAnZG9fcGFj
a2FnZV93cml0ZSc6IFsnZG9fcGFja2FnZV93cml0ZV9pcGsnLCAnZG9fcGFja2FnZSddLCAnZG9f
ZmV0Y2hhbGwnOiBbJ2RvX2ZldGNoJ10sICdkb19wb3B1bGF0ZV9zZGsnOiBbJ2RvX2luc3RhbGwn
XSwgJ2RvX2NvbXBpbGUnOiBbJ2RvX2NvbmZpZ3VyZSddLCAnZG9fY2xlYW5hbGwnOiBbJ2RvX2Ns
ZWFuc3N0YXRlJ10sICdkb19jaGVja3VyaSc6IFtdLCAnZG9fdW5wYWNrJzogWydkb19mZXRjaCdd
LCAnZG9fcG9wdWxhdGVfbGljJzogWydkb19wYXRjaCddLCAnZG9fYnVpbGQnOiBbJ2RvX3BvcHVs
YXRlX3NkaycsICdkb19wYWNrYWdlX3dyaXRlJywgJ2RvX3BhY2thZ2UnLCAnZG9fcG9wdWxhdGVf
c3lzcm9vdCddLCAnZG9fZmV0Y2gnOiBbXSwgJ2RvX2RldnNoZWxsJzogWydkb19wYXRjaCddLCAn
ZG9fcG9wdWxhdGVfc3lzcm9vdCc6IFsnZG9faW5zdGFsbCddLCAnZG9fcG9wdWxhdGVfc3lzcm9v
dF9zZXRzY2VuZSc6IFtdLCAnZG9fY2hlY2t1cmlhbGwnOiBbJ2RvX2NoZWNrdXJpJ10sICdkb19p
bnN0YWxsJzogWydkb19jb21waWxlJ10sICdkb19wb3B1bGF0ZV9saWNfc2V0c2NlbmUnOiBbXSwg
J2RvX2xpc3R0YXNrcyc6IFtdLCAnZG9fY2xlYW4nOiBbXSwgJ2RvX3BhdGNoJzogWydkb191bnBh
Y2snXSwgJ2RvX3BhY2thZ2Vfd3JpdGVfaXBrX3NldHNjZW5lJzogW10sICdkb19idWlsZGFsbCc6
IFsnZG9fYnVpbGQnXSwgJ2RvX3BhY2thZ2Vfd3JpdGVfaXBrJzogWydkb19wYWNrYWdlJ10sICdk
b19wYWNrYWdlX3NldHNjZW5lJzogW10sICdkb19jbGVhbnNzdGF0ZSc6IFsnZG9fY2xlYW4nXX0s
ICdkZXB0YXNrJzogeydkb19jb25maWd1cmUnOiAnZG9fcG9wdWxhdGVfc3lzcm9vdCd9LCAnbm9z
dGFtcCc6IHsnZG9fbGlzdHRhc2tzJzogJzEnLCAnZG9fZGV2c2hlbGwnOiAnMScsICdkb19jbGVh
bic6ICcxJywgJ2RvX3BvcHVsYXRlX3Nkayc6ICcxJywgJ2RvX2NsZWFuYWxsJzogJzEnLCAnZG9f
Y2hlY2t1cmknOiAnMScsICdkb19jaGVja3VyaWFsbCc6ICcxJ319IgojIFBTRVVET19CVUlMRD0w
ClBTRVVET19CVUlMRD0iMCIKIyBub19wcm94eT1pbnRlbC5jb20Kbm9fcHJveHk9ImludGVsLmNv
bSIKIyBCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX3N5c3Jvb3Rfc2V0c2NlbmU9ZGRlNDhj
MmVkYzA0ZmM4NGVmMDQ2ZjgxNzM3OTRmOTIKQkJfQkFTRUhBU0hfdGFzay1kb19wb3B1bGF0ZV9z
eXNyb290X3NldHNjZW5lPSJkZGU0OGMyZWRjMDRmYzg0ZWYwNDZmODE3Mzc5NGY5MiIKIyBQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzPXVwZGF0ZS1hbHRlcm5h
dGl2ZXMtY3dvcnRoClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2
ZXM9InVwZGF0ZS1hbHRlcm5hdGl2ZXMtY3dvcnRoIgojIERPVERFQlVHLWRiZz0ke2JpbmRpcn0v
LmRlYnVnICR7c2JpbmRpcn0vLmRlYnVnICR7bGliZXhlY2Rpcn0vLmRlYnVnICR7bGliZGlyfS8u
ZGVidWcgJHtiYXNlX2JpbmRpcn0vLmRlYnVnICR7YmFzZV9zYmluZGlyfS8uZGVidWcgJHtiYXNl
X2xpYmRpcn0vLmRlYnVnICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnICR7bGliZGlyfS9tYXRjaGJv
eC1wYW5lbC8uZGVidWcgL3Vzci9zcmMvZGVidWcKRE9UREVCVUctZGJnPSIvdXNyL2Jpbi8uZGVi
dWcgL3Vzci9zYmluLy5kZWJ1ZyAvdXNyL2xpYmV4ZWMvLmRlYnVnIC91c3IvbGliLy5kZWJ1ZyAv
YmluLy5kZWJ1ZyAvc2Jpbi8uZGVidWcgL2xpYi8uZGVidWcgL3Vzci9saWIvbWV0YS10b29sY2hh
aW4vLmRlYnVnIC91c3IvbGliL21hdGNoYm94LXBhbmVsLy5kZWJ1ZyAvdXNyL3NyYy9kZWJ1ZyIK
IyBQQUNLQUdFX0FSQ0hTPWFsbCBhbnkgbm9hcmNoICR7UEFDS0FHRV9FWFRSQV9BUkNIU30gJHtN
QUNISU5FX0FSQ0h9ClBBQ0tBR0VfQVJDSFM9ImFsbCBhbnkgbm9hcmNoIHg4NiBpMzg2IGk0ODYg
aTU4NiBpNjg2IGNvcmUyIGNvbmNvcmRpYSIKIyBQQUNLQUdFX0FSQ0g9JHtUVU5FX1BLR0FSQ0h9
ClBBQ0tBR0VfQVJDSD0iY29yZTIiCiMgRVhUUkFfT0VDT05GPQojIEJVSUxEX0Y3Nz0ke0NDQUNI
RX0ke0JVSUxEX1BSRUZJWH1nNzcgJHtCVUlMRF9DQ19BUkNIfQpleHBvcnQgQlVJTERfRjc3PSJn
NzciCiMgU0hMSUJTV09SS0RJUj0ke1dPUktESVJ9L3NobGlicwpTSExJQlNXT1JLRElSPSIvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9t
ZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2hsaWJzIgojIE1BQ0hJTkVfRVNTRU5USUFMX0VYVFJBX1JE
RVBFTkRTPQojIERFU0NSSVBUSU9OX21ldGEtdG9vbGNoYWluLWRvYz0ke0RFU0NSSVBUSU9OfSAg
VGhpcyBwYWNrYWdlIGNvbnRhaW5zIGRvY3VtZW50YXRpb24uCkRFU0NSSVBUSU9OX21ldGEtdG9v
bGNoYWluLWRvYz0iTWV0YSBwYWNrYWdlIGZvciBidWlsZGluZyBhIGluc3RhbGxhYmxlIHRvb2xj
aGFpbiAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIGRvY3VtZW50YXRpb24uIgojIEJVSUxEX0xEX0FS
Q0g9CiMgQkJfQkFTRUhBU0hfdGFzay1kb19mZXRjaGFsbD01NDk0Mjc1ZmI1YTMwN2QxYjZiYTkz
MmI1OTQxNTUyMgpCQl9CQVNFSEFTSF90YXNrLWRvX2ZldGNoYWxsPSI1NDk0Mjc1ZmI1YTMwN2Qx
YjZiYTkzMmI1OTQxNTUyMiIKIyBTVEFHSU5HX0xJQkRJUj0ke1NUQUdJTkdfRElSX0hPU1R9JHts
aWJkaXJ9ClNUQUdJTkdfTElCRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNyL2xpYiIKIyBTVEFHSU5HX0RBVEFESVJfTkFUSVZF
PSR7U1RBR0lOR19ESVJfTkFUSVZFfSR7ZGF0YWRpcl9uYXRpdmV9ClNUQUdJTkdfREFUQURJUl9O
QVRJVkU9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4
Nl82NC1saW51eC91c3Ivc2hhcmUiCiMgUlBNREVQUz0ke1NUQUdJTkdfTElCRElSX05BVElWRX0v
cnBtL2Jpbi9ycG1kZXBzLW9lY29yZSAtLW1hY3JvcyAke1NUQUdJTkdfTElCRElSX05BVElWRX0v
cnBtL21hY3JvcyAtLWRlZmluZSAnX3JwbWZjX21hZ2ljX3BhdGggJHtTVEFHSU5HX0RJUl9OQVRJ
VkV9JHtkYXRhZGlyX25hdGl2ZX0vbWlzYy9tYWdpYy5tZ2MnIC0tcnBtcG9wdCAke1NUQUdJTkdf
TElCRElSX05BVElWRX0vcnBtL3JwbXBvcHQKUlBNREVQUz0iL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIvcnBtL2Jpbi9y
cG1kZXBzLW9lY29yZSAtLW1hY3JvcyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi9ycG0vbWFjcm9zIC0tZGVmaW5lICdf
cnBtZmNfbWFnaWNfcGF0aCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9z
eXNyb290cy94ODZfNjQtbGludXgvdXNyL3NoYXJlL21pc2MvbWFnaWMubWdjJyAtLXJwbXBvcHQg
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxp
bnV4L3Vzci9saWIvcnBtL3JwbXBvcHQiCiMgU1JDUkVWPUlOVkFMSUQKU1JDUkVWPSJJTlZBTElE
IgojIGJhc2VfbGliZGlyX25hdGl2ZXNkaz0vbGliCmJhc2VfbGliZGlyX25hdGl2ZXNkaz0iL2xp
YiIKIyBCQVNFX0xJQl90dW5lLXg4Nj1saWIKQkFTRV9MSUJfdHVuZS14ODY9ImxpYiIKIyBQQUNL
QUdFRlVOQ1M9cGFja2FnZV9nZXRfYXV0b19wciAgICAgICAgICAgICAgICAgcGVyZm9ybV9wYWNr
YWdlY29weSAgICAgICAgICAgICAgICAgJHtQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1N9IAkJcGFj
a2FnZV9kb19zcGxpdF9sb2NhbGVzIAkJc3BsaXRfYW5kX3N0cmlwX2ZpbGVzIAkJZml4dXBfcGVy
bXMgCQlwb3B1bGF0ZV9wYWNrYWdlcyAJCXBhY2thZ2VfZG9fZmlsZWRlcHMgCQlwYWNrYWdlX2Rv
X3NobGlicyAJCXBhY2thZ2VfZG9fcGtnY29uZmlnIAkJcmVhZF9zaGxpYmRlcHMgCQlwYWNrYWdl
X2RlcGNoYWlucyAJCWVtaXRfcGtnZGF0YSAgZG9fcGFja2FnZV9xYSAKUEFDS0FHRUZVTkNTPSJw
YWNrYWdlX2dldF9hdXRvX3ByICAgICAgICAgICAgICAgICBwZXJmb3JtX3BhY2thZ2Vjb3B5ICAg
ICAgICAgICAgICAgICAgCQlwYWNrYWdlX2RvX3NwbGl0X2xvY2FsZXMgCQlzcGxpdF9hbmRfc3Ry
aXBfZmlsZXMgCQlmaXh1cF9wZXJtcyAJCXBvcHVsYXRlX3BhY2thZ2VzIAkJcGFja2FnZV9kb19m
aWxlZGVwcyAJCXBhY2thZ2VfZG9fc2hsaWJzIAkJcGFja2FnZV9kb19wa2djb25maWcgCQlyZWFk
X3NobGliZGVwcyAJCXBhY2thZ2VfZGVwY2hhaW5zIAkJZW1pdF9wa2dkYXRhICBkb19wYWNrYWdl
X3FhIgojIFBXRD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvCmV4cG9ydCBQV0Q9
Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8iCiMgQlpSRElSPSR7Q09fRElSfS9i
enIKQlpSRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL2Rvd25sb2Fkcy9i
enIiCiMgUFJFRkVSUkVEX1BST1ZJREVSX2xpbnV4LWxpYmMtaGVhZGVycy1uYXRpdmVzZGs9bGlu
dXgtbGliYy1oZWFkZXJzLW5hdGl2ZXNkawpQUkVGRVJSRURfUFJPVklERVJfbGludXgtbGliYy1o
ZWFkZXJzLW5hdGl2ZXNkaz0ibGludXgtbGliYy1oZWFkZXJzLW5hdGl2ZXNkayIKIyBUVU5FX0ZF
QVRVUkVTX3R1bmUtaTU4Nj0ke1RVTkVfRkVBVFVSRVNfdHVuZS14ODZ9IGk1ODYKVFVORV9GRUFU
VVJFU190dW5lLWk1ODY9Im0zMiBpNTg2IgojIEdQRV9TVk49c3ZuOi8vcHJvamVjdHMubGludXh0
b2dvLm9yZy9zdm4vZ3BlL3RydW5rL2Jhc2U7bW9kdWxlPSR7UE59CkdQRV9TVk49InN2bjovL3By
b2plY3RzLmxpbnV4dG9nby5vcmcvc3ZuL2dwZS90cnVuay9iYXNlO21vZHVsZT1tZXRhLXRvb2xj
aGFpbiIKIyBFWFRFTkRQS0dWPSR7RVhURU5EUEtHRVZFUn0ke1BLR1Z9LSR7UEtHUn0KRVhURU5E
UEtHVj0iMS4wLXI3IgojIEFMTF9QUk9YWT1zb2NrczovL3Byb3h5LXNvY2tzLmpmLmludGVsLmNv
bToxMDgwLwpBTExfUFJPWFk9InNvY2tzOi8vcHJveHktc29ja3MuamYuaW50ZWwuY29tOjEwODAv
IgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2RiLW5hdGl2ZT1kYi1uYXRpdmUKUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvZGItbmF0aXZlPSJkYi1uYXRpdmUiCiMgaHR0cF9wcm94eT1o
dHRwOi8vcHJveHkuamYuaW50ZWwuY29tOjkxMQpodHRwX3Byb3h5PSJodHRwOi8vcHJveHkuamYu
aW50ZWwuY29tOjkxMSIKIyBTU1RBVEVUQVNLUz1kb19wYWNrYWdlX3dyaXRlX2lwayBkb19wb3B1
bGF0ZV9saWMgZG9fcGFja2FnZSBkb19wb3B1bGF0ZV9zeXNyb290ClNTVEFURVRBU0tTPSJkb19w
YWNrYWdlX3dyaXRlX2lwayBkb19wb3B1bGF0ZV9saWMgZG9fcGFja2FnZSBkb19wb3B1bGF0ZV9z
eXNyb290IgojIFNPTElCU19kYXJ3aW49LiouZHlsaWIKU09MSUJTX2Rhcndpbj0iLiouZHlsaWIi
CiMgUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvZGI9ZGIKUFJFRkVSUkVEX1BST1ZJREVSX3Zp
cnR1YWwvZGI9ImRiIgojIEJQPSR7QlBOfS0ke1BWfQpCUD0ibWV0YS10b29sY2hhaW4tMS4wIgoj
IEJCRklMRV9QQVRURVJOX25vcm1hbD1eL29wdC9wb2t5LmdpdC9tZXRhLwpCQkZJTEVfUEFUVEVS
Tl9ub3JtYWw9Il4vb3B0L3Bva3kuZ2l0L21ldGEvIgojIFRVTkVfUEtHQVJDSF90dW5lLXg4Nj14
ODYKVFVORV9QS0dBUkNIX3R1bmUteDg2PSJ4ODYiCiMgU0hFTEw9L2Jpbi9iYXNoCmV4cG9ydCBT
SEVMTD0iL2Jpbi9iYXNoIgojIERFQlVHRklMRURJUkVDVE9SWS1kYmc9L3Vzci9saWIvZGVidWcg
L3Vzci9zcmMvZGVidWcKREVCVUdGSUxFRElSRUNUT1JZLWRiZz0iL3Vzci9saWIvZGVidWcgL3Vz
ci9zcmMvZGVidWciCiMgUFJFRkVSUkVEX1ZFUlNJT05fdWNsaWJjPSR7VUNMSUJDVkVSU0lPTn0K
UFJFRkVSUkVEX1ZFUlNJT05fdWNsaWJjPSIwLjkuMzMiCiMgUFJFRkVSUkVEX1BST1ZJREVSX3hm
ODYtdmlkZW8taW50ZWw9eGY4Ni12aWRlby1pbnRlbApQUkVGRVJSRURfUFJPVklERVJfeGY4Ni12
aWRlby1pbnRlbD0ieGY4Ni12aWRlby1pbnRlbCIKIyBCQl9HRU5FUkFURV9NSVJST1JfVEFSQkFM
TFM9MApCQl9HRU5FUkFURV9NSVJST1JfVEFSQkFMTFM9IjAiCiMgVFVORV9QS0dBUkNIX3R1bmUt
Y29yZTItNjQteDMyPWNvcmUyXzY0X3gzMgpUVU5FX1BLR0FSQ0hfdHVuZS1jb3JlMi02NC14MzI9
ImNvcmUyXzY0X3gzMiIKIyBTT1VSQ0VfTUlSUk9SX0ZFVENIPU5vbmUKIyBUPSR7V09SS0RJUn0v
dGVtcApUPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUy
LWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvdGVtcCIKIyBHTElCQ19BRERPTlM9bnB0
bApHTElCQ19BRERPTlM9Im5wdGwiCiMgc3lzdGVtZF91bml0ZGlyPSR7YmFzZV9saWJkaXJ9L3N5
c3RlbWQKZXhwb3J0IHN5c3RlbWRfdW5pdGRpcj0iL2xpYi9zeXN0ZW1kIgojIExJTktFUl9IQVNI
X1NUWUxFX21pcHM2ND1zeXN2CkxJTktFUl9IQVNIX1NUWUxFX21pcHM2ND0ic3lzdiIKIyBDT01N
RVJDSUFMX1ZJREVPX1BMVUdJTlM9CiMgQlVJTERfQ0NfQVJDSD0KIyBGRVRDSENPTU1BTkQ9RVJS
T1IsIHRoaXMgbXVzdCBiZSBhIEJpdEJha2UgYnVnCkZFVENIQ09NTUFORD0iRVJST1IsIHRoaXMg
bXVzdCBiZSBhIEJpdEJha2UgYnVnIgojIFRPT0xDSEFJTl9IT1NUX1RBU0s9dGFzay1zZGstaG9z
dC1uYXRpdmVzZGsgdGFzay1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9
ClRPT0xDSEFJTl9IT1NUX1RBU0s9InRhc2stc2RrLWhvc3QtbmF0aXZlc2RrIHRhc2stY3Jvc3Mt
Y2FuYWRpYW4taTU4NiIKIyBCQl9CQVNFSEFTSF90YXNrLWRvX2J1aWxkPTU0OTQyNzVmYjVhMzA3
ZDFiNmJhOTMyYjU5NDE1NTIyCkJCX0JBU0VIQVNIX3Rhc2stZG9fYnVpbGQ9IjU0OTQyNzVmYjVh
MzA3ZDFiNmJhOTMyYjU5NDE1NTIyIgojIE1JUlJPUlM9ZnRwOi8vLiovLiogICAgICBodHRwOi8v
ZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGh0dHA6Ly8uKi8u
KiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBc
biBodHRwczovLy4qLy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJy
b3Ivc291cmNlcy8gXG4gICR7REVCSUFOX01JUlJPUn0vbWFpbglodHRwOi8vc25hcHNob3QuZGVi
aWFuLm5ldC9hcmNoaXZlL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlmdHA6Ly9mdHAuZGUuZGVi
aWFuLm9yZy9kZWJpYW4vcG9vbCBcbiAke0RFQklBTl9NSVJST1J9CWZ0cDovL2Z0cC5hdS5kZWJp
YW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JZnRwOi8vZnRwLmNsLmRlYmlh
bi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlmdHA6Ly9mdHAuaHIuZGViaWFu
Lm9yZy9kZWJpYW4vcG9vbCBcbiAke0RFQklBTl9NSVJST1J9CWZ0cDovL2Z0cC5maS5kZWJpYW4u
b3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JZnRwOi8vZnRwLmhrLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlmdHA6Ly9mdHAuaHUuZGViaWFuLm9y
Zy9kZWJpYW4vcG9vbCBcbiAke0RFQklBTl9NSVJST1J9CWZ0cDovL2Z0cC5pZS5kZWJpYW4ub3Jn
L2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JZnRwOi8vZnRwLml0LmRlYmlhbi5vcmcv
ZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlmdHA6Ly9mdHAuanAuZGViaWFuLm9yZy9k
ZWJpYW4vcG9vbCBcbiAke0RFQklBTl9NSVJST1J9CWZ0cDovL2Z0cC5uby5kZWJpYW4ub3JnL2Rl
Ymlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JZnRwOi8vZnRwLnBsLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlmdHA6Ly9mdHAucm8uZGViaWFuLm9yZy9kZWJp
YW4vcG9vbCBcbiAke0RFQklBTl9NSVJST1J9CWZ0cDovL2Z0cC5zaS5kZWJpYW4ub3JnL2RlYmlh
bi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JZnRwOi8vZnRwLmVzLmRlYmlhbi5vcmcvZGViaWFu
L3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlmdHA6Ly9mdHAuc2UuZGViaWFuLm9yZy9kZWJpYW4v
cG9vbCBcbiAke0RFQklBTl9NSVJST1J9CWZ0cDovL2Z0cC50ci5kZWJpYW4ub3JnL2RlYmlhbi9w
b29sIFxuICR7R05VX01JUlJPUn0JZnRwOi8vbWlycm9ycy5rZXJuZWwub3JnL2dudSBcbiAke0tF
Uk5FTE9SR19NSVJST1J9CWh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIgXG4gZnRwOi8vZnRwLmdu
dXBnLm9yZy9nY3J5cHQvICAgICBmdHA6Ly9mdHAuZnJhbmtlbi5kZS9wdWIvY3J5cHQvbWlycm9y
L2Z0cC5nbnVwZy5vcmcvZ2NyeXB0LyBcbiBmdHA6Ly9mdHAuZ251cGcub3JnL2djcnlwdC8gICAg
IGZ0cDovL2Z0cC5zdXJmbmV0Lm5sL3B1Yi9zZWN1cml0eS9nbnVwZy8gXG4gZnRwOi8vZnRwLmdu
dXBnLm9yZy9nY3J5cHQvICAgICBodHRwOi8vZ3VsdXMuVVNoZXJicm9va2UuY2EvcHViL2FwcGwv
R251UEcvIFxuIGZ0cDovL2RhbnRlLmN0YW4ub3JnL3RleC1hcmNoaXZlIGZ0cDovL2Z0cC5mdS1i
ZXJsaW4uZGUvdGV4L0NUQU4gXG4gZnRwOi8vZGFudGUuY3Rhbi5vcmcvdGV4LWFyY2hpdmUgaHR0
cDovL3N1bnNpdGUuc3V0LmFjLmpwL3B1Yi9hcmNoaXZlcy9jdGFuLyBcbiBmdHA6Ly9kYW50ZS5j
dGFuLm9yZy90ZXgtYXJjaGl2ZSBodHRwOi8vY3Rhbi51bnN3LmVkdS5hdS8gXG4gZnRwOi8vZnRw
LmdudXRscy5vcmcvcHViL2dudXRscyBmdHA6Ly9mdHAuZ251dGxzLm9yZy9wdWIvZ251dGxzLyBc
biBmdHA6Ly9mdHAuZ251dGxzLm9yZy9wdWIvZ251dGxzIGZ0cDovL2Z0cC5nbnVwZy5vcmcvZ2Ny
eXB0L2dudXRscy8gXG4gZnRwOi8vZnRwLmdudXRscy5vcmcvcHViL2dudXRscyBodHRwOi8vd3d3
Lm1pcnJvcnMud2lyZXRhcHBlZC5uZXQvc2VjdXJpdHkvbmV0d29yay1zZWN1cml0eS9nbnV0bHMv
IFxuIGZ0cDovL2Z0cC5nbnV0bHMub3JnL3B1Yi9nbnV0bHMgZnRwOi8vZnRwLm1pcnJvcnMud2ly
ZXRhcHBlZC5uZXQvcHViL3NlY3VyaXR5L25ldHdvcmstc2VjdXJpdHkvZ251dGxzLyBcbiBmdHA6
Ly9mdHAuZ251dGxzLm9yZy9wdWIvZ251dGxzIGh0dHA6Ly9qb3NlZnNzb24ub3JnL2dudXRscy9y
ZWxlYXNlcy8gXG4gaHR0cDovL2Z0cC5pbmZvLXppcC5vcmcvcHViL2luZm96aXAvc3JjLyBodHRw
Oi8vbWlycm9yLnN3aXRjaC5jaC9mdHAvbWlycm9yL2luZm96aXAvc3JjLyBcbiBodHRwOi8vZnRw
LmluZm8temlwLm9yZy9wdWIvaW5mb3ppcC9zcmMvIGZ0cDovL3N1bnNpdGUuaWNtLmVkdS5wbC9w
dWIvdW5peC9hcmNoaXZpbmcvaW5mby16aXAvc3JjLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVl
LmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmNlcmlhcy5wdXJkdWUuZWR1L3B1
Yi90b29scy91bml4L3N5c3V0aWxzL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1
L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAudGF1LmFjLmlsL3B1Yi91bml4L2FkbWlu
LyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRw
Oi8vZnRwLmNlcnQuZGZuLmRlL3B1Yi90b29scy9hZG1pbi9sc29mLyBcbiBmdHA6Ly9sc29mLml0
YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5k
ZS9wdWIvdW5peC90b29scy9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIv
dG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmthaXpvLm9yZy9wdWIvbHNvZi8gXG4gZnRwOi8v
bHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC50dS1k
YXJtc3RhZHQuZGUvcHViL3N5c2FkbWluL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUu
ZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAudHV4Lm9yZy9wdWIvc2l0ZXMvdmlj
LmNjLnB1cmR1ZS5lZHUvdG9vbHMvdW5peC9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVl
LmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZ2QudHV3aWVuLmFjLmF0L3V0aWxzL2Fk
bWluLXRvb2xzL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91
bml4L2xzb2YvICBmdHA6Ly9zdW5zaXRlLnVhbGJlcnRhLmNhL3B1Yi9NaXJyb3IvbHNvZi8gXG4g
ZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL3Ro
ZS53aXJldGFwcGVkLm5ldC9wdWIvc2VjdXJpdHkvaG9zdC1zZWN1cml0eS9sc29mLyBcbiBodHRw
Oi8vd3d3LmFwYWNoZS5vcmcvZGlzdCAgaHR0cDovL2FyY2hpdmUuYXBhY2hlLm9yZy9kaXN0IFxu
IGN2czovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9y
L3NvdXJjZXMvIFxuIHN2bjovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVj
dC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGdpdDovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRz
LnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGhnOi8vLiovLiogICAgICBodHRw
Oi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGJ6cjovLy4q
Ly4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMv
IFxuIHN2azovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWly
cm9yL3NvdXJjZXMvIFxuIHA0Oi8vLiovLiogICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJv
amVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIG9zYzovLy4qLy4qICAgICBodHRwOi8vZG93bmxv
YWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGh0dHBzPyQ6Ly8uKi8uKiBo
dHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGZ0cDov
Ly4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJj
ZXMvIFxuIGN2czovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBc
biBzdm46Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gZ2l0
Oi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGhnOi8vLiov
LiogICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBienI6Ly8uKi8uKiAg
ICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gc3ZrOi8vLiovLiogICAgIGh0
dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIHA0Oi8vLiovLiogICAgICBodHRwOi8v
c291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBvc2M6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJj
ZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gaHR0cHM/JDovLy4qLy4qIGh0dHA6Ly9zb3VyY2VzLm9w
ZW5lbWJlZGRlZC5vcmcvIFxuIGZ0cDovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1i
ZWRkZWQub3JnLyBcbiAKTUlSUk9SUz0iZnRwOi8vLiovLiogICAgICBodHRwOi8vZG93bmxvYWRz
LnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGh0dHA6Ly8uKi8uKiAgICAgaHR0
cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBodHRwczov
Ly4qLy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNl
cy8gXG4gIGZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sL21haW4JaHR0cDovL3NuYXBz
aG90LmRlYmlhbi5uZXQvYXJjaGl2ZS9wb29sIFxuIGZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlh
bi9wb29sCWZ0cDovL2Z0cC5kZS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGZ0cDovL2Z0cC5k
ZWJpYW4ub3JnL2RlYmlhbi9wb29sCWZ0cDovL2Z0cC5hdS5kZWJpYW4ub3JnL2RlYmlhbi9wb29s
IFxuIGZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWZ0cDovL2Z0cC5jbC5kZWJpYW4u
b3JnL2RlYmlhbi9wb29sIFxuIGZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWZ0cDov
L2Z0cC5oci5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGZ0cDovL2Z0cC5kZWJpYW4ub3JnL2Rl
Ymlhbi9wb29sCWZ0cDovL2Z0cC5maS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGZ0cDovL2Z0
cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWZ0cDovL2Z0cC5oay5kZWJpYW4ub3JnL2RlYmlhbi9w
b29sIFxuIGZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWZ0cDovL2Z0cC5odS5kZWJp
YW4ub3JnL2RlYmlhbi9wb29sIFxuIGZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWZ0
cDovL2Z0cC5pZS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGZ0cDovL2Z0cC5kZWJpYW4ub3Jn
L2RlYmlhbi9wb29sCWZ0cDovL2Z0cC5pdC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGZ0cDov
L2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWZ0cDovL2Z0cC5qcC5kZWJpYW4ub3JnL2RlYmlh
bi9wb29sIFxuIGZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWZ0cDovL2Z0cC5uby5k
ZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29s
CWZ0cDovL2Z0cC5wbC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGZ0cDovL2Z0cC5kZWJpYW4u
b3JnL2RlYmlhbi9wb29sCWZ0cDovL2Z0cC5yby5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGZ0
cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWZ0cDovL2Z0cC5zaS5kZWJpYW4ub3JnL2Rl
Ymlhbi9wb29sIFxuIGZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWZ0cDovL2Z0cC5l
cy5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9w
b29sCWZ0cDovL2Z0cC5zZS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGZ0cDovL2Z0cC5kZWJp
YW4ub3JnL2RlYmlhbi9wb29sCWZ0cDovL2Z0cC50ci5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxu
IGZ0cDovL2Z0cC5nbnUub3JnL2dudQlmdHA6Ly9taXJyb3JzLmtlcm5lbC5vcmcvZ251IFxuIGh0
dHA6Ly9rZXJuZWwub3JnL3B1YglodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViIFxuIGZ0cDovL2Z0
cC5nbnVwZy5vcmcvZ2NyeXB0LyAgICAgZnRwOi8vZnRwLmZyYW5rZW4uZGUvcHViL2NyeXB0L21p
cnJvci9mdHAuZ251cGcub3JnL2djcnlwdC8gXG4gZnRwOi8vZnRwLmdudXBnLm9yZy9nY3J5cHQv
ICAgICBmdHA6Ly9mdHAuc3VyZm5ldC5ubC9wdWIvc2VjdXJpdHkvZ251cGcvIFxuIGZ0cDovL2Z0
cC5nbnVwZy5vcmcvZ2NyeXB0LyAgICAgaHR0cDovL2d1bHVzLlVTaGVyYnJvb2tlLmNhL3B1Yi9h
cHBsL0dudVBHLyBcbiBmdHA6Ly9kYW50ZS5jdGFuLm9yZy90ZXgtYXJjaGl2ZSBmdHA6Ly9mdHAu
ZnUtYmVybGluLmRlL3RleC9DVEFOIFxuIGZ0cDovL2RhbnRlLmN0YW4ub3JnL3RleC1hcmNoaXZl
IGh0dHA6Ly9zdW5zaXRlLnN1dC5hYy5qcC9wdWIvYXJjaGl2ZXMvY3Rhbi8gXG4gZnRwOi8vZGFu
dGUuY3Rhbi5vcmcvdGV4LWFyY2hpdmUgaHR0cDovL2N0YW4udW5zdy5lZHUuYXUvIFxuIGZ0cDov
L2Z0cC5nbnV0bHMub3JnL3B1Yi9nbnV0bHMgZnRwOi8vZnRwLmdudXRscy5vcmcvcHViL2dudXRs
cy8gXG4gZnRwOi8vZnRwLmdudXRscy5vcmcvcHViL2dudXRscyBmdHA6Ly9mdHAuZ251cGcub3Jn
L2djcnlwdC9nbnV0bHMvIFxuIGZ0cDovL2Z0cC5nbnV0bHMub3JnL3B1Yi9nbnV0bHMgaHR0cDov
L3d3dy5taXJyb3JzLndpcmV0YXBwZWQubmV0L3NlY3VyaXR5L25ldHdvcmstc2VjdXJpdHkvZ251
dGxzLyBcbiBmdHA6Ly9mdHAuZ251dGxzLm9yZy9wdWIvZ251dGxzIGZ0cDovL2Z0cC5taXJyb3Jz
LndpcmV0YXBwZWQubmV0L3B1Yi9zZWN1cml0eS9uZXR3b3JrLXNlY3VyaXR5L2dudXRscy8gXG4g
ZnRwOi8vZnRwLmdudXRscy5vcmcvcHViL2dudXRscyBodHRwOi8vam9zZWZzc29uLm9yZy9nbnV0
bHMvcmVsZWFzZXMvIFxuIGh0dHA6Ly9mdHAuaW5mby16aXAub3JnL3B1Yi9pbmZvemlwL3NyYy8g
aHR0cDovL21pcnJvci5zd2l0Y2guY2gvZnRwL21pcnJvci9pbmZvemlwL3NyYy8gXG4gaHR0cDov
L2Z0cC5pbmZvLXppcC5vcmcvcHViL2luZm96aXAvc3JjLyBmdHA6Ly9zdW5zaXRlLmljbS5lZHUu
cGwvcHViL3VuaXgvYXJjaGl2aW5nL2luZm8temlwL3NyYy8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1
cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC5jZXJpYXMucHVyZHVlLmVk
dS9wdWIvdG9vbHMvdW5peC9zeXN1dGlscy9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVl
LmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLnRhdS5hYy5pbC9wdWIvdW5peC9h
ZG1pbi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8g
IGZ0cDovL2Z0cC5jZXJ0LmRmbi5kZS9wdWIvdG9vbHMvYWRtaW4vbHNvZi8gXG4gZnRwOi8vbHNv
Zi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC5mdS1iZXJs
aW4uZGUvcHViL3VuaXgvdG9vbHMvbHNvZi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUv
cHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC5rYWl6by5vcmcvcHViL2xzb2YvIFxuIGZ0
cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAu
dHUtZGFybXN0YWR0LmRlL3B1Yi9zeXNhZG1pbi9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVy
ZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLnR1eC5vcmcvcHViL3NpdGVz
L3ZpYy5jYy5wdXJkdWUuZWR1L3Rvb2xzL3VuaXgvbHNvZi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1
cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL2dkLnR1d2llbi5hYy5hdC91dGls
cy9hZG1pbi10b29scy9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9v
bHMvdW5peC9sc29mLyAgZnRwOi8vc3Vuc2l0ZS51YWxiZXJ0YS5jYS9wdWIvTWlycm9yL2xzb2Yv
IFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6
Ly90aGUud2lyZXRhcHBlZC5uZXQvcHViL3NlY3VyaXR5L2hvc3Qtc2VjdXJpdHkvbHNvZi8gXG4g
aHR0cDovL3d3dy5hcGFjaGUub3JnL2Rpc3QgIGh0dHA6Ly9hcmNoaXZlLmFwYWNoZS5vcmcvZGlz
dCBcbiBjdnM6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21p
cnJvci9zb3VyY2VzLyBcbiBzdm46Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3By
b2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBnaXQ6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25s
b2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBoZzovLy4qLy4qICAgICAg
aHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBienI6
Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3Vy
Y2VzLyBcbiBzdms6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3Jn
L21pcnJvci9zb3VyY2VzLyBcbiBwNDovLy4qLy4qICAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0
b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBvc2M6Ly8uKi8uKiAgICAgaHR0cDovL2Rv
d25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBodHRwcz8kOi8vLiov
LiogaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBm
dHA6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9z
b3VyY2VzLyBcbiBjdnM6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9y
Zy8gXG4gc3ZuOi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxu
IGdpdDovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBoZzov
Ly4qLy4qICAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gYnpyOi8vLiov
LiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIHN2azovLy4qLy4qICAg
ICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBwNDovLy4qLy4qICAgICAgaHR0
cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gb3NjOi8vLiovLiogICAgIGh0dHA6Ly9z
b3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGh0dHBzPyQ6Ly8uKi8uKiBodHRwOi8vc291cmNl
cy5vcGVuZW1iZWRkZWQub3JnLyBcbiBmdHA6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3Bl
bmVtYmVkZGVkLm9yZy8gXG4iCiMgUFJFRkVSUkVEX1ZFUlNJT049Tm9uZQojIFBBQ0tBR0VfRVhU
UkFfQVJDSFNfdHVuZS1pNTg2PSR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXg4Nn0gaTM4NiBp
NDg2IGk1ODYKUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWk1ODY9Ing4NiBpMzg2IGk0ODYgaTU4
NiIKIyBMT0dfRElSPSR7VE1QRElSfS9sb2cKTE9HX0RJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvbG9nIgojIERFUENIQUlOX1BSRT0KIyBHTk9NRV9HSVQ9Z2l0Oi8v
Z2l0Lmdub21lLm9yZwpHTk9NRV9HSVQ9ImdpdDovL2dpdC5nbm9tZS5vcmciCiMgTk8zMkxJQlM9
MQpOTzMyTElCUz0iMSIKIyBWSVJUVUFMLVJVTlRJTUVfa2V5bWFwcz0KIyBBTExPV19FTVBUWV8k
e1BOfS1kYmc9Tm9uZQojIFBSRUZFUlJFRF9QUk9WSURFUl9nemlwLW5hdGl2ZT1waWd6LW5hdGl2
ZQpQUkVGRVJSRURfUFJPVklERVJfZ3ppcC1uYXRpdmU9InBpZ3otbmF0aXZlIgojIF89L29wdC9w
b2t5LmdpdC9iaXRiYWtlL2Jpbi9iaXRiYWtlCl89Ii9vcHQvcG9reS5naXQvYml0YmFrZS9iaW4v
Yml0YmFrZSIKIyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94c2VydmVyPXhzZXJ2ZXIteG9y
ZwpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94c2VydmVyPSJ4c2VydmVyLXhvcmciCiMgUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1jY2QtbGludXgtYmludXRpbHM9YmludXRpbHMt
Y3Jvc3MKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1jY2QtbGludXgtYmludXRpbHM9
ImJpbnV0aWxzLWNyb3NzIgojIEFSPSR7SE9TVF9QUkVGSVh9YXIKZXhwb3J0IEFSPSJpNTg2LWNj
ZC1saW51eC1hciIKIyBGUkVFREVTS1RPUF9DVlM9Y3ZzOi8vYW5vbmN2czphbm9uY3ZzQGFub25j
dnMuZnJlZWRlc2t0b3Aub3JnL2N2cwpGUkVFREVTS1RPUF9DVlM9ImN2czovL2Fub25jdnM6YW5v
bmN2c0Bhbm9uY3ZzLmZyZWVkZXNrdG9wLm9yZy9jdnMiCiMgUEFUQ0hfR0VUPTAKZXhwb3J0IFBB
VENIX0dFVD0iMCIKIyBTSVRFX0NPTkZfVkVSU0lPTj0xClNJVEVfQ09ORl9WRVJTSU9OPSIxIgoj
IENYWEZMQUdTPSR7VEFSR0VUX0NYWEZMQUdTfSAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4K
ZXhwb3J0IENYWEZMQUdTPSItTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5
cGVzIC1mcGVybWlzc2l2ZSAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4iCiMgUkRFUEVORFNf
JHtQTn0tZGV2PU5vbmUKIyBDT01QQVRJQkxFX01BQ0hJTkU9Tm9uZQojIFBSRUZFUlJFRF9QUk9W
SURFUl92aXJ0dWFsL2k1ODYtY2NkLWxpbnV4LWNvbXBpbGVybGlicz1nY2MtcnVudGltZQpQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1jb21waWxlcmxpYnM9ImdjYy1y
dW50aW1lIgojIE5NPSR7SE9TVF9QUkVGSVh9bm0KZXhwb3J0IE5NPSJpNTg2LWNjZC1saW51eC1u
bSIKIyBTRVBQVUtVX0FERENPTU1FTlQ9Tm9uZQojIFJERVBFTkRTX21ldGEtdG9vbGNoYWluLXN0
YXRpY2Rldj0ke1BOfS1kZXYgKD0gJHtFWFRFTkRQS0dWfSkKUkRFUEVORFNfbWV0YS10b29sY2hh
aW4tc3RhdGljZGV2PSJtZXRhLXRvb2xjaGFpbi1kZXYgKD0gMS4wLXI3KSIKIyBERVBFTkRTPSR7
QkFTRURFUEVORFN9IHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlIHNlZC1uYXRpdmUKREVQRU5EUz0i
dmlydHVhbC9pNTg2LWNjZC1saW51eC1nY2MgdmlydHVhbC9pNTg2LWNjZC1saW51eC1jb21waWxl
cmxpYnMgdmlydHVhbC9saWJjICB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZSBzZWQtbmF0aXZlIgoj
IFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZT1wc2V1ZG8tbmF0aXZl
ClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZT0icHNldWRvLW5hdGl2
ZSIKIyBUQVJHRVRfTElOS19IQVNIX1NUWUxFPSR7QFsnLVdsLC0taGFzaC1zdHlsZT1nbnUnLCcn
XVtkLmdldFZhcignTElOS0VSX0hBU0hfU1RZTEUnLCBUcnVlKSAhPSAnZ251J119ClRBUkdFVF9M
SU5LX0hBU0hfU1RZTEU9Ii1XbCwtLWhhc2gtc3R5bGU9Z251IgojIERJU1RST19GRUFUVVJFU19C
QUNLRklMTD1wdWxzZWF1ZGlvCkRJU1RST19GRUFUVVJFU19CQUNLRklMTD0icHVsc2VhdWRpbyIK
IyBRQURFUEVORFNfdmlydGNsYXNzLW5hdGl2ZXNkaz0KIyBCVUlMRFNES19DRkxBR1M9JHtCVUlM
RFNES19DUFBGTEFHU30gJHtCVUlMRF9PUFRJTUlaQVRJT059CkJVSUxEU0RLX0NGTEFHUz0iLWlz
eXN0ZW0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25j
b3JkaWEvdXNyL2luY2x1ZGUgLU8yIC1waXBlIgojIEY3Nz0ke0NDQUNIRX0ke0hPU1RfUFJFRklY
fWc3NyAke0hPU1RfQ0NfQVJDSH0ke1RPT0xDSEFJTl9PUFRJT05TfQpleHBvcnQgRjc3PSJpNTg2
LWNjZC1saW51eC1nNzcgIC1tMzIgICAgLW1hcmNoPWNvcmUyIC1tc3NlMyAtbXR1bmU9Z2VuZXJp
YyAtbWZwbWF0aD1zc2UgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSIKIyBESVNUUk9fRkVBVFVSRVNfTElCQz0ke0RJU1RS
T19GRUFUVVJFU19MSUJDX0RFRkFVTFR9CkRJU1RST19GRUFUVVJFU19MSUJDPSJpcHY0IGlwdjYg
bGliYy1iYWNrdHJhY2UgbGliYy1iaWctbWFjcm9zIGxpYmMtYnNkIGxpYmMtY3h4LXRlc3RzIGxp
YmMtY2F0Z2V0cyBsaWJjLWNoYXJzZXRzIGxpYmMtY3J5cHQgCQkJCQlsaWJjLWNyeXB0LXVmYyBs
aWJjLWRiLWFsaWFzZXMgbGliYy1lbnZ6IGxpYmMtZmN2dCBsaWJjLWZtdG1zZyBsaWJjLWZzdGFi
IGxpYmMtZnRyYXZlcnNlIAkJCQkJbGliYy1nZXRsb2dpbiBsaWJjLWlkbiBsaWJjLWluZXQtYW5s
IGxpYmMtbGlibSBsaWJjLWxpYm0tYmlnIGxpYmMtbG9jYWxlcyBsaWJjLWxvY2FsZS1jb2RlIAkJ
CQkJbGliYy1tZW11c2FnZSBsaWJjLW5pcyBsaWJjLW5zc3dpdGNoIGxpYmMtcmNtZCBsaWJjLXJ0
bGQtZGVidWcgbGliYy1zcGF3biBsaWJjLXN0cmVhbXMgbGliYy1zdW5ycGMgCQkJCQlsaWJjLXV0
bXAgbGliYy11dG1weCBsaWJjLXdvcmRleHAgbGliYy1wb3NpeC1jbGFuZy13Y2hhciBsaWJjLXBv
c2l4LXJlZ2V4cCBsaWJjLXBvc2l4LXJlZ2V4cC1nbGliYyAJCQkJCWxpYmMtcG9zaXgtd2NoYXIt
aW8iCiMgREVTQ1JJUFRJT049TWV0YSBwYWNrYWdlIGZvciBidWlsZGluZyBhIGluc3RhbGxhYmxl
IHRvb2xjaGFpbgpERVNDUklQVElPTj0iTWV0YSBwYWNrYWdlIGZvciBidWlsZGluZyBhIGluc3Rh
bGxhYmxlIHRvb2xjaGFpbiIKIyBCQl9IQVNIRklMRU5BTUU9JHtTU1RBVEVfUEtHTkFNRX0KQkJf
SEFTSEZJTEVOQU1FPSJzc3RhdGUtbWV0YS10b29sY2hhaW4tY29yZTItY2NkLWxpbnV4LTEuMC1y
Ny1jb3JlMi0yLSR7QkJfVEFTS0hBU0h9IgojIFBBQ0tBR0VfREVQRU5EUz0gcnBtLW5hdGl2ZSBm
aWxlLW5hdGl2ZSBwYXgtdXRpbHMtbmF0aXZlICR7UUFERVBFTkRTfQpQQUNLQUdFX0RFUEVORFM9
InJwbS1uYXRpdmUgZmlsZS1uYXRpdmUgcGF4LXV0aWxzLW5hdGl2ZSBwcmVsaW5rLW5hdGl2ZSIK
IyBNRVRBREFUQV9SRVZJU0lPTj0ke0BiYXNlX2RldGVjdF9yZXZpc2lvbihkKX0KTUVUQURBVEFf
UkVWSVNJT049ImQyMGEyNDMxMGViNDNmZWQ5YTNmM2U3NTc1MmM5YWQ0NWExOGNiZTQiCiMgYmFz
ZV9wcmVmaXg9CiMgRVhUUkFfSU1BR0VERVBFTkRTPQojIEJVSUxEX1NUUklQPSR7QlVJTERfUFJF
RklYfXN0cmlwCmV4cG9ydCBCVUlMRF9TVFJJUD0ic3RyaXAiCiMgbGliZGlyX25hdGl2ZXNkaz0k
e3ByZWZpeF9uYXRpdmVzZGt9L2xpYgpsaWJkaXJfbmF0aXZlc2RrPSIvdXNyL2xpYiIKIyBCQl9C
QVNFSEFTSF90YXNrLWRvX3BhY2thZ2Vfc2V0c2NlbmU9ZGRlNDhjMmVkYzA0ZmM4NGVmMDQ2Zjgx
NzM3OTRmOTIKQkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlX3NldHNjZW5lPSJkZGU0OGMyZWRj
MDRmYzg0ZWYwNDZmODE3Mzc5NGY5MiIKIyBTVEFHSU5HX0lOQ0RJUj0ke1NUQUdJTkdfRElSX0hP
U1R9JHtpbmNsdWRlZGlyfQpTVEFHSU5HX0lOQ0RJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9pbmNsdWRlIgojIFRDTElCQ0FQ
UEVORD0KIyBTVEFHSU5HX0RJUj0ke1RNUERJUn0vc3lzcm9vdHMKU1RBR0lOR19ESVI9Ii9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzIgojIEFTTkVFREVEX3Bu
LXhzZXJ2ZXIta2RyaXZlLXhvbWFwPQojIEJCX1NJR05BVFVSRV9IQU5ETEVSPU9FQmFzaWNIYXNo
CkJCX1NJR05BVFVSRV9IQU5ETEVSPSJPRUJhc2ljSGFzaCIKIyBQUkVGRVJSRURfVkVSU0lPTl9s
aW51eC15b2N0b19xZW11bWlwcz0zLjIlClBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3Fl
bXVtaXBzPSIzLjIlIgojIFZJUlRVQUwtUlVOVElNRV9hbHNhLXN0YXRlPWFsc2Etc3RhdGUKVklS
VFVBTC1SVU5USU1FX2Fsc2Etc3RhdGU9ImFsc2Etc3RhdGUiCiMgVklSVFVBTC1SVU5USU1FX2Rl
dl9tYW5hZ2VyPQojIFNJVEVJTkZPX0VORElBTk5FU1M9bGUKU0lURUlORk9fRU5ESUFOTkVTUz0i
bGUiCiMgTElDRU5TRT1NSVQKTElDRU5TRT0iTUlUIgojIFBBQ0tBR0VTX0RZTkFNSUM9JHtQTn0t
bG9jYWxlLSoKUEFDS0FHRVNfRFlOQU1JQz0ibWV0YS10b29sY2hhaW4tbG9jYWxlLSoiCiMgTE9D
QUxDT05GX1ZFUlNJT049MQpMT0NBTENPTkZfVkVSU0lPTj0iMSIKIyBNVUxUSUxJQl9WQVJJQU5U
Uz0KIyBQUkVGRVJSRURfUFJPVklERVJfY29uc29sZS10b29scz1rYmQKUFJFRkVSUkVEX1BST1ZJ
REVSX2NvbnNvbGUtdG9vbHM9ImtiZCIKIyBTU1RBVEVQUkVJTlNURlVOQ1M9CiMgREVTQ1JJUFRJ
T05fbWV0YS10b29sY2hhaW4tc3RhdGljZGV2PSR7REVTQ1JJUFRJT059ICBUaGlzIHBhY2thZ2Ug
Y29udGFpbnMgc3RhdGljIGxpYnJhcmllcyBmb3Igc29mdHdhcmUgZGV2ZWxvcG1lbnQuCkRFU0NS
SVBUSU9OX21ldGEtdG9vbGNoYWluLXN0YXRpY2Rldj0iTWV0YSBwYWNrYWdlIGZvciBidWlsZGlu
ZyBhIGluc3RhbGxhYmxlIHRvb2xjaGFpbiAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHN0YXRpYyBs
aWJyYXJpZXMgZm9yIHNvZnR3YXJlIGRldmVsb3BtZW50LiIKIyBTVEFHSU5HX0RJUl9UQVJHRVQ9
JHtTVEFHSU5HX0RJUn0vJHtNQUNISU5FfQpTVEFHSU5HX0RJUl9UQVJHRVQ9Ii9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSIKIyBERUJVR19P
UFRJTUlaQVRJT049LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgJHtERUJVR19GTEFHU30gLXBp
cGUKREVCVUdfT1BUSU1JWkFUSU9OPSItTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAtZyAtZmVs
aW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMgLXBpcGUiCiMgUFJFRkVSUkVEX1ZFUlNJT05fZ2Nj
LXJ1bnRpbWU9JHtHQ0NWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl9nY2MtcnVudGltZT0iNC42
JSIKIyBPRV9JTVBPUlRTPSBzdWJwcm9jZXNzIG9zIHN5cyB0aW1lIG9lLnBhdGggb2UudXRpbHMg
b2UuZGF0YSBvZS5wYWNrYWdlZ3JvdXAgb2Uuc3N0YXRlc2lnCk9FX0lNUE9SVFM9InN1YnByb2Nl
c3Mgb3Mgc3lzIHRpbWUgb2UucGF0aCBvZS51dGlscyBvZS5kYXRhIG9lLnBhY2thZ2Vncm91cCBv
ZS5zc3RhdGVzaWciCiMgQVVUT1JFVj0ke0BiYi5mZXRjaDIuZ2V0X2F1dG9yZXYoZCl9CkFVVE9S
RVY9IkFVVE9JTkMiCiMgUUVNVV9PUFRJT05TPQojIFNES19BU19BUkNIPSR7QlVJTERfQVNfQVJD
SH0KIyBGRVRDSENPTU1BTkRfc3ZuPS91c3IvYmluL2VudiBzdm4gY28gJHtTVk5DT09QVFN9ICR7
U1ZOUk9PVH0gJHtTVk5NT0RVTEV9CkZFVENIQ09NTUFORF9zdm49Ii91c3IvYmluL2VudiBzdm4g
Y28gJHtTVk5DT09QVFN9ICR7U1ZOUk9PVH0gJHtTVk5NT0RVTEV9IgojIERFUExPWV9ESVJfREVC
PSR7REVQTE9ZX0RJUn0vZGViCkRFUExPWV9ESVJfREVCPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvZGViIgojIERFUExPWV9ESVJfUlBNPSR7REVQTE9ZX0RJ
Un0vcnBtCkRFUExPWV9ESVJfUlBNPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9kZXBsb3kvcnBtIgojIFBSRUZFUlJFRF9WRVJTSU9OX2VnbGliYy1sb2NhbGU9JHtFR0xJ
QkNWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl9lZ2xpYmMtbG9jYWxlPSIyLjEzIgojIENMRUFO
RlVOQ1M9IHNzdGF0ZV9jbGVhbmFsbApDTEVBTkZVTkNTPSJzc3RhdGVfY2xlYW5hbGwiCiMgUEFM
TVRPUF9VU0VfTVVMVElUSFJFQURFRF9RVD1Ob25lCiMgU1RBR0lOR19CSU5ESVJfQ1JPU1M9JHtT
VEFHSU5HX0JJTkRJUn0vY3Jvc3NzY3JpcHRzClNUQUdJTkdfQklORElSX0NST1NTPSIvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNyL2Jp
bi9jcm9zc3NjcmlwdHMiCmRvX2ZldGNoYWxsKCkgewoJOgoKfQoKZG9fYnVpbGQoKSB7Cgk6Cgp9
CgpwcmVsaW5rX2ltYWdlKCkgewojCWV4cG9ydCBQU0VVRE9fREVCVUc9NAojCS9iaW4vZW52IHwg
L2Jpbi9ncmVwIFBTRVVETwojCWVjaG8gIkxEX0xJQlJBUllfUEFUSD0kTERfTElCUkFSWV9QQVRI
IgojCWVjaG8gIkxEX1BSRUxPQUQ9JExEX1BSRUxPQUQiCgoJcHJlX3ByZWxpbmtfc2l6ZT1gZHUg
LWtzIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2Nk
LWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9yb290ZnMgfCBhd2sgJ3tzaXplID0gJDEgOyBw
cmludCBzaXplIH0nYAoJZWNobyAiU2l6ZSBiZWZvcmUgcHJlbGlua2luZyAkcHJlX3ByZWxpbmtf
c2l6ZS4iCgoJIyBXZSBuZWVkIGEgcHJlbGluayBjb25mIG9uIHRoZSBmaWxlc3lzdGVtLCBhZGQg
b25lIGlmIGl0J3MgbWlzc2luZwoJaWYgWyAhIC1lIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9y
b290ZnMvZXRjL3ByZWxpbmsuY29uZiBdOyB0aGVuCgkJY3AgL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L2V0Yy9wcmVsaW5rLmNvbmYg
XAoJCQkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNj
ZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvcm9vdGZzL2V0Yy9wcmVsaW5rLmNvbmYKCQlk
dW1teV9wcmVsaW5rX2NvbmY9dHJ1ZTsKCWVsc2UKCQlkdW1teV9wcmVsaW5rX2NvbmY9ZmFsc2U7
CglmaQoKCSMgcHJlbGluayEKCS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3Ivc2Jpbi9wcmVsaW5rIC0tcm9vdCAvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRv
b2xjaGFpbi0xLjAtcjcvcm9vdGZzIC1hbVIgLU4gLWMgL2V0Yy9wcmVsaW5rLmNvbmYKCgkjIFJl
bW92ZSB0aGUgcHJlbGluay5jb25mIGlmIHdlIGhhZCB0byBhZGQgaXQuCglpZiBbICIkZHVtbXlf
cHJlbGlua19jb25mIiA9ICJ0cnVlIiBdOyB0aGVuCgkJcm0gLWYgL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4t
MS4wLXI3L3Jvb3Rmcy9ldGMvcHJlbGluay5jb25mCglmaQoKCXByZV9wcmVsaW5rX3NpemU9YGR1
IC1rcyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNj
ZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvcm9vdGZzIHwgYXdrICd7c2l6ZSA9ICQxIDsg
cHJpbnQgc2l6ZSB9J2AKCWVjaG8gIlNpemUgYWZ0ZXIgcHJlbGlua2luZyAkcHJlX3ByZWxpbmtf
c2l6ZS4iCgp9CgpiYmRlYnVnKCkgewoJVVNBR0U9J1VzYWdlOiBiYmRlYnVnIFsxMjNdICJtZXNz
YWdlIicKCWlmIFsgJCMgLWx0IDIgXTsgdGhlbgoJCWJiZmF0YWwgIiRVU0FHRSIKCWZpCgoJIyBT
dHJpcCBvZmYgdGhlIGRlYnVnIGxldmVsIGFuZCBlbnN1cmUgaXQgaXMgYW4gaW50ZWdlcgoJREJH
TFZMPSQxOyBzaGlmdAoJaWYgISBbWyAiJERCR0xWTCIgPX4gXlswLTldKyBdXTsgdGhlbgoJCWJi
ZmF0YWwgIiRVU0FHRSIKCWZpCgoJIyBBbGwgZGVidWcgb3V0cHV0IGlzIHByaW50ZWQgdG8gdGhl
IGxvZ3MKCWVjaG8gIkRFQlVHOiAkKiIKCn0KCm9lX21hY2hpbnN0YWxsKCkgewoJIyBQdXJwb3Nl
OiBJbnN0YWxsIG1hY2hpbmUgZGVwZW5kZW50IGZpbGVzLCBpZiBhdmFpbGFibGUKCSMgICAgICAg
ICAgSWYgbm90IGF2YWlsYWJsZSwgY2hlY2sgaWYgdGhlcmUgaXMgYSBkZWZhdWx0CgkjICAgICAg
ICAgIElmIG5vIGRlZmF1bHQsIGp1c3QgdG91Y2ggdGhlIGRlc3RpbmF0aW9uCgkjIEV4YW1wbGU6
CgkjICAgICAgICAgICAgICAgICQxICAkMiAgICQzICAgICAgICAgJDQKCSMgb2VfbWFjaGluc3Rh
bGwgLW0gMDY0NCBmc3RhYiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93
b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvaW1hZ2UvZXRjL2ZzdGFi
CgkjCgkjIFRPRE86IENoZWNrIGFyZ3VtZW50IG51bWJlcj8KCSMKCWZpbGVuYW1lPWBiYXNlbmFt
ZSAkM2AKCWRpcm5hbWU9YGRpcm5hbWUgJDNgCgoJZm9yIG8gaW4gYGVjaG8gbGludXg6aTU4Njpi
dWlsZC1saW51eDpwbi1tZXRhLXRvb2xjaGFpbjpjb25jb3JkaWE6eDg2OmNvbmNvcmRpYTpmb3Jj
ZXZhcmlhYmxlOmxpYmMtZ2xpYmMgfCB0ciAnOicgJyAnYDsgZG8KCQlpZiBbIC1lICRkaXJuYW1l
LyRvLyRmaWxlbmFtZSBdOyB0aGVuCgkJCWJibm90ZSAkZGlybmFtZS8kby8kZmlsZW5hbWUgcHJl
c2VudCwgaW5zdGFsbGluZyB0byAkNAoJCQlpbnN0YWxsICQxICQyICRkaXJuYW1lLyRvLyRmaWxl
bmFtZSAkNAoJCQlyZXR1cm4KCQlmaQoJZG9uZQojCWJibm90ZSBvdmVycmlkZXMgc3BlY2lmaWMg
ZmlsZSBOT1QgcHJlc2VudCwgdHJ5aW5nIGRlZmF1bHQ9JDMuLi4KCWlmIFsgLWUgJDMgXTsgdGhl
bgoJCWJibm90ZSAkMyBwcmVzZW50LCBpbnN0YWxsaW5nIHRvICQ0CgkJaW5zdGFsbCAkMSAkMiAk
MyAkNAoJZWxzZQoJCWJibm90ZSAkMyBOT1QgcHJlc2VudCwgdG91Y2hpbmcgZW1wdHkgJDQKCQl0
b3VjaCAkNAoJZmkKCn0KCmRvX2NvbmZpZ3VyZSgpIHsKCWJhc2VfZG9fY29uZmlndXJlCgp9Cgpz
cGxpdF9tdWx0aWxpYl9wYWNrYWdlcygpIHsKCUlOU1RBTExfUEFDS0FHRVNfTk9STUFMX0lQSz0i
IgoJSU5TVEFMTF9QQUNLQUdFU19NVUxUSUxJQl9JUEs9IiIKCWZvciBwa2cgaW4gJHtJTlNUQUxM
X1BBQ0tBR0VTX0lQS307IGRvCgkJaXNfbXVsdGlsaWI9MAoJCWZvciBpdGVtIGluIDsgZG8KCQkJ
bG9jYWwgcGtnbmFtZV9wcmVmaXg9IiR7aXRlbX0tIgoJCQlsb2NhbCBwa2duYW1lX2xlbj0keyNw
a2duYW1lX3ByZWZpeH0KCQkJbG9jYWwgcGtnbmFtZT0kKGVjaG8gJHBrZyB8IGF3ayAtdiB2YXI9
JHBrZ25hbWVfbGVuICd7IHBrZ25hbWU9c3Vic3RyKCQxLCAxLCB2YXIpOyBwcmludCBwa2duYW1l
OyB9JyApCgkJCWlmIFsgJHtwa2duYW1lfSA9ICR7cGtnbmFtZV9wcmVmaXh9IF07IHRoZW4KCQkJ
CWlzX211bHRpbGliPTEKCQkJCWJyZWFrCgkJCWZpCgkJZG9uZQoKCQlpZiBbICR7aXNfbXVsdGls
aWJ9ID0gMCBdOyB0aGVuCgkJCUlOU1RBTExfUEFDS0FHRVNfTk9STUFMX0lQSz0iJHtJTlNUQUxM
X1BBQ0tBR0VTX05PUk1BTF9JUEt9ICR7cGtnfSIKCQllbHNlCgkJCUlOU1RBTExfUEFDS0FHRVNf
TVVMVElMSUJfSVBLPSIke0lOU1RBTExfUEFDS0FHRVNfTVVMVElMSUJfSVBLfSAke3BrZ30iCgkJ
ZmkKCWRvbmUKCn0KCnN5c3Jvb3Rfc3RhZ2VfZGlyKCkgewoJc3JjPSIkMSIKCWRlc3Q9IiQyIgoJ
IyBpZiB0aGUgc3JjIGRvZXNuJ3QgZXhpc3QgZG9uJ3QgZG8gYW55dGhpbmcKCWlmIFsgISAtZCAi
JHNyYyIgXTsgdGhlbgoJCSByZXR1cm4KCWZpCgoJIyBXZSBvbmx5IHdhbnQgdG8gc3RhZ2UgdGhl
IGNvbnRlbnRzIG9mICRzcmMgaWYgaXQncyBub24tZW1wdHkgc28gZmlyc3Qgcm1kaXIgJHNyYwoJ
IyB0aGVuIGlmIGl0IHN0aWxsIGV4aXN0cyAocm1kaXIgb24gbm9uLWVtcHR5IGRpciBmYWlscykg
d2UgY2FuIGNvcHkgaXRzIGNvbnRlbnRzCglybWRpciAiJHNyYyIgMj4gL2Rldi9udWxsIHx8IHRy
dWUKCSMgSG93ZXZlciB3ZSBhbHdheXMgd2FudCB0byBzdGFnZSBhICRzcmMgaXRzZWxmLCBldmVu
IGlmIGl0J3MgZW1wdHkKCW1rZGlyIC1wICIkZGVzdCIKCWlmIFsgLWQgIiRzcmMiIF07IHRoZW4K
CQl0YXIgLWNmIC0gLUMgIiRzcmMiIC1wcyAuIHwgdGFyIC14ZiAtIC1DICIkZGVzdCIKCWZpCgp9
Cgpkb19idWlsZGFsbCgpIHsKCToKCn0KCmlwa19sb2dfY2hlY2soKSB7CiAgICAgICB0YXJnZXQ9
IiQxIgogICAgICAgbGZfcGF0aD0iJDIiCgogICAgICAgbGZfdHh0PSJgY2F0ICRsZl9wYXRoYCIK
ICAgICAgIGZvciBrZXl3b3JkX2RpZSBpbiAiZXhpdCAxIiAiQ29sbGVjdGVkIGVycm9ycyIgRVJS
IEZhaWwKICAgICAgIGRvCiAgICAgICAgICAgICAgIGlmIChlY2hvICIkbGZfdHh0IiB8IGdyZXAg
LXYgbG9nX2NoZWNrIHwgZ3JlcCAiJGtleXdvcmRfZGllIikgPi9kZXYvbnVsbCAyPiYxCiAgICAg
ICAgICAgICAgIHRoZW4KICAgICAgICAgICAgICAgICAgICAgICBlY2hvICJsb2dfY2hlY2s6IFRo
ZXJlIHdlcmUgZXJyb3IgbWVzc2FnZXMgaW4gdGhlIGxvZ2ZpbGUiCiAgICAgICAgICAgICAgICAg
ICAgICAgZWNobyAtZSAibG9nX2NoZWNrOiBNYXRjaGVkIGtleXdvcmQ6IFska2V5d29yZF9kaWVd
XG4iCiAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiJGxmX3R4dCIgfCBncmVwIC12IGxvZ19j
aGVjayB8IGdyZXAgLUMgNSAtaSAiJGtleXdvcmRfZGllIgogICAgICAgICAgICAgICAgICAgICAg
IGVjaG8gIiIKICAgICAgICAgICAgICAgICAgICAgICBkb19leGl0PTEKICAgICAgICAgICAgICAg
ZmkKICAgICAgIGRvbmUKICAgICAgIHRlc3QgIiRkb19leGl0IiA9IDEgJiYgZXhpdCAxCiAgICAg
ICB0cnVlCgp9CgpjcmVhdGVfY21kbGluZV93cmFwcGVyKCkgewogICAjIENyZWF0ZSBhIHdyYXBw
ZXIgc2NyaXB0CiAgICMKICAgIyBUaGVzZSBhcmUgdXNlZnVsIHRvIHdvcmsgYXJvdW5kIHJlbG9j
YXRpb24gaXNzdWVzLCBieSBzZXR0aW5nIGVudmlyb25tZW50CiAgICMgdmFyaWFibGVzIHdoaWNo
IHBvaW50IHRvIHBhdGhzIGluIHRoZSBmaWxlc3lzdGVtLgogICAjCiAgICMgVXNhZ2U6IGNyZWF0
ZV93cmFwcGVyIEZJTEVOQU1FIFtbVkFSPVZBTFVFXS4uXQoKICAgY21kPSQxCiAgIHNoaWZ0Cgog
ICAjIHJ1biBlY2hvIHZpYSBlbnYgdG8gdGVzdCBzeW50YWN0aWMgdmFsaWRpdHkgb2YgdGhlIHZh
cmlhYmxlIGFyZ3VtZW50cwogICBlY2hvICJHZW5lcmF0aW5nIHdyYXBwZXIgc2NyaXB0IGZvciAk
Y21kIgoKICAgbXYgJGNtZCAkY21kLnJlYWwKICAgY21kbmFtZT1gYmFzZW5hbWUgJGNtZGAucmVh
bAogICBjYXQgPDxFTkQgPiRjbWQKIyEvYmluL3NoCnJlYWxwYXRoPVxgcmVhZGxpbmsgLWZuIFwk
MFxgCmV4ZWMgXGBkaXJuYW1lIFwkcmVhbHBhdGhcYC8kY21kbmFtZSAkQCAiXCRAIgpFTkQKICAg
Y2htb2QgK3ggJGNtZAoKfQoKYmFzZV9kb19jb25maWd1cmUoKSB7Cgk6Cgp9CgpjcmVhdGVfd3Jh
cHBlcigpIHsKICAgIyBDcmVhdGUgYSB3cmFwcGVyIHNjcmlwdAogICAjCiAgICMgVGhlc2UgYXJl
IHVzZWZ1bCB0byB3b3JrIGFyb3VuZCByZWxvY2F0aW9uIGlzc3VlcywgYnkgc2V0dGluZyBlbnZp
cm9ubWVudAogICAjIHZhcmlhYmxlcyB3aGljaCBwb2ludCB0byBwYXRocyBpbiB0aGUgZmlsZXN5
c3RlbS4KICAgIwogICAjIFVzYWdlOiBjcmVhdGVfd3JhcHBlciBGSUxFTkFNRSBbW1ZBUj1WQUxV
RV0uLl0KCiAgIGNtZD0kMQogICBzaGlmdAoKICAgIyBydW4gZWNobyB2aWEgZW52IHRvIHRlc3Qg
c3ludGFjdGljIHZhbGlkaXR5IG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudHMKICAgZW52ICRAIGVj
aG8gIkdlbmVyYXRpbmcgd3JhcHBlciBzY3JpcHQgZm9yICRjbWQiCgogICBtdiAkY21kICRjbWQu
cmVhbAogICBjbWRuYW1lPWBiYXNlbmFtZSAkY21kYC5yZWFsCiAgIGNhdCA8PEVORCA+JGNtZAoj
IS9iaW4vc2gKcmVhbHBhdGg9XGByZWFkbGluayAtZm4gXCQwXGAKZXhlYyBlbnYgJEAgXGBkaXJu
YW1lIFwkcmVhbHBhdGhcYC8kY21kbmFtZSAiXCRAIgpFTkQKICAgY2htb2QgK3ggJGNtZAoKfQoK
YmJub3RlKCkgewoJZWNobyAiTk9URTogJCoiCgp9Cgpkb19wb3B1bGF0ZV9zZGsoKSB7CglybSAt
cmYgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2Qt
bGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Nkay9pbWFnZQoJbWtkaXIgLXAgL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10
b29sY2hhaW4tMS4wLXI3L3Nkay9pbWFnZQoKCSMgcG9wdWxhdGVfc2RrXzxpbWFnZT4gaXMgcmVx
dWlyZWQgdG8gY29uc3RydWN0IHR3byBpbWFnZXM6CgkjICBTREtfQVJDSC1uYXRpdmVzZGsgLSBj
b250YWlucyB0aGUgY3Jvc3MgY29tcGlsZXIgYW5kIGFzc29jaWF0ZWQgdG9vbGluZwoJIyAgdGFy
Z2V0IC0gY29udGFpbnMgYSB0YXJnZXQgcm9vdGZzIGNvbmZpZ3VyZWQgZm9yIHRoZSBTREsgdXNh
Z2UKCSMKCSMgdGhlIG91dHB1dCBvZiBwb3B1bGF0ZV9zZGtfPGltYWdlPiBzaG91bGQgZW5kIHVw
IGluIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2Nk
LWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UgaXQgaXMgbWFkZQoJIyB1cCBv
ZjoKCSMgIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTIt
Y2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UvPHNka19hcmNoLW5hdGl2
ZXNkayBwa2dzPgoJIyAgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29y
ay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Nkay9pbWFnZS8vb3B0L2Nv
bmNvcmRpYS92MC4xLjMtMS1nYWQyOGE2My9zeXNyb290cy9jb3JlMi1jY2QtbGludXgvPHRhcmdl
dCBwa2dzPgoKCXBvcHVsYXRlX3Nka19pcGsKCgkjIERvbid0IHNoaXAgYW55IGxpYkdMIGluIHRo
ZSBTREsKCXJtIC1yZiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3Jr
L2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdlLy9vcHQvY29u
Y29yZGlhL3YwLjEuMy0xLWdhZDI4YTYzL3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNy
L2xpYi9saWJHTCoKCgkjIENhbiBjb3B5IHBzdGFnZSBmaWxlcyBoZXJlCgkjIHRhcmdldF9wa2dz
PWBjYXQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1j
Y2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Nkay9pbWFnZS8vb3B0L2NvbmNvcmRpYS92
MC4xLjMtMS1nYWQyOGE2My9zeXNyb290cy9jb3JlMi1jY2QtbGludXgvdmFyL2xpYi9vcGtnL3N0
YXR1cyB8IGdyZXAgUGFja2FnZTogfCBjdXQgLWYgMiAtZCAnICdgCgoJIyBGaXggb3IgcmVtb3Zl
IGJyb2tlbiAubGEgZmlsZXMKCSNybSAtZiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2RrL2lt
YWdlLy9vcHQvY29uY29yZGlhL3YwLjEuMy0xLWdhZDI4YTYzL3N5c3Jvb3RzL3g4Nl82NC1jY2Rz
ZGstbGludXgvbGliLyoubGEKCXJtIC1mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1h
Z2UvL29wdC9jb25jb3JkaWEvdjAuMS4zLTEtZ2FkMjhhNjMvc3lzcm9vdHMveDg2XzY0LWNjZHNk
ay1saW51eC91c3IvbGliLyoubGEKCgkjIExpbmsgdGhlIGxkLnNvLmNhY2hlIGZpbGUgaW50byB0
aGUgaG9zdHMgZmlsZXN5c3RlbQoJbG4gLXMgL2V0Yy9sZC5zby5jYWNoZSAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xj
aGFpbi0xLjAtcjcvc2RrL2ltYWdlLy9vcHQvY29uY29yZGlhL3YwLjEuMy0xLWdhZDI4YTYzL3N5
c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvZXRjL2xkLnNvLmNhY2hlCgoJIyBTZXR1cCBzaXRl
IGZpbGUgZm9yIGV4dGVybmFsIHVzZQoJdG9vbGNoYWluX2NyZWF0ZV9zZGtfc2l0ZWNvbmZpZyAv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51
eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdlLy9vcHQvY29uY29yZGlhL3YwLjEuMy0x
LWdhZDI4YTYzL3NpdGUtY29uZmlnLWNvcmUyLWNjZC1saW51eAoKCXRvb2xjaGFpbl9jcmVhdGVf
c2RrX2Vudl9zY3JpcHQKCgkjIEFkZCB2ZXJzaW9uIGluZm9ybWF0aW9uCgl0b29sY2hhaW5fY3Jl
YXRlX3Nka192ZXJzaW9uIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dv
cmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UvL29wdC9j
b25jb3JkaWEvdjAuMS4zLTEtZ2FkMjhhNjMvdmVyc2lvbi1jb3JlMi1jY2QtbGludXgKCgkjIFBh
Y2thZ2UgaXQgdXAKCW1rZGlyIC1wIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL2RlcGxveS9zZGsKCWNkIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UKCXRh
ciAtLW93bmVyPXJvb3QgLS1ncm91cD1yb290IC1jaiAtLWZpbGU9L2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L3Nkay9jb25jb3JkaWEtZWdsaWJjLXg4Nl82NC1p
NTg2LXRvb2xjaGFpbi12MC4xLjMtMS1nYWQyOGE2My50YXIuYnoyIC4KCn0KCnBhY2thZ2VfZ2Vu
ZXJhdGVfaXBrZ19jb25mKCkgewoJcGFja2FnZV9nZW5lcmF0ZV9hcmNobGlzdAoJZWNobyAic3Jj
IG9lIGZpbGU6L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2lw
ayIgPj4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1j
Y2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L29wa2ctc2RrLmNvbmYKCWlwa2dhcmNocz0i
YWxsIGFueSBub2FyY2ggeDg2XzY0LW5hdGl2ZXNkayIKCWZvciBhcmNoIGluICRpcGtnYXJjaHM7
IGRvCgkJaWYgWyAtZSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBs
b3kvaXBrLyRhcmNoL1BhY2thZ2VzIF0gOyB0aGVuCgkJICAgICAgICBlY2hvICJzcmMgb2UtJGFy
Y2ggZmlsZTovaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvaXBr
LyRhcmNoIiA+PiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2Nv
cmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvb3BrZy1zZGsuY29uZgoJCWZpCglk
b25lCgoJZWNobyAic3JjIG9lIGZpbGU6L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvZGVwbG95L2lwayIgPj4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L29wa2cuY29uZgoJ
aXBrZ2FyY2hzPSJhbGwgYW55IG5vYXJjaCB4ODYgaTM4NiBpNDg2IGk1ODYgaTY4NiBjb3JlMiBj
b25jb3JkaWEiCglmb3IgYXJjaCBpbiAkaXBrZ2FyY2hzOyBkbwoJCWlmIFsgLWUgL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2lway8kYXJjaC9QYWNrYWdlcyBd
IDsgdGhlbgoJCSAgICAgICAgZWNobyAic3JjIG9lLSRhcmNoIGZpbGU6L2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2lway8kYXJjaCIgPj4gL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29s
Y2hhaW4tMS4wLXI3L29wa2cuY29uZgoJCWZpCglkb25lCgp9Cgpzc3RhdGVfY3JlYXRlX3BhY2th
Z2UoKSB7CgljZCAke1NTVEFURV9CVUlMRERJUn0KCVRGSUxFPWBta3RlbXAgL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9zc3RhdGUtY2FjaGUvc3N0YXRlLW1ldGEtdG9vbGNoYWlu
LWNvcmUyLWNjZC1saW51eC0xLjAtcjctY29yZTItMi0ke0JCX1RBU0tIQVNIfS5YWFhYWFhYWGAK
CSMgTmVlZCB0byBoYW5kbGUgZW1wdHkgZGlyZWN0b3JpZXMKCWlmIFsgIiQobHMgLUEpIiBdOyB0
aGVuCgkJdGFyIC1jemYgJFRGSUxFICoKCWVsc2UKCQl0YXIgLWN6IC0tZmlsZT0kVEZJTEUgLS1m
aWxlcy1mcm9tPS9kZXYvbnVsbAoJZmkKCW12ICRURklMRSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3NzdGF0ZS1jYWNoZS9zc3RhdGUtbWV0YS10b29sY2hhaW4tY29yZTItY2Nk
LWxpbnV4LTEuMC1yNy1jb3JlMi0yLSR7QkJfVEFTS0hBU0h9CgoJY2QgL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hh
aW4tMS4wLXI3CglybSAtcmYgJHtTU1RBVEVfQlVJTERESVJ9Cgp9CgpiYnBsYWluKCkgewoJZWNo
byAiJCoiCgp9CgpsZGNvbmZpZ19wb3N0aW5zdF9mcmFnbWVudCgpIHsKaWYgWyB4IiREIiA9ICJ4
IiBdOyB0aGVuCglbIC14IC9zYmluL2xkY29uZmlnIF0gJiYgL3NiaW4vbGRjb25maWcKZmkKCn0K
CnBvcHVsYXRlX3Nka19sb2dfY2hlY2soKSB7Cglmb3IgdGFyZ2V0IGluICQqCglkbwoJCWxmX3Bh
dGg9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2Nk
LWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy90ZW1wL2xvZy5kb18kdGFyZ2V0LjEzMDYzIgoK
CQllY2hvICJsb2dfY2hlY2s6IFVzaW5nICRsZl9wYXRoIGFzIGxvZ2ZpbGUiCgoJCWlmIHRlc3Qg
LWUgIiRsZl9wYXRoIgoJCXRoZW4KCQkJaXBrX2xvZ19jaGVjayAkdGFyZ2V0ICRsZl9wYXRoCgkJ
ZWxzZQoJCQllY2hvICJDYW5ub3QgZmluZCBsb2dmaWxlIFskbGZfcGF0aF0iCgkJZmkKCQllY2hv
ICJMb2dmaWxlIGlzIGNsZWFuIgoJZG9uZQoKfQoKcGFja2FnZV9nZW5lcmF0ZV9hcmNobGlzdCgp
IHsKCWlwa2dhcmNocz0iYWxsIGFueSBub2FyY2ggeDg2XzY0LW5hdGl2ZXNkayIKCXByaW9yaXR5
PTEKCWZvciBhcmNoIGluICRpcGtnYXJjaHM7IGRvCgkJZWNobyAiYXJjaCAkYXJjaCAkcHJpb3Jp
dHkiID4+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTIt
Y2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9vcGtnLXNkay5jb25mCgkJcHJpb3JpdHk9
JChleHByICRwcmlvcml0eSArIDUpCglkb25lCgoJaXBrZ2FyY2hzPSJhbGwgYW55IG5vYXJjaCB4
ODYgaTM4NiBpNDg2IGk1ODYgaTY4NiBjb3JlMiBjb25jb3JkaWEiCglwcmlvcml0eT0xCglmb3Ig
YXJjaCBpbiAkaXBrZ2FyY2hzOyBkbwoJCWVjaG8gImFyY2ggJGFyY2ggJHByaW9yaXR5IiA+PiAv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51
eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvb3BrZy5jb25mCgkJcHJpb3JpdHk9JChleHByICRwcmlv
cml0eSArIDUpCglkb25lCgp9CgpzeXNyb290X3N0YWdlX2xpYmRpcigpIHsKCXNyYz0iJDEiCglk
ZXN0PSIkMiIKCglzeXNyb290X3N0YWdlX2RpciAkc3JjICRkZXN0Cgp9CgpkaWUoKSB7CgliYmZh
dGFsICIkKiIKCn0KCmJhc2VfZG9faW5zdGFsbCgpIHsKCToKCn0KCmRvX2NvbXBpbGUoKSB7Cgli
YXNlX2RvX2NvbXBpbGUKCn0KCnBhY2thZ2VfdHJ5b3V0X2luc3RhbGxfbXVsdGlsaWJfaXBrKCkg
ewoJI3RyeSBpbnN0YWxsIG11bHRpbGliCgltdWx0aWxpYl90cnlvdXRfZGlycz0iIgoJZm9yIGl0
ZW0gaW4gOyBkbwoJCWxvY2FsIHRhcmdldF9yb290ZnM9IiR7TVVMVElMSUJfVEVNUF9ST09URlN9
LyR7aXRlbX0iCgkJbG9jYWwgaXBrZ19hcmdzPSItZiAke0lOU1RBTExfQ09ORl9JUEt9IC1vICR7
dGFyZ2V0X3Jvb3Rmc30gLS1mb3JjZV9vdmVyd3JpdGUiCgkJbG9jYWwgc2VsZWN0ZWRfcGtnPSIi
CgkJbG9jYWwgcGtnbmFtZV9wcmVmaXg9IiR7aXRlbX0tIgoJCWxvY2FsIHBrZ25hbWVfbGVuPSR7
I3BrZ25hbWVfcHJlZml4fQoJCWZvciBwa2cgaW4gJHtJTlNUQUxMX1BBQ0tBR0VTX01VTFRJTElC
X0lQS307IGRvCgkJCWxvY2FsIHBrZ25hbWU9JChlY2hvICRwa2cgfCBhd2sgLXYgdmFyPSRwa2du
YW1lX2xlbiAneyBwa2duYW1lPXN1YnN0cigkMSwgMSwgdmFyKTsgcHJpbnQgcGtnbmFtZTsgfScg
KQoJCQlpZiBbICR7cGtnbmFtZX0gPSAke3BrZ25hbWVfcHJlZml4fSBdOyB0aGVuCgkJCSAgICBz
ZWxlY3RlZF9wa2c9IiR7c2VsZWN0ZWRfcGtnfSAke3BrZ30iCgkJCWZpCgkJZG9uZQoJCWlmIFsg
ISAteiAiJHtzZWxlY3RlZF9wa2d9IiBdOyB0aGVuCgkJCXJtIC1mICR7dGFyZ2V0X3Jvb3Rmc30K
CQkJbWtkaXIgLXAgJHt0YXJnZXRfcm9vdGZzfS8ke29wa2dsaWJkaXJ9CgkJCW9wa2ctY2wgJHtp
cGtnX2FyZ3N9IHVwZGF0ZQoJCQlvcGtnLWNsICR7aXBrZ19hcmdzfSBpbnN0YWxsICR7c2VsZWN0
ZWRfcGtnfQoJCQltdWx0aWxpYl90cnlvdXRfZGlycz0iJHttdWx0aWxpYl90cnlvdXRfZGlyc30g
JHt0YXJnZXRfcm9vdGZzfSIKCQlmaQoJZG9uZQoKfQoKYmFzZV9kb19jb21waWxlKCkgewoJaWYg
WyAtZSBNYWtlZmlsZSAtbyAtZSBtYWtlZmlsZSBdOyB0aGVuCgkJb2VfcnVubWFrZSB8fCBkaWUg
Im1ha2UgZmFpbGVkIgoJZWxzZQoJCWJibm90ZSAibm90aGluZyB0byBjb21waWxlIgoJZmkKCn0K
CmJhc2VfZG9fcGFja2FnZSgpIHsKCToKCn0KCm9lX3NvaW5zdGFsbCgpIHsKCSMgUHVycG9zZTog
SW5zdGFsbCBzaGFyZWQgbGlicmFyeSBmaWxlIGFuZAoJIyAgICAgICAgICBjcmVhdGUgdGhlIG5l
Y2Vzc2FyeSBsaW5rcwoJIyBFeGFtcGxlOgoJIwoJIyBvZV8KCSMKCSNiYm5vdGUgaW5zdGFsbGlu
ZyBzaGFyZWQgbGlicmFyeSAkMSB0byAkMgoJIwoJbGlibmFtZT1gYmFzZW5hbWUgJDFgCglpbnN0
YWxsIC1tIDc1NSAkMSAkMi8kbGlibmFtZQoJc29uYW1lbGluaz1gaTU4Ni1jY2QtbGludXgtcmVh
ZGVsZiAtZCAkMSB8Z3JlcCAnTGlicmFyeSBzb25hbWU6JyB8c2VkIC1lICdzLy4qXFtcKC4qXClc
XS4qL1wxLydgCglzb2xpbms9YGVjaG8gJGxpYm5hbWUgfCBzZWQgLWUgJ3MvXC5zb1wuLiovLnNv
LydgCglsbiAtc2YgJGxpYm5hbWUgJDIvJHNvbmFtZWxpbmsKCWxuIC1zZiAkbGlibmFtZSAkMi8k
c29saW5rCgp9CgpvZV9saWJpbnN0YWxsKCkgewoJIyBQdXJwb3NlOiBJbnN0YWxsIGEgbGlicmFy
eSwgaW4gYWxsIGl0cyBmb3JtcwoJIyBFeGFtcGxlCgkjCgkjIG9lX2xpYmluc3RhbGwgbGlibHRk
bCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3Jk
aWEvdXNyL2xpYi8KCSMgb2VfbGliaW5zdGFsbCAtQyBzcmMvbGliYmxhaCBsaWJibGFoIC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21l
dGEtdG9vbGNoYWluLTEuMC1yNy9pbWFnZS8vdXNyL2xpYi8KCWRpcj0iIgoJbGlidG9vbD0iIgoJ
c2lsZW50PSIiCglyZXF1aXJlX3N0YXRpYz0iIgoJcmVxdWlyZV9zaGFyZWQ9IiIKCXN0YWdpbmdf
aW5zdGFsbD0iIgoJd2hpbGUgWyAiJCMiIC1ndCAwIF07IGRvCgkJY2FzZSAiJDEiIGluCgkJLUMp
CgkJCXNoaWZ0CgkJCWRpcj0iJDEiCgkJCTs7CgkJLXMpCgkJCXNpbGVudD0xCgkJCTs7CgkJLWEp
CgkJCXJlcXVpcmVfc3RhdGljPTEKCQkJOzsKCQktc28pCgkJCXJlcXVpcmVfc2hhcmVkPTEKCQkJ
OzsKCQktKikKCQkJYmJmYXRhbCAib2VfbGliaW5zdGFsbDogdW5rbm93biBvcHRpb246ICQxIgoJ
CQk7OwoJCSopCgkJCWJyZWFrOwoJCQk7OwoJCWVzYWMKCQlzaGlmdAoJZG9uZQoKCWxpYm5hbWU9
IiQxIgoJc2hpZnQKCWRlc3RwYXRoPSIkMSIKCWlmIFsgLXogIiRkZXN0cGF0aCIgXTsgdGhlbgoJ
CWJiZmF0YWwgIm9lX2xpYmluc3RhbGw6IG5vIGRlc3RpbmF0aW9uIHBhdGggc3BlY2lmaWVkIgoJ
ZmkKCWlmIGVjaG8gIiRkZXN0cGF0aC8iIHwgZWdyZXAgJ14vaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNyL2xpYi8nID4vZGV2L251bGwK
CXRoZW4KCQlzdGFnaW5nX2luc3RhbGw9MQoJZmkKCglfX3J1bmNtZCAoKSB7CgkJaWYgWyAteiAi
JHNpbGVudCIgXTsgdGhlbgoJCQllY2hvID4mMiAib2VfbGliaW5zdGFsbDogJCoiCgkJZmkKCQkk
KgoJfQoKCWlmIFsgLXogIiRkaXIiIF07IHRoZW4KCQlkaXI9YHB3ZGAKCWZpCgoJZG90bGFpPSRs
aWJuYW1lLmxhaQoKCSMgU2FuaXR5IGNoZWNrIHRoYXQgdGhlIGxpYm5hbWUubGFpIGlzIHVuaXF1
ZQoJbnVtYmVyX29mX2ZpbGVzPWAoY2QgJGRpcjsgZmluZCAuIC1uYW1lICIkZG90bGFpIikgfCB3
YyAtbGAKCWlmIFsgJG51bWJlcl9vZl9maWxlcyAtZ3QgMSBdOyB0aGVuCgkJYmJmYXRhbCAib2Vf
bGliaW5zdGFsbDogJGRvdGxhaSBpcyBub3QgdW5pcXVlIGluICRkaXIiCglmaQoKCglkaXI9JGRp
cmAoY2QgJGRpcjtmaW5kIC4gLW5hbWUgIiRkb3RsYWkiKSB8IHNlZCAicy9eXC4vLztzL1wvJGRv
dGxhaVwkLy87cSJgCglvbGRkaXI9YHB3ZGAKCV9fcnVuY21kIGNkICRkaXIKCglsYWZpbGU9JGxp
Ym5hbWUubGEKCgkjIElmIHN1Y2ggZmlsZSBkb2Vzbid0IGV4aXN0LCB0cnkgdG8gY3V0IHZlcnNp
b24gc3VmZml4CglpZiBbICEgLWYgIiRsYWZpbGUiIF07IHRoZW4KCQlsaWJuYW1lMT1gZWNobyAi
JGxpYm5hbWUiIHwgc2VkICdzLy1bMC05Ll0qJC8vJ2AKCQlsYWZpbGUxPSRsaWJuYW1lLmxhCgkJ
aWYgWyAtZiAiJGxhZmlsZTEiIF07IHRoZW4KCQkJbGlibmFtZT0kbGlibmFtZTEKCQkJbGFmaWxl
PSRsYWZpbGUxCgkJZmkKCWZpCgoJaWYgWyAtZiAiJGxhZmlsZSIgXTsgdGhlbgoJCSMgbGlidG9v
bCBhcmNoaXZlCgkJZXZhbCBgY2F0ICRsYWZpbGV8Z3JlcCAiXmxpYnJhcnlfbmFtZXM9ImAKCQls
aWJ0b29sPTEKCWVsc2UKCQlsaWJyYXJ5X25hbWVzPSIkbGlibmFtZS5zbyogJGxpYm5hbWUuZGxs
LmEgJGxpYm5hbWUuKi5keWxpYiIKCWZpCgoJX19ydW5jbWQgaW5zdGFsbCAtZCAkZGVzdHBhdGgv
Cglkb3RhPSRsaWJuYW1lLmEKCWlmIFsgLWYgIiRkb3RhIiAtbyAtbiAiJHJlcXVpcmVfc3RhdGlj
IiBdOyB0aGVuCgkJcm0gLWYgJGRlc3RwYXRoLyRkb3RhCgkJX19ydW5jbWQgaW5zdGFsbCAtbSAw
NjQ0ICRkb3RhICRkZXN0cGF0aC8KCWZpCglpZiBbIC1mICIkZG90bGFpIiAtYSAtbiAiJGxpYnRv
b2wiIF07IHRoZW4KCQlybSAtZiAkZGVzdHBhdGgvJGxpYm5hbWUubGEKCQlfX3J1bmNtZCBpbnN0
YWxsIC1tIDA2NDQgJGRvdGxhaSAkZGVzdHBhdGgvJGxpYm5hbWUubGEKCWZpCgoJZm9yIG5hbWUg
aW4gJGxpYnJhcnlfbmFtZXM7IGRvCgkJZmlsZXM9YGV2YWwgZWNobyAkbmFtZWAKCQlmb3IgZiBp
biAkZmlsZXM7IGRvCgkJCWlmIFsgISAtZSAiJGYiIF07IHRoZW4KCQkJCWlmIFsgLW4gIiRsaWJ0
b29sIiBdOyB0aGVuCgkJCQkJYmJmYXRhbCAib2VfbGliaW5zdGFsbDogJGRpci8kZiBub3QgZm91
bmQuIgoJCQkJZmkKCQkJZWxpZiBbIC1MICIkZiIgXTsgdGhlbgoJCQkJX19ydW5jbWQgY3AgLVAg
IiRmIiAkZGVzdHBhdGgvCgkJCWVsaWYgWyAhIC1MICIkZiIgXTsgdGhlbgoJCQkJbGliZmlsZT0i
JGYiCgkJCQlybSAtZiAkZGVzdHBhdGgvJGxpYmZpbGUKCQkJCV9fcnVuY21kIGluc3RhbGwgLW0g
MDc1NSAkbGliZmlsZSAkZGVzdHBhdGgvCgkJCWZpCgkJZG9uZQoJZG9uZQoKCWlmIFsgLXogIiRs
aWJmaWxlIiBdOyB0aGVuCgkJaWYgIFsgLW4gIiRyZXF1aXJlX3NoYXJlZCIgXTsgdGhlbgoJCQli
YmZhdGFsICJvZV9saWJpbnN0YWxsOiB1bmFibGUgdG8gbG9jYXRlIHNoYXJlZCBsaWJyYXJ5IgoJ
CWZpCgllbGlmIFsgLXogIiRsaWJ0b29sIiBdOyB0aGVuCgkJIyBzcGVjaWFsIGNhc2UgaGFjayBm
b3Igbm9uLWxpYnRvb2wgLnNvLiMuIy4jIGxpbmtzCgkJYmFzZWxpYmZpbGU9YGJhc2VuYW1lICIk
bGliZmlsZSJgCgkJaWYgKGVjaG8gJGJhc2VsaWJmaWxlIHwgZ3JlcCAtcUUgJ15saWIuKlwuc29c
LlswLTkuXSokJyk7IHRoZW4KCQkJc29uYW1lbGluaz1gaTU4Ni1jY2QtbGludXgtcmVhZGVsZiAt
ZCAkbGliZmlsZSB8Z3JlcCAnTGlicmFyeSBzb25hbWU6JyB8c2VkIC1lICdzLy4qXFtcKC4qXClc
XS4qL1wxLydgCgkJCXNvbGluaz1gZWNobyAkYmFzZWxpYmZpbGUgfCBzZWQgLWUgJ3MvXC5zb1wu
LiovLnNvLydgCgkJCWlmIFsgLW4gIiRzb25hbWVsaW5rIiAtYSB4IiRiYXNlbGliZmlsZSIgIT0g
eCIkc29uYW1lbGluayIgXTsgdGhlbgoJCQkJX19ydW5jbWQgbG4gLXNmICRiYXNlbGliZmlsZSAk
ZGVzdHBhdGgvJHNvbmFtZWxpbmsKCQkJZmkKCQkJX19ydW5jbWQgbG4gLXNmICRiYXNlbGliZmls
ZSAkZGVzdHBhdGgvJHNvbGluawoJCWZpCglmaQoKCV9fcnVuY21kIGNkICIkb2xkZGlyIgoKfQoK
cGFja2FnZV9pbnN0YWxsX2ludGVybmFsX2lwaygpIHsKCglsb2NhbCB0YXJnZXRfcm9vdGZzPSIk
e0lOU1RBTExfUk9PVEZTX0lQS30iCglsb2NhbCBjb25mZmlsZT0iJHtJTlNUQUxMX0NPTkZfSVBL
fSIKCWxvY2FsIHBhY2thZ2VfYXR0ZW1wdG9ubHk9IiR7SU5TVEFMTF9QQUNLQUdFU19BVFRFTVBU
T05MWV9JUEt9IgoJbG9jYWwgcGFja2FnZV9saW5ndWFzPSIke0lOU1RBTExfUEFDS0FHRVNfTElO
R1VBU19JUEt9IgoJbG9jYWwgdGFzaz0iJHtJTlNUQUxMX1RBU0tfSVBLfSIKCglzcGxpdF9tdWx0
aWxpYl9wYWNrYWdlcwoKCWxvY2FsIHBhY2thZ2VfdG9faW5zdGFsbD0iJHtJTlNUQUxMX1BBQ0tB
R0VTX05PUk1BTF9JUEt9IgoJbG9jYWwgcGFja2FnZV9tdWx0aWxpYj0iJHtJTlNUQUxMX1BBQ0tB
R0VTX01VTFRJTElCX0lQS30iCgoJbWtkaXIgLXAgJHt0YXJnZXRfcm9vdGZzfS92YXIvbGliL29w
a2cvCgoJbG9jYWwgaXBrZ19hcmdzPSItZiAke2NvbmZmaWxlfSAtbyAke3RhcmdldF9yb290ZnN9
IC0tZm9yY2Utb3ZlcndyaXRlIC0tZm9yY2VfcG9zdGluc3RhbGwiCgoJb3BrZy1jbCAke2lwa2df
YXJnc30gdXBkYXRlCgoJIyBVY2xpYmMgYnVpbGRzIGRvbid0IHByb3ZpZGUgdGhpcyBzdHVmZi4u
LgoJaWYgWyB4bGludXggPSAieGxpbnV4IiBdIHx8IFsgeGxpbnV4ID0gInhsaW51eC1nbnVlYWJp
IiBdIDsgdGhlbgoJCWlmIFsgISAteiAiJHtwYWNrYWdlX2xpbmd1YXN9IiBdOyB0aGVuCgkJCWZv
ciBpIGluICR7cGFja2FnZV9saW5ndWFzfTsgZG8KCQkJCW9wa2ctY2wgJHtpcGtnX2FyZ3N9IGlu
c3RhbGwgJGkKCQkJZG9uZQoJCWZpCglmaQoKCWlmIFsgISAteiAiJHtwYWNrYWdlX3RvX2luc3Rh
bGx9IiBdOyB0aGVuCgkJb3BrZy1jbCAke2lwa2dfYXJnc30gaW5zdGFsbCAke3BhY2thZ2VfdG9f
aW5zdGFsbH0KCWZpCgoJaWYgWyAhIC16ICIke3BhY2thZ2VfYXR0ZW1wdG9ubHl9IiBdOyB0aGVu
CgkJb3BrZy1jbCAke2lwa2dfYXJnc30gaW5zdGFsbCAke3BhY2thZ2VfYXR0ZW1wdG9ubHl9ID4g
Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxp
bnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy90ZW1wL2xvZy5kb18ke3Rhc2t9X2F0dGVtcHRvbmx5
LjEzMDYzIiB8fCB0cnVlCglmaQoKCXBhY2thZ2VfdHJ5b3V0X2luc3RhbGxfbXVsdGlsaWJfaXBr
CglpZiBbICEgLXogIiR7TVVMVElMSUJfQ0hFQ0tfRklMRX0iIF07IHRoZW4KCQkjc2FuaXR5IGNo
ZWNrCgkJbXVsdGlsaWJfc2FuaXR5X2NoZWNrICR7dGFyZ2V0X3Jvb3Rmc30gJHttdWx0aWxpYl90
cnlvdXRfZGlyc30gfHwgZXhpdCAxCglmaQoKCWlmIFsgISAteiAiJHtwYWNrYWdlX211bHRpbGli
fSIgXTsgdGhlbgoJCW9wa2ctY2wgJHtpcGtnX2FyZ3N9IGluc3RhbGwgJHtwYWNrYWdlX211bHRp
bGlifQoJZmkKCn0KCnRvb2xjaGFpbl9jcmVhdGVfc2RrX3NpdGVjb25maWcoKSB7Cglsb2NhbCBz
aXRlY29uZmlnPSQxCgoJcm0gLWYgJHNpdGVjb25maWcKCXRvdWNoICRzaXRlY29uZmlnCgoJZm9y
IHNpdGVmaWxlIGluIC9vcHQvcG9reS5naXQvbWV0YS9zaXRlL2VuZGlhbi1saXR0bGUgL29wdC9w
b2t5LmdpdC9tZXRhL3NpdGUvaXg4Ni1jb21tb24gL29wdC9wb2t5LmdpdC9tZXRhL3NpdGUvY29t
bW9uLWxpbnV4IC9vcHQvcG9reS5naXQvbWV0YS9zaXRlL2NvbW1vbi1nbGliYyAvb3B0L3Bva3ku
Z2l0L21ldGEvc2l0ZS9jb21tb24gIDsgZG8KCQljYXQgJHNpdGVmaWxlID4+ICRzaXRlY29uZmln
Cglkb25lCgoJI2dldCBjYWNoZWQgc2l0ZSBjb25maWcKCWZvciBzaXRlZmlsZSBpbiBlZ2xpYmMg
bmN1cnNlczsgZG8KCQlpZiBbIC1yIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL2NvbmNvcmRpYS91c3Ivc2hhcmUvaTU4Ni1jY2QtbGludXhfY29uZmlnX3Np
dGUuZC8ke3NpdGVmaWxlfV9jb25maWcgXTsgdGhlbgoJCQljYXQgL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9zaGFyZS9pNTg2LWNj
ZC1saW51eF9jb25maWdfc2l0ZS5kLyR7c2l0ZWZpbGV9X2NvbmZpZyA+PiAkc2l0ZWNvbmZpZwoJ
CWZpCglkb25lCgp9CgpiYmZhdGFsKCkgewoJZWNobyAiRVJST1I6ICQqIgoJZXhpdCAxCgp9Cgpi
Yndhcm4oKSB7CgllY2hvICJXQVJOSU5HOiAkKiIKCn0KCnRvb2xjaGFpbl9jcmVhdGVfc2RrX2Vu
dl9zY3JpcHQoKSB7CgkjIENyZWF0ZSBlbnZpcm9ubWVudCBzZXR1cCBzY3JpcHQKCXNjcmlwdD0v
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51
eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdlLy9vcHQvY29uY29yZGlhL3YwLjEuMy0x
LWdhZDI4YTYzL2Vudmlyb25tZW50LXNldHVwLWNvcmUyLWNjZC1saW51eAoJcm0gLWYgJHNjcmlw
dAoJdG91Y2ggJHNjcmlwdAoJZWNobyAnZXhwb3J0IFBBVEg9L29wdC9jb25jb3JkaWEvdjAuMS4z
LTEtZ2FkMjhhNjMvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvYmluOi9vcHQvY29u
Y29yZGlhL3YwLjEuMy0xLWdhZDI4YTYzL3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNy
L2Jpbi9jb3JlMi1jY2QtbGludXg6JFBBVEgnID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBQS0df
Q09ORklHX1NZU1JPT1RfRElSPS9vcHQvY29uY29yZGlhL3YwLjEuMy0xLWdhZDI4YTYzL3N5c3Jv
b3RzL2NvcmUyLWNjZC1saW51eCcgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IFBLR19DT05GSUdf
UEFUSD0vb3B0L2NvbmNvcmRpYS92MC4xLjMtMS1nYWQyOGE2My9zeXNyb290cy9jb3JlMi1jY2Qt
bGludXgvdXNyL2xpYi9wa2djb25maWcnID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBDT05GSUdf
U0lURT0vb3B0L2NvbmNvcmRpYS92MC4xLjMtMS1nYWQyOGE2My9zaXRlLWNvbmZpZy1jb3JlMi1j
Y2QtbGludXgnID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBDQz1pNTg2LWNjZC1saW51eC1nY2Mn
ID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBDWFg9aTU4Ni1jY2QtbGludXgtZysrJyA+PiAkc2Ny
aXB0CgllY2hvICdleHBvcnQgR0RCPWk1ODYtY2NkLWxpbnV4LWdkYicgPj4gJHNjcmlwdAoJZWNo
byAnZXhwb3J0IFRBUkdFVF9QUkVGSVg9aTU4Ni1jY2QtbGludXgtJyA+PiAkc2NyaXB0CgllY2hv
ICdleHBvcnQgQ09ORklHVVJFX0ZMQUdTPSItLXRhcmdldD1pNTg2LWNjZC1saW51eCAtLWhvc3Q9
aTU4Ni1jY2QtbGludXggLS1idWlsZD14ODZfNjQtbGludXggLS13aXRoLWxpYnRvb2wtc3lzcm9v
dD0vb3B0L2NvbmNvcmRpYS92MC4xLjMtMS1nYWQyOGE2My9zeXNyb290cy9jb3JlMi1jY2QtbGlu
dXgiJyA+PiAkc2NyaXB0CglpZiBbICJsaW51eCIgPSAiZGFyd2luOCIgXTsgdGhlbgoJCWVjaG8g
J2V4cG9ydCBUQVJHRVRfQ0ZMQUdTPSItSS9vcHQvY29uY29yZGlhL3YwLjEuMy0xLWdhZDI4YTYz
L3N5c3Jvb3RzL2NvcmUyLWNjZC1saW51eC91c3IvaW5jbHVkZSInID4+ICRzY3JpcHQKCQllY2hv
ICdleHBvcnQgVEFSR0VUX0xERkxBR1M9Ii1ML29wdC9jb25jb3JkaWEvdjAuMS4zLTEtZ2FkMjhh
NjMvc3lzcm9vdHMvY29yZTItY2NkLWxpbnV4L3Vzci9saWIiJyA+PiAkc2NyaXB0CgkJIyBXb3Jr
YXJvdW5kIGRhcndpbiB0b29sY2hhaW4gc3lzcm9vdCBwYXRoIHByb2JsZW1zCgkJY2QgL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0
YS10b29sY2hhaW4tMS4wLXI3L3Nkay9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEuMy0xLWdhZDI4
YTYzL3N5c3Jvb3RzL2NvcmUyLWNjZC1saW51eC91c3IKCQlsbiAtcyAvdXNyL2xvY2FsIGxvY2Fs
CglmaQoJZWNobyAnZXhwb3J0IENGTEFHUz0iIC1tMzIgICAgLW1hcmNoPWNvcmUyIC1tc3NlMyAt
bXR1bmU9Z2VuZXJpYyAtbWZwbWF0aD1zc2UgLS1zeXNyb290PS9vcHQvY29uY29yZGlhL3YwLjEu
My0xLWdhZDI4YTYzL3N5c3Jvb3RzL2NvcmUyLWNjZC1saW51eCInID4+ICRzY3JpcHQKCWVjaG8g
J2V4cG9ydCBDWFhGTEFHUz0iIC1tMzIgICAgLW1hcmNoPWNvcmUyIC1tc3NlMyAtbXR1bmU9Z2Vu
ZXJpYyAtbWZwbWF0aD1zc2UgLS1zeXNyb290PS9vcHQvY29uY29yZGlhL3YwLjEuMy0xLWdhZDI4
YTYzL3N5c3Jvb3RzL2NvcmUyLWNjZC1saW51eCInID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBM
REZMQUdTPSIgIC0tc3lzcm9vdD0vb3B0L2NvbmNvcmRpYS92MC4xLjMtMS1nYWQyOGE2My9zeXNy
b290cy9jb3JlMi1jY2QtbGludXgiJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgQ1BQRkxBR1M9
IiAtbTMyICAgIC1tYXJjaD1jb3JlMiAtbXNzZTMgLW10dW5lPWdlbmVyaWMgLW1mcG1hdGg9c3Nl
IC0tc3lzcm9vdD0vb3B0L2NvbmNvcmRpYS92MC4xLjMtMS1nYWQyOGE2My9zeXNyb290cy9jb3Jl
Mi1jY2QtbGludXgiJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgT0VDT1JFX05BVElWRV9TWVNS
T09UPSIvb3B0L2NvbmNvcmRpYS92MC4xLjMtMS1nYWQyOGE2My9zeXNyb290cy94ODZfNjQtY2Nk
c2RrLWxpbnV4IicgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IE9FQ09SRV9UQVJHRVRfU1lTUk9P
VD0iL29wdC9jb25jb3JkaWEvdjAuMS4zLTEtZ2FkMjhhNjMvc3lzcm9vdHMvY29yZTItY2NkLWxp
bnV4IicgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IE9FQ09SRV9BQ0xPQ0FMX09QVFM9Ii1JIC9v
cHQvY29uY29yZGlhL3YwLjEuMy0xLWdhZDI4YTYzL3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGlu
dXgvdXNyL3NoYXJlL2FjbG9jYWwiJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgT0VDT1JFX0RJ
U1RST19WRVJTSU9OPSJ2MC4xLjMtMS1nYWQyOGE2MyInID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9y
dCBPRUNPUkVfU0RLX1ZFUlNJT049InYwLjEuMy0xLWdhZDI4YTYzIicgPj4gJHNjcmlwdAoKfQoK
ZG9faW5zdGFsbCgpIHsKCWJhc2VfZG9faW5zdGFsbAoKfQoKcGFja2FnZV91cGRhdGVfaW5kZXhf
aXBrKCkgewoJc2V0IC14CgoJaXBrZ2FyY2hzPSJhbGwgYW55IG5vYXJjaCB4ODYgaTM4NiBpNDg2
IGk1ODYgaTY4NiBjb3JlMiBjb25jb3JkaWEgYWxsIGFueSBub2FyY2ggeDg2XzY0LW5hdGl2ZXNk
ayIKCglpZiBbICEgLXogIiR7REVQTE9ZX0tFRVBfUEFDS0FHRVN9IiBdOyB0aGVuCgkJcmV0dXJu
CglmaQoKCXBhY2thZ2VkaXJzPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC9kZXBsb3kvaXBrIgoJZm9yIGFyY2ggaW4gJGlwa2dhcmNoczsgZG8KCQlwYWNrYWdlZGlycz0i
JHBhY2thZ2VkaXJzIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2RlcGxv
eS9pcGsvJGFyY2giCglkb25lCgoJbXVsdGlsaWJfYXJjaHM9IiR7TVVMVElMSUJfQVJDSFN9IgoJ
Zm9yIGFyY2ggaW4gJG11bHRpbGliX2FyY2hzOyBkbwoJCXBhY2thZ2VkaXJzPSIkcGFja2FnZWRp
cnMgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2lway8kYXJj
aCIKCWRvbmUKCglmb3IgcGtnZGlyIGluICRwYWNrYWdlZGlyczsgZG8KCQlpZiBbIC1lICRwa2dk
aXIvIF07IHRoZW4KCQkJdG91Y2ggJHBrZ2Rpci9QYWNrYWdlcwoJCQlmbG9jayAkcGtnZGlyL1Bh
Y2thZ2VzLmZsb2NrIC1jICJvcGtnLW1ha2UtaW5kZXggLXIgJHBrZ2Rpci9QYWNrYWdlcyAtcCAk
cGtnZGlyL1BhY2thZ2VzIC1tICRwa2dkaXIvIgoJCWZpCglkb25lCgp9Cgpkb19wYWNrYWdlX3dy
aXRlKCkgewoJOgoKfQoKc3lzcm9vdF9zdGFnZV9kaXJzKCkgewoJZnJvbT0iJDEiCgl0bz0iJDIi
CgoJc3lzcm9vdF9zdGFnZV9kaXIgJGZyb20vdXNyL2luY2x1ZGUgJHRvL3Vzci9pbmNsdWRlCglp
ZiBbICJ4ODZfNjQtbGludXgiID0gImk1ODYtY2NkLWxpbnV4IiBdOyB0aGVuCgkJc3lzcm9vdF9z
dGFnZV9kaXIgJGZyb20vdXNyL2JpbiAkdG8vdXNyL2JpbgoJCXN5c3Jvb3Rfc3RhZ2VfZGlyICRm
cm9tL3Vzci9zYmluICR0by91c3Ivc2JpbgoJCXN5c3Jvb3Rfc3RhZ2VfZGlyICRmcm9tL2JpbiAk
dG8vYmluCgkJc3lzcm9vdF9zdGFnZV9kaXIgJGZyb20vc2JpbiAkdG8vc2JpbgoJCXN5c3Jvb3Rf
c3RhZ2VfZGlyICRmcm9tL3Vzci9saWJleGVjICR0by91c3IvbGliZXhlYwoJCXN5c3Jvb3Rfc3Rh
Z2VfZGlyICRmcm9tL2V0YyAkdG8vZXRjCgkJc3lzcm9vdF9zdGFnZV9kaXIgJGZyb20vdmFyICR0
by92YXIKCWZpCglpZiBbIC1kICRmcm9tL3Vzci9saWIgXQoJdGhlbgoJCXN5c3Jvb3Rfc3RhZ2Vf
bGliZGlyICRmcm9tLy91c3IvbGliICR0by91c3IvbGliCglmaQoJaWYgWyAtZCAkZnJvbS9saWIg
XQoJdGhlbgoJCXN5c3Jvb3Rfc3RhZ2VfbGliZGlyICRmcm9tL2xpYiAkdG8vbGliCglmaQoJc3lz
cm9vdF9zdGFnZV9kaXIgJGZyb20vdXNyL3NoYXJlICR0by91c3Ivc2hhcmUKCn0KCnRvb2xjaGFp
bl9jcmVhdGVfdHJlZV9lbnZfc2NyaXB0KCkgewoJc2NyaXB0PS9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL2Vudmlyb25tZW50LXNldHVwLWNvcmUyLWNjZC1saW51eAoJcm0g
LWYgJHNjcmlwdAoJdG91Y2ggJHNjcmlwdAoJZWNobyAnZXhwb3J0IFBBVEg9L2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9iaW4v
Y29yZTItY2NkLWxpbnV4Oi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5
c3Jvb3RzL2NvbmNvcmRpYS91c3IvYmluL2Nyb3Nzc2NyaXB0czovaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL3NiaW46L2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vz
ci9iaW46L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2
XzY0LWxpbnV4L3NiaW46L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lz
cm9vdHMveDg2XzY0LWxpbnV4Ly9iaW46L29wdC9wb2t5LmdpdC9zY3JpcHRzOi9vcHQvcG9reS5n
aXQvYml0YmFrZS9iaW4vOi91c3IvbGliNjQvY2NhY2hlOi91c3IvbGliNjQvaWNlY2MvYmluOi91
c3IvbG9jYWwvYmluOi9iaW46L3Vzci9iaW46L3Vzci9sb2NhbC9zYmluOi91c3Ivc2Jpbjovc2Jp
bjovb3B0L3Bva3kuZ2l0L3NjcmlwdHMnID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBQS0dfQ09O
RklHX1NZU1JPT1RfRElSPS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5
c3Jvb3RzL2NvbmNvcmRpYScgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IFBLR19DT05GSUdfUEFU
SD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3Jk
aWEvL3Vzci9saWIvcGtnY29uZmlnOi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL2NvbmNvcmRpYS91c3Ivc2hhcmUvcGtnY29uZmlnJyA+PiAkc2NyaXB0CgoJ
ZWNobyAnZXhwb3J0IENPTkZJR19TSVRFPSIvb3B0L3Bva3kuZ2l0L21ldGEvc2l0ZS9lbmRpYW4t
bGl0dGxlIC9vcHQvcG9reS5naXQvbWV0YS9zaXRlL2l4ODYtY29tbW9uIC9vcHQvcG9reS5naXQv
bWV0YS9zaXRlL2NvbW1vbi1saW51eCAvb3B0L3Bva3kuZ2l0L21ldGEvc2l0ZS9jb21tb24tZ2xp
YmMgL29wdC9wb2t5LmdpdC9tZXRhL3NpdGUvY29tbW9uIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYS91c3Ivc2hhcmUvaTU4Ni1jY2QtbGlu
dXhfY29uZmlnX3NpdGUuZC9uY3Vyc2VzX2NvbmZpZyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNyL3NoYXJlL2k1ODYtY2NkLWxpbnV4
X2NvbmZpZ19zaXRlLmQvZWdsaWJjX2NvbmZpZyAiJyA+PiAkc2NyaXB0CgoJZWNobyAnZXhwb3J0
IENDPWk1ODYtY2NkLWxpbnV4LWdjYycgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IENYWD1pNTg2
LWNjZC1saW51eC1nKysnID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBHREI9aTU4Ni1jY2QtbGlu
dXgtZ2RiJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgVEFSR0VUX1BSRUZJWD1pNTg2LWNjZC1s
aW51eC0nID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBDT05GSUdVUkVfRkxBR1M9Ii0tdGFyZ2V0
PWk1ODYtY2NkLWxpbnV4IC0taG9zdD1pNTg2LWNjZC1saW51eCAtLWJ1aWxkPXg4Nl82NC1saW51
eCAtLXdpdGgtbGlidG9vbC1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSInID4+ICRzY3JpcHQKCWlmIFsgImxpbnV4IiA9ICJk
YXJ3aW44IiBdOyB0aGVuCgkJZWNobyAnZXhwb3J0IFRBUkdFVF9DRkxBR1M9Ii1JL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHNjb25jb3JkaWEvdXNyL2luY2x1
ZGUiJyA+PiAkc2NyaXB0CgkJZWNobyAnZXhwb3J0IFRBUkdFVF9MREZMQUdTPSItTC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzY29uY29yZGlhL3Vzci9saWIi
JyA+PiAkc2NyaXB0CgkJIyBXb3JrYXJvdW5kIGRhcndpbiB0b29sY2hhaW4gc3lzcm9vdCBwYXRo
IHByb2JsZW1zCgkJY2QgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29y
ay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Nkay9pbWFnZS9vcHQvY29u
Y29yZGlhL3YwLjEuMy0xLWdhZDI4YTYzL3N5c3Jvb3RzL2NvcmUyLWNjZC1saW51eC91c3IKCQls
biAtcyAvdXNyL2xvY2FsIGxvY2FsCglmaQoJZWNobyAnZXhwb3J0IENGTEFHUz0iIC1tMzIgICAg
LW1hcmNoPWNvcmUyIC1tc3NlMyAtbXR1bmU9Z2VuZXJpYyAtbWZwbWF0aD1zc2UgLS1zeXNyb290
PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRp
YSInID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBDWFhGTEFHUz0iIC1tMzIgICAgLW1hcmNoPWNv
cmUyIC1tc3NlMyAtbXR1bmU9Z2VuZXJpYyAtbWZwbWF0aD1zc2UgLS1zeXNyb290PS9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSInID4+ICRz
Y3JpcHQKCWVjaG8gJ2V4cG9ydCBMREZMQUdTPSIgIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEiJyA+PiAkc2NyaXB0Cgll
Y2hvICdleHBvcnQgQ1BQRkxBR1M9IiAtbTMyICAgIC1tYXJjaD1jb3JlMiAtbXNzZTMgLW10dW5l
PWdlbmVyaWMgLW1mcG1hdGg9c3NlIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEiJyA+PiAkc2NyaXB0CgllY2hvICdleHBv
cnQgT0VDT1JFX05BVElWRV9TWVNST09UPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgiJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQg
T0VDT1JFX1RBUkdFVF9TWVNST09UPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy9jb25jb3JkaWEiJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgT0VDT1JF
X0FDTE9DQUxfT1BUUz0iLUkgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
c3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9zaGFyZS9hY2xvY2FsIicgPj4gJHNjcmlwdAoJZWNo
byAnZXhwb3J0IE9FQ09SRV9ESVNUUk9fVkVSU0lPTj0idjAuMS4zLTEtZ2FkMjhhNjMiJyA+PiAk
c2NyaXB0CgllY2hvICdleHBvcnQgT0VDT1JFX1NES19WRVJTSU9OPSJ2MC4xLjMtMS1nYWQyOGE2
MyInID4+ICRzY3JpcHQKCn0KCnRvb2xjaGFpbl9jcmVhdGVfc2RrX2Vudl9zY3JpcHRfZm9yX2lu
c3RhbGxlcigpIHsKCSMgQ3JlYXRlIGVudmlyb25tZW50IHNldHVwIHNjcmlwdAoJbG9jYWwgbXVs
dGltYWNoX3RhcmdldF9zeXM9JDEKCXNjcmlwdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2Rr
L2ltYWdlLy9vcHQvY29uY29yZGlhL3YwLjEuMy0xLWdhZDI4YTYzL2Vudmlyb25tZW50LXNldHVw
LSR7bXVsdGltYWNoX3RhcmdldF9zeXN9CglybSAtZiAkc2NyaXB0Cgl0b3VjaCAkc2NyaXB0Cgll
Y2hvICdleHBvcnQgUEFUSD0vb3B0L2NvbmNvcmRpYS92MC4xLjMtMS1nYWQyOGE2My9zeXNyb290
cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9iaW46L29wdC9jb25jb3JkaWEvdjAuMS4zLTEtZ2Fk
MjhhNjMvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvYmluLyciJHttdWx0aW1hY2hf
dGFyZ2V0X3N5c30iJzokUEFUSCcgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IFBLR19DT05GSUdf
U1lTUk9PVF9ESVI9IyNTREtUQVJHRVRTWVNST09UIyMnID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9y
dCBQS0dfQ09ORklHX1BBVEg9IyNTREtUQVJHRVRTWVNST09UIyMke3RhcmdldF9saWJkaXJ9L3Br
Z2NvbmZpZycgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IENPTkZJR19TSVRFPS9vcHQvY29uY29y
ZGlhL3YwLjEuMy0xLWdhZDI4YTYzL3NpdGUtY29uZmlnLSciJHttdWx0aW1hY2hfdGFyZ2V0X3N5
c30iID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBDQz1pNTg2LWNjZC1saW51eC1nY2MnID4+ICRz
Y3JpcHQKCWVjaG8gJ2V4cG9ydCBDWFg9aTU4Ni1jY2QtbGludXgtZysrJyA+PiAkc2NyaXB0Cgll
Y2hvICdleHBvcnQgR0RCPWk1ODYtY2NkLWxpbnV4LWdkYicgPj4gJHNjcmlwdAoJZWNobyAnZXhw
b3J0IFRBUkdFVF9QUkVGSVg9aTU4Ni1jY2QtbGludXgtJyA+PiAkc2NyaXB0CgllY2hvICdleHBv
cnQgQ09ORklHVVJFX0ZMQUdTPSItLXRhcmdldD1pNTg2LWNjZC1saW51eCAtLWhvc3Q9aTU4Ni1j
Y2QtbGludXggLS1idWlsZD14ODZfNjQtbGludXggLS13aXRoLWxpYnRvb2wtc3lzcm9vdD0jI1NE
S1RBUkdFVFNZU1JPT1QjIyInID4+ICRzY3JpcHQKCWlmIFsgImxpbnV4IiA9ICJkYXJ3aW44IiBd
OyB0aGVuCgkJZWNobyAnZXhwb3J0IFRBUkdFVF9DRkxBR1M9Ii1JIyNTREtUQVJHRVRTWVNST09U
IyMke3RhcmdldF9pbmNsdWRlZGlyfSInID4+ICRzY3JpcHQKCQllY2hvICdleHBvcnQgVEFSR0VU
X0xERkxBR1M9Ii1MIyNTREtUQVJHRVRTWVNST09UIyN7dGFyZ2V0X2xpYmRpcn0iJyA+PiAkc2Ny
aXB0CgkJIyBXb3JrYXJvdW5kIGRhcndpbiB0b29sY2hhaW4gc3lzcm9vdCBwYXRoIHByb2JsZW1z
CgkJY2QgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1j
Y2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Nkay9pbWFnZS9vcHQvY29uY29yZGlhL3Yw
LjEuMy0xLWdhZDI4YTYzL3N5c3Jvb3RzL2NvcmUyLWNjZC1saW51eC91c3IKCQlsbiAtcyAvdXNy
L2xvY2FsIGxvY2FsCglmaQoJZWNobyAnZXhwb3J0IENGTEFHUz0iIC1tMzIgICAgLW1hcmNoPWNv
cmUyIC1tc3NlMyAtbXR1bmU9Z2VuZXJpYyAtbWZwbWF0aD1zc2UgLS1zeXNyb290PSMjU0RLVEFS
R0VUU1lTUk9PVCMjIicgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IENYWEZMQUdTPSIgLW0zMiAg
ICAtbWFyY2g9Y29yZTIgLW1zc2UzIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPXNzZSAtLXN5c3Jv
b3Q9IyNTREtUQVJHRVRTWVNST09UIyMiJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgTERGTEFH
Uz0iICAtLXN5c3Jvb3Q9IyNTREtUQVJHRVRTWVNST09UIyMiJyA+PiAkc2NyaXB0CgllY2hvICdl
eHBvcnQgQ1BQRkxBR1M9IiAtbTMyICAgIC1tYXJjaD1jb3JlMiAtbXNzZTMgLW10dW5lPWdlbmVy
aWMgLW1mcG1hdGg9c3NlIC0tc3lzcm9vdD0jI1NES1RBUkdFVFNZU1JPT1QjIyInID4+ICRzY3Jp
cHQKCWVjaG8gJ2V4cG9ydCBPRUNPUkVfTkFUSVZFX1NZU1JPT1Q9Ii9vcHQvY29uY29yZGlhL3Yw
LjEuMy0xLWdhZDI4YTYzL3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgiJyA+PiAkc2NyaXB0
CgllY2hvICdleHBvcnQgT0VDT1JFX1RBUkdFVF9TWVNST09UPSIjI1NES1RBUkdFVFNZU1JPT1Qj
IyInID4+ICRzY3JpcHQKICAgICAgICBlY2hvICdleHBvcnQgT0VDT1JFX0FDTE9DQUxfT1BUUz0i
LUkgL29wdC9jb25jb3JkaWEvdjAuMS4zLTEtZ2FkMjhhNjMvc3lzcm9vdHMveDg2XzY0LWNjZHNk
ay1saW51eC91c3Ivc2hhcmUvYWNsb2NhbCInID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBPRUNP
UkVfRElTVFJPX1ZFUlNJT049InYwLjEuMy0xLWdhZDI4YTYzIicgPj4gJHNjcmlwdAoJZWNobyAn
ZXhwb3J0IE9FQ09SRV9TREtfVkVSU0lPTj0idjAuMS4zLTEtZ2FkMjhhNjMiJyA+PiAkc2NyaXB0
Cgp9Cgpkb19jaGVja3VyaWFsbCgpIHsKCToKCn0KCnBhY2thZ2Vkc3RhZ2luZ19mYXN0cGF0aCgp
IHsKCToKCn0KCnNzdGF0ZV91bnBhY2tfcGFja2FnZSgpIHsKCW1rZGlyIC1wICR7U1NUQVRFX0lO
U1RESVJ9CgljZCAke1NTVEFURV9JTlNURElSfQoJdGFyIC14dnpmIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vc3N0YXRlLWNhY2hlL3NzdGF0ZS1tZXRhLXRvb2xjaGFpbi1jb3Jl
Mi1jY2QtbGludXgtMS4wLXI3LWNvcmUyLTItJHtCQl9UQVNLSEFTSH0KCn0KCnRvb2xjaGFpbl9j
cmVhdGVfc2RrX3ZlcnNpb24oKSB7Cglsb2NhbCB2ZXJzaW9uZmlsZT0kMQoJcm0gLWYgJHZlcnNp
b25maWxlCgl0b3VjaCAkdmVyc2lvbmZpbGUKCWVjaG8gJ0Rpc3RybzogY29uY29yZGlhJyA+PiAk
dmVyc2lvbmZpbGUKCWVjaG8gJ0Rpc3RybyBWZXJzaW9uOiB2MC4xLjMtMS1nYWQyOGE2MycgPj4g
JHZlcnNpb25maWxlCgllY2hvICdNZXRhZGF0YSBSZXZpc2lvbjogZDIwYTI0MzEwZWI0M2ZlZDlh
M2YzZTc1NzUyYzlhZDQ1YTE4Y2JlNCcgPj4gJHZlcnNpb25maWxlCgllY2hvICdUaW1lc3RhbXA6
IDIwMTIwNTIyMTYxNzE1JyA+PiAkdmVyc2lvbmZpbGUKCn0KCnBvcHVsYXRlX3Nka19pcGsoKSB7
CgoJcm0gLWYgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3Jl
Mi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L29wa2cuY29uZgoJdG91Y2ggL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0
YS10b29sY2hhaW4tMS4wLXI3L29wa2cuY29uZgoJcm0gLWYgL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4w
LXI3L29wa2ctc2RrLmNvbmYKCXRvdWNoIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9vcGtnLXNk
ay5jb25mCgoJcGFja2FnZV91cGRhdGVfaW5kZXhfaXBrCglwYWNrYWdlX2dlbmVyYXRlX2lwa2df
Y29uZgoKCWV4cG9ydCBJTlNUQUxMX1BBQ0tBR0VTX0FUVEVNUFRPTkxZX0lQSz0iIgoJZXhwb3J0
IElOU1RBTExfUEFDS0FHRVNfTElOR1VBU19JUEs9IiIKCWV4cG9ydCBJTlNUQUxMX1RBU0tfSVBL
PSJwb3B1bGF0ZV9zZGsiCgoJI2luc3RhbGwgdGFyZ2V0CglleHBvcnQgSU5TVEFMTF9ST09URlNf
SVBLPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNj
ZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdlLy9vcHQvY29uY29yZGlhL3Yw
LjEuMy0xLWdhZDI4YTYzL3N5c3Jvb3RzL2NvcmUyLWNjZC1saW51eCIKCWV4cG9ydCBJTlNUQUxM
X0NPTkZfSVBLPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2Nv
cmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvb3BrZy5jb25mIgoJZXhwb3J0IElO
U1RBTExfUEFDS0FHRVNfSVBLPSJ0YXNrLWNvcmUtc3RhbmRhbG9uZS1zZGstdGFyZ2V0IHRhc2st
Y29yZS1zdGFuZGFsb25lLXNkay10YXJnZXQtZGJnIgoKCWV4cG9ydCBEPSR7SU5TVEFMTF9ST09U
RlNfSVBLfQoJZXhwb3J0IE9GRkxJTkVfUk9PVD0ke0lOU1RBTExfUk9PVEZTX0lQS30KCWV4cG9y
dCBJUEtHX09GRkxJTkVfUk9PVD0ke0lOU1RBTExfUk9PVEZTX0lQS30KCWV4cG9ydCBPUEtHX09G
RkxJTkVfUk9PVD0ke0lQS0dfT0ZGTElORV9ST09UfQoKCXBhY2thZ2VfaW5zdGFsbF9pbnRlcm5h
bF9pcGsKCgkjaW5zdGFsbCBob3N0CglleHBvcnQgSU5TVEFMTF9ST09URlNfSVBLPSIvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRh
LXRvb2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdlIgoJZXhwb3J0IElOU1RBTExfQ09ORl9JUEs9Ii9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4
L21ldGEtdG9vbGNoYWluLTEuMC1yNy9vcGtnLXNkay5jb25mIgoJZXhwb3J0IElOU1RBTExfUEFD
S0FHRVNfSVBLPSJ0YXNrLXNkay1ob3N0LW5hdGl2ZXNkayB0YXNrLWNyb3NzLWNhbmFkaWFuLWk1
ODYiCgoJcGFja2FnZV9pbnN0YWxsX2ludGVybmFsX2lwawoKCSNwb3N0IGNsZWFuIHVwCglpbnN0
YWxsIC1kIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTIt
Y2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UvL29wdC9jb25jb3JkaWEv
djAuMS4zLTEtZ2FkMjhhNjMvc3lzcm9vdHMvY29yZTItY2NkLWxpbnV4Ly9ldGMKCWluc3RhbGwg
LW0gMDY0NCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUy
LWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvb3BrZy5jb25mIC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNo
YWluLTEuMC1yNy9vcGtnLXNkay5jb25mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1h
Z2UvL29wdC9jb25jb3JkaWEvdjAuMS4zLTEtZ2FkMjhhNjMvc3lzcm9vdHMvY29yZTItY2NkLWxp
bnV4Ly9ldGMvCgoJaW5zdGFsbCAtZCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdl
Ly9vcHQvY29uY29yZGlhL3YwLjEuMy0xLWdhZDI4YTYzL3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGst
bGludXgvL2V0YwoJaW5zdGFsbCAtbSAwNjQ0IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9vcGtn
LXNkay5jb25mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29y
ZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UvL29wdC9jb25jb3Jk
aWEvdjAuMS4zLTEtZ2FkMjhhNjMvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC8vZXRjLwoK
CWluc3RhbGwgLWQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9j
b3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Nkay9pbWFnZS8vb3B0L2NvbmNv
cmRpYS92MC4xLjMtMS1nYWQyOGE2My9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Zhci9s
aWIvb3BrZwoJbXYgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9j
b3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Nkay9pbWFnZS92YXIvbGliL29w
a2cvKiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNj
ZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdlLy9vcHQvY29uY29yZGlhL3Yw
LjEuMy0xLWdhZDI4YTYzL3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdmFyL2xpYi9vcGtn
LwoJcm0gLVJmIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29y
ZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UvdmFyCgoJcG9wdWxh
dGVfc2RrX2xvZ19jaGVjayBwb3B1bGF0ZV9zZGsKCn0KCnN5c3Jvb3Rfc3RhZ2VfYWxsKCkgewoJ
c3lzcm9vdF9zdGFnZV9kaXJzIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9pbWFnZSAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRh
LXRvb2xjaGFpbi0xLjAtcjcvc3lzcm9vdC1kZXN0ZGlyLwoKfQoKbGljZW5zZV9jcmVhdGVfbWFu
aWZlc3QoKSB7Cglta2RpciAtcCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC9kZXBsb3kvbGljZW5zZXMvbWV0YS10b29sY2hhaW4tY29uY29yZGlhLXYwLjEuMy0xLWdhZDI4
YTYzCgkjIEdldCBsaXN0IG9mIGluc3RhbGxlZCBwYWNrYWdlcwoJbGlzdF9pbnN0YWxsZWRfcGFj
a2FnZXMgfCBncmVwIC12ICJsb2NhbGUiIHxzb3J0ID4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvZGVwbG95L2xpY2Vuc2VzL21ldGEtdG9vbGNoYWluLWNvbmNvcmRpYS12
MC4xLjMtMS1nYWQyOGE2My9wYWNrYWdlLm1hbmlmZXN0CglJTlNUQUxMRURfUEtHUz1gY2F0IC9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2RlcGxveS9saWNlbnNlcy9tZXRh
LXRvb2xjaGFpbi1jb25jb3JkaWEtdjAuMS4zLTEtZ2FkMjhhNjMvcGFja2FnZS5tYW5pZmVzdGAK
CSMgcmVtb3ZlIGV4aXN0aW5nIGxpY2Vuc2UubWFuaWZlc3QgZmlsZQoJaWYgWyAtZiAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvbGljZW5zZXMvbWV0YS10b29s
Y2hhaW4tY29uY29yZGlhLXYwLjEuMy0xLWdhZDI4YTYzL2xpY2Vuc2UubWFuaWZlc3QgXTsgdGhl
bgoJCXJtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2RlcGxveS9saWNl
bnNlcy9tZXRhLXRvb2xjaGFpbi1jb25jb3JkaWEtdjAuMS4zLTEtZ2FkMjhhNjMvbGljZW5zZS5t
YW5pZmVzdAoJZmkKCSMgbGlzdCBvZiBpbnN0YWxsZWQgcGFja2FnZXMgaXMgYnJva2VuIGZvciBk
ZWIKCWZvciBwa2cgaW4gJHtJTlNUQUxMRURfUEtHU307IGRvCgkJIyBub3QgdGhlIGJlc3Qgd2F5
IHRvIGRvIHRoaXMgYnV0IGxpY2Vuc2VzIGFyZSBub3QgYXJjaCBkZXBlbmRhbnQgaWlyYwoJCWZp
bGVzPWBmaW5kIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3BrZ2RhdGEv
Ki9ydW50aW1lIC1uYW1lICR7cGtnfXwgaGVhZCAtMWAKCQlmb3IgZmlsZW5hbWUgaW4gJGZpbGVz
OyBkbwoJCQlwa2dlZF9wbj0iJChzZWQgLW4gJ3MvXlBOOiAvL3AnICR7ZmlsZW5hbWV9KSIKCQkJ
cGtnZWRfbGljPSIkKHNlZCAtbiAnL15MSUNFTlNFOiAveyBzL15MSUNFTlNFOiAvLzsgcy9bK3wm
KCkqXS8gL2c7IHMvICAqLyAvZzsgcCB9JyAke2ZpbGVuYW1lfSkiCgkJCSMgY2hlY2sgdG8gc2Vl
IGlmIHRoZSBwYWNrYWdlIG5hbWUgZXhpc3RzIGluIHRoZSBtYW5pZmVzdC4gaWYgc28sIGJhaWwu
CgkJCWlmICEgZ3JlcCAtcSAiUEFDS0FHRSBOQU1FOiAke3BrZ30iICR7ZmlsZW5hbWV9OyB0aGVu
CgkJCQkjIGV4Y2x1ZGUgbG9jYWwgcmVjaXBlcwoJCQkJaWYgWyAhICIke3BrZ2VkX3BufSIgPSAi
KmxvY2FsZSoiIF07IHRoZW4KCQkJCQllY2hvICJQQUNLQUdFIE5BTUU6IiAke3BrZ30gPj4gL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2xpY2Vuc2VzL21ldGEt
dG9vbGNoYWluLWNvbmNvcmRpYS12MC4xLjMtMS1nYWQyOGE2My9saWNlbnNlLm1hbmlmZXN0CgkJ
CQkJZWNobyAiUkVDSVBFIE5BTUU6IiAke3BrZ2VkX3BufSA+PiAvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvbGljZW5zZXMvbWV0YS10b29sY2hhaW4tY29uY29y
ZGlhLXYwLjEuMy0xLWdhZDI4YTYzL2xpY2Vuc2UubWFuaWZlc3QKCQkJCQllY2hvICJMSUNFTlNF
OiAiID4+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2RlcGxveS9saWNl
bnNlcy9tZXRhLXRvb2xjaGFpbi1jb25jb3JkaWEtdjAuMS4zLTEtZ2FkMjhhNjMvbGljZW5zZS5t
YW5pZmVzdAoJCQkJCWZvciBsaWMgaW4gJHtwa2dlZF9saWN9OyBkbwoJCQkJCQlpZiBbIC1lICIv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvbGljZW5zZXMvJHtw
a2dlZF9wbn0vZ2VuZXJpY18ke2xpY30iIF07IHRoZW4KCQkJCQkJCWVjaG8gJHtsaWN9fHNlZCBz
Jy9nZW5lcmljXy8vJ2cgPj4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
ZGVwbG95L2xpY2Vuc2VzL21ldGEtdG9vbGNoYWluLWNvbmNvcmRpYS12MC4xLjMtMS1nYWQyOGE2
My9saWNlbnNlLm1hbmlmZXN0CgkJCQkJCWVsc2UKCQkJCQkJCWVjaG8gIldBUk5JTkc6IFRoZSBs
aWNlbnNlIGxpc3RlZCwgIiAke2xpY30gIiB3YXMgbm90IGluIHRoZSBsaWNlbnNlcyBjb2xsZWN0
ZWQgZm9yICIgJHtwa2dlZF9wbn0+PiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9kZXBsb3kvbGljZW5zZXMvbWV0YS10b29sY2hhaW4tY29uY29yZGlhLXYwLjEuMy0xLWdh
ZDI4YTYzL2xpY2Vuc2UubWFuaWZlc3QKCQkJCQkJZmkKCQkJCQlkb25lCgkJCQkJZWNobyAiIiA+
PiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvbGljZW5zZXMv
bWV0YS10b29sY2hhaW4tY29uY29yZGlhLXYwLjEuMy0xLWdhZDI4YTYzL2xpY2Vuc2UubWFuaWZl
c3QKCQkJCWZpCgkJCWZpCgkJZG9uZQoJZG9uZQoKCSMgVHdvIG9wdGlvbnMgaGVyZToKCSMgLSBK
dXN0IGNvcHkgdGhlIG1hbmlmZXN0CgkjIC0gQ29weSB0aGUgbWFuaWZlc3QgYW5kIHRoZSBsaWNl
bnNlIGRpcmVjdG9yaWVzCgkjIFdpdGggYm90aCBvcHRpb25zIHNldCB3ZSBzZWUgYSAuNSBNIGlu
Y3JlYXNlIGluIGNvcmUtaW1hZ2UtbWluaW1hbAoJaWYgWyAtbiAiJHtDT1BZX0xJQ19NQU5JRkVT
VH0iIF07IHRoZW4KCQlta2RpciAtcCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvcm9vdGZzL3Vz
ci9zaGFyZS9jb21tb24tbGljZW5zZXMvCgkJY3AgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvZGVwbG95L2xpY2Vuc2VzL21ldGEtdG9vbGNoYWluLWNvbmNvcmRpYS12MC4x
LjMtMS1nYWQyOGE2My9saWNlbnNlLm1hbmlmZXN0IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9y
b290ZnMvdXNyL3NoYXJlL2NvbW1vbi1saWNlbnNlcy9saWNlbnNlLm1hbmlmZXN0CgkJaWYgWyAt
biAiJHtDT1BZX0xJQ19ESVJTfSIgXTsgdGhlbgoJCQlmb3IgcGtnIGluICR7SU5TVEFMTEVEX1BL
R1N9OyBkbwoJCQkJbWtkaXIgLXAgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Jvb3Rmcy91c3Iv
c2hhcmUvY29tbW9uLWxpY2Vuc2VzLyR7cGtnfQoJCQkJZm9yIGxpYyBpbiBgbHMgL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2xpY2Vuc2VzLyR7cGtnfWA7IGRv
CgkJCQkJIyBSZWFsbHkgZG9uJ3QgbmVlZCB0byBjb3B5IHRoZSBnZW5lcmljcyBhcyB0aGV5J3Jl
CgkJCQkJIyByZXByZXNlbnRlZCBpbiB0aGUgbWFuaWZlc3QgYW5kIGluIHRoZSBhY3R1YWwgcGtn
IGxpY2Vuc2VzCgkJCQkJIyBEb2luZyBzbyB3b3VsZCBtYWtlIHlvdXIgaW1hZ2UgcXVpdGUgYSBi
aXQgbGFyZ2VyCgkJCQkJaWYgW1sgIiR7bGljfSIgIT0gImdlbmVyaWNfIiogXV07IHRoZW4KCQkJ
CQkJY3AgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2xpY2Vu
c2VzLyR7cGtnfS8ke2xpY30gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
d29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Jvb3Rmcy91c3Ivc2hh
cmUvY29tbW9uLWxpY2Vuc2VzLyR7cGtnfS8ke2xpY30KCQkJCQllbGlmIFtbICIke2xpY30iID09
ICJnZW5lcmljXyIqIF1dOyB0aGVuCgkJCQkJCWlmIFsgISAtZiAvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0x
LjAtcjcvcm9vdGZzL3Vzci9zaGFyZS9jb21tb24tbGljZW5zZXMvJHtsaWN9IF07IHRoZW4KCQkJ
CQkJCWNwIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2RlcGxveS9saWNl
bnNlcy8ke3BrZ30vJHtsaWN9IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9yb290ZnMvdXNyL3No
YXJlL2NvbW1vbi1saWNlbnNlcy8KCQkJCQkJZmkKCQkJCQkJbG4gLXMgLi4vJHtsaWN9IC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21l
dGEtdG9vbGNoYWluLTEuMC1yNy9yb290ZnMvdXNyL3NoYXJlL2NvbW1vbi1saWNlbnNlcy8ke3Br
Z30vJHtsaWN9CgkJCQkJZmkKCQkJCWRvbmUKCQkJZG9uZQoJCWZpCglmaQoKCn0KCm1rbGlic19v
cHRpbWl6ZV9pbWFnZSgpIHsKCWZvciBpbWcgaW4gJHtNS0xJQlNfT1BUSU1JWkVEX0lNQUdFU30K
CWRvCgkJaWYgWyAiJHtpbWd9IiA9ICJtZXRhLXRvb2xjaGFpbiIgXSB8fCBbICIke2ltZ30iID0g
ImFsbCIgXQoJCXRoZW4KCQkJbWtsaWJzX29wdGltaXplX2ltYWdlX2RvaXQKCQkJYnJlYWsKCQlm
aQoJZG9uZQoKfQoKb2VfcnVubWFrZSgpIHsKCWlmIFsgeCIkTUFLRSIgPSB4IF07IHRoZW4gTUFL
RT1tYWtlOyBmaQoJYmJub3RlIG1ha2UgLWUgTUFLRUZMQUdTPSAiJEAiCgltYWtlIC1lIE1BS0VG
TEFHUz0gIiRAIiB8fCBkaWUgIm9lX3J1bm1ha2UgZmFpbGVkIgoKfQoKYmJlcnJvcigpIHsKCWVj
aG8gIkVSUk9SOiAkKiIKCn0KCm1rbGlic19vcHRpbWl6ZV9pbWFnZV9kb2l0KCkgewoJcm0gLXJm
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxp
bnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9ta2xpYnMKCW1rZGlyIC1wIC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNo
YWluLTEuMC1yNy9ta2xpYnMvZGVzdAoJY2QgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Jvb3Rm
cwoJZHUgLWJzID4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9j
b3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L21rbGlicy9kdS5iZWZvcmUubWts
aWJzLnR4dAoJZm9yIGkgaW4gYGZpbmQgLmA7IGRvIGZpbGUgJGk7IGRvbmUgXAoJCXwgZ3JlcCBF
TEYgXAoJCXwgZ3JlcCAiTFNCIGV4ZWN1dGFibGUiIFwKCQl8IGdyZXAgImR5bmFtaWNhbGx5IGxp
bmtlZCIgXAoJCXwgc2VkICJzLzouKi8vIiBcCgkJfCBzZWQgInMrXlwuLysrIiBcCgkJPiAvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9t
ZXRhLXRvb2xjaGFpbi0xLjAtcjcvbWtsaWJzL2V4ZWN1dGFibGVzLmxpc3QKCgljYXNlIGk1ODYg
aW4KCQlwb3dlcnBjIHwgbWlwcyB8IG1pY3JvYmxhemUgKQoJCQlkeW5hbWljX2xvYWRlcj0iL2xp
Yi9sZC5zby4xIgoJCQk7OwoJCXBvd2VycGM2NCkKCQkJZHluYW1pY19sb2FkZXI9Ii9saWIvbGQ2
NC5zby4xIgoJCQk7OwoJCXg4Nl82NCkKCQkJZHluYW1pY19sb2FkZXI9Ii9saWIvbGQtbGludXgt
eDg2LTY0LnNvLjIiCgkJCTs7CgkJaTU4NiApCgkJCWR5bmFtaWNfbG9hZGVyPSIvbGliL2xkLWxp
bnV4LnNvLjIiCgkJCTs7CgkJYXJtICkKCQkJZHluYW1pY19sb2FkZXI9Ii9saWIvbGQtbGludXgu
c28uMyIKCQkJOzsKCQkqICkKCQkJZHluYW1pY19sb2FkZXI9Ii91bmtub3duX2R5bmFtaWNfbGlu
a2VyIgoJCQk7OwoJZXNhYwoKCW1rbGlicyAtdiBcCgkJLS1sZGxpYiAke2R5bmFtaWNfbG9hZGVy
fSBcCgkJLS1zeXNyb290IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5
c3Jvb3RzL2NvbmNvcmRpYSBcCgkJLS1yb290IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9yb290
ZnMgXAoJCS0tdGFyZ2V0IGBlY2hvIGk1ODYtY2NkLWxpbnV4LSB8IHNlZCAncy8tJC8vJyBgIFwK
CQktZCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNj
ZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvbWtsaWJzL2Rlc3QgXAoJCWBjYXQgL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0
YS10b29sY2hhaW4tMS4wLXI3L21rbGlicy9leGVjdXRhYmxlcy5saXN0YAoKCWNkIC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEt
dG9vbGNoYWluLTEuMC1yNy9ta2xpYnMvZGVzdAoJZm9yIGkgaW4gKgoJZG8KCQljcCAkaSBgZmlu
ZCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1s
aW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvcm9vdGZzIC1uYW1lICRpYAoJZG9uZQoKCWNkIC9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4
L21ldGEtdG9vbGNoYWluLTEuMC1yNy9yb290ZnMKCWR1IC1icyA+IC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWlu
LTEuMC1yNy9ta2xpYnMvZHUuYWZ0ZXIubWtsaWJzLnR4dAoKCWVjaG8gcm9vdGZzIHNpemUgYmVm
b3JlIG1rbGlicyBvcHRpbWl6YXRpb246IGBjYXQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L21r
bGlicy9kdS5iZWZvcmUubWtsaWJzLnR4dGAKCWVjaG8gcm9vdGZzIHNpemUgYWZ0ZXIgbWtsaWJz
IG9wdGltaXphdGlvbjogYGNhdCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvbWtsaWJzL2R1LmFm
dGVyLm1rbGlicy50eHRgCgp9CgoKCnB5dGhvbiBjaGVja19jb25mX2V4aXN0cyAoKSB7CmRlZiBj
aGVja19jb25mX2V4aXN0cyhmbiwgZGF0YSk6CiAgICBiYnBhdGggPSBbXQogICAgZm4gPSBkYXRh
LmV4cGFuZChmbikKICAgIHZiYnBhdGggPSBkYXRhLmdldFZhcigiQkJQQVRIIikKICAgIGlmIHZi
YnBhdGg6CiAgICAgICAgYmJwYXRoICs9IHZiYnBhdGguc3BsaXQoIjoiKQogICAgZm9yIHAgaW4g
YmJwYXRoOgogICAgICAgIGN1cnJuYW1lID0gb3MucGF0aC5qb2luKGRhdGEuZXhwYW5kKHApLCBm
bikKICAgICAgICBpZiBvcy5hY2Nlc3MoY3Vycm5hbWUsIG9zLlJfT0spOgogICAgICAgICAgICBy
ZXR1cm4gVHJ1ZQogICAgcmV0dXJuIEZhbHNlCn0KCgpweXRob24gZG9fZGV2c2hlbGwgKCkgewog
ICAgb2VfdGVybWluYWwoZC5nZXRWYXIoJ1NIRUxMJywgVHJ1ZSksICdPcGVuRW1iZWRkZWQgRGV2
ZWxvcGVyIFNoZWxsJywgZCkKfQoKCnB5dGhvbiBzaXRlaW5mb19nZXRfZmlsZXMgKCkgewpkZWYg
c2l0ZWluZm9fZ2V0X2ZpbGVzKGQsIG5vX2NhY2hlID0gRmFsc2UpOgogICAgc2l0ZWRhdGEgPSBz
aXRlaW5mb19kYXRhKGQpCiAgICBzaXRlZmlsZXMgPSAiIgogICAgZm9yIHBhdGggaW4gZC5nZXRW
YXIoIkJCUEFUSCIsIFRydWUpLnNwbGl0KCI6Iik6CiAgICAgICAgZm9yIGVsZW1lbnQgaW4gc2l0
ZWRhdGE6CiAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKHBhdGgsICJzaXRlIiwg
ZWxlbWVudCkKICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZmlsZW5hbWUpOgogICAgICAg
ICAgICAgICAgc2l0ZWZpbGVzICs9IGZpbGVuYW1lICsgIiAiCgogICAgaWYgbm9fY2FjaGU6IHJl
dHVybiBzaXRlZmlsZXMKCiAgICAjIE5vdyBjaGVjayBmb3Igc2l0ZWNvbmZpZyBjYWNoZSBmaWxl
cwogICAgcGF0aF9zaXRlY29uZmlnID0gZC5nZXRWYXIoJ1NJVEVDT05GSUdfU1lTUk9PVENBQ0hF
JywgVHJ1ZSkKICAgIGlmIG9zLnBhdGguaXNkaXIocGF0aF9zaXRlY29uZmlnKToKICAgICAgICBm
b3IgaSBpbiBvcy5saXN0ZGlyKHBhdGhfc2l0ZWNvbmZpZyk6CiAgICAgICAgICAgIGZpbGVuYW1l
ID0gb3MucGF0aC5qb2luKHBhdGhfc2l0ZWNvbmZpZywgaSkKICAgICAgICAgICAgc2l0ZWZpbGVz
ICs9IGZpbGVuYW1lICsgIiAiCgogICAgcmV0dXJuIHNpdGVmaWxlcwp9CgoKcHl0aG9uIG9lX2lt
cG9ydF9laCAoKSB7CiAgICBpZiBpc2luc3RhbmNlKGUsIGJiLmV2ZW50LkNvbmZpZ1BhcnNlZCk6
CglvZV9pbXBvcnQoZS5kYXRhKQp9CgoKcHl0aG9uIGRvX3BhY2thZ2Vfd3JpdGVfaXBrICgpIHsK
CWJiLmJ1aWxkLmV4ZWNfZnVuYygicmVhZF9zdWJwYWNrYWdlX21ldGFkYXRhIiwgZCkKCWJiLmJ1
aWxkLmV4ZWNfZnVuYygiZG9fcGFja2FnZV9pcGsiLCBkKQp9CgoKcHl0aG9uIGdlbl9wYWNrYWdl
dmFyICgpIHsKZGVmIGdlbl9wYWNrYWdldmFyKGQpOgogICAgcmV0ID0gW10KICAgIHBrZ3MgPSAo
ZC5nZXRWYXIoIlBBQ0tBR0VTIiwgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKICAgIHZhcnMgPSAoZC5n
ZXRWYXIoIlBBQ0tBR0VWQVJTIiwgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKICAgIGZvciBwIGluIHBr
Z3M6CiAgICAgICAgZm9yIHYgaW4gdmFyczoKICAgICAgICAgICAgcmV0LmFwcGVuZCh2ICsgIl8i
ICsgcCkKICAgIHJldHVybiAiICIuam9pbihyZXQpCn0KCgpweXRob24gY2hlY2tfY29ubmVjdGl2
aXR5ICgpIHsKZGVmIGNoZWNrX2Nvbm5lY3Rpdml0eShkKToKICAgICMgVVJJJ3MgdG8gY2hlY2sg
Y2FuIGJlIHNldCBpbiB0aGUgQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMgdmFyaWFibGUKICAgICMg
dXNpbmcgdGhlIHNhbWUgc3ludGF4IGFzIGZvciBTUkNfVVJJLiBJZiB0aGUgdmFyaWFibGUgaXMg
bm90IHNldAogICAgIyB0aGUgY2hlY2sgaXMgc2tpcHBlZAogICAgdGVzdF91cmlzID0gKGQuZ2V0
VmFyKCdDT05ORUNUSVZJVFlfQ0hFQ0tfVVJJUycsIFRydWUpIG9yICIiKS5zcGxpdCgpCiAgICBy
ZXR2YWwgPSAiIgoKICAgICMgT25seSBjaGVjayBjb25uZWN0aXZpdHkgaWYgbmV0d29yayBlbmFi
bGVkIGFuZCB0aGUKICAgICMgQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMgYXJlIHNldAogICAgbmV0
d29ya19lbmFibGVkID0gbm90IGQuZ2V0VmFyKCdCQl9OT19ORVRXT1JLJywgVHJ1ZSkKICAgIGNo
ZWNrX2VuYWJsZWQgPSBsZW4odGVzdF91cmlzKQogICAgIyBUYWtlIGEgY29weSBvZiB0aGUgZGF0
YSBzdG9yZSBhbmQgdW5zZXQgTUlSUk9SUyBhbmQgUFJFTUlSUk9TCiAgICBkYXRhID0gYmIuZGF0
YS5jcmVhdGVDb3B5KGQpCiAgICBkYXRhLmRlbFZhcignUFJFTUlSUk9SUycpCiAgICBkYXRhLmRl
bFZhcignTUlSUk9SUycpCiAgICBpZiBjaGVja19lbmFibGVkIGFuZCBuZXR3b3JrX2VuYWJsZWQ6
CiAgICAgICAgdHJ5OgogICAgICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKHRlc3Rf
dXJpcywgZGF0YSkKICAgICAgICAgICAgZmV0Y2hlci5jaGVja3N0YXR1cygpCiAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgIyBBbGxvdyB0aGUgbWVzc2FnZSB0byBiZSBjb25m
aWd1cmVkIHNvIHRoYXQgdXNlcnMgY2FuIGJlCiAgICAgICAgICAgICMgcG9pbnRlZCB0byBhIHN1
cHBvcnQgbWVjaGFuaXNtLgogICAgICAgICAgICBtc2cgPSBkYXRhLmdldFZhcignQ09OTkVDVElW
SVRZX0NIRUNLX01TRycsIFRydWUpIG9yICIiCiAgICAgICAgICAgIGlmIGxlbihtc2cpID09IDA6
CiAgICAgICAgICAgICAgICBtc2cgPSAiRmFpbGVkIHRvIGZldGNoIHRlc3QgZGF0YSBmcm9tIHRo
ZSBuZXR3b3JrLiBQbGVhc2UgZW5zdXJlIHlvdXIgbmV0d29yayBpcyBjb25maWd1cmVkIGNvcnJl
Y3RseS5cbiIKICAgICAgICAgICAgcmV0dmFsID0gbXNnCgogICAgcmV0dXJuIHJldHZhbAp9CgoK
cHl0aG9uIGRvX2NsZWFuc3N0YXRlICgpIHsKICAgICAgICBzc3RhdGVfY2xlYW5fY2FjaGVmaWxl
cyhkKQp9CgoKcHl0aG9uIGdldF9saWJjX2xvY2FsZXNfZGVwZW5kZW5jaWVzICgpIHsKZGVmIGdl
dF9saWJjX2xvY2FsZXNfZGVwZW5kZW5jaWVzKGQpOgogICAgaWYgJ2xpYmMtbG9jYWxlcycgaW4g
KGQuZ2V0VmFyKCdESVNUUk9fRkVBVFVSRVMnLCBUcnVlKSBvciAnJykuc3BsaXQoKSA6CiAgICAg
ICAgcmV0dXJuIGQuZ2V0VmFyKCdMSUJDX0xPQ0FMRV9ERVBFTkRFTkNJRVMnLCBUcnVlKSBvciAn
JwogICAgZWxzZToKICAgICAgICByZXR1cm4gJyd9CgoKcHl0aG9uIHNwbGl0ZmlsZTIgKCkgewpk
ZWYgc3BsaXRmaWxlMihkZWJ1Z3NyY2RpciwgZCk6CiAgICAjIEZ1bmN0aW9uIHRvIHNwbGl0IGEg
c2luZ2xlIGZpbGUsIGNhbGxlZCBmcm9tIHNwbGl0X2FuZF9zdHJpcF9maWxlcyBiZWxvdwogICAg
IwogICAgIyBUaGUgZGVidWcgc3JjIGluZm9ybWF0aW9uIHByb2Nlc3NlZCBpbiB0aGUgc3BsaXRm
aWxlMiBpcyBmdXJ0aGVyIHByb2NlY2Vzc2VkCiAgICAjIGFuZCBjb3BpZWQgdG8gdGhlIGRlc3Rp
bmF0aW9uIGhlcmUuCgogICAgaW1wb3J0IGNvbW1hbmRzLCBzdGF0CgogICAgc291cmNlZmlsZSA9
IGQuZXhwYW5kKCIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2Nv
cmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvZGVidWdzb3VyY2VzLmxpc3QiKQog
ICAgaWYgZGVidWdzcmNkaXIgYW5kIG9zLnBhdGguaXNmaWxlKHNvdXJjZWZpbGUpOgogICAgICAg
ZHZhciA9IGQuZ2V0VmFyKCdQS0dEJywgVHJ1ZSkKICAgICAgIHBhdGhwcmVmaXggPSAiZXhwb3J0
IFBBVEg9JXM7ICIgJSBkLmdldFZhcignUEFUSCcsIFRydWUpCiAgICAgICBzdHJpcCA9IGQuZ2V0
VmFyKCJTVFJJUCIsIFRydWUpCiAgICAgICBvYmpjb3B5ID0gZC5nZXRWYXIoIk9CSkNPUFkiLCBU
cnVlKQogICAgICAgZGVidWdlZGl0ID0gZC5leHBhbmQoIi9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3JwbS9iaW4vZGVi
dWdlZGl0IikKICAgICAgIHdvcmtkaXIgPSBkLmdldFZhcigiV09SS0RJUiIsIFRydWUpCiAgICAg
ICB3b3JrcGFyZW50ZGlyID0gb3MucGF0aC5kaXJuYW1lKHdvcmtkaXIpCiAgICAgICB3b3JrYmFz
ZWRpciA9IG9zLnBhdGguYmFzZW5hbWUod29ya2RpcikKCiAgICAgICBub3N1Y2hkaXIgPSBbXQog
ICAgICAgYmFzZXBhdGggPSBkdmFyCiAgICAgICBmb3IgcCBpbiBkZWJ1Z3NyY2Rpci5zcGxpdCgi
LyIpOgogICAgICAgICAgIGJhc2VwYXRoID0gYmFzZXBhdGggKyAiLyIgKyBwCiAgICAgICAgICAg
aWYgbm90IG9zLnBhdGguZXhpc3RzKGJhc2VwYXRoKToKICAgICAgICAgICAgICAgbm9zdWNoZGly
LmFwcGVuZChiYXNlcGF0aCkKICAgICAgIGJiLm1rZGlyaGllcihiYXNlcGF0aCkKCiAgICAgICBw
cm9jZXNzZGVidWdzcmMgPSAgIkxDX0FMTD1DIDsgc29ydCAteiAtdSAnJXMnIHwgZWdyZXAgLXYg
LXogJyg8aW50ZXJuYWw+fDxidWlsdC1pbj4pJCcgfCAiCiAgICAgICAjIFdlIG5lZWQgdG8gaWdu
b3JlIGZpbGVzIHRoYXQgYXJlIG5vdCBhY3R1YWxseSBvdXJzCiAgICAgICAjIHdlIGRvIHRoaXMg
Ynkgb25seSBwYXlpbmcgYXR0ZW50aW9uIHRvIGl0ZW1zIGZyb20gdGhpcyBwYWNrYWdlCiAgICAg
ICBwcm9jZXNzZGVidWdzcmMgKz0gImZncmVwIC16ICclcycgfCAiCiAgICAgICBwcm9jZXNzZGVi
dWdzcmMgKz0gIihjZCAnJXMnIDsgY3BpbyAtcGQwbUwgLS1uby1wcmVzZXJ2ZS1vd25lciAnJXMl
cycgMj4vZGV2L251bGwpIgoKICAgICAgIG9zLnN5c3RlbShwcm9jZXNzZGVidWdzcmMgJSAoc291
cmNlZmlsZSwgd29ya2Jhc2VkaXIsIHdvcmtwYXJlbnRkaXIsIGR2YXIsIGRlYnVnc3JjZGlyKSkK
CiAgICAgICAjIFRoZSBjb3B5IGJ5IGNwaW8gbWF5IGhhdmUgcmVzdWx0ZWQgaW4gc29tZSBlbXB0
eSBkaXJlY3RvcmllcyEgIFJlbW92ZSB0aGVzZQogICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVz
IGluIG9zLndhbGsoIiVzJXMiICUgKGR2YXIsIGRlYnVnc3JjZGlyKSk6CiAgICAgICAgICBmb3Ig
ZCBpbiBkaXJzOgogICAgICAgICAgICAgIGRpciA9IG9zLnBhdGguam9pbihyb290LCBkKQogICAg
ICAgICAgICAgICNiYi5ub3RlKCJybWRpciAtcCAlcyIgJSBkaXIpCiAgICAgICAgICAgICAgb3Mu
c3lzdGVtKCJybWRpciAtcCAlcyAyPi9kZXYvbnVsbCIgJSBkaXIpCgogICAgICAgIyBBbHNvIHJl
bW92ZSBkZWJ1Z3NyY2RpciBpZiBpdHMgZW1wdHkKICAgICAgIGZvciBwIGluIG5vc3VjaGRpcls6
Oi0xXToKICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwKSBhbmQgbm90IG9zLmxpc3RkaXIo
cCk6CiAgICAgICAgICAgICAgIG9zLnJtZGlyKHApCn0KCgpweXRob24gYmFzZV92ZXJzaW9uX2xl
c3Nfb3JfZXF1YWwgKCkgewpkZWYgYmFzZV92ZXJzaW9uX2xlc3Nfb3JfZXF1YWwodmFyaWFibGUs
IGNoZWNrdmFsdWUsIHRydWV2YWx1ZSwgZmFsc2V2YWx1ZSwgZCk6CiAgICByZXR1cm4gb2UudXRp
bHMudmVyc2lvbl9sZXNzX29yX2VxdWFsKHZhcmlhYmxlLCBjaGVja3ZhbHVlLCB0cnVldmFsdWUs
IGZhbHNldmFsdWUsIGQpCn0KCgpweXRob24gYmFzZV9kb19wYXRjaCAoKSB7CgliYi5idWlsZC5l
eGVjX2Z1bmMoJ3BhdGNoX2RvX3BhdGNoJywgZCkKfQoKCnB5dGhvbiBydW50aW1lX21hcHBpbmdf
cmVuYW1lICgpIHsKZGVmIHJ1bnRpbWVfbWFwcGluZ19yZW5hbWUgKHZhcm5hbWUsIGQpOgoJI2Ji
Lm5vdGUoIiVzIGJlZm9yZTogJXMiICUgKHZhcm5hbWUsIGQuZ2V0VmFyKHZhcm5hbWUsIFRydWUp
KSkKCgluZXdfZGVwZW5kcyA9IFtdCglkZXBzID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lv
bnMoZC5nZXRWYXIodmFybmFtZSwgVHJ1ZSkgb3IgIiIpCglmb3IgZGVwZW5kIGluIGRlcHM6CgkJ
IyBIYXZlIHRvIGJlIGNhcmVmdWwgd2l0aCBhbnkgdmVyc2lvbiBjb21wb25lbnQgb2YgdGhlIGRl
cGVuZAoJCW5ld19kZXBlbmQgPSBnZXRfcGFja2FnZV9tYXBwaW5nKGRlcGVuZCwgZCkKCQlpZiBk
ZXBzW2RlcGVuZF06CgkJCW5ld19kZXBlbmRzLmFwcGVuZCgiJXMgKCVzKSIgJSAobmV3X2RlcGVu
ZCwgZGVwc1tkZXBlbmRdKSkKCQllbHNlOgoJCQluZXdfZGVwZW5kcy5hcHBlbmQobmV3X2RlcGVu
ZCkKCglkLnNldFZhcih2YXJuYW1lLCAiICIuam9pbihuZXdfZGVwZW5kcykgb3IgTm9uZSkKCgkj
YmIubm90ZSgiJXMgYWZ0ZXI6ICVzIiAlICh2YXJuYW1lLCBkLmdldFZhcih2YXJuYW1lLCBUcnVl
KSkpCn0KCgpweXRob24gc3BsaXRfYW5kX3N0cmlwX2ZpbGVzICgpIHsKCWltcG9ydCBjb21tYW5k
cywgc3RhdCwgZXJybm8KCglkdmFyID0gZC5nZXRWYXIoJ1BLR0QnLCBUcnVlKQoJcG4gPSBkLmdl
dFZhcignUE4nLCBUcnVlKQoKCSMgV2UgZGVmYXVsdCB0byAnLmRlYnVnJyBzdHlsZQoJaWYgZC5n
ZXRWYXIoJ1BBQ0tBR0VfREVCVUdfU1BMSVRfU1RZTEUnLCBUcnVlKSA9PSAnZGVidWctZmlsZS1k
aXJlY3RvcnknOgoJCSMgU2luZ2xlIGRlYnVnLWZpbGUtZGlyZWN0b3J5IHN0eWxlIGRlYnVnIGlu
Zm8KCQlkZWJ1Z2FwcGVuZCA9ICIuZGVidWciCgkJZGVidWdkaXIgPSAiIgoJCWRlYnVnbGliZGly
ID0gIi91c3IvbGliL2RlYnVnIgoJCWRlYnVnc3JjZGlyID0gIi91c3Ivc3JjL2RlYnVnIgoJZWxz
ZToKCQkjIE9yaWdpbmFsIE9FLWNvcmUsIGEuay5hLiAiLmRlYnVnIiwgc3R5bGUgZGVidWcgaW5m
bwoJCWRlYnVnYXBwZW5kID0gIiIKCQlkZWJ1Z2RpciA9ICIvLmRlYnVnIgoJCWRlYnVnbGliZGly
ID0gIiIKCQlkZWJ1Z3NyY2RpciA9ICIvdXNyL3NyYy9kZWJ1ZyIKCglvcy5jaGRpcihkdmFyKQoK
CSMgUmV0dXJuIHR5cGUgKGJpdHMpOgoJIyAwIC0gbm90IGVsZgoJIyAxIC0gRUxGCgkjIDIgLSBz
dHJpcHBlZAoJIyA0IC0gZXhlY3V0YWJsZQoJIyA4IC0gc2hhcmVkIGxpYnJhcnkKCWRlZiBpc0VM
RihwYXRoKToKCQl0eXBlID0gMAoJCXBhdGhwcmVmaXggPSAiZXhwb3J0IFBBVEg9JXM7ICIgJSBk
LmdldFZhcignUEFUSCcsIFRydWUpCgkJcmV0LCByZXN1bHQgPSBjb21tYW5kcy5nZXRzdGF0dXNv
dXRwdXQoIiVzZmlsZSAnJXMnIiAlIChwYXRocHJlZml4LCBwYXRoKSkKCgkJaWYgcmV0OgoJCQli
Yi5lcnJvcigic3BsaXRfYW5kX3N0cmlwX2ZpbGVzOiAnZmlsZSAlcycgZmFpbGVkIiAlIHBhdGgp
CgkJCXJldHVybiB0eXBlCgoJCSMgTm90IHN0cmlwcGVkCgkJaWYgIkVMRiIgaW4gcmVzdWx0OgoJ
CQl0eXBlIHw9IDEKCQkJaWYgIm5vdCBzdHJpcHBlZCIgbm90IGluIHJlc3VsdDoKCQkJCXR5cGUg
fD0gMgoJCQlpZiAiZXhlY3V0YWJsZSIgaW4gcmVzdWx0OgoJCQkJdHlwZSB8PSA0CgkJCWlmICJz
aGFyZWQiIGluIHJlc3VsdDoKCQkJCXR5cGUgfD0gOAoJCXJldHVybiB0eXBlCgoKCSMKCSMgRmly
c3QgbGV0cyBmaWd1cmUgb3V0IGFsbCBvZiB0aGUgZmlsZXMgd2UgbWF5IGhhdmUgdG8gcHJvY2Vz
cyAuLi4gZG8gdGhpcyBvbmx5IG9uY2UhCgkjCglmaWxlX2xpc3QgPSB7fQoJZmlsZV9saW5rcyA9
IHt9CglpZiAoZC5nZXRWYXIoJ0lOSElCSVRfUEFDS0FHRV9ERUJVR19TUExJVCcsIFRydWUpICE9
ICcxJykgYW5kIFwKCSAgIChkLmdldFZhcignSU5ISUJJVF9QQUNLQUdFX1NUUklQJywgVHJ1ZSkg
IT0gJzEnKToKCQlmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhkdmFyKToKCQkJZm9y
IGYgaW4gZmlsZXM6CgkJCQlmaWxlID0gb3MucGF0aC5qb2luKHJvb3QsIGYpCgkJCQkjIE9ubHkg
cHJvY2VzcyBmaWxlcyAoYW5kIHN5bWxpbmtzKS4uLiBTa2lwIGZpbGVzIHRoYXQgYXJlIG9idmlv
dXNseSBkZWJ1ZyBmaWxlcwoJCQkJaWYgbm90IChkZWJ1Z2FwcGVuZCAhPSAiIiBhbmQgZmlsZS5l
bmRzd2l0aChkZWJ1Z2FwcGVuZCkpIGFuZCBcCgkJCQkgICBub3QgKGRlYnVnZGlyICE9ICIiIGFu
ZCBkZWJ1Z2RpciBpbiBvcy5wYXRoLmRpcm5hbWUoZmlsZVtsZW4oZHZhcik6XSkpIGFuZCBcCgkJ
CQkgICBvcy5wYXRoLmlzZmlsZShmaWxlKToKCQkJCQl0cnk6CgkJCQkJCXMgPSBvcy5zdGF0KGZp
bGUpCgkJCQkJZXhjZXB0IE9TRXJyb3IsIChlcnIsIHN0cmVycm9yKToKCQkJCQkJaWYgZXJyICE9
IGVycm5vLkVOT0VOVDoKCQkJCQkJCXJhaXNlCgkJCQkJCSMgU2tpcCBicm9rZW4gc3ltbGlua3MK
CQkJCQkJY29udGludWUKCQkJCQkjIElzIHRoZSBpdGVtIGV4Y3V0YWJsZT8gIFRoZW4gd2UgbmVl
ZCB0byBwcm9jZXNzIGl0LgoJCQkJCWlmIChzW3N0YXQuU1RfTU9ERV0gJiBzdGF0LlNfSVhVU1Ip
IG9yIFwKCQkJCQkgICAoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lYR1JQKSBvciBcCgkJCQkJ
ICAgKHNbc3RhdC5TVF9NT0RFXSAmIHN0YXQuU19JWE9USCk6CgkJCQkJCSMgSWYgaXQncyBhIHN5
bWxpbmssIGFuZCBwb2ludHMgdG8gYW4gRUxGIGZpbGUsIHdlIGNhcHR1cmUgdGhlIHJlYWRsaW5r
IHRhcmdldAoJCQkJCQlpZiBvcy5wYXRoLmlzbGluayhmaWxlKToKCQkJCQkJCXRhcmdldCA9IG9z
LnJlYWRsaW5rKGZpbGUpCgkJCQkJCQlpZiBub3Qgb3MucGF0aC5pc2Ficyh0YXJnZXQpOgoJCQkJ
CQkJCWx0YXJnZXQgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGZpbGUpLCB0YXJnZXQp
CgkJCQkJCQllbHNlOgoJCQkJCQkJCWx0YXJnZXQgPSB0YXJnZXQKCgkJCQkJCQlpZiBpc0VMRihs
dGFyZ2V0KToKCQkJCQkJCQkjYmIubm90ZSgiU3ltOiAlcyAoJWQpIiAlIChsdGFyZ2V0LCBpc0VM
RihsdGFyZ2V0KSkpCgkJCQkJCQkJZmlsZV9saXN0W2ZpbGVdID0gInN5bTogIiArIHRhcmdldAoJ
CQkJCQkJY29udGludWUKCQkJCQkJIyBJdCdzIGEgZmlsZSAob3IgaGFyZGxpbmspLCBub3QgYSBs
aW5rCgkJCQkJCSMgLi4uYnV0IGlzIGl0IEVMRiwgYW5kIGlzIGl0IGFscmVhZHkgc3RyaXBwZWQ/
CgkJCQkJCWVsZl9maWxlID0gaXNFTEYoZmlsZSkKCQkJCQkJaWYgZWxmX2ZpbGUgJiAxOgoJCQkJ
CQkJIyBDaGVjayBpZiBpdCdzIGEgaGFyZCBsaW5rIHRvIHNvbWV0aGluZyBlbHNlCgkJCQkJCQlp
ZiBzLnN0X25saW5rID4gMToKCQkJCQkJCQlmaWxlX3JlZmVyZW5jZSA9ICIlZF8lZCIgJSAocy5z
dF9kZXYsIHMuc3RfaW5vKQoJCQkJCQkJCSMgSGFyZCBsaW5rIHRvIHNvbWV0aGluZyBlbHNlCgkJ
CQkJCQkJZmlsZV9saXN0W2ZpbGVdID0gImhhcmQ6ICIgKyBmaWxlX3JlZmVyZW5jZQoJCQkJCQkJ
CWNvbnRpbnVlCgoJCQkJCQkJZmlsZV9saXN0W2ZpbGVdID0gIkVMRjogJWQiICUgZWxmX2ZpbGUK
CgoJIwoJIyBGaXJzdCBsZXRzIHByb2Nlc3MgZGVidWcgc3BsaXR0aW5nCgkjCglpZiAoZC5nZXRW
YXIoJ0lOSElCSVRfUEFDS0FHRV9ERUJVR19TUExJVCcsIFRydWUpICE9ICcxJyk6CgkJZm9yIGZp
bGUgaW4gZmlsZV9saXN0OgoJCQlzcmMgPSBmaWxlW2xlbihkdmFyKTpdCgkJCWRlc3QgPSBkZWJ1
Z2xpYmRpciArIG9zLnBhdGguZGlybmFtZShzcmMpICsgZGVidWdkaXIgKyAiLyIgKyBvcy5wYXRo
LmJhc2VuYW1lKHNyYykgKyBkZWJ1Z2FwcGVuZAoJCQlmcGF0aCA9IGR2YXIgKyBkZXN0CgkJCSMg
UHJlc2VydmUgc3ltbGlua3MgaW4gZGVidWcgYXJlYS4uLgoJCQlpZiBmaWxlX2xpc3RbZmlsZV0u
c3RhcnRzd2l0aCgic3ltOiAiKToKCQkJCWx0YXJnZXQgPSBmaWxlX2xpc3RbZmlsZV1bNTpdCgkJ
CQlscGF0aCA9IG9zLnBhdGguZGlybmFtZShsdGFyZ2V0KQoJCQkJbGJhc2UgPSBvcy5wYXRoLmJh
c2VuYW1lKGx0YXJnZXQpCgkJCQlmdGFyZ2V0ID0gIiIKCQkJCWlmIGxwYXRoIGFuZCBscGF0aCAh
PSAiLiI6CgkJCQkJZnRhcmdldCArPSBscGF0aCArIGRlYnVnZGlyICsgIi8iCgkJCQlmdGFyZ2V0
ICs9IGxiYXNlICsgZGVidWdhcHBlbmQKCQkJCWlmIGxwYXRoLnN0YXJ0c3dpdGgoIi4uIik6CgkJ
CQkJZnRhcmdldCA9IG9zLnBhdGguam9pbigiLi4iLCBmdGFyZ2V0KQoJCQkJYmIubWtkaXJoaWVy
KG9zLnBhdGguZGlybmFtZShmcGF0aCkpCgkJCQkjYmIubm90ZSgiU3ltbGluayAlcyAtPiAlcyIg
JSAoZnBhdGgsIGZ0YXJnZXQpKQoJCQkJb3Muc3ltbGluayhmdGFyZ2V0LCBmcGF0aCkKCQkJCWNv
bnRpbnVlCgoJCQkjIFByZXNlcnZlIGhhcmQgbGlua3MgaW4gZGVidWcgYXJlYS4uLgoJCQlmaWxl
X3JlZmVyZW5jZSA9ICIiCgkJCWlmIGZpbGVfbGlzdFtmaWxlXS5zdGFydHN3aXRoKCJoYXJkOiAi
KToKCQkJCWZpbGVfcmVmZXJlbmNlID0gZmlsZV9saXN0W2ZpbGVdWzY6XQoJCQkJaWYgZmlsZV9y
ZWZlcmVuY2Ugbm90IGluIGZpbGVfbGlua3M6CgkJCQkJIyBJZiB0aGlzIGlzIGEgbmV3IGZpbGUs
IGFkZCBpdCBhcyBhIHJlZmVyZW5jZSwgYW5kCgkJCQkJIyB1cGRhdGUgaXQncyB0eXBlLCBzbyB3
ZSBjYW4gZmFsbCB0aHJvdWdoIGFuZCBzcGxpdAoJCQkJCWZpbGVfbGlzdFtmaWxlXSA9ICJFTEY6
ICVkIiAlIChpc0VMRihmaWxlKSkKCQkJCWVsc2U6CgkJCQkJdGFyZ2V0ID0gZmlsZV9saW5rc1tm
aWxlX3JlZmVyZW5jZV1bbGVuKGR2YXIpOl0KCQkJCQlmdGFyZ2V0ID0gZHZhciArIGRlYnVnbGli
ZGlyICsgb3MucGF0aC5kaXJuYW1lKHRhcmdldCkgKyBkZWJ1Z2RpciArICIvIiArIG9zLnBhdGgu
YmFzZW5hbWUodGFyZ2V0KSArIGRlYnVnYXBwZW5kCgkJCQkJYmIubWtkaXJoaWVyKG9zLnBhdGgu
ZGlybmFtZShmcGF0aCkpCgkJCQkJI2JiLm5vdGUoIkxpbmsgJXMgLT4gJXMiICUgKGZwYXRoLCBm
dGFyZ2V0KSkKCQkJCQlvcy5saW5rKGZ0YXJnZXQsIGZwYXRoKQoJCQkJCWNvbnRpbnVlCgoJCQkj
IEl0J3MgRUxGLi4uCgkJCWlmIGZpbGVfbGlzdFtmaWxlXS5zdGFydHN3aXRoKCJFTEY6ICIpOgoJ
CQkJZWxmX2ZpbGUgPSBpbnQoZmlsZV9saXN0W2ZpbGVdWzU6XSkKCQkJCWlmIGVsZl9maWxlICYg
MjoKCQkJCQliYi53YXJuKCJGaWxlICclcycgZnJvbSAlcyB3YXMgYWxyZWFkeSBzdHJpcHBlZCwg
dGhpcyB3aWxsIHByZXZlbnQgZnV0dXJlIGRlYnVnZ2luZyEiICUgKHNyYywgcG4pKQoJCQkJCWNv
bnRpbnVlCgoJCQkJIyBTcGxpdCB0aGUgZmlsZS4uLgoJCQkJYmIubWtkaXJoaWVyKG9zLnBhdGgu
ZGlybmFtZShmcGF0aCkpCgkJCQkjYmIubm90ZSgiU3BsaXQgJXMgLT4gJXMiICUgKGZpbGUsIGZw
YXRoKSkKCQkJCSMgT25seSBzdG9yZSBvZmYgdGhlIGhhcmQgbGluayByZWZlcmVuY2UgaWYgd2Ug
c3VjY2Vzc2Z1bGx5IHNwbGl0IQoJCQkJaWYgc3BsaXRmaWxlKGZpbGUsIGZwYXRoLCBkZWJ1Z3Ny
Y2RpciwgZCkgPT0gMCBhbmQgZmlsZV9yZWZlcmVuY2UgIT0gIiI6CgkJCQkJZmlsZV9saW5rc1tm
aWxlX3JlZmVyZW5jZV0gPSBmaWxlCgoJCSMgVGhlIGFib3ZlIG1heSBoYXZlIGdlbmVyYXRlZCBk
YW5nbGluZyBzeW1saW5rcywgcmVtb3ZlIHRoZW0hCgkJIyBEYW5nbGluZyBzeW1saW5rcyBhcmUg
YSByZXN1bHQgb2Ygc29tZXRoaW5nIE5PVCBiZWluZyBzcGxpdCwgc3VjaCBhcyBhIHN0cmlwcGVk
IGJpbmFyeS4KCQkjIFRoaXMgc2hvdWxkIGJlIGEgcmFyZSBvY2N1cmFuY2UsIGJ1dCB3ZSB3YW50
IHRvIGNsZWFuIHVwIGFueXdheS4KCQlmb3IgZmlsZSBpbiBmaWxlX2xpc3Q6CgkJCWlmIGZpbGVf
bGlzdFtmaWxlXS5zdGFydHN3aXRoKCJzeW06ICIpOgoJCQkJc3JjID0gZmlsZVtsZW4oZHZhcik6
XQoJCQkJZGVzdCA9IGRlYnVnbGliZGlyICsgb3MucGF0aC5kaXJuYW1lKHNyYykgKyBkZWJ1Z2Rp
ciArICIvIiArIG9zLnBhdGguYmFzZW5hbWUoc3JjKSArIGRlYnVnYXBwZW5kCgkJCQlmcGF0aCA9
IGR2YXIgKyBkZXN0CgkJCQl0cnk6CgkJCQkJcyA9IG9zLnN0YXQoZnBhdGgpCgkJCQlleGNlcHQg
T1NFcnJvciwgKGVyciwgc3RyZXJyb3IpOgoJCQkJCWlmIGVyciAhPSBlcnJuby5FTk9FTlQ6CgkJ
CQkJCXJhaXNlCgkJCQkJI2JiLm5vdGUoIlJlbW92ZSBkYW5nbGluZyBsaW5rICVzIC0+ICVzIiAl
IChmcGF0aCwgb3MucmVhZGxpbmsoZnBhdGgpKSkKCQkJCQlvcy51bmxpbmsoZnBhdGgpCgkJCQkJ
IyBUaGlzIGNvdWxkIGxlYXZlIGFuIGVtcHR5IGRlYnVnIGRpcmVjdG9yeSBsYXlpbmcgYXJvdW5k
CgkJCQkJIyB0YWtlIGNhcmUgb2YgdGhlIG9idmlvdXMgY2FzZS4uLgoJCQkJCW9zLnN5c3RlbSgi
cm1kaXIgJXMgMj4vZGV2L251bGwiICUgb3MucGF0aC5kaXJuYW1lKGZwYXRoKSkKCgkJIyBQcm9j
ZXNzIHRoZSBkZWJ1Z3NyY2RpciBpZiByZXF1ZXN0ZWQuLi4KCQkjIFRoaXMgY29waWVzIGFuZCBw
bGFjZXMgdGhlIHJlZmVyZW5jZWQgc291cmNlcyBmb3IgbGF0ZXIgZGVidWdnaW5nLi4uCgkJc3Bs
aXRmaWxlMihkZWJ1Z3NyY2RpciwgZCkKCSMKCSMgRW5kIG9mIGRlYnVnIHNwbGl0dGluZwoJIwoK
CSMKCSMgTm93IGxldHMgZ28gYmFjayBvdmVyIHRoaW5ncyBhbmQgc3RyaXAgdGhlbQoJIwoJaWYg
KGQuZ2V0VmFyKCdJTkhJQklUX1BBQ0tBR0VfU1RSSVAnLCBUcnVlKSAhPSAnMScpOgoJCWZvciBm
aWxlIGluIGZpbGVfbGlzdDoKCQkJaWYgZmlsZV9saXN0W2ZpbGVdLnN0YXJ0c3dpdGgoIkVMRjog
Iik6CgkJCQllbGZfZmlsZSA9IGludChmaWxlX2xpc3RbZmlsZV1bNTpdKQoJCQkJI2JiLm5vdGUo
IlN0cmlwICVzIiAlIGZpbGUpCgkJCQlydW5zdHJpcChmaWxlLCBlbGZfZmlsZSwgZCkKCgoJaWYg
KGQuZ2V0VmFyKCdJTkhJQklUX1BBQ0tBR0VfU1RSSVAnLCBUcnVlKSAhPSAnMScpOgoJCWZvciBy
b290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGR2YXIpOgoJCQlmb3IgZiBpbiBmaWxlczoKCQkJ
CWlmIG5vdCBmLmVuZHN3aXRoKCIua28iKToKCQkJCQljb250aW51ZQoJCQkJcnVuc3RyaXAob3Mu
cGF0aC5qb2luKHJvb3QsIGYpLCBOb25lLCBkKQoJIwoJIyBFbmQgb2Ygc3RyaXAKCSMKfQoKCnB5
dGhvbiBwYXRjaF9kb19wYXRjaCAoKSB7CglpbXBvcnQgb2UucGF0Y2gKCglwYXRjaHNldG1hcCA9
IHsKCQkicGF0Y2giOiBvZS5wYXRjaC5QYXRjaFRyZWUsCgkJInF1aWx0Ijogb2UucGF0Y2guUXVp
bHRUcmVlLAoJCSJnaXQiOiBvZS5wYXRjaC5HaXRBcHBseVRyZWUsCgl9CgoJY2xzID0gcGF0Y2hz
ZXRtYXBbZC5nZXRWYXIoJ1BBVENIVE9PTCcsIFRydWUpIG9yICdxdWlsdCddCgoJcmVzb2x2ZXJt
YXAgPSB7CgkJIm5vb3AiOiBvZS5wYXRjaC5OT09QUmVzb2x2ZXIsCgkJInVzZXIiOiBvZS5wYXRj
aC5Vc2VyUmVzb2x2ZXIsCgl9CgoJcmNscyA9IHJlc29sdmVybWFwW2QuZ2V0VmFyKCdQQVRDSFJF
U09MVkUnLCBUcnVlKSBvciAndXNlciddCgoJY2xhc3NlcyA9IHt9CgoJcyA9IGQuZ2V0VmFyKCdT
JywgVHJ1ZSkKCglwYXRoID0gb3MuZ2V0ZW52KCdQQVRIJykKCW9zLnB1dGVudignUEFUSCcsIGQu
Z2V0VmFyKCdQQVRIJywgVHJ1ZSkpCgoJZm9yIHBhdGNoIGluIHNyY19wYXRjaGVzKGQpOgoJCV8s
IF8sIGxvY2FsLCBfLCBfLCBwYXJtID0gYmIuZGVjb2RldXJsKHBhdGNoKQoKCQlpZiAicGF0Y2hk
aXIiIGluIHBhcm06CgkJCXBhdGNoZGlyID0gcGFybVsicGF0Y2hkaXIiXQoJCQlpZiBub3Qgb3Mu
cGF0aC5pc2FicyhwYXRjaGRpcik6CgkJCQlwYXRjaGRpciA9IG9zLnBhdGguam9pbihzLCBwYXRj
aGRpcikKCQllbHNlOgoJCQlwYXRjaGRpciA9IHMKCgkJaWYgbm90IHBhdGNoZGlyIGluIGNsYXNz
ZXM6CgkJCXBhdGNoc2V0ID0gY2xzKHBhdGNoZGlyLCBkKQoJCQlyZXNvbHZlciA9IHJjbHMocGF0
Y2hzZXQsIG9lX3Rlcm1pbmFsKQoJCQljbGFzc2VzW3BhdGNoZGlyXSA9IChwYXRjaHNldCwgcmVz
b2x2ZXIpCgkJCXBhdGNoc2V0LkNsZWFuKCkKCQllbHNlOgoJCQlwYXRjaHNldCwgcmVzb2x2ZXIg
PSBjbGFzc2VzW3BhdGNoZGlyXQoKCQliYi5ub3RlKCJBcHBseWluZyBwYXRjaCAnJXMnICglcyki
ICUgKHBhcm1bJ3BhdGNobmFtZSddLCBvZS5wYXRoLmZvcm1hdF9kaXNwbGF5KGxvY2FsLCBkKSkp
CgkJdHJ5OgoJCQlwYXRjaHNldC5JbXBvcnQoeyJmaWxlIjpsb2NhbCwgInN0cmlwcGF0aCI6IHBh
cm1bJ3N0cmlwbGV2ZWwnXX0sIFRydWUpCgkJZXhjZXB0IEV4Y2VwdGlvbiBhcyBleGM6CgkJCWJi
LmZhdGFsKHN0cihleGMpKQoJCXRyeToKCQkJcmVzb2x2ZXIuUmVzb2x2ZSgpCgkJZXhjZXB0IGJi
LkJCSGFuZGxlZEV4Y2VwdGlvbiBhcyBlOgoJCQliYi5mYXRhbChzdHIoZSkpCn0KCgpweXRob24g
cGtnYXJjaF9tYXBwaW5nICgpIHsKZGVmIHBrZ2FyY2hfbWFwcGluZyhkKToKICAgICMgQ29tcGF0
aWJpbGl0eSBtYXBwaW5ncyBvZiBUVU5FX1BLR0FSQ0ggKG9wdCBpbikKICAgIGlmIGQuZ2V0VmFy
KCJQS0dBUkNIQ09NUEFUX0FSTVY3QSIsIFRydWUpOgogICAgICAgIGlmIGQuZ2V0VmFyKCJUVU5F
X1BLR0FSQ0giLCBUcnVlKSA9PSAiYXJtdjdhLXZmcC1uZW9uIjoKICAgICAgICAgICAgZC5zZXRW
YXIoIlRVTkVfUEtHQVJDSCIsICJhcm12N2EiKQp9CgoKcHl0aG9uIGV4cGxvZGVfZGVwcyAoKSB7
CmRlZiBleHBsb2RlX2RlcHMocyk6CglyZXR1cm4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKHMpCn0K
CgpweXRob24gcGFja2FnZV9xYV9jaGVja19ycGF0aCAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNr
X3JwYXRoKGZpbGUsbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIGZv
ciBkYW5nZXJvdXMgUlBBVEhzCiAgICAiIiIKICAgIGlmIG5vdCBlbGY6CiAgICAgICAgcmV0dXJu
CgogICAgc2NhbmVsZiA9IG9zLnBhdGguam9pbihkLmdldFZhcignU1RBR0lOR19CSU5ESVJfTkFU
SVZFJyxUcnVlKSwnc2NhbmVsZicpCiAgICBiYWRfZGlycyA9IFtkLmdldFZhcignVE1QRElSJywg
VHJ1ZSkgKyAiL3dvcmsiLCBkLmdldFZhcignU1RBR0lOR19ESVJfVEFSR0VUJywgVHJ1ZSldCiAg
ICBiYWRfZGlyX3Rlc3QgPSBkLmdldFZhcignVE1QRElSJywgVHJ1ZSkKICAgIGlmIG5vdCBvcy5w
YXRoLmV4aXN0cyhzY2FuZWxmKToKICAgICAgICBiYi5mYXRhbCgiQ2FuIG5vdCBjaGVjayBSUEFU
SCwgc2NhbmVsZiAocGFydCBvZiBwYXgtdXRpbHMtbmF0aXZlKSBub3QgZm91bmQiKQoKICAgIGlm
IG5vdCBiYWRfZGlyc1swXSBpbiBkLmdldFZhcignV09SS0RJUicsIFRydWUpOgogICAgICAgIGJi
LmZhdGFsKCJUaGlzIGNsYXNzIGFzc3VtZWQgdGhhdCBXT1JLRElSIGlzIC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsuLi4gTm90IGRvaW5nIGFueSBjaGVjayIpCgog
ICAgb3V0cHV0ID0gb3MucG9wZW4oIiVzIC1CIC1GJSVyI0YgJyVzJyIgJSAoc2NhbmVsZixmaWxl
KSkKICAgIHR4dCAgICA9IG91dHB1dC5yZWFkbGluZSgpLnNwbGl0KCkKICAgIGZvciBsaW5lIGlu
IHR4dDoKICAgICAgICBmb3IgZGlyIGluIGJhZF9kaXJzOgogICAgICAgICAgICBpZiBkaXIgaW4g
bGluZToKICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmFwcGVuZCgicGFja2FnZSAlcyBjb250YWlu
cyBiYWQgUlBBVEggJXMgaW4gZmlsZSAlcyIgJSAobmFtZSwgbGluZSwgZmlsZSkpCn0KCgpweXRo
b24gcGFja2FnZV9xYV9jaGVja191bnNhZmVfcmVmZXJlbmNlc19pbl9zY3JpcHRzICgpIHsKZGVm
IHBhY2thZ2VfcWFfY2hlY2tfdW5zYWZlX3JlZmVyZW5jZXNfaW5fc2NyaXB0cyhwYXRoLCBuYW1l
LCBkLCBlbGYsIG1lc3NhZ2VzKToKCSIiIgoJV2FybiBpZiBzY3JpcHRzIGluIGJhc2VfW2JpbmRp
cnxzYmluZGlyfGxpYmRpcl0gcmVmZXJlbmNlIGZpbGVzIHVuZGVyIGV4ZWNfcHJlZml4CgkiIiIK
CWlmIHVuc2FmZV9yZWZlcmVuY2VzX3NraXBwYWJsZShwYXRoLCBuYW1lLCBkKToKCQlyZXR1cm4K
CglpZiBub3QgZWxmOgoJCWltcG9ydCBzdGF0CgkJcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQoK
CQkjIEVuc3VyZSB3ZSdyZSBjaGVja2luZyBhbiBleGVjdXRhYmxlIHNjcmlwdAoJCXN0YXRpbmZv
ID0gb3Muc3RhdChwYXRoKQoJCWlmIGJvb2woc3RhdGluZm8uc3RfbW9kZSAmIHN0YXQuU19JWFVT
Uik6CgkJCSMgZ3JlcCBzaGVsbCBzY3JpcHRzIGZvciBwb3NzaWJsZSByZWZlcmVuY2VzIHRvIC9l
eGVjX3ByZWZpeC8KCQkJZXhlY19wcmVmaXggPSBkLmdldFZhcignZXhlY19wcmVmaXgnLCBUcnVl
KQoJCQlzdGF0ZW1lbnQgPSAiZ3JlcCAtZSAnJXMvJyAlcyA+IC9kZXYvbnVsbCIgJSAoZXhlY19w
cmVmaXgsIHBhdGgpCgkJCWlmIG9zLnN5c3RlbShzdGF0ZW1lbnQpID09IDA6CgkJCQllcnJvcl9t
c2cgPSBwbiArICI6IEZvdW5kIGEgcmVmZXJlbmNlIHRvICVzLyBpbiAlcyIgJSAoZXhlY19wcmVm
aXgsIHBhdGgpCgkJCQlwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigidW5zYWZlLXJlZmVyZW5jZXMt
aW4tc2NyaXB0cyIsIGVycm9yX21zZywgZCkKCQkJCWVycm9yX21zZyA9ICJTaGVsbCBzY3JpcHRz
IGluIGJhc2VfYmluZGlyIGFuZCBiYXNlX3NiaW5kaXIgc2hvdWxkIG5vdCByZWZlcmVuY2UgYW55
dGhpbmcgaW4gZXhlY19wcmVmaXgiCgkJCQlwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigidW5zYWZl
LXJlZmVyZW5jZXMtaW4tc2NyaXB0cyIsIGVycm9yX21zZywgZCkKfQoKCnB5dGhvbiBwZXJmb3Jt
X3BhY2thZ2Vjb3B5ICgpIHsKCWRlc3QgPSBkLmdldFZhcignRCcsIFRydWUpCglkdmFyID0gZC5n
ZXRWYXIoJ1BLR0QnLCBUcnVlKQoKCWJiLm1rZGlyaGllcihkdmFyKQoKCSMgU3RhcnQgYnkgcGFj
a2FnZSBwb3B1bGF0aW9uIGJ5IHRha2luZyBhIGNvcHkgb2YgdGhlIGluc3RhbGxlZAoJIyBmaWxl
cyB0byBvcGVyYXRlIG9uCglvcy5zeXN0ZW0oJ3JtIC1yZiAlcy8qJyAlIChkdmFyKSkKCSMgUHJl
c2VydmUgc3BhcnNlIGZpbGVzIGFuZCBoYXJkIGxpbmtzCglvcy5zeXN0ZW0oJ3RhciAtY2YgLSAt
QyAlcyAtcHMgLiB8IHRhciAteGYgLSAtQyAlcycgJSAoZGVzdCwgZHZhcikpCn0KCgpweXRob24g
cGFja2FnZV9kZXBjaGFpbnMgKCkgewoJIiIiCglGb3IgYSBnaXZlbiBzZXQgb2YgcHJlZml4IGFu
ZCBwb3N0Zml4IG1vZGlmaWVycywgbWFrZSB0aG9zZSBwYWNrYWdlcwoJUlJFQ09NTUVORFMgb24g
dGhlIGNvcnJlc3BvbmRpbmcgcGFja2FnZXMgZm9yIGl0cyBSREVQRU5EUy4KCglFeGFtcGxlOiAg
SWYgcGFja2FnZSBBIGRlcGVuZHMgdXBvbiBwYWNrYWdlIEIsIGFuZCBBJ3MgLmJiIGVtaXRzIGFu
CglBLWRldiBwYWNrYWdlLCB0aGlzIHdvdWxkIG1ha2UgQS1kZXYgUmVjb21tZW5kczogQi1kZXYu
CgoJSWYgb25seSBvbmUgb2YgYSBnaXZlbiBzdWZmaXggaXMgc3BlY2lmaWVkLCBpdCB3aWxsIHRh
a2UgdGhlIFJSRUNPTU1FTkRTCgliYXNlZCBvbiB0aGUgUkRFUEVORFMgb2YgKmFsbCogb3RoZXIg
cGFja2FnZXMuIElmIG1vcmUgdGhhbiBvbmUgb2YgYSBnaXZlbgoJc3VmZml4IGlzIHNwZWNpZmll
ZCwgaXRzIHdpbGwgb25seSB1c2UgdGhlIFJERVBFTkRTIG9mIHRoZSBzaW5nbGUgcGFyZW50Cglw
YWNrYWdlLgoJIiIiCgoJcGFja2FnZXMgID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSkKCXBv
c3RmaXhlcyA9IChkLmdldFZhcignREVQQ0hBSU5fUE9TVCcsIFRydWUpIG9yICcnKS5zcGxpdCgp
CglwcmVmaXhlcyAgPSAoZC5nZXRWYXIoJ0RFUENIQUlOX1BSRScsIFRydWUpIG9yICcnKS5zcGxp
dCgpCgoJZGVmIHBrZ19hZGRkZXBycmVjcyhwa2csIGJhc2UsIHN1ZmZpeCwgZ2V0bmFtZSwgZGVw
ZW5kcywgZCk6CgoJCSNiYi5ub3RlKCdkZXBlbmRzIGZvciAlcyBpcyAlcycgJSAoYmFzZSwgZGVw
ZW5kcykpCgkJcnJlY2xpc3QgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9ucyhkLmdldFZh
cignUlJFQ09NTUVORFNfJyArIHBrZywgVHJ1ZSkgb3IgZC5nZXRWYXIoJ1JSRUNPTU1FTkRTJywg
VHJ1ZSkgb3IgIiIpCgoJCWZvciBkZXBlbmQgaW4gZGVwZW5kczoKCQkJaWYgZGVwZW5kLmZpbmQo
Jy1uYXRpdmUnKSAhPSAtMSBvciBkZXBlbmQuZmluZCgnLWNyb3NzJykgIT0gLTEgb3IgZGVwZW5k
LnN0YXJ0c3dpdGgoJ3ZpcnR1YWwvJyk6CgkJCQkjYmIubm90ZSgiU2tpcHBpbmcgJXMiICUgZGVw
ZW5kKQoJCQkJY29udGludWUKCQkJaWYgZGVwZW5kLmVuZHN3aXRoKCctZGV2Jyk6CgkJCQlkZXBl
bmQgPSBkZXBlbmQucmVwbGFjZSgnLWRldicsICcnKQoJCQlpZiBkZXBlbmQuZW5kc3dpdGgoJy1k
YmcnKToKCQkJCWRlcGVuZCA9IGRlcGVuZC5yZXBsYWNlKCctZGJnJywgJycpCgkJCXBrZ25hbWUg
PSBnZXRuYW1lKGRlcGVuZCwgc3VmZml4KQoJCQkjYmIubm90ZSgiQWRkaW5nICVzIGZvciAlcyIg
JSAocGtnbmFtZSwgZGVwZW5kKSkKCQkJaWYgcGtnbmFtZSBub3QgaW4gcnJlY2xpc3Q6CgkJCQly
cmVjbGlzdFtwa2duYW1lXSA9ICIiCgoJCSNiYi5ub3RlKCdzZXR0aW5nOiBSUkVDT01NRU5EU18l
cz0lcycgJSAocGtnLCAnICcuam9pbihycmVjbGlzdCkpKQoJCWQuc2V0VmFyKCdSUkVDT01NRU5E
U18lcycgJSBwa2csIGJiLnV0aWxzLmpvaW5fZGVwcyhycmVjbGlzdCwgY29tbWFzZXA9RmFsc2Up
KQoKCWRlZiBwa2dfYWRkcnJlY3MocGtnLCBiYXNlLCBzdWZmaXgsIGdldG5hbWUsIHJkZXBlbmRz
LCBkKToKCgkJI2JiLm5vdGUoJ3JkZXBlbmRzIGZvciAlcyBpcyAlcycgJSAoYmFzZSwgcmRlcGVu
ZHMpKQoJCXJyZWNsaXN0ID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMoZC5nZXRWYXIo
J1JSRUNPTU1FTkRTXycgKyBwa2csIFRydWUpIG9yIGQuZ2V0VmFyKCdSUkVDT01NRU5EUycsIFRy
dWUpIG9yICIiKQoKCQlmb3IgZGVwZW5kIGluIHJkZXBlbmRzOgoJCQlpZiBkZXBlbmQuZmluZCgn
dmlydHVhbC1sb2NhbGUtJykgIT0gLTE6CgkJCQkjYmIubm90ZSgiU2tpcHBpbmcgJXMiICUgZGVw
ZW5kKQoJCQkJY29udGludWUKCQkJaWYgZGVwZW5kLmVuZHN3aXRoKCctZGV2Jyk6CgkJCQlkZXBl
bmQgPSBkZXBlbmQucmVwbGFjZSgnLWRldicsICcnKQoJCQlpZiBkZXBlbmQuZW5kc3dpdGgoJy1k
YmcnKToKCQkJCWRlcGVuZCA9IGRlcGVuZC5yZXBsYWNlKCctZGJnJywgJycpCgkJCXBrZ25hbWUg
PSBnZXRuYW1lKGRlcGVuZCwgc3VmZml4KQoJCQkjYmIubm90ZSgiQWRkaW5nICVzIGZvciAlcyIg
JSAocGtnbmFtZSwgZGVwZW5kKSkKCQkJaWYgcGtnbmFtZSBub3QgaW4gcnJlY2xpc3Q6CgkJCQly
cmVjbGlzdFtwa2duYW1lXSA9ICIiCgoJCSNiYi5ub3RlKCdzZXR0aW5nOiBSUkVDT01NRU5EU18l
cz0lcycgJSAocGtnLCAnICcuam9pbihycmVjbGlzdCkpKQoJCWQuc2V0VmFyKCdSUkVDT01NRU5E
U18lcycgJSBwa2csIGJiLnV0aWxzLmpvaW5fZGVwcyhycmVjbGlzdCwgY29tbWFzZXA9RmFsc2Up
KQoKCWRlZiBhZGRfZGVwKGxpc3QsIGRlcCk6CgkJZGVwID0gZGVwLnNwbGl0KCcgKCcpWzBdLnN0
cmlwKCkKCQlpZiBkZXAgbm90IGluIGxpc3Q6CgkJCWxpc3QuYXBwZW5kKGRlcCkKCglkZXBlbmRz
ID0gW10KCWZvciBkZXAgaW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFyKCdERVBFTkRT
JywgVHJ1ZSkgb3IgIiIpOgoJCWFkZF9kZXAoZGVwZW5kcywgZGVwKQoKCXJkZXBlbmRzID0gW10K
CWZvciBkZXAgaW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFyKCdSREVQRU5EUycsIFRy
dWUpIG9yICIiKToKCQlhZGRfZGVwKHJkZXBlbmRzLCBkZXApCgoJZm9yIHBrZyBpbiBwYWNrYWdl
cy5zcGxpdCgpOgoJCWZvciBkZXAgaW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFyKCdS
REVQRU5EU18nICsgcGtnLCBUcnVlKSBvciAiIik6CgkJCWFkZF9kZXAocmRlcGVuZHMsIGRlcCkK
CgkjYmIubm90ZSgncmRlcGVuZHMgaXMgJXMnICUgcmRlcGVuZHMpCgoJZGVmIHBvc3RfZ2V0bmFt
ZShuYW1lLCBzdWZmaXgpOgoJCXJldHVybiAnJXMlcycgJSAobmFtZSwgc3VmZml4KQoJZGVmIHBy
ZV9nZXRuYW1lKG5hbWUsIHN1ZmZpeCk6CgkJcmV0dXJuICclcyVzJyAlIChzdWZmaXgsIG5hbWUp
CgoJcGtncyA9IHt9Cglmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CgkJZm9yIHBvc3RmaXgg
aW4gcG9zdGZpeGVzOgoJCQlpZiBwa2cuZW5kc3dpdGgocG9zdGZpeCk6CgkJCQlpZiBub3QgcG9z
dGZpeCBpbiBwa2dzOgoJCQkJCXBrZ3NbcG9zdGZpeF0gPSB7fQoJCQkJcGtnc1twb3N0Zml4XVtw
a2ddID0gKHBrZ1s6LWxlbihwb3N0Zml4KV0sIHBvc3RfZ2V0bmFtZSkKCgkJZm9yIHByZWZpeCBp
biBwcmVmaXhlczoKCQkJaWYgcGtnLnN0YXJ0c3dpdGgocHJlZml4KToKCQkJCWlmIG5vdCBwcmVm
aXggaW4gcGtnczoKCQkJCQlwa2dzW3ByZWZpeF0gPSB7fQoJCQkJcGtnc1twcmVmaXhdW3BrZ10g
PSAocGtnWzotbGVuKHByZWZpeCldLCBwcmVfZ2V0bmFtZSkKCglmb3Igc3VmZml4IGluIHBrZ3M6
CgkJZm9yIHBrZyBpbiBwa2dzW3N1ZmZpeF06CgkJCWlmIGQuZ2V0VmFyRmxhZygnUlJFQ09NTUVO
RFNfJyArIHBrZywgJ25vZGVwcnJlY3MnKToKCQkJCWNvbnRpbnVlCgkJCShiYXNlLCBmdW5jKSA9
IHBrZ3Nbc3VmZml4XVtwa2ddCgkJCWlmIHN1ZmZpeCA9PSAiLWRldiI6CgkJCQlwa2dfYWRkZGVw
cnJlY3MocGtnLCBiYXNlLCBzdWZmaXgsIGZ1bmMsIGRlcGVuZHMsIGQpCgkJCWlmIGxlbihwa2dz
W3N1ZmZpeF0pID09IDE6CgkJCQlwa2dfYWRkcnJlY3MocGtnLCBiYXNlLCBzdWZmaXgsIGZ1bmMs
IHJkZXBlbmRzLCBkKQoJCQllbHNlOgoJCQkJcmRlcHMgPSBbXQoJCQkJZm9yIGRlcCBpbiBiYi51
dGlscy5leHBsb2RlX2RlcHMoZC5nZXRWYXIoJ1JERVBFTkRTXycgKyBiYXNlLCBUcnVlKSBvciBk
LmdldFZhcignUkRFUEVORFMnLCBUcnVlKSBvciAiIik6CgkJCQkJYWRkX2RlcChyZGVwcywgZGVw
KQoJCQkJcGtnX2FkZHJyZWNzKHBrZywgYmFzZSwgc3VmZml4LCBmdW5jLCByZGVwcywgZCkKfQoK
CnB5dGhvbiBwYWNrYWdlX21hcHBpbmdfcmVuYW1lX2hvb2sgKCkgewoJIiIiCglSZXdyaXRlIHZh
cmlhYmxlcyB0byBhY2NvdW50IGZvciBwYWNrYWdlIHJlbmFtaW5nIGluIHRoaW5ncwoJbGlrZSBk
ZWJpYW4uYmJjbGFzcyBvciBtYW51YWwgUEtHIHZhcmlhYmxlIG5hbWUgY2hhbmdlcwoJIiIiCgly
dW50aW1lX21hcHBpbmdfcmVuYW1lKCJSREVQRU5EUyIsIGQpCglydW50aW1lX21hcHBpbmdfcmVu
YW1lKCJSUkVDT01NRU5EUyIsIGQpCglydW50aW1lX21hcHBpbmdfcmVuYW1lKCJSU1VHR0VTVFMi
LCBkKQoJcnVudGltZV9tYXBwaW5nX3JlbmFtZSgiUlBST1ZJREVTIiwgZCkKCXJ1bnRpbWVfbWFw
cGluZ19yZW5hbWUoIlJSRVBMQUNFUyIsIGQpCglydW50aW1lX21hcHBpbmdfcmVuYW1lKCJSQ09O
RkxJQ1RTIiwgZCkKfQoKCnB5dGhvbiBzc3RhdGVfdGFza19wb3N0ZnVuYyAoKSB7CiAgICBzaGFy
ZWRfc3RhdGUgPSBzc3RhdGVfc3RhdGVfZnJvbXZhcnMoZCkKICAgIHNzdGF0ZV9pbnN0YWxsKHNo
YXJlZF9zdGF0ZSwgZCkKICAgIGZvciBpbnRlcmNlcHQgaW4gc2hhcmVkX3N0YXRlWydpbnRlcmNl
cHRmdW5jcyddOgogICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhpbnRlcmNlcHQsIGQpCiAgICBz
c3RhdGVfcGFja2FnZShzaGFyZWRfc3RhdGUsIGQpCn0KCgpweXRob24gc3lzcm9vdF9jaGVja2hh
c2hlcyAoKSB7CmRlZiBzeXNyb290X2NoZWNraGFzaGVzKGNvdmVyZWQsIHRhc2tuYW1lcywgZm5p
ZHMsIGZucywgZCk6CiAgICBwcm9ibGVtcyA9IHNldCgpCiAgICBjb25maWd1cmVmbmlkcyA9IHNl
dCgpCiAgICBmb3IgdGFzayBpbiB4cmFuZ2UobGVuKHRhc2tuYW1lcykpOgogICAgICAgIGlmIHRh
c2tuYW1lc1t0YXNrXSA9PSAiZG9fY29uZmlndXJlIiBhbmQgdGFzayBub3QgaW4gY292ZXJlZDoK
ICAgICAgICAgICAgY29uZmlndXJlZm5pZHMuYWRkKGZuaWRzW3Rhc2tdKQogICAgZm9yIHRhc2sg
aW4gY292ZXJlZDoKICAgICAgICBpZiB0YXNrbmFtZXNbdGFza10gPT0gImRvX3BvcHVsYXRlX3N5
c3Jvb3QiIGFuZCBmbmlkc1t0YXNrXSBpbiBjb25maWd1cmVmbmlkczoKICAgICAgICAgICAgcHJv
YmxlbXMuYWRkKHRhc2spCiAgICByZXR1cm4gcHJvYmxlbXMKfQoKCnB5dGhvbiBwb3B1bGF0ZV9w
YWNrYWdlcyAoKSB7CglpbXBvcnQgZ2xvYiwgc3RhdCwgZXJybm8sIHJlCgoJd29ya2RpciA9IGQu
Z2V0VmFyKCdXT1JLRElSJywgVHJ1ZSkKCW91dGRpciA9IGQuZ2V0VmFyKCdERVBMT1lfRElSJywg
VHJ1ZSkKCWR2YXIgPSBkLmdldFZhcignUEtHRCcsIFRydWUpCglwYWNrYWdlcyA9IGQuZ2V0VmFy
KCdQQUNLQUdFUycsIFRydWUpCglwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCgoJYmIubWtkaXJo
aWVyKG91dGRpcikKCW9zLmNoZGlyKGR2YXIpCgoJIyBTYW5pdHkgY2hlY2sgUEFDS0FHRVMgZm9y
IGR1cGxpY2F0ZXMgYW5kIGZvciBMSUNFTlNFX0VYQ0xVU0lPTgoJIyBTYW5pdHkgc2hvdWxkIGJl
IG1vdmVkIHRvIHNhbml0eS5iYmNsYXNzIG9uY2Ugd2UgaGF2ZSB0aGUgaW5mcmFzdHVjdHVyZQoJ
cGFja2FnZV9saXN0ID0gW10KCglmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CgkJaWYgZC5n
ZXRWYXIoJ0xJQ0VOU0VfRVhDTFVTSU9OLScgKyBwa2csIFRydWUpOgoJCQliYi53YXJuKCIlcyBo
YXMgYW4gaW5jb21wYXRpYmxlIGxpY2Vuc2UuIEV4Y2x1ZGluZyBmcm9tIHBhY2thZ2luZy4iICUg
cGtnKQoJCQlwYWNrYWdlcy5yZW1vdmUocGtnKQoJCWVsc2U6CgkJCWlmIHBrZyBpbiBwYWNrYWdl
X2xpc3Q6CgkJCQliYi5lcnJvcigiJXMgaXMgbGlzdGVkIGluIFBBQ0tBR0VTIG11bHRpcGxlIHRp
bWVzLCB0aGlzIGxlYWRzIHRvIHBhY2thZ2luZyBlcnJvcnMuIiAlIHBrZykKCQkJZWxzZToKCQkJ
CXBhY2thZ2VfbGlzdC5hcHBlbmQocGtnKQoJZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4o
cGFja2FnZV9saXN0KSkKCXBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcsIFRydWUpCglvcy5z
eXN0ZW0oJ3JtIC1yZiAlcycgJSBwa2dkZXN0KQoKCXNlZW4gPSBbXQoKCWZvciBwa2cgaW4gcGFj
a2FnZV9saXN0OgoJCWxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQoJCXJvb3QgPSBv
cy5wYXRoLmpvaW4ocGtnZGVzdCwgcGtnKQoJCWJiLm1rZGlyaGllcihyb290KQoKCQlsb2NhbGRh
dGEuc2V0VmFyKCdQS0cnLCBwa2cpCgkJb3ZlcnJpZGVzID0gbG9jYWxkYXRhLmdldFZhcignT1ZF
UlJJREVTJywgVHJ1ZSkKCQlpZiBub3Qgb3ZlcnJpZGVzOgoJCQlyYWlzZSBiYi5idWlsZC5GdW5j
RmFpbGVkKCdPVkVSUklERVMgbm90IGRlZmluZWQnKQoJCWxvY2FsZGF0YS5zZXRWYXIoJ09WRVJS
SURFUycsIG92ZXJyaWRlcyArICc6JyArIHBrZykKCQliYi5kYXRhLnVwZGF0ZV9kYXRhKGxvY2Fs
ZGF0YSkKCgkJZmlsZXN2YXIgPSBsb2NhbGRhdGEuZ2V0VmFyKCdGSUxFUycsIFRydWUpIG9yICIi
CgkJZmlsZXMgPSBmaWxlc3Zhci5zcGxpdCgpCgkJZmlsZV9saW5rcyA9IHt9CgkJZm9yIGZpbGUg
aW4gZmlsZXM6CgkJCWlmIG9zLnBhdGguaXNhYnMoZmlsZSk6CgkJCQlmaWxlID0gJy4nICsgZmls
ZQoJCQlpZiBub3Qgb3MucGF0aC5pc2xpbmsoZmlsZSk6CgkJCQlpZiBvcy5wYXRoLmlzZGlyKGZp
bGUpOgoJCQkJCW5ld2ZpbGVzID0gIFsgb3MucGF0aC5qb2luKGZpbGUseCkgZm9yIHggaW4gb3Mu
bGlzdGRpcihmaWxlKSBdCgkJCQkJaWYgbmV3ZmlsZXM6CgkJCQkJCWZpbGVzICs9IG5ld2ZpbGVz
CgkJCQkJCWNvbnRpbnVlCgkJCWdsb2JiZWQgPSBnbG9iLmdsb2IoZmlsZSkKCQkJaWYgZ2xvYmJl
ZDoKCQkJCWlmIFsgZmlsZSBdICE9IGdsb2JiZWQ6CgkJCQkJZmlsZXMgKz0gZ2xvYmJlZAoJCQkJ
CWNvbnRpbnVlCgkJCWlmIChub3Qgb3MucGF0aC5pc2xpbmsoZmlsZSkpIGFuZCAobm90IG9zLnBh
dGguZXhpc3RzKGZpbGUpKToKCQkJCWNvbnRpbnVlCgkJCWlmIGZpbGUgaW4gc2VlbjoKCQkJCWNv
bnRpbnVlCgkJCXNlZW4uYXBwZW5kKGZpbGUpCgoJCQlkZWYgbWtkaXIoc3JjLCBkZXN0LCBwKToK
CQkJCXNyYyA9IG9zLnBhdGguam9pbihzcmMsIHApCgkJCQlkZXN0ID0gb3MucGF0aC5qb2luKGRl
c3QsIHApCgkJCQliYi5ta2RpcmhpZXIoZGVzdCkKCQkJCWZzdGF0ID0gb3Muc3RhdChzcmMpCgkJ
CQlvcy5jaG1vZChkZXN0LCBmc3RhdC5zdF9tb2RlKQoJCQkJb3MuY2hvd24oZGVzdCwgZnN0YXQu
c3RfdWlkLCBmc3RhdC5zdF9naWQpCgkJCQlpZiBwIG5vdCBpbiBzZWVuOgoJCQkJCXNlZW4uYXBw
ZW5kKHApCgoJCQlkZWYgbWtkaXJfcmVjdXJzZShzcmMsIGRlc3QsIHBhdGhzKToKCQkJCXdoaWxl
IHBhdGhzLnN0YXJ0c3dpdGgoIi4vIik6CgkJCQkJcGF0aHMgPSBwYXRoc1syOl0KCQkJCXAgPSAi
LiIKCQkJCWZvciBjIGluIHBhdGhzLnNwbGl0KCIvIik6CgkJCQkJcCA9IG9zLnBhdGguam9pbihw
LCBjKQoJCQkJCWlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZGVzdCwgcCkpOgoJ
CQkJCQlta2RpcihzcmMsIGRlc3QsIHApCgoJCQlpZiBvcy5wYXRoLmlzZGlyKGZpbGUpIGFuZCBu
b3Qgb3MucGF0aC5pc2xpbmsoZmlsZSk6CgkJCQlta2Rpcl9yZWN1cnNlKGR2YXIsIHJvb3QsIGZp
bGUpCgkJCQljb250aW51ZQoKCQkJbWtkaXJfcmVjdXJzZShkdmFyLCByb290LCBvcy5wYXRoLmRp
cm5hbWUoZmlsZSkpCgkJCWZwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsZmlsZSkKCQkJaWYgbm90
IG9zLnBhdGguaXNsaW5rKGZpbGUpOgoJCQkJb3MubGluayhmaWxlLCBmcGF0aCkKCQkJCWZzdGF0
ID0gb3Muc3RhdChmaWxlKQoJCQkJb3MuY2htb2QoZnBhdGgsIGZzdGF0LnN0X21vZGUpCgkJCQlv
cy5jaG93bihmcGF0aCwgZnN0YXQuc3RfdWlkLCBmc3RhdC5zdF9naWQpCgkJCQljb250aW51ZQoJ
CQlyZXQgPSBiYi5jb3B5ZmlsZShmaWxlLCBmcGF0aCkKCQkJaWYgcmV0IGlzIEZhbHNlIG9yIHJl
dCA9PSAwOgoJCQkJcmFpc2UgYmIuYnVpbGQuRnVuY0ZhaWxlZCgiRmlsZSBwb3B1bGF0aW9uIGZh
aWxlZCIpCgoJCWRlbCBsb2NhbGRhdGEKCW9zLmNoZGlyKHdvcmtkaXIpCgoJdW5zaGlwcGVkID0g
W10KCWZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGR2YXIpOgoJCWRpciA9IHJvb3Rb
bGVuKGR2YXIpOl0KCQlpZiBub3QgZGlyOgoJCQlkaXIgPSBvcy5zZXAKCQlmb3IgZiBpbiAoZmls
ZXMgKyBkaXJzKToKCQkJcGF0aCA9IG9zLnBhdGguam9pbihkaXIsIGYpCgkJCWlmICgnLicgKyBw
YXRoKSBub3QgaW4gc2VlbjoKCQkJCXVuc2hpcHBlZC5hcHBlbmQocGF0aCkKCglpZiB1bnNoaXBw
ZWQgIT0gW106CgkJYmIud2FybigiRm9yIHJlY2lwZSAlcywgdGhlIGZvbGxvd2luZyBmaWxlcy9k
aXJlY3RvcmllcyB3ZXJlIGluc3RhbGxlZCBidXQgbm90IHNoaXBwZWQgaW4gYW55IHBhY2thZ2U6
IiAlIHBuKQoJCWZvciBmIGluIHVuc2hpcHBlZDoKCQkJYmIud2FybigiICAiICsgZikKCgliYi5i
dWlsZC5leGVjX2Z1bmMoInBhY2thZ2VfbmFtZV9ob29rIiwgZCkKCglmb3IgcGtnIGluIHBhY2th
Z2VfbGlzdDoKCQlwa2duYW1lID0gZC5nZXRWYXIoJ1BLR18lcycgJSBwa2csIFRydWUpCgkJaWYg
cGtnbmFtZSBpcyBOb25lOgoJCQlkLnNldFZhcignUEtHXyVzJyAlIHBrZywgcGtnKQoKCWRhbmds
aW5nX2xpbmtzID0ge30KCXBrZ19maWxlcyA9IHt9Cglmb3IgcGtnIGluIHBhY2thZ2VfbGlzdDoK
CQlkYW5nbGluZ19saW5rc1twa2ddID0gW10KCQlwa2dfZmlsZXNbcGtnXSA9IFtdCgkJaW5zdF9y
b290ID0gb3MucGF0aC5qb2luKHBrZ2Rlc3QsIHBrZykKCQlmb3Igcm9vdCwgZGlycywgZmlsZXMg
aW4gb3Mud2FsayhpbnN0X3Jvb3QpOgoJCQlmb3IgZiBpbiBmaWxlczoKCQkJCXBhdGggPSBvcy5w
YXRoLmpvaW4ocm9vdCwgZikKCQkJCXJwYXRoID0gcGF0aFtsZW4oaW5zdF9yb290KTpdCgkJCQlw
a2dfZmlsZXNbcGtnXS5hcHBlbmQocnBhdGgpCgkJCQl0cnk6CgkJCQkJcyA9IG9zLnN0YXQocGF0
aCkKCQkJCWV4Y2VwdCBPU0Vycm9yLCAoZXJyLCBzdHJlcnJvcik6CgkJCQkJaWYgZXJyICE9IGVy
cm5vLkVOT0VOVDoKCQkJCQkJcmFpc2UKCQkJCQl0YXJnZXQgPSBvcy5yZWFkbGluayhwYXRoKQoJ
CQkJCWlmIHRhcmdldFswXSAhPSAnLyc6CgkJCQkJCXRhcmdldCA9IG9zLnBhdGguam9pbihyb290
W2xlbihpbnN0X3Jvb3QpOl0sIHRhcmdldCkKCQkJCQlkYW5nbGluZ19saW5rc1twa2ddLmFwcGVu
ZChvcy5wYXRoLm5vcm1wYXRoKHRhcmdldCkpCgoJZm9yIHBrZyBpbiBwYWNrYWdlX2xpc3Q6CgkJ
cmRlcGVuZHMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9ucyhkLmdldFZhcignUkRFUEVO
RFNfJyArIHBrZywgVHJ1ZSkgb3IgZC5nZXRWYXIoJ1JERVBFTkRTJywgVHJ1ZSkgb3IgIiIpCgoJ
CWZvciBsIGluIGRhbmdsaW5nX2xpbmtzW3BrZ106CgkJCWZvdW5kID0gRmFsc2UKCQkJYmIuZGVi
dWcoMSwgIiVzIGNvbnRhaW5zIGRhbmdsaW5nIGxpbmsgJXMiICUgKHBrZywgbCkpCgkJCWZvciBw
IGluIHBhY2thZ2VfbGlzdDoKCQkJCWZvciBmIGluIHBrZ19maWxlc1twXToKCQkJCQlpZiBmID09
IGw6CgkJCQkJCWZvdW5kID0gVHJ1ZQoJCQkJCQliYi5kZWJ1ZygxLCAidGFyZ2V0IGZvdW5kIGlu
ICVzIiAlIHApCgkJCQkJCWlmIHAgPT0gcGtnOgoJCQkJCQkJYnJlYWsKCQkJCQkJaWYgcCBub3Qg
aW4gcmRlcGVuZHM6CgkJCQkJCQlyZGVwZW5kc1twXSA9ICIiCgkJCQkJCWJyZWFrCgkJCWlmIGZv
dW5kID09IEZhbHNlOgoJCQkJYmIubm90ZSgiJXMgY29udGFpbnMgZGFuZ2xpbmcgc3ltbGluayB0
byAlcyIgJSAocGtnLCBsKSkKCQlkLnNldFZhcignUkRFUEVORFNfJyArIHBrZywgYmIudXRpbHMu
am9pbl9kZXBzKHJkZXBlbmRzLCBjb21tYXNlcD1GYWxzZSkpCn0KCgpweXRob24gb2VfcnVuICgp
IHsKZGVmIG9lX3J1bihkLCBjbWQsICoqa3dhcmdzKToKICAgIGltcG9ydCBvZS5wcm9jZXNzCiAg
ICBrd2FyZ3NbImVudiJdID0gb2VfcG9wZW5fZW52KGQpCiAgICByZXR1cm4gb2UucHJvY2Vzcy5y
dW4oY21kLCAqKmt3YXJncykKfQoKCnB5dGhvbiBnZW5lcmF0ZV9naXRfY29uZmlnICgpIHsKZGVm
IGdlbmVyYXRlX2dpdF9jb25maWcoZSk6CiAgICAgICAgZnJvbSBiYiBpbXBvcnQgZGF0YQoKICAg
ICAgICBpZiBkYXRhLmdldFZhcignR0lUX0NPUkVfQ09ORklHJywgZS5kYXRhLCBUcnVlKToKICAg
ICAgICAgICAgICAgIGdpdGNvbmZpZ19wYXRoID0gZS5kYXRhLmdldFZhcignR0lUX0NPTkZJRycs
IFRydWUpCiAgICAgICAgICAgICAgICBwcm94eV9jb21tYW5kID0gIiAgICBnaXRQcm94eSA9ICVz
XG4iICUgZGF0YS5nZXRWYXIoJ09FX0dJVF9QUk9YWV9DT01NQU5EJywgZS5kYXRhLCBUcnVlKQoK
ICAgICAgICAgICAgICAgIGJiLm1rZGlyaGllcihlLmRhdGEuZXhwYW5kKCIvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvZXRjIikpCiAg
ICAgICAgICAgICAgICBpZiAob3MucGF0aC5leGlzdHMoZ2l0Y29uZmlnX3BhdGgpKToKICAgICAg
ICAgICAgICAgICAgICAgICAgb3MucmVtb3ZlKGdpdGNvbmZpZ19wYXRoKQoKICAgICAgICAgICAg
ICAgIGYgPSBvcGVuKGdpdGNvbmZpZ19wYXRoLCAndycpCiAgICAgICAgICAgICAgICBmLndyaXRl
KCJbY29yZV1cbiIpCiAgICAgICAgICAgICAgICBpZ25vcmVfaG9zdHMgPSBkYXRhLmdldFZhcign
R0lUX1BST1hZX0lHTk9SRScsIGUuZGF0YSwgVHJ1ZSkuc3BsaXQoKQogICAgICAgICAgICAgICAg
Zm9yIGlnbm9yZV9ob3N0IGluIGlnbm9yZV9ob3N0czoKICAgICAgICAgICAgICAgICAgICAgICAg
Zi53cml0ZSgiICAgIGdpdFByb3h5ID0gbm9uZSBmb3IgJXNcbiIgJSBpZ25vcmVfaG9zdCkKICAg
ICAgICAgICAgICAgIGYud3JpdGUocHJveHlfY29tbWFuZCkKICAgICAgICAgICAgICAgIGYuY2xv
c2UKfQoKCnB5dGhvbiBleHRlbmRfdmFyaWFudHMgKCkgewpkZWYgZXh0ZW5kX3ZhcmlhbnRzKGQs
IHZhciwgZXh0ZW5kLCBkZWxpbT0nOicpOgoJIiIiUmV0dXJuIGEgc3RyaW5nIG9mIGFsbCBiYiBj
bGFzcyBleHRlbmQgdmFyaWFudHMgZm9yIHRoZSBnaXZlbiBleHRlbmQiIiIKCXZhcmlhbnRzID0g
W10KCXdob2xlID0gZC5nZXRWYXIodmFyLCBUcnVlKSBvciAiIgoJZm9yIGV4dCBpbiB3aG9sZS5z
cGxpdCgpOgoJCWVleHQgPSBleHQuc3BsaXQoZGVsaW0pCgkJaWYgbGVuKGVleHQpID4gMSBhbmQg
ZWV4dFswXSA9PSBleHRlbmQ6CgkJCXZhcmlhbnRzLmFwcGVuZChlZXh0WzFdKQoJcmV0dXJuICIg
Ii5qb2luKHZhcmlhbnRzKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tfcmRlcGVuZHMgKCkg
ewpkZWYgcGFja2FnZV9xYV9jaGVja19yZGVwZW5kcyhwa2csIHBrZ2Rlc3QsIHNraXAsIGQpOgog
ICAgIyBEb24ndCBkbyB0aGlzIGNoZWNrIGZvciBrZXJuZWwvbW9kdWxlIHJlY2lwZXMsIHRoZXJl
IGFyZW4ndCB0b28gbWFueSBkZWJ1Zy9kZXZlbG9wbWVudAogICAgIyBwYWNrYWdlcyBhbmQgeW91
IGNhbiBnZXQgZmFsc2UgcG9zaXRpdmVzIGUuZy4gb24ga2VybmVsLW1vZHVsZS1saXJjLWRldgog
ICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygia2VybmVsIiwgZCkgb3IgYmIuZGF0YS5pbmhl
cml0c19jbGFzcygibW9kdWxlLWJhc2UiLCBkKToKICAgICAgICByZXR1cm4gVHJ1ZQoKICAgIHNh
bmUgPSBUcnVlCiAgICBpZiBub3QgIi1kYmciIGluIHBrZyBhbmQgbm90ICJ0YXNrLSIgaW4gcGtn
IGFuZCBub3QgIi1pbWFnZSIgaW4gcGtnOgogICAgICAgICMgQ29waWVkIGZyb20gcGFja2FnZV9p
cGsuYmJjbGFzcwogICAgICAgICMgYm9pbGVyIHBsYXRlIHRvIHVwZGF0ZSB0aGUgZGF0YQogICAg
ICAgIGxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQogICAgICAgIHJvb3QgPSAiJXMv
JXMiICUgKHBrZ2Rlc3QsIHBrZykKCiAgICAgICAgbG9jYWxkYXRhLnNldFZhcignUk9PVCcsICcn
KQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1JPT1RfJXMnICUgcGtnLCByb290KQogICAgICAg
IHBrZ25hbWUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdQS0dfJXMnICUgcGtnLCBUcnVlKQogICAgICAg
IGlmIG5vdCBwa2duYW1lOgogICAgICAgICAgICBwa2duYW1lID0gcGtnCiAgICAgICAgbG9jYWxk
YXRhLnNldFZhcignUEtHJywgcGtnbmFtZSkKCiAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZF
UlJJREVTJywgcGtnKQoKICAgICAgICBiYi5kYXRhLnVwZGF0ZV9kYXRhKGxvY2FsZGF0YSkKCiAg
ICAgICAgIyBOb3cgY2hlY2sgdGhlIFJERVBFTkRTCiAgICAgICAgcmRlcGVuZHMgPSBiYi51dGls
cy5leHBsb2RlX2RlcHMobG9jYWxkYXRhLmdldFZhcignUkRFUEVORFMnLCBUcnVlKSBvciAiIikK
CgogICAgICAgICMgTm93IGRvIHRoZSBzYW5pdHkgY2hlY2shISEKICAgICAgICBmb3IgcmRlcGVu
ZCBpbiByZGVwZW5kczoKICAgICAgICAgICAgaWYgIi1kYmciIGluIHJkZXBlbmQgYW5kICJkZWJ1
Zy1kZXBzIiBub3QgaW4gc2tpcDoKICAgICAgICAgICAgICAgIGVycm9yX21zZyA9ICIlcyByZGVw
ZW5kcyBvbiAlcyIgJSAocGtnbmFtZSxyZGVwZW5kKQogICAgICAgICAgICAgICAgc2FuZSA9IHBh
Y2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJkZWJ1Zy1kZXBzIiwgZXJyb3JfbXNnLCBkKQogICAgICAg
ICAgICBpZiAobm90ICItZGV2IiBpbiBwa2cgYW5kIG5vdCAiLXN0YXRpY2RldiIgaW4gcGtnKSBh
bmQgcmRlcGVuZC5lbmRzd2l0aCgiLWRldiIpIGFuZCAiZGV2LWRlcHMiIG5vdCBpbiBza2lwOgog
ICAgICAgICAgICAgICAgZXJyb3JfbXNnID0gIiVzIHJkZXBlbmRzIG9uICVzIiAlIChwa2duYW1l
LCByZGVwZW5kKQogICAgICAgICAgICAgICAgc2FuZSA9IHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9y
KCJkZXYtZGVwcyIsIGVycm9yX21zZywgZCkKCiAgICByZXR1cm4gc2FuZQp9CgoKcHl0aG9uIHBh
Y2thZ2VfcWFfY2hlY2tfdW5zYWZlX3JlZmVyZW5jZXNfaW5fYmluYXJpZXMgKCkgewpkZWYgcGFj
a2FnZV9xYV9jaGVja191bnNhZmVfcmVmZXJlbmNlc19pbl9iaW5hcmllcyhwYXRoLCBuYW1lLCBk
LCBlbGYsIG1lc3NhZ2VzKToKCSIiIgoJRW5zdXJlIGJpbmFyaWVzIGluIGJhc2VfW2JpbmRpcnxz
YmluZGlyfGxpYmRpcl0gZG8gbm90IGxpbmsgdG8gZmlsZXMgdW5kZXIgZXhlY19wcmVmaXgKCSIi
IgoJaWYgdW5zYWZlX3JlZmVyZW5jZXNfc2tpcHBhYmxlKHBhdGgsIG5hbWUsIGQpOgoJCXJldHVy
bgoKCWlmIGVsZjoKCQlpbXBvcnQgc3VicHJvY2VzcyBhcyBzdWIKCQlwbiA9IGQuZ2V0VmFyKCdQ
TicsIFRydWUpCgoJCWV4ZWNfcHJlZml4ID0gZC5nZXRWYXIoJ2V4ZWNfcHJlZml4JywgVHJ1ZSkK
CQlzeXNyb290X3BhdGggPSBkLmdldFZhcignU1RBR0lOR19ESVJfVEFSR0VUJywgVHJ1ZSkKCQlz
eXNyb290X3BhdGhfdXNyID0gc3lzcm9vdF9wYXRoICsgZXhlY19wcmVmaXgKCgkJdHJ5OgoJCQls
ZGRfb3V0cHV0ID0gYmIucHJvY2Vzcy5Qb3BlbihbInByZWxpbmstcnRsZCIsICItLXJvb3QiLCBz
eXNyb290X3BhdGgsIHBhdGhdLCBzdGRvdXQ9c3ViLlBJUEUpLnN0ZG91dC5yZWFkKCkKCQlleGNl
cHQgYmIucHJvY2Vzcy5DbWRFcnJvcjoKCQkJZXJyb3JfbXNnID0gcG4gKyAiOiBwcmVsaW5rLXJ0
bGQgYWJvcnRlZCB3aGVuIHByb2Nlc3NpbmcgJXMiICUgcGF0aAoJCQlwYWNrYWdlX3FhX2hhbmRs
ZV9lcnJvcigidW5zYWZlLXJlZmVyZW5jZXMtaW4tYmluYXJpZXMiLCBlcnJvcl9tc2csIGQpCgkJ
CXJldHVybiBGYWxzZQoKCQlpZiBzeXNyb290X3BhdGhfdXNyIGluIGxkZF9vdXRwdXQ6CgkJCWVy
cm9yX21zZyA9IHBuICsgIjogJXMgbGlua3MgdG8gc29tZXRoaW5nIHVuZGVyIGV4ZWNfcHJlZml4
IiAlIHBhdGgKCQkJcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoInVuc2FmZS1yZWZlcmVuY2VzLWlu
LWJpbmFyaWVzIiwgZXJyb3JfbXNnLCBkKQoJCQllcnJvcl9tc2cgPSAibGRkIHJlcG9ydHM6ICVz
IiAlIGxkZF9vdXRwdXQKCQkJcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoInVuc2FmZS1yZWZlcmVu
Y2VzLWluLWJpbmFyaWVzIiwgZXJyb3JfbXNnLCBkKQoJCQlyZXR1cm4gRmFsc2UKfQoKCnB5dGhv
biBnZXRfcGFja2FnZV9tYXBwaW5nICgpIHsKZGVmIGdldF9wYWNrYWdlX21hcHBpbmcgKHBrZywg
ZCk6CglpbXBvcnQgb2UucGFja2FnZWRhdGEKCglkYXRhID0gb2UucGFja2FnZWRhdGEucmVhZF9z
dWJwa2dkYXRhKHBrZywgZCkKCWtleSA9ICJQS0dfJXMiICUgcGtnCgoJaWYga2V5IGluIGRhdGE6
CgkJcmV0dXJuIGRhdGFba2V5XQoKCXJldHVybiBwa2cKfQoKCnB5dGhvbiBzc3RhdGVfdGFza19w
cmVmdW5jICgpIHsKICAgIHNoYXJlZF9zdGF0ZSA9IHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyhkKQog
ICAgc3N0YXRlX2NsZWFuKHNoYXJlZF9zdGF0ZSwgZCkKfQoKCnB5dGhvbiBjaGVja19zYW5pdHlf
c3N0YXRlX2Rpcl9jaGFuZ2UgKCkgewpkZWYgY2hlY2tfc2FuaXR5X3NzdGF0ZV9kaXJfY2hhbmdl
KHNzdGF0ZV9kaXIsIGRhdGEpOgogICAgIyBTYW5pdHkgY2hlY2tzIHRvIGJlIGRvbmUgd2hlbiB0
aGUgdmFsdWUgb2YgU1NUQVRFX0RJUiBjaGFuZ2VzCgogICAgIyBDaGVjayB0aGF0IFNTVEFURV9E
SVIgaXNuJ3Qgb24gYSBmaWxlc3lzdGVtIHdpdGggbGltaXRlZCBmaWxlbmFtZSBsZW5ndGggKGVn
LiBlQ3J5cHRGUykKICAgIHRlc3Rtc2cgPSAiIgogICAgaWYgc3N0YXRlX2RpciAhPSAiIjoKICAg
ICAgICB0ZXN0bXNnID0gY2hlY2tfY3JlYXRlX2xvbmdfZmlsZW5hbWUoc3N0YXRlX2RpciwgIlNT
VEFURV9ESVIiKQogICAgcmV0dXJuIHRlc3Rtc2cKfQoKCnB5dGhvbiBiYXNlX3BhdGhfcmVsYXRp
dmUgKCkgewpkZWYgYmFzZV9wYXRoX3JlbGF0aXZlKHNyYywgZGVzdCk6CiAgICByZXR1cm4gb2Uu
cGF0aC5yZWxhdGl2ZShzcmMsIGRlc3QpCn0KCgpweXRob24gcGFja2FnZV9pcGtfZm4gKCkgewoJ
ZC5zZXRWYXIoJ1BLR0ZOJywgZC5nZXRWYXIoJ1BLRycpKQp9CgoKcHl0aG9uIHNwbGl0ZmlsZSAo
KSB7CmRlZiBzcGxpdGZpbGUoZmlsZSwgZGVidWdmaWxlLCBkZWJ1Z3NyY2RpciwgZCk6CiAgICAj
IEZ1bmN0aW9uIHRvIHNwbGl0IGEgc2luZ2xlIGZpbGUsIGNhbGxlZCBmcm9tIHNwbGl0X2FuZF9z
dHJpcF9maWxlcyBiZWxvdwogICAgIyBBIHdvcmtpbmcgJ2ZpbGUnIChvbmUgd2hpY2ggd29ya3Mg
b24gdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUpCiAgICAjIGlzIHNwbGl0IGFuZCB0aGUgc3BsaXQg
b2ZmIHBvcnRpb25zIGdvIHRvIGRlYnVnZmlsZS4KICAgICMKICAgICMgVGhlIGRlYnVnIGluZm9y
bWF0aW9uIGlzIHRoZW4gcHJvY2Vzc2VkIGZvciBzcmMgcmVmZXJlbmNlcy4gIFRoZXNlCiAgICAj
IHJlZmVyZW5jZXMgYXJlIGNvcGllZCB0byBkZWJ1Z3NyY2RpciwgaWYgZGVmaW5lZC4KCiAgICBp
bXBvcnQgY29tbWFuZHMsIHN0YXQKCiAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnLCBUcnVlKQog
ICAgcGF0aHByZWZpeCA9ICJleHBvcnQgUEFUSD0lczsgIiAlIGQuZ2V0VmFyKCdQQVRIJywgVHJ1
ZSkKICAgIG9iamNvcHkgPSBkLmdldFZhcigiT0JKQ09QWSIsIFRydWUpCiAgICBkZWJ1Z2VkaXQg
PSBkLmV4cGFuZCgiL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9v
dHMveDg2XzY0LWxpbnV4L3Vzci9saWIvcnBtL2Jpbi9kZWJ1Z2VkaXQiKQogICAgd29ya2RpciA9
IGQuZ2V0VmFyKCJXT1JLRElSIiwgVHJ1ZSkKICAgIHdvcmtwYXJlbnRkaXIgPSBvcy5wYXRoLmRp
cm5hbWUod29ya2RpcikKICAgIHNvdXJjZWZpbGUgPSBkLmV4cGFuZCgiL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hh
aW4tMS4wLXI3L2RlYnVnc291cmNlcy5saXN0IikKCiAgICAjIFdlIGlnbm9yZSBrZXJuZWwgbW9k
dWxlcywgd2UgZG9uJ3QgZ2VuZXJhdGUgZGVidWcgaW5mbyBmaWxlcy4KICAgIGlmIGZpbGUuZmlu
ZCgiL2xpYi9tb2R1bGVzLyIpICE9IC0xIGFuZCBmaWxlLmVuZHN3aXRoKCIua28iKToKCXJldHVy
biAxCgogICAgbmV3bW9kZSA9IE5vbmUKICAgIGlmIG5vdCBvcy5hY2Nlc3MoZmlsZSwgb3MuV19P
Sykgb3Igb3MuYWNjZXNzKGZpbGUsIG9zLlJfT0spOgogICAgICAgIG9yaWdtb2RlID0gb3Muc3Rh
dChmaWxlKVtzdGF0LlNUX01PREVdCiAgICAgICAgbmV3bW9kZSA9IG9yaWdtb2RlIHwgc3RhdC5T
X0lXUklURSB8IHN0YXQuU19JUkVBRAogICAgICAgIG9zLmNobW9kKGZpbGUsIG5ld21vZGUpCgog
ICAgIyBXZSBuZWVkIHRvIGV4dHJhY3QgdGhlIGRlYnVnIHNyYyBpbmZvcm1hdGlvbiBoZXJlLi4u
CiAgICBpZiBkZWJ1Z3NyY2RpcjoKCW9zLnN5c3RlbSgiJXMnJXMnIC1iICclcycgLWQgJyVzJyAt
aSAtbCAnJXMnICclcyciICUgKHBhdGhwcmVmaXgsIGRlYnVnZWRpdCwgd29ya3BhcmVudGRpciwg
ZGVidWdzcmNkaXIsIHNvdXJjZWZpbGUsIGZpbGUpKQoKICAgIGJiLm1rZGlyaGllcihvcy5wYXRo
LmRpcm5hbWUoZGVidWdmaWxlKSkKCiAgICBvcy5zeXN0ZW0oIiVzJyVzJyAtLW9ubHkta2VlcC1k
ZWJ1ZyAnJXMnICclcyciICUgKHBhdGhwcmVmaXgsIG9iamNvcHksIGZpbGUsIGRlYnVnZmlsZSkp
CgogICAgIyBTZXQgdGhlIGRlYnVnbGluayB0byBoYXZlIHRoZSB2aWV3IG9mIHRoZSBmaWxlIHBh
dGggb24gdGhlIHRhcmdldAogICAgb3Muc3lzdGVtKCIlcyclcycgLS1hZGQtZ251LWRlYnVnbGlu
az0nJXMnICclcyciICUgKHBhdGhwcmVmaXgsIG9iamNvcHksIGRlYnVnZmlsZSwgZmlsZSkpCgog
ICAgaWYgbmV3bW9kZToKICAgICAgICBvcy5jaG1vZChmaWxlLCBvcmlnbW9kZSkKCiAgICByZXR1
cm4gMAp9CgoKcHl0aG9uIGRvX2NsZWFuYWxsICgpIHsKICAgICAgICBzcmNfdXJpID0gKGQuZ2V0
VmFyKCdTUkNfVVJJJywgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKICAgICAgICBpZiBsZW4oc3JjX3Vy
aSkgPT0gMDoKICAgICAgICAgICAgcmV0dXJuCgoJbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVD
b3B5KGQpCgliYi5kYXRhLnVwZGF0ZV9kYXRhKGxvY2FsZGF0YSkKCiAgICAgICAgdHJ5OgogICAg
ICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKHNyY191cmksIGxvY2FsZGF0YSkKICAg
ICAgICAgICAgZmV0Y2hlci5jbGVhbigpCiAgICAgICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNo
RXhjZXB0aW9uLCBlOgogICAgICAgICAgICByYWlzZSBiYi5idWlsZC5GdW5jRmFpbGVkKGUpCn0K
CgpweXRob24gc3N0YXRlX3BhY2thZ2UgKCkgewpkZWYgc3N0YXRlX3BhY2thZ2Uoc3MsIGQpOgog
ICAgaW1wb3J0IG9lLnBhdGgKCiAgICBkZWYgbWFrZV9yZWxhdGl2ZV9zeW1saW5rKHBhdGgsIG91
dHB1dHBhdGgsIGQpOgogICAgICAgICMgUmVwbGFjZSBvdXQgYWJzb2x1dGUgVE1QRElSIHBhdGhz
IGluIHN5bWxpbmtzIHdpdGggcmVsYXRpdmUgb25lcwogICAgICAgIGlmIG5vdCBvcy5wYXRoLmlz
bGluayhwYXRoKToKICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgbGluayA9IG9zLnJlYWRsaW5r
KHBhdGgpCiAgICAgICAgaWYgbm90IG9zLnBhdGguaXNhYnMobGluayk6CiAgICAgICAgICAgIHJl
dHVybgogICAgICAgIGlmIG5vdCBsaW5rLnN0YXJ0c3dpdGgodG1wZGlyKToKICAgICAgICAgICAg
cmV0dXJuCgogICAgICAgIGRlcHRoID0gbGluay5ycGFydGl0aW9uKHRtcGRpcilbMl0uY291bnQo
Jy8nKQogICAgICAgIGJhc2UgPSBsaW5rLnBhcnRpdGlvbih0bXBkaXIpWzJdLnN0cmlwKCkKICAg
ICAgICB3aGlsZSBkZXB0aCA+IDE6CiAgICAgICAgICAgIGJhc2UgPSAiLi4vIiArIGJhc2UKICAg
ICAgICAgICAgZGVwdGggLT0gMQoKICAgICAgICBiYi5kZWJ1ZygyLCAiUmVwbGFjaW5nIGFic29s
dXRlIHBhdGggJXMgd2l0aCByZWxhdGl2ZSBwYXRoICVzIiAlIChsaW5rLCBiYXNlKSkKICAgICAg
ICBvcy5yZW1vdmUocGF0aCkKICAgICAgICBvcy5zeW1saW5rKGJhc2UsIHBhdGgpCgogICAgdG1w
ZGlyID0gZC5nZXRWYXIoJ1RNUERJUicsIFRydWUpCgogICAgc3N0YXRlYnVpbGQgPSBkLmV4cGFu
ZCgiL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2Qt
bGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3NzdGF0ZS1idWlsZC0lcy8iICUgc3NbJ25hbWUn
XSkKICAgIHNzdGF0ZXBrZyA9IGQuZ2V0VmFyKCdTU1RBVEVfUEtHJywgVHJ1ZSkgKyAnXycrIHNz
WyduYW1lJ10gKyAiLnRneiIKICAgIGJiLm1rZGlyaGllcihzc3RhdGVidWlsZCkKICAgIGJiLm1r
ZGlyaGllcihvcy5wYXRoLmRpcm5hbWUoc3N0YXRlcGtnKSkKICAgIGZvciBzdGF0ZSBpbiBzc1sn
ZGlycyddOgogICAgICAgIHNyY2Jhc2UgPSBzdGF0ZVswXS5yc3RyaXAoIi8iKS5yc3BsaXQoJy8n
LCAxKVswXQogICAgICAgIGZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhzdGF0
ZVsxXSk6CiAgICAgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICAgICAgc3Jj
cGF0aCA9IG9zLnBhdGguam9pbih3YWxrcm9vdCwgZmlsZSkKICAgICAgICAgICAgICAgIGRzdHBh
dGggPSBzcmNwYXRoLnJlcGxhY2Uoc3RhdGVbMV0sIHNzdGF0ZWJ1aWxkICsgc3RhdGVbMF0pCiAg
ICAgICAgICAgICAgICBtYWtlX3JlbGF0aXZlX3N5bWxpbmsoc3JjcGF0aCwgZHN0cGF0aCwgZCkK
ICAgICAgICAgICAgZm9yIGRpciBpbiBkaXJzOgogICAgICAgICAgICAgICAgc3JjcGF0aCA9IG9z
LnBhdGguam9pbih3YWxrcm9vdCwgZGlyKQogICAgICAgICAgICAgICAgZHN0cGF0aCA9IHNyY3Bh
dGgucmVwbGFjZShzdGF0ZVsxXSwgc3N0YXRlYnVpbGQgKyBzdGF0ZVswXSkKICAgICAgICAgICAg
ICAgIG1ha2VfcmVsYXRpdmVfc3ltbGluayhzcmNwYXRoLCBkc3RwYXRoLCBkKQogICAgICAgIGJi
LmRlYnVnKDIsICJQcmVwYXJpbmcgdHJlZSAlcyBmb3IgcGFja2FnaW5nIGF0ICVzIiAlIChzdGF0
ZVsxXSwgc3N0YXRlYnVpbGQgKyBzdGF0ZVswXSkpCiAgICAgICAgb2UucGF0aC5jb3B5dHJlZShz
dGF0ZVsxXSwgc3N0YXRlYnVpbGQgKyBzdGF0ZVswXSkKCiAgICB3b3JrZGlyID0gZC5nZXRWYXIo
J1dPUktESVInLCBUcnVlKQogICAgZm9yIHBsYWluIGluIHNzWydwbGFpbmRpcnMnXToKICAgICAg
ICBwZGlyID0gcGxhaW4ucmVwbGFjZSh3b3JrZGlyLCBzc3RhdGVidWlsZCkKICAgICAgICBiYi5t
a2RpcmhpZXIocGxhaW4pCiAgICAgICAgYmIubWtkaXJoaWVyKHBkaXIpCiAgICAgICAgb2UucGF0
aC5jb3B5dHJlZShwbGFpbiwgcGRpcikKCiAgICBkLnNldFZhcignU1NUQVRFX0JVSUxERElSJywg
c3N0YXRlYnVpbGQpCiAgICBkLnNldFZhcignU1NUQVRFX1BLRycsIHNzdGF0ZXBrZykKICAgIHNz
dGF0ZV9oYXJkY29kZV9wYXRoKGQpCiAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ3NzdGF0ZV9jcmVh
dGVfcGFja2FnZScsIGQpCgogICAgYmIuc2lnZ2VuLmR1bXBfdGhpc190YXNrKHNzdGF0ZXBrZyAr
ICIuc2lnaW5mbyIsIGQpCgogICAgcmV0dXJuCn0KCgpweXRob24gZG9fcG9wdWxhdGVfbGljICgp
IHsKICAgICIiIgogICAgUG9wdWxhdGUgTElDRU5TRV9ESVJFQ1RPUlkgd2l0aCBsaWNlbnNlcy4K
ICAgICIiIgogICAgaW1wb3J0IG9zCiAgICBpbXBvcnQgYmIKICAgIGltcG9ydCBzaHV0aWwKICAg
IGltcG9ydCBvZS5saWNlbnNlCgogICAgcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQogICAgZm9y
IHBhY2thZ2UgaW4gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSk6CiAgICAgICAgaWYgZC5nZXRW
YXIoJ0xJQ0VOU0VfJyArIHBuICsgJy0nICsgcGFja2FnZSwgVHJ1ZSk6CiAgICAgICAgICAgIGxp
Y2Vuc2VfdHlwZXMgPSBsaWNlbnNlX3R5cGVzICsgJyAmICcgKyBcCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkLmdldFZhcignTElDRU5TRV8nICsgcG4gKyAnLScgKyBwYWNrYWdlLCBUcnVl
KQoKICAgICNJZiB3ZSBnZXQgaGVyZSB3aXRoIG5vIGxpY2Vuc2UgdHlwZXMsIHRoZW4gdGhhdCBt
ZWFucyB3ZSBoYXZlIGEgcmVjaXBlCiAgICAjbGV2ZWwgbGljZW5zZS4gSWYgc28sIHdlIGdyYWIg
b25seSB0aG9zZS4KICAgIHRyeToKICAgICAgICBsaWNlbnNlX3R5cGVzCiAgICBleGNlcHQgTmFt
ZUVycm9yOgogICAgICAgICMgQWxsIHRoZSBsaWNlbnNlIHR5cGVzIGF0IHRoZSByZWNpcGUgbGV2
ZWwKICAgICAgICBsaWNlbnNlX3R5cGVzID0gZC5nZXRWYXIoJ0xJQ0VOU0UnLCBUcnVlKQoKICAg
ICMgQWxsIHRoZSBsaWNlbnNlIGZpbGVzIGZvciB0aGUgcGFja2FnZQogICAgbGljX2ZpbGVzID0g
ZC5nZXRWYXIoJ0xJQ19GSUxFU19DSEtTVU0nLCBUcnVlKQogICAgcG4gPSBkLmdldFZhcignUE4n
LCBUcnVlKQogICAgIyBUaGUgYmFzZSBkaXJlY3Rvcnkgd2Ugd3JhbmdsZSBsaWNlbnNlcyB0bwog
ICAgZGVzdGRpciA9IG9zLnBhdGguam9pbihkLmdldFZhcignTElDU1NUQVRFRElSJywgVHJ1ZSks
IHBuKQogICAgIyBUaGUgbGljZW5zZSBmaWxlcyBhcmUgbG9jYXRlZCBpbiBTL0xJQ19GSUxFX0NI
RUNLU1VNLgogICAgc3JjZGlyID0gZC5nZXRWYXIoJ1MnLCBUcnVlKQogICAgIyBEaXJlY3Rvcnkg
d2Ugc3RvcmUgdGhlIGdlbmVyaWMgbGljZW5zZXMgYXMgc2V0IGluIHRoZSBkaXN0cm8gY29uZmln
dXJhdGlvbgogICAgZ2VuZXJpY19kaXJlY3RvcnkgPSBkLmdldFZhcignQ09NTU9OX0xJQ0VOU0Vf
RElSJywgVHJ1ZSkKICAgIGxpY2Vuc2Vfc291cmNlX2RpcnMgPSBbXQogICAgbGljZW5zZV9zb3Vy
Y2VfZGlycy5hcHBlbmQoZ2VuZXJpY19kaXJlY3RvcnkpCiAgICB0cnk6CiAgICAgICAgYWRkaXRp
b25hbF9saWNfZGlycyA9IGQuZ2V0VmFyKCdMSUNFTlNFX0RJUicsIFRydWUpLnNwbGl0KCkKICAg
ICAgICBmb3IgbGljX2RpciBpbiBhZGRpdGlvbmFsX2xpY19kaXJzOgogICAgICAgICAgICBsaWNl
bnNlX3NvdXJjZV9kaXJzLmFwcGVuZChsaWNfZGlyKQogICAgZXhjZXB0OgogICAgICAgIHBhc3MK
CiAgICBjbGFzcyBGaW5kVmlzaXRvcihvZS5saWNlbnNlLkxpY2Vuc2VWaXNpdG9yKToKICAgICAg
ICBkZWYgdmlzaXRfU3RyKHNlbGYsIG5vZGUpOgogICAgICAgICAgICAjCiAgICAgICAgICAgICMg
VW50aWwgSSBmaWd1cmUgb3V0IHdoYXQgdG8gZG8gd2l0aAogICAgICAgICAgICAjIHRoZSB0d28g
bW9kaWZpZXJzIEkgc3VwcG9ydCAob3IgZ3JlYXRlciA9ICsKICAgICAgICAgICAgIyBhbmQgIndp
dGggZXhjZXB0aW9ucyIgYmVpbmcgKgogICAgICAgICAgICAjIHdlJ2xsIGp1c3Qgc3RyaXAgb3V0
IHRoZSBtb2RpZmllciBhbmQgcHV0CiAgICAgICAgICAgICMgdGhlIGJhc2UgbGljZW5zZS4KICAg
ICAgICAgICAgZmluZF9saWNlbnNlKG5vZGUucy5yZXBsYWNlKCIrIiwgIiIpLnJlcGxhY2UoIioi
LCAiIikpCiAgICAgICAgICAgIHNlbGYuZ2VuZXJpY192aXNpdChub2RlKQoKICAgIGRlZiBmaW5k
X2xpY2Vuc2UobGljZW5zZV90eXBlKToKICAgICAgICB0cnk6CiAgICAgICAgICAgIGJiLm1rZGly
aGllcihnZW5fbGljX2Rlc3QpCiAgICAgICAgZXhjZXB0OgogICAgICAgICAgICBwYXNzCiAgICAg
ICAgc3BkeF9nZW5lcmljID0gTm9uZQogICAgICAgIGxpY2Vuc2Vfc291cmNlID0gTm9uZQogICAg
ICAgICMgSWYgdGhlIGdlbmVyaWMgZG9lcyBub3QgZXhpc3Qgd2UgbmVlZCB0byBjaGVjayB0byBz
ZWUgaWYgdGhlcmUgaXMgYW4gU1BEWCBtYXBwaW5nIHRvIGl0CiAgICAgICAgZm9yIGxpY19kaXIg
aW4gbGljZW5zZV9zb3VyY2VfZGlyczoKICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxl
KG9zLnBhdGguam9pbihsaWNfZGlyLCBsaWNlbnNlX3R5cGUpKToKICAgICAgICAgICAgICAgIGlm
IGQuZ2V0VmFyRmxhZygnU1BEWExJQ0VOU0VNQVAnLCBsaWNlbnNlX3R5cGUpICE9IE5vbmU6CiAg
ICAgICAgICAgICAgICAgICAgIyBHcmVhdCwgdGhlcmUgaXMgYW4gU1BEWExJQ0VOU0VNQVAuIFdl
IGNhbiBjb3B5IQogICAgICAgICAgICAgICAgICAgIGJiLmRlYnVnKDEsICJXZSBuZWVkIHRvIHVz
ZSBhIFNQRFhMSUNFTlNFTUFQIGZvciAlcyIgJSAobGljZW5zZV90eXBlKSkKICAgICAgICAgICAg
ICAgICAgICBzcGR4X2dlbmVyaWMgPSBkLmdldFZhckZsYWcoJ1NQRFhMSUNFTlNFTUFQJywgbGlj
ZW5zZV90eXBlKQogICAgICAgICAgICAgICAgICAgIGxpY2Vuc2Vfc291cmNlID0gbGljX2Rpcgog
ICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGVsaWYgb3MucGF0aC5pc2ZpbGUo
b3MucGF0aC5qb2luKGxpY19kaXIsIGxpY2Vuc2VfdHlwZSkpOgogICAgICAgICAgICAgICAgc3Bk
eF9nZW5lcmljID0gbGljZW5zZV90eXBlCiAgICAgICAgICAgICAgICBsaWNlbnNlX3NvdXJjZSA9
IGxpY19kaXIKICAgICAgICAgICAgICAgIGJyZWFrCgogICAgICAgIGlmIHNwZHhfZ2VuZXJpYyBh
bmQgbGljZW5zZV9zb3VyY2U6CiAgICAgICAgICAgICMgd2UgcmVhbGx5IHNob3VsZCBjb3B5IHRv
IGdlbmVyaWNfICsgc3BkeF9nZW5lcmljLCBob3dldmVyLCB0aGF0IGVuZHMgdXAgbWVzc2luZyB0
aGUgbWFuaWZlc3QKICAgICAgICAgICAgIyBhdWRpdCB1cC4gVGhpcyBzaG91bGQgYmUgZml4ZWQg
aW4gZW1pdF9wa2dkYXRhIChvciwgd2UgYWN0dWFsbHkgZ290IGFuZCBmaXggYWxsIHRoZSByZWNp
cGVzKQoKICAgICAgICAgICAgYmIuY29weWZpbGUob3MucGF0aC5qb2luKGxpY2Vuc2Vfc291cmNl
LCBzcGR4X2dlbmVyaWMpLCBvcy5wYXRoLmpvaW4ob3MucGF0aC5qb2luKGQuZ2V0VmFyKCdMSUNT
U1RBVEVESVInLCBUcnVlKSwgcG4pLCAiZ2VuZXJpY18iICsgbGljZW5zZV90eXBlKSkKICAgICAg
ICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihvcy5wYXRoLmpvaW4oZC5n
ZXRWYXIoJ0xJQ1NTVEFURURJUicsIFRydWUpLCBwbiksICJnZW5lcmljXyIgKyBsaWNlbnNlX3R5
cGUpKToKICAgICAgICAgICAgIyBJZiB0aGUgY29weSBkaWRuJ3Qgb2NjdXIsIHNvbWV0aGluZyBo
b3JyaWJsZSB3ZW50IHdyb25nIGFuZCB3ZSBmYWlsIG91dAogICAgICAgICAgICAgICAgYmIud2Fy
bigiJXMgZm9yICVzIGNvdWxkIG5vdCBiZSBjb3BpZWQgZm9yIHNvbWUgcmVhc29uLiBJdCBtYXkg
bm90IGV4aXN0LiBXQVJOIGZvciBub3cuIiAlIChzcGR4X2dlbmVyaWMsIHBuKSkKICAgICAgICBl
bHNlOgogICAgICAgICAgICAjIEFuZCBoZXJlIGlzIHdoZXJlIHdlIHdhcm4gcGVvcGxlIHRoYXQg
dGhlaXIgbGljZW5zZXMgYXJlIGxvdXN5CiAgICAgICAgICAgIGJiLndhcm4oIiVzOiBObyBnZW5l
cmljIGxpY2Vuc2UgZmlsZSBleGlzdHMgZm9yOiAlcyBpbiBhbnkgcHJvdmlkZXIiICUgKHBuLCBs
aWNlbnNlX3R5cGUpKQogICAgICAgICAgICBwYXNzCgogICAgdHJ5OgogICAgICAgIGJiLm1rZGly
aGllcihkZXN0ZGlyKQogICAgZXhjZXB0OgogICAgICAgIHBhc3MKCiAgICBpZiBub3QgZ2VuZXJp
Y19kaXJlY3Rvcnk6CiAgICAgICAgcmFpc2UgYmIuYnVpbGQuRnVuY0ZhaWxlZCgiQ09NTU9OX0xJ
Q0VOU0VfRElSIGlzIHVuc2V0LiBQbGVhc2Ugc2V0IHRoaXMgaW4geW91ciBkaXN0cm8gY29uZmln
IikKCiAgICBpZiBub3QgbGljX2ZpbGVzOgogICAgICAgICMgTm8gcmVjaXBlIHNob3VsZCBoYXZl
IGFuIGludmFsaWQgbGljZW5zZSBmaWxlLiBUaGlzIGlzIGNoZWNrZWQgZWxzZQogICAgICAgICMg
d2hlcmUsIGJ1dCBsZXQncyBiZSBwZWRhbnRpYwogICAgICAgIGJiLm5vdGUocG4gKyAiOiBSZWNp
cGUgZmlsZSBkb2VzIG5vdCBoYXZlIGxpY2Vuc2UgZmlsZSBpbmZvcm1hdGlvbi4iKQogICAgICAg
IHJldHVybiBUcnVlCgogICAgZm9yIHVybCBpbiBsaWNfZmlsZXMuc3BsaXQoKToKICAgICAgICAo
dHlwZSwgaG9zdCwgcGF0aCwgdXNlciwgcHN3ZCwgcGFybSkgPSBiYi5kZWNvZGV1cmwodXJsKQog
ICAgICAgICMgV2Ugd2FudCB0aGUgbGljZW5zZSBmaWxlIHRvIGJlIGNvcGllZCBpbnRvIHRoZSBk
ZXN0aW5hdGlvbgogICAgICAgIHNyY2xpY2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCBwYXRo
KQogICAgICAgIHJldCA9IGJiLmNvcHlmaWxlKHNyY2xpY2ZpbGUsIG9zLnBhdGguam9pbihkZXN0
ZGlyLCBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpKSkKICAgICAgICAjIElmIHRoZSBjb3B5IGRpZG4n
dCBvY2N1ciwgc29tZXRoaW5nIGhvcnJpYmxlIHdlbnQgd3JvbmcgYW5kIHdlIGZhaWwgb3V0CiAg
ICAgICAgaWYgbm90IHJldDoKICAgICAgICAgICAgYmIud2FybigiJXMgY291bGQgbm90IGJlIGNv
cGllZCBmb3Igc29tZSByZWFzb24uIEl0IG1heSBub3QgZXhpc3QuIFdBUk4gZm9yIG5vdy4iICUg
c3JjbGljZmlsZSkKCiAgICB2ID0gRmluZFZpc2l0b3IoKQogICAgdHJ5OgogICAgICAgIHYudmlz
aXRfc3RyaW5nKGxpY2Vuc2VfdHlwZXMpCiAgICBleGNlcHQgb2UubGljZW5zZS5JbnZhbGlkTGlj
ZW5zZSBhcyBleGM6CiAgICAgICAgYmIuZmF0YWwoJyVzOiAlcycgJSAoZC5nZXRWYXIoJ1BGJywg
VHJ1ZSksIGV4YykpCiAgICBleGNlcHQgU3ludGF4RXJyb3I6CiAgICAgICAgYmIud2FybigiJXM6
IEZhaWxlZCB0byBwYXJzZSBpdCdzIExJQ0VOU0UgZmllbGQuIiAlIChkLmdldFZhcignUEYnLCBU
cnVlKSkpCgp9CgoKcHl0aG9uIHNzdGF0ZV9jaGVja2hhc2hlcyAoKSB7CmRlZiBzc3RhdGVfY2hl
Y2toYXNoZXMoc3FfZm4sIHNxX3Rhc2ssIHNxX2hhc2gsIHNxX2hhc2hmbiwgZCk6CgogICAgcmV0
ID0gW10KICAgICMgVGhpcyBuZWVkcyB0byBnbyBhd2F5LCBGSVhNRQogICAgbWFwcGluZyA9IHsK
ICAgICAgICAiZG9fcG9wdWxhdGVfc3lzcm9vdCIgOiAicG9wdWxhdGUtc3lzcm9vdCIsCiAgICAg
ICAgImRvX3BvcHVsYXRlX2xpYyIgOiAicG9wdWxhdGUtbGljIiwKICAgICAgICAiZG9fcGFja2Fn
ZV93cml0ZV9pcGsiIDogImRlcGxveS1pcGsiLAogICAgICAgICJkb19wYWNrYWdlX3dyaXRlX2Rl
YiIgOiAiZGVwbG95LWRlYiIsCiAgICAgICAgImRvX3BhY2thZ2Vfd3JpdGVfcnBtIiA6ICJkZXBs
b3ktcnBtIiwKICAgICAgICAiZG9fcGFja2FnZSIgOiAicGFja2FnZSIsCiAgICAgICAgImRvX2Rl
cGxveSIgOiAiZGVwbG95IiwKICAgIH0KCiAgICBmb3IgdGFzayBpbiByYW5nZShsZW4oc3FfZm4p
KToKICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoIi9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vc3N0YXRlLWNhY2hlLyIgKyBzcV9oYXNoZm5bdGFza10gKyAiXyIgKyBtYXBw
aW5nW3NxX3Rhc2tbdGFza11dICsgIi50Z3oiKQogICAgICAgIHNzdGF0ZWZpbGUgPSBzc3RhdGVm
aWxlLnJlcGxhY2UoIiR7QkJfVEFTS0hBU0h9Iiwgc3FfaGFzaFt0YXNrXSkKICAgICAgICBpZiBv
cy5wYXRoLmV4aXN0cyhzc3RhdGVmaWxlKToKICAgICAgICAgICAgYmIuZGVidWcoMiwgIlNTdGF0
ZTogRm91bmQgdmFsaWQgc3N0YXRlIGZpbGUgJXMiICUgc3N0YXRlZmlsZSkKICAgICAgICAgICAg
cmV0LmFwcGVuZCh0YXNrKQogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGVsc2U6CiAgICAg
ICAgICAgIGJiLmRlYnVnKDIsICJTU3RhdGU6IExvb2tlZCBmb3IgYnV0IGRpZG4ndCBmaW5kIGZp
bGUgJXMiICUgc3N0YXRlZmlsZSkKCiAgICBtaXJyb3JzID0gZC5nZXRWYXIoIlNTVEFURV9NSVJS
T1JTIiwgVHJ1ZSkKICAgIGlmIG1pcnJvcnM6CiAgICAgICAgIyBDb3B5IHRoZSBkYXRhIG9iamVj
dCBhbmQgb3ZlcnJpZGUgRExfRElSIGFuZCBTUkNfVVJJCiAgICAgICAgbG9jYWxkYXRhID0gYmIu
ZGF0YS5jcmVhdGVDb3B5KGQpCiAgICAgICAgYmIuZGF0YS51cGRhdGVfZGF0YShsb2NhbGRhdGEp
CgogICAgICAgIGRsZGlyID0gbG9jYWxkYXRhLmV4cGFuZCgiL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby9zc3RhdGUtY2FjaGUiKQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ0RM
X0RJUicsIGRsZGlyKQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1BSRU1JUlJPUlMnLCBtaXJy
b3JzKQoKICAgICAgICBiYi5kZWJ1ZygyLCAiU1N0YXRlIHVzaW5nIHByZW1pcnJvciBvZjogJXMi
ICUgbWlycm9ycykKCiAgICAgICAgZm9yIHRhc2sgaW4gcmFuZ2UobGVuKHNxX2ZuKSk6CiAgICAg
ICAgICAgIGlmIHRhc2sgaW4gcmV0OgogICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAg
ICAgIHNzdGF0ZWZpbGUgPSBkLmV4cGFuZCgiL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby9zc3RhdGUtY2FjaGUvIiArIHNxX2hhc2hmblt0YXNrXSArICJfIiArIG1hcHBpbmdbc3Ff
dGFza1t0YXNrXV0gKyAiLnRneiIpCiAgICAgICAgICAgIHNzdGF0ZWZpbGUgPSBzc3RhdGVmaWxl
LnJlcGxhY2UoIiR7QkJfVEFTS0hBU0h9Iiwgc3FfaGFzaFt0YXNrXSkKCiAgICAgICAgICAgIHNy
Y3VyaSA9ICJmaWxlOi8vIiArIG9zLnBhdGguYmFzZW5hbWUoc3N0YXRlZmlsZSkKICAgICAgICAg
ICAgbG9jYWxkYXRhLnNldFZhcignU1JDX1VSSScsIHNyY3VyaSkKICAgICAgICAgICAgYmIuZGVi
dWcoMiwgIlNTdGF0ZTogQXR0ZW1wdGluZyB0byBmZXRjaCAlcyIgJSBzcmN1cmkpCgogICAgICAg
ICAgICB0cnk6CiAgICAgICAgICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKHNyY3Vy
aS5zcGxpdCgpLCBsb2NhbGRhdGEpCiAgICAgICAgICAgICAgICBmZXRjaGVyLmNoZWNrc3RhdHVz
KCkKICAgICAgICAgICAgICAgIGJiLmRlYnVnKDIsICJTU3RhdGU6IFN1Y2Nlc3NmdWwgZmV0Y2gg
dGVzdCBmb3IgJXMiICUgc3JjdXJpKQogICAgICAgICAgICAgICAgcmV0LmFwcGVuZCh0YXNrKQog
ICAgICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAiU1N0YXRlOiBV
bnN1Y2Nlc3NmdWwgZmV0Y2ggdGVzdCBmb3IgJXMiICUgc3JjdXJpKQogICAgICAgICAgICAgICAg
cGFzcwoKICAgIHJldHVybiByZXQKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvciAo
KSB7CmRlZiBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcihlcnJvcl9jbGFzcywgZXJyb3JfbXNnLCBk
KToKICAgIHBhY2thZ2VfcWFfd3JpdGVfZXJyb3IoZXJyb3JfbXNnLCBkKQogICAgaWYgZXJyb3Jf
Y2xhc3MgaW4gKGQuZ2V0VmFyKCJFUlJPUl9RQSIsIFRydWUpIG9yICIiKS5zcGxpdCgpOgogICAg
ICAgIGJiLmVycm9yKCJRQSBJc3N1ZTogJXMiICUgZXJyb3JfbXNnKQogICAgICAgIHJldHVybiBG
YWxzZQogICAgZWxzZToKICAgICAgICBiYi53YXJuKCJRQSBJc3N1ZTogJXMiICUgZXJyb3JfbXNn
KQogICAgICAgIHJldHVybiBUcnVlCn0KCgpweXRob24gZG9fcGFja2FnZV9pcGsgKCkgewoJaW1w
b3J0IHJlLCBjb3B5CglpbXBvcnQgdGV4dHdyYXAKCgl3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktE
SVInLCBUcnVlKQoJb3V0ZGlyID0gZC5nZXRWYXIoJ1BLR1dSSVRFRElSSVBLJywgVHJ1ZSkKCXRt
cGRpciA9IGQuZ2V0VmFyKCdUTVBESVInLCBUcnVlKQoJcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dE
RVNUJywgVHJ1ZSkKCWlmIG5vdCB3b3JrZGlyIG9yIG5vdCBvdXRkaXIgb3Igbm90IHRtcGRpcjoK
CQliYi5lcnJvcigiVmFyaWFibGVzIGluY29ycmVjdGx5IHNldCwgdW5hYmxlIHRvIHBhY2thZ2Ui
KQoJCXJldHVybgoKCXBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSkKCWlmIG5v
dCBwYWNrYWdlcyBvciBwYWNrYWdlcyA9PSAnJzoKCQliYi5kZWJ1ZygxLCAiTm8gcGFja2FnZXM7
IG5vdGhpbmcgdG8gZG8iKQoJCXJldHVybgoKCSMgV2UncmUgYWJvdXQgdG8gYWRkIG5ldyBwYWNr
YWdlcyBzbyB0aGUgaW5kZXggbmVlZHMgdG8gYmUgY2hlY2tlZAogICAgICAgICMgc28gcmVtb3Zl
IHRoZSBhcHByb3ByaWF0ZSBzdGFtcCBmaWxlLgoJaWYgb3MuYWNjZXNzKG9zLnBhdGguam9pbih0
bXBkaXIsICJzdGFtcHMiLCAiSVBLX1BBQ0tBR0VfSU5ERVhfQ0xFQU4iKSwgb3MuUl9PSyk6CgkJ
b3MudW5saW5rKG9zLnBhdGguam9pbih0bXBkaXIsICJzdGFtcHMiLCAiSVBLX1BBQ0tBR0VfSU5E
RVhfQ0xFQU4iKSkKCglmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CgkJbG9jYWxkYXRhID0g
YmIuZGF0YS5jcmVhdGVDb3B5KGQpCgkJcm9vdCA9ICIlcy8lcyIgJSAocGtnZGVzdCwgcGtnKQoK
CQlsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKHJvb3QgKyAiLmxvY2siKQoKCQlsb2NhbGRhdGEuc2V0
VmFyKCdST09UJywgJycpCgkJbG9jYWxkYXRhLnNldFZhcignUk9PVF8lcycgJSBwa2csIHJvb3Qp
CgkJcGtnbmFtZSA9IGxvY2FsZGF0YS5nZXRWYXIoJ1BLR18lcycgJSBwa2csIFRydWUpCgkJaWYg
bm90IHBrZ25hbWU6CgkJCXBrZ25hbWUgPSBwa2cKCQlsb2NhbGRhdGEuc2V0VmFyKCdQS0cnLCBw
a2duYW1lKQoKCQlsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCBwa2cpCgoJCWJiLmRhdGEu
dXBkYXRlX2RhdGEobG9jYWxkYXRhKQoJCWJhc2VkaXIgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5k
aXJuYW1lKHJvb3QpKQoJCWFyY2ggPSBsb2NhbGRhdGEuZ2V0VmFyKCdQQUNLQUdFX0FSQ0gnLCBU
cnVlKQoJCXBrZ291dGRpciA9ICIlcy8lcyIgJSAob3V0ZGlyLCBhcmNoKQoJCWJiLm1rZGlyaGll
cihwa2dvdXRkaXIpCgkJb3MuY2hkaXIocm9vdCkKCQlmcm9tIGdsb2IgaW1wb3J0IGdsb2IKCQln
ID0gZ2xvYignKicpCgkJdHJ5OgoJCQlkZWwgZ1tnLmluZGV4KCdDT05UUk9MJyldCgkJCWRlbCBn
W2cuaW5kZXgoJy4vQ09OVFJPTCcpXQoJCWV4Y2VwdCBWYWx1ZUVycm9yOgoJCQlwYXNzCgkJaWYg
bm90IGcgYW5kIGxvY2FsZGF0YS5nZXRWYXIoJ0FMTE9XX0VNUFRZJykgIT0gIjEiOgoJCQliYi5u
b3RlKCJOb3QgY3JlYXRpbmcgZW1wdHkgYXJjaGl2ZSBmb3IgJXMtJXMtJXMiICUgKHBrZywgbG9j
YWxkYXRhLmdldFZhcignUEtHVicsIFRydWUpLCBsb2NhbGRhdGEuZ2V0VmFyKCdQS0dSJywgVHJ1
ZSkpKQoJCQliYi51dGlscy51bmxvY2tmaWxlKGxmKQoJCQljb250aW51ZQoKCQljb250cm9sZGly
ID0gb3MucGF0aC5qb2luKHJvb3QsICdDT05UUk9MJykKCQliYi5ta2RpcmhpZXIoY29udHJvbGRp
cikKCQl0cnk6CgkJCWN0cmxmaWxlID0gZmlsZShvcy5wYXRoLmpvaW4oY29udHJvbGRpciwgJ2Nv
bnRyb2wnKSwgJ3cnKQoJCWV4Y2VwdCBPU0Vycm9yOgoJCQliYi51dGlscy51bmxvY2tmaWxlKGxm
KQoJCQlyYWlzZSBiYi5idWlsZC5GdW5jRmFpbGVkKCJ1bmFibGUgdG8gb3BlbiBjb250cm9sIGZp
bGUgZm9yIHdyaXRpbmcuIikKCgkJZmllbGRzID0gW10KCQlwZSA9IGQuZ2V0VmFyKCdQS0dFJywg
VHJ1ZSkKCQlpZiBwZSBhbmQgaW50KHBlKSA+IDA6CgkJCWZpZWxkcy5hcHBlbmQoWyJWZXJzaW9u
OiAlczolcy0lc1xuIiwgWydQS0dFJywgJ1BLR1YnLCAnUEtHUiddXSkKCQllbHNlOgoJCQlmaWVs
ZHMuYXBwZW5kKFsiVmVyc2lvbjogJXMtJXNcbiIsIFsnUEtHVicsICdQS0dSJ11dKQoJCWZpZWxk
cy5hcHBlbmQoWyJEZXNjcmlwdGlvbjogJXNcbiIsIFsnREVTQ1JJUFRJT04nXV0pCgkJZmllbGRz
LmFwcGVuZChbIlNlY3Rpb246ICVzXG4iLCBbJ1NFQ1RJT04nXV0pCgkJZmllbGRzLmFwcGVuZChb
IlByaW9yaXR5OiAlc1xuIiwgWydQUklPUklUWSddXSkKCQlmaWVsZHMuYXBwZW5kKFsiTWFpbnRh
aW5lcjogJXNcbiIsIFsnTUFJTlRBSU5FUiddXSkKCQlmaWVsZHMuYXBwZW5kKFsiTGljZW5zZTog
JXNcbiIsIFsnTElDRU5TRSddXSkKCQlmaWVsZHMuYXBwZW5kKFsiQXJjaGl0ZWN0dXJlOiAlc1xu
IiwgWydQQUNLQUdFX0FSQ0gnXV0pCgkJZmllbGRzLmFwcGVuZChbIk9FOiAlc1xuIiwgWydQTidd
XSkKCQlmaWVsZHMuYXBwZW5kKFsiSG9tZXBhZ2U6ICVzXG4iLCBbJ0hPTUVQQUdFJ11dKQoKCQlk
ZWYgcHVsbERhdGEobCwgZCk6CgkJCWwyID0gW10KCQkJZm9yIGkgaW4gbDoKCQkJCWwyLmFwcGVu
ZChkLmdldFZhcihpLCBUcnVlKSkKCQkJcmV0dXJuIGwyCgoJCWN0cmxmaWxlLndyaXRlKCJQYWNr
YWdlOiAlc1xuIiAlIHBrZ25hbWUpCgkJIyBjaGVjayBmb3IgcmVxdWlyZWQgZmllbGRzCgkJdHJ5
OgoJCQlmb3IgKGMsIGZzKSBpbiBmaWVsZHM6CgkJCQlmb3IgZiBpbiBmczoKCQkJCQlpZiBsb2Nh
bGRhdGEuZ2V0VmFyKGYpIGlzIE5vbmU6CgkJCQkJCXJhaXNlIEtleUVycm9yKGYpCgkJCQkjIFNw
ZWNpYWwgYmVoYXZpb3IgZm9yIGRlc2NyaXB0aW9uLi4uCgkJCQlpZiAnREVTQ1JJUFRJT04nIGlu
IGZzOgoJCQkJCXN1bW1hcnkgPSBsb2NhbGRhdGEuZ2V0VmFyKCdTVU1NQVJZJywgVHJ1ZSkgb3Ig
bG9jYWxkYXRhLmdldFZhcignREVTQ1JJUFRJT04nLCBUcnVlKSBvciAiLiIKCQkJCQlkZXNjcmlw
dGlvbiA9IGxvY2FsZGF0YS5nZXRWYXIoJ0RFU0NSSVBUSU9OJywgVHJ1ZSkgb3IgIi4iCgkJCQkJ
ZGVzY3JpcHRpb24gPSB0ZXh0d3JhcC5kZWRlbnQoZGVzY3JpcHRpb24pLnN0cmlwKCkKCQkJCQlj
dHJsZmlsZS53cml0ZSgnRGVzY3JpcHRpb246ICVzXG4nICUgc3VtbWFyeSkKCQkJCQljdHJsZmls
ZS53cml0ZSgnJXNcbicgJSB0ZXh0d3JhcC5maWxsKGRlc2NyaXB0aW9uLCB3aWR0aD03NCwgaW5p
dGlhbF9pbmRlbnQ9JyAnLCBzdWJzZXF1ZW50X2luZGVudD0nICcpKQoJCQkJZWxzZToKCQkJCQlj
dHJsZmlsZS53cml0ZShjICUgdHVwbGUocHVsbERhdGEoZnMsIGxvY2FsZGF0YSkpKQoJCWV4Y2Vw
dCBLZXlFcnJvcjoKCQkJaW1wb3J0IHN5cwoJCQkodHlwZSwgdmFsdWUsIHRyYWNlYmFjaykgPSBz
eXMuZXhjX2luZm8oKQoJCQljdHJsZmlsZS5jbG9zZSgpCgkJCWJiLnV0aWxzLnVubG9ja2ZpbGUo
bGYpCgkJCXJhaXNlIGJiLmJ1aWxkLkZ1bmNGYWlsZWQoIk1pc3NpbmcgZmllbGQgZm9yIGlwayBn
ZW5lcmF0aW9uOiAlcyIgJSB2YWx1ZSkKCQkjIG1vcmUgZmllbGRzCgoJCWJiLmJ1aWxkLmV4ZWNf
ZnVuYygibWFwcGluZ19yZW5hbWVfaG9vayIsIGxvY2FsZGF0YSkKCgkJcmRlcGVuZHMgPSBiYi51
dGlscy5leHBsb2RlX2RlcF92ZXJzaW9ucyhsb2NhbGRhdGEuZ2V0VmFyKCJSREVQRU5EUyIsIFRy
dWUpIG9yICIiKQoJCXJyZWNvbW1lbmRzID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMo
bG9jYWxkYXRhLmdldFZhcigiUlJFQ09NTUVORFMiLCBUcnVlKSBvciAiIikKCQlyc3VnZ2VzdHMg
PSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9ucyhsb2NhbGRhdGEuZ2V0VmFyKCJSU1VHR0VT
VFMiLCBUcnVlKSBvciAiIikKCQlycHJvdmlkZXMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJz
aW9ucyhsb2NhbGRhdGEuZ2V0VmFyKCJSUFJPVklERVMiLCBUcnVlKSBvciAiIikKCQlycmVwbGFj
ZXMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9ucyhsb2NhbGRhdGEuZ2V0VmFyKCJSUkVQ
TEFDRVMiLCBUcnVlKSBvciAiIikKCQlyY29uZmxpY3RzID0gYmIudXRpbHMuZXhwbG9kZV9kZXBf
dmVyc2lvbnMobG9jYWxkYXRhLmdldFZhcigiUkNPTkZMSUNUUyIsIFRydWUpIG9yICIiKQoKCQlp
ZiByZGVwZW5kczoKCQkJY3RybGZpbGUud3JpdGUoIkRlcGVuZHM6ICVzXG4iICUgYmIudXRpbHMu
am9pbl9kZXBzKHJkZXBlbmRzKSkKCQlpZiByc3VnZ2VzdHM6CgkJCWN0cmxmaWxlLndyaXRlKCJT
dWdnZXN0czogJXNcbiIgJSBiYi51dGlscy5qb2luX2RlcHMocnN1Z2dlc3RzKSkKCQlpZiBycmVj
b21tZW5kczoKCQkJY3RybGZpbGUud3JpdGUoIlJlY29tbWVuZHM6ICVzXG4iICUgYmIudXRpbHMu
am9pbl9kZXBzKHJyZWNvbW1lbmRzKSkKCQlpZiBycHJvdmlkZXM6CgkJCWN0cmxmaWxlLndyaXRl
KCJQcm92aWRlczogJXNcbiIgJSBiYi51dGlscy5qb2luX2RlcHMocnByb3ZpZGVzKSkKCQlpZiBy
cmVwbGFjZXM6CgkJCWN0cmxmaWxlLndyaXRlKCJSZXBsYWNlczogJXNcbiIgJSBiYi51dGlscy5q
b2luX2RlcHMocnJlcGxhY2VzKSkKCQlpZiByY29uZmxpY3RzOgoJCQljdHJsZmlsZS53cml0ZSgi
Q29uZmxpY3RzOiAlc1xuIiAlIGJiLnV0aWxzLmpvaW5fZGVwcyhyY29uZmxpY3RzKSkKCQlzcmNf
dXJpID0gbG9jYWxkYXRhLmdldFZhcigiU1JDX1VSSSIsIFRydWUpIG9yICJOb25lIgoJCWlmIHNy
Y191cmk6CgkJCXNyY191cmkgPSByZS5zdWIoIlxzKyIsICIgIiwgc3JjX3VyaSkKCQkJY3RybGZp
bGUud3JpdGUoIlNvdXJjZTogJXNcbiIgJSAiICIuam9pbihzcmNfdXJpLnNwbGl0KCkpKQoJCWN0
cmxmaWxlLmNsb3NlKCkKCgkJZm9yIHNjcmlwdCBpbiBbInByZWluc3QiLCAicG9zdGluc3QiLCAi
cHJlcm0iLCAicG9zdHJtIl06CgkJCXNjcmlwdHZhciA9IGxvY2FsZGF0YS5nZXRWYXIoJ3BrZ18l
cycgJSBzY3JpcHQsIFRydWUpCgkJCWlmIG5vdCBzY3JpcHR2YXI6CgkJCQljb250aW51ZQoJCQl0
cnk6CgkJCQlzY3JpcHRmaWxlID0gZmlsZShvcy5wYXRoLmpvaW4oY29udHJvbGRpciwgc2NyaXB0
KSwgJ3cnKQoJCQlleGNlcHQgT1NFcnJvcjoKCQkJCWJiLnV0aWxzLnVubG9ja2ZpbGUobGYpCgkJ
CQlyYWlzZSBiYi5idWlsZC5GdW5jRmFpbGVkKCJ1bmFibGUgdG8gb3BlbiAlcyBzY3JpcHQgZmls
ZSBmb3Igd3JpdGluZy4iICUgc2NyaXB0KQoJCQlzY3JpcHRmaWxlLndyaXRlKHNjcmlwdHZhcikK
CQkJc2NyaXB0ZmlsZS5jbG9zZSgpCgkJCW9zLmNobW9kKG9zLnBhdGguam9pbihjb250cm9sZGly
LCBzY3JpcHQpLCAwNzU1KQoKCQljb25mZmlsZXNfc3RyID0gbG9jYWxkYXRhLmdldFZhcigiQ09O
RkZJTEVTIiwgVHJ1ZSkKCQlpZiBjb25mZmlsZXNfc3RyOgoJCQl0cnk6CgkJCQljb25mZmlsZXMg
PSBmaWxlKG9zLnBhdGguam9pbihjb250cm9sZGlyLCAnY29uZmZpbGVzJyksICd3JykKCQkJZXhj
ZXB0IE9TRXJyb3I6CgkJCQliYi51dGlscy51bmxvY2tmaWxlKGxmKQoJCQkJcmFpc2UgYmIuYnVp
bGQuRnVuY0ZhaWxlZCgidW5hYmxlIHRvIG9wZW4gY29uZmZpbGVzIGZvciB3cml0aW5nLiIpCgkJ
CWZvciBmIGluIGNvbmZmaWxlc19zdHIuc3BsaXQoKToKCQkJCWNvbmZmaWxlcy53cml0ZSgnJXNc
bicgJSBmKQoJCQljb25mZmlsZXMuY2xvc2UoKQoKCQlvcy5jaGRpcihiYXNlZGlyKQoJCXJldCA9
IG9zLnN5c3RlbSgiUEFUSD1cIiVzXCIgJXMgJXMgJXMiICUgKGxvY2FsZGF0YS5nZXRWYXIoIlBB
VEgiLCBUcnVlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGQuZ2V0VmFyKCJPUEtHQlVJTERDTUQiLDEpLCBwa2csIHBrZ291dGRpcikp
CgkJaWYgcmV0ICE9IDA6CgkJCWJiLnV0aWxzLnVubG9ja2ZpbGUobGYpCgkJCXJhaXNlIGJiLmJ1
aWxkLkZ1bmNGYWlsZWQoIm9wa2ctYnVpbGQgZXhlY3V0aW9uIGZhaWxlZCIpCgoJCWJiLnV0aWxz
LnBydW5lZGlyKGNvbnRyb2xkaXIpCgkJYmIudXRpbHMudW5sb2NrZmlsZShsZikKCn0KCgpweXRo
b24gYWxsX211bHRpbGliX3R1bmVfdmFsdWVzICgpIHsKZGVmIGFsbF9tdWx0aWxpYl90dW5lX3Zh
bHVlcyhkLCB2YXIsIHVuaXF1ZSA9IFRydWUsIG5lZWRfc3BsaXQgPSBUcnVlLCBkZWxpbSA9ICcg
Jyk6CgkiIiJSZXR1cm4gYSBzdHJpbmcgb2YgYWxsICR7dmFyfSBpbiBhbGwgbXVsdGlsaWIgdHVu
ZSBjb25maWd1cmF0aW9uIiIiCgl2YWx1ZXMgPSBbXQoJdmFsdWUgPSBkLmdldFZhcih2YXIsIFRy
dWUpIG9yICIiCglpZiB2YWx1ZSAhPSAiIjoKCQlpZiBuZWVkX3NwbGl0OgoJCQlmb3IgaXRlbSBp
biB2YWx1ZS5zcGxpdChkZWxpbSk6CgkJCQl2YWx1ZXMuYXBwZW5kKGl0ZW0pCgkJZWxzZToKCQkJ
dmFsdWVzLmFwcGVuZCh2YWx1ZSkKCXZhcmlhbnRzID0gZC5nZXRWYXIoIk1VTFRJTElCX1ZBUklB
TlRTIiwgVHJ1ZSkgb3IgIiIKCWZvciBpdGVtIGluIHZhcmlhbnRzLnNwbGl0KCk6CgkJbG9jYWxk
YXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCgkJb3ZlcnJpZGVzID0gbG9jYWxkYXRhLmdldFZh
cigiT1ZFUlJJREVTIiwgRmFsc2UpICsgIjp2aXJ0Y2xhc3MtbXVsdGlsaWItIiArIGl0ZW0KCQls
b2NhbGRhdGEuc2V0VmFyKCJPVkVSUklERVMiLCBvdmVycmlkZXMpCgkJYmIuZGF0YS51cGRhdGVf
ZGF0YShsb2NhbGRhdGEpCgkJdmFsdWUgPSBsb2NhbGRhdGEuZ2V0VmFyKHZhciwgVHJ1ZSkgb3Ig
IiIKCQlpZiB2YWx1ZSAhPSAiIjoKCQkJaWYgbmVlZF9zcGxpdDoKCQkJCWZvciBpdGVtIGluIHZh
bHVlLnNwbGl0KGRlbGltKToKCQkJCQl2YWx1ZXMuYXBwZW5kKGl0ZW0pCgkJCWVsc2U6CgkJCQl2
YWx1ZXMuYXBwZW5kKHZhbHVlKQoJaWYgdW5pcXVlOgoJCSN3ZSBkbyB0aGlzIHRvIGtlZXAgb3Jk
ZXIgYXMgbXVjaCBhcyBwb3NzaWJsZQoJCXJldCA9IFtdCgkJZm9yIHZhbHVlIGluIHZhbHVlczoK
CQkJaWYgbm90IHZhbHVlIGluIHJldDoKCQkJCXJldC5hcHBlbmQodmFsdWUpCgllbHNlOgoJCXJl
dCA9IHZhbHVlcwoJcmV0dXJuICIgIi5qb2luKHJldCl9CgoKcHl0aG9uIHBhY2thZ2VfZ2V0X2F1
dG9fcHIgKCkgewoJIyBwZXIgcmVjaXBlIFBSU0VSVl9IT1NUIFBSU0VSVl9QT1JUCglwbiA9IGQu
Z2V0VmFyKCdQTicsIFRydWUpCglob3N0ID0gZC5nZXRWYXIoIlBSU0VSVl9IT1NUXyIgKyBwbiwg
VHJ1ZSkKCXBvcnQgPSBkLmdldFZhcigiUFJTRVJWX1BPUlRfIiArIHBuLCBUcnVlKQoJaWYgbm90
IChob3N0IGlzIE5vbmUpOgoJCWQuc2V0VmFyKCJQUlNFUlZfSE9TVCIsIGhvc3QpCglpZiBub3Qg
KHBvcnQgaXMgTm9uZSk6CgkJZC5zZXRWYXIoIlBSU0VSVl9QT1JUIiwgcG9ydCkKCWlmIGQuZ2V0
VmFyKCdVU0VfUFJfU0VSVicsIFRydWUpICE9ICIwIjoKCQl0cnk6CgkJCWF1dG9fcHI9cHJzZXJ2
X2dldF9wcl9hdXRvKGQpCgkJZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgoJCQliYi5mYXRhbCgiQ2Fu
IE5PVCBnZXQgUFJBVVRPLCBleGNlcHRpb24gJXMiICUgIHN0cihlKSkKCQkJcmV0dXJuCgkJaWYg
YXV0b19wciBpcyBOb25lOgoJCQlpZiBkLmdldFZhcignUFJTRVJWX0xPQ0tET1dOJywgVHJ1ZSk6
CgkJCQliYi5mYXRhbCgiQ2FuIE5PVCBnZXQgUFJBVVRPIGZyb20gbG9ja2Rvd24gZXhwb3J0ZWQg
ZmlsZSIpCgkJCWVsc2U6CgkJCQliYi5mYXRhbCgiQ2FuIE5PVCBnZXQgUFJBVVRPIGZyb20gcmVt
b3RlIFBSIHNlcnZpY2UiKQoJCQlyZXR1cm4KCQlkLnNldFZhcignUFJBVVRPJyxzdHIoYXV0b19w
cikpCn0KCgpweXRob24gcmVhZF9zaGxpYmRlcHMgKCkgewoJcGFja2FnZXMgPSBkLmdldFZhcign
UEFDS0FHRVMnLCBUcnVlKS5zcGxpdCgpCglmb3IgcGtnIGluIHBhY2thZ2VzOgoJCXJkZXBlbmRz
ID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMoZC5nZXRWYXIoJ1JERVBFTkRTXycgKyBw
a2csIEZhbHNlKSBvciBkLmdldFZhcignUkRFUEVORFMnLCBGYWxzZSkgb3IgIiIpCgoJCWZvciBl
eHRlbnNpb24gaW4gIi5zaGxpYmRlcHMiLCAiLnBjZGVwcyIsICIuY2xpbGliZGVwcyI6CgkJCWRl
cHNmaWxlID0gZC5leHBhbmQoIi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9wYWNrYWdlcy1zcGxp
dC8iICsgcGtnICsgZXh0ZW5zaW9uKQoJCQlpZiBvcy5hY2Nlc3MoZGVwc2ZpbGUsIG9zLlJfT0sp
OgoJCQkJZmQgPSBmaWxlKGRlcHNmaWxlKQoJCQkJbGluZXMgPSBmZC5yZWFkbGluZXMoKQoJCQkJ
ZmQuY2xvc2UoKQoJCQkJZm9yIGwgaW4gbGluZXM6CgkJCQkJcmRlcGVuZHNbbC5yc3RyaXAoKV0g
PSAiIgoJCWQuc2V0VmFyKCdSREVQRU5EU18nICsgcGtnLCBiYi51dGlscy5qb2luX2RlcHMocmRl
cGVuZHMsIGNvbW1hc2VwPUZhbHNlKSkKfQoKCnB5dGhvbiBiYXNlX2RvX2ZldGNoICgpIHsKCglz
cmNfdXJpID0gKGQuZ2V0VmFyKCdTUkNfVVJJJywgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKCWlmIGxl
bihzcmNfdXJpKSA9PSAwOgoJCXJldHVybgoKCWxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29w
eShkKQoJYmIuZGF0YS51cGRhdGVfZGF0YShsb2NhbGRhdGEpCgogICAgICAgIHRyeToKICAgICAg
ICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChzcmNfdXJpLCBsb2NhbGRhdGEpCiAgICAg
ICAgICAgIGZldGNoZXIuZG93bmxvYWQoKQogICAgICAgIGV4Y2VwdCBiYi5mZXRjaDIuQkJGZXRj
aEV4Y2VwdGlvbiwgZToKICAgICAgICAgICAgcmFpc2UgYmIuYnVpbGQuRnVuY0ZhaWxlZChlKQp9
CgoKcHl0aG9uIGRvX3BvcHVsYXRlX3N5c3Jvb3QgKCkgewogICAgIwogICAgIyBpZiBkb19zdGFn
ZSBleGlzdHMsIHdlJ3JlIGxlZ2FjeS4gSW4gdGhhdCBjYXNlIHJ1biB0aGUgZG9fc3RhZ2UsCiAg
ICAjIG1vZGlmeSB0aGUgU1lTUk9PVF9ERVNURElSIHZhcmlhYmxlIGFuZCB0aGVuIHJ1biB0aGUg
c3RhZ2luZyBwcmVwcm9jZXNzCiAgICAjIGZ1bmN0aW9ucyBhZ2FpbnN0IHN0YWdpbmcgZGlyZWN0
bHkuCiAgICAjCiAgICAjIE90aGVyd2lzZSBzZXR1cCBhIGRlc3RkaXIsIGNvcHkgdGhlIHJlc3Vs
dHMgZnJvbSBkb19pbnN0YWxsCiAgICAjIGFuZCBydW4gdGhlIHN0YWdpbmcgcHJlcHJvY2VzcyBh
Z2FpbnN0IHRoYXQKICAgICMKCiAgICBiYi5idWlsZC5leGVjX2Z1bmMoInN5c3Jvb3Rfc3RhZ2Vf
YWxsIiwgZCkKICAgIGZvciBmIGluIChkLmdldFZhcignU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNT
JywgVHJ1ZSkgb3IgJycpLnNwbGl0KCk6CiAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKGYsIGQp
Cn0KCgpweXRob24gc2l0ZWluZm9fZGF0YSAoKSB7CmRlZiBzaXRlaW5mb19kYXRhKGQpOgogICAg
YXJjaGluZm8gPSB7CiAgICAgICAgImFsbGFyY2giOiAiZW5kaWFuLWxpdHRsZSBiaXQtMzIiLCAj
IGJvZ3VzLCBidXQgYmV0dGVyIHRoYW4gc3BlY2lhbC1jYXNpbmcgdGhlIGNoZWNrcyBiZWxvdyBm
b3IgYWxsYXJjaAogICAgICAgICJhcm0iOiAiZW5kaWFuLWxpdHRsZSBiaXQtMzIgYXJtLWNvbW1v
biIsCiAgICAgICAgImFybWViIjogImVuZGlhbi1iaWcgYml0LTMyIGFybS1jb21tb24iLAogICAg
ICAgICJhdnIzMiI6ICJlbmRpYW4tYmlnIGJpdC0zMiBhdnIzMi1jb21tb24iLAogICAgICAgICJi
ZmluIjogImVuZGlhbi1saXR0bGUgYml0LTMyIGJmaW4tY29tbW9uIiwKICAgICAgICAiaTM4NiI6
ICJlbmRpYW4tbGl0dGxlIGJpdC0zMiBpeDg2LWNvbW1vbiIsCiAgICAgICAgImk0ODYiOiAiZW5k
aWFuLWxpdHRsZSBiaXQtMzIgaXg4Ni1jb21tb24iLAogICAgICAgICJpNTg2IjogImVuZGlhbi1s
aXR0bGUgYml0LTMyIGl4ODYtY29tbW9uIiwKICAgICAgICAiaTY4NiI6ICJlbmRpYW4tbGl0dGxl
IGJpdC0zMiBpeDg2LWNvbW1vbiIsCiAgICAgICAgImlhNjQiOiAiZW5kaWFuLWxpdHRsZSBiaXQt
NjQiLAogICAgICAgICJtaWNyb2JsYXplIjogImVuZGlhbi1iaWcgYml0LTMyIG1pY3JvYmxhemUt
Y29tbW9uIiwKICAgICAgICAibWljcm9ibGF6ZWVsIjogImVuZGlhbi1saXR0bGUgYml0LTMyIG1p
Y3JvYmxhemUtY29tbW9uIiwKICAgICAgICAibWlwcyI6ICJlbmRpYW4tYmlnIGJpdC0zMiBtaXBz
LWNvbW1vbiIsCiAgICAgICAgIm1pcHM2NCI6ICJlbmRpYW4tYmlnIGJpdC02NCBtaXBzNjQtY29t
bW9uIiwKICAgICAgICAibWlwczY0ZWwiOiAiZW5kaWFuLWxpdHRsZSBiaXQtNjQgbWlwczY0LWNv
bW1vbiIsCiAgICAgICAgIm1pcHNlbCI6ICJlbmRpYW4tbGl0dGxlIGJpdC0zMiBtaXBzLWNvbW1v
biIsCiAgICAgICAgInBvd2VycGMiOiAiZW5kaWFuLWJpZyBiaXQtMzIgcG93ZXJwYy1jb21tb24i
LAogICAgICAgICJuaW9zMiI6ICJlbmRpYW4tbGl0dGxlIGJpdC0zMiBuaW9zMi1jb21tb24iLAog
ICAgICAgICJwb3dlcnBjNjQiOiAiZW5kaWFuLWJpZyBiaXQtNjQgcG93ZXJwYy1jb21tb24iLAog
ICAgICAgICJwcGMiOiAiZW5kaWFuLWJpZyBiaXQtMzIgcG93ZXJwYy1jb21tb24iLAogICAgICAg
ICJwcGM2NCI6ICJlbmRpYW4tYmlnIGJpdC02NCBwb3dlcnBjLWNvbW1vbiIsCiAgICAgICAgInNo
MyI6ICJlbmRpYW4tbGl0dGxlIGJpdC0zMiBzaC1jb21tb24iLAogICAgICAgICJzaDQiOiAiZW5k
aWFuLWxpdHRsZSBiaXQtMzIgc2gtY29tbW9uIiwKICAgICAgICAic3BhcmMiOiAiZW5kaWFuLWJp
ZyBiaXQtMzIiLAogICAgICAgICJ2aWFjMyI6ICJlbmRpYW4tbGl0dGxlIGJpdC0zMiBpeDg2LWNv
bW1vbiIsCiAgICAgICAgIng4Nl82NCI6ICJlbmRpYW4tbGl0dGxlIiwgIyBiaXRpbmZvIHNwZWNp
ZmllZCBpbiB0YXJnZXRpbmZvCiAgICB9CiAgICBvc2luZm8gPSB7CiAgICAgICAgImRhcndpbiI6
ICJjb21tb24tZGFyd2luIiwKICAgICAgICAiZGFyd2luOSI6ICJjb21tb24tZGFyd2luIiwKICAg
ICAgICAibGludXgiOiAiY29tbW9uLWxpbnV4IGNvbW1vbi1nbGliYyIsCiAgICAgICAgImxpbnV4
LWdudSI6ICJjb21tb24tbGludXggY29tbW9uLWdsaWJjIiwKICAgICAgICAibGludXgtZ251eDMy
IjogImNvbW1vbi1saW51eCBjb21tb24tZ2xpYmMiLAogICAgICAgICJsaW51eC1nbnVlYWJpIjog
ImNvbW1vbi1saW51eCBjb21tb24tZ2xpYmMiLAogICAgICAgICJsaW51eC1nbnVzcGUiOiAiY29t
bW9uLWxpbnV4IGNvbW1vbi1nbGliYyIsCiAgICAgICAgImxpbnV4LXVjbGliYyI6ICJjb21tb24t
bGludXggY29tbW9uLXVjbGliYyIsCiAgICAgICAgImxpbnV4LXVjbGliY2VhYmkiOiAiY29tbW9u
LWxpbnV4IGNvbW1vbi11Y2xpYmMiLAogICAgICAgICJsaW51eC11Y2xpYmNzcGUiOiAiY29tbW9u
LWxpbnV4IGNvbW1vbi11Y2xpYmMiLAogICAgICAgICJ1Y2xpbnV4LXVjbGliYyI6ICJjb21tb24t
dWNsaWJjIiwKICAgICAgICAiY3lnd2luIjogImNvbW1vbi1jeWd3aW4iLAogICAgICAgICJtaW5n
dzMyIjogImNvbW1vbi1taW5ndyIsCiAgICB9CiAgICB0YXJnZXRpbmZvID0gewogICAgICAgICJh
cm0tbGludXgtZ251ZWFiaSI6ICJhcm0tbGludXgiLAogICAgICAgICJhcm0tbGludXgtdWNsaWJj
ZWFiaSI6ICJhcm0tbGludXgtdWNsaWJjIiwKICAgICAgICAiYXJtZWItbGludXgtZ251ZWFiaSI6
ICJhcm1lYi1saW51eCIsCiAgICAgICAgImFybWViLWxpbnV4LXVjbGliY2VhYmkiOiAiYXJtZWIt
bGludXgtdWNsaWJjIiwKICAgICAgICAicG93ZXJwYy1saW51eCI6ICJwb3dlcnBjMzItbGludXgi
LAogICAgICAgICJwb3dlcnBjLWxpbnV4LXVjbGliYyI6ICJwb3dlcnBjLWxpbnV4IHBvd2VycGMz
Mi1saW51eCIsCiAgICAgICAgInBvd2VycGMtbGludXgtZ251c3BlIjogInBvd2VycGMtbGludXgg
cG93ZXJwYzMyLWxpbnV4IiwKICAgICAgICAicG93ZXJwYy1saW51eC11Y2xpYmNzcGUiOiAicG93
ZXJwYy1saW51eCBwb3dlcnBjMzItbGludXggcG93ZXJwYy1saW51eC11Y2xpYmMiLAogICAgICAg
ICJwb3dlcnBjNjQtbGludXgtZ251c3BlIjogInBvd2VycGMtbGludXggcG93ZXJwYzY0LWxpbnV4
IiwKICAgICAgICAicG93ZXJwYzY0LWxpbnV4IjogInBvd2VycGMtbGludXgiLAogICAgICAgICJ4
ODZfNjQtY3lnd2luIjogImJpdC02NCIsCiAgICAgICAgIng4Nl82NC1kYXJ3aW4iOiAiYml0LTY0
IiwKICAgICAgICAieDg2XzY0LWRhcndpbjkiOiAiYml0LTY0IiwKICAgICAgICAieDg2XzY0LWxp
bnV4IjogImJpdC02NCIsCiAgICAgICAgIng4Nl82NC1saW51eC11Y2xpYmMiOiAiYml0LTY0IiwK
ICAgICAgICAieDg2XzY0LWxpbnV4LWdudSI6ICJiaXQtNjQgeDg2XzY0LWxpbnV4IiwKICAgICAg
ICAieDg2XzY0LWxpbnV4LWdudXgzMiI6ICJiaXQtMzIgaXg4Ni1jb21tb24geDMyLWxpbnV4IiwK
ICAgICAgICAieDg2XzY0LW1pbmd3MzIiOiAiYml0LTY0IiwKICAgIH0KCiAgICBob3N0YXJjaCA9
IGQuZ2V0VmFyKCJIT1NUX0FSQ0giLCBUcnVlKQogICAgaG9zdG9zID0gZC5nZXRWYXIoIkhPU1Rf
T1MiLCBUcnVlKQogICAgdGFyZ2V0ID0gIiVzLSVzIiAlIChob3N0YXJjaCwgaG9zdG9zKQoKICAg
IHNpdGVkYXRhID0gW10KICAgIGlmIGhvc3RhcmNoIGluIGFyY2hpbmZvOgogICAgICAgIHNpdGVk
YXRhLmV4dGVuZChhcmNoaW5mb1tob3N0YXJjaF0uc3BsaXQoKSkKICAgIGlmIGhvc3RvcyBpbiBv
c2luZm86CiAgICAgICAgc2l0ZWRhdGEuZXh0ZW5kKG9zaW5mb1tob3N0b3NdLnNwbGl0KCkpCiAg
ICBpZiB0YXJnZXQgaW4gdGFyZ2V0aW5mbzoKICAgICAgICBzaXRlZGF0YS5leHRlbmQodGFyZ2V0
aW5mb1t0YXJnZXRdLnNwbGl0KCkpCiAgICBzaXRlZGF0YS5hcHBlbmQodGFyZ2V0KQogICAgc2l0
ZWRhdGEuYXBwZW5kKCJjb21tb24iKQoKICAgIGJiLmRlYnVnKDEsICJTSVRFIGZpbGVzICVzIiAl
IHNpdGVkYXRhKTsKICAgIHJldHVybiBzaXRlZGF0YQp9CgoKcHl0aG9uIHBhdGNoX3BhdGggKCkg
ewpkZWYgcGF0Y2hfcGF0aCh1cmwsIGZldGNoLCB3b3JrZGlyKToKCSIiIlJldHVybiB0aGUgbG9j
YWwgcGF0aCBvZiBhIHBhdGNoLCBvciBOb25lIGlmIHRoaXMgaXNuJ3QgYSBwYXRjaCIiIgoKCWxv
Y2FsID0gZmV0Y2gubG9jYWxwYXRoKHVybCkKCWJhc2UsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQo
b3MucGF0aC5iYXNlbmFtZShsb2NhbCkpCglpZiBleHQgaW4gKCcuZ3onLCAnLmJ6MicsICcuWicp
OgoJCWxvY2FsID0gb3MucGF0aC5qb2luKHdvcmtkaXIsIGJhc2UpCgkJZXh0ID0gb3MucGF0aC5z
cGxpdGV4dChiYXNlKVsxXQoKCXVybGRhdGEgPSBmZXRjaC51ZFt1cmxdCglpZiAiYXBwbHkiIGlu
IHVybGRhdGEucGFybToKCQlhcHBseSA9IG9lLnR5cGVzLmJvb2xlYW4odXJsZGF0YS5wYXJtWyJh
cHBseSJdKQoJCWlmIG5vdCBhcHBseToKCQkJcmV0dXJuCgllbGlmIGV4dCBub3QgaW4gKCIuZGlm
ZiIsICIucGF0Y2giKToKCQlyZXR1cm4KCglyZXR1cm4gbG9jYWwKfQoKCnB5dGhvbiBiYXNlX2dl
dF9tZXRhZGF0YV9tb25vdG9uZV9yZXZpc2lvbiAoKSB7CmRlZiBiYXNlX2dldF9tZXRhZGF0YV9t
b25vdG9uZV9yZXZpc2lvbihwYXRoLCBkKToKCW1vbm90b25lX3JldmlzaW9uID0gIjx1bmtub3du
PiIKCXRyeToKCQltb25vdG9uZV9yZXZpc2lvbiA9IGZpbGUoICIlcy9fTVROL3JldmlzaW9uIiAl
IHBhdGggKS5yZWFkKCkuc3RyaXAoKQoJCWlmIG1vbm90b25lX3JldmlzaW9uLnN0YXJ0c3dpdGgo
ICJmb3JtYXRfdmVyc2lvbiIgKToKCQkJbW9ub3RvbmVfcmV2aXNpb25fd29yZHMgPSBtb25vdG9u
ZV9yZXZpc2lvbi5zcGxpdCgpCgkJCW1vbm90b25lX3JldmlzaW9uID0gbW9ub3RvbmVfcmV2aXNp
b25fd29yZHNbIG1vbm90b25lX3JldmlzaW9uX3dvcmRzLmluZGV4KCAib2xkX3JldmlzaW9uIiAp
KzFdWzE6LTFdCglleGNlcHQgSU9FcnJvcjoKCQlwYXNzCglyZXR1cm4gbW9ub3RvbmVfcmV2aXNp
b24KfQoKCnB5dGhvbiBiYXNlX3BhdGhfb3V0ICgpIHsKZGVmIGJhc2VfcGF0aF9vdXQocGF0aCwg
ZCk6CiAgICByZXR1cm4gb2UucGF0aC5mb3JtYXRfZGlzcGxheShwYXRoLCBkKQp9CgoKcHl0aG9u
IGRvX3FhX3N0YWdpbmcgKCkgewogICAgYmIubm90ZSgiUUEgY2hlY2tpbmcgc3RhZ2luZyIpCgog
ICAgaWYgbm90IHBhY2thZ2VfcWFfY2hlY2tfc3RhZ2VkKGQuZXhwYW5kKCcvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xj
aGFpbi0xLjAtcjcvc3lzcm9vdC1kZXN0ZGlyLy8vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNyL2xpYicpLCBkKToKICAgICAgICBiYi5m
YXRhbCgiUUEgc3RhZ2luZyB3YXMgYnJva2VuIGJ5IHRoZSBwYWNrYWdlIGJ1aWx0IGFib3ZlIikK
fQoKCnB5dGhvbiBzc3RhdGVfc2V0c2NlbmUgKCkgewpkZWYgc3N0YXRlX3NldHNjZW5lKGQpOgog
ICAgc2hhcmVkX3N0YXRlID0gc3N0YXRlX3N0YXRlX2Zyb212YXJzKGQpCiAgICBhY2NlbGVyYXRl
ID0gc3N0YXRlX2luc3RhbGxwa2coc2hhcmVkX3N0YXRlLCBkKQogICAgaWYgbm90IGFjY2VsZXJh
dGU6CiAgICAgICAgcmFpc2UgYmIuYnVpbGQuRnVuY0ZhaWxlZCgiTm8gc3VpdGFibGUgc3RhZ2lu
ZyBwYWNrYWdlIGZvdW5kIikKfQoKCnB5dGhvbiBkb19zcGxpdF9wYWNrYWdlcyAoKSB7CmRlZiBk
b19zcGxpdF9wYWNrYWdlcyhkLCByb290LCBmaWxlX3JlZ2V4LCBvdXRwdXRfcGF0dGVybiwgZGVz
Y3JpcHRpb24sIHBvc3RpbnN0PU5vbmUsIHJlY3Vyc2l2ZT1GYWxzZSwgaG9vaz1Ob25lLCBleHRy
YV9kZXBlbmRzPU5vbmUsIGF1eF9maWxlc19wYXR0ZXJuPU5vbmUsIHBvc3RybT1Ob25lLCBhbGxv
d19kaXJzPUZhbHNlLCBwcmVwZW5kPUZhbHNlLCBtYXRjaF9wYXRoPUZhbHNlLCBhdXhfZmlsZXNf
cGF0dGVybl92ZXJiYXRpbT1Ob25lLCBhbGxvd19saW5rcz1GYWxzZSk6CgkiIiIKCVVzZWQgaW4g
LmJiIGZpbGVzIHRvIHNwbGl0IHVwIGR5bmFtaWNhbGx5IGdlbmVyYXRlZCBzdWJwYWNrYWdlcyBv
ZiBhCglnaXZlbiBwYWNrYWdlLCB1c3VhbGx5IHBsdWdpbnMgb3IgbW9kdWxlcy4KCSIiIgoKCW1s
ID0gZC5nZXRWYXIoIk1MUFJFRklYIiwgVHJ1ZSkKCWlmIG1sOgoJCWlmIG5vdCBvdXRwdXRfcGF0
dGVybi5zdGFydHN3aXRoKG1sKToKCQkJb3V0cHV0X3BhdHRlcm4gPSBtbCArIG91dHB1dF9wYXR0
ZXJuCgoJCW5ld2RlcHMgPSBbXQoJCWZvciBkZXAgaW4gKGV4dHJhX2RlcGVuZHMgb3IgIiIpLnNw
bGl0KCk6CgkJCWlmIGRlcC5zdGFydHN3aXRoKG1sKToKCQkJCW5ld2RlcHMuYXBwZW5kKGRlcCkK
CQkJZWxzZToKCQkJCW5ld2RlcHMuYXBwZW5kKG1sICsgZGVwKQoJCWlmIG5ld2RlcHM6CgkJCWV4
dHJhX2RlcGVuZHMgPSAiICIuam9pbihuZXdkZXBzKQoKCWR2YXIgPSBkLmdldFZhcignUEtHRCcs
IFRydWUpCgoJcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnLCBUcnVlKS5zcGxpdCgpCgoJ
aWYgcG9zdGluc3Q6CgkJcG9zdGluc3QgPSAnIyEvYmluL3NoXG4nICsgcG9zdGluc3QgKyAnXG4n
CglpZiBwb3N0cm06CgkJcG9zdHJtID0gJyMhL2Jpbi9zaFxuJyArIHBvc3RybSArICdcbicKCWlm
IG5vdCByZWN1cnNpdmU6CgkJb2JqcyA9IG9zLmxpc3RkaXIoZHZhciArIHJvb3QpCgllbHNlOgoJ
CW9ianMgPSBbXQoJCWZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhkdmFyICsg
cm9vdCk6CgkJCWZvciBmaWxlIGluIGZpbGVzOgoJCQkJcmVscGF0aCA9IG9zLnBhdGguam9pbih3
YWxrcm9vdCwgZmlsZSkucmVwbGFjZShkdmFyICsgcm9vdCArICcvJywgJycsIDEpCgkJCQlpZiBy
ZWxwYXRoOgoJCQkJCW9ianMuYXBwZW5kKHJlbHBhdGgpCgoJaWYgZXh0cmFfZGVwZW5kcyA9PSBO
b25lOgoJCSMgVGhpcyBpcyAqcmVhbGx5KiBicm9rZW4KCQltYWlucGtnID0gcGFja2FnZXNbMF0K
CQkjIEF0IGxlYXN0IHRyeSBhbmQgcGF0Y2ggaXQgdXAgSSBndWVzcy4uLgoJCWlmIG1haW5wa2cu
ZmluZCgnLWRiZycpOgoJCQltYWlucGtnID0gbWFpbnBrZy5yZXBsYWNlKCctZGJnJywgJycpCgkJ
aWYgbWFpbnBrZy5maW5kKCctZGV2Jyk6CgkJCW1haW5wa2cgPSBtYWlucGtnLnJlcGxhY2UoJy1k
ZXYnLCAnJykKCQlleHRyYV9kZXBlbmRzID0gbWFpbnBrZwoKCWZvciBvIGluIHNvcnRlZChvYmpz
KToKCQlpbXBvcnQgcmUsIHN0YXQKCQlpZiBtYXRjaF9wYXRoOgoJCQltID0gcmUubWF0Y2goZmls
ZV9yZWdleCwgbykKCQllbHNlOgoJCQltID0gcmUubWF0Y2goZmlsZV9yZWdleCwgb3MucGF0aC5i
YXNlbmFtZShvKSkKCgkJaWYgbm90IG06CgkJCWNvbnRpbnVlCgkJZiA9IG9zLnBhdGguam9pbihk
dmFyICsgcm9vdCwgbykKCQltb2RlID0gb3MubHN0YXQoZikuc3RfbW9kZQoJCWlmIG5vdCAoc3Rh
dC5TX0lTUkVHKG1vZGUpIG9yIChhbGxvd19saW5rcyBhbmQgc3RhdC5TX0lTTE5LKG1vZGUpKSBv
ciAoYWxsb3dfZGlycyBhbmQgc3RhdC5TX0lTRElSKG1vZGUpKSk6CgkJCWNvbnRpbnVlCgkJb24g
PSBsZWdpdGltaXplX3BhY2thZ2VfbmFtZShtLmdyb3VwKDEpKQoJCXBrZyA9IG91dHB1dF9wYXR0
ZXJuICUgb24KCQlpZiBub3QgcGtnIGluIHBhY2thZ2VzOgoJCQlpZiBwcmVwZW5kOgoJCQkJcGFj
a2FnZXMgPSBbcGtnXSArIHBhY2thZ2VzCgkJCWVsc2U6CgkJCQlwYWNrYWdlcy5hcHBlbmQocGtn
KQoJCW9sZGZpbGVzID0gZC5nZXRWYXIoJ0ZJTEVTXycgKyBwa2csIFRydWUpCgkJaWYgbm90IG9s
ZGZpbGVzOgoJCQl0aGVfZmlsZXMgPSBbb3MucGF0aC5qb2luKHJvb3QsIG8pXQoJCQlpZiBhdXhf
ZmlsZXNfcGF0dGVybjoKCQkJCWlmIHR5cGUoYXV4X2ZpbGVzX3BhdHRlcm4pIGlzIGxpc3Q6CgkJ
CQkJZm9yIGZwIGluIGF1eF9maWxlc19wYXR0ZXJuOgoJCQkJCQl0aGVfZmlsZXMuYXBwZW5kKGZw
ICUgb24pCgkJCQllbHNlOgoJCQkJCXRoZV9maWxlcy5hcHBlbmQoYXV4X2ZpbGVzX3BhdHRlcm4g
JSBvbikKCQkJaWYgYXV4X2ZpbGVzX3BhdHRlcm5fdmVyYmF0aW06CgkJCQlpZiB0eXBlKGF1eF9m
aWxlc19wYXR0ZXJuX3ZlcmJhdGltKSBpcyBsaXN0OgoJCQkJCWZvciBmcCBpbiBhdXhfZmlsZXNf
cGF0dGVybl92ZXJiYXRpbToKCQkJCQkJdGhlX2ZpbGVzLmFwcGVuZChmcCAlIG0uZ3JvdXAoMSkp
CgkJCQllbHNlOgoJCQkJCXRoZV9maWxlcy5hcHBlbmQoYXV4X2ZpbGVzX3BhdHRlcm5fdmVyYmF0
aW0gJSBtLmdyb3VwKDEpKQoJCQlkLnNldFZhcignRklMRVNfJyArIHBrZywgIiAiLmpvaW4odGhl
X2ZpbGVzKSkKCQkJaWYgZXh0cmFfZGVwZW5kcyAhPSAnJzoKCQkJCWQuYXBwZW5kVmFyKCdSREVQ
RU5EU18nICsgcGtnLCAnICcgKyBleHRyYV9kZXBlbmRzKQoJCQlkLnNldFZhcignREVTQ1JJUFRJ
T05fJyArIHBrZywgZGVzY3JpcHRpb24gJSBvbikKCQkJaWYgcG9zdGluc3Q6CgkJCQlkLnNldFZh
cigncGtnX3Bvc3RpbnN0XycgKyBwa2csIHBvc3RpbnN0KQoJCQlpZiBwb3N0cm06CgkJCQlkLnNl
dFZhcigncGtnX3Bvc3RybV8nICsgcGtnLCBwb3N0cm0pCgkJZWxzZToKCQkJZC5zZXRWYXIoJ0ZJ
TEVTXycgKyBwa2csIG9sZGZpbGVzICsgIiAiICsgb3MucGF0aC5qb2luKHJvb3QsIG8pKQoJCWlm
IGNhbGxhYmxlKGhvb2spOgoJCQlob29rKGYsIHBrZywgZmlsZV9yZWdleCwgb3V0cHV0X3BhdHRl
cm4sIG0uZ3JvdXAoMSkpCgoJZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZXMp
KQp9CgoKcHl0aG9uIHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyAoKSB7CmRlZiBzc3RhdGVfc3RhdGVf
ZnJvbXZhcnMoZCwgdGFzayA9IE5vbmUpOgogICAgaWYgdGFzayBpcyBOb25lOgogICAgICAgIHRh
c2sgPSBkLmdldFZhcignQkJfQ1VSUkVOVFRBU0snLCBUcnVlKQogICAgICAgIGlmIG5vdCB0YXNr
OgogICAgICAgICAgICBiYi5mYXRhbCgic3N0YXRlIGNvZGUgcnVubmluZyB3aXRob3V0IHRhc2sg
Y29udGV4dD8hIikKICAgICAgICB0YXNrID0gdGFzay5yZXBsYWNlKCJfc2V0c2NlbmUiLCAiIikK
CiAgICBuYW1lID0gZC5nZXRWYXJGbGFnKCJkb18iICsgdGFzaywgJ3NzdGF0ZS1uYW1lJywgVHJ1
ZSkKICAgIGlucHV0cyA9IChkLmdldFZhckZsYWcoImRvXyIgKyB0YXNrLCAnc3N0YXRlLWlucHV0
ZGlycycsIFRydWUpIG9yICIiKS5zcGxpdCgpCiAgICBvdXRwdXRzID0gKGQuZ2V0VmFyRmxhZygi
ZG9fIiArIHRhc2ssICdzc3RhdGUtb3V0cHV0ZGlycycsIFRydWUpIG9yICIiKS5zcGxpdCgpCiAg
ICBwbGFpbmRpcnMgPSAoZC5nZXRWYXJGbGFnKCJkb18iICsgdGFzaywgJ3NzdGF0ZS1wbGFpbmRp
cnMnLCBUcnVlKSBvciAiIikuc3BsaXQoKQogICAgbG9ja2ZpbGVzID0gKGQuZ2V0VmFyRmxhZygi
ZG9fIiArIHRhc2ssICdzc3RhdGUtbG9ja2ZpbGUnLCBUcnVlKSBvciAiIikuc3BsaXQoKQogICAg
bG9ja2ZpbGVzc2hhcmVkID0gKGQuZ2V0VmFyRmxhZygiZG9fIiArIHRhc2ssICdzc3RhdGUtbG9j
a2ZpbGUtc2hhcmVkJywgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKICAgIGludGVyY2VwdGZ1bmNzID0g
KGQuZ2V0VmFyRmxhZygiZG9fIiArIHRhc2ssICdzc3RhdGUtaW50ZXJjZXB0ZnVuY3MnLCBUcnVl
KSBvciAiIikuc3BsaXQoKQogICAgaWYgbm90IG5hbWUgb3IgbGVuKGlucHV0cykgIT0gbGVuKG91
dHB1dHMpOgogICAgICAgIGJiLmZhdGFsKCJzc3RhdGUgdmFyaWFibGVzIG5vdCBzZXR1cCBjb3Jy
ZWN0bHk/ISIpCgogICAgc3MgPSBzc3RhdGVfaW5pdChuYW1lLCB0YXNrLCBkKQogICAgZm9yIGkg
aW4gcmFuZ2UobGVuKGlucHV0cykpOgogICAgICAgIHNzdGF0ZV9hZGQoc3MsIGlucHV0c1tpXSwg
b3V0cHV0c1tpXSwgZCkKICAgIHNzWydsb2NrZmlsZXMnXSA9IGxvY2tmaWxlcwogICAgc3NbJ2xv
Y2tmaWxlcy1zaGFyZWQnXSA9IGxvY2tmaWxlc3NoYXJlZAogICAgc3NbJ3BsYWluZGlycyddID0g
cGxhaW5kaXJzCiAgICBzc1snaW50ZXJjZXB0ZnVuY3MnXSA9IGludGVyY2VwdGZ1bmNzCiAgICBy
ZXR1cm4gc3MKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2J1aWxkcGF0aHMgKCkgewpkZWYg
cGFja2FnZV9xYV9jaGVja19idWlsZHBhdGhzKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMp
OgogICAgIiIiCiAgICBDaGVjayBmb3IgYnVpbGQgcGF0aHMgaW5zaWRlIHRhcmdldCBmaWxlcyBh
bmQgZXJyb3IgaWYgbm90IGZvdW5kIGluIHRoZSB3aGl0ZWxpc3QKICAgICIiIgogICAgIyBJZ25v
cmUgLmRlYnVnIGZpbGVzLCBub3QgaW50ZXJlc3RpbmcKICAgIGlmIHBhdGguZmluZCgiLmRlYnVn
IikgIT0gLTE6CiAgICAgICAgcmV0dXJuCgogICAgIyBJZ25vcmUgc3ltbGlua3MKICAgIGlmIG9z
LnBhdGguaXNsaW5rKHBhdGgpOgogICAgICAgIHJldHVybgoKICAgIHRtcGRpciA9IGQuZ2V0VmFy
KCdUTVBESVInLCBUcnVlKQogICAgZmlsZV9jb250ZW50ID0gb3BlbihwYXRoKS5yZWFkKCkKICAg
IGlmIHRtcGRpciBpbiBmaWxlX2NvbnRlbnQ6CiAgICAgICAgbWVzc2FnZXMuYXBwZW5kKCJGaWxl
ICVzIGluIHBhY2thZ2UgY29udGFpbmVkIHJlZmVyZW5jZSB0byB0bXBkaXIiICUgcGFja2FnZV9x
YV9jbGVhbl9wYXRoKHBhdGgsZCkpCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19zdGFnZWQg
KCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19zdGFnZWQocGF0aCxkKToKICAgICIiIgogICAgQ2hl
Y2sgc3RhZ2VkIGxhIGFuZCBwYyBmaWxlcyBmb3Igc2FuaXR5CiAgICAgIC1lLmcuIGluc3RhbGxl
ZCBiZWluZyBmYWxzZQoKICAgICAgICBBcyB0aGlzIGlzIHJ1biBhZnRlciBldmVyeSBzdGFnZSB3
ZSBzaG91bGQgYmUgYWJsZQogICAgICAgIHRvIGZpbmQgdGhlIG9uZSByZXNwb25zaWJsZSBmb3Ig
dGhlIGVycm9ycyBlYXNpbHkgZXZlbgogICAgICAgIGlmIHdlIGxvb2sgYXQgZXZlcnkgLnBjIGFu
ZCAubGEgZmlsZQogICAgIiIiCgogICAgc2FuZSA9IFRydWUKICAgIHRtcGRpciA9IGQuZ2V0VmFy
KCdUTVBESVInLCBUcnVlKQogICAgd29ya2RpciA9IG9zLnBhdGguam9pbih0bXBkaXIsICJ3b3Jr
IikKCiAgICBpbnN0YWxsZWQgPSAiaW5zdGFsbGVkPXllcyIKICAgIGlmIGJiLmRhdGEuaW5oZXJp
dHNfY2xhc3MoIm5hdGl2ZSIsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoImNyb3NzIiwg
ZCk6CiAgICAgICAgcGtnY29uZmlnY2hlY2sgPSB3b3JrZGlyCiAgICBlbHNlOgogICAgICAgIHBr
Z2NvbmZpZ2NoZWNrID0gdG1wZGlyCgogICAgIyBmaW5kIGFsbCAubGEgYW5kIC5wYyBmaWxlcwog
ICAgIyByZWFkIHRoZSBjb250ZW50CiAgICAjIGFuZCBjaGVjayBmb3Igc3R1ZmYgdGhhdCBsb29r
cyB3cm9uZwogICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocGF0aCk6CiAgICAg
ICAgZm9yIGZpbGUgaW4gZmlsZXM6CiAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4ocm9v
dCxmaWxlKQogICAgICAgICAgICBpZiBmaWxlLmVuZHN3aXRoKCIubGEiKToKICAgICAgICAgICAg
ICAgIGZpbGVfY29udGVudCA9IG9wZW4ocGF0aCkucmVhZCgpCiAgICAgICAgICAgICAgICBpZiB3
b3JrZGlyIGluIGZpbGVfY29udGVudDoKICAgICAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAi
JXMgZmFpbGVkIHNhbml0eSB0ZXN0ICh3b3JrZGlyKSBpbiBwYXRoICVzIiAlIChmaWxlLHJvb3Qp
CiAgICAgICAgICAgICAgICAgICAgc2FuZSA9IHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJsYSIs
IGVycm9yX21zZywgZCkKICAgICAgICAgICAgZWxpZiBmaWxlLmVuZHN3aXRoKCIucGMiKToKICAg
ICAgICAgICAgICAgIGZpbGVfY29udGVudCA9IG9wZW4ocGF0aCkucmVhZCgpCiAgICAgICAgICAg
ICAgICBpZiBwa2djb25maWdjaGVjayBpbiBmaWxlX2NvbnRlbnQ6CiAgICAgICAgICAgICAgICAg
ICAgZXJyb3JfbXNnID0gIiVzIGZhaWxlZCBzYW5pdHkgdGVzdCAodG1wZGlyKSBpbiBwYXRoICVz
IiAlIChmaWxlLHJvb3QpCiAgICAgICAgICAgICAgICAgICAgc2FuZSA9IHBhY2thZ2VfcWFfaGFu
ZGxlX2Vycm9yKCJwa2djb25maWciLCBlcnJvcl9tc2csIGQpCgogICAgcmV0dXJuIHNhbmUKfQoK
CnB5dGhvbiBzc3RhdGVfY2xlYW5hbGwgKCkgewogICAgaW1wb3J0IGZubWF0Y2gKCiAgICBiYi5u
b3RlKCJSZW1vdmluZyBzaGFyZWQgc3RhdGUgZm9yIHBhY2thZ2UgJXMiICUgZC5nZXRWYXIoJ1BO
JywgVHJ1ZSkpCgogICAgbWFuaWZlc3RfZGlyID0gZC5nZXRWYXIoJ1NTVEFURV9NQU5JRkVTVFMn
LCBUcnVlKQogICAgbWFuaWZlc3RfcHJlZml4ID0gZC5nZXRWYXIoIlNTVEFURV9NQU5GSUxFUFJF
RklYIiwgVHJ1ZSkKICAgIG1hbmlmZXN0X3BhdHRlcm4gPSBvcy5wYXRoLmJhc2VuYW1lKG1hbmlm
ZXN0X3ByZWZpeCkgKyAiLioiCgogICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG1hbmlmZXN0X2Rp
cik6CiAgICAgICAgcmV0dXJuCgogICAgZm9yIG1hbmlmZXN0IGluIChvcy5saXN0ZGlyKG1hbmlm
ZXN0X2RpcikpOgogICAgICAgIGlmIGZubWF0Y2guZm5tYXRjaChtYW5pZmVzdCwgbWFuaWZlc3Rf
cGF0dGVybik6CiAgICAgICAgICAgICBuYW1lID0gbWFuaWZlc3QucmVwbGFjZShtYW5pZmVzdF9w
YXR0ZXJuWzotMV0sICIiKQogICAgICAgICAgICAgbmFtZW1hcCA9IGQuZ2V0VmFyKCdTU1RBVEVU
QVNLTkFNRVMnLCBUcnVlKS5zcGxpdCgpCiAgICAgICAgICAgICB0YXNrcyA9IGQuZ2V0VmFyKCdT
U1RBVEVUQVNLUycsIFRydWUpLnNwbGl0KCkKICAgICAgICAgICAgIGlmIG5hbWUgbm90IGluIG5h
bWVtYXA6CiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICB0YXNrbmFtZSA9
IHRhc2tzW25hbWVtYXAuaW5kZXgobmFtZSldCiAgICAgICAgICAgICBzaGFyZWRfc3RhdGUgPSBz
c3RhdGVfc3RhdGVfZnJvbXZhcnMoZCwgdGFza25hbWVbMzpdKQogICAgICAgICAgICAgc3N0YXRl
X2NsZWFuKHNoYXJlZF9zdGF0ZSwgZCkKfQoKCnB5dGhvbiBzc3RhdGVfaW5pdCAoKSB7CmRlZiBz
c3RhdGVfaW5pdChuYW1lLCB0YXNrLCBkKToKICAgIHNzID0ge30KICAgIHNzWyd0YXNrJ10gPSB0
YXNrCiAgICBzc1snbmFtZSddID0gbmFtZQogICAgc3NbJ2RpcnMnXSA9IFtdCiAgICBzc1sncGxh
aW5kaXJzJ10gPSBbXQogICAgc3NbJ2xvY2tmaWxlcyddID0gW10KICAgIHNzWydsb2NrZmlsZXMt
c2hhcmVkJ10gPSBbXQogICAgcmV0dXJuIHNzCn0KCgpweXRob24gY2hlY2tfYXBwX2V4aXN0cyAo
KSB7CmRlZiBjaGVja19hcHBfZXhpc3RzKGFwcCwgZCk6Cglmcm9tIGJiIGltcG9ydCB3aGljaCwg
ZGF0YQoKCWFwcCA9IGRhdGEuZXhwYW5kKGFwcCwgZCkKCXBhdGggPSBkYXRhLmdldFZhcignUEFU
SCcsIGQsIDEpCglyZXR1cm4gYm9vbCh3aGljaChwYXRoLCBhcHApKQp9CgoKcHl0aG9uIGJhc2Vf
Y29uZGl0aW9uYWwgKCkgewpkZWYgYmFzZV9jb25kaXRpb25hbCh2YXJpYWJsZSwgY2hlY2t2YWx1
ZSwgdHJ1ZXZhbHVlLCBmYWxzZXZhbHVlLCBkKToKICAgIHJldHVybiBvZS51dGlscy5jb25kaXRp
b25hbCh2YXJpYWJsZSwgY2hlY2t2YWx1ZSwgdHJ1ZXZhbHVlLCBmYWxzZXZhbHVlLCBkKQp9CgoK
cHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tfc3RhdGljZGV2ICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hl
Y2tfc3RhdGljZGV2KHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAgICBD
aGVjayBmb3IgIi5hIiBsaWJyYXJ5IGluIG5vbi1zdGF0aWNkZXYgcGFja2FnZXMKICAgIFRoZXJl
IGFyZSBhIG51bWJlciBvZiBleGNlcHRpb25zIHRvIHRoaXMgcnVsZSwgLXBpYyBwYWNrYWdlcyBj
YW4gY29udGFpbgogICAgc3RhdGljIGxpYnJhcmllcywgdGhlIF9ub25zaGFyZWQuYSBiZWxvbmcg
d2l0aCB0aGVpciAtZGV2IHBhY2thZ2VzIGFuZAogICAgbGliZ2NjLmEsIGxpYmdjb3YuYSB3aWxs
IGJlIHNraXBwZWQgaW4gdGhlaXIgcGFja2FnZXMKICAgICIiIgoKICAgIGlmIG5vdCBuYW1lLmVu
ZHN3aXRoKCItcGljIikgYW5kIG5vdCBuYW1lLmVuZHN3aXRoKCItc3RhdGljZGV2IikgYW5kIHBh
dGguZW5kc3dpdGgoIi5hIikgYW5kIG5vdCBwYXRoLmVuZHN3aXRoKCJfbm9uc2hhcmVkLmEiKToK
ICAgICAgICBtZXNzYWdlcy5hcHBlbmQoIm5vbiAtc3RhdGljZGV2IHBhY2thZ2UgY29udGFpbnMg
c3RhdGljIC5hIGxpYnJhcnk6ICVzIHBhdGggJyVzJyIgJSBcCiAgICAgICAgICAgICAgICAgKG5h
bWUsIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKfQoKCnB5dGhvbiBzc3RhdGVfY2xl
YW5fbWFuaWZlc3QgKCkgewpkZWYgc3N0YXRlX2NsZWFuX21hbmlmZXN0KG1hbmlmZXN0LCBkKToK
ICAgIGltcG9ydCBvZS5wYXRoCgogICAgbWZpbGUgPSBvcGVuKG1hbmlmZXN0KQogICAgZW50cmll
cyA9IG1maWxlLnJlYWRsaW5lcygpCiAgICBtZmlsZS5jbG9zZSgpCgogICAgZm9yIGVudHJ5IGlu
IGVudHJpZXM6CiAgICAgICAgZW50cnkgPSBlbnRyeS5zdHJpcCgpCiAgICAgICAgYmIuZGVidWco
MiwgIlJlbW92aW5nIG1hbmlmZXN0OiAlcyIgJSBlbnRyeSkKICAgICAgICAjIFdlIGNhbiByYWNl
IGFnYWluc3QgYW5vdGhlciBwYWNrYWdlIHBvcHVsYXRpbmcgZGlyZWN0b3JpZXMgYXMgd2UncmUg
cmVtb3ZpbmcgdGhlbQogICAgICAgICMgc28gd2UgaWdub3JlIGVycm9ycyBoZXJlLgogICAgICAg
IHRyeToKICAgICAgICAgICAgaWYgZW50cnkuZW5kc3dpdGgoIi8iKToKICAgICAgICAgICAgICAg
aWYgb3MucGF0aC5pc2xpbmsoZW50cnlbOi0xXSk6CiAgICAgICAgICAgICAgICAgIG9zLnJlbW92
ZShlbnRyeVs6LTFdKQogICAgICAgICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKGVudHJ5KSBh
bmQgbGVuKG9zLmxpc3RkaXIoZW50cnkpKSA9PSAwOgogICAgICAgICAgICAgICAgICBvcy5ybWRp
cihlbnRyeVs6LTFdKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb2UucGF0aC5y
ZW1vdmUoZW50cnkpCiAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgIHBhc3MKCiAg
ICBvZS5wYXRoLnJlbW92ZShtYW5pZmVzdCkKfQoKCnB5dGhvbiBiYXNlX3BhdGhfam9pbiAoKSB7
CmRlZiBiYXNlX3BhdGhfam9pbihhLCAqcCk6CiAgICByZXR1cm4gb2UucGF0aC5qb2luKGEsICpw
KQp9CgoKcHl0aG9uIGJhc2VfZ2V0X21ldGFkYXRhX3N2bl9yZXZpc2lvbiAoKSB7CmRlZiBiYXNl
X2dldF9tZXRhZGF0YV9zdm5fcmV2aXNpb24ocGF0aCwgZCk6CglyZXZpc2lvbiA9ICI8dW5rbm93
bj4iCgl0cnk6CgkJcmV2aXNpb24gPSBmaWxlKCAiJXMvLnN2bi9lbnRyaWVzIiAlIHBhdGggKS5y
ZWFkbGluZXMoKVszXS5zdHJpcCgpCglleGNlcHQgSU9FcnJvcjoKCQlwYXNzCglyZXR1cm4gcmV2
aXNpb24KfQoKCnB5dGhvbiBzc3RhdGVfaW5zdGFsbCAoKSB7CmRlZiBzc3RhdGVfaW5zdGFsbChz
cywgZCk6CiAgICBpbXBvcnQgb2UucGF0aAoKICAgIHNoYXJlZGZpbGVzID0gW10KICAgIHNoYXJl
ZGRpcnMgPSBbXQogICAgYmIubWtkaXJoaWVyKGQuZXhwYW5kKCIvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC9zc3RhdGUtY29udHJvbCIpKQogICAgbWFuaWZlc3QgPSBkLmV4
cGFuZCgiL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3N0YXRlLWNvbnRy
b2wvbWFuaWZlc3QtY29uY29yZGlhLW1ldGEtdG9vbGNoYWluLiVzIiAlIHNzWyduYW1lJ10pCgog
ICAgaWYgb3MuYWNjZXNzKG1hbmlmZXN0LCBvcy5SX09LKToKICAgICAgICBiYi5mYXRhbCgiUGFj
a2FnZSBhbHJlYWR5IHN0YWdlZCAoJXMpPyEiICUgbWFuaWZlc3QpCgogICAgbG9ja3MgPSBbXQog
ICAgZm9yIGxvY2sgaW4gc3NbJ2xvY2tmaWxlcy1zaGFyZWQnXToKICAgICAgICBsb2Nrcy5hcHBl
bmQoYmIudXRpbHMubG9ja2ZpbGUobG9jaywgVHJ1ZSkpCiAgICBmb3IgbG9jayBpbiBzc1snbG9j
a2ZpbGVzJ106CiAgICAgICAgbG9ja3MuYXBwZW5kKGJiLnV0aWxzLmxvY2tmaWxlKGxvY2spKQoK
ICAgIGZvciBzdGF0ZSBpbiBzc1snZGlycyddOgogICAgICAgIG9lLnBhdGguY29weXRyZWUoc3Rh
dGVbMV0sIHN0YXRlWzJdKQogICAgICAgIGZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mu
d2FsayhzdGF0ZVsxXSk6CiAgICAgICAgICAgIGJiLmRlYnVnKDIsICJTdGFnaW5nIGZpbGVzIGZy
b20gJXMgdG8gJXMiICUgKHN0YXRlWzFdLCBzdGF0ZVsyXSkpCiAgICAgICAgICAgIGZvciBmaWxl
IGluIGZpbGVzOgogICAgICAgICAgICAgICAgc3JjcGF0aCA9IG9zLnBhdGguam9pbih3YWxrcm9v
dCwgZmlsZSkKICAgICAgICAgICAgICAgIGRzdHBhdGggPSBzcmNwYXRoLnJlcGxhY2Uoc3RhdGVb
MV0sIHN0YXRlWzJdKQogICAgICAgICAgICAgICAgI2JiLmRlYnVnKDIsICJTdGFnaW5nICVzIHRv
ICVzIiAlIChzcmNwYXRoLCBkc3RwYXRoKSkKICAgICAgICAgICAgICAgIHNoYXJlZGZpbGVzLmFw
cGVuZChkc3RwYXRoKQogICAgICAgICAgICBmb3IgZGlyIGluIGRpcnM6CiAgICAgICAgICAgICAg
ICBzcmNkaXIgPSBvcy5wYXRoLmpvaW4od2Fsa3Jvb3QsIGRpcikKICAgICAgICAgICAgICAgIGRz
dGRpciA9IHNyY2Rpci5yZXBsYWNlKHN0YXRlWzFdLCBzdGF0ZVsyXSkKICAgICAgICAgICAgICAg
ICNiYi5kZWJ1ZygyLCAiU3RhZ2luZyAlcyB0byAlcyIgJSAoc3JjZGlyLCBkc3RkaXIpKQogICAg
ICAgICAgICAgICAgaWYgbm90IGRzdGRpci5lbmRzd2l0aCgiLyIpOgogICAgICAgICAgICAgICAg
ICAgIGRzdGRpciA9IGRzdGRpciArICIvIgogICAgICAgICAgICAgICAgc2hhcmVkZGlycy5hcHBl
bmQoZHN0ZGlyKQogICAgZiA9IG9wZW4obWFuaWZlc3QsICJ3IikKICAgIGZvciBmaWxlIGluIHNo
YXJlZGZpbGVzOgogICAgICAgIGYud3JpdGUoZmlsZSArICJcbiIpCiAgICAjIFdlIHdhbnQgdG8g
ZW5zdXJlIHRoYXQgZGlyZWN0b3JpZXMgYXBwZWFyIGF0IHRoZSBlbmQgb2YgdGhlIG1hbmlmZXN0
CiAgICAjIHNvIHRoYXQgd2hlbiB3ZSB0ZXN0IHRvIHNlZSBpZiB0aGV5IHNob3VsZCBiZSBkZWxl
dGVkIGFueSBjb250ZW50cwogICAgIyBhZGRlZCBieSB0aGUgdGFzayB3aWxsIGhhdmUgYmVlbiBy
ZW1vdmVkIGZpcnN0LgogICAgZGlycyA9IHNvcnRlZChzaGFyZWRkaXJzLCBrZXk9bGVuKQogICAg
IyBNdXN0IHJlbW92ZSBjaGlsZHJlbiBmaXJzdCwgd2hpY2ggd2lsbCBoYXZlIGEgbG9uZ2VyIHBh
dGggdGhhbiB0aGUgcGFyZW50CiAgICBmb3IgZGkgaW4gcmV2ZXJzZWQoZGlycyk6CiAgICAgICAg
Zi53cml0ZShkaSArICJcbiIpCiAgICBmLmNsb3NlKCkKCiAgICBmb3IgcG9zdGluc3QgaW4gKGQu
Z2V0VmFyKCdTU1RBVEVQT1NUSU5TVEZVTkNTJywgVHJ1ZSkgb3IgJycpLnNwbGl0KCk6CiAgICAg
ICAgYmIuYnVpbGQuZXhlY19mdW5jKHBvc3RpbnN0LCBkKQoKICAgIGZvciBsb2NrIGluIGxvY2tz
OgogICAgICAgIGJiLnV0aWxzLnVubG9ja2ZpbGUobG9jaykKfQoKCnB5dGhvbiBzc3RhdGVfaW5z
dGFsbHBrZyAoKSB7CmRlZiBzc3RhdGVfaW5zdGFsbHBrZyhzcywgZCk6CiAgICBpbXBvcnQgb2Uu
cGF0aAoKICAgIGRlZiBwcmVwZGlyKGRpcik6CiAgICAgICAgIyByZW1vdmUgZGlyIGlmIGl0IGV4
aXN0cywgZW5zdXJlIGFueSBwYXJlbnQgZGlyZWN0b3JpZXMgZG8gZXhpc3QKICAgICAgICBpZiBv
cy5wYXRoLmV4aXN0cyhkaXIpOgogICAgICAgICAgICBvZS5wYXRoLnJlbW92ZShkaXIpCiAgICAg
ICAgYmIubWtkaXJoaWVyKGRpcikKICAgICAgICBvZS5wYXRoLnJlbW92ZShkaXIpCgogICAgc3N0
YXRlaW5zdCA9IGQuZXhwYW5kKCIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc3N0YXRlLWluc3Rh
bGwtJXMvIiAlIHNzWyduYW1lJ10pCiAgICBzc3RhdGVwa2cgPSBkLmdldFZhcignU1NUQVRFX1BL
RycsIFRydWUpICsgJ18nICsgc3NbJ25hbWUnXSArICIudGd6IgoKICAgIGlmIG5vdCBvcy5wYXRo
LmV4aXN0cyhzc3RhdGVwa2cpOgogICAgICAgcHN0YWdpbmdfZmV0Y2goc3N0YXRlcGtnLCBkKQoK
ICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShzc3RhdGVwa2cpOgogICAgICAgIGJiLm5vdGUoIlN0
YWdpbmcgcGFja2FnZSAlcyBkb2VzIG5vdCBleGlzdCIgJSBzc3RhdGVwa2cpCiAgICAgICAgcmV0
dXJuIEZhbHNlCgogICAgc3N0YXRlX2NsZWFuKHNzLCBkKQoKICAgIGQuc2V0VmFyKCdTU1RBVEVf
SU5TVERJUicsIHNzdGF0ZWluc3QpCiAgICBkLnNldFZhcignU1NUQVRFX1BLRycsIHNzdGF0ZXBr
ZykKCiAgICBmb3IgcHJlaW5zdCBpbiAoZC5nZXRWYXIoJ1NTVEFURVBSRUlOU1RGVU5DUycsIFRy
dWUpIG9yICcnKS5zcGxpdCgpOgogICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhwcmVpbnN0LCBk
KQoKICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnc3N0YXRlX3VucGFja19wYWNrYWdlJywgZCkKCiAg
ICAjIEZpeHVwIGhhcmRjb2RlZCBwYXRocwogICAgZml4bWVmbiA9ICBzc3RhdGVpbnN0ICsgImZp
eG1lcGF0aCIKICAgIGlmIG9zLnBhdGguaXNmaWxlKGZpeG1lZm4pOgogICAgICAgIHN0YWdpbmcg
PSBkLmdldFZhcignU1RBR0lOR19ESVInLCBUcnVlKQogICAgICAgIHN0YWdpbmdfdGFyZ2V0ID0g
ZC5nZXRWYXIoJ1NUQUdJTkdfRElSX1RBUkdFVCcsIFRydWUpCiAgICAgICAgc3RhZ2luZ19ob3N0
ID0gZC5nZXRWYXIoJ1NUQUdJTkdfRElSX0hPU1QnLCBUcnVlKQogICAgICAgIGZpeG1lZmQgPSBv
cGVuKGZpeG1lZm4sICJyIikKICAgICAgICBmaXhtZWZpbGVzID0gZml4bWVmZC5yZWFkbGluZXMo
KQogICAgICAgIGZpeG1lZmQuY2xvc2UoKQogICAgICAgIGZvciBmaWxlIGluIGZpeG1lZmlsZXM6
CiAgICAgICAgICAgIG9zLnN5c3RlbSgic2VkIC1pIC1lIHM6RklYTUVTVEFHSU5HRElSVEFSR0VU
OiVzOmcgJXMiICUgKHN0YWdpbmdfdGFyZ2V0LCBzc3RhdGVpbnN0ICsgZmlsZSkpCiAgICAgICAg
ICAgIG9zLnN5c3RlbSgic2VkIC1pIC1lIHM6RklYTUVTVEFHSU5HRElSSE9TVDolczpnICVzIiAl
IChzdGFnaW5nX2hvc3QsIHNzdGF0ZWluc3QgKyBmaWxlKSkKICAgICAgICAgICAgb3Muc3lzdGVt
KCJzZWQgLWkgLWUgczpGSVhNRVNUQUdJTkdESVI6JXM6ZyAlcyIgJSAoc3RhZ2luZywgc3N0YXRl
aW5zdCArIGZpbGUpKQogICAgICAgICMgTmVlZCB0byByZW1vdmUgdGhpcyBvciB3ZSdkIGNvcHkg
aXQgaW50byB0aGUgdGFyZ2V0IGRpcmVjdG9yeSBhbmQgbWF5CiAgICAgICAgIyBjb25mbGljdCB3
aXRoIGFub3RoZXIgd3JpdGVyCiAgICAgICAgb3MucmVtb3ZlKGZpeG1lZm4pCgogICAgZm9yIHN0
YXRlIGluIHNzWydkaXJzJ106CiAgICAgICAgcHJlcGRpcihzdGF0ZVsxXSkKICAgICAgICBvcy5y
ZW5hbWUoc3N0YXRlaW5zdCArIHN0YXRlWzBdLCBzdGF0ZVsxXSkKICAgIHNzdGF0ZV9pbnN0YWxs
KHNzLCBkKQoKICAgIGZvciBwbGFpbiBpbiBzc1sncGxhaW5kaXJzJ106CiAgICAgICAgd29ya2Rp
ciA9IGQuZ2V0VmFyKCdXT1JLRElSJywgVHJ1ZSkKICAgICAgICBzcmMgPSBzc3RhdGVpbnN0ICsg
Ii8iICsgcGxhaW4ucmVwbGFjZSh3b3JrZGlyLCAnJykKICAgICAgICBkZXN0ID0gcGxhaW4KICAg
ICAgICBiYi5ta2RpcmhpZXIoc3JjKQogICAgICAgIHByZXBkaXIoZGVzdCkKICAgICAgICBvcy5y
ZW5hbWUoc3JjLCBkZXN0KQoKICAgIHJldHVybiBUcnVlCn0KCgpweXRob24gcGFja2FnZV9kb19z
cGxpdF9sb2NhbGVzICgpIHsKCWlmIChkLmdldFZhcignUEFDS0FHRV9OT19MT0NBTEUnLCBUcnVl
KSA9PSAnMScpOgoJCWJiLmRlYnVnKDEsICJwYWNrYWdlIHJlcXVlc3RlZCBub3Qgc3BsaXR0aW5n
IGxvY2FsZXMiKQoJCXJldHVybgoKCXBhY2thZ2VzID0gKGQuZ2V0VmFyKCdQQUNLQUdFUycsIFRy
dWUpIG9yICIiKS5zcGxpdCgpCgoJZGF0YWRpciA9IGQuZ2V0VmFyKCdkYXRhZGlyJywgVHJ1ZSkK
CWlmIG5vdCBkYXRhZGlyOgoJCWJiLm5vdGUoImRhdGFkaXIgbm90IGRlZmluZWQiKQoJCXJldHVy
bgoKCWR2YXIgPSBkLmdldFZhcignUEtHRCcsIFRydWUpCglwbiA9IGQuZ2V0VmFyKCdQTicsIFRy
dWUpCgoJaWYgcG4gKyAnLWxvY2FsZScgaW4gcGFja2FnZXM6CgkJcGFja2FnZXMucmVtb3ZlKHBu
ICsgJy1sb2NhbGUnKQoKCWxvY2FsZWRpciA9IG9zLnBhdGguam9pbihkdmFyICsgZGF0YWRpciwg
J2xvY2FsZScpCgoJaWYgbm90IG9zLnBhdGguaXNkaXIobG9jYWxlZGlyKToKCQliYi5kZWJ1Zygx
LCAiTm8gbG9jYWxlIGZpbGVzIGluIHRoaXMgcGFja2FnZSIpCgkJcmV0dXJuCgoJbG9jYWxlcyA9
IG9zLmxpc3RkaXIobG9jYWxlZGlyKQoKCSMgVGhpcyBpcyAqcmVhbGx5KiBicm9rZW4KCW1haW5w
a2cgPSBwYWNrYWdlc1swXQoJIyBBdCBsZWFzdCB0cnkgYW5kIHBhdGNoIGl0IHVwIEkgZ3Vlc3Mu
Li4KCWlmIG1haW5wa2cuZmluZCgnLWRiZycpOgoJCW1haW5wa2cgPSBtYWlucGtnLnJlcGxhY2Uo
Jy1kYmcnLCAnJykKCWlmIG1haW5wa2cuZmluZCgnLWRldicpOgoJCW1haW5wa2cgPSBtYWlucGtn
LnJlcGxhY2UoJy1kZXYnLCAnJykKCglzdW1tYXJ5ID0gZC5nZXRWYXIoJ1NVTU1BUlknLCBUcnVl
KSBvciBwbgoJZGVzY3JpcHRpb24gPSBkLmdldFZhcignREVTQ1JJUFRJT04nLCBUcnVlKSBvciAi
IgogICAgICAgIGxvY2FsZV9zZWN0aW9uID0gZC5nZXRWYXIoJ0xPQ0FMRV9TRUNUSU9OJywgVHJ1
ZSkKCWZvciBsIGluIHNvcnRlZChsb2NhbGVzKToKCQlsbiA9IGxlZ2l0aW1pemVfcGFja2FnZV9u
YW1lKGwpCgkJcGtnID0gcG4gKyAnLWxvY2FsZS0nICsgbG4KCQlwYWNrYWdlcy5hcHBlbmQocGtn
KQoJCWQuc2V0VmFyKCdGSUxFU18nICsgcGtnLCBvcy5wYXRoLmpvaW4oZGF0YWRpciwgJ2xvY2Fs
ZScsIGwpKQoJCWQuc2V0VmFyKCdSREVQRU5EU18nICsgcGtnLCAnJXMgdmlydHVhbC1sb2NhbGUt
JXMnICUgKG1haW5wa2csIGxuKSkKCQlkLnNldFZhcignUlBST1ZJREVTXycgKyBwa2csICclcy1s
b2NhbGUgJXMtdHJhbnNsYXRpb24nICUgKHBuLCBsbikpCgkJZC5zZXRWYXIoJ1NVTU1BUllfJyAr
IHBrZywgJyVzIC0gJXMgdHJhbnNsYXRpb25zJyAlIChzdW1tYXJ5LCBsKSkKCQlkLnNldFZhcign
REVTQ1JJUFRJT05fJyArIHBrZywgJyVzICBUaGlzIHBhY2thZ2UgY29udGFpbnMgbGFuZ3VhZ2Ug
dHJhbnNsYXRpb24gZmlsZXMgZm9yIHRoZSAlcyBsb2NhbGUuJyAlIChkZXNjcmlwdGlvbiwgbCkp
CgkJaWYgbG9jYWxlX3NlY3Rpb246CgkJCWQuc2V0VmFyKCdTRUNUSU9OXycgKyBwa2csIGxvY2Fs
ZV9zZWN0aW9uKQoKCWQuc2V0VmFyKCdQQUNLQUdFUycsICcgJy5qb2luKHBhY2thZ2VzKSkKCgkj
IERpc2FibGVkIGJ5IFJQIDE4LzA2LzA3CgkjIFdpbGRjYXJkcyBhcmVuJ3Qgc3VwcG9ydGVkIGlu
IGRlYmlhbgoJIyBUaGV5IGJyZWFrIHdpdGggaXBrZyBzaW5jZSBnbGliYy1sb2NhbGUqIHdpbGwg
bWVhbiB0aGF0CgkjIGdsaWJjLWxvY2FsZWRhdGEtdHJhbnNsaXQqIHdvbid0IGluc3RhbGwgYXMg
YSBkZXBlbmRlbmN5CgkjIGZvciBzb21lIG90aGVyIHBhY2thZ2Ugd2hpY2ggYnJlYWtzIG1ldGEt
dG9vbGNoYWluCgkjIFByb2JhYmx5IGJyZWFrcyBzaW5jZSB2aXJ0dWFsLWxvY2FsZS0gaXNuJ3Qg
cHJvdmlkZWQgYW55d2hlcmUKCSNyZGVwID0gKGQuZ2V0VmFyKCdSREVQRU5EU18lcycgJSBtYWlu
cGtnLCBUcnVlKSBvciBkLmdldFZhcignUkRFUEVORFMnLCBUcnVlKSBvciAiIikuc3BsaXQoKQoJ
I3JkZXAuYXBwZW5kKCclcy1sb2NhbGUqJyAlIHBuKQoJI2Quc2V0VmFyKCdSREVQRU5EU18lcycg
JSBtYWlucGtnLCAnICcuam9pbihyZGVwKSkKfQoKCnB5dGhvbiBkZWJpYW5fcGFja2FnZV9uYW1l
X2hvb2sgKCkgewoJaW1wb3J0IGdsb2IsIGNvcHksIHN0YXQsIGVycm5vLCByZQoKCXBrZ2Rlc3Qg
PSBkLmdldFZhcignUEtHREVTVCcsIFRydWUpCglwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdF
UycsIFRydWUpCgliaW5fcmUgPSByZS5jb21waWxlKCIuKi9zPyIgKyBvcy5wYXRoLmJhc2VuYW1l
KGQuZ2V0VmFyKCJiaW5kaXIiLCBUcnVlKSkgKyAiJCIpCglsaWJfcmUgPSByZS5jb21waWxlKCIu
Ki8iICsgb3MucGF0aC5iYXNlbmFtZShkLmdldFZhcigibGliZGlyIiwgVHJ1ZSkpICsgIiQiKQoJ
c29fcmUgPSByZS5jb21waWxlKCJsaWIuKlwuc28iKQoKCWRlZiBzb2NydW5jaChzKToKCQlzID0g
cy5sb3dlcigpLnJlcGxhY2UoJ18nLCAnLScpCgkJbSA9IHJlLm1hdGNoKCJeKC4qKSguKVwuc29c
LiguKikkIiwgcykKCQlpZiBtIGlzIE5vbmU6CgkJCXJldHVybiBOb25lCgkJaWYgbS5ncm91cCgy
KSBpbiAnMDEyMzQ1Njc4OSc6CgkJCWJpbiA9ICclcyVzLSVzJyAlIChtLmdyb3VwKDEpLCBtLmdy
b3VwKDIpLCBtLmdyb3VwKDMpKQoJCWVsc2U6CgkJCWJpbiA9IG0uZ3JvdXAoMSkgKyBtLmdyb3Vw
KDIpICsgbS5ncm91cCgzKQoJCWRldiA9IG0uZ3JvdXAoMSkgKyBtLmdyb3VwKDIpCgkJcmV0dXJu
IChiaW4sIGRldikKCglkZWYgaXNleGVjKHBhdGgpOgoJCXRyeToKCQkJcyA9IG9zLnN0YXQocGF0
aCkKCQlleGNlcHQgKG9zLmVycm9yLCBBdHRyaWJ1dGVFcnJvcik6CgkJCXJldHVybiAwCgkJcmV0
dXJuIChzW3N0YXQuU1RfTU9ERV0gJiBzdGF0LlNfSUVYRUMpCgoJZGVmIGF1dG9fbGlibmFtZShw
YWNrYWdlcywgb3JpZ19wa2cpOgoJCXNvbmFtZXMgPSBbXQoJCWhhc19iaW5zID0gMAoJCWhhc19s
aWJzID0gMAoJCXBrZ19kaXIgPSBvcy5wYXRoLmpvaW4ocGtnZGVzdCwgb3JpZ19wa2cpCgkJZm9y
IHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocGtnX2Rpcik6CgkJCWlmIGJpbl9yZS5tYXRj
aChyb290KSBhbmQgZmlsZXM6CgkJCQloYXNfYmlucyA9IDEKCQkJaWYgbGliX3JlLm1hdGNoKHJv
b3QpIGFuZCBmaWxlczoKCQkJCWhhc19saWJzID0gMQoJCQkJZm9yIGYgaW4gZmlsZXM6CgkJCQkJ
aWYgc29fcmUubWF0Y2goZik6CgkJCQkJCWZwID0gb3MucGF0aC5qb2luKHJvb3QsIGYpCgkJCQkJ
CWNtZCA9IChkLmdldFZhcignQlVJTERfUFJFRklYJywgVHJ1ZSkgb3IgIiIpICsgIm9iamR1bXAg
LXAgIiArIGZwICsgIiAyPi9kZXYvbnVsbCIKCQkJCQkJZmQgPSBvcy5wb3BlbihjbWQpCgkJCQkJ
CWxpbmVzID0gZmQucmVhZGxpbmVzKCkKCQkJCQkJZmQuY2xvc2UoKQoJCQkJCQlmb3IgbCBpbiBs
aW5lczoKCQkJCQkJCW0gPSByZS5tYXRjaCgiXHMrU09OQU1FXHMrKFteXHNdKikiLCBsKQoJCQkJ
CQkJaWYgbSBhbmQgbm90IG0uZ3JvdXAoMSkgaW4gc29uYW1lczoKCQkJCQkJCQlzb25hbWVzLmFw
cGVuZChtLmdyb3VwKDEpKQoKCQliYi5kZWJ1ZygxLCAnTElCTkFNRVM6IHBrZyAlcyBsaWJzICVk
IGJpbnMgJWQgc29uYW1lcyAlcycgJSAob3JpZ19wa2csIGhhc19saWJzLCBoYXNfYmlucywgc29u
YW1lcykpCgkJc29uYW1lID0gTm9uZQoJCWlmIGxlbihzb25hbWVzKSA9PSAxOgoJCQlzb25hbWUg
PSBzb25hbWVzWzBdCgkJZWxpZiBsZW4oc29uYW1lcykgPiAxOgoJCQlsZWFkID0gZC5nZXRWYXIo
J0xFQURfU09OQU1FJywgVHJ1ZSkKCQkJaWYgbGVhZDoKCQkJCXIgPSByZS5jb21waWxlKGxlYWQp
CgkJCQlmaWx0ZXJlZCA9IFtdCgkJCQlmb3IgcyBpbiBzb25hbWVzOgoJCQkJCWlmIHIubWF0Y2go
cyk6CgkJCQkJCWZpbHRlcmVkLmFwcGVuZChzKQoJCQkJaWYgbGVuKGZpbHRlcmVkKSA9PSAxOgoJ
CQkJCXNvbmFtZSA9IGZpbHRlcmVkWzBdCgkJCQllbGlmIGxlbihmaWx0ZXJlZCkgPiAxOgoJCQkJ
CWJiLm5vdGUoIk11bHRpcGxlIG1hdGNoZXMgKCVzKSBmb3IgTEVBRF9TT05BTUUgJyVzJyIgJSAo
IiwgIi5qb2luKGZpbHRlcmVkKSwgbGVhZCkpCgkJCQllbHNlOgoJCQkJCWJiLm5vdGUoIk11bHRp
cGxlIGxpYnJhcmllcyAoJXMpIGZvdW5kLCBidXQgTEVBRF9TT05BTUUgJyVzJyBkb2Vzbid0IG1h
dGNoIGFueSBvZiB0aGVtIiAlICgiLCAiLmpvaW4oc29uYW1lcyksIGxlYWQpKQoJCQllbHNlOgoJ
CQkJYmIubm90ZSgiTXVsdGlwbGUgbGlicmFyaWVzICglcykgZm91bmQgYW5kIExFQURfU09OQU1F
IG5vdCBkZWZpbmVkIiAlICIsICIuam9pbihzb25hbWVzKSkKCgkJaWYgaGFzX2xpYnMgYW5kIG5v
dCBoYXNfYmlucyBhbmQgc29uYW1lOgoJCQlzb25hbWVfcmVzdWx0ID0gc29jcnVuY2goc29uYW1l
KQoJCQlpZiBzb25hbWVfcmVzdWx0OgoJCQkJKHBrZ25hbWUsIGRldm5hbWUpID0gc29uYW1lX3Jl
c3VsdAoJCQkJZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgoJCQkJCWlmIChkLmdldFZhcign
UEtHXycgKyBwa2cpIG9yIGQuZ2V0VmFyKCdERUJJQU5fTk9BVVRPTkFNRV8nICsgcGtnKSk6CgkJ
CQkJCWNvbnRpbnVlCgkJCQkJZGViaWFuX3BuID0gZC5nZXRWYXIoJ0RFQklBTk5BTUVfJyArIHBr
ZykKCQkJCQlpZiBkZWJpYW5fcG46CgkJCQkJCW5ld3BrZyA9IGRlYmlhbl9wbgoJCQkJCWVsaWYg
cGtnID09IG9yaWdfcGtnOgoJCQkJCQluZXdwa2cgPSBwa2duYW1lCgkJCQkJZWxzZToKCQkJCQkJ
bmV3cGtnID0gcGtnLnJlcGxhY2Uob3JpZ19wa2csIGRldm5hbWUsIDEpCgkJCQkJbWxwcmU9ZC5n
ZXRWYXIoJ01MUFJFRklYJywgVHJ1ZSkKCQkJCQlpZiBtbHByZToKCQkJCQkJaWYgbm90IG5ld3Br
Zy5maW5kKG1scHJlKSA9PSAwOgoJCQkJCQkJbmV3cGtnID0gbWxwcmUgKyBuZXdwa2cKCQkJCQlp
ZiBuZXdwa2cgIT0gcGtnOgoJCQkJCQlkLnNldFZhcignUEtHXycgKyBwa2csIG5ld3BrZykKCgkj
IHJldmVyc2VkIHNvcnQgaXMgbmVlZGVkIHdoZW4gc29tZSBwYWNrYWdlIGlzIHN1YnN0cmluZyBv
ZiBhbm90aGVyCgkjIGllIGluIG5jdXJzZXMgd2UgZ2V0IHdpdGhvdXQgcmV2ZXJzZSBzb3J0OgoJ
IyBERUJVRzogTElCTkFNRVM6IHBrZ25hbWUgbGlidGljNSBkZXZuYW1lIGxpYnRpYyBwa2cgbmN1
cnNlcy1saWJ0aWMgb3JpZ19wa2cgbmN1cnNlcy1saWJ0aWMgZGViaWFuX3BuIE5vbmUgbmV3cGtn
IGxpYnRpYzUKCSMgYW5kIGxhdGVyCgkjIERFQlVHOiBMSUJOQU1FUzogcGtnbmFtZSBsaWJ0aWM1
IGRldm5hbWUgbGlidGljIHBrZyBuY3Vyc2VzLWxpYnRpY3cgb3JpZ19wa2cgbmN1cnNlcy1saWJ0
aWMgZGViaWFuX3BuIE5vbmUgbmV3cGtnIGxpYnRpY3cKCSMgc28gd2UgbmVlZCB0byBoYW5kbGUg
bmN1cnNlcy1saWJ0aWN3LT5saWJ0aWN3NSBiZWZvcmUgbmN1cnNlcy1saWJ0aWMtPmxpYnRpYzUK
CWZvciBwa2cgaW4gc29ydGVkKChkLmdldFZhcignQVVUT19MSUJOQU1FX1BLR1MnLCBUcnVlKSBv
ciAiIikuc3BsaXQoKSwgcmV2ZXJzZT1UcnVlKToKCQlhdXRvX2xpYm5hbWUocGFja2FnZXMsIHBr
ZykKfQoKCnB5dGhvbiBjaGVja19wc2V1ZG9fd3JhcHBlciAoKSB7CmRlZiBjaGVja19wc2V1ZG9f
d3JhcHBlcigpOgogICAgaW1wb3J0IHN5cwogICAgaWYgbm90IHN5cy5hcmd2WzBdLmVuZHN3aXRo
KCcvYml0YmFrZScpOgogICAgICAgIHJldHVybiAiIgoKICAgIGltcG9ydCBzdWJwcm9jZXNzIGFz
IHN1YgogICAgIyBDaGVjayBpZiBiaXRiYWtlIHdyYXBwZXIgaXMgYmVpbmcgdXNlZAogICAgcHNl
dWRvX2J1aWxkID0gb3MuZW52aXJvbi5nZXQoICdQU0VVRE9fQlVJTEQnICkKICAgIGlmIG5vdCBw
c2V1ZG9fYnVpbGQ6CiAgICAgICAgYmIud2FybigiQml0YmFrZSBoYXMgbm90IGJlZW4gcnVuIHVz
aW5nIHRoZSBiaXRiYWtlIHdyYXBwZXIgKHNjcmlwdHMvYml0YmFrZSk7IHRoaXMgaXMgbGlrZWx5
IGJlY2F1c2UgeW91ciBQQVRIIGhhcyBiZWVuIGFsdGVyZWQgZnJvbSB0aGF0IG5vcm1hbGx5IHNl
dCB1cCBieSB0aGUgb2UtaW5pdC1idWlsZC1lbnYgc2NyaXB0LiBOb3QgdXNpbmcgdGhlIHdyYXBw
ZXIgbWF5IHJlc3VsdCBpbiBmYWlsdXJlcyBkdXJpbmcgcGFja2FnZSBpbnN0YWxsYXRpb24sIHNv
IGl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHlvdSBzZXQgeW91ciBQQVRIIGJhY2sgc28g
dGhhdCB0aGUgd3JhcHBlciBzY3JpcHQgaXMgYmVpbmcgZXhlY3V0ZWQuIikKCiAgICBpZiAobm90
IHBzZXVkb19idWlsZCkgb3IgcHNldWRvX2J1aWxkID09ICcyJzoKICAgICAgICAjIHBzZXVkbyBv
dWdodCB0byBiZSB3b3JraW5nLCBsZXQncyBzZWUgaWYgaXQgaXMuLi4KICAgICAgICBwID0gc3Vi
LlBvcGVuKFsnc2gnLCAnLWMnLCAnUFNFVURPX0RJU0FCTEVEPTAgaWQgLXUnXSxzdGRvdXQ9c3Vi
LlBJUEUsc3RkZXJyPXN1Yi5QSVBFKQogICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgp
CiAgICAgICAgaWYgb3V0LnJzdHJpcCgpICE9ICcwJzoKICAgICAgICAgICAgbXNnID0gIlBzZXVk
byBpcyBub3QgZnVuY3Rpb25pbmcgY29ycmVjdGx5LCB3aGljaCB3aWxsIGNhdXNlIGZhaWx1cmVz
IGR1cmluZyBwYWNrYWdlIGluc3RhbGxhdGlvbi4gUGxlYXNlIGNoZWNrIHlvdXIgY29uZmlndXJh
dGlvbi4iCiAgICAgICAgICAgIGlmIHBzZXVkb19idWlsZCA9PSAnMic6CiAgICAgICAgICAgICAg
ICByZXR1cm4gbXNnCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBiYi53YXJuKG1z
ZykKICAgIHJldHVybiAiIgp9CgoKcHl0aG9uIHNzdGF0ZV9hZGQgKCkgewpkZWYgc3N0YXRlX2Fk
ZChzcywgc291cmNlLCBkZXN0LCBkKToKICAgIHNyY2Jhc2UgPSBvcy5wYXRoLmJhc2VuYW1lKHNv
dXJjZSkKICAgIHNzWydkaXJzJ10uYXBwZW5kKFtzcmNiYXNlLCBzb3VyY2UsIGRlc3RdKQogICAg
cmV0dXJuIHNzCn0KCgpweXRob24gZG9fcWFfY29uZmlndXJlICgpIHsKICAgIGNvbmZpZ3MgPSBb
XQogICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJywgVHJ1ZSkKICAgIGJiLm5vdGUoIkNo
ZWNraW5nIGF1dG90b29scyBlbnZpcm9ubWVudCBmb3IgY29tbW9uIG1pc2NvbmZpZ3VyYXRpb24i
KQogICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsod29ya2Rpcik6CiAgICAgICAg
c3RhdGVtZW50ID0gImdyZXAgLWUgJ0NST1NTIENPTVBJTEUgQmFkbmVzczonIC1lICdpcyB1bnNh
ZmUgZm9yIGNyb3NzLWNvbXBpbGF0aW9uJyAlcyA+IC9kZXYvbnVsbCIgJSBcCiAgICAgICAgICAg
ICAgICAgICAgb3MucGF0aC5qb2luKHJvb3QsImNvbmZpZy5sb2ciKQogICAgICAgIGlmICJjb25m
aWcubG9nIiBpbiBmaWxlczoKICAgICAgICAgICAgaWYgb3Muc3lzdGVtKHN0YXRlbWVudCkgPT0g
MDoKICAgICAgICAgICAgICAgIGJiLmZhdGFsKCIiIlRoaXMgYXV0b2NvbmYgbG9nIGluZGljYXRl
cyBlcnJvcnMsIGl0IGxvb2tlZCBhdCBob3N0IGluY2x1ZGUgYW5kL29yIGxpYnJhcnkgcGF0aHMg
d2hpbGUgZGV0ZXJtaW5pbmcgc3lzdGVtIGNhcGFiaWxpdGllcy4KUmVydW4gY29uZmlndXJlIHRh
c2sgYWZ0ZXIgZml4aW5nIHRoaXMuIFRoZSBwYXRoIHdhcyAnJXMnIiIiICUgcm9vdCkKCiAgICAg
ICAgaWYgImNvbmZpZ3VyZS5hYyIgaW4gZmlsZXM6CiAgICAgICAgICAgIGNvbmZpZ3MuYXBwZW5k
KG9zLnBhdGguam9pbihyb290LCJjb25maWd1cmUuYWMiKSkKICAgICAgICBpZiAiY29uZmlndXJl
LmluIiBpbiBmaWxlczoKICAgICAgICAgICAgY29uZmlncy5hcHBlbmQob3MucGF0aC5qb2luKHJv
b3QsICJjb25maWd1cmUuaW4iKSkKCiAgICBjbmYgPSBkLmdldFZhcignRVhUUkFfT0VDT05GJywg
VHJ1ZSkgb3IgIiIKICAgIGlmICJnZXR0ZXh0IiBub3QgaW4gZC5nZXRWYXIoJ1AnLCBUcnVlKSBh
bmQgImdjYy1ydW50aW1lIiBub3QgaW4gZC5nZXRWYXIoJ1AnLCBUcnVlKSBhbmQgIi0tZGlzYWJs
ZS1ubHMiIG5vdCBpbiBjbmY6CiAgICAgICBtbCA9IGQuZ2V0VmFyKCJNTFBSRUZJWCIsIFRydWUp
IG9yICIiCiAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBi
Yi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xh
c3MoJ2Nyb3Nzc2RrJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlc2RrJywg
ZCk6CiAgICAgICAgICBndCA9ICJnZXR0ZXh0LW5hdGl2ZSIKICAgICAgIGVsaWYgYmIuZGF0YS5p
bmhlcml0c19jbGFzcygnY3Jvc3MtY2FuYWRpYW4nLCBkKToKICAgICAgICAgIGd0ID0gImdldHRl
eHQtbmF0aXZlc2RrIgogICAgICAgZWxzZToKICAgICAgICAgIGd0ID0gInZpcnR1YWwvIiArIG1s
ICsgImdldHRleHQiCiAgICAgICBkZXBzID0gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFy
KCdERVBFTkRTJywgVHJ1ZSkgb3IgIiIpCiAgICAgICBpZiBndCBub3QgaW4gZGVwczoKICAgICAg
ICAgIGZvciBjb25maWcgaW4gY29uZmlnczoKICAgICAgICAgICAgICBnbnUgPSAiZ3JlcCBcIl5b
WzpzcGFjZTpdXSpBTV9HTlVfR0VUVEVYVFwiICVzID4vZGV2L251bGwiICUgY29uZmlnCiAgICAg
ICAgICAgICAgaWYgb3Muc3lzdGVtKGdudSkgPT0gMDoKICAgICAgICAgICAgICAgICBiYi5mYXRh
bCgiIiIlcyByZXF1aXJlZCBidXQgbm90IGluIERFUEVORFMgZm9yIGZpbGUgJXMuCk1pc3Npbmcg
aW5oZXJpdCBnZXR0ZXh0PyIiIiAlIChndCwgY29uZmlnKSkKCiAgICBpZiBub3QgcGFja2FnZV9x
YV9jaGVja19saWNlbnNlKHdvcmtkaXIsIGQpOgogICAgICAgIGJiLmZhdGFsKCJMaWNlbnNpbmcg
RXJyb3I6IExJQ19GSUxFU19DSEtTVU0gZG9lcyBub3QgbWF0Y2gsIHBsZWFzZSBmaXgiKQp9CgoK
cHl0aG9uIGJhc2Vfc2V0X2ZpbGVzcGF0aCAoKSB7CmRlZiBiYXNlX3NldF9maWxlc3BhdGgocGF0
aCwgZCk6CglmaWxlc3BhdGggPSBbXQoJZXh0cmFwYXRocyA9IChkLmdldFZhcigiRklMRVNFWFRS
QVBBVEhTIiwgVHJ1ZSkgb3IgIiIpCgkjIERvbid0IHByZXBlbmQgZW1wdHkgc3RyaW5ncyB0byB0
aGUgcGF0aCBsaXN0CglpZiBleHRyYXBhdGhzICE9ICIiOgoJCXBhdGggPSBleHRyYXBhdGhzLnNw
bGl0KCI6IikgKyBwYXRoCgkjIFRoZSAiOiIgZW5zdXJlcyB3ZSBoYXZlIGFuICdlbXB0eScgb3Zl
cnJpZGUKCW92ZXJyaWRlcyA9IChkLmdldFZhcigiT1ZFUlJJREVTIiwgVHJ1ZSkgb3IgIiIpICsg
IjoiCglmb3IgcCBpbiBwYXRoOgoJCWlmIHAgIT0gIiI6CgkJCWZvciBvIGluIG92ZXJyaWRlcy5z
cGxpdCgiOiIpOgoJCQkJZmlsZXNwYXRoLmFwcGVuZChvcy5wYXRoLmpvaW4ocCwgbykpCglyZXR1
cm4gIjoiLmpvaW4oZmlsZXNwYXRoKQp9CgoKcHl0aG9uIG1hcHBpbmdfcmVuYW1lX2hvb2sgKCkg
ewoJYmIuYnVpbGQuZXhlY19mdW5jKCdwYWNrYWdlX2lwa19tYXBwaW5nX3JlbmFtZV9ob29rJywg
ZCkKfQoKCnB5dGhvbiBjaGVja19zdXBwb3J0ZWRfZGlzdHJvICgpIHsKZGVmIGNoZWNrX3N1cHBv
cnRlZF9kaXN0cm8oZSk6CiAgICB0ZXN0ZWRfZGlzdHJvcyA9IGUuZGF0YS5nZXRWYXIoJ1NBTklU
WV9URVNURURfRElTVFJPUycsIFRydWUpCiAgICBpZiBub3QgdGVzdGVkX2Rpc3Ryb3M6CiAgICAg
ICAgcmV0dXJuCgogICAgaWYgb3MucGF0aC5leGlzdHMoIi9ldGMvcmVkaGF0LXJlbGVhc2UiKToK
ICAgICAgICBmID0gb3BlbigiL2V0Yy9yZWRoYXQtcmVsZWFzZSIsICJyIikKICAgICAgICB0cnk6
CiAgICAgICAgICAgIGRpc3RybyA9IGYucmVhZGxpbmUoKS5zdHJpcCgpCiAgICAgICAgZmluYWxs
eToKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICBlbGlmIG9zLnBhdGguZXhpc3RzKCIvZXRjL1N1
U0UtcmVsZWFzZSIpOgogICAgICAgIGltcG9ydCByZQogICAgICAgIGYgPSBvcGVuKCIvZXRjL1N1
U0UtcmVsZWFzZSIsICJyIikKICAgICAgICB0cnk6CiAgICAgICAgICAgIGRpc3RybyA9IGYucmVh
ZGxpbmUoKQogICAgICAgICAgICAjIFJlbW92ZSB0aGUgYXJjaGl0ZWN0dXJlIHN1ZmZpeCBlLmcu
IChpNTg2KQogICAgICAgICAgICBkaXN0cm8gPSByZS5zdWIocicgXChbYS16QS1aMC05XC1fXSpc
KSQnLCAnJywgZGlzdHJvKS5zdHJpcCgpCiAgICAgICAgZmluYWxseToKICAgICAgICAgICAgZi5j
bG9zZSgpCiAgICBlbHNlOgogICAgICAgICMgVXNlIExTQiBtZXRob2QKICAgICAgICBpbXBvcnQg
c3VicHJvY2VzcyBhcyBzdWIKICAgICAgICB0cnk6CiAgICAgICAgICAgIHAgPSBzdWIuUG9wZW4o
Wydsc2JfcmVsZWFzZScsJy1kJywnLXMnXSxzdGRvdXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5QSVBF
KQogICAgICAgICAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNhdGUoKQogICAgICAgICAgICBkaXN0
cm8gPSBvdXQucnN0cmlwKCkKICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICBk
aXN0cm8gPSBOb25lCgogICAgICAgIGlmIG5vdCBkaXN0cm86CiAgICAgICAgICAgIGlmIG9zLnBh
dGguZXhpc3RzKCIvZXRjL2xzYi1yZWxlYXNlIik6CiAgICAgICAgICAgICAgICBmID0gb3Blbigi
L2V0Yy9sc2ItcmVsZWFzZSIsICJyIikKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAg
ICAgICAgICBmb3IgbGluZSBpbiBmOgogICAgICAgICAgICAgICAgICAgICAgICBsbnMgPSBsaW5l
LnNwbGl0KCc9JykKICAgICAgICAgICAgICAgICAgICAgICAgaWYgbG5zWzBdID09ICJESVNUUklC
X0RFU0NSSVBUSU9OIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RybyA9IGxuc1sx
XS5zdHJpcCgnIlxuJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg
ICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQogICAgaWYgZGlz
dHJvOgogICAgICAgIGlmIGRpc3RybyBub3QgaW4gW3guc3RyaXAoKSBmb3IgeCBpbiB0ZXN0ZWRf
ZGlzdHJvcy5zcGxpdCgnXFxuJyldOgogICAgICAgICAgICBiYi53YXJuKCdIb3N0IGRpc3RyaWJ1
dGlvbiAiJXMiIGhhcyBub3QgYmVlbiB2YWxpZGF0ZWQgd2l0aCB0aGlzIHZlcnNpb24gb2YgdGhl
IGJ1aWxkIHN5c3RlbTsgeW91IG1heSBwb3NzaWJseSBleHBlcmllbmNlIHVuZXhwZWN0ZWQgZmFp
bHVyZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IHVzZSBhIHRlc3RlZCBkaXN0cmlidXRp
b24uJyAlIGRpc3RybykKICAgIGVsc2U6CiAgICAgICAgYmIud2FybignSG9zdCBkaXN0cmlidXRp
b24gY291bGQgbm90IGJlIGRldGVybWluZWQ7IHlvdSBtYXkgcG9zc2libHkgZXhwZXJpZW5jZSB1
bmV4cGVjdGVkIGZhaWx1cmVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSB1c2UgYSB0ZXN0
ZWQgZGlzdHJpYnV0aW9uLicpCn0KCgpweXRob24gZW1pdF9wa2dkYXRhICgpIHsKCWZyb20gZ2xv
YiBpbXBvcnQgZ2xvYgoKCWRlZiB3cml0ZV9pZl9leGlzdHMoZiwgcGtnLCB2YXIpOgoJCWRlZiBl
bmNvZGUoc3RyKToKCQkJaW1wb3J0IGNvZGVjcwoJCQljID0gY29kZWNzLmdldGVuY29kZXIoInN0
cmluZ19lc2NhcGUiKQoJCQlyZXR1cm4gYyhzdHIpWzBdCgoJCXZhbCA9IGQuZ2V0VmFyKCclc18l
cycgJSAodmFyLCBwa2cpLCBUcnVlKQoJCWlmIHZhbDoKCQkJZi53cml0ZSgnJXNfJXM6ICVzXG4n
ICUgKHZhciwgcGtnLCBlbmNvZGUodmFsKSkpCgkJCXJldHVybgoJCXZhbCA9IGQuZ2V0VmFyKCcl
cycgJSAodmFyKSwgVHJ1ZSkKCQlpZiB2YWw6CgkJCWYud3JpdGUoJyVzOiAlc1xuJyAlICh2YXIs
IGVuY29kZSh2YWwpKSkKCQlyZXR1cm4KCglkZWYgZ2V0X2RpcmVjdG9yeV9zaXplKGRpcik6CgkJ
aWYgb3MubGlzdGRpcihkaXIpOgoJCQlzaXplID0gaW50KG9zLnBvcGVuKCdkdSAtc2sgJXMnICUg
ZGlyKS5yZWFkbGluZXMoKVswXS5zcGxpdCgnXHQnKVswXSkKCQllbHNlOgoJCQlzaXplID0gMAoJ
CXJldHVybiBzaXplCgoJcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnLCBUcnVlKQoJcGtn
ZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJywgVHJ1ZSkKCXBrZ2RhdGFkaXIgPSBkLmdldFZhcign
UEtHREVTVFdPUksnLCBUcnVlKQoKCSMgVGFrZSBzaGFyZWQgbG9jayBzaW5jZSB3ZSdyZSBvbmx5
IHJlYWRpbmcsIG5vdCB3cml0aW5nCglsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKGQuZXhwYW5kKCIv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9wYWNrYWdlLW91
dHB1dC5sb2NrIiksIFRydWUpCgoJZGF0YV9maWxlID0gcGtnZGF0YWRpciArIGQuZXhwYW5kKCIv
bWV0YS10b29sY2hhaW4iICkKCWYgPSBvcGVuKGRhdGFfZmlsZSwgJ3cnKQoJZi53cml0ZSgiUEFD
S0FHRVM6ICVzXG4iICUgcGFja2FnZXMpCglmLmNsb3NlKCkKCgl3b3JrZGlyID0gZC5nZXRWYXIo
J1dPUktESVInLCBUcnVlKQoKCWZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKCQlzdWJkYXRh
X2ZpbGUgPSBwa2dkYXRhZGlyICsgIi9ydW50aW1lLyVzIiAlIHBrZwoKCQlzZiA9IG9wZW4oc3Vi
ZGF0YV9maWxlLCAndycpCgkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdQTicpCgkJd3JpdGVf
aWZfZXhpc3RzKHNmLCBwa2csICdQVicpCgkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdQUicp
CgkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdQS0dWJykKCQl3cml0ZV9pZl9leGlzdHMoc2Ys
IHBrZywgJ1BLR1InKQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnTElDRU5TRScpCgkJd3Jp
dGVfaWZfZXhpc3RzKHNmLCBwa2csICdERVNDUklQVElPTicpCgkJd3JpdGVfaWZfZXhpc3RzKHNm
LCBwa2csICdTVU1NQVJZJykKCQl3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1JERVBFTkRTJykK
CQl3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1JQUk9WSURFUycpCgkJd3JpdGVfaWZfZXhpc3Rz
KHNmLCBwa2csICdSUkVDT01NRU5EUycpCgkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdSU1VH
R0VTVFMnKQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnUlJFUExBQ0VTJykKCQl3cml0ZV9p
Zl9leGlzdHMoc2YsIHBrZywgJ1JDT05GTElDVFMnKQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtn
LCAnU0VDVElPTicpCgkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdQS0cnKQoJCXdyaXRlX2lm
X2V4aXN0cyhzZiwgcGtnLCAnQUxMT1dfRU1QVFknKQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtn
LCAnRklMRVMnKQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAncGtnX3Bvc3RpbnN0JykKCQl3
cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ3BrZ19wb3N0cm0nKQoJCXdyaXRlX2lmX2V4aXN0cyhz
ZiwgcGtnLCAncGtnX3ByZWluc3QnKQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAncGtnX3By
ZXJtJykKCQl3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0ZJTEVSUFJPVklERVNGTElTVCcpCgkJ
Zm9yIGRmaWxlIGluIChkLmdldFZhcignRklMRVJQUk9WSURFU0ZMSVNUXycgKyBwa2csIFRydWUp
IG9yICIiKS5zcGxpdCgpOgoJCQl3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0ZJTEVSUFJPVklE
RVNfJyArIGRmaWxlKQoKCQl3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0ZJTEVSREVQRU5EU0ZM
SVNUJykKCQlmb3IgZGZpbGUgaW4gKGQuZ2V0VmFyKCdGSUxFUkRFUEVORFNGTElTVF8nICsgcGtn
LCBUcnVlKSBvciAiIikuc3BsaXQoKToKCQkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdGSUxF
UkRFUEVORFNfJyArIGRmaWxlKQoKCQlzZi53cml0ZSgnJXNfJXM6ICVzXG4nICUgKCdQS0dTSVpF
JywgcGtnLCBnZXRfZGlyZWN0b3J5X3NpemUocGtnZGVzdCArICIvJXMiICUgcGtnKSkpCgkJc2Yu
Y2xvc2UoKQoKCgkJYWxsb3dfZW1wdHkgPSBkLmdldFZhcignQUxMT1dfRU1QVFlfJXMnICUgcGtn
LCBUcnVlKQoJCWlmIG5vdCBhbGxvd19lbXB0eToKCQkJYWxsb3dfZW1wdHkgPSBkLmdldFZhcign
QUxMT1dfRU1QVFknLCBUcnVlKQoJCXJvb3QgPSAiJXMvJXMiICUgKHBrZ2Rlc3QsIHBrZykKCQlv
cy5jaGRpcihyb290KQoJCWcgPSBnbG9iKCcqJykKCQlpZiBnIG9yIGFsbG93X2VtcHR5ID09ICIx
IjoKCQkJcGFja2FnZWRmaWxlID0gcGtnZGF0YWRpciArICcvcnVudGltZS8lcy5wYWNrYWdlZCcg
JSBwa2cKCQkJZmlsZShwYWNrYWdlZGZpbGUsICd3JykuY2xvc2UoKQoKCWJiLnV0aWxzLnVubG9j
a2ZpbGUobGYpCn0KCgpweXRob24gZG9fcGF0Y2ggKCkgewoJYmIuYnVpbGQuZXhlY19mdW5jKCdi
YXNlX2RvX3BhdGNoJywgZCkKfQoKCnB5dGhvbiBiYXNlX2xlc3Nfb3JfZXF1YWwgKCkgewpkZWYg
YmFzZV9sZXNzX29yX2VxdWFsKHZhcmlhYmxlLCBjaGVja3ZhbHVlLCB0cnVldmFsdWUsIGZhbHNl
dmFsdWUsIGQpOgogICAgcmV0dXJuIG9lLnV0aWxzLmxlc3Nfb3JfZXF1YWwodmFyaWFibGUsIGNo
ZWNrdmFsdWUsIHRydWV2YWx1ZSwgZmFsc2V2YWx1ZSwgZCkKfQoKCnB5dGhvbiBjaGVja19zYW5p
dHkgKCkgewpkZWYgY2hlY2tfc2FuaXR5KGUpOgogICAgZnJvbSBiYiBpbXBvcnQgbm90ZSwgZXJy
b3IsIGRhdGEsIF9fdmVyc2lvbl9fCgogICAgdHJ5OgogICAgICAgIGZyb20gZGlzdHV0aWxzLnZl
cnNpb24gaW1wb3J0IExvb3NlVmVyc2lvbgogICAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAg
IGRlZiBMb29zZVZlcnNpb24odik6IHByaW50ICJXQVJOSU5HOiBzYW5pdHkuYmJjbGFzcyBjYW4n
dCBjb21wYXJlIHZlcnNpb25zIHdpdGhvdXQgcHl0aG9uLWRpc3R1dGlscyI7IHJldHVybiAxCiAg
ICBpbXBvcnQgY29tbWFuZHMKCiAgICAjIENoZWNrIHRoZSBiaXRiYWtlIHZlcnNpb24gbWVldHMg
bWluaW11bSByZXF1aXJlbWVudHMKICAgIG1pbnZlcnNpb24gPSBkYXRhLmdldFZhcignQkJfTUlO
X1ZFUlNJT04nLCBlLmRhdGEgLCBUcnVlKQogICAgaWYgbm90IG1pbnZlcnNpb246CiAgICAgICAg
IyBIYWNrOiBCQl9NSU5fVkVSU0lPTiBoYXNuJ3QgYmVlbiBwYXJzZWQgeWV0IHNvIHJldHVybgog
ICAgICAgICMgYW5kIHdhaXQgZm9yIHRoZSBuZXh0IGNhbGwKICAgICAgICBwcmludCAiRm9vICVz
IiAlIG1pbnZlcnNpb24KICAgICAgICByZXR1cm4KCiAgICBpZiAwID09IG9zLmdldHVpZCgpOgog
ICAgICAgIHJhaXNlX3Nhbml0eV9lcnJvcigiRG8gbm90IHVzZSBCaXRiYWtlIGFzIHJvb3QuIikK
CiAgICBtZXNzYWdlcyA9ICIiCgogICAgIyBDaGVjayB0aGUgUHl0aG9uIHZlcnNpb24sIHdlIG5v
dyB1c2UgUHl0aG9uIDIuNiBmZWF0dXJlcyBpbgogICAgIyB2YXJpb3VzIGNsYXNzZXMKICAgIGlt
cG9ydCBzeXMKICAgIGlmIHN5cy5oZXh2ZXJzaW9uIDwgMHgwMjA2MDBGMDoKICAgICAgICBtZXNz
YWdlcyA9IG1lc3NhZ2VzICsgJ1RoZSBzeXN0ZW0gcmVxdWlyZXMgYXQgbGVhc3QgUHl0aG9uIDIu
NiB0byBydW4uIFBsZWFzZSB1cGRhdGUgeW91ciBQeXRob24gaW50ZXJwcmV0ZXIuXG4nCgogICAg
aWYgKExvb3NlVmVyc2lvbihfX3ZlcnNpb25fXykgPCBMb29zZVZlcnNpb24obWludmVyc2lvbikp
OgogICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAnQml0YmFrZSB2ZXJzaW9uICVzIGlzIHJl
cXVpcmVkIGFuZCB2ZXJzaW9uICVzIHdhcyBmb3VuZFxuJyAlIChtaW52ZXJzaW9uLCBfX3ZlcnNp
b25fXykKCiAgICAjIENoZWNrIHRoYXQgdGhlIE1BQ0hJTkUgaXMgdmFsaWQsIGlmIGl0IGlzIHNl
dAogICAgaWYgZGF0YS5nZXRWYXIoJ01BQ0hJTkUnLCBlLmRhdGEsIFRydWUpOgogICAgICAgIGlm
IG5vdCBjaGVja19jb25mX2V4aXN0cygiY29uZi9tYWNoaW5lL2NvbmNvcmRpYS5jb25mIiwgZS5k
YXRhKToKICAgICAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICdQbGVhc2Ugc2V0IGEgdmFs
aWQgTUFDSElORSBpbiB5b3VyIGxvY2FsLmNvbmYgb3IgZW52aXJvbm1lbnRcbicKICAgICAgICBl
bHNlOgogICAgICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgY2hlY2tfc2FuaXR5X3ZhbGlk
bWFjaGluZShlKQogICAgZWxzZToKICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgJ1BsZWFz
ZSBzZXQgYSBNQUNISU5FIGluIHlvdXIgbG9jYWwuY29uZiBvciBlbnZpcm9ubWVudFxuJwoKICAg
ICMgQ2hlY2sgd2UgYXJlIHVzaW5nIGEgdmFsaWQgbGFjYWwuY29uZgogICAgY3VycmVudF9jb25m
ICA9IGRhdGEuZ2V0VmFyKCdDT05GX1ZFUlNJT04nLCBlLmRhdGEsIFRydWUpCiAgICBjb25mX3Zl
cnNpb24gPSAgZGF0YS5nZXRWYXIoJ0xPQ0FMQ09ORl9WRVJTSU9OJywgZS5kYXRhLCBUcnVlKQoK
ICAgIGlmIGN1cnJlbnRfY29uZiAhPSBjb25mX3ZlcnNpb246CiAgICAgICAgbWVzc2FnZXMgPSBt
ZXNzYWdlcyArICJZb3VyIHZlcnNpb24gb2YgbG9jYWwuY29uZiB3YXMgZ2VuZXJhdGVkIGZyb20g
YW4gb2xkZXIgdmVyc2lvbiBvZiBsb2NhbC5jb25mLnNhbXBsZSBhbmQgdGhlcmUgaGF2ZSBiZWVu
IHVwZGF0ZXMgbWFkZSB0byB0aGlzIGZpbGUuIFBsZWFzZSBjb21wYXJlIHRoZSB0d28gZmlsZXMg
YW5kIG1lcmdlIGFueSBjaGFuZ2VzIGJlZm9yZSBjb250aW51aW5nLlxuTWF0Y2hpbmcgdGhlIHZl
cnNpb24gbnVtYmVycyB3aWxsIHJlbW92ZSB0aGlzIG1lc3NhZ2UuXG5cIm1lbGQgY29uZi9sb2Nh
bC5jb25mIGNvbmYvbG9jYWwuY29uZi5zYW1wbGVcIiBpcyBhIGdvb2Qgd2F5IHRvIHZpc3VhbGlz
ZSB0aGUgY2hhbmdlcy5cbiIKCiAgICAjIENoZWNrIGJibGF5ZXJzLmNvbmYgaXMgdmFsaWQKICAg
IGN1cnJlbnRfbGNvbmYgPSBkYXRhLmdldFZhcignTENPTkZfVkVSU0lPTicsIGUuZGF0YSwgVHJ1
ZSkKICAgIGxjb25mX3ZlcnNpb24gPSBkYXRhLmdldFZhcignTEFZRVJfQ09ORl9WRVJTSU9OJywg
ZS5kYXRhLCBUcnVlKQogICAgaWYgY3VycmVudF9sY29uZiAhPSBsY29uZl92ZXJzaW9uOgogICAg
ICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAiWW91ciB2ZXJzaW9uIG9mIGJibGF5ZXJzLmNvbmYg
d2FzIGdlbmVyYXRlZCBmcm9tIGFuIG9sZGVyIHZlcnNpb24gb2YgYmJsYXllcnMuY29uZi5zYW1w
bGUgYW5kIHRoZXJlIGhhdmUgYmVlbiB1cGRhdGVzIG1hZGUgdG8gdGhpcyBmaWxlLiBQbGVhc2Ug
Y29tcGFyZSB0aGUgdHdvIGZpbGVzIGFuZCBtZXJnZSBhbnkgY2hhbmdlcyBiZWZvcmUgY29udGlu
dWluZy5cbk1hdGNoaW5nIHRoZSB2ZXJzaW9uIG51bWJlcnMgd2lsbCByZW1vdmUgdGhpcyBtZXNz
YWdlLlxuXCJtZWxkIGNvbmYvYmJsYXllcnMuY29uZiBjb25mL2JibGF5ZXJzLmNvbmYuc2FtcGxl
XCIgaXMgYSBnb29kIHdheSB0byB2aXN1YWxpc2UgdGhlIGNoYW5nZXMuXG4iCgogICAgIyBJZiB3
ZSBoYXZlIGEgc2l0ZS5jb25mLCBjaGVjayBpdCdzIHZhbGlkCiAgICBpZiBjaGVja19jb25mX2V4
aXN0cygiY29uZi9zaXRlLmNvbmYiLCBlLmRhdGEpOgogICAgICAgIGN1cnJlbnRfc2NvbmYgPSBk
YXRhLmdldFZhcignU0NPTkZfVkVSU0lPTicsIGUuZGF0YSwgVHJ1ZSkKICAgICAgICBzY29uZl92
ZXJzaW9uID0gZGF0YS5nZXRWYXIoJ1NJVEVfQ09ORl9WRVJTSU9OJywgZS5kYXRhLCBUcnVlKQog
ICAgICAgIGlmIGN1cnJlbnRfc2NvbmYgIT0gc2NvbmZfdmVyc2lvbjoKICAgICAgICAgICAgbWVz
c2FnZXMgPSBtZXNzYWdlcyArICJZb3VyIHZlcnNpb24gb2Ygc2l0ZS5jb25mIHdhcyBnZW5lcmF0
ZWQgZnJvbSBhbiBvbGRlciB2ZXJzaW9uIG9mIHNpdGUuY29uZi5zYW1wbGUgYW5kIHRoZXJlIGhh
dmUgYmVlbiB1cGRhdGVzIG1hZGUgdG8gdGhpcyBmaWxlLiBQbGVhc2UgY29tcGFyZSB0aGUgdHdv
IGZpbGVzIGFuZCBtZXJnZSBhbnkgY2hhbmdlcyBiZWZvcmUgY29udGludWluZy5cbk1hdGNoaW5n
IHRoZSB2ZXJzaW9uIG51bWJlcnMgd2lsbCByZW1vdmUgdGhpcyBtZXNzYWdlLlxuXCJtZWxkIGNv
bmYvc2l0ZS5jb25mIGNvbmYvc2l0ZS5jb25mLnNhbXBsZVwiIGlzIGEgZ29vZCB3YXkgdG8gdmlz
dWFsaXNlIHRoZSBjaGFuZ2VzLlxuIgoKICAgIGFzc3VtZV9wcm92aWRlZCA9IGRhdGEuZ2V0VmFy
KCdBU1NVTUVfUFJPVklERUQnLCBlLmRhdGEgLCBUcnVlKS5zcGxpdCgpCiAgICAjIENoZWNrIHVz
ZXIgZG9lc24ndCBoYXZlIEFTU1VNRV9QUk9WSURFRCA9IGluc3RlYWQgb2YgKz0gaW4gbG9jYWwu
Y29uZgogICAgaWYgImRpZmZzdGF0LW5hdGl2ZSIgbm90IGluIGFzc3VtZV9wcm92aWRlZDoKICAg
ICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgJ1BsZWFzZSB1c2UgQVNTVU1FX1BST1ZJREVEICs9
LCBub3QgQVNTVU1FX1BST1ZJREVEID0gaW4geW91ciBsb2NhbC5jb25mXG4nCgogICAgIyBDaGVj
ayB0aGF0IERMX0RJUiBpcyBzZXQsIGV4aXN0cyBhbmQgaXMgd3JpdGFibGUuIEluIHRoZW9yeSwg
d2Ugc2hvdWxkIG5ldmVyIGV2ZW4gaGl0IHRoZSBjaGVjayBpZiBETF9ESVIgaXNuJ3QKICAgICMg
c2V0LCBzaW5jZSBzbyBtdWNoIHJlbGllcyBvbiBpdCBiZWluZyBzZXQuCiAgICBkbGRpciA9IGRh
dGEuZ2V0VmFyKCdETF9ESVInLCBlLmRhdGEsIFRydWUpCiAgICBpZiBub3QgZGxkaXI6CiAgICAg
ICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICJETF9ESVIgaXMgbm90IHNldC4gWW91ciBlbnZpcm9u
bWVudCBpcyBtaXNjb25maWd1cmVkLCBjaGVjayB0aGF0IERMX0RJUiBpcyBzZXQsIGFuZCBpZiB0
aGUgZGlyZWN0b3J5IGV4aXN0cywgdGhhdCBpdCBpcyB3cml0YWJsZS4gXG4iCiAgICBpZiBvcy5w
YXRoLmV4aXN0cyhkbGRpcikgYW5kIG5vdCBvcy5hY2Nlc3MoZGxkaXIsIG9zLldfT0spOgogICAg
ICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAiRExfRElSOiAlcyBleGlzdHMgYnV0IHlvdSBkbyBu
b3QgYXBwZWFyIHRvIGhhdmUgd3JpdGUgYWNjZXNzIHRvIGl0LiBcbiIgJSBkbGRpcgoKICAgICMg
Q2hlY2sgdGhhdCB0aGUgRElTVFJPIGlzIHZhbGlkLCBpZiBzZXQKICAgICMgbmVlZCB0byB0YWtl
IGludG8gYWNjb3VudCBESVNUUk8gcmVuYW1pbmcgRElTVFJPCiAgICBkaXN0cm8gPSBkYXRhLmdl
dFZhcignRElTVFJPJywgZS5kYXRhLCBUcnVlKQogICAgaWYgZGlzdHJvOgogICAgICAgIGlmIG5v
dCAoIGNoZWNrX2NvbmZfZXhpc3RzKCJjb25mL2Rpc3Ryby9jb25jb3JkaWEuY29uZiIsIGUuZGF0
YSkgb3IgY2hlY2tfY29uZl9leGlzdHMoImNvbmYvZGlzdHJvL2luY2x1ZGUvY29uY29yZGlhLmlu
YyIsIGUuZGF0YSkgKToKICAgICAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICJESVNUUk8g
JyVzJyBub3QgZm91bmQuIFBsZWFzZSBzZXQgYSB2YWxpZCBESVNUUk8gaW4geW91ciBsb2NhbC5j
b25mXG4iICUgZGF0YS5nZXRWYXIoIkRJU1RSTyIsIGUuZGF0YSwgVHJ1ZSApCgogICAgbWlzc2lu
ZyA9ICIiCgogICAgaWYgbm90IGNoZWNrX2FwcF9leGlzdHMoIm1ha2UiLCBlLmRhdGEpOgogICAg
ICAgIG1pc3NpbmcgPSBtaXNzaW5nICsgIkdOVSBtYWtlLCIKCiAgICBpZiBub3QgY2hlY2tfYXBw
X2V4aXN0cygnZ2NjJywgZS5kYXRhKToKICAgICAgICBtaXNzaW5nID0gbWlzc2luZyArICJDIENv
bXBpbGVyICglc2djYyksIiAlIGRhdGEuZ2V0VmFyKCJCVUlMRF9QUkVGSVgiLCBlLmRhdGEsIFRy
dWUpCgogICAgaWYgbm90IGNoZWNrX2FwcF9leGlzdHMoJ2crKycsIGUuZGF0YSk6CiAgICAgICAg
bWlzc2luZyA9IG1pc3NpbmcgKyAiQysrIENvbXBpbGVyICglc2crKyksIiAlIGRhdGEuZ2V0VmFy
KCJCVUlMRF9QUkVGSVgiLCBlLmRhdGEsIFRydWUpCgogICAgcmVxdWlyZWRfdXRpbGl0aWVzID0g
ZS5kYXRhLmdldFZhcignU0FOSVRZX1JFUVVJUkVEX1VUSUxJVElFUycsIFRydWUpCgogICAgaWYg
InFlbXUtbmF0aXZlIiBpbiBhc3N1bWVfcHJvdmlkZWQ6CiAgICAgICAgaWYgbm90IGNoZWNrX2Fw
cF9leGlzdHMoInFlbXUtYXJtIiwgZS5kYXRhKToKICAgICAgICAgICAgbWVzc2FnZXMgPSBtZXNz
YWdlcyArICJxZW11LW5hdGl2ZSB3YXMgaW4gQVNTVU1FX1BST1ZJREVEIGJ1dCB0aGUgUUVNVSBi
aW5hcmllcyAocWVtdS1hcm0pIGNhbid0IGJlIGZvdW5kIGluIFBBVEgiCgogICAgaWYgIi4iIGlu
IGRhdGEuZ2V0VmFyKCdQQVRIJywgZS5kYXRhLCBUcnVlKS5zcGxpdCgiOiIpOgogICAgICAgIG1l
c3NhZ2VzID0gbWVzc2FnZXMgKyAiUEFUSCBjb250YWlucyAnLicgd2hpY2ggd2lsbCBicmVhayB0
aGUgYnVpbGQsIHBsZWFzZSByZW1vdmUgdGhpcyIKCiAgICBpZiBkYXRhLmdldFZhcignVEFSR0VU
X0FSQ0gnLCBlLmRhdGEsIFRydWUpID09ICJhcm0iOgogICAgICAgICMgVGhpcyBwYXRoIGlzIG5v
IGxvbmdlciB1c2VyLXJlYWRhYmxlIGluIG1vZGVybiAodmVyeSByZWNlbnQpIExpbnV4CiAgICAg
ICAgdHJ5OgogICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygiL3Byb2Mvc3lzL3ZtL21tYXBf
bWluX2FkZHIiKToKICAgICAgICAgICAgICAgIGYgPSBvcGVuKCIvcHJvYy9zeXMvdm0vbW1hcF9t
aW5fYWRkciIsICJyIikKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBp
ZiAoaW50KGYucmVhZCgpLnN0cmlwKCkpID4gNjU1MzYpOgogICAgICAgICAgICAgICAgICAgICAg
ICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgIi9wcm9jL3N5cy92bS9tbWFwX21pbl9hZGRyIGlzIG5v
dCA8PSA2NTUzNi4gVGhpcyB3aWxsIGNhdXNlIHByb2JsZW1zIHdpdGggcWVtdSBzbyBwbGVhc2Ug
Zml4IHRoZSB2YWx1ZSAoYXMgcm9vdCkuXG5cblRvIGZpeCB0aGlzIGluIGxhdGVyIHJlYm9vdHMs
IHNldCB2bS5tbWFwX21pbl9hZGRyID0gNjU1MzYgaW4gL2V0Yy9zeXNjdGwuY29uZi5cbiIKICAg
ICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAg
ICAgZXhjZXB0OgogICAgICAgICAgICBwYXNzCgogICAgZm9yIHV0aWwgaW4gcmVxdWlyZWRfdXRp
bGl0aWVzLnNwbGl0KCk6CiAgICAgICAgaWYgbm90IGNoZWNrX2FwcF9leGlzdHMoIHV0aWwsIGUu
ZGF0YSApOgogICAgICAgICAgICBtaXNzaW5nID0gbWlzc2luZyArICIlcywiICUgdXRpbAoKICAg
IGlmIG1pc3NpbmcgIT0gIiI6CiAgICAgICAgbWlzc2luZyA9IG1pc3NpbmcucnN0cmlwKCcsJykK
ICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgIlBsZWFzZSBpbnN0YWxsIGZvbGxvd2luZyBt
aXNzaW5nIHV0aWxpdGllczogJXNcbiIgJSBtaXNzaW5nCgogICAgcHNldWRvX21zZyA9IGNoZWNr
X3BzZXVkb193cmFwcGVyKCkKICAgIGlmIHBzZXVkb19tc2cgIT0gIiI6CiAgICAgICAgbWVzc2Fn
ZXMgPSBtZXNzYWdlcyArIHBzZXVkb19tc2cgKyAnXG4nCgogICAgY2hlY2tfc3VwcG9ydGVkX2Rp
c3RybyhlKQoKICAgICMgQ2hlY2sgaWYgRElTUExBWSBpcyBzZXQgaWYgSU1BR0VURVNUIGlzIHNl
dAogICAgaWYgbm90IGRhdGEuZ2V0VmFyKCAnRElTUExBWScsIGUuZGF0YSwgVHJ1ZSApIGFuZCBk
YXRhLmdldFZhciggJ0lNQUdFVEVTVCcsIGUuZGF0YSwgVHJ1ZSApID09ICdxZW11JzoKICAgICAg
ICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgJ3FlbXVpbWFnZXRlc3QgbmVlZHMgYSBYIGRlc2t0b3Ag
dG8gc3RhcnQgcWVtdSwgcGxlYXNlIHNldCBESVNQTEFZIGNvcnJlY3RseSAoZS5nLiBESVNQTEFZ
PToxLjApXG4nCgogICAgb21hc2sgPSBvcy51bWFzaygwMjIpCiAgICBpZiBvbWFzayAmIDA3NTU6
CiAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICJQbGVhc2UgdXNlIGEgdW1hc2sgd2hpY2gg
YWxsb3dzIGErcnggYW5kIHUrcnd4XG4iCiAgICBvcy51bWFzayhvbWFzaykKCiAgICBvZXNfYmJf
Y29uZiA9IGRhdGEuZ2V0VmFyKCAnT0VTX0JJVEJBS0VfQ09ORicsIGUuZGF0YSwgVHJ1ZSApCiAg
ICBpZiBub3Qgb2VzX2JiX2NvbmY6CiAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICdZb3Ug
ZG8gbm90IGluY2x1ZGUgT3BlbkVtYmVkZGVkcyB2ZXJzaW9uIG9mIGNvbmYvYml0YmFrZS5jb25m
LiBUaGlzIG1lYW5zIHlvdXIgZW52aXJvbm1lbnQgaXMgbWlzY29uZmlndXJlZCwgaW4gcGFydGlj
dWxhciBjaGVjayBCQlBBVEguXG4nCgogICAgbm9saWJzID0gZGF0YS5nZXRWYXIoJ05PMzJMSUJT
JywgZS5kYXRhLCBUcnVlKQogICAgaWYgbm90IG5vbGliczoKICAgICAgICBsaWIzMnBhdGggPSAn
L2xpYicKICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygnL2xpYjY0JykgYW5kICggb3MucGF0aC5p
c2xpbmsoJy9saWI2NCcpIG9yIG9zLnBhdGguaXNsaW5rKCcvbGliJykgKToKICAgICAgICAgICBs
aWIzMnBhdGggPSAnL2xpYjMyJwoKICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygnJXMvbGliYy5z
by42JyAlIGxpYjMycGF0aCkgYW5kIG5vdCBvcy5wYXRoLmV4aXN0cygnL3Vzci9pbmNsdWRlL2du
dS9zdHVicy0zMi5oJyk6CiAgICAgICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAiWW91IGhh
dmUgYSAzMi1iaXQgbGliYywgYnV0IG5vIDMyLWJpdCBoZWFkZXJzLiAgWW91IG11c3QgaW5zdGFs
bCB0aGUgMzItYml0IGxpYmMgaGVhZGVycy5cbiIKCiAgICB0bXBkaXIgPSBkYXRhLmdldFZhcign
VE1QRElSJywgZS5kYXRhLCBUcnVlKQogICAgc3N0YXRlX2RpciA9IGRhdGEuZ2V0VmFyKCdTU1RB
VEVfRElSJywgZS5kYXRhLCBUcnVlKQoKICAgICMgQ2hlY2sgc2F2ZWQgc2FuaXR5IGluZm8KICAg
IGxhc3Rfc2FuaXR5X3ZlcnNpb24gPSAwCiAgICBsYXN0X3RtcGRpciA9ICIiCiAgICBsYXN0X3Nz
dGF0ZV9kaXIgPSAiIgogICAgc2FuaXR5dmVyZmlsZSA9ICdjb25mL3Nhbml0eV9pbmZvJwogICAg
aWYgb3MucGF0aC5leGlzdHMoc2FuaXR5dmVyZmlsZSk6CiAgICAgICAgZiA9IGZpbGUoc2FuaXR5
dmVyZmlsZSwgJ3InKQogICAgICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgICAgIGlmIGxpbmUu
c3RhcnRzd2l0aCgnU0FOSVRZX1ZFUlNJT04nKToKICAgICAgICAgICAgICAgIGxhc3Rfc2FuaXR5
X3ZlcnNpb24gPSBpbnQobGluZS5zcGxpdCgpWzFdKQogICAgICAgICAgICBpZiBsaW5lLnN0YXJ0
c3dpdGgoJ1RNUERJUicpOgogICAgICAgICAgICAgICAgbGFzdF90bXBkaXIgPSBsaW5lLnNwbGl0
KClbMV0KICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCdTU1RBVEVfRElSJyk6CiAgICAg
ICAgICAgICAgICBsYXN0X3NzdGF0ZV9kaXIgPSBsaW5lLnNwbGl0KClbMV0KCiAgICBzYW5pdHlf
dmVyc2lvbiA9IGludChkYXRhLmdldFZhcignU0FOSVRZX1ZFUlNJT04nLCBlLmRhdGEsIFRydWUp
IG9yIDEpCiAgICBpZiBsYXN0X3Nhbml0eV92ZXJzaW9uIDwgc2FuaXR5X3ZlcnNpb246CiAgICAg
ICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArIGNoZWNrX3Nhbml0eV92ZXJzaW9uX2NoYW5nZShlLmRh
dGEpCiAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArIGNoZWNrX3Nhbml0eV90bXBkaXJfY2hh
bmdlKHRtcGRpciwgZS5kYXRhKQogICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyBjaGVja19z
YW5pdHlfc3N0YXRlX2Rpcl9jaGFuZ2Uoc3N0YXRlX2RpciwgZS5kYXRhKQogICAgZWxzZToKICAg
ICAgICBpZiBsYXN0X3RtcGRpciAhPSB0bXBkaXI6CiAgICAgICAgICAgIG1lc3NhZ2VzID0gbWVz
c2FnZXMgKyBjaGVja19zYW5pdHlfdG1wZGlyX2NoYW5nZSh0bXBkaXIsIGUuZGF0YSkKICAgICAg
ICBpZiBsYXN0X3NzdGF0ZV9kaXIgIT0gc3N0YXRlX2RpcjoKICAgICAgICAgICAgbWVzc2FnZXMg
PSBtZXNzYWdlcyArIGNoZWNrX3Nhbml0eV9zc3RhdGVfZGlyX2NoYW5nZShzc3RhdGVfZGlyLCBl
LmRhdGEpCgogICAgaWYgb3MucGF0aC5leGlzdHMoImNvbmYiKSBhbmQgbm90IG1lc3NhZ2VzOgog
ICAgICAgIGYgPSBmaWxlKHNhbml0eXZlcmZpbGUsICd3JykKICAgICAgICBmLndyaXRlKCJTQU5J
VFlfVkVSU0lPTiAlc1xuIiAlIHNhbml0eV92ZXJzaW9uKQogICAgICAgIGYud3JpdGUoIlRNUERJ
UiAlc1xuIiAlIHRtcGRpcikKICAgICAgICBmLndyaXRlKCJTU1RBVEVfRElSICVzXG4iICUgc3N0
YXRlX2RpcikKCiAgICAjCiAgICAjIENoZWNrIHRoYXQgVE1QRElSIGhhc24ndCBjaGFuZ2VkIGxv
Y2F0aW9uIHNpbmNlIHRoZSBsYXN0IHRpbWUgd2Ugd2VyZSBydW4KICAgICMKICAgIGNoZWNrZmls
ZSA9IG9zLnBhdGguam9pbih0bXBkaXIsICJzYXZlZF90bXBkaXIiKQogICAgaWYgb3MucGF0aC5l
eGlzdHMoY2hlY2tmaWxlKToKICAgICAgICBmID0gZmlsZShjaGVja2ZpbGUsICJyIikKICAgICAg
ICBzYXZlZF90bXBkaXIgPSBmLnJlYWQoKS5zdHJpcCgpCiAgICAgICAgaWYgKHNhdmVkX3RtcGRp
ciAhPSB0bXBkaXIpOgogICAgICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgIkVycm9yLCBU
TVBESVIgaGFzIGNoYW5nZWQgbG9jYXRpb24uIFlvdSBuZWVkIHRvIGVpdGhlciBtb3ZlIGl0IGJh
Y2sgdG8gJXMgb3IgcmVidWlsZFxuIiAlIHNhdmVkX3RtcGRpcgogICAgZWxzZToKICAgICAgICBm
ID0gZmlsZShjaGVja2ZpbGUsICJ3IikKICAgICAgICBmLndyaXRlKHRtcGRpcikKICAgIGYuY2xv
c2UoKQoKICAgICMKICAgICMgQ2hlY2sgdGhlICdBQkknIG9mIFRNUERJUgogICAgIwogICAgY3Vy
cmVudF9hYmkgPSBkYXRhLmdldFZhcignT0VMQVlPVVRfQUJJJywgZS5kYXRhLCBUcnVlKQogICAg
YWJpZmlsZSA9IGRhdGEuZ2V0VmFyKCdTQU5JVFlfQUJJRklMRScsIGUuZGF0YSwgVHJ1ZSkKICAg
IGlmIG9zLnBhdGguZXhpc3RzKGFiaWZpbGUpOgogICAgICAgIGYgPSBmaWxlKGFiaWZpbGUsICJy
IikKICAgICAgICBhYmkgPSBmLnJlYWQoKS5zdHJpcCgpCiAgICAgICAgaWYgbm90IGFiaS5pc2Rp
Z2l0KCk6CiAgICAgICAgICAgIGYgPSBmaWxlKGFiaWZpbGUsICJ3IikKICAgICAgICAgICAgZi53
cml0ZShjdXJyZW50X2FiaSkKICAgICAgICBlbGlmIGFiaSA9PSAiMiIgYW5kIGN1cnJlbnRfYWJp
ID09ICIzIjoKICAgICAgICAgICAgYmIubm90ZSgiQ29udmVydGluZyBzdGFnaW5nIGZyb20gbGF5
b3V0IHZlcnNpb24gMiB0byBsYXlvdXQgdmVyc2lvbiAzIikKICAgICAgICAgICAgb3Muc3lzdGVt
KGUuZGF0YS5leHBhbmQoIm12IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3N0YWdpbmcgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMi
KSkKICAgICAgICAgICAgb3Muc3lzdGVtKGUuZGF0YS5leHBhbmQoImxuIC1zIHN5c3Jvb3RzIC9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N0YWdpbmciKSkKICAgICAgICAg
ICAgb3Muc3lzdGVtKGUuZGF0YS5leHBhbmQoImNkIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3N0YW1wczsgZm9yIGkgaW4gKi8qZG9fcG9wdWxhdGVfc3RhZ2luZzsgZG8g
bmV3PWBlY2hvICRpIHwgc2VkIC1lICdzL2RvX3BvcHVsYXRlX3N0YWdpbmcvZG9fcG9wdWxhdGVf
c3lzcm9vdC8nYDsgbXYgJGkgJG5ldzsgZG9uZSIpKQogICAgICAgICAgICBmID0gZmlsZShhYmlm
aWxlLCAidyIpCiAgICAgICAgICAgIGYud3JpdGUoY3VycmVudF9hYmkpCiAgICAgICAgZWxpZiBh
YmkgPT0gIjMiIGFuZCBjdXJyZW50X2FiaSA9PSAiNCI6CiAgICAgICAgICAgIGJiLm5vdGUoIkNv
bnZlcnRpbmcgc3RhZ2luZyBsYXlvdXQgZnJvbSB2ZXJzaW9uIDMgdG8gbGF5b3V0IHZlcnNpb24g
NCIpCiAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGUuZGF0YS5leHBhbmQoIi9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3Iv
YmluL2NvcmUyLWNjZC1saW51eCIpKToKICAgICAgICAgICAgICAgIG9zLnN5c3RlbShlLmRhdGEu
ZXhwYW5kKCJtdiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290
cy94ODZfNjQtbGludXgvdXNyL2Jpbi9jb3JlMi1jY2QtbGludXggL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9iaW4vY3Jvc3NzY3Jp
cHRzIikpCiAgICAgICAgICAgICAgICBvcy5zeXN0ZW0oZS5kYXRhLmV4cGFuZCgibG4gLXMgL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vz
ci9iaW4vY3Jvc3NzY3JpcHRzIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL2NvcmUyLWNjZC1saW51eCIpKQoKICAgICAg
ICAgICAgZiA9IGZpbGUoYWJpZmlsZSwgInciKQogICAgICAgICAgICBmLndyaXRlKGN1cnJlbnRf
YWJpKQogICAgICAgIGVsaWYgYWJpID09ICI0IjoKICAgICAgICAgICAgbWVzc2FnZXMgPSBtZXNz
YWdlcyArICJTdGFnaW5nIGxheW91dCBoYXMgY2hhbmdlZC4gVGhlIGNyb3NzIGRpcmVjdG9yeSBo
YXMgYmVlbiBkZXByZWNhdGVkIGFuZCBjcm9zcyBwYWNrYWdlcyBhcmUgbm93IGJ1aWx0IHVuZGVy
IHRoZSBuYXRpdmUgc3lzcm9vdC5cblRoaXMgcmVxdWlyZXMgYSByZWJ1aWxkLlxuIgogICAgICAg
IGVsaWYgYWJpID09ICI1IiBhbmQgY3VycmVudF9hYmkgPT0gIjYiOgogICAgICAgICAgICBiYi5u
b3RlKCJDb252ZXJ0aW5nIHN0YWdpbmcgbGF5b3V0IGZyb20gdmVyc2lvbiA1IHRvIGxheW91dCB2
ZXJzaW9uIDYiKQogICAgICAgICAgICBvcy5zeXN0ZW0oZS5kYXRhLmV4cGFuZCgibXYgL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvcHN0YWdlbG9ncyAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zc3RhdGUtY29udHJvbCIpKQogICAgICAgICAgICBm
ID0gZmlsZShhYmlmaWxlLCAidyIpCiAgICAgICAgICAgIGYud3JpdGUoY3VycmVudF9hYmkpCiAg
ICAgICAgZWxpZiBhYmkgPT0gIjciIGFuZCBjdXJyZW50X2FiaSA9PSAiOCI6CiAgICAgICAgICAg
IG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAiWW91ciBjb25maWd1cmF0aW9uIGlzIHVzaW5nIHN0YW1w
IGZpbGVzIGluY2x1ZGluZyB0aGUgc3N0YXRlIGhhc2ggYnV0IHlvdXIgYnVpbGQgZGlyZWN0b3J5
IHdhcyBidWlsdCB3aXRoIHN0YW1wIGZpbGVzIHRoYXQgZG8gbm90IGluY2x1ZGUgdGhpcy5cblRv
IGNvbnRpbnVlLCBlaXRoZXIgcmVidWlsZCBvciBzd2l0Y2ggYmFjayB0byB0aGUgT0VCYXNpYyBz
aWduYXR1cmUgaGFuZGxlciB3aXRoIEJCX1NJR05BVFVSRV9IQU5ETEVSID0gJ09FQmFzaWMnLlxu
IgogICAgICAgIGVsaWYgKGFiaSAhPSBjdXJyZW50X2FiaSk6CiAgICAgICAgICAgICMgQ29kZSB0
byBjb252ZXJ0IGZyb20gb25lIEFCSSB0byBhbm90aGVyIGNvdWxkIGdvIGhlcmUgaWYgcG9zc2li
bGUuCiAgICAgICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAiRXJyb3IsIFRNUERJUiBoYXMg
Y2hhbmdlZCBpdHMgbGF5b3V0IHZlcnNpb24gbnVtYmVyICglcyB0byAlcykgYW5kIHlvdSBuZWVk
IHRvIGVpdGhlciByZWJ1aWxkLCByZXZlcnQgb3IgYWRqdXN0IGl0IGF0IHlvdXIgb3duIHJpc2su
XG4iICUgKGFiaSwgY3VycmVudF9hYmkpCiAgICBlbHNlOgogICAgICAgIGYgPSBmaWxlKGFiaWZp
bGUsICJ3IikKICAgICAgICBmLndyaXRlKGN1cnJlbnRfYWJpKQogICAgZi5jbG9zZSgpCgogICAg
b2Vyb290ID0gZGF0YS5nZXRWYXIoJ0NPUkVCQVNFJywgZS5kYXRhKQogICAgaWYgb2Vyb290LmZp
bmQgKCcrJykgIT0gLTE6CiAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICJFcnJvciwgeW91
IGhhdmUgYW4gaW52YWxpZCBjaGFyYWN0ZXIgKCspIGluIHlvdXIgQ09SRUJBU0UgZGlyZWN0b3J5
IHBhdGguIFBsZWFzZSBtb3ZlIHRoZSBpbnN0YWxsYXRpb24gdG8gYSBkaXJlY3Rvcnkgd2hpY2gg
ZG9lc24ndCBpbmNsdWRlIGEgKy4iCiAgICBlbGlmIG9lcm9vdC5maW5kICgnICcpICE9IC0xOgog
ICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAiRXJyb3IsIHlvdSBoYXZlIGEgc3BhY2UgaW4g
eW91ciBDT1JFQkFTRSBkaXJlY3RvcnkgcGF0aC4gUGxlYXNlIG1vdmUgdGhlIGluc3RhbGxhdGlv
biB0byBhIGRpcmVjdG9yeSB3aGljaCBkb2Vzbid0IGluY2x1ZGUgYSBzcGFjZS4iCgogICAgaWYg
bWVzc2FnZXMgIT0gIiI6CiAgICAgICAgcmFpc2Vfc2FuaXR5X2Vycm9yKG1lc3NhZ2VzKQp9CgoK
cHl0aG9uIGJhc2VfZGV0ZWN0X2JyYW5jaCAoKSB7CmRlZiBiYXNlX2RldGVjdF9icmFuY2goZCk6
CglwYXRoID0gYmFzZV9nZXRfc2NtYmFzZXBhdGgoZCkKCglzY21zID0gW2Jhc2VfZ2V0X21ldGFk
YXRhX2dpdF9icmFuY2hdCgoJZm9yIHNjbSBpbiBzY21zOgoJCXJldiA9IHNjbShwYXRoLCBkKQoJ
CWlmIHJldiA8PiAiPHVua25vd24+IjoKCQkJcmV0dXJuIHJldi5zdHJpcCgpCgoJcmV0dXJuICI8
dW5rbm93bj4iCn0KCgpweXRob24gb2VfcG9wZW5fZW52ICgpIHsKZGVmIG9lX3BvcGVuX2Vudihk
KToKICAgIGVudiA9IGQuZ2V0VmFyKCJfX29lX3BvcGVuX2VudiIsIEZhbHNlKQogICAgaWYgZW52
IGlzIE5vbmU6CiAgICAgICAgZW52ID0ge30KICAgICAgICBmb3IgdiBpbiBkLmtleXMoKToKICAg
ICAgICAgICAgaWYgZC5nZXRWYXJGbGFnKHYsICJleHBvcnQiKToKICAgICAgICAgICAgICAgIGVu
dlt2XSA9IGQuZ2V0VmFyKHYsIFRydWUpIG9yICIiCiAgICAgICAgZC5zZXRWYXIoIl9fb2VfcG9w
ZW5fZW52IiwgZW52KQogICAgcmV0dXJuIGVudgp9CgoKcHl0aG9uIGNoZWNrX3Nhbml0eV90bXBk
aXJfY2hhbmdlICgpIHsKZGVmIGNoZWNrX3Nhbml0eV90bXBkaXJfY2hhbmdlKHRtcGRpciwgZGF0
YSk6CiAgICAjIFNhbml0eSBjaGVja3MgdG8gYmUgZG9uZSB3aGVuIHRoZSB2YWx1ZSBvZiBUTVBE
SVIgY2hhbmdlcwoKICAgICMgQ2hlY2sgdGhhdCBUTVBESVIgaXNuJ3Qgb24gYSBmaWxlc3lzdGVt
IHdpdGggbGltaXRlZCBmaWxlbmFtZSBsZW5ndGggKGVnLiBlQ3J5cHRGUykKICAgIHRlc3Rtc2cg
PSBjaGVja19jcmVhdGVfbG9uZ19maWxlbmFtZSh0bXBkaXIsICJUTVBESVIiKQogICAgIyBDaGVj
ayB0aGF0IHdlIGNhbiBmZXRjaCBmcm9tIHZhcmlvdXMgbmV0d29yayB0cmFuc3BvcnRzCiAgICB0
ZXN0bXNnID0gdGVzdG1zZyArIGNoZWNrX2Nvbm5lY3Rpdml0eShkYXRhKQogICAgcmV0dXJuIHRl
c3Rtc2cKfQoKCnB5dGhvbiBzc3RhdGVfaGFyZGNvZGVfcGF0aCAoKSB7CmRlZiBzc3RhdGVfaGFy
ZGNvZGVfcGF0aChkKToKCSMgTmVlZCB0byByZW1vdmUgaGFyZGNvZGVkIHBhdGhzIGFuZCBmaXgg
dGhlc2Ugd2hlbiB3ZSBpbnN0YWxsIHRoZQoJIyBzdGFnaW5nIHBhY2thZ2VzLgoKCXN0YWdpbmcg
PSBkLmdldFZhcignU1RBR0lOR19ESVInLCBUcnVlKQoJc3RhZ2luZ190YXJnZXQgPSBkLmdldFZh
cignU1RBR0lOR19ESVJfVEFSR0VUJywgVHJ1ZSkKCXN0YWdpbmdfaG9zdCA9IGQuZ2V0VmFyKCdT
VEFHSU5HX0RJUl9IT1NUJywgVHJ1ZSkKCXNzdGF0ZV9idWlsZGRpciA9IGQuZ2V0VmFyKCdTU1RB
VEVfQlVJTERESVInLCBUcnVlKQoKCWlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZScs
IGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZXNkaycsIGQpIG9yIGJiLmRhdGEu
aW5oZXJpdHNfY2xhc3MoJ2Nyb3Nzc2RrJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygn
Y3Jvc3MtY2FuYWRpYW4nLCBkKToKCQlzc3RhdGVfc2VkX2NtZCA9ICJzZWQgLWkgLWUgJ3M6JXM6
RklYTUVTVEFHSU5HRElSOmcnIiAlIChzdGFnaW5nKQoJZWxpZiBiYi5kYXRhLmluaGVyaXRzX2Ns
YXNzKCdjcm9zcycsIGQpOgoJCXNzdGF0ZV9zZWRfY21kID0gInNlZCAtaSAtZSAnczolczpGSVhN
RVNUQUdJTkdESVJUQVJHRVQ6ZzsgczolczpGSVhNRVNUQUdJTkdESVI6ZyciICUgKHN0YWdpbmdf
dGFyZ2V0LCBzdGFnaW5nKQoJZWxzZToKCQlzc3RhdGVfc2VkX2NtZCA9ICJzZWQgLWkgLWUgJ3M6
JXM6RklYTUVTVEFHSU5HRElSSE9TVDpnJyIgJSAoc3RhZ2luZ19ob3N0KQoKCXNzdGF0ZV9zY2Fu
X2NtZCA9IGQuZ2V0VmFyKCdTU1RBVEVfU0NBTl9DTUQnLCBUcnVlKQoJc3N0YXRlX2ZpbGVsaXN0
X2NtZCA9ICJ0ZWUgJXNmaXhtZXBhdGgiICUgKHNzdGF0ZV9idWlsZGRpcikKCgkjIGZpeG1lcGF0
aCBmaWxlIG5lZWRzIHJlbGF0aXZlIHBhdGhzLCBkcm9wIHNzdGF0ZV9idWlsZGRpciBwcmVmaXgK
CXNzdGF0ZV9maWxlbGlzdF9yZWxhdGl2ZV9jbWQgPSAic2VkIC1pIC1lICdzOl4lczo6ZycgJXNm
aXhtZXBhdGgiICUgKHNzdGF0ZV9idWlsZGRpciwgc3N0YXRlX2J1aWxkZGlyKQoKCXNzdGF0ZV9o
YXJkY29kZV9jbWQgPSAiJXMgfCAlcyB8IHhhcmdzICVzIiAlIChzc3RhdGVfc2Nhbl9jbWQsIHNz
dGF0ZV9maWxlbGlzdF9jbWQsIHNzdGF0ZV9zZWRfY21kKQoKCXByaW50ICJSZW1vdmluZyBoYXJk
Y29kZWQgcGF0aHMgZnJvbSBzc3RhdGUgcGFja2FnZTogJyVzJyIgJSAoc3N0YXRlX2hhcmRjb2Rl
X2NtZCkKCW9zLnN5c3RlbShzc3RhdGVfaGFyZGNvZGVfY21kKQoJcHJpbnQgIlJlcGxhY2luZyBh
YnNvbHV0ZSBwYXRocyBpbiBmaXhtZXBhdGggZmlsZTogJyVzJyIgJSAoc3N0YXRlX2ZpbGVsaXN0
X3JlbGF0aXZlX2NtZCkKCW9zLnN5c3RlbShzc3RhdGVfZmlsZWxpc3RfcmVsYXRpdmVfY21kKQp9
CgoKcHl0aG9uIGRvX2xpc3R0YXNrcyAoKSB7CglpbXBvcnQgc3lzCgkjIGVtaXQgdmFyaWFibGVz
IGFuZCBzaGVsbCBmdW5jdGlvbnMKCSNiYi5kYXRhLmVtaXRfZW52KHN5cy5fX3N0ZG91dF9fLCBk
KQoJIyBlbWl0IHRoZSBtZXRhZGF0YSB3aGljaCBpc250IHZhbGlkIHNoZWxsCglmb3IgZSBpbiBk
LmtleXMoKToKCQlpZiBkLmdldFZhckZsYWcoZSwgJ3Rhc2snKToKCQkJYmIucGxhaW4oIiVzIiAl
IGUpCn0KCgpweXRob24gcGFja2FnZV9xYV9jbGVhbl9wYXRoICgpIHsKZGVmIHBhY2thZ2VfcWFf
Y2xlYW5fcGF0aChwYXRoLGQpOgogICAgIiIiIFJlbW92ZSB0aGUgY29tbW9uIHByZWZpeCBmcm9t
IHRoZSBwYXRoLiBJbiB0aGlzIGNhc2UgaXQgaXMgdGhlIFRNUERJUiIiIgogICAgcmV0dXJuIHBh
dGgucmVwbGFjZShkLmdldFZhcignVE1QRElSJyxUcnVlKSwiIikKfQoKCnB5dGhvbiBtYWNoaW5l
X3BhdGhzICgpIHsKZGVmIG1hY2hpbmVfcGF0aHMoZCk6CiAgICAiIiJMaXN0IGFueSBleGlzdGlu
ZyBtYWNoaW5lIHNwZWNpZmljIGZpbGVzcGF0aCBkaXJlY3RvcmllcyIiIgogICAgbWFjaGluZSA9
IGQuZ2V0VmFyKCJNQUNISU5FIiwgVHJ1ZSkKICAgIGZpbGVzcGF0aHBrZyA9IGQuZ2V0VmFyKCJG
SUxFU1BBVEhQS0ciLCBUcnVlKS5zcGxpdCgiOiIpCiAgICBmb3IgYmFzZXBhdGggaW4gZC5nZXRW
YXIoIkZJTEVTUEFUSEJBU0UiLCBUcnVlKS5zcGxpdCgiOiIpOgogICAgICAgIGZvciBwa2dwYXRo
IGluIGZpbGVzcGF0aHBrZzoKICAgICAgICAgICAgbWFjaGluZXBhdGggPSBvcy5wYXRoLmpvaW4o
YmFzZXBhdGgsIHBrZ3BhdGgsIG1hY2hpbmUpCiAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIo
bWFjaGluZXBhdGgpOgogICAgICAgICAgICAgICAgeWllbGQgbWFjaGluZXBhdGgKfQoKCnB5dGhv
biBpbmNvbXBhdGlibGVfbGljZW5zZSAoKSB7CmRlZiBpbmNvbXBhdGlibGVfbGljZW5zZShkLCBk
b250X3dhbnRfbGljZW5zZSwgcGFja2FnZT0iIik6CiAgICAiIiIKICAgIFRoaXMgZnVuY3Rpb24g
Y2hlY2tzIGlmIGEgcmVjaXBlIGhhcyBvbmx5IGluY29tcGF0aWJsZSBsaWNlbnNlcy4gSXQgYWxz
byB0YWtlIGludG8gY29uc2lkZXJhdGlvbiAnb3InCiAgICBvcGVyYW5kLgogICAgIiIiCiAgICBp
bXBvcnQgcmUKICAgIGltcG9ydCBvZS5saWNlbnNlCiAgICBmcm9tIGZubWF0Y2ggaW1wb3J0IGZu
bWF0Y2hjYXNlIGFzIGZubWF0Y2gKICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKICAgIGRv
bnRfd2FudF9saWNlbnNlcyA9IFtdCiAgICBkb250X3dhbnRfbGljZW5zZXMuYXBwZW5kKGQuZ2V0
VmFyKCdJTkNPTVBBVElCTEVfTElDRU5TRScsIFRydWUpKQogICAgcmVjaXBlX2xpY2Vuc2UgPSBk
LmdldFZhcignTElDRU5TRScsIFRydWUpCiAgICBpZiBwYWNrYWdlICE9ICIiOgogICAgICAgIGlm
IGQuZ2V0VmFyKCdMSUNFTlNFXycgKyBwbiArICctJyArIHBhY2thZ2UsIFRydWUpOgogICAgICAg
ICAgICBsaWNlbnNlID0gZC5nZXRWYXIoJ0xJQ0VOU0VfJyArIHBuICsgJy0nICsgcGFja2FnZSwg
VHJ1ZSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBsaWNlbnNlID0gcmVjaXBlX2xpY2Vuc2UK
ICAgIGVsc2U6CiAgICAgICAgbGljZW5zZSA9IHJlY2lwZV9saWNlbnNlCiAgICBzcGR4X2xpY2Vu
c2UgPSByZXR1cm5fc3BkeChkLCBkb250X3dhbnRfbGljZW5zZSkKICAgIGRvbnRfd2FudF9saWNl
bnNlcy5hcHBlbmQoc3BkeF9saWNlbnNlKQoKICAgIGRlZiBpbmNsdWRlX2xpY2Vuc2UobGljZW5z
ZSk6CiAgICAgICAgaWYgYW55KGZubWF0Y2gobGljZW5zZSwgcGF0dGVybikgZm9yIHBhdHRlcm4g
aW4gZG9udF93YW50X2xpY2Vuc2VzKToKICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAg
ZWxzZToKICAgICAgICAgICAgcmV0dXJuIFRydWUKCiAgICBkZWYgY2hvb3NlX2xpY2Vuc2VzKGEs
IGIpOgogICAgICAgIGlmIGFsbChpbmNsdWRlX2xpY2Vuc2UobGljKSBmb3IgbGljIGluIGEpOgog
ICAgICAgICAgICByZXR1cm4gYQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHJldHVybiBiCgog
ICAgIiIiCiAgICBJZiB5b3Ugd2FudCB0byBleGx1ZGUgbGljZW5zZSBuYW1lZCBnZW5lcmljYWxs
eSAnWCcsIHdlIHN1cmVseSB3YW50IHRvIGV4bHVkZSAnWCsnIGFzIHdlbGwuCiAgICBJbiBjb25z
ZXF1ZW5jZSwgd2Ugd2lsbCBleGNsdWRlIHRoZSAnKycgY2hhcmFjdGVyIGZyb20gTElDRU5TRSBp
biBjYXNlIElOQ09NUEFUSUJMRV9MSUNFTlNFCiAgICBpcyBub3QgYSAnWCsnIGxpY2Vuc2UuCiAg
ICAiIiIKICAgIGlmIG5vdCByZS5zZWFyY2gocidbK10nLGRvbnRfd2FudF9saWNlbnNlKToKICAg
ICAgICBsaWNlbnNlcz1vZS5saWNlbnNlLmZsYXR0ZW5lZF9saWNlbnNlcyhyZS5zdWIocidbK10n
LCAnJywgbGljZW5zZSksIGNob29zZV9saWNlbnNlcykKICAgIGVsc2U6CiAgICAgICAgbGljZW5z
ZXM9b2UubGljZW5zZS5mbGF0dGVuZWRfbGljZW5zZXMobGljZW5zZSwgY2hvb3NlX2xpY2Vuc2Vz
KQoKICAgIGZvciBvbmVsaWNlbnNlIGluIGxpY2Vuc2VzOgogICAgICAgIGlmIG5vdCBpbmNsdWRl
X2xpY2Vuc2Uob25lbGljZW5zZSk6CiAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICByZXR1cm4g
RmFsc2UKfQoKCnB5dGhvbiBkb19wYWNrYWdlX3NldHNjZW5lICgpIHsKCXNzdGF0ZV9zZXRzY2Vu
ZShkKQp9CgoKcHl0aG9uIGJhc2VfZGVwX3ByZXBlbmQgKCkgewpOb25lfQoKCnB5dGhvbiBmaXh1
cF9wZXJtcyAoKSB7CglpbXBvcnQgb3MsIHB3ZCwgZ3JwCgoJIyBpbml0IHVzaW5nIGEgc3RyaW5n
IHdpdGggdGhlIHNhbWUgZm9ybWF0IGFzIGEgbGluZSBhcyBkb2N1bWVudGVkIGluCgkjIHRoZSBm
cy1wZXJtcy50eHQgZmlsZQoJIyA8cGF0aD4gPG1vZGU+IDx1aWQ+IDxnaWQ+IDx3YWxrPiA8Zm1v
ZGU+IDxmdWlkPiA8ZmdpZD4KCSMgPHBhdGg+IGxpbmsgPGxpbmsgdGFyZ2V0PgoJIwoJIyBfX3N0
cl9fIGNhbiBiZSB1c2VkIHRvIHByaW50IG91dCBhbiBlbnRyeSBpbiB0aGUgaW5wdXQgZm9ybWF0
CgkjCgkjIGlmIGZzX3Blcm1zX2VudHJ5LnBhdGggaXMgTm9uZToKCSMJYW4gZXJyb3Igb2NjdXJl
ZAoJIyBpZiBmc19wZXJtc19lbnRyeS5saW5rLCB5b3UgY2FuIHJldHJpZXZlOgoJIwlmc19wZXJt
c19lbnRyeS5wYXRoID0gcGF0aAoJIwlmc19wZXJtc19lbnRyeS5saW5rID0gdGFyZ2V0IG9mIGxp
bmsKCSMgaWYgbm90IGZzX3Blcm1zX2VudHJ5LmxpbmssIHlvdSBjYW4gcmV0cmlldmU6CgkjCWZz
X3Blcm1zX2VudHJ5LnBhdGggPSBwYXRoCgkjCWZzX3Blcm1zX2VudHJ5Lm1vZGUgPSBleHBlY3Rl
ZCBkaXIgbW9kZSBvciBOb25lCgkjCWZzX3Blcm1zX2VudHJ5LnVpZCA9IGV4cGVjdGVkIHVpZCBv
ciAtMQoJIwlmc19wZXJtc19lbnRyeS5naWQgPSBleHBlY3RlZCBnaWQgb3IgLTEKCSMJZnNfcGVy
bXNfZW50cnkud2FsayA9ICd0cnVlJyBvciBzb21ldGhpbmcgZWxzZQoJIwlmc19wZXJtc19lbnRy
eS5mbW9kZSA9IGV4cGVjdGVkIGZpbGUgbW9kZSBvciBOb25lCgkjCWZzX3Blcm1zX2VudHJ5LmZ1
aWQgPSBleHBlY3RlZCBmaWxlIHVpZCBvciAtMQoJIwlmc19wZXJtc19lbnRyeV9mZ2lkID0gZXhw
ZWN0ZWQgZmlsZSBnaWQgb3IgLTEKCWNsYXNzIGZzX3Blcm1zX2VudHJ5KCk6CgkJZGVmIF9faW5p
dF9fKHNlbGYsIGxpbmUpOgoJCQlsc3BsaXQgPSBsaW5lLnNwbGl0KCkKCQkJaWYgbGVuKGxzcGxp
dCkgPT0gMyBhbmQgbHNwbGl0WzFdLmxvd2VyKCkgPT0gImxpbmsiOgoJCQkJc2VsZi5fc2V0bGlu
ayhsc3BsaXRbMF0sIGxzcGxpdFsyXSkKCQkJZWxpZiBsZW4obHNwbGl0KSA9PSA4OgoJCQkJc2Vs
Zi5fc2V0ZGlyKGxzcGxpdFswXSwgbHNwbGl0WzFdLCBsc3BsaXRbMl0sIGxzcGxpdFszXSwgbHNw
bGl0WzRdLCBsc3BsaXRbNV0sIGxzcGxpdFs2XSwgbHNwbGl0WzddKQoJCQllbHNlOgoJCQkJYmIu
ZXJyb3IoIkZpeHVwIFBlcm1zOiBpbnZhbGlkIGNvbmZpZyBsaW5lICVzIiAlIGxpbmUpCgkJCQlz
ZWxmLnBhdGggPSBOb25lCgkJCQlzZWxmLmxpbmsgPSBOb25lCgoJCWRlZiBfc2V0ZGlyKHNlbGYs
IHBhdGgsIG1vZGUsIHVpZCwgZ2lkLCB3YWxrLCBmbW9kZSwgZnVpZCwgZmdpZCk6CgkJCXNlbGYu
cGF0aCA9IG9zLnBhdGgubm9ybXBhdGgocGF0aCkKCQkJc2VsZi5saW5rID0gTm9uZQoJCQlzZWxm
Lm1vZGUgPSBzZWxmLl9wcm9jbW9kZShtb2RlKQoJCQlzZWxmLnVpZCAgPSBzZWxmLl9wcm9jdWlk
KHVpZCkKCQkJc2VsZi5naWQgID0gc2VsZi5fcHJvY2dpZChnaWQpCgkJCXNlbGYud2FsayA9IHdh
bGsubG93ZXIoKQoJCQlzZWxmLmZtb2RlID0gc2VsZi5fcHJvY21vZGUoZm1vZGUpCgkJCXNlbGYu
ZnVpZCA9IHNlbGYuX3Byb2N1aWQoZnVpZCkKCQkJc2VsZi5mZ2lkID0gc2VsZi5fcHJvY2dpZChm
Z2lkKQoKCQlkZWYgX3NldGxpbmsoc2VsZiwgcGF0aCwgbGluayk6CgkJCXNlbGYucGF0aCA9IG9z
LnBhdGgubm9ybXBhdGgocGF0aCkKCQkJc2VsZi5saW5rID0gbGluawoKCQlkZWYgX3Byb2Ntb2Rl
KHNlbGYsIG1vZGUpOgoJCQlpZiBub3QgbW9kZSBvciAobW9kZSBhbmQgbW9kZSA9PSAiLSIpOgoJ
CQkJcmV0dXJuIE5vbmUKCQkJZWxzZToKCQkJCXJldHVybiBpbnQobW9kZSw4KQoKCQkjIE5vdGUg
dWlkL2dpZCAtMSBoYXMgc3BlY2lhbCBzaWduaWZpY2FuY2UgaW4gb3MubGNob3duCgkJZGVmIF9w
cm9jdWlkKHNlbGYsIHVpZCk6CgkJCWlmIHVpZCBpcyBOb25lIG9yIHVpZCA9PSAiLSI6CgkJCQly
ZXR1cm4gLTEKCQkJZWxpZiB1aWQuaXNkaWdpdCgpOgoJCQkJcmV0dXJuIGludCh1aWQpCgkJCWVs
c2U6CgkJCQlyZXR1cm4gcHdkLmdldHB3bmFtKHVpZCkucHdfdWlkCgoJCWRlZiBfcHJvY2dpZChz
ZWxmLCBnaWQpOgoJCQlpZiBnaWQgaXMgTm9uZSBvciBnaWQgPT0gIi0iOgoJCQkJcmV0dXJuIC0x
CgkJCWVsaWYgZ2lkLmlzZGlnaXQoKToKCQkJCXJldHVybiBpbnQoZ2lkKQoJCQllbHNlOgoJCQkJ
cmV0dXJuIGdycC5nZXRncm5hbShnaWQpLmdyX2dpZAoKCQkjIFVzZSBmb3IgZGVidWdnaW5nIHRo
ZSBlbnRyaWVzCgkJZGVmIF9fc3RyX18oc2VsZik6CgkJCWlmIHNlbGYubGluazoKCQkJCXJldHVy
biAiJXMgbGluayAlcyIgJSAoc2VsZi5wYXRoLCBzZWxmLmxpbmspCgkJCWVsc2U6CgkJCQltb2Rl
ID0gIi0iCgkJCQlpZiBzZWxmLm1vZGU6CgkJCQkJbW9kZSA9ICIwJW8iICUgc2VsZi5tb2RlCgkJ
CQlmbW9kZSA9ICItIgoJCQkJaWYgc2VsZi5mbW9kZToKCQkJCQlmbW9kZSA9ICIwJW8iICUgc2Vs
Zi5mbW9kZQoJCQkJdWlkID0gc2VsZi5fbWFwdWdpZChzZWxmLnVpZCkKCQkJCWdpZCA9IHNlbGYu
X21hcHVnaWQoc2VsZi5naWQpCgkJCQlmdWlkID0gc2VsZi5fbWFwdWdpZChzZWxmLmZ1aWQpCgkJ
CQlmZ2lkID0gc2VsZi5fbWFwdWdpZChzZWxmLmZnaWQpCgkJCQlyZXR1cm4gIiVzICVzICVzICVz
ICVzICVzICVzICVzIiAlIChzZWxmLnBhdGgsIG1vZGUsIHVpZCwgZ2lkLCBzZWxmLndhbGssIGZt
b2RlLCBmdWlkLCBmZ2lkKQoKCQlkZWYgX21hcHVnaWQoc2VsZiwgaWQpOgoJCQlpZiBpZCBpcyBO
b25lIG9yIGlkID09IC0xOgoJCQkJcmV0dXJuICItIgoJCQllbHNlOgoJCQkJcmV0dXJuICIlZCIg
JSBpZAoKCSMgRml4IHRoZSBwZXJtaXNzaW9uLCBvd25lciBhbmQgZ3JvdXAgb2YgcGF0aAoJZGVm
IGZpeF9wZXJtcyhwYXRoLCBtb2RlLCB1aWQsIGdpZCwgZGlyKToKCQlpZiBtb2RlIGFuZCBub3Qg
b3MucGF0aC5pc2xpbmsocGF0aCk6CgkJCSNiYi5ub3RlKCJGaXh1cCBQZXJtczogY2htb2QgMCVv
ICVzIiAlIChtb2RlLCBkaXIpKQoJCQlvcy5jaG1vZChwYXRoLCBtb2RlKQoJCSMgLTEgaXMgYSBz
cGVjaWFsIHZhbHVlIHRoYXQgbWVhbnMgZG9uJ3QgY2hhbmdlIHRoZSB1aWQvZ2lkCgkJIyBpZiB0
aGV5IGFyZSBCT1RIIC0xLCBkb24ndCBib3RoZXIgdG8gbGNob3duCgkJaWYgbm90ICh1aWQgPT0g
LTEgYW5kIGdpZCA9PSAtMSk6CgkJCSNiYi5ub3RlKCJGaXh1cCBQZXJtczogbGNob3duICVkOiVk
ICVzIiAlICh1aWQsIGdpZCwgZGlyKSkKCQkJb3MubGNob3duKHBhdGgsIHVpZCwgZ2lkKQoKCSMg
UmV0dXJuIGEgbGlzdCBvZiBjb25maWd1cmF0aW9uIGZpbGVzIGJhc2VkIG9uIGVpdGhlciB0aGUg
ZGVmYXVsdAoJIyBmaWxlcy9mcy1wZXJtcy50eHQgb3IgdGhlIGNvbnRlbnRzIG9mIEZJTEVTWVNU
RU1fUEVSTVNfVEFCTEVTCgkjIHBhdGhzIGFyZSByZXNvbHZlZCB2aWEgQkJQQVRICglkZWYgZ2V0
X2ZzX3Blcm1zX2xpc3QoZCk6CgkJc3RyID0gIiIKCQlmc19wZXJtc190YWJsZXMgPSBkLmdldFZh
cignRklMRVNZU1RFTV9QRVJNU19UQUJMRVMnLCBUcnVlKQoJCWlmIG5vdCBmc19wZXJtc190YWJs
ZXM6CgkJCWZzX3Blcm1zX3RhYmxlcyA9ICdmaWxlcy9mcy1wZXJtcy50eHQnCgkJZm9yIGNvbmZf
ZmlsZSBpbiBmc19wZXJtc190YWJsZXMuc3BsaXQoKToKCQkJc3RyICs9ICIgJXMiICUgYmIud2hp
Y2goZC5nZXRWYXIoJ0JCUEFUSCcsIFRydWUpLCBjb25mX2ZpbGUpCgkJcmV0dXJuIHN0cgoKCgoJ
ZHZhciA9IGQuZ2V0VmFyKCdQS0dEJywgVHJ1ZSkKCglmc19wZXJtc190YWJsZSA9IHt9CgoJIyBC
eSBkZWZhdWx0IGFsbCBvZiB0aGUgc3RhbmRhcmQgZGlyZWN0b3JpZXMgc3BlY2lmaWVkIGluCgkj
IGJpdGJha2UuY29uZiB3aWxsIGdldCAwNzU1IHJvb3Q6cm9vdC4KCXRhcmdldF9wYXRoX3ZhcnMg
PSBbCSdiYXNlX3ByZWZpeCcsCgkJCQkncHJlZml4JywKCQkJCSdleGVjX3ByZWZpeCcsCgkJCQkn
YmFzZV9iaW5kaXInLAoJCQkJJ2Jhc2Vfc2JpbmRpcicsCgkJCQknYmFzZV9saWJkaXInLAoJCQkJ
J2RhdGFkaXInLAoJCQkJJ3N5c2NvbmZkaXInLAoJCQkJJ3NlcnZpY2VkaXInLAoJCQkJJ3NoYXJl
ZHN0YXRlZGlyJywKCQkJCSdsb2NhbHN0YXRlZGlyJywKCQkJCSdpbmZvZGlyJywKCQkJCSdtYW5k
aXInLAoJCQkJJ2RvY2RpcicsCgkJCQknYmluZGlyJywKCQkJCSdzYmluZGlyJywKCQkJCSdsaWJl
eGVjZGlyJywKCQkJCSdsaWJkaXInLAoJCQkJJ2luY2x1ZGVkaXInLAoJCQkJJ29sZGluY2x1ZGVk
aXInIF0KCglmb3IgcGF0aCBpbiB0YXJnZXRfcGF0aF92YXJzOgoJCWRpciA9IGQuZ2V0VmFyKHBh
dGgsIFRydWUpIG9yICIiCgkJaWYgZGlyID09ICIiOgoJCQljb250aW51ZQoJCWZzX3Blcm1zX3Rh
YmxlW2Rpcl0gPSBmc19wZXJtc19lbnRyeShiYi5kYXRhLmV4cGFuZCgiJXMgMDc1NSByb290IHJv
b3QgZmFsc2UgLSAtIC0iICUgKGRpciksIGQpKQoKCSMgTm93IHdlIGFjdHVhbGx5IGxvYWQgZnJv
bSB0aGUgY29uZmlndXJhdGlvbiBmaWxlcwoJZm9yIGNvbmYgaW4gZ2V0X2ZzX3Blcm1zX2xpc3Qo
ZCkuc3BsaXQoKToKCQlpZiBvcy5wYXRoLmV4aXN0cyhjb25mKToKCQkJZiA9IG9wZW4oY29uZikK
CQkJZm9yIGxpbmUgaW4gZjoKCQkJCWlmIGxpbmUuc3RhcnRzd2l0aCgnIycpOgoJCQkJCWNvbnRp
bnVlCgkJCQlsc3BsaXQgPSBsaW5lLnNwbGl0KCkKCQkJCWlmIGxlbihsc3BsaXQpID09IDA6CgkJ
CQkJY29udGludWUKCQkJCWlmIGxlbihsc3BsaXQpICE9IDggYW5kIG5vdCAobGVuKGxzcGxpdCkg
PT0gMyBhbmQgbHNwbGl0WzFdLmxvd2VyKCkgPT0gImxpbmsiKToKCQkJCQliYi5lcnJvcigiRml4
dXAgcGVybXM6ICVzIGludmFsaWQgbGluZTogJXMiICUgKGNvbmYsIGxpbmUpKQoJCQkJCWNvbnRp
bnVlCgkJCQllbnRyeSA9IGZzX3Blcm1zX2VudHJ5KGQuZXhwYW5kKGxpbmUpKQoJCQkJaWYgZW50
cnkgYW5kIGVudHJ5LnBhdGg6CgkJCQkJZnNfcGVybXNfdGFibGVbZW50cnkucGF0aF0gPSBlbnRy
eQoJCQlmLmNsb3NlKCkKCgkjIERlYnVnIC0tIGxpc3Qgb3V0IGluLW1lbW9yeSB0YWJsZQoJI2Zv
ciBkaXIgaW4gZnNfcGVybXNfdGFibGU6CgkjCWJiLm5vdGUoIkZpeHVwIFBlcm1zOiAlczogJXMi
ICUgKGRpciwgc3RyKGZzX3Blcm1zX3RhYmxlW2Rpcl0pKSkKCgkjIFdlIHByb2Nlc3MgbGlua3Mg
Zmlyc3QsIHNvIHdlIGNhbiBnbyBiYWNrIGFuZCBmaXh1cCBkaXJlY3Rvcnkgb3duZXJzaGlwCgkj
IGZvciBhbnkgbmV3bHkgY3JlYXRlZCBkaXJlY3RvcmllcwoJZm9yIGRpciBpbiBmc19wZXJtc190
YWJsZToKCQlpZiBub3QgZnNfcGVybXNfdGFibGVbZGlyXS5saW5rOgoJCQljb250aW51ZQoKCQlv
cmlnaW4gPSBkdmFyICsgZGlyCgkJaWYgbm90IChvcy5wYXRoLmV4aXN0cyhvcmlnaW4pIGFuZCBv
cy5wYXRoLmlzZGlyKG9yaWdpbikgYW5kIG5vdCBvcy5wYXRoLmlzbGluayhvcmlnaW4pKToKCQkJ
Y29udGludWUKCgkJbGluayA9IGZzX3Blcm1zX3RhYmxlW2Rpcl0ubGluawoJCWlmIGxpbmtbMF0g
PT0gIi8iOgoJCQl0YXJnZXQgPSBkdmFyICsgbGluawoJCQlwdGFyZ2V0ID0gbGluawoJCWVsc2U6
CgkJCXRhcmdldCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUob3JpZ2luKSwgbGluaykK
CQkJcHRhcmdldCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoZGlyKSwgbGluaykKCQlp
ZiBvcy5wYXRoLmV4aXN0cyh0YXJnZXQpOgoJCQliYi5lcnJvcigiRml4dXAgUGVybXM6IFVuYWJs
ZSB0byBjb3JyZWN0IGRpcmVjdG9yeSBsaW5rLCB0YXJnZXQgYWxyZWFkeSBleGlzdHM6ICVzIC0+
ICVzIiAlIChkaXIsIHB0YXJnZXQpKQoJCQljb250aW51ZQoKCQkjIENyZWF0ZSBwYXRoIHRvIG1v
dmUgZGlyZWN0b3J5IHRvLCBtb3ZlIGl0LCBhbmQgdGhlbiBzZXR1cCB0aGUgc3ltbGluawoJCWJi
Lm1rZGlyaGllcihvcy5wYXRoLmRpcm5hbWUodGFyZ2V0KSkKCQkjYmIubm90ZSgiRml4dXAgUGVy
bXM6IFJlbmFtZSAlcyAtPiAlcyIgJSAoZGlyLCBwdGFyZ2V0KSkKCQlvcy5yZW5hbWUob3JpZ2lu
LCB0YXJnZXQpCgkJI2JiLm5vdGUoIkZpeHVwIFBlcm1zOiBMaW5rICVzIC0+ICVzIiAlIChkaXIs
IGxpbmspKQoJCW9zLnN5bWxpbmsobGluaywgb3JpZ2luKQoKCWZvciBkaXIgaW4gZnNfcGVybXNf
dGFibGU6CgkJaWYgZnNfcGVybXNfdGFibGVbZGlyXS5saW5rOgoJCQljb250aW51ZQoKCQlvcmln
aW4gPSBkdmFyICsgZGlyCgkJaWYgbm90IChvcy5wYXRoLmV4aXN0cyhvcmlnaW4pIGFuZCBvcy5w
YXRoLmlzZGlyKG9yaWdpbikpOgoJCQljb250aW51ZQoKCQlmaXhfcGVybXMob3JpZ2luLCBmc19w
ZXJtc190YWJsZVtkaXJdLm1vZGUsIGZzX3Blcm1zX3RhYmxlW2Rpcl0udWlkLCBmc19wZXJtc190
YWJsZVtkaXJdLmdpZCwgZGlyKQoKCQlpZiBmc19wZXJtc190YWJsZVtkaXJdLndhbGsgPT0gJ3Ry
dWUnOgoJCQlmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhvcmlnaW4pOgoJCQkJZm9y
IGRyIGluIGRpcnM6CgkJCQkJZWFjaF9kaXIgPSBvcy5wYXRoLmpvaW4ocm9vdCwgZHIpCgkJCQkJ
Zml4X3Blcm1zKGVhY2hfZGlyLCBmc19wZXJtc190YWJsZVtkaXJdLm1vZGUsIGZzX3Blcm1zX3Rh
YmxlW2Rpcl0udWlkLCBmc19wZXJtc190YWJsZVtkaXJdLmdpZCwgZGlyKQoJCQkJZm9yIGYgaW4g
ZmlsZXM6CgkJCQkJZWFjaF9maWxlID0gb3MucGF0aC5qb2luKHJvb3QsIGYpCgkJCQkJZml4X3Bl
cm1zKGVhY2hfZmlsZSwgZnNfcGVybXNfdGFibGVbZGlyXS5mbW9kZSwgZnNfcGVybXNfdGFibGVb
ZGlyXS5mdWlkLCBmc19wZXJtc190YWJsZVtkaXJdLmZnaWQsIGRpcikKfQoKCnB5dGhvbiBsZWdp
dGltaXplX3BhY2thZ2VfbmFtZSAoKSB7CmRlZiBsZWdpdGltaXplX3BhY2thZ2VfbmFtZShzKToK
CSIiIgoJTWFrZSBzdXJlIHBhY2thZ2UgbmFtZXMgYXJlIGxlZ2l0aW1hdGUgc3RyaW5ncwoJIiIi
CglpbXBvcnQgcmUKCglkZWYgZml4dXRmKG0pOgoJCWNwID0gbS5ncm91cCgxKQoJCWlmIGNwOgoJ
CQlyZXR1cm4gKCdcdSVzJyAlIGNwKS5kZWNvZGUoJ3VuaWNvZGVfZXNjYXBlJykuZW5jb2RlKCd1
dGYtOCcpCgoJIyBIYW5kbGUgdW5pY29kZSBjb2RlcG9pbnRzIGVuY29kZWQgYXMgPFUwMTIzPiwg
YXMgaW4gZ2xpYmMgbG9jYWxlIGZpbGVzLgoJcyA9IHJlLnN1YignPFUoWzAtOUEtRmEtZl17MSw0
fSk+JywgZml4dXRmLCBzKQoKCSMgUmVtYWluaW5nIHBhY2thZ2UgbmFtZSB2YWxpZGl0eSBmaXhl
cwoJcmV0dXJuIHMubG93ZXIoKS5yZXBsYWNlKCdfJywgJy0nKS5yZXBsYWNlKCdAJywgJysnKS5y
ZXBsYWNlKCcsJywgJysnKS5yZXBsYWNlKCcvJywgJy0nKQp9CgoKcHl0aG9uIGJhc2VfZ2V0X21l
dGFkYXRhX21vbm90b25lX2JyYW5jaCAoKSB7CmRlZiBiYXNlX2dldF9tZXRhZGF0YV9tb25vdG9u
ZV9icmFuY2gocGF0aCwgZCk6Cgltb25vdG9uZV9icmFuY2ggPSAiPHVua25vd24+IgoJdHJ5OgoJ
CW1vbm90b25lX2JyYW5jaCA9IGZpbGUoICIlcy9fTVROL29wdGlvbnMiICUgcGF0aCApLnJlYWQo
KS5zdHJpcCgpCgkJaWYgbW9ub3RvbmVfYnJhbmNoLnN0YXJ0c3dpdGgoICJkYXRhYmFzZSIgKToK
CQkJbW9ub3RvbmVfYnJhbmNoX3dvcmRzID0gbW9ub3RvbmVfYnJhbmNoLnNwbGl0KCkKCQkJbW9u
b3RvbmVfYnJhbmNoID0gbW9ub3RvbmVfYnJhbmNoX3dvcmRzWyBtb25vdG9uZV9icmFuY2hfd29y
ZHMuaW5kZXgoICJicmFuY2giICkrMV1bMTotMV0KCWV4Y2VwdDoKCQlwYXNzCglyZXR1cm4gbW9u
b3RvbmVfYnJhbmNoCn0KCgpweXRob24gY2hlY2tfY3JlYXRlX2xvbmdfZmlsZW5hbWUgKCkgewpk
ZWYgY2hlY2tfY3JlYXRlX2xvbmdfZmlsZW5hbWUoZmlsZXBhdGgsIHBhdGhuYW1lKToKICAgIHRl
c3RmaWxlID0gb3MucGF0aC5qb2luKGZpbGVwYXRoLCAnJy5qb2luKFtgbnVtYFstMV0gZm9yIG51
bSBpbiB4cmFuZ2UoMSwyMDApXSkpCiAgICB0cnk6CiAgICAgICAgaWYgbm90IG9zLnBhdGguZXhp
c3RzKGZpbGVwYXRoKToKICAgICAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKGZpbGVwYXRoKQog
ICAgICAgIGYgPSBmaWxlKHRlc3RmaWxlLCAidyIpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAg
b3MucmVtb3ZlKHRlc3RmaWxlKQogICAgZXhjZXB0IElPRXJyb3IgYXMgKGVycm5vLCBzdHJlcnJv
cik6CiAgICAgICAgaWYgZXJybm8gPT0gMzY6ICMgRU5BTUVUT09MT05HCiAgICAgICAgICAgIHJl
dHVybiAiRmFpbGVkIHRvIGNyZWF0ZSBhIGZpbGUgd2l0aCBhIGxvbmcgbmFtZSBpbiAlcy4gUGxl
YXNlIHVzZSBhIGZpbGVzeXN0ZW0gdGhhdCBkb2VzIG5vdCB1bnJlYXNvbmFibHkgbGltaXQgZmls
ZW5hbWUgbGVuZ3RoLlxuIiAlIHBhdGhuYW1lCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcmV0
dXJuICJGYWlsZWQgdG8gY3JlYXRlIGEgZmlsZSBpbiAlczogJXMiICUgKHBhdGhuYW1lLCBzdHJl
cnJvcikKICAgIHJldHVybiAiIgp9CgoKcHl0aG9uIG9lX3N5c3RlbSAoKSB7CmRlZiBvZV9zeXN0
ZW0oZCwgY21kLCAqKmt3YXJncyk6CiAgICAiIiIgUG9wZW4gYmFzZWQgdmVyc2lvbiBvZiBvcy5z
eXN0ZW0uICIiIgogICAgaWYgbm90ICJzaGVsbCIgaW4ga3dhcmdzOgogICAgICAgIGt3YXJnc1si
c2hlbGwiXSA9IFRydWUKICAgIHJldHVybiBvZV9wb3BlbihkLCBjbWQsICoqa3dhcmdzKS53YWl0
KCkKfQoKCnB5dGhvbiBkb19wb3B1bGF0ZV9saWNfc2V0c2NlbmUgKCkgewoJc3N0YXRlX3NldHNj
ZW5lKGQpCn0KCgpweXRob24gb2VfcG9wZW4gKCkgewpkZWYgb2VfcG9wZW4oZCwgY21kLCAqKmt3
YXJncyk6CiAgICBpbXBvcnQgb2UucHJvY2VzcwogICAga3dhcmdzWyJlbnYiXSA9IG9lX3BvcGVu
X2VudihkKQogICAgcmV0dXJuIG9lLnByb2Nlc3MuUG9wZW4oY21kLCAqKmt3YXJncykKfQoKCnB5
dGhvbiBwc3RhZ2luZ19mZXRjaCAoKSB7CmRlZiBwc3RhZ2luZ19mZXRjaChzc3RhdGVwa2csIGQp
OgogICAgaW1wb3J0IGJiLmZldGNoMgoKICAgICMgT25seSB0cnkgYW5kIGZldGNoIGlmIHRoZSB1
c2VyIGhhcyBjb25maWd1cmVkIGEgbWlycm9yCiAgICBtaXJyb3JzID0gZC5nZXRWYXIoJ1NTVEFU
RV9NSVJST1JTJywgVHJ1ZSkKICAgIGlmIG5vdCBtaXJyb3JzOgogICAgICAgIHJldHVybgoKICAg
ICMgQ29weSB0aGUgZGF0YSBvYmplY3QgYW5kIG92ZXJyaWRlIERMX0RJUiBhbmQgU1JDX1VSSQog
ICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCiAgICBiYi5kYXRhLnVwZGF0ZV9k
YXRhKGxvY2FsZGF0YSkKCiAgICBkbGRpciA9IGxvY2FsZGF0YS5leHBhbmQoIi9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vc3N0YXRlLWNhY2hlIikKICAgIHNyY3VyaSA9ICJmaWxl
Oi8vIiArIG9zLnBhdGguYmFzZW5hbWUoc3N0YXRlcGtnKQoKICAgIGJiLm1rZGlyaGllcihkbGRp
cikKCiAgICBsb2NhbGRhdGEuc2V0VmFyKCdETF9ESVInLCBkbGRpcikKICAgIGxvY2FsZGF0YS5z
ZXRWYXIoJ1BSRU1JUlJPUlMnLCBtaXJyb3JzKQogICAgbG9jYWxkYXRhLnNldFZhcignU1JDX1VS
SScsIHNyY3VyaSkKCiAgICAjIFRyeSBhIGZldGNoIGZyb20gdGhlIHNzdGF0ZSBtaXJyb3IsIGlm
IGl0IGZhaWxzIGp1c3QgcmV0dXJuIGFuZAogICAgIyB3ZSB3aWxsIGJ1aWxkIHRoZSBwYWNrYWdl
CiAgICB0cnk6CiAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChbc3JjdXJpXSwgbG9j
YWxkYXRhLCBjYWNoZT1GYWxzZSkKICAgICAgICBmZXRjaGVyLmRvd25sb2FkKCkKCiAgICAgICAg
IyBOZWVkIHRvIG9wdGltaXNlIHRoaXMsIGlmIHVzaW5nIGZpbGU6Ly8gdXJscywgdGhlIGZldGNo
ZXIganVzdCBjaGFuZ2VzIHRoZSBsb2NhbCBwYXRoCiAgICAgICAgIyBGb3Igbm93IHdvcmsgYXJv
dW5kIGJ5IHN5bWxpbmtpbmcKICAgICAgICBsb2NhbHBhdGggPSBiYi5kYXRhLmV4cGFuZChmZXRj
aGVyLmxvY2FscGF0aChzcmN1cmkpLCBsb2NhbGRhdGEpCiAgICAgICAgaWYgbG9jYWxwYXRoICE9
IHNzdGF0ZXBrZyBhbmQgb3MucGF0aC5leGlzdHMobG9jYWxwYXRoKSBhbmQgbm90IG9zLnBhdGgu
ZXhpc3RzKHNzdGF0ZXBrZyk6CiAgICAgICAgICAgIG9zLnN5bWxpbmsobG9jYWxwYXRoLCBzc3Rh
dGVwa2cpCgogICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9uOgogICAgICAgIHBh
c3MKfQoKCnB5dGhvbiBwYWNrYWdlX2lwa19tYXBwaW5nX3JlbmFtZV9ob29rICgpIHsKCWJiLmJ1
aWxkLmV4ZWNfZnVuYygncGFja2FnZV9tYXBwaW5nX3JlbmFtZV9ob29rJywgZCkKfQoKCnB5dGhv
biBwYWNrYWdlX3FhX2NoZWNrX2RldiAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX2RldihwYXRo
LCBuYW1lLCBkLCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgZm9yICIuc28iIGxp
YnJhcnkgc3ltbGlua3MgaW4gbm9uLWRldiBwYWNrYWdlcwogICAgIiIiCgogICAgaWYgbm90IG5h
bWUuZW5kc3dpdGgoIi1kZXYiKSBhbmQgbm90IG5hbWUuZW5kc3dpdGgoIi1kYmciKSBhbmQgbm90
IG5hbWUuZW5kc3dpdGgoIi1uYXRpdmVzZGsiKSBhbmQgcGF0aC5lbmRzd2l0aCgiLnNvIikgYW5k
IG9zLnBhdGguaXNsaW5rKHBhdGgpOgogICAgICAgIG1lc3NhZ2VzLmFwcGVuZCgibm9uIC1kZXYv
LWRiZy8tbmF0aXZlc2RrIHBhY2thZ2UgY29udGFpbnMgc3ltbGluayAuc286ICVzIHBhdGggJyVz
JyIgJSBcCiAgICAgICAgICAgICAgICAgKG5hbWUsIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRo
LGQpKSkKfQoKCnB5dGhvbiBwcnNlcnZfZ2V0X3ByX2F1dG8gKCkgewpkZWYgcHJzZXJ2X2dldF9w
cl9hdXRvKGQpOgogICAgaW1wb3J0IG9lLnByc2VydmljZQogICAgaWYgZC5nZXRWYXIoJ1VTRV9Q
Ul9TRVJWJywgVHJ1ZSkgIT0gIjEiOgogICAgICAgIGJiLndhcm4oIk5vdCB1c2luZyBuZXR3b3Jr
IGJhc2VkIFBSIHNlcnZpY2UiKQogICAgICAgIHJldHVybiBOb25lCgogICAgdmVyc2lvbiA9IGQu
Z2V0VmFyKCJQUkFVVE9JTlgiLCBUcnVlKQogICAgcGtnYXJjaCA9IGQuZ2V0VmFyKCJQQUNLQUdF
X0FSQ0giLCBUcnVlKQogICAgY2hlY2tzdW0gPSBkLmdldFZhcigiQkJfVEFTS0hBU0giLCBUcnVl
KQoKICAgIGlmIGQuZ2V0VmFyKCdQUlNFUlZfTE9DS0RPV04nLCBUcnVlKToKICAgICAgICBhdXRv
X3JldiA9IGQuZ2V0VmFyKCdQUkFVVE9fJyArIHZlcnNpb24gKyAnXycgKyBwa2dhcmNoLCBUcnVl
KSBvciBkLmdldFZhcignUFJBVVRPXycgKyB2ZXJzaW9uLCBUcnVlKSBvciBOb25lCiAgICBlbHNl
OgogICAgICAgIGNvbm4gPSBkLmdldFZhcigiX19QUlNFUlZfQ09OTiIsIFRydWUpCiAgICAgICAg
aWYgY29ubiBpcyBOb25lOgogICAgICAgICAgICBjb25uID0gb2UucHJzZXJ2aWNlLnByc2Vydl9t
YWtlX2Nvbm4oZCkKICAgICAgICAgICAgaWYgY29ubiBpcyBOb25lOgogICAgICAgICAgICAgICAg
cmV0dXJuIE5vbmUKICAgICAgICBhdXRvX3JldiA9IGNvbm4uZ2V0UFIodmVyc2lvbiwgcGtnYXJj
aCwgY2hlY2tzdW0pCgogICAgcmV0dXJuIGF1dG9fcmV2fQoKCnB5dGhvbiBkb19mZXRjaCAoKSB7
CgliYi5idWlsZC5leGVjX2Z1bmMoJ2Jhc2VfZG9fZmV0Y2gnLCBkKQp9CgoKcHl0aG9uIGJhc2Vf
Z2V0X21ldGFkYXRhX2dpdF9icmFuY2ggKCkgewpkZWYgYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X2Jy
YW5jaChwYXRoLCBkKToKCWJyYW5jaCA9IG9zLnBvcGVuKCdjZCAlczsgZ2l0IGJyYW5jaCAyPiYx
IHwgZ3JlcCAiXiogIiB8IHRyIC1kICIqICInICUgcGF0aCkucmVhZCgpCgoJaWYgbGVuKGJyYW5j
aCkgIT0gMDoKCQlyZXR1cm4gYnJhbmNoCglyZXR1cm4gIjx1bmtub3duPiIKfQoKCnB5dGhvbiBj
aGVja19zYW5pdHlfZXZlbnRoYW5kbGVyICgpIHsKICAgIGlmIGJiLmV2ZW50LmdldE5hbWUoZSkg
PT0gIkNvbmZpZ1BhcnNlZCIgYW5kIGUuZGF0YS5nZXRWYXIoIkJCX1dPUktFUkNPTlRFWFQiLCBU
cnVlKSAhPSAiMSIgYW5kIGUuZGF0YS5nZXRWYXIoIkRJU0FCTEVfU0FOSVRZX0NIRUNLUyIsIFRy
dWUpICE9ICIxIjoKICAgICAgICBjaGVja19zYW5pdHkoZSkKICAgIGVsaWYgYmIuZXZlbnQuZ2V0
TmFtZShlKSA9PSAiU2FuaXR5Q2hlY2siOgogICAgICAgIGNoZWNrX3Nhbml0eShlKQogICAgICAg
IGJiLmV2ZW50LmZpcmUoYmIuZXZlbnQuU2FuaXR5Q2hlY2tQYXNzZWQoKSwgZS5kYXRhKQoKICAg
IHJldHVybgp9CgoKcHl0aG9uIG9lX2ZpbHRlciAoKSB7CmRlZiBvZV9maWx0ZXIoZiwgc3RyLCBk
KToKICAgIHJldHVybiBvZS51dGlscy5zdHJfZmlsdGVyKGYsIHN0ciwgZCkKfQoKCnB5dGhvbiBk
b19jaGVja3VyaSAoKSB7CglzcmNfdXJpID0gKGQuZ2V0VmFyKCdTUkNfVVJJJywgVHJ1ZSkgb3Ig
IiIpLnNwbGl0KCkKCWlmIGxlbihzcmNfdXJpKSA9PSAwOgoJCXJldHVybgoKCWxvY2FsZGF0YSA9
IGJiLmRhdGEuY3JlYXRlQ29weShkKQoJYmIuZGF0YS51cGRhdGVfZGF0YShsb2NhbGRhdGEpCgog
ICAgICAgIHRyeToKICAgICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChzcmNfdXJp
LCBsb2NhbGRhdGEpCiAgICAgICAgICAgIGZldGNoZXIuY2hlY2tzdGF0dXMoKQogICAgICAgIGV4
Y2VwdCBiYi5mZXRjaDIuQkJGZXRjaEV4Y2VwdGlvbiwgZToKICAgICAgICAgICAgcmFpc2UgYmIu
YnVpbGQuRnVuY0ZhaWxlZChlKQp9CgoKcHl0aG9uIGlzX21hY2hpbmVfc3BlY2lmaWMgKCkgewpk
ZWYgaXNfbWFjaGluZV9zcGVjaWZpYyhkKToKICAgICIiIkRldGVybWluZSB3aGV0aGVyIHRoZSBj
dXJyZW50IHJlY2lwZSBpcyBtYWNoaW5lIHNwZWNpZmljIiIiCiAgICBtYWNoaW5lcGF0aHMgPSBz
ZXQobWFjaGluZV9wYXRocyhkKSkKICAgIHNyY3VyaSA9IGQuZ2V0VmFyKCJTUkNfVVJJIiwgVHJ1
ZSkuc3BsaXQoKQogICAgZm9yIHVybCBpbiBzcmN1cmk6CiAgICAgICAgZmV0Y2hlciA9IGJiLmZl
dGNoMi5GZXRjaChbc3JjdXJpXSwgZCkKICAgICAgICBpZiB1cmwuc3RhcnRzd2l0aCgiZmlsZTov
LyIpOgogICAgICAgICAgICBpZiBhbnkoZmV0Y2hlci5sb2NhbHBhdGgodXJsKS5zdGFydHN3aXRo
KG1wICsgIi8iKSBmb3IgbXAgaW4gbWFjaGluZXBhdGhzKToKICAgICAgICAgICAgICAgIHJldHVy
biBUcnVlCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja191c2VsZXNzX3JwYXRocyAoKSB7CmRl
ZiBwYWNrYWdlX3FhX2NoZWNrX3VzZWxlc3NfcnBhdGhzKGZpbGUsIG5hbWUsIGQsIGVsZiwgbWVz
c2FnZXMpOgogICAgIiIiCiAgICBDaGVjayBmb3IgUlBBVEhzIHRoYXQgYXJlIHVzZWxlc3MgYnV0
IG5vdCBkYW5nZXJvdXMKICAgICIiIgogICAgaWYgbm90IGVsZjoKICAgICAgICByZXR1cm4KCiAg
ICBvYmpkdW1wID0gZC5nZXRWYXIoJ09CSkRVTVAnLCBUcnVlKQogICAgZW52X3BhdGggPSBkLmdl
dFZhcignUEFUSCcsIFRydWUpCgogICAgbGliZGlyID0gZC5nZXRWYXIoImxpYmRpciIsIFRydWUp
CiAgICBiYXNlX2xpYmRpciA9IGQuZ2V0VmFyKCJiYXNlX2xpYmRpciIsIFRydWUpCgogICAgaW1w
b3J0IHJlCiAgICBycGF0aF9yZSA9IHJlLmNvbXBpbGUoIlxzK1JQQVRIXHMrKC4qKSIpCiAgICBm
b3IgbGluZSBpbiBvcy5wb3BlbigiTENfQUxMPUMgUEFUSD0lcyAlcyAtcCAnJXMnIDI+IC9kZXYv
bnVsbCIgJSAoZW52X3BhdGgsIG9iamR1bXAsIGZpbGUpLCAiciIpOgogICAgCW0gPSBycGF0aF9y
ZS5tYXRjaChsaW5lKQoJaWYgbToKCSAgIHJwYXRoID0gbS5ncm91cCgxKQoJICAgaWYgcnBhdGgg
PT0gbGliZGlyIG9yIHJwYXRoID09IGJhc2VfbGliZGlyOgoJICAgICAgIyBUaGUgZHluYW1pYyBs
aW5rZXIgc2VhcmNoZXMgYm90aCB0aGVzZSBwbGFjZXMgYW55d2F5LiAgVGhlcmUgaXMgbm8gcG9p
bnQgaW4KCSAgICAgICMgbG9va2luZyB0aGVyZSBhZ2Fpbi4KCSAgICAgIG1lc3NhZ2VzLmFwcGVu
ZCgiJXM6ICVzIGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAlcyIgJSAobmFtZSwg
cGFja2FnZV9xYV9jbGVhbl9wYXRoKGZpbGUsIGQpLCBycGF0aCkpCn0KCgpweXRob24gb2VfZmls
dGVyX291dCAoKSB7CmRlZiBvZV9maWx0ZXJfb3V0KGYsIHN0ciwgZCk6CiAgICByZXR1cm4gb2Uu
dXRpbHMuc3RyX2ZpbHRlcl9vdXQoZiwgc3RyLCBkKQp9CgoKcHl0aG9uIG9lX3Rlcm1pbmFsICgp
IHsKZGVmIG9lX3Rlcm1pbmFsKGNvbW1hbmQsIHRpdGxlLCBkKToKICAgIGltcG9ydCBvZS5kYXRh
CiAgICBpbXBvcnQgb2UudGVybWluYWwKCiAgICBmb3IgZXhwb3J0IGluIG9lLmRhdGEudHlwZWRf
dmFsdWUoJ09FX1RFUk1JTkFMX0VYUE9SVFMnLCBkKToKICAgICAgICB2YWx1ZSA9IGQuZ2V0VmFy
KGV4cG9ydCwgVHJ1ZSkKICAgICAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKICAgICAgICAgICAg
b3MuZW52aXJvbltleHBvcnRdID0gc3RyKHZhbHVlKQoKICAgIHRlcm1pbmFsID0gb2UuZGF0YS50
eXBlZF92YWx1ZSgnT0VfVEVSTUlOQUwnLCBkKS5sb3dlcigpCiAgICBpZiB0ZXJtaW5hbCA9PSAn
bm9uZSc6CiAgICAgICAgYmIuZmF0YWwoJ0RldnNoZWxsIHVzYWdlIGRpc2FibGVkIHdpdGggT0Vf
VEVSTUlOQUwnKQogICAgZWxpZiB0ZXJtaW5hbCAhPSAnYXV0byc6CiAgICAgICAgdHJ5OgogICAg
ICAgICAgICBvZS50ZXJtaW5hbC5zcGF3bih0ZXJtaW5hbCwgY29tbWFuZCwgdGl0bGUpCiAgICAg
ICAgICAgIHJldHVybgogICAgICAgIGV4Y2VwdCBvZS50ZXJtaW5hbC5VbnN1cHBvcnRlZFRlcm1p
bmFsOgogICAgICAgICAgICBiYi53YXJuKCdVbnN1cHBvcnRlZCB0ZXJtaW5hbCAiJXMiLCBkZWZh
dWx0aW5nIHRvICJhdXRvIicgJQogICAgICAgICAgICAgICAgICAgIHRlcm1pbmFsKQogICAgICAg
IGV4Y2VwdCBvZS50ZXJtaW5hbC5FeGVjdXRpb25FcnJvciBhcyBleGM6CiAgICAgICAgICAgIGJi
LmZhdGFsKCdVbmFibGUgdG8gc3Bhd24gdGVybWluYWwgJXM6ICVzJyAlICh0ZXJtaW5hbCwgZXhj
KSkKCiAgICB0cnk6CiAgICAgICAgb2UudGVybWluYWwuc3Bhd25fcHJlZmVycmVkKGNvbW1hbmQs
IHRpdGxlKQogICAgZXhjZXB0IG9lLnRlcm1pbmFsLk5vU3VwcG9ydGVkVGVybWluYWxzOgogICAg
ICAgIGJiLmZhdGFsKCdObyB2YWxpZCB0ZXJtaW5hbCBmb3VuZCwgdW5hYmxlIHRvIG9wZW4gZGV2
c2hlbGwnKQogICAgZXhjZXB0IG9lLnRlcm1pbmFsLkV4ZWN1dGlvbkVycm9yIGFzIGV4YzoKICAg
ICAgICBiYi5mYXRhbCgnVW5hYmxlIHRvIHNwYXduIHRlcm1pbmFsICVzOiAlcycgJSAodGVybWlu
YWwsIGV4YykpfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2dldF9tYWNoaW5lX2RpY3QgKCkgewpkZWYg
cGFja2FnZV9xYV9nZXRfbWFjaGluZV9kaWN0KCk6CiAgICByZXR1cm4gewogICAgICAgICAgICAi
ZGFyd2luOSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJhcm0iIDogICAgICAgKDQwLCAg
ICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAg
ICAgICAgfSwKICAgICAgICAgICAgImxpbnV4IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAg
ImFybSIgOiAgICAgICAoNDAsICAgIDk3LCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAz
MiksCiAgICAgICAgICAgICAgICAgICAgICAgICJhcm1lYiI6ICAgICAgKDQwLCAgICA5NywgICAg
MCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAi
cG93ZXJwYyI6ICAgICgyMCwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMy
KSwKICAgICAgICAgICAgICAgICAgICAgICAgInBvd2VycGM2NCI6ICAoMjEsICAgICAwLCAgICAw
LCAgICAgICAgICBGYWxzZSwgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAgICJp
Mzg2IjogICAgICAgKCAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIp
LAogICAgICAgICAgICAgICAgICAgICAgICAiaTQ4NiI6ICAgICAgICggMywgICAgIDAsICAgIDAs
ICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgImk1
ODYiOiAgICAgICAoIDMsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiks
CiAgICAgICAgICAgICAgICAgICAgICAgICJpNjg2IjogICAgICAgKCAzLCAgICAgMCwgICAgMCwg
ICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAieDg2
XzY0IjogICAgICg2MiwgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDY0KSwK
ICAgICAgICAgICAgICAgICAgICAgICAgImlhNjQiOiAgICAgICAoNTAsICAgICAwLCAgICAwLCAg
ICAgICAgICBUcnVlLCAgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAgICJhbHBo
YSI6ICAgICAgKDM2OTAyLCAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgNjQpLAog
ICAgICAgICAgICAgICAgICAgICAgICAiaHBwYSI6ICAgICAgICgxNSwgICAgIDMsICAgIDAsICAg
ICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgIm02OGsi
OiAgICAgICAoIDQsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAg
ICAgICAgICAgICAgICAgICAgICAgICJtaXBzIjogICAgICAgKCA4LCAgICAgMCwgICAgMCwgICAg
ICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAibWlwc2Vs
IjogICAgICggOCwgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgInMzOTAiOiAgICAgICAoMjIsICAgICAwLCAgICAwLCAgICAg
ICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJzaDQiOiAg
ICAgICAgKDQyLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAg
ICAgICAgICAgICAgICAgICAgICAic3BhcmMiOiAgICAgICggMiwgICAgIDAsICAgIDAsICAgICAg
ICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgICJsaW51eC11Y2xpYmMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAiYXJtIiA6ICAg
ICAgICggIDQwLCAgICA5NywgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAg
ICAgICAgICAgICAgICAgICAgICAiYXJtZWIiOiAgICAgICggIDQwLCAgICA5NywgICAgMCwgICAg
ICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAicG93ZXJw
YyI6ICAgICggIDIwLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAog
ICAgICAgICAgICAgICAgICAgICAgICAiaTM4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwg
ICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiaTQ4
NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIp
LAogICAgICAgICAgICAgICAgICAgICAgICAiaTU4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAg
MCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAi
aTY4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAg
MzIpLAogICAgICAgICAgICAgICAgICAgICAgICAieDg2XzY0IjogICAgICggIDYyLCAgICAgMCwg
ICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAg
ICAibWlwcyI6ICAgICAgICggICA4LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAg
ICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAibWlwc2VsIjogICAgICggICA4LCAgICAg
MCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAg
ICAgICAiYXZyMzIiOiAgICAgICg2MzE3LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAg
ICAgICAgMzIpLAoJCQkic2g0IjogICAgICAgICg0MiwJIDAsICAgIDAsICAgICAgICAgIFRydWUs
ICAgICAgICAgIDMyKSwKCiAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAidWNs
aW51eC11Y2xpYmMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAiYmZpbiI6ICAgICAgICgg
MTA2LCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAzMiksCiAgICAgICAgICAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAibGludXgtZ251ZWFiaSIgOiB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICJhcm0iIDogICAgICAgKDQwLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1
ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiYXJtZWIiIDogICAgICg0
MCwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAg
ICAgICAgICAgIH0sCiAgICAgICAgICAgICJsaW51eC11Y2xpYmNlYWJpIiA6IHsKICAgICAgICAg
ICAgICAgICAgICAgICAgImFybSIgOiAgICAgICAoNDAsICAgICAwLCAgICAwLCAgICAgICAgICBU
cnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJhcm1lYiIgOiAgICAg
KDQwLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAg
ICAgICAgICAgICAgfSwKICAgICAgICAgICAgImxpbnV4LWdudSIgOiB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICJwb3dlcnBjIjogICAgKDIwLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2Us
ICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgImxpbnV4
LWdudXNwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJwb3dlcnBjIjogICAgKDIwLCAg
ICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAg
ICAgICAgfSwKICAgICAgICAgICAgImxpbnV4LXVjbGliY3NwZSIgOiB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICJwb3dlcnBjIjogICAgKDIwLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2Us
ICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgImxpbnV4
LWdudSIgOiAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJtaWNyb2JsYXplIjogICAo
NDc3ODcsICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAg
ICAgICAgICAgICAgICJtaWNyb2JsYXplZWwiOiAoNDc3ODcsICAwLCAgICAwLCAgICAgICAgICBU
cnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAi
bGludXgtZ251eDMyIiA6ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIng4Nl82NCI6
ICAgICAoNjIsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAg
ICAgICAgICAgICAgICAgICB9LAogICAgICAgfQoKfQoKCnB5dGhvbiBiYXNlX2RldGVjdF9yZXZp
c2lvbiAoKSB7CmRlZiBiYXNlX2RldGVjdF9yZXZpc2lvbihkKToKCXBhdGggPSBiYXNlX2dldF9z
Y21iYXNlcGF0aChkKQoKCXNjbXMgPSBbYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X3JldmlzaW9uLCBc
CgkJCWJhc2VfZ2V0X21ldGFkYXRhX3N2bl9yZXZpc2lvbl0KCglmb3Igc2NtIGluIHNjbXM6CgkJ
cmV2ID0gc2NtKHBhdGgsIGQpCgkJaWYgcmV2IDw+ICI8dW5rbm93bj4iOgoJCQlyZXR1cm4gcmV2
CgoJcmV0dXJuICI8dW5rbm93bj4iCn0KCgpweXRob24gc3N0YXRlX2NsZWFuX2NhY2hlZmlsZSAo
KSB7CmRlZiBzc3RhdGVfY2xlYW5fY2FjaGVmaWxlKHNzLCBkKToKICAgIGltcG9ydCBvZS5wYXRo
CgogICAgc3N0YXRlcGtnZGlyID0gZC5nZXRWYXIoJ1NTVEFURV9ESVInLCBUcnVlKQogICAgc3N0
YXRlcGtnZmlsZSA9IHNzdGF0ZXBrZ2RpciArICcvJyArIGQuZ2V0VmFyKCdTU1RBVEVfUEtHU1BF
QycsIFRydWUpICsgIipfIiArIHNzWyduYW1lJ10gKyAiLnRneioiCiAgICBiYi5ub3RlKCJSZW1v
dmluZyAlcyIgJSBzc3RhdGVwa2dmaWxlKQogICAgb2UucGF0aC5yZW1vdmUoc3N0YXRlcGtnZmls
ZSkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2FyY2ggKCkgewpkZWYgcGFja2FnZV9xYV9j
aGVja19hcmNoKHBhdGgsbmFtZSxkLCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sg
aWYgYXJjaHMgYXJlIGNvbXBhdGlibGUKICAgICIiIgogICAgaWYgbm90IGVsZjoKICAgICAgICBy
ZXR1cm4KCiAgICB0YXJnZXRfb3MgICA9IGQuZ2V0VmFyKCdUQVJHRVRfT1MnLCBUcnVlKQogICAg
dGFyZ2V0X2FyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnLCBUcnVlKQogICAgcHJvdmlkZXMg
PSBkLmdldFZhcignUFJPVklERVMnLCBkLCBUcnVlKQogICAgYnBuID0gZC5nZXRWYXIoJ0JQTics
IFRydWUpCgogICAgIyBGSVhNRTogQ3Jvc3MgcGFja2FnZSBjb25mdXNlIHRoaXMgY2hlY2ssIHNv
IGp1c3Qgc2tpcCB0aGVtCiAgICBmb3IgcyBpbiBbJ2Nyb3NzJywgJ25hdGl2ZXNkaycsICdjcm9z
cy1jYW5hZGlhbiddOgogICAgICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MocywgZCk6CiAg
ICAgICAgICAgIHJldHVybgoKICAgICMgYXZvaWQgZm9sbG93aW5nIGxpbmtzIHRvIC91c3IvYmlu
IChlLmcuIG9uIHVkZXYgYnVpbGRzKQogICAgIyB3ZSB3aWxsIGNoZWNrIHRoZSBmaWxlcyBwb2lu
dGVkIHRvIGFueXdheS4uLgogICAgaWYgb3MucGF0aC5pc2xpbmsocGF0aCk6CiAgICAgICAgcmV0
dXJuCgogICAgI2lmIHRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24sIHRoZW4gZml4IHRoZSBk
aWN0IGFib3ZlCiAgICAobWFjaGluZSwgb3NhYmksIGFiaXZlcnNpb24sIGxpdHRsZWVuZGlhbiwg
Yml0cykgXAogICAgICAgID0gcGFja2FnZV9xYV9nZXRfbWFjaGluZV9kaWN0KClbdGFyZ2V0X29z
XVt0YXJnZXRfYXJjaF0KCiAgICAjIENoZWNrIHRoZSBhcmNoaXRlY3R1cmUgYW5kIGVuZGlhbm5l
cyBvZiB0aGUgYmluYXJ5CiAgICBpZiBub3QgKChtYWNoaW5lID09IGVsZi5tYWNoaW5lKCkpIG9y
IFwKCSgidmlydHVhbC9rZXJuZWwiIGluIHByb3ZpZGVzKSBhbmQgKHRhcmdldF9vcyA9PSAibGlu
dXgtZ251eDMyIikpOgogICAgICAgIG1lc3NhZ2VzLmFwcGVuZCgiQXJjaGl0ZWN0dXJlIGRpZCBu
b3QgbWF0Y2ggKCVkIHRvICVkKSBvbiAlcyIgJSBcCiAgICAgICAgICAgICAgICAgKG1hY2hpbmUs
IGVsZi5tYWNoaW5lKCksIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKICAgIGVsaWYg
bm90ICgoYml0cyA9PSBlbGYuYWJpU2l6ZSgpKSBvciAgXAoJKCJ2aXJ0dWFsL2tlcm5lbCIgaW4g
cHJvdmlkZXMpIGFuZCAodGFyZ2V0X29zID09ICJsaW51eC1nbnV4MzIiKSk6CiAgICAgICAgbWVz
c2FnZXMuYXBwZW5kKCJCaXQgc2l6ZSBkaWQgbm90IG1hdGNoICglZCB0byAlZCkgJXMgb24gJXMi
ICUgXAogICAgICAgICAgICAgICAgIChiaXRzLCBlbGYuYWJpU2l6ZSgpLCBicG4sIHBhY2thZ2Vf
cWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKICAgIGVsaWYgbm90IGxpdHRsZWVuZGlhbiA9PSBlbGYu
aXNMaXR0bGVFbmRpYW4oKToKICAgICAgICBtZXNzYWdlcy5hcHBlbmQoIkVuZGlhbm5lcyBkaWQg
bm90IG1hdGNoICglZCB0byAlZCkgb24gJXMiICUgXAogICAgICAgICAgICAgICAgIChsaXR0bGVl
bmRpYW4sIGVsZi5pc0xpdHRsZUVuZGlhbigpLCBwYWNrYWdlX3FhX2NsZWFuX3BhdGgocGF0aCxk
KSkpCn0KCgpweXRob24gZG9fY2xlYW4gKCkgewoJIiIiY2xlYXIgdGhlIGJ1aWxkIGFuZCB0ZW1w
IGRpcmVjdG9yaWVzIiIiCglkaXIgPSBkLmV4cGFuZCgiL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3
IikKCWJiLm5vdGUoIlJlbW92aW5nICIgKyBkaXIpCglvZS5wYXRoLnJlbW92ZShkaXIpCgoJZGly
ID0gIiVzLioiICUgYmIuZGF0YS5leHBhbmQoZC5nZXRWYXIoJ1NUQU1QJyksIGQpCgliYi5ub3Rl
KCJSZW1vdmluZyAiICsgZGlyKQoJb2UucGF0aC5yZW1vdmUoZGlyKQoKCWZvciBmIGluIChkLmdl
dFZhcignQ0xFQU5GVU5DUycsIFRydWUpIG9yICcnKS5zcGxpdCgpOgoJCWJiLmJ1aWxkLmV4ZWNf
ZnVuYyhmLCBkKQp9CgoKcHl0aG9uIGRvX3BhY2thZ2Vfd3JpdGVfaXBrX3NldHNjZW5lICgpIHsK
CXNzdGF0ZV9zZXRzY2VuZShkKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfd3JpdGVfZXJyb3IgKCkg
ewpkZWYgcGFja2FnZV9xYV93cml0ZV9lcnJvcihlcnJvciwgZCk6CiAgICBsb2dmaWxlID0gZC5n
ZXRWYXIoJ1FBX0xPR0ZJTEUnLCBUcnVlKQogICAgaWYgbG9nZmlsZToKICAgICAgICBwID0gZC5n
ZXRWYXIoJ1AnLCBUcnVlKQogICAgICAgIGYgPSBmaWxlKCBsb2dmaWxlLCAiYSsiKQogICAgICAg
IHByaW50ID4+IGYsICIlczogJXMiICUgKHAsIGVycm9yKQogICAgICAgIGYuY2xvc2UoKQp9CgoK
cHl0aG9uIHVuc2FmZV9yZWZlcmVuY2VzX3NraXBwYWJsZSAoKSB7CmRlZiB1bnNhZmVfcmVmZXJl
bmNlc19za2lwcGFibGUocGF0aCwgbmFtZSwgZCk6CglpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNz
KCduYXRpdmUnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmVzZGsnLCBkKToK
CQlyZXR1cm4gVHJ1ZQoKCWlmICItZGJnIiBpbiBuYW1lIG9yICItZGV2IiBpbiBuYW1lOgoJCXJl
dHVybiBUcnVlCgoJIyBPdGhlciBwYWNrYWdlIG5hbWVzIHRvIHNraXA6CglpZiBuYW1lLnN0YXJ0
c3dpdGgoImtlcm5lbC1tb2R1bGUtIik6CgkJcmV0dXJuIFRydWUKCgkjIFNraXAgc3ltbGlua3MK
CWlmIG9zLnBhdGguaXNsaW5rKHBhdGgpOgoJCXJldHVybiBUcnVlCgoJIyBTa2lwIHVudXN1YWwg
cm9vdGZzIGxheW91dHMgd2hpY2ggbWFrZSB0aGVzZSB0ZXN0cyBpcnJlbGV2YW50CglleGVjX3By
ZWZpeCA9IGQuZ2V0VmFyKCdleGVjX3ByZWZpeCcsIFRydWUpCglpZiBleGVjX3ByZWZpeCA9PSAi
IjoKCQlyZXR1cm4gVHJ1ZQoKCXBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcsIFRydWUpCglw
a2dkZXN0ID0gcGtnZGVzdCArICIvIiArIG5hbWUKCXBrZ2Rlc3QgPSBvcy5wYXRoLmFic3BhdGgo
cGtnZGVzdCkKCWJhc2VfYmluZGlyID0gcGtnZGVzdCArIGQuZ2V0VmFyKCdiYXNlX2JpbmRpcics
IFRydWUpCgliYXNlX3NiaW5kaXIgPSBwa2dkZXN0ICsgZC5nZXRWYXIoJ2Jhc2Vfc2JpbmRpcics
IFRydWUpCgliYXNlX2xpYmRpciA9IHBrZ2Rlc3QgKyBkLmdldFZhcignYmFzZV9saWJkaXInLCBU
cnVlKQoJYmluZGlyID0gcGtnZGVzdCArIGQuZ2V0VmFyKCdiaW5kaXInLCBUcnVlKQoJc2JpbmRp
ciA9IHBrZ2Rlc3QgKyBkLmdldFZhcignc2JpbmRpcicsIFRydWUpCglsaWJkaXIgPSBwa2dkZXN0
ICsgZC5nZXRWYXIoJ2xpYmRpcicsIFRydWUpCgoJaWYgYmFzZV9iaW5kaXIgPT0gYmluZGlyIGFu
ZCBiYXNlX3NiaW5kaXIgPT0gc2JpbmRpciBhbmQgYmFzZV9saWJkaXIgPT0gbGliZGlyOgoJCXJl
dHVybiBUcnVlCgoJIyBTa2lwIGZpbGVzIG5vdCBpbiBiYXNlX1tiaW5kaXJ8c2JpbmRpcnxsaWJk
aXJdCglwYXRoID0gb3MucGF0aC5hYnNwYXRoKHBhdGgpCglpZiBub3QgKGJhc2VfYmluZGlyIGlu
IHBhdGggb3IgYmFzZV9zYmluZGlyIGluIHBhdGggb3IgYmFzZV9saWJkaXIgaW4gcGF0aCk6CgkJ
cmV0dXJuIFRydWUKCglyZXR1cm4gRmFsc2UKfQoKCnB5dGhvbiBiYXNlX2JvdGhfY29udGFpbiAo
KSB7CmRlZiBiYXNlX2JvdGhfY29udGFpbih2YXJpYWJsZTEsIHZhcmlhYmxlMiwgY2hlY2t2YWx1
ZSwgZCk6CiAgICByZXR1cm4gb2UudXRpbHMuYm90aF9jb250YWluKHZhcmlhYmxlMSwgdmFyaWFi
bGUyLCBjaGVja3ZhbHVlLCBkKQp9CgoKcHl0aG9uIHN5c3Jvb3RfY2xlYW5zc3RhdGUgKCkgewog
ICAgIHNzID0gc3N0YXRlX3N0YXRlX2Zyb212YXJzKGQsICJwb3B1bGF0ZV9zeXNyb290IikKICAg
ICBzc3RhdGVfY2xlYW4oc3MsIGQpCn0KCgpweXRob24gX19hbm9ueW1vdXMgKCkgewpOb25lfQoK
CnB5dGhvbiBiYXNlX2lmZWxzZSAoKSB7CmRlZiBiYXNlX2lmZWxzZShjb25kaXRpb24sIGlmdHJ1
ZSA9IFRydWUsIGlmZmFsc2UgPSBGYWxzZSk6CiAgICByZXR1cm4gb2UudXRpbHMuaWZlbHNlKGNv
bmRpdGlvbiwgaWZ0cnVlLCBpZmZhbHNlKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tfbGlj
ZW5zZSAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX2xpY2Vuc2Uod29ya2RpciwgZCk6CiAgICAi
IiIKICAgIENoZWNrIGZvciBjaGFuZ2VzIGluIHRoZSBsaWNlbnNlIGZpbGVzCiAgICAiIiIKICAg
IGltcG9ydCB0ZW1wZmlsZQogICAgc2FuZSA9IFRydWUKCiAgICBsaWNfZmlsZXMgPSBkLmdldFZh
cignTElDX0ZJTEVTX0NIS1NVTScsIFRydWUpCiAgICBsaWMgPSBkLmdldFZhcignTElDRU5TRScs
IFRydWUpCiAgICBwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCgogICAgaWYgbGljID09ICJDTE9T
RUQiOgogICAgICAgIHJldHVybiBUcnVlCgogICAgaWYgbm90IGxpY19maWxlczoKICAgICAgICAj
IGp1c3QgdGhyb3cgYSB3YXJuaW5nIG5vdy4gT25jZSBsaWNlbnNpbmcgZGF0YSBpbiBlbnRlcmVk
IGZvciBlbm91Z2ggb2YgdGhlIHJlY2lwZXMsCiAgICAgICAgIyB0aGlzIHdpbGwgYmUgY29udmVy
dGVkIGludG8gZXJyb3IgYW5kIEZhbHNlIHdpbGwgYmUgcmV0dXJuZWQuCiAgICAgICAgYmIuZXJy
b3IocG4gKyAiOiBSZWNpcGUgZmlsZSBkb2VzIG5vdCBoYXZlIGxpY2Vuc2UgZmlsZSBpbmZvcm1h
dGlvbiAoTElDX0ZJTEVTX0NIS1NVTSkiKQogICAgICAgIHJldHVybiBGYWxzZQoKICAgIHNyY2Rp
ciA9IGQuZ2V0VmFyKCdTJywgVHJ1ZSkKCiAgICBmb3IgdXJsIGluIGxpY19maWxlcy5zcGxpdCgp
OgogICAgICAgICh0eXBlLCBob3N0LCBwYXRoLCB1c2VyLCBwc3dkLCBwYXJtKSA9IGJiLmRlY29k
ZXVybCh1cmwpCiAgICAgICAgc3JjbGljZmlsZSA9IG9zLnBhdGguam9pbihzcmNkaXIsIHBhdGgp
CiAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKHNyY2xpY2ZpbGUpOgogICAgICAgICAgICBy
YWlzZSBiYi5idWlsZC5GdW5jRmFpbGVkKCBwbiArICI6IExJQ19GSUxFU19DSEtTVU0gcG9pbnRz
IHRvIGFuIGludmFsaWQgZmlsZTogIiArIHNyY2xpY2ZpbGUpCgogICAgICAgIGlmICdtZDUnIG5v
dCBpbiBwYXJtOgogICAgICAgICAgICBiYi5lcnJvcihwbiArICI6IG1kNSBjaGVja3N1bSBpcyBu
b3Qgc3BlY2lmaWVkIGZvciAiLCB1cmwpCiAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAg
IGJlZ2lubGluZSwgZW5kbGluZSA9IDAsIDAKICAgICAgICBpZiAnYmVnaW5saW5lJyBpbiBwYXJt
OgogICAgICAgICAgICBiZWdpbmxpbmUgPSBpbnQocGFybVsnYmVnaW5saW5lJ10pCiAgICAgICAg
aWYgJ2VuZGxpbmUnIGluIHBhcm06CiAgICAgICAgICAgIGVuZGxpbmUgPSBpbnQocGFybVsnZW5k
bGluZSddKQoKICAgICAgICBpZiAobm90IGJlZ2lubGluZSkgYW5kIChub3QgZW5kbGluZSk6CiAg
ICAgICAgICAgIG1kNWNoa3N1bSA9IGJiLnV0aWxzLm1kNV9maWxlKHNyY2xpY2ZpbGUpCiAgICAg
ICAgZWxzZToKICAgICAgICAgICAgZmkgPSBvcGVuKHNyY2xpY2ZpbGUsICdyJykKICAgICAgICAg
ICAgZm8gPSB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUobW9kZT0nd2InLCBwcmVmaXg9J3Bv
a3kuJywgc3VmZml4PScudG1wJywgZGVsZXRlPUZhbHNlKQogICAgICAgICAgICB0bXBsaWNmaWxl
ID0gZm8ubmFtZTsKICAgICAgICAgICAgbGluZW5vID0gMAogICAgICAgICAgICBsaW5lc291dCA9
IDAKICAgICAgICAgICAgZm9yIGxpbmUgaW4gZmk6CiAgICAgICAgICAgICAgICBsaW5lbm8gKz0g
MQogICAgICAgICAgICAgICAgaWYgKGxpbmVubyA+PSBiZWdpbmxpbmUpOgogICAgICAgICAgICAg
ICAgICAgIGlmICgobGluZW5vIDw9IGVuZGxpbmUpIG9yIG5vdCBlbmRsaW5lKToKICAgICAgICAg
ICAgICAgICAgICAgICAgZm8ud3JpdGUobGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgbGlu
ZXNvdXQgKz0gMQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrCiAgICAgICAgICAgIGZvLmZsdXNoKCkKICAgICAgICAgICAgZm8uY2xvc2UoKQog
ICAgICAgICAgICBmaS5jbG9zZSgpCiAgICAgICAgICAgIG1kNWNoa3N1bSA9IGJiLnV0aWxzLm1k
NV9maWxlKHRtcGxpY2ZpbGUpCiAgICAgICAgICAgIG9zLnVubGluayh0bXBsaWNmaWxlKQoKICAg
ICAgICBpZiBwYXJtWydtZDUnXSA9PSBtZDVjaGtzdW06CiAgICAgICAgICAgIGJiLm5vdGUgKHBu
ICsgIjogbWQ1IGNoZWNrc3VtIG1hdGNoZWQgZm9yICIsIHVybCkKICAgICAgICBlbHNlOgogICAg
ICAgICAgICBiYi5lcnJvciAocG4gKyAiOiBtZDUgZGF0YSBpcyBub3QgbWF0Y2hpbmcgZm9yICIs
IHVybCkKICAgICAgICAgICAgYmIuZXJyb3IgKHBuICsgIjogVGhlIG5ldyBtZDUgY2hlY2tzdW0g
aXMgIiwgbWQ1Y2hrc3VtKQogICAgICAgICAgICBiYi5lcnJvciAocG4gKyAiOiBDaGVjayBpZiB0
aGUgbGljZW5zZSBpbmZvcm1hdGlvbiBoYXMgY2hhbmdlZCBpbiIpCiAgICAgICAgICAgIHNhbmUg
PSBGYWxzZQoKICAgIHJldHVybiBzYW5lCn0KCgpweXRob24gZG9fcGFja2FnZV9xYSAoKSB7CiAg
ICBiYi5ub3RlKCJETyBQQUNLQUdFIFFBIikKCiAgICBsb2dkaXIgPSBkLmdldFZhcignVCcsIFRy
dWUpCiAgICBwa2cgPSBkLmdldFZhcignUE4nLCBUcnVlKQoKICAgICMgQ2hlY2sgdGhlIGNvbXBp
bGUgbG9nIGZvciBob3N0IGNvbnRhbWluYXRpb24KICAgIGNvbXBpbGVsb2cgPSBvcy5wYXRoLmpv
aW4obG9nZGlyLCJsb2cuZG9fY29tcGlsZSIpCgogICAgaWYgb3MucGF0aC5leGlzdHMoY29tcGls
ZWxvZyk6CiAgICAgICAgc3RhdGVtZW50ID0gImdyZXAgLWUgJ0NST1NTIENPTVBJTEUgQmFkbmVz
czonIC1lICdpcyB1bnNhZmUgZm9yIGNyb3NzLWNvbXBpbGF0aW9uJyAlcyA+IC9kZXYvbnVsbCIg
JSBjb21waWxlbG9nCiAgICAgICAgaWYgb3Muc3lzdGVtKHN0YXRlbWVudCkgPT0gMDoKICAgICAg
ICAgICAgYmIud2FybigiJXM6IFRoZSBjb21waWxlIGxvZyBpbmRpY2F0ZXMgdGhhdCBob3N0IGlu
Y2x1ZGUgYW5kL29yIGxpYnJhcnkgcGF0aHMgd2VyZSB1c2VkLlxuIFwKICAgICAgICBQbGVhc2Ug
Y2hlY2sgdGhlIGxvZyAnJXMnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIgJSAocGtnLCBjb21waWxl
bG9nKSkKCiAgICAjIENoZWNrIHRoZSBpbnN0YWxsIGxvZyBmb3IgaG9zdCBjb250YW1pbmF0aW9u
CiAgICBpbnN0YWxsbG9nID0gb3MucGF0aC5qb2luKGxvZ2RpciwibG9nLmRvX2luc3RhbGwiKQoK
ICAgIGlmIG9zLnBhdGguZXhpc3RzKGluc3RhbGxsb2cpOgogICAgICAgIHN0YXRlbWVudCA9ICJn
cmVwIC1lICdDUk9TUyBDT01QSUxFIEJhZG5lc3M6JyAtZSAnaXMgdW5zYWZlIGZvciBjcm9zcy1j
b21waWxhdGlvbicgJXMgPiAvZGV2L251bGwiICUgaW5zdGFsbGxvZwogICAgICAgIGlmIG9zLnN5
c3RlbShzdGF0ZW1lbnQpID09IDA6CiAgICAgICAgICAgIGJiLndhcm4oIiVzOiBUaGUgaW5zdGFs
bCBsb2cgaW5kaWNhdGVzIHRoYXQgaG9zdCBpbmNsdWRlIGFuZC9vciBsaWJyYXJ5IHBhdGhzIHdl
cmUgdXNlZC5cbiBcCiAgICAgICAgUGxlYXNlIGNoZWNrIHRoZSBsb2cgJyVzJyBmb3IgbW9yZSBp
bmZvcm1hdGlvbi4iICUgKHBrZywgaW5zdGFsbGxvZykpCgogICAgIyBTY2FuIHRoZSBwYWNrYWdl
cy4uLgogICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJywgVHJ1ZSkKICAgIHBhY2thZ2Vz
ID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSkKCiAgICAjIG5vIHBhY2thZ2VzIHNob3VsZCBi
ZSBzY2FubmVkCiAgICBpZiBub3QgcGFja2FnZXM6CiAgICAgICAgcmV0dXJuCgogICAgdGVzdG1h
dHJpeCA9IGQuZ2V0VmFyRmxhZ3MoIlFBUEFUSFRFU1QiKQoKICAgIGcgPSBnbG9iYWxzKCkKICAg
IHdhbGtfc2FuZSA9IFRydWUKICAgIHJkZXBlbmRzX3NhbmUgPSBUcnVlCiAgICBmb3IgcGFja2Fn
ZSBpbiBwYWNrYWdlcy5zcGxpdCgpOgogICAgICAgIHNraXAgPSAoZC5nZXRWYXIoJ0lOU0FORV9T
S0lQXycgKyBwYWNrYWdlLCBUcnVlKSBvciAiIikuc3BsaXQoKQogICAgICAgIGlmIHNraXA6CiAg
ICAgICAgICAgIGJiLm5vdGUoIlBhY2thZ2UgJXMgc2tpcHBpbmcgUUEgdGVzdHM6ICVzIiAlIChw
YWNrYWdlLCBzdHIoc2tpcCkpKQogICAgICAgIHdhcm5jaGVja3MgPSBbXQogICAgICAgIGZvciB3
IGluIChkLmdldFZhcigiV0FSTl9RQSIsIFRydWUpIG9yICIiKS5zcGxpdCgpOgogICAgICAgICAg
ICBpZiB3IGluIHNraXA6CiAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGlmIHcg
aW4gdGVzdG1hdHJpeCBhbmQgdGVzdG1hdHJpeFt3XSBpbiBnOgogICAgICAgICAgICAgICAgd2Fy
bmNoZWNrcy5hcHBlbmQoZ1t0ZXN0bWF0cml4W3ddXSkKICAgICAgICBlcnJvcmNoZWNrcyA9IFtd
CiAgICAgICAgZm9yIGUgaW4gKGQuZ2V0VmFyKCJFUlJPUl9RQSIsIFRydWUpIG9yICIiKS5zcGxp
dCgpOgogICAgICAgICAgICBpZiBlIGluIHNraXA6CiAgICAgICAgICAgICAgIGNvbnRpbnVlCiAg
ICAgICAgICAgIGlmIGUgaW4gdGVzdG1hdHJpeCBhbmQgdGVzdG1hdHJpeFtlXSBpbiBnOgogICAg
ICAgICAgICAgICAgZXJyb3JjaGVja3MuYXBwZW5kKGdbdGVzdG1hdHJpeFtlXV0pCgogICAgICAg
IGJiLm5vdGUoIkNoZWNraW5nIFBhY2thZ2U6ICVzIiAlIHBhY2thZ2UpCiAgICAgICAgcGF0aCA9
ICIlcy8lcyIgJSAocGtnZGVzdCwgcGFja2FnZSkKICAgICAgICBpZiBub3QgcGFja2FnZV9xYV93
YWxrKHBhdGgsIHdhcm5jaGVja3MsIGVycm9yY2hlY2tzLCBza2lwLCBwYWNrYWdlLCBkKToKICAg
ICAgICAgICAgd2Fsa19zYW5lICA9IEZhbHNlCiAgICAgICAgaWYgbm90IHBhY2thZ2VfcWFfY2hl
Y2tfcmRlcGVuZHMocGFja2FnZSwgcGtnZGVzdCwgc2tpcCwgZCk6CiAgICAgICAgICAgIHJkZXBl
bmRzX3NhbmUgPSBGYWxzZQoKCiAgICBpZiBub3Qgd2Fsa19zYW5lIG9yIG5vdCByZGVwZW5kc19z
YW5lOgogICAgICAgIGJiLmZhdGFsKCJRQSBydW4gZm91bmQgZmF0YWwgZXJyb3JzLiBQbGVhc2Ug
Y29uc2lkZXIgZml4aW5nIHRoZW0uIikKICAgIGJiLm5vdGUoIkRPTkUgd2l0aCBQQUNLQUdFIFFB
IikKfQoKCnB5dGhvbiBiYXNlX3BydW5lX3N1ZmZpeCAoKSB7CmRlZiBiYXNlX3BydW5lX3N1ZmZp
eCh2YXIsIHN1ZmZpeGVzLCBkKToKICAgIHJldHVybiBvZS51dGlscy5wcnVuZV9zdWZmaXgodmFy
LCBzdWZmaXhlcywgZCkKfQoKCnB5dGhvbiByZWFkX3N1YnBhY2thZ2VfbWV0YWRhdGEgKCkgewoJ
aW1wb3J0IG9lLnBhY2thZ2VkYXRhCgoJZGF0YSA9IG9lLnBhY2thZ2VkYXRhLnJlYWRfcGtnZGF0
YShkLmdldFZhcignUE4nLCBUcnVlKSwgZCkKCglmb3Iga2V5IGluIGRhdGEua2V5cygpOgoJCWQu
c2V0VmFyKGtleSwgZGF0YVtrZXldKQoKCWZvciBwa2cgaW4gZC5nZXRWYXIoJ1BBQ0tBR0VTJywg
VHJ1ZSkuc3BsaXQoKToKCQlzZGF0YSA9IG9lLnBhY2thZ2VkYXRhLnJlYWRfc3VicGtnZGF0YShw
a2csIGQpCgkJZm9yIGtleSBpbiBzZGF0YS5rZXlzKCk6CgkJCWQuc2V0VmFyKGtleSwgc2RhdGFb
a2V5XSkKfQoKCnB5dGhvbiBwYWNrYWdlX25hbWVfaG9vayAoKSB7CgliYi5idWlsZC5leGVjX2Z1
bmMoJ2RlYmlhbl9wYWNrYWdlX25hbWVfaG9vaycsIGQpCn0KCgpweXRob24gZG9fcGFja2FnZSAo
KSB7CiAgICAgICAgIyBDaGFuZ2UgdGhlIGZvbGxvd2luZyB2ZXJzaW9uIHRvIGNhdXNlIHNzdGF0
ZSB0byBpbnZhbGlkYXRlIHRoZSBwYWNrYWdlCiAgICAgICAgIyBjYWNoZS4gIFRoaXMgaXMgdXNl
ZnVsIGlmIGFuIGl0ZW0gdGhpcyBjbGFzcyBkZXBlbmRzIG9uIGNoYW5nZXMgaW4gYQogICAgICAg
ICMgd2F5IHRoYXQgdGhlIG91dHB1dCBvZiB0aGlzIGNsYXNzIGNoYW5nZXMuICBycG1kZXBzIGlz
IGEgZ29vZCBleGFtcGxlCiAgICAgICAgIyBhcyBhbnkgY2hhbmdlIHRvIHJwbWRlcHMgcmVxdWly
ZXMgdGhpcyB0byBiZSByZXJ1bi4KICAgICAgICAjIFBBQ0tBR0VfQkJDTEFTU19WRVJTSU9OID0g
IjEiCgoJcGFja2FnZXMgPSAoZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSkgb3IgIiIpLnNwbGl0
KCkKCWlmIGxlbihwYWNrYWdlcykgPCAxOgoJCWJiLmRlYnVnKDEsICJObyBwYWNrYWdlcyB0byBi
dWlsZCwgc2tpcHBpbmcgZG9fcGFja2FnZSIpCgkJcmV0dXJuCgoJd29ya2RpciA9IGQuZ2V0VmFy
KCdXT1JLRElSJywgVHJ1ZSkKCW91dGRpciA9IGQuZ2V0VmFyKCdERVBMT1lfRElSJywgVHJ1ZSkK
CWRlc3QgPSBkLmdldFZhcignRCcsIFRydWUpCglkdmFyID0gZC5nZXRWYXIoJ1BLR0QnLCBUcnVl
KQoJcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQoKCWlmIG5vdCB3b3JrZGlyIG9yIG5vdCBvdXRk
aXIgb3Igbm90IGRlc3Qgb3Igbm90IGR2YXIgb3Igbm90IHBuIG9yIG5vdCBwYWNrYWdlczoKCQli
Yi5lcnJvcigiV09SS0RJUiwgREVQTE9ZX0RJUiwgRCwgUE4gYW5kIFBLR0QgYWxsIG11c3QgYmUg
ZGVmaW5lZCwgdW5hYmxlIHRvIHBhY2thZ2UiKQoJCXJldHVybgoKCWZvciBmIGluIChkLmdldFZh
cignUEFDS0FHRUZVTkNTJywgVHJ1ZSkgb3IgJycpLnNwbGl0KCk6CgkJYmIuYnVpbGQuZXhlY19m
dW5jKGYsIGQpCn0KCgpweXRob24gY2hlY2tfbGljZW5zZV9mbGFncyAoKSB7CmRlZiBjaGVja19s
aWNlbnNlX2ZsYWdzKGQpOgogICAgIiIiCiAgICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiBhIHJl
Y2lwZSBoYXMgYW55IExJQ0VOU0VfRkxBR3MgdGhhdAogICAgYXJlbid0IHdoaXRlbGlzdGVkLgoK
ICAgIElmIGl0IGRvZXMsIGl0IHJldHVybnMgdGhlIGZpcnN0IExJQ0VOU0VfRkxBRyBtaXNzaW5n
IGZyb20gdGhlCiAgICB3aGl0ZWxpc3QsIG9yIGFsbCB0aGUgTElDRU5TRV9GTEFHcyBpZiB0aGVy
ZSBpcyBubyB3aGl0ZWxpc3QuCgogICAgSWYgZXZlcnl0aGluZyBpcyBpcyBwcm9wZXJseSB3aGl0
ZWxpc3RlZCwgaXQgcmV0dXJucyBOb25lLgogICAgIiIiCgogICAgZGVmIGxpY2Vuc2VfZmxhZ19t
YXRjaGVzKGZsYWcsIHdoaXRlbGlzdCwgcG4pOgogICAgICAgICIiIgogICAgICAgIFJldHVybiBU
cnVlIGlmIGZsYWcgbWF0Y2hlcyBzb21ldGhpbmcgaW4gd2hpdGVsaXN0LCBOb25lIGlmIG5vdC4K
CiAgICAgICAgQmVmb3JlIHdlIHRlc3QgYSBmbGFnIGFnYWluc3QgdGhlIHdoaXRlbGlzdCwgd2Ug
YXBwZW5kIF9tZXRhLXRvb2xjaGFpbgogICAgICAgIHRvIGl0LiAgV2UgdGhlbiB0cnkgdG8gbWF0
Y2ggdGhhdCBzdHJpbmcgYWdhaW5zdCB0aGUKICAgICAgICB3aGl0ZWxpc3QuICBUaGlzIGNvdmVy
cyB0aGUgbm9ybWFsIGNhc2UsIHdoZXJlIHdlIGV4cGVjdAogICAgICAgIExJQ0VOU0VfRkxBR1Mg
dG8gYmUgYSBzaW1wbGUgc3RyaW5nIGxpa2UgJ2NvbW1lcmNpYWwnLCB3aGljaAogICAgICAgIHRo
ZSB1c2VyIHR5cGljYWxseSBtYXRjaGVzIGV4YWN0bHkgaW4gdGhlIHdoaXRlbGlzdCBieQogICAg
ICAgIGV4cGxpY2l0bHkgYXBwZW5kaW5nIHRoZSBwYWNrYWdlIG5hbWUgZS5nICdjb21tZXJjaWFs
X2ZvbycuCiAgICAgICAgSWYgd2UgZmFpbCB0aGUgbWF0Y2ggaG93ZXZlciwgd2UgdGhlbiBzcGxp
dCB0aGUgZmxhZyBhY3Jvc3MKICAgICAgICAnXycgYW5kIGFwcGVuZCBlYWNoIGZyYWdtZW50IGFu
ZCB0ZXN0IHVudGlsIHdlIGVpdGhlciBtYXRjaCBvcgogICAgICAgIHJ1biBvdXQgb2YgZnJhZ21l
bnRzLgogICAgICAgICIiIgogICAgICAgIGZsYWdfcG4gPSAoIiVzXyVzIiAlIChmbGFnLCBwbikp
CiAgICAgICAgZm9yIGNhbmRpZGF0ZSBpbiB3aGl0ZWxpc3Q6CiAgICAgICAgICAgIGlmIGZsYWdf
cG4gPT0gY2FuZGlkYXRlOgogICAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCgogICAgICAg
IGZsYWdfY3VyID0gIiIKICAgICAgICBmbGFnbWVudHMgPSBmbGFnX3BuLnNwbGl0KCJfIikKICAg
ICAgICBmbGFnbWVudHMucG9wKCkgIyB3ZSd2ZSBhbHJlYWR5IHRlc3RlZCB0aGUgZnVsbCBzdHJp
bmcKICAgICAgICBmb3IgZmxhZ21lbnQgaW4gZmxhZ21lbnRzOgogICAgICAgICAgICBpZiBmbGFn
X2N1cjoKICAgICAgICAgICAgICAgIGZsYWdfY3VyICs9ICJfIgogICAgICAgICAgICBmbGFnX2N1
ciArPSBmbGFnbWVudAogICAgICAgICAgICBmb3IgY2FuZGlkYXRlIGluIHdoaXRlbGlzdDoKICAg
ICAgICAgICAgICAgIGlmIGZsYWdfY3VyID09IGNhbmRpZGF0ZToKICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gVHJ1ZQogICAgICAgIHJldHVybiBGYWxzZQoKICAgIGRlZiBhbGxfbGljZW5zZV9m
bGFnc19tYXRjaChsaWNlbnNlX2ZsYWdzLCB3aGl0ZWxpc3QpOgogICAgICAgICIiIiBSZXR1cm4g
Zmlyc3QgdW5tYXRjaGVkIGZsYWcsIE5vbmUgaWYgYWxsIGZsYWdzIG1hdGNoICIiIgogICAgICAg
IHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKICAgICAgICBzcGxpdF93aGl0ZWxpc3QgPSB3aGl0
ZWxpc3Quc3BsaXQoKQogICAgICAgIGZvciBmbGFnIGluIGxpY2Vuc2VfZmxhZ3Muc3BsaXQoKToK
ICAgICAgICAgICAgaWYgbm90IGxpY2Vuc2VfZmxhZ19tYXRjaGVzKGZsYWcsIHNwbGl0X3doaXRl
bGlzdCwgcG4pOgogICAgICAgICAgICAgICAgcmV0dXJuIGZsYWcKICAgICAgICByZXR1cm4gTm9u
ZQoKICAgIGxpY2Vuc2VfZmxhZ3MgPSBkLmdldFZhcignTElDRU5TRV9GTEFHUycsIFRydWUpCiAg
ICBpZiBsaWNlbnNlX2ZsYWdzOgogICAgICAgIHdoaXRlbGlzdCA9IGQuZ2V0VmFyKCdMSUNFTlNF
X0ZMQUdTX1dISVRFTElTVCcsIFRydWUpCiAgICAgICAgaWYgbm90IHdoaXRlbGlzdDoKICAgICAg
ICAgICAgcmV0dXJuIGxpY2Vuc2VfZmxhZ3MKICAgICAgICB1bm1hdGNoZWRfZmxhZyA9IGFsbF9s
aWNlbnNlX2ZsYWdzX21hdGNoKGxpY2Vuc2VfZmxhZ3MsIHdoaXRlbGlzdCkKICAgICAgICBpZiB1
bm1hdGNoZWRfZmxhZzoKICAgICAgICAgICAgcmV0dXJuIHVubWF0Y2hlZF9mbGFnCiAgICByZXR1
cm4gTm9uZQp9CgoKcHl0aG9uIHBhY2thZ2VfZG9fc2hsaWJzICgpIHsKCWltcG9ydCByZSwgcGlw
ZXMKCglleGNsdWRlX3NobGlicyA9IGQuZ2V0VmFyKCdFWENMVURFX0ZST01fU0hMSUJTJywgMCkK
CWlmIGV4Y2x1ZGVfc2hsaWJzOgoJCWJiLm5vdGUoIm5vdCBnZW5lcmF0aW5nIHNobGlicyIpCgkJ
cmV0dXJuCgoJbGliX3JlID0gcmUuY29tcGlsZSgiXi4qXC5zbyIpCglsaWJkaXJfcmUgPSByZS5j
b21waWxlKCIuKi9saWIkIikKCglwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycsIFRydWUp
Cgl0YXJnZXRvcyA9IGQuZ2V0VmFyKCdUQVJHRVRfT1MnLCBUcnVlKQoKCXdvcmtkaXIgPSBkLmdl
dFZhcignV09SS0RJUicsIFRydWUpCgoJdmVyID0gZC5nZXRWYXIoJ1BLR1YnLCBUcnVlKQoJaWYg
bm90IHZlcjoKCQliYi5lcnJvcigiUEtHViBub3QgZGVmaW5lZCIpCgkJcmV0dXJuCgoJcGtnZGVz
dCA9IGQuZ2V0VmFyKCdQS0dERVNUJywgVHJ1ZSkKCglzaGxpYnNfZGlyID0gZC5nZXRWYXIoJ1NI
TElCU0RJUicsIFRydWUpCglzaGxpYnN3b3JrX2RpciA9IGQuZ2V0VmFyKCdTSExJQlNXT1JLRElS
JywgVHJ1ZSkKCgkjIFRha2Ugc2hhcmVkIGxvY2sgc2luY2Ugd2UncmUgb25seSByZWFkaW5nLCBu
b3Qgd3JpdGluZwoJbGYgPSBiYi51dGlscy5sb2NrZmlsZShkLmV4cGFuZCgiL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvcGFja2FnZS1vdXRwdXQubG9jayIp
KQoKCWRlZiBsaW51eF9zbyhyb290LCBwYXRoLCBmaWxlKToKCQluZWVkc19sZGNvbmZpZyA9IEZh
bHNlCgkJY21kID0gZC5nZXRWYXIoJ09CSkRVTVAnLCBUcnVlKSArICIgLXAgIiArIHBpcGVzLnF1
b3RlKG9zLnBhdGguam9pbihyb290LCBmaWxlKSkgKyAiIDI+L2Rldi9udWxsIgoJCWNtZCA9ICJQ
QVRIPVwiJXNcIiAlcyIgJSAoZC5nZXRWYXIoJ1BBVEgnLCBUcnVlKSwgY21kKQoJCWZkID0gb3Mu
cG9wZW4oY21kKQoJCWxpbmVzID0gZmQucmVhZGxpbmVzKCkKCQlmZC5jbG9zZSgpCgkJZm9yIGwg
aW4gbGluZXM6CgkJCW0gPSByZS5tYXRjaCgiXHMrTkVFREVEXHMrKFteXHNdKikiLCBsKQoJCQlp
ZiBtOgoJCQkJbmVlZGVkW3BrZ10uYXBwZW5kKG0uZ3JvdXAoMSkpCgkJCW0gPSByZS5tYXRjaCgi
XHMrU09OQU1FXHMrKFteXHNdKikiLCBsKQoJCQlpZiBtOgoJCQkJdGhpc19zb25hbWUgPSBtLmdy
b3VwKDEpCgkJCQlpZiBub3QgdGhpc19zb25hbWUgaW4gc29uYW1lczoKCQkJCQkjIGlmIGxpYnJh
cnkgaXMgcHJpdmF0ZSAob25seSB1c2VkIGJ5IHBhY2thZ2UpIHRoZW4gZG8gbm90IGJ1aWxkIHNo
bGliIGZvciBpdAoJCQkJCWlmIG5vdCBwcml2YXRlX2xpYnMgb3IgLTEgPT0gcHJpdmF0ZV9saWJz
LmZpbmQodGhpc19zb25hbWUpOgoJCQkJCQlzb25hbWVzLmFwcGVuZCh0aGlzX3NvbmFtZSkKCQkJ
CWlmIGxpYmRpcl9yZS5tYXRjaChyb290KToKCQkJCQluZWVkc19sZGNvbmZpZyA9IFRydWUKCQkJ
CWlmIHNuYXBfc3ltbGlua3MgYW5kIChmaWxlICE9IHRoaXNfc29uYW1lKToKCQkJCQlyZW5hbWVz
LmFwcGVuZCgob3MucGF0aC5qb2luKHJvb3QsIGZpbGUpLCBvcy5wYXRoLmpvaW4ocm9vdCwgdGhp
c19zb25hbWUpKSkKCQlyZXR1cm4gbmVlZHNfbGRjb25maWcKCglkZWYgZGFyd2luX3NvKHJvb3Qs
IHBhdGgsIGZpbGUpOgoJCWZ1bGxwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsIGZpbGUpCgkJaWYg
bm90IG9zLnBhdGguZXhpc3RzKGZ1bGxwYXRoKToKCQkJcmV0dXJuCgoJCWRlZiBnZXRfY29tYmlu
YXRpb25zKGJhc2UpOgoJCQkjCgkJCSMgR2l2ZW4gYSBiYXNlIGxpYnJhcnkgbmFtZSwgZmluZCBh
bGwgY29tYmluYXRpb25zIG9mIHRoaXMgc3BsaXQgYnkgIi4iIGFuZCAiLSIKCQkJIwoJCQljb21i
b3MgPSBbXQoJCQlvcHRpb25zID0gYmFzZS5zcGxpdCgiLiIpCgkJCWZvciBpIGluIHJhbmdlKDEs
IGxlbihvcHRpb25zKSArIDEpOgoJCQkJY29tYm9zLmFwcGVuZCgiLiIuam9pbihvcHRpb25zWzA6
aV0pKQoJCQlvcHRpb25zID0gYmFzZS5zcGxpdCgiLSIpCgkJCWZvciBpIGluIHJhbmdlKDEsIGxl
bihvcHRpb25zKSArIDEpOgoJCQkJY29tYm9zLmFwcGVuZCgiLSIuam9pbihvcHRpb25zWzA6aV0p
KQoJCQlyZXR1cm4gY29tYm9zCgoJCWlmIChmaWxlLmVuZHN3aXRoKCcuZHlsaWInKSBvciBmaWxl
LmVuZHN3aXRoKCcuc28nKSkgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kZXYnKSBhbmQgbm90IHBr
Zy5lbmRzd2l0aCgnLWRiZycpOgoJCQkjIERyb3Agc3VmZml4CgkJCW5hbWUgPSBmaWxlLnJzcGxp
dCgiLiIsMSlbMF0KCQkJIyBGaW5kIGFsbCBjb21iaW5hdGlvbnMKCQkJY29tYm9zID0gZ2V0X2Nv
bWJpbmF0aW9ucyhuYW1lKQoJCQlmb3IgY29tYm8gaW4gY29tYm9zOgoJCQkJaWYgbm90IGNvbWJv
IGluIHNvbmFtZXM6CgkJCQkJc29uYW1lcy5hcHBlbmQoY29tYm8pCgkJaWYgZmlsZS5lbmRzd2l0
aCgnLmR5bGliJykgb3IgZmlsZS5lbmRzd2l0aCgnLnNvJyk6CgkJCWxhZmlsZSA9IGZ1bGxwYXRo
LnJlcGxhY2Uob3MucGF0aC5qb2luKHBrZ2Rlc3QsIHBrZyksIGQuZ2V0VmFyKCdQS0dEJywgVHJ1
ZSkpCgkJCSMgRHJvcCBzdWZmaXgKCQkJbGFmaWxlID0gbGFmaWxlLnJzcGxpdCgiLiIsMSlbMF0K
CQkJbGFwYXRoID0gb3MucGF0aC5kaXJuYW1lKGxhZmlsZSkKCQkJbGFmaWxlID0gb3MucGF0aC5i
YXNlbmFtZShsYWZpbGUpCgkJCSMgRmluZCBhbGwgY29tYmluYXRpb25zCgkJCWNvbWJvcyA9IGdl
dF9jb21iaW5hdGlvbnMobGFmaWxlKQoJCQlmb3IgY29tYm8gaW4gY29tYm9zOgoJCQkJaWYgb3Mu
cGF0aC5leGlzdHMobGFwYXRoICsgJy8nICsgY29tYm8gKyAnLmxhJyk6CgkJCQkJYnJlYWsKCQkJ
bGFmaWxlID0gbGFwYXRoICsgJy8nICsgY29tYm8gKyAnLmxhJwoKCQkJI2JiLm5vdGUoIkZvbzI6
ICVzIiAlIGxhZmlsZSkKCQkJI2JiLm5vdGUoIkZvbyAlcyAlcyIgJSAoZmlsZSwgZnVsbHBhdGgp
KQoJCQlpZiBvcy5wYXRoLmV4aXN0cyhsYWZpbGUpOgoJCQkJZmQgPSBvcGVuKGxhZmlsZSwgJ3In
KQoJCQkJbGluZXMgPSBmZC5yZWFkbGluZXMoKQoJCQkJZmQuY2xvc2UoKQoJCQkJZm9yIGwgaW4g
bGluZXM6CgkJCQkJbSA9IHJlLm1hdGNoKCJccypkZXBlbmRlbmN5X2xpYnM9XHMqJyguKiknIiwg
bCkKCQkJCQlpZiBtOgoJCQkJCQlkZXBzID0gbS5ncm91cCgxKS5zcGxpdCgiICIpCgkJCQkJCWZv
ciBkZXAgaW4gZGVwczoKCQkJCQkJCSNiYi5ub3RlKCJUcnlpbmcgJXMgZm9yICVzIiAlIChkZXAs
IHBrZykpCgkJCQkJCQluYW1lID0gTm9uZQoJCQkJCQkJaWYgZGVwLmVuZHN3aXRoKCIubGEiKToK
CQkJCQkJCQluYW1lID0gb3MucGF0aC5iYXNlbmFtZShkZXApLnJlcGxhY2UoIi5sYSIsICIiKQoJ
CQkJCQkJZWxpZiBkZXAuc3RhcnRzd2l0aCgiLWwiKToKCQkJCQkJCQluYW1lID0gZGVwLnJlcGxh
Y2UoIi1sIiwgImxpYiIpCgkJCQkJCQlpZiBwa2cgbm90IGluIG5lZWRlZDoKCQkJCQkJCQluZWVk
ZWRbcGtnXSA9IFtdCgkJCQkJCQlpZiBuYW1lOgoJCQkJCQkJCW5lZWRlZFtwa2ddLmFwcGVuZChu
YW1lKQoJCQkJCQkJCSNiYi5ub3RlKCJBZGRpbmcgJXMgZm9yICVzIiAlIChuYW1lLCBwa2cpKQoK
CWlmIGQuZ2V0VmFyKCdQQUNLQUdFX1NOQVBfTElCX1NZTUxJTktTJywgVHJ1ZSkgPT0gIjEiOgoJ
CXNuYXBfc3ltbGlua3MgPSBUcnVlCgllbHNlOgoJCXNuYXBfc3ltbGlua3MgPSBGYWxzZQoKCWlm
IChkLmdldFZhcignVVNFX0xEQ09ORklHJywgVHJ1ZSkgb3IgIjEiKSA9PSAiMSI6CgkJdXNlX2xk
Y29uZmlnID0gVHJ1ZQoJZWxzZToKCQl1c2VfbGRjb25maWcgPSBGYWxzZQoKCW5lZWRlZCA9IHt9
CglzaGxpYl9wcm92aWRlciA9IHt9Cglmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CgkJcHJp
dmF0ZV9saWJzID0gZC5nZXRWYXIoJ1BSSVZBVEVfTElCU18nICsgcGtnLCBUcnVlKSBvciBkLmdl
dFZhcignUFJJVkFURV9MSUJTJywgVHJ1ZSkKCQluZWVkc19sZGNvbmZpZyA9IEZhbHNlCgkJYmIu
ZGVidWcoMiwgImNhbGN1bGF0aW5nIHNobGliIHByb3ZpZGVzIGZvciAlcyIgJSBwa2cpCgoJCXBr
Z3ZlciA9IGQuZ2V0VmFyKCdQS0dWXycgKyBwa2csIFRydWUpCgkJaWYgbm90IHBrZ3ZlcjoKCQkJ
cGtndmVyID0gZC5nZXRWYXIoJ1BWXycgKyBwa2csIFRydWUpCgkJaWYgbm90IHBrZ3ZlcjoKCQkJ
cGtndmVyID0gdmVyCgoJCW5lZWRlZFtwa2ddID0gW10KCQlzb25hbWVzID0gbGlzdCgpCgkJcmVu
YW1lcyA9IGxpc3QoKQoJCXRvcCA9IG9zLnBhdGguam9pbihwa2dkZXN0LCBwa2cpCgkJZm9yIHJv
b3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsodG9wKToKCQkJZm9yIGZpbGUgaW4gZmlsZXM6CgkJ
CQlzb25hbWUgPSBOb25lCgkJCQlwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsIGZpbGUpCgkJCQlp
ZiBvcy5wYXRoLmlzbGluayhwYXRoKToKCQkJCQljb250aW51ZQoJCQkJaWYgdGFyZ2V0b3MgPT0g
ImRhcndpbiIgb3IgdGFyZ2V0b3MgPT0gImRhcndpbjgiOgoJCQkJCWRhcndpbl9zbyhyb290LCBk
aXJzLCBmaWxlKQoJCQkJZWxpZiBvcy5hY2Nlc3MocGF0aCwgb3MuWF9PSykgb3IgbGliX3JlLm1h
dGNoKGZpbGUpOgoJCQkJCWxkY29uZmlnID0gbGludXhfc28ocm9vdCwgZGlycywgZmlsZSkKCQkJ
CQluZWVkc19sZGNvbmZpZyA9IG5lZWRzX2xkY29uZmlnIG9yIGxkY29uZmlnCgkJZm9yIChvbGQs
IG5ldykgaW4gcmVuYW1lczoKCQkgICAgCWJiLm5vdGUoIlJlbmFtaW5nICVzIHRvICVzIiAlIChv
bGQsIG5ldykpCgkJCW9zLnJlbmFtZShvbGQsIG5ldykKCQlzaGxpYnNfZmlsZSA9IG9zLnBhdGgu
am9pbihzaGxpYnN3b3JrX2RpciwgcGtnICsgIi5saXN0IikKCQlzaHZlcl9maWxlID0gb3MucGF0
aC5qb2luKHNobGlic3dvcmtfZGlyLCBwa2cgKyAiLnZlciIpCgkJaWYgbGVuKHNvbmFtZXMpOgoJ
CQlmZCA9IG9wZW4oc2hsaWJzX2ZpbGUsICd3JykKCQkJZm9yIHMgaW4gc29uYW1lczoKCQkJCWZk
LndyaXRlKHMgKyAnXG4nKQoJCQkJc2hsaWJfcHJvdmlkZXJbc10gPSAocGtnLCBwa2d2ZXIpCgkJ
CWZkLmNsb3NlKCkKCQkJZmQgPSBvcGVuKHNodmVyX2ZpbGUsICd3JykKCQkJZmQud3JpdGUocGtn
dmVyICsgJ1xuJykKCQkJZmQuY2xvc2UoKQoJCWlmIG5lZWRzX2xkY29uZmlnIGFuZCB1c2VfbGRj
b25maWc6CgkJCWJiLmRlYnVnKDEsICdhZGRpbmcgbGRjb25maWcgY2FsbCB0byBwb3N0aW5zdCBm
b3IgJXMnICUgcGtnKQoJCQlwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUg
cGtnLCBUcnVlKSBvciBkLmdldFZhcigncGtnX3Bvc3RpbnN0JywgVHJ1ZSkKCQkJaWYgbm90IHBv
c3RpbnN0OgoJCQkJcG9zdGluc3QgPSAnIyEvYmluL3NoXG4nCgkJCXBvc3RpbnN0ICs9IGQuZ2V0
VmFyKCdsZGNvbmZpZ19wb3N0aW5zdF9mcmFnbWVudCcsIFRydWUpCgkJCWQuc2V0VmFyKCdwa2df
cG9zdGluc3RfJXMnICUgcGtnLCBwb3N0aW5zdCkKCglsaXN0X3JlID0gcmUuY29tcGlsZSgnXigu
KilcLmxpc3QkJykKCWZvciBkaXIgaW4gW3NobGlic19kaXJdOgoJCWlmIG5vdCBvcy5wYXRoLmV4
aXN0cyhkaXIpOgoJCQljb250aW51ZQoJCWZvciBmaWxlIGluIG9zLmxpc3RkaXIoZGlyKToKCQkJ
bSA9IGxpc3RfcmUubWF0Y2goZmlsZSkKCQkJaWYgbToKCQkJCWRlcF9wa2cgPSBtLmdyb3VwKDEp
CgkJCQlmZCA9IG9wZW4ob3MucGF0aC5qb2luKGRpciwgZmlsZSkpCgkJCQlsaW5lcyA9IGZkLnJl
YWRsaW5lcygpCgkJCQlmZC5jbG9zZSgpCgkJCQl2ZXJfZmlsZSA9IG9zLnBhdGguam9pbihkaXIs
IGRlcF9wa2cgKyAnLnZlcicpCgkJCQlsaWJfdmVyID0gTm9uZQoJCQkJaWYgb3MucGF0aC5leGlz
dHModmVyX2ZpbGUpOgoJCQkJCWZkID0gb3Blbih2ZXJfZmlsZSkKCQkJCQlsaWJfdmVyID0gZmQu
cmVhZGxpbmUoKS5yc3RyaXAoKQoJCQkJCWZkLmNsb3NlKCkKCQkJCWZvciBsIGluIGxpbmVzOgoJ
CQkJCXNobGliX3Byb3ZpZGVyW2wucnN0cmlwKCldID0gKGRlcF9wa2csIGxpYl92ZXIpCgoJYmIu
dXRpbHMudW5sb2NrZmlsZShsZikKCglhc3N1bWVkX2xpYnMgPSBkLmdldFZhcignQVNTVU1FX1NI
TElCUycsIFRydWUpCglpZiBhc3N1bWVkX2xpYnM6CgkgICAgZm9yIGUgaW4gYXNzdW1lZF9saWJz
LnNwbGl0KCk6CgkJbCwgZGVwX3BrZyA9IGUuc3BsaXQoIjoiKQoJCWxpYl92ZXIgPSBOb25lCgkJ
ZGVwX3BrZyA9IGRlcF9wa2cucnNwbGl0KCJfIiwgMSkKCQlpZiBsZW4oZGVwX3BrZykgPT0gMjoK
CQkgICAgbGliX3ZlciA9IGRlcF9wa2dbMV0KCQlkZXBfcGtnID0gZGVwX3BrZ1swXQoJCXNobGli
X3Byb3ZpZGVyW2xdID0gKGRlcF9wa2csIGxpYl92ZXIpCgoJZm9yIHBrZyBpbiBwYWNrYWdlcy5z
cGxpdCgpOgoJCWJiLmRlYnVnKDIsICJjYWxjdWxhdGluZyBzaGxpYiByZXF1aXJlbWVudHMgZm9y
ICVzIiAlIHBrZykKCgkJZGVwcyA9IGxpc3QoKQoJCWZvciBuIGluIG5lZWRlZFtwa2ddOgoJCQlp
ZiBuIGluIHNobGliX3Byb3ZpZGVyLmtleXMoKToKCQkJCShkZXBfcGtnLCB2ZXJfbmVlZGVkKSA9
IHNobGliX3Byb3ZpZGVyW25dCgoJCQkJaWYgZGVwX3BrZyA9PSBwa2c6CgkJCQkJY29udGludWUK
CgkJCQlpZiB2ZXJfbmVlZGVkOgoJCQkJCWRlcCA9ICIlcyAoPj0gJXMpIiAlIChkZXBfcGtnLCB2
ZXJfbmVlZGVkKQoJCQkJZWxzZToKCQkJCQlkZXAgPSBkZXBfcGtnCgkJCQlpZiBub3QgZGVwIGlu
IGRlcHM6CgkJCQkJZGVwcy5hcHBlbmQoZGVwKQoJCQllbHNlOgoJCQkJYmIubm90ZSgiQ291bGRu
J3QgZmluZCBzaGFyZWQgbGlicmFyeSBwcm92aWRlciBmb3IgJXMiICUgbikKCgkJZGVwc19maWxl
ID0gb3MucGF0aC5qb2luKHBrZ2Rlc3QsIHBrZyArICIuc2hsaWJkZXBzIikKCQlpZiBvcy5wYXRo
LmV4aXN0cyhkZXBzX2ZpbGUpOgoJCQlvcy5yZW1vdmUoZGVwc19maWxlKQoJCWlmIGxlbihkZXBz
KToKCQkJZmQgPSBvcGVuKGRlcHNfZmlsZSwgJ3cnKQoJCQlmb3IgZGVwIGluIGRlcHM6CgkJCQlm
ZC53cml0ZShkZXAgKyAnXG4nKQoJCQlmZC5jbG9zZSgpCn0KCgpweXRob24gYmFzZV9jb250YWlu
cyAoKSB7CmRlZiBiYXNlX2NvbnRhaW5zKHZhcmlhYmxlLCBjaGVja3ZhbHVlcywgdHJ1ZXZhbHVl
LCBmYWxzZXZhbHVlLCBkKToKICAgIHJldHVybiBvZS51dGlscy5jb250YWlucyh2YXJpYWJsZSwg
Y2hlY2t2YWx1ZXMsIHRydWV2YWx1ZSwgZmFsc2V2YWx1ZSwgZCkKfQoKCnB5dGhvbiBwYWNrYWdl
X3FhX2NoZWNrX3Blcm0gKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19wZXJtKHBhdGgsbmFtZSxk
LCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgdGhlIHBlcm1pc3Npb24gb2YgZmls
ZXMKICAgICIiIgogICAgcmV0dXJuCn0KCgpweXRob24gb2VfaW1wb3J0ICgpIHsKZGVmIG9lX2lt
cG9ydChkKToKICAgIGltcG9ydCBvcywgc3lzCgogICAgYmJwYXRoID0gZC5nZXRWYXIoIkJCUEFU
SCIsIFRydWUpLnNwbGl0KCI6IikKICAgIHN5cy5wYXRoWzA6MF0gPSBbb3MucGF0aC5qb2luKGRp
ciwgImxpYiIpIGZvciBkaXIgaW4gYmJwYXRoXQoKICAgIGRlZiBpbmplY3QobmFtZSwgdmFsdWUp
OgogICAgICAgICIiIk1ha2UgYSBweXRob24gb2JqZWN0IGFjY2Vzc2libGUgZnJvbSB0aGUgbWV0
YWRhdGEiIiIKICAgICAgICBpZiBoYXNhdHRyKGJiLnV0aWxzLCAiX2NvbnRleHQiKToKICAgICAg
ICAgICAgYmIudXRpbHMuX2NvbnRleHRbbmFtZV0gPSB2YWx1ZQogICAgICAgIGVsc2U6CiAgICAg
ICAgICAgIF9fYnVpbHRpbnNfX1tuYW1lXSA9IHZhbHVlCgogICAgaW1wb3J0IG9lLmRhdGEKICAg
IGZvciB0b2ltcG9ydCBpbiBvZS5kYXRhLnR5cGVkX3ZhbHVlKCJPRV9JTVBPUlRTIiwgZCk6CiAg
ICAgICAgaW1wb3J0ZWQgPSBfX2ltcG9ydF9fKHRvaW1wb3J0KQogICAgICAgIGluamVjdCh0b2lt
cG9ydC5zcGxpdCgiLiIsIDEpWzBdLCBpbXBvcnRlZCkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX3dh
bGsgKCkgewpkZWYgcGFja2FnZV9xYV93YWxrKHBhdGgsIHdhcm5mdW5jcywgZXJyb3JmdW5jcywg
c2tpcCwgcGFja2FnZSwgZCk6CiAgICBpbXBvcnQgb2UucWEKCiAgICAjaWYgdGhpcyB3aWxsIHRo
cm93IGFuIGV4Y2VwdGlvbiwgdGhlbiBmaXggdGhlIGRpY3QgYWJvdmUKICAgIHRhcmdldF9vcyAg
ID0gZC5nZXRWYXIoJ1RBUkdFVF9PUycsIFRydWUpCiAgICB0YXJnZXRfYXJjaCA9IGQuZ2V0VmFy
KCdUQVJHRVRfQVJDSCcsIFRydWUpCgogICAgd2FybmluZ3MgPSBbXQogICAgZXJyb3JzID0gW10K
ICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHBhdGgpOgogICAgICAgIGZvciBm
aWxlIGluIGZpbGVzOgogICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsZmlsZSkK
ICAgICAgICAgICAgZWxmID0gb2UucWEuRUxGRmlsZShwYXRoKQogICAgICAgICAgICB0cnk6CiAg
ICAgICAgICAgICAgICBlbGYub3BlbigpCiAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAg
ICAgIGVsZiA9IE5vbmUKICAgICAgICAgICAgZm9yIGZ1bmMgaW4gd2FybmZ1bmNzOgogICAgICAg
ICAgICAgICAgZnVuYyhwYXRoLCBwYWNrYWdlLCBkLCBlbGYsIHdhcm5pbmdzKQogICAgICAgICAg
ICBmb3IgZnVuYyBpbiBlcnJvcmZ1bmNzOgogICAgICAgICAgICAgICAgZnVuYyhwYXRoLCBwYWNr
YWdlLCBkLCBlbGYsIGVycm9ycykKCiAgICBmb3IgdyBpbiB3YXJuaW5nczoKICAgICAgICBiYi53
YXJuKCJRQSBJc3N1ZTogJXMiICUgdykKICAgICAgICBwYWNrYWdlX3FhX3dyaXRlX2Vycm9yKHcs
IGQpCiAgICBmb3IgZSBpbiBlcnJvcnM6CiAgICAgICAgYmIuZXJyb3IoIlFBIElzc3VlOiAlcyIg
JSBlKQogICAgICAgIHBhY2thZ2VfcWFfd3JpdGVfZXJyb3IoZSwgZCkKCiAgICByZXR1cm4gbGVu
KGVycm9ycykgPT0gMAp9CgoKcHl0aG9uIHJldHVybl9zcGR4ICgpIHsKZGVmIHJldHVybl9zcGR4
KGQsIGxpY2Vuc2UpOgogICAgIiIiCiAgICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHNwZHgg
bWFwcGluZyBvZiBhIGxpY2Vuc2UuCiAgICAiIiIKICAgIGlmIGQuZ2V0VmFyRmxhZygnU1BEWExJ
Q0VOU0VNQVAnLCBsaWNlbnNlKSAhPSBOb25lOgogICAgICAgIHJldHVybiBsaWNlbnNlCiAgICBl
bHNlOgogICAgICAgIHJldHVybiBkLmdldFZhckZsYWcoJ1NQRFhMSUNFTlNFTUFQJywgbGljZW5z
ZV90eXBlKQp9CgoKcHl0aG9uIGRvX3VucGFjayAoKSB7CgliYi5idWlsZC5leGVjX2Z1bmMoJ2Jh
c2VfZG9fdW5wYWNrJywgZCkKfQoKCnB5dGhvbiBydW5zdHJpcCAoKSB7CmRlZiBydW5zdHJpcChm
aWxlLCBlbGZ0eXBlLCBkKToKICAgICMgRnVuY3Rpb24gdG8gc3RyaXAgYSBzaW5nbGUgZmlsZSwg
Y2FsbGVkIGZyb20gc3BsaXRfYW5kX3N0cmlwX2ZpbGVzIGJlbG93CiAgICAjIEEgd29ya2luZyAn
ZmlsZScgKG9uZSB3aGljaCB3b3JrcyBvbiB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZSkKICAgICMK
ICAgICMgVGhlIGVsZnR5cGUgaXMgYSBiaXQgcGF0dGVybiAoZXhwbGFpbmVkIGluIHNwbGl0X2Fu
ZF9zdHJpcF9maWxlcykgdG8gdGVsbAogICAgIyB1cyB3aGF0IHR5cGUgb2YgZmlsZSB3ZSdyZSBw
cm9jZXNzaW5nLi4uCiAgICAjIDQgLSBleGVjdXRhYmxlCiAgICAjIDggLSBzaGFyZWQgbGlicmFy
eQoKICAgIGltcG9ydCBjb21tYW5kcywgc3RhdAoKICAgIHBhdGhwcmVmaXggPSAiZXhwb3J0IFBB
VEg9JXM7ICIgJSBkLmdldFZhcignUEFUSCcsIFRydWUpCiAgICBzdHJpcCA9IGQuZ2V0VmFyKCJT
VFJJUCIsIFRydWUpCgogICAgIyBIYW5kbGUga2VybmVsIG1vZHVsZXMgc3BlY2lmaWNhbGx5IC0g
LmRlYnVnIGRpcmVjdG9yaWVzIGhlcmUgYXJlIHBvaW50bGVzcwogICAgaWYgZmlsZS5maW5kKCIv
bGliL21vZHVsZXMvIikgIT0gLTEgYW5kIGZpbGUuZW5kc3dpdGgoIi5rbyIpOgogICAgICAgIHJl
dHVybiBvcy5zeXN0ZW0oIiVzJyVzJyAtLXN0cmlwLWRlYnVnIC0tcmVtb3ZlLXNlY3Rpb249LmNv
bW1lbnQgLS1yZW1vdmUtc2VjdGlvbj0ubm90ZSAtLXByZXNlcnZlLWRhdGVzICclcyciICUgKHBh
dGhwcmVmaXgsIHN0cmlwLCBmaWxlKSkKCiAgICBuZXdtb2RlID0gTm9uZQogICAgaWYgbm90IG9z
LmFjY2VzcyhmaWxlLCBvcy5XX09LKSBvciBvcy5hY2Nlc3MoZmlsZSwgb3MuUl9PSyk6CiAgICAg
ICAgb3JpZ21vZGUgPSBvcy5zdGF0KGZpbGUpW3N0YXQuU1RfTU9ERV0KICAgICAgICBuZXdtb2Rl
ID0gb3JpZ21vZGUgfCBzdGF0LlNfSVdSSVRFIHwgc3RhdC5TX0lSRUFECiAgICAgICAgb3MuY2ht
b2QoZmlsZSwgbmV3bW9kZSkKCiAgICBleHRyYWZsYWdzID0gIiIKICAgICMgLnNvIGFuZCBzaGFy
ZWQgbGlicmFyeQogICAgaWYgIi5zbyIgaW4gZmlsZSBhbmQgZWxmdHlwZSAmIDg6CiAgICAgICAg
ZXh0cmFmbGFncyA9ICItLXJlbW92ZS1zZWN0aW9uPS5jb21tZW50IC0tcmVtb3ZlLXNlY3Rpb249
Lm5vdGUgLS1zdHJpcC11bm5lZWRlZCIKICAgICMgc2hhcmVkIG9yIGV4ZWN1dGFibGU6CiAgICBl
bGlmIGVsZnR5cGUgJiA4IG9yIGVsZnR5cGUgJiA0OgogICAgICAgIGV4dHJhZmxhZ3MgPSAiLS1y
ZW1vdmUtc2VjdGlvbj0uY29tbWVudCAtLXJlbW92ZS1zZWN0aW9uPS5ub3RlIgoKICAgIHN0cmlw
Y21kID0gIiclcycgJXMgJyVzJyIgJSAoc3RyaXAsIGV4dHJhZmxhZ3MsIGZpbGUpCiAgICBiYi5k
ZWJ1ZygxLCAicnVuc3RyaXA6ICVzIiAlIHN0cmlwY21kKQoKICAgIHJldCA9IG9zLnN5c3RlbSgi
JXMlcyIgJSAocGF0aHByZWZpeCwgc3RyaXBjbWQpKQoKICAgIGlmIG5ld21vZGU6CiAgICAgICAg
b3MuY2htb2QoZmlsZSwgb3JpZ21vZGUpCgogICAgaWYgcmV0OgogICAgICAgIGJiLmVycm9yKCJy
dW5zdHJpcDogJyVzJyBzdHJpcCBjb21tYW5kIGZhaWxlZCIgJSBzdHJpcGNtZCkKCiAgICByZXR1
cm4gMAp9CgoKcHl0aG9uIGNoZWNrX3Nhbml0eV92YWxpZG1hY2hpbmUgKCkgewpkZWYgY2hlY2tf
c2FuaXR5X3ZhbGlkbWFjaGluZShlKToKICAgIGZyb20gYmIgaW1wb3J0IGRhdGEKCiAgICBtZXNz
YWdlcyA9ICIiCgogICAgIyBDaGVjayBUVU5FX0FSQ0ggaXMgc2V0CiAgICBpZiBkYXRhLmdldFZh
cignVFVORV9BUkNIJywgZS5kYXRhLCBUcnVlKSA9PSAnSU5WQUxJRCc6CiAgICAgICAgbWVzc2Fn
ZXMgPSBtZXNzYWdlcyArICdUVU5FX0FSQ0ggaXMgdW5zZXQuIFBsZWFzZSBlbnN1cmUgeW91ciBN
QUNISU5FIGNvbmZpZ3VyYXRpb24gaW5jbHVkZXMgYSB2YWxpZCB0dW5lIGNvbmZpZ3VyYXRpb24g
ZmlsZSB3aGljaCB3aWxsIHNldCB0aGlzIGNvcnJlY3RseS5cbicKCiAgICAjIENoZWNrIFRBUkdF
VF9BUkNIIGlzIHNldCBjb3JyZWN0bHkKICAgIGlmIGRhdGEuZ2V0VmFyKCdUQVJHRV9BUkNIJywg
ZS5kYXRhLCBGYWxzZSkgPT0gJ2k1ODYnOgogICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAn
VEFSR0VUX0FSQ0ggaXMgYmVpbmcgb3ZlcndyaXR0ZW4sIGxpa2VseSBieSB5b3VyIE1BQ0hJTkUg
Y29uZmlndXJhdGlvbiBmaWxlcy5cblBsZWFzZSB1c2UgYSB2YWxpZCB0dW5lIGNvbmZpZ3VyYXRp
b24gZmlsZSB3aGljaCBzaG91bGQgc2V0IHRoaXMgY29ycmVjdGx5IGF1dG9tYXRpY2FsbHlcbmFu
ZCBhdm9pZCBzZXR0aW5nIHRoaXMgaW4gdGhlIG1hY2hpbmUgY29uZmlndXJhdGlvbi4gU2VlIHRo
ZSBPRS1Db3JlIG1haWxpbmcgbGlzdCBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbicKCiAgICAjIENo
ZWNrIFRBUkdFVF9PUyBpcyBzZXQKICAgIGlmIGRhdGEuZ2V0VmFyKCdUQVJHRVRfT1MnLCBlLmRh
dGEsIFRydWUpID09ICdJTlZBTElEJzoKICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgJ1Bs
ZWFzZSBzZXQgVEFSR0VUX09TIGRpcmVjdGx5LCBvciBjaG9vc2UgYSBNQUNISU5FIG9yIERJU1RS
TyB0aGF0IGRvZXMgc28uXG4nCgogICAgIyBDaGVjayB0aGF0IHdlIGRvbid0IGhhdmUgZHVwbGlj
YXRlIGVudHJpZXMgaW4gUEFDS0FHRV9BUkNIUyAmIHRoYXQgVFVORV9QS0dBUkNIIGlzIGluIFBB
Q0tBR0VfQVJDSFMKICAgIHBrZ2FyY2hzID0gZGF0YS5nZXRWYXIoJ1BBQ0tBR0VfQVJDSFMnLCBl
LmRhdGEsIFRydWUpCiAgICB0dW5lcGtnID0gZGF0YS5nZXRWYXIoJ1RVTkVfUEtHQVJDSCcsIGUu
ZGF0YSwgVHJ1ZSkKICAgIHR1bmVmb3VuZCA9IEZhbHNlCiAgICBzZWVuID0ge30KICAgIGR1cHMg
PSBbXQoKICAgIGZvciBwYSBpbiBwa2dhcmNocy5zcGxpdCgpOgogICAgICAgIGlmIHNlZW4uZ2V0
KHBhLCAwKSA9PSAxOgogICAgICAgICAgICBkdXBzLmFwcGVuZChwYSkKICAgICAgICBlbHNlOgog
ICAgICAgICAgICBzZWVuW3BhXSA9IDEKICAgICAgICBpZiBwYSA9PSB0dW5lcGtnOgogICAgICAg
ICAgICB0dW5lZm91bmQgPSBUcnVlCgogICAgaWYgbGVuKGR1cHMpOgogICAgICAgbWVzc2FnZXMg
PSBtZXNzYWdlcyArICJFcnJvciwgdGhlIFBBQ0tBR0VfQVJDSFMgdmFyaWFibGUgY29udGFpbnMg
ZHVwbGljYXRlcy4gVGhlIGZvbGxvd2luZyBhcmNocyBhcmUgbGlzdGVkIG1vcmUgdGhhbiBvbmNl
OiAlcyIgJSAiICIuam9pbihkdXBzKQoKICAgIGlmIHR1bmVmb3VuZCA9PSBGYWxzZToKICAgICAg
IG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAiRXJyb3IsIHRoZSBQQUNLQUdFX0FSQ0hTIHZhcmlhYmxl
IGRvZXMgbm90IGNvbnRhaW4gVFVORV9QS0dBUkNIICglcykuIiAlIHR1bmVwa2cKCiAgICByZXR1
cm4gbWVzc2FnZXMKCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19kZXNrdG9wICgpIHsKZGVm
IHBhY2thZ2VfcWFfY2hlY2tfZGVza3RvcChwYXRoLCBuYW1lLCBkLCBlbGYsIG1lc3NhZ2VzKToK
ICAgICIiIgogICAgUnVuIGFsbCBkZXNrdG9wIGZpbGVzIHRocm91Z2ggZGVza3RvcC1maWxlLXZh
bGlkYXRlLgogICAgIiIiCiAgICBpZiBwYXRoLmVuZHN3aXRoKCIuZGVza3RvcCIpOgogICAgICAg
IGRlc2t0b3BfZmlsZV92YWxpZGF0ZSA9IG9zLnBhdGguam9pbihkLmdldFZhcignU1RBR0lOR19C
SU5ESVJfTkFUSVZFJyxUcnVlKSwnZGVza3RvcC1maWxlLXZhbGlkYXRlJykKICAgICAgICBvdXRw
dXQgPSBvcy5wb3BlbigiJXMgJXMiICUgKGRlc2t0b3BfZmlsZV92YWxpZGF0ZSwgcGF0aCkpCiAg
ICAgICAgIyBUaGlzIG9ubHkgcHJvZHVjZXMgb3V0cHV0IG9uIGVycm9ycwogICAgICAgIGZvciBs
IGluIG91dHB1dDoKICAgICAgICAgICAgbWVzc2FnZXMuYXBwZW5kKCJEZXNrdG9wIGZpbGUgaXNz
dWU6ICIgKyBsLnN0cmlwKCkpCn0KCgpweXRob24gc3JjX3BhdGNoZXMgKCkgewpkZWYgc3JjX3Bh
dGNoZXMoZCwgYWxsID0gRmFsc2UgKToKCXdvcmtkaXIgPSBkLmdldFZhcignV09SS0RJUicsIFRy
dWUpCglmZXRjaCA9IGJiLmZldGNoMi5GZXRjaChbXSwgZCkKCXBhdGNoZXMgPSBbXQoJc291cmNl
cyA9IFtdCglmb3IgdXJsIGluIGZldGNoLnVybHM6CgkJbG9jYWwgPSBwYXRjaF9wYXRoKHVybCwg
ZmV0Y2gsIHdvcmtkaXIpCgkJaWYgbm90IGxvY2FsOgoJCQlpZiBhbGw6CgkJCQlsb2NhbCA9IGZl
dGNoLmxvY2FscGF0aCh1cmwpCgkJCQlzb3VyY2VzLmFwcGVuZChsb2NhbCkKCQkJY29udGludWUK
CgkJdXJsZGF0YSA9IGZldGNoLnVkW3VybF0KCQlwYXJtID0gdXJsZGF0YS5wYXJtCgkJcGF0Y2hu
YW1lID0gcGFybS5nZXQoJ3BuYW1lJykgb3Igb3MucGF0aC5iYXNlbmFtZShsb2NhbCkKCgkJYXBw
bHksIHJlYXNvbiA9IHNob3VsZF9hcHBseShwYXJtLCBkKQoJCWlmIG5vdCBhcHBseToKCQkJaWYg
cmVhc29uOgoJCQkJYmIubm90ZSgiUGF0Y2ggJXMgJXMiICUgKHBhdGNobmFtZSwgcmVhc29uKSkK
CQkJY29udGludWUKCgkJcGF0Y2hwYXJtID0geydwYXRjaG5hbWUnOiBwYXRjaG5hbWV9CgkJaWYg
InN0cmlwbGV2ZWwiIGluIHBhcm06CgkJCXN0cmlwbGV2ZWwgPSBwYXJtWyJzdHJpcGxldmVsIl0K
CQllbGlmICJwbnVtIiBpbiBwYXJtOgoJCQkjYmIubXNnLndhcm4oTm9uZSwgIkRlcHJlY2F0ZWQg
dXNhZ2Ugb2YgJ3BudW0nIHVybCBwYXJhbWV0ZXIgaW4gJyVzJywgcGxlYXNlIHVzZSAnc3RyaXBs
ZXZlbCciICUgdXJsKQoJCQlzdHJpcGxldmVsID0gcGFybVsicG51bSJdCgkJZWxzZToKCQkJc3Ry
aXBsZXZlbCA9ICcxJwoJCXBhdGNocGFybVsnc3RyaXBsZXZlbCddID0gc3RyaXBsZXZlbAoKCQlw
YXRjaGRpciA9IHBhcm0uZ2V0KCdwYXRjaGRpcicpCgkJaWYgcGF0Y2hkaXI6CgkJCXBhdGNocGFy
bVsncGF0Y2hkaXInXSA9IHBhdGNoZGlyCgoJCWxvY2FsdXJsID0gYmIuZW5jb2RldXJsKCgnZmls
ZScsICcnLCBsb2NhbCwgJycsICcnLCBwYXRjaHBhcm0pKQoJCXBhdGNoZXMuYXBwZW5kKGxvY2Fs
dXJsKQoKCWlmIGFsbDoKCQlyZXR1cm4gc291cmNlcwoKCXJldHVybiBwYXRjaGVzCn0KCgpweXRo
b24gcGFja2FnZV9xYV9oYXNoX3N0eWxlICgpIHsKZGVmIHBhY2thZ2VfcWFfaGFzaF9zdHlsZShw
YXRoLCBuYW1lLCBkLCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgaWYgdGhlIGJp
bmFyeSBoYXMgdGhlIHJpZ2h0IGhhc2ggc3R5bGUuLi4KICAgICIiIgoKICAgIGlmIG5vdCBlbGY6
CiAgICAgICAgcmV0dXJuCgogICAgaWYgb3MucGF0aC5pc2xpbmsocGF0aCk6CiAgICAgICAgcmV0
dXJuCgogICAgZ251X2hhc2ggPSAiLS1oYXNoLXN0eWxlPWdudSIgaW4gZC5nZXRWYXIoJ0xERkxB
R1MnLCBUcnVlKQogICAgaWYgbm90IGdudV9oYXNoOgogICAgICAgIGdudV9oYXNoID0gIi0taGFz
aC1zdHlsZT1ib3RoIiBpbiBkLmdldFZhcignTERGTEFHUycsIFRydWUpCiAgICBpZiBub3QgZ251
X2hhc2g6CiAgICAgICAgcmV0dXJuCgogICAgb2JqZHVtcCA9IGQuZ2V0VmFyKCdPQkpEVU1QJywg
VHJ1ZSkKICAgIGVudl9wYXRoID0gZC5nZXRWYXIoJ1BBVEgnLCBUcnVlKQoKICAgIHNhbmUgPSBG
YWxzZQogICAgaGFzX3N5bXMgPSBGYWxzZQoKICAgICMgSWYgdGhpcyBiaW5hcnkgaGFzIHN5bWJv
bHMsIHdlIGV4cGVjdCBpdCB0byBoYXZlIEdOVV9IQVNIIHRvby4KICAgIGZvciBsaW5lIGluIG9z
LnBvcGVuKCJMQ19BTEw9QyBQQVRIPSVzICVzIC1wICclcycgMj4gL2Rldi9udWxsIiAlIChlbnZf
cGF0aCwgb2JqZHVtcCwgcGF0aCksICJyIik6CiAgICAgICAgaWYgIlNZTVRBQiIgaW4gbGluZToK
ICAgICAgICAgICAgaGFzX3N5bXMgPSBUcnVlCiAgICAgICAgaWYgIkdOVV9IQVNIIiBpbiBsaW5l
OgogICAgICAgICAgICBzYW5lID0gVHJ1ZQogICAgICAgIGlmICJbbWlwczMyXSIgaW4gbGluZSBv
ciAiW21pcHM2NF0iIGluIGxpbmU6CgkgICAgc2FuZSA9IFRydWUKCiAgICBpZiBoYXNfc3ltcyBh
bmQgbm90IHNhbmU6CiAgICAgICAgbWVzc2FnZXMuYXBwZW5kKCJObyBHTlVfSEFTSCBpbiB0aGUg
ZWxmIGJpbmFyeTogJyVzJyIgJSBwYXRoKQoKfQoKCnB5dGhvbiBzaG91bGRfYXBwbHkgKCkgewpk
ZWYgc2hvdWxkX2FwcGx5KHBhcm0sIGQpOgoJIiIiRGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBhcHBs
eSB0aGUgZ2l2ZW4gcGF0Y2giIiIKCglpZiAibWluZGF0ZSIgaW4gcGFybSBvciAibWF4ZGF0ZSIg
aW4gcGFybToKCQlwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCgkJc3JjZGF0ZSA9IGQuZ2V0VmFy
KCdTUkNEQVRFXyVzJyAlIHBuLCBUcnVlKQoJCWlmIG5vdCBzcmNkYXRlOgoJCQlzcmNkYXRlID0g
ZC5nZXRWYXIoJ1NSQ0RBVEUnLCBUcnVlKQoKCQlpZiBzcmNkYXRlID09ICJub3ciOgoJCQlzcmNk
YXRlID0gZC5nZXRWYXIoJ0RBVEUnLCBUcnVlKQoKCQlpZiAibWF4ZGF0ZSIgaW4gcGFybSBhbmQg
cGFybVsibWF4ZGF0ZSJdIDwgc3JjZGF0ZToKCQkJcmV0dXJuIEZhbHNlLCAnaXMgb3V0ZGF0ZWQn
CgoJCWlmICJtaW5kYXRlIiBpbiBwYXJtIGFuZCBwYXJtWyJtaW5kYXRlIl0gPiBzcmNkYXRlOgoJ
CQlyZXR1cm4gRmFsc2UsICdpcyBwcmVkYXRlZCcKCgoJaWYgIm1pbnJldiIgaW4gcGFybToKCQlz
cmNyZXYgPSBkLmdldFZhcignU1JDUkVWJywgVHJ1ZSkKCQlpZiBzcmNyZXYgYW5kIHNyY3JldiA8
IHBhcm1bIm1pbnJldiJdOgoJCQlyZXR1cm4gRmFsc2UsICdhcHBsaWVzIHRvIGxhdGVyIHJldmlz
aW9ucycKCglpZiAibWF4cmV2IiBpbiBwYXJtOgoJCXNyY3JldiA9IGQuZ2V0VmFyKCdTUkNSRVYn
LCBUcnVlKQoJCWlmIHNyY3JldiBhbmQgc3JjcmV2ID4gcGFybVsibWF4cmV2Il06CgkJCXJldHVy
biBGYWxzZSwgJ2FwcGxpZXMgdG8gZWFybGllciByZXZpc2lvbnMnCgoJaWYgInJldiIgaW4gcGFy
bToKCQlzcmNyZXYgPSBkLmdldFZhcignU1JDUkVWJywgVHJ1ZSkKCQlpZiBzcmNyZXYgYW5kIHBh
cm1bInJldiJdIG5vdCBpbiBzcmNyZXY6CgkJCXJldHVybiBGYWxzZSwgImRvZXNuJ3QgYXBwbHkg
dG8gcmV2aXNpb24iCgoJaWYgIm5vdHJldiIgaW4gcGFybToKCQlzcmNyZXYgPSBkLmdldFZhcign
U1JDUkVWJywgVHJ1ZSkKCQlpZiBzcmNyZXYgYW5kIHBhcm1bIm5vdHJldiJdIGluIHNyY3JldjoK
CQkJcmV0dXJuIEZhbHNlLCAiZG9lc24ndCBhcHBseSB0byByZXZpc2lvbiIKCglyZXR1cm4gVHJ1
ZSwgTm9uZQp9CgoKcHl0aG9uIGJhc2VfZG9fdW5wYWNrICgpIHsKCXNyY191cmkgPSAoZC5nZXRW
YXIoJ1NSQ19VUkknLCBUcnVlKSBvciAiIikuc3BsaXQoKQoJaWYgbGVuKHNyY191cmkpID09IDA6
CgkJcmV0dXJuCgoJbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCgliYi5kYXRhLnVw
ZGF0ZV9kYXRhKGxvY2FsZGF0YSkKCglyb290ZGlyID0gbG9jYWxkYXRhLmdldFZhcignV09SS0RJ
UicsIFRydWUpCgogICAgICAgIHRyeToKICAgICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5G
ZXRjaChzcmNfdXJpLCBsb2NhbGRhdGEpCiAgICAgICAgICAgIGZldGNoZXIudW5wYWNrKHJvb3Rk
aXIpCiAgICAgICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9uLCBlOgogICAgICAg
ICAgICByYWlzZSBiYi5idWlsZC5GdW5jRmFpbGVkKGUpCn0KCgpweXRob24gZG9fcG9wdWxhdGVf
c3lzcm9vdF9zZXRzY2VuZSAoKSB7Cglzc3RhdGVfc2V0c2NlbmUoZCkKfQoKCnB5dGhvbiBnZXRf
bGF5ZXJzX2JyYW5jaF9yZXYgKCkgewpkZWYgZ2V0X2xheWVyc19icmFuY2hfcmV2KGQpOgoJbGF5
ZXJzID0gKGQuZ2V0VmFyKCJCQkxBWUVSUyIsIFRydWUpIG9yICIiKS5zcGxpdCgpCglsYXllcnNf
YnJhbmNoX3JldiA9IFsiJS0xN3MgPSBcIiVzOiVzXCIiICUgKG9zLnBhdGguYmFzZW5hbWUoaSks
IFwKCQliYXNlX2dldF9tZXRhZGF0YV9naXRfYnJhbmNoKGksIE5vbmUpLnN0cmlwKCksIFwKCQli
YXNlX2dldF9tZXRhZGF0YV9naXRfcmV2aXNpb24oaSwgTm9uZSkpIFwKCQkJZm9yIGkgaW4gbGF5
ZXJzXQoJaSA9IGxlbihsYXllcnNfYnJhbmNoX3JldiktMQoJcDEgPSBsYXllcnNfYnJhbmNoX3Jl
dltpXS5maW5kKCI9IikKCXMxID0gbGF5ZXJzX2JyYW5jaF9yZXZbaV1bcDE6XQoJd2hpbGUgaSA+
IDA6CgkJcDIgPSBsYXllcnNfYnJhbmNoX3JldltpLTFdLmZpbmQoIj0iKQoJCXMyPSBsYXllcnNf
YnJhbmNoX3JldltpLTFdW3AyOl0KCQlpZiBzMSA9PSBzMjoKCQkJbGF5ZXJzX2JyYW5jaF9yZXZb
aS0xXSA9IGxheWVyc19icmFuY2hfcmV2W2ktMV1bMDpwMl0KCQkJaSAtPSAxCgkJZWxzZToKCQkJ
aSAtPSAxCgkJCXAxID0gbGF5ZXJzX2JyYW5jaF9yZXZbaV0uZmluZCgiPSIpCgkJCXMxPSBsYXll
cnNfYnJhbmNoX3JldltpXVtwMTpdCglyZXR1cm4gbGF5ZXJzX2JyYW5jaF9yZXYKCn0KCgpweXRo
b24gYmFzZV9nZXRfc2NtYmFzZXBhdGggKCkgewpkZWYgYmFzZV9nZXRfc2NtYmFzZXBhdGgoZCk6
CglyZXR1cm4gZC5nZXRWYXIoICdDT1JFQkFTRScsIFRydWUpCn0KCgpweXRob24gY2hlY2tfc2Fu
aXR5X3ZlcnNpb25fY2hhbmdlICgpIHsKZGVmIGNoZWNrX3Nhbml0eV92ZXJzaW9uX2NoYW5nZShk
YXRhKToKICAgICMgU2FuaXR5IGNoZWNrcyB0byBiZSBkb25lIHdoZW4gU0FOSVRZX1ZFUlNJT04g
Y2hhbmdlcwogICAgcmV0dXJuICIiCn0KCgpweXRob24gcGFja2FnZV9kb19wa2djb25maWcgKCkg
ewoJaW1wb3J0IHJlCgoJcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnLCBUcnVlKQoJd29y
a2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJywgVHJ1ZSkKCXBrZ2Rlc3QgPSBkLmdldFZhcignUEtH
REVTVCcsIFRydWUpCgoJc2hsaWJzX2RpciA9IGQuZ2V0VmFyKCdTSExJQlNESVInLCBUcnVlKQoJ
c2hsaWJzd29ya19kaXIgPSBkLmdldFZhcignU0hMSUJTV09SS0RJUicsIFRydWUpCgoJcGNfcmUg
PSByZS5jb21waWxlKCcoLiopXC5wYyQnKQoJdmFyX3JlID0gcmUuY29tcGlsZSgnKC4qKT0oLiop
JykKCWZpZWxkX3JlID0gcmUuY29tcGlsZSgnKC4qKTogKC4qKScpCgoJcGtnY29uZmlnX3Byb3Zp
ZGVkID0ge30KCXBrZ2NvbmZpZ19uZWVkZWQgPSB7fQoJZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxp
dCgpOgoJCXBrZ2NvbmZpZ19wcm92aWRlZFtwa2ddID0gW10KCQlwa2djb25maWdfbmVlZGVkW3Br
Z10gPSBbXQoJCXRvcCA9IG9zLnBhdGguam9pbihwa2dkZXN0LCBwa2cpCgkJZm9yIHJvb3QsIGRp
cnMsIGZpbGVzIGluIG9zLndhbGsodG9wKToKCQkJZm9yIGZpbGUgaW4gZmlsZXM6CgkJCQltID0g
cGNfcmUubWF0Y2goZmlsZSkKCQkJCWlmIG06CgkJCQkJcGQgPSBiYi5kYXRhLmluaXQoKQoJCQkJ
CW5hbWUgPSBtLmdyb3VwKDEpCgkJCQkJcGtnY29uZmlnX3Byb3ZpZGVkW3BrZ10uYXBwZW5kKG5h
bWUpCgkJCQkJcGF0aCA9IG9zLnBhdGguam9pbihyb290LCBmaWxlKQoJCQkJCWlmIG5vdCBvcy5h
Y2Nlc3MocGF0aCwgb3MuUl9PSyk6CgkJCQkJCWNvbnRpbnVlCgkJCQkJZiA9IG9wZW4ocGF0aCwg
J3InKQoJCQkJCWxpbmVzID0gZi5yZWFkbGluZXMoKQoJCQkJCWYuY2xvc2UoKQoJCQkJCWZvciBs
IGluIGxpbmVzOgoJCQkJCQltID0gdmFyX3JlLm1hdGNoKGwpCgkJCQkJCWlmIG06CgkJCQkJCQlu
YW1lID0gbS5ncm91cCgxKQoJCQkJCQkJdmFsID0gbS5ncm91cCgyKQoJCQkJCQkJcGQuc2V0VmFy
KG5hbWUsIHBkLmV4cGFuZCh2YWwpKQoJCQkJCQkJY29udGludWUKCQkJCQkJbSA9IGZpZWxkX3Jl
Lm1hdGNoKGwpCgkJCQkJCWlmIG06CgkJCQkJCQloZHIgPSBtLmdyb3VwKDEpCgkJCQkJCQlleHAg
PSBiYi5kYXRhLmV4cGFuZChtLmdyb3VwKDIpLCBwZCkKCQkJCQkJCWlmIGhkciA9PSAnUmVxdWly
ZXMnOgoJCQkJCQkJCXBrZ2NvbmZpZ19uZWVkZWRbcGtnXSArPSBleHAucmVwbGFjZSgnLCcsICcg
Jykuc3BsaXQoKQoKCSMgVGFrZSBzaGFyZWQgbG9jayBzaW5jZSB3ZSdyZSBvbmx5IHJlYWRpbmcs
IG5vdCB3cml0aW5nCglsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKGQuZXhwYW5kKCIvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9wYWNrYWdlLW91dHB1dC5sb2Nr
IikpCgoJZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgoJCXBrZ3NfZmlsZSA9IG9zLnBhdGgu
am9pbihzaGxpYnN3b3JrX2RpciwgcGtnICsgIi5wY2xpc3QiKQoJCWlmIHBrZ2NvbmZpZ19wcm92
aWRlZFtwa2ddICE9IFtdOgoJCQlmID0gb3Blbihwa2dzX2ZpbGUsICd3JykKCQkJZm9yIHAgaW4g
cGtnY29uZmlnX3Byb3ZpZGVkW3BrZ106CgkJCQlmLndyaXRlKCclc1xuJyAlIHApCgkJCWYuY2xv
c2UoKQoKCWZvciBkaXIgaW4gW3NobGlic19kaXJdOgoJCWlmIG5vdCBvcy5wYXRoLmV4aXN0cyhk
aXIpOgoJCQljb250aW51ZQoJCWZvciBmaWxlIGluIG9zLmxpc3RkaXIoZGlyKToKCQkJbSA9IHJl
Lm1hdGNoKCdeKC4qKVwucGNsaXN0JCcsIGZpbGUpCgkJCWlmIG06CgkJCQlwa2cgPSBtLmdyb3Vw
KDEpCgkJCQlmZCA9IG9wZW4ob3MucGF0aC5qb2luKGRpciwgZmlsZSkpCgkJCQlsaW5lcyA9IGZk
LnJlYWRsaW5lcygpCgkJCQlmZC5jbG9zZSgpCgkJCQlwa2djb25maWdfcHJvdmlkZWRbcGtnXSA9
IFtdCgkJCQlmb3IgbCBpbiBsaW5lczoKCQkJCQlwa2djb25maWdfcHJvdmlkZWRbcGtnXS5hcHBl
bmQobC5yc3RyaXAoKSkKCglmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CgkJZGVwcyA9IFtd
CgkJZm9yIG4gaW4gcGtnY29uZmlnX25lZWRlZFtwa2ddOgoJCQlmb3VuZCA9IEZhbHNlCgkJCWZv
ciBrIGluIHBrZ2NvbmZpZ19wcm92aWRlZC5rZXlzKCk6CgkJCQlpZiBuIGluIHBrZ2NvbmZpZ19w
cm92aWRlZFtrXToKCQkJCQlpZiBrICE9IHBrZyBhbmQgbm90IChrIGluIGRlcHMpOgoJCQkJCQlk
ZXBzLmFwcGVuZChrKQoJCQkJCWZvdW5kID0gVHJ1ZQoJCQlpZiBmb3VuZCA9PSBGYWxzZToKCQkJ
CWJiLm5vdGUoImNvdWxkbid0IGZpbmQgcGtnY29uZmlnIG1vZHVsZSAnJXMnIGluIGFueSBwYWNr
YWdlIiAlIG4pCgkJZGVwc19maWxlID0gb3MucGF0aC5qb2luKHBrZ2Rlc3QsIHBrZyArICIucGNk
ZXBzIikKCQlpZiBsZW4oZGVwcyk6CgkJCWZkID0gb3BlbihkZXBzX2ZpbGUsICd3JykKCQkJZm9y
IGRlcCBpbiBkZXBzOgoJCQkJZmQud3JpdGUoZGVwICsgJ1xuJykKCQkJZmQuY2xvc2UoKQoKCWJi
LnV0aWxzLnVubG9ja2ZpbGUobGYpCn0KCgpweXRob24gYmFzZV9ldmVudGhhbmRsZXIgKCkgewoJ
ZnJvbSBiYi5ldmVudCBpbXBvcnQgZ2V0TmFtZQoKCW5hbWUgPSBnZXROYW1lKGUpCgoJaWYgbmFt
ZS5zdGFydHN3aXRoKCJCdWlsZFN0YXJ0ZWQiKToKCQllLmRhdGEuc2V0VmFyKCAnQkJfVkVSU0lP
TicsIGJiLl9fdmVyc2lvbl9fKQoJCXN0YXR1c3ZhcnMgPSBbJ0JCX1ZFUlNJT04nLCAnVEFSR0VU
X0FSQ0gnLCAnVEFSR0VUX09TJywgJ01BQ0hJTkUnLCAnRElTVFJPJywgJ0RJU1RST19WRVJTSU9O
JywnVFVORV9GRUFUVVJFUycsICdUQVJHRVRfRlBVJ10KCQlzdGF0dXNsaW5lcyA9IFsiJS0xN3Mg
PSBcIiVzXCIiICUgKGksIGUuZGF0YS5nZXRWYXIoaSwgVHJ1ZSkgb3IgJycpIGZvciBpIGluIHN0
YXR1c3ZhcnNdCgoJCXN0YXR1c2xpbmVzICs9IGdldF9sYXllcnNfYnJhbmNoX3JldihlLmRhdGEp
CgkJc3RhdHVzbXNnID0gIlxuT0UgQnVpbGQgQ29uZmlndXJhdGlvbjpcbiVzXG4iICUgJ1xuJy5q
b2luKHN0YXR1c2xpbmVzKQoJCWJiLnBsYWluKHN0YXR1c21zZykKCgkJbmVlZGVkX3ZhcnMgPSBb
ICJUQVJHRVRfQVJDSCIsICJUQVJHRVRfT1MiIF0KCQlwZXN0ZXJ1c2VyID0gW10KCQlmb3IgdiBp
biBuZWVkZWRfdmFyczoKCQkJdmFsID0gZS5kYXRhLmdldFZhcih2LCBUcnVlKQoJCQlpZiBub3Qg
dmFsIG9yIHZhbCA9PSAnSU5WQUxJRCc6CgkJCQlwZXN0ZXJ1c2VyLmFwcGVuZCh2KQoJCWlmIHBl
c3RlcnVzZXI6CgkJCWJiLmZhdGFsKCdUaGUgZm9sbG93aW5nIHZhcmlhYmxlKHMpIHdlcmUgbm90
IHNldDogJXNcblBsZWFzZSBzZXQgdGhlbSBkaXJlY3RseSwgb3IgY2hvb3NlIGEgTUFDSElORSBv
ciBESVNUUk8gdGhhdCBzZXRzIHRoZW0uJyAlICcsICcuam9pbihwZXN0ZXJ1c2VyKSkKCiAgICAg
ICAgaWYgbmFtZSA9PSAiQ29uZmlnUGFyc2VkIjoKICAgICAgICAgICAgICAgIGdlbmVyYXRlX2dp
dF9jb25maWcoZSkKICAgICAgICAgICAgICAgIHBrZ2FyY2hfbWFwcGluZyhlLmRhdGEpCiAgICAg
ICAgICAgICAgICBwcmVmZXJyZWRfbWxfdXBkYXRlcyhlLmRhdGEpCn0KCgpweXRob24gc3N0YXRl
X2NsZWFuICgpIHsKZGVmIHNzdGF0ZV9jbGVhbihzcywgZCk6CiAgICBpbXBvcnQgb2UucGF0aAoK
ICAgIG1hbmlmZXN0ID0gZC5leHBhbmQoIi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3NzdGF0ZS1jb250cm9sL21hbmlmZXN0LWNvbmNvcmRpYS1tZXRhLXRvb2xjaGFpbi4l
cyIgJSBzc1snbmFtZSddKQoKICAgIGlmIG9zLnBhdGguZXhpc3RzKG1hbmlmZXN0KToKICAgICAg
ICBsb2NrcyA9IFtdCiAgICAgICAgZm9yIGxvY2sgaW4gc3NbJ2xvY2tmaWxlcy1zaGFyZWQnXToK
ICAgICAgICAgICAgbG9ja3MuYXBwZW5kKGJiLnV0aWxzLmxvY2tmaWxlKGxvY2spKQogICAgICAg
IGZvciBsb2NrIGluIHNzWydsb2NrZmlsZXMnXToKICAgICAgICAgICAgbG9ja3MuYXBwZW5kKGJi
LnV0aWxzLmxvY2tmaWxlKGxvY2spKQoKICAgICAgICBzc3RhdGVfY2xlYW5fbWFuaWZlc3QobWFu
aWZlc3QsIGQpCgogICAgICAgIGZvciBsb2NrIGluIGxvY2tzOgogICAgICAgICAgICBiYi51dGls
cy51bmxvY2tmaWxlKGxvY2spCgogICAgc3RmaWxlID0gZC5nZXRWYXIoIlNUQU1QIiwgVHJ1ZSkg
KyAiLmRvXyIgKyBzc1sndGFzayddCiAgICBleHRyYWluZiA9IGQuZ2V0VmFyRmxhZygiZG9fIiAr
IHNzWyd0YXNrJ10sICdzdGFtcC1leHRyYS1pbmZvJywgVHJ1ZSkKICAgIG9lLnBhdGgucmVtb3Zl
KHN0ZmlsZSkKICAgIG9lLnBhdGgucmVtb3ZlKHN0ZmlsZSArICJfc2V0c2NlbmUiKQogICAgaWYg
ZXh0cmFpbmY6CiAgICAgICAgb2UucGF0aC5yZW1vdmUoc3RmaWxlICsgIi4qIiArIGV4dHJhaW5m
KQogICAgICAgIG9lLnBhdGgucmVtb3ZlKHN0ZmlsZSArICJfc2V0c2NlbmUiICsgIi4qIiArIGV4
dHJhaW5mKQogICAgZWxzZToKICAgICAgICBvZS5wYXRoLnJlbW92ZShzdGZpbGUgKyAiLioiKQog
ICAgICAgIG9lLnBhdGgucmVtb3ZlKHN0ZmlsZSArICJfc2V0c2NlbmUiICsgIi4qIikKfQoKCnB5
dGhvbiBwcmVmZXJyZWRfbWxfdXBkYXRlcyAoKSB7CmRlZiBwcmVmZXJyZWRfbWxfdXBkYXRlcyhk
KToKICAgICMgSWYgYW55IFBSRUZFUlJFRF9QUk9WSURFUiBvciBQUkVGRVJSRURfVkVSU0lPTlMg
YXJlIHNldCwKICAgICMgd2UgbmVlZCB0byBtaXJyb3IgdGhlc2UgdmFyaWFibGVzIGluIHRoZSBt
dWx0aWxpYiBjYXNlCiAgICBtdWx0aWxpYnMgPSBkLmdldFZhcignTVVMVElMSUJTJywgVHJ1ZSkg
b3IgIiIKICAgIGlmIG5vdCBtdWx0aWxpYnM6CiAgICAgICAgcmV0dXJuCgogICAgcHJlZml4ZXMg
PSBbXQogICAgZm9yIGV4dCBpbiBtdWx0aWxpYnMuc3BsaXQoKToKICAgICAgICBlZXh0ID0gZXh0
LnNwbGl0KCc6JykKICAgICAgICBpZiBsZW4oZWV4dCkgPiAxIGFuZCBlZXh0WzBdID09ICdtdWx0
aWxpYic6CiAgICAgICAgICAgIHByZWZpeGVzLmFwcGVuZChlZXh0WzFdKQoKICAgIHZlcnNpb25z
ID0gW10KICAgIHByb3ZpZGVycyA9IFtdCiAgICBmb3IgdiBpbiBkLmtleXMoKToKICAgICAgICBp
ZiB2LnN0YXJ0c3dpdGgoIlBSRUZFUlJFRF9WRVJTSU9OXyIpOgogICAgICAgICAgICB2ZXJzaW9u
cy5hcHBlbmQodikKICAgICAgICBpZiB2LnN0YXJ0c3dpdGgoIlBSRUZFUlJFRF9QUk9WSURFUl8i
KToKICAgICAgICAgICAgcHJvdmlkZXJzLmFwcGVuZCh2KQoKICAgIGZvciB2IGluIHZlcnNpb25z
OgogICAgICAgIHZhbCA9IGQuZ2V0VmFyKHYsIEZhbHNlKQogICAgICAgIHBrZyA9IHYucmVwbGFj
ZSgiUFJFRkVSUkVEX1ZFUlNJT05fIiwgIiIpCiAgICAgICAgaWYgcGtnLmVuZHN3aXRoKCItbmF0
aXZlIikgb3IgcGtnLmVuZHN3aXRoKCItbmF0aXZlc2RrIik6CiAgICAgICAgICAgIGNvbnRpbnVl
CiAgICAgICAgZm9yIHAgaW4gcHJlZml4ZXM6CiAgICAgICAgICAgIG5ld25hbWUgPSAiUFJFRkVS
UkVEX1ZFUlNJT05fIiArIHAgKyAiLSIgKyBwa2cKICAgICAgICAgICAgaWYgbm90IGQuZ2V0VmFy
KG5ld25hbWUsIEZhbHNlKToKICAgICAgICAgICAgICAgIGQuc2V0VmFyKG5ld25hbWUsIHZhbCkK
CiAgICBmb3IgcHJvdiBpbiBwcm92aWRlcnM6CiAgICAgICAgdmFsID0gZC5nZXRWYXIocHJvdiwg
RmFsc2UpCiAgICAgICAgcGtnID0gcHJvdi5yZXBsYWNlKCJQUkVGRVJSRURfUFJPVklERVJfIiwg
IiIpCiAgICAgICAgaWYgcGtnLmVuZHN3aXRoKCItbmF0aXZlIikgb3IgcGtnLmVuZHN3aXRoKCIt
bmF0aXZlc2RrIik6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgdmlydCA9ICIiCiAgICAg
ICAgaWYgcGtnLnN0YXJ0c3dpdGgoInZpcnR1YWwvIik6CiAgICAgICAgICAgICBwa2cgPSBwa2cu
cmVwbGFjZSgidmlydHVhbC8iLCAiIikKICAgICAgICAgICAgIHZpcnQgPSAidmlydHVhbC8iCiAg
ICAgICAgZm9yIHAgaW4gcHJlZml4ZXM6CiAgICAgICAgICAgIG5ld25hbWUgPSAiUFJFRkVSUkVE
X1BST1ZJREVSXyIgKyB2aXJ0ICsgcCArICItIiArIHBrZwogICAgICAgICAgICBpZiBwa2cgIT0g
Imtlcm5lbCI6CiAgICAgICAgICAgICAgICB2YWwgPSBwICsgIi0iICsgdmFsCiAgICAgICAgICAg
IGlmIG5vdCBkLmdldFZhcihuZXduYW1lLCBGYWxzZSk6CiAgICAgICAgICAgICAgICBkLnNldFZh
cihuZXduYW1lLCB2YWwpCgoKICAgIG1wID0gKGQuZ2V0VmFyKCJNVUxUSV9QUk9WSURFUl9XSElU
RUxJU1QiLCBUcnVlKSBvciAiIikuc3BsaXQoKQogICAgZXh0cmFtcCA9IFtdCiAgICBmb3IgcCBp
biBtcDoKICAgICAgICBpZiBwLmVuZHN3aXRoKCItbmF0aXZlIikgb3IgcC5lbmRzd2l0aCgiLW5h
dGl2ZXNkayIpOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIHZpcnQgPSAiIgogICAgICAg
IGlmIHAuc3RhcnRzd2l0aCgidmlydHVhbC8iKToKICAgICAgICAgICAgcCA9IHAucmVwbGFjZSgi
dmlydHVhbC8iLCAiIikKICAgICAgICAgICAgdmlydCA9ICJ2aXJ0dWFsLyIKICAgICAgICBmb3Ig
cHJlZiBpbiBwcmVmaXhlczoKICAgICAgICAgICAgZXh0cmFtcC5hcHBlbmQodmlydCArIHByZWYg
KyAiLSIgKyBwKQogICAgZC5zZXRWYXIoIk1VTFRJX1BST1ZJREVSX1dISVRFTElTVCIsICIgIi5q
b2luKG1wICsgZXh0cmFtcCkpCgp9CgoKcHl0aG9uIHBhY2thZ2VfaXBrX2luc3RhbGwgKCkgewoJ
cGtnID0gZC5nZXRWYXIoJ1BLRycsIFRydWUpCglwa2dmbiA9IGQuZ2V0VmFyKCdQS0dGTicsIFRy
dWUpCglyb290ZnMgPSBkLmdldFZhcignSU1BR0VfUk9PVEZTJywgVHJ1ZSkKCWlwa2RpciA9IGQu
Z2V0VmFyKCdERVBMT1lfRElSX0lQSycsIFRydWUpCglzdGFnaW5nZGlyID0gZC5nZXRWYXIoJ1NU
QUdJTkdfRElSJywgVHJ1ZSkKCXRtcGRpciA9IGQuZ2V0VmFyKCdUTVBESVInLCBUcnVlKQoKCWlm
IE5vbmUgaW4gKHBrZyxwa2dmbixyb290ZnMpOgoJCXJhaXNlIGJiLmJ1aWxkLkZ1bmNGYWlsZWQo
Im1pc3NpbmcgdmFyaWFibGVzIChvbmUgb3IgbW9yZSBvZiBQS0csIFBLR0ZOLCBJTUFHRVJPT1RG
UykiKQoJdHJ5OgoJCWJiLm1rZGlyaGllcihyb290ZnMpCgkJb3MuY2hkaXIocm9vdGZzKQoJZXhj
ZXB0IE9TRXJyb3I6CgkJaW1wb3J0IHN5cwoJCSh0eXBlLCB2YWx1ZSwgdHJhY2ViYWNrKSA9IHN5
cy5leGNfaW5mbygpCgkJcHJpbnQgdmFsdWUKCQlyYWlzZSBiYi5idWlsZC5GdW5jRmFpbGVkCgoJ
IyBHZW5lcmF0ZSBpcGsuY29uZiBpZiBpdCBvciB0aGUgc3RhbXAgZG9lc250IGV4aXN0Cgljb25m
ZmlsZSA9IG9zLnBhdGguam9pbihzdGFnaW5nZGlyLCJpcGtnLmNvbmYiKQoJaWYgbm90IG9zLmFj
Y2Vzcyhjb25mZmlsZSwgb3MuUl9PSyk6CgkJaXBrZ19hcmNocyA9IGQuZ2V0VmFyKCdQQUNLQUdF
X0FSQ0hTJykKCQlpZiBpcGtnX2FyY2hzIGlzIE5vbmU6CgkJCWJiLmVycm9yKCJQQUNLQUdFX0FS
Q0hTIG1pc3NpbmciKQoJCQlyYWlzZSBGdW5jRmFpbGVkCgkJaXBrZ19hcmNocyA9IGlwa2dfYXJj
aHMuc3BsaXQoKQoJCWFyY2hfcHJpb3JpdHkgPSAxCgoJCWYgPSBvcGVuKGNvbmZmaWxlLCJ3IikK
CQlmb3IgYXJjaCBpbiBpcGtnX2FyY2hzOgoJCQlmLndyaXRlKCJhcmNoICVzICVzXG4iICUgKCBh
cmNoLCBhcmNoX3ByaW9yaXR5ICkpCgkJCWFyY2hfcHJpb3JpdHkgKz0gMQoJCWYud3JpdGUoInNy
YyBsb2NhbCBmaWxlOiVzIiAlIGlwa2RpcikKCQlmLmNsb3NlKCkKCgoJaWYgbm90IG9zLmFjY2Vz
cyhvcy5wYXRoLmpvaW4oaXBrZGlyLCJQYWNrYWdlcyIpLCBvcy5SX09LKSBvciBub3Qgb3MuYWNj
ZXNzKG9zLnBhdGguam9pbih0bXBkaXIsICJzdGFtcHMiLCAiSVBLX1BBQ0tBR0VfSU5ERVhfQ0xF
QU4iKSxvcy5SX09LKToKCQlyZXQgPSBvcy5zeXN0ZW0oJ29wa2ctbWFrZS1pbmRleCAtcCAlcyAl
cyAnICUgKG9zLnBhdGguam9pbihpcGtkaXIsICJQYWNrYWdlcyIpLCBpcGtkaXIpKQoJCWlmIChy
ZXQgIT0gMCApOgoJCQlyYWlzZSBiYi5idWlsZC5GdW5jRmFpbGVkCgkJZiA9IG9wZW4ob3MucGF0
aC5qb2luKHRtcGRpciwgInN0YW1wcyIsICJJUEtfUEFDS0FHRV9JTkRFWF9DTEVBTiIpLCJ3IikK
CQlmLmNsb3NlKCkKCglyZXQgPSBvcy5zeXN0ZW0oJ29wa2ctY2wgIC1vICVzIC1mICVzIHVwZGF0
ZScgJSAocm9vdGZzLCBjb25mZmlsZSkpCglyZXQgPSBvcy5zeXN0ZW0oJ29wa2ctY2wgIC1vICVz
IC1mICVzIGluc3RhbGwgJXMnICUgKHJvb3RmcywgY29uZmZpbGUsIHBrZ2ZuKSkKCWlmIChyZXQg
IT0gMCApOgoJCXJhaXNlIGJiLmJ1aWxkLkZ1bmNGYWlsZWQKfQoKCnB5dGhvbiBzc3RhdGVfY2xl
YW5fY2FjaGVmaWxlcyAoKSB7CmRlZiBzc3RhdGVfY2xlYW5fY2FjaGVmaWxlcyhkKToKICAgIGZv
ciB0YXNrIGluIChkLmdldFZhcignU1NUQVRFVEFTS1MnLCBUcnVlKSBvciAiIikuc3BsaXQoKToK
ICAgICAgICBzcyA9IHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyhkLCB0YXNrWzM6XSkKICAgICAgICBz
c3RhdGVfY2xlYW5fY2FjaGVmaWxlKHNzLCBkKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tf
ZGJnICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfZGJnKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVz
c2FnZXMpOgogICAgIiIiCiAgICBDaGVjayBmb3IgIi5kZWJ1ZyIgZmlsZXMgb3IgZGlyZWN0b3Jp
ZXMgb3V0c2lkZSBvZiB0aGUgZGJnIHBhY2thZ2UKICAgICIiIgoKICAgIGlmIG5vdCAiLWRiZyIg
aW4gbmFtZToKICAgICAgICBpZiAnLmRlYnVnJyBpbiBwYXRoLnNwbGl0KG9zLnBhdGguc2VwKToK
ICAgICAgICAgICAgbWVzc2FnZXMuYXBwZW5kKCJub24gZGVidWcgcGFja2FnZSBjb250YWlucyAu
ZGVidWcgZGlyZWN0b3J5OiAlcyBwYXRoICVzIiAlIFwKICAgICAgICAgICAgICAgICAgICAgKG5h
bWUsIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKfQoKCnB5dGhvbiBwYWNrYWdlX2Rv
X2ZpbGVkZXBzICgpIHsKCWltcG9ydCByZQoKCXBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcs
IFRydWUpCglwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycsIFRydWUpCgoJcnBtZGVwcyA9
IGQuZXhwYW5kKCIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290
cy94ODZfNjQtbGludXgvdXNyL2xpYi9ycG0vYmluL3JwbWRlcHMtb2Vjb3JlIC0tbWFjcm9zIC9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51
eC91c3IvbGliL3JwbS9tYWNyb3MgLS1kZWZpbmUgJ19ycG1mY19tYWdpY19wYXRoIC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3Iv
c2hhcmUvbWlzYy9tYWdpYy5tZ2MnIC0tcnBtcG9wdCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi9ycG0vcnBtcG9wdCIp
CglyID0gcmUuY29tcGlsZShyJ1s8Pj1dKyArW14gXSonKQoKCSMgUXVpY2sgcm91dGluZSB0byBw
cm9jZXNzIHRoZSByZXN1bHRzIG9mIHRoZSBycG1kZXBzIGNhbGwuLi4KCWRlZiBwcm9jZXNzX2Rl
cHMocGlwZSwgcGtnLCBwcm92aWRlc19maWxlcywgcmVxdWlyZXNfZmlsZXMpOgoJCXByb3ZpZGVz
ID0ge30KCQlyZXF1aXJlcyA9IHt9CgoJCWZvciBsaW5lIGluIHBpcGU6CgkJCWYgPSBsaW5lLnNw
bGl0KCIgIiwgMSlbMF0uc3RyaXAoKQoJCQlsaW5lID0gbGluZS5zcGxpdCgiICIsIDEpWzFdLnN0
cmlwKCkKCgkJCWlmIGxpbmUuc3RhcnRzd2l0aCgiUmVxdWlyZXM6Iik6CgkJCQlpID0gcmVxdWly
ZXMKCQkJZWxpZiBsaW5lLnN0YXJ0c3dpdGgoIlByb3ZpZGVzOiIpOgoJCQkJaSA9IHByb3ZpZGVz
CgkJCWVsc2U6CgkJCQljb250aW51ZQoKCQkJZmlsZSA9IGYucmVwbGFjZShwa2dkZXN0ICsgIi8i
ICsgcGtnLCAiIikKCQkJZmlsZSA9IGZpbGUucmVwbGFjZSgiQCIsICJAYXRAIikKCQkJZmlsZSA9
IGZpbGUucmVwbGFjZSgiICIsICJAc3BhY2VAIikKCQkJZmlsZSA9IGZpbGUucmVwbGFjZSgiXHQi
LCAiQHRhYkAiKQoJCQlmaWxlID0gZmlsZS5yZXBsYWNlKCJbIiwgIkBvcGVuYnJhY2VAIikKCQkJ
ZmlsZSA9IGZpbGUucmVwbGFjZSgiXSIsICJAY2xvc2VicmFjZUAiKQoJCQlmaWxlID0gZmlsZS5y
ZXBsYWNlKCJfIiwgIkB1bmRlcnNjb3JlQCIpCgkJCXZhbHVlID0gbGluZS5zcGxpdCgiOiIsIDEp
WzFdLnN0cmlwKCkKCQkJdmFsdWUgPSByLnN1YihyJyhcZzwwPiknLCB2YWx1ZSkKCgkJCWlmIHZh
bHVlLnN0YXJ0c3dpdGgoInJwbWxpYigiKToKCQkJCWNvbnRpbnVlCgkJCWlmIHZhbHVlID09ICJw
eXRob24iOgoJCQkJY29udGludWUKCQkJaWYgZmlsZSBub3QgaW4gaToKCQkJCWlbZmlsZV0gPSBb
XQoJCQlpW2ZpbGVdLmFwcGVuZCh2YWx1ZSkKCgkJZm9yIGZpbGUgaW4gcHJvdmlkZXM6CgkJCXBy
b3ZpZGVzX2ZpbGVzLmFwcGVuZChmaWxlKQoJCQlrZXkgPSAiRklMRVJQUk9WSURFU18iICsgZmls
ZSArICJfIiArIHBrZwoJCQlkLnNldFZhcihrZXksICIgIi5qb2luKHByb3ZpZGVzW2ZpbGVdKSkK
CgkJZm9yIGZpbGUgaW4gcmVxdWlyZXM6CgkJCXJlcXVpcmVzX2ZpbGVzLmFwcGVuZChmaWxlKQoJ
CQlrZXkgPSAiRklMRVJERVBFTkRTXyIgKyBmaWxlICsgIl8iICsgcGtnCgkJCWQuc2V0VmFyKGtl
eSwgIiAiLmpvaW4ocmVxdWlyZXNbZmlsZV0pKQoKCWRlZiBjaHVua3MoZmlsZXMsIG4pOgoJCXJl
dHVybiBbZmlsZXNbaTppK25dIGZvciBpIGluIHJhbmdlKDAsIGxlbihmaWxlcyksIG4pXQoKCSMg
RGV0ZXJtaW5lIGRlcGVuZGVuY2llcwoJZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgoJCWlm
IHBrZy5lbmRzd2l0aCgnLWRiZycpIG9yIHBrZy5lbmRzd2l0aCgnLWRvYycpIG9yIHBrZy5maW5k
KCctbG9jYWxlLScpICE9IC0xIG9yIHBrZy5maW5kKCctbG9jYWxlZGF0YS0nKSAhPSAtMSBvciBw
a2cuZmluZCgnLWdjb252LScpICE9IC0xIG9yIHBrZy5maW5kKCctY2hhcm1hcC0nKSAhPSAtMSBv
ciBwa2cuc3RhcnRzd2l0aCgna2VybmVsLW1vZHVsZS0nKToKCQkJY29udGludWUKCgkJcHJvdmlk
ZXNfZmlsZXMgPSBbXQoJCXJlcXVpcmVzX2ZpbGVzID0gW10KCQlycGZpbGVzID0gW10KCQlmb3Ig
cm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fsayhwa2dkZXN0ICsgIi8iICsgcGtnKToKCQkJZm9y
IGZpbGUgaW4gZmlsZXM6CgkJCQlycGZpbGVzLmFwcGVuZChvcy5wYXRoLmpvaW4ocm9vdCwgZmls
ZSkpCgoJCWZvciBmaWxlcyBpbiBjaHVua3MocnBmaWxlcywgMTAwKToKCQkJZGVwX3BpcGUgPSBv
cy5wb3BlbihycG1kZXBzICsgIiAiICsgIiAiLmpvaW4oZmlsZXMpKQoKCQkJcHJvY2Vzc19kZXBz
KGRlcF9waXBlLCBwa2csIHByb3ZpZGVzX2ZpbGVzLCByZXF1aXJlc19maWxlcykKCgkJZC5zZXRW
YXIoIkZJTEVSREVQRU5EU0ZMSVNUXyIgKyBwa2csICIgIi5qb2luKHJlcXVpcmVzX2ZpbGVzKSkK
CQlkLnNldFZhcigiRklMRVJQUk9WSURFU0ZMSVNUXyIgKyBwa2csICIgIi5qb2luKHByb3ZpZGVz
X2ZpbGVzKSkKfQoKCnB5dGhvbiByYWlzZV9zYW5pdHlfZXJyb3IgKCkgewpkZWYgcmFpc2Vfc2Fu
aXR5X2Vycm9yKG1zZyk6CiAgICBiYi5mYXRhbCgiIiIgT0UtY29yZSdzIGNvbmZpZyBzYW5pdHkg
Y2hlY2tlciBkZXRlY3RlZCBhIHBvdGVudGlhbCBtaXNjb25maWd1cmF0aW9uLgogICAgRWl0aGVy
IGZpeCB0aGUgY2F1c2Ugb2YgdGhpcyBlcnJvciBvciBhdCB5b3VyIG93biByaXNrIGRpc2FibGUg
dGhlIGNoZWNrZXIgKHNlZSBzYW5pdHkuY29uZikuCiAgICBGb2xsb3dpbmcgaXMgdGhlIGxpc3Qg
b2YgcG90ZW50aWFsIHByb2JsZW1zIC8gYWR2aXNvcmllczoKCiAgICAlcyIiIiAlIG1zZykKfQoK
CnB5dGhvbiBiYXNlX3JlYWRfZmlsZSAoKSB7CmRlZiBiYXNlX3JlYWRfZmlsZShmaWxlbmFtZSk6
CiAgICByZXR1cm4gb2UudXRpbHMucmVhZF9maWxlKGZpbGVuYW1lKQp9CgoKcHl0aG9uIGJhc2Vf
Z2V0X21ldGFkYXRhX2dpdF9yZXZpc2lvbiAoKSB7CmRlZiBiYXNlX2dldF9tZXRhZGF0YV9naXRf
cmV2aXNpb24ocGF0aCwgZCk6CglmID0gb3MucG9wZW4oImNkICVzOyBnaXQgbG9nIC1uIDEgLS1w
cmV0dHk9b25lbGluZSAtLSAyPiYxIiAlIHBhdGgpCglkYXRhID0gZi5yZWFkKCkKCWlmIGYuY2xv
c2UoKSBpcyBOb25lOgoJCXJldiA9IGRhdGEuc3BsaXQoIiAiKVswXQoJCWlmIGxlbihyZXYpICE9
IDA6CgkJCXJldHVybiByZXYKCXJldHVybiAiPHVua25vd24+Igp9Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>525</attachid>
            <date>2012-05-22 16:25:05 +0000</date>
            <delta_ts>2012-05-22 16:25:05 +0000</delta_ts>
            <desc>output of bitbake -e when tag is v0.1.4</desc>
            <filename>sdk_0.1.4_env</filename>
            <type>application/octet-stream</type>
            <size>317408</size>
            <attacher name="Reinette Chatre">reinette.chatre</attacher>
            
              <data encoding="base64">TG9hZGluZyBjYWNoZS4uLmRvbmUuCkxvYWRlZCAxMTE2IGVudHJpZXMgZnJvbSBkZXBlbmRlbmN5
IGNhY2hlLgpOT1RFOiBSZXNvbHZpbmcgYW55IG1pc3NpbmcgdGFzayBxdWV1ZSBkZXBlbmRlbmNp
ZXMKIyBTVEFHSU5HX0lOQ0RJUl9OQVRJVkU9JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtpbmNsdWRl
ZGlyX25hdGl2ZX0KU1RBR0lOR19JTkNESVJfTkFUSVZFPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUiCiMgcHJl
Zml4PS91c3IKZXhwb3J0IHByZWZpeD0iL3VzciIKIyBGUkVFU01BUlRQSE9ORV9HSVQ9Z2l0Oi8v
Z2l0LmZyZWVzbWFydHBob25lLm9yZwpGUkVFU01BUlRQSE9ORV9HSVQ9ImdpdDovL2dpdC5mcmVl
c21hcnRwaG9uZS5vcmciCiMgSU5IRVJJVF9JTlNBTkU9aW5zYW5lCklOSEVSSVRfSU5TQU5FPSJp
bnNhbmUiCiMgQ1ZTRElSPSR7Q09fRElSfS9jdnMKQ1ZTRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL2Rvd25sb2Fkcy9jdnMiCiMgU1ZORElSPSR7Q09fRElSfS9zdm4KU1ZO
RElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL2Rvd25sb2Fkcy9zdm4iCiMg
UFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLWludGVybWVkaWF0ZT0ke0dDQ1ZFUlNJT059ClBS
RUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zcy1pbnRlcm1lZGlhdGU9IjQuNiUiCiMgYmluZGlyX2Ny
b3NzPS9iaW4KYmluZGlyX2Nyb3NzPSIvYmluIgojIEJBU0VERVBFTkRTPSR7QGJhc2VfZGVwX3By
ZXBlbmQoZCl9CkJBU0VERVBFTkRTPSJ2aXJ0dWFsL2k1ODYtY2NkLWxpbnV4LWdjYyB2aXJ0dWFs
L2k1ODYtY2NkLWxpbnV4LWNvbXBpbGVybGlicyB2aXJ0dWFsL2xpYmMiCiMgUFJFRkVSUkVEX1BS
T1ZJREVSX2xpYmdjYy1uYXRpdmVzZGs9bGliZ2NjLW5hdGl2ZXNkawpQUkVGRVJSRURfUFJPVklE
RVJfbGliZ2NjLW5hdGl2ZXNkaz0ibGliZ2NjLW5hdGl2ZXNkayIKIyBCQl9DT05TT0xFTE9HPSR7
VE1QRElSfS9jb29rZXIubG9nLiR7REFURVRJTUV9CkJCX0NPTlNPTEVMT0c9Ii9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2Nvb2tlci5sb2cuMjAxMjA1MjExODQyMjEiCiMg
U1RSSVA9JHtIT1NUX1BSRUZJWH1zdHJpcApleHBvcnQgU1RSSVA9Imk1ODYtY2NkLWxpbnV4LXN0
cmlwIgojIFNUQUdJTkdfREFUQURJUj0ke1NUQUdJTkdfRElSX0hPU1R9JHtkYXRhZGlyfQpTVEFH
SU5HX0RBVEFESVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jv
b3RzL2NvbmNvcmRpYS91c3Ivc2hhcmUiCiMgdGFyZ2V0X2RhdGFkaXI9L3Vzci9zaGFyZQp0YXJn
ZXRfZGF0YWRpcj0iL3Vzci9zaGFyZSIKIyBJTUFHRV9ST09URlM9JHtXT1JLRElSfS9yb290ZnMK
SU1BR0VfUk9PVEZTPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3Jr
L2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvcm9vdGZzIgojIEZFVENIQ09N
TUFORF9jdnM9L3Vzci9iaW4vZW52IGN2cyAnLWQke0NWU1JPT1R9JyBjbyAke0NWU0NPT1BUU30g
JHtDVlNNT0RVTEV9CkZFVENIQ09NTUFORF9jdnM9Ii91c3IvYmluL2VudiBjdnMgJy1kJHtDVlNS
T09UfScgY28gJHtDVlNDT09QVFN9ICR7Q1ZTTU9EVUxFfSIKIyBiYXNlX2JpbmRpcl9uYXRpdmU9
L2JpbgpiYXNlX2JpbmRpcl9uYXRpdmU9Ii9iaW4iCiMgQkFTRV9MSUJfdHVuZS14ODYtNjQteDMy
PWxpYngzMgpCQVNFX0xJQl90dW5lLXg4Ni02NC14MzI9ImxpYngzMiIKIyBsb2NhbHN0YXRlZGly
PSR7YmFzZV9wcmVmaXh9L3ZhcgpleHBvcnQgbG9jYWxzdGF0ZWRpcj0iL3ZhciIKIyBTRUNUSU9O
XyR7UE59LWRiZz1Ob25lCiMgREFURVRJTUU9JHtEQVRFfSR7VElNRX0KREFURVRJTUU9IjIwMTIw
NTIxMTg0MjIxIgojIElNQUdFX0ZFQVRVUkVTPSAke0VYVFJBX0lNQUdFX0ZFQVRVUkVTfQpJTUFH
RV9GRUFUVVJFUz0iJHtFWFRSQV9JTUFHRV9GRUFUVVJFU30iCiMgU0VQUFVLVV9BVVRPQlVJTEQ9
Tm9uZQojIElOSVRSQU1GU19GU1RZUEVTPWNwaW8uZ3oKSU5JVFJBTUZTX0ZTVFlQRVM9ImNwaW8u
Z3oiCiMgT1BLR0JVSUxEQ01EPW9wa2ctYnVpbGQKT1BLR0JVSUxEQ01EPSJvcGtnLWJ1aWxkIgoj
IFBSRUZFUlJFRF9WRVJTSU9OX2Nyb3NzLWxvY2FsZWRlZi1uYXRpdmU9JHtFR0xJQkNWRVJTSU9O
fQpQUkVGRVJSRURfVkVSU0lPTl9jcm9zcy1sb2NhbGVkZWYtbmF0aXZlPSIyLjEzIgojIFNPTElC
U0RFVl9kYXJ3aW44PS5keWxpYgpTT0xJQlNERVZfZGFyd2luOD0iLmR5bGliIgojIFNPTElCU0RF
Vl9kYXJ3aW45PS5keWxpYgpTT0xJQlNERVZfZGFyd2luOT0iLmR5bGliIgojIFVTRVI9cmNoYXRy
ZQpleHBvcnQgVVNFUj0icmNoYXRyZSIKIyBTT0xJQlNERVZfZGFyd2luPS5keWxpYgpTT0xJQlNE
RVZfZGFyd2luPSIuZHlsaWIiCiMgT0VTX0JJVEJBS0VfQ09ORj0xCk9FU19CSVRCQUtFX0NPTkY9
IjEiCiMgUFJFRkVSUkVEX1ZFUlNJT05fYmludXRpbHMtY3Jvc3MtY2FuYWRpYW4taTU4Nj0ke0JJ
TlVWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1jcm9zcy1jYW5hZGlhbi1pNTg2
PSIyLjIyIgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1saWJj
LWZvci1nY2M9Tm9uZQojIFVQREFURUNPTU1BTkQ9RVJST1IsIHRoaXMgbXVzdCBiZSBhIEJpdEJh
a2UgYnVnClVQREFURUNPTU1BTkQ9IkVSUk9SLCB0aGlzIG11c3QgYmUgYSBCaXRCYWtlIGJ1ZyIK
IyBFWFRFTkRQRT0ke0BbJycsJyR7UEVceDdkXyddW2QuZ2V0VmFyKCdQRScsMSkgPiAwXX0KIyBT
RUNUSU9OX21ldGEtdG9vbGNoYWluLXN0YXRpY2Rldj1kZXZlbApTRUNUSU9OX21ldGEtdG9vbGNo
YWluLXN0YXRpY2Rldj0iZGV2ZWwiCiMgUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLWluaXRp
YWw9JHtHQ0NWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3MtaW5pdGlhbD0iNC42
JSIKIyBCQl9OVU1CRVJfVEhSRUFEUz0yNApCQl9OVU1CRVJfVEhSRUFEUz0iMjQiCiMgU1VNTUFS
WV9tZXRhLXRvb2xjaGFpbi1zdGF0aWNkZXY9JHtTVU1NQVJZfSAtIERldmVsb3BtZW50IGZpbGVz
IChTdGF0aWMgTGlicmFyaWVzKQpTVU1NQVJZX21ldGEtdG9vbGNoYWluLXN0YXRpY2Rldj0ibWV0
YS10b29sY2hhaW4gdmVyc2lvbiAxLjAtcjcgLSBEZXZlbG9wbWVudCBmaWxlcyAoU3RhdGljIExp
YnJhcmllcykiCiMgU0RLX05BTUU9JHtESVNUUk99LSR7VENMSUJDfS0ke1NES19BUkNIfS0ke1RB
UkdFVF9BUkNIfQpTREtfTkFNRT0iY29uY29yZGlhLWVnbGliYy1pNjg2LWk1ODYiCiMgQkJfSEFT
SENPTkZJR19XSElURUxJU1Q9JHtCQl9IQVNIQkFTRV9XSElURUxJU1R9IERBVEUgVElNRSBTRVNT
SU9OX01BTkFHRVIgREJVU19TRVNTSU9OX0JVU19BRERSRVNTIFNTSF9BR0VOVF9QSUQgWERHX1NF
U1NJT05fQ09PS0lFIFNTSF9BVVRIX1NPQ0sgWEFVVEhPUklUWQpCQl9IQVNIQ09ORklHX1dISVRF
TElTVD0iVE1QRElSIEZJTEUgUEFUSCBQV0QgQkJfVEFTS0hBU0ggQkJQQVRIIERMX0RJUiBTU1RB
VEVfRElSIFRISVNESVIgRklMRVNFWFRSQVBBVEhTIEZJTEVfRElSTkFNRSBIT01FIExPR05BTUUg
U0hFTEwgVEVSTSBVU0VSIEZJTEVTUEFUSCBTVEFHSU5HX0RJUl9IT1NUIFNUQUdJTkdfRElSX1RB
UkdFVCBDT1JFQkFTRSBQUlNFUlZfSE9TVCBQUlNFUlZfUE9SVCBQUlNFUlZfRFVNUERJUiBQUlNF
UlZfRFVNUEZJTEUgUFJTRVJWX0xPQ0tET1dOIFBBUkFMTEVMX01BS0UgREFURSBUSU1FIFNFU1NJ
T05fTUFOQUdFUiBEQlVTX1NFU1NJT05fQlVTX0FERFJFU1MgU1NIX0FHRU5UX1BJRCBYREdfU0VT
U0lPTl9DT09LSUUgU1NIX0FVVEhfU09DSyBYQVVUSE9SSVRZIgojIFRNUERJUj0vaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcApUTVBESVI9Ii9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wIgojIFBSRUZFUlJFRF9QUk9WSURFUl9vcGtnLW5hdGl2ZXNkaz1v
cGtnLW5hdGl2ZXNkawpQUkVGRVJSRURfUFJPVklERVJfb3BrZy1uYXRpdmVzZGs9Im9wa2ctbmF0
aXZlc2RrIgojIFFFTVVfT1BUSU9OU19pd21teHQ9LWNwdSBweGEyNzAtYzUKUUVNVV9PUFRJT05T
X2l3bW14dD0iLWNwdSBweGEyNzAtYzUiCiMgbGliZXhlY2Rpcj0ke2V4ZWNfcHJlZml4fS9saWJl
eGVjCmV4cG9ydCBsaWJleGVjZGlyPSIvdXNyL2xpYmV4ZWMiCiMgVE9PTENIQUlOX05FRURfQ09O
RklHU0lURV9DQUNIRT0ke1RDTElCQ30gbmN1cnNlcwpUT09MQ0hBSU5fTkVFRF9DT05GSUdTSVRF
X0NBQ0hFPSJlZ2xpYmMgbmN1cnNlcyIKIyBCQl9CQVNFSEFTSF90YXNrLWRvX2NsZWFuc3N0YXRl
PTc3NDJhYjc3YzVkY2NkOTViZDZhODhiOGEwN2I4NmRlCkJCX0JBU0VIQVNIX3Rhc2stZG9fY2xl
YW5zc3RhdGU9Ijc3NDJhYjc3YzVkY2NkOTViZDZhODhiOGEwN2I4NmRlIgojIFNVTU1BUllfJHtQ
Tn0tc3RhdGljZGV2PU5vbmUKIyBJTUFHRV9ST09URlNfU0laRT02NTUzNgpJTUFHRV9ST09URlNf
U0laRT0iNjU1MzYiCiMgQkJfTUlOX1ZFUlNJT049MS4xNS4xCkJCX01JTl9WRVJTSU9OPSIxLjE1
LjEiCiMgZGF0YWRpcl9uYXRpdmU9JHtwcmVmaXhfbmF0aXZlfS9zaGFyZQpkYXRhZGlyX25hdGl2
ZT0iL3Vzci9zaGFyZSIKIyBTREtfT1M9JHtCVUlMRF9PU30KU0RLX09TPSJsaW51eCIKIyBHSVRf
Q09ORklHPSR7R0lUX0NPTkZJR19QQVRIfS9naXRjb25maWcKR0lUX0NPTkZJRz0iL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L2V0Yy9n
aXRjb25maWciCiMgUFlUSE9OPSR7QHN5cy5leGVjdXRhYmxlfQpQWVRIT049Ii91c3IvYmluL3B5
dGhvbiIKIyBkYXRhZGlyPSR7cHJlZml4fS9zaGFyZQpleHBvcnQgZGF0YWRpcj0iL3Vzci9zaGFy
ZSIKIyBTVEFHSU5HX0VUQ0RJUl9OQVRJVkU9JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtzeXNjb25m
ZGlyX25hdGl2ZX0KU1RBR0lOR19FVENESVJfTkFUSVZFPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvZXRjIgojIEhPU1RfRVhFRVhU
PQojIENBQ0hFPS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2NhY2hlL2Rl
ZmF1bHQtZWdsaWJjL2NvbmNvcmRpYS9pNjg2CkNBQ0hFPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9jYWNoZS9kZWZhdWx0LWVnbGliYy9jb25jb3JkaWEvaTY4NiIKIyBT
VU1NQVJZPSR7UE59IHZlcnNpb24gJHtQVn0tJHtQUn0KU1VNTUFSWT0ibWV0YS10b29sY2hhaW4g
dmVyc2lvbiAxLjAtcjciCiMgQkJfQkFTRUhBU0hfdGFzay1kb19idWlsZGFsbD01NDk0Mjc1ZmI1
YTMwN2QxYjZiYTkzMmI1OTQxNTUyMgpCQl9CQVNFSEFTSF90YXNrLWRvX2J1aWxkYWxsPSI1NDk0
Mjc1ZmI1YTMwN2QxYjZiYTkzMmI1OTQxNTUyMiIKIyBHUEVQSE9ORV9NSVJST1I9aHR0cDovL2dw
ZXBob25lLmxpbnV4dG9nby5vcmcvZG93bmxvYWQvZ3BlcGhvbmUKR1BFUEhPTkVfTUlSUk9SPSJo
dHRwOi8vZ3BlcGhvbmUubGludXh0b2dvLm9yZy9kb3dubG9hZC9ncGVwaG9uZSIKIyBHUEVQSE9O
RV9TVk49c3ZuOi8vcHJvamVjdHMubGludXh0b2dvLm9yZy9zdm4vZ3BlcGhvbmUvdHJ1bmsvc291
cmNlO21vZHVsZT0ke1BOfQpHUEVQSE9ORV9TVk49InN2bjovL3Byb2plY3RzLmxpbnV4dG9nby5v
cmcvc3ZuL2dwZXBob25lL3RydW5rL3NvdXJjZTttb2R1bGU9bWV0YS10b29sY2hhaW4iCiMgQkJf
QkFTRUhBU0hfdGFzay1kb19jbGVhbmFsbD1mZGE2ZjQ0YTAzYjc1MTVjNTAyMzhmYWU1ZTA3Yjc0
OApCQl9CQVNFSEFTSF90YXNrLWRvX2NsZWFuYWxsPSJmZGE2ZjQ0YTAzYjc1MTVjNTAyMzhmYWU1
ZTA3Yjc0OCIKIyBTREtfT1VUUFVUPSR7U0RLX0RJUn0vaW1hZ2UKU0RLX09VVFBVVD0iL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0
YS10b29sY2hhaW4tMS4wLXI3L3Nkay9pbWFnZSIKIyBBU1NVTUVfUFJPVklERUQ9YnppcDItbmF0
aXZlIGdyZXAtbmF0aXZlIGRpZmZzdGF0LW5hdGl2ZSBwYXRjaC1uYXRpdmUgcGVybC1uYXRpdmUt
cnVudGltZSBweXRob24tbmF0aXZlLXJ1bnRpbWUgc3VidmVyc2lvbi1uYXRpdmUgdGFyLW5hdGl2
ZSB2aXJ0dWFsL2xpYmludGwtbmF0aXZlICBwa2djb25maWckCkFTU1VNRV9QUk9WSURFRD0iYnpp
cDItbmF0aXZlIGdyZXAtbmF0aXZlIGRpZmZzdGF0LW5hdGl2ZSBwYXRjaC1uYXRpdmUgcGVybC1u
YXRpdmUtcnVudGltZSBweXRob24tbmF0aXZlLXJ1bnRpbWUgc3VidmVyc2lvbi1uYXRpdmUgdGFy
LW5hdGl2ZSB2aXJ0dWFsL2xpYmludGwtbmF0aXZlICBwa2djb25maWckIgojIExJQ1NTVEFURURJ
Uj0ke1dPUktESVJ9L2xpY2Vuc2UtZGVzdGRpci8KTElDU1NUQVRFRElSPSIvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xj
aGFpbi0xLjAtcjcvbGljZW5zZS1kZXN0ZGlyLyIKIyBBTExfTVVMVElMSUJfUEFDS0FHRV9BUkNI
Uz0ke0BhbGxfbXVsdGlsaWJfdHVuZV92YWx1ZXMoZCwgJ1BBQ0tBR0VfQVJDSFMnKX0KQUxMX01V
TFRJTElCX1BBQ0tBR0VfQVJDSFM9ImFsbCBhbnkgbm9hcmNoIHg4NiBpMzg2IGk0ODYgaTU4NiBp
Njg2IGNvcmUyIGNvbmNvcmRpYSIKIyBMQ09ORl9WRVJTSU9OPTQKTENPTkZfVkVSU0lPTj0iNCIK
IyBGRVRDSENNRF9oZz0vdXNyL2Jpbi9lbnYgaGcKRkVUQ0hDTURfaGc9Ii91c3IvYmluL2VudiBo
ZyIKIyBUVU5FVkFMSUQ9Tm9uZQojIEJVSUxEX0NYWD0ke0NDQUNIRX0ke0JVSUxEX1BSRUZJWH1n
KysgJHtCVUlMRF9DQ19BUkNIfQpleHBvcnQgQlVJTERfQ1hYPSJnKysiCiMgc3lzY29uZmRpcj0k
e2Jhc2VfcHJlZml4fS9ldGMKZXhwb3J0IHN5c2NvbmZkaXI9Ii9ldGMiCiMgVVBEQVRFQ09NTUFO
RF9jdnM9L3Vzci9iaW4vZW52IGN2cyAtZCR7Q1ZTUk9PVH0gdXBkYXRlIC1kIC1QICR7Q1ZTQ09P
UFRTfQpVUERBVEVDT01NQU5EX2N2cz0iL3Vzci9iaW4vZW52IGN2cyAtZCR7Q1ZTUk9PVH0gdXBk
YXRlIC1kIC1QICR7Q1ZTQ09PUFRTfSIKIyBNS1RFTVBDTUQ9bWt0ZW1wIC1xICR7VE1QQkFTRX0K
TUtURU1QQ01EPSJta3RlbXAgLXEgJHtUTVBCQVNFfSIKIyBEQVRFPTIwMTIwNTIxCkRBVEU9IjIw
MTIwNTIxIgojIEFQQUNIRV9NSVJST1I9aHR0cDovL3d3dy5hcGFjaGUub3JnL2Rpc3QKQVBBQ0hF
X01JUlJPUj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2Rpc3QiCiMgZG9fcm9vdGZzPU5vbmUKIyBM
RD0ke0hPU1RfUFJFRklYfWxkJHtUT09MQ0hBSU5fT1BUSU9OU30gJHtIT1NUX0xEX0FSQ0h9CmV4
cG9ydCBMRD0iaTU4Ni1jY2QtbGludXgtbGQgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSIKIyBIT1NUX1ZFTkRPUj0ke1RB
UkdFVF9WRU5ET1J9CkhPU1RfVkVORE9SPSItY2NkIgojIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVu
ZS14ODYtNjQ9JHtUVU5FX1BLR0FSQ0hfdHVuZS14ODYtNjR9ClBBQ0tBR0VfRVhUUkFfQVJDSFNf
dHVuZS14ODYtNjQ9Ing4Nl82NCIKIyBQUkVGRVJSRURfUFJPVklERVJfZ2RrLXBpeGJ1Zj1nZGst
cGl4YnVmClBSRUZFUlJFRF9QUk9WSURFUl9nZGstcGl4YnVmPSJnZGstcGl4YnVmIgojIFNTVEFU
RV9NQU5GSUxFQkFTRT0ke1NTVEFURV9NQU5JRkVTVFN9L21hbmlmZXN0LSR7U1NUQVRFX01BTk1B
Q0h9LQpTU1RBVEVfTUFORklMRUJBU0U9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3NzdGF0ZS1jb250cm9sL21hbmlmZXN0LWNvbmNvcmRpYS0iCiMgTUFDSElORV9UQVNL
X1BST1ZJREVSPSR7REVGQVVMVF9UQVNLX1BST1ZJREVSfQpNQUNISU5FX1RBU0tfUFJPVklERVI9
InRhc2stYmFzZSIKIyBFWFRSQV9PRU1BS0U9LWUgTUFLRUZMQUdTPQpFWFRSQV9PRU1BS0U9Ii1l
IE1BS0VGTEFHUz0iCiMgTERGTEFHUz0ke1RBUkdFVF9MREZMQUdTfQpleHBvcnQgTERGTEFHUz0i
LVdsLC1PMSAtV2wsLS1oYXNoLXN0eWxlPWdudSAtV2wsLS1hcy1uZWVkZWQiCiMgSE9TVF9OT05T
WVNWPU5vbmUKIyBiaW5kaXI9JHtleGVjX3ByZWZpeH0vYmluCmV4cG9ydCBiaW5kaXI9Ii91c3Iv
YmluIgojIFNVTU1BUllfJHtQTn0tZGJnPU5vbmUKIyBTWVNWSU5JVF9FTkFCTEVEX0dFVFRZUz0x
IDIgMyA0ClNZU1ZJTklUX0VOQUJMRURfR0VUVFlTPSIxIDIgMyA0IgojIFRBUkdFVF9DWFhGTEFH
Uz0ke1RBUkdFVF9DRkxBR1N9IC1mcGVybWlzc2l2ZQpleHBvcnQgVEFSR0VUX0NYWEZMQUdTPSIt
TzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1mcGVybWlzc2l2ZSIK
IyBCVUlMRF9BUkNIPSR7QG9zLnVuYW1lKClbNF19CkJVSUxEX0FSQ0g9Ing4Nl82NCIKIyBNQUtF
PW1ha2UKZXhwb3J0IE1BS0U9Im1ha2UiCiMgUkRFUEVORFNfbWV0YS10b29sY2hhaW4tZGV2PSR7
UE59ICg9ICR7RVhURU5EUEtHVn0pClJERVBFTkRTX21ldGEtdG9vbGNoYWluLWRldj0ibWV0YS10
b29sY2hhaW4gKD0gMS4wLXI3KSIKIyBpbmNsdWRlZGlyPSR7ZXhlY19wcmVmaXh9L2luY2x1ZGUK
ZXhwb3J0IGluY2x1ZGVkaXI9Ii91c3IvaW5jbHVkZSIKIyBGSUxFU18ke1BOfS1kb2M9Tm9uZQoj
IFBSSU9SSVRZPW9wdGlvbmFsClBSSU9SSVRZPSJvcHRpb25hbCIKIyBQQVJBTExFTF9NQUtFSU5T
VD0ke1BBUkFMTEVMX01BS0V9ClBBUkFMTEVMX01BS0VJTlNUPSItaiAxMiIKIyBTRVBQVUtVX1FV
RVJZPU5vbmUKIyBCQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT049c3lzcm9vdF9jaGVja2hhc2hl
cwpCQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT049InN5c3Jvb3RfY2hlY2toYXNoZXMiCiMgU0VD
VElPTj1iYXNlClNFQ1RJT049ImJhc2UiCiMgU0RLX0NDX0FSQ0g9LW1hcmNoPWk2ODYKU0RLX0ND
X0FSQ0g9Ii1tYXJjaD1pNjg2IgojIE1BSU5UQUlORVI9UG9reSA8cG9reUB5b2N0b3Byb2plY3Qu
b3JnPgpNQUlOVEFJTkVSPSJQb2t5IDxwb2t5QHlvY3RvcHJvamVjdC5vcmc+IgojIEJVSUxEX0ND
PSR7Q0NBQ0hFfSR7QlVJTERfUFJFRklYfWdjYyAke0JVSUxEX0NDX0FSQ0h9CmV4cG9ydCBCVUlM
RF9DQz0iZ2NjIgojIExJQkNPVkVSUklERT06bGliYy1nbGliYwpMSUJDT1ZFUlJJREU9IjpsaWJj
LWdsaWJjIgojIEJVSUxEX0xERkxBR1M9LUwke1NUQUdJTkdfTElCRElSX05BVElWRX0gLUwke1NU
QUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLWxpbmssJHtTVEFHSU5HX0xJQkRJ
Ul9OQVRJVkV9IC1XbCwtcnBhdGgtbGluaywke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSAt
V2wsLXJwYXRoLCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLCR7U1RBR0lOR19C
QVNFX0xJQkRJUl9OQVRJVkV9IC1XbCwtTzEKZXhwb3J0IEJVSUxEX0xERkxBR1M9Ii1ML2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vz
ci9saWIgLUwvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94
ODZfNjQtbGludXgvbGliIC1XbCwtcnBhdGgtbGluaywvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYiAtV2wsLXJwYXRoLWxp
bmssL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0
LWxpbnV4L2xpYiAtV2wsLXJwYXRoLC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliIC1XbCwtcnBhdGgsL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L2xpYiAtV2ws
LU8xIgojIFNES1RBUkdFVFNZU1JPT1Q9JHtTREtQQVRIfS9zeXNyb290cy8ke01VTFRJTUFDSF9U
QVJHRVRfU1lTfQpTREtUQVJHRVRTWVNST09UPSIvb3B0L2NvbmNvcmRpYS92MC4xLjQvc3lzcm9v
dHMvY29yZTItY2NkLWxpbnV4IgojIFRBUkdFVF9BUkNIPSR7VFVORV9BUkNIfQp1bnNldCBUQVJH
RVRfQVJDSAojIEJCSU5DTFVERUxPR1NfTElORVM9Tm9uZQojIExJTlVYTElCQ1ZFUlNJT049My4y
CkxJTlVYTElCQ1ZFUlNJT049IjMuMiIKIyBMSUJDRVhURU5TSU9OPSR7QFsnJywgJy1nbnUnXVso
ZC5nZXRWYXIoJ0FCSUVYVEVOU0lPTicsIFRydWUpIG9yICcnKSAhPSAnJ119CiMgQ0NBQ0hFX0RJ
Uj0ke1RNUERJUn0vY2NhY2hlLyR7TVVMVElNQUNIX0hPU1RfU1lTfS8ke1BOfQpleHBvcnQgQ0NB
Q0hFX0RJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvY2NhY2hlL2Nv
cmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbiIKIyBRVUlMVFJDRklMRT0ke1NUQUdJTkdfQklO
RElSX05BVElWRX0vcXVpbHRyYwpRVUlMVFJDRklMRT0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9iaW4vcXVpbHRyYyIKIyBT
RUNUSU9OX21ldGEtdG9vbGNoYWluLWRldj1kZXZlbApTRUNUSU9OX21ldGEtdG9vbGNoYWluLWRl
dj0iZGV2ZWwiCiMgQkJMQVlFUlM9IC9vcHQvcG9reS5naXQvbWV0YSAvb3B0L3Bva3kuZ2l0L21l
dGEteW9jdG8gJHtUT1BESVJ9L21ldGEtY29uY29yZGlhIApCQkxBWUVSUz0iL29wdC9wb2t5Lmdp
dC9tZXRhIC9vcHQvcG9reS5naXQvbWV0YS15b2N0byAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL21ldGEtY29uY29yZGlhIgojIEJPT1RTVFJBUF9FWFRSQV9SREVQRU5EUz0KIyBQ
UkVGRVJSRURfVkVSU0lPTl9saW51eC1saWJjLWhlYWRlcnMtbmF0aXZlc2RrPSR7TElOVVhMSUJD
VkVSU0lPTn0KUFJFRkVSUkVEX1ZFUlNJT05fbGludXgtbGliYy1oZWFkZXJzLW5hdGl2ZXNkaz0i
My4yIgojIEJVSUxEX0xEPSR7QlVJTERfUFJFRklYfWxkICR7QlVJTERfTERfQVJDSH0KZXhwb3J0
IEJVSUxEX0xEPSJsZCIKIyBCVUlMRF9TWVM9JHtCVUlMRF9BUkNIfSR7QlVJTERfVkVORE9SfS0k
e0JVSUxEX09TfQpCVUlMRF9TWVM9Ing4Nl82NC1saW51eCIKIyBQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC8ke1NES19QUkVGSVh9bGliYy1mb3ItZ2NjLW5hdGl2ZXNkaz1Ob25lCiMgUUFERVBF
TkRTX3ZpcnRjbGFzcy1uYXRpdmU9CiMgQkJfQkFTRUhBU0hfdGFzay1kb191bnBhY2s9M2I2YWEx
MmQ2OTFiMmUxNmNlODE5N2UxMTdkN2EzNjEKQkJfQkFTRUhBU0hfdGFzay1kb191bnBhY2s9IjNi
NmFhMTJkNjkxYjJlMTZjZTgxOTdlMTE3ZDdhMzYxIgojIERJU1RST19GRUFUVVJFU19MSUJDX05F
VD1saWJjLWluZXQgbGliYy1uaXMKRElTVFJPX0ZFQVRVUkVTX0xJQkNfTkVUPSJsaWJjLWluZXQg
bGliYy1uaXMiCiMgUEFUQ0hERVBFTkRFTkNZPSR7UEFUQ0hUT09MfS1uYXRpdmU6ZG9fcG9wdWxh
dGVfc3lzcm9vdApQQVRDSERFUEVOREVOQ1k9InF1aWx0LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNy
b290IgojIEVYVFJBT1BLR0NPTkZJRz1wb2t5LWZlZWQtY29uZmlnLW9wa2cKRVhUUkFPUEtHQ09O
RklHPSJwb2t5LWZlZWQtY29uZmlnLW9wa2ciCiMgT0VJTkNMVURFTE9HUz15ZXMKT0VJTkNMVURF
TE9HUz0ieWVzIgojIFBSQVVUT0lOWD0ke1BGfQpQUkFVVE9JTlg9Im1ldGEtdG9vbGNoYWluLTEu
MC1yNyIKIyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9nZXR0ZXh0PWdldHRleHQKUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvZ2V0dGV4dD0iZ2V0dGV4dCIKIyBGRVRDSENPTU1BTkRfd2dl
dD0vdXNyL2Jpbi9lbnYgd2dldCAtdCA1IC1udiAtLXBhc3NpdmUtZnRwIC0tbm8tY2hlY2stY2Vy
dGlmaWNhdGUgLVAgJHtETF9ESVJ9ICcke1VSSX0nCkZFVENIQ09NTUFORF93Z2V0PSIvdXNyL2Jp
bi9lbnYgd2dldCAtdCA1IC1udiAtLXBhc3NpdmUtZnRwIC0tbm8tY2hlY2stY2VydGlmaWNhdGUg
LVAgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9kb3dubG9hZHMgJyR7VVJJfSci
CiMgR1BFX0VYVFJBX1NWTj1zdm46Ly9wcm9qZWN0cy5saW51eHRvZ28ub3JnL3N2bi9ncGUvdHJ1
bmsvZXh0cmE7bW9kdWxlPSR7UE59CkdQRV9FWFRSQV9TVk49InN2bjovL3Byb2plY3RzLmxpbnV4
dG9nby5vcmcvc3ZuL2dwZS90cnVuay9leHRyYTttb2R1bGU9bWV0YS10b29sY2hhaW4iCiMgb2xk
aW5jbHVkZWRpcj0ke2V4ZWNfcHJlZml4fS9pbmNsdWRlCmV4cG9ydCBvbGRpbmNsdWRlZGlyPSIv
dXNyL2luY2x1ZGUiCiMgVFVORUNPTkZMSUNUUz1Ob25lCiMgU0VSSUFMX0NPTlNPTEU9MTE1MjAw
IHR0eVMwClNFUklBTF9DT05TT0xFPSIxMTUyMDAgdHR5UzAiCiMgRklMRVNfbWV0YS10b29sY2hh
aW4tZG9jPSR7ZG9jZGlyfSAke21hbmRpcn0gJHtpbmZvZGlyfSAke2RhdGFkaXJ9L2d0ay1kb2Mg
JHtkYXRhZGlyfS9nbm9tZS9oZWxwCkZJTEVTX21ldGEtdG9vbGNoYWluLWRvYz0iL3Vzci9zaGFy
ZS9kb2MgL3Vzci9zaGFyZS9tYW4gL3Vzci9zaGFyZS9pbmZvIC91c3Ivc2hhcmUvZ3RrLWRvYyAv
dXNyL3NoYXJlL2dub21lL2hlbHAiCiMgVElNRT0xODQyMjEKVElNRT0iMTg0MjIxIgojIEJCRklM
RV9QUklPUklUWV9jb25jb3JkaWE9Tm9uZQojIGxvY2Fsc3RhdGVkaXJfbmF0aXZlc2RrPS92YXIK
bG9jYWxzdGF0ZWRpcl9uYXRpdmVzZGs9Ii92YXIiCiMgVVBEQVRFQ09NTUFORF9zdm49L3Vzci9i
aW4vZW52IHN2biB1cGRhdGUgJHtTVk5DT09QVFN9ClVQREFURUNPTU1BTkRfc3ZuPSIvdXNyL2Jp
bi9lbnYgc3ZuIHVwZGF0ZSAke1NWTkNPT1BUU30iCiMgUlJFQ09NTUVORFNfJHtQTn0tZGJnPU5v
bmUKIyBTRVBQVUtVX1VTRVI9Tm9uZQojIEZFRURfREVQTE9ZRElSX0JBU0VfVVJJPU5vbmUKIyBU
VU5FX1BLR0FSQ0hfdHVuZS1jb3JlMj1jb3JlMgpUVU5FX1BLR0FSQ0hfdHVuZS1jb3JlMj0iY29y
ZTIiCiMgTElNSVRfQlVJTFRfTE9DQUxFUz1QT1NJWCBlbl9VUyBlbl9HQgpMSU1JVF9CVUlMVF9M
T0NBTEVTPSJQT1NJWCBlbl9VUyBlbl9HQiIKIyBESVNUUk9fRkVBVFVSRVNfVVNCPXVzYmhvc3QK
RElTVFJPX0ZFQVRVUkVTX1VTQj0idXNiaG9zdCIKIyBERVNDUklQVElPTl8ke1BOfS1kYmc9Tm9u
ZQojIEVYVEVORFBSQVVUTz0ke0BbJy4ke1BSQVVUT1x4N2QnLCcnXVtkLmdldFZhcignUFJBVVRP
JywxKSBpcyBOb25lXX0KIyBMQU5HPWVuX1VTLlVURi04CkxBTkc9ImVuX1VTLlVURi04IgojIEJV
SUxEX0NDTEQ9JHtCVUlMRF9QUkVGSVh9Z2NjICR7QlVJTERfQ0NfQVJDSH0KZXhwb3J0IEJVSUxE
X0NDTEQ9ImdjYyIKIyBERUJVR19GTEFHUz0tZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlw
ZXMKREVCVUdfRkxBR1M9Ii1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyIKIyBQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1nY2MtaW5pdGlhbD1nY2MtY3Jv
c3MtaW5pdGlhbApQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1nY2Mt
aW5pdGlhbD0iZ2NjLWNyb3NzLWluaXRpYWwiCiMgQj0ke1N9CkI9Ii9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWlu
LTEuMC1yNy9tZXRhLXRvb2xjaGFpbi0xLjAiCiMgR1JPVVBfZmV0Y2hlcj1Ob25lCiMgU0RLX05B
TUVfUFJFRklYPW9lY29yZQpTREtfTkFNRV9QUkVGSVg9Im9lY29yZSIKIyBCQlBBVEg9L29wdC9w
b2t5LmdpdC9tZXRhLXlvY3RvOjovb3B0L3Bva3kuZ2l0L21ldGE6L2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby9tZXRhLWNvbmNvcmRpYQpCQlBBVEg9Ii9vcHQvcG9reS5naXQvbWV0
YS15b2N0bzo6L29wdC9wb2t5LmdpdC9tZXRhOi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vbWV0YS1jb25jb3JkaWEiCiMgUkRFUEVORFNfJHtQTn0tc3RhdGljZGV2PU5vbmUKIyBW
SVJUVUFMLVJVTlRJTUVfbG9naW5fbWFuYWdlcj0KIyBIT1NUX0xEX0FSQ0g9JHtUQVJHRVRfTERf
QVJDSH0KSE9TVF9MRF9BUkNIPSIiCiMgR1JPVVBfZGVwZW5kZW5jaWVzPU5vbmUKIyBCQl9CQVNF
SEFTSF90YXNrLWRvX3BvcHVsYXRlX2xpYz0zMGY4ZTc5OTc2OThiY2FkNWVlMWM0ZmI1ODEzN2Jm
NwpCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX2xpYz0iMzBmOGU3OTk3Njk4YmNhZDVlZTFj
NGZiNTgxMzdiZjciCiMgVFVORV9QS0dBUkNIX3R1bmUtY29yZTItNjQ9Y29yZTJfNjQKVFVORV9Q
S0dBUkNIX3R1bmUtY29yZTItNjQ9ImNvcmUyXzY0IgojIEJCX1NUUklDVF9DSEVDS1NVTT0xCkJC
X1NUUklDVF9DSEVDS1NVTT0iMSIKIyBUT09MQ0hBSU5fQ09ORklHU0lURV9TWVNST09UQ0FDSEU9
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlh
L3Vzci9zaGFyZS9pNTg2LWNjZC1saW51eF9jb25maWdfc2l0ZS5kClRPT0xDSEFJTl9DT05GSUdT
SVRFX1NZU1JPT1RDQUNIRT0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
c3lzcm9vdHMvY29uY29yZGlhL3Vzci9zaGFyZS9pNTg2LWNjZC1saW51eF9jb25maWdfc2l0ZS5k
IgojIFNES0dDQ1ZFUlNJT049NC42JQpTREtHQ0NWRVJTSU9OPSI0LjYlIgojIFBSRU1JUlJPUlM9
YnpyOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3Nv
dXJjZXMvIFxuIGN2czovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3Jn
L21pcnJvci9zb3VyY2VzLyBcbiBnaXQ6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9w
cm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaGc6Ly8uKi8uKiAgICBodHRwOi8vZG93bmxv
YWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIG9zYzovLy4qLy4qICAgaHR0
cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBwNDovLy4q
Ly4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8g
XG4gc3ZrOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9y
L3NvdXJjZXMvIFxuIHN2bjovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qu
b3JnL21pcnJvci9zb3VyY2VzLyBcbgpQUkVNSVJST1JTPSJienI6Ly8uKi8uKiAgIGh0dHA6Ly9k
b3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gY3ZzOi8vLiovLiog
ICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGdp
dDovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3Vy
Y2VzLyBcbiBoZzovLy4qLy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9t
aXJyb3Ivc291cmNlcy8gXG4gb3NjOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJv
amVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHA0Oi8vLiovLiogICAgaHR0cDovL2Rvd25sb2Fk
cy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBzdms6Ly8uKi8uKiAgIGh0dHA6
Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gc3ZuOi8vLiov
LiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxu
IgojIFJERVBFTkRTPSR7VE9PTENIQUlOX1RBUkdFVF9UQVNLfSAke1RPT0xDSEFJTl9IT1NUX1RB
U0t9ClJERVBFTkRTPSJ0YXNrLWNvcmUtc3RhbmRhbG9uZS1zZGstdGFyZ2V0IHRhc2stY29yZS1z
dGFuZGFsb25lLXNkay10YXJnZXQtZGJnIHRhc2stc2RrLWhvc3QtbmF0aXZlc2RrIHRhc2stY3Jv
c3MtY2FuYWRpYW4taTU4NiIKIyBQQUNLQUdFUz0KIyBFWENMVURFX0ZST01fV09STERfcG4tY2x1
dHRlci1ib3gyZD0xCkVYQ0xVREVfRlJPTV9XT1JMRF9wbi1jbHV0dGVyLWJveDJkPSIxIgojIElQ
S0dDT05GX1RBUkdFVD0ke1dPUktESVJ9L29wa2cuY29uZgpJUEtHQ09ORl9UQVJHRVQ9Ii9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21l
dGEtdG9vbGNoYWluLTEuMC1yNy9vcGtnLmNvbmYiCiMgQlVJTERfQ1BQPSR7QlVJTERfUFJFRklY
fWNwcCAke0JVSUxEX0NDX0FSQ0h9CmV4cG9ydCBCVUlMRF9DUFA9ImNwcCIKIyBIT01FUEFHRT11
bmtub3duCkhPTUVQQUdFPSJ1bmtub3duIgojIFNBTklUWV9WRVJTSU9OPTEKU0FOSVRZX1ZFUlNJ
T049IjEiCiMgREVQTE9ZX0RJUl9UT09MUz0ke0RFUExPWV9ESVJ9L3Rvb2xzCkRFUExPWV9ESVJf
VE9PTFM9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2RlcGxveS90b29s
cyIKIyBMSUNfRklMRVNfQ0hLU1VNPWZpbGU6Ly8ke0NPUkVCQVNFfS9MSUNFTlNFO21kNT0zZjQw
ZDc5OTQzOTcxMDkyODVlYzdiODFmZGViM2I1OCAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8k
e0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0
ZGUyMDQyMApMSUNfRklMRVNfQ0hLU1VNPSJmaWxlOi8vL29wdC9wb2t5LmdpdC9MSUNFTlNFO21k
NT0zZjQwZDc5OTQzOTcxMDkyODVlYzdiODFmZGViM2I1OCAgICAgICAgICAgICAgICAgICAgIGZp
bGU6Ly8vb3B0L3Bva3kuZ2l0L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEw
Mzg0MzYxYjRkZTIwNDIwIgojIExJTktFUl9IQVNIX1NUWUxFX21pcHM9c3lzdgpMSU5LRVJfSEFT
SF9TVFlMRV9taXBzPSJzeXN2IgojIEZJTEVTX21ldGEtdG9vbGNoYWluLXN0YXRpY2Rldj0ke2xp
YmRpcn0vKi5hICR7YmFzZV9saWJkaXJ9LyouYSAke2xpYmRpcn0vJHtCUE59LyouYQpGSUxFU19t
ZXRhLXRvb2xjaGFpbi1zdGF0aWNkZXY9Ii91c3IvbGliLyouYSAvbGliLyouYSAvdXNyL2xpYi9t
ZXRhLXRvb2xjaGFpbi8qLmEiCiMgQVNORUVERURfcG4tcnBtPQojIEJBU0VfTElCX3R1bmUteDg2
LTY0PWxpYjY0CkJBU0VfTElCX3R1bmUteDg2LTY0PSJsaWI2NCIKIyBYODZBUkNIMzI9aTU4NgpY
ODZBUkNIMzI9Imk1ODYiCiMgQ1BVX0ZFQVRVUkVTX2FybT12ZnAKQ1BVX0ZFQVRVUkVTX2FybT0i
dmZwIgojIFJFU1VNRUNPTU1BTkRfd2dldD0vdXNyL2Jpbi9lbnYgd2dldCAtYyAtdCA1IC1udiAt
LXBhc3NpdmUtZnRwIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgLVAgJHtETF9ESVJ9ICcke1VSSX0n
ClJFU1VNRUNPTU1BTkRfd2dldD0iL3Vzci9iaW4vZW52IHdnZXQgLWMgLXQgNSAtbnYgLS1wYXNz
aXZlLWZ0cCAtLW5vLWNoZWNrLWNlcnRpZmljYXRlIC1QIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vZG93bmxvYWRzICcke1VSSX0nIgojIEJCX0JBU0VIQVNIX3Rhc2stZG9fcG9w
dWxhdGVfc2RrPWNhMjhkZTI3ZTcxMTBjNDQ2ZDk5OTY1OWUyZjZlMzcxCkJCX0JBU0VIQVNIX3Rh
c2stZG9fcG9wdWxhdGVfc2RrPSJjYTI4ZGUyN2U3MTEwYzQ0NmQ5OTk2NTllMmY2ZTM3MSIKIyBG
SUxFU18ke1BOfS1zdGF0aWNkZXY9Tm9uZQojIEdQRV9NSVJST1I9aHR0cDovL2dwZS5saW51eHRv
Z28ub3JnL2Rvd25sb2FkL3NvdXJjZQpHUEVfTUlSUk9SPSJodHRwOi8vZ3BlLmxpbnV4dG9nby5v
cmcvZG93bmxvYWQvc291cmNlIgojIHByZWZpeF9uYXRpdmVzZGs9L3VzcgpwcmVmaXhfbmF0aXZl
c2RrPSIvdXNyIgojIFNTVEFURV9TQ0FOX0NNRD1maW5kICR7U1NUQVRFX0JVSUxERElSfSBcKCAt
bmFtZSAiJHtAIlwiIC1vIC1uYW1lIFwiIi5qb2luKGQuZ2V0VmFyKCJTU1RBVEVfU0NBTl9GSUxF
UyIsIFRydWUpLnNwbGl0KCkpfSIgXCkgLXR5cGUgZgpTU1RBVEVfU0NBTl9DTUQ9ImZpbmQgJHtT
U1RBVEVfQlVJTERESVJ9IFwoIC1uYW1lIFwiKi5sYVwiIC1vIC1uYW1lIFwiKi1jb25maWdcIiAt
byAtbmFtZSBcIipfY29uZmlnXCIgXCkgLXR5cGUgZiIKIyBIQU5ESEVMRFNfQ1ZTPWN2czovL2Fu
b25jdnM6YW5vbmN2c0Bhbm9uY3ZzLmhhbmRoZWxkcy5vcmcvY3ZzCkhBTkRIRUxEU19DVlM9ImN2
czovL2Fub25jdnM6YW5vbmN2c0Bhbm9uY3ZzLmhhbmRoZWxkcy5vcmcvY3ZzIgojIFNUQUdJTkdf
QkFTRV9MSUJESVJfTkFUSVZFPSR7U1RBR0lOR19ESVJfTkFUSVZFfSR7YmFzZV9saWJkaXJfbmF0
aXZlfQpTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRT0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L2xpYiIKIyBTU1RBVEVfTUFORklM
RVBSRUZJWD0ke1NTVEFURV9NQU5GSUxFQkFTRX0ke1BOfQpTU1RBVEVfTUFORklMRVBSRUZJWD0i
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3N0YXRlLWNvbnRyb2wvbWFu
aWZlc3QtY29uY29yZGlhLW1ldGEtdG9vbGNoYWluIgojIEZJTEVTX21ldGEtdG9vbGNoYWluLWxv
Y2FsZT0ke2RhdGFkaXJ9L2xvY2FsZQpGSUxFU19tZXRhLXRvb2xjaGFpbi1sb2NhbGU9Ii91c3Iv
c2hhcmUvbG9jYWxlIgojIEJPT1RTVFJBUF9FWFRSQV9SUkVDT01NRU5EUz0KIyBCQl9CQVNFSEFT
SF90YXNrLWRvX3BhY2thZ2Vfd3JpdGVfaXBrX3NldHNjZW5lPWRkZTQ4YzJlZGMwNGZjODRlZjA0
NmY4MTczNzk0ZjkyCkJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZV93cml0ZV9pcGtfc2V0c2Nl
bmU9ImRkZTQ4YzJlZGMwNGZjODRlZjA0NmY4MTczNzk0ZjkyIgojIFNES19ERVBMT1k9JHtUTVBE
SVJ9L2RlcGxveS9zZGsKU0RLX0RFUExPWT0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvZGVwbG95L3NkayIKIyBQUkVGRVJSRURfVkVSU0lPTl9nemlwLW5hdGl2ZT0xLjQK
UFJFRkVSUkVEX1ZFUlNJT05fZ3ppcC1uYXRpdmU9IjEuNCIKIyBCQkZJTEVfUFJJT1JJVFlfbm9y
bWFsPTUKQkJGSUxFX1BSSU9SSVRZX25vcm1hbD0iNSIKIyBUT1BESVI9L2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3RybwpUT1BESVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8iCiMgU0VDVElPTl9tZXRhLXRvb2xjaGFpbi1kYmc9ZGV2ZWwKU0VDVElPTl9tZXRhLXRv
b2xjaGFpbi1kYmc9ImRldmVsIgojIERJU1RST19GRUFUVVJFU19MSUJDX1RJTlk9bGliYy1saWJt
IGxpYmMtY3J5cHQKRElTVFJPX0ZFQVRVUkVTX0xJQkNfVElOWT0ibGliYy1saWJtIGxpYmMtY3J5
cHQiCiMgQUxMT1dFRF9GTEFHUz0tTyAtbWNwdSAtbWFyY2ggLXBpcGUKQUxMT1dFRF9GTEFHUz0i
LU8gLW1jcHUgLW1hcmNoIC1waXBlIgojIEFTTkVFREVEX3BuLW1pbmltbz0KIyBWSVJUVUFMLVJV
TlRJTUVfdXBkYXRlLWFsdGVybmF0aXZlcz11cGRhdGUtYWx0ZXJuYXRpdmVzLWN3b3J0aApWSVJU
VUFMLVJVTlRJTUVfdXBkYXRlLWFsdGVybmF0aXZlcz0idXBkYXRlLWFsdGVybmF0aXZlcy1jd29y
dGgiCiMgRklMRV9ESVJOQU1FPSR7QG9zLnBhdGguZGlybmFtZShkLmdldFZhcignRklMRScpKX0K
RklMRV9ESVJOQU1FPSIvb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEiCiMgU09V
UkNFRk9SR0VfTUlSUk9SPWh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0ClNPVVJDRUZP
UkdFX01JUlJPUj0iaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQiCiMgREVGQVVMVFRV
TkU9Y29yZTIKREVGQVVMVFRVTkU9ImNvcmUyIgojIFNUQUdJTkdfRVhFQ1BSRUZJWERJUj0ke1NU
QUdJTkdfRElSX0hPU1R9JHtleGVjX3ByZWZpeH0KU1RBR0lOR19FWEVDUFJFRklYRElSPSIvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNy
IgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1saWJjLWluaXRp
YWw9Tm9uZQojIEJVSUxEX0NGTEFHUz0ke0JVSUxEX0NQUEZMQUdTfSAke0JVSUxEX09QVElNSVpB
VElPTn0KZXhwb3J0IEJVSUxEX0NGTEFHUz0iLWlzeXN0ZW0vaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUgLU8yIC1w
aXBlIgojIFBTRVVET19MT0NBTFNUQVRFRElSPSR7V09SS0RJUn0vcHNldWRvLwpQU0VVRE9fTE9D
QUxTVEFURURJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9j
b3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3BzZXVkby8iCiMgQVNTVU1FX1NI
TElCUz1Ob25lCiMgT0xERVNUX0tFUk5FTD0yLjYuMTYKT0xERVNUX0tFUk5FTD0iMi42LjE2Igoj
IEZJTEVTX21ldGEtdG9vbGNoYWluLWRldj0ke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9saWIqJHtT
T0xJQlNERVZ9ICR7bGliZGlyfS8qLmxhICR7bGliZGlyfS8qLm8gJHtsaWJkaXJ9L3BrZ2NvbmZp
ZyAke2RhdGFkaXJ9L3BrZ2NvbmZpZyAke2RhdGFkaXJ9L2FjbG9jYWwgJHtiYXNlX2xpYmRpcn0v
Ki5vCkZJTEVTX21ldGEtdG9vbGNoYWluLWRldj0iL3Vzci9pbmNsdWRlIC91c3IvbGliL2xpYiou
c28gL3Vzci9saWIvKi5sYSAvdXNyL2xpYi8qLm8gL3Vzci9saWIvcGtnY29uZmlnIC91c3Ivc2hh
cmUvcGtnY29uZmlnIC91c3Ivc2hhcmUvYWNsb2NhbCAvbGliLyoubyIKIyBQUkVGRVJSRURfVkVS
U0lPTl9weXRob24tbmF0aXZlPTIuNy4yClBSRUZFUlJFRF9WRVJTSU9OX3B5dGhvbi1uYXRpdmU9
IjIuNy4yIgojIFNFQ1RJT05fJHtQTn0tZG9jPU5vbmUKIyBYQVVUSE9SSVRZPSR7SE9NRX0vLlhh
dXRob3JpdHkKWEFVVEhPUklUWT0iL2hvbWUvcmNoYXRyZS8uWGF1dGhvcml0eSIKIyBBVVRIT1I9
Tm9uZQojIEJCRklMRV9QQVRURVJOPV4vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L21ldGEtY29uY29yZGlhLwpCQkZJTEVfUEFUVEVSTj0iXi9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vbWV0YS1jb25jb3JkaWEvIgojIEJVSUxEU0RLX0xERkxBR1M9LUwke1NUQUdJ
TkdfTElCRElSfSAtV2wsLXJwYXRoLWxpbmssJHtTVEFHSU5HX0xJQkRJUn0gLVdsLC1ycGF0aCwk
e2xpYmRpcn0gLVdsLC1PMSAtTCR7U1RBR0lOR19ESVJfSE9TVH0ke2Jhc2VfbGliZGlyfSAtV2ws
LXJwYXRoLWxpbmssJHtTVEFHSU5HX0RJUl9IT1NUfSR7YmFzZV9saWJkaXJ9IC1XbCwtcnBhdGgs
JHtiYXNlX2xpYmRpcn0gLVdsLC1PMQpCVUlMRFNES19MREZMQUdTPSItTC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYS91c3IvbGliIC1XbCwt
cnBhdGgtbGluaywvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290
cy9jb25jb3JkaWEvdXNyL2xpYiAtV2wsLXJwYXRoLC91c3IvbGliIC1XbCwtTzEgLUwvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvbGliIC1X
bCwtcnBhdGgtbGluaywvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNy
b290cy9jb25jb3JkaWEvbGliIC1XbCwtcnBhdGgsL2xpYiAtV2wsLU8xIgojIEJBU0VMSUI9bGli
CkJBU0VMSUI9ImxpYiIKIyBTREtNQUNISU5FPWk2ODYKU0RLTUFDSElORT0iaTY4NiIKIyBQT0tZ
X0RFRkFVTFRfRVhUUkFfUkRFUEVORFM9dGFzay1jb3JlLWJvb3QKUE9LWV9ERUZBVUxUX0VYVFJB
X1JERVBFTkRTPSJ0YXNrLWNvcmUtYm9vdCIKIyBTT0xJQlNERVY9LnNvClNPTElCU0RFVj0iLnNv
IgojIEZJTEVTXyR7UE59LWRldj1Ob25lCiMgU0VQUFVLVV9QUk9EVUNUPU5vbmUKIyBVU0VSX0NM
QVNTRVM9aW1hZ2UtbWtsaWJzIGltYWdlLXByZWxpbmsKVVNFUl9DTEFTU0VTPSJpbWFnZS1ta2xp
YnMgaW1hZ2UtcHJlbGluayIKIyBCQklOQ0xVREVEPS9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2Vz
L3Byc2Vydi5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5i
YmNsYXNzIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vY29uZi9sb2NhbC5jb25m
IC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0
L21ldGEvY2xhc3Nlcy9wb3B1bGF0ZV9zZGsuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2Vz
L2xpY2Vuc2UuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9vcHQvcG9reS5naXQvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3RjbGliYy1lZ2xpYmMuaW5jIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3BvcHVsYXRl
X3Nka19pcGsuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xh
c3MgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvaW1hZ2V0ZXN0LWR1bW15LmJiY2xhc3MgL29w
dC9wb2t5LmdpdC9tZXRhL2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL21ldGEtY29uY29yZGlhL2NvbmYvbGF5ZXIuY29uZiAvb3B0L3Bva3ku
Z2l0L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nl
cy90b29sY2hhaW4tc2NyaXB0cy5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2Vz
L3NpdGVpbmZvLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
d29ybGQtYnJva2VuLmluYyAvb3B0L3Bva3kuZ2l0L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNl
dHVwLmNvbmYgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIC9vcHQv
cG9reS5naXQvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9j
bGFzc2VzL21pcnJvcnMuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEteW9jdG8vY29uZi9sYXll
ci5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcmUy
LmluYyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL21ldGEtY29uY29yZGlhL2Nv
bmYvbWFjaGluZS9jb25jb3JkaWEuY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEvY29uZi9sYXllci5j
b25mIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3BhY2thZ2VfaXBrLmJiY2xhc3MgL29wdC9w
b2t5LmdpdC9tZXRhL2NvbmYvbWFjaGluZS1zZGsvaTY4Ni5jb25mIC9vcHQvcG9reS5naXQvbWV0
YS15b2N0by9jb25mL2Rpc3Ryby9wb2t5LXRpbnkuY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEvY2xh
c3Nlcy91dGlscy5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJj
bGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3MgL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9jb25mL3NpdGUuY29uZiAvb3B0L3Bva3ku
Z2l0L21ldGEvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jb25mL21h
Y2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vY29uZi9iYmxheWVycy5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3BhY2th
Z2VkYXRhLmJiY2xhc3MgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9jb25mL2Rp
c3Ryby9jb25jb3JkaWEuY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xh
c3MgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2lhMzIvYXJjaC1pYTMy
LmluYyAvb3B0L3Bva3kuZ2l0L21ldGEvY29uZi9iaXRiYWtlLmNvbmYgL29wdC9wb2t5LmdpdC9t
ZXRhL2NsYXNzZXMvaW1hZ2UtbWtsaWJzLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNz
ZXMvZGViaWFuLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvdGVybWluYWwuYmJj
bGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvb3B0L3Bva3ku
Z2l0L21ldGEvY29uZi9zYW5pdHkuY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9kZXZz
aGVsbC5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL21ldGEuYmJjbGFzcyAvb3B0
L3Bva3kuZ2l0L21ldGEteW9jdG8vY29uZi9kaXN0cm8vcG9reS5jb25mIC9vcHQvcG9reS5naXQv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyAvb3B0L3Bva3kuZ2l0
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMgL29wdC9wb2t5
LmdpdC9tZXRhL2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNsYXNzCkJCSU5DTFVERUQ9Ii9vcHQv
cG9reS5naXQvbWV0YS9jbGFzc2VzL3Byc2Vydi5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9j
bGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vY29uZi9sb2NhbC5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL2xvZ2dpbmcu
YmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9wb3B1bGF0ZV9zZGsuYmJjbGFzcyAv
b3B0L3Bva3kuZ2l0L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jIC9vcHQv
cG9reS5naXQvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9vcHQvcG9reS5naXQv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1lZ2xpYmMuaW5jIC9vcHQvcG9reS5naXQv
bWV0YS9jbGFzc2VzL3BvcHVsYXRlX3Nka19pcGsuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEv
Y2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvaW1hZ2V0
ZXN0LWR1bW15LmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvYWJpX3ZlcnNpb24uY29u
ZiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL21ldGEtY29uY29yZGlhL2NvbmYv
bGF5ZXIuY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAvb3B0
L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy90b29sY2hhaW4tc2NyaXB0cy5iYmNsYXNzIC9vcHQvcG9r
eS5naXQvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9vcHQv
cG9reS5naXQvbWV0YS9jbGFzc2VzL3NpdGVpbmZvLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYyAvb3B0L3Bva3kuZ2l0L21ldGEv
Y29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNz
IC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL21pcnJvcnMuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0
L21ldGEteW9jdG8vY29uZi9sYXllci5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jb25mL21hY2hp
bmUvaW5jbHVkZS90dW5lLWNvcmUyLmluYyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL21ldGEtY29uY29yZGlhL2NvbmYvbWFjaGluZS9jb25jb3JkaWEuY29uZiAvb3B0L3Bva3ku
Z2l0L21ldGEvY29uZi9sYXllci5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jbGFzc2VzL3BhY2th
Z2VfaXBrLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvbWFjaGluZS1zZGsvaTY4Ni5j
b25mIC9vcHQvcG9reS5naXQvbWV0YS15b2N0by9jb25mL2Rpc3Ryby9wb2t5LXRpbnkuY29uZiAv
b3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy91dGlscy5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0
YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy91dGls
aXR5LXRhc2tzLmJiY2xhc3MgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9jb25m
L3NpdGUuY29uZiAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9vcHQv
cG9reS5naXQvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jIC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vY29uZi9iYmxheWVycy5jb25mIC9vcHQvcG9reS5n
aXQvbWV0YS9jbGFzc2VzL3BhY2thZ2VkYXRhLmJiY2xhc3MgL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby9jb25mL2Rpc3Ryby9jb25jb3JkaWEuY29uZiAvb3B0L3Bva3kuZ2l0L21l
dGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL2lhMzIvYXJjaC1pYTMyLmluYyAvb3B0L3Bva3kuZ2l0L21ldGEvY29uZi9iaXRiYWtl
LmNvbmYgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvaW1hZ2UtbWtsaWJzLmJiY2xhc3MgL29w
dC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3MgL29wdC9wb2t5LmdpdC9tZXRh
L2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY2xhc3Nlcy9zc3Rh
dGUuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEvY29uZi9zYW5pdHkuY29uZiAvb3B0L3Bva3ku
Z2l0L21ldGEvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzIC9vcHQvcG9reS5naXQvbWV0YS9jbGFz
c2VzL21ldGEuYmJjbGFzcyAvb3B0L3Bva3kuZ2l0L21ldGEteW9jdG8vY29uZi9kaXN0cm8vcG9r
eS5jb25mIC9vcHQvcG9reS5naXQvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZh
dWx0LmluYyAvb3B0L3Bva3kuZ2l0L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXBy
b3ZpZGVycy5pbmMgL29wdC9wb2t5LmdpdC9tZXRhL2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNs
YXNzIgojIE1LVEVNUERJUkNNRD1ta3RlbXAgLWQgLXEgJHtUTVBCQVNFfQpNS1RFTVBESVJDTUQ9
Im1rdGVtcCAtZCAtcSAke1RNUEJBU0V9IgojIERJU1RST19GRUFUVVJFU19MSUJDX1JFR0VYPWxp
YmMtcG9zaXgtcmVnZXhwCkRJU1RST19GRUFUVVJFU19MSUJDX1JFR0VYPSJsaWJjLXBvc2l4LXJl
Z2V4cCIKIyBCQl9IQVNIQ0hFQ0tfRlVOQ1RJT049c3N0YXRlX2NoZWNraGFzaGVzCkJCX0hBU0hD
SEVDS19GVU5DVElPTj0ic3N0YXRlX2NoZWNraGFzaGVzIgojIElQS0dDT05GX1NESz0ke1dPUktE
SVJ9L29wa2ctc2RrLmNvbmYKSVBLR0NPTkZfU0RLPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcv
b3BrZy1zZGsuY29uZiIKIyBTT0xJQlM9LnNvLioKU09MSUJTPSIuc28uKiIKIyBQUk9WSURFUz0k
e1B9ICR7UEZ9ICR7UE59IApQUk9WSURFUz0ibWV0YS10b29sY2hhaW4tMS4wIG1ldGEtdG9vbGNo
YWluLTEuMC1yNyBtZXRhLXRvb2xjaGFpbiIKIyBQWVRIT05fQkFTRVZFUlNJT049Mi43ClBZVEhP
Tl9CQVNFVkVSU0lPTj0iMi43IgojIFJQUk9WSURFUz0KIyBkb19wYWNrYWdlX3dyaXRlX3Rhcj1O
b25lCiMgZG9jZGlyPSR7ZGF0YWRpcn0vZG9jCmV4cG9ydCBkb2NkaXI9Ii91c3Ivc2hhcmUvZG9j
IgojIERJU1RST19GRUFUVVJFUz0ke0RJU1RST19GRUFUVVJFU19USU5ZfSAke0RJU1RST19GRUFU
VVJFU19ORVR9ICR7RElTVFJPX0ZFQVRVUkVTX1VTQn0gJHtESVNUUk9fRkVBVFVSRVNfVVNCR0FE
R0VUfSAke0RJU1RST19GRUFUVVJFU19XSUZJfSAke0RJU1RST19GRUFUVVJFU19MSUJDfSAgbGFy
Z2VmaWxlIG9wZW5nbCR7QG9lLnV0aWxzLmRpc3Ryb19mZWF0dXJlc19iYWNrZmlsbChkKX0KRElT
VFJPX0ZFQVRVUkVTPSJwY2kgaXB2NCB1c2Job3N0ICR7RElTVFJPX0ZFQVRVUkVTX1VTQkdBREdF
VH0gJHtESVNUUk9fRkVBVFVSRVNfV0lGSX0gaXB2NCBpcHY2IGxpYmMtYmFja3RyYWNlIGxpYmMt
YmlnLW1hY3JvcyBsaWJjLWJzZCBsaWJjLWN4eC10ZXN0cyBsaWJjLWNhdGdldHMgbGliYy1jaGFy
c2V0cyBsaWJjLWNyeXB0IAkJCQkJbGliYy1jcnlwdC11ZmMgbGliYy1kYi1hbGlhc2VzIGxpYmMt
ZW52eiBsaWJjLWZjdnQgbGliYy1mbXRtc2cgbGliYy1mc3RhYiBsaWJjLWZ0cmF2ZXJzZSAJCQkJ
CWxpYmMtZ2V0bG9naW4gbGliYy1pZG4gbGliYy1pbmV0LWFubCBsaWJjLWxpYm0gbGliYy1saWJt
LWJpZyBsaWJjLWxvY2FsZXMgbGliYy1sb2NhbGUtY29kZSAJCQkJCWxpYmMtbWVtdXNhZ2UgbGli
Yy1uaXMgbGliYy1uc3N3aXRjaCBsaWJjLXJjbWQgbGliYy1ydGxkLWRlYnVnIGxpYmMtc3Bhd24g
bGliYy1zdHJlYW1zIGxpYmMtc3VucnBjIAkJCQkJbGliYy11dG1wIGxpYmMtdXRtcHggbGliYy13
b3JkZXhwIGxpYmMtcG9zaXgtY2xhbmctd2NoYXIgbGliYy1wb3NpeC1yZWdleHAgbGliYy1wb3Np
eC1yZWdleHAtZ2xpYmMgCQkJCQlsaWJjLXBvc2l4LXdjaGFyLWlvICBsYXJnZWZpbGUgb3Blbmds
IHB1bHNlYXVkaW8iCiMgUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcmUyLTY0PSR7UEFDS0FH
RV9FWFRSQV9BUkNIU190dW5lLXg4Ni02NH0gY29yZTJfNjQKUEFDS0FHRV9FWFRSQV9BUkNIU190
dW5lLWNvcmUyLTY0PSJ4ODZfNjQgY29yZTJfNjQiCiMgQ09ORl9WRVJTSU9OPTEKQ09ORl9WRVJT
SU9OPSIxIgojIFJFU1VNRUNPTU1BTkQ9RVJST1IsIHRoaXMgbXVzdCBiZSBhIEJpdEJha2UgYnVn
ClJFU1VNRUNPTU1BTkQ9IkVSUk9SLCB0aGlzIG11c3QgYmUgYSBCaXRCYWtlIGJ1ZyIKIyBpbmZv
ZGlyPSR7ZGF0YWRpcn0vaW5mbwpleHBvcnQgaW5mb2Rpcj0iL3Vzci9zaGFyZS9pbmZvIgojIFBS
RUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtY2NkLWxpbnV4LWxpYmMtZm9yLWdjYz0ke1RD
TElCQ30KUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1jY2QtbGludXgtbGliYy1mb3It
Z2NjPSJlZ2xpYmMiCiMgU0FOSVRZX0FCSUZJTEU9JHtUTVBESVJ9L2FiaV92ZXJzaW9uClNBTklU
WV9BQklGSUxFPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9hYmlfdmVy
c2lvbiIKIyBTSVRFQ09ORklHX1NZU1JPT1RDQUNIRT0ke1NUQUdJTkdfREFUQURJUn0vJHtUQVJH
RVRfU1lTfV9jb25maWdfc2l0ZS5kClNJVEVDT05GSUdfU1lTUk9PVENBQ0hFPSIvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNyL3NoYXJl
L2k1ODYtY2NkLWxpbnV4X2NvbmZpZ19zaXRlLmQiCiMgcnRfdG9vbHM9L29wdC9ydApleHBvcnQg
cnRfdG9vbHM9Ii9vcHQvcnQiCiMgRElTVFJPT1ZFUlJJREVTPSR7QGQuZ2V0VmFyKCdESVNUUk8n
LCBUcnVlKSBvciAnJ30KRElTVFJPT1ZFUlJJREVTPSJjb25jb3JkaWEiCiMgQ09NTUVSQ0lBTF9R
VD0KIyBTVU1NQVJZX21ldGEtdG9vbGNoYWluLWRvYz0ke1NVTU1BUll9IC0gRG9jdW1lbnRhdGlv
biBmaWxlcwpTVU1NQVJZX21ldGEtdG9vbGNoYWluLWRvYz0ibWV0YS10b29sY2hhaW4gdmVyc2lv
biAxLjAtcjcgLSBEb2N1bWVudGF0aW9uIGZpbGVzIgojIExJTktFUl9IQVNIX1NUWUxFPWdudQpM
SU5LRVJfSEFTSF9TVFlMRT0iZ251IgojIFNES19ESVI9JHtXT1JLRElSfS9zZGsKU0RLX0RJUj0i
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGlu
dXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3NkayIKIyBDQz0ke0NDQUNIRX0ke0hPU1RfUFJFRklY
fWdjYyAke0hPU1RfQ0NfQVJDSH0ke1RPT0xDSEFJTl9PUFRJT05TfQpleHBvcnQgQ0M9Imk1ODYt
Y2NkLWxpbnV4LWdjYyAgLW0zMiAgICAtbWFyY2g9Y29yZTIgLW1zc2UzIC1tdHVuZT1nZW5lcmlj
IC1tZnBtYXRoPXNzZSAtLXN5c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvc3lzcm9vdHMvY29uY29yZGlhIgojIFRISVNESVI9JHtAb3MucGF0aC5kaXJuYW1lKGQu
Z2V0VmFyKCdGSUxFJywgVHJ1ZSkpfQpUSElTRElSPSIvb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBl
cy1jb3JlL21ldGEiCiMgSEdESVI9JHtDT19ESVJ9L2hnCkhHRElSPSIvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL2Rvd25sb2Fkcy9oZyIKIyBQQUNLQUdFX0VYVFJBX0FSQ0hTPSR7
UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLSR7REVGQVVMVFRVTkV9fQpQQUNLQUdFX0VYVFJBX0FS
Q0hTPSJ4ODYgaTM4NiBpNDg2IGk1ODYgaTY4NiBjb3JlMiIKIyBCVUlMRF9PUz0ke0Bvcy51bmFt
ZSgpWzBdLmxvd2VyKCl9CkJVSUxEX09TPSJsaW51eCIKIyBJTUFHRV9GU1RZUEVTPWV4dDMgY3Bp
by5negpJTUFHRV9GU1RZUEVTPSJleHQzIGNwaW8uZ3oiCiMgRkFLRVJPT1RFTlY9UFNFVURPX1BS
RUZJWD0ke1NUQUdJTkdfRElSX05BVElWRX0ke3ByZWZpeF9uYXRpdmV9IFBTRVVET19MT0NBTFNU
QVRFRElSPSR7UFNFVURPX0xPQ0FMU1RBVEVESVJ9IFBTRVVET19QQVNTV0Q9JHtQU0VVRE9fUEFT
U1dEfSBQU0VVRE9fTk9TWU1MSU5LRVhQPTEgUFNFVURPX0RJU0FCTEVEPTAKRkFLRVJPT1RFTlY9
IlBTRVVET19QUkVGSVg9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lz
cm9vdHMveDg2XzY0LWxpbnV4L3VzciBQU0VVRE9fTE9DQUxTVEFURURJUj0vaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xj
aGFpbi0xLjAtcjcvcHNldWRvLyBQU0VVRE9fUEFTU1dEPS9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSBQU0VVRE9fTk9TWU1MSU5LRVhQPTEg
UFNFVURPX0RJU0FCTEVEPTAiCiMgU1RBR0lOR19MT0FERVJfRElSPSR7U1RBR0lOR19ESVJfSE9T
VH0vbG9hZGVyClNUQUdJTkdfTE9BREVSX0RJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL2xvYWRlciIKIyBTU1RBVEVfUEtHPSR7U1NU
QVRFX0RJUn0vJHtTU1RBVEVfUEtHTkFNRX0KU1NUQVRFX1BLRz0iL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby9zc3RhdGUtY2FjaGUvc3N0YXRlLW1ldGEtdG9vbGNoYWluLWNvcmUy
LWNjZC1saW51eC0xLjAtcjctY29yZTItMi0ke0JCX1RBU0tIQVNIfSIKIyBESVNUUk9fRVhUUkFf
UkRFUEVORFM9ICAke1BPS1lfREVGQVVMVF9FWFRSQV9SREVQRU5EU30KRElTVFJPX0VYVFJBX1JE
RVBFTkRTPSJ0YXNrLWNvcmUtYm9vdCIKIyBMT0dOQU1FPXJjaGF0cmUKZXhwb3J0IExPR05BTUU9
InJjaGF0cmUiCiMgQVNORUVERURfcG4tY29uc29sZS10b29scz0KIyBBU05FRURFRF9wbi1wdWxz
ZWF1ZGlvPQojIEFTTkVFREVEX3BuLWRpc3RjYz0KIyBCQkZJTEVfUEFUVEVSTl9jb25jb3JkaWE9
Tm9uZQojIEhPU1RfT1M9JHtUQVJHRVRfT1N9CkhPU1RfT1M9ImxpbnV4IgojIGFsbF9wcm94eT1z
b2NrczovL3Byb3h5LXNvY2tzLmpmLmludGVsLmNvbToxMDgwLwphbGxfcHJveHk9InNvY2tzOi8v
cHJveHktc29ja3MuamYuaW50ZWwuY29tOjEwODAvIgojIFRFUk09eHRlcm0KZXhwb3J0IFRFUk09
Inh0ZXJtIgojIExBWUVSX0NPTkZfVkVSU0lPTj00CkxBWUVSX0NPTkZfVkVSU0lPTj0iNCIKIyBN
VUxUSU1BQ0hfSE9TVF9TWVM9JHtQQUNLQUdFX0FSQ0h9JHtIT1NUX1ZFTkRPUn0tJHtIT1NUX09T
fQpNVUxUSU1BQ0hfSE9TVF9TWVM9ImNvcmUyLWNjZC1saW51eCIKIyBUQVJHRVRfRlBVPQojIFNU
QUdJTkdfRElSX05BVElWRT0ke1NUQUdJTkdfRElSfS8ke0JVSUxEX1NZU30KU1RBR0lOR19ESVJf
TkFUSVZFPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94
ODZfNjQtbGludXgiCiMgR05VX01JUlJPUj1mdHA6Ly9mdHAuZ251Lm9yZy9nbnUKR05VX01JUlJP
Uj0iZnRwOi8vZnRwLmdudS5vcmcvZ251IgojIERFUExPWV9ESVI9JHtUTVBESVJ9L2RlcGxveQpE
RVBMT1lfRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3ki
CiMgU1BEWExJQ0VOU0VNQVA9Tm9uZQojIFJPT1RGU19QT1NUSU5TVEFMTF9DT01NQU5EPSBsaWNl
bnNlX2NyZWF0ZV9tYW5pZmVzdDsgClJPT1RGU19QT1NUSU5TVEFMTF9DT01NQU5EPSJsaWNlbnNl
X2NyZWF0ZV9tYW5pZmVzdDsiCiMgTUFDSElORV9FWFRSQV9SREVQRU5EUz0KIyBNVUxUSV9QUk9W
SURFUl9XSElURUxJU1Q9dmlydHVhbC9saWJpbnRsIHZpcnR1YWwvbGliaW50bC1uYXRpdmUgdmly
dHVhbC9saWJpbnRsLW5hdGl2ZXNkayB2aXJ0dWFsL3hzZXJ2ZXIgdmlydHVhbC91cGRhdGUtYWx0
ZXJuYXRpdmVzLW5hdGl2ZSB2aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2ZXMKTVVMVElfUFJPVklE
RVJfV0hJVEVMSVNUPSJ2aXJ0dWFsL2xpYmludGwgdmlydHVhbC9saWJpbnRsLW5hdGl2ZSB2aXJ0
dWFsL2xpYmludGwtbmF0aXZlc2RrIHZpcnR1YWwveHNlcnZlciB2aXJ0dWFsL3VwZGF0ZS1hbHRl
cm5hdGl2ZXMtbmF0aXZlIHZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcyIKIyBTRUNUSU9OXyR7
UE59LXN0YXRpY2Rldj1Ob25lCiMgQVNORUVERURfcG4tcHV6emxlcz0KIyBTSUdHRU5fRVhDTFVE
RVJFQ0lQRVNfQUJJU0FGRT0gIHN5c3Zpbml0LWluaXR0YWIgc2hhZG93LXNlY3VyZXR0eSBvcGtn
LWNvbmZpZy1iYXNlIG5ldGJhc2UgZm9ybWZhY3RvciB4c2VydmVyLXhmODYtY29uZmlnIHBvaW50
ZXJjYWwgYmFzZS1maWxlcyBrZXltYXBzIApTSUdHRU5fRVhDTFVERVJFQ0lQRVNfQUJJU0FGRT0i
c3lzdmluaXQtaW5pdHRhYiBzaGFkb3ctc2VjdXJldHR5IG9wa2ctY29uZmlnLWJhc2UgbmV0YmFz
ZSBmb3JtZmFjdG9yIHhzZXJ2ZXIteGY4Ni1jb25maWcgcG9pbnRlcmNhbCBiYXNlLWZpbGVzIGtl
eW1hcHMiCiMgU1RBTVA9JHtUTVBESVJ9L3N0YW1wcy8ke01VTFRJTUFDSF9UQVJHRVRfU1lTfS8k
e1BGfQpTVEFNUD0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3RhbXBz
L2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjciCiMgQkJJTkNMVURFTE9HUz15
ZXMKQkJJTkNMVURFTE9HUz0ieWVzIgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmlu
dGw9ZWdsaWJjClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmludGw9ImVnbGliYyIKIyBR
QV9MT0dGSUxFPSR7VE1QRElSfS9xYS5sb2cKUUFfTE9HRklMRT0iL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvcWEubG9nIgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFs
L2k2ODYtY2Nkc2RrLWxpbnV4LWxpYmMtZm9yLWdjYy1uYXRpdmVzZGs9JHtUQ0xJQkN9LW5hdGl2
ZXNkawpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9pNjg2LWNjZHNkay1saW51eC1saWJjLWZv
ci1nY2MtbmF0aXZlc2RrPSJlZ2xpYmMtbmF0aXZlc2RrIgojIEdDQ1ZFUlNJT049NC42JQpHQ0NW
RVJTSU9OPSI0LjYlIgojIEJBU0VMSUJfcG93ZXJwYzY0PWxpYjY0CkJBU0VMSUJfcG93ZXJwYzY0
PSJsaWI2NCIKIyBFUlJPUl9RQT1kZXYtc28gZGVidWctZGVwcyBkZXYtZGVwcyBkZWJ1Zy1maWxl
cyBhcmNoIGxhMiBwa2djb25maWcgbGEgcGVybXMKRVJST1JfUUE9ImRldi1zbyBkZWJ1Zy1kZXBz
IGRldi1kZXBzIGRlYnVnLWZpbGVzIGFyY2ggbGEyIHBrZ2NvbmZpZyBsYSBwZXJtcyIKIyBQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC9saWJnbD1tZXNhLWRyaQpQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9saWJnbD0ibWVzYS1kcmkiCiMgUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcmUy
PSR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXg4Nn0gaTM4NiBpNDg2IGk1ODYgaTY4NiBjb3Jl
MgpQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29yZTI9Ing4NiBpMzg2IGk0ODYgaTU4NiBpNjg2
IGNvcmUyIgojIEJBU0VfTElCX3R1bmUtY29yZTItNjQteDMyPWxpYngzMgpCQVNFX0xJQl90dW5l
LWNvcmUyLTY0LXgzMj0ibGlieDMyIgojIENQUEZMQUdTPSR7VEFSR0VUX0NQUEZMQUdTfQojIEVY
Q0xVREVfRlJPTV9XT1JMRD0xCkVYQ0xVREVfRlJPTV9XT1JMRD0iMSIKIyBRRU1VSU1BR0VURVNU
Uz0vb3B0L3Bva3kuZ2l0L3NjcmlwdHMvcWVtdWltYWdlLXRlc3RzClFFTVVJTUFHRVRFU1RTPSIv
b3B0L3Bva3kuZ2l0L3NjcmlwdHMvcWVtdWltYWdlLXRlc3RzIgojIFFBUEFUSFRFU1Q9Tm9uZQoj
IFNTVEFURV9NQU5NQUNIPWNvbmNvcmRpYQpTU1RBVEVfTUFOTUFDSD0iY29uY29yZGlhIgojIFBL
R0RBVEFfRElSPSR7VE1QRElSfS9wa2dkYXRhLyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9ClBLR0RB
VEFfRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9wa2dkYXRhL2Nv
cmUyLWNjZC1saW51eCIKIyBzeXNjb25mZGlyX25hdGl2ZT0vZXRjCnN5c2NvbmZkaXJfbmF0aXZl
PSIvZXRjIgojIFhMSUJTX01JUlJPUj1odHRwOi8veGxpYnMuZnJlZWRlc2t0b3Aub3JnL3JlbGVh
c2UKWExJQlNfTUlSUk9SPSJodHRwOi8veGxpYnMuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2UiCiMg
U0RLX0FSQ0g9aTY4NgpTREtfQVJDSD0iaTY4NiIKIyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVh
bC91cGRhdGUtYWx0ZXJuYXRpdmVzLW5hdGl2ZT1vcGtnLW5hdGl2ZQpQUkVGRVJSRURfUFJPVklE
RVJfdmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzLW5hdGl2ZT0ib3BrZy1uYXRpdmUiCiMgUElE
PSR7QG9zLmdldHBpZCgpfQpQSUQ9IjgzNDAiCiMgREVQQ0hBSU5fUE9TVD0tZGV2IC1kYmcKREVQ
Q0hBSU5fUE9TVD0iLWRldiAtZGJnIgojIFNTVEFURV9ESVI9JHtUT1BESVJ9L3NzdGF0ZS1jYWNo
ZQpTU1RBVEVfRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3NzdGF0ZS1j
YWNoZSIKIyBNQUNISU5FX0ZFQVRVUkVTPWtlcm5lbDI2IHBjaSB1c2Job3N0IGV4dDIgZXh0MyB4
ODYgYWNwaSBzZXJpYWwgdXNiZ2FkZ2V0Ck1BQ0hJTkVfRkVBVFVSRVM9Imtlcm5lbDI2IHBjaSB1
c2Job3N0IGV4dDIgZXh0MyB4ODYgYWNwaSBzZXJpYWwgdXNiZ2FkZ2V0IgojIEQ9JHtXT1JLRElS
fS9pbWFnZQpEPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2Nv
cmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvaW1hZ2UiCiMgVENNT0RFPWRlZmF1
bHQKVENNT0RFPSJkZWZhdWx0IgojIENPTU1PTl9MSUNFTlNFX0RJUj0ke0NPUkVCQVNFfS9tZXRh
L2ZpbGVzL2NvbW1vbi1saWNlbnNlcwpDT01NT05fTElDRU5TRV9ESVI9Ii9vcHQvcG9reS5naXQv
bWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMiCiMgUkFOTElCPSR7SE9TVF9QUkVGSVh9cmFubGli
CmV4cG9ydCBSQU5MSUI9Imk1ODYtY2NkLWxpbnV4LXJhbmxpYiIKIyBMT0NBTEVfU0VDVElPTj0K
IyBQU0VVRE9fUEFTU1dEPSR7U1RBR0lOR19ESVJfVEFSR0VUfQpQU0VVRE9fUEFTU1dEPSIvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEiCiMg
TElCQ19MT0NBTEVfREVQRU5ERU5DSUVTPQllZ2xpYmMtbG9jYWxlZGF0YS1pMThuIAllZ2xpYmMt
Z2NvbnYtaWJtODUwIAllZ2xpYmMtZ2NvbnYtY3AxMjUyIAllZ2xpYmMtZ2NvbnYtaXNvODg1OS0x
IAllZ2xpYmMtZ2NvbnYtaXNvODg1OS0xNSAJbG9jYWxlLWJhc2UtZW4tdXMgCWxvY2FsZS1iYXNl
LWVuLWdiCkxJQkNfTE9DQUxFX0RFUEVOREVOQ0lFUz0iZWdsaWJjLWxvY2FsZWRhdGEtaTE4biAJ
ZWdsaWJjLWdjb252LWlibTg1MCAJZWdsaWJjLWdjb252LWNwMTI1MiAJZWdsaWJjLWdjb252LWlz
bzg4NTktMSAJZWdsaWJjLWdjb252LWlzbzg4NTktMTUgCWxvY2FsZS1iYXNlLWVuLXVzIAlsb2Nh
bGUtYmFzZS1lbi1nYiIKIyBMSUNFTlNFX0RJUkVDVE9SWT0ke0RFUExPWV9ESVJ9L2xpY2Vuc2Vz
CkxJQ0VOU0VfRElSRUNUT1JZPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC9kZXBsb3kvbGljZW5zZXMiCiMgZG9fcGFja2FnZV93cml0ZV9ycG09Tm9uZQojIFRVTkVfRkVB
VFVSRVNfdHVuZS14ODYtNjQteDMyPW14MzIKVFVORV9GRUFUVVJFU190dW5lLXg4Ni02NC14MzI9
Im14MzIiCiMgQkJfQkFTRUhBU0hfdGFzay1kb19wYXRjaD1lOTI4NmM3ODQxNTRlOTBiNjVmYTc0
Yjk0ODE4YTdlOApCQl9CQVNFSEFTSF90YXNrLWRvX3BhdGNoPSJlOTI4NmM3ODQxNTRlOTBiNjVm
YTc0Yjk0ODE4YTdlOCIKIyBUVU5FX1BLR0FSQ0hfdHVuZS14ODYtNjQteDMyPXg4Nl82NF94MzIK
VFVORV9QS0dBUkNIX3R1bmUteDg2LTY0LXgzMj0ieDg2XzY0X3gzMiIKIyBTVEFHSU5HX0RJUl9I
T1NUPSR7U1RBR0lOR19ESVJ9LyR7TUFDSElORX0KU1RBR0lOR19ESVJfSE9TVD0iL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhIgojIGJhc2Vf
c2JpbmRpcj0ke2Jhc2VfcHJlZml4fS9zYmluCmV4cG9ydCBiYXNlX3NiaW5kaXI9Ii9zYmluIgoj
IFRVTkVfUEtHQVJDSF90dW5lLXg4Ni02ND14ODZfNjQKVFVORV9QS0dBUkNIX3R1bmUteDg2LTY0
PSJ4ODZfNjQiCiMgQ1hYPSR7Q0NBQ0hFfSR7SE9TVF9QUkVGSVh9ZysrICR7SE9TVF9DQ19BUkNI
fSR7VE9PTENIQUlOX09QVElPTlN9CmV4cG9ydCBDWFg9Imk1ODYtY2NkLWxpbnV4LWcrKyAgLW0z
MiAgICAtbWFyY2g9Y29yZTIgLW1zc2UzIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPXNzZSAtLXN5
c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29u
Y29yZGlhIgojIFNES1BBVEhOQVRJVkU9JHtTREtQQVRIfS9zeXNyb290cy8ke1NES19TWVN9ClNE
S1BBVEhOQVRJVkU9Ii9vcHQvY29uY29yZGlhL3YwLjEuNC9zeXNyb290cy9pNjg2LWNjZHNkay1s
aW51eCIKIyBQUkVGRVJSRURfUFJPVklERVJfbWF0Y2hib3gtcGFuZWw9bWF0Y2hib3gtcGFuZWwt
MgpQUkVGRVJSRURfUFJPVklERVJfbWF0Y2hib3gtcGFuZWw9Im1hdGNoYm94LXBhbmVsLTIiCiMg
TUFDSElORV9BUkNIPSR7QFtkLmdldFZhcignVFVORV9QS0dBUkNIJywgVHJ1ZSksIGQuZ2V0VmFy
KCdNQUNISU5FJywgVHJ1ZSldW2Jvb2woZC5nZXRWYXIoJ01BQ0hJTkUnLCBUcnVlKSldLnJlcGxh
Y2UoJy0nLCAnXycpfQpNQUNISU5FX0FSQ0g9ImNvbmNvcmRpYSIKIyBJTUFHRV9PVkVSSEVBRF9G
QUNUT1I9MS4zCklNQUdFX09WRVJIRUFEX0ZBQ1RPUj0iMS4zIgojIEJJTlVWRVJTSU9OPTIuMjIK
QklOVVZFUlNJT049IjIuMjIiCiMgU0RLX1ZFTkRPUj0tY2Nkc2RrClNES19WRU5ET1I9Ii1jY2Rz
ZGsiCiMgQVNORUVERURfcG4taWN1PQojIFBSRUZFUlJFRF9WRVJTSU9OX2VnbGliYy1pbml0aWFs
LW5hdGl2ZXNkaz0yLjE1ClBSRUZFUlJFRF9WRVJTSU9OX2VnbGliYy1pbml0aWFsLW5hdGl2ZXNk
az0iMi4xNSIKIyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJpY29udj1lZ2xpYmMKUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliaWNvbnY9ImVnbGliYyIKIyBCQl9CQVNFSEFTSF90
YXNrLWRvX2luc3RhbGw9YzJjNjNlZTA4N2UxNTdlMTVlMDdmYWNmMWNkODU4OWUKQkJfQkFTRUhB
U0hfdGFzay1kb19pbnN0YWxsPSJjMmM2M2VlMDg3ZTE1N2UxNWUwN2ZhY2YxY2Q4NTg5ZSIKIyBC
VUlMRF9SQU5MSUI9JHtCVUlMRF9QUkVGSVh9cmFubGliCmV4cG9ydCBCVUlMRF9SQU5MSUI9InJh
bmxpYiIKIyBERVNDUklQVElPTl8ke1BOfS1kb2M9Tm9uZQojIFNES19WRVJTSU9OPSR7RElTVFJP
X1ZFUlNJT059ClNES19WRVJTSU9OPSJ2MC4xLjQiCiMgQlVJTERfVkVORE9SPQojIEtFUk5FTE9S
R19NSVJST1I9aHR0cDovL2tlcm5lbC5vcmcvcHViCktFUk5FTE9SR19NSVJST1I9Imh0dHA6Ly9r
ZXJuZWwub3JnL3B1YiIKIyBBTExPV19FTVBUWV9tZXRhLXRvb2xjaGFpbi1kZXY9MQpBTExPV19F
TVBUWV9tZXRhLXRvb2xjaGFpbi1kZXY9IjEiCiMgUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLXJ1bnRp
bWUtbmF0aXZlc2RrPSR7U0RLR0NDVkVSU0lPTn0KUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLXJ1bnRp
bWUtbmF0aXZlc2RrPSI0LjYlIgojIFdBUk5fUUE9bGRmbGFncyB1c2VsZXNzLXJwYXRocyBycGF0
aHMgdW5zYWZlLXJlZmVyZW5jZXMtaW4tYmluYXJpZXMgdW5zYWZlLXJlZmVyZW5jZXMtaW4tc2Ny
aXB0cyBzdGF0aWNkZXYKV0FSTl9RQT0ibGRmbGFncyB1c2VsZXNzLXJwYXRocyBycGF0aHMgdW5z
YWZlLXJlZmVyZW5jZXMtaW4tYmluYXJpZXMgdW5zYWZlLXJlZmVyZW5jZXMtaW4tc2NyaXB0cyBz
dGF0aWNkZXYiCiMgQVNORUVERUQ9LVdsLC0tYXMtbmVlZGVkCkFTTkVFREVEPSItV2wsLS1hcy1u
ZWVkZWQiCiMgUEtHX0NPTkZJR19QQVRIPSR7UEtHX0NPTkZJR19ESVJ9OiR7U1RBR0lOR19EQVRB
RElSfS9wa2djb25maWcKZXhwb3J0IFBLR19DT05GSUdfUEFUSD0iL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhLy91c3IvbGliL3BrZ2NvbmZp
ZzovaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3Jk
aWEvdXNyL3NoYXJlL3BrZ2NvbmZpZyIKIyBQUkVGRVJSRURfUFJPVklERVJfZ2RiPWdkYgpQUkVG
RVJSRURfUFJPVklERVJfZ2RiPSJnZGIiCiMgUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXg4Nj0k
e1RVTkVfUEtHQVJDSF90dW5lLXg4Nn0KUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXg4Nj0ieDg2
IgojIEZJTEVTPQojIFRDTElCQz1lZ2xpYmMKVENMSUJDPSJlZ2xpYmMiCiMgUEtHREVTVFdPUks9
JHtXT1JLRElSfS9wa2dkYXRhClBLR0RFU1RXT1JLPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcv
cGtnZGF0YSIKIyBIT1NUX0FTX0FSQ0g9JHtUQVJHRVRfQVNfQVJDSH0KSE9TVF9BU19BUkNIPSIi
CiMgVFVORV9GRUFUVVJFU190dW5lLWNvcmUyLTY0LXgzMj0ke1RVTkVfRkVBVFVSRVNfdHVuZS14
ODYtNjQteDMyfSBjb3JlMgpUVU5FX0ZFQVRVUkVTX3R1bmUtY29yZTItNjQteDMyPSJteDMyIGNv
cmUyIgojIEJVSUxEX05NPSR7QlVJTERfUFJFRklYfW5tCmV4cG9ydCBCVUlMRF9OTT0ibm0iCiMg
QkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlX3dyaXRlX2lwaz0yN2U1NDY1MmJjMzRiN2VlMjBl
Mjk2NzNmMDY2OWEyNQpCQl9CQVNFSEFTSF90YXNrLWRvX3BhY2thZ2Vfd3JpdGVfaXBrPSIyN2U1
NDY1MmJjMzRiN2VlMjBlMjk2NzNmMDY2OWEyNSIKIyBTQU5JVFlfVEVTVEVEX0RJU1RST1M9IFlv
Y3RvIChCdWlsdCBieSBQb2t5IDcuMCkgMS4yIFxuIFVidW50dSAxMC4wNC40IExUUyBcbiBVYnVu
dHUgMTEuMTAgXG4gVWJ1bnR1IDEyLjA0IFxuIEZlZG9yYSByZWxlYXNlIDE1IChMb3ZlbG9jaykg
XG4gRmVkb3JhIHJlbGVhc2UgMTYgKFZlcm5lKSBcbiBGZWRvcmEgcmVsZWFzZSAxNyAoQmVlZnkg
TWlyYWNsZSkgXG4gQ2VudE9TIHJlbGVhc2UgNS42IChGaW5hbCkgXG4gQ2VudE9TIHJlbGVhc2Ug
NS43IChGaW5hbCkgXG4gQ2VudE9TIHJlbGVhc2UgNi4yIChGaW5hbCkgXG4gRGViaWFuIEdOVS9M
aW51eCA2LjAuNCAoc3F1ZWV6ZSkgXG4gb3BlblNVU0UgMTEuNCBcbiBvcGVuU1VTRSAxMi4xIFxu
IApTQU5JVFlfVEVTVEVEX0RJU1RST1M9IllvY3RvIChCdWlsdCBieSBQb2t5IDcuMCkgMS4yIFxu
IFVidW50dSAxMC4wNC40IExUUyBcbiBVYnVudHUgMTEuMTAgXG4gVWJ1bnR1IDEyLjA0IFxuIEZl
ZG9yYSByZWxlYXNlIDE1IChMb3ZlbG9jaykgXG4gRmVkb3JhIHJlbGVhc2UgMTYgKFZlcm5lKSBc
biBGZWRvcmEgcmVsZWFzZSAxNyAoQmVlZnkgTWlyYWNsZSkgXG4gQ2VudE9TIHJlbGVhc2UgNS42
IChGaW5hbCkgXG4gQ2VudE9TIHJlbGVhc2UgNS43IChGaW5hbCkgXG4gQ2VudE9TIHJlbGVhc2Ug
Ni4yIChGaW5hbCkgXG4gRGViaWFuIEdOVS9MaW51eCA2LjAuNCAoc3F1ZWV6ZSkgXG4gb3BlblNV
U0UgMTEuNCBcbiBvcGVuU1VTRSAxMi4xIFxuIgojIFBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlv
Y3RvX3FlbXV4ODYtNjQ9My4yJQpQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0b19xZW11eDg2
LTY0PSIzLjIlIgojIFRVTkVfRkVBVFVSRVM9JHtUVU5FX0ZFQVRVUkVTX3R1bmUtJHtERUZBVUxU
VFVORX19ClRVTkVfRkVBVFVSRVM9Im0zMiBjb3JlMiIKIyBQT0tZUUVNVURFUFM9JHtAYmFzZV9j
b250YWlucygiSU5DT01QQVRJQkxFX0xJQ0VOU0UiLCAiR1BMdjMiLCAiIiwgInFlbXUtY29uZmln
IixkKX0KUE9LWVFFTVVERVBTPSJxZW11LWNvbmZpZyIKIyBQT0tZX0RFRkFVTFRfRVhUUkFfUlJF
Q09NTUVORFM9CiMgUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3Nzc2RrPSR7U0RLR0NDVkVSU0lP
Tn0KUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3Nzc2RrPSI0LjYlIgojIEZJTEVTX21ldGEtdG9v
bGNoYWluLWRiZz0ke0BkLmdldFZhcihbJ0RPVERFQlVHLWRiZycsICdERUJVR0ZJTEVESVJFQ1RP
UlktZGJnJ11bZC5nZXRWYXIoJ1BBQ0tBR0VfREVCVUdfU1BMSVRfU1RZTEUnLCBUcnVlKSA9PSAn
ZGVidWctZmlsZS1kaXJlY3RvcnknXSwgVHJ1ZSl9CkZJTEVTX21ldGEtdG9vbGNoYWluLWRiZz0i
L3Vzci9iaW4vLmRlYnVnIC91c3Ivc2Jpbi8uZGVidWcgL3Vzci9saWJleGVjLy5kZWJ1ZyAvdXNy
L2xpYi8uZGVidWcgL2Jpbi8uZGVidWcgL3NiaW4vLmRlYnVnIC9saWIvLmRlYnVnIC91c3IvbGli
L21ldGEtdG9vbGNoYWluLy5kZWJ1ZyAvdXNyL2xpYi9tYXRjaGJveC1wYW5lbC8uZGVidWcgL3Vz
ci9zcmMvZGVidWciCiMgZnRwX3Byb3h5PWh0dHA6Ly9wcm94eS5qZi5pbnRlbC5jb206OTExCmZ0
cF9wcm94eT0iaHR0cDovL3Byb3h5LmpmLmludGVsLmNvbTo5MTEiCiMgVFJBTlNMQVRFRF9UQVJH
RVRfQVJDSD0ke0BkLmdldFZhcignVEFSR0VUX0FSQ0gnLCBUcnVlKS5yZXBsYWNlKCJfIiwgIi0i
KX0KVFJBTlNMQVRFRF9UQVJHRVRfQVJDSD0iaTU4NiIKIyBUVU5FX1BLR0FSQ0g9JHtUVU5FX1BL
R0FSQ0hfdHVuZS0ke0RFRkFVTFRUVU5FfX0KVFVORV9QS0dBUkNIPSJjb3JlMiIKIyBQUklOQz0w
ClBSSU5DPSIwIgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1j
b21waWxlcmxpYnM9Tm9uZQojIFRVTkVfQ0NBUkdTPSAke0BiYi51dGlscy5jb250YWlucygiVFVO
RV9GRUFUVVJFUyIsICJtMzIiLCAiLW0zMiIsICIiLCBkKX0gJHtAYmIudXRpbHMuY29udGFpbnMo
IlRVTkVfRkVBVFVSRVMiLCAibXgzMiIsICItbXgzMiIsICIiLCBkKX0gJHtAYmIudXRpbHMuY29u
dGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibTY0IiwgIi1tNjQiLCAiIiwgZCl9ICR7QGJiLnV0aWxz
LmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgImk1ODYiLCAiLW1hcmNoPWk1ODYiLCAiIiwgZCl9
ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgImNvcmUyIiwgIi1tYXJjaD1j
b3JlMiAtbXNzZTMgLW10dW5lPWdlbmVyaWMgLW1mcG1hdGg9c3NlIiwgIiIsIGQpfQpUVU5FX0ND
QVJHUz0iLW0zMiAgICAtbWFyY2g9Y29yZTIgLW1zc2UzIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRo
PXNzZSIKIyBJTUFHRV9MSU5LX05BTUU9JHtJTUFHRV9CQVNFTkFNRX0tJHtNQUNISU5FfQpJTUFH
RV9MSU5LX05BTUU9Im1ldGEtdG9vbGNoYWluLWNvbmNvcmRpYSIKIyBGRVRDSENNRF9ienI9L3Vz
ci9iaW4vZW52IGJ6cgpGRVRDSENNRF9ienI9Ii91c3IvYmluL2VudiBienIiCiMgUFJFRkVSUkVE
X1ZFUlNJT05fZWxmdXRpbHM9MC4xNDgKUFJFRkVSUkVEX1ZFUlNJT05fZWxmdXRpbHM9IjAuMTQ4
IgojIEJCRklMRV9QUklPUklUWV95b2N0bz01CkJCRklMRV9QUklPUklUWV95b2N0bz0iNSIKIyBD
VlNfUFJPWFlfSE9TVD1wcm94eS5qZi5pbnRlbC5jb20KQ1ZTX1BST1hZX0hPU1Q9InByb3h5Lmpm
LmludGVsLmNvbSIKIyBBVkFJTFRVTkVTPSB4ODYgeDg2LTY0IHg4Ni02NC14MzIgaTU4NiBjb3Jl
MiBjb3JlMi02NCBjb3JlMi02NC14MzIKQVZBSUxUVU5FUz0ieDg2IHg4Ni02NCB4ODYtNjQteDMy
IGk1ODYgY29yZTIgY29yZTItNjQgY29yZTItNjQteDMyIgojIERJU1RST19GRUFUVVJFU19ORVQ9
aXB2NApESVNUUk9fRkVBVFVSRVNfTkVUPSJpcHY0IgojIE1BQ0hJTkVfRVNTRU5USUFMX0VYVFJB
X1JSRUNPTU1FTkRTPQojIFBSRUZFUlJFRF9WRVJTSU9OX2VnbGliYz0ke0VHTElCQ1ZFUlNJT059
ClBSRUZFUlJFRF9WRVJTSU9OX2VnbGliYz0iMi4xMyIKIyBQUkVGRVJSRURfVkVSU0lPTl9lZ2xp
YmMtbmF0aXZlc2RrPTIuMTUKUFJFRkVSUkVEX1ZFUlNJT05fZWdsaWJjLW5hdGl2ZXNkaz0iMi4x
NSIKIyBCQl9CQVNFSEFTSF90YXNrLWRvX3BhY2thZ2U9OTJiMDE5ZjUyNzYwZWJlZjJkNGNlNjM1
YzY4Njc3MTkKQkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlPSI5MmIwMTlmNTI3NjBlYmVmMmQ0
Y2U2MzVjNjg2NzcxOSIKIyBMT0NBTEVfVVRGOF9PTkxZPTAKTE9DQUxFX1VURjhfT05MWT0iMCIK
IyBiaW5kaXJfbmF0aXZlc2RrPSR7cHJlZml4X25hdGl2ZXNka30vYmluCmJpbmRpcl9uYXRpdmVz
ZGs9Ii91c3IvYmluIgojIENPUkVCQVNFPS9vcHQvcG9reS5naXQKQ09SRUJBU0U9Ii9vcHQvcG9r
eS5naXQiCiMgR05PTUVfTUlSUk9SPWh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3Vy
Y2VzCkdOT01FX01JUlJPUj0iaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMi
CiMgUFJFRkVSUkVEX1ZFUlNJT05fbGliZ2NjPSR7R0NDVkVSU0lPTn0KUFJFRkVSUkVEX1ZFUlNJ
T05fbGliZ2NjPSI0LjYlIgojIFNTVEFURV9QS0dTUEVDPXNzdGF0ZS0ke1BOfS0ke1BBQ0tBR0Vf
QVJDSH0ke1RBUkdFVF9WRU5ET1J9LSR7VEFSR0VUX09TfS0ke1BWfS0ke1BSfS0ke1NTVEFURV9Q
S0dBUkNIfS0ke1NTVEFURV9WRVJTSU9OfS0KU1NUQVRFX1BLR1NQRUM9InNzdGF0ZS1tZXRhLXRv
b2xjaGFpbi1jb3JlMi1jY2QtbGludXgtMS4wLXI3LWNvcmUyLTItIgojIENPTVBBVElCTEVfSE9T
VD1Ob25lCiMgQ1ZTX1BST1hZX1BPUlQ9OTExCkNWU19QUk9YWV9QT1JUPSI5MTEiCiMgREVQTE9Z
X0RJUl9JUEs9JHtERVBMT1lfRElSfS9pcGsKREVQTE9ZX0RJUl9JUEs9Ii9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2RlcGxveS9pcGsiCiMgU1NUQVRFX01BTklGRVNUUz0k
e1RNUERJUn0vc3N0YXRlLWNvbnRyb2wKU1NUQVRFX01BTklGRVNUUz0iL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3N0YXRlLWNvbnRyb2wiCiMgU1RBR0lOR19GSVJNV0FS
RV9ESVI9JHtTVEFHSU5HX0RJUl9IT1NUfS9maXJtd2FyZQpTVEFHSU5HX0ZJUk1XQVJFX0RJUj0i
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlh
L2Zpcm13YXJlIgojIEJCRklMRVM9L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtKi8qLyouYmIg
L29wdC9wb2t5LmdpdC9tZXRhLXlvY3RvL3JlY2lwZXMtKi8qLyouYmIgL29wdC9wb2t5LmdpdC9t
ZXRhLXlvY3RvL3JlY2lwZXMtKi8qLyouYmJhcHBlbmQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby9tZXRhLWNvbmNvcmRpYS9yZWNpcGVzLSovKi8qLmJiIC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vbWV0YS1jb25jb3JkaWEvcmVjaXBlcy0qLyovKi5iYmFwcGVu
ZCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL21ldGEtY29uY29yZGlhLyouYmIg
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9tZXRhLWNvbmNvcmRpYS8qLmJiYXBw
ZW5kCkJCRklMRVM9Ii9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLSovKi8qLmJiIC9vcHQvcG9r
eS5naXQvbWV0YS15b2N0by9yZWNpcGVzLSovKi8qLmJiIC9vcHQvcG9reS5naXQvbWV0YS15b2N0
by9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vbWV0YS1jb25jb3JkaWEvcmVjaXBlcy0qLyovKi5iYiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL21ldGEtY29uY29yZGlhL3JlY2lwZXMtKi8qLyouYmJhcHBlbmQgL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9tZXRhLWNvbmNvcmRpYS8qLmJiIC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vbWV0YS1jb25jb3JkaWEvKi5iYmFwcGVuZCIKIyBB
Uz0ke0hPU1RfUFJFRklYfWFzICR7SE9TVF9BU19BUkNIfQpleHBvcnQgQVM9Imk1ODYtY2NkLWxp
bnV4LWFzIgojIFBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzLWNyb3Nzc2RrPSR7QklOVVZFUlNJ
T059ClBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzLWNyb3Nzc2RrPSIyLjIyIgojIFBSRUZFUlJF
RF9WRVJTSU9OX2xpbnV4LXlvY3RvPTMuMCUKUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG89
IjMuMCUiCiMgU1VNTUFSWV9tZXRhLXRvb2xjaGFpbi1kZXY9JHtTVU1NQVJZfSAtIERldmVsb3Bt
ZW50IGZpbGVzClNVTU1BUllfbWV0YS10b29sY2hhaW4tZGV2PSJtZXRhLXRvb2xjaGFpbiB2ZXJz
aW9uIDEuMC1yNyAtIERldmVsb3BtZW50IGZpbGVzIgojIEZJTEVTXyR7UE59LWxvY2FsZT1Ob25l
CiMgV09SS0RJUj0ke1RNUERJUn0vd29yay8ke01VTFRJTUFDSF9UQVJHRVRfU1lTfS8ke1BGfQpX
T1JLRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUy
LWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjciCiMgUFJFRkVSUkVEX1ZFUlNJT05fdWNs
aWJjLWluaXRpYWw9JHtVQ0xJQkNWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl91Y2xpYmMtaW5p
dGlhbD0iMC45LjMzIgojIFNTVEFURV9QS0dBUkNIPSR7UEFDS0FHRV9BUkNIfQpTU1RBVEVfUEtH
QVJDSD0iY29yZTIiCiMgQlVJTERfQ1BQRkxBR1M9LWlzeXN0ZW0ke1NUQUdJTkdfSU5DRElSX05B
VElWRX0KZXhwb3J0IEJVSUxEX0NQUEZMQUdTPSItaXN5c3RlbS9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvaW5jbHVkZSIKIyBQ
RVJTSVNURU5UX0RJUj0ke1RNUERJUn0vY2FjaGUKUEVSU0lTVEVOVF9ESVI9Ii9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2NhY2hlIgojIEFVVE9fTElCTkFNRV9QS0dTPSR7
UEFDS0FHRVN9CiMgZG9fcGFja2FnZV93cml0ZV9kZWI9Tm9uZQojIFJPT1RfRkxBU0hfU0laRT0y
NTYKUk9PVF9GTEFTSF9TSVpFPSIyNTYiCiMgU0RLX1BBQ0tBR0VfQVJDSFM9YWxsIGFueSBub2Fy
Y2ggJHtTREtfQVJDSH0tbmF0aXZlc2RrClNES19QQUNLQUdFX0FSQ0hTPSJhbGwgYW55IG5vYXJj
aCBpNjg2LW5hdGl2ZXNkayIKIyBDUFA9JHtIT1NUX1BSRUZJWH1nY2MgLUUke1RPT0xDSEFJTl9P
UFRJT05TfSAke0hPU1RfQ0NfQVJDSH0KZXhwb3J0IENQUD0iaTU4Ni1jY2QtbGludXgtZ2NjIC1F
IC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290
cy9jb25jb3JkaWEgIC1tMzIgICAgLW1hcmNoPWNvcmUyIC1tc3NlMyAtbXR1bmU9Z2VuZXJpYyAt
bWZwbWF0aD1zc2UiCiMgQkJGSUxFX0NPTExFQ1RJT05TPSBub3JtYWwgeW9jdG8gY29uY29yZGlh
CkJCRklMRV9DT0xMRUNUSU9OUz0ibm9ybWFsIHlvY3RvIGNvbmNvcmRpYSIKIyBtYW5kaXI9JHtk
YXRhZGlyfS9tYW4KZXhwb3J0IG1hbmRpcj0iL3Vzci9zaGFyZS9tYW4iCiMgSE9TVF9DQ19BUkNI
PSR7VEFSR0VUX0NDX0FSQ0h9CkhPU1RfQ0NfQVJDSD0iLW0zMiAgICAtbWFyY2g9Y29yZTIgLW1z
c2UzIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPXNzZSIKIyBQS0dXUklURURJUklQSz0ke1dPUktE
SVJ9L2RlcGxveS1pcGtzClBLR1dSSVRFRElSSVBLPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcv
ZGVwbG95LWlwa3MiCiMgRElTVFJPX0ZFQVRVUkVTX0xJQkNfTUlOSU1BTD1saWJjLXV0bXAgbGli
Yy1nZXRsb2dpbgpESVNUUk9fRkVBVFVSRVNfTElCQ19NSU5JTUFMPSJsaWJjLXV0bXAgbGliYy1n
ZXRsb2dpbiIKIyBGQUtFUk9PVERJUlM9JHtQU0VVRE9fTE9DQUxTVEFURURJUn0KRkFLRVJPT1RE
SVJTPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNj
ZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvcHNldWRvLyIKIyBFTkFCTEVfV0lERUM9ZmFs
c2UKRU5BQkxFX1dJREVDPSJmYWxzZSIKIyBLRVJORUxfQ09OU09MRT10dHlTMApLRVJORUxfQ09O
U09MRT0idHR5UzAiCiMgVVNFX1BSX1NFUlY9JHtAWzEsMF1bKChub3QgZC5nZXRWYXIoJ1BSU0VS
Vl9IT1NUJywgVHJ1ZSkpIG9yIChub3QgZC5nZXRWYXIoJ1BSU0VSVl9QT1JUJywgVHJ1ZSkpKSBh
bmQgKG5vdCBkLmdldFZhcignUFJTRVJWX0xPQ0tET1dOJywgVHJ1ZSkpXX0KVVNFX1BSX1NFUlY9
IjAiCiMgQ0NBQ0hFPQojIHNiaW5kaXJfbmF0aXZlPSR7cHJlZml4X25hdGl2ZX0vc2JpbgpzYmlu
ZGlyX25hdGl2ZT0iL3Vzci9zYmluIgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k2ODYt
Y2Nkc2RrLWxpbnV4LWxpYmMtaW5pdGlhbC1uYXRpdmVzZGs9JHtUQ0xJQkN9LWluaXRpYWwtbmF0
aXZlc2RrClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k2ODYtY2Nkc2RrLWxpbnV4LWxpYmMt
aW5pdGlhbC1uYXRpdmVzZGs9ImVnbGliYy1pbml0aWFsLW5hdGl2ZXNkayIKIyBQPSR7UE59LSR7
UFZ9ClA9Im1ldGEtdG9vbGNoYWluLTEuMCIKIyBQS0dfQ09ORklHX1NZU1JPT1RfRElSPSR7U1RB
R0lOR19ESVJfSE9TVH0KZXhwb3J0IFBLR19DT05GSUdfU1lTUk9PVF9ESVI9Ii9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSIKIyBGSUxFU1BB
VEg9JHtAYmFzZV9zZXRfZmlsZXNwYXRoKFsgIiR7RklMRV9ESVJOQU1FfS8ke1BGfSIsICIke0ZJ
TEVfRElSTkFNRX0vJHtQfSIsICIke0ZJTEVfRElSTkFNRX0vJHtQTn0iLCAiJHtGSUxFX0RJUk5B
TUV9LyR7QlB9IiwgIiR7RklMRV9ESVJOQU1FfS8ke0JQTn0iLCAiJHtGSUxFX0RJUk5BTUV9L2Zp
bGVzIiwgIiR7RklMRV9ESVJOQU1FfSIgXSwgZCl9CkZJTEVTUEFUSD0iL29wdC9wb2t5LmdpdC9t
ZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC1yNy9saW51eDovb3B0L3Bv
a3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tMS4wLXI3L2k1ODY6
L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC1y
Ny9idWlsZC1saW51eDovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10
b29sY2hhaW4tMS4wLXI3L3BuLW1ldGEtdG9vbGNoYWluOi9vcHQvcG9reS5naXQvbWV0YS9yZWNp
cGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvY29uY29yZGlhOi9vcHQvcG9reS5n
aXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi0xLjAtcjcveDg2Oi9vcHQv
cG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvY29u
Y29yZGlhOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFp
bi0xLjAtcjcvZm9yY2V2YXJpYWJsZTovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21l
dGEvbWV0YS10b29sY2hhaW4tMS4wLXI3L2xpYmMtZ2xpYmM6L29wdC9wb2t5LmdpdC9tZXRhL3Jl
Y2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC1yNy86L29wdC9wb2t5LmdpdC9tZXRh
L3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC9saW51eDovb3B0L3Bva3kuZ2l0
L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tMS4wL2k1ODY6L29wdC9wb2t5
LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC9idWlsZC1saW51
eDovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tMS4w
L3BuLW1ldGEtdG9vbGNoYWluOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9t
ZXRhLXRvb2xjaGFpbi0xLjAvY29uY29yZGlhOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNv
cmUvbWV0YS9tZXRhLXRvb2xjaGFpbi0xLjAveDg2Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVz
LWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi0xLjAvY29uY29yZGlhOi9vcHQvcG9reS5naXQvbWV0
YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi0xLjAvZm9yY2V2YXJpYWJsZTovb3B0
L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tMS4wL2xpYmMt
Z2xpYmM6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWlu
LTEuMC86L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWlu
L2xpbnV4Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFp
bi9pNTg2Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFp
bi9idWlsZC1saW51eDovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10
b29sY2hhaW4vcG4tbWV0YS10b29sY2hhaW46L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29y
ZS9tZXRhL21ldGEtdG9vbGNoYWluL2NvbmNvcmRpYTovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBl
cy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4veDg2Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVz
LWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi9jb25jb3JkaWE6L29wdC9wb2t5LmdpdC9tZXRhL3Jl
Y2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluL2ZvcmNldmFyaWFibGU6L29wdC9wb2t5Lmdp
dC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluL2xpYmMtZ2xpYmM6L29wdC9w
b2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLzovb3B0L3Bva3ku
Z2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tMS4wL2xpbnV4Oi9vcHQv
cG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi0xLjAvaTU4Njov
b3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tMS4wL2J1
aWxkLWxpbnV4Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xj
aGFpbi0xLjAvcG4tbWV0YS10b29sY2hhaW46L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29y
ZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC9jb25jb3JkaWE6L29wdC9wb2t5LmdpdC9tZXRhL3Jl
Y2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC94ODY6L29wdC9wb2t5LmdpdC9tZXRh
L3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC9jb25jb3JkaWE6L29wdC9wb2t5
LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLTEuMC9mb3JjZXZhcmlh
YmxlOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi0x
LjAvbGliYy1nbGliYzovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10
b29sY2hhaW4tMS4wLzovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10
b29sY2hhaW4vbGludXg6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEt
dG9vbGNoYWluL2k1ODY6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL21ldGEt
dG9vbGNoYWluL2J1aWxkLWxpbnV4Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0
YS9tZXRhLXRvb2xjaGFpbi9wbi1tZXRhLXRvb2xjaGFpbjovb3B0L3Bva3kuZ2l0L21ldGEvcmVj
aXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4vY29uY29yZGlhOi9vcHQvcG9reS5naXQvbWV0
YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi94ODY6L29wdC9wb2t5LmdpdC9tZXRh
L3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluL2NvbmNvcmRpYTovb3B0L3Bva3kuZ2l0
L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4vZm9yY2V2YXJpYWJsZTovb3B0
L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4vbGliYy1nbGli
Yzovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4vOi9v
cHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9maWxlcy9saW51eDovb3B0L3Bva3ku
Z2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvZmlsZXMvaTU4Njovb3B0L3Bva3kuZ2l0L21ldGEv
cmVjaXBlcy1jb3JlL21ldGEvZmlsZXMvYnVpbGQtbGludXg6L29wdC9wb2t5LmdpdC9tZXRhL3Jl
Y2lwZXMtY29yZS9tZXRhL2ZpbGVzL3BuLW1ldGEtdG9vbGNoYWluOi9vcHQvcG9reS5naXQvbWV0
YS9yZWNpcGVzLWNvcmUvbWV0YS9maWxlcy9jb25jb3JkaWE6L29wdC9wb2t5LmdpdC9tZXRhL3Jl
Y2lwZXMtY29yZS9tZXRhL2ZpbGVzL3g4Njovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3Jl
L21ldGEvZmlsZXMvY29uY29yZGlhOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0
YS9maWxlcy9mb3JjZXZhcmlhYmxlOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0
YS9maWxlcy9saWJjLWdsaWJjOi9vcHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9m
aWxlcy86L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL2xpbnV4Oi9vcHQvcG9r
eS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9pNTg2Oi9vcHQvcG9reS5naXQvbWV0YS9yZWNp
cGVzLWNvcmUvbWV0YS9idWlsZC1saW51eDovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3Jl
L21ldGEvcG4tbWV0YS10b29sY2hhaW46L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMtY29yZS9t
ZXRhL2NvbmNvcmRpYTovb3B0L3Bva3kuZ2l0L21ldGEvcmVjaXBlcy1jb3JlL21ldGEveDg2Oi9v
cHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9jb25jb3JkaWE6L29wdC9wb2t5Lmdp
dC9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL2ZvcmNldmFyaWFibGU6L29wdC9wb2t5LmdpdC9tZXRh
L3JlY2lwZXMtY29yZS9tZXRhL2xpYmMtZ2xpYmM6L29wdC9wb2t5LmdpdC9tZXRhL3JlY2lwZXMt
Y29yZS9tZXRhLyIKIyBUVU5FX0FSQ0g9JHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVS
RVMiLCAibTMyIiwgIiR7WDg2QVJDSDMyfSIsICIiICxkKX0ke0BiYi51dGlscy5jb250YWlucygi
VFVORV9GRUFUVVJFUyIsICJteDMyIiwgIiR7WDg2QVJDSDY0fSIsICIiICxkKX0ke0BiYi51dGls
cy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJtNjQiLCAiJHtYODZBUkNINjR9IiwgIiIgLGQp
fQpUVU5FX0FSQ0g9Imk1ODYiCiMgUUFERVBFTkRTPXByZWxpbmstbmF0aXZlClFBREVQRU5EUz0i
cHJlbGluay1uYXRpdmUiCiMgV0hJVEVMSVNUX0dQTHYzPWxlc3MKV0hJVEVMSVNUX0dQTHYzPSJs
ZXNzIgojIEVfU1ZOPXN2bjovL3N2bi5lbmxpZ2h0ZW5tZW50Lm9yZy9zdm4vZQpFX1NWTj0ic3Zu
Oi8vc3ZuLmVubGlnaHRlbm1lbnQub3JnL3N2bi9lIgojIEJVSUxEX0NYWEZMQUdTPSR7QlVJTERf
Q0ZMQUdTfSAtZnBlcm1pc3NpdmUKZXhwb3J0IEJVSUxEX0NYWEZMQUdTPSItaXN5c3RlbS9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91
c3IvaW5jbHVkZSAtTzIgLXBpcGUgLWZwZXJtaXNzaXZlIgojIE9CSkNPUFk9JHtIT1NUX1BSRUZJ
WH1vYmpjb3B5CmV4cG9ydCBPQkpDT1BZPSJpNTg2LWNjZC1saW51eC1vYmpjb3B5IgojIFRVTkVf
RkVBVFVSRVNfdHVuZS14ODY9bTMyClRVTkVfRkVBVFVSRVNfdHVuZS14ODY9Im0zMiIKIyBTUkNf
VVJJPQojIFNTVEFURVBPU1RJTlNURlVOQ1M9CiMgaW5jbHVkZWRpcl9uYXRpdmU9JHtwcmVmaXhf
bmF0aXZlfS9pbmNsdWRlCmluY2x1ZGVkaXJfbmF0aXZlPSIvdXNyL2luY2x1ZGUiCiMgQUxMT1df
RU1QVFlfbWV0YS10b29sY2hhaW4tZGJnPTEKQUxMT1dfRU1QVFlfbWV0YS10b29sY2hhaW4tZGJn
PSIxIgojIFNVTU1BUllfJHtQTn0tZG9jPU5vbmUKIyBGSUxFU1lTVEVNX1BFUk1TX1RBQkxFUz1j
b25mL2ZzLXBlcm1zLnR4dApGSUxFU1lTVEVNX1BFUk1TX1RBQkxFUz0iY29uZi9mcy1wZXJtcy50
eHQiCiMgTUFDSElORV9FWFRSQV9SUkVDT01NRU5EUz1rZXJuZWwtbW9kdWxlcwpNQUNISU5FX0VY
VFJBX1JSRUNPTU1FTkRTPSJrZXJuZWwtbW9kdWxlcyIKIyBTVEFHSU5HX0JJTkRJUj0ke1NUQUdJ
TkdfRElSX0hPU1R9JHtiaW5kaXJ9ClNUQUdJTkdfQklORElSPSIvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNyL2JpbiIKIyBQUkVGRVJS
RURfUFJPVklERVJfZGJ1cy1nbGliLW5hdGl2ZT1kYnVzLWdsaWItbmF0aXZlClBSRUZFUlJFRF9Q
Uk9WSURFUl9kYnVzLWdsaWItbmF0aXZlPSJkYnVzLWdsaWItbmF0aXZlIgojIEZJTEVTRElSPSR7
QGJiLndoaWNoKGQuZ2V0VmFyKCdGSUxFU1BBVEgnLCBUcnVlKSwgJy4nKX0KRklMRVNESVI9Ii9v
cHQvcG9reS5naXQvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS8uIgojIFVTRV9OTFM9bm8KVVNFX05M
Uz0ibm8iCiMgT0VMQVlPVVRfQUJJPTgKT0VMQVlPVVRfQUJJPSI4IgojIFNDT05GX1ZFUlNJT049
MQpTQ09ORl9WRVJTSU9OPSIxIgojIERJU1RST19GRUFUVVJFU19MSUJDX0RFRkFVTFQ9aXB2NCBp
cHY2IGxpYmMtYmFja3RyYWNlIGxpYmMtYmlnLW1hY3JvcyBsaWJjLWJzZCBsaWJjLWN4eC10ZXN0
cyBsaWJjLWNhdGdldHMgbGliYy1jaGFyc2V0cyBsaWJjLWNyeXB0IAkJCQkJbGliYy1jcnlwdC11
ZmMgbGliYy1kYi1hbGlhc2VzIGxpYmMtZW52eiBsaWJjLWZjdnQgbGliYy1mbXRtc2cgbGliYy1m
c3RhYiBsaWJjLWZ0cmF2ZXJzZSAJCQkJCWxpYmMtZ2V0bG9naW4gbGliYy1pZG4gbGliYy1pbmV0
LWFubCBsaWJjLWxpYm0gbGliYy1saWJtLWJpZyBsaWJjLWxvY2FsZXMgbGliYy1sb2NhbGUtY29k
ZSAJCQkJCWxpYmMtbWVtdXNhZ2UgbGliYy1uaXMgbGliYy1uc3N3aXRjaCBsaWJjLXJjbWQgbGli
Yy1ydGxkLWRlYnVnIGxpYmMtc3Bhd24gbGliYy1zdHJlYW1zIGxpYmMtc3VucnBjIAkJCQkJbGli
Yy11dG1wIGxpYmMtdXRtcHggbGliYy13b3JkZXhwIGxpYmMtcG9zaXgtY2xhbmctd2NoYXIgbGli
Yy1wb3NpeC1yZWdleHAgbGliYy1wb3NpeC1yZWdleHAtZ2xpYmMgCQkJCQlsaWJjLXBvc2l4LXdj
aGFyLWlvCkRJU1RST19GRUFUVVJFU19MSUJDX0RFRkFVTFQ9ImlwdjQgaXB2NiBsaWJjLWJhY2t0
cmFjZSBsaWJjLWJpZy1tYWNyb3MgbGliYy1ic2QgbGliYy1jeHgtdGVzdHMgbGliYy1jYXRnZXRz
IGxpYmMtY2hhcnNldHMgbGliYy1jcnlwdCAJCQkJCWxpYmMtY3J5cHQtdWZjIGxpYmMtZGItYWxp
YXNlcyBsaWJjLWVudnogbGliYy1mY3Z0IGxpYmMtZm10bXNnIGxpYmMtZnN0YWIgbGliYy1mdHJh
dmVyc2UgCQkJCQlsaWJjLWdldGxvZ2luIGxpYmMtaWRuIGxpYmMtaW5ldC1hbmwgbGliYy1saWJt
IGxpYmMtbGlibS1iaWcgbGliYy1sb2NhbGVzIGxpYmMtbG9jYWxlLWNvZGUgCQkJCQlsaWJjLW1l
bXVzYWdlIGxpYmMtbmlzIGxpYmMtbnNzd2l0Y2ggbGliYy1yY21kIGxpYmMtcnRsZC1kZWJ1ZyBs
aWJjLXNwYXduIGxpYmMtc3RyZWFtcyBsaWJjLXN1bnJwYyAJCQkJCWxpYmMtdXRtcCBsaWJjLXV0
bXB4IGxpYmMtd29yZGV4cCBsaWJjLXBvc2l4LWNsYW5nLXdjaGFyIGxpYmMtcG9zaXgtcmVnZXhw
IGxpYmMtcG9zaXgtcmVnZXhwLWdsaWJjIAkJCQkJbGliYy1wb3NpeC13Y2hhci1pbyIKIyBiYXNl
X2xpYmRpcl9uYXRpdmU9L2xpYgpiYXNlX2xpYmRpcl9uYXRpdmU9Ii9saWIiCiMgaW5jbHVkZWRp
cl9uYXRpdmVzZGs9JHtwcmVmaXhfbmF0aXZlc2RrfS9pbmNsdWRlCmluY2x1ZGVkaXJfbmF0aXZl
c2RrPSIvdXNyL2luY2x1ZGUiCiMgTElOS0VSX0hBU0hfU1RZTEVfbWlwc2VsPXN5c3YKTElOS0VS
X0hBU0hfU1RZTEVfbWlwc2VsPSJzeXN2IgojIElNQUdFX1BLR1RZUEU9aXBrCklNQUdFX1BLR1RZ
UEU9ImlwayIKIyBGSUxFU18ke1BOfS1kYmc9Tm9uZQojIHNlcnZpY2VkaXI9JHtiYXNlX3ByZWZp
eH0vc3J2CmV4cG9ydCBzZXJ2aWNlZGlyPSIvc3J2IgojIGJpbmRpcl9uYXRpdmU9JHtwcmVmaXhf
bmF0aXZlfS9iaW4KYmluZGlyX25hdGl2ZT0iL3Vzci9iaW4iCiMgQlVJTERfUFJFRklYPQojIFRP
T0xDSEFJTl9UQVJHRVRfVEFTSz10YXNrLWNvcmUtc3RhbmRhbG9uZS1zZGstdGFyZ2V0IHRhc2st
Y29yZS1zdGFuZGFsb25lLXNkay10YXJnZXQtZGJnClRPT0xDSEFJTl9UQVJHRVRfVEFTSz0idGFz
ay1jb3JlLXN0YW5kYWxvbmUtc2RrLXRhcmdldCB0YXNrLWNvcmUtc3RhbmRhbG9uZS1zZGstdGFy
Z2V0LWRiZyIKIyBIT01FPS9ob21lL3JjaGF0cmUKZXhwb3J0IEhPTUU9Ii9ob21lL3JjaGF0cmUi
CiMgUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYz1Ob25lCiMg
U1lTUk9PVF9MT0NLPSR7U1RBR0lOR19ESVJ9L3N0YWdpbmcubG9jawpTWVNST09UX0xPQ0s9Ii9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3N0YWdpbmcubG9j
ayIKIyBDT01CSU5FRF9GRUFUVVJFUz0ke0BiYXNlX2JvdGhfY29udGFpbigiRElTVFJPX0ZFQVRV
UkVTIiwgIk1BQ0hJTkVfRkVBVFVSRVMiLCAiYWxzYSIsIGQpfSAke0BiYXNlX2JvdGhfY29udGFp
bigiRElTVFJPX0ZFQVRVUkVTIiwgIk1BQ0hJTkVfRkVBVFVSRVMiLCAiYmx1ZXRvb3RoIiwgZCl9
ICR7QGJhc2VfYm90aF9jb250YWluKCJESVNUUk9fRkVBVFVSRVMiLCAiTUFDSElORV9GRUFUVVJF
UyIsICJleHQyIiwgZCl9ICR7QGJhc2VfYm90aF9jb250YWluKCJESVNUUk9fRkVBVFVSRVMiLCAi
TUFDSElORV9GRUFUVVJFUyIsICJ2ZmF0IiwgZCl9ICR7QGJhc2VfYm90aF9jb250YWluKCJESVNU
Uk9fRkVBVFVSRVMiLCAiTUFDSElORV9GRUFUVVJFUyIsICJpcmRhIiwgZCl9ICR7QGJhc2VfYm90
aF9jb250YWluKCJESVNUUk9fRkVBVFVSRVMiLCAiTUFDSElORV9GRUFUVVJFUyIsICJwY21jaWEi
LCBkKX0gJHtAYmFzZV9ib3RoX2NvbnRhaW4oIkRJU1RST19GRUFUVVJFUyIsICJNQUNISU5FX0ZF
QVRVUkVTIiwgInBjaSIsIGQpfSAke0BiYXNlX2JvdGhfY29udGFpbigiRElTVFJPX0ZFQVRVUkVT
IiwgIk1BQ0hJTkVfRkVBVFVSRVMiLCAidXNiZ2FkZ2V0IiwgZCl9ICR7QGJhc2VfYm90aF9jb250
YWluKCJESVNUUk9fRkVBVFVSRVMiLCAiTUFDSElORV9GRUFUVVJFUyIsICJ1c2Job3N0IiwgZCl9
ICR7QGJhc2VfYm90aF9jb250YWluKCJESVNUUk9fRkVBVFVSRVMiLCAiTUFDSElORV9GRUFUVVJF
UyIsICJ3aWZpIiwgZCl9CkNPTUJJTkVEX0ZFQVRVUkVTPSJwY2kgIHVzYmhvc3QiCiMgVFVORUNP
TkZMSUNUPU5vbmUKIyBCVUlMRF9BU19BUkNIPQojIFNSQ0RBVEU9JHtEQVRFfQpTUkNEQVRFPSIy
MDEyMDUyMSIKIyBTRVBQVUtVX1BBU1M9Tm9uZQojIFRBUkdFVF9DQ19BUkNIPSR7VFVORV9DQ0FS
R1N9ClRBUkdFVF9DQ19BUkNIPSItbTMyICAgIC1tYXJjaD1jb3JlMiAtbXNzZTMgLW10dW5lPWdl
bmVyaWMgLW1mcG1hdGg9c3NlIgojIFFFTVVfT1BUSU9OU19hcm12Nj0tY3B1IGFybTExMzYKUUVN
VV9PUFRJT05TX2FybXY2PSItY3B1IGFybTExMzYiCiMgSE9TVF9BUkNIPSR7VEFSR0VUX0FSQ0h9
CkhPU1RfQVJDSD0iaTU4NiIKIyBFTkFCTEVfQklOQVJZX0xPQ0FMRV9HRU5FUkFUSU9OPTEKRU5B
QkxFX0JJTkFSWV9MT0NBTEVfR0VORVJBVElPTj0iMSIKIyBUQVJHRVRfT1M9bGludXgke0xJQkNF
WFRFTlNJT059JHtBQklFWFRFTlNJT059ClRBUkdFVF9PUz0ibGludXgiCiMgU09VUkNFX01JUlJP
Ul9VUkw9Tm9uZQojIFNPTElCU19kYXJ3aW44PS4qLmR5bGliClNPTElCU19kYXJ3aW44PSIuKi5k
eWxpYiIKIyBTT0xJQlNfZGFyd2luOT0uKi5keWxpYgpTT0xJQlNfZGFyd2luOT0iLiouZHlsaWIi
CiMgQ09OTkVDVElWSVRZX0NIRUNLX1VSSVM9Z2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9j
dG8tZmlyZXdhbGwtdGVzdDtwcm90b2NvbD1naXQ7cmV2PUhFQUQgaHR0cHM6Ly9ldWxhLWRvd25s
b2Fkcy55b2N0b3Byb2plY3Qub3JnL2luZGV4LnBocCBodHRwOi8vYnVnemlsbGEueW9jdG9wcm9q
ZWN0Lm9yZy9yZXBvcnQuY2dpCkNPTk5FQ1RJVklUWV9DSEVDS19VUklTPSJnaXQ6Ly9naXQueW9j
dG9wcm9qZWN0Lm9yZy95b2N0by1maXJld2FsbC10ZXN0O3Byb3RvY29sPWdpdDtyZXY9SEVBRCBo
dHRwczovL2V1bGEtZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvaW5kZXgucGhwIGh0dHA6Ly9i
dWd6aWxsYS55b2N0b3Byb2plY3Qub3JnL3JlcG9ydC5jZ2kiCiMgVFVORV9QS0dBUkNIX3R1bmUt
aTU4Nj1pNTg2ClRVTkVfUEtHQVJDSF90dW5lLWk1ODY9Imk1ODYiCiMgUFJFRkVSUkVEX1BST1ZJ
REVSX3ZpcnR1YWwvaTU4Ni1jY2QtbGludXgtZysrPWdjYy1jcm9zcwpQUkVGRVJSRURfUFJPVklE
RVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1nKys9ImdjYy1jcm9zcyIKIyBBQklFWFRFTlNJT049
JHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibXgzMiIsICJ4MzIiLCAiIiAs
ZCl9CiMgRlVMTF9PUFRJTUlaQVRJT049LU8yIC1waXBlICR7REVCVUdfRkxBR1N9CkZVTExfT1BU
SU1JWkFUSU9OPSItTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIgoj
IFRBUkdFVF9BU19BUkNIPSR7VFVORV9BU0FSR1N9ClRBUkdFVF9BU19BUkNIPSIiCiMgUFJFRkVS
UkVEX1ZFUlNJT05fcHl0aG9uPTIuNy4yClBSRUZFUlJFRF9WRVJTSU9OX3B5dGhvbj0iMi43LjIi
CiMgRklMRVNfJHtQTn09Tm9uZQojIFBSRUZFUlJFRF9WRVJTSU9OX2xpYmdjYy1uYXRpdmVzZGs9
JHtTREtHQ0NWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl9saWJnY2MtbmF0aXZlc2RrPSI0LjYl
IgojIFBBVENIUkVTT0xWRT1ub29wClBBVENIUkVTT0xWRT0ibm9vcCIKIyBTU1RBVEVfU0NBTl9G
SUxFUz0qLmxhICotY29uZmlnICpfY29uZmlnClNTVEFURV9TQ0FOX0ZJTEVTPSIqLmxhICotY29u
ZmlnICpfY29uZmlnIgojIExHUEx2Ml9XSElURUxJU1RfR1BMdjM9bGliYXNzdWFuIGdudXRscyBs
aWJ0YXNuMSBsaWJpZG4gbGliZ2NjIGdjYy1ydW50aW1lCkxHUEx2Ml9XSElURUxJU1RfR1BMdjM9
ImxpYmFzc3VhbiBnbnV0bHMgbGlidGFzbjEgbGliaWRuIGxpYmdjYyBnY2MtcnVudGltZSIKIyBW
SVJUVUFMLVJVTlRJTUVfaW5pdF9tYW5hZ2VyPQojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFs
LyR7VEFSR0VUX1BSRUZJWH1nY2MtaW5pdGlhbD1Ob25lCiMgUEFDS0FHRV9FWFRSQV9BUkNIU190
dW5lLXg4Ni02NC14MzI9JHtUVU5FX1BLR0FSQ0hfdHVuZS14ODYtNjQteDMyfQpQQUNLQUdFX0VY
VFJBX0FSQ0hTX3R1bmUteDg2LTY0LXgzMj0ieDg2XzY0X3gzMiIKIyBESVNUUk9fRkVBVFVSRVNf
TElCQ192aXJ0Y2xhc3MtbmF0aXZlc2RrPSR7RElTVFJPX0ZFQVRVUkVTX0xJQkNfREVGQVVMVH0K
RElTVFJPX0ZFQVRVUkVTX0xJQkNfdmlydGNsYXNzLW5hdGl2ZXNkaz0iaXB2NCBpcHY2IGxpYmMt
YmFja3RyYWNlIGxpYmMtYmlnLW1hY3JvcyBsaWJjLWJzZCBsaWJjLWN4eC10ZXN0cyBsaWJjLWNh
dGdldHMgbGliYy1jaGFyc2V0cyBsaWJjLWNyeXB0IAkJCQkJbGliYy1jcnlwdC11ZmMgbGliYy1k
Yi1hbGlhc2VzIGxpYmMtZW52eiBsaWJjLWZjdnQgbGliYy1mbXRtc2cgbGliYy1mc3RhYiBsaWJj
LWZ0cmF2ZXJzZSAJCQkJCWxpYmMtZ2V0bG9naW4gbGliYy1pZG4gbGliYy1pbmV0LWFubCBsaWJj
LWxpYm0gbGliYy1saWJtLWJpZyBsaWJjLWxvY2FsZXMgbGliYy1sb2NhbGUtY29kZSAJCQkJCWxp
YmMtbWVtdXNhZ2UgbGliYy1uaXMgbGliYy1uc3N3aXRjaCBsaWJjLXJjbWQgbGliYy1ydGxkLWRl
YnVnIGxpYmMtc3Bhd24gbGliYy1zdHJlYW1zIGxpYmMtc3VucnBjIAkJCQkJbGliYy11dG1wIGxp
YmMtdXRtcHggbGliYy13b3JkZXhwIGxpYmMtcG9zaXgtY2xhbmctd2NoYXIgbGliYy1wb3NpeC1y
ZWdleHAgbGliYy1wb3NpeC1yZWdleHAtZ2xpYmMgCQkJCQlsaWJjLXBvc2l4LXdjaGFyLWlvIgoj
IERJU1RST19OQU1FPVlvY3RvIChCdWlsdCBieSBQb2t5IDcuMCkKRElTVFJPX05BTUU9IllvY3Rv
IChCdWlsdCBieSBQb2t5IDcuMCkiCiMgRlJFRUJTRF9NSVJST1I9ZnRwOi8vZnRwLmZyZWVic2Qu
b3JnL3B1Yi9GcmVlQlNELwpGUkVFQlNEX01JUlJPUj0iZnRwOi8vZnRwLmZyZWVic2Qub3JnL3B1
Yi9GcmVlQlNELyIKIyBQUkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1jcm9zcz0ke0JJTlVWRVJT
SU9OfQpQUkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1jcm9zcz0iMi4yMiIKIyBQUkVGRVJSRURf
UFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHM9Tm9uZQojIEhPU1RfUFJF
RklYPSR7VEFSR0VUX1BSRUZJWH0KSE9TVF9QUkVGSVg9Imk1ODYtY2NkLWxpbnV4LSIKIyBESVNU
Uk9fRVhUUkFfUlJFQ09NTUVORFM9ICAke1BPS1lfREVGQVVMVF9FWFRSQV9SUkVDT01NRU5EU30K
RElTVFJPX0VYVFJBX1JSRUNPTU1FTkRTPSIiCiMgTENfQUxMPUMKZXhwb3J0IExDX0FMTD0iQyIK
IyBQS0dEPSR7V09SS0RJUn0vcGFja2FnZQpQS0dEPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcv
cGFja2FnZSIKIyBQS0dFPSR7QFsnJywnJHtQRVx4N2QnXVtkLmdldFZhcignUEUnLDEpID4gMF19
CiMgSE9TVF9TWVM9JHtIT1NUX0FSQ0h9JHtIT1NUX1ZFTkRPUn0tJHtIT1NUX09TfQpIT1NUX1NZ
Uz0iaTU4Ni1jY2QtbGludXgiCiMgU1NUQVRFVEFTS05BTUVTPWRlcGxveS1pcGsgcG9wdWxhdGUt
bGljIHBhY2thZ2UgcG9wdWxhdGUtc3lzcm9vdApTU1RBVEVUQVNLTkFNRVM9ImRlcGxveS1pcGsg
cG9wdWxhdGUtbGljIHBhY2thZ2UgcG9wdWxhdGUtc3lzcm9vdCIKIyBSUkVDT01NRU5EU19tZXRh
LXRvb2xjaGFpbi1kYmc9JHtQTn0gKD0gJHtFWFRFTkRQS0dWfSkKUlJFQ09NTUVORFNfbWV0YS10
b29sY2hhaW4tZGJnPSJtZXRhLXRvb2xjaGFpbiAoPSAxLjAtcjcpIgojIFBLR1Y9JHtQVn0KUEtH
Vj0iMS4wIgojIFRBUkdFVF9DUFBGTEFHUz0KIyBQUkVGRVJSRURfVkVSU0lPTl9lZ2xpYmMtaW5p
dGlhbD0ke0VHTElCQ1ZFUlNJT059ClBSRUZFUlJFRF9WRVJTSU9OX2VnbGliYy1pbml0aWFsPSIy
LjEzIgojIEJCRklMRV9QQVRURVJOX3lvY3RvPV4vb3B0L3Bva3kuZ2l0L21ldGEteW9jdG8vCkJC
RklMRV9QQVRURVJOX3lvY3RvPSJeL29wdC9wb2t5LmdpdC9tZXRhLXlvY3RvLyIKIyBQQ01DSUFf
TUFOQUdFUj1wY21jaWF1dGlscwpQQ01DSUFfTUFOQUdFUj0icGNtY2lhdXRpbHMiCiMgUFJFRkVS
UkVEX1BST1ZJREVSX29wa2c9b3BrZwpQUkVGRVJSRURfUFJPVklERVJfb3BrZz0ib3BrZyIKIyBU
VU5FX0FTQVJHUz0gJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibXgzMiIs
ICIteDMyIiwgIiIsIGQpfQpUVU5FX0FTQVJHUz0iIgojIEZJTEU9L29wdC9wb2t5LmdpdC9tZXRh
L3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLmJiCkZJTEU9Ii9vcHQvcG9reS5naXQv
bWV0YS9yZWNpcGVzLWNvcmUvbWV0YS9tZXRhLXRvb2xjaGFpbi5iYiIKIyBFWFRFTkRQS0dFVkVS
PSR7QFsnJywnJHtQS0dFXHg3ZDonXVtkLmdldFZhcignUEtHRScsMSkuc3RyaXAoKSAhPSAnJ119
CiMgbGliZGlyX25hdGl2ZT0ke3ByZWZpeF9uYXRpdmV9L2xpYgpsaWJkaXJfbmF0aXZlPSIvdXNy
L2xpYiIKIyBQUkVGRVJSRURfUFJPVklERVJfZGJ1cy1nbGliPWRidXMtZ2xpYgpQUkVGRVJSRURf
UFJPVklERVJfZGJ1cy1nbGliPSJkYnVzLWdsaWIiCiMgZXhlY19wcmVmaXg9L3VzcgpleHBvcnQg
ZXhlY19wcmVmaXg9Ii91c3IiCiMgYmluZGlyX2Nyb3Nzc2NyaXB0cz0ke2JpbmRpcn0vY3Jvc3Nz
Y3JpcHRzCmJpbmRpcl9jcm9zc3NjcmlwdHM9Ii91c3IvYmluL2Nyb3Nzc2NyaXB0cyIKIyBQUkVG
RVJSRURfVkVSU0lPTl9iaW51dGlscz0ke0JJTlVWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl9i
aW51dGlscz0iMi4yMiIKIyBCQVNFX0xJQl90dW5lLWk1ODY9bGliCkJBU0VfTElCX3R1bmUtaTU4
Nj0ibGliIgojIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3JlMi02NC14MzI9JHtQQUNLQUdF
X0VYVFJBX0FSQ0hTX3R1bmUteDg2LTY0LXgzMn0gY29yZTJfNjRfeDMyClBBQ0tBR0VfRVhUUkFf
QVJDSFNfdHVuZS1jb3JlMi02NC14MzI9Ing4Nl82NF94MzIgY29yZTJfNjRfeDMyIgojIFNES1BB
VEg9L29wdC8ke0RJU1RST30vJHtTREtfVkVSU0lPTn0KU0RLUEFUSD0iL29wdC9jb25jb3JkaWEv
djAuMS40IgojIEdST1VQX2xvY2FsZT1Ob25lCiMgU1NUQVRFX1BLR05BTUU9JHtTU1RBVEVfUEtH
U1BFQ30ke0JCX1RBU0tIQVNIfQpTU1RBVEVfUEtHTkFNRT0ic3N0YXRlLW1ldGEtdG9vbGNoYWlu
LWNvcmUyLWNjZC1saW51eC0xLjAtcjctY29yZTItMi0ke0JCX1RBU0tIQVNIfSIKIyBGRVRDSENN
RF9jdnM9L3Vzci9iaW4vZW52IGN2cwpGRVRDSENNRF9jdnM9Ii91c3IvYmluL2VudiBjdnMiCiMg
U0RLX0dMSUJDX0FERE9OUz1ucHRsClNES19HTElCQ19BRERPTlM9Im5wdGwiCiMgUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbnRlcm1lZGlhdGU9Tm9uZQoj
IFBSRUZFUlJFRF9QUk9WSURFUl9saWJnY2M9bGliZ2NjClBSRUZFUlJFRF9QUk9WSURFUl9saWJn
Y2M9ImxpYmdjYyIKIyBHRU5UT09fTUlSUk9SPWh0dHA6Ly9kaXN0ZmlsZXMuZ2VudG9vLm9yZy9k
aXN0ZmlsZXMKR0VOVE9PX01JUlJPUj0iaHR0cDovL2Rpc3RmaWxlcy5nZW50b28ub3JnL2Rpc3Rm
aWxlcyIKIyBDT19ESVI9JHtETF9ESVJ9CkNPX0RJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby9kb3dubG9hZHMiCiMgTVVMVElNQUNIX1RBUkdFVF9TWVM9JHtQQUNLQUdFX0FS
Q0h9JHtUQVJHRVRfVkVORE9SfS0ke1RBUkdFVF9PU30KTVVMVElNQUNIX1RBUkdFVF9TWVM9ImNv
cmUyLWNjZC1saW51eCIKIyBCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX2xpY19zZXRzY2Vu
ZT1kZGU0OGMyZWRjMDRmYzg0ZWYwNDZmODE3Mzc5NGY5MgpCQl9CQVNFSEFTSF90YXNrLWRvX3Bv
cHVsYXRlX2xpY19zZXRzY2VuZT0iZGRlNDhjMmVkYzA0ZmM4NGVmMDQ2ZjgxNzM3OTRmOTIiCiMg
T0JKRFVNUD0ke0hPU1RfUFJFRklYfW9iamR1bXAKZXhwb3J0IE9CSkRVTVA9Imk1ODYtY2NkLWxp
bnV4LW9iamR1bXAiCiMgVEFSR0VUX1ZFTkRPUj0tY2NkClRBUkdFVF9WRU5ET1I9Ii1jY2QiCiMg
WDg2QVJDSDY0PXg4Nl82NApYODZBUkNINjQ9Ing4Nl82NCIKIyBIT1NUVE9PTFNfV0hJVEVMSVNU
X0dQTHYzPQojIFRVTkVfTERBUkdTPSAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJF
UyIsICJteDMyIiwgIi1tIGVsZjMyX3g4Nl82NCIsICIiLCBkKX0KVFVORV9MREFSR1M9IiIKIyBi
YXNlbGliPSR7QkFTRUxJQn0KYmFzZWxpYj0ibGliIgojIFNTVEFURV9WRVJTSU9OPTIKU1NUQVRF
X1ZFUlNJT049IjIiCiMgUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLWNhbmFkaWFuLSR7VFJB
TlNMQVRFRF9UQVJHRVRfQVJDSH09Tm9uZQojIEdMSUJDX0VYVFJBX09FQ09ORj0tLXdpdGgtdGxz
CkdMSUJDX0VYVFJBX09FQ09ORj0iLS13aXRoLXRscyIKIyBCQl9FTlZfRVhUUkFXSElURT1QU0VV
RE9fQlVJTEQgUFNFVURPX0RJU0FCTEVEIE1BQ0hJTkUgRElTVFJPIFRDTU9ERSBUQ0xJQkMgaHR0
cF9wcm94eSBmdHBfcHJveHkgaHR0cHNfcHJveHkgYWxsX3Byb3h5IEFMTF9QUk9YWSBub19wcm94
eSBTU0hfQUdFTlRfUElEIFNTSF9BVVRIX1NPQ0sgQkJfU1JDUkVWX1BPTElDWSBTREtNQUNISU5F
IEJCX05VTUJFUl9USFJFQURTIFBBUkFMTEVMX01BS0UgR0lUX1BST1hZX0NPTU1BTkQgR0lUX1BS
T1hZX0lHTk9SRSBTT0NLUzVfUEFTU1dEIFNPQ0tTNV9VU0VSCkJCX0VOVl9FWFRSQVdISVRFPSJQ
U0VVRE9fQlVJTEQgUFNFVURPX0RJU0FCTEVEIE1BQ0hJTkUgRElTVFJPIFRDTU9ERSBUQ0xJQkMg
aHR0cF9wcm94eSBmdHBfcHJveHkgaHR0cHNfcHJveHkgYWxsX3Byb3h5IEFMTF9QUk9YWSBub19w
cm94eSBTU0hfQUdFTlRfUElEIFNTSF9BVVRIX1NPQ0sgQkJfU1JDUkVWX1BPTElDWSBTREtNQUNI
SU5FIEJCX05VTUJFUl9USFJFQURTIFBBUkFMTEVMX01BS0UgR0lUX1BST1hZX0NPTU1BTkQgR0lU
X1BST1hZX0lHTk9SRSBTT0NLUzVfUEFTU1dEIFNPQ0tTNV9VU0VSIgojIFBSRUZFUlJFRF9QUk9W
SURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKys9Tm9uZQojIFNUQUdJTkdfQkFTRUxJQkRJ
Uj0ke1NUQUdJTkdfRElSX0hPU1R9JHtiYXNlX2xpYmRpcn0KU1RBR0lOR19CQVNFTElCRElSPSIv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEv
bGliIgojIFBSRUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zc3Nkay1pbnRlcm1lZGlhdGU9JHtTREtH
Q0NWRVJTSU9OfQpQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3NzZGstaW50ZXJtZWRpYXRlPSI0
LjYlIgojIFBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNM
QVRFRF9UQVJHRVRfQVJDSH09Tm9uZQojIEJVSUxEU0RLX0NQUEZMQUdTPS1pc3lzdGVtJHtTVEFH
SU5HX0lOQ0RJUn0KQlVJTERTREtfQ1BQRkxBR1M9Ii1pc3lzdGVtL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9pbmNsdWRlIgojIFBS
RUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtY2NkLWxpbnV4LWxpYmMtaW5pdGlhbD0ke1RD
TElCQ30taW5pdGlhbApQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1s
aWJjLWluaXRpYWw9ImVnbGliYy1pbml0aWFsIgojIEZJTEVTX21ldGEtdG9vbGNoYWluPSR7Ymlu
ZGlyfS8qICR7c2JpbmRpcn0vKiAke2xpYmV4ZWNkaXJ9LyogJHtsaWJkaXJ9L2xpYioke1NPTElC
U30gJHtzeXNjb25mZGlyfSAke3NoYXJlZHN0YXRlZGlyfSAke2xvY2Fsc3RhdGVkaXJ9ICR7YmFz
ZV9iaW5kaXJ9LyogJHtiYXNlX3NiaW5kaXJ9LyogJHtiYXNlX2xpYmRpcn0vKiR7U09MSUJTfSAk
e2RhdGFkaXJ9LyR7QlBOfSAke2xpYmRpcn0vJHtCUE59LyogJHtkYXRhZGlyfS9waXhtYXBzICR7
ZGF0YWRpcn0vYXBwbGljYXRpb25zICR7ZGF0YWRpcn0vaWRsICR7ZGF0YWRpcn0vb21mICR7ZGF0
YWRpcn0vc291bmRzICR7bGliZGlyfS9ib25vYm8vc2VydmVycwpGSUxFU19tZXRhLXRvb2xjaGFp
bj0iL3Vzci9iaW4vKiAvdXNyL3NiaW4vKiAvdXNyL2xpYmV4ZWMvKiAvdXNyL2xpYi9saWIqLnNv
LiogL2V0YyAvY29tIC92YXIgL2Jpbi8qIC9zYmluLyogL2xpYi8qLnNvLiogL3Vzci9zaGFyZS9t
ZXRhLXRvb2xjaGFpbiAvdXNyL2xpYi9tZXRhLXRvb2xjaGFpbi8qIC91c3Ivc2hhcmUvcGl4bWFw
cyAvdXNyL3NoYXJlL2FwcGxpY2F0aW9ucyAvdXNyL3NoYXJlL2lkbCAvdXNyL3NoYXJlL29tZiAv
dXNyL3NoYXJlL3NvdW5kcyAvdXNyL2xpYi9ib25vYm8vc2VydmVycyIKIyBCQl9IQVNIQkFTRV9X
SElURUxJU1Q9VE1QRElSIEZJTEUgUEFUSCBQV0QgQkJfVEFTS0hBU0ggQkJQQVRIIERMX0RJUiBT
U1RBVEVfRElSIFRISVNESVIgRklMRVNFWFRSQVBBVEhTIEZJTEVfRElSTkFNRSBIT01FIExPR05B
TUUgU0hFTEwgVEVSTSBVU0VSIEZJTEVTUEFUSCBTVEFHSU5HX0RJUl9IT1NUIFNUQUdJTkdfRElS
X1RBUkdFVCBDT1JFQkFTRSBQUlNFUlZfSE9TVCBQUlNFUlZfUE9SVCBQUlNFUlZfRFVNUERJUiBQ
UlNFUlZfRFVNUEZJTEUgUFJTRVJWX0xPQ0tET1dOIFBBUkFMTEVMX01BS0UKQkJfSEFTSEJBU0Vf
V0hJVEVMSVNUPSJUTVBESVIgRklMRSBQQVRIIFBXRCBCQl9UQVNLSEFTSCBCQlBBVEggRExfRElS
IFNTVEFURV9ESVIgVEhJU0RJUiBGSUxFU0VYVFJBUEFUSFMgRklMRV9ESVJOQU1FIEhPTUUgTE9H
TkFNRSBTSEVMTCBURVJNIFVTRVIgRklMRVNQQVRIIFNUQUdJTkdfRElSX0hPU1QgU1RBR0lOR19E
SVJfVEFSR0VUIENPUkVCQVNFIFBSU0VSVl9IT1NUIFBSU0VSVl9QT1JUIFBSU0VSVl9EVU1QRElS
IFBSU0VSVl9EVU1QRklMRSBQUlNFUlZfTE9DS0RPV04gUEFSQUxMRUxfTUFLRSIKIyBTSVRFSU5G
T19CSVRTPTMyClNJVEVJTkZPX0JJVFM9IjMyIgojIEVfTUlSUk9SPWh0dHA6Ly9kb3dubG9hZC5l
bmxpZ2h0ZW5tZW50Lm9yZy9yZWxlYXNlcwpFX01JUlJPUj0iaHR0cDovL2Rvd25sb2FkLmVubGln
aHRlbm1lbnQub3JnL3JlbGVhc2VzIgojIEZFVENIQ01EX3N2bj0vdXNyL2Jpbi9lbnYgc3ZuCkZF
VENIQ01EX3N2bj0iL3Vzci9iaW4vZW52IHN2biIKIyBCQVNFX0xJQl90dW5lLWNvcmUyPWxpYgpC
QVNFX0xJQl90dW5lLWNvcmUyPSJsaWIiCiMgUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2Vy
bmVsPWNjZC1saW51eApQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWw9ImNjZC1saW51
eCIKIyBCQl9CQVNFSEFTSF90YXNrLWRvX2xpc3R0YXNrcz0xYWQzNWRlYzRjNTc3MjdlNjcyMzFm
YmU5ZjhlNDUzYgpCQl9CQVNFSEFTSF90YXNrLWRvX2xpc3R0YXNrcz0iMWFkMzVkZWM0YzU3NzI3
ZTY3MjMxZmJlOWY4ZTQ1M2IiCiMgQkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlX3dyaXRlPTU0
OTQyNzVmYjVhMzA3ZDFiNmJhOTMyYjU5NDE1NTIyCkJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2Fn
ZV93cml0ZT0iNTQ5NDI3NWZiNWEzMDdkMWI2YmE5MzJiNTk0MTU1MjIiCiMgQ1BVX0ZFQVRVUkVT
PQojIFRVTkVfRkVBVFVSRVNfdHVuZS1jb3JlMi02ND0ke1RVTkVfRkVBVFVSRVNfdHVuZS14ODYt
NjR9IGNvcmUyClRVTkVfRkVBVFVSRVNfdHVuZS1jb3JlMi02ND0ibTY0IGNvcmUyIgojIENDTEQ9
JHtDQ30KZXhwb3J0IENDTEQ9Imk1ODYtY2NkLWxpbnV4LWdjYyAgLW0zMiAgICAtbWFyY2g9Y29y
ZTIgLW1zc2UzIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPXNzZSAtLXN5c3Jvb3Q9L2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhIgojIENIRUNL
Q09NTUFORF93Z2V0PS91c3IvYmluL2VudiB3Z2V0IC0tc3BpZGVyIC10IDUgLS1wYXNzaXZlLWZ0
cCAtLW5vLWNoZWNrLWNlcnRpZmljYXRlIC1QICR7RExfRElSfSAnJHtVUkl9JwpDSEVDS0NPTU1B
TkRfd2dldD0iL3Vzci9iaW4vZW52IHdnZXQgLS1zcGlkZXIgLXQgNSAtLXBhc3NpdmUtZnRwIC0t
bm8tY2hlY2stY2VydGlmaWNhdGUgLVAgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by9kb3dubG9hZHMgJyR7VVJJfSciCiMgUFJFRkVSUkVEX1ZFUlNJT05fZ2NjPSR7R0NDVkVSU0lP
Tn0KUFJFRkVSUkVEX1ZFUlNJT05fZ2NjPSI0LjYlIgojIFNFTEVDVEVEX09QVElNSVpBVElPTj0k
e0BkLmdldFZhcihbJ0ZVTExfT1BUSU1JWkFUSU9OJywgJ0RFQlVHX09QVElNSVpBVElPTiddW2Qu
Z2V0VmFyKCdERUJVR19CVUlMRCcsIFRydWUpID09ICcxJ10sIFRydWUpfQpTRUxFQ1RFRF9PUFRJ
TUlaQVRJT049Ii1PMiAtcGlwZSAtZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMiCiMg
R0lUX0NPTkZJR19QQVRIPSR7U1RBR0lOR19ESVJfTkFUSVZFfS9ldGMKR0lUX0NPTkZJR19QQVRI
PSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQt
bGludXgvZXRjIgojIFRPT0xDSEFJTl9DT05GSUdTSVRFX05PQ0FDSEU9L29wdC9wb2t5LmdpdC9t
ZXRhL3NpdGUvZW5kaWFuLWxpdHRsZSAvb3B0L3Bva3kuZ2l0L21ldGEvc2l0ZS9peDg2LWNvbW1v
biAvb3B0L3Bva3kuZ2l0L21ldGEvc2l0ZS9jb21tb24tbGludXggL29wdC9wb2t5LmdpdC9tZXRh
L3NpdGUvY29tbW9uLWdsaWJjIC9vcHQvcG9reS5naXQvbWV0YS9zaXRlL2NvbW1vbiAKVE9PTENI
QUlOX0NPTkZJR1NJVEVfTk9DQUNIRT0iL29wdC9wb2t5LmdpdC9tZXRhL3NpdGUvZW5kaWFuLWxp
dHRsZSAvb3B0L3Bva3kuZ2l0L21ldGEvc2l0ZS9peDg2LWNvbW1vbiAvb3B0L3Bva3kuZ2l0L21l
dGEvc2l0ZS9jb21tb24tbGludXggL29wdC9wb2t5LmdpdC9tZXRhL3NpdGUvY29tbW9uLWdsaWJj
IC9vcHQvcG9reS5naXQvbWV0YS9zaXRlL2NvbW1vbiIKIyBBU05FRURFRF9wbi1vcGVub2JleD0K
IyBTRUNUSU9OX21ldGEtdG9vbGNoYWluLWRvYz1kb2MKU0VDVElPTl9tZXRhLXRvb2xjaGFpbi1k
b2M9ImRvYyIKIyBERUJJQU5fTkFNRVM9MQpERUJJQU5fTkFNRVM9IjEiCiMgUEFDS0FHRUlOREVY
REVQUz0gb3BrZy11dGlscy1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBvcGtnLW5hdGl2ZTpk
b19wb3B1bGF0ZV9zeXNyb290ClBBQ0tBR0VJTkRFWERFUFM9Im9wa2ctdXRpbHMtbmF0aXZlOmRv
X3BvcHVsYXRlX3N5c3Jvb3Qgb3BrZy1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIyBQUkVG
RVJSRURfVkVSU0lPTl9saW51eC15b2N0b19xZW11YXJtPTMuMiUKUFJFRkVSUkVEX1ZFUlNJT05f
bGludXgteW9jdG9fcWVtdWFybT0iMy4yJSIKIyBRQV9MT0c9Tm9uZQojIERFU0NSSVBUSU9OX21l
dGEtdG9vbGNoYWluLWRldj0ke0RFU0NSSVBUSU9OfSAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHN5
bWJvbGljIGxpbmtzLCBoZWFkZXIgZmlsZXMsIGFuZCByZWxhdGVkIGl0ZW1zIG5lY2Vzc2FyeSBm
b3Igc29mdHdhcmUgZGV2ZWxvcG1lbnQuCkRFU0NSSVBUSU9OX21ldGEtdG9vbGNoYWluLWRldj0i
TWV0YSBwYWNrYWdlIGZvciBidWlsZGluZyBhIGluc3RhbGxhYmxlIHRvb2xjaGFpbiAgVGhpcyBw
YWNrYWdlIGNvbnRhaW5zIHN5bWJvbGljIGxpbmtzLCBoZWFkZXIgZmlsZXMsIGFuZCByZWxhdGVk
IGl0ZW1zIG5lY2Vzc2FyeSBmb3Igc29mdHdhcmUgZGV2ZWxvcG1lbnQuIgojIGh0dHBzX3Byb3h5
PWh0dHBzOi8vcHJveHkuamYuaW50ZWwuY29tOjkxMQpodHRwc19wcm94eT0iaHR0cHM6Ly9wcm94
eS5qZi5pbnRlbC5jb206OTExIgojIElNQUdFX05BTUU9JHtJTUFHRV9CQVNFTkFNRX0tJHtNQUNI
SU5FfS0ke0RJU1RST19WRVJTSU9OfQpJTUFHRV9OQU1FPSJtZXRhLXRvb2xjaGFpbi1jb25jb3Jk
aWEtdjAuMS40IgojIFNUQUdJTkdfRElSX1RDQk9PVFNUUkFQPSR7U1RBR0lOR19ESVJfVEFSR0VU
fS10Y2Jvb3RzdHJhcApTVEFHSU5HX0RJUl9UQ0JPT1RTVFJBUD0iL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhLXRjYm9vdHN0cmFwIgojIFNU
QUdJTkdfTElCRElSX05BVElWRT0ke1NUQUdJTkdfRElSX05BVElWRX0ke2xpYmRpcl9uYXRpdmV9
ClNUQUdJTkdfTElCRElSX05BVElWRT0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIiCiMgUUVNVV9UQVJHRVRTPWFybSBp
Mzg2IG1pcHMgbWlwc2VsIHBwYyB4ODZfNjQKUUVNVV9UQVJHRVRTPSJhcm0gaTM4NiBtaXBzIG1p
cHNlbCBwcGMgeDg2XzY0IgojIEdST1VQX3BhY2thZ2luZz1Ob25lCiMgT1ZFUlJJREVTPSR7VEFS
R0VUX09TfToke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9OmJ1aWxkLSR7QlVJTERfT1N9OnBuLSR7
UE59OiR7TUFDSElORU9WRVJSSURFU306JHtESVNUUk9PVkVSUklERVN9OmZvcmNldmFyaWFibGUk
e0xJQkNPVkVSUklERX0KT1ZFUlJJREVTPSJsaW51eDppNTg2OmJ1aWxkLWxpbnV4OnBuLW1ldGEt
dG9vbGNoYWluOmNvbmNvcmRpYTp4ODY6Y29uY29yZGlhOmZvcmNldmFyaWFibGU6bGliYy1nbGli
YyIKIyBJTkhFUklUPSAke1BBQ0tBR0VfQ0xBU1NFU30gJHtVU0VSX0NMQVNTRVN9ICR7SU5IRVJJ
VF9JTlNBTkV9ICR7SU5IRVJJVF9ESVNUUk99IHNhbml0eQpJTkhFUklUPSJwYWNrYWdlX2lwayBp
bWFnZS1ta2xpYnMgaW1hZ2UtcHJlbGluayBpbnNhbmUgZGViaWFuIGRldnNoZWxsIHNzdGF0ZSBs
aWNlbnNlIHNhbml0eSIKIyBCQl9CQVNFSEFTSF90YXNrLWRvX2RldnNoZWxsPWFhNDhkMjE5Y2Jk
YTNmMzJjOWIxNmMwNDhlNWZmNjJlCkJCX0JBU0VIQVNIX3Rhc2stZG9fZGV2c2hlbGw9ImFhNDhk
MjE5Y2JkYTNmMzJjOWIxNmMwNDhlNWZmNjJlIgojIFRBUkdFVF9MRF9BUkNIPSR7VFVORV9MREFS
R1N9ClRBUkdFVF9MRF9BUkNIPSIiCiMgU0RLX1NZUz0ke1NES19BUkNIfSR7U0RLX1ZFTkRPUn0k
e0BbJy0nICsgZC5nZXRWYXIoJ1NES19PUycsIFRydWUpLCAnJ11bZC5nZXRWYXIoJ1NES19PUycs
IFRydWUpID09ICgnJyBvciAnY3VzdG9tJyldfQpTREtfU1lTPSJpNjg2LWNjZHNkay1saW51eCIK
IyBQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1M9CiMgQkJGSUxFX1BSSU9SSVRZPTYKQkJGSUxFX1BS
SU9SSVRZPSI2IgojIERFU0NSSVBUSU9OX21ldGEtdG9vbGNoYWluLWRiZz0ke0RFU0NSSVBUSU9O
fSAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIEVMRiBzeW1ib2xzIGFuZCByZWxhdGVkIHNvdXJjZXMg
Zm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KREVTQ1JJUFRJT05fbWV0YS10b29sY2hhaW4tZGJnPSJN
ZXRhIHBhY2thZ2UgZm9yIGJ1aWxkaW5nIGEgaW5zdGFsbGFibGUgdG9vbGNoYWluICBUaGlzIHBh
Y2thZ2UgY29udGFpbnMgRUxGIHN5bWJvbHMgYW5kIHJlbGF0ZWQgc291cmNlcyBmb3IgZGVidWdn
aW5nIHB1cnBvc2VzLiIKIyBiYXNlX2RlcD1kZWYgYmFzZV9kZXBfcHJlcGVuZChkKToKIwkjCiMJ
IyBJZGVhbGx5IHRoaXMgd2lsbCBjaGVjayBhIGZsYWcgc28gd2Ugd2lsbCBvcGVyYXRlIHByb3Bl
cmx5IGluCiMJIyB0aGUgY2FzZSB3aGVyZSBob3N0ID09IGJ1aWxkID09IHRhcmdldCwgZm9yIG5v
dyB3ZSBkb24ndCB3b3JrIGluCiMJIyB0aGF0IGNhc2UgdGhvdWdoLgojCSMKIwojCWRlcHMgPSAi
IgojCSMgSU5ISUJJVF9ERUZBVUxUX0RFUFMgZG9lc24ndCBhcHBseSB0byB0aGUgcGF0Y2ggY29t
bWFuZC4gIFdoZXRoZXIgb3IgIG5vdAojCSMgd2UgbmVlZCB0aGF0IGJ1aWx0IGlzIHRoZSByZXNw
b25zaWJpbGl0eSBvZiB0aGUgcGF0Y2ggZnVuY3Rpb24gLyBjbGFzcywgbm90CiMJIyB0aGUgYXBw
bGljYXRpb24uCiMJaWYgbm90IGQuZ2V0VmFyKCdJTkhJQklUX0RFRkFVTFRfREVQUycpOgojCQlp
ZiAoZC5nZXRWYXIoJ0hPU1RfU1lTJywgVHJ1ZSkgIT0KIwkgICAgIAkgICAgZC5nZXRWYXIoJ0JV
SUxEX1NZUycsIFRydWUpKToKIwkJCWRlcHMgKz0gIiB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1n
Y2MgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Y29tcGlsZXJsaWJzIHZpcnR1YWwvbGliYyAiCiMJ
cmV0dXJuIGRlcHMKIwpiYXNlX2RlcD0iZGVmIGJhc2VfZGVwX3ByZXBlbmQoZCk6IFwKCSMgXAoJ
IyBJZGVhbGx5IHRoaXMgd2lsbCBjaGVjayBhIGZsYWcgc28gd2Ugd2lsbCBvcGVyYXRlIHByb3Bl
cmx5IGluIFwKCSMgdGhlIGNhc2Ugd2hlcmUgaG9zdCA9PSBidWlsZCA9PSB0YXJnZXQsIGZvciBu
b3cgd2UgZG9uJ3Qgd29yayBpbiBcCgkjIHRoYXQgY2FzZSB0aG91Z2guIFwKCSMgXAogXAoJZGVw
cyA9IFwiXCIgXAoJIyBJTkhJQklUX0RFRkFVTFRfREVQUyBkb2Vzbid0IGFwcGx5IHRvIHRoZSBw
YXRjaCBjb21tYW5kLiAgV2hldGhlciBvciAgbm90IFwKCSMgd2UgbmVlZCB0aGF0IGJ1aWx0IGlz
IHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgcGF0Y2ggZnVuY3Rpb24gLyBjbGFzcywgbm90IFwK
CSMgdGhlIGFwcGxpY2F0aW9uLiBcCglpZiBub3QgZC5nZXRWYXIoJ0lOSElCSVRfREVGQVVMVF9E
RVBTJyk6IFwKCQlpZiAoZC5nZXRWYXIoJ0hPU1RfU1lTJywgVHJ1ZSkgIT0gXAoJICAgICAJICAg
IGQuZ2V0VmFyKCdCVUlMRF9TWVMnLCBUcnVlKSk6IFwKCQkJZGVwcyArPSBcIiB2aXJ0dWFsL2k1
ODYtY2NkLWxpbnV4LWdjYyB2aXJ0dWFsL2k1ODYtY2NkLWxpbnV4LWNvbXBpbGVybGlicyB2aXJ0
dWFsL2xpYmMgXCIgXAoJcmV0dXJuIGRlcHMiCiMgRUdMSUJDVkVSU0lPTj0yLjEzCkVHTElCQ1ZF
UlNJT049IjIuMTMiCiMgYmFzZV9saWJkaXI9JHtiYXNlX3ByZWZpeH0vJHtiYXNlbGlifQpleHBv
cnQgYmFzZV9saWJkaXI9Ii9saWIiCiMgRkVUQ0hDTURfd2dldD0vdXNyL2Jpbi9lbnYgd2dldCAt
dCA1IC1udiAtLW5vLWNoZWNrLWNlcnRpZmljYXRlCkZFVENIQ01EX3dnZXQ9Ii91c3IvYmluL2Vu
diB3Z2V0IC10IDUgLW52IC0tbm8tY2hlY2stY2VydGlmaWNhdGUiCiMgQlVJTERfT1BUSU1JWkFU
SU9OPS1PMiAtcGlwZQpCVUlMRF9PUFRJTUlaQVRJT049Ii1PMiAtcGlwZSIKIyBFWENMVURFX0ZS
T01fV09STERfcG4tZWRzLXRvb2xzPTEKRVhDTFVERV9GUk9NX1dPUkxEX3BuLWVkcy10b29scz0i
MSIKIyBQQUNLQUdFSU5ERVhFUz0gcGFja2FnZV91cGRhdGVfaW5kZXhfaXBrOwpQQUNLQUdFSU5E
RVhFUz0icGFja2FnZV91cGRhdGVfaW5kZXhfaXBrOyIKIyBCUE49JHtAYmFzZV9wcnVuZV9zdWZm
aXgoZC5nZXRWYXIoJ1BOJywgVHJ1ZSksIGQuZ2V0VmFyKCdTUEVDSUFMX1BLR1NVRkZJWCcsIFRy
dWUpLnNwbGl0KCksIGQpfQpCUE49Im1ldGEtdG9vbGNoYWluIgojIEFTTkVFREVEX3BuLWRpYWxl
cj0KIyBQQVRIPSR7U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfToke1NUQUdJTkdfQklORElSX0NS
T1NTfToke1NUQUdJTkdfRElSX05BVElWRX0ke3NiaW5kaXJfbmF0aXZlfToke1NUQUdJTkdfQklO
RElSX05BVElWRX06JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtiYXNlX3NiaW5kaXJfbmF0aXZlfTok
e1NUQUdJTkdfRElSX05BVElWRX0vJHtiYXNlX2JpbmRpcl9uYXRpdmV9Oi9vcHQvcG9reS5naXQv
c2NyaXB0czovb3B0L3Bva3kuZ2l0L2JpdGJha2UvYmluLzovb3B0L3Bva3kuZ2l0L3NjcmlwdHM6
L29wdC9wb2t5LmdpdC9iaXRiYWtlL2Jpbi86L29wdC9wb2t5LmdpdC9zY3JpcHRzOi9vcHQvcG9r
eS5naXQvYml0YmFrZS9iaW4vOi9vcHQvcG9reS5naXQvc2NyaXB0czovb3B0L3Bva3kuZ2l0L2Jp
dGJha2UvYmluLzovdXNyL2xpYjY0L2NjYWNoZTovdXNyL2xpYjY0L2ljZWNjL2JpbjovdXNyL2xv
Y2FsL2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWwvc2JpbjovdXNyL3NiaW46L3NiaW46L29w
dC9wb2t5LmdpdC9zY3JpcHRzCmV4cG9ydCBQQVRIPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2Jpbi9jb3JlMi1jY2QtbGlu
dXg6L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29y
ZGlhL3Vzci9iaW4vY3Jvc3NzY3JpcHRzOi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3Ivc2JpbjovaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2JpbjovaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvc2Jp
bjovaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQt
bGludXgvL2Jpbjovb3B0L3Bva3kuZ2l0L3NjcmlwdHM6L29wdC9wb2t5LmdpdC9iaXRiYWtlL2Jp
bi86L29wdC9wb2t5LmdpdC9zY3JpcHRzOi9vcHQvcG9reS5naXQvYml0YmFrZS9iaW4vOi9vcHQv
cG9reS5naXQvc2NyaXB0czovb3B0L3Bva3kuZ2l0L2JpdGJha2UvYmluLzovb3B0L3Bva3kuZ2l0
L3NjcmlwdHM6L29wdC9wb2t5LmdpdC9iaXRiYWtlL2Jpbi86L3Vzci9saWI2NC9jY2FjaGU6L3Vz
ci9saWI2NC9pY2VjYy9iaW46L3Vzci9sb2NhbC9iaW46L2JpbjovdXNyL2JpbjovdXNyL2xvY2Fs
L3NiaW46L3Vzci9zYmluOi9zYmluOi9vcHQvcG9reS5naXQvc2NyaXB0cyIKIyBBU05FRURFRF9w
bi1wY2l1dGlscz0KIyBUQVJHRVRfQ0ZMQUdTPSR7VEFSR0VUX0NQUEZMQUdTfSAke1NFTEVDVEVE
X09QVElNSVpBVElPTn0KZXhwb3J0IFRBUkdFVF9DRkxBR1M9Ii1PMiAtcGlwZSAtZyAtZmVsaW1p
bmF0ZS11bnVzZWQtZGVidWctdHlwZXMiCiMgYmFzZV9iaW5kaXI9JHtiYXNlX3ByZWZpeH0vYmlu
CmV4cG9ydCBiYXNlX2JpbmRpcj0iL2JpbiIKIyBQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0
by10aW55PTMuMiUKUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8tdGlueT0iMy4yJSIKIyBQ
S0dSPSR7UFJ9JHtFWFRFTkRQUkFVVE99ClBLR1I9InI3IgojIFBLR19DT05GSUdfTElCRElSPSR7
UEtHX0NPTkZJR19ESVJ9CmV4cG9ydCBQS0dfQ09ORklHX0xJQkRJUj0iL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhLy91c3IvbGliL3BrZ2Nv
bmZpZyIKIyBQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3M9JHtHQ0NWRVJTSU9OfQpQUkVGRVJS
RURfVkVSU0lPTl9nY2MtY3Jvc3M9IjQuNiUiCiMgU0FOSVRZX1JFUVVJUkVEX1VUSUxJVElFUz1w
YXRjaCBkaWZmc3RhdCB0ZXhpMmh0bWwgbWFrZWluZm8gc3ZuIGJ6aXAyIHRhciBnemlwIGdhd2sg
Y2hycGF0aCB3Z2V0IGNwaW8KU0FOSVRZX1JFUVVJUkVEX1VUSUxJVElFUz0icGF0Y2ggZGlmZnN0
YXQgdGV4aTJodG1sIG1ha2VpbmZvIHN2biBiemlwMiB0YXIgZ3ppcCBnYXdrIGNocnBhdGggd2dl
dCBjcGlvIgojIFNFUFBVS1VfQ09NUE9ORU5UPU5vbmUKIyBQUkVGRVJSRURfUFJPVklERVJfb3Br
Zy1uYXRpdmU9b3BrZy1uYXRpdmUKUFJFRkVSUkVEX1BST1ZJREVSX29wa2ctbmF0aXZlPSJvcGtn
LW5hdGl2ZSIKIyBNQUNISU5FPWNvbmNvcmRpYQp1bnNldCBNQUNISU5FCiMgR0lURElSPSR7Q09f
RElSfS9naXQyCkdJVERJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9kb3du
bG9hZHMvZ2l0MiIKIyBFWENMVURFX0ZST01fV09STERfcG4tZ29iamVjdC1pbnRyb3NwZWN0aW9u
PTEKRVhDTFVERV9GUk9NX1dPUkxEX3BuLWdvYmplY3QtaW50cm9zcGVjdGlvbj0iMSIKIyBNQUNI
SU5FT1ZFUlJJREVTPSR7TUFDSElORX0ke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJF
UyIsICJtMzIiLCAiOng4NiIsICIiICxkKX0KTUFDSElORU9WRVJSSURFUz0iY29uY29yZGlhOng4
NiIKIyBUT09MQ0hBSU5fT1VUUFVUTkFNRT0ke1NES19OQU1FfS10b29sY2hhaW4tJHtESVNUUk9f
VkVSU0lPTn0KVE9PTENIQUlOX09VVFBVVE5BTUU9ImNvbmNvcmRpYS1lZ2xpYmMtaTY4Ni1pNTg2
LXRvb2xjaGFpbi12MC4xLjQiCiMgcHJlZml4X25hdGl2ZT0vdXNyCnByZWZpeF9uYXRpdmU9Ii91
c3IiCiMgUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveHNlcnZlci14Zjg2PXhzZXJ2ZXIteG9y
ZwpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94c2VydmVyLXhmODY9InhzZXJ2ZXIteG9yZyIK
IyBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1nY2MtaW50ZXJtZWRp
YXRlPWdjYy1jcm9zcy1pbnRlcm1lZGlhdGUKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4
Ni1jY2QtbGludXgtZ2NjLWludGVybWVkaWF0ZT0iZ2NjLWNyb3NzLWludGVybWVkaWF0ZSIKIyBT
RUNUSU9OXyR7UE59LWRldj1Ob25lCiMgYmFzZV9zYmluZGlyX25hdGl2ZT0vc2JpbgpiYXNlX3Ni
aW5kaXJfbmF0aXZlPSIvc2JpbiIKIyBzYmluZGlyPSR7ZXhlY19wcmVmaXh9L3NiaW4KZXhwb3J0
IHNiaW5kaXI9Ii91c3Ivc2JpbiIKIyBDRkxBR1M9JHtUQVJHRVRfQ0ZMQUdTfQpleHBvcnQgQ0ZM
QUdTPSItTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIgojIEJCX0JB
U0VIQVNIX3Rhc2stZG9fcG9wdWxhdGVfc3lzcm9vdD1kNTgxNDkwZGNlNWVhNmQ2NTczOTU3ZGFi
ZDg1NDkyZgpCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX3N5c3Jvb3Q9ImQ1ODE0OTBkY2U1
ZWE2ZDY1NzM5NTdkYWJkODU0OTJmIgojIEJVSUxEX0FSPSR7QlVJTERfUFJFRklYfWFyCmV4cG9y
dCBCVUlMRF9BUj0iYXIiCiMgQlVJTERfQVM9JHtCVUlMRF9QUkVGSVh9YXMgJHtCVUlMRF9BU19B
UkNIfQpleHBvcnQgQlVJTERfQVM9ImFzIgojIFNITElCU0RJUj0ke1NUQUdJTkdfRElSX0hPU1R9
L3NobGlicwpTSExJQlNESVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3N5c3Jvb3RzL2NvbmNvcmRpYS9zaGxpYnMiCiMgc2hhcmVkc3RhdGVkaXI9JHtiYXNlX3ByZWZp
eH0vY29tCmV4cG9ydCBzaGFyZWRzdGF0ZWRpcj0iL2NvbSIKIyBCQVNFX0xJQl90dW5lLWNvcmUy
LTY0PWxpYjY0CkJBU0VfTElCX3R1bmUtY29yZTItNjQ9ImxpYjY0IgojIENPTU1FUkNJQUxfQVVE
SU9fUExVR0lOUz0KIyBERUJJQU5fTUlSUk9SPWZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9w
b29sCkRFQklBTl9NSVJST1I9ImZ0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIgojIFBS
RUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmM9ZWdsaWJjClBSRUZFUlJFRF9QUk9WSURFUl92
aXJ0dWFsL2xpYmM9ImVnbGliYyIKIyBERUZBVUxUX1RBU0tfUFJPVklERVI9dGFzay1iYXNlCkRF
RkFVTFRfVEFTS19QUk9WSURFUj0idGFzay1iYXNlIgojIFBSRUZFUlJFRF9WRVJTSU9OX2djYy1j
cm9zcy1jYW5hZGlhbi1pNTg2PSR7R0NDVkVSU0lPTn0KUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNy
b3NzLWNhbmFkaWFuLWk1ODY9IjQuNiUiCiMgU1VNTUFSWV9tZXRhLXRvb2xjaGFpbi1kYmc9JHtT
VU1NQVJZfSAtIERlYnVnZ2luZyBmaWxlcwpTVU1NQVJZX21ldGEtdG9vbGNoYWluLWRiZz0ibWV0
YS10b29sY2hhaW4gdmVyc2lvbiAxLjAtcjcgLSBEZWJ1Z2dpbmcgZmlsZXMiCiMgUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1jY2QtbGludXgtZ2NjPWdjYy1jcm9zcwpQUkVGRVJSRURf
UFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1nY2M9ImdjYy1jcm9zcyIKIyBQUkVGRVJS
RURfVkVSU0lPTl9saW51eC15b2N0b19xZW11cHBjPTMuMiUKUFJFRkVSUkVEX1ZFUlNJT05fbGlu
dXgteW9jdG9fcWVtdXBwYz0iMy4yJSIKIyBCQl9CQVNFSEFTSF90YXNrLWRvX2NvbmZpZ3VyZT0x
N2YxNjY2MWRhYjA4MjMzMDk1OWU4NTFmNDU2YTdkNApCQl9CQVNFSEFTSF90YXNrLWRvX2NvbmZp
Z3VyZT0iMTdmMTY2NjFkYWIwODIzMzA5NTllODUxZjQ1NmE3ZDQiCiMgS0VSTkVMX0lNQUdFVFlQ
RT1iekltYWdlCktFUk5FTF9JTUFHRVRZUEU9ImJ6SW1hZ2UiCiMgVklSVFVBTC1SVU5USU1FX2Fw
bT1hcG0KVklSVFVBTC1SVU5USU1FX2FwbT0iYXBtIgojIElNQUdFX0xJTkdVQVM9ZW4tdXMgZW4t
Z2IKSU1BR0VfTElOR1VBUz0iZW4tdXMgZW4tZ2IiCiMgREVQTE9ZX0RJUl9JTUFHRT0ke0RFUExP
WV9ESVJ9L2ltYWdlcwpERVBMT1lfRElSX0lNQUdFPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9kZXBsb3kvaW1hZ2VzIgojIFNVTU1BUllfJHtQTn0tZGV2PU5vbmUKIyBQ
UkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJjLW5hdGl2ZXNkaz1lZ2xpYmMtbmF0aXZlc2Rr
ClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmMtbmF0aXZlc2RrPSJlZ2xpYmMtbmF0aXZl
c2RrIgojIFBBUkFMTEVMX01BS0U9LWogMTIKUEFSQUxMRUxfTUFLRT0iLWogMTIiCiMgUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliaWNvbnYtbmF0aXZlc2RrPWVnbGliYy1uYXRpdmVzZGsK
UFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliaWNvbnYtbmF0aXZlc2RrPSJlZ2xpYmMtbmF0
aXZlc2RrIgojIERFU0NSSVBUSU9OXyR7UE59LXN0YXRpY2Rldj1Ob25lCiMgUFJFRkVSUkVEX1ZF
UlNJT05fbGludXgtbGliYy1oZWFkZXJzPSR7TElOVVhMSUJDVkVSU0lPTn0KUFJFRkVSUkVEX1ZF
UlNJT05fbGludXgtbGliYy1oZWFkZXJzPSIzLjIiCiMgUFJFRkVSUkVEX1ZFUlNJT05fbGliZXJh
dGlvbi1mb250cz0xLjA0ClBSRUZFUlJFRF9WRVJTSU9OX2xpYmVyYXRpb24tZm9udHM9IjEuMDQi
CiMgRElTVFJPX0ZFQVRVUkVTX1RJTlk9cGNpCkRJU1RST19GRUFUVVJFU19USU5ZPSJwY2kiCiMg
SU5IRVJJVF9ESVNUUk89ZGViaWFuIGRldnNoZWxsIHNzdGF0ZSBsaWNlbnNlCklOSEVSSVRfRElT
VFJPPSJkZWJpYW4gZGV2c2hlbGwgc3N0YXRlIGxpY2Vuc2UiCiMgSU1BR0VfQkFTRU5BTUU9JHtQ
Tn0KSU1BR0VfQkFTRU5BTUU9Im1ldGEtdG9vbGNoYWluIgojIFBBVENIVE9PTD1xdWlsdApQQVRD
SFRPT0w9InF1aWx0IgojIFhPUkdfTUlSUk9SPWh0dHA6Ly94b3JnLmZyZWVkZXNrdG9wLm9yZy9y
ZWxlYXNlcwpYT1JHX01JUlJPUj0iaHR0cDovL3hvcmcuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2Vz
IgojIFNZU1JPT1RfREVTVERJUj0ke1dPUktESVJ9L3N5c3Jvb3QtZGVzdGRpci8KU1lTUk9PVF9E
RVNURElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUy
LWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc3lzcm9vdC1kZXN0ZGlyLyIKIyBCQl9C
QVNFSEFTSF90YXNrLWRvX2NoZWNrdXJpPTI1NzliZjAwNGM3MmQ0ODAxODZiMWU1MWVjNzc1Zjc1
CkJCX0JBU0VIQVNIX3Rhc2stZG9fY2hlY2t1cmk9IjI1NzliZjAwNGM3MmQ0ODAxODZiMWU1MWVj
Nzc1Zjc1IgojIFVDTElCQ1ZFUlNJT049MC45LjMzClVDTElCQ1ZFUlNJT049IjAuOS4zMyIKIyBE
SVNUUk89Y29uY29yZGlhCnVuc2V0IERJU1RSTwojIFBBQ0tBR0VMT0NLPSR7U1RBR0lOR19ESVJ9
L3BhY2thZ2Utb3V0cHV0LmxvY2sKUEFDS0FHRUxPQ0s9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3BhY2thZ2Utb3V0cHV0LmxvY2siCiMgU1BFQ0lBTF9Q
S0dTVUZGSVg9LW5hdGl2ZSAtY3Jvc3MgLWluaXRpYWwgLWludGVybWVkaWF0ZSAtbmF0aXZlc2Rr
IC1jcm9zc3NkayAtY3Jvc3MtY2FuYWRpYW4KU1BFQ0lBTF9QS0dTVUZGSVg9Ii1uYXRpdmUgLWNy
b3NzIC1pbml0aWFsIC1pbnRlcm1lZGlhdGUgLW5hdGl2ZXNkayAtY3Jvc3NzZGsgLWNyb3NzLWNh
bmFkaWFuIgojIEJVSUxEX0VYRUVYVD0KIyBETF9ESVI9JHtUT1BESVJ9L2Rvd25sb2FkcwpETF9E
SVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vZG93bmxvYWRzIgojIEJCX0JB
U0VIQVNIX3Rhc2stZG9fY2hlY2t1cmlhbGw9NTQ5NDI3NWZiNWEzMDdkMWI2YmE5MzJiNTk0MTU1
MjIKQkJfQkFTRUhBU0hfdGFzay1kb19jaGVja3VyaWFsbD0iNTQ5NDI3NWZiNWEzMDdkMWI2YmE5
MzJiNTk0MTU1MjIiCiMgSU1BR0VfUk9PVEZTX0VYVFJBX1NQQUNFPTAKSU1BR0VfUk9PVEZTX0VY
VFJBX1NQQUNFPSIwIgojIEJCX0JBU0VIQVNIX3Rhc2stZG9fY29tcGlsZT0wZGVlYjJlN2IwZGQw
YjNjNDM2NWM2Mzg5MzBkYjYwOApCQl9CQVNFSEFTSF90YXNrLWRvX2NvbXBpbGU9IjBkZWViMmU3
YjBkZDBiM2M0MzY1YzYzODkzMGRiNjA4IgojIFBSPXI3ClBSPSJyNyIKIyBQVj0ke0BiYi5wYXJz
ZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnKSxkKVsxXSBvciAnMS4w
J30KUFY9IjEuMCIKIyBTREtfUFJFRklYPSR7U0RLX1NZU30tClNES19QUkVGSVg9Imk2ODYtY2Nk
c2RrLWxpbnV4LSIKIyBQS0dERVNUPSR7V09SS0RJUn0vcGFja2FnZXMtc3BsaXQKUEtHREVTVD0i
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGlu
dXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3BhY2thZ2VzLXNwbGl0IgojIEJCX0JBU0VIQVNIX3Rh
c2stZG9fZmV0Y2g9ZmYwNjBlNDYyNzU2NTQ3ODBmYzlmODExOWRiM2YzNWIKQkJfQkFTRUhBU0hf
dGFzay1kb19mZXRjaD0iZmYwNjBlNDYyNzU2NTQ3ODBmYzlmODExOWRiM2YzNWIiCiMgUEY9JHtQ
Tn0tJHtFWFRFTkRQRX0ke1BWfS0ke1BSfQpQRj0ibWV0YS10b29sY2hhaW4tMS4wLXI3IgojIFNU
QUdJTkdfQklORElSX05BVElWRT0ke1NUQUdJTkdfRElSX05BVElWRX0ke2JpbmRpcl9uYXRpdmV9
ClNUQUdJTkdfQklORElSX05BVElWRT0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9iaW4iCiMgSU1BR0VURVNUPWR1bW15CklN
QUdFVEVTVD0iZHVtbXkiCiMgUUVNVV9PUFRJT05TX2FybXY3YT0tY3B1IGNvcnRleC1hOApRRU1V
X09QVElPTlNfYXJtdjdhPSItY3B1IGNvcnRleC1hOCIKIyBQTj0ke0BiYi5wYXJzZS5CQkhhbmRs
ZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnKSxkKVswXSBvciAnZGVmYXVsdHBrZ25h
bWUnfQpQTj0ibWV0YS10b29sY2hhaW4iCiMgRkFLRVJPT1ROT0VOVj1QU0VVRE9fVU5MT0FEPTEK
RkFLRVJPT1ROT0VOVj0iUFNFVURPX1VOTE9BRD0xIgojIFBBQ0tBR0VWQVJTPUZJTEVTIFJERVBF
TkRTIFJSRUNPTU1FTkRTIFNVTU1BUlkgREVTQ1JJUFRJT04gUlNVR0dFU1RTIFJQUk9WSURFUyBS
Q09ORkxJQ1RTIFBLRyBBTExPV19FTVBUWSBwa2dfcG9zdGluc3QgcGtnX3Bvc3RybSBJTklUU0NS
SVBUX05BTUUgSU5JVFNDUklQVF9QQVJBTVMgREVCSUFOX05PQVVUT05BTUUKUEFDS0FHRVZBUlM9
IkZJTEVTIFJERVBFTkRTIFJSRUNPTU1FTkRTIFNVTU1BUlkgREVTQ1JJUFRJT04gUlNVR0dFU1RT
IFJQUk9WSURFUyBSQ09ORkxJQ1RTIFBLRyBBTExPV19FTVBUWSBwa2dfcG9zdGluc3QgcGtnX3Bv
c3RybSBJTklUU0NSSVBUX05BTUUgSU5JVFNDUklQVF9QQVJBTVMgREVCSUFOX05PQVVUT05BTUUi
CiMgRElTVFJPX1ZFUlNJT049JHtAc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJnaXQiLCAiZGVz
Y3JpYmUiXSkuc3RyaXAoKX0KRElTVFJPX1ZFUlNJT049InYwLjEuNCIKIyBTREtfTERfQVJDSD0k
e0JVSUxEX0xEX0FSQ0h9CiMgUz0ke1dPUktESVJ9LyR7QlB9ClM9Ii9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWlu
LTEuMC1yNy9tZXRhLXRvb2xjaGFpbi0xLjAiCiMgREVQTE9ZX0RJUl9UQVI9JHtERVBMT1lfRElS
fS90YXIKREVQTE9ZX0RJUl9UQVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL2RlcGxveS90YXIiCiMgU1RBR0lOR19LRVJORUxfRElSPSR7U1RBR0lOR19ESVJfSE9TVH0v
a2VybmVsClNUQUdJTkdfS0VSTkVMX0RJUj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL2tlcm5lbCIKIyBQUkVGRVJSRURfUFJPVklERVJf
bGludXgtbGliYy1oZWFkZXJzPWxpbnV4LWxpYmMtaGVhZGVycy15b2N0bwpQUkVGRVJSRURfUFJP
VklERVJfbGludXgtbGliYy1oZWFkZXJzPSJsaW51eC1saWJjLWhlYWRlcnMteW9jdG8iCiMgQkJf
QkFTRUhBU0hfdGFzay1kb19jbGVhbj05ZmMyOGQ4YzZkNzA2YWQ3MjYwZjI1MjkxOWIzYTA4YgpC
Ql9CQVNFSEFTSF90YXNrLWRvX2NsZWFuPSI5ZmMyOGQ4YzZkNzA2YWQ3MjYwZjI1MjkxOWIzYTA4
YiIKIyBNTFBSRUZJWD0KIyBBRE9CRV9NSVJST1I9aHR0cDovL2ZwZG93bmxvYWQubWFjcm9tZWRp
YS5jb20vZ2V0L2ZsYXNocGxheWVyL2N1cnJlbnQvCkFET0JFX01JUlJPUj0iaHR0cDovL2ZwZG93
bmxvYWQubWFjcm9tZWRpYS5jb20vZ2V0L2ZsYXNocGxheWVyL2N1cnJlbnQvIgojIElQS19GRUVE
X1VSSVM9Tm9uZQojIFBLR19DT05GSUdfRElSPSR7U1RBR0lOR19ESVJfSE9TVH0vJHtsaWJkaXJ9
L3BrZ2NvbmZpZwpleHBvcnQgUEtHX0NPTkZJR19ESVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYS8vdXNyL2xpYi9wa2djb25maWciCiMg
VEFSR0VUX0xERkxBR1M9LVdsLC1PMSAke1RBUkdFVF9MSU5LX0hBU0hfU1RZTEV9ICR7QVNORUVE
RUR9CmV4cG9ydCBUQVJHRVRfTERGTEFHUz0iLVdsLC1PMSAtV2wsLS1oYXNoLXN0eWxlPWdudSAt
V2wsLS1hcy1uZWVkZWQiCiMgSU1BR0VfUFJFUFJPQ0VTU19DT01NQU5EPSBta2xpYnNfb3B0aW1p
emVfaW1hZ2U7ICBwcmVsaW5rX2ltYWdlOyAKSU1BR0VfUFJFUFJPQ0VTU19DT01NQU5EPSJta2xp
YnNfb3B0aW1pemVfaW1hZ2U7ICBwcmVsaW5rX2ltYWdlOyIKIyBERUJJQU5SREVQPQojIFRBUkdF
VF9TWVM9JHtUQVJHRVRfQVJDSH0ke1RBUkdFVF9WRU5ET1J9JHtAWyctJyArIGQuZ2V0VmFyKCdU
QVJHRVRfT1MnLCBUcnVlKSwgJyddW2QuZ2V0VmFyKCdUQVJHRVRfT1MnLCBUcnVlKSA9PSAoJycg
b3IgJ2N1c3RvbScpXX0KVEFSR0VUX1NZUz0iaTU4Ni1jY2QtbGludXgiCiMgUFJFRkVSUkVEX1BS
T1ZJREVSX3ZpcnR1YWwvbGliYy1sb2NhbGU9ZWdsaWJjLWxvY2FsZQpQUkVGRVJSRURfUFJPVklE
RVJfdmlydHVhbC9saWJjLWxvY2FsZT0iZWdsaWJjLWxvY2FsZSIKIyBQS0dfQ09ORklHX0RJU0FC
TEVfVU5JTlNUQUxMRUQ9eWVzCmV4cG9ydCBQS0dfQ09ORklHX0RJU0FCTEVfVU5JTlNUQUxMRUQ9
InllcyIKIyBERVNDUklQVElPTl8ke1BOfS1kZXY9Tm9uZQojIFBBQ0tBR0VSREVQVEFTSz0KIyBM
SU5LRVJfSEFTSF9TVFlMRV9taXBzNjRlbD1zeXN2CkxJTktFUl9IQVNIX1NUWUxFX21pcHM2NGVs
PSJzeXN2IgojIGxpYmRpcj0ke2V4ZWNfcHJlZml4fS8ke2Jhc2VsaWJ9CmV4cG9ydCBsaWJkaXI9
Ii91c3IvbGliIgojIFNFUFBVS1VfTkVXUkVQT1JUPU5vbmUKIyBUVU5FX0ZFQVRVUkVTX3R1bmUt
eDg2LTY0PW02NApUVU5FX0ZFQVRVUkVTX3R1bmUteDg2LTY0PSJtNjQiCiMgQUxMT1dfRU1QVFlf
JHtQTn0tZGV2PU5vbmUKIyBTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU49JHtTVEFHSU5HX0RJUl9O
QVRJVkV9JHtiaW5kaXJfbmF0aXZlfS8ke1RVTkVfUEtHQVJDSH0ke1RBUkdFVF9WRU5ET1J9LSR7
VEFSR0VUX09TfQpTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU49Ii9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL2NvcmUyLWNj
ZC1saW51eCIKIyBNRVRBREFUQV9CUkFOQ0g9JHtAYmFzZV9kZXRlY3RfYnJhbmNoKGQpfQpNRVRB
REFUQV9CUkFOQ0g9ImRlbnppbCIKIyBQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3NzZGstaW5p
dGlhbD0ke1NES0dDQ1ZFUlNJT059ClBSRUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zc3Nkay1pbml0
aWFsPSI0LjYlIgojIFNZU1JPT1RfUFJFUFJPQ0VTU19GVU5DUz0KIyBQUkVGRVJSRURfUFJPVklE
RVJfdmlydHVhbC8ke1NES19QUkVGSVh9bGliYy1pbml0aWFsLW5hdGl2ZXNkaz1Ob25lCiMgU0VQ
UFVLVV9BVFRBQ0hNRU5UPU5vbmUKIyBCQl9ERUZBVUxUX1RBU0s9YnVpbGQKQkJfREVGQVVMVF9U
QVNLPSJidWlsZCIKIyBQU0VVRE9fRElTQUJMRUQ9MQpleHBvcnQgUFNFVURPX0RJU0FCTEVEPSIx
IgojIFBBQ0tBR0VfQ0xBU1NFUz1wYWNrYWdlX2lwawpQQUNLQUdFX0NMQVNTRVM9InBhY2thZ2Vf
aXBrIgojIFBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3FlbXV4ODY9My4yJQpQUkVGRVJS
RURfVkVSU0lPTl9saW51eC15b2N0b19xZW11eDg2PSIzLjIlIgojIFRPT0xDSEFJTl9PUFRJT05T
PSAtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9ClRPT0xDSEFJTl9PUFRJT05TPSItLXN5
c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29u
Y29yZGlhIgojIExJQkNfREVQRU5ERU5DSUVTPWxpYnNlZ2ZhdWx0IAkJICAgICBlZ2xpYmMgICAg
IAkJICAgICBlZ2xpYmMtZGJnICAgICAJCSAgICAgZWdsaWJjLWRldiAgICAgCQkgICAgIGVnbGli
Yy11dGlscyAgICAgCQkgICAgIGVnbGliYy10aHJlYWQtZGIgCQkgICAgICR7QGdldF9saWJjX2xv
Y2FsZXNfZGVwZW5kZW5jaWVzKGQpfQpMSUJDX0RFUEVOREVOQ0lFUz0ibGlic2VnZmF1bHQgCQkg
ICAgIGVnbGliYyAgICAgCQkgICAgIGVnbGliYy1kYmcgICAgIAkJICAgICBlZ2xpYmMtZGV2ICAg
ICAJCSAgICAgZWdsaWJjLXV0aWxzICAgICAJCSAgICAgZWdsaWJjLXRocmVhZC1kYiAJCSAgICAg
CWVnbGliYy1sb2NhbGVkYXRhLWkxOG4gCWVnbGliYy1nY29udi1pYm04NTAgCWVnbGliYy1nY29u
di1jcDEyNTIgCWVnbGliYy1nY29udi1pc284ODU5LTEgCWVnbGliYy1nY29udi1pc284ODU5LTE1
IAlsb2NhbGUtYmFzZS1lbi11cyAJbG9jYWxlLWJhc2UtZW4tZ2IiCiMgU0VQUFVLVV9MT0dJTj1O
b25lCiMgT0VfVEVSTUlOQUw9YXV0bwpPRV9URVJNSU5BTD0iYXV0byIKIyBPRV9URVJNSU5BTF9F
WFBPUlRTPVhBVVRIT1JJVFkgU0hFTEwgREJVU19TRVNTSU9OX0JVU19BRERSRVNTIERJU1BMQVkg
RVhUUkFfT0VNQUtFCk9FX1RFUk1JTkFMX0VYUE9SVFM9IlhBVVRIT1JJVFkgU0hFTEwgREJVU19T
RVNTSU9OX0JVU19BRERSRVNTIERJU1BMQVkgRVhUUkFfT0VNQUtFIgojIFRVTkVfRkVBVFVSRVNf
dHVuZS1jb3JlMj0ke1RVTkVfRkVBVFVSRVNfdHVuZS14ODZ9IGNvcmUyClRVTkVfRkVBVFVSRVNf
dHVuZS1jb3JlMj0ibTMyIGNvcmUyIgojIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYngx
MT1saWJ4MTEtdHJpbQpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJ4MTE9ImxpYngxMS10
cmltIgojIFRBUkdFVF9QUkVGSVg9JHtUQVJHRVRfU1lTfS0KVEFSR0VUX1BSRUZJWD0iaTU4Ni1j
Y2QtbGludXgtIgojIGV4cGFuc2lvbiBvZiBTUkNQViB0aHJldyBFeHBhbnNpb25FcnJvcjogRmFp
bHVyZSBleHBhbmRpbmcgdmFyaWFibGUgU1JDUFYsIGV4cHJlc3Npb24gd2FzICR7QGJiLmZldGNo
Mi5nZXRfc3JjcmV2KGQpfSB3aGljaCB0cmlnZ2VyZWQgZXhjZXB0aW9uIEZldGNoRXJyb3I6IEZl
dGNoZXIgZmFpbHVyZTogU1JDUkVWIHdhcyB1c2VkIHlldCBubyB2YWxpZCBTQ00gd2FzIGZvdW5k
IGluIFNSQ19VUkkKIyBfdGFza19kZXBzPXsnbm9leGVjJzogeydkb19wYWNrYWdlX3dyaXRlJzog
JzEnLCAnZG9fYnVpbGQnOiAnMSd9LCAndGFza3MnOiBbJ2RvX3BhdGNoJywgJ2RvX3BvcHVsYXRl
X3N5c3Jvb3QnLCAnZG9fcG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZScsICdkb19saXN0dGFza3Mn
LCAnZG9fY2xlYW4nLCAnZG9fY2hlY2t1cmknLCAnZG9fY2hlY2t1cmlhbGwnLCAnZG9fZmV0Y2hh
bGwnLCAnZG9fYnVpbGRhbGwnLCAnZG9fZmV0Y2gnLCAnZG9fdW5wYWNrJywgJ2RvX2NvbmZpZ3Vy
ZScsICdkb19jb21waWxlJywgJ2RvX2luc3RhbGwnLCAnZG9fYnVpbGQnLCAnZG9fY2xlYW5zc3Rh
dGUnLCAnZG9fY2xlYW5hbGwnLCAnZG9fcGFja2FnZScsICdkb19wYWNrYWdlX3NldHNjZW5lJywg
J2RvX3BhY2thZ2Vfd3JpdGUnLCAnZG9fcGFja2FnZV93cml0ZV9pcGtfc2V0c2NlbmUnLCAnZG9f
cGFja2FnZV93cml0ZV9pcGsnLCAnZG9fZGV2c2hlbGwnLCAnZG9fcG9wdWxhdGVfbGljJywgJ2Rv
X3BvcHVsYXRlX2xpY19zZXRzY2VuZScsICdkb19wb3B1bGF0ZV9zZGsnXSwgJ3JkZXB0YXNrJzog
eydkb19wYWNrYWdlX3dyaXRlX2lwayc6ICcnfSwgJ3JlY3JkZXB0YXNrJzogeydkb19idWlsZGFs
bCc6ICdkb19idWlsZCcsICdkb19jaGVja3VyaWFsbCc6ICdkb19jaGVja3VyaScsICdkb19mZXRj
aGFsbCc6ICdkb19mZXRjaCcsICdkb19wb3B1bGF0ZV9zZGsnOiAnZG9fcGFja2FnZV93cml0ZScs
ICdkb19idWlsZCc6ICdkb19idWlsZCd9LCAndW1hc2snOiB7J2RvX2luc3RhbGwnOiAxOCwgJ2Rv
X2NvbmZpZ3VyZSc6IDE4LCAnZG9fcGFja2FnZSc6IDE4LCAnZG9fcGFja2FnZV93cml0ZV9pcGsn
OiAnMDIyJywgJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnOiAnMDIyJywgJ2RvX2NvbXBpbGUnOiAxOH0s
ICdkZXBlbmRzJzogeydkb19wYXRjaCc6ICdxdWlsdC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9v
dCcsICdkb19pbnN0YWxsJzogJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9z
eXNyb290JywgJ2RvX2NvbmZpZ3VyZSc6ICcgZWdsaWJjOmRvX3BvcHVsYXRlX3N5c3Jvb3QgbmN1
cnNlczpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX3BhY2thZ2UnOiAnIHZpcnR1YWwvZmFrZXJv
b3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcG9wdWxhdGVfc2RrJzogJyBvcGtn
LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IG9wa2ctdXRpbHMtbmF0aXZlOmRvX3BvcHVsYXRl
X3N5c3Jvb3QnfSwgJ2Zha2Vyb290Jzogeydkb19pbnN0YWxsJzogMSwgJ2RvX3BhY2thZ2Vfc2V0
c2NlbmUnOiAxLCAnZG9fcGFja2FnZSc6IDEsICdkb19wb3B1bGF0ZV9zZGsnOiAnMSd9LCAncGFy
ZW50cyc6IHsnZG9fY29uZmlndXJlJzogWydkb19wYXRjaCddLCAnZG9fcGFja2FnZSc6IFsnZG9f
cG9wdWxhdGVfbGljJywgJ2RvX2luc3RhbGwnXSwgJ2RvX3BhY2thZ2Vfd3JpdGUnOiBbJ2RvX3Bh
Y2thZ2Vfd3JpdGVfaXBrJywgJ2RvX3BhY2thZ2UnXSwgJ2RvX2ZldGNoYWxsJzogWydkb19mZXRj
aCddLCAnZG9fcG9wdWxhdGVfc2RrJzogWydkb19pbnN0YWxsJ10sICdkb19jb21waWxlJzogWydk
b19jb25maWd1cmUnXSwgJ2RvX2NsZWFuYWxsJzogWydkb19jbGVhbnNzdGF0ZSddLCAnZG9fY2hl
Y2t1cmknOiBbXSwgJ2RvX3VucGFjayc6IFsnZG9fZmV0Y2gnXSwgJ2RvX3BvcHVsYXRlX2xpYyc6
IFsnZG9fcGF0Y2gnXSwgJ2RvX2J1aWxkJzogWydkb19wb3B1bGF0ZV9zZGsnLCAnZG9fcGFja2Fn
ZV93cml0ZScsICdkb19wYWNrYWdlJywgJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnXSwgJ2RvX2ZldGNo
JzogW10sICdkb19kZXZzaGVsbCc6IFsnZG9fcGF0Y2gnXSwgJ2RvX3BvcHVsYXRlX3N5c3Jvb3Qn
OiBbJ2RvX2luc3RhbGwnXSwgJ2RvX3BvcHVsYXRlX3N5c3Jvb3Rfc2V0c2NlbmUnOiBbXSwgJ2Rv
X2NoZWNrdXJpYWxsJzogWydkb19jaGVja3VyaSddLCAnZG9faW5zdGFsbCc6IFsnZG9fY29tcGls
ZSddLCAnZG9fcG9wdWxhdGVfbGljX3NldHNjZW5lJzogW10sICdkb19saXN0dGFza3MnOiBbXSwg
J2RvX2NsZWFuJzogW10sICdkb19wYXRjaCc6IFsnZG9fdW5wYWNrJ10sICdkb19wYWNrYWdlX3dy
aXRlX2lwa19zZXRzY2VuZSc6IFtdLCAnZG9fYnVpbGRhbGwnOiBbJ2RvX2J1aWxkJ10sICdkb19w
YWNrYWdlX3dyaXRlX2lwayc6IFsnZG9fcGFja2FnZSddLCAnZG9fcGFja2FnZV9zZXRzY2VuZSc6
IFtdLCAnZG9fY2xlYW5zc3RhdGUnOiBbJ2RvX2NsZWFuJ119LCAnZGVwdGFzayc6IHsnZG9fY29u
ZmlndXJlJzogJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnfSwgJ25vc3RhbXAnOiB7J2RvX2xpc3R0YXNr
cyc6ICcxJywgJ2RvX2RldnNoZWxsJzogJzEnLCAnZG9fY2xlYW4nOiAnMScsICdkb19wb3B1bGF0
ZV9zZGsnOiAnMScsICdkb19jbGVhbmFsbCc6ICcxJywgJ2RvX2NoZWNrdXJpJzogJzEnLCAnZG9f
Y2hlY2t1cmlhbGwnOiAnMSd9fQpfdGFza19kZXBzPSJ7J25vZXhlYyc6IHsnZG9fcGFja2FnZV93
cml0ZSc6ICcxJywgJ2RvX2J1aWxkJzogJzEnfSwgJ3Rhc2tzJzogWydkb19wYXRjaCcsICdkb19w
b3B1bGF0ZV9zeXNyb290JywgJ2RvX3BvcHVsYXRlX3N5c3Jvb3Rfc2V0c2NlbmUnLCAnZG9fbGlz
dHRhc2tzJywgJ2RvX2NsZWFuJywgJ2RvX2NoZWNrdXJpJywgJ2RvX2NoZWNrdXJpYWxsJywgJ2Rv
X2ZldGNoYWxsJywgJ2RvX2J1aWxkYWxsJywgJ2RvX2ZldGNoJywgJ2RvX3VucGFjaycsICdkb19j
b25maWd1cmUnLCAnZG9fY29tcGlsZScsICdkb19pbnN0YWxsJywgJ2RvX2J1aWxkJywgJ2RvX2Ns
ZWFuc3N0YXRlJywgJ2RvX2NsZWFuYWxsJywgJ2RvX3BhY2thZ2UnLCAnZG9fcGFja2FnZV9zZXRz
Y2VuZScsICdkb19wYWNrYWdlX3dyaXRlJywgJ2RvX3BhY2thZ2Vfd3JpdGVfaXBrX3NldHNjZW5l
JywgJ2RvX3BhY2thZ2Vfd3JpdGVfaXBrJywgJ2RvX2RldnNoZWxsJywgJ2RvX3BvcHVsYXRlX2xp
YycsICdkb19wb3B1bGF0ZV9saWNfc2V0c2NlbmUnLCAnZG9fcG9wdWxhdGVfc2RrJ10sICdyZGVw
dGFzayc6IHsnZG9fcGFja2FnZV93cml0ZV9pcGsnOiAnJ30sICdyZWNyZGVwdGFzayc6IHsnZG9f
YnVpbGRhbGwnOiAnZG9fYnVpbGQnLCAnZG9fY2hlY2t1cmlhbGwnOiAnZG9fY2hlY2t1cmknLCAn
ZG9fZmV0Y2hhbGwnOiAnZG9fZmV0Y2gnLCAnZG9fcG9wdWxhdGVfc2RrJzogJ2RvX3BhY2thZ2Vf
d3JpdGUnLCAnZG9fYnVpbGQnOiAnZG9fYnVpbGQnfSwgJ3VtYXNrJzogeydkb19pbnN0YWxsJzog
MTgsICdkb19jb25maWd1cmUnOiAxOCwgJ2RvX3BhY2thZ2UnOiAxOCwgJ2RvX3BhY2thZ2Vfd3Jp
dGVfaXBrJzogJzAyMicsICdkb19wb3B1bGF0ZV9zeXNyb290JzogJzAyMicsICdkb19jb21waWxl
JzogMTh9LCAnZGVwZW5kcyc6IHsnZG9fcGF0Y2gnOiAncXVpbHQtbmF0aXZlOmRvX3BvcHVsYXRl
X3N5c3Jvb3QnLCAnZG9faW5zdGFsbCc6ICcgdmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9fcG9w
dWxhdGVfc3lzcm9vdCcsICdkb19jb25maWd1cmUnOiAnIGVnbGliYzpkb19wb3B1bGF0ZV9zeXNy
b290IG5jdXJzZXM6ZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19wYWNrYWdlJzogJyB2aXJ0dWFs
L2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX3BvcHVsYXRlX3Nkayc6
ICcgb3BrZy1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBvcGtnLXV0aWxzLW5hdGl2ZTpkb19w
b3B1bGF0ZV9zeXNyb290J30sICdmYWtlcm9vdCc6IHsnZG9faW5zdGFsbCc6IDEsICdkb19wYWNr
YWdlX3NldHNjZW5lJzogMSwgJ2RvX3BhY2thZ2UnOiAxLCAnZG9fcG9wdWxhdGVfc2RrJzogJzEn
fSwgJ3BhcmVudHMnOiB7J2RvX2NvbmZpZ3VyZSc6IFsnZG9fcGF0Y2gnXSwgJ2RvX3BhY2thZ2Un
OiBbJ2RvX3BvcHVsYXRlX2xpYycsICdkb19pbnN0YWxsJ10sICdkb19wYWNrYWdlX3dyaXRlJzog
Wydkb19wYWNrYWdlX3dyaXRlX2lwaycsICdkb19wYWNrYWdlJ10sICdkb19mZXRjaGFsbCc6IFsn
ZG9fZmV0Y2gnXSwgJ2RvX3BvcHVsYXRlX3Nkayc6IFsnZG9faW5zdGFsbCddLCAnZG9fY29tcGls
ZSc6IFsnZG9fY29uZmlndXJlJ10sICdkb19jbGVhbmFsbCc6IFsnZG9fY2xlYW5zc3RhdGUnXSwg
J2RvX2NoZWNrdXJpJzogW10sICdkb191bnBhY2snOiBbJ2RvX2ZldGNoJ10sICdkb19wb3B1bGF0
ZV9saWMnOiBbJ2RvX3BhdGNoJ10sICdkb19idWlsZCc6IFsnZG9fcG9wdWxhdGVfc2RrJywgJ2Rv
X3BhY2thZ2Vfd3JpdGUnLCAnZG9fcGFja2FnZScsICdkb19wb3B1bGF0ZV9zeXNyb290J10sICdk
b19mZXRjaCc6IFtdLCAnZG9fZGV2c2hlbGwnOiBbJ2RvX3BhdGNoJ10sICdkb19wb3B1bGF0ZV9z
eXNyb290JzogWydkb19pbnN0YWxsJ10sICdkb19wb3B1bGF0ZV9zeXNyb290X3NldHNjZW5lJzog
W10sICdkb19jaGVja3VyaWFsbCc6IFsnZG9fY2hlY2t1cmknXSwgJ2RvX2luc3RhbGwnOiBbJ2Rv
X2NvbXBpbGUnXSwgJ2RvX3BvcHVsYXRlX2xpY19zZXRzY2VuZSc6IFtdLCAnZG9fbGlzdHRhc2tz
JzogW10sICdkb19jbGVhbic6IFtdLCAnZG9fcGF0Y2gnOiBbJ2RvX3VucGFjayddLCAnZG9fcGFj
a2FnZV93cml0ZV9pcGtfc2V0c2NlbmUnOiBbXSwgJ2RvX2J1aWxkYWxsJzogWydkb19idWlsZCdd
LCAnZG9fcGFja2FnZV93cml0ZV9pcGsnOiBbJ2RvX3BhY2thZ2UnXSwgJ2RvX3BhY2thZ2Vfc2V0
c2NlbmUnOiBbXSwgJ2RvX2NsZWFuc3N0YXRlJzogWydkb19jbGVhbiddfSwgJ2RlcHRhc2snOiB7
J2RvX2NvbmZpZ3VyZSc6ICdkb19wb3B1bGF0ZV9zeXNyb290J30sICdub3N0YW1wJzogeydkb19s
aXN0dGFza3MnOiAnMScsICdkb19kZXZzaGVsbCc6ICcxJywgJ2RvX2NsZWFuJzogJzEnLCAnZG9f
cG9wdWxhdGVfc2RrJzogJzEnLCAnZG9fY2xlYW5hbGwnOiAnMScsICdkb19jaGVja3VyaSc6ICcx
JywgJ2RvX2NoZWNrdXJpYWxsJzogJzEnfX0iCiMgUFNFVURPX0JVSUxEPTAKUFNFVURPX0JVSUxE
PSIwIgojIG5vX3Byb3h5PWludGVsLmNvbQpub19wcm94eT0iaW50ZWwuY29tIgojIEJCX0JBU0VI
QVNIX3Rhc2stZG9fcG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZT1kZGU0OGMyZWRjMDRmYzg0ZWYw
NDZmODE3Mzc5NGY5MgpCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX3N5c3Jvb3Rfc2V0c2Nl
bmU9ImRkZTQ4YzJlZGMwNGZjODRlZjA0NmY4MTczNzk0ZjkyIgojIFBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2ZXM9dXBkYXRlLWFsdGVybmF0aXZlcy1jd29ydGgK
UFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcz0idXBkYXRlLWFs
dGVybmF0aXZlcy1jd29ydGgiCiMgRE9UREVCVUctZGJnPSR7YmluZGlyfS8uZGVidWcgJHtzYmlu
ZGlyfS8uZGVidWcgJHtsaWJleGVjZGlyfS8uZGVidWcgJHtsaWJkaXJ9Ly5kZWJ1ZyAke2Jhc2Vf
YmluZGlyfS8uZGVidWcgJHtiYXNlX3NiaW5kaXJ9Ly5kZWJ1ZyAke2Jhc2VfbGliZGlyfS8uZGVi
dWcgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcgJHtsaWJkaXJ9L21hdGNoYm94LXBhbmVsLy5kZWJ1
ZyAvdXNyL3NyYy9kZWJ1ZwpET1RERUJVRy1kYmc9Ii91c3IvYmluLy5kZWJ1ZyAvdXNyL3NiaW4v
LmRlYnVnIC91c3IvbGliZXhlYy8uZGVidWcgL3Vzci9saWIvLmRlYnVnIC9iaW4vLmRlYnVnIC9z
YmluLy5kZWJ1ZyAvbGliLy5kZWJ1ZyAvdXNyL2xpYi9tZXRhLXRvb2xjaGFpbi8uZGVidWcgL3Vz
ci9saWIvbWF0Y2hib3gtcGFuZWwvLmRlYnVnIC91c3Ivc3JjL2RlYnVnIgojIFBBQ0tBR0VfQVJD
SFM9YWxsIGFueSBub2FyY2ggJHtQQUNLQUdFX0VYVFJBX0FSQ0hTfSAke01BQ0hJTkVfQVJDSH0K
UEFDS0FHRV9BUkNIUz0iYWxsIGFueSBub2FyY2ggeDg2IGkzODYgaTQ4NiBpNTg2IGk2ODYgY29y
ZTIgY29uY29yZGlhIgojIFBBQ0tBR0VfQVJDSD0ke1RVTkVfUEtHQVJDSH0KUEFDS0FHRV9BUkNI
PSJjb3JlMiIKIyBFWFRSQV9PRUNPTkY9CiMgQlVJTERfRjc3PSR7Q0NBQ0hFfSR7QlVJTERfUFJF
RklYfWc3NyAke0JVSUxEX0NDX0FSQ0h9CmV4cG9ydCBCVUlMRF9GNzc9Imc3NyIKIyBTSExJQlNX
T1JLRElSPSR7V09SS0RJUn0vc2hsaWJzClNITElCU1dPUktESVI9Ii9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWlu
LTEuMC1yNy9zaGxpYnMiCiMgTUFDSElORV9FU1NFTlRJQUxfRVhUUkFfUkRFUEVORFM9CiMgREVT
Q1JJUFRJT05fbWV0YS10b29sY2hhaW4tZG9jPSR7REVTQ1JJUFRJT059ICBUaGlzIHBhY2thZ2Ug
Y29udGFpbnMgZG9jdW1lbnRhdGlvbi4KREVTQ1JJUFRJT05fbWV0YS10b29sY2hhaW4tZG9jPSJN
ZXRhIHBhY2thZ2UgZm9yIGJ1aWxkaW5nIGEgaW5zdGFsbGFibGUgdG9vbGNoYWluICBUaGlzIHBh
Y2thZ2UgY29udGFpbnMgZG9jdW1lbnRhdGlvbi4iCiMgQlVJTERfTERfQVJDSD0KIyBCQl9CQVNF
SEFTSF90YXNrLWRvX2ZldGNoYWxsPTU0OTQyNzVmYjVhMzA3ZDFiNmJhOTMyYjU5NDE1NTIyCkJC
X0JBU0VIQVNIX3Rhc2stZG9fZmV0Y2hhbGw9IjU0OTQyNzVmYjVhMzA3ZDFiNmJhOTMyYjU5NDE1
NTIyIgojIFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19ESVJfSE9TVH0ke2xpYmRpcn0KU1RBR0lO
R19MSUJESVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3Rz
L2NvbmNvcmRpYS91c3IvbGliIgojIFNUQUdJTkdfREFUQURJUl9OQVRJVkU9JHtTVEFHSU5HX0RJ
Ul9OQVRJVkV9JHtkYXRhZGlyX25hdGl2ZX0KU1RBR0lOR19EQVRBRElSX05BVElWRT0iL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vz
ci9zaGFyZSIKIyBSUE1ERVBTPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ycG0vYmluL3JwbWRl
cHMtb2Vjb3JlIC0tbWFjcm9zICR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ycG0vbWFjcm9zIC0t
ZGVmaW5lICdfcnBtZmNfbWFnaWNfcGF0aCAke1NUQUdJTkdfRElSX05BVElWRX0ke2RhdGFkaXJf
bmF0aXZlfS9taXNjL21hZ2ljLm1nYycgLS1ycG1wb3B0ICR7U1RBR0lOR19MSUJESVJfTkFUSVZF
fS9ycG0vcnBtcG9wdApSUE1ERVBTPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi9ycG0vYmluL3JwbWRlcHMtb2Vjb3Jl
IC0tbWFjcm9zIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3Rz
L3g4Nl82NC1saW51eC91c3IvbGliL3JwbS9tYWNyb3MgLS1kZWZpbmUgJ19ycG1mY19tYWdpY19w
YXRoIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82
NC1saW51eC91c3Ivc2hhcmUvbWlzYy9tYWdpYy5tZ2MnIC0tcnBtcG9wdCAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi9y
cG0vcnBtcG9wdCIKIyBTUkNSRVY9SU5WQUxJRApTUkNSRVY9IklOVkFMSUQiCiMgYmFzZV9saWJk
aXJfbmF0aXZlc2RrPS9saWIKYmFzZV9saWJkaXJfbmF0aXZlc2RrPSIvbGliIgojIEJBU0VfTElC
X3R1bmUteDg2PWxpYgpCQVNFX0xJQl90dW5lLXg4Nj0ibGliIgojIFBBQ0tBR0VGVU5DUz1wYWNr
YWdlX2dldF9hdXRvX3ByICAgICAgICAgICAgICAgICBwZXJmb3JtX3BhY2thZ2Vjb3B5ICAgICAg
ICAgICAgICAgICAke1BBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DU30gCQlwYWNrYWdlX2RvX3NwbGl0
X2xvY2FsZXMgCQlzcGxpdF9hbmRfc3RyaXBfZmlsZXMgCQlmaXh1cF9wZXJtcyAJCXBvcHVsYXRl
X3BhY2thZ2VzIAkJcGFja2FnZV9kb19maWxlZGVwcyAJCXBhY2thZ2VfZG9fc2hsaWJzIAkJcGFj
a2FnZV9kb19wa2djb25maWcgCQlyZWFkX3NobGliZGVwcyAJCXBhY2thZ2VfZGVwY2hhaW5zIAkJ
ZW1pdF9wa2dkYXRhICBkb19wYWNrYWdlX3FhIApQQUNLQUdFRlVOQ1M9InBhY2thZ2VfZ2V0X2F1
dG9fcHIgICAgICAgICAgICAgICAgIHBlcmZvcm1fcGFja2FnZWNvcHkgICAgICAgICAgICAgICAg
ICAJCXBhY2thZ2VfZG9fc3BsaXRfbG9jYWxlcyAJCXNwbGl0X2FuZF9zdHJpcF9maWxlcyAJCWZp
eHVwX3Blcm1zIAkJcG9wdWxhdGVfcGFja2FnZXMgCQlwYWNrYWdlX2RvX2ZpbGVkZXBzIAkJcGFj
a2FnZV9kb19zaGxpYnMgCQlwYWNrYWdlX2RvX3BrZ2NvbmZpZyAJCXJlYWRfc2hsaWJkZXBzIAkJ
cGFja2FnZV9kZXBjaGFpbnMgCQllbWl0X3BrZ2RhdGEgIGRvX3BhY2thZ2VfcWEiCiMgUFdEPS9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8KZXhwb3J0IFBXRD0iL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3RybyIKIyBCWlJESVI9JHtDT19ESVJ9L2J6cgpCWlJESVI9Ii9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vZG93bmxvYWRzL2J6ciIKIyBQUkVGRVJS
RURfUFJPVklERVJfbGludXgtbGliYy1oZWFkZXJzLW5hdGl2ZXNkaz1saW51eC1saWJjLWhlYWRl
cnMtbmF0aXZlc2RrClBSRUZFUlJFRF9QUk9WSURFUl9saW51eC1saWJjLWhlYWRlcnMtbmF0aXZl
c2RrPSJsaW51eC1saWJjLWhlYWRlcnMtbmF0aXZlc2RrIgojIFRVTkVfRkVBVFVSRVNfdHVuZS1p
NTg2PSR7VFVORV9GRUFUVVJFU190dW5lLXg4Nn0gaTU4NgpUVU5FX0ZFQVRVUkVTX3R1bmUtaTU4
Nj0ibTMyIGk1ODYiCiMgR1BFX1NWTj1zdm46Ly9wcm9qZWN0cy5saW51eHRvZ28ub3JnL3N2bi9n
cGUvdHJ1bmsvYmFzZTttb2R1bGU9JHtQTn0KR1BFX1NWTj0ic3ZuOi8vcHJvamVjdHMubGludXh0
b2dvLm9yZy9zdm4vZ3BlL3RydW5rL2Jhc2U7bW9kdWxlPW1ldGEtdG9vbGNoYWluIgojIEVYVEVO
RFBLR1Y9JHtFWFRFTkRQS0dFVkVSfSR7UEtHVn0tJHtQS0dSfQpFWFRFTkRQS0dWPSIxLjAtcjci
CiMgQUxMX1BST1hZPXNvY2tzOi8vcHJveHktc29ja3MuamYuaW50ZWwuY29tOjEwODAvCkFMTF9Q
Uk9YWT0ic29ja3M6Ly9wcm94eS1zb2Nrcy5qZi5pbnRlbC5jb206MTA4MC8iCiMgUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwvZGItbmF0aXZlPWRiLW5hdGl2ZQpQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9kYi1uYXRpdmU9ImRiLW5hdGl2ZSIKIyBodHRwX3Byb3h5PWh0dHA6Ly9wcm94eS5q
Zi5pbnRlbC5jb206OTExCmh0dHBfcHJveHk9Imh0dHA6Ly9wcm94eS5qZi5pbnRlbC5jb206OTEx
IgojIFNTVEFURVRBU0tTPWRvX3BhY2thZ2Vfd3JpdGVfaXBrIGRvX3BvcHVsYXRlX2xpYyBkb19w
YWNrYWdlIGRvX3BvcHVsYXRlX3N5c3Jvb3QKU1NUQVRFVEFTS1M9ImRvX3BhY2thZ2Vfd3JpdGVf
aXBrIGRvX3BvcHVsYXRlX2xpYyBkb19wYWNrYWdlIGRvX3BvcHVsYXRlX3N5c3Jvb3QiCiMgU09M
SUJTX2Rhcndpbj0uKi5keWxpYgpTT0xJQlNfZGFyd2luPSIuKi5keWxpYiIKIyBQUkVGRVJSRURf
UFJPVklERVJfdmlydHVhbC9kYj1kYgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9kYj0iZGIi
CiMgQlA9JHtCUE59LSR7UFZ9CkJQPSJtZXRhLXRvb2xjaGFpbi0xLjAiCiMgQkJGSUxFX1BBVFRF
Uk5fbm9ybWFsPV4vb3B0L3Bva3kuZ2l0L21ldGEvCkJCRklMRV9QQVRURVJOX25vcm1hbD0iXi9v
cHQvcG9reS5naXQvbWV0YS8iCiMgVFVORV9QS0dBUkNIX3R1bmUteDg2PXg4NgpUVU5FX1BLR0FS
Q0hfdHVuZS14ODY9Ing4NiIKIyBTSEVMTD0vYmluL2Jhc2gKZXhwb3J0IFNIRUxMPSIvYmluL2Jh
c2giCiMgREVCVUdGSUxFRElSRUNUT1JZLWRiZz0vdXNyL2xpYi9kZWJ1ZyAvdXNyL3NyYy9kZWJ1
ZwpERUJVR0ZJTEVESVJFQ1RPUlktZGJnPSIvdXNyL2xpYi9kZWJ1ZyAvdXNyL3NyYy9kZWJ1ZyIK
IyBQUkVGRVJSRURfVkVSU0lPTl91Y2xpYmM9JHtVQ0xJQkNWRVJTSU9OfQpQUkVGRVJSRURfVkVS
U0lPTl91Y2xpYmM9IjAuOS4zMyIKIyBQUkVGRVJSRURfUFJPVklERVJfeGY4Ni12aWRlby1pbnRl
bD14Zjg2LXZpZGVvLWludGVsClBSRUZFUlJFRF9QUk9WSURFUl94Zjg2LXZpZGVvLWludGVsPSJ4
Zjg2LXZpZGVvLWludGVsIgojIEJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUz0wCkJCX0dFTkVS
QVRFX01JUlJPUl9UQVJCQUxMUz0iMCIKIyBUVU5FX1BLR0FSQ0hfdHVuZS1jb3JlMi02NC14MzI9
Y29yZTJfNjRfeDMyClRVTkVfUEtHQVJDSF90dW5lLWNvcmUyLTY0LXgzMj0iY29yZTJfNjRfeDMy
IgojIFNPVVJDRV9NSVJST1JfRkVUQ0g9Tm9uZQojIFQ9JHtXT1JLRElSfS90ZW1wClQ9Ii9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21l
dGEtdG9vbGNoYWluLTEuMC1yNy90ZW1wIgojIEdMSUJDX0FERE9OUz1ucHRsCkdMSUJDX0FERE9O
Uz0ibnB0bCIKIyBzeXN0ZW1kX3VuaXRkaXI9JHtiYXNlX2xpYmRpcn0vc3lzdGVtZApleHBvcnQg
c3lzdGVtZF91bml0ZGlyPSIvbGliL3N5c3RlbWQiCiMgTElOS0VSX0hBU0hfU1RZTEVfbWlwczY0
PXN5c3YKTElOS0VSX0hBU0hfU1RZTEVfbWlwczY0PSJzeXN2IgojIENPTU1FUkNJQUxfVklERU9f
UExVR0lOUz0KIyBCVUlMRF9DQ19BUkNIPQojIEZFVENIQ09NTUFORD1FUlJPUiwgdGhpcyBtdXN0
IGJlIGEgQml0QmFrZSBidWcKRkVUQ0hDT01NQU5EPSJFUlJPUiwgdGhpcyBtdXN0IGJlIGEgQml0
QmFrZSBidWciCiMgVE9PTENIQUlOX0hPU1RfVEFTSz10YXNrLXNkay1ob3N0LW5hdGl2ZXNkayB0
YXNrLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0KVE9PTENIQUlOX0hP
U1RfVEFTSz0idGFzay1zZGstaG9zdC1uYXRpdmVzZGsgdGFzay1jcm9zcy1jYW5hZGlhbi1pNTg2
IgojIEJCX0JBU0VIQVNIX3Rhc2stZG9fYnVpbGQ9NTQ5NDI3NWZiNWEzMDdkMWI2YmE5MzJiNTk0
MTU1MjIKQkJfQkFTRUhBU0hfdGFzay1kb19idWlsZD0iNTQ5NDI3NWZiNWEzMDdkMWI2YmE5MzJi
NTk0MTU1MjIiCiMgTUlSUk9SUz1mdHA6Ly8uKi8uKiAgICAgIGh0dHA6Ly9kb3dubG9hZHMueW9j
dG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaHR0cDovLy4qLy4qICAgICBodHRwOi8v
ZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGh0dHBzOi8vLiov
LiogICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBc
biAgJHtERUJJQU5fTUlSUk9SfS9tYWluCWh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ubmV0L2FyY2hp
dmUvcG9vbCBcbiAke0RFQklBTl9NSVJST1J9CWZ0cDovL2Z0cC5kZS5kZWJpYW4ub3JnL2RlYmlh
bi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JZnRwOi8vZnRwLmF1LmRlYmlhbi5vcmcvZGViaWFu
L3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlmdHA6Ly9mdHAuY2wuZGViaWFuLm9yZy9kZWJpYW4v
cG9vbCBcbiAke0RFQklBTl9NSVJST1J9CWZ0cDovL2Z0cC5oci5kZWJpYW4ub3JnL2RlYmlhbi9w
b29sIFxuICR7REVCSUFOX01JUlJPUn0JZnRwOi8vZnRwLmZpLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlmdHA6Ly9mdHAuaGsuZGViaWFuLm9yZy9kZWJpYW4vcG9v
bCBcbiAke0RFQklBTl9NSVJST1J9CWZ0cDovL2Z0cC5odS5kZWJpYW4ub3JnL2RlYmlhbi9wb29s
IFxuICR7REVCSUFOX01JUlJPUn0JZnRwOi8vZnRwLmllLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wg
XG4gJHtERUJJQU5fTUlSUk9SfQlmdHA6Ly9mdHAuaXQuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWZ0cDovL2Z0cC5qcC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxu
ICR7REVCSUFOX01JUlJPUn0JZnRwOi8vZnRwLm5vLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4g
JHtERUJJQU5fTUlSUk9SfQlmdHA6Ly9mdHAucGwuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBcbiAk
e0RFQklBTl9NSVJST1J9CWZ0cDovL2Z0cC5yby5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7
REVCSUFOX01JUlJPUn0JZnRwOi8vZnRwLnNpLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtE
RUJJQU5fTUlSUk9SfQlmdHA6Ly9mdHAuZXMuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBcbiAke0RF
QklBTl9NSVJST1J9CWZ0cDovL2Z0cC5zZS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVC
SUFOX01JUlJPUn0JZnRwOi8vZnRwLnRyLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtHTlVf
TUlSUk9SfQlmdHA6Ly9taXJyb3JzLmtlcm5lbC5vcmcvZ251IFxuICR7S0VSTkVMT1JHX01JUlJP
Un0JaHR0cDovL3d3dy5rZXJuZWwub3JnL3B1YiBcbiBmdHA6Ly9mdHAuZ251cGcub3JnL2djcnlw
dC8gICAgIGZ0cDovL2Z0cC5mcmFua2VuLmRlL3B1Yi9jcnlwdC9taXJyb3IvZnRwLmdudXBnLm9y
Zy9nY3J5cHQvIFxuIGZ0cDovL2Z0cC5nbnVwZy5vcmcvZ2NyeXB0LyAgICAgZnRwOi8vZnRwLnN1
cmZuZXQubmwvcHViL3NlY3VyaXR5L2dudXBnLyBcbiBmdHA6Ly9mdHAuZ251cGcub3JnL2djcnlw
dC8gICAgIGh0dHA6Ly9ndWx1cy5VU2hlcmJyb29rZS5jYS9wdWIvYXBwbC9HbnVQRy8gXG4gZnRw
Oi8vZGFudGUuY3Rhbi5vcmcvdGV4LWFyY2hpdmUgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS90ZXgv
Q1RBTiBcbiBmdHA6Ly9kYW50ZS5jdGFuLm9yZy90ZXgtYXJjaGl2ZSBodHRwOi8vc3Vuc2l0ZS5z
dXQuYWMuanAvcHViL2FyY2hpdmVzL2N0YW4vIFxuIGZ0cDovL2RhbnRlLmN0YW4ub3JnL3RleC1h
cmNoaXZlIGh0dHA6Ly9jdGFuLnVuc3cuZWR1LmF1LyBcbiBmdHA6Ly9mdHAuZ251dGxzLm9yZy9w
dWIvZ251dGxzIGZ0cDovL2Z0cC5nbnV0bHMub3JnL3B1Yi9nbnV0bHMvIFxuIGZ0cDovL2Z0cC5n
bnV0bHMub3JnL3B1Yi9nbnV0bHMgZnRwOi8vZnRwLmdudXBnLm9yZy9nY3J5cHQvZ251dGxzLyBc
biBmdHA6Ly9mdHAuZ251dGxzLm9yZy9wdWIvZ251dGxzIGh0dHA6Ly93d3cubWlycm9ycy53aXJl
dGFwcGVkLm5ldC9zZWN1cml0eS9uZXR3b3JrLXNlY3VyaXR5L2dudXRscy8gXG4gZnRwOi8vZnRw
LmdudXRscy5vcmcvcHViL2dudXRscyBmdHA6Ly9mdHAubWlycm9ycy53aXJldGFwcGVkLm5ldC9w
dWIvc2VjdXJpdHkvbmV0d29yay1zZWN1cml0eS9nbnV0bHMvIFxuIGZ0cDovL2Z0cC5nbnV0bHMu
b3JnL3B1Yi9nbnV0bHMgaHR0cDovL2pvc2Vmc3Nvbi5vcmcvZ251dGxzL3JlbGVhc2VzLyBcbiBo
dHRwOi8vZnRwLmluZm8temlwLm9yZy9wdWIvaW5mb3ppcC9zcmMvIGh0dHA6Ly9taXJyb3Iuc3dp
dGNoLmNoL2Z0cC9taXJyb3IvaW5mb3ppcC9zcmMvIFxuIGh0dHA6Ly9mdHAuaW5mby16aXAub3Jn
L3B1Yi9pbmZvemlwL3NyYy8gZnRwOi8vc3Vuc2l0ZS5pY20uZWR1LnBsL3B1Yi91bml4L2FyY2hp
dmluZy9pbmZvLXppcC9zcmMvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29s
cy91bml4L2xzb2YvICBmdHA6Ly9mdHAuY2VyaWFzLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgv
c3lzdXRpbHMvbHNvZi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3Vu
aXgvbHNvZi8gIGZ0cDovL2Z0cC50YXUuYWMuaWwvcHViL3VuaXgvYWRtaW4vIFxuIGZ0cDovL2xz
b2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAuY2VydC5k
Zm4uZGUvcHViL3Rvb2xzL2FkbWluL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1
L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3B1Yi91bml4L3Rv
b2xzL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xz
b2YvICBmdHA6Ly9mdHAua2Fpem8ub3JnL3B1Yi9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVy
ZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLnR1LWRhcm1zdGFkdC5kZS9w
dWIvc3lzYWRtaW4vbHNvZi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xz
L3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC50dXgub3JnL3B1Yi9zaXRlcy92aWMuY2MucHVyZHVlLmVk
dS90b29scy91bml4L2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29s
cy91bml4L2xzb2YvICBmdHA6Ly9nZC50dXdpZW4uYWMuYXQvdXRpbHMvYWRtaW4tdG9vbHMvbHNv
Zi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0
cDovL3N1bnNpdGUudWFsYmVydGEuY2EvcHViL01pcnJvci9sc29mLyBcbiBmdHA6Ly9sc29mLml0
YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vdGhlLndpcmV0YXBwZWQu
bmV0L3B1Yi9zZWN1cml0eS9ob3N0LXNlY3VyaXR5L2xzb2YvIFxuIGh0dHA6Ly93d3cuYXBhY2hl
Lm9yZy9kaXN0ICBodHRwOi8vYXJjaGl2ZS5hcGFjaGUub3JnL2Rpc3QgXG4gY3ZzOi8vLiovLiog
ICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4g
c3ZuOi8vLiovLiogICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Iv
c291cmNlcy8gXG4gZ2l0Oi8vLiovLiogICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0
Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaGc6Ly8uKi8uKiAgICAgIGh0dHA6Ly9kb3dubG9hZHMu
eW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gYnpyOi8vLiovLiogICAgIGh0dHA6
Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gc3ZrOi8vLiov
LiogICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8g
XG4gcDQ6Ly8uKi8uKiAgICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJy
b3Ivc291cmNlcy8gXG4gb3NjOi8vLiovLiogICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9q
ZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaHR0cHM/JDovLy4qLy4qIGh0dHA6Ly9kb3dubG9h
ZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gZnRwOi8vLiovLiogICAgIGh0
dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gY3ZzOi8v
LiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIHN2bjovLy4qLy4q
ICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBnaXQ6Ly8uKi8uKiAgICAg
aHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gaGc6Ly8uKi8uKiAgICAgIGh0dHA6
Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGJ6cjovLy4qLy4qICAgICBodHRwOi8vc291
cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBzdms6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMu
b3BlbmVtYmVkZGVkLm9yZy8gXG4gcDQ6Ly8uKi8uKiAgICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5l
bWJlZGRlZC5vcmcvIFxuIG9zYzovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRk
ZWQub3JnLyBcbiBodHRwcz8kOi8vLiovLiogaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9y
Zy8gXG4gZnRwOi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxu
IApNSVJST1JTPSJmdHA6Ly8uKi8uKiAgICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0
Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaHR0cDovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRz
LnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGh0dHBzOi8vLiovLiogICAgaHR0
cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiAgZnRwOi8v
ZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbglodHRwOi8vc25hcHNob3QuZGViaWFuLm5l
dC9hcmNoaXZlL3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJZnRwOi8v
ZnRwLmRlLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wJZnRwOi8vZnRwLmF1LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRwOi8vZnRw
LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJZnRwOi8vZnRwLmNsLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJZnRwOi8vZnRwLmhyLmRlYmlh
bi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJZnRw
Oi8vZnRwLmZpLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5vcmcv
ZGViaWFuL3Bvb2wJZnRwOi8vZnRwLmhrLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRwOi8v
ZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJZnRwOi8vZnRwLmh1LmRlYmlhbi5vcmcvZGViaWFu
L3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJZnRwOi8vZnRwLmllLmRl
Ymlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJ
ZnRwOi8vZnRwLml0LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wJZnRwOi8vZnRwLmpwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRw
Oi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJZnRwOi8vZnRwLm5vLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJZnRwOi8vZnRwLnBs
LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wJZnRwOi8vZnRwLnJvLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlh
bi5vcmcvZGViaWFuL3Bvb2wJZnRwOi8vZnRwLnNpLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4g
ZnRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJZnRwOi8vZnRwLmVzLmRlYmlhbi5vcmcv
ZGViaWFuL3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJZnRwOi8vZnRw
LnNlLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFu
L3Bvb2wJZnRwOi8vZnRwLnRyLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gZnRwOi8vZnRwLmdu
dS5vcmcvZ251CWZ0cDovL21pcnJvcnMua2VybmVsLm9yZy9nbnUgXG4gaHR0cDovL2tlcm5lbC5v
cmcvcHViCWh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIgXG4gZnRwOi8vZnRwLmdudXBnLm9yZy9n
Y3J5cHQvICAgICBmdHA6Ly9mdHAuZnJhbmtlbi5kZS9wdWIvY3J5cHQvbWlycm9yL2Z0cC5nbnVw
Zy5vcmcvZ2NyeXB0LyBcbiBmdHA6Ly9mdHAuZ251cGcub3JnL2djcnlwdC8gICAgIGZ0cDovL2Z0
cC5zdXJmbmV0Lm5sL3B1Yi9zZWN1cml0eS9nbnVwZy8gXG4gZnRwOi8vZnRwLmdudXBnLm9yZy9n
Y3J5cHQvICAgICBodHRwOi8vZ3VsdXMuVVNoZXJicm9va2UuY2EvcHViL2FwcGwvR251UEcvIFxu
IGZ0cDovL2RhbnRlLmN0YW4ub3JnL3RleC1hcmNoaXZlIGZ0cDovL2Z0cC5mdS1iZXJsaW4uZGUv
dGV4L0NUQU4gXG4gZnRwOi8vZGFudGUuY3Rhbi5vcmcvdGV4LWFyY2hpdmUgaHR0cDovL3N1bnNp
dGUuc3V0LmFjLmpwL3B1Yi9hcmNoaXZlcy9jdGFuLyBcbiBmdHA6Ly9kYW50ZS5jdGFuLm9yZy90
ZXgtYXJjaGl2ZSBodHRwOi8vY3Rhbi51bnN3LmVkdS5hdS8gXG4gZnRwOi8vZnRwLmdudXRscy5v
cmcvcHViL2dudXRscyBmdHA6Ly9mdHAuZ251dGxzLm9yZy9wdWIvZ251dGxzLyBcbiBmdHA6Ly9m
dHAuZ251dGxzLm9yZy9wdWIvZ251dGxzIGZ0cDovL2Z0cC5nbnVwZy5vcmcvZ2NyeXB0L2dudXRs
cy8gXG4gZnRwOi8vZnRwLmdudXRscy5vcmcvcHViL2dudXRscyBodHRwOi8vd3d3Lm1pcnJvcnMu
d2lyZXRhcHBlZC5uZXQvc2VjdXJpdHkvbmV0d29yay1zZWN1cml0eS9nbnV0bHMvIFxuIGZ0cDov
L2Z0cC5nbnV0bHMub3JnL3B1Yi9nbnV0bHMgZnRwOi8vZnRwLm1pcnJvcnMud2lyZXRhcHBlZC5u
ZXQvcHViL3NlY3VyaXR5L25ldHdvcmstc2VjdXJpdHkvZ251dGxzLyBcbiBmdHA6Ly9mdHAuZ251
dGxzLm9yZy9wdWIvZ251dGxzIGh0dHA6Ly9qb3NlZnNzb24ub3JnL2dudXRscy9yZWxlYXNlcy8g
XG4gaHR0cDovL2Z0cC5pbmZvLXppcC5vcmcvcHViL2luZm96aXAvc3JjLyBodHRwOi8vbWlycm9y
LnN3aXRjaC5jaC9mdHAvbWlycm9yL2luZm96aXAvc3JjLyBcbiBodHRwOi8vZnRwLmluZm8temlw
Lm9yZy9wdWIvaW5mb3ppcC9zcmMvIGZ0cDovL3N1bnNpdGUuaWNtLmVkdS5wbC9wdWIvdW5peC9h
cmNoaXZpbmcvaW5mby16aXAvc3JjLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIv
dG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmNlcmlhcy5wdXJkdWUuZWR1L3B1Yi90b29scy91
bml4L3N5c3V0aWxzL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29s
cy91bml4L2xzb2YvICBmdHA6Ly9mdHAudGF1LmFjLmlsL3B1Yi91bml4L2FkbWluLyBcbiBmdHA6
Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmNl
cnQuZGZuLmRlL3B1Yi90b29scy9hZG1pbi9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVl
LmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS9wdWIvdW5p
eC90b29scy9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5p
eC9sc29mLyAgZnRwOi8vZnRwLmthaXpvLm9yZy9wdWIvbHNvZi8gXG4gZnRwOi8vbHNvZi5pdGFw
LnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC50dS1kYXJtc3RhZHQu
ZGUvcHViL3N5c2FkbWluL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90
b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAudHV4Lm9yZy9wdWIvc2l0ZXMvdmljLmNjLnB1cmR1
ZS5lZHUvdG9vbHMvdW5peC9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIv
dG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZ2QudHV3aWVuLmFjLmF0L3V0aWxzL2FkbWluLXRvb2xz
L2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xzb2Yv
ICBmdHA6Ly9zdW5zaXRlLnVhbGJlcnRhLmNhL3B1Yi9NaXJyb3IvbHNvZi8gXG4gZnRwOi8vbHNv
Zi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL3RoZS53aXJldGFw
cGVkLm5ldC9wdWIvc2VjdXJpdHkvaG9zdC1zZWN1cml0eS9sc29mLyBcbiBodHRwOi8vd3d3LmFw
YWNoZS5vcmcvZGlzdCAgaHR0cDovL2FyY2hpdmUuYXBhY2hlLm9yZy9kaXN0IFxuIGN2czovLy4q
Ly4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMv
IFxuIHN2bjovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWly
cm9yL3NvdXJjZXMvIFxuIGdpdDovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJv
amVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGhnOi8vLiovLiogICAgICBodHRwOi8vZG93bmxv
YWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGJ6cjovLy4qLy4qICAgICBo
dHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHN2azov
Ly4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJj
ZXMvIFxuIHA0Oi8vLiovLiogICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcv
bWlycm9yL3NvdXJjZXMvIFxuIG9zYzovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3Rv
cHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGh0dHBzPyQ6Ly8uKi8uKiBodHRwOi8vZG93
bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGZ0cDovLy4qLy4qICAg
ICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGN2
czovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBzdm46Ly8u
Ki8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gZ2l0Oi8vLiovLiog
ICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGhnOi8vLiovLiogICAgICBo
dHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBienI6Ly8uKi8uKiAgICAgaHR0cDov
L3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gc3ZrOi8vLiovLiogICAgIGh0dHA6Ly9zb3Vy
Y2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIHA0Oi8vLiovLiogICAgICBodHRwOi8vc291cmNlcy5v
cGVuZW1iZWRkZWQub3JnLyBcbiBvc2M6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVt
YmVkZGVkLm9yZy8gXG4gaHR0cHM/JDovLy4qLy4qIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRl
ZC5vcmcvIFxuIGZ0cDovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3Jn
LyBcbiIKIyBQUkVGRVJSRURfVkVSU0lPTj1Ob25lCiMgUEFDS0FHRV9FWFRSQV9BUkNIU190dW5l
LWk1ODY9JHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUteDg2fSBpMzg2IGk0ODYgaTU4NgpQQUNL
QUdFX0VYVFJBX0FSQ0hTX3R1bmUtaTU4Nj0ieDg2IGkzODYgaTQ4NiBpNTg2IgojIExPR19ESVI9
JHtUTVBESVJ9L2xvZwpMT0dfRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9sb2ciCiMgREVQQ0hBSU5fUFJFPQojIEdOT01FX0dJVD1naXQ6Ly9naXQuZ25vbWUub3Jn
CkdOT01FX0dJVD0iZ2l0Oi8vZ2l0Lmdub21lLm9yZyIKIyBOTzMyTElCUz0xCk5PMzJMSUJTPSIx
IgojIFZJUlRVQUwtUlVOVElNRV9rZXltYXBzPQojIEFMTE9XX0VNUFRZXyR7UE59LWRiZz1Ob25l
CiMgUFJFRkVSUkVEX1BST1ZJREVSX2d6aXAtbmF0aXZlPXBpZ3otbmF0aXZlClBSRUZFUlJFRF9Q
Uk9WSURFUl9nemlwLW5hdGl2ZT0icGlnei1uYXRpdmUiCiMgXz0vb3B0L3Bva3kuZ2l0L2JpdGJh
a2UvYmluL2JpdGJha2UKXz0iL29wdC9wb2t5LmdpdC9iaXRiYWtlL2Jpbi9iaXRiYWtlIgojIFBS
RUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3hzZXJ2ZXI9eHNlcnZlci14b3JnClBSRUZFUlJFRF9Q
Uk9WSURFUl92aXJ0dWFsL3hzZXJ2ZXI9InhzZXJ2ZXIteG9yZyIKIyBQUkVGRVJSRURfUFJPVklE
RVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1iaW51dGlscz1iaW51dGlscy1jcm9zcwpQUkVGRVJS
RURfUFJPVklERVJfdmlydHVhbC9pNTg2LWNjZC1saW51eC1iaW51dGlscz0iYmludXRpbHMtY3Jv
c3MiCiMgQVI9JHtIT1NUX1BSRUZJWH1hcgpleHBvcnQgQVI9Imk1ODYtY2NkLWxpbnV4LWFyIgoj
IEZSRUVERVNLVE9QX0NWUz1jdnM6Ly9hbm9uY3ZzOmFub25jdnNAYW5vbmN2cy5mcmVlZGVza3Rv
cC5vcmcvY3ZzCkZSRUVERVNLVE9QX0NWUz0iY3ZzOi8vYW5vbmN2czphbm9uY3ZzQGFub25jdnMu
ZnJlZWRlc2t0b3Aub3JnL2N2cyIKIyBQQVRDSF9HRVQ9MApleHBvcnQgUEFUQ0hfR0VUPSIwIgoj
IFNJVEVfQ09ORl9WRVJTSU9OPTEKU0lURV9DT05GX1ZFUlNJT049IjEiCiMgQ1hYRkxBR1M9JHtU
QVJHRVRfQ1hYRkxBR1N9IC1mdmlzaWJpbGl0eS1pbmxpbmVzLWhpZGRlbgpleHBvcnQgQ1hYRkxB
R1M9Ii1PMiAtcGlwZSAtZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMgLWZwZXJtaXNz
aXZlIC1mdmlzaWJpbGl0eS1pbmxpbmVzLWhpZGRlbiIKIyBSREVQRU5EU18ke1BOfS1kZXY9Tm9u
ZQojIENPTVBBVElCTEVfTUFDSElORT1Ob25lCiMgUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwv
aTU4Ni1jY2QtbGludXgtY29tcGlsZXJsaWJzPWdjYy1ydW50aW1lClBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsL2k1ODYtY2NkLWxpbnV4LWNvbXBpbGVybGlicz0iZ2NjLXJ1bnRpbWUiCiMgRElT
UExBWT1sb2NhbGhvc3Q6MTAuMApESVNQTEFZPSJsb2NhbGhvc3Q6MTAuMCIKIyBOTT0ke0hPU1Rf
UFJFRklYfW5tCmV4cG9ydCBOTT0iaTU4Ni1jY2QtbGludXgtbm0iCiMgU0VQUFVLVV9BRERDT01N
RU5UPU5vbmUKIyBSREVQRU5EU19tZXRhLXRvb2xjaGFpbi1zdGF0aWNkZXY9JHtQTn0tZGV2ICg9
ICR7RVhURU5EUEtHVn0pClJERVBFTkRTX21ldGEtdG9vbGNoYWluLXN0YXRpY2Rldj0ibWV0YS10
b29sY2hhaW4tZGV2ICg9IDEuMC1yNykiCiMgREVQRU5EUz0ke0JBU0VERVBFTkRTfSB2aXJ0dWFs
L2Zha2Vyb290LW5hdGl2ZSBzZWQtbmF0aXZlCkRFUEVORFM9InZpcnR1YWwvaTU4Ni1jY2QtbGlu
dXgtZ2NjIHZpcnR1YWwvaTU4Ni1jY2QtbGludXgtY29tcGlsZXJsaWJzIHZpcnR1YWwvbGliYyAg
dmlydHVhbC9mYWtlcm9vdC1uYXRpdmUgc2VkLW5hdGl2ZSIKIyBQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9mYWtlcm9vdC1uYXRpdmU9cHNldWRvLW5hdGl2ZQpQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9mYWtlcm9vdC1uYXRpdmU9InBzZXVkby1uYXRpdmUiCiMgVEFSR0VUX0xJTktfSEFT
SF9TVFlMRT0ke0BbJy1XbCwtLWhhc2gtc3R5bGU9Z251JywnJ11bZC5nZXRWYXIoJ0xJTktFUl9I
QVNIX1NUWUxFJywgVHJ1ZSkgIT0gJ2dudSddfQpUQVJHRVRfTElOS19IQVNIX1NUWUxFPSItV2ws
LS1oYXNoLXN0eWxlPWdudSIKIyBESVNUUk9fRkVBVFVSRVNfQkFDS0ZJTEw9cHVsc2VhdWRpbwpE
SVNUUk9fRkVBVFVSRVNfQkFDS0ZJTEw9InB1bHNlYXVkaW8iCiMgUUFERVBFTkRTX3ZpcnRjbGFz
cy1uYXRpdmVzZGs9CiMgQlVJTERTREtfQ0ZMQUdTPSR7QlVJTERTREtfQ1BQRkxBR1N9ICR7QlVJ
TERfT1BUSU1JWkFUSU9OfQpCVUlMRFNES19DRkxBR1M9Ii1pc3lzdGVtL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9pbmNsdWRlIC1P
MiAtcGlwZSIKIyBGNzc9JHtDQ0FDSEV9JHtIT1NUX1BSRUZJWH1nNzcgJHtIT1NUX0NDX0FSQ0h9
JHtUT09MQ0hBSU5fT1BUSU9OU30KZXhwb3J0IEY3Nz0iaTU4Ni1jY2QtbGludXgtZzc3ICAtbTMy
ICAgIC1tYXJjaD1jb3JlMiAtbXNzZTMgLW10dW5lPWdlbmVyaWMgLW1mcG1hdGg9c3NlIC0tc3lz
cm9vdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25j
b3JkaWEiCiMgRElTVFJPX0ZFQVRVUkVTX0xJQkM9JHtESVNUUk9fRkVBVFVSRVNfTElCQ19ERUZB
VUxUfQpESVNUUk9fRkVBVFVSRVNfTElCQz0iaXB2NCBpcHY2IGxpYmMtYmFja3RyYWNlIGxpYmMt
YmlnLW1hY3JvcyBsaWJjLWJzZCBsaWJjLWN4eC10ZXN0cyBsaWJjLWNhdGdldHMgbGliYy1jaGFy
c2V0cyBsaWJjLWNyeXB0IAkJCQkJbGliYy1jcnlwdC11ZmMgbGliYy1kYi1hbGlhc2VzIGxpYmMt
ZW52eiBsaWJjLWZjdnQgbGliYy1mbXRtc2cgbGliYy1mc3RhYiBsaWJjLWZ0cmF2ZXJzZSAJCQkJ
CWxpYmMtZ2V0bG9naW4gbGliYy1pZG4gbGliYy1pbmV0LWFubCBsaWJjLWxpYm0gbGliYy1saWJt
LWJpZyBsaWJjLWxvY2FsZXMgbGliYy1sb2NhbGUtY29kZSAJCQkJCWxpYmMtbWVtdXNhZ2UgbGli
Yy1uaXMgbGliYy1uc3N3aXRjaCBsaWJjLXJjbWQgbGliYy1ydGxkLWRlYnVnIGxpYmMtc3Bhd24g
bGliYy1zdHJlYW1zIGxpYmMtc3VucnBjIAkJCQkJbGliYy11dG1wIGxpYmMtdXRtcHggbGliYy13
b3JkZXhwIGxpYmMtcG9zaXgtY2xhbmctd2NoYXIgbGliYy1wb3NpeC1yZWdleHAgbGliYy1wb3Np
eC1yZWdleHAtZ2xpYmMgCQkJCQlsaWJjLXBvc2l4LXdjaGFyLWlvIgojIERFU0NSSVBUSU9OPU1l
dGEgcGFja2FnZSBmb3IgYnVpbGRpbmcgYSBpbnN0YWxsYWJsZSB0b29sY2hhaW4KREVTQ1JJUFRJ
T049Ik1ldGEgcGFja2FnZSBmb3IgYnVpbGRpbmcgYSBpbnN0YWxsYWJsZSB0b29sY2hhaW4iCiMg
QkJfSEFTSEZJTEVOQU1FPSR7U1NUQVRFX1BLR05BTUV9CkJCX0hBU0hGSUxFTkFNRT0ic3N0YXRl
LW1ldGEtdG9vbGNoYWluLWNvcmUyLWNjZC1saW51eC0xLjAtcjctY29yZTItMi0ke0JCX1RBU0tI
QVNIfSIKIyBQQUNLQUdFX0RFUEVORFM9IHJwbS1uYXRpdmUgZmlsZS1uYXRpdmUgcGF4LXV0aWxz
LW5hdGl2ZSAke1FBREVQRU5EU30KUEFDS0FHRV9ERVBFTkRTPSJycG0tbmF0aXZlIGZpbGUtbmF0
aXZlIHBheC11dGlscy1uYXRpdmUgcHJlbGluay1uYXRpdmUiCiMgTUVUQURBVEFfUkVWSVNJT049
JHtAYmFzZV9kZXRlY3RfcmV2aXNpb24oZCl9Ck1FVEFEQVRBX1JFVklTSU9OPSJkMjBhMjQzMTBl
YjQzZmVkOWEzZjNlNzU3NTJjOWFkNDVhMThjYmU0IgojIGJhc2VfcHJlZml4PQojIEVYVFJBX0lN
QUdFREVQRU5EUz0KIyBCVUlMRF9TVFJJUD0ke0JVSUxEX1BSRUZJWH1zdHJpcApleHBvcnQgQlVJ
TERfU1RSSVA9InN0cmlwIgojIGxpYmRpcl9uYXRpdmVzZGs9JHtwcmVmaXhfbmF0aXZlc2RrfS9s
aWIKbGliZGlyX25hdGl2ZXNkaz0iL3Vzci9saWIiCiMgQkJfQkFTRUhBU0hfdGFzay1kb19wYWNr
YWdlX3NldHNjZW5lPWRkZTQ4YzJlZGMwNGZjODRlZjA0NmY4MTczNzk0ZjkyCkJCX0JBU0VIQVNI
X3Rhc2stZG9fcGFja2FnZV9zZXRzY2VuZT0iZGRlNDhjMmVkYzA0ZmM4NGVmMDQ2ZjgxNzM3OTRm
OTIiCiMgU1RBR0lOR19JTkNESVI9JHtTVEFHSU5HX0RJUl9IT1NUfSR7aW5jbHVkZWRpcn0KU1RB
R0lOR19JTkNESVI9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jv
b3RzL2NvbmNvcmRpYS91c3IvaW5jbHVkZSIKIyBUQ0xJQkNBUFBFTkQ9CiMgU1RBR0lOR19ESVI9
JHtUTVBESVJ9L3N5c3Jvb3RzClNUQUdJTkdfRElSPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9zeXNyb290cyIKIyBBU05FRURFRF9wbi14c2VydmVyLWtkcml2ZS14b21h
cD0KIyBCQl9TSUdOQVRVUkVfSEFORExFUj1PRUJhc2ljSGFzaApCQl9TSUdOQVRVUkVfSEFORExF
Uj0iT0VCYXNpY0hhc2giCiMgUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fcWVtdW1pcHM9
My4yJQpQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0b19xZW11bWlwcz0iMy4yJSIKIyBWSVJU
VUFMLVJVTlRJTUVfYWxzYS1zdGF0ZT1hbHNhLXN0YXRlClZJUlRVQUwtUlVOVElNRV9hbHNhLXN0
YXRlPSJhbHNhLXN0YXRlIgojIFZJUlRVQUwtUlVOVElNRV9kZXZfbWFuYWdlcj0KIyBTSVRFSU5G
T19FTkRJQU5ORVNTPWxlClNJVEVJTkZPX0VORElBTk5FU1M9ImxlIgojIExJQ0VOU0U9TUlUCkxJ
Q0VOU0U9Ik1JVCIKIyBQQUNLQUdFU19EWU5BTUlDPSR7UE59LWxvY2FsZS0qClBBQ0tBR0VTX0RZ
TkFNSUM9Im1ldGEtdG9vbGNoYWluLWxvY2FsZS0qIgojIExPQ0FMQ09ORl9WRVJTSU9OPTEKTE9D
QUxDT05GX1ZFUlNJT049IjEiCiMgTVVMVElMSUJfVkFSSUFOVFM9CiMgUFJFRkVSUkVEX1BST1ZJ
REVSX2NvbnNvbGUtdG9vbHM9a2JkClBSRUZFUlJFRF9QUk9WSURFUl9jb25zb2xlLXRvb2xzPSJr
YmQiCiMgU1NUQVRFUFJFSU5TVEZVTkNTPQojIERFU0NSSVBUSU9OX21ldGEtdG9vbGNoYWluLXN0
YXRpY2Rldj0ke0RFU0NSSVBUSU9OfSAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHN0YXRpYyBsaWJy
YXJpZXMgZm9yIHNvZnR3YXJlIGRldmVsb3BtZW50LgpERVNDUklQVElPTl9tZXRhLXRvb2xjaGFp
bi1zdGF0aWNkZXY9Ik1ldGEgcGFja2FnZSBmb3IgYnVpbGRpbmcgYSBpbnN0YWxsYWJsZSB0b29s
Y2hhaW4gIFRoaXMgcGFja2FnZSBjb250YWlucyBzdGF0aWMgbGlicmFyaWVzIGZvciBzb2Z0d2Fy
ZSBkZXZlbG9wbWVudC4iCiMgU1RBR0lOR19ESVJfVEFSR0VUPSR7U1RBR0lOR19ESVJ9LyR7TUFD
SElORX0KU1RBR0lOR19ESVJfVEFSR0VUPSIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEiCiMgREVCVUdfT1BUSU1JWkFUSU9OPS1PIC1mbm8t
b21pdC1mcmFtZS1wb2ludGVyICR7REVCVUdfRkxBR1N9IC1waXBlCkRFQlVHX09QVElNSVpBVElP
Tj0iLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVn
LXR5cGVzIC1waXBlIgojIFBSRUZFUlJFRF9WRVJTSU9OX2djYy1ydW50aW1lPSR7R0NDVkVSU0lP
Tn0KUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLXJ1bnRpbWU9IjQuNiUiCiMgT0VfSU1QT1JUUz0gc3Vi
cHJvY2VzcyBvcyBzeXMgdGltZSBvZS5wYXRoIG9lLnV0aWxzIG9lLmRhdGEgb2UucGFja2FnZWdy
b3VwIG9lLnNzdGF0ZXNpZwpPRV9JTVBPUlRTPSJzdWJwcm9jZXNzIG9zIHN5cyB0aW1lIG9lLnBh
dGggb2UudXRpbHMgb2UuZGF0YSBvZS5wYWNrYWdlZ3JvdXAgb2Uuc3N0YXRlc2lnIgojIEFVVE9S
RVY9JHtAYmIuZmV0Y2gyLmdldF9hdXRvcmV2KGQpfQpBVVRPUkVWPSJBVVRPSU5DIgojIFFFTVVf
T1BUSU9OUz0KIyBTREtfQVNfQVJDSD0ke0JVSUxEX0FTX0FSQ0h9CiMgRkVUQ0hDT01NQU5EX3N2
bj0vdXNyL2Jpbi9lbnYgc3ZuIGNvICR7U1ZOQ09PUFRTfSAke1NWTlJPT1R9ICR7U1ZOTU9EVUxF
fQpGRVRDSENPTU1BTkRfc3ZuPSIvdXNyL2Jpbi9lbnYgc3ZuIGNvICR7U1ZOQ09PUFRTfSAke1NW
TlJPT1R9ICR7U1ZOTU9EVUxFfSIKIyBERVBMT1lfRElSX0RFQj0ke0RFUExPWV9ESVJ9L2RlYgpE
RVBMT1lfRElSX0RFQj0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVw
bG95L2RlYiIKIyBERVBMT1lfRElSX1JQTT0ke0RFUExPWV9ESVJ9L3JwbQpERVBMT1lfRElSX1JQ
TT0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L3JwbSIKIyBQ
UkVGRVJSRURfVkVSU0lPTl9lZ2xpYmMtbG9jYWxlPSR7RUdMSUJDVkVSU0lPTn0KUFJFRkVSUkVE
X1ZFUlNJT05fZWdsaWJjLWxvY2FsZT0iMi4xMyIKIyBDTEVBTkZVTkNTPSBzc3RhdGVfY2xlYW5h
bGwKQ0xFQU5GVU5DUz0ic3N0YXRlX2NsZWFuYWxsIgojIFBBTE1UT1BfVVNFX01VTFRJVEhSRUFE
RURfUVQ9Tm9uZQojIFNUQUdJTkdfQklORElSX0NST1NTPSR7U1RBR0lOR19CSU5ESVJ9L2Nyb3Nz
c2NyaXB0cwpTVEFHSU5HX0JJTkRJUl9DUk9TUz0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9iaW4vY3Jvc3NzY3JpcHRzIgpkb19m
ZXRjaGFsbCgpIHsKCToKCn0KCmRvX2J1aWxkKCkgewoJOgoKfQoKcHJlbGlua19pbWFnZSgpIHsK
IwlleHBvcnQgUFNFVURPX0RFQlVHPTQKIwkvYmluL2VudiB8IC9iaW4vZ3JlcCBQU0VVRE8KIwll
Y2hvICJMRF9MSUJSQVJZX1BBVEg9JExEX0xJQlJBUllfUEFUSCIKIwllY2hvICJMRF9QUkVMT0FE
PSRMRF9QUkVMT0FEIgoKCXByZV9wcmVsaW5rX3NpemU9YGR1IC1rcyAvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFp
bi0xLjAtcjcvcm9vdGZzIHwgYXdrICd7c2l6ZSA9ICQxIDsgcHJpbnQgc2l6ZSB9J2AKCWVjaG8g
IlNpemUgYmVmb3JlIHByZWxpbmtpbmcgJHByZV9wcmVsaW5rX3NpemUuIgoKCSMgV2UgbmVlZCBh
IHByZWxpbmsgY29uZiBvbiB0aGUgZmlsZXN5c3RlbSwgYWRkIG9uZSBpZiBpdCdzIG1pc3NpbmcK
CWlmIFsgISAtZSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2Nv
cmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvcm9vdGZzL2V0Yy9wcmVsaW5rLmNv
bmYgXTsgdGhlbgoJCWNwIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5
c3Jvb3RzL3g4Nl82NC1saW51eC9ldGMvcHJlbGluay5jb25mIFwKCQkJL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hh
aW4tMS4wLXI3L3Jvb3Rmcy9ldGMvcHJlbGluay5jb25mCgkJZHVtbXlfcHJlbGlua19jb25mPXRy
dWU7CgllbHNlCgkJZHVtbXlfcHJlbGlua19jb25mPWZhbHNlOwoJZmkKCgkjIHByZWxpbmshCgkv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGlu
dXgvdXNyL3NiaW4vcHJlbGluayAtLXJvb3QgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Jvb3Rm
cyAtYW1SIC1OIC1jIC9ldGMvcHJlbGluay5jb25mCgoJIyBSZW1vdmUgdGhlIHByZWxpbmsuY29u
ZiBpZiB3ZSBoYWQgdG8gYWRkIGl0LgoJaWYgWyAiJGR1bW15X3ByZWxpbmtfY29uZiIgPSAidHJ1
ZSIgXTsgdGhlbgoJCXJtIC1mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9yb290ZnMvZXRjL3By
ZWxpbmsuY29uZgoJZmkKCglwcmVfcHJlbGlua19zaXplPWBkdSAta3MgL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hh
aW4tMS4wLXI3L3Jvb3RmcyB8IGF3ayAne3NpemUgPSAkMSA7IHByaW50IHNpemUgfSdgCgllY2hv
ICJTaXplIGFmdGVyIHByZWxpbmtpbmcgJHByZV9wcmVsaW5rX3NpemUuIgoKfQoKYmJkZWJ1Zygp
IHsKCVVTQUdFPSdVc2FnZTogYmJkZWJ1ZyBbMTIzXSAibWVzc2FnZSInCglpZiBbICQjIC1sdCAy
IF07IHRoZW4KCQliYmZhdGFsICIkVVNBR0UiCglmaQoKCSMgU3RyaXAgb2ZmIHRoZSBkZWJ1ZyBs
ZXZlbCBhbmQgZW5zdXJlIGl0IGlzIGFuIGludGVnZXIKCURCR0xWTD0kMTsgc2hpZnQKCWlmICEg
W1sgIiREQkdMVkwiID1+IF5bMC05XSsgXV07IHRoZW4KCQliYmZhdGFsICIkVVNBR0UiCglmaQoK
CSMgQWxsIGRlYnVnIG91dHB1dCBpcyBwcmludGVkIHRvIHRoZSBsb2dzCgllY2hvICJERUJVRzog
JCoiCgp9CgpvZV9tYWNoaW5zdGFsbCgpIHsKCSMgUHVycG9zZTogSW5zdGFsbCBtYWNoaW5lIGRl
cGVuZGVudCBmaWxlcywgaWYgYXZhaWxhYmxlCgkjICAgICAgICAgIElmIG5vdCBhdmFpbGFibGUs
IGNoZWNrIGlmIHRoZXJlIGlzIGEgZGVmYXVsdAoJIyAgICAgICAgICBJZiBubyBkZWZhdWx0LCBq
dXN0IHRvdWNoIHRoZSBkZXN0aW5hdGlvbgoJIyBFeGFtcGxlOgoJIyAgICAgICAgICAgICAgICAk
MSAgJDIgICAkMyAgICAgICAgICQ0CgkjIG9lX21hY2hpbnN0YWxsIC1tIDA2NDQgZnN0YWIgL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgv
bWV0YS10b29sY2hhaW4tMS4wLXI3L2ltYWdlL2V0Yy9mc3RhYgoJIwoJIyBUT0RPOiBDaGVjayBh
cmd1bWVudCBudW1iZXI/CgkjCglmaWxlbmFtZT1gYmFzZW5hbWUgJDNgCglkaXJuYW1lPWBkaXJu
YW1lICQzYAoKCWZvciBvIGluIGBlY2hvIGxpbnV4Omk1ODY6YnVpbGQtbGludXg6cG4tbWV0YS10
b29sY2hhaW46Y29uY29yZGlhOng4Njpjb25jb3JkaWE6Zm9yY2V2YXJpYWJsZTpsaWJjLWdsaWJj
IHwgdHIgJzonICcgJ2A7IGRvCgkJaWYgWyAtZSAkZGlybmFtZS8kby8kZmlsZW5hbWUgXTsgdGhl
bgoJCQliYm5vdGUgJGRpcm5hbWUvJG8vJGZpbGVuYW1lIHByZXNlbnQsIGluc3RhbGxpbmcgdG8g
JDQKCQkJaW5zdGFsbCAkMSAkMiAkZGlybmFtZS8kby8kZmlsZW5hbWUgJDQKCQkJcmV0dXJuCgkJ
ZmkKCWRvbmUKIwliYm5vdGUgb3ZlcnJpZGVzIHNwZWNpZmljIGZpbGUgTk9UIHByZXNlbnQsIHRy
eWluZyBkZWZhdWx0PSQzLi4uCglpZiBbIC1lICQzIF07IHRoZW4KCQliYm5vdGUgJDMgcHJlc2Vu
dCwgaW5zdGFsbGluZyB0byAkNAoJCWluc3RhbGwgJDEgJDIgJDMgJDQKCWVsc2UKCQliYm5vdGUg
JDMgTk9UIHByZXNlbnQsIHRvdWNoaW5nIGVtcHR5ICQ0CgkJdG91Y2ggJDQKCWZpCgp9Cgpkb19j
b25maWd1cmUoKSB7CgliYXNlX2RvX2NvbmZpZ3VyZQoKfQoKc3BsaXRfbXVsdGlsaWJfcGFja2Fn
ZXMoKSB7CglJTlNUQUxMX1BBQ0tBR0VTX05PUk1BTF9JUEs9IiIKCUlOU1RBTExfUEFDS0FHRVNf
TVVMVElMSUJfSVBLPSIiCglmb3IgcGtnIGluICR7SU5TVEFMTF9QQUNLQUdFU19JUEt9OyBkbwoJ
CWlzX211bHRpbGliPTAKCQlmb3IgaXRlbSBpbiA7IGRvCgkJCWxvY2FsIHBrZ25hbWVfcHJlZml4
PSIke2l0ZW19LSIKCQkJbG9jYWwgcGtnbmFtZV9sZW49JHsjcGtnbmFtZV9wcmVmaXh9CgkJCWxv
Y2FsIHBrZ25hbWU9JChlY2hvICRwa2cgfCBhd2sgLXYgdmFyPSRwa2duYW1lX2xlbiAneyBwa2du
YW1lPXN1YnN0cigkMSwgMSwgdmFyKTsgcHJpbnQgcGtnbmFtZTsgfScgKQoJCQlpZiBbICR7cGtn
bmFtZX0gPSAke3BrZ25hbWVfcHJlZml4fSBdOyB0aGVuCgkJCQlpc19tdWx0aWxpYj0xCgkJCQli
cmVhawoJCQlmaQoJCWRvbmUKCgkJaWYgWyAke2lzX211bHRpbGlifSA9IDAgXTsgdGhlbgoJCQlJ
TlNUQUxMX1BBQ0tBR0VTX05PUk1BTF9JUEs9IiR7SU5TVEFMTF9QQUNLQUdFU19OT1JNQUxfSVBL
fSAke3BrZ30iCgkJZWxzZQoJCQlJTlNUQUxMX1BBQ0tBR0VTX01VTFRJTElCX0lQSz0iJHtJTlNU
QUxMX1BBQ0tBR0VTX01VTFRJTElCX0lQS30gJHtwa2d9IgoJCWZpCglkb25lCgp9CgpzeXNyb290
X3N0YWdlX2RpcigpIHsKCXNyYz0iJDEiCglkZXN0PSIkMiIKCSMgaWYgdGhlIHNyYyBkb2Vzbid0
IGV4aXN0IGRvbid0IGRvIGFueXRoaW5nCglpZiBbICEgLWQgIiRzcmMiIF07IHRoZW4KCQkgcmV0
dXJuCglmaQoKCSMgV2Ugb25seSB3YW50IHRvIHN0YWdlIHRoZSBjb250ZW50cyBvZiAkc3JjIGlm
IGl0J3Mgbm9uLWVtcHR5IHNvIGZpcnN0IHJtZGlyICRzcmMKCSMgdGhlbiBpZiBpdCBzdGlsbCBl
eGlzdHMgKHJtZGlyIG9uIG5vbi1lbXB0eSBkaXIgZmFpbHMpIHdlIGNhbiBjb3B5IGl0cyBjb250
ZW50cwoJcm1kaXIgIiRzcmMiIDI+IC9kZXYvbnVsbCB8fCB0cnVlCgkjIEhvd2V2ZXIgd2UgYWx3
YXlzIHdhbnQgdG8gc3RhZ2UgYSAkc3JjIGl0c2VsZiwgZXZlbiBpZiBpdCdzIGVtcHR5Cglta2Rp
ciAtcCAiJGRlc3QiCglpZiBbIC1kICIkc3JjIiBdOyB0aGVuCgkJdGFyIC1jZiAtIC1DICIkc3Jj
IiAtcHMgLiB8IHRhciAteGYgLSAtQyAiJGRlc3QiCglmaQoKfQoKZG9fYnVpbGRhbGwoKSB7Cgk6
Cgp9CgppcGtfbG9nX2NoZWNrKCkgewogICAgICAgdGFyZ2V0PSIkMSIKICAgICAgIGxmX3BhdGg9
IiQyIgoKICAgICAgIGxmX3R4dD0iYGNhdCAkbGZfcGF0aGAiCiAgICAgICBmb3Iga2V5d29yZF9k
aWUgaW4gImV4aXQgMSIgIkNvbGxlY3RlZCBlcnJvcnMiIEVSUiBGYWlsCiAgICAgICBkbwogICAg
ICAgICAgICAgICBpZiAoZWNobyAiJGxmX3R4dCIgfCBncmVwIC12IGxvZ19jaGVjayB8IGdyZXAg
IiRrZXl3b3JkX2RpZSIpID4vZGV2L251bGwgMj4mMQogICAgICAgICAgICAgICB0aGVuCiAgICAg
ICAgICAgICAgICAgICAgICAgZWNobyAibG9nX2NoZWNrOiBUaGVyZSB3ZXJlIGVycm9yIG1lc3Nh
Z2VzIGluIHRoZSBsb2dmaWxlIgogICAgICAgICAgICAgICAgICAgICAgIGVjaG8gLWUgImxvZ19j
aGVjazogTWF0Y2hlZCBrZXl3b3JkOiBbJGtleXdvcmRfZGllXVxuIgogICAgICAgICAgICAgICAg
ICAgICAgIGVjaG8gIiRsZl90eHQiIHwgZ3JlcCAtdiBsb2dfY2hlY2sgfCBncmVwIC1DIDUgLWkg
IiRrZXl3b3JkX2RpZSIKICAgICAgICAgICAgICAgICAgICAgICBlY2hvICIiCiAgICAgICAgICAg
ICAgICAgICAgICAgZG9fZXhpdD0xCiAgICAgICAgICAgICAgIGZpCiAgICAgICBkb25lCiAgICAg
ICB0ZXN0ICIkZG9fZXhpdCIgPSAxICYmIGV4aXQgMQogICAgICAgdHJ1ZQoKfQoKY3JlYXRlX2Nt
ZGxpbmVfd3JhcHBlcigpIHsKICAgIyBDcmVhdGUgYSB3cmFwcGVyIHNjcmlwdAogICAjCiAgICMg
VGhlc2UgYXJlIHVzZWZ1bCB0byB3b3JrIGFyb3VuZCByZWxvY2F0aW9uIGlzc3VlcywgYnkgc2V0
dGluZyBlbnZpcm9ubWVudAogICAjIHZhcmlhYmxlcyB3aGljaCBwb2ludCB0byBwYXRocyBpbiB0
aGUgZmlsZXN5c3RlbS4KICAgIwogICAjIFVzYWdlOiBjcmVhdGVfd3JhcHBlciBGSUxFTkFNRSBb
W1ZBUj1WQUxVRV0uLl0KCiAgIGNtZD0kMQogICBzaGlmdAoKICAgIyBydW4gZWNobyB2aWEgZW52
IHRvIHRlc3Qgc3ludGFjdGljIHZhbGlkaXR5IG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudHMKICAg
ZWNobyAiR2VuZXJhdGluZyB3cmFwcGVyIHNjcmlwdCBmb3IgJGNtZCIKCiAgIG12ICRjbWQgJGNt
ZC5yZWFsCiAgIGNtZG5hbWU9YGJhc2VuYW1lICRjbWRgLnJlYWwKICAgY2F0IDw8RU5EID4kY21k
CiMhL2Jpbi9zaApyZWFscGF0aD1cYHJlYWRsaW5rIC1mbiBcJDBcYApleGVjIFxgZGlybmFtZSBc
JHJlYWxwYXRoXGAvJGNtZG5hbWUgJEAgIlwkQCIKRU5ECiAgIGNobW9kICt4ICRjbWQKCn0KCmJh
c2VfZG9fY29uZmlndXJlKCkgewoJOgoKfQoKY3JlYXRlX3dyYXBwZXIoKSB7CiAgICMgQ3JlYXRl
IGEgd3JhcHBlciBzY3JpcHQKICAgIwogICAjIFRoZXNlIGFyZSB1c2VmdWwgdG8gd29yayBhcm91
bmQgcmVsb2NhdGlvbiBpc3N1ZXMsIGJ5IHNldHRpbmcgZW52aXJvbm1lbnQKICAgIyB2YXJpYWJs
ZXMgd2hpY2ggcG9pbnQgdG8gcGF0aHMgaW4gdGhlIGZpbGVzeXN0ZW0uCiAgICMKICAgIyBVc2Fn
ZTogY3JlYXRlX3dyYXBwZXIgRklMRU5BTUUgW1tWQVI9VkFMVUVdLi5dCgogICBjbWQ9JDEKICAg
c2hpZnQKCiAgICMgcnVuIGVjaG8gdmlhIGVudiB0byB0ZXN0IHN5bnRhY3RpYyB2YWxpZGl0eSBv
ZiB0aGUgdmFyaWFibGUgYXJndW1lbnRzCiAgIGVudiAkQCBlY2hvICJHZW5lcmF0aW5nIHdyYXBw
ZXIgc2NyaXB0IGZvciAkY21kIgoKICAgbXYgJGNtZCAkY21kLnJlYWwKICAgY21kbmFtZT1gYmFz
ZW5hbWUgJGNtZGAucmVhbAogICBjYXQgPDxFTkQgPiRjbWQKIyEvYmluL3NoCnJlYWxwYXRoPVxg
cmVhZGxpbmsgLWZuIFwkMFxgCmV4ZWMgZW52ICRAIFxgZGlybmFtZSBcJHJlYWxwYXRoXGAvJGNt
ZG5hbWUgIlwkQCIKRU5ECiAgIGNobW9kICt4ICRjbWQKCn0KCmJibm90ZSgpIHsKCWVjaG8gIk5P
VEU6ICQqIgoKfQoKZG9fcG9wdWxhdGVfc2RrKCkgewoJcm0gLXJmIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWlu
LTEuMC1yNy9zZGsvaW1hZ2UKCW1rZGlyIC1wIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsv
aW1hZ2UKCgkjIHBvcHVsYXRlX3Nka188aW1hZ2U+IGlzIHJlcXVpcmVkIHRvIGNvbnN0cnVjdCB0
d28gaW1hZ2VzOgoJIyAgU0RLX0FSQ0gtbmF0aXZlc2RrIC0gY29udGFpbnMgdGhlIGNyb3NzIGNv
bXBpbGVyIGFuZCBhc3NvY2lhdGVkIHRvb2xpbmcKCSMgIHRhcmdldCAtIGNvbnRhaW5zIGEgdGFy
Z2V0IHJvb3RmcyBjb25maWd1cmVkIGZvciB0aGUgU0RLIHVzYWdlCgkjCgkjIHRoZSBvdXRwdXQg
b2YgcG9wdWxhdGVfc2RrXzxpbWFnZT4gc2hvdWxkIGVuZCB1cCBpbiAvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFp
bi0xLjAtcjcvc2RrL2ltYWdlIGl0IGlzIG1hZGUKCSMgdXAgb2Y6CgkjICAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xj
aGFpbi0xLjAtcjcvc2RrL2ltYWdlLzxzZGtfYXJjaC1uYXRpdmVzZGsgcGtncz4KCSMgIC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21l
dGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UvL29wdC9jb25jb3JkaWEvdjAuMS40L3N5c3Jv
b3RzL2NvcmUyLWNjZC1saW51eC88dGFyZ2V0IHBrZ3M+CgoJcG9wdWxhdGVfc2RrX2lwawoKCSMg
RG9uJ3Qgc2hpcCBhbnkgbGliR0wgaW4gdGhlIFNESwoJcm0gLXJmIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWlu
LTEuMC1yNy9zZGsvaW1hZ2UvL29wdC9jb25jb3JkaWEvdjAuMS40L3N5c3Jvb3RzL2k2ODYtY2Nk
c2RrLWxpbnV4L3Vzci9saWIvbGliR0wqCgoJIyBDYW4gY29weSBwc3RhZ2UgZmlsZXMgaGVyZQoJ
IyB0YXJnZXRfcGtncz1gY2F0IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UvL29w
dC9jb25jb3JkaWEvdjAuMS40L3N5c3Jvb3RzL2NvcmUyLWNjZC1saW51eC92YXIvbGliL29wa2cv
c3RhdHVzIHwgZ3JlcCBQYWNrYWdlOiB8IGN1dCAtZiAyIC1kICcgJ2AKCgkjIEZpeCBvciByZW1v
dmUgYnJva2VuIC5sYSBmaWxlcwoJI3JtIC1mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsv
aW1hZ2UvL29wdC9jb25jb3JkaWEvdjAuMS40L3N5c3Jvb3RzL2k2ODYtY2Nkc2RrLWxpbnV4L2xp
Yi8qLmxhCglybSAtZiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3Jr
L2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdlLy9vcHQvY29u
Y29yZGlhL3YwLjEuNC9zeXNyb290cy9pNjg2LWNjZHNkay1saW51eC91c3IvbGliLyoubGEKCgkj
IExpbmsgdGhlIGxkLnNvLmNhY2hlIGZpbGUgaW50byB0aGUgaG9zdHMgZmlsZXN5c3RlbQoJbG4g
LXMgL2V0Yy9sZC5zby5jYWNoZSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdlLy9v
cHQvY29uY29yZGlhL3YwLjEuNC9zeXNyb290cy9pNjg2LWNjZHNkay1saW51eC9ldGMvbGQuc28u
Y2FjaGUKCgkjIFNldHVwIHNpdGUgZmlsZSBmb3IgZXh0ZXJuYWwgdXNlCgl0b29sY2hhaW5fY3Jl
YXRlX3Nka19zaXRlY29uZmlnIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UvL29w
dC9jb25jb3JkaWEvdjAuMS40L3NpdGUtY29uZmlnLWNvcmUyLWNjZC1saW51eAoKCXRvb2xjaGFp
bl9jcmVhdGVfc2RrX2Vudl9zY3JpcHQKCgkjIEFkZCB2ZXJzaW9uIGluZm9ybWF0aW9uCgl0b29s
Y2hhaW5fY3JlYXRlX3Nka192ZXJzaW9uIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1h
Z2UvL29wdC9jb25jb3JkaWEvdjAuMS40L3ZlcnNpb24tY29yZTItY2NkLWxpbnV4CgoJIyBQYWNr
YWdlIGl0IHVwCglta2RpciAtcCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC9kZXBsb3kvc2RrCgljZCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93
b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdlCgl0YXIg
LS1vd25lcj1yb290IC0tZ3JvdXA9cm9vdCAtY2ogLS1maWxlPS9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL2RlcGxveS9zZGsvY29uY29yZGlhLWVnbGliYy1pNjg2LWk1ODYt
dG9vbGNoYWluLXYwLjEuNC50YXIuYnoyIC4KCn0KCnBhY2thZ2VfZ2VuZXJhdGVfaXBrZ19jb25m
KCkgewoJcGFja2FnZV9nZW5lcmF0ZV9hcmNobGlzdAoJZWNobyAic3JjIG9lIGZpbGU6L2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2lwayIgPj4gL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10
b29sY2hhaW4tMS4wLXI3L29wa2ctc2RrLmNvbmYKCWlwa2dhcmNocz0iYWxsIGFueSBub2FyY2gg
aTY4Ni1uYXRpdmVzZGsiCglmb3IgYXJjaCBpbiAkaXBrZ2FyY2hzOyBkbwoJCWlmIFsgLWUgL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2lway8kYXJjaC9QYWNr
YWdlcyBdIDsgdGhlbgoJCSAgICAgICAgZWNobyAic3JjIG9lLSRhcmNoIGZpbGU6L2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2lway8kYXJjaCIgPj4gL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0
YS10b29sY2hhaW4tMS4wLXI3L29wa2ctc2RrLmNvbmYKCQlmaQoJZG9uZQoKCWVjaG8gInNyYyBv
ZSBmaWxlOi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2RlcGxveS9pcGsi
ID4+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2Nk
LWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9vcGtnLmNvbmYKCWlwa2dhcmNocz0iYWxsIGFu
eSBub2FyY2ggeDg2IGkzODYgaTQ4NiBpNTg2IGk2ODYgY29yZTIgY29uY29yZGlhIgoJZm9yIGFy
Y2ggaW4gJGlwa2dhcmNoczsgZG8KCQlpZiBbIC1lIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL2RlcGxveS9pcGsvJGFyY2gvUGFja2FnZXMgXSA7IHRoZW4KCQkgICAgICAg
IGVjaG8gInNyYyBvZS0kYXJjaCBmaWxlOi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL2RlcGxveS9pcGsvJGFyY2giID4+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9vcGtn
LmNvbmYKCQlmaQoJZG9uZQoKfQoKc3N0YXRlX2NyZWF0ZV9wYWNrYWdlKCkgewoJY2QgJHtTU1RB
VEVfQlVJTERESVJ9CglURklMRT1gbWt0ZW1wIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vc3N0YXRlLWNhY2hlL3NzdGF0ZS1tZXRhLXRvb2xjaGFpbi1jb3JlMi1jY2QtbGludXgt
MS4wLXI3LWNvcmUyLTItJHtCQl9UQVNLSEFTSH0uWFhYWFhYWFhgCgkjIE5lZWQgdG8gaGFuZGxl
IGVtcHR5IGRpcmVjdG9yaWVzCglpZiBbICIkKGxzIC1BKSIgXTsgdGhlbgoJCXRhciAtY3pmICRU
RklMRSAqCgllbHNlCgkJdGFyIC1jeiAtLWZpbGU9JFRGSUxFIC0tZmlsZXMtZnJvbT0vZGV2L251
bGwKCWZpCgltdiAkVEZJTEUgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9zc3Rh
dGUtY2FjaGUvc3N0YXRlLW1ldGEtdG9vbGNoYWluLWNvcmUyLWNjZC1saW51eC0xLjAtcjctY29y
ZTItMi0ke0JCX1RBU0tIQVNIfQoKCWNkIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNwoJcm0gLXJm
ICR7U1NUQVRFX0JVSUxERElSfQoKfQoKYmJwbGFpbigpIHsKCWVjaG8gIiQqIgoKfQoKbGRjb25m
aWdfcG9zdGluc3RfZnJhZ21lbnQoKSB7CmlmIFsgeCIkRCIgPSAieCIgXTsgdGhlbgoJWyAteCAv
c2Jpbi9sZGNvbmZpZyBdICYmIC9zYmluL2xkY29uZmlnCmZpCgp9Cgpwb3B1bGF0ZV9zZGtfbG9n
X2NoZWNrKCkgewoJZm9yIHRhcmdldCBpbiAkKgoJZG8KCQlsZl9wYXRoPSIvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xj
aGFpbi0xLjAtcjcvdGVtcC9sb2cuZG9fJHRhcmdldC44MzQwIgoKCQllY2hvICJsb2dfY2hlY2s6
IFVzaW5nICRsZl9wYXRoIGFzIGxvZ2ZpbGUiCgoJCWlmIHRlc3QgLWUgIiRsZl9wYXRoIgoJCXRo
ZW4KCQkJaXBrX2xvZ19jaGVjayAkdGFyZ2V0ICRsZl9wYXRoCgkJZWxzZQoJCQllY2hvICJDYW5u
b3QgZmluZCBsb2dmaWxlIFskbGZfcGF0aF0iCgkJZmkKCQllY2hvICJMb2dmaWxlIGlzIGNsZWFu
IgoJZG9uZQoKfQoKcGFja2FnZV9nZW5lcmF0ZV9hcmNobGlzdCgpIHsKCWlwa2dhcmNocz0iYWxs
IGFueSBub2FyY2ggaTY4Ni1uYXRpdmVzZGsiCglwcmlvcml0eT0xCglmb3IgYXJjaCBpbiAkaXBr
Z2FyY2hzOyBkbwoJCWVjaG8gImFyY2ggJGFyY2ggJHByaW9yaXR5IiA+PiAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xj
aGFpbi0xLjAtcjcvb3BrZy1zZGsuY29uZgoJCXByaW9yaXR5PSQoZXhwciAkcHJpb3JpdHkgKyA1
KQoJZG9uZQoKCWlwa2dhcmNocz0iYWxsIGFueSBub2FyY2ggeDg2IGkzODYgaTQ4NiBpNTg2IGk2
ODYgY29yZTIgY29uY29yZGlhIgoJcHJpb3JpdHk9MQoJZm9yIGFyY2ggaW4gJGlwa2dhcmNoczsg
ZG8KCQllY2hvICJhcmNoICRhcmNoICRwcmlvcml0eSIgPj4gL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4w
LXI3L29wa2cuY29uZgoJCXByaW9yaXR5PSQoZXhwciAkcHJpb3JpdHkgKyA1KQoJZG9uZQoKfQoK
c3lzcm9vdF9zdGFnZV9saWJkaXIoKSB7CglzcmM9IiQxIgoJZGVzdD0iJDIiCgoJc3lzcm9vdF9z
dGFnZV9kaXIgJHNyYyAkZGVzdAoKfQoKZGllKCkgewoJYmJmYXRhbCAiJCoiCgp9CgpiYXNlX2Rv
X2luc3RhbGwoKSB7Cgk6Cgp9Cgpkb19jb21waWxlKCkgewoJYmFzZV9kb19jb21waWxlCgp9Cgpw
YWNrYWdlX3RyeW91dF9pbnN0YWxsX211bHRpbGliX2lwaygpIHsKCSN0cnkgaW5zdGFsbCBtdWx0
aWxpYgoJbXVsdGlsaWJfdHJ5b3V0X2RpcnM9IiIKCWZvciBpdGVtIGluIDsgZG8KCQlsb2NhbCB0
YXJnZXRfcm9vdGZzPSIke01VTFRJTElCX1RFTVBfUk9PVEZTfS8ke2l0ZW19IgoJCWxvY2FsIGlw
a2dfYXJncz0iLWYgJHtJTlNUQUxMX0NPTkZfSVBLfSAtbyAke3RhcmdldF9yb290ZnN9IC0tZm9y
Y2Vfb3ZlcndyaXRlIgoJCWxvY2FsIHNlbGVjdGVkX3BrZz0iIgoJCWxvY2FsIHBrZ25hbWVfcHJl
Zml4PSIke2l0ZW19LSIKCQlsb2NhbCBwa2duYW1lX2xlbj0keyNwa2duYW1lX3ByZWZpeH0KCQlm
b3IgcGtnIGluICR7SU5TVEFMTF9QQUNLQUdFU19NVUxUSUxJQl9JUEt9OyBkbwoJCQlsb2NhbCBw
a2duYW1lPSQoZWNobyAkcGtnIHwgYXdrIC12IHZhcj0kcGtnbmFtZV9sZW4gJ3sgcGtnbmFtZT1z
dWJzdHIoJDEsIDEsIHZhcik7IHByaW50IHBrZ25hbWU7IH0nICkKCQkJaWYgWyAke3BrZ25hbWV9
ID0gJHtwa2duYW1lX3ByZWZpeH0gXTsgdGhlbgoJCQkgICAgc2VsZWN0ZWRfcGtnPSIke3NlbGVj
dGVkX3BrZ30gJHtwa2d9IgoJCQlmaQoJCWRvbmUKCQlpZiBbICEgLXogIiR7c2VsZWN0ZWRfcGtn
fSIgXTsgdGhlbgoJCQlybSAtZiAke3RhcmdldF9yb290ZnN9CgkJCW1rZGlyIC1wICR7dGFyZ2V0
X3Jvb3Rmc30vJHtvcGtnbGliZGlyfQoJCQlvcGtnLWNsICR7aXBrZ19hcmdzfSB1cGRhdGUKCQkJ
b3BrZy1jbCAke2lwa2dfYXJnc30gaW5zdGFsbCAke3NlbGVjdGVkX3BrZ30KCQkJbXVsdGlsaWJf
dHJ5b3V0X2RpcnM9IiR7bXVsdGlsaWJfdHJ5b3V0X2RpcnN9ICR7dGFyZ2V0X3Jvb3Rmc30iCgkJ
ZmkKCWRvbmUKCn0KCmJhc2VfZG9fY29tcGlsZSgpIHsKCWlmIFsgLWUgTWFrZWZpbGUgLW8gLWUg
bWFrZWZpbGUgXTsgdGhlbgoJCW9lX3J1bm1ha2UgfHwgZGllICJtYWtlIGZhaWxlZCIKCWVsc2UK
CQliYm5vdGUgIm5vdGhpbmcgdG8gY29tcGlsZSIKCWZpCgp9CgpiYXNlX2RvX3BhY2thZ2UoKSB7
Cgk6Cgp9CgpvZV9zb2luc3RhbGwoKSB7CgkjIFB1cnBvc2U6IEluc3RhbGwgc2hhcmVkIGxpYnJh
cnkgZmlsZSBhbmQKCSMgICAgICAgICAgY3JlYXRlIHRoZSBuZWNlc3NhcnkgbGlua3MKCSMgRXhh
bXBsZToKCSMKCSMgb2VfCgkjCgkjYmJub3RlIGluc3RhbGxpbmcgc2hhcmVkIGxpYnJhcnkgJDEg
dG8gJDIKCSMKCWxpYm5hbWU9YGJhc2VuYW1lICQxYAoJaW5zdGFsbCAtbSA3NTUgJDEgJDIvJGxp
Ym5hbWUKCXNvbmFtZWxpbms9YGk1ODYtY2NkLWxpbnV4LXJlYWRlbGYgLWQgJDEgfGdyZXAgJ0xp
YnJhcnkgc29uYW1lOicgfHNlZCAtZSAncy8uKlxbXCguKlwpXF0uKi9cMS8nYAoJc29saW5rPWBl
Y2hvICRsaWJuYW1lIHwgc2VkIC1lICdzL1wuc29cLi4qLy5zby8nYAoJbG4gLXNmICRsaWJuYW1l
ICQyLyRzb25hbWVsaW5rCglsbiAtc2YgJGxpYm5hbWUgJDIvJHNvbGluawoKfQoKb2VfbGliaW5z
dGFsbCgpIHsKCSMgUHVycG9zZTogSW5zdGFsbCBhIGxpYnJhcnksIGluIGFsbCBpdHMgZm9ybXMK
CSMgRXhhbXBsZQoJIwoJIyBvZV9saWJpbnN0YWxsIGxpYmx0ZGwgL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9saWIvCgkjIG9lX2xp
Ymluc3RhbGwgLUMgc3JjL2xpYmJsYWggbGliYmxhaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcv
aW1hZ2UvL3Vzci9saWIvCglkaXI9IiIKCWxpYnRvb2w9IiIKCXNpbGVudD0iIgoJcmVxdWlyZV9z
dGF0aWM9IiIKCXJlcXVpcmVfc2hhcmVkPSIiCglzdGFnaW5nX2luc3RhbGw9IiIKCXdoaWxlIFsg
IiQjIiAtZ3QgMCBdOyBkbwoJCWNhc2UgIiQxIiBpbgoJCS1DKQoJCQlzaGlmdAoJCQlkaXI9IiQx
IgoJCQk7OwoJCS1zKQoJCQlzaWxlbnQ9MQoJCQk7OwoJCS1hKQoJCQlyZXF1aXJlX3N0YXRpYz0x
CgkJCTs7CgkJLXNvKQoJCQlyZXF1aXJlX3NoYXJlZD0xCgkJCTs7CgkJLSopCgkJCWJiZmF0YWwg
Im9lX2xpYmluc3RhbGw6IHVua25vd24gb3B0aW9uOiAkMSIKCQkJOzsKCQkqKQoJCQlicmVhazsK
CQkJOzsKCQllc2FjCgkJc2hpZnQKCWRvbmUKCglsaWJuYW1lPSIkMSIKCXNoaWZ0CglkZXN0cGF0
aD0iJDEiCglpZiBbIC16ICIkZGVzdHBhdGgiIF07IHRoZW4KCQliYmZhdGFsICJvZV9saWJpbnN0
YWxsOiBubyBkZXN0aW5hdGlvbiBwYXRoIHNwZWNpZmllZCIKCWZpCglpZiBlY2hvICIkZGVzdHBh
dGgvIiB8IGVncmVwICdeL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lz
cm9vdHMvY29uY29yZGlhL3Vzci9saWIvJyA+L2Rldi9udWxsCgl0aGVuCgkJc3RhZ2luZ19pbnN0
YWxsPTEKCWZpCgoJX19ydW5jbWQgKCkgewoJCWlmIFsgLXogIiRzaWxlbnQiIF07IHRoZW4KCQkJ
ZWNobyA+JjIgIm9lX2xpYmluc3RhbGw6ICQqIgoJCWZpCgkJJCoKCX0KCglpZiBbIC16ICIkZGly
IiBdOyB0aGVuCgkJZGlyPWBwd2RgCglmaQoKCWRvdGxhaT0kbGlibmFtZS5sYWkKCgkjIFNhbml0
eSBjaGVjayB0aGF0IHRoZSBsaWJuYW1lLmxhaSBpcyB1bmlxdWUKCW51bWJlcl9vZl9maWxlcz1g
KGNkICRkaXI7IGZpbmQgLiAtbmFtZSAiJGRvdGxhaSIpIHwgd2MgLWxgCglpZiBbICRudW1iZXJf
b2ZfZmlsZXMgLWd0IDEgXTsgdGhlbgoJCWJiZmF0YWwgIm9lX2xpYmluc3RhbGw6ICRkb3RsYWkg
aXMgbm90IHVuaXF1ZSBpbiAkZGlyIgoJZmkKCgoJZGlyPSRkaXJgKGNkICRkaXI7ZmluZCAuIC1u
YW1lICIkZG90bGFpIikgfCBzZWQgInMvXlwuLy87cy9cLyRkb3RsYWlcJC8vO3EiYAoJb2xkZGly
PWBwd2RgCglfX3J1bmNtZCBjZCAkZGlyCgoJbGFmaWxlPSRsaWJuYW1lLmxhCgoJIyBJZiBzdWNo
IGZpbGUgZG9lc24ndCBleGlzdCwgdHJ5IHRvIGN1dCB2ZXJzaW9uIHN1ZmZpeAoJaWYgWyAhIC1m
ICIkbGFmaWxlIiBdOyB0aGVuCgkJbGlibmFtZTE9YGVjaG8gIiRsaWJuYW1lIiB8IHNlZCAncy8t
WzAtOS5dKiQvLydgCgkJbGFmaWxlMT0kbGlibmFtZS5sYQoJCWlmIFsgLWYgIiRsYWZpbGUxIiBd
OyB0aGVuCgkJCWxpYm5hbWU9JGxpYm5hbWUxCgkJCWxhZmlsZT0kbGFmaWxlMQoJCWZpCglmaQoK
CWlmIFsgLWYgIiRsYWZpbGUiIF07IHRoZW4KCQkjIGxpYnRvb2wgYXJjaGl2ZQoJCWV2YWwgYGNh
dCAkbGFmaWxlfGdyZXAgIl5saWJyYXJ5X25hbWVzPSJgCgkJbGlidG9vbD0xCgllbHNlCgkJbGli
cmFyeV9uYW1lcz0iJGxpYm5hbWUuc28qICRsaWJuYW1lLmRsbC5hICRsaWJuYW1lLiouZHlsaWIi
CglmaQoKCV9fcnVuY21kIGluc3RhbGwgLWQgJGRlc3RwYXRoLwoJZG90YT0kbGlibmFtZS5hCglp
ZiBbIC1mICIkZG90YSIgLW8gLW4gIiRyZXF1aXJlX3N0YXRpYyIgXTsgdGhlbgoJCXJtIC1mICRk
ZXN0cGF0aC8kZG90YQoJCV9fcnVuY21kIGluc3RhbGwgLW0gMDY0NCAkZG90YSAkZGVzdHBhdGgv
CglmaQoJaWYgWyAtZiAiJGRvdGxhaSIgLWEgLW4gIiRsaWJ0b29sIiBdOyB0aGVuCgkJcm0gLWYg
JGRlc3RwYXRoLyRsaWJuYW1lLmxhCgkJX19ydW5jbWQgaW5zdGFsbCAtbSAwNjQ0ICRkb3RsYWkg
JGRlc3RwYXRoLyRsaWJuYW1lLmxhCglmaQoKCWZvciBuYW1lIGluICRsaWJyYXJ5X25hbWVzOyBk
bwoJCWZpbGVzPWBldmFsIGVjaG8gJG5hbWVgCgkJZm9yIGYgaW4gJGZpbGVzOyBkbwoJCQlpZiBb
ICEgLWUgIiRmIiBdOyB0aGVuCgkJCQlpZiBbIC1uICIkbGlidG9vbCIgXTsgdGhlbgoJCQkJCWJi
ZmF0YWwgIm9lX2xpYmluc3RhbGw6ICRkaXIvJGYgbm90IGZvdW5kLiIKCQkJCWZpCgkJCWVsaWYg
WyAtTCAiJGYiIF07IHRoZW4KCQkJCV9fcnVuY21kIGNwIC1QICIkZiIgJGRlc3RwYXRoLwoJCQll
bGlmIFsgISAtTCAiJGYiIF07IHRoZW4KCQkJCWxpYmZpbGU9IiRmIgoJCQkJcm0gLWYgJGRlc3Rw
YXRoLyRsaWJmaWxlCgkJCQlfX3J1bmNtZCBpbnN0YWxsIC1tIDA3NTUgJGxpYmZpbGUgJGRlc3Rw
YXRoLwoJCQlmaQoJCWRvbmUKCWRvbmUKCglpZiBbIC16ICIkbGliZmlsZSIgXTsgdGhlbgoJCWlm
ICBbIC1uICIkcmVxdWlyZV9zaGFyZWQiIF07IHRoZW4KCQkJYmJmYXRhbCAib2VfbGliaW5zdGFs
bDogdW5hYmxlIHRvIGxvY2F0ZSBzaGFyZWQgbGlicmFyeSIKCQlmaQoJZWxpZiBbIC16ICIkbGli
dG9vbCIgXTsgdGhlbgoJCSMgc3BlY2lhbCBjYXNlIGhhY2sgZm9yIG5vbi1saWJ0b29sIC5zby4j
LiMuIyBsaW5rcwoJCWJhc2VsaWJmaWxlPWBiYXNlbmFtZSAiJGxpYmZpbGUiYAoJCWlmIChlY2hv
ICRiYXNlbGliZmlsZSB8IGdyZXAgLXFFICdebGliLipcLnNvXC5bMC05Ll0qJCcpOyB0aGVuCgkJ
CXNvbmFtZWxpbms9YGk1ODYtY2NkLWxpbnV4LXJlYWRlbGYgLWQgJGxpYmZpbGUgfGdyZXAgJ0xp
YnJhcnkgc29uYW1lOicgfHNlZCAtZSAncy8uKlxbXCguKlwpXF0uKi9cMS8nYAoJCQlzb2xpbms9
YGVjaG8gJGJhc2VsaWJmaWxlIHwgc2VkIC1lICdzL1wuc29cLi4qLy5zby8nYAoJCQlpZiBbIC1u
ICIkc29uYW1lbGluayIgLWEgeCIkYmFzZWxpYmZpbGUiICE9IHgiJHNvbmFtZWxpbmsiIF07IHRo
ZW4KCQkJCV9fcnVuY21kIGxuIC1zZiAkYmFzZWxpYmZpbGUgJGRlc3RwYXRoLyRzb25hbWVsaW5r
CgkJCWZpCgkJCV9fcnVuY21kIGxuIC1zZiAkYmFzZWxpYmZpbGUgJGRlc3RwYXRoLyRzb2xpbmsK
CQlmaQoJZmkKCglfX3J1bmNtZCBjZCAiJG9sZGRpciIKCn0KCnBhY2thZ2VfaW5zdGFsbF9pbnRl
cm5hbF9pcGsoKSB7CgoJbG9jYWwgdGFyZ2V0X3Jvb3Rmcz0iJHtJTlNUQUxMX1JPT1RGU19JUEt9
IgoJbG9jYWwgY29uZmZpbGU9IiR7SU5TVEFMTF9DT05GX0lQS30iCglsb2NhbCBwYWNrYWdlX2F0
dGVtcHRvbmx5PSIke0lOU1RBTExfUEFDS0FHRVNfQVRURU1QVE9OTFlfSVBLfSIKCWxvY2FsIHBh
Y2thZ2VfbGluZ3Vhcz0iJHtJTlNUQUxMX1BBQ0tBR0VTX0xJTkdVQVNfSVBLfSIKCWxvY2FsIHRh
c2s9IiR7SU5TVEFMTF9UQVNLX0lQS30iCgoJc3BsaXRfbXVsdGlsaWJfcGFja2FnZXMKCglsb2Nh
bCBwYWNrYWdlX3RvX2luc3RhbGw9IiR7SU5TVEFMTF9QQUNLQUdFU19OT1JNQUxfSVBLfSIKCWxv
Y2FsIHBhY2thZ2VfbXVsdGlsaWI9IiR7SU5TVEFMTF9QQUNLQUdFU19NVUxUSUxJQl9JUEt9IgoK
CW1rZGlyIC1wICR7dGFyZ2V0X3Jvb3Rmc30vdmFyL2xpYi9vcGtnLwoKCWxvY2FsIGlwa2dfYXJn
cz0iLWYgJHtjb25mZmlsZX0gLW8gJHt0YXJnZXRfcm9vdGZzfSAtLWZvcmNlLW92ZXJ3cml0ZSAt
LWZvcmNlX3Bvc3RpbnN0YWxsIgoKCW9wa2ctY2wgJHtpcGtnX2FyZ3N9IHVwZGF0ZQoKCSMgVWNs
aWJjIGJ1aWxkcyBkb24ndCBwcm92aWRlIHRoaXMgc3R1ZmYuLi4KCWlmIFsgeGxpbnV4ID0gInhs
aW51eCIgXSB8fCBbIHhsaW51eCA9ICJ4bGludXgtZ251ZWFiaSIgXSA7IHRoZW4KCQlpZiBbICEg
LXogIiR7cGFja2FnZV9saW5ndWFzfSIgXTsgdGhlbgoJCQlmb3IgaSBpbiAke3BhY2thZ2VfbGlu
Z3Vhc307IGRvCgkJCQlvcGtnLWNsICR7aXBrZ19hcmdzfSBpbnN0YWxsICRpCgkJCWRvbmUKCQlm
aQoJZmkKCglpZiBbICEgLXogIiR7cGFja2FnZV90b19pbnN0YWxsfSIgXTsgdGhlbgoJCW9wa2ct
Y2wgJHtpcGtnX2FyZ3N9IGluc3RhbGwgJHtwYWNrYWdlX3RvX2luc3RhbGx9CglmaQoKCWlmIFsg
ISAteiAiJHtwYWNrYWdlX2F0dGVtcHRvbmx5fSIgXTsgdGhlbgoJCW9wa2ctY2wgJHtpcGtnX2Fy
Z3N9IGluc3RhbGwgJHtwYWNrYWdlX2F0dGVtcHRvbmx5fSA+ICIvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0x
LjAtcjcvdGVtcC9sb2cuZG9fJHt0YXNrfV9hdHRlbXB0b25seS44MzQwIiB8fCB0cnVlCglmaQoK
CXBhY2thZ2VfdHJ5b3V0X2luc3RhbGxfbXVsdGlsaWJfaXBrCglpZiBbICEgLXogIiR7TVVMVElM
SUJfQ0hFQ0tfRklMRX0iIF07IHRoZW4KCQkjc2FuaXR5IGNoZWNrCgkJbXVsdGlsaWJfc2FuaXR5
X2NoZWNrICR7dGFyZ2V0X3Jvb3Rmc30gJHttdWx0aWxpYl90cnlvdXRfZGlyc30gfHwgZXhpdCAx
CglmaQoKCWlmIFsgISAteiAiJHtwYWNrYWdlX211bHRpbGlifSIgXTsgdGhlbgoJCW9wa2ctY2wg
JHtpcGtnX2FyZ3N9IGluc3RhbGwgJHtwYWNrYWdlX211bHRpbGlifQoJZmkKCn0KCnRvb2xjaGFp
bl9jcmVhdGVfc2RrX3NpdGVjb25maWcoKSB7Cglsb2NhbCBzaXRlY29uZmlnPSQxCgoJcm0gLWYg
JHNpdGVjb25maWcKCXRvdWNoICRzaXRlY29uZmlnCgoJZm9yIHNpdGVmaWxlIGluIC9vcHQvcG9r
eS5naXQvbWV0YS9zaXRlL2VuZGlhbi1saXR0bGUgL29wdC9wb2t5LmdpdC9tZXRhL3NpdGUvaXg4
Ni1jb21tb24gL29wdC9wb2t5LmdpdC9tZXRhL3NpdGUvY29tbW9uLWxpbnV4IC9vcHQvcG9reS5n
aXQvbWV0YS9zaXRlL2NvbW1vbi1nbGliYyAvb3B0L3Bva3kuZ2l0L21ldGEvc2l0ZS9jb21tb24g
IDsgZG8KCQljYXQgJHNpdGVmaWxlID4+ICRzaXRlY29uZmlnCglkb25lCgoJI2dldCBjYWNoZWQg
c2l0ZSBjb25maWcKCWZvciBzaXRlZmlsZSBpbiBlZ2xpYmMgbmN1cnNlczsgZG8KCQlpZiBbIC1y
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRp
YS91c3Ivc2hhcmUvaTU4Ni1jY2QtbGludXhfY29uZmlnX3NpdGUuZC8ke3NpdGVmaWxlfV9jb25m
aWcgXTsgdGhlbgoJCQljYXQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
c3lzcm9vdHMvY29uY29yZGlhL3Vzci9zaGFyZS9pNTg2LWNjZC1saW51eF9jb25maWdfc2l0ZS5k
LyR7c2l0ZWZpbGV9X2NvbmZpZyA+PiAkc2l0ZWNvbmZpZwoJCWZpCglkb25lCgp9CgpiYmZhdGFs
KCkgewoJZWNobyAiRVJST1I6ICQqIgoJZXhpdCAxCgp9CgpiYndhcm4oKSB7CgllY2hvICJXQVJO
SU5HOiAkKiIKCn0KCnRvb2xjaGFpbl9jcmVhdGVfc2RrX2Vudl9zY3JpcHQoKSB7CgkjIENyZWF0
ZSBlbnZpcm9ubWVudCBzZXR1cCBzY3JpcHQKCXNjcmlwdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAt
cjcvc2RrL2ltYWdlLy9vcHQvY29uY29yZGlhL3YwLjEuNC9lbnZpcm9ubWVudC1zZXR1cC1jb3Jl
Mi1jY2QtbGludXgKCXJtIC1mICRzY3JpcHQKCXRvdWNoICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBQ
QVRIPS9vcHQvY29uY29yZGlhL3YwLjEuNC9zeXNyb290cy9pNjg2LWNjZHNkay1saW51eC91c3Iv
YmluOi9vcHQvY29uY29yZGlhL3YwLjEuNC9zeXNyb290cy9pNjg2LWNjZHNkay1saW51eC91c3Iv
YmluL2NvcmUyLWNjZC1saW51eDokUEFUSCcgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IFBLR19D
T05GSUdfU1lTUk9PVF9ESVI9L29wdC9jb25jb3JkaWEvdjAuMS40L3N5c3Jvb3RzL2NvcmUyLWNj
ZC1saW51eCcgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IFBLR19DT05GSUdfUEFUSD0vb3B0L2Nv
bmNvcmRpYS92MC4xLjQvc3lzcm9vdHMvY29yZTItY2NkLWxpbnV4L3Vzci9saWIvcGtnY29uZmln
JyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgQ09ORklHX1NJVEU9L29wdC9jb25jb3JkaWEvdjAu
MS40L3NpdGUtY29uZmlnLWNvcmUyLWNjZC1saW51eCcgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0
IENDPWk1ODYtY2NkLWxpbnV4LWdjYycgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IENYWD1pNTg2
LWNjZC1saW51eC1nKysnID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBHREI9aTU4Ni1jY2QtbGlu
dXgtZ2RiJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgVEFSR0VUX1BSRUZJWD1pNTg2LWNjZC1s
aW51eC0nID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBDT05GSUdVUkVfRkxBR1M9Ii0tdGFyZ2V0
PWk1ODYtY2NkLWxpbnV4IC0taG9zdD1pNTg2LWNjZC1saW51eCAtLWJ1aWxkPWk2ODYtbGludXgg
LS13aXRoLWxpYnRvb2wtc3lzcm9vdD0vb3B0L2NvbmNvcmRpYS92MC4xLjQvc3lzcm9vdHMvY29y
ZTItY2NkLWxpbnV4IicgPj4gJHNjcmlwdAoJaWYgWyAibGludXgiID0gImRhcndpbjgiIF07IHRo
ZW4KCQllY2hvICdleHBvcnQgVEFSR0VUX0NGTEFHUz0iLUkvb3B0L2NvbmNvcmRpYS92MC4xLjQv
c3lzcm9vdHMvY29yZTItY2NkLWxpbnV4L3Vzci9pbmNsdWRlIicgPj4gJHNjcmlwdAoJCWVjaG8g
J2V4cG9ydCBUQVJHRVRfTERGTEFHUz0iLUwvb3B0L2NvbmNvcmRpYS92MC4xLjQvc3lzcm9vdHMv
Y29yZTItY2NkLWxpbnV4L3Vzci9saWIiJyA+PiAkc2NyaXB0CgkJIyBXb3JrYXJvdW5kIGRhcndp
biB0b29sY2hhaW4gc3lzcm9vdCBwYXRoIHByb2JsZW1zCgkJY2QgL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4t
MS4wLXI3L3Nkay9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEuNC9zeXNyb290cy9jb3JlMi1jY2Qt
bGludXgvdXNyCgkJbG4gLXMgL3Vzci9sb2NhbCBsb2NhbAoJZmkKCWVjaG8gJ2V4cG9ydCBDRkxB
R1M9IiAtbTMyICAgIC1tYXJjaD1jb3JlMiAtbXNzZTMgLW10dW5lPWdlbmVyaWMgLW1mcG1hdGg9
c3NlIC0tc3lzcm9vdD0vb3B0L2NvbmNvcmRpYS92MC4xLjQvc3lzcm9vdHMvY29yZTItY2NkLWxp
bnV4IicgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IENYWEZMQUdTPSIgLW0zMiAgICAtbWFyY2g9
Y29yZTIgLW1zc2UzIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPXNzZSAtLXN5c3Jvb3Q9L29wdC9j
b25jb3JkaWEvdjAuMS40L3N5c3Jvb3RzL2NvcmUyLWNjZC1saW51eCInID4+ICRzY3JpcHQKCWVj
aG8gJ2V4cG9ydCBMREZMQUdTPSIgIC0tc3lzcm9vdD0vb3B0L2NvbmNvcmRpYS92MC4xLjQvc3lz
cm9vdHMvY29yZTItY2NkLWxpbnV4IicgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IENQUEZMQUdT
PSIgLW0zMiAgICAtbWFyY2g9Y29yZTIgLW1zc2UzIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPXNz
ZSAtLXN5c3Jvb3Q9L29wdC9jb25jb3JkaWEvdjAuMS40L3N5c3Jvb3RzL2NvcmUyLWNjZC1saW51
eCInID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBPRUNPUkVfTkFUSVZFX1NZU1JPT1Q9Ii9vcHQv
Y29uY29yZGlhL3YwLjEuNC9zeXNyb290cy9pNjg2LWNjZHNkay1saW51eCInID4+ICRzY3JpcHQK
CWVjaG8gJ2V4cG9ydCBPRUNPUkVfVEFSR0VUX1NZU1JPT1Q9Ii9vcHQvY29uY29yZGlhL3YwLjEu
NC9zeXNyb290cy9jb3JlMi1jY2QtbGludXgiJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgT0VD
T1JFX0FDTE9DQUxfT1BUUz0iLUkgL29wdC9jb25jb3JkaWEvdjAuMS40L3N5c3Jvb3RzL2k2ODYt
Y2Nkc2RrLWxpbnV4L3Vzci9zaGFyZS9hY2xvY2FsIicgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0
IE9FQ09SRV9ESVNUUk9fVkVSU0lPTj0idjAuMS40IicgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0
IE9FQ09SRV9TREtfVkVSU0lPTj0idjAuMS40IicgPj4gJHNjcmlwdAoKfQoKZG9faW5zdGFsbCgp
IHsKCWJhc2VfZG9faW5zdGFsbAoKfQoKcGFja2FnZV91cGRhdGVfaW5kZXhfaXBrKCkgewoJc2V0
IC14CgoJaXBrZ2FyY2hzPSJhbGwgYW55IG5vYXJjaCB4ODYgaTM4NiBpNDg2IGk1ODYgaTY4NiBj
b3JlMiBjb25jb3JkaWEgYWxsIGFueSBub2FyY2ggaTY4Ni1uYXRpdmVzZGsiCgoJaWYgWyAhIC16
ICIke0RFUExPWV9LRUVQX1BBQ0tBR0VTfSIgXTsgdGhlbgoJCXJldHVybgoJZmkKCglwYWNrYWdl
ZGlycz0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2lwayIK
CWZvciBhcmNoIGluICRpcGtnYXJjaHM7IGRvCgkJcGFja2FnZWRpcnM9IiRwYWNrYWdlZGlycyAv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvaXBrLyRhcmNoIgoJ
ZG9uZQoKCW11bHRpbGliX2FyY2hzPSIke01VTFRJTElCX0FSQ0hTfSIKCWZvciBhcmNoIGluICRt
dWx0aWxpYl9hcmNoczsgZG8KCQlwYWNrYWdlZGlycz0iJHBhY2thZ2VkaXJzIC9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2RlcGxveS9pcGsvJGFyY2giCglkb25lCgoJZm9y
IHBrZ2RpciBpbiAkcGFja2FnZWRpcnM7IGRvCgkJaWYgWyAtZSAkcGtnZGlyLyBdOyB0aGVuCgkJ
CXRvdWNoICRwa2dkaXIvUGFja2FnZXMKCQkJZmxvY2sgJHBrZ2Rpci9QYWNrYWdlcy5mbG9jayAt
YyAib3BrZy1tYWtlLWluZGV4IC1yICRwa2dkaXIvUGFja2FnZXMgLXAgJHBrZ2Rpci9QYWNrYWdl
cyAtbSAkcGtnZGlyLyIKCQlmaQoJZG9uZQoKfQoKZG9fcGFja2FnZV93cml0ZSgpIHsKCToKCn0K
CnN5c3Jvb3Rfc3RhZ2VfZGlycygpIHsKCWZyb209IiQxIgoJdG89IiQyIgoKCXN5c3Jvb3Rfc3Rh
Z2VfZGlyICRmcm9tL3Vzci9pbmNsdWRlICR0by91c3IvaW5jbHVkZQoJaWYgWyAieDg2XzY0LWxp
bnV4IiA9ICJpNTg2LWNjZC1saW51eCIgXTsgdGhlbgoJCXN5c3Jvb3Rfc3RhZ2VfZGlyICRmcm9t
L3Vzci9iaW4gJHRvL3Vzci9iaW4KCQlzeXNyb290X3N0YWdlX2RpciAkZnJvbS91c3Ivc2JpbiAk
dG8vdXNyL3NiaW4KCQlzeXNyb290X3N0YWdlX2RpciAkZnJvbS9iaW4gJHRvL2JpbgoJCXN5c3Jv
b3Rfc3RhZ2VfZGlyICRmcm9tL3NiaW4gJHRvL3NiaW4KCQlzeXNyb290X3N0YWdlX2RpciAkZnJv
bS91c3IvbGliZXhlYyAkdG8vdXNyL2xpYmV4ZWMKCQlzeXNyb290X3N0YWdlX2RpciAkZnJvbS9l
dGMgJHRvL2V0YwoJCXN5c3Jvb3Rfc3RhZ2VfZGlyICRmcm9tL3ZhciAkdG8vdmFyCglmaQoJaWYg
WyAtZCAkZnJvbS91c3IvbGliIF0KCXRoZW4KCQlzeXNyb290X3N0YWdlX2xpYmRpciAkZnJvbS8v
dXNyL2xpYiAkdG8vdXNyL2xpYgoJZmkKCWlmIFsgLWQgJGZyb20vbGliIF0KCXRoZW4KCQlzeXNy
b290X3N0YWdlX2xpYmRpciAkZnJvbS9saWIgJHRvL2xpYgoJZmkKCXN5c3Jvb3Rfc3RhZ2VfZGly
ICRmcm9tL3Vzci9zaGFyZSAkdG8vdXNyL3NoYXJlCgp9Cgp0b29sY2hhaW5fY3JlYXRlX3RyZWVf
ZW52X3NjcmlwdCgpIHsKCXNjcmlwdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9lbnZpcm9ubWVudC1zZXR1cC1jb3JlMi1jY2QtbGludXgKCXJtIC1mICRzY3JpcHQKCXRv
dWNoICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBQQVRIPS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL2NvcmUyLWNjZC1saW51
eDovaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3Jk
aWEvdXNyL2Jpbi9jcm9zc3NjcmlwdHM6L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9zYmluOi9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluOi9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC9zYmlu
Oi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1s
aW51eC8vYmluOi9vcHQvcG9reS5naXQvc2NyaXB0czovb3B0L3Bva3kuZ2l0L2JpdGJha2UvYmlu
Lzovb3B0L3Bva3kuZ2l0L3NjcmlwdHM6L29wdC9wb2t5LmdpdC9iaXRiYWtlL2Jpbi86L29wdC9w
b2t5LmdpdC9zY3JpcHRzOi9vcHQvcG9reS5naXQvYml0YmFrZS9iaW4vOi9vcHQvcG9reS5naXQv
c2NyaXB0czovb3B0L3Bva3kuZ2l0L2JpdGJha2UvYmluLzovdXNyL2xpYjY0L2NjYWNoZTovdXNy
L2xpYjY0L2ljZWNjL2JpbjovdXNyL2xvY2FsL2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWwv
c2JpbjovdXNyL3NiaW46L3NiaW46L29wdC9wb2t5LmdpdC9zY3JpcHRzJyA+PiAkc2NyaXB0Cgll
Y2hvICdleHBvcnQgUEtHX0NPTkZJR19TWVNST09UX0RJUj0vaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEnID4+ICRzY3JpcHQKCWVjaG8gJ2V4
cG9ydCBQS0dfQ09ORklHX1BBVEg9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvc3lzcm9vdHMvY29uY29yZGlhLy91c3IvbGliL3BrZ2NvbmZpZzovaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNyL3NoYXJlL3BrZ2Nv
bmZpZycgPj4gJHNjcmlwdAoKCWVjaG8gJ2V4cG9ydCBDT05GSUdfU0lURT0iL29wdC9wb2t5Lmdp
dC9tZXRhL3NpdGUvZW5kaWFuLWxpdHRsZSAvb3B0L3Bva3kuZ2l0L21ldGEvc2l0ZS9peDg2LWNv
bW1vbiAvb3B0L3Bva3kuZ2l0L21ldGEvc2l0ZS9jb21tb24tbGludXggL29wdC9wb2t5LmdpdC9t
ZXRhL3NpdGUvY29tbW9uLWdsaWJjIC9vcHQvcG9reS5naXQvbWV0YS9zaXRlL2NvbW1vbiAvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEvdXNy
L3NoYXJlL2k1ODYtY2NkLWxpbnV4X2NvbmZpZ19zaXRlLmQvbmN1cnNlc19jb25maWcgL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9z
aGFyZS9pNTg2LWNjZC1saW51eF9jb25maWdfc2l0ZS5kL2VnbGliY19jb25maWcgIicgPj4gJHNj
cmlwdAoKCWVjaG8gJ2V4cG9ydCBDQz1pNTg2LWNjZC1saW51eC1nY2MnID4+ICRzY3JpcHQKCWVj
aG8gJ2V4cG9ydCBDWFg9aTU4Ni1jY2QtbGludXgtZysrJyA+PiAkc2NyaXB0CgllY2hvICdleHBv
cnQgR0RCPWk1ODYtY2NkLWxpbnV4LWdkYicgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IFRBUkdF
VF9QUkVGSVg9aTU4Ni1jY2QtbGludXgtJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgQ09ORklH
VVJFX0ZMQUdTPSItLXRhcmdldD1pNTg2LWNjZC1saW51eCAtLWhvc3Q9aTU4Ni1jY2QtbGludXgg
LS1idWlsZD14ODZfNjQtbGludXggLS13aXRoLWxpYnRvb2wtc3lzcm9vdD0vaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9jb25jb3JkaWEiJyA+PiAkc2NyaXB0
CglpZiBbICJsaW51eCIgPSAiZGFyd2luOCIgXTsgdGhlbgoJCWVjaG8gJ2V4cG9ydCBUQVJHRVRf
Q0ZMQUdTPSItSS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3Rz
Y29uY29yZGlhL3Vzci9pbmNsdWRlIicgPj4gJHNjcmlwdAoJCWVjaG8gJ2V4cG9ydCBUQVJHRVRf
TERGTEFHUz0iLUwvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290
c2NvbmNvcmRpYS91c3IvbGliIicgPj4gJHNjcmlwdAoJCSMgV29ya2Fyb3VuZCBkYXJ3aW4gdG9v
bGNoYWluIHN5c3Jvb3QgcGF0aCBwcm9ibGVtcwoJCWNkIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1y
Ny9zZGsvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLjQvc3lzcm9vdHMvY29yZTItY2NkLWxpbnV4
L3VzcgoJCWxuIC1zIC91c3IvbG9jYWwgbG9jYWwKCWZpCgllY2hvICdleHBvcnQgQ0ZMQUdTPSIg
LW0zMiAgICAtbWFyY2g9Y29yZTIgLW1zc2UzIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPXNzZSAt
LXN5c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMv
Y29uY29yZGlhIicgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IENYWEZMQUdTPSIgLW0zMiAgICAt
bWFyY2g9Y29yZTIgLW1zc2UzIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPXNzZSAtLXN5c3Jvb3Q9
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlh
IicgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IExERkxBR1M9IiAgLS1zeXNyb290PS9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSInID4+ICRz
Y3JpcHQKCWVjaG8gJ2V4cG9ydCBDUFBGTEFHUz0iIC1tMzIgICAgLW1hcmNoPWNvcmUyIC1tc3Nl
MyAtbXR1bmU9Z2VuZXJpYyAtbWZwbWF0aD1zc2UgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSInID4+ICRzY3JpcHQKCWVj
aG8gJ2V4cG9ydCBPRUNPUkVfTkFUSVZFX1NZU1JPT1Q9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eCInID4+ICRzY3JpcHQKCWVjaG8g
J2V4cG9ydCBPRUNPUkVfVEFSR0VUX1NZU1JPT1Q9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2NvbmNvcmRpYSInID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9y
dCBPRUNPUkVfQUNMT0NBTF9PUFRTPSItSSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL3NoYXJlL2FjbG9jYWwiJyA+PiAkc2Ny
aXB0CgllY2hvICdleHBvcnQgT0VDT1JFX0RJU1RST19WRVJTSU9OPSJ2MC4xLjQiJyA+PiAkc2Ny
aXB0CgllY2hvICdleHBvcnQgT0VDT1JFX1NES19WRVJTSU9OPSJ2MC4xLjQiJyA+PiAkc2NyaXB0
Cgp9Cgp0b29sY2hhaW5fY3JlYXRlX3Nka19lbnZfc2NyaXB0X2Zvcl9pbnN0YWxsZXIoKSB7Cgkj
IENyZWF0ZSBlbnZpcm9ubWVudCBzZXR1cCBzY3JpcHQKCWxvY2FsIG11bHRpbWFjaF90YXJnZXRf
c3lzPSQxCglzY3JpcHQ9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29y
ay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Nkay9pbWFnZS8vb3B0L2Nv
bmNvcmRpYS92MC4xLjQvZW52aXJvbm1lbnQtc2V0dXAtJHttdWx0aW1hY2hfdGFyZ2V0X3N5c30K
CXJtIC1mICRzY3JpcHQKCXRvdWNoICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBQQVRIPS9vcHQvY29u
Y29yZGlhL3YwLjEuNC9zeXNyb290cy9pNjg2LWNjZHNkay1saW51eC91c3IvYmluOi9vcHQvY29u
Y29yZGlhL3YwLjEuNC9zeXNyb290cy9pNjg2LWNjZHNkay1saW51eC91c3IvYmluLyciJHttdWx0
aW1hY2hfdGFyZ2V0X3N5c30iJzokUEFUSCcgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IFBLR19D
T05GSUdfU1lTUk9PVF9ESVI9IyNTREtUQVJHRVRTWVNST09UIyMnID4+ICRzY3JpcHQKCWVjaG8g
J2V4cG9ydCBQS0dfQ09ORklHX1BBVEg9IyNTREtUQVJHRVRTWVNST09UIyMke3RhcmdldF9saWJk
aXJ9L3BrZ2NvbmZpZycgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IENPTkZJR19TSVRFPS9vcHQv
Y29uY29yZGlhL3YwLjEuNC9zaXRlLWNvbmZpZy0nIiR7bXVsdGltYWNoX3RhcmdldF9zeXN9IiA+
PiAkc2NyaXB0CgllY2hvICdleHBvcnQgQ0M9aTU4Ni1jY2QtbGludXgtZ2NjJyA+PiAkc2NyaXB0
CgllY2hvICdleHBvcnQgQ1hYPWk1ODYtY2NkLWxpbnV4LWcrKycgPj4gJHNjcmlwdAoJZWNobyAn
ZXhwb3J0IEdEQj1pNTg2LWNjZC1saW51eC1nZGInID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBU
QVJHRVRfUFJFRklYPWk1ODYtY2NkLWxpbnV4LScgPj4gJHNjcmlwdAoJZWNobyAnZXhwb3J0IENP
TkZJR1VSRV9GTEFHUz0iLS10YXJnZXQ9aTU4Ni1jY2QtbGludXggLS1ob3N0PWk1ODYtY2NkLWxp
bnV4IC0tYnVpbGQ9aTY4Ni1saW51eCAtLXdpdGgtbGlidG9vbC1zeXNyb290PSMjU0RLVEFSR0VU
U1lTUk9PVCMjIicgPj4gJHNjcmlwdAoJaWYgWyAibGludXgiID0gImRhcndpbjgiIF07IHRoZW4K
CQllY2hvICdleHBvcnQgVEFSR0VUX0NGTEFHUz0iLUkjI1NES1RBUkdFVFNZU1JPT1QjIyR7dGFy
Z2V0X2luY2x1ZGVkaXJ9IicgPj4gJHNjcmlwdAoJCWVjaG8gJ2V4cG9ydCBUQVJHRVRfTERGTEFH
Uz0iLUwjI1NES1RBUkdFVFNZU1JPT1QjI3t0YXJnZXRfbGliZGlyfSInID4+ICRzY3JpcHQKCQkj
IFdvcmthcm91bmQgZGFyd2luIHRvb2xjaGFpbiBzeXNyb290IHBhdGggcHJvYmxlbXMKCQljZCAv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51
eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS40L3N5
c3Jvb3RzL2NvcmUyLWNjZC1saW51eC91c3IKCQlsbiAtcyAvdXNyL2xvY2FsIGxvY2FsCglmaQoJ
ZWNobyAnZXhwb3J0IENGTEFHUz0iIC1tMzIgICAgLW1hcmNoPWNvcmUyIC1tc3NlMyAtbXR1bmU9
Z2VuZXJpYyAtbWZwbWF0aD1zc2UgLS1zeXNyb290PSMjU0RLVEFSR0VUU1lTUk9PVCMjIicgPj4g
JHNjcmlwdAoJZWNobyAnZXhwb3J0IENYWEZMQUdTPSIgLW0zMiAgICAtbWFyY2g9Y29yZTIgLW1z
c2UzIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPXNzZSAtLXN5c3Jvb3Q9IyNTREtUQVJHRVRTWVNS
T09UIyMiJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgTERGTEFHUz0iICAtLXN5c3Jvb3Q9IyNT
REtUQVJHRVRTWVNST09UIyMiJyA+PiAkc2NyaXB0CgllY2hvICdleHBvcnQgQ1BQRkxBR1M9IiAt
bTMyICAgIC1tYXJjaD1jb3JlMiAtbXNzZTMgLW10dW5lPWdlbmVyaWMgLW1mcG1hdGg9c3NlIC0t
c3lzcm9vdD0jI1NES1RBUkdFVFNZU1JPT1QjIyInID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBP
RUNPUkVfTkFUSVZFX1NZU1JPT1Q9Ii9vcHQvY29uY29yZGlhL3YwLjEuNC9zeXNyb290cy9pNjg2
LWNjZHNkay1saW51eCInID4+ICRzY3JpcHQKCWVjaG8gJ2V4cG9ydCBPRUNPUkVfVEFSR0VUX1NZ
U1JPT1Q9IiMjU0RLVEFSR0VUU1lTUk9PVCMjIicgPj4gJHNjcmlwdAogICAgICAgIGVjaG8gJ2V4
cG9ydCBPRUNPUkVfQUNMT0NBTF9PUFRTPSItSSAvb3B0L2NvbmNvcmRpYS92MC4xLjQvc3lzcm9v
dHMvaTY4Ni1jY2RzZGstbGludXgvdXNyL3NoYXJlL2FjbG9jYWwiJyA+PiAkc2NyaXB0CgllY2hv
ICdleHBvcnQgT0VDT1JFX0RJU1RST19WRVJTSU9OPSJ2MC4xLjQiJyA+PiAkc2NyaXB0CgllY2hv
ICdleHBvcnQgT0VDT1JFX1NES19WRVJTSU9OPSJ2MC4xLjQiJyA+PiAkc2NyaXB0Cgp9Cgpkb19j
aGVja3VyaWFsbCgpIHsKCToKCn0KCnBhY2thZ2Vkc3RhZ2luZ19mYXN0cGF0aCgpIHsKCToKCn0K
CnNzdGF0ZV91bnBhY2tfcGFja2FnZSgpIHsKCW1rZGlyIC1wICR7U1NUQVRFX0lOU1RESVJ9Cglj
ZCAke1NTVEFURV9JTlNURElSfQoJdGFyIC14dnpmIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vc3N0YXRlLWNhY2hlL3NzdGF0ZS1tZXRhLXRvb2xjaGFpbi1jb3JlMi1jY2QtbGlu
dXgtMS4wLXI3LWNvcmUyLTItJHtCQl9UQVNLSEFTSH0KCn0KCnRvb2xjaGFpbl9jcmVhdGVfc2Rr
X3ZlcnNpb24oKSB7Cglsb2NhbCB2ZXJzaW9uZmlsZT0kMQoJcm0gLWYgJHZlcnNpb25maWxlCgl0
b3VjaCAkdmVyc2lvbmZpbGUKCWVjaG8gJ0Rpc3RybzogY29uY29yZGlhJyA+PiAkdmVyc2lvbmZp
bGUKCWVjaG8gJ0Rpc3RybyBWZXJzaW9uOiB2MC4xLjQnID4+ICR2ZXJzaW9uZmlsZQoJZWNobyAn
TWV0YWRhdGEgUmV2aXNpb246IGQyMGEyNDMxMGViNDNmZWQ5YTNmM2U3NTc1MmM5YWQ0NWExOGNi
ZTQnID4+ICR2ZXJzaW9uZmlsZQoJZWNobyAnVGltZXN0YW1wOiAyMDEyMDUyMTE4NDIyMScgPj4g
JHZlcnNpb25maWxlCgp9Cgpwb3B1bGF0ZV9zZGtfaXBrKCkgewoKCXJtIC1mIC9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9v
bGNoYWluLTEuMC1yNy9vcGtnLmNvbmYKCXRvdWNoIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9v
cGtnLmNvbmYKCXJtIC1mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dv
cmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9vcGtnLXNkay5jb25mCgl0
b3VjaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNj
ZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvb3BrZy1zZGsuY29uZgoKCXBhY2thZ2VfdXBk
YXRlX2luZGV4X2lwawoJcGFja2FnZV9nZW5lcmF0ZV9pcGtnX2NvbmYKCglleHBvcnQgSU5TVEFM
TF9QQUNLQUdFU19BVFRFTVBUT05MWV9JUEs9IiIKCWV4cG9ydCBJTlNUQUxMX1BBQ0tBR0VTX0xJ
TkdVQVNfSVBLPSIiCglleHBvcnQgSU5TVEFMTF9UQVNLX0lQSz0icG9wdWxhdGVfc2RrIgoKCSNp
bnN0YWxsIHRhcmdldAoJZXhwb3J0IElOU1RBTExfUk9PVEZTX0lQSz0iL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hh
aW4tMS4wLXI3L3Nkay9pbWFnZS8vb3B0L2NvbmNvcmRpYS92MC4xLjQvc3lzcm9vdHMvY29yZTIt
Y2NkLWxpbnV4IgoJZXhwb3J0IElOU1RBTExfQ09ORl9JUEs9Ii9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEu
MC1yNy9vcGtnLmNvbmYiCglleHBvcnQgSU5TVEFMTF9QQUNLQUdFU19JUEs9InRhc2stY29yZS1z
dGFuZGFsb25lLXNkay10YXJnZXQgdGFzay1jb3JlLXN0YW5kYWxvbmUtc2RrLXRhcmdldC1kYmci
CgoJZXhwb3J0IEQ9JHtJTlNUQUxMX1JPT1RGU19JUEt9CglleHBvcnQgT0ZGTElORV9ST09UPSR7
SU5TVEFMTF9ST09URlNfSVBLfQoJZXhwb3J0IElQS0dfT0ZGTElORV9ST09UPSR7SU5TVEFMTF9S
T09URlNfSVBLfQoJZXhwb3J0IE9QS0dfT0ZGTElORV9ST09UPSR7SVBLR19PRkZMSU5FX1JPT1R9
CgoJcGFja2FnZV9pbnN0YWxsX2ludGVybmFsX2lwawoKCSNpbnN0YWxsIGhvc3QKCWV4cG9ydCBJ
TlNUQUxMX1JPT1RGU19JUEs9Ii9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UiCgll
eHBvcnQgSU5TVEFMTF9DT05GX0lQSz0iL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L29wa2ctc2Rr
LmNvbmYiCglleHBvcnQgSU5TVEFMTF9QQUNLQUdFU19JUEs9InRhc2stc2RrLWhvc3QtbmF0aXZl
c2RrIHRhc2stY3Jvc3MtY2FuYWRpYW4taTU4NiIKCglwYWNrYWdlX2luc3RhbGxfaW50ZXJuYWxf
aXBrCgoJI3Bvc3QgY2xlYW4gdXAKCWluc3RhbGwgLWQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3
L3Nkay9pbWFnZS8vb3B0L2NvbmNvcmRpYS92MC4xLjQvc3lzcm9vdHMvY29yZTItY2NkLWxpbnV4
Ly9ldGMKCWluc3RhbGwgLW0gMDY0NCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvb3BrZy5jb25m
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxp
bnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9vcGtnLXNkay5jb25mIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWlu
LTEuMC1yNy9zZGsvaW1hZ2UvL29wdC9jb25jb3JkaWEvdjAuMS40L3N5c3Jvb3RzL2NvcmUyLWNj
ZC1saW51eC8vZXRjLwoKCWluc3RhbGwgLWQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Nkay9p
bWFnZS8vb3B0L2NvbmNvcmRpYS92MC4xLjQvc3lzcm9vdHMvaTY4Ni1jY2RzZGstbGludXgvL2V0
YwoJaW5zdGFsbCAtbSAwNjQ0IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9vcGtnLXNkay5jb25m
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxp
bnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UvL29wdC9jb25jb3JkaWEvdjAuMS40
L3N5c3Jvb3RzL2k2ODYtY2Nkc2RrLWxpbnV4Ly9ldGMvCgoJaW5zdGFsbCAtZCAvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRv
b2xjaGFpbi0xLjAtcjcvc2RrL2ltYWdlLy9vcHQvY29uY29yZGlhL3YwLjEuNC9zeXNyb290cy9p
Njg2LWNjZHNkay1saW51eC92YXIvbGliL29wa2cKCW12IC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1y
Ny9zZGsvaW1hZ2UvdmFyL2xpYi9vcGtnLyogL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Nkay9p
bWFnZS8vb3B0L2NvbmNvcmRpYS92MC4xLjQvc3lzcm9vdHMvaTY4Ni1jY2RzZGstbGludXgvdmFy
L2xpYi9vcGtnLwoJcm0gLVJmIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9zZGsvaW1hZ2UvdmFy
CgoJcG9wdWxhdGVfc2RrX2xvZ19jaGVjayBwb3B1bGF0ZV9zZGsKCn0KCnN5c3Jvb3Rfc3RhZ2Vf
YWxsKCkgewoJc3lzcm9vdF9zdGFnZV9kaXJzIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9pbWFn
ZSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1s
aW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc3lzcm9vdC1kZXN0ZGlyLwoKfQoKbGljZW5zZV9j
cmVhdGVfbWFuaWZlc3QoKSB7Cglta2RpciAtcCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC9kZXBsb3kvbGljZW5zZXMvbWV0YS10b29sY2hhaW4tY29uY29yZGlhLXYwLjEu
NAoJIyBHZXQgbGlzdCBvZiBpbnN0YWxsZWQgcGFja2FnZXMKCWxpc3RfaW5zdGFsbGVkX3BhY2th
Z2VzIHwgZ3JlcCAtdiAibG9jYWxlIiB8c29ydCA+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL2RlcGxveS9saWNlbnNlcy9tZXRhLXRvb2xjaGFpbi1jb25jb3JkaWEtdjAu
MS40L3BhY2thZ2UubWFuaWZlc3QKCUlOU1RBTExFRF9QS0dTPWBjYXQgL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2xpY2Vuc2VzL21ldGEtdG9vbGNoYWluLWNv
bmNvcmRpYS12MC4xLjQvcGFja2FnZS5tYW5pZmVzdGAKCSMgcmVtb3ZlIGV4aXN0aW5nIGxpY2Vu
c2UubWFuaWZlc3QgZmlsZQoJaWYgWyAtZiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC9kZXBsb3kvbGljZW5zZXMvbWV0YS10b29sY2hhaW4tY29uY29yZGlhLXYwLjEuNC9s
aWNlbnNlLm1hbmlmZXN0IF07IHRoZW4KCQlybSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC9kZXBsb3kvbGljZW5zZXMvbWV0YS10b29sY2hhaW4tY29uY29yZGlhLXYwLjEu
NC9saWNlbnNlLm1hbmlmZXN0CglmaQoJIyBsaXN0IG9mIGluc3RhbGxlZCBwYWNrYWdlcyBpcyBi
cm9rZW4gZm9yIGRlYgoJZm9yIHBrZyBpbiAke0lOU1RBTExFRF9QS0dTfTsgZG8KCQkjIG5vdCB0
aGUgYmVzdCB3YXkgdG8gZG8gdGhpcyBidXQgbGljZW5zZXMgYXJlIG5vdCBhcmNoIGRlcGVuZGFu
dCBpaXJjCgkJZmlsZXM9YGZpbmQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvcGtnZGF0YS8qL3J1bnRpbWUgLW5hbWUgJHtwa2d9fCBoZWFkIC0xYAoJCWZvciBmaWxlbmFt
ZSBpbiAkZmlsZXM7IGRvCgkJCXBrZ2VkX3BuPSIkKHNlZCAtbiAncy9eUE46IC8vcCcgJHtmaWxl
bmFtZX0pIgoJCQlwa2dlZF9saWM9IiQoc2VkIC1uICcvXkxJQ0VOU0U6IC97IHMvXkxJQ0VOU0U6
IC8vOyBzL1srfCYoKSpdLyAvZzsgcy8gICovIC9nOyBwIH0nICR7ZmlsZW5hbWV9KSIKCQkJIyBj
aGVjayB0byBzZWUgaWYgdGhlIHBhY2thZ2UgbmFtZSBleGlzdHMgaW4gdGhlIG1hbmlmZXN0LiBp
ZiBzbywgYmFpbC4KCQkJaWYgISBncmVwIC1xICJQQUNLQUdFIE5BTUU6ICR7cGtnfSIgJHtmaWxl
bmFtZX07IHRoZW4KCQkJCSMgZXhjbHVkZSBsb2NhbCByZWNpcGVzCgkJCQlpZiBbICEgIiR7cGtn
ZWRfcG59IiA9ICIqbG9jYWxlKiIgXTsgdGhlbgoJCQkJCWVjaG8gIlBBQ0tBR0UgTkFNRToiICR7
cGtnfSA+PiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvbGlj
ZW5zZXMvbWV0YS10b29sY2hhaW4tY29uY29yZGlhLXYwLjEuNC9saWNlbnNlLm1hbmlmZXN0CgkJ
CQkJZWNobyAiUkVDSVBFIE5BTUU6IiAke3BrZ2VkX3BufSA+PiAvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvbGljZW5zZXMvbWV0YS10b29sY2hhaW4tY29uY29y
ZGlhLXYwLjEuNC9saWNlbnNlLm1hbmlmZXN0CgkJCQkJZWNobyAiTElDRU5TRTogIiA+PiAvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvbGljZW5zZXMvbWV0YS10
b29sY2hhaW4tY29uY29yZGlhLXYwLjEuNC9saWNlbnNlLm1hbmlmZXN0CgkJCQkJZm9yIGxpYyBp
biAke3BrZ2VkX2xpY307IGRvCgkJCQkJCWlmIFsgLWUgIi9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL2RlcGxveS9saWNlbnNlcy8ke3BrZ2VkX3BufS9nZW5lcmljXyR7bGlj
fSIgXTsgdGhlbgoJCQkJCQkJZWNobyAke2xpY318c2VkIHMnL2dlbmVyaWNfLy8nZyA+PiAvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvbGljZW5zZXMvbWV0YS10
b29sY2hhaW4tY29uY29yZGlhLXYwLjEuNC9saWNlbnNlLm1hbmlmZXN0CgkJCQkJCWVsc2UKCQkJ
CQkJCWVjaG8gIldBUk5JTkc6IFRoZSBsaWNlbnNlIGxpc3RlZCwgIiAke2xpY30gIiB3YXMgbm90
IGluIHRoZSBsaWNlbnNlcyBjb2xsZWN0ZWQgZm9yICIgJHtwa2dlZF9wbn0+PiAvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9kZXBsb3kvbGljZW5zZXMvbWV0YS10b29sY2hh
aW4tY29uY29yZGlhLXYwLjEuNC9saWNlbnNlLm1hbmlmZXN0CgkJCQkJCWZpCgkJCQkJZG9uZQoJ
CQkJCWVjaG8gIiIgPj4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVw
bG95L2xpY2Vuc2VzL21ldGEtdG9vbGNoYWluLWNvbmNvcmRpYS12MC4xLjQvbGljZW5zZS5tYW5p
ZmVzdAoJCQkJZmkKCQkJZmkKCQlkb25lCglkb25lCgoJIyBUd28gb3B0aW9ucyBoZXJlOgoJIyAt
IEp1c3QgY29weSB0aGUgbWFuaWZlc3QKCSMgLSBDb3B5IHRoZSBtYW5pZmVzdCBhbmQgdGhlIGxp
Y2Vuc2UgZGlyZWN0b3JpZXMKCSMgV2l0aCBib3RoIG9wdGlvbnMgc2V0IHdlIHNlZSBhIC41IE0g
aW5jcmVhc2UgaW4gY29yZS1pbWFnZS1taW5pbWFsCglpZiBbIC1uICIke0NPUFlfTElDX01BTklG
RVNUfSIgXTsgdGhlbgoJCW1rZGlyIC1wIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9yb290ZnMv
dXNyL3NoYXJlL2NvbW1vbi1saWNlbnNlcy8KCQljcCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9kZXBsb3kvbGljZW5zZXMvbWV0YS10b29sY2hhaW4tY29uY29yZGlhLXYw
LjEuNC9saWNlbnNlLm1hbmlmZXN0IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9yb290ZnMvdXNy
L3NoYXJlL2NvbW1vbi1saWNlbnNlcy9saWNlbnNlLm1hbmlmZXN0CgkJaWYgWyAtbiAiJHtDT1BZ
X0xJQ19ESVJTfSIgXTsgdGhlbgoJCQlmb3IgcGtnIGluICR7SU5TVEFMTEVEX1BLR1N9OyBkbwoJ
CQkJbWtkaXIgLXAgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9j
b3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Jvb3Rmcy91c3Ivc2hhcmUvY29t
bW9uLWxpY2Vuc2VzLyR7cGtnfQoJCQkJZm9yIGxpYyBpbiBgbHMgL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2xpY2Vuc2VzLyR7cGtnfWA7IGRvCgkJCQkJIyBS
ZWFsbHkgZG9uJ3QgbmVlZCB0byBjb3B5IHRoZSBnZW5lcmljcyBhcyB0aGV5J3JlCgkJCQkJIyBy
ZXByZXNlbnRlZCBpbiB0aGUgbWFuaWZlc3QgYW5kIGluIHRoZSBhY3R1YWwgcGtnIGxpY2Vuc2Vz
CgkJCQkJIyBEb2luZyBzbyB3b3VsZCBtYWtlIHlvdXIgaW1hZ2UgcXVpdGUgYSBiaXQgbGFyZ2Vy
CgkJCQkJaWYgW1sgIiR7bGljfSIgIT0gImdlbmVyaWNfIiogXV07IHRoZW4KCQkJCQkJY3AgL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvZGVwbG95L2xpY2Vuc2VzLyR7cGtn
fS8ke2xpY30gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3Jl
Mi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Jvb3Rmcy91c3Ivc2hhcmUvY29tbW9u
LWxpY2Vuc2VzLyR7cGtnfS8ke2xpY30KCQkJCQllbGlmIFtbICIke2xpY30iID09ICJnZW5lcmlj
XyIqIF1dOyB0aGVuCgkJCQkJCWlmIFsgISAtZiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvcm9v
dGZzL3Vzci9zaGFyZS9jb21tb24tbGljZW5zZXMvJHtsaWN9IF07IHRoZW4KCQkJCQkJCWNwIC9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL2RlcGxveS9saWNlbnNlcy8ke3Br
Z30vJHtsaWN9IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29y
ZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9yb290ZnMvdXNyL3NoYXJlL2NvbW1v
bi1saWNlbnNlcy8KCQkJCQkJZmkKCQkJCQkJbG4gLXMgLi4vJHtsaWN9IC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNo
YWluLTEuMC1yNy9yb290ZnMvdXNyL3NoYXJlL2NvbW1vbi1saWNlbnNlcy8ke3BrZ30vJHtsaWN9
CgkJCQkJZmkKCQkJCWRvbmUKCQkJZG9uZQoJCWZpCglmaQoKCn0KCm1rbGlic19vcHRpbWl6ZV9p
bWFnZSgpIHsKCWZvciBpbWcgaW4gJHtNS0xJQlNfT1BUSU1JWkVEX0lNQUdFU30KCWRvCgkJaWYg
WyAiJHtpbWd9IiA9ICJtZXRhLXRvb2xjaGFpbiIgXSB8fCBbICIke2ltZ30iID0gImFsbCIgXQoJ
CXRoZW4KCQkJbWtsaWJzX29wdGltaXplX2ltYWdlX2RvaXQKCQkJYnJlYWsKCQlmaQoJZG9uZQoK
fQoKb2VfcnVubWFrZSgpIHsKCWlmIFsgeCIkTUFLRSIgPSB4IF07IHRoZW4gTUFLRT1tYWtlOyBm
aQoJYmJub3RlIG1ha2UgLWUgTUFLRUZMQUdTPSAiJEAiCgltYWtlIC1lIE1BS0VGTEFHUz0gIiRA
IiB8fCBkaWUgIm9lX3J1bm1ha2UgZmFpbGVkIgoKfQoKYmJlcnJvcigpIHsKCWVjaG8gIkVSUk9S
OiAkKiIKCn0KCm1rbGlic19vcHRpbWl6ZV9pbWFnZV9kb2l0KCkgewoJcm0gLXJmIC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEt
dG9vbGNoYWluLTEuMC1yNy9ta2xpYnMKCW1rZGlyIC1wIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1y
Ny9ta2xpYnMvZGVzdAoJY2QgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
d29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L3Jvb3RmcwoJZHUgLWJz
ID4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2Qt
bGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L21rbGlicy9kdS5iZWZvcmUubWtsaWJzLnR4dAoJ
Zm9yIGkgaW4gYGZpbmQgLmA7IGRvIGZpbGUgJGk7IGRvbmUgXAoJCXwgZ3JlcCBFTEYgXAoJCXwg
Z3JlcCAiTFNCIGV4ZWN1dGFibGUiIFwKCQl8IGdyZXAgImR5bmFtaWNhbGx5IGxpbmtlZCIgXAoJ
CXwgc2VkICJzLzouKi8vIiBcCgkJfCBzZWQgInMrXlwuLysrIiBcCgkJPiAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xj
aGFpbi0xLjAtcjcvbWtsaWJzL2V4ZWN1dGFibGVzLmxpc3QKCgljYXNlIGk1ODYgaW4KCQlwb3dl
cnBjIHwgbWlwcyB8IG1pY3JvYmxhemUgKQoJCQlkeW5hbWljX2xvYWRlcj0iL2xpYi9sZC5zby4x
IgoJCQk7OwoJCXBvd2VycGM2NCkKCQkJZHluYW1pY19sb2FkZXI9Ii9saWIvbGQ2NC5zby4xIgoJ
CQk7OwoJCXg4Nl82NCkKCQkJZHluYW1pY19sb2FkZXI9Ii9saWIvbGQtbGludXgteDg2LTY0LnNv
LjIiCgkJCTs7CgkJaTU4NiApCgkJCWR5bmFtaWNfbG9hZGVyPSIvbGliL2xkLWxpbnV4LnNvLjIi
CgkJCTs7CgkJYXJtICkKCQkJZHluYW1pY19sb2FkZXI9Ii9saWIvbGQtbGludXguc28uMyIKCQkJ
OzsKCQkqICkKCQkJZHluYW1pY19sb2FkZXI9Ii91bmtub3duX2R5bmFtaWNfbGlua2VyIgoJCQk7
OwoJZXNhYwoKCW1rbGlicyAtdiBcCgkJLS1sZGxpYiAke2R5bmFtaWNfbG9hZGVyfSBcCgkJLS1z
eXNyb290IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL2Nv
bmNvcmRpYSBcCgkJLS1yb290IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9yb290ZnMgXAoJCS0t
dGFyZ2V0IGBlY2hvIGk1ODYtY2NkLWxpbnV4LSB8IHNlZCAncy8tJC8vJyBgIFwKCQktZCAvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9t
ZXRhLXRvb2xjaGFpbi0xLjAtcjcvbWtsaWJzL2Rlc3QgXAoJCWBjYXQgL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hh
aW4tMS4wLXI3L21rbGlicy9leGVjdXRhYmxlcy5saXN0YAoKCWNkIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWlu
LTEuMC1yNy9ta2xpYnMvZGVzdAoJZm9yIGkgaW4gKgoJZG8KCQljcCAkaSBgZmluZCAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRh
LXRvb2xjaGFpbi0xLjAtcjcvcm9vdGZzIC1uYW1lICRpYAoJZG9uZQoKCWNkIC9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9v
bGNoYWluLTEuMC1yNy9yb290ZnMKCWR1IC1icyA+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3dvcmsvY29yZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9t
a2xpYnMvZHUuYWZ0ZXIubWtsaWJzLnR4dAoKCWVjaG8gcm9vdGZzIHNpemUgYmVmb3JlIG1rbGli
cyBvcHRpbWl6YXRpb246IGBjYXQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3L21rbGlicy9kdS5i
ZWZvcmUubWtsaWJzLnR4dGAKCWVjaG8gcm9vdGZzIHNpemUgYWZ0ZXIgbWtsaWJzIG9wdGltaXph
dGlvbjogYGNhdCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2Nv
cmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvbWtsaWJzL2R1LmFmdGVyLm1rbGli
cy50eHRgCgp9CgoKCnB5dGhvbiBjaGVja19jb25mX2V4aXN0cyAoKSB7CmRlZiBjaGVja19jb25m
X2V4aXN0cyhmbiwgZGF0YSk6CiAgICBiYnBhdGggPSBbXQogICAgZm4gPSBkYXRhLmV4cGFuZChm
bikKICAgIHZiYnBhdGggPSBkYXRhLmdldFZhcigiQkJQQVRIIikKICAgIGlmIHZiYnBhdGg6CiAg
ICAgICAgYmJwYXRoICs9IHZiYnBhdGguc3BsaXQoIjoiKQogICAgZm9yIHAgaW4gYmJwYXRoOgog
ICAgICAgIGN1cnJuYW1lID0gb3MucGF0aC5qb2luKGRhdGEuZXhwYW5kKHApLCBmbikKICAgICAg
ICBpZiBvcy5hY2Nlc3MoY3Vycm5hbWUsIG9zLlJfT0spOgogICAgICAgICAgICByZXR1cm4gVHJ1
ZQogICAgcmV0dXJuIEZhbHNlCn0KCgpweXRob24gZG9fZGV2c2hlbGwgKCkgewogICAgb2VfdGVy
bWluYWwoZC5nZXRWYXIoJ1NIRUxMJywgVHJ1ZSksICdPcGVuRW1iZWRkZWQgRGV2ZWxvcGVyIFNo
ZWxsJywgZCkKfQoKCnB5dGhvbiBzaXRlaW5mb19nZXRfZmlsZXMgKCkgewpkZWYgc2l0ZWluZm9f
Z2V0X2ZpbGVzKGQsIG5vX2NhY2hlID0gRmFsc2UpOgogICAgc2l0ZWRhdGEgPSBzaXRlaW5mb19k
YXRhKGQpCiAgICBzaXRlZmlsZXMgPSAiIgogICAgZm9yIHBhdGggaW4gZC5nZXRWYXIoIkJCUEFU
SCIsIFRydWUpLnNwbGl0KCI6Iik6CiAgICAgICAgZm9yIGVsZW1lbnQgaW4gc2l0ZWRhdGE6CiAg
ICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKHBhdGgsICJzaXRlIiwgZWxlbWVudCkK
ICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZmlsZW5hbWUpOgogICAgICAgICAgICAgICAg
c2l0ZWZpbGVzICs9IGZpbGVuYW1lICsgIiAiCgogICAgaWYgbm9fY2FjaGU6IHJldHVybiBzaXRl
ZmlsZXMKCiAgICAjIE5vdyBjaGVjayBmb3Igc2l0ZWNvbmZpZyBjYWNoZSBmaWxlcwogICAgcGF0
aF9zaXRlY29uZmlnID0gZC5nZXRWYXIoJ1NJVEVDT05GSUdfU1lTUk9PVENBQ0hFJywgVHJ1ZSkK
ICAgIGlmIG9zLnBhdGguaXNkaXIocGF0aF9zaXRlY29uZmlnKToKICAgICAgICBmb3IgaSBpbiBv
cy5saXN0ZGlyKHBhdGhfc2l0ZWNvbmZpZyk6CiAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0
aC5qb2luKHBhdGhfc2l0ZWNvbmZpZywgaSkKICAgICAgICAgICAgc2l0ZWZpbGVzICs9IGZpbGVu
YW1lICsgIiAiCgogICAgcmV0dXJuIHNpdGVmaWxlcwp9CgoKcHl0aG9uIG9lX2ltcG9ydF9laCAo
KSB7CiAgICBpZiBpc2luc3RhbmNlKGUsIGJiLmV2ZW50LkNvbmZpZ1BhcnNlZCk6CglvZV9pbXBv
cnQoZS5kYXRhKQp9CgoKcHl0aG9uIGRvX3BhY2thZ2Vfd3JpdGVfaXBrICgpIHsKCWJiLmJ1aWxk
LmV4ZWNfZnVuYygicmVhZF9zdWJwYWNrYWdlX21ldGFkYXRhIiwgZCkKCWJiLmJ1aWxkLmV4ZWNf
ZnVuYygiZG9fcGFja2FnZV9pcGsiLCBkKQp9CgoKcHl0aG9uIGdlbl9wYWNrYWdldmFyICgpIHsK
ZGVmIGdlbl9wYWNrYWdldmFyKGQpOgogICAgcmV0ID0gW10KICAgIHBrZ3MgPSAoZC5nZXRWYXIo
IlBBQ0tBR0VTIiwgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKICAgIHZhcnMgPSAoZC5nZXRWYXIoIlBB
Q0tBR0VWQVJTIiwgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKICAgIGZvciBwIGluIHBrZ3M6CiAgICAg
ICAgZm9yIHYgaW4gdmFyczoKICAgICAgICAgICAgcmV0LmFwcGVuZCh2ICsgIl8iICsgcCkKICAg
IHJldHVybiAiICIuam9pbihyZXQpCn0KCgpweXRob24gY2hlY2tfY29ubmVjdGl2aXR5ICgpIHsK
ZGVmIGNoZWNrX2Nvbm5lY3Rpdml0eShkKToKICAgICMgVVJJJ3MgdG8gY2hlY2sgY2FuIGJlIHNl
dCBpbiB0aGUgQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMgdmFyaWFibGUKICAgICMgdXNpbmcgdGhl
IHNhbWUgc3ludGF4IGFzIGZvciBTUkNfVVJJLiBJZiB0aGUgdmFyaWFibGUgaXMgbm90IHNldAog
ICAgIyB0aGUgY2hlY2sgaXMgc2tpcHBlZAogICAgdGVzdF91cmlzID0gKGQuZ2V0VmFyKCdDT05O
RUNUSVZJVFlfQ0hFQ0tfVVJJUycsIFRydWUpIG9yICIiKS5zcGxpdCgpCiAgICByZXR2YWwgPSAi
IgoKICAgICMgT25seSBjaGVjayBjb25uZWN0aXZpdHkgaWYgbmV0d29yayBlbmFibGVkIGFuZCB0
aGUKICAgICMgQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMgYXJlIHNldAogICAgbmV0d29ya19lbmFi
bGVkID0gbm90IGQuZ2V0VmFyKCdCQl9OT19ORVRXT1JLJywgVHJ1ZSkKICAgIGNoZWNrX2VuYWJs
ZWQgPSBsZW4odGVzdF91cmlzKQogICAgIyBUYWtlIGEgY29weSBvZiB0aGUgZGF0YSBzdG9yZSBh
bmQgdW5zZXQgTUlSUk9SUyBhbmQgUFJFTUlSUk9TCiAgICBkYXRhID0gYmIuZGF0YS5jcmVhdGVD
b3B5KGQpCiAgICBkYXRhLmRlbFZhcignUFJFTUlSUk9SUycpCiAgICBkYXRhLmRlbFZhcignTUlS
Uk9SUycpCiAgICBpZiBjaGVja19lbmFibGVkIGFuZCBuZXR3b3JrX2VuYWJsZWQ6CiAgICAgICAg
dHJ5OgogICAgICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKHRlc3RfdXJpcywgZGF0
YSkKICAgICAgICAgICAgZmV0Y2hlci5jaGVja3N0YXR1cygpCiAgICAgICAgZXhjZXB0IEV4Y2Vw
dGlvbjoKICAgICAgICAgICAgIyBBbGxvdyB0aGUgbWVzc2FnZSB0byBiZSBjb25maWd1cmVkIHNv
IHRoYXQgdXNlcnMgY2FuIGJlCiAgICAgICAgICAgICMgcG9pbnRlZCB0byBhIHN1cHBvcnQgbWVj
aGFuaXNtLgogICAgICAgICAgICBtc2cgPSBkYXRhLmdldFZhcignQ09OTkVDVElWSVRZX0NIRUNL
X01TRycsIFRydWUpIG9yICIiCiAgICAgICAgICAgIGlmIGxlbihtc2cpID09IDA6CiAgICAgICAg
ICAgICAgICBtc2cgPSAiRmFpbGVkIHRvIGZldGNoIHRlc3QgZGF0YSBmcm9tIHRoZSBuZXR3b3Jr
LiBQbGVhc2UgZW5zdXJlIHlvdXIgbmV0d29yayBpcyBjb25maWd1cmVkIGNvcnJlY3RseS5cbiIK
ICAgICAgICAgICAgcmV0dmFsID0gbXNnCgogICAgcmV0dXJuIHJldHZhbAp9CgoKcHl0aG9uIGRv
X2NsZWFuc3N0YXRlICgpIHsKICAgICAgICBzc3RhdGVfY2xlYW5fY2FjaGVmaWxlcyhkKQp9CgoK
cHl0aG9uIGdldF9saWJjX2xvY2FsZXNfZGVwZW5kZW5jaWVzICgpIHsKZGVmIGdldF9saWJjX2xv
Y2FsZXNfZGVwZW5kZW5jaWVzKGQpOgogICAgaWYgJ2xpYmMtbG9jYWxlcycgaW4gKGQuZ2V0VmFy
KCdESVNUUk9fRkVBVFVSRVMnLCBUcnVlKSBvciAnJykuc3BsaXQoKSA6CiAgICAgICAgcmV0dXJu
IGQuZ2V0VmFyKCdMSUJDX0xPQ0FMRV9ERVBFTkRFTkNJRVMnLCBUcnVlKSBvciAnJwogICAgZWxz
ZToKICAgICAgICByZXR1cm4gJyd9CgoKcHl0aG9uIHNwbGl0ZmlsZTIgKCkgewpkZWYgc3BsaXRm
aWxlMihkZWJ1Z3NyY2RpciwgZCk6CiAgICAjIEZ1bmN0aW9uIHRvIHNwbGl0IGEgc2luZ2xlIGZp
bGUsIGNhbGxlZCBmcm9tIHNwbGl0X2FuZF9zdHJpcF9maWxlcyBiZWxvdwogICAgIwogICAgIyBU
aGUgZGVidWcgc3JjIGluZm9ybWF0aW9uIHByb2Nlc3NlZCBpbiB0aGUgc3BsaXRmaWxlMiBpcyBm
dXJ0aGVyIHByb2NlY2Vzc2VkCiAgICAjIGFuZCBjb3BpZWQgdG8gdGhlIGRlc3RpbmF0aW9uIGhl
cmUuCgogICAgaW1wb3J0IGNvbW1hbmRzLCBzdGF0CgogICAgc291cmNlZmlsZSA9IGQuZXhwYW5k
KCIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1s
aW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvZGVidWdzb3VyY2VzLmxpc3QiKQogICAgaWYgZGVi
dWdzcmNkaXIgYW5kIG9zLnBhdGguaXNmaWxlKHNvdXJjZWZpbGUpOgogICAgICAgZHZhciA9IGQu
Z2V0VmFyKCdQS0dEJywgVHJ1ZSkKICAgICAgIHBhdGhwcmVmaXggPSAiZXhwb3J0IFBBVEg9JXM7
ICIgJSBkLmdldFZhcignUEFUSCcsIFRydWUpCiAgICAgICBzdHJpcCA9IGQuZ2V0VmFyKCJTVFJJ
UCIsIFRydWUpCiAgICAgICBvYmpjb3B5ID0gZC5nZXRWYXIoIk9CSkNPUFkiLCBUcnVlKQogICAg
ICAgZGVidWdlZGl0ID0gZC5leHBhbmQoIi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3JwbS9iaW4vZGVidWdlZGl0IikK
ICAgICAgIHdvcmtkaXIgPSBkLmdldFZhcigiV09SS0RJUiIsIFRydWUpCiAgICAgICB3b3JrcGFy
ZW50ZGlyID0gb3MucGF0aC5kaXJuYW1lKHdvcmtkaXIpCiAgICAgICB3b3JrYmFzZWRpciA9IG9z
LnBhdGguYmFzZW5hbWUod29ya2RpcikKCiAgICAgICBub3N1Y2hkaXIgPSBbXQogICAgICAgYmFz
ZXBhdGggPSBkdmFyCiAgICAgICBmb3IgcCBpbiBkZWJ1Z3NyY2Rpci5zcGxpdCgiLyIpOgogICAg
ICAgICAgIGJhc2VwYXRoID0gYmFzZXBhdGggKyAiLyIgKyBwCiAgICAgICAgICAgaWYgbm90IG9z
LnBhdGguZXhpc3RzKGJhc2VwYXRoKToKICAgICAgICAgICAgICAgbm9zdWNoZGlyLmFwcGVuZChi
YXNlcGF0aCkKICAgICAgIGJiLm1rZGlyaGllcihiYXNlcGF0aCkKCiAgICAgICBwcm9jZXNzZGVi
dWdzcmMgPSAgIkxDX0FMTD1DIDsgc29ydCAteiAtdSAnJXMnIHwgZWdyZXAgLXYgLXogJyg8aW50
ZXJuYWw+fDxidWlsdC1pbj4pJCcgfCAiCiAgICAgICAjIFdlIG5lZWQgdG8gaWdub3JlIGZpbGVz
IHRoYXQgYXJlIG5vdCBhY3R1YWxseSBvdXJzCiAgICAgICAjIHdlIGRvIHRoaXMgYnkgb25seSBw
YXlpbmcgYXR0ZW50aW9uIHRvIGl0ZW1zIGZyb20gdGhpcyBwYWNrYWdlCiAgICAgICBwcm9jZXNz
ZGVidWdzcmMgKz0gImZncmVwIC16ICclcycgfCAiCiAgICAgICBwcm9jZXNzZGVidWdzcmMgKz0g
IihjZCAnJXMnIDsgY3BpbyAtcGQwbUwgLS1uby1wcmVzZXJ2ZS1vd25lciAnJXMlcycgMj4vZGV2
L251bGwpIgoKICAgICAgIG9zLnN5c3RlbShwcm9jZXNzZGVidWdzcmMgJSAoc291cmNlZmlsZSwg
d29ya2Jhc2VkaXIsIHdvcmtwYXJlbnRkaXIsIGR2YXIsIGRlYnVnc3JjZGlyKSkKCiAgICAgICAj
IFRoZSBjb3B5IGJ5IGNwaW8gbWF5IGhhdmUgcmVzdWx0ZWQgaW4gc29tZSBlbXB0eSBkaXJlY3Rv
cmllcyEgIFJlbW92ZSB0aGVzZQogICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndh
bGsoIiVzJXMiICUgKGR2YXIsIGRlYnVnc3JjZGlyKSk6CiAgICAgICAgICBmb3IgZCBpbiBkaXJz
OgogICAgICAgICAgICAgIGRpciA9IG9zLnBhdGguam9pbihyb290LCBkKQogICAgICAgICAgICAg
ICNiYi5ub3RlKCJybWRpciAtcCAlcyIgJSBkaXIpCiAgICAgICAgICAgICAgb3Muc3lzdGVtKCJy
bWRpciAtcCAlcyAyPi9kZXYvbnVsbCIgJSBkaXIpCgogICAgICAgIyBBbHNvIHJlbW92ZSBkZWJ1
Z3NyY2RpciBpZiBpdHMgZW1wdHkKICAgICAgIGZvciBwIGluIG5vc3VjaGRpcls6Oi0xXToKICAg
ICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwKSBhbmQgbm90IG9zLmxpc3RkaXIocCk6CiAgICAg
ICAgICAgICAgIG9zLnJtZGlyKHApCn0KCgpweXRob24gYmFzZV92ZXJzaW9uX2xlc3Nfb3JfZXF1
YWwgKCkgewpkZWYgYmFzZV92ZXJzaW9uX2xlc3Nfb3JfZXF1YWwodmFyaWFibGUsIGNoZWNrdmFs
dWUsIHRydWV2YWx1ZSwgZmFsc2V2YWx1ZSwgZCk6CiAgICByZXR1cm4gb2UudXRpbHMudmVyc2lv
bl9sZXNzX29yX2VxdWFsKHZhcmlhYmxlLCBjaGVja3ZhbHVlLCB0cnVldmFsdWUsIGZhbHNldmFs
dWUsIGQpCn0KCgpweXRob24gYmFzZV9kb19wYXRjaCAoKSB7CgliYi5idWlsZC5leGVjX2Z1bmMo
J3BhdGNoX2RvX3BhdGNoJywgZCkKfQoKCnB5dGhvbiBydW50aW1lX21hcHBpbmdfcmVuYW1lICgp
IHsKZGVmIHJ1bnRpbWVfbWFwcGluZ19yZW5hbWUgKHZhcm5hbWUsIGQpOgoJI2JiLm5vdGUoIiVz
IGJlZm9yZTogJXMiICUgKHZhcm5hbWUsIGQuZ2V0VmFyKHZhcm5hbWUsIFRydWUpKSkKCgluZXdf
ZGVwZW5kcyA9IFtdCglkZXBzID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMoZC5nZXRW
YXIodmFybmFtZSwgVHJ1ZSkgb3IgIiIpCglmb3IgZGVwZW5kIGluIGRlcHM6CgkJIyBIYXZlIHRv
IGJlIGNhcmVmdWwgd2l0aCBhbnkgdmVyc2lvbiBjb21wb25lbnQgb2YgdGhlIGRlcGVuZAoJCW5l
d19kZXBlbmQgPSBnZXRfcGFja2FnZV9tYXBwaW5nKGRlcGVuZCwgZCkKCQlpZiBkZXBzW2RlcGVu
ZF06CgkJCW5ld19kZXBlbmRzLmFwcGVuZCgiJXMgKCVzKSIgJSAobmV3X2RlcGVuZCwgZGVwc1tk
ZXBlbmRdKSkKCQllbHNlOgoJCQluZXdfZGVwZW5kcy5hcHBlbmQobmV3X2RlcGVuZCkKCglkLnNl
dFZhcih2YXJuYW1lLCAiICIuam9pbihuZXdfZGVwZW5kcykgb3IgTm9uZSkKCgkjYmIubm90ZSgi
JXMgYWZ0ZXI6ICVzIiAlICh2YXJuYW1lLCBkLmdldFZhcih2YXJuYW1lLCBUcnVlKSkpCn0KCgpw
eXRob24gc3BsaXRfYW5kX3N0cmlwX2ZpbGVzICgpIHsKCWltcG9ydCBjb21tYW5kcywgc3RhdCwg
ZXJybm8KCglkdmFyID0gZC5nZXRWYXIoJ1BLR0QnLCBUcnVlKQoJcG4gPSBkLmdldFZhcignUE4n
LCBUcnVlKQoKCSMgV2UgZGVmYXVsdCB0byAnLmRlYnVnJyBzdHlsZQoJaWYgZC5nZXRWYXIoJ1BB
Q0tBR0VfREVCVUdfU1BMSVRfU1RZTEUnLCBUcnVlKSA9PSAnZGVidWctZmlsZS1kaXJlY3Rvcnkn
OgoJCSMgU2luZ2xlIGRlYnVnLWZpbGUtZGlyZWN0b3J5IHN0eWxlIGRlYnVnIGluZm8KCQlkZWJ1
Z2FwcGVuZCA9ICIuZGVidWciCgkJZGVidWdkaXIgPSAiIgoJCWRlYnVnbGliZGlyID0gIi91c3Iv
bGliL2RlYnVnIgoJCWRlYnVnc3JjZGlyID0gIi91c3Ivc3JjL2RlYnVnIgoJZWxzZToKCQkjIE9y
aWdpbmFsIE9FLWNvcmUsIGEuay5hLiAiLmRlYnVnIiwgc3R5bGUgZGVidWcgaW5mbwoJCWRlYnVn
YXBwZW5kID0gIiIKCQlkZWJ1Z2RpciA9ICIvLmRlYnVnIgoJCWRlYnVnbGliZGlyID0gIiIKCQlk
ZWJ1Z3NyY2RpciA9ICIvdXNyL3NyYy9kZWJ1ZyIKCglvcy5jaGRpcihkdmFyKQoKCSMgUmV0dXJu
IHR5cGUgKGJpdHMpOgoJIyAwIC0gbm90IGVsZgoJIyAxIC0gRUxGCgkjIDIgLSBzdHJpcHBlZAoJ
IyA0IC0gZXhlY3V0YWJsZQoJIyA4IC0gc2hhcmVkIGxpYnJhcnkKCWRlZiBpc0VMRihwYXRoKToK
CQl0eXBlID0gMAoJCXBhdGhwcmVmaXggPSAiZXhwb3J0IFBBVEg9JXM7ICIgJSBkLmdldFZhcign
UEFUSCcsIFRydWUpCgkJcmV0LCByZXN1bHQgPSBjb21tYW5kcy5nZXRzdGF0dXNvdXRwdXQoIiVz
ZmlsZSAnJXMnIiAlIChwYXRocHJlZml4LCBwYXRoKSkKCgkJaWYgcmV0OgoJCQliYi5lcnJvcigi
c3BsaXRfYW5kX3N0cmlwX2ZpbGVzOiAnZmlsZSAlcycgZmFpbGVkIiAlIHBhdGgpCgkJCXJldHVy
biB0eXBlCgoJCSMgTm90IHN0cmlwcGVkCgkJaWYgIkVMRiIgaW4gcmVzdWx0OgoJCQl0eXBlIHw9
IDEKCQkJaWYgIm5vdCBzdHJpcHBlZCIgbm90IGluIHJlc3VsdDoKCQkJCXR5cGUgfD0gMgoJCQlp
ZiAiZXhlY3V0YWJsZSIgaW4gcmVzdWx0OgoJCQkJdHlwZSB8PSA0CgkJCWlmICJzaGFyZWQiIGlu
IHJlc3VsdDoKCQkJCXR5cGUgfD0gOAoJCXJldHVybiB0eXBlCgoKCSMKCSMgRmlyc3QgbGV0cyBm
aWd1cmUgb3V0IGFsbCBvZiB0aGUgZmlsZXMgd2UgbWF5IGhhdmUgdG8gcHJvY2VzcyAuLi4gZG8g
dGhpcyBvbmx5IG9uY2UhCgkjCglmaWxlX2xpc3QgPSB7fQoJZmlsZV9saW5rcyA9IHt9CglpZiAo
ZC5nZXRWYXIoJ0lOSElCSVRfUEFDS0FHRV9ERUJVR19TUExJVCcsIFRydWUpICE9ICcxJykgYW5k
IFwKCSAgIChkLmdldFZhcignSU5ISUJJVF9QQUNLQUdFX1NUUklQJywgVHJ1ZSkgIT0gJzEnKToK
CQlmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhkdmFyKToKCQkJZm9yIGYgaW4gZmls
ZXM6CgkJCQlmaWxlID0gb3MucGF0aC5qb2luKHJvb3QsIGYpCgkJCQkjIE9ubHkgcHJvY2VzcyBm
aWxlcyAoYW5kIHN5bWxpbmtzKS4uLiBTa2lwIGZpbGVzIHRoYXQgYXJlIG9idmlvdXNseSBkZWJ1
ZyBmaWxlcwoJCQkJaWYgbm90IChkZWJ1Z2FwcGVuZCAhPSAiIiBhbmQgZmlsZS5lbmRzd2l0aChk
ZWJ1Z2FwcGVuZCkpIGFuZCBcCgkJCQkgICBub3QgKGRlYnVnZGlyICE9ICIiIGFuZCBkZWJ1Z2Rp
ciBpbiBvcy5wYXRoLmRpcm5hbWUoZmlsZVtsZW4oZHZhcik6XSkpIGFuZCBcCgkJCQkgICBvcy5w
YXRoLmlzZmlsZShmaWxlKToKCQkJCQl0cnk6CgkJCQkJCXMgPSBvcy5zdGF0KGZpbGUpCgkJCQkJ
ZXhjZXB0IE9TRXJyb3IsIChlcnIsIHN0cmVycm9yKToKCQkJCQkJaWYgZXJyICE9IGVycm5vLkVO
T0VOVDoKCQkJCQkJCXJhaXNlCgkJCQkJCSMgU2tpcCBicm9rZW4gc3ltbGlua3MKCQkJCQkJY29u
dGludWUKCQkJCQkjIElzIHRoZSBpdGVtIGV4Y3V0YWJsZT8gIFRoZW4gd2UgbmVlZCB0byBwcm9j
ZXNzIGl0LgoJCQkJCWlmIChzW3N0YXQuU1RfTU9ERV0gJiBzdGF0LlNfSVhVU1IpIG9yIFwKCQkJ
CQkgICAoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lYR1JQKSBvciBcCgkJCQkJICAgKHNbc3Rh
dC5TVF9NT0RFXSAmIHN0YXQuU19JWE9USCk6CgkJCQkJCSMgSWYgaXQncyBhIHN5bWxpbmssIGFu
ZCBwb2ludHMgdG8gYW4gRUxGIGZpbGUsIHdlIGNhcHR1cmUgdGhlIHJlYWRsaW5rIHRhcmdldAoJ
CQkJCQlpZiBvcy5wYXRoLmlzbGluayhmaWxlKToKCQkJCQkJCXRhcmdldCA9IG9zLnJlYWRsaW5r
KGZpbGUpCgkJCQkJCQlpZiBub3Qgb3MucGF0aC5pc2Ficyh0YXJnZXQpOgoJCQkJCQkJCWx0YXJn
ZXQgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGZpbGUpLCB0YXJnZXQpCgkJCQkJCQll
bHNlOgoJCQkJCQkJCWx0YXJnZXQgPSB0YXJnZXQKCgkJCQkJCQlpZiBpc0VMRihsdGFyZ2V0KToK
CQkJCQkJCQkjYmIubm90ZSgiU3ltOiAlcyAoJWQpIiAlIChsdGFyZ2V0LCBpc0VMRihsdGFyZ2V0
KSkpCgkJCQkJCQkJZmlsZV9saXN0W2ZpbGVdID0gInN5bTogIiArIHRhcmdldAoJCQkJCQkJY29u
dGludWUKCQkJCQkJIyBJdCdzIGEgZmlsZSAob3IgaGFyZGxpbmspLCBub3QgYSBsaW5rCgkJCQkJ
CSMgLi4uYnV0IGlzIGl0IEVMRiwgYW5kIGlzIGl0IGFscmVhZHkgc3RyaXBwZWQ/CgkJCQkJCWVs
Zl9maWxlID0gaXNFTEYoZmlsZSkKCQkJCQkJaWYgZWxmX2ZpbGUgJiAxOgoJCQkJCQkJIyBDaGVj
ayBpZiBpdCdzIGEgaGFyZCBsaW5rIHRvIHNvbWV0aGluZyBlbHNlCgkJCQkJCQlpZiBzLnN0X25s
aW5rID4gMToKCQkJCQkJCQlmaWxlX3JlZmVyZW5jZSA9ICIlZF8lZCIgJSAocy5zdF9kZXYsIHMu
c3RfaW5vKQoJCQkJCQkJCSMgSGFyZCBsaW5rIHRvIHNvbWV0aGluZyBlbHNlCgkJCQkJCQkJZmls
ZV9saXN0W2ZpbGVdID0gImhhcmQ6ICIgKyBmaWxlX3JlZmVyZW5jZQoJCQkJCQkJCWNvbnRpbnVl
CgoJCQkJCQkJZmlsZV9saXN0W2ZpbGVdID0gIkVMRjogJWQiICUgZWxmX2ZpbGUKCgoJIwoJIyBG
aXJzdCBsZXRzIHByb2Nlc3MgZGVidWcgc3BsaXR0aW5nCgkjCglpZiAoZC5nZXRWYXIoJ0lOSElC
SVRfUEFDS0FHRV9ERUJVR19TUExJVCcsIFRydWUpICE9ICcxJyk6CgkJZm9yIGZpbGUgaW4gZmls
ZV9saXN0OgoJCQlzcmMgPSBmaWxlW2xlbihkdmFyKTpdCgkJCWRlc3QgPSBkZWJ1Z2xpYmRpciAr
IG9zLnBhdGguZGlybmFtZShzcmMpICsgZGVidWdkaXIgKyAiLyIgKyBvcy5wYXRoLmJhc2VuYW1l
KHNyYykgKyBkZWJ1Z2FwcGVuZAoJCQlmcGF0aCA9IGR2YXIgKyBkZXN0CgkJCSMgUHJlc2VydmUg
c3ltbGlua3MgaW4gZGVidWcgYXJlYS4uLgoJCQlpZiBmaWxlX2xpc3RbZmlsZV0uc3RhcnRzd2l0
aCgic3ltOiAiKToKCQkJCWx0YXJnZXQgPSBmaWxlX2xpc3RbZmlsZV1bNTpdCgkJCQlscGF0aCA9
IG9zLnBhdGguZGlybmFtZShsdGFyZ2V0KQoJCQkJbGJhc2UgPSBvcy5wYXRoLmJhc2VuYW1lKGx0
YXJnZXQpCgkJCQlmdGFyZ2V0ID0gIiIKCQkJCWlmIGxwYXRoIGFuZCBscGF0aCAhPSAiLiI6CgkJ
CQkJZnRhcmdldCArPSBscGF0aCArIGRlYnVnZGlyICsgIi8iCgkJCQlmdGFyZ2V0ICs9IGxiYXNl
ICsgZGVidWdhcHBlbmQKCQkJCWlmIGxwYXRoLnN0YXJ0c3dpdGgoIi4uIik6CgkJCQkJZnRhcmdl
dCA9IG9zLnBhdGguam9pbigiLi4iLCBmdGFyZ2V0KQoJCQkJYmIubWtkaXJoaWVyKG9zLnBhdGgu
ZGlybmFtZShmcGF0aCkpCgkJCQkjYmIubm90ZSgiU3ltbGluayAlcyAtPiAlcyIgJSAoZnBhdGgs
IGZ0YXJnZXQpKQoJCQkJb3Muc3ltbGluayhmdGFyZ2V0LCBmcGF0aCkKCQkJCWNvbnRpbnVlCgoJ
CQkjIFByZXNlcnZlIGhhcmQgbGlua3MgaW4gZGVidWcgYXJlYS4uLgoJCQlmaWxlX3JlZmVyZW5j
ZSA9ICIiCgkJCWlmIGZpbGVfbGlzdFtmaWxlXS5zdGFydHN3aXRoKCJoYXJkOiAiKToKCQkJCWZp
bGVfcmVmZXJlbmNlID0gZmlsZV9saXN0W2ZpbGVdWzY6XQoJCQkJaWYgZmlsZV9yZWZlcmVuY2Ug
bm90IGluIGZpbGVfbGlua3M6CgkJCQkJIyBJZiB0aGlzIGlzIGEgbmV3IGZpbGUsIGFkZCBpdCBh
cyBhIHJlZmVyZW5jZSwgYW5kCgkJCQkJIyB1cGRhdGUgaXQncyB0eXBlLCBzbyB3ZSBjYW4gZmFs
bCB0aHJvdWdoIGFuZCBzcGxpdAoJCQkJCWZpbGVfbGlzdFtmaWxlXSA9ICJFTEY6ICVkIiAlIChp
c0VMRihmaWxlKSkKCQkJCWVsc2U6CgkJCQkJdGFyZ2V0ID0gZmlsZV9saW5rc1tmaWxlX3JlZmVy
ZW5jZV1bbGVuKGR2YXIpOl0KCQkJCQlmdGFyZ2V0ID0gZHZhciArIGRlYnVnbGliZGlyICsgb3Mu
cGF0aC5kaXJuYW1lKHRhcmdldCkgKyBkZWJ1Z2RpciArICIvIiArIG9zLnBhdGguYmFzZW5hbWUo
dGFyZ2V0KSArIGRlYnVnYXBwZW5kCgkJCQkJYmIubWtkaXJoaWVyKG9zLnBhdGguZGlybmFtZShm
cGF0aCkpCgkJCQkJI2JiLm5vdGUoIkxpbmsgJXMgLT4gJXMiICUgKGZwYXRoLCBmdGFyZ2V0KSkK
CQkJCQlvcy5saW5rKGZ0YXJnZXQsIGZwYXRoKQoJCQkJCWNvbnRpbnVlCgoJCQkjIEl0J3MgRUxG
Li4uCgkJCWlmIGZpbGVfbGlzdFtmaWxlXS5zdGFydHN3aXRoKCJFTEY6ICIpOgoJCQkJZWxmX2Zp
bGUgPSBpbnQoZmlsZV9saXN0W2ZpbGVdWzU6XSkKCQkJCWlmIGVsZl9maWxlICYgMjoKCQkJCQli
Yi53YXJuKCJGaWxlICclcycgZnJvbSAlcyB3YXMgYWxyZWFkeSBzdHJpcHBlZCwgdGhpcyB3aWxs
IHByZXZlbnQgZnV0dXJlIGRlYnVnZ2luZyEiICUgKHNyYywgcG4pKQoJCQkJCWNvbnRpbnVlCgoJ
CQkJIyBTcGxpdCB0aGUgZmlsZS4uLgoJCQkJYmIubWtkaXJoaWVyKG9zLnBhdGguZGlybmFtZShm
cGF0aCkpCgkJCQkjYmIubm90ZSgiU3BsaXQgJXMgLT4gJXMiICUgKGZpbGUsIGZwYXRoKSkKCQkJ
CSMgT25seSBzdG9yZSBvZmYgdGhlIGhhcmQgbGluayByZWZlcmVuY2UgaWYgd2Ugc3VjY2Vzc2Z1
bGx5IHNwbGl0IQoJCQkJaWYgc3BsaXRmaWxlKGZpbGUsIGZwYXRoLCBkZWJ1Z3NyY2RpciwgZCkg
PT0gMCBhbmQgZmlsZV9yZWZlcmVuY2UgIT0gIiI6CgkJCQkJZmlsZV9saW5rc1tmaWxlX3JlZmVy
ZW5jZV0gPSBmaWxlCgoJCSMgVGhlIGFib3ZlIG1heSBoYXZlIGdlbmVyYXRlZCBkYW5nbGluZyBz
eW1saW5rcywgcmVtb3ZlIHRoZW0hCgkJIyBEYW5nbGluZyBzeW1saW5rcyBhcmUgYSByZXN1bHQg
b2Ygc29tZXRoaW5nIE5PVCBiZWluZyBzcGxpdCwgc3VjaCBhcyBhIHN0cmlwcGVkIGJpbmFyeS4K
CQkjIFRoaXMgc2hvdWxkIGJlIGEgcmFyZSBvY2N1cmFuY2UsIGJ1dCB3ZSB3YW50IHRvIGNsZWFu
IHVwIGFueXdheS4KCQlmb3IgZmlsZSBpbiBmaWxlX2xpc3Q6CgkJCWlmIGZpbGVfbGlzdFtmaWxl
XS5zdGFydHN3aXRoKCJzeW06ICIpOgoJCQkJc3JjID0gZmlsZVtsZW4oZHZhcik6XQoJCQkJZGVz
dCA9IGRlYnVnbGliZGlyICsgb3MucGF0aC5kaXJuYW1lKHNyYykgKyBkZWJ1Z2RpciArICIvIiAr
IG9zLnBhdGguYmFzZW5hbWUoc3JjKSArIGRlYnVnYXBwZW5kCgkJCQlmcGF0aCA9IGR2YXIgKyBk
ZXN0CgkJCQl0cnk6CgkJCQkJcyA9IG9zLnN0YXQoZnBhdGgpCgkJCQlleGNlcHQgT1NFcnJvciwg
KGVyciwgc3RyZXJyb3IpOgoJCQkJCWlmIGVyciAhPSBlcnJuby5FTk9FTlQ6CgkJCQkJCXJhaXNl
CgkJCQkJI2JiLm5vdGUoIlJlbW92ZSBkYW5nbGluZyBsaW5rICVzIC0+ICVzIiAlIChmcGF0aCwg
b3MucmVhZGxpbmsoZnBhdGgpKSkKCQkJCQlvcy51bmxpbmsoZnBhdGgpCgkJCQkJIyBUaGlzIGNv
dWxkIGxlYXZlIGFuIGVtcHR5IGRlYnVnIGRpcmVjdG9yeSBsYXlpbmcgYXJvdW5kCgkJCQkJIyB0
YWtlIGNhcmUgb2YgdGhlIG9idmlvdXMgY2FzZS4uLgoJCQkJCW9zLnN5c3RlbSgicm1kaXIgJXMg
Mj4vZGV2L251bGwiICUgb3MucGF0aC5kaXJuYW1lKGZwYXRoKSkKCgkJIyBQcm9jZXNzIHRoZSBk
ZWJ1Z3NyY2RpciBpZiByZXF1ZXN0ZWQuLi4KCQkjIFRoaXMgY29waWVzIGFuZCBwbGFjZXMgdGhl
IHJlZmVyZW5jZWQgc291cmNlcyBmb3IgbGF0ZXIgZGVidWdnaW5nLi4uCgkJc3BsaXRmaWxlMihk
ZWJ1Z3NyY2RpciwgZCkKCSMKCSMgRW5kIG9mIGRlYnVnIHNwbGl0dGluZwoJIwoKCSMKCSMgTm93
IGxldHMgZ28gYmFjayBvdmVyIHRoaW5ncyBhbmQgc3RyaXAgdGhlbQoJIwoJaWYgKGQuZ2V0VmFy
KCdJTkhJQklUX1BBQ0tBR0VfU1RSSVAnLCBUcnVlKSAhPSAnMScpOgoJCWZvciBmaWxlIGluIGZp
bGVfbGlzdDoKCQkJaWYgZmlsZV9saXN0W2ZpbGVdLnN0YXJ0c3dpdGgoIkVMRjogIik6CgkJCQll
bGZfZmlsZSA9IGludChmaWxlX2xpc3RbZmlsZV1bNTpdKQoJCQkJI2JiLm5vdGUoIlN0cmlwICVz
IiAlIGZpbGUpCgkJCQlydW5zdHJpcChmaWxlLCBlbGZfZmlsZSwgZCkKCgoJaWYgKGQuZ2V0VmFy
KCdJTkhJQklUX1BBQ0tBR0VfU1RSSVAnLCBUcnVlKSAhPSAnMScpOgoJCWZvciByb290LCBkaXJz
LCBmaWxlcyBpbiBvcy53YWxrKGR2YXIpOgoJCQlmb3IgZiBpbiBmaWxlczoKCQkJCWlmIG5vdCBm
LmVuZHN3aXRoKCIua28iKToKCQkJCQljb250aW51ZQoJCQkJcnVuc3RyaXAob3MucGF0aC5qb2lu
KHJvb3QsIGYpLCBOb25lLCBkKQoJIwoJIyBFbmQgb2Ygc3RyaXAKCSMKfQoKCnB5dGhvbiBwYXRj
aF9kb19wYXRjaCAoKSB7CglpbXBvcnQgb2UucGF0Y2gKCglwYXRjaHNldG1hcCA9IHsKCQkicGF0
Y2giOiBvZS5wYXRjaC5QYXRjaFRyZWUsCgkJInF1aWx0Ijogb2UucGF0Y2guUXVpbHRUcmVlLAoJ
CSJnaXQiOiBvZS5wYXRjaC5HaXRBcHBseVRyZWUsCgl9CgoJY2xzID0gcGF0Y2hzZXRtYXBbZC5n
ZXRWYXIoJ1BBVENIVE9PTCcsIFRydWUpIG9yICdxdWlsdCddCgoJcmVzb2x2ZXJtYXAgPSB7CgkJ
Im5vb3AiOiBvZS5wYXRjaC5OT09QUmVzb2x2ZXIsCgkJInVzZXIiOiBvZS5wYXRjaC5Vc2VyUmVz
b2x2ZXIsCgl9CgoJcmNscyA9IHJlc29sdmVybWFwW2QuZ2V0VmFyKCdQQVRDSFJFU09MVkUnLCBU
cnVlKSBvciAndXNlciddCgoJY2xhc3NlcyA9IHt9CgoJcyA9IGQuZ2V0VmFyKCdTJywgVHJ1ZSkK
CglwYXRoID0gb3MuZ2V0ZW52KCdQQVRIJykKCW9zLnB1dGVudignUEFUSCcsIGQuZ2V0VmFyKCdQ
QVRIJywgVHJ1ZSkpCgoJZm9yIHBhdGNoIGluIHNyY19wYXRjaGVzKGQpOgoJCV8sIF8sIGxvY2Fs
LCBfLCBfLCBwYXJtID0gYmIuZGVjb2RldXJsKHBhdGNoKQoKCQlpZiAicGF0Y2hkaXIiIGluIHBh
cm06CgkJCXBhdGNoZGlyID0gcGFybVsicGF0Y2hkaXIiXQoJCQlpZiBub3Qgb3MucGF0aC5pc2Fi
cyhwYXRjaGRpcik6CgkJCQlwYXRjaGRpciA9IG9zLnBhdGguam9pbihzLCBwYXRjaGRpcikKCQll
bHNlOgoJCQlwYXRjaGRpciA9IHMKCgkJaWYgbm90IHBhdGNoZGlyIGluIGNsYXNzZXM6CgkJCXBh
dGNoc2V0ID0gY2xzKHBhdGNoZGlyLCBkKQoJCQlyZXNvbHZlciA9IHJjbHMocGF0Y2hzZXQsIG9l
X3Rlcm1pbmFsKQoJCQljbGFzc2VzW3BhdGNoZGlyXSA9IChwYXRjaHNldCwgcmVzb2x2ZXIpCgkJ
CXBhdGNoc2V0LkNsZWFuKCkKCQllbHNlOgoJCQlwYXRjaHNldCwgcmVzb2x2ZXIgPSBjbGFzc2Vz
W3BhdGNoZGlyXQoKCQliYi5ub3RlKCJBcHBseWluZyBwYXRjaCAnJXMnICglcykiICUgKHBhcm1b
J3BhdGNobmFtZSddLCBvZS5wYXRoLmZvcm1hdF9kaXNwbGF5KGxvY2FsLCBkKSkpCgkJdHJ5OgoJ
CQlwYXRjaHNldC5JbXBvcnQoeyJmaWxlIjpsb2NhbCwgInN0cmlwcGF0aCI6IHBhcm1bJ3N0cmlw
bGV2ZWwnXX0sIFRydWUpCgkJZXhjZXB0IEV4Y2VwdGlvbiBhcyBleGM6CgkJCWJiLmZhdGFsKHN0
cihleGMpKQoJCXRyeToKCQkJcmVzb2x2ZXIuUmVzb2x2ZSgpCgkJZXhjZXB0IGJiLkJCSGFuZGxl
ZEV4Y2VwdGlvbiBhcyBlOgoJCQliYi5mYXRhbChzdHIoZSkpCn0KCgpweXRob24gcGtnYXJjaF9t
YXBwaW5nICgpIHsKZGVmIHBrZ2FyY2hfbWFwcGluZyhkKToKICAgICMgQ29tcGF0aWJpbGl0eSBt
YXBwaW5ncyBvZiBUVU5FX1BLR0FSQ0ggKG9wdCBpbikKICAgIGlmIGQuZ2V0VmFyKCJQS0dBUkNI
Q09NUEFUX0FSTVY3QSIsIFRydWUpOgogICAgICAgIGlmIGQuZ2V0VmFyKCJUVU5FX1BLR0FSQ0gi
LCBUcnVlKSA9PSAiYXJtdjdhLXZmcC1uZW9uIjoKICAgICAgICAgICAgZC5zZXRWYXIoIlRVTkVf
UEtHQVJDSCIsICJhcm12N2EiKQp9CgoKcHl0aG9uIGV4cGxvZGVfZGVwcyAoKSB7CmRlZiBleHBs
b2RlX2RlcHMocyk6CglyZXR1cm4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKHMpCn0KCgpweXRob24g
cGFja2FnZV9xYV9jaGVja19ycGF0aCAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX3JwYXRoKGZp
bGUsbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIGZvciBkYW5nZXJv
dXMgUlBBVEhzCiAgICAiIiIKICAgIGlmIG5vdCBlbGY6CiAgICAgICAgcmV0dXJuCgogICAgc2Nh
bmVsZiA9IG9zLnBhdGguam9pbihkLmdldFZhcignU1RBR0lOR19CSU5ESVJfTkFUSVZFJyxUcnVl
KSwnc2NhbmVsZicpCiAgICBiYWRfZGlycyA9IFtkLmdldFZhcignVE1QRElSJywgVHJ1ZSkgKyAi
L3dvcmsiLCBkLmdldFZhcignU1RBR0lOR19ESVJfVEFSR0VUJywgVHJ1ZSldCiAgICBiYWRfZGly
X3Rlc3QgPSBkLmdldFZhcignVE1QRElSJywgVHJ1ZSkKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0
cyhzY2FuZWxmKToKICAgICAgICBiYi5mYXRhbCgiQ2FuIG5vdCBjaGVjayBSUEFUSCwgc2NhbmVs
ZiAocGFydCBvZiBwYXgtdXRpbHMtbmF0aXZlKSBub3QgZm91bmQiKQoKICAgIGlmIG5vdCBiYWRf
ZGlyc1swXSBpbiBkLmdldFZhcignV09SS0RJUicsIFRydWUpOgogICAgICAgIGJiLmZhdGFsKCJU
aGlzIGNsYXNzIGFzc3VtZWQgdGhhdCBXT1JLRElSIGlzIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsuLi4gTm90IGRvaW5nIGFueSBjaGVjayIpCgogICAgb3V0cHV0
ID0gb3MucG9wZW4oIiVzIC1CIC1GJSVyI0YgJyVzJyIgJSAoc2NhbmVsZixmaWxlKSkKICAgIHR4
dCAgICA9IG91dHB1dC5yZWFkbGluZSgpLnNwbGl0KCkKICAgIGZvciBsaW5lIGluIHR4dDoKICAg
ICAgICBmb3IgZGlyIGluIGJhZF9kaXJzOgogICAgICAgICAgICBpZiBkaXIgaW4gbGluZToKICAg
ICAgICAgICAgICAgIG1lc3NhZ2VzLmFwcGVuZCgicGFja2FnZSAlcyBjb250YWlucyBiYWQgUlBB
VEggJXMgaW4gZmlsZSAlcyIgJSAobmFtZSwgbGluZSwgZmlsZSkpCn0KCgpweXRob24gcGFja2Fn
ZV9xYV9jaGVja191bnNhZmVfcmVmZXJlbmNlc19pbl9zY3JpcHRzICgpIHsKZGVmIHBhY2thZ2Vf
cWFfY2hlY2tfdW5zYWZlX3JlZmVyZW5jZXNfaW5fc2NyaXB0cyhwYXRoLCBuYW1lLCBkLCBlbGYs
IG1lc3NhZ2VzKToKCSIiIgoJV2FybiBpZiBzY3JpcHRzIGluIGJhc2VfW2JpbmRpcnxzYmluZGly
fGxpYmRpcl0gcmVmZXJlbmNlIGZpbGVzIHVuZGVyIGV4ZWNfcHJlZml4CgkiIiIKCWlmIHVuc2Fm
ZV9yZWZlcmVuY2VzX3NraXBwYWJsZShwYXRoLCBuYW1lLCBkKToKCQlyZXR1cm4KCglpZiBub3Qg
ZWxmOgoJCWltcG9ydCBzdGF0CgkJcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQoKCQkjIEVuc3Vy
ZSB3ZSdyZSBjaGVja2luZyBhbiBleGVjdXRhYmxlIHNjcmlwdAoJCXN0YXRpbmZvID0gb3Muc3Rh
dChwYXRoKQoJCWlmIGJvb2woc3RhdGluZm8uc3RfbW9kZSAmIHN0YXQuU19JWFVTUik6CgkJCSMg
Z3JlcCBzaGVsbCBzY3JpcHRzIGZvciBwb3NzaWJsZSByZWZlcmVuY2VzIHRvIC9leGVjX3ByZWZp
eC8KCQkJZXhlY19wcmVmaXggPSBkLmdldFZhcignZXhlY19wcmVmaXgnLCBUcnVlKQoJCQlzdGF0
ZW1lbnQgPSAiZ3JlcCAtZSAnJXMvJyAlcyA+IC9kZXYvbnVsbCIgJSAoZXhlY19wcmVmaXgsIHBh
dGgpCgkJCWlmIG9zLnN5c3RlbShzdGF0ZW1lbnQpID09IDA6CgkJCQllcnJvcl9tc2cgPSBwbiAr
ICI6IEZvdW5kIGEgcmVmZXJlbmNlIHRvICVzLyBpbiAlcyIgJSAoZXhlY19wcmVmaXgsIHBhdGgp
CgkJCQlwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigidW5zYWZlLXJlZmVyZW5jZXMtaW4tc2NyaXB0
cyIsIGVycm9yX21zZywgZCkKCQkJCWVycm9yX21zZyA9ICJTaGVsbCBzY3JpcHRzIGluIGJhc2Vf
YmluZGlyIGFuZCBiYXNlX3NiaW5kaXIgc2hvdWxkIG5vdCByZWZlcmVuY2UgYW55dGhpbmcgaW4g
ZXhlY19wcmVmaXgiCgkJCQlwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigidW5zYWZlLXJlZmVyZW5j
ZXMtaW4tc2NyaXB0cyIsIGVycm9yX21zZywgZCkKfQoKCnB5dGhvbiBwZXJmb3JtX3BhY2thZ2Vj
b3B5ICgpIHsKCWRlc3QgPSBkLmdldFZhcignRCcsIFRydWUpCglkdmFyID0gZC5nZXRWYXIoJ1BL
R0QnLCBUcnVlKQoKCWJiLm1rZGlyaGllcihkdmFyKQoKCSMgU3RhcnQgYnkgcGFja2FnZSBwb3B1
bGF0aW9uIGJ5IHRha2luZyBhIGNvcHkgb2YgdGhlIGluc3RhbGxlZAoJIyBmaWxlcyB0byBvcGVy
YXRlIG9uCglvcy5zeXN0ZW0oJ3JtIC1yZiAlcy8qJyAlIChkdmFyKSkKCSMgUHJlc2VydmUgc3Bh
cnNlIGZpbGVzIGFuZCBoYXJkIGxpbmtzCglvcy5zeXN0ZW0oJ3RhciAtY2YgLSAtQyAlcyAtcHMg
LiB8IHRhciAteGYgLSAtQyAlcycgJSAoZGVzdCwgZHZhcikpCn0KCgpweXRob24gcGFja2FnZV9k
ZXBjaGFpbnMgKCkgewoJIiIiCglGb3IgYSBnaXZlbiBzZXQgb2YgcHJlZml4IGFuZCBwb3N0Zml4
IG1vZGlmaWVycywgbWFrZSB0aG9zZSBwYWNrYWdlcwoJUlJFQ09NTUVORFMgb24gdGhlIGNvcnJl
c3BvbmRpbmcgcGFja2FnZXMgZm9yIGl0cyBSREVQRU5EUy4KCglFeGFtcGxlOiAgSWYgcGFja2Fn
ZSBBIGRlcGVuZHMgdXBvbiBwYWNrYWdlIEIsIGFuZCBBJ3MgLmJiIGVtaXRzIGFuCglBLWRldiBw
YWNrYWdlLCB0aGlzIHdvdWxkIG1ha2UgQS1kZXYgUmVjb21tZW5kczogQi1kZXYuCgoJSWYgb25s
eSBvbmUgb2YgYSBnaXZlbiBzdWZmaXggaXMgc3BlY2lmaWVkLCBpdCB3aWxsIHRha2UgdGhlIFJS
RUNPTU1FTkRTCgliYXNlZCBvbiB0aGUgUkRFUEVORFMgb2YgKmFsbCogb3RoZXIgcGFja2FnZXMu
IElmIG1vcmUgdGhhbiBvbmUgb2YgYSBnaXZlbgoJc3VmZml4IGlzIHNwZWNpZmllZCwgaXRzIHdp
bGwgb25seSB1c2UgdGhlIFJERVBFTkRTIG9mIHRoZSBzaW5nbGUgcGFyZW50CglwYWNrYWdlLgoJ
IiIiCgoJcGFja2FnZXMgID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSkKCXBvc3RmaXhlcyA9
IChkLmdldFZhcignREVQQ0hBSU5fUE9TVCcsIFRydWUpIG9yICcnKS5zcGxpdCgpCglwcmVmaXhl
cyAgPSAoZC5nZXRWYXIoJ0RFUENIQUlOX1BSRScsIFRydWUpIG9yICcnKS5zcGxpdCgpCgoJZGVm
IHBrZ19hZGRkZXBycmVjcyhwa2csIGJhc2UsIHN1ZmZpeCwgZ2V0bmFtZSwgZGVwZW5kcywgZCk6
CgoJCSNiYi5ub3RlKCdkZXBlbmRzIGZvciAlcyBpcyAlcycgJSAoYmFzZSwgZGVwZW5kcykpCgkJ
cnJlY2xpc3QgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9ucyhkLmdldFZhcignUlJFQ09N
TUVORFNfJyArIHBrZywgVHJ1ZSkgb3IgZC5nZXRWYXIoJ1JSRUNPTU1FTkRTJywgVHJ1ZSkgb3Ig
IiIpCgoJCWZvciBkZXBlbmQgaW4gZGVwZW5kczoKCQkJaWYgZGVwZW5kLmZpbmQoJy1uYXRpdmUn
KSAhPSAtMSBvciBkZXBlbmQuZmluZCgnLWNyb3NzJykgIT0gLTEgb3IgZGVwZW5kLnN0YXJ0c3dp
dGgoJ3ZpcnR1YWwvJyk6CgkJCQkjYmIubm90ZSgiU2tpcHBpbmcgJXMiICUgZGVwZW5kKQoJCQkJ
Y29udGludWUKCQkJaWYgZGVwZW5kLmVuZHN3aXRoKCctZGV2Jyk6CgkJCQlkZXBlbmQgPSBkZXBl
bmQucmVwbGFjZSgnLWRldicsICcnKQoJCQlpZiBkZXBlbmQuZW5kc3dpdGgoJy1kYmcnKToKCQkJ
CWRlcGVuZCA9IGRlcGVuZC5yZXBsYWNlKCctZGJnJywgJycpCgkJCXBrZ25hbWUgPSBnZXRuYW1l
KGRlcGVuZCwgc3VmZml4KQoJCQkjYmIubm90ZSgiQWRkaW5nICVzIGZvciAlcyIgJSAocGtnbmFt
ZSwgZGVwZW5kKSkKCQkJaWYgcGtnbmFtZSBub3QgaW4gcnJlY2xpc3Q6CgkJCQlycmVjbGlzdFtw
a2duYW1lXSA9ICIiCgoJCSNiYi5ub3RlKCdzZXR0aW5nOiBSUkVDT01NRU5EU18lcz0lcycgJSAo
cGtnLCAnICcuam9pbihycmVjbGlzdCkpKQoJCWQuc2V0VmFyKCdSUkVDT01NRU5EU18lcycgJSBw
a2csIGJiLnV0aWxzLmpvaW5fZGVwcyhycmVjbGlzdCwgY29tbWFzZXA9RmFsc2UpKQoKCWRlZiBw
a2dfYWRkcnJlY3MocGtnLCBiYXNlLCBzdWZmaXgsIGdldG5hbWUsIHJkZXBlbmRzLCBkKToKCgkJ
I2JiLm5vdGUoJ3JkZXBlbmRzIGZvciAlcyBpcyAlcycgJSAoYmFzZSwgcmRlcGVuZHMpKQoJCXJy
ZWNsaXN0ID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMoZC5nZXRWYXIoJ1JSRUNPTU1F
TkRTXycgKyBwa2csIFRydWUpIG9yIGQuZ2V0VmFyKCdSUkVDT01NRU5EUycsIFRydWUpIG9yICIi
KQoKCQlmb3IgZGVwZW5kIGluIHJkZXBlbmRzOgoJCQlpZiBkZXBlbmQuZmluZCgndmlydHVhbC1s
b2NhbGUtJykgIT0gLTE6CgkJCQkjYmIubm90ZSgiU2tpcHBpbmcgJXMiICUgZGVwZW5kKQoJCQkJ
Y29udGludWUKCQkJaWYgZGVwZW5kLmVuZHN3aXRoKCctZGV2Jyk6CgkJCQlkZXBlbmQgPSBkZXBl
bmQucmVwbGFjZSgnLWRldicsICcnKQoJCQlpZiBkZXBlbmQuZW5kc3dpdGgoJy1kYmcnKToKCQkJ
CWRlcGVuZCA9IGRlcGVuZC5yZXBsYWNlKCctZGJnJywgJycpCgkJCXBrZ25hbWUgPSBnZXRuYW1l
KGRlcGVuZCwgc3VmZml4KQoJCQkjYmIubm90ZSgiQWRkaW5nICVzIGZvciAlcyIgJSAocGtnbmFt
ZSwgZGVwZW5kKSkKCQkJaWYgcGtnbmFtZSBub3QgaW4gcnJlY2xpc3Q6CgkJCQlycmVjbGlzdFtw
a2duYW1lXSA9ICIiCgoJCSNiYi5ub3RlKCdzZXR0aW5nOiBSUkVDT01NRU5EU18lcz0lcycgJSAo
cGtnLCAnICcuam9pbihycmVjbGlzdCkpKQoJCWQuc2V0VmFyKCdSUkVDT01NRU5EU18lcycgJSBw
a2csIGJiLnV0aWxzLmpvaW5fZGVwcyhycmVjbGlzdCwgY29tbWFzZXA9RmFsc2UpKQoKCWRlZiBh
ZGRfZGVwKGxpc3QsIGRlcCk6CgkJZGVwID0gZGVwLnNwbGl0KCcgKCcpWzBdLnN0cmlwKCkKCQlp
ZiBkZXAgbm90IGluIGxpc3Q6CgkJCWxpc3QuYXBwZW5kKGRlcCkKCglkZXBlbmRzID0gW10KCWZv
ciBkZXAgaW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFyKCdERVBFTkRTJywgVHJ1ZSkg
b3IgIiIpOgoJCWFkZF9kZXAoZGVwZW5kcywgZGVwKQoKCXJkZXBlbmRzID0gW10KCWZvciBkZXAg
aW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFyKCdSREVQRU5EUycsIFRydWUpIG9yICIi
KToKCQlhZGRfZGVwKHJkZXBlbmRzLCBkZXApCgoJZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgp
OgoJCWZvciBkZXAgaW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFyKCdSREVQRU5EU18n
ICsgcGtnLCBUcnVlKSBvciAiIik6CgkJCWFkZF9kZXAocmRlcGVuZHMsIGRlcCkKCgkjYmIubm90
ZSgncmRlcGVuZHMgaXMgJXMnICUgcmRlcGVuZHMpCgoJZGVmIHBvc3RfZ2V0bmFtZShuYW1lLCBz
dWZmaXgpOgoJCXJldHVybiAnJXMlcycgJSAobmFtZSwgc3VmZml4KQoJZGVmIHByZV9nZXRuYW1l
KG5hbWUsIHN1ZmZpeCk6CgkJcmV0dXJuICclcyVzJyAlIChzdWZmaXgsIG5hbWUpCgoJcGtncyA9
IHt9Cglmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CgkJZm9yIHBvc3RmaXggaW4gcG9zdGZp
eGVzOgoJCQlpZiBwa2cuZW5kc3dpdGgocG9zdGZpeCk6CgkJCQlpZiBub3QgcG9zdGZpeCBpbiBw
a2dzOgoJCQkJCXBrZ3NbcG9zdGZpeF0gPSB7fQoJCQkJcGtnc1twb3N0Zml4XVtwa2ddID0gKHBr
Z1s6LWxlbihwb3N0Zml4KV0sIHBvc3RfZ2V0bmFtZSkKCgkJZm9yIHByZWZpeCBpbiBwcmVmaXhl
czoKCQkJaWYgcGtnLnN0YXJ0c3dpdGgocHJlZml4KToKCQkJCWlmIG5vdCBwcmVmaXggaW4gcGtn
czoKCQkJCQlwa2dzW3ByZWZpeF0gPSB7fQoJCQkJcGtnc1twcmVmaXhdW3BrZ10gPSAocGtnWzot
bGVuKHByZWZpeCldLCBwcmVfZ2V0bmFtZSkKCglmb3Igc3VmZml4IGluIHBrZ3M6CgkJZm9yIHBr
ZyBpbiBwa2dzW3N1ZmZpeF06CgkJCWlmIGQuZ2V0VmFyRmxhZygnUlJFQ09NTUVORFNfJyArIHBr
ZywgJ25vZGVwcnJlY3MnKToKCQkJCWNvbnRpbnVlCgkJCShiYXNlLCBmdW5jKSA9IHBrZ3Nbc3Vm
Zml4XVtwa2ddCgkJCWlmIHN1ZmZpeCA9PSAiLWRldiI6CgkJCQlwa2dfYWRkZGVwcnJlY3MocGtn
LCBiYXNlLCBzdWZmaXgsIGZ1bmMsIGRlcGVuZHMsIGQpCgkJCWlmIGxlbihwa2dzW3N1ZmZpeF0p
ID09IDE6CgkJCQlwa2dfYWRkcnJlY3MocGtnLCBiYXNlLCBzdWZmaXgsIGZ1bmMsIHJkZXBlbmRz
LCBkKQoJCQllbHNlOgoJCQkJcmRlcHMgPSBbXQoJCQkJZm9yIGRlcCBpbiBiYi51dGlscy5leHBs
b2RlX2RlcHMoZC5nZXRWYXIoJ1JERVBFTkRTXycgKyBiYXNlLCBUcnVlKSBvciBkLmdldFZhcign
UkRFUEVORFMnLCBUcnVlKSBvciAiIik6CgkJCQkJYWRkX2RlcChyZGVwcywgZGVwKQoJCQkJcGtn
X2FkZHJyZWNzKHBrZywgYmFzZSwgc3VmZml4LCBmdW5jLCByZGVwcywgZCkKfQoKCnB5dGhvbiBw
YWNrYWdlX21hcHBpbmdfcmVuYW1lX2hvb2sgKCkgewoJIiIiCglSZXdyaXRlIHZhcmlhYmxlcyB0
byBhY2NvdW50IGZvciBwYWNrYWdlIHJlbmFtaW5nIGluIHRoaW5ncwoJbGlrZSBkZWJpYW4uYmJj
bGFzcyBvciBtYW51YWwgUEtHIHZhcmlhYmxlIG5hbWUgY2hhbmdlcwoJIiIiCglydW50aW1lX21h
cHBpbmdfcmVuYW1lKCJSREVQRU5EUyIsIGQpCglydW50aW1lX21hcHBpbmdfcmVuYW1lKCJSUkVD
T01NRU5EUyIsIGQpCglydW50aW1lX21hcHBpbmdfcmVuYW1lKCJSU1VHR0VTVFMiLCBkKQoJcnVu
dGltZV9tYXBwaW5nX3JlbmFtZSgiUlBST1ZJREVTIiwgZCkKCXJ1bnRpbWVfbWFwcGluZ19yZW5h
bWUoIlJSRVBMQUNFUyIsIGQpCglydW50aW1lX21hcHBpbmdfcmVuYW1lKCJSQ09ORkxJQ1RTIiwg
ZCkKfQoKCnB5dGhvbiBzc3RhdGVfdGFza19wb3N0ZnVuYyAoKSB7CiAgICBzaGFyZWRfc3RhdGUg
PSBzc3RhdGVfc3RhdGVfZnJvbXZhcnMoZCkKICAgIHNzdGF0ZV9pbnN0YWxsKHNoYXJlZF9zdGF0
ZSwgZCkKICAgIGZvciBpbnRlcmNlcHQgaW4gc2hhcmVkX3N0YXRlWydpbnRlcmNlcHRmdW5jcydd
OgogICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhpbnRlcmNlcHQsIGQpCiAgICBzc3RhdGVfcGFj
a2FnZShzaGFyZWRfc3RhdGUsIGQpCn0KCgpweXRob24gc3lzcm9vdF9jaGVja2hhc2hlcyAoKSB7
CmRlZiBzeXNyb290X2NoZWNraGFzaGVzKGNvdmVyZWQsIHRhc2tuYW1lcywgZm5pZHMsIGZucywg
ZCk6CiAgICBwcm9ibGVtcyA9IHNldCgpCiAgICBjb25maWd1cmVmbmlkcyA9IHNldCgpCiAgICBm
b3IgdGFzayBpbiB4cmFuZ2UobGVuKHRhc2tuYW1lcykpOgogICAgICAgIGlmIHRhc2tuYW1lc1t0
YXNrXSA9PSAiZG9fY29uZmlndXJlIiBhbmQgdGFzayBub3QgaW4gY292ZXJlZDoKICAgICAgICAg
ICAgY29uZmlndXJlZm5pZHMuYWRkKGZuaWRzW3Rhc2tdKQogICAgZm9yIHRhc2sgaW4gY292ZXJl
ZDoKICAgICAgICBpZiB0YXNrbmFtZXNbdGFza10gPT0gImRvX3BvcHVsYXRlX3N5c3Jvb3QiIGFu
ZCBmbmlkc1t0YXNrXSBpbiBjb25maWd1cmVmbmlkczoKICAgICAgICAgICAgcHJvYmxlbXMuYWRk
KHRhc2spCiAgICByZXR1cm4gcHJvYmxlbXMKfQoKCnB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlcyAo
KSB7CglpbXBvcnQgZ2xvYiwgc3RhdCwgZXJybm8sIHJlCgoJd29ya2RpciA9IGQuZ2V0VmFyKCdX
T1JLRElSJywgVHJ1ZSkKCW91dGRpciA9IGQuZ2V0VmFyKCdERVBMT1lfRElSJywgVHJ1ZSkKCWR2
YXIgPSBkLmdldFZhcignUEtHRCcsIFRydWUpCglwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdF
UycsIFRydWUpCglwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCgoJYmIubWtkaXJoaWVyKG91dGRp
cikKCW9zLmNoZGlyKGR2YXIpCgoJIyBTYW5pdHkgY2hlY2sgUEFDS0FHRVMgZm9yIGR1cGxpY2F0
ZXMgYW5kIGZvciBMSUNFTlNFX0VYQ0xVU0lPTgoJIyBTYW5pdHkgc2hvdWxkIGJlIG1vdmVkIHRv
IHNhbml0eS5iYmNsYXNzIG9uY2Ugd2UgaGF2ZSB0aGUgaW5mcmFzdHVjdHVyZQoJcGFja2FnZV9s
aXN0ID0gW10KCglmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CgkJaWYgZC5nZXRWYXIoJ0xJ
Q0VOU0VfRVhDTFVTSU9OLScgKyBwa2csIFRydWUpOgoJCQliYi53YXJuKCIlcyBoYXMgYW4gaW5j
b21wYXRpYmxlIGxpY2Vuc2UuIEV4Y2x1ZGluZyBmcm9tIHBhY2thZ2luZy4iICUgcGtnKQoJCQlw
YWNrYWdlcy5yZW1vdmUocGtnKQoJCWVsc2U6CgkJCWlmIHBrZyBpbiBwYWNrYWdlX2xpc3Q6CgkJ
CQliYi5lcnJvcigiJXMgaXMgbGlzdGVkIGluIFBBQ0tBR0VTIG11bHRpcGxlIHRpbWVzLCB0aGlz
IGxlYWRzIHRvIHBhY2thZ2luZyBlcnJvcnMuIiAlIHBrZykKCQkJZWxzZToKCQkJCXBhY2thZ2Vf
bGlzdC5hcHBlbmQocGtnKQoJZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZV9s
aXN0KSkKCXBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcsIFRydWUpCglvcy5zeXN0ZW0oJ3Jt
IC1yZiAlcycgJSBwa2dkZXN0KQoKCXNlZW4gPSBbXQoKCWZvciBwa2cgaW4gcGFja2FnZV9saXN0
OgoJCWxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQoJCXJvb3QgPSBvcy5wYXRoLmpv
aW4ocGtnZGVzdCwgcGtnKQoJCWJiLm1rZGlyaGllcihyb290KQoKCQlsb2NhbGRhdGEuc2V0VmFy
KCdQS0cnLCBwa2cpCgkJb3ZlcnJpZGVzID0gbG9jYWxkYXRhLmdldFZhcignT1ZFUlJJREVTJywg
VHJ1ZSkKCQlpZiBub3Qgb3ZlcnJpZGVzOgoJCQlyYWlzZSBiYi5idWlsZC5GdW5jRmFpbGVkKCdP
VkVSUklERVMgbm90IGRlZmluZWQnKQoJCWxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsIG92
ZXJyaWRlcyArICc6JyArIHBrZykKCQliYi5kYXRhLnVwZGF0ZV9kYXRhKGxvY2FsZGF0YSkKCgkJ
ZmlsZXN2YXIgPSBsb2NhbGRhdGEuZ2V0VmFyKCdGSUxFUycsIFRydWUpIG9yICIiCgkJZmlsZXMg
PSBmaWxlc3Zhci5zcGxpdCgpCgkJZmlsZV9saW5rcyA9IHt9CgkJZm9yIGZpbGUgaW4gZmlsZXM6
CgkJCWlmIG9zLnBhdGguaXNhYnMoZmlsZSk6CgkJCQlmaWxlID0gJy4nICsgZmlsZQoJCQlpZiBu
b3Qgb3MucGF0aC5pc2xpbmsoZmlsZSk6CgkJCQlpZiBvcy5wYXRoLmlzZGlyKGZpbGUpOgoJCQkJ
CW5ld2ZpbGVzID0gIFsgb3MucGF0aC5qb2luKGZpbGUseCkgZm9yIHggaW4gb3MubGlzdGRpcihm
aWxlKSBdCgkJCQkJaWYgbmV3ZmlsZXM6CgkJCQkJCWZpbGVzICs9IG5ld2ZpbGVzCgkJCQkJCWNv
bnRpbnVlCgkJCWdsb2JiZWQgPSBnbG9iLmdsb2IoZmlsZSkKCQkJaWYgZ2xvYmJlZDoKCQkJCWlm
IFsgZmlsZSBdICE9IGdsb2JiZWQ6CgkJCQkJZmlsZXMgKz0gZ2xvYmJlZAoJCQkJCWNvbnRpbnVl
CgkJCWlmIChub3Qgb3MucGF0aC5pc2xpbmsoZmlsZSkpIGFuZCAobm90IG9zLnBhdGguZXhpc3Rz
KGZpbGUpKToKCQkJCWNvbnRpbnVlCgkJCWlmIGZpbGUgaW4gc2VlbjoKCQkJCWNvbnRpbnVlCgkJ
CXNlZW4uYXBwZW5kKGZpbGUpCgoJCQlkZWYgbWtkaXIoc3JjLCBkZXN0LCBwKToKCQkJCXNyYyA9
IG9zLnBhdGguam9pbihzcmMsIHApCgkJCQlkZXN0ID0gb3MucGF0aC5qb2luKGRlc3QsIHApCgkJ
CQliYi5ta2RpcmhpZXIoZGVzdCkKCQkJCWZzdGF0ID0gb3Muc3RhdChzcmMpCgkJCQlvcy5jaG1v
ZChkZXN0LCBmc3RhdC5zdF9tb2RlKQoJCQkJb3MuY2hvd24oZGVzdCwgZnN0YXQuc3RfdWlkLCBm
c3RhdC5zdF9naWQpCgkJCQlpZiBwIG5vdCBpbiBzZWVuOgoJCQkJCXNlZW4uYXBwZW5kKHApCgoJ
CQlkZWYgbWtkaXJfcmVjdXJzZShzcmMsIGRlc3QsIHBhdGhzKToKCQkJCXdoaWxlIHBhdGhzLnN0
YXJ0c3dpdGgoIi4vIik6CgkJCQkJcGF0aHMgPSBwYXRoc1syOl0KCQkJCXAgPSAiLiIKCQkJCWZv
ciBjIGluIHBhdGhzLnNwbGl0KCIvIik6CgkJCQkJcCA9IG9zLnBhdGguam9pbihwLCBjKQoJCQkJ
CWlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZGVzdCwgcCkpOgoJCQkJCQlta2Rp
cihzcmMsIGRlc3QsIHApCgoJCQlpZiBvcy5wYXRoLmlzZGlyKGZpbGUpIGFuZCBub3Qgb3MucGF0
aC5pc2xpbmsoZmlsZSk6CgkJCQlta2Rpcl9yZWN1cnNlKGR2YXIsIHJvb3QsIGZpbGUpCgkJCQlj
b250aW51ZQoKCQkJbWtkaXJfcmVjdXJzZShkdmFyLCByb290LCBvcy5wYXRoLmRpcm5hbWUoZmls
ZSkpCgkJCWZwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsZmlsZSkKCQkJaWYgbm90IG9zLnBhdGgu
aXNsaW5rKGZpbGUpOgoJCQkJb3MubGluayhmaWxlLCBmcGF0aCkKCQkJCWZzdGF0ID0gb3Muc3Rh
dChmaWxlKQoJCQkJb3MuY2htb2QoZnBhdGgsIGZzdGF0LnN0X21vZGUpCgkJCQlvcy5jaG93bihm
cGF0aCwgZnN0YXQuc3RfdWlkLCBmc3RhdC5zdF9naWQpCgkJCQljb250aW51ZQoJCQlyZXQgPSBi
Yi5jb3B5ZmlsZShmaWxlLCBmcGF0aCkKCQkJaWYgcmV0IGlzIEZhbHNlIG9yIHJldCA9PSAwOgoJ
CQkJcmFpc2UgYmIuYnVpbGQuRnVuY0ZhaWxlZCgiRmlsZSBwb3B1bGF0aW9uIGZhaWxlZCIpCgoJ
CWRlbCBsb2NhbGRhdGEKCW9zLmNoZGlyKHdvcmtkaXIpCgoJdW5zaGlwcGVkID0gW10KCWZvciBy
b290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGR2YXIpOgoJCWRpciA9IHJvb3RbbGVuKGR2YXIp
Ol0KCQlpZiBub3QgZGlyOgoJCQlkaXIgPSBvcy5zZXAKCQlmb3IgZiBpbiAoZmlsZXMgKyBkaXJz
KToKCQkJcGF0aCA9IG9zLnBhdGguam9pbihkaXIsIGYpCgkJCWlmICgnLicgKyBwYXRoKSBub3Qg
aW4gc2VlbjoKCQkJCXVuc2hpcHBlZC5hcHBlbmQocGF0aCkKCglpZiB1bnNoaXBwZWQgIT0gW106
CgkJYmIud2FybigiRm9yIHJlY2lwZSAlcywgdGhlIGZvbGxvd2luZyBmaWxlcy9kaXJlY3Rvcmll
cyB3ZXJlIGluc3RhbGxlZCBidXQgbm90IHNoaXBwZWQgaW4gYW55IHBhY2thZ2U6IiAlIHBuKQoJ
CWZvciBmIGluIHVuc2hpcHBlZDoKCQkJYmIud2FybigiICAiICsgZikKCgliYi5idWlsZC5leGVj
X2Z1bmMoInBhY2thZ2VfbmFtZV9ob29rIiwgZCkKCglmb3IgcGtnIGluIHBhY2thZ2VfbGlzdDoK
CQlwa2duYW1lID0gZC5nZXRWYXIoJ1BLR18lcycgJSBwa2csIFRydWUpCgkJaWYgcGtnbmFtZSBp
cyBOb25lOgoJCQlkLnNldFZhcignUEtHXyVzJyAlIHBrZywgcGtnKQoKCWRhbmdsaW5nX2xpbmtz
ID0ge30KCXBrZ19maWxlcyA9IHt9Cglmb3IgcGtnIGluIHBhY2thZ2VfbGlzdDoKCQlkYW5nbGlu
Z19saW5rc1twa2ddID0gW10KCQlwa2dfZmlsZXNbcGtnXSA9IFtdCgkJaW5zdF9yb290ID0gb3Mu
cGF0aC5qb2luKHBrZ2Rlc3QsIHBrZykKCQlmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fs
ayhpbnN0X3Jvb3QpOgoJCQlmb3IgZiBpbiBmaWxlczoKCQkJCXBhdGggPSBvcy5wYXRoLmpvaW4o
cm9vdCwgZikKCQkJCXJwYXRoID0gcGF0aFtsZW4oaW5zdF9yb290KTpdCgkJCQlwa2dfZmlsZXNb
cGtnXS5hcHBlbmQocnBhdGgpCgkJCQl0cnk6CgkJCQkJcyA9IG9zLnN0YXQocGF0aCkKCQkJCWV4
Y2VwdCBPU0Vycm9yLCAoZXJyLCBzdHJlcnJvcik6CgkJCQkJaWYgZXJyICE9IGVycm5vLkVOT0VO
VDoKCQkJCQkJcmFpc2UKCQkJCQl0YXJnZXQgPSBvcy5yZWFkbGluayhwYXRoKQoJCQkJCWlmIHRh
cmdldFswXSAhPSAnLyc6CgkJCQkJCXRhcmdldCA9IG9zLnBhdGguam9pbihyb290W2xlbihpbnN0
X3Jvb3QpOl0sIHRhcmdldCkKCQkJCQlkYW5nbGluZ19saW5rc1twa2ddLmFwcGVuZChvcy5wYXRo
Lm5vcm1wYXRoKHRhcmdldCkpCgoJZm9yIHBrZyBpbiBwYWNrYWdlX2xpc3Q6CgkJcmRlcGVuZHMg
PSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9ucyhkLmdldFZhcignUkRFUEVORFNfJyArIHBr
ZywgVHJ1ZSkgb3IgZC5nZXRWYXIoJ1JERVBFTkRTJywgVHJ1ZSkgb3IgIiIpCgoJCWZvciBsIGlu
IGRhbmdsaW5nX2xpbmtzW3BrZ106CgkJCWZvdW5kID0gRmFsc2UKCQkJYmIuZGVidWcoMSwgIiVz
IGNvbnRhaW5zIGRhbmdsaW5nIGxpbmsgJXMiICUgKHBrZywgbCkpCgkJCWZvciBwIGluIHBhY2th
Z2VfbGlzdDoKCQkJCWZvciBmIGluIHBrZ19maWxlc1twXToKCQkJCQlpZiBmID09IGw6CgkJCQkJ
CWZvdW5kID0gVHJ1ZQoJCQkJCQliYi5kZWJ1ZygxLCAidGFyZ2V0IGZvdW5kIGluICVzIiAlIHAp
CgkJCQkJCWlmIHAgPT0gcGtnOgoJCQkJCQkJYnJlYWsKCQkJCQkJaWYgcCBub3QgaW4gcmRlcGVu
ZHM6CgkJCQkJCQlyZGVwZW5kc1twXSA9ICIiCgkJCQkJCWJyZWFrCgkJCWlmIGZvdW5kID09IEZh
bHNlOgoJCQkJYmIubm90ZSgiJXMgY29udGFpbnMgZGFuZ2xpbmcgc3ltbGluayB0byAlcyIgJSAo
cGtnLCBsKSkKCQlkLnNldFZhcignUkRFUEVORFNfJyArIHBrZywgYmIudXRpbHMuam9pbl9kZXBz
KHJkZXBlbmRzLCBjb21tYXNlcD1GYWxzZSkpCn0KCgpweXRob24gb2VfcnVuICgpIHsKZGVmIG9l
X3J1bihkLCBjbWQsICoqa3dhcmdzKToKICAgIGltcG9ydCBvZS5wcm9jZXNzCiAgICBrd2FyZ3Nb
ImVudiJdID0gb2VfcG9wZW5fZW52KGQpCiAgICByZXR1cm4gb2UucHJvY2Vzcy5ydW4oY21kLCAq
Kmt3YXJncykKfQoKCnB5dGhvbiBnZW5lcmF0ZV9naXRfY29uZmlnICgpIHsKZGVmIGdlbmVyYXRl
X2dpdF9jb25maWcoZSk6CiAgICAgICAgZnJvbSBiYiBpbXBvcnQgZGF0YQoKICAgICAgICBpZiBk
YXRhLmdldFZhcignR0lUX0NPUkVfQ09ORklHJywgZS5kYXRhLCBUcnVlKToKICAgICAgICAgICAg
ICAgIGdpdGNvbmZpZ19wYXRoID0gZS5kYXRhLmdldFZhcignR0lUX0NPTkZJRycsIFRydWUpCiAg
ICAgICAgICAgICAgICBwcm94eV9jb21tYW5kID0gIiAgICBnaXRQcm94eSA9ICVzXG4iICUgZGF0
YS5nZXRWYXIoJ09FX0dJVF9QUk9YWV9DT01NQU5EJywgZS5kYXRhLCBUcnVlKQoKICAgICAgICAg
ICAgICAgIGJiLm1rZGlyaGllcihlLmRhdGEuZXhwYW5kKCIvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvZXRjIikpCiAgICAgICAgICAg
ICAgICBpZiAob3MucGF0aC5leGlzdHMoZ2l0Y29uZmlnX3BhdGgpKToKICAgICAgICAgICAgICAg
ICAgICAgICAgb3MucmVtb3ZlKGdpdGNvbmZpZ19wYXRoKQoKICAgICAgICAgICAgICAgIGYgPSBv
cGVuKGdpdGNvbmZpZ19wYXRoLCAndycpCiAgICAgICAgICAgICAgICBmLndyaXRlKCJbY29yZV1c
biIpCiAgICAgICAgICAgICAgICBpZ25vcmVfaG9zdHMgPSBkYXRhLmdldFZhcignR0lUX1BST1hZ
X0lHTk9SRScsIGUuZGF0YSwgVHJ1ZSkuc3BsaXQoKQogICAgICAgICAgICAgICAgZm9yIGlnbm9y
ZV9ob3N0IGluIGlnbm9yZV9ob3N0czoKICAgICAgICAgICAgICAgICAgICAgICAgZi53cml0ZSgi
ICAgIGdpdFByb3h5ID0gbm9uZSBmb3IgJXNcbiIgJSBpZ25vcmVfaG9zdCkKICAgICAgICAgICAg
ICAgIGYud3JpdGUocHJveHlfY29tbWFuZCkKICAgICAgICAgICAgICAgIGYuY2xvc2UKfQoKCnB5
dGhvbiBleHRlbmRfdmFyaWFudHMgKCkgewpkZWYgZXh0ZW5kX3ZhcmlhbnRzKGQsIHZhciwgZXh0
ZW5kLCBkZWxpbT0nOicpOgoJIiIiUmV0dXJuIGEgc3RyaW5nIG9mIGFsbCBiYiBjbGFzcyBleHRl
bmQgdmFyaWFudHMgZm9yIHRoZSBnaXZlbiBleHRlbmQiIiIKCXZhcmlhbnRzID0gW10KCXdob2xl
ID0gZC5nZXRWYXIodmFyLCBUcnVlKSBvciAiIgoJZm9yIGV4dCBpbiB3aG9sZS5zcGxpdCgpOgoJ
CWVleHQgPSBleHQuc3BsaXQoZGVsaW0pCgkJaWYgbGVuKGVleHQpID4gMSBhbmQgZWV4dFswXSA9
PSBleHRlbmQ6CgkJCXZhcmlhbnRzLmFwcGVuZChlZXh0WzFdKQoJcmV0dXJuICIgIi5qb2luKHZh
cmlhbnRzKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tfcmRlcGVuZHMgKCkgewpkZWYgcGFj
a2FnZV9xYV9jaGVja19yZGVwZW5kcyhwa2csIHBrZ2Rlc3QsIHNraXAsIGQpOgogICAgIyBEb24n
dCBkbyB0aGlzIGNoZWNrIGZvciBrZXJuZWwvbW9kdWxlIHJlY2lwZXMsIHRoZXJlIGFyZW4ndCB0
b28gbWFueSBkZWJ1Zy9kZXZlbG9wbWVudAogICAgIyBwYWNrYWdlcyBhbmQgeW91IGNhbiBnZXQg
ZmFsc2UgcG9zaXRpdmVzIGUuZy4gb24ga2VybmVsLW1vZHVsZS1saXJjLWRldgogICAgaWYgYmIu
ZGF0YS5pbmhlcml0c19jbGFzcygia2VybmVsIiwgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFz
cygibW9kdWxlLWJhc2UiLCBkKToKICAgICAgICByZXR1cm4gVHJ1ZQoKICAgIHNhbmUgPSBUcnVl
CiAgICBpZiBub3QgIi1kYmciIGluIHBrZyBhbmQgbm90ICJ0YXNrLSIgaW4gcGtnIGFuZCBub3Qg
Ii1pbWFnZSIgaW4gcGtnOgogICAgICAgICMgQ29waWVkIGZyb20gcGFja2FnZV9pcGsuYmJjbGFz
cwogICAgICAgICMgYm9pbGVyIHBsYXRlIHRvIHVwZGF0ZSB0aGUgZGF0YQogICAgICAgIGxvY2Fs
ZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQogICAgICAgIHJvb3QgPSAiJXMvJXMiICUgKHBr
Z2Rlc3QsIHBrZykKCiAgICAgICAgbG9jYWxkYXRhLnNldFZhcignUk9PVCcsICcnKQogICAgICAg
IGxvY2FsZGF0YS5zZXRWYXIoJ1JPT1RfJXMnICUgcGtnLCByb290KQogICAgICAgIHBrZ25hbWUg
PSBsb2NhbGRhdGEuZ2V0VmFyKCdQS0dfJXMnICUgcGtnLCBUcnVlKQogICAgICAgIGlmIG5vdCBw
a2duYW1lOgogICAgICAgICAgICBwa2duYW1lID0gcGtnCiAgICAgICAgbG9jYWxkYXRhLnNldFZh
cignUEtHJywgcGtnbmFtZSkKCiAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywg
cGtnKQoKICAgICAgICBiYi5kYXRhLnVwZGF0ZV9kYXRhKGxvY2FsZGF0YSkKCiAgICAgICAgIyBO
b3cgY2hlY2sgdGhlIFJERVBFTkRTCiAgICAgICAgcmRlcGVuZHMgPSBiYi51dGlscy5leHBsb2Rl
X2RlcHMobG9jYWxkYXRhLmdldFZhcignUkRFUEVORFMnLCBUcnVlKSBvciAiIikKCgogICAgICAg
ICMgTm93IGRvIHRoZSBzYW5pdHkgY2hlY2shISEKICAgICAgICBmb3IgcmRlcGVuZCBpbiByZGVw
ZW5kczoKICAgICAgICAgICAgaWYgIi1kYmciIGluIHJkZXBlbmQgYW5kICJkZWJ1Zy1kZXBzIiBu
b3QgaW4gc2tpcDoKICAgICAgICAgICAgICAgIGVycm9yX21zZyA9ICIlcyByZGVwZW5kcyBvbiAl
cyIgJSAocGtnbmFtZSxyZGVwZW5kKQogICAgICAgICAgICAgICAgc2FuZSA9IHBhY2thZ2VfcWFf
aGFuZGxlX2Vycm9yKCJkZWJ1Zy1kZXBzIiwgZXJyb3JfbXNnLCBkKQogICAgICAgICAgICBpZiAo
bm90ICItZGV2IiBpbiBwa2cgYW5kIG5vdCAiLXN0YXRpY2RldiIgaW4gcGtnKSBhbmQgcmRlcGVu
ZC5lbmRzd2l0aCgiLWRldiIpIGFuZCAiZGV2LWRlcHMiIG5vdCBpbiBza2lwOgogICAgICAgICAg
ICAgICAgZXJyb3JfbXNnID0gIiVzIHJkZXBlbmRzIG9uICVzIiAlIChwa2duYW1lLCByZGVwZW5k
KQogICAgICAgICAgICAgICAgc2FuZSA9IHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJkZXYtZGVw
cyIsIGVycm9yX21zZywgZCkKCiAgICByZXR1cm4gc2FuZQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFf
Y2hlY2tfdW5zYWZlX3JlZmVyZW5jZXNfaW5fYmluYXJpZXMgKCkgewpkZWYgcGFja2FnZV9xYV9j
aGVja191bnNhZmVfcmVmZXJlbmNlc19pbl9iaW5hcmllcyhwYXRoLCBuYW1lLCBkLCBlbGYsIG1l
c3NhZ2VzKToKCSIiIgoJRW5zdXJlIGJpbmFyaWVzIGluIGJhc2VfW2JpbmRpcnxzYmluZGlyfGxp
YmRpcl0gZG8gbm90IGxpbmsgdG8gZmlsZXMgdW5kZXIgZXhlY19wcmVmaXgKCSIiIgoJaWYgdW5z
YWZlX3JlZmVyZW5jZXNfc2tpcHBhYmxlKHBhdGgsIG5hbWUsIGQpOgoJCXJldHVybgoKCWlmIGVs
ZjoKCQlpbXBvcnQgc3VicHJvY2VzcyBhcyBzdWIKCQlwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUp
CgoJCWV4ZWNfcHJlZml4ID0gZC5nZXRWYXIoJ2V4ZWNfcHJlZml4JywgVHJ1ZSkKCQlzeXNyb290
X3BhdGggPSBkLmdldFZhcignU1RBR0lOR19ESVJfVEFSR0VUJywgVHJ1ZSkKCQlzeXNyb290X3Bh
dGhfdXNyID0gc3lzcm9vdF9wYXRoICsgZXhlY19wcmVmaXgKCgkJdHJ5OgoJCQlsZGRfb3V0cHV0
ID0gYmIucHJvY2Vzcy5Qb3BlbihbInByZWxpbmstcnRsZCIsICItLXJvb3QiLCBzeXNyb290X3Bh
dGgsIHBhdGhdLCBzdGRvdXQ9c3ViLlBJUEUpLnN0ZG91dC5yZWFkKCkKCQlleGNlcHQgYmIucHJv
Y2Vzcy5DbWRFcnJvcjoKCQkJZXJyb3JfbXNnID0gcG4gKyAiOiBwcmVsaW5rLXJ0bGQgYWJvcnRl
ZCB3aGVuIHByb2Nlc3NpbmcgJXMiICUgcGF0aAoJCQlwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigi
dW5zYWZlLXJlZmVyZW5jZXMtaW4tYmluYXJpZXMiLCBlcnJvcl9tc2csIGQpCgkJCXJldHVybiBG
YWxzZQoKCQlpZiBzeXNyb290X3BhdGhfdXNyIGluIGxkZF9vdXRwdXQ6CgkJCWVycm9yX21zZyA9
IHBuICsgIjogJXMgbGlua3MgdG8gc29tZXRoaW5nIHVuZGVyIGV4ZWNfcHJlZml4IiAlIHBhdGgK
CQkJcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoInVuc2FmZS1yZWZlcmVuY2VzLWluLWJpbmFyaWVz
IiwgZXJyb3JfbXNnLCBkKQoJCQllcnJvcl9tc2cgPSAibGRkIHJlcG9ydHM6ICVzIiAlIGxkZF9v
dXRwdXQKCQkJcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoInVuc2FmZS1yZWZlcmVuY2VzLWluLWJp
bmFyaWVzIiwgZXJyb3JfbXNnLCBkKQoJCQlyZXR1cm4gRmFsc2UKfQoKCnB5dGhvbiBnZXRfcGFj
a2FnZV9tYXBwaW5nICgpIHsKZGVmIGdldF9wYWNrYWdlX21hcHBpbmcgKHBrZywgZCk6CglpbXBv
cnQgb2UucGFja2FnZWRhdGEKCglkYXRhID0gb2UucGFja2FnZWRhdGEucmVhZF9zdWJwa2dkYXRh
KHBrZywgZCkKCWtleSA9ICJQS0dfJXMiICUgcGtnCgoJaWYga2V5IGluIGRhdGE6CgkJcmV0dXJu
IGRhdGFba2V5XQoKCXJldHVybiBwa2cKfQoKCnB5dGhvbiBzc3RhdGVfdGFza19wcmVmdW5jICgp
IHsKICAgIHNoYXJlZF9zdGF0ZSA9IHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyhkKQogICAgc3N0YXRl
X2NsZWFuKHNoYXJlZF9zdGF0ZSwgZCkKfQoKCnB5dGhvbiBjaGVja19zYW5pdHlfc3N0YXRlX2Rp
cl9jaGFuZ2UgKCkgewpkZWYgY2hlY2tfc2FuaXR5X3NzdGF0ZV9kaXJfY2hhbmdlKHNzdGF0ZV9k
aXIsIGRhdGEpOgogICAgIyBTYW5pdHkgY2hlY2tzIHRvIGJlIGRvbmUgd2hlbiB0aGUgdmFsdWUg
b2YgU1NUQVRFX0RJUiBjaGFuZ2VzCgogICAgIyBDaGVjayB0aGF0IFNTVEFURV9ESVIgaXNuJ3Qg
b24gYSBmaWxlc3lzdGVtIHdpdGggbGltaXRlZCBmaWxlbmFtZSBsZW5ndGggKGVnLiBlQ3J5cHRG
UykKICAgIHRlc3Rtc2cgPSAiIgogICAgaWYgc3N0YXRlX2RpciAhPSAiIjoKICAgICAgICB0ZXN0
bXNnID0gY2hlY2tfY3JlYXRlX2xvbmdfZmlsZW5hbWUoc3N0YXRlX2RpciwgIlNTVEFURV9ESVIi
KQogICAgcmV0dXJuIHRlc3Rtc2cKfQoKCnB5dGhvbiBiYXNlX3BhdGhfcmVsYXRpdmUgKCkgewpk
ZWYgYmFzZV9wYXRoX3JlbGF0aXZlKHNyYywgZGVzdCk6CiAgICByZXR1cm4gb2UucGF0aC5yZWxh
dGl2ZShzcmMsIGRlc3QpCn0KCgpweXRob24gcGFja2FnZV9pcGtfZm4gKCkgewoJZC5zZXRWYXIo
J1BLR0ZOJywgZC5nZXRWYXIoJ1BLRycpKQp9CgoKcHl0aG9uIHNwbGl0ZmlsZSAoKSB7CmRlZiBz
cGxpdGZpbGUoZmlsZSwgZGVidWdmaWxlLCBkZWJ1Z3NyY2RpciwgZCk6CiAgICAjIEZ1bmN0aW9u
IHRvIHNwbGl0IGEgc2luZ2xlIGZpbGUsIGNhbGxlZCBmcm9tIHNwbGl0X2FuZF9zdHJpcF9maWxl
cyBiZWxvdwogICAgIyBBIHdvcmtpbmcgJ2ZpbGUnIChvbmUgd2hpY2ggd29ya3Mgb24gdGhlIHRh
cmdldCBhcmNoaXRlY3R1cmUpCiAgICAjIGlzIHNwbGl0IGFuZCB0aGUgc3BsaXQgb2ZmIHBvcnRp
b25zIGdvIHRvIGRlYnVnZmlsZS4KICAgICMKICAgICMgVGhlIGRlYnVnIGluZm9ybWF0aW9uIGlz
IHRoZW4gcHJvY2Vzc2VkIGZvciBzcmMgcmVmZXJlbmNlcy4gIFRoZXNlCiAgICAjIHJlZmVyZW5j
ZXMgYXJlIGNvcGllZCB0byBkZWJ1Z3NyY2RpciwgaWYgZGVmaW5lZC4KCiAgICBpbXBvcnQgY29t
bWFuZHMsIHN0YXQKCiAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnLCBUcnVlKQogICAgcGF0aHBy
ZWZpeCA9ICJleHBvcnQgUEFUSD0lczsgIiAlIGQuZ2V0VmFyKCdQQVRIJywgVHJ1ZSkKICAgIG9i
amNvcHkgPSBkLmdldFZhcigiT0JKQ09QWSIsIFRydWUpCiAgICBkZWJ1Z2VkaXQgPSBkLmV4cGFu
ZCgiL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0
LWxpbnV4L3Vzci9saWIvcnBtL2Jpbi9kZWJ1Z2VkaXQiKQogICAgd29ya2RpciA9IGQuZ2V0VmFy
KCJXT1JLRElSIiwgVHJ1ZSkKICAgIHdvcmtwYXJlbnRkaXIgPSBvcy5wYXRoLmRpcm5hbWUod29y
a2RpcikKICAgIHNvdXJjZWZpbGUgPSBkLmV4cGFuZCgiL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3
L2RlYnVnc291cmNlcy5saXN0IikKCiAgICAjIFdlIGlnbm9yZSBrZXJuZWwgbW9kdWxlcywgd2Ug
ZG9uJ3QgZ2VuZXJhdGUgZGVidWcgaW5mbyBmaWxlcy4KICAgIGlmIGZpbGUuZmluZCgiL2xpYi9t
b2R1bGVzLyIpICE9IC0xIGFuZCBmaWxlLmVuZHN3aXRoKCIua28iKToKCXJldHVybiAxCgogICAg
bmV3bW9kZSA9IE5vbmUKICAgIGlmIG5vdCBvcy5hY2Nlc3MoZmlsZSwgb3MuV19PSykgb3Igb3Mu
YWNjZXNzKGZpbGUsIG9zLlJfT0spOgogICAgICAgIG9yaWdtb2RlID0gb3Muc3RhdChmaWxlKVtz
dGF0LlNUX01PREVdCiAgICAgICAgbmV3bW9kZSA9IG9yaWdtb2RlIHwgc3RhdC5TX0lXUklURSB8
IHN0YXQuU19JUkVBRAogICAgICAgIG9zLmNobW9kKGZpbGUsIG5ld21vZGUpCgogICAgIyBXZSBu
ZWVkIHRvIGV4dHJhY3QgdGhlIGRlYnVnIHNyYyBpbmZvcm1hdGlvbiBoZXJlLi4uCiAgICBpZiBk
ZWJ1Z3NyY2RpcjoKCW9zLnN5c3RlbSgiJXMnJXMnIC1iICclcycgLWQgJyVzJyAtaSAtbCAnJXMn
ICclcyciICUgKHBhdGhwcmVmaXgsIGRlYnVnZWRpdCwgd29ya3BhcmVudGRpciwgZGVidWdzcmNk
aXIsIHNvdXJjZWZpbGUsIGZpbGUpKQoKICAgIGJiLm1rZGlyaGllcihvcy5wYXRoLmRpcm5hbWUo
ZGVidWdmaWxlKSkKCiAgICBvcy5zeXN0ZW0oIiVzJyVzJyAtLW9ubHkta2VlcC1kZWJ1ZyAnJXMn
ICclcyciICUgKHBhdGhwcmVmaXgsIG9iamNvcHksIGZpbGUsIGRlYnVnZmlsZSkpCgogICAgIyBT
ZXQgdGhlIGRlYnVnbGluayB0byBoYXZlIHRoZSB2aWV3IG9mIHRoZSBmaWxlIHBhdGggb24gdGhl
IHRhcmdldAogICAgb3Muc3lzdGVtKCIlcyclcycgLS1hZGQtZ251LWRlYnVnbGluaz0nJXMnICcl
cyciICUgKHBhdGhwcmVmaXgsIG9iamNvcHksIGRlYnVnZmlsZSwgZmlsZSkpCgogICAgaWYgbmV3
bW9kZToKICAgICAgICBvcy5jaG1vZChmaWxlLCBvcmlnbW9kZSkKCiAgICByZXR1cm4gMAp9CgoK
cHl0aG9uIGRvX2NsZWFuYWxsICgpIHsKICAgICAgICBzcmNfdXJpID0gKGQuZ2V0VmFyKCdTUkNf
VVJJJywgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKICAgICAgICBpZiBsZW4oc3JjX3VyaSkgPT0gMDoK
ICAgICAgICAgICAgcmV0dXJuCgoJbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCgli
Yi5kYXRhLnVwZGF0ZV9kYXRhKGxvY2FsZGF0YSkKCiAgICAgICAgdHJ5OgogICAgICAgICAgICBm
ZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKHNyY191cmksIGxvY2FsZGF0YSkKICAgICAgICAgICAg
ZmV0Y2hlci5jbGVhbigpCiAgICAgICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9u
LCBlOgogICAgICAgICAgICByYWlzZSBiYi5idWlsZC5GdW5jRmFpbGVkKGUpCn0KCgpweXRob24g
c3N0YXRlX3BhY2thZ2UgKCkgewpkZWYgc3N0YXRlX3BhY2thZ2Uoc3MsIGQpOgogICAgaW1wb3J0
IG9lLnBhdGgKCiAgICBkZWYgbWFrZV9yZWxhdGl2ZV9zeW1saW5rKHBhdGgsIG91dHB1dHBhdGgs
IGQpOgogICAgICAgICMgUmVwbGFjZSBvdXQgYWJzb2x1dGUgVE1QRElSIHBhdGhzIGluIHN5bWxp
bmtzIHdpdGggcmVsYXRpdmUgb25lcwogICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzbGluayhwYXRo
KToKICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgbGluayA9IG9zLnJlYWRsaW5rKHBhdGgpCiAg
ICAgICAgaWYgbm90IG9zLnBhdGguaXNhYnMobGluayk6CiAgICAgICAgICAgIHJldHVybgogICAg
ICAgIGlmIG5vdCBsaW5rLnN0YXJ0c3dpdGgodG1wZGlyKToKICAgICAgICAgICAgcmV0dXJuCgog
ICAgICAgIGRlcHRoID0gbGluay5ycGFydGl0aW9uKHRtcGRpcilbMl0uY291bnQoJy8nKQogICAg
ICAgIGJhc2UgPSBsaW5rLnBhcnRpdGlvbih0bXBkaXIpWzJdLnN0cmlwKCkKICAgICAgICB3aGls
ZSBkZXB0aCA+IDE6CiAgICAgICAgICAgIGJhc2UgPSAiLi4vIiArIGJhc2UKICAgICAgICAgICAg
ZGVwdGggLT0gMQoKICAgICAgICBiYi5kZWJ1ZygyLCAiUmVwbGFjaW5nIGFic29sdXRlIHBhdGgg
JXMgd2l0aCByZWxhdGl2ZSBwYXRoICVzIiAlIChsaW5rLCBiYXNlKSkKICAgICAgICBvcy5yZW1v
dmUocGF0aCkKICAgICAgICBvcy5zeW1saW5rKGJhc2UsIHBhdGgpCgogICAgdG1wZGlyID0gZC5n
ZXRWYXIoJ1RNUERJUicsIFRydWUpCgogICAgc3N0YXRlYnVpbGQgPSBkLmV4cGFuZCgiL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0
YS10b29sY2hhaW4tMS4wLXI3L3NzdGF0ZS1idWlsZC0lcy8iICUgc3NbJ25hbWUnXSkKICAgIHNz
dGF0ZXBrZyA9IGQuZ2V0VmFyKCdTU1RBVEVfUEtHJywgVHJ1ZSkgKyAnXycrIHNzWyduYW1lJ10g
KyAiLnRneiIKICAgIGJiLm1rZGlyaGllcihzc3RhdGVidWlsZCkKICAgIGJiLm1rZGlyaGllcihv
cy5wYXRoLmRpcm5hbWUoc3N0YXRlcGtnKSkKICAgIGZvciBzdGF0ZSBpbiBzc1snZGlycyddOgog
ICAgICAgIHNyY2Jhc2UgPSBzdGF0ZVswXS5yc3RyaXAoIi8iKS5yc3BsaXQoJy8nLCAxKVswXQog
ICAgICAgIGZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhzdGF0ZVsxXSk6CiAg
ICAgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICAgICAgc3JjcGF0aCA9IG9z
LnBhdGguam9pbih3YWxrcm9vdCwgZmlsZSkKICAgICAgICAgICAgICAgIGRzdHBhdGggPSBzcmNw
YXRoLnJlcGxhY2Uoc3RhdGVbMV0sIHNzdGF0ZWJ1aWxkICsgc3RhdGVbMF0pCiAgICAgICAgICAg
ICAgICBtYWtlX3JlbGF0aXZlX3N5bWxpbmsoc3JjcGF0aCwgZHN0cGF0aCwgZCkKICAgICAgICAg
ICAgZm9yIGRpciBpbiBkaXJzOgogICAgICAgICAgICAgICAgc3JjcGF0aCA9IG9zLnBhdGguam9p
bih3YWxrcm9vdCwgZGlyKQogICAgICAgICAgICAgICAgZHN0cGF0aCA9IHNyY3BhdGgucmVwbGFj
ZShzdGF0ZVsxXSwgc3N0YXRlYnVpbGQgKyBzdGF0ZVswXSkKICAgICAgICAgICAgICAgIG1ha2Vf
cmVsYXRpdmVfc3ltbGluayhzcmNwYXRoLCBkc3RwYXRoLCBkKQogICAgICAgIGJiLmRlYnVnKDIs
ICJQcmVwYXJpbmcgdHJlZSAlcyBmb3IgcGFja2FnaW5nIGF0ICVzIiAlIChzdGF0ZVsxXSwgc3N0
YXRlYnVpbGQgKyBzdGF0ZVswXSkpCiAgICAgICAgb2UucGF0aC5jb3B5dHJlZShzdGF0ZVsxXSwg
c3N0YXRlYnVpbGQgKyBzdGF0ZVswXSkKCiAgICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVIn
LCBUcnVlKQogICAgZm9yIHBsYWluIGluIHNzWydwbGFpbmRpcnMnXToKICAgICAgICBwZGlyID0g
cGxhaW4ucmVwbGFjZSh3b3JrZGlyLCBzc3RhdGVidWlsZCkKICAgICAgICBiYi5ta2RpcmhpZXIo
cGxhaW4pCiAgICAgICAgYmIubWtkaXJoaWVyKHBkaXIpCiAgICAgICAgb2UucGF0aC5jb3B5dHJl
ZShwbGFpbiwgcGRpcikKCiAgICBkLnNldFZhcignU1NUQVRFX0JVSUxERElSJywgc3N0YXRlYnVp
bGQpCiAgICBkLnNldFZhcignU1NUQVRFX1BLRycsIHNzdGF0ZXBrZykKICAgIHNzdGF0ZV9oYXJk
Y29kZV9wYXRoKGQpCiAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ3NzdGF0ZV9jcmVhdGVfcGFja2Fn
ZScsIGQpCgogICAgYmIuc2lnZ2VuLmR1bXBfdGhpc190YXNrKHNzdGF0ZXBrZyArICIuc2lnaW5m
byIsIGQpCgogICAgcmV0dXJuCn0KCgpweXRob24gZG9fcG9wdWxhdGVfbGljICgpIHsKICAgICIi
IgogICAgUG9wdWxhdGUgTElDRU5TRV9ESVJFQ1RPUlkgd2l0aCBsaWNlbnNlcy4KICAgICIiIgog
ICAgaW1wb3J0IG9zCiAgICBpbXBvcnQgYmIKICAgIGltcG9ydCBzaHV0aWwKICAgIGltcG9ydCBv
ZS5saWNlbnNlCgogICAgcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQogICAgZm9yIHBhY2thZ2Ug
aW4gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSk6CiAgICAgICAgaWYgZC5nZXRWYXIoJ0xJQ0VO
U0VfJyArIHBuICsgJy0nICsgcGFja2FnZSwgVHJ1ZSk6CiAgICAgICAgICAgIGxpY2Vuc2VfdHlw
ZXMgPSBsaWNlbnNlX3R5cGVzICsgJyAmICcgKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkLmdldFZhcignTElDRU5TRV8nICsgcG4gKyAnLScgKyBwYWNrYWdlLCBUcnVlKQoKICAgICNJ
ZiB3ZSBnZXQgaGVyZSB3aXRoIG5vIGxpY2Vuc2UgdHlwZXMsIHRoZW4gdGhhdCBtZWFucyB3ZSBo
YXZlIGEgcmVjaXBlCiAgICAjbGV2ZWwgbGljZW5zZS4gSWYgc28sIHdlIGdyYWIgb25seSB0aG9z
ZS4KICAgIHRyeToKICAgICAgICBsaWNlbnNlX3R5cGVzCiAgICBleGNlcHQgTmFtZUVycm9yOgog
ICAgICAgICMgQWxsIHRoZSBsaWNlbnNlIHR5cGVzIGF0IHRoZSByZWNpcGUgbGV2ZWwKICAgICAg
ICBsaWNlbnNlX3R5cGVzID0gZC5nZXRWYXIoJ0xJQ0VOU0UnLCBUcnVlKQoKICAgICMgQWxsIHRo
ZSBsaWNlbnNlIGZpbGVzIGZvciB0aGUgcGFja2FnZQogICAgbGljX2ZpbGVzID0gZC5nZXRWYXIo
J0xJQ19GSUxFU19DSEtTVU0nLCBUcnVlKQogICAgcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQog
ICAgIyBUaGUgYmFzZSBkaXJlY3Rvcnkgd2Ugd3JhbmdsZSBsaWNlbnNlcyB0bwogICAgZGVzdGRp
ciA9IG9zLnBhdGguam9pbihkLmdldFZhcignTElDU1NUQVRFRElSJywgVHJ1ZSksIHBuKQogICAg
IyBUaGUgbGljZW5zZSBmaWxlcyBhcmUgbG9jYXRlZCBpbiBTL0xJQ19GSUxFX0NIRUNLU1VNLgog
ICAgc3JjZGlyID0gZC5nZXRWYXIoJ1MnLCBUcnVlKQogICAgIyBEaXJlY3Rvcnkgd2Ugc3RvcmUg
dGhlIGdlbmVyaWMgbGljZW5zZXMgYXMgc2V0IGluIHRoZSBkaXN0cm8gY29uZmlndXJhdGlvbgog
ICAgZ2VuZXJpY19kaXJlY3RvcnkgPSBkLmdldFZhcignQ09NTU9OX0xJQ0VOU0VfRElSJywgVHJ1
ZSkKICAgIGxpY2Vuc2Vfc291cmNlX2RpcnMgPSBbXQogICAgbGljZW5zZV9zb3VyY2VfZGlycy5h
cHBlbmQoZ2VuZXJpY19kaXJlY3RvcnkpCiAgICB0cnk6CiAgICAgICAgYWRkaXRpb25hbF9saWNf
ZGlycyA9IGQuZ2V0VmFyKCdMSUNFTlNFX0RJUicsIFRydWUpLnNwbGl0KCkKICAgICAgICBmb3Ig
bGljX2RpciBpbiBhZGRpdGlvbmFsX2xpY19kaXJzOgogICAgICAgICAgICBsaWNlbnNlX3NvdXJj
ZV9kaXJzLmFwcGVuZChsaWNfZGlyKQogICAgZXhjZXB0OgogICAgICAgIHBhc3MKCiAgICBjbGFz
cyBGaW5kVmlzaXRvcihvZS5saWNlbnNlLkxpY2Vuc2VWaXNpdG9yKToKICAgICAgICBkZWYgdmlz
aXRfU3RyKHNlbGYsIG5vZGUpOgogICAgICAgICAgICAjCiAgICAgICAgICAgICMgVW50aWwgSSBm
aWd1cmUgb3V0IHdoYXQgdG8gZG8gd2l0aAogICAgICAgICAgICAjIHRoZSB0d28gbW9kaWZpZXJz
IEkgc3VwcG9ydCAob3IgZ3JlYXRlciA9ICsKICAgICAgICAgICAgIyBhbmQgIndpdGggZXhjZXB0
aW9ucyIgYmVpbmcgKgogICAgICAgICAgICAjIHdlJ2xsIGp1c3Qgc3RyaXAgb3V0IHRoZSBtb2Rp
ZmllciBhbmQgcHV0CiAgICAgICAgICAgICMgdGhlIGJhc2UgbGljZW5zZS4KICAgICAgICAgICAg
ZmluZF9saWNlbnNlKG5vZGUucy5yZXBsYWNlKCIrIiwgIiIpLnJlcGxhY2UoIioiLCAiIikpCiAg
ICAgICAgICAgIHNlbGYuZ2VuZXJpY192aXNpdChub2RlKQoKICAgIGRlZiBmaW5kX2xpY2Vuc2Uo
bGljZW5zZV90eXBlKToKICAgICAgICB0cnk6CiAgICAgICAgICAgIGJiLm1rZGlyaGllcihnZW5f
bGljX2Rlc3QpCiAgICAgICAgZXhjZXB0OgogICAgICAgICAgICBwYXNzCiAgICAgICAgc3BkeF9n
ZW5lcmljID0gTm9uZQogICAgICAgIGxpY2Vuc2Vfc291cmNlID0gTm9uZQogICAgICAgICMgSWYg
dGhlIGdlbmVyaWMgZG9lcyBub3QgZXhpc3Qgd2UgbmVlZCB0byBjaGVjayB0byBzZWUgaWYgdGhl
cmUgaXMgYW4gU1BEWCBtYXBwaW5nIHRvIGl0CiAgICAgICAgZm9yIGxpY19kaXIgaW4gbGljZW5z
ZV9zb3VyY2VfZGlyczoKICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG9zLnBhdGgu
am9pbihsaWNfZGlyLCBsaWNlbnNlX3R5cGUpKToKICAgICAgICAgICAgICAgIGlmIGQuZ2V0VmFy
RmxhZygnU1BEWExJQ0VOU0VNQVAnLCBsaWNlbnNlX3R5cGUpICE9IE5vbmU6CiAgICAgICAgICAg
ICAgICAgICAgIyBHcmVhdCwgdGhlcmUgaXMgYW4gU1BEWExJQ0VOU0VNQVAuIFdlIGNhbiBjb3B5
IQogICAgICAgICAgICAgICAgICAgIGJiLmRlYnVnKDEsICJXZSBuZWVkIHRvIHVzZSBhIFNQRFhM
SUNFTlNFTUFQIGZvciAlcyIgJSAobGljZW5zZV90eXBlKSkKICAgICAgICAgICAgICAgICAgICBz
cGR4X2dlbmVyaWMgPSBkLmdldFZhckZsYWcoJ1NQRFhMSUNFTlNFTUFQJywgbGljZW5zZV90eXBl
KQogICAgICAgICAgICAgICAgICAgIGxpY2Vuc2Vfc291cmNlID0gbGljX2RpcgogICAgICAgICAg
ICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGVsaWYgb3MucGF0aC5pc2ZpbGUob3MucGF0aC5q
b2luKGxpY19kaXIsIGxpY2Vuc2VfdHlwZSkpOgogICAgICAgICAgICAgICAgc3BkeF9nZW5lcmlj
ID0gbGljZW5zZV90eXBlCiAgICAgICAgICAgICAgICBsaWNlbnNlX3NvdXJjZSA9IGxpY19kaXIK
ICAgICAgICAgICAgICAgIGJyZWFrCgogICAgICAgIGlmIHNwZHhfZ2VuZXJpYyBhbmQgbGljZW5z
ZV9zb3VyY2U6CiAgICAgICAgICAgICMgd2UgcmVhbGx5IHNob3VsZCBjb3B5IHRvIGdlbmVyaWNf
ICsgc3BkeF9nZW5lcmljLCBob3dldmVyLCB0aGF0IGVuZHMgdXAgbWVzc2luZyB0aGUgbWFuaWZl
c3QKICAgICAgICAgICAgIyBhdWRpdCB1cC4gVGhpcyBzaG91bGQgYmUgZml4ZWQgaW4gZW1pdF9w
a2dkYXRhIChvciwgd2UgYWN0dWFsbHkgZ290IGFuZCBmaXggYWxsIHRoZSByZWNpcGVzKQoKICAg
ICAgICAgICAgYmIuY29weWZpbGUob3MucGF0aC5qb2luKGxpY2Vuc2Vfc291cmNlLCBzcGR4X2dl
bmVyaWMpLCBvcy5wYXRoLmpvaW4ob3MucGF0aC5qb2luKGQuZ2V0VmFyKCdMSUNTU1RBVEVESVIn
LCBUcnVlKSwgcG4pLCAiZ2VuZXJpY18iICsgbGljZW5zZV90eXBlKSkKICAgICAgICAgICAgaWYg
bm90IG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ0xJ
Q1NTVEFURURJUicsIFRydWUpLCBwbiksICJnZW5lcmljXyIgKyBsaWNlbnNlX3R5cGUpKToKICAg
ICAgICAgICAgIyBJZiB0aGUgY29weSBkaWRuJ3Qgb2NjdXIsIHNvbWV0aGluZyBob3JyaWJsZSB3
ZW50IHdyb25nIGFuZCB3ZSBmYWlsIG91dAogICAgICAgICAgICAgICAgYmIud2FybigiJXMgZm9y
ICVzIGNvdWxkIG5vdCBiZSBjb3BpZWQgZm9yIHNvbWUgcmVhc29uLiBJdCBtYXkgbm90IGV4aXN0
LiBXQVJOIGZvciBub3cuIiAlIChzcGR4X2dlbmVyaWMsIHBuKSkKICAgICAgICBlbHNlOgogICAg
ICAgICAgICAjIEFuZCBoZXJlIGlzIHdoZXJlIHdlIHdhcm4gcGVvcGxlIHRoYXQgdGhlaXIgbGlj
ZW5zZXMgYXJlIGxvdXN5CiAgICAgICAgICAgIGJiLndhcm4oIiVzOiBObyBnZW5lcmljIGxpY2Vu
c2UgZmlsZSBleGlzdHMgZm9yOiAlcyBpbiBhbnkgcHJvdmlkZXIiICUgKHBuLCBsaWNlbnNlX3R5
cGUpKQogICAgICAgICAgICBwYXNzCgogICAgdHJ5OgogICAgICAgIGJiLm1rZGlyaGllcihkZXN0
ZGlyKQogICAgZXhjZXB0OgogICAgICAgIHBhc3MKCiAgICBpZiBub3QgZ2VuZXJpY19kaXJlY3Rv
cnk6CiAgICAgICAgcmFpc2UgYmIuYnVpbGQuRnVuY0ZhaWxlZCgiQ09NTU9OX0xJQ0VOU0VfRElS
IGlzIHVuc2V0LiBQbGVhc2Ugc2V0IHRoaXMgaW4geW91ciBkaXN0cm8gY29uZmlnIikKCiAgICBp
ZiBub3QgbGljX2ZpbGVzOgogICAgICAgICMgTm8gcmVjaXBlIHNob3VsZCBoYXZlIGFuIGludmFs
aWQgbGljZW5zZSBmaWxlLiBUaGlzIGlzIGNoZWNrZWQgZWxzZQogICAgICAgICMgd2hlcmUsIGJ1
dCBsZXQncyBiZSBwZWRhbnRpYwogICAgICAgIGJiLm5vdGUocG4gKyAiOiBSZWNpcGUgZmlsZSBk
b2VzIG5vdCBoYXZlIGxpY2Vuc2UgZmlsZSBpbmZvcm1hdGlvbi4iKQogICAgICAgIHJldHVybiBU
cnVlCgogICAgZm9yIHVybCBpbiBsaWNfZmlsZXMuc3BsaXQoKToKICAgICAgICAodHlwZSwgaG9z
dCwgcGF0aCwgdXNlciwgcHN3ZCwgcGFybSkgPSBiYi5kZWNvZGV1cmwodXJsKQogICAgICAgICMg
V2Ugd2FudCB0aGUgbGljZW5zZSBmaWxlIHRvIGJlIGNvcGllZCBpbnRvIHRoZSBkZXN0aW5hdGlv
bgogICAgICAgIHNyY2xpY2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCBwYXRoKQogICAgICAg
IHJldCA9IGJiLmNvcHlmaWxlKHNyY2xpY2ZpbGUsIG9zLnBhdGguam9pbihkZXN0ZGlyLCBvcy5w
YXRoLmJhc2VuYW1lKHBhdGgpKSkKICAgICAgICAjIElmIHRoZSBjb3B5IGRpZG4ndCBvY2N1ciwg
c29tZXRoaW5nIGhvcnJpYmxlIHdlbnQgd3JvbmcgYW5kIHdlIGZhaWwgb3V0CiAgICAgICAgaWYg
bm90IHJldDoKICAgICAgICAgICAgYmIud2FybigiJXMgY291bGQgbm90IGJlIGNvcGllZCBmb3Ig
c29tZSByZWFzb24uIEl0IG1heSBub3QgZXhpc3QuIFdBUk4gZm9yIG5vdy4iICUgc3JjbGljZmls
ZSkKCiAgICB2ID0gRmluZFZpc2l0b3IoKQogICAgdHJ5OgogICAgICAgIHYudmlzaXRfc3RyaW5n
KGxpY2Vuc2VfdHlwZXMpCiAgICBleGNlcHQgb2UubGljZW5zZS5JbnZhbGlkTGljZW5zZSBhcyBl
eGM6CiAgICAgICAgYmIuZmF0YWwoJyVzOiAlcycgJSAoZC5nZXRWYXIoJ1BGJywgVHJ1ZSksIGV4
YykpCiAgICBleGNlcHQgU3ludGF4RXJyb3I6CiAgICAgICAgYmIud2FybigiJXM6IEZhaWxlZCB0
byBwYXJzZSBpdCdzIExJQ0VOU0UgZmllbGQuIiAlIChkLmdldFZhcignUEYnLCBUcnVlKSkpCgp9
CgoKcHl0aG9uIHNzdGF0ZV9jaGVja2hhc2hlcyAoKSB7CmRlZiBzc3RhdGVfY2hlY2toYXNoZXMo
c3FfZm4sIHNxX3Rhc2ssIHNxX2hhc2gsIHNxX2hhc2hmbiwgZCk6CgogICAgcmV0ID0gW10KICAg
ICMgVGhpcyBuZWVkcyB0byBnbyBhd2F5LCBGSVhNRQogICAgbWFwcGluZyA9IHsKICAgICAgICAi
ZG9fcG9wdWxhdGVfc3lzcm9vdCIgOiAicG9wdWxhdGUtc3lzcm9vdCIsCiAgICAgICAgImRvX3Bv
cHVsYXRlX2xpYyIgOiAicG9wdWxhdGUtbGljIiwKICAgICAgICAiZG9fcGFja2FnZV93cml0ZV9p
cGsiIDogImRlcGxveS1pcGsiLAogICAgICAgICJkb19wYWNrYWdlX3dyaXRlX2RlYiIgOiAiZGVw
bG95LWRlYiIsCiAgICAgICAgImRvX3BhY2thZ2Vfd3JpdGVfcnBtIiA6ICJkZXBsb3ktcnBtIiwK
ICAgICAgICAiZG9fcGFja2FnZSIgOiAicGFja2FnZSIsCiAgICAgICAgImRvX2RlcGxveSIgOiAi
ZGVwbG95IiwKICAgIH0KCiAgICBmb3IgdGFzayBpbiByYW5nZShsZW4oc3FfZm4pKToKICAgICAg
ICBzc3RhdGVmaWxlID0gZC5leHBhbmQoIi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vc3N0YXRlLWNhY2hlLyIgKyBzcV9oYXNoZm5bdGFza10gKyAiXyIgKyBtYXBwaW5nW3NxX3Rh
c2tbdGFza11dICsgIi50Z3oiKQogICAgICAgIHNzdGF0ZWZpbGUgPSBzc3RhdGVmaWxlLnJlcGxh
Y2UoIiR7QkJfVEFTS0hBU0h9Iiwgc3FfaGFzaFt0YXNrXSkKICAgICAgICBpZiBvcy5wYXRoLmV4
aXN0cyhzc3RhdGVmaWxlKToKICAgICAgICAgICAgYmIuZGVidWcoMiwgIlNTdGF0ZTogRm91bmQg
dmFsaWQgc3N0YXRlIGZpbGUgJXMiICUgc3N0YXRlZmlsZSkKICAgICAgICAgICAgcmV0LmFwcGVu
ZCh0YXNrKQogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGJi
LmRlYnVnKDIsICJTU3RhdGU6IExvb2tlZCBmb3IgYnV0IGRpZG4ndCBmaW5kIGZpbGUgJXMiICUg
c3N0YXRlZmlsZSkKCiAgICBtaXJyb3JzID0gZC5nZXRWYXIoIlNTVEFURV9NSVJST1JTIiwgVHJ1
ZSkKICAgIGlmIG1pcnJvcnM6CiAgICAgICAgIyBDb3B5IHRoZSBkYXRhIG9iamVjdCBhbmQgb3Zl
cnJpZGUgRExfRElSIGFuZCBTUkNfVVJJCiAgICAgICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVh
dGVDb3B5KGQpCiAgICAgICAgYmIuZGF0YS51cGRhdGVfZGF0YShsb2NhbGRhdGEpCgogICAgICAg
IGRsZGlyID0gbG9jYWxkYXRhLmV4cGFuZCgiL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby9zc3RhdGUtY2FjaGUiKQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ0RMX0RJUicsIGRs
ZGlyKQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1BSRU1JUlJPUlMnLCBtaXJyb3JzKQoKICAg
ICAgICBiYi5kZWJ1ZygyLCAiU1N0YXRlIHVzaW5nIHByZW1pcnJvciBvZjogJXMiICUgbWlycm9y
cykKCiAgICAgICAgZm9yIHRhc2sgaW4gcmFuZ2UobGVuKHNxX2ZuKSk6CiAgICAgICAgICAgIGlm
IHRhc2sgaW4gcmV0OgogICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgIHNzdGF0
ZWZpbGUgPSBkLmV4cGFuZCgiL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby9zc3Rh
dGUtY2FjaGUvIiArIHNxX2hhc2hmblt0YXNrXSArICJfIiArIG1hcHBpbmdbc3FfdGFza1t0YXNr
XV0gKyAiLnRneiIpCiAgICAgICAgICAgIHNzdGF0ZWZpbGUgPSBzc3RhdGVmaWxlLnJlcGxhY2Uo
IiR7QkJfVEFTS0hBU0h9Iiwgc3FfaGFzaFt0YXNrXSkKCiAgICAgICAgICAgIHNyY3VyaSA9ICJm
aWxlOi8vIiArIG9zLnBhdGguYmFzZW5hbWUoc3N0YXRlZmlsZSkKICAgICAgICAgICAgbG9jYWxk
YXRhLnNldFZhcignU1JDX1VSSScsIHNyY3VyaSkKICAgICAgICAgICAgYmIuZGVidWcoMiwgIlNT
dGF0ZTogQXR0ZW1wdGluZyB0byBmZXRjaCAlcyIgJSBzcmN1cmkpCgogICAgICAgICAgICB0cnk6
CiAgICAgICAgICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKHNyY3VyaS5zcGxpdCgp
LCBsb2NhbGRhdGEpCiAgICAgICAgICAgICAgICBmZXRjaGVyLmNoZWNrc3RhdHVzKCkKICAgICAg
ICAgICAgICAgIGJiLmRlYnVnKDIsICJTU3RhdGU6IFN1Y2Nlc3NmdWwgZmV0Y2ggdGVzdCBmb3Ig
JXMiICUgc3JjdXJpKQogICAgICAgICAgICAgICAgcmV0LmFwcGVuZCh0YXNrKQogICAgICAgICAg
ICBleGNlcHQ6CiAgICAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAiU1N0YXRlOiBVbnN1Y2Nlc3Nm
dWwgZmV0Y2ggdGVzdCBmb3IgJXMiICUgc3JjdXJpKQogICAgICAgICAgICAgICAgcGFzcwoKICAg
IHJldHVybiByZXQKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvciAoKSB7CmRlZiBw
YWNrYWdlX3FhX2hhbmRsZV9lcnJvcihlcnJvcl9jbGFzcywgZXJyb3JfbXNnLCBkKToKICAgIHBh
Y2thZ2VfcWFfd3JpdGVfZXJyb3IoZXJyb3JfbXNnLCBkKQogICAgaWYgZXJyb3JfY2xhc3MgaW4g
KGQuZ2V0VmFyKCJFUlJPUl9RQSIsIFRydWUpIG9yICIiKS5zcGxpdCgpOgogICAgICAgIGJiLmVy
cm9yKCJRQSBJc3N1ZTogJXMiICUgZXJyb3JfbXNnKQogICAgICAgIHJldHVybiBGYWxzZQogICAg
ZWxzZToKICAgICAgICBiYi53YXJuKCJRQSBJc3N1ZTogJXMiICUgZXJyb3JfbXNnKQogICAgICAg
IHJldHVybiBUcnVlCn0KCgpweXRob24gZG9fcGFja2FnZV9pcGsgKCkgewoJaW1wb3J0IHJlLCBj
b3B5CglpbXBvcnQgdGV4dHdyYXAKCgl3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVInLCBUcnVl
KQoJb3V0ZGlyID0gZC5nZXRWYXIoJ1BLR1dSSVRFRElSSVBLJywgVHJ1ZSkKCXRtcGRpciA9IGQu
Z2V0VmFyKCdUTVBESVInLCBUcnVlKQoJcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJywgVHJ1
ZSkKCWlmIG5vdCB3b3JrZGlyIG9yIG5vdCBvdXRkaXIgb3Igbm90IHRtcGRpcjoKCQliYi5lcnJv
cigiVmFyaWFibGVzIGluY29ycmVjdGx5IHNldCwgdW5hYmxlIHRvIHBhY2thZ2UiKQoJCXJldHVy
bgoKCXBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSkKCWlmIG5vdCBwYWNrYWdl
cyBvciBwYWNrYWdlcyA9PSAnJzoKCQliYi5kZWJ1ZygxLCAiTm8gcGFja2FnZXM7IG5vdGhpbmcg
dG8gZG8iKQoJCXJldHVybgoKCSMgV2UncmUgYWJvdXQgdG8gYWRkIG5ldyBwYWNrYWdlcyBzbyB0
aGUgaW5kZXggbmVlZHMgdG8gYmUgY2hlY2tlZAogICAgICAgICMgc28gcmVtb3ZlIHRoZSBhcHBy
b3ByaWF0ZSBzdGFtcCBmaWxlLgoJaWYgb3MuYWNjZXNzKG9zLnBhdGguam9pbih0bXBkaXIsICJz
dGFtcHMiLCAiSVBLX1BBQ0tBR0VfSU5ERVhfQ0xFQU4iKSwgb3MuUl9PSyk6CgkJb3MudW5saW5r
KG9zLnBhdGguam9pbih0bXBkaXIsICJzdGFtcHMiLCAiSVBLX1BBQ0tBR0VfSU5ERVhfQ0xFQU4i
KSkKCglmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CgkJbG9jYWxkYXRhID0gYmIuZGF0YS5j
cmVhdGVDb3B5KGQpCgkJcm9vdCA9ICIlcy8lcyIgJSAocGtnZGVzdCwgcGtnKQoKCQlsZiA9IGJi
LnV0aWxzLmxvY2tmaWxlKHJvb3QgKyAiLmxvY2siKQoKCQlsb2NhbGRhdGEuc2V0VmFyKCdST09U
JywgJycpCgkJbG9jYWxkYXRhLnNldFZhcignUk9PVF8lcycgJSBwa2csIHJvb3QpCgkJcGtnbmFt
ZSA9IGxvY2FsZGF0YS5nZXRWYXIoJ1BLR18lcycgJSBwa2csIFRydWUpCgkJaWYgbm90IHBrZ25h
bWU6CgkJCXBrZ25hbWUgPSBwa2cKCQlsb2NhbGRhdGEuc2V0VmFyKCdQS0cnLCBwa2duYW1lKQoK
CQlsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCBwa2cpCgoJCWJiLmRhdGEudXBkYXRlX2Rh
dGEobG9jYWxkYXRhKQoJCWJhc2VkaXIgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKHJv
b3QpKQoJCWFyY2ggPSBsb2NhbGRhdGEuZ2V0VmFyKCdQQUNLQUdFX0FSQ0gnLCBUcnVlKQoJCXBr
Z291dGRpciA9ICIlcy8lcyIgJSAob3V0ZGlyLCBhcmNoKQoJCWJiLm1rZGlyaGllcihwa2dvdXRk
aXIpCgkJb3MuY2hkaXIocm9vdCkKCQlmcm9tIGdsb2IgaW1wb3J0IGdsb2IKCQlnID0gZ2xvYign
KicpCgkJdHJ5OgoJCQlkZWwgZ1tnLmluZGV4KCdDT05UUk9MJyldCgkJCWRlbCBnW2cuaW5kZXgo
Jy4vQ09OVFJPTCcpXQoJCWV4Y2VwdCBWYWx1ZUVycm9yOgoJCQlwYXNzCgkJaWYgbm90IGcgYW5k
IGxvY2FsZGF0YS5nZXRWYXIoJ0FMTE9XX0VNUFRZJykgIT0gIjEiOgoJCQliYi5ub3RlKCJOb3Qg
Y3JlYXRpbmcgZW1wdHkgYXJjaGl2ZSBmb3IgJXMtJXMtJXMiICUgKHBrZywgbG9jYWxkYXRhLmdl
dFZhcignUEtHVicsIFRydWUpLCBsb2NhbGRhdGEuZ2V0VmFyKCdQS0dSJywgVHJ1ZSkpKQoJCQli
Yi51dGlscy51bmxvY2tmaWxlKGxmKQoJCQljb250aW51ZQoKCQljb250cm9sZGlyID0gb3MucGF0
aC5qb2luKHJvb3QsICdDT05UUk9MJykKCQliYi5ta2RpcmhpZXIoY29udHJvbGRpcikKCQl0cnk6
CgkJCWN0cmxmaWxlID0gZmlsZShvcy5wYXRoLmpvaW4oY29udHJvbGRpciwgJ2NvbnRyb2wnKSwg
J3cnKQoJCWV4Y2VwdCBPU0Vycm9yOgoJCQliYi51dGlscy51bmxvY2tmaWxlKGxmKQoJCQlyYWlz
ZSBiYi5idWlsZC5GdW5jRmFpbGVkKCJ1bmFibGUgdG8gb3BlbiBjb250cm9sIGZpbGUgZm9yIHdy
aXRpbmcuIikKCgkJZmllbGRzID0gW10KCQlwZSA9IGQuZ2V0VmFyKCdQS0dFJywgVHJ1ZSkKCQlp
ZiBwZSBhbmQgaW50KHBlKSA+IDA6CgkJCWZpZWxkcy5hcHBlbmQoWyJWZXJzaW9uOiAlczolcy0l
c1xuIiwgWydQS0dFJywgJ1BLR1YnLCAnUEtHUiddXSkKCQllbHNlOgoJCQlmaWVsZHMuYXBwZW5k
KFsiVmVyc2lvbjogJXMtJXNcbiIsIFsnUEtHVicsICdQS0dSJ11dKQoJCWZpZWxkcy5hcHBlbmQo
WyJEZXNjcmlwdGlvbjogJXNcbiIsIFsnREVTQ1JJUFRJT04nXV0pCgkJZmllbGRzLmFwcGVuZChb
IlNlY3Rpb246ICVzXG4iLCBbJ1NFQ1RJT04nXV0pCgkJZmllbGRzLmFwcGVuZChbIlByaW9yaXR5
OiAlc1xuIiwgWydQUklPUklUWSddXSkKCQlmaWVsZHMuYXBwZW5kKFsiTWFpbnRhaW5lcjogJXNc
biIsIFsnTUFJTlRBSU5FUiddXSkKCQlmaWVsZHMuYXBwZW5kKFsiTGljZW5zZTogJXNcbiIsIFsn
TElDRU5TRSddXSkKCQlmaWVsZHMuYXBwZW5kKFsiQXJjaGl0ZWN0dXJlOiAlc1xuIiwgWydQQUNL
QUdFX0FSQ0gnXV0pCgkJZmllbGRzLmFwcGVuZChbIk9FOiAlc1xuIiwgWydQTiddXSkKCQlmaWVs
ZHMuYXBwZW5kKFsiSG9tZXBhZ2U6ICVzXG4iLCBbJ0hPTUVQQUdFJ11dKQoKCQlkZWYgcHVsbERh
dGEobCwgZCk6CgkJCWwyID0gW10KCQkJZm9yIGkgaW4gbDoKCQkJCWwyLmFwcGVuZChkLmdldFZh
cihpLCBUcnVlKSkKCQkJcmV0dXJuIGwyCgoJCWN0cmxmaWxlLndyaXRlKCJQYWNrYWdlOiAlc1xu
IiAlIHBrZ25hbWUpCgkJIyBjaGVjayBmb3IgcmVxdWlyZWQgZmllbGRzCgkJdHJ5OgoJCQlmb3Ig
KGMsIGZzKSBpbiBmaWVsZHM6CgkJCQlmb3IgZiBpbiBmczoKCQkJCQlpZiBsb2NhbGRhdGEuZ2V0
VmFyKGYpIGlzIE5vbmU6CgkJCQkJCXJhaXNlIEtleUVycm9yKGYpCgkJCQkjIFNwZWNpYWwgYmVo
YXZpb3IgZm9yIGRlc2NyaXB0aW9uLi4uCgkJCQlpZiAnREVTQ1JJUFRJT04nIGluIGZzOgoJCQkJ
CXN1bW1hcnkgPSBsb2NhbGRhdGEuZ2V0VmFyKCdTVU1NQVJZJywgVHJ1ZSkgb3IgbG9jYWxkYXRh
LmdldFZhcignREVTQ1JJUFRJT04nLCBUcnVlKSBvciAiLiIKCQkJCQlkZXNjcmlwdGlvbiA9IGxv
Y2FsZGF0YS5nZXRWYXIoJ0RFU0NSSVBUSU9OJywgVHJ1ZSkgb3IgIi4iCgkJCQkJZGVzY3JpcHRp
b24gPSB0ZXh0d3JhcC5kZWRlbnQoZGVzY3JpcHRpb24pLnN0cmlwKCkKCQkJCQljdHJsZmlsZS53
cml0ZSgnRGVzY3JpcHRpb246ICVzXG4nICUgc3VtbWFyeSkKCQkJCQljdHJsZmlsZS53cml0ZSgn
JXNcbicgJSB0ZXh0d3JhcC5maWxsKGRlc2NyaXB0aW9uLCB3aWR0aD03NCwgaW5pdGlhbF9pbmRl
bnQ9JyAnLCBzdWJzZXF1ZW50X2luZGVudD0nICcpKQoJCQkJZWxzZToKCQkJCQljdHJsZmlsZS53
cml0ZShjICUgdHVwbGUocHVsbERhdGEoZnMsIGxvY2FsZGF0YSkpKQoJCWV4Y2VwdCBLZXlFcnJv
cjoKCQkJaW1wb3J0IHN5cwoJCQkodHlwZSwgdmFsdWUsIHRyYWNlYmFjaykgPSBzeXMuZXhjX2lu
Zm8oKQoJCQljdHJsZmlsZS5jbG9zZSgpCgkJCWJiLnV0aWxzLnVubG9ja2ZpbGUobGYpCgkJCXJh
aXNlIGJiLmJ1aWxkLkZ1bmNGYWlsZWQoIk1pc3NpbmcgZmllbGQgZm9yIGlwayBnZW5lcmF0aW9u
OiAlcyIgJSB2YWx1ZSkKCQkjIG1vcmUgZmllbGRzCgoJCWJiLmJ1aWxkLmV4ZWNfZnVuYygibWFw
cGluZ19yZW5hbWVfaG9vayIsIGxvY2FsZGF0YSkKCgkJcmRlcGVuZHMgPSBiYi51dGlscy5leHBs
b2RlX2RlcF92ZXJzaW9ucyhsb2NhbGRhdGEuZ2V0VmFyKCJSREVQRU5EUyIsIFRydWUpIG9yICIi
KQoJCXJyZWNvbW1lbmRzID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMobG9jYWxkYXRh
LmdldFZhcigiUlJFQ09NTUVORFMiLCBUcnVlKSBvciAiIikKCQlyc3VnZ2VzdHMgPSBiYi51dGls
cy5leHBsb2RlX2RlcF92ZXJzaW9ucyhsb2NhbGRhdGEuZ2V0VmFyKCJSU1VHR0VTVFMiLCBUcnVl
KSBvciAiIikKCQlycHJvdmlkZXMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9ucyhsb2Nh
bGRhdGEuZ2V0VmFyKCJSUFJPVklERVMiLCBUcnVlKSBvciAiIikKCQlycmVwbGFjZXMgPSBiYi51
dGlscy5leHBsb2RlX2RlcF92ZXJzaW9ucyhsb2NhbGRhdGEuZ2V0VmFyKCJSUkVQTEFDRVMiLCBU
cnVlKSBvciAiIikKCQlyY29uZmxpY3RzID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMo
bG9jYWxkYXRhLmdldFZhcigiUkNPTkZMSUNUUyIsIFRydWUpIG9yICIiKQoKCQlpZiByZGVwZW5k
czoKCQkJY3RybGZpbGUud3JpdGUoIkRlcGVuZHM6ICVzXG4iICUgYmIudXRpbHMuam9pbl9kZXBz
KHJkZXBlbmRzKSkKCQlpZiByc3VnZ2VzdHM6CgkJCWN0cmxmaWxlLndyaXRlKCJTdWdnZXN0czog
JXNcbiIgJSBiYi51dGlscy5qb2luX2RlcHMocnN1Z2dlc3RzKSkKCQlpZiBycmVjb21tZW5kczoK
CQkJY3RybGZpbGUud3JpdGUoIlJlY29tbWVuZHM6ICVzXG4iICUgYmIudXRpbHMuam9pbl9kZXBz
KHJyZWNvbW1lbmRzKSkKCQlpZiBycHJvdmlkZXM6CgkJCWN0cmxmaWxlLndyaXRlKCJQcm92aWRl
czogJXNcbiIgJSBiYi51dGlscy5qb2luX2RlcHMocnByb3ZpZGVzKSkKCQlpZiBycmVwbGFjZXM6
CgkJCWN0cmxmaWxlLndyaXRlKCJSZXBsYWNlczogJXNcbiIgJSBiYi51dGlscy5qb2luX2RlcHMo
cnJlcGxhY2VzKSkKCQlpZiByY29uZmxpY3RzOgoJCQljdHJsZmlsZS53cml0ZSgiQ29uZmxpY3Rz
OiAlc1xuIiAlIGJiLnV0aWxzLmpvaW5fZGVwcyhyY29uZmxpY3RzKSkKCQlzcmNfdXJpID0gbG9j
YWxkYXRhLmdldFZhcigiU1JDX1VSSSIsIFRydWUpIG9yICJOb25lIgoJCWlmIHNyY191cmk6CgkJ
CXNyY191cmkgPSByZS5zdWIoIlxzKyIsICIgIiwgc3JjX3VyaSkKCQkJY3RybGZpbGUud3JpdGUo
IlNvdXJjZTogJXNcbiIgJSAiICIuam9pbihzcmNfdXJpLnNwbGl0KCkpKQoJCWN0cmxmaWxlLmNs
b3NlKCkKCgkJZm9yIHNjcmlwdCBpbiBbInByZWluc3QiLCAicG9zdGluc3QiLCAicHJlcm0iLCAi
cG9zdHJtIl06CgkJCXNjcmlwdHZhciA9IGxvY2FsZGF0YS5nZXRWYXIoJ3BrZ18lcycgJSBzY3Jp
cHQsIFRydWUpCgkJCWlmIG5vdCBzY3JpcHR2YXI6CgkJCQljb250aW51ZQoJCQl0cnk6CgkJCQlz
Y3JpcHRmaWxlID0gZmlsZShvcy5wYXRoLmpvaW4oY29udHJvbGRpciwgc2NyaXB0KSwgJ3cnKQoJ
CQlleGNlcHQgT1NFcnJvcjoKCQkJCWJiLnV0aWxzLnVubG9ja2ZpbGUobGYpCgkJCQlyYWlzZSBi
Yi5idWlsZC5GdW5jRmFpbGVkKCJ1bmFibGUgdG8gb3BlbiAlcyBzY3JpcHQgZmlsZSBmb3Igd3Jp
dGluZy4iICUgc2NyaXB0KQoJCQlzY3JpcHRmaWxlLndyaXRlKHNjcmlwdHZhcikKCQkJc2NyaXB0
ZmlsZS5jbG9zZSgpCgkJCW9zLmNobW9kKG9zLnBhdGguam9pbihjb250cm9sZGlyLCBzY3JpcHQp
LCAwNzU1KQoKCQljb25mZmlsZXNfc3RyID0gbG9jYWxkYXRhLmdldFZhcigiQ09ORkZJTEVTIiwg
VHJ1ZSkKCQlpZiBjb25mZmlsZXNfc3RyOgoJCQl0cnk6CgkJCQljb25mZmlsZXMgPSBmaWxlKG9z
LnBhdGguam9pbihjb250cm9sZGlyLCAnY29uZmZpbGVzJyksICd3JykKCQkJZXhjZXB0IE9TRXJy
b3I6CgkJCQliYi51dGlscy51bmxvY2tmaWxlKGxmKQoJCQkJcmFpc2UgYmIuYnVpbGQuRnVuY0Zh
aWxlZCgidW5hYmxlIHRvIG9wZW4gY29uZmZpbGVzIGZvciB3cml0aW5nLiIpCgkJCWZvciBmIGlu
IGNvbmZmaWxlc19zdHIuc3BsaXQoKToKCQkJCWNvbmZmaWxlcy53cml0ZSgnJXNcbicgJSBmKQoJ
CQljb25mZmlsZXMuY2xvc2UoKQoKCQlvcy5jaGRpcihiYXNlZGlyKQoJCXJldCA9IG9zLnN5c3Rl
bSgiUEFUSD1cIiVzXCIgJXMgJXMgJXMiICUgKGxvY2FsZGF0YS5nZXRWYXIoIlBBVEgiLCBUcnVl
KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGQuZ2V0VmFyKCJPUEtHQlVJTERDTUQiLDEpLCBwa2csIHBrZ291dGRpcikpCgkJaWYgcmV0
ICE9IDA6CgkJCWJiLnV0aWxzLnVubG9ja2ZpbGUobGYpCgkJCXJhaXNlIGJiLmJ1aWxkLkZ1bmNG
YWlsZWQoIm9wa2ctYnVpbGQgZXhlY3V0aW9uIGZhaWxlZCIpCgoJCWJiLnV0aWxzLnBydW5lZGly
KGNvbnRyb2xkaXIpCgkJYmIudXRpbHMudW5sb2NrZmlsZShsZikKCn0KCgpweXRob24gYWxsX211
bHRpbGliX3R1bmVfdmFsdWVzICgpIHsKZGVmIGFsbF9tdWx0aWxpYl90dW5lX3ZhbHVlcyhkLCB2
YXIsIHVuaXF1ZSA9IFRydWUsIG5lZWRfc3BsaXQgPSBUcnVlLCBkZWxpbSA9ICcgJyk6CgkiIiJS
ZXR1cm4gYSBzdHJpbmcgb2YgYWxsICR7dmFyfSBpbiBhbGwgbXVsdGlsaWIgdHVuZSBjb25maWd1
cmF0aW9uIiIiCgl2YWx1ZXMgPSBbXQoJdmFsdWUgPSBkLmdldFZhcih2YXIsIFRydWUpIG9yICIi
CglpZiB2YWx1ZSAhPSAiIjoKCQlpZiBuZWVkX3NwbGl0OgoJCQlmb3IgaXRlbSBpbiB2YWx1ZS5z
cGxpdChkZWxpbSk6CgkJCQl2YWx1ZXMuYXBwZW5kKGl0ZW0pCgkJZWxzZToKCQkJdmFsdWVzLmFw
cGVuZCh2YWx1ZSkKCXZhcmlhbnRzID0gZC5nZXRWYXIoIk1VTFRJTElCX1ZBUklBTlRTIiwgVHJ1
ZSkgb3IgIiIKCWZvciBpdGVtIGluIHZhcmlhbnRzLnNwbGl0KCk6CgkJbG9jYWxkYXRhID0gYmIu
ZGF0YS5jcmVhdGVDb3B5KGQpCgkJb3ZlcnJpZGVzID0gbG9jYWxkYXRhLmdldFZhcigiT1ZFUlJJ
REVTIiwgRmFsc2UpICsgIjp2aXJ0Y2xhc3MtbXVsdGlsaWItIiArIGl0ZW0KCQlsb2NhbGRhdGEu
c2V0VmFyKCJPVkVSUklERVMiLCBvdmVycmlkZXMpCgkJYmIuZGF0YS51cGRhdGVfZGF0YShsb2Nh
bGRhdGEpCgkJdmFsdWUgPSBsb2NhbGRhdGEuZ2V0VmFyKHZhciwgVHJ1ZSkgb3IgIiIKCQlpZiB2
YWx1ZSAhPSAiIjoKCQkJaWYgbmVlZF9zcGxpdDoKCQkJCWZvciBpdGVtIGluIHZhbHVlLnNwbGl0
KGRlbGltKToKCQkJCQl2YWx1ZXMuYXBwZW5kKGl0ZW0pCgkJCWVsc2U6CgkJCQl2YWx1ZXMuYXBw
ZW5kKHZhbHVlKQoJaWYgdW5pcXVlOgoJCSN3ZSBkbyB0aGlzIHRvIGtlZXAgb3JkZXIgYXMgbXVj
aCBhcyBwb3NzaWJsZQoJCXJldCA9IFtdCgkJZm9yIHZhbHVlIGluIHZhbHVlczoKCQkJaWYgbm90
IHZhbHVlIGluIHJldDoKCQkJCXJldC5hcHBlbmQodmFsdWUpCgllbHNlOgoJCXJldCA9IHZhbHVl
cwoJcmV0dXJuICIgIi5qb2luKHJldCl9CgoKcHl0aG9uIHBhY2thZ2VfZ2V0X2F1dG9fcHIgKCkg
ewoJIyBwZXIgcmVjaXBlIFBSU0VSVl9IT1NUIFBSU0VSVl9QT1JUCglwbiA9IGQuZ2V0VmFyKCdQ
TicsIFRydWUpCglob3N0ID0gZC5nZXRWYXIoIlBSU0VSVl9IT1NUXyIgKyBwbiwgVHJ1ZSkKCXBv
cnQgPSBkLmdldFZhcigiUFJTRVJWX1BPUlRfIiArIHBuLCBUcnVlKQoJaWYgbm90IChob3N0IGlz
IE5vbmUpOgoJCWQuc2V0VmFyKCJQUlNFUlZfSE9TVCIsIGhvc3QpCglpZiBub3QgKHBvcnQgaXMg
Tm9uZSk6CgkJZC5zZXRWYXIoIlBSU0VSVl9QT1JUIiwgcG9ydCkKCWlmIGQuZ2V0VmFyKCdVU0Vf
UFJfU0VSVicsIFRydWUpICE9ICIwIjoKCQl0cnk6CgkJCWF1dG9fcHI9cHJzZXJ2X2dldF9wcl9h
dXRvKGQpCgkJZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgoJCQliYi5mYXRhbCgiQ2FuIE5PVCBnZXQg
UFJBVVRPLCBleGNlcHRpb24gJXMiICUgIHN0cihlKSkKCQkJcmV0dXJuCgkJaWYgYXV0b19wciBp
cyBOb25lOgoJCQlpZiBkLmdldFZhcignUFJTRVJWX0xPQ0tET1dOJywgVHJ1ZSk6CgkJCQliYi5m
YXRhbCgiQ2FuIE5PVCBnZXQgUFJBVVRPIGZyb20gbG9ja2Rvd24gZXhwb3J0ZWQgZmlsZSIpCgkJ
CWVsc2U6CgkJCQliYi5mYXRhbCgiQ2FuIE5PVCBnZXQgUFJBVVRPIGZyb20gcmVtb3RlIFBSIHNl
cnZpY2UiKQoJCQlyZXR1cm4KCQlkLnNldFZhcignUFJBVVRPJyxzdHIoYXV0b19wcikpCn0KCgpw
eXRob24gcmVhZF9zaGxpYmRlcHMgKCkgewoJcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMn
LCBUcnVlKS5zcGxpdCgpCglmb3IgcGtnIGluIHBhY2thZ2VzOgoJCXJkZXBlbmRzID0gYmIudXRp
bHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMoZC5nZXRWYXIoJ1JERVBFTkRTXycgKyBwa2csIEZhbHNl
KSBvciBkLmdldFZhcignUkRFUEVORFMnLCBGYWxzZSkgb3IgIiIpCgoJCWZvciBleHRlbnNpb24g
aW4gIi5zaGxpYmRlcHMiLCAiLnBjZGVwcyIsICIuY2xpbGliZGVwcyI6CgkJCWRlcHNmaWxlID0g
ZC5leHBhbmQoIi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsvY29y
ZTItY2NkLWxpbnV4L21ldGEtdG9vbGNoYWluLTEuMC1yNy9wYWNrYWdlcy1zcGxpdC8iICsgcGtn
ICsgZXh0ZW5zaW9uKQoJCQlpZiBvcy5hY2Nlc3MoZGVwc2ZpbGUsIG9zLlJfT0spOgoJCQkJZmQg
PSBmaWxlKGRlcHNmaWxlKQoJCQkJbGluZXMgPSBmZC5yZWFkbGluZXMoKQoJCQkJZmQuY2xvc2Uo
KQoJCQkJZm9yIGwgaW4gbGluZXM6CgkJCQkJcmRlcGVuZHNbbC5yc3RyaXAoKV0gPSAiIgoJCWQu
c2V0VmFyKCdSREVQRU5EU18nICsgcGtnLCBiYi51dGlscy5qb2luX2RlcHMocmRlcGVuZHMsIGNv
bW1hc2VwPUZhbHNlKSkKfQoKCnB5dGhvbiBiYXNlX2RvX2ZldGNoICgpIHsKCglzcmNfdXJpID0g
KGQuZ2V0VmFyKCdTUkNfVVJJJywgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKCWlmIGxlbihzcmNfdXJp
KSA9PSAwOgoJCXJldHVybgoKCWxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQoJYmIu
ZGF0YS51cGRhdGVfZGF0YShsb2NhbGRhdGEpCgogICAgICAgIHRyeToKICAgICAgICAgICAgZmV0
Y2hlciA9IGJiLmZldGNoMi5GZXRjaChzcmNfdXJpLCBsb2NhbGRhdGEpCiAgICAgICAgICAgIGZl
dGNoZXIuZG93bmxvYWQoKQogICAgICAgIGV4Y2VwdCBiYi5mZXRjaDIuQkJGZXRjaEV4Y2VwdGlv
biwgZToKICAgICAgICAgICAgcmFpc2UgYmIuYnVpbGQuRnVuY0ZhaWxlZChlKQp9CgoKcHl0aG9u
IGRvX3BvcHVsYXRlX3N5c3Jvb3QgKCkgewogICAgIwogICAgIyBpZiBkb19zdGFnZSBleGlzdHMs
IHdlJ3JlIGxlZ2FjeS4gSW4gdGhhdCBjYXNlIHJ1biB0aGUgZG9fc3RhZ2UsCiAgICAjIG1vZGlm
eSB0aGUgU1lTUk9PVF9ERVNURElSIHZhcmlhYmxlIGFuZCB0aGVuIHJ1biB0aGUgc3RhZ2luZyBw
cmVwcm9jZXNzCiAgICAjIGZ1bmN0aW9ucyBhZ2FpbnN0IHN0YWdpbmcgZGlyZWN0bHkuCiAgICAj
CiAgICAjIE90aGVyd2lzZSBzZXR1cCBhIGRlc3RkaXIsIGNvcHkgdGhlIHJlc3VsdHMgZnJvbSBk
b19pbnN0YWxsCiAgICAjIGFuZCBydW4gdGhlIHN0YWdpbmcgcHJlcHJvY2VzcyBhZ2FpbnN0IHRo
YXQKICAgICMKCiAgICBiYi5idWlsZC5leGVjX2Z1bmMoInN5c3Jvb3Rfc3RhZ2VfYWxsIiwgZCkK
ICAgIGZvciBmIGluIChkLmdldFZhcignU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTJywgVHJ1ZSkg
b3IgJycpLnNwbGl0KCk6CiAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKGYsIGQpCn0KCgpweXRo
b24gc2l0ZWluZm9fZGF0YSAoKSB7CmRlZiBzaXRlaW5mb19kYXRhKGQpOgogICAgYXJjaGluZm8g
PSB7CiAgICAgICAgImFsbGFyY2giOiAiZW5kaWFuLWxpdHRsZSBiaXQtMzIiLCAjIGJvZ3VzLCBi
dXQgYmV0dGVyIHRoYW4gc3BlY2lhbC1jYXNpbmcgdGhlIGNoZWNrcyBiZWxvdyBmb3IgYWxsYXJj
aAogICAgICAgICJhcm0iOiAiZW5kaWFuLWxpdHRsZSBiaXQtMzIgYXJtLWNvbW1vbiIsCiAgICAg
ICAgImFybWViIjogImVuZGlhbi1iaWcgYml0LTMyIGFybS1jb21tb24iLAogICAgICAgICJhdnIz
MiI6ICJlbmRpYW4tYmlnIGJpdC0zMiBhdnIzMi1jb21tb24iLAogICAgICAgICJiZmluIjogImVu
ZGlhbi1saXR0bGUgYml0LTMyIGJmaW4tY29tbW9uIiwKICAgICAgICAiaTM4NiI6ICJlbmRpYW4t
bGl0dGxlIGJpdC0zMiBpeDg2LWNvbW1vbiIsCiAgICAgICAgImk0ODYiOiAiZW5kaWFuLWxpdHRs
ZSBiaXQtMzIgaXg4Ni1jb21tb24iLAogICAgICAgICJpNTg2IjogImVuZGlhbi1saXR0bGUgYml0
LTMyIGl4ODYtY29tbW9uIiwKICAgICAgICAiaTY4NiI6ICJlbmRpYW4tbGl0dGxlIGJpdC0zMiBp
eDg2LWNvbW1vbiIsCiAgICAgICAgImlhNjQiOiAiZW5kaWFuLWxpdHRsZSBiaXQtNjQiLAogICAg
ICAgICJtaWNyb2JsYXplIjogImVuZGlhbi1iaWcgYml0LTMyIG1pY3JvYmxhemUtY29tbW9uIiwK
ICAgICAgICAibWljcm9ibGF6ZWVsIjogImVuZGlhbi1saXR0bGUgYml0LTMyIG1pY3JvYmxhemUt
Y29tbW9uIiwKICAgICAgICAibWlwcyI6ICJlbmRpYW4tYmlnIGJpdC0zMiBtaXBzLWNvbW1vbiIs
CiAgICAgICAgIm1pcHM2NCI6ICJlbmRpYW4tYmlnIGJpdC02NCBtaXBzNjQtY29tbW9uIiwKICAg
ICAgICAibWlwczY0ZWwiOiAiZW5kaWFuLWxpdHRsZSBiaXQtNjQgbWlwczY0LWNvbW1vbiIsCiAg
ICAgICAgIm1pcHNlbCI6ICJlbmRpYW4tbGl0dGxlIGJpdC0zMiBtaXBzLWNvbW1vbiIsCiAgICAg
ICAgInBvd2VycGMiOiAiZW5kaWFuLWJpZyBiaXQtMzIgcG93ZXJwYy1jb21tb24iLAogICAgICAg
ICJuaW9zMiI6ICJlbmRpYW4tbGl0dGxlIGJpdC0zMiBuaW9zMi1jb21tb24iLAogICAgICAgICJw
b3dlcnBjNjQiOiAiZW5kaWFuLWJpZyBiaXQtNjQgcG93ZXJwYy1jb21tb24iLAogICAgICAgICJw
cGMiOiAiZW5kaWFuLWJpZyBiaXQtMzIgcG93ZXJwYy1jb21tb24iLAogICAgICAgICJwcGM2NCI6
ICJlbmRpYW4tYmlnIGJpdC02NCBwb3dlcnBjLWNvbW1vbiIsCiAgICAgICAgInNoMyI6ICJlbmRp
YW4tbGl0dGxlIGJpdC0zMiBzaC1jb21tb24iLAogICAgICAgICJzaDQiOiAiZW5kaWFuLWxpdHRs
ZSBiaXQtMzIgc2gtY29tbW9uIiwKICAgICAgICAic3BhcmMiOiAiZW5kaWFuLWJpZyBiaXQtMzIi
LAogICAgICAgICJ2aWFjMyI6ICJlbmRpYW4tbGl0dGxlIGJpdC0zMiBpeDg2LWNvbW1vbiIsCiAg
ICAgICAgIng4Nl82NCI6ICJlbmRpYW4tbGl0dGxlIiwgIyBiaXRpbmZvIHNwZWNpZmllZCBpbiB0
YXJnZXRpbmZvCiAgICB9CiAgICBvc2luZm8gPSB7CiAgICAgICAgImRhcndpbiI6ICJjb21tb24t
ZGFyd2luIiwKICAgICAgICAiZGFyd2luOSI6ICJjb21tb24tZGFyd2luIiwKICAgICAgICAibGlu
dXgiOiAiY29tbW9uLWxpbnV4IGNvbW1vbi1nbGliYyIsCiAgICAgICAgImxpbnV4LWdudSI6ICJj
b21tb24tbGludXggY29tbW9uLWdsaWJjIiwKICAgICAgICAibGludXgtZ251eDMyIjogImNvbW1v
bi1saW51eCBjb21tb24tZ2xpYmMiLAogICAgICAgICJsaW51eC1nbnVlYWJpIjogImNvbW1vbi1s
aW51eCBjb21tb24tZ2xpYmMiLAogICAgICAgICJsaW51eC1nbnVzcGUiOiAiY29tbW9uLWxpbnV4
IGNvbW1vbi1nbGliYyIsCiAgICAgICAgImxpbnV4LXVjbGliYyI6ICJjb21tb24tbGludXggY29t
bW9uLXVjbGliYyIsCiAgICAgICAgImxpbnV4LXVjbGliY2VhYmkiOiAiY29tbW9uLWxpbnV4IGNv
bW1vbi11Y2xpYmMiLAogICAgICAgICJsaW51eC11Y2xpYmNzcGUiOiAiY29tbW9uLWxpbnV4IGNv
bW1vbi11Y2xpYmMiLAogICAgICAgICJ1Y2xpbnV4LXVjbGliYyI6ICJjb21tb24tdWNsaWJjIiwK
ICAgICAgICAiY3lnd2luIjogImNvbW1vbi1jeWd3aW4iLAogICAgICAgICJtaW5ndzMyIjogImNv
bW1vbi1taW5ndyIsCiAgICB9CiAgICB0YXJnZXRpbmZvID0gewogICAgICAgICJhcm0tbGludXgt
Z251ZWFiaSI6ICJhcm0tbGludXgiLAogICAgICAgICJhcm0tbGludXgtdWNsaWJjZWFiaSI6ICJh
cm0tbGludXgtdWNsaWJjIiwKICAgICAgICAiYXJtZWItbGludXgtZ251ZWFiaSI6ICJhcm1lYi1s
aW51eCIsCiAgICAgICAgImFybWViLWxpbnV4LXVjbGliY2VhYmkiOiAiYXJtZWItbGludXgtdWNs
aWJjIiwKICAgICAgICAicG93ZXJwYy1saW51eCI6ICJwb3dlcnBjMzItbGludXgiLAogICAgICAg
ICJwb3dlcnBjLWxpbnV4LXVjbGliYyI6ICJwb3dlcnBjLWxpbnV4IHBvd2VycGMzMi1saW51eCIs
CiAgICAgICAgInBvd2VycGMtbGludXgtZ251c3BlIjogInBvd2VycGMtbGludXggcG93ZXJwYzMy
LWxpbnV4IiwKICAgICAgICAicG93ZXJwYy1saW51eC11Y2xpYmNzcGUiOiAicG93ZXJwYy1saW51
eCBwb3dlcnBjMzItbGludXggcG93ZXJwYy1saW51eC11Y2xpYmMiLAogICAgICAgICJwb3dlcnBj
NjQtbGludXgtZ251c3BlIjogInBvd2VycGMtbGludXggcG93ZXJwYzY0LWxpbnV4IiwKICAgICAg
ICAicG93ZXJwYzY0LWxpbnV4IjogInBvd2VycGMtbGludXgiLAogICAgICAgICJ4ODZfNjQtY3ln
d2luIjogImJpdC02NCIsCiAgICAgICAgIng4Nl82NC1kYXJ3aW4iOiAiYml0LTY0IiwKICAgICAg
ICAieDg2XzY0LWRhcndpbjkiOiAiYml0LTY0IiwKICAgICAgICAieDg2XzY0LWxpbnV4IjogImJp
dC02NCIsCiAgICAgICAgIng4Nl82NC1saW51eC11Y2xpYmMiOiAiYml0LTY0IiwKICAgICAgICAi
eDg2XzY0LWxpbnV4LWdudSI6ICJiaXQtNjQgeDg2XzY0LWxpbnV4IiwKICAgICAgICAieDg2XzY0
LWxpbnV4LWdudXgzMiI6ICJiaXQtMzIgaXg4Ni1jb21tb24geDMyLWxpbnV4IiwKICAgICAgICAi
eDg2XzY0LW1pbmd3MzIiOiAiYml0LTY0IiwKICAgIH0KCiAgICBob3N0YXJjaCA9IGQuZ2V0VmFy
KCJIT1NUX0FSQ0giLCBUcnVlKQogICAgaG9zdG9zID0gZC5nZXRWYXIoIkhPU1RfT1MiLCBUcnVl
KQogICAgdGFyZ2V0ID0gIiVzLSVzIiAlIChob3N0YXJjaCwgaG9zdG9zKQoKICAgIHNpdGVkYXRh
ID0gW10KICAgIGlmIGhvc3RhcmNoIGluIGFyY2hpbmZvOgogICAgICAgIHNpdGVkYXRhLmV4dGVu
ZChhcmNoaW5mb1tob3N0YXJjaF0uc3BsaXQoKSkKICAgIGlmIGhvc3RvcyBpbiBvc2luZm86CiAg
ICAgICAgc2l0ZWRhdGEuZXh0ZW5kKG9zaW5mb1tob3N0b3NdLnNwbGl0KCkpCiAgICBpZiB0YXJn
ZXQgaW4gdGFyZ2V0aW5mbzoKICAgICAgICBzaXRlZGF0YS5leHRlbmQodGFyZ2V0aW5mb1t0YXJn
ZXRdLnNwbGl0KCkpCiAgICBzaXRlZGF0YS5hcHBlbmQodGFyZ2V0KQogICAgc2l0ZWRhdGEuYXBw
ZW5kKCJjb21tb24iKQoKICAgIGJiLmRlYnVnKDEsICJTSVRFIGZpbGVzICVzIiAlIHNpdGVkYXRh
KTsKICAgIHJldHVybiBzaXRlZGF0YQp9CgoKcHl0aG9uIHBhdGNoX3BhdGggKCkgewpkZWYgcGF0
Y2hfcGF0aCh1cmwsIGZldGNoLCB3b3JrZGlyKToKCSIiIlJldHVybiB0aGUgbG9jYWwgcGF0aCBv
ZiBhIHBhdGNoLCBvciBOb25lIGlmIHRoaXMgaXNuJ3QgYSBwYXRjaCIiIgoKCWxvY2FsID0gZmV0
Y2gubG9jYWxwYXRoKHVybCkKCWJhc2UsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5i
YXNlbmFtZShsb2NhbCkpCglpZiBleHQgaW4gKCcuZ3onLCAnLmJ6MicsICcuWicpOgoJCWxvY2Fs
ID0gb3MucGF0aC5qb2luKHdvcmtkaXIsIGJhc2UpCgkJZXh0ID0gb3MucGF0aC5zcGxpdGV4dChi
YXNlKVsxXQoKCXVybGRhdGEgPSBmZXRjaC51ZFt1cmxdCglpZiAiYXBwbHkiIGluIHVybGRhdGEu
cGFybToKCQlhcHBseSA9IG9lLnR5cGVzLmJvb2xlYW4odXJsZGF0YS5wYXJtWyJhcHBseSJdKQoJ
CWlmIG5vdCBhcHBseToKCQkJcmV0dXJuCgllbGlmIGV4dCBub3QgaW4gKCIuZGlmZiIsICIucGF0
Y2giKToKCQlyZXR1cm4KCglyZXR1cm4gbG9jYWwKfQoKCnB5dGhvbiBiYXNlX2dldF9tZXRhZGF0
YV9tb25vdG9uZV9yZXZpc2lvbiAoKSB7CmRlZiBiYXNlX2dldF9tZXRhZGF0YV9tb25vdG9uZV9y
ZXZpc2lvbihwYXRoLCBkKToKCW1vbm90b25lX3JldmlzaW9uID0gIjx1bmtub3duPiIKCXRyeToK
CQltb25vdG9uZV9yZXZpc2lvbiA9IGZpbGUoICIlcy9fTVROL3JldmlzaW9uIiAlIHBhdGggKS5y
ZWFkKCkuc3RyaXAoKQoJCWlmIG1vbm90b25lX3JldmlzaW9uLnN0YXJ0c3dpdGgoICJmb3JtYXRf
dmVyc2lvbiIgKToKCQkJbW9ub3RvbmVfcmV2aXNpb25fd29yZHMgPSBtb25vdG9uZV9yZXZpc2lv
bi5zcGxpdCgpCgkJCW1vbm90b25lX3JldmlzaW9uID0gbW9ub3RvbmVfcmV2aXNpb25fd29yZHNb
IG1vbm90b25lX3JldmlzaW9uX3dvcmRzLmluZGV4KCAib2xkX3JldmlzaW9uIiApKzFdWzE6LTFd
CglleGNlcHQgSU9FcnJvcjoKCQlwYXNzCglyZXR1cm4gbW9ub3RvbmVfcmV2aXNpb24KfQoKCnB5
dGhvbiBiYXNlX3BhdGhfb3V0ICgpIHsKZGVmIGJhc2VfcGF0aF9vdXQocGF0aCwgZCk6CiAgICBy
ZXR1cm4gb2UucGF0aC5mb3JtYXRfZGlzcGxheShwYXRoLCBkKQp9CgoKcHl0aG9uIGRvX3FhX3N0
YWdpbmcgKCkgewogICAgYmIubm90ZSgiUUEgY2hlY2tpbmcgc3RhZ2luZyIpCgogICAgaWYgbm90
IHBhY2thZ2VfcWFfY2hlY2tfc3RhZ2VkKGQuZXhwYW5kKCcvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC93b3JrL2NvcmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAt
cjcvc3lzcm9vdC1kZXN0ZGlyLy8vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC9zeXNyb290cy9jb25jb3JkaWEvdXNyL2xpYicpLCBkKToKICAgICAgICBiYi5mYXRhbCgiUUEg
c3RhZ2luZyB3YXMgYnJva2VuIGJ5IHRoZSBwYWNrYWdlIGJ1aWx0IGFib3ZlIikKfQoKCnB5dGhv
biBzc3RhdGVfc2V0c2NlbmUgKCkgewpkZWYgc3N0YXRlX3NldHNjZW5lKGQpOgogICAgc2hhcmVk
X3N0YXRlID0gc3N0YXRlX3N0YXRlX2Zyb212YXJzKGQpCiAgICBhY2NlbGVyYXRlID0gc3N0YXRl
X2luc3RhbGxwa2coc2hhcmVkX3N0YXRlLCBkKQogICAgaWYgbm90IGFjY2VsZXJhdGU6CiAgICAg
ICAgcmFpc2UgYmIuYnVpbGQuRnVuY0ZhaWxlZCgiTm8gc3VpdGFibGUgc3RhZ2luZyBwYWNrYWdl
IGZvdW5kIikKfQoKCnB5dGhvbiBkb19zcGxpdF9wYWNrYWdlcyAoKSB7CmRlZiBkb19zcGxpdF9w
YWNrYWdlcyhkLCByb290LCBmaWxlX3JlZ2V4LCBvdXRwdXRfcGF0dGVybiwgZGVzY3JpcHRpb24s
IHBvc3RpbnN0PU5vbmUsIHJlY3Vyc2l2ZT1GYWxzZSwgaG9vaz1Ob25lLCBleHRyYV9kZXBlbmRz
PU5vbmUsIGF1eF9maWxlc19wYXR0ZXJuPU5vbmUsIHBvc3RybT1Ob25lLCBhbGxvd19kaXJzPUZh
bHNlLCBwcmVwZW5kPUZhbHNlLCBtYXRjaF9wYXRoPUZhbHNlLCBhdXhfZmlsZXNfcGF0dGVybl92
ZXJiYXRpbT1Ob25lLCBhbGxvd19saW5rcz1GYWxzZSk6CgkiIiIKCVVzZWQgaW4gLmJiIGZpbGVz
IHRvIHNwbGl0IHVwIGR5bmFtaWNhbGx5IGdlbmVyYXRlZCBzdWJwYWNrYWdlcyBvZiBhCglnaXZl
biBwYWNrYWdlLCB1c3VhbGx5IHBsdWdpbnMgb3IgbW9kdWxlcy4KCSIiIgoKCW1sID0gZC5nZXRW
YXIoIk1MUFJFRklYIiwgVHJ1ZSkKCWlmIG1sOgoJCWlmIG5vdCBvdXRwdXRfcGF0dGVybi5zdGFy
dHN3aXRoKG1sKToKCQkJb3V0cHV0X3BhdHRlcm4gPSBtbCArIG91dHB1dF9wYXR0ZXJuCgoJCW5l
d2RlcHMgPSBbXQoJCWZvciBkZXAgaW4gKGV4dHJhX2RlcGVuZHMgb3IgIiIpLnNwbGl0KCk6CgkJ
CWlmIGRlcC5zdGFydHN3aXRoKG1sKToKCQkJCW5ld2RlcHMuYXBwZW5kKGRlcCkKCQkJZWxzZToK
CQkJCW5ld2RlcHMuYXBwZW5kKG1sICsgZGVwKQoJCWlmIG5ld2RlcHM6CgkJCWV4dHJhX2RlcGVu
ZHMgPSAiICIuam9pbihuZXdkZXBzKQoKCWR2YXIgPSBkLmdldFZhcignUEtHRCcsIFRydWUpCgoJ
cGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnLCBUcnVlKS5zcGxpdCgpCgoJaWYgcG9zdGlu
c3Q6CgkJcG9zdGluc3QgPSAnIyEvYmluL3NoXG4nICsgcG9zdGluc3QgKyAnXG4nCglpZiBwb3N0
cm06CgkJcG9zdHJtID0gJyMhL2Jpbi9zaFxuJyArIHBvc3RybSArICdcbicKCWlmIG5vdCByZWN1
cnNpdmU6CgkJb2JqcyA9IG9zLmxpc3RkaXIoZHZhciArIHJvb3QpCgllbHNlOgoJCW9ianMgPSBb
XQoJCWZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhkdmFyICsgcm9vdCk6CgkJ
CWZvciBmaWxlIGluIGZpbGVzOgoJCQkJcmVscGF0aCA9IG9zLnBhdGguam9pbih3YWxrcm9vdCwg
ZmlsZSkucmVwbGFjZShkdmFyICsgcm9vdCArICcvJywgJycsIDEpCgkJCQlpZiByZWxwYXRoOgoJ
CQkJCW9ianMuYXBwZW5kKHJlbHBhdGgpCgoJaWYgZXh0cmFfZGVwZW5kcyA9PSBOb25lOgoJCSMg
VGhpcyBpcyAqcmVhbGx5KiBicm9rZW4KCQltYWlucGtnID0gcGFja2FnZXNbMF0KCQkjIEF0IGxl
YXN0IHRyeSBhbmQgcGF0Y2ggaXQgdXAgSSBndWVzcy4uLgoJCWlmIG1haW5wa2cuZmluZCgnLWRi
ZycpOgoJCQltYWlucGtnID0gbWFpbnBrZy5yZXBsYWNlKCctZGJnJywgJycpCgkJaWYgbWFpbnBr
Zy5maW5kKCctZGV2Jyk6CgkJCW1haW5wa2cgPSBtYWlucGtnLnJlcGxhY2UoJy1kZXYnLCAnJykK
CQlleHRyYV9kZXBlbmRzID0gbWFpbnBrZwoKCWZvciBvIGluIHNvcnRlZChvYmpzKToKCQlpbXBv
cnQgcmUsIHN0YXQKCQlpZiBtYXRjaF9wYXRoOgoJCQltID0gcmUubWF0Y2goZmlsZV9yZWdleCwg
bykKCQllbHNlOgoJCQltID0gcmUubWF0Y2goZmlsZV9yZWdleCwgb3MucGF0aC5iYXNlbmFtZShv
KSkKCgkJaWYgbm90IG06CgkJCWNvbnRpbnVlCgkJZiA9IG9zLnBhdGguam9pbihkdmFyICsgcm9v
dCwgbykKCQltb2RlID0gb3MubHN0YXQoZikuc3RfbW9kZQoJCWlmIG5vdCAoc3RhdC5TX0lTUkVH
KG1vZGUpIG9yIChhbGxvd19saW5rcyBhbmQgc3RhdC5TX0lTTE5LKG1vZGUpKSBvciAoYWxsb3df
ZGlycyBhbmQgc3RhdC5TX0lTRElSKG1vZGUpKSk6CgkJCWNvbnRpbnVlCgkJb24gPSBsZWdpdGlt
aXplX3BhY2thZ2VfbmFtZShtLmdyb3VwKDEpKQoJCXBrZyA9IG91dHB1dF9wYXR0ZXJuICUgb24K
CQlpZiBub3QgcGtnIGluIHBhY2thZ2VzOgoJCQlpZiBwcmVwZW5kOgoJCQkJcGFja2FnZXMgPSBb
cGtnXSArIHBhY2thZ2VzCgkJCWVsc2U6CgkJCQlwYWNrYWdlcy5hcHBlbmQocGtnKQoJCW9sZGZp
bGVzID0gZC5nZXRWYXIoJ0ZJTEVTXycgKyBwa2csIFRydWUpCgkJaWYgbm90IG9sZGZpbGVzOgoJ
CQl0aGVfZmlsZXMgPSBbb3MucGF0aC5qb2luKHJvb3QsIG8pXQoJCQlpZiBhdXhfZmlsZXNfcGF0
dGVybjoKCQkJCWlmIHR5cGUoYXV4X2ZpbGVzX3BhdHRlcm4pIGlzIGxpc3Q6CgkJCQkJZm9yIGZw
IGluIGF1eF9maWxlc19wYXR0ZXJuOgoJCQkJCQl0aGVfZmlsZXMuYXBwZW5kKGZwICUgb24pCgkJ
CQllbHNlOgoJCQkJCXRoZV9maWxlcy5hcHBlbmQoYXV4X2ZpbGVzX3BhdHRlcm4gJSBvbikKCQkJ
aWYgYXV4X2ZpbGVzX3BhdHRlcm5fdmVyYmF0aW06CgkJCQlpZiB0eXBlKGF1eF9maWxlc19wYXR0
ZXJuX3ZlcmJhdGltKSBpcyBsaXN0OgoJCQkJCWZvciBmcCBpbiBhdXhfZmlsZXNfcGF0dGVybl92
ZXJiYXRpbToKCQkJCQkJdGhlX2ZpbGVzLmFwcGVuZChmcCAlIG0uZ3JvdXAoMSkpCgkJCQllbHNl
OgoJCQkJCXRoZV9maWxlcy5hcHBlbmQoYXV4X2ZpbGVzX3BhdHRlcm5fdmVyYmF0aW0gJSBtLmdy
b3VwKDEpKQoJCQlkLnNldFZhcignRklMRVNfJyArIHBrZywgIiAiLmpvaW4odGhlX2ZpbGVzKSkK
CQkJaWYgZXh0cmFfZGVwZW5kcyAhPSAnJzoKCQkJCWQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsg
cGtnLCAnICcgKyBleHRyYV9kZXBlbmRzKQoJCQlkLnNldFZhcignREVTQ1JJUFRJT05fJyArIHBr
ZywgZGVzY3JpcHRpb24gJSBvbikKCQkJaWYgcG9zdGluc3Q6CgkJCQlkLnNldFZhcigncGtnX3Bv
c3RpbnN0XycgKyBwa2csIHBvc3RpbnN0KQoJCQlpZiBwb3N0cm06CgkJCQlkLnNldFZhcigncGtn
X3Bvc3RybV8nICsgcGtnLCBwb3N0cm0pCgkJZWxzZToKCQkJZC5zZXRWYXIoJ0ZJTEVTXycgKyBw
a2csIG9sZGZpbGVzICsgIiAiICsgb3MucGF0aC5qb2luKHJvb3QsIG8pKQoJCWlmIGNhbGxhYmxl
KGhvb2spOgoJCQlob29rKGYsIHBrZywgZmlsZV9yZWdleCwgb3V0cHV0X3BhdHRlcm4sIG0uZ3Jv
dXAoMSkpCgoJZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZXMpKQp9CgoKcHl0
aG9uIHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyAoKSB7CmRlZiBzc3RhdGVfc3RhdGVfZnJvbXZhcnMo
ZCwgdGFzayA9IE5vbmUpOgogICAgaWYgdGFzayBpcyBOb25lOgogICAgICAgIHRhc2sgPSBkLmdl
dFZhcignQkJfQ1VSUkVOVFRBU0snLCBUcnVlKQogICAgICAgIGlmIG5vdCB0YXNrOgogICAgICAg
ICAgICBiYi5mYXRhbCgic3N0YXRlIGNvZGUgcnVubmluZyB3aXRob3V0IHRhc2sgY29udGV4dD8h
IikKICAgICAgICB0YXNrID0gdGFzay5yZXBsYWNlKCJfc2V0c2NlbmUiLCAiIikKCiAgICBuYW1l
ID0gZC5nZXRWYXJGbGFnKCJkb18iICsgdGFzaywgJ3NzdGF0ZS1uYW1lJywgVHJ1ZSkKICAgIGlu
cHV0cyA9IChkLmdldFZhckZsYWcoImRvXyIgKyB0YXNrLCAnc3N0YXRlLWlucHV0ZGlycycsIFRy
dWUpIG9yICIiKS5zcGxpdCgpCiAgICBvdXRwdXRzID0gKGQuZ2V0VmFyRmxhZygiZG9fIiArIHRh
c2ssICdzc3RhdGUtb3V0cHV0ZGlycycsIFRydWUpIG9yICIiKS5zcGxpdCgpCiAgICBwbGFpbmRp
cnMgPSAoZC5nZXRWYXJGbGFnKCJkb18iICsgdGFzaywgJ3NzdGF0ZS1wbGFpbmRpcnMnLCBUcnVl
KSBvciAiIikuc3BsaXQoKQogICAgbG9ja2ZpbGVzID0gKGQuZ2V0VmFyRmxhZygiZG9fIiArIHRh
c2ssICdzc3RhdGUtbG9ja2ZpbGUnLCBUcnVlKSBvciAiIikuc3BsaXQoKQogICAgbG9ja2ZpbGVz
c2hhcmVkID0gKGQuZ2V0VmFyRmxhZygiZG9fIiArIHRhc2ssICdzc3RhdGUtbG9ja2ZpbGUtc2hh
cmVkJywgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKICAgIGludGVyY2VwdGZ1bmNzID0gKGQuZ2V0VmFy
RmxhZygiZG9fIiArIHRhc2ssICdzc3RhdGUtaW50ZXJjZXB0ZnVuY3MnLCBUcnVlKSBvciAiIiku
c3BsaXQoKQogICAgaWYgbm90IG5hbWUgb3IgbGVuKGlucHV0cykgIT0gbGVuKG91dHB1dHMpOgog
ICAgICAgIGJiLmZhdGFsKCJzc3RhdGUgdmFyaWFibGVzIG5vdCBzZXR1cCBjb3JyZWN0bHk/ISIp
CgogICAgc3MgPSBzc3RhdGVfaW5pdChuYW1lLCB0YXNrLCBkKQogICAgZm9yIGkgaW4gcmFuZ2Uo
bGVuKGlucHV0cykpOgogICAgICAgIHNzdGF0ZV9hZGQoc3MsIGlucHV0c1tpXSwgb3V0cHV0c1tp
XSwgZCkKICAgIHNzWydsb2NrZmlsZXMnXSA9IGxvY2tmaWxlcwogICAgc3NbJ2xvY2tmaWxlcy1z
aGFyZWQnXSA9IGxvY2tmaWxlc3NoYXJlZAogICAgc3NbJ3BsYWluZGlycyddID0gcGxhaW5kaXJz
CiAgICBzc1snaW50ZXJjZXB0ZnVuY3MnXSA9IGludGVyY2VwdGZ1bmNzCiAgICByZXR1cm4gc3MK
fQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2J1aWxkcGF0aHMgKCkgewpkZWYgcGFja2FnZV9x
YV9jaGVja19idWlsZHBhdGhzKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIi
CiAgICBDaGVjayBmb3IgYnVpbGQgcGF0aHMgaW5zaWRlIHRhcmdldCBmaWxlcyBhbmQgZXJyb3Ig
aWYgbm90IGZvdW5kIGluIHRoZSB3aGl0ZWxpc3QKICAgICIiIgogICAgIyBJZ25vcmUgLmRlYnVn
IGZpbGVzLCBub3QgaW50ZXJlc3RpbmcKICAgIGlmIHBhdGguZmluZCgiLmRlYnVnIikgIT0gLTE6
CiAgICAgICAgcmV0dXJuCgogICAgIyBJZ25vcmUgc3ltbGlua3MKICAgIGlmIG9zLnBhdGguaXNs
aW5rKHBhdGgpOgogICAgICAgIHJldHVybgoKICAgIHRtcGRpciA9IGQuZ2V0VmFyKCdUTVBESVIn
LCBUcnVlKQogICAgZmlsZV9jb250ZW50ID0gb3BlbihwYXRoKS5yZWFkKCkKICAgIGlmIHRtcGRp
ciBpbiBmaWxlX2NvbnRlbnQ6CiAgICAgICAgbWVzc2FnZXMuYXBwZW5kKCJGaWxlICVzIGluIHBh
Y2thZ2UgY29udGFpbmVkIHJlZmVyZW5jZSB0byB0bXBkaXIiICUgcGFja2FnZV9xYV9jbGVhbl9w
YXRoKHBhdGgsZCkpCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19zdGFnZWQgKCkgewpkZWYg
cGFja2FnZV9xYV9jaGVja19zdGFnZWQocGF0aCxkKToKICAgICIiIgogICAgQ2hlY2sgc3RhZ2Vk
IGxhIGFuZCBwYyBmaWxlcyBmb3Igc2FuaXR5CiAgICAgIC1lLmcuIGluc3RhbGxlZCBiZWluZyBm
YWxzZQoKICAgICAgICBBcyB0aGlzIGlzIHJ1biBhZnRlciBldmVyeSBzdGFnZSB3ZSBzaG91bGQg
YmUgYWJsZQogICAgICAgIHRvIGZpbmQgdGhlIG9uZSByZXNwb25zaWJsZSBmb3IgdGhlIGVycm9y
cyBlYXNpbHkgZXZlbgogICAgICAgIGlmIHdlIGxvb2sgYXQgZXZlcnkgLnBjIGFuZCAubGEgZmls
ZQogICAgIiIiCgogICAgc2FuZSA9IFRydWUKICAgIHRtcGRpciA9IGQuZ2V0VmFyKCdUTVBESVIn
LCBUcnVlKQogICAgd29ya2RpciA9IG9zLnBhdGguam9pbih0bXBkaXIsICJ3b3JrIikKCiAgICBp
bnN0YWxsZWQgPSAiaW5zdGFsbGVkPXllcyIKICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3Mo
Im5hdGl2ZSIsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoImNyb3NzIiwgZCk6CiAgICAg
ICAgcGtnY29uZmlnY2hlY2sgPSB3b3JrZGlyCiAgICBlbHNlOgogICAgICAgIHBrZ2NvbmZpZ2No
ZWNrID0gdG1wZGlyCgogICAgIyBmaW5kIGFsbCAubGEgYW5kIC5wYyBmaWxlcwogICAgIyByZWFk
IHRoZSBjb250ZW50CiAgICAjIGFuZCBjaGVjayBmb3Igc3R1ZmYgdGhhdCBsb29rcyB3cm9uZwog
ICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocGF0aCk6CiAgICAgICAgZm9yIGZp
bGUgaW4gZmlsZXM6CiAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4ocm9vdCxmaWxlKQog
ICAgICAgICAgICBpZiBmaWxlLmVuZHN3aXRoKCIubGEiKToKICAgICAgICAgICAgICAgIGZpbGVf
Y29udGVudCA9IG9wZW4ocGF0aCkucmVhZCgpCiAgICAgICAgICAgICAgICBpZiB3b3JrZGlyIGlu
IGZpbGVfY29udGVudDoKICAgICAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXMgZmFpbGVk
IHNhbml0eSB0ZXN0ICh3b3JrZGlyKSBpbiBwYXRoICVzIiAlIChmaWxlLHJvb3QpCiAgICAgICAg
ICAgICAgICAgICAgc2FuZSA9IHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJsYSIsIGVycm9yX21z
ZywgZCkKICAgICAgICAgICAgZWxpZiBmaWxlLmVuZHN3aXRoKCIucGMiKToKICAgICAgICAgICAg
ICAgIGZpbGVfY29udGVudCA9IG9wZW4ocGF0aCkucmVhZCgpCiAgICAgICAgICAgICAgICBpZiBw
a2djb25maWdjaGVjayBpbiBmaWxlX2NvbnRlbnQ6CiAgICAgICAgICAgICAgICAgICAgZXJyb3Jf
bXNnID0gIiVzIGZhaWxlZCBzYW5pdHkgdGVzdCAodG1wZGlyKSBpbiBwYXRoICVzIiAlIChmaWxl
LHJvb3QpCiAgICAgICAgICAgICAgICAgICAgc2FuZSA9IHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9y
KCJwa2djb25maWciLCBlcnJvcl9tc2csIGQpCgogICAgcmV0dXJuIHNhbmUKfQoKCnB5dGhvbiBz
c3RhdGVfY2xlYW5hbGwgKCkgewogICAgaW1wb3J0IGZubWF0Y2gKCiAgICBiYi5ub3RlKCJSZW1v
dmluZyBzaGFyZWQgc3RhdGUgZm9yIHBhY2thZ2UgJXMiICUgZC5nZXRWYXIoJ1BOJywgVHJ1ZSkp
CgogICAgbWFuaWZlc3RfZGlyID0gZC5nZXRWYXIoJ1NTVEFURV9NQU5JRkVTVFMnLCBUcnVlKQog
ICAgbWFuaWZlc3RfcHJlZml4ID0gZC5nZXRWYXIoIlNTVEFURV9NQU5GSUxFUFJFRklYIiwgVHJ1
ZSkKICAgIG1hbmlmZXN0X3BhdHRlcm4gPSBvcy5wYXRoLmJhc2VuYW1lKG1hbmlmZXN0X3ByZWZp
eCkgKyAiLioiCgogICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG1hbmlmZXN0X2Rpcik6CiAgICAg
ICAgcmV0dXJuCgogICAgZm9yIG1hbmlmZXN0IGluIChvcy5saXN0ZGlyKG1hbmlmZXN0X2Rpcikp
OgogICAgICAgIGlmIGZubWF0Y2guZm5tYXRjaChtYW5pZmVzdCwgbWFuaWZlc3RfcGF0dGVybik6
CiAgICAgICAgICAgICBuYW1lID0gbWFuaWZlc3QucmVwbGFjZShtYW5pZmVzdF9wYXR0ZXJuWzot
MV0sICIiKQogICAgICAgICAgICAgbmFtZW1hcCA9IGQuZ2V0VmFyKCdTU1RBVEVUQVNLTkFNRVMn
LCBUcnVlKS5zcGxpdCgpCiAgICAgICAgICAgICB0YXNrcyA9IGQuZ2V0VmFyKCdTU1RBVEVUQVNL
UycsIFRydWUpLnNwbGl0KCkKICAgICAgICAgICAgIGlmIG5hbWUgbm90IGluIG5hbWVtYXA6CiAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICB0YXNrbmFtZSA9IHRhc2tzW25h
bWVtYXAuaW5kZXgobmFtZSldCiAgICAgICAgICAgICBzaGFyZWRfc3RhdGUgPSBzc3RhdGVfc3Rh
dGVfZnJvbXZhcnMoZCwgdGFza25hbWVbMzpdKQogICAgICAgICAgICAgc3N0YXRlX2NsZWFuKHNo
YXJlZF9zdGF0ZSwgZCkKfQoKCnB5dGhvbiBzc3RhdGVfaW5pdCAoKSB7CmRlZiBzc3RhdGVfaW5p
dChuYW1lLCB0YXNrLCBkKToKICAgIHNzID0ge30KICAgIHNzWyd0YXNrJ10gPSB0YXNrCiAgICBz
c1snbmFtZSddID0gbmFtZQogICAgc3NbJ2RpcnMnXSA9IFtdCiAgICBzc1sncGxhaW5kaXJzJ10g
PSBbXQogICAgc3NbJ2xvY2tmaWxlcyddID0gW10KICAgIHNzWydsb2NrZmlsZXMtc2hhcmVkJ10g
PSBbXQogICAgcmV0dXJuIHNzCn0KCgpweXRob24gY2hlY2tfYXBwX2V4aXN0cyAoKSB7CmRlZiBj
aGVja19hcHBfZXhpc3RzKGFwcCwgZCk6Cglmcm9tIGJiIGltcG9ydCB3aGljaCwgZGF0YQoKCWFw
cCA9IGRhdGEuZXhwYW5kKGFwcCwgZCkKCXBhdGggPSBkYXRhLmdldFZhcignUEFUSCcsIGQsIDEp
CglyZXR1cm4gYm9vbCh3aGljaChwYXRoLCBhcHApKQp9CgoKcHl0aG9uIGJhc2VfY29uZGl0aW9u
YWwgKCkgewpkZWYgYmFzZV9jb25kaXRpb25hbCh2YXJpYWJsZSwgY2hlY2t2YWx1ZSwgdHJ1ZXZh
bHVlLCBmYWxzZXZhbHVlLCBkKToKICAgIHJldHVybiBvZS51dGlscy5jb25kaXRpb25hbCh2YXJp
YWJsZSwgY2hlY2t2YWx1ZSwgdHJ1ZXZhbHVlLCBmYWxzZXZhbHVlLCBkKQp9CgoKcHl0aG9uIHBh
Y2thZ2VfcWFfY2hlY2tfc3RhdGljZGV2ICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfc3RhdGlj
ZGV2KHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAgICBDaGVjayBmb3Ig
Ii5hIiBsaWJyYXJ5IGluIG5vbi1zdGF0aWNkZXYgcGFja2FnZXMKICAgIFRoZXJlIGFyZSBhIG51
bWJlciBvZiBleGNlcHRpb25zIHRvIHRoaXMgcnVsZSwgLXBpYyBwYWNrYWdlcyBjYW4gY29udGFp
bgogICAgc3RhdGljIGxpYnJhcmllcywgdGhlIF9ub25zaGFyZWQuYSBiZWxvbmcgd2l0aCB0aGVp
ciAtZGV2IHBhY2thZ2VzIGFuZAogICAgbGliZ2NjLmEsIGxpYmdjb3YuYSB3aWxsIGJlIHNraXBw
ZWQgaW4gdGhlaXIgcGFja2FnZXMKICAgICIiIgoKICAgIGlmIG5vdCBuYW1lLmVuZHN3aXRoKCIt
cGljIikgYW5kIG5vdCBuYW1lLmVuZHN3aXRoKCItc3RhdGljZGV2IikgYW5kIHBhdGguZW5kc3dp
dGgoIi5hIikgYW5kIG5vdCBwYXRoLmVuZHN3aXRoKCJfbm9uc2hhcmVkLmEiKToKICAgICAgICBt
ZXNzYWdlcy5hcHBlbmQoIm5vbiAtc3RhdGljZGV2IHBhY2thZ2UgY29udGFpbnMgc3RhdGljIC5h
IGxpYnJhcnk6ICVzIHBhdGggJyVzJyIgJSBcCiAgICAgICAgICAgICAgICAgKG5hbWUsIHBhY2th
Z2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKfQoKCnB5dGhvbiBzc3RhdGVfY2xlYW5fbWFuaWZl
c3QgKCkgewpkZWYgc3N0YXRlX2NsZWFuX21hbmlmZXN0KG1hbmlmZXN0LCBkKToKICAgIGltcG9y
dCBvZS5wYXRoCgogICAgbWZpbGUgPSBvcGVuKG1hbmlmZXN0KQogICAgZW50cmllcyA9IG1maWxl
LnJlYWRsaW5lcygpCiAgICBtZmlsZS5jbG9zZSgpCgogICAgZm9yIGVudHJ5IGluIGVudHJpZXM6
CiAgICAgICAgZW50cnkgPSBlbnRyeS5zdHJpcCgpCiAgICAgICAgYmIuZGVidWcoMiwgIlJlbW92
aW5nIG1hbmlmZXN0OiAlcyIgJSBlbnRyeSkKICAgICAgICAjIFdlIGNhbiByYWNlIGFnYWluc3Qg
YW5vdGhlciBwYWNrYWdlIHBvcHVsYXRpbmcgZGlyZWN0b3JpZXMgYXMgd2UncmUgcmVtb3Zpbmcg
dGhlbQogICAgICAgICMgc28gd2UgaWdub3JlIGVycm9ycyBoZXJlLgogICAgICAgIHRyeToKICAg
ICAgICAgICAgaWYgZW50cnkuZW5kc3dpdGgoIi8iKToKICAgICAgICAgICAgICAgaWYgb3MucGF0
aC5pc2xpbmsoZW50cnlbOi0xXSk6CiAgICAgICAgICAgICAgICAgIG9zLnJlbW92ZShlbnRyeVs6
LTFdKQogICAgICAgICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKGVudHJ5KSBhbmQgbGVuKG9z
Lmxpc3RkaXIoZW50cnkpKSA9PSAwOgogICAgICAgICAgICAgICAgICBvcy5ybWRpcihlbnRyeVs6
LTFdKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb2UucGF0aC5yZW1vdmUoZW50
cnkpCiAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgIHBhc3MKCiAgICBvZS5wYXRo
LnJlbW92ZShtYW5pZmVzdCkKfQoKCnB5dGhvbiBiYXNlX3BhdGhfam9pbiAoKSB7CmRlZiBiYXNl
X3BhdGhfam9pbihhLCAqcCk6CiAgICByZXR1cm4gb2UucGF0aC5qb2luKGEsICpwKQp9CgoKcHl0
aG9uIGJhc2VfZ2V0X21ldGFkYXRhX3N2bl9yZXZpc2lvbiAoKSB7CmRlZiBiYXNlX2dldF9tZXRh
ZGF0YV9zdm5fcmV2aXNpb24ocGF0aCwgZCk6CglyZXZpc2lvbiA9ICI8dW5rbm93bj4iCgl0cnk6
CgkJcmV2aXNpb24gPSBmaWxlKCAiJXMvLnN2bi9lbnRyaWVzIiAlIHBhdGggKS5yZWFkbGluZXMo
KVszXS5zdHJpcCgpCglleGNlcHQgSU9FcnJvcjoKCQlwYXNzCglyZXR1cm4gcmV2aXNpb24KfQoK
CnB5dGhvbiBzc3RhdGVfaW5zdGFsbCAoKSB7CmRlZiBzc3RhdGVfaW5zdGFsbChzcywgZCk6CiAg
ICBpbXBvcnQgb2UucGF0aAoKICAgIHNoYXJlZGZpbGVzID0gW10KICAgIHNoYXJlZGRpcnMgPSBb
XQogICAgYmIubWtkaXJoaWVyKGQuZXhwYW5kKCIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC9zc3RhdGUtY29udHJvbCIpKQogICAgbWFuaWZlc3QgPSBkLmV4cGFuZCgiL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3N0YXRlLWNvbnRyb2wvbWFuaWZl
c3QtY29uY29yZGlhLW1ldGEtdG9vbGNoYWluLiVzIiAlIHNzWyduYW1lJ10pCgogICAgaWYgb3Mu
YWNjZXNzKG1hbmlmZXN0LCBvcy5SX09LKToKICAgICAgICBiYi5mYXRhbCgiUGFja2FnZSBhbHJl
YWR5IHN0YWdlZCAoJXMpPyEiICUgbWFuaWZlc3QpCgogICAgbG9ja3MgPSBbXQogICAgZm9yIGxv
Y2sgaW4gc3NbJ2xvY2tmaWxlcy1zaGFyZWQnXToKICAgICAgICBsb2Nrcy5hcHBlbmQoYmIudXRp
bHMubG9ja2ZpbGUobG9jaywgVHJ1ZSkpCiAgICBmb3IgbG9jayBpbiBzc1snbG9ja2ZpbGVzJ106
CiAgICAgICAgbG9ja3MuYXBwZW5kKGJiLnV0aWxzLmxvY2tmaWxlKGxvY2spKQoKICAgIGZvciBz
dGF0ZSBpbiBzc1snZGlycyddOgogICAgICAgIG9lLnBhdGguY29weXRyZWUoc3RhdGVbMV0sIHN0
YXRlWzJdKQogICAgICAgIGZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhzdGF0
ZVsxXSk6CiAgICAgICAgICAgIGJiLmRlYnVnKDIsICJTdGFnaW5nIGZpbGVzIGZyb20gJXMgdG8g
JXMiICUgKHN0YXRlWzFdLCBzdGF0ZVsyXSkpCiAgICAgICAgICAgIGZvciBmaWxlIGluIGZpbGVz
OgogICAgICAgICAgICAgICAgc3JjcGF0aCA9IG9zLnBhdGguam9pbih3YWxrcm9vdCwgZmlsZSkK
ICAgICAgICAgICAgICAgIGRzdHBhdGggPSBzcmNwYXRoLnJlcGxhY2Uoc3RhdGVbMV0sIHN0YXRl
WzJdKQogICAgICAgICAgICAgICAgI2JiLmRlYnVnKDIsICJTdGFnaW5nICVzIHRvICVzIiAlIChz
cmNwYXRoLCBkc3RwYXRoKSkKICAgICAgICAgICAgICAgIHNoYXJlZGZpbGVzLmFwcGVuZChkc3Rw
YXRoKQogICAgICAgICAgICBmb3IgZGlyIGluIGRpcnM6CiAgICAgICAgICAgICAgICBzcmNkaXIg
PSBvcy5wYXRoLmpvaW4od2Fsa3Jvb3QsIGRpcikKICAgICAgICAgICAgICAgIGRzdGRpciA9IHNy
Y2Rpci5yZXBsYWNlKHN0YXRlWzFdLCBzdGF0ZVsyXSkKICAgICAgICAgICAgICAgICNiYi5kZWJ1
ZygyLCAiU3RhZ2luZyAlcyB0byAlcyIgJSAoc3JjZGlyLCBkc3RkaXIpKQogICAgICAgICAgICAg
ICAgaWYgbm90IGRzdGRpci5lbmRzd2l0aCgiLyIpOgogICAgICAgICAgICAgICAgICAgIGRzdGRp
ciA9IGRzdGRpciArICIvIgogICAgICAgICAgICAgICAgc2hhcmVkZGlycy5hcHBlbmQoZHN0ZGly
KQogICAgZiA9IG9wZW4obWFuaWZlc3QsICJ3IikKICAgIGZvciBmaWxlIGluIHNoYXJlZGZpbGVz
OgogICAgICAgIGYud3JpdGUoZmlsZSArICJcbiIpCiAgICAjIFdlIHdhbnQgdG8gZW5zdXJlIHRo
YXQgZGlyZWN0b3JpZXMgYXBwZWFyIGF0IHRoZSBlbmQgb2YgdGhlIG1hbmlmZXN0CiAgICAjIHNv
IHRoYXQgd2hlbiB3ZSB0ZXN0IHRvIHNlZSBpZiB0aGV5IHNob3VsZCBiZSBkZWxldGVkIGFueSBj
b250ZW50cwogICAgIyBhZGRlZCBieSB0aGUgdGFzayB3aWxsIGhhdmUgYmVlbiByZW1vdmVkIGZp
cnN0LgogICAgZGlycyA9IHNvcnRlZChzaGFyZWRkaXJzLCBrZXk9bGVuKQogICAgIyBNdXN0IHJl
bW92ZSBjaGlsZHJlbiBmaXJzdCwgd2hpY2ggd2lsbCBoYXZlIGEgbG9uZ2VyIHBhdGggdGhhbiB0
aGUgcGFyZW50CiAgICBmb3IgZGkgaW4gcmV2ZXJzZWQoZGlycyk6CiAgICAgICAgZi53cml0ZShk
aSArICJcbiIpCiAgICBmLmNsb3NlKCkKCiAgICBmb3IgcG9zdGluc3QgaW4gKGQuZ2V0VmFyKCdT
U1RBVEVQT1NUSU5TVEZVTkNTJywgVHJ1ZSkgb3IgJycpLnNwbGl0KCk6CiAgICAgICAgYmIuYnVp
bGQuZXhlY19mdW5jKHBvc3RpbnN0LCBkKQoKICAgIGZvciBsb2NrIGluIGxvY2tzOgogICAgICAg
IGJiLnV0aWxzLnVubG9ja2ZpbGUobG9jaykKfQoKCnB5dGhvbiBzc3RhdGVfaW5zdGFsbHBrZyAo
KSB7CmRlZiBzc3RhdGVfaW5zdGFsbHBrZyhzcywgZCk6CiAgICBpbXBvcnQgb2UucGF0aAoKICAg
IGRlZiBwcmVwZGlyKGRpcik6CiAgICAgICAgIyByZW1vdmUgZGlyIGlmIGl0IGV4aXN0cywgZW5z
dXJlIGFueSBwYXJlbnQgZGlyZWN0b3JpZXMgZG8gZXhpc3QKICAgICAgICBpZiBvcy5wYXRoLmV4
aXN0cyhkaXIpOgogICAgICAgICAgICBvZS5wYXRoLnJlbW92ZShkaXIpCiAgICAgICAgYmIubWtk
aXJoaWVyKGRpcikKICAgICAgICBvZS5wYXRoLnJlbW92ZShkaXIpCgogICAgc3N0YXRlaW5zdCA9
IGQuZXhwYW5kKCIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL2Nv
cmUyLWNjZC1saW51eC9tZXRhLXRvb2xjaGFpbi0xLjAtcjcvc3N0YXRlLWluc3RhbGwtJXMvIiAl
IHNzWyduYW1lJ10pCiAgICBzc3RhdGVwa2cgPSBkLmdldFZhcignU1NUQVRFX1BLRycsIFRydWUp
ICsgJ18nICsgc3NbJ25hbWUnXSArICIudGd6IgoKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhz
c3RhdGVwa2cpOgogICAgICAgcHN0YWdpbmdfZmV0Y2goc3N0YXRlcGtnLCBkKQoKICAgIGlmIG5v
dCBvcy5wYXRoLmlzZmlsZShzc3RhdGVwa2cpOgogICAgICAgIGJiLm5vdGUoIlN0YWdpbmcgcGFj
a2FnZSAlcyBkb2VzIG5vdCBleGlzdCIgJSBzc3RhdGVwa2cpCiAgICAgICAgcmV0dXJuIEZhbHNl
CgogICAgc3N0YXRlX2NsZWFuKHNzLCBkKQoKICAgIGQuc2V0VmFyKCdTU1RBVEVfSU5TVERJUics
IHNzdGF0ZWluc3QpCiAgICBkLnNldFZhcignU1NUQVRFX1BLRycsIHNzdGF0ZXBrZykKCiAgICBm
b3IgcHJlaW5zdCBpbiAoZC5nZXRWYXIoJ1NTVEFURVBSRUlOU1RGVU5DUycsIFRydWUpIG9yICcn
KS5zcGxpdCgpOgogICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhwcmVpbnN0LCBkKQoKICAgIGJi
LmJ1aWxkLmV4ZWNfZnVuYygnc3N0YXRlX3VucGFja19wYWNrYWdlJywgZCkKCiAgICAjIEZpeHVw
IGhhcmRjb2RlZCBwYXRocwogICAgZml4bWVmbiA9ICBzc3RhdGVpbnN0ICsgImZpeG1lcGF0aCIK
ICAgIGlmIG9zLnBhdGguaXNmaWxlKGZpeG1lZm4pOgogICAgICAgIHN0YWdpbmcgPSBkLmdldFZh
cignU1RBR0lOR19ESVInLCBUcnVlKQogICAgICAgIHN0YWdpbmdfdGFyZ2V0ID0gZC5nZXRWYXIo
J1NUQUdJTkdfRElSX1RBUkdFVCcsIFRydWUpCiAgICAgICAgc3RhZ2luZ19ob3N0ID0gZC5nZXRW
YXIoJ1NUQUdJTkdfRElSX0hPU1QnLCBUcnVlKQogICAgICAgIGZpeG1lZmQgPSBvcGVuKGZpeG1l
Zm4sICJyIikKICAgICAgICBmaXhtZWZpbGVzID0gZml4bWVmZC5yZWFkbGluZXMoKQogICAgICAg
IGZpeG1lZmQuY2xvc2UoKQogICAgICAgIGZvciBmaWxlIGluIGZpeG1lZmlsZXM6CiAgICAgICAg
ICAgIG9zLnN5c3RlbSgic2VkIC1pIC1lIHM6RklYTUVTVEFHSU5HRElSVEFSR0VUOiVzOmcgJXMi
ICUgKHN0YWdpbmdfdGFyZ2V0LCBzc3RhdGVpbnN0ICsgZmlsZSkpCiAgICAgICAgICAgIG9zLnN5
c3RlbSgic2VkIC1pIC1lIHM6RklYTUVTVEFHSU5HRElSSE9TVDolczpnICVzIiAlIChzdGFnaW5n
X2hvc3QsIHNzdGF0ZWluc3QgKyBmaWxlKSkKICAgICAgICAgICAgb3Muc3lzdGVtKCJzZWQgLWkg
LWUgczpGSVhNRVNUQUdJTkdESVI6JXM6ZyAlcyIgJSAoc3RhZ2luZywgc3N0YXRlaW5zdCArIGZp
bGUpKQogICAgICAgICMgTmVlZCB0byByZW1vdmUgdGhpcyBvciB3ZSdkIGNvcHkgaXQgaW50byB0
aGUgdGFyZ2V0IGRpcmVjdG9yeSBhbmQgbWF5CiAgICAgICAgIyBjb25mbGljdCB3aXRoIGFub3Ro
ZXIgd3JpdGVyCiAgICAgICAgb3MucmVtb3ZlKGZpeG1lZm4pCgogICAgZm9yIHN0YXRlIGluIHNz
WydkaXJzJ106CiAgICAgICAgcHJlcGRpcihzdGF0ZVsxXSkKICAgICAgICBvcy5yZW5hbWUoc3N0
YXRlaW5zdCArIHN0YXRlWzBdLCBzdGF0ZVsxXSkKICAgIHNzdGF0ZV9pbnN0YWxsKHNzLCBkKQoK
ICAgIGZvciBwbGFpbiBpbiBzc1sncGxhaW5kaXJzJ106CiAgICAgICAgd29ya2RpciA9IGQuZ2V0
VmFyKCdXT1JLRElSJywgVHJ1ZSkKICAgICAgICBzcmMgPSBzc3RhdGVpbnN0ICsgIi8iICsgcGxh
aW4ucmVwbGFjZSh3b3JrZGlyLCAnJykKICAgICAgICBkZXN0ID0gcGxhaW4KICAgICAgICBiYi5t
a2RpcmhpZXIoc3JjKQogICAgICAgIHByZXBkaXIoZGVzdCkKICAgICAgICBvcy5yZW5hbWUoc3Jj
LCBkZXN0KQoKICAgIHJldHVybiBUcnVlCn0KCgpweXRob24gcGFja2FnZV9kb19zcGxpdF9sb2Nh
bGVzICgpIHsKCWlmIChkLmdldFZhcignUEFDS0FHRV9OT19MT0NBTEUnLCBUcnVlKSA9PSAnMScp
OgoJCWJiLmRlYnVnKDEsICJwYWNrYWdlIHJlcXVlc3RlZCBub3Qgc3BsaXR0aW5nIGxvY2FsZXMi
KQoJCXJldHVybgoKCXBhY2thZ2VzID0gKGQuZ2V0VmFyKCdQQUNLQUdFUycsIFRydWUpIG9yICIi
KS5zcGxpdCgpCgoJZGF0YWRpciA9IGQuZ2V0VmFyKCdkYXRhZGlyJywgVHJ1ZSkKCWlmIG5vdCBk
YXRhZGlyOgoJCWJiLm5vdGUoImRhdGFkaXIgbm90IGRlZmluZWQiKQoJCXJldHVybgoKCWR2YXIg
PSBkLmdldFZhcignUEtHRCcsIFRydWUpCglwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCgoJaWYg
cG4gKyAnLWxvY2FsZScgaW4gcGFja2FnZXM6CgkJcGFja2FnZXMucmVtb3ZlKHBuICsgJy1sb2Nh
bGUnKQoKCWxvY2FsZWRpciA9IG9zLnBhdGguam9pbihkdmFyICsgZGF0YWRpciwgJ2xvY2FsZScp
CgoJaWYgbm90IG9zLnBhdGguaXNkaXIobG9jYWxlZGlyKToKCQliYi5kZWJ1ZygxLCAiTm8gbG9j
YWxlIGZpbGVzIGluIHRoaXMgcGFja2FnZSIpCgkJcmV0dXJuCgoJbG9jYWxlcyA9IG9zLmxpc3Rk
aXIobG9jYWxlZGlyKQoKCSMgVGhpcyBpcyAqcmVhbGx5KiBicm9rZW4KCW1haW5wa2cgPSBwYWNr
YWdlc1swXQoJIyBBdCBsZWFzdCB0cnkgYW5kIHBhdGNoIGl0IHVwIEkgZ3Vlc3MuLi4KCWlmIG1h
aW5wa2cuZmluZCgnLWRiZycpOgoJCW1haW5wa2cgPSBtYWlucGtnLnJlcGxhY2UoJy1kYmcnLCAn
JykKCWlmIG1haW5wa2cuZmluZCgnLWRldicpOgoJCW1haW5wa2cgPSBtYWlucGtnLnJlcGxhY2Uo
Jy1kZXYnLCAnJykKCglzdW1tYXJ5ID0gZC5nZXRWYXIoJ1NVTU1BUlknLCBUcnVlKSBvciBwbgoJ
ZGVzY3JpcHRpb24gPSBkLmdldFZhcignREVTQ1JJUFRJT04nLCBUcnVlKSBvciAiIgogICAgICAg
IGxvY2FsZV9zZWN0aW9uID0gZC5nZXRWYXIoJ0xPQ0FMRV9TRUNUSU9OJywgVHJ1ZSkKCWZvciBs
IGluIHNvcnRlZChsb2NhbGVzKToKCQlsbiA9IGxlZ2l0aW1pemVfcGFja2FnZV9uYW1lKGwpCgkJ
cGtnID0gcG4gKyAnLWxvY2FsZS0nICsgbG4KCQlwYWNrYWdlcy5hcHBlbmQocGtnKQoJCWQuc2V0
VmFyKCdGSUxFU18nICsgcGtnLCBvcy5wYXRoLmpvaW4oZGF0YWRpciwgJ2xvY2FsZScsIGwpKQoJ
CWQuc2V0VmFyKCdSREVQRU5EU18nICsgcGtnLCAnJXMgdmlydHVhbC1sb2NhbGUtJXMnICUgKG1h
aW5wa2csIGxuKSkKCQlkLnNldFZhcignUlBST1ZJREVTXycgKyBwa2csICclcy1sb2NhbGUgJXMt
dHJhbnNsYXRpb24nICUgKHBuLCBsbikpCgkJZC5zZXRWYXIoJ1NVTU1BUllfJyArIHBrZywgJyVz
IC0gJXMgdHJhbnNsYXRpb25zJyAlIChzdW1tYXJ5LCBsKSkKCQlkLnNldFZhcignREVTQ1JJUFRJ
T05fJyArIHBrZywgJyVzICBUaGlzIHBhY2thZ2UgY29udGFpbnMgbGFuZ3VhZ2UgdHJhbnNsYXRp
b24gZmlsZXMgZm9yIHRoZSAlcyBsb2NhbGUuJyAlIChkZXNjcmlwdGlvbiwgbCkpCgkJaWYgbG9j
YWxlX3NlY3Rpb246CgkJCWQuc2V0VmFyKCdTRUNUSU9OXycgKyBwa2csIGxvY2FsZV9zZWN0aW9u
KQoKCWQuc2V0VmFyKCdQQUNLQUdFUycsICcgJy5qb2luKHBhY2thZ2VzKSkKCgkjIERpc2FibGVk
IGJ5IFJQIDE4LzA2LzA3CgkjIFdpbGRjYXJkcyBhcmVuJ3Qgc3VwcG9ydGVkIGluIGRlYmlhbgoJ
IyBUaGV5IGJyZWFrIHdpdGggaXBrZyBzaW5jZSBnbGliYy1sb2NhbGUqIHdpbGwgbWVhbiB0aGF0
CgkjIGdsaWJjLWxvY2FsZWRhdGEtdHJhbnNsaXQqIHdvbid0IGluc3RhbGwgYXMgYSBkZXBlbmRl
bmN5CgkjIGZvciBzb21lIG90aGVyIHBhY2thZ2Ugd2hpY2ggYnJlYWtzIG1ldGEtdG9vbGNoYWlu
CgkjIFByb2JhYmx5IGJyZWFrcyBzaW5jZSB2aXJ0dWFsLWxvY2FsZS0gaXNuJ3QgcHJvdmlkZWQg
YW55d2hlcmUKCSNyZGVwID0gKGQuZ2V0VmFyKCdSREVQRU5EU18lcycgJSBtYWlucGtnLCBUcnVl
KSBvciBkLmdldFZhcignUkRFUEVORFMnLCBUcnVlKSBvciAiIikuc3BsaXQoKQoJI3JkZXAuYXBw
ZW5kKCclcy1sb2NhbGUqJyAlIHBuKQoJI2Quc2V0VmFyKCdSREVQRU5EU18lcycgJSBtYWlucGtn
LCAnICcuam9pbihyZGVwKSkKfQoKCnB5dGhvbiBkZWJpYW5fcGFja2FnZV9uYW1lX2hvb2sgKCkg
ewoJaW1wb3J0IGdsb2IsIGNvcHksIHN0YXQsIGVycm5vLCByZQoKCXBrZ2Rlc3QgPSBkLmdldFZh
cignUEtHREVTVCcsIFRydWUpCglwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycsIFRydWUp
CgliaW5fcmUgPSByZS5jb21waWxlKCIuKi9zPyIgKyBvcy5wYXRoLmJhc2VuYW1lKGQuZ2V0VmFy
KCJiaW5kaXIiLCBUcnVlKSkgKyAiJCIpCglsaWJfcmUgPSByZS5jb21waWxlKCIuKi8iICsgb3Mu
cGF0aC5iYXNlbmFtZShkLmdldFZhcigibGliZGlyIiwgVHJ1ZSkpICsgIiQiKQoJc29fcmUgPSBy
ZS5jb21waWxlKCJsaWIuKlwuc28iKQoKCWRlZiBzb2NydW5jaChzKToKCQlzID0gcy5sb3dlcigp
LnJlcGxhY2UoJ18nLCAnLScpCgkJbSA9IHJlLm1hdGNoKCJeKC4qKSguKVwuc29cLiguKikkIiwg
cykKCQlpZiBtIGlzIE5vbmU6CgkJCXJldHVybiBOb25lCgkJaWYgbS5ncm91cCgyKSBpbiAnMDEy
MzQ1Njc4OSc6CgkJCWJpbiA9ICclcyVzLSVzJyAlIChtLmdyb3VwKDEpLCBtLmdyb3VwKDIpLCBt
Lmdyb3VwKDMpKQoJCWVsc2U6CgkJCWJpbiA9IG0uZ3JvdXAoMSkgKyBtLmdyb3VwKDIpICsgbS5n
cm91cCgzKQoJCWRldiA9IG0uZ3JvdXAoMSkgKyBtLmdyb3VwKDIpCgkJcmV0dXJuIChiaW4sIGRl
dikKCglkZWYgaXNleGVjKHBhdGgpOgoJCXRyeToKCQkJcyA9IG9zLnN0YXQocGF0aCkKCQlleGNl
cHQgKG9zLmVycm9yLCBBdHRyaWJ1dGVFcnJvcik6CgkJCXJldHVybiAwCgkJcmV0dXJuIChzW3N0
YXQuU1RfTU9ERV0gJiBzdGF0LlNfSUVYRUMpCgoJZGVmIGF1dG9fbGlibmFtZShwYWNrYWdlcywg
b3JpZ19wa2cpOgoJCXNvbmFtZXMgPSBbXQoJCWhhc19iaW5zID0gMAoJCWhhc19saWJzID0gMAoJ
CXBrZ19kaXIgPSBvcy5wYXRoLmpvaW4ocGtnZGVzdCwgb3JpZ19wa2cpCgkJZm9yIHJvb3QsIGRp
cnMsIGZpbGVzIGluIG9zLndhbGsocGtnX2Rpcik6CgkJCWlmIGJpbl9yZS5tYXRjaChyb290KSBh
bmQgZmlsZXM6CgkJCQloYXNfYmlucyA9IDEKCQkJaWYgbGliX3JlLm1hdGNoKHJvb3QpIGFuZCBm
aWxlczoKCQkJCWhhc19saWJzID0gMQoJCQkJZm9yIGYgaW4gZmlsZXM6CgkJCQkJaWYgc29fcmUu
bWF0Y2goZik6CgkJCQkJCWZwID0gb3MucGF0aC5qb2luKHJvb3QsIGYpCgkJCQkJCWNtZCA9IChk
LmdldFZhcignQlVJTERfUFJFRklYJywgVHJ1ZSkgb3IgIiIpICsgIm9iamR1bXAgLXAgIiArIGZw
ICsgIiAyPi9kZXYvbnVsbCIKCQkJCQkJZmQgPSBvcy5wb3BlbihjbWQpCgkJCQkJCWxpbmVzID0g
ZmQucmVhZGxpbmVzKCkKCQkJCQkJZmQuY2xvc2UoKQoJCQkJCQlmb3IgbCBpbiBsaW5lczoKCQkJ
CQkJCW0gPSByZS5tYXRjaCgiXHMrU09OQU1FXHMrKFteXHNdKikiLCBsKQoJCQkJCQkJaWYgbSBh
bmQgbm90IG0uZ3JvdXAoMSkgaW4gc29uYW1lczoKCQkJCQkJCQlzb25hbWVzLmFwcGVuZChtLmdy
b3VwKDEpKQoKCQliYi5kZWJ1ZygxLCAnTElCTkFNRVM6IHBrZyAlcyBsaWJzICVkIGJpbnMgJWQg
c29uYW1lcyAlcycgJSAob3JpZ19wa2csIGhhc19saWJzLCBoYXNfYmlucywgc29uYW1lcykpCgkJ
c29uYW1lID0gTm9uZQoJCWlmIGxlbihzb25hbWVzKSA9PSAxOgoJCQlzb25hbWUgPSBzb25hbWVz
WzBdCgkJZWxpZiBsZW4oc29uYW1lcykgPiAxOgoJCQlsZWFkID0gZC5nZXRWYXIoJ0xFQURfU09O
QU1FJywgVHJ1ZSkKCQkJaWYgbGVhZDoKCQkJCXIgPSByZS5jb21waWxlKGxlYWQpCgkJCQlmaWx0
ZXJlZCA9IFtdCgkJCQlmb3IgcyBpbiBzb25hbWVzOgoJCQkJCWlmIHIubWF0Y2gocyk6CgkJCQkJ
CWZpbHRlcmVkLmFwcGVuZChzKQoJCQkJaWYgbGVuKGZpbHRlcmVkKSA9PSAxOgoJCQkJCXNvbmFt
ZSA9IGZpbHRlcmVkWzBdCgkJCQllbGlmIGxlbihmaWx0ZXJlZCkgPiAxOgoJCQkJCWJiLm5vdGUo
Ik11bHRpcGxlIG1hdGNoZXMgKCVzKSBmb3IgTEVBRF9TT05BTUUgJyVzJyIgJSAoIiwgIi5qb2lu
KGZpbHRlcmVkKSwgbGVhZCkpCgkJCQllbHNlOgoJCQkJCWJiLm5vdGUoIk11bHRpcGxlIGxpYnJh
cmllcyAoJXMpIGZvdW5kLCBidXQgTEVBRF9TT05BTUUgJyVzJyBkb2Vzbid0IG1hdGNoIGFueSBv
ZiB0aGVtIiAlICgiLCAiLmpvaW4oc29uYW1lcyksIGxlYWQpKQoJCQllbHNlOgoJCQkJYmIubm90
ZSgiTXVsdGlwbGUgbGlicmFyaWVzICglcykgZm91bmQgYW5kIExFQURfU09OQU1FIG5vdCBkZWZp
bmVkIiAlICIsICIuam9pbihzb25hbWVzKSkKCgkJaWYgaGFzX2xpYnMgYW5kIG5vdCBoYXNfYmlu
cyBhbmQgc29uYW1lOgoJCQlzb25hbWVfcmVzdWx0ID0gc29jcnVuY2goc29uYW1lKQoJCQlpZiBz
b25hbWVfcmVzdWx0OgoJCQkJKHBrZ25hbWUsIGRldm5hbWUpID0gc29uYW1lX3Jlc3VsdAoJCQkJ
Zm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgoJCQkJCWlmIChkLmdldFZhcignUEtHXycgKyBw
a2cpIG9yIGQuZ2V0VmFyKCdERUJJQU5fTk9BVVRPTkFNRV8nICsgcGtnKSk6CgkJCQkJCWNvbnRp
bnVlCgkJCQkJZGViaWFuX3BuID0gZC5nZXRWYXIoJ0RFQklBTk5BTUVfJyArIHBrZykKCQkJCQlp
ZiBkZWJpYW5fcG46CgkJCQkJCW5ld3BrZyA9IGRlYmlhbl9wbgoJCQkJCWVsaWYgcGtnID09IG9y
aWdfcGtnOgoJCQkJCQluZXdwa2cgPSBwa2duYW1lCgkJCQkJZWxzZToKCQkJCQkJbmV3cGtnID0g
cGtnLnJlcGxhY2Uob3JpZ19wa2csIGRldm5hbWUsIDEpCgkJCQkJbWxwcmU9ZC5nZXRWYXIoJ01M
UFJFRklYJywgVHJ1ZSkKCQkJCQlpZiBtbHByZToKCQkJCQkJaWYgbm90IG5ld3BrZy5maW5kKG1s
cHJlKSA9PSAwOgoJCQkJCQkJbmV3cGtnID0gbWxwcmUgKyBuZXdwa2cKCQkJCQlpZiBuZXdwa2cg
IT0gcGtnOgoJCQkJCQlkLnNldFZhcignUEtHXycgKyBwa2csIG5ld3BrZykKCgkjIHJldmVyc2Vk
IHNvcnQgaXMgbmVlZGVkIHdoZW4gc29tZSBwYWNrYWdlIGlzIHN1YnN0cmluZyBvZiBhbm90aGVy
CgkjIGllIGluIG5jdXJzZXMgd2UgZ2V0IHdpdGhvdXQgcmV2ZXJzZSBzb3J0OgoJIyBERUJVRzog
TElCTkFNRVM6IHBrZ25hbWUgbGlidGljNSBkZXZuYW1lIGxpYnRpYyBwa2cgbmN1cnNlcy1saWJ0
aWMgb3JpZ19wa2cgbmN1cnNlcy1saWJ0aWMgZGViaWFuX3BuIE5vbmUgbmV3cGtnIGxpYnRpYzUK
CSMgYW5kIGxhdGVyCgkjIERFQlVHOiBMSUJOQU1FUzogcGtnbmFtZSBsaWJ0aWM1IGRldm5hbWUg
bGlidGljIHBrZyBuY3Vyc2VzLWxpYnRpY3cgb3JpZ19wa2cgbmN1cnNlcy1saWJ0aWMgZGViaWFu
X3BuIE5vbmUgbmV3cGtnIGxpYnRpY3cKCSMgc28gd2UgbmVlZCB0byBoYW5kbGUgbmN1cnNlcy1s
aWJ0aWN3LT5saWJ0aWN3NSBiZWZvcmUgbmN1cnNlcy1saWJ0aWMtPmxpYnRpYzUKCWZvciBwa2cg
aW4gc29ydGVkKChkLmdldFZhcignQVVUT19MSUJOQU1FX1BLR1MnLCBUcnVlKSBvciAiIikuc3Bs
aXQoKSwgcmV2ZXJzZT1UcnVlKToKCQlhdXRvX2xpYm5hbWUocGFja2FnZXMsIHBrZykKfQoKCnB5
dGhvbiBjaGVja19wc2V1ZG9fd3JhcHBlciAoKSB7CmRlZiBjaGVja19wc2V1ZG9fd3JhcHBlcigp
OgogICAgaW1wb3J0IHN5cwogICAgaWYgbm90IHN5cy5hcmd2WzBdLmVuZHN3aXRoKCcvYml0YmFr
ZScpOgogICAgICAgIHJldHVybiAiIgoKICAgIGltcG9ydCBzdWJwcm9jZXNzIGFzIHN1YgogICAg
IyBDaGVjayBpZiBiaXRiYWtlIHdyYXBwZXIgaXMgYmVpbmcgdXNlZAogICAgcHNldWRvX2J1aWxk
ID0gb3MuZW52aXJvbi5nZXQoICdQU0VVRE9fQlVJTEQnICkKICAgIGlmIG5vdCBwc2V1ZG9fYnVp
bGQ6CiAgICAgICAgYmIud2FybigiQml0YmFrZSBoYXMgbm90IGJlZW4gcnVuIHVzaW5nIHRoZSBi
aXRiYWtlIHdyYXBwZXIgKHNjcmlwdHMvYml0YmFrZSk7IHRoaXMgaXMgbGlrZWx5IGJlY2F1c2Ug
eW91ciBQQVRIIGhhcyBiZWVuIGFsdGVyZWQgZnJvbSB0aGF0IG5vcm1hbGx5IHNldCB1cCBieSB0
aGUgb2UtaW5pdC1idWlsZC1lbnYgc2NyaXB0LiBOb3QgdXNpbmcgdGhlIHdyYXBwZXIgbWF5IHJl
c3VsdCBpbiBmYWlsdXJlcyBkdXJpbmcgcGFja2FnZSBpbnN0YWxsYXRpb24sIHNvIGl0IGlzIGhp
Z2hseSByZWNvbW1lbmRlZCB0aGF0IHlvdSBzZXQgeW91ciBQQVRIIGJhY2sgc28gdGhhdCB0aGUg
d3JhcHBlciBzY3JpcHQgaXMgYmVpbmcgZXhlY3V0ZWQuIikKCiAgICBpZiAobm90IHBzZXVkb19i
dWlsZCkgb3IgcHNldWRvX2J1aWxkID09ICcyJzoKICAgICAgICAjIHBzZXVkbyBvdWdodCB0byBi
ZSB3b3JraW5nLCBsZXQncyBzZWUgaWYgaXQgaXMuLi4KICAgICAgICBwID0gc3ViLlBvcGVuKFsn
c2gnLCAnLWMnLCAnUFNFVURPX0RJU0FCTEVEPTAgaWQgLXUnXSxzdGRvdXQ9c3ViLlBJUEUsc3Rk
ZXJyPXN1Yi5QSVBFKQogICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAgICAgICAg
aWYgb3V0LnJzdHJpcCgpICE9ICcwJzoKICAgICAgICAgICAgbXNnID0gIlBzZXVkbyBpcyBub3Qg
ZnVuY3Rpb25pbmcgY29ycmVjdGx5LCB3aGljaCB3aWxsIGNhdXNlIGZhaWx1cmVzIGR1cmluZyBw
YWNrYWdlIGluc3RhbGxhdGlvbi4gUGxlYXNlIGNoZWNrIHlvdXIgY29uZmlndXJhdGlvbi4iCiAg
ICAgICAgICAgIGlmIHBzZXVkb19idWlsZCA9PSAnMic6CiAgICAgICAgICAgICAgICByZXR1cm4g
bXNnCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBiYi53YXJuKG1zZykKICAgIHJl
dHVybiAiIgp9CgoKcHl0aG9uIHNzdGF0ZV9hZGQgKCkgewpkZWYgc3N0YXRlX2FkZChzcywgc291
cmNlLCBkZXN0LCBkKToKICAgIHNyY2Jhc2UgPSBvcy5wYXRoLmJhc2VuYW1lKHNvdXJjZSkKICAg
IHNzWydkaXJzJ10uYXBwZW5kKFtzcmNiYXNlLCBzb3VyY2UsIGRlc3RdKQogICAgcmV0dXJuIHNz
Cn0KCgpweXRob24gZG9fcWFfY29uZmlndXJlICgpIHsKICAgIGNvbmZpZ3MgPSBbXQogICAgd29y
a2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJywgVHJ1ZSkKICAgIGJiLm5vdGUoIkNoZWNraW5nIGF1
dG90b29scyBlbnZpcm9ubWVudCBmb3IgY29tbW9uIG1pc2NvbmZpZ3VyYXRpb24iKQogICAgZm9y
IHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsod29ya2Rpcik6CiAgICAgICAgc3RhdGVtZW50
ID0gImdyZXAgLWUgJ0NST1NTIENPTVBJTEUgQmFkbmVzczonIC1lICdpcyB1bnNhZmUgZm9yIGNy
b3NzLWNvbXBpbGF0aW9uJyAlcyA+IC9kZXYvbnVsbCIgJSBcCiAgICAgICAgICAgICAgICAgICAg
b3MucGF0aC5qb2luKHJvb3QsImNvbmZpZy5sb2ciKQogICAgICAgIGlmICJjb25maWcubG9nIiBp
biBmaWxlczoKICAgICAgICAgICAgaWYgb3Muc3lzdGVtKHN0YXRlbWVudCkgPT0gMDoKICAgICAg
ICAgICAgICAgIGJiLmZhdGFsKCIiIlRoaXMgYXV0b2NvbmYgbG9nIGluZGljYXRlcyBlcnJvcnMs
IGl0IGxvb2tlZCBhdCBob3N0IGluY2x1ZGUgYW5kL29yIGxpYnJhcnkgcGF0aHMgd2hpbGUgZGV0
ZXJtaW5pbmcgc3lzdGVtIGNhcGFiaWxpdGllcy4KUmVydW4gY29uZmlndXJlIHRhc2sgYWZ0ZXIg
Zml4aW5nIHRoaXMuIFRoZSBwYXRoIHdhcyAnJXMnIiIiICUgcm9vdCkKCiAgICAgICAgaWYgImNv
bmZpZ3VyZS5hYyIgaW4gZmlsZXM6CiAgICAgICAgICAgIGNvbmZpZ3MuYXBwZW5kKG9zLnBhdGgu
am9pbihyb290LCJjb25maWd1cmUuYWMiKSkKICAgICAgICBpZiAiY29uZmlndXJlLmluIiBpbiBm
aWxlczoKICAgICAgICAgICAgY29uZmlncy5hcHBlbmQob3MucGF0aC5qb2luKHJvb3QsICJjb25m
aWd1cmUuaW4iKSkKCiAgICBjbmYgPSBkLmdldFZhcignRVhUUkFfT0VDT05GJywgVHJ1ZSkgb3Ig
IiIKICAgIGlmICJnZXR0ZXh0IiBub3QgaW4gZC5nZXRWYXIoJ1AnLCBUcnVlKSBhbmQgImdjYy1y
dW50aW1lIiBub3QgaW4gZC5nZXRWYXIoJ1AnLCBUcnVlKSBhbmQgIi0tZGlzYWJsZS1ubHMiIG5v
dCBpbiBjbmY6CiAgICAgICBtbCA9IGQuZ2V0VmFyKCJNTFBSRUZJWCIsIFRydWUpIG9yICIiCiAg
ICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBiYi5kYXRhLmlu
aGVyaXRzX2NsYXNzKCdjcm9zcycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3Nz
c2RrJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlc2RrJywgZCk6CiAgICAg
ICAgICBndCA9ICJnZXR0ZXh0LW5hdGl2ZSIKICAgICAgIGVsaWYgYmIuZGF0YS5pbmhlcml0c19j
bGFzcygnY3Jvc3MtY2FuYWRpYW4nLCBkKToKICAgICAgICAgIGd0ID0gImdldHRleHQtbmF0aXZl
c2RrIgogICAgICAgZWxzZToKICAgICAgICAgIGd0ID0gInZpcnR1YWwvIiArIG1sICsgImdldHRl
eHQiCiAgICAgICBkZXBzID0gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFyKCdERVBFTkRT
JywgVHJ1ZSkgb3IgIiIpCiAgICAgICBpZiBndCBub3QgaW4gZGVwczoKICAgICAgICAgIGZvciBj
b25maWcgaW4gY29uZmlnczoKICAgICAgICAgICAgICBnbnUgPSAiZ3JlcCBcIl5bWzpzcGFjZTpd
XSpBTV9HTlVfR0VUVEVYVFwiICVzID4vZGV2L251bGwiICUgY29uZmlnCiAgICAgICAgICAgICAg
aWYgb3Muc3lzdGVtKGdudSkgPT0gMDoKICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiIiIlcyBy
ZXF1aXJlZCBidXQgbm90IGluIERFUEVORFMgZm9yIGZpbGUgJXMuCk1pc3NpbmcgaW5oZXJpdCBn
ZXR0ZXh0PyIiIiAlIChndCwgY29uZmlnKSkKCiAgICBpZiBub3QgcGFja2FnZV9xYV9jaGVja19s
aWNlbnNlKHdvcmtkaXIsIGQpOgogICAgICAgIGJiLmZhdGFsKCJMaWNlbnNpbmcgRXJyb3I6IExJ
Q19GSUxFU19DSEtTVU0gZG9lcyBub3QgbWF0Y2gsIHBsZWFzZSBmaXgiKQp9CgoKcHl0aG9uIGJh
c2Vfc2V0X2ZpbGVzcGF0aCAoKSB7CmRlZiBiYXNlX3NldF9maWxlc3BhdGgocGF0aCwgZCk6Cglm
aWxlc3BhdGggPSBbXQoJZXh0cmFwYXRocyA9IChkLmdldFZhcigiRklMRVNFWFRSQVBBVEhTIiwg
VHJ1ZSkgb3IgIiIpCgkjIERvbid0IHByZXBlbmQgZW1wdHkgc3RyaW5ncyB0byB0aGUgcGF0aCBs
aXN0CglpZiBleHRyYXBhdGhzICE9ICIiOgoJCXBhdGggPSBleHRyYXBhdGhzLnNwbGl0KCI6Iikg
KyBwYXRoCgkjIFRoZSAiOiIgZW5zdXJlcyB3ZSBoYXZlIGFuICdlbXB0eScgb3ZlcnJpZGUKCW92
ZXJyaWRlcyA9IChkLmdldFZhcigiT1ZFUlJJREVTIiwgVHJ1ZSkgb3IgIiIpICsgIjoiCglmb3Ig
cCBpbiBwYXRoOgoJCWlmIHAgIT0gIiI6CgkJCWZvciBvIGluIG92ZXJyaWRlcy5zcGxpdCgiOiIp
OgoJCQkJZmlsZXNwYXRoLmFwcGVuZChvcy5wYXRoLmpvaW4ocCwgbykpCglyZXR1cm4gIjoiLmpv
aW4oZmlsZXNwYXRoKQp9CgoKcHl0aG9uIG1hcHBpbmdfcmVuYW1lX2hvb2sgKCkgewoJYmIuYnVp
bGQuZXhlY19mdW5jKCdwYWNrYWdlX2lwa19tYXBwaW5nX3JlbmFtZV9ob29rJywgZCkKfQoKCnB5
dGhvbiBjaGVja19zdXBwb3J0ZWRfZGlzdHJvICgpIHsKZGVmIGNoZWNrX3N1cHBvcnRlZF9kaXN0
cm8oZSk6CiAgICB0ZXN0ZWRfZGlzdHJvcyA9IGUuZGF0YS5nZXRWYXIoJ1NBTklUWV9URVNURURf
RElTVFJPUycsIFRydWUpCiAgICBpZiBub3QgdGVzdGVkX2Rpc3Ryb3M6CiAgICAgICAgcmV0dXJu
CgogICAgaWYgb3MucGF0aC5leGlzdHMoIi9ldGMvcmVkaGF0LXJlbGVhc2UiKToKICAgICAgICBm
ID0gb3BlbigiL2V0Yy9yZWRoYXQtcmVsZWFzZSIsICJyIikKICAgICAgICB0cnk6CiAgICAgICAg
ICAgIGRpc3RybyA9IGYucmVhZGxpbmUoKS5zdHJpcCgpCiAgICAgICAgZmluYWxseToKICAgICAg
ICAgICAgZi5jbG9zZSgpCiAgICBlbGlmIG9zLnBhdGguZXhpc3RzKCIvZXRjL1N1U0UtcmVsZWFz
ZSIpOgogICAgICAgIGltcG9ydCByZQogICAgICAgIGYgPSBvcGVuKCIvZXRjL1N1U0UtcmVsZWFz
ZSIsICJyIikKICAgICAgICB0cnk6CiAgICAgICAgICAgIGRpc3RybyA9IGYucmVhZGxpbmUoKQog
ICAgICAgICAgICAjIFJlbW92ZSB0aGUgYXJjaGl0ZWN0dXJlIHN1ZmZpeCBlLmcuIChpNTg2KQog
ICAgICAgICAgICBkaXN0cm8gPSByZS5zdWIocicgXChbYS16QS1aMC05XC1fXSpcKSQnLCAnJywg
ZGlzdHJvKS5zdHJpcCgpCiAgICAgICAgZmluYWxseToKICAgICAgICAgICAgZi5jbG9zZSgpCiAg
ICBlbHNlOgogICAgICAgICMgVXNlIExTQiBtZXRob2QKICAgICAgICBpbXBvcnQgc3VicHJvY2Vz
cyBhcyBzdWIKICAgICAgICB0cnk6CiAgICAgICAgICAgIHAgPSBzdWIuUG9wZW4oWydsc2JfcmVs
ZWFzZScsJy1kJywnLXMnXSxzdGRvdXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5QSVBFKQogICAgICAg
ICAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNhdGUoKQogICAgICAgICAgICBkaXN0cm8gPSBvdXQu
cnN0cmlwKCkKICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICBkaXN0cm8gPSBO
b25lCgogICAgICAgIGlmIG5vdCBkaXN0cm86CiAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3Rz
KCIvZXRjL2xzYi1yZWxlYXNlIik6CiAgICAgICAgICAgICAgICBmID0gb3BlbigiL2V0Yy9sc2It
cmVsZWFzZSIsICJyIikKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBm
b3IgbGluZSBpbiBmOgogICAgICAgICAgICAgICAgICAgICAgICBsbnMgPSBsaW5lLnNwbGl0KCc9
JykKICAgICAgICAgICAgICAgICAgICAgICAgaWYgbG5zWzBdID09ICJESVNUUklCX0RFU0NSSVBU
SU9OIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RybyA9IGxuc1sxXS5zdHJpcCgn
IlxuJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICBm
aW5hbGx5OgogICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQogICAgaWYgZGlzdHJvOgogICAg
ICAgIGlmIGRpc3RybyBub3QgaW4gW3guc3RyaXAoKSBmb3IgeCBpbiB0ZXN0ZWRfZGlzdHJvcy5z
cGxpdCgnXFxuJyldOgogICAgICAgICAgICBiYi53YXJuKCdIb3N0IGRpc3RyaWJ1dGlvbiAiJXMi
IGhhcyBub3QgYmVlbiB2YWxpZGF0ZWQgd2l0aCB0aGlzIHZlcnNpb24gb2YgdGhlIGJ1aWxkIHN5
c3RlbTsgeW91IG1heSBwb3NzaWJseSBleHBlcmllbmNlIHVuZXhwZWN0ZWQgZmFpbHVyZXMuIEl0
IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IHVzZSBhIHRlc3RlZCBkaXN0cmlidXRpb24uJyAlIGRp
c3RybykKICAgIGVsc2U6CiAgICAgICAgYmIud2FybignSG9zdCBkaXN0cmlidXRpb24gY291bGQg
bm90IGJlIGRldGVybWluZWQ7IHlvdSBtYXkgcG9zc2libHkgZXhwZXJpZW5jZSB1bmV4cGVjdGVk
IGZhaWx1cmVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSB1c2UgYSB0ZXN0ZWQgZGlzdHJp
YnV0aW9uLicpCn0KCgpweXRob24gZW1pdF9wa2dkYXRhICgpIHsKCWZyb20gZ2xvYiBpbXBvcnQg
Z2xvYgoKCWRlZiB3cml0ZV9pZl9leGlzdHMoZiwgcGtnLCB2YXIpOgoJCWRlZiBlbmNvZGUoc3Ry
KToKCQkJaW1wb3J0IGNvZGVjcwoJCQljID0gY29kZWNzLmdldGVuY29kZXIoInN0cmluZ19lc2Nh
cGUiKQoJCQlyZXR1cm4gYyhzdHIpWzBdCgoJCXZhbCA9IGQuZ2V0VmFyKCclc18lcycgJSAodmFy
LCBwa2cpLCBUcnVlKQoJCWlmIHZhbDoKCQkJZi53cml0ZSgnJXNfJXM6ICVzXG4nICUgKHZhciwg
cGtnLCBlbmNvZGUodmFsKSkpCgkJCXJldHVybgoJCXZhbCA9IGQuZ2V0VmFyKCclcycgJSAodmFy
KSwgVHJ1ZSkKCQlpZiB2YWw6CgkJCWYud3JpdGUoJyVzOiAlc1xuJyAlICh2YXIsIGVuY29kZSh2
YWwpKSkKCQlyZXR1cm4KCglkZWYgZ2V0X2RpcmVjdG9yeV9zaXplKGRpcik6CgkJaWYgb3MubGlz
dGRpcihkaXIpOgoJCQlzaXplID0gaW50KG9zLnBvcGVuKCdkdSAtc2sgJXMnICUgZGlyKS5yZWFk
bGluZXMoKVswXS5zcGxpdCgnXHQnKVswXSkKCQllbHNlOgoJCQlzaXplID0gMAoJCXJldHVybiBz
aXplCgoJcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnLCBUcnVlKQoJcGtnZGVzdCA9IGQu
Z2V0VmFyKCdQS0dERVNUJywgVHJ1ZSkKCXBrZ2RhdGFkaXIgPSBkLmdldFZhcignUEtHREVTVFdP
UksnLCBUcnVlKQoKCSMgVGFrZSBzaGFyZWQgbG9jayBzaW5jZSB3ZSdyZSBvbmx5IHJlYWRpbmcs
IG5vdCB3cml0aW5nCglsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKGQuZXhwYW5kKCIvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9wYWNrYWdlLW91dHB1dC5sb2Nr
IiksIFRydWUpCgoJZGF0YV9maWxlID0gcGtnZGF0YWRpciArIGQuZXhwYW5kKCIvbWV0YS10b29s
Y2hhaW4iICkKCWYgPSBvcGVuKGRhdGFfZmlsZSwgJ3cnKQoJZi53cml0ZSgiUEFDS0FHRVM6ICVz
XG4iICUgcGFja2FnZXMpCglmLmNsb3NlKCkKCgl3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVIn
LCBUcnVlKQoKCWZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKCQlzdWJkYXRhX2ZpbGUgPSBw
a2dkYXRhZGlyICsgIi9ydW50aW1lLyVzIiAlIHBrZwoKCQlzZiA9IG9wZW4oc3ViZGF0YV9maWxl
LCAndycpCgkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdQTicpCgkJd3JpdGVfaWZfZXhpc3Rz
KHNmLCBwa2csICdQVicpCgkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdQUicpCgkJd3JpdGVf
aWZfZXhpc3RzKHNmLCBwa2csICdQS0dWJykKCQl3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1BL
R1InKQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnTElDRU5TRScpCgkJd3JpdGVfaWZfZXhp
c3RzKHNmLCBwa2csICdERVNDUklQVElPTicpCgkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdT
VU1NQVJZJykKCQl3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1JERVBFTkRTJykKCQl3cml0ZV9p
Zl9leGlzdHMoc2YsIHBrZywgJ1JQUk9WSURFUycpCgkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2cs
ICdSUkVDT01NRU5EUycpCgkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdSU1VHR0VTVFMnKQoJ
CXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnUlJFUExBQ0VTJykKCQl3cml0ZV9pZl9leGlzdHMo
c2YsIHBrZywgJ1JDT05GTElDVFMnKQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnU0VDVElP
TicpCgkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdQS0cnKQoJCXdyaXRlX2lmX2V4aXN0cyhz
ZiwgcGtnLCAnQUxMT1dfRU1QVFknKQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnRklMRVMn
KQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAncGtnX3Bvc3RpbnN0JykKCQl3cml0ZV9pZl9l
eGlzdHMoc2YsIHBrZywgJ3BrZ19wb3N0cm0nKQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAn
cGtnX3ByZWluc3QnKQoJCXdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAncGtnX3ByZXJtJykKCQl3
cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0ZJTEVSUFJPVklERVNGTElTVCcpCgkJZm9yIGRmaWxl
IGluIChkLmdldFZhcignRklMRVJQUk9WSURFU0ZMSVNUXycgKyBwa2csIFRydWUpIG9yICIiKS5z
cGxpdCgpOgoJCQl3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0ZJTEVSUFJPVklERVNfJyArIGRm
aWxlKQoKCQl3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0ZJTEVSREVQRU5EU0ZMSVNUJykKCQlm
b3IgZGZpbGUgaW4gKGQuZ2V0VmFyKCdGSUxFUkRFUEVORFNGTElTVF8nICsgcGtnLCBUcnVlKSBv
ciAiIikuc3BsaXQoKToKCQkJd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdGSUxFUkRFUEVORFNf
JyArIGRmaWxlKQoKCQlzZi53cml0ZSgnJXNfJXM6ICVzXG4nICUgKCdQS0dTSVpFJywgcGtnLCBn
ZXRfZGlyZWN0b3J5X3NpemUocGtnZGVzdCArICIvJXMiICUgcGtnKSkpCgkJc2YuY2xvc2UoKQoK
CgkJYWxsb3dfZW1wdHkgPSBkLmdldFZhcignQUxMT1dfRU1QVFlfJXMnICUgcGtnLCBUcnVlKQoJ
CWlmIG5vdCBhbGxvd19lbXB0eToKCQkJYWxsb3dfZW1wdHkgPSBkLmdldFZhcignQUxMT1dfRU1Q
VFknLCBUcnVlKQoJCXJvb3QgPSAiJXMvJXMiICUgKHBrZ2Rlc3QsIHBrZykKCQlvcy5jaGRpcihy
b290KQoJCWcgPSBnbG9iKCcqJykKCQlpZiBnIG9yIGFsbG93X2VtcHR5ID09ICIxIjoKCQkJcGFj
a2FnZWRmaWxlID0gcGtnZGF0YWRpciArICcvcnVudGltZS8lcy5wYWNrYWdlZCcgJSBwa2cKCQkJ
ZmlsZShwYWNrYWdlZGZpbGUsICd3JykuY2xvc2UoKQoKCWJiLnV0aWxzLnVubG9ja2ZpbGUobGYp
Cn0KCgpweXRob24gZG9fcGF0Y2ggKCkgewoJYmIuYnVpbGQuZXhlY19mdW5jKCdiYXNlX2RvX3Bh
dGNoJywgZCkKfQoKCnB5dGhvbiBiYXNlX2xlc3Nfb3JfZXF1YWwgKCkgewpkZWYgYmFzZV9sZXNz
X29yX2VxdWFsKHZhcmlhYmxlLCBjaGVja3ZhbHVlLCB0cnVldmFsdWUsIGZhbHNldmFsdWUsIGQp
OgogICAgcmV0dXJuIG9lLnV0aWxzLmxlc3Nfb3JfZXF1YWwodmFyaWFibGUsIGNoZWNrdmFsdWUs
IHRydWV2YWx1ZSwgZmFsc2V2YWx1ZSwgZCkKfQoKCnB5dGhvbiBjaGVja19zYW5pdHkgKCkgewpk
ZWYgY2hlY2tfc2FuaXR5KGUpOgogICAgZnJvbSBiYiBpbXBvcnQgbm90ZSwgZXJyb3IsIGRhdGEs
IF9fdmVyc2lvbl9fCgogICAgdHJ5OgogICAgICAgIGZyb20gZGlzdHV0aWxzLnZlcnNpb24gaW1w
b3J0IExvb3NlVmVyc2lvbgogICAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAgIGRlZiBMb29z
ZVZlcnNpb24odik6IHByaW50ICJXQVJOSU5HOiBzYW5pdHkuYmJjbGFzcyBjYW4ndCBjb21wYXJl
IHZlcnNpb25zIHdpdGhvdXQgcHl0aG9uLWRpc3R1dGlscyI7IHJldHVybiAxCiAgICBpbXBvcnQg
Y29tbWFuZHMKCiAgICAjIENoZWNrIHRoZSBiaXRiYWtlIHZlcnNpb24gbWVldHMgbWluaW11bSBy
ZXF1aXJlbWVudHMKICAgIG1pbnZlcnNpb24gPSBkYXRhLmdldFZhcignQkJfTUlOX1ZFUlNJT04n
LCBlLmRhdGEgLCBUcnVlKQogICAgaWYgbm90IG1pbnZlcnNpb246CiAgICAgICAgIyBIYWNrOiBC
Ql9NSU5fVkVSU0lPTiBoYXNuJ3QgYmVlbiBwYXJzZWQgeWV0IHNvIHJldHVybgogICAgICAgICMg
YW5kIHdhaXQgZm9yIHRoZSBuZXh0IGNhbGwKICAgICAgICBwcmludCAiRm9vICVzIiAlIG1pbnZl
cnNpb24KICAgICAgICByZXR1cm4KCiAgICBpZiAwID09IG9zLmdldHVpZCgpOgogICAgICAgIHJh
aXNlX3Nhbml0eV9lcnJvcigiRG8gbm90IHVzZSBCaXRiYWtlIGFzIHJvb3QuIikKCiAgICBtZXNz
YWdlcyA9ICIiCgogICAgIyBDaGVjayB0aGUgUHl0aG9uIHZlcnNpb24sIHdlIG5vdyB1c2UgUHl0
aG9uIDIuNiBmZWF0dXJlcyBpbgogICAgIyB2YXJpb3VzIGNsYXNzZXMKICAgIGltcG9ydCBzeXMK
ICAgIGlmIHN5cy5oZXh2ZXJzaW9uIDwgMHgwMjA2MDBGMDoKICAgICAgICBtZXNzYWdlcyA9IG1l
c3NhZ2VzICsgJ1RoZSBzeXN0ZW0gcmVxdWlyZXMgYXQgbGVhc3QgUHl0aG9uIDIuNiB0byBydW4u
IFBsZWFzZSB1cGRhdGUgeW91ciBQeXRob24gaW50ZXJwcmV0ZXIuXG4nCgogICAgaWYgKExvb3Nl
VmVyc2lvbihfX3ZlcnNpb25fXykgPCBMb29zZVZlcnNpb24obWludmVyc2lvbikpOgogICAgICAg
IG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAnQml0YmFrZSB2ZXJzaW9uICVzIGlzIHJlcXVpcmVkIGFu
ZCB2ZXJzaW9uICVzIHdhcyBmb3VuZFxuJyAlIChtaW52ZXJzaW9uLCBfX3ZlcnNpb25fXykKCiAg
ICAjIENoZWNrIHRoYXQgdGhlIE1BQ0hJTkUgaXMgdmFsaWQsIGlmIGl0IGlzIHNldAogICAgaWYg
ZGF0YS5nZXRWYXIoJ01BQ0hJTkUnLCBlLmRhdGEsIFRydWUpOgogICAgICAgIGlmIG5vdCBjaGVj
a19jb25mX2V4aXN0cygiY29uZi9tYWNoaW5lL2NvbmNvcmRpYS5jb25mIiwgZS5kYXRhKToKICAg
ICAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICdQbGVhc2Ugc2V0IGEgdmFsaWQgTUFDSElO
RSBpbiB5b3VyIGxvY2FsLmNvbmYgb3IgZW52aXJvbm1lbnRcbicKICAgICAgICBlbHNlOgogICAg
ICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgY2hlY2tfc2FuaXR5X3ZhbGlkbWFjaGluZShl
KQogICAgZWxzZToKICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgJ1BsZWFzZSBzZXQgYSBN
QUNISU5FIGluIHlvdXIgbG9jYWwuY29uZiBvciBlbnZpcm9ubWVudFxuJwoKICAgICMgQ2hlY2sg
d2UgYXJlIHVzaW5nIGEgdmFsaWQgbGFjYWwuY29uZgogICAgY3VycmVudF9jb25mICA9IGRhdGEu
Z2V0VmFyKCdDT05GX1ZFUlNJT04nLCBlLmRhdGEsIFRydWUpCiAgICBjb25mX3ZlcnNpb24gPSAg
ZGF0YS5nZXRWYXIoJ0xPQ0FMQ09ORl9WRVJTSU9OJywgZS5kYXRhLCBUcnVlKQoKICAgIGlmIGN1
cnJlbnRfY29uZiAhPSBjb25mX3ZlcnNpb246CiAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyAr
ICJZb3VyIHZlcnNpb24gb2YgbG9jYWwuY29uZiB3YXMgZ2VuZXJhdGVkIGZyb20gYW4gb2xkZXIg
dmVyc2lvbiBvZiBsb2NhbC5jb25mLnNhbXBsZSBhbmQgdGhlcmUgaGF2ZSBiZWVuIHVwZGF0ZXMg
bWFkZSB0byB0aGlzIGZpbGUuIFBsZWFzZSBjb21wYXJlIHRoZSB0d28gZmlsZXMgYW5kIG1lcmdl
IGFueSBjaGFuZ2VzIGJlZm9yZSBjb250aW51aW5nLlxuTWF0Y2hpbmcgdGhlIHZlcnNpb24gbnVt
YmVycyB3aWxsIHJlbW92ZSB0aGlzIG1lc3NhZ2UuXG5cIm1lbGQgY29uZi9sb2NhbC5jb25mIGNv
bmYvbG9jYWwuY29uZi5zYW1wbGVcIiBpcyBhIGdvb2Qgd2F5IHRvIHZpc3VhbGlzZSB0aGUgY2hh
bmdlcy5cbiIKCiAgICAjIENoZWNrIGJibGF5ZXJzLmNvbmYgaXMgdmFsaWQKICAgIGN1cnJlbnRf
bGNvbmYgPSBkYXRhLmdldFZhcignTENPTkZfVkVSU0lPTicsIGUuZGF0YSwgVHJ1ZSkKICAgIGxj
b25mX3ZlcnNpb24gPSBkYXRhLmdldFZhcignTEFZRVJfQ09ORl9WRVJTSU9OJywgZS5kYXRhLCBU
cnVlKQogICAgaWYgY3VycmVudF9sY29uZiAhPSBsY29uZl92ZXJzaW9uOgogICAgICAgIG1lc3Nh
Z2VzID0gbWVzc2FnZXMgKyAiWW91ciB2ZXJzaW9uIG9mIGJibGF5ZXJzLmNvbmYgd2FzIGdlbmVy
YXRlZCBmcm9tIGFuIG9sZGVyIHZlcnNpb24gb2YgYmJsYXllcnMuY29uZi5zYW1wbGUgYW5kIHRo
ZXJlIGhhdmUgYmVlbiB1cGRhdGVzIG1hZGUgdG8gdGhpcyBmaWxlLiBQbGVhc2UgY29tcGFyZSB0
aGUgdHdvIGZpbGVzIGFuZCBtZXJnZSBhbnkgY2hhbmdlcyBiZWZvcmUgY29udGludWluZy5cbk1h
dGNoaW5nIHRoZSB2ZXJzaW9uIG51bWJlcnMgd2lsbCByZW1vdmUgdGhpcyBtZXNzYWdlLlxuXCJt
ZWxkIGNvbmYvYmJsYXllcnMuY29uZiBjb25mL2JibGF5ZXJzLmNvbmYuc2FtcGxlXCIgaXMgYSBn
b29kIHdheSB0byB2aXN1YWxpc2UgdGhlIGNoYW5nZXMuXG4iCgogICAgIyBJZiB3ZSBoYXZlIGEg
c2l0ZS5jb25mLCBjaGVjayBpdCdzIHZhbGlkCiAgICBpZiBjaGVja19jb25mX2V4aXN0cygiY29u
Zi9zaXRlLmNvbmYiLCBlLmRhdGEpOgogICAgICAgIGN1cnJlbnRfc2NvbmYgPSBkYXRhLmdldFZh
cignU0NPTkZfVkVSU0lPTicsIGUuZGF0YSwgVHJ1ZSkKICAgICAgICBzY29uZl92ZXJzaW9uID0g
ZGF0YS5nZXRWYXIoJ1NJVEVfQ09ORl9WRVJTSU9OJywgZS5kYXRhLCBUcnVlKQogICAgICAgIGlm
IGN1cnJlbnRfc2NvbmYgIT0gc2NvbmZfdmVyc2lvbjoKICAgICAgICAgICAgbWVzc2FnZXMgPSBt
ZXNzYWdlcyArICJZb3VyIHZlcnNpb24gb2Ygc2l0ZS5jb25mIHdhcyBnZW5lcmF0ZWQgZnJvbSBh
biBvbGRlciB2ZXJzaW9uIG9mIHNpdGUuY29uZi5zYW1wbGUgYW5kIHRoZXJlIGhhdmUgYmVlbiB1
cGRhdGVzIG1hZGUgdG8gdGhpcyBmaWxlLiBQbGVhc2UgY29tcGFyZSB0aGUgdHdvIGZpbGVzIGFu
ZCBtZXJnZSBhbnkgY2hhbmdlcyBiZWZvcmUgY29udGludWluZy5cbk1hdGNoaW5nIHRoZSB2ZXJz
aW9uIG51bWJlcnMgd2lsbCByZW1vdmUgdGhpcyBtZXNzYWdlLlxuXCJtZWxkIGNvbmYvc2l0ZS5j
b25mIGNvbmYvc2l0ZS5jb25mLnNhbXBsZVwiIGlzIGEgZ29vZCB3YXkgdG8gdmlzdWFsaXNlIHRo
ZSBjaGFuZ2VzLlxuIgoKICAgIGFzc3VtZV9wcm92aWRlZCA9IGRhdGEuZ2V0VmFyKCdBU1NVTUVf
UFJPVklERUQnLCBlLmRhdGEgLCBUcnVlKS5zcGxpdCgpCiAgICAjIENoZWNrIHVzZXIgZG9lc24n
dCBoYXZlIEFTU1VNRV9QUk9WSURFRCA9IGluc3RlYWQgb2YgKz0gaW4gbG9jYWwuY29uZgogICAg
aWYgImRpZmZzdGF0LW5hdGl2ZSIgbm90IGluIGFzc3VtZV9wcm92aWRlZDoKICAgICAgICBtZXNz
YWdlcyA9IG1lc3NhZ2VzICsgJ1BsZWFzZSB1c2UgQVNTVU1FX1BST1ZJREVEICs9LCBub3QgQVNT
VU1FX1BST1ZJREVEID0gaW4geW91ciBsb2NhbC5jb25mXG4nCgogICAgIyBDaGVjayB0aGF0IERM
X0RJUiBpcyBzZXQsIGV4aXN0cyBhbmQgaXMgd3JpdGFibGUuIEluIHRoZW9yeSwgd2Ugc2hvdWxk
IG5ldmVyIGV2ZW4gaGl0IHRoZSBjaGVjayBpZiBETF9ESVIgaXNuJ3QKICAgICMgc2V0LCBzaW5j
ZSBzbyBtdWNoIHJlbGllcyBvbiBpdCBiZWluZyBzZXQuCiAgICBkbGRpciA9IGRhdGEuZ2V0VmFy
KCdETF9ESVInLCBlLmRhdGEsIFRydWUpCiAgICBpZiBub3QgZGxkaXI6CiAgICAgICAgbWVzc2Fn
ZXMgPSBtZXNzYWdlcyArICJETF9ESVIgaXMgbm90IHNldC4gWW91ciBlbnZpcm9ubWVudCBpcyBt
aXNjb25maWd1cmVkLCBjaGVjayB0aGF0IERMX0RJUiBpcyBzZXQsIGFuZCBpZiB0aGUgZGlyZWN0
b3J5IGV4aXN0cywgdGhhdCBpdCBpcyB3cml0YWJsZS4gXG4iCiAgICBpZiBvcy5wYXRoLmV4aXN0
cyhkbGRpcikgYW5kIG5vdCBvcy5hY2Nlc3MoZGxkaXIsIG9zLldfT0spOgogICAgICAgIG1lc3Nh
Z2VzID0gbWVzc2FnZXMgKyAiRExfRElSOiAlcyBleGlzdHMgYnV0IHlvdSBkbyBub3QgYXBwZWFy
IHRvIGhhdmUgd3JpdGUgYWNjZXNzIHRvIGl0LiBcbiIgJSBkbGRpcgoKICAgICMgQ2hlY2sgdGhh
dCB0aGUgRElTVFJPIGlzIHZhbGlkLCBpZiBzZXQKICAgICMgbmVlZCB0byB0YWtlIGludG8gYWNj
b3VudCBESVNUUk8gcmVuYW1pbmcgRElTVFJPCiAgICBkaXN0cm8gPSBkYXRhLmdldFZhcignRElT
VFJPJywgZS5kYXRhLCBUcnVlKQogICAgaWYgZGlzdHJvOgogICAgICAgIGlmIG5vdCAoIGNoZWNr
X2NvbmZfZXhpc3RzKCJjb25mL2Rpc3Ryby9jb25jb3JkaWEuY29uZiIsIGUuZGF0YSkgb3IgY2hl
Y2tfY29uZl9leGlzdHMoImNvbmYvZGlzdHJvL2luY2x1ZGUvY29uY29yZGlhLmluYyIsIGUuZGF0
YSkgKToKICAgICAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICJESVNUUk8gJyVzJyBub3Qg
Zm91bmQuIFBsZWFzZSBzZXQgYSB2YWxpZCBESVNUUk8gaW4geW91ciBsb2NhbC5jb25mXG4iICUg
ZGF0YS5nZXRWYXIoIkRJU1RSTyIsIGUuZGF0YSwgVHJ1ZSApCgogICAgbWlzc2luZyA9ICIiCgog
ICAgaWYgbm90IGNoZWNrX2FwcF9leGlzdHMoIm1ha2UiLCBlLmRhdGEpOgogICAgICAgIG1pc3Np
bmcgPSBtaXNzaW5nICsgIkdOVSBtYWtlLCIKCiAgICBpZiBub3QgY2hlY2tfYXBwX2V4aXN0cygn
Z2NjJywgZS5kYXRhKToKICAgICAgICBtaXNzaW5nID0gbWlzc2luZyArICJDIENvbXBpbGVyICgl
c2djYyksIiAlIGRhdGEuZ2V0VmFyKCJCVUlMRF9QUkVGSVgiLCBlLmRhdGEsIFRydWUpCgogICAg
aWYgbm90IGNoZWNrX2FwcF9leGlzdHMoJ2crKycsIGUuZGF0YSk6CiAgICAgICAgbWlzc2luZyA9
IG1pc3NpbmcgKyAiQysrIENvbXBpbGVyICglc2crKyksIiAlIGRhdGEuZ2V0VmFyKCJCVUlMRF9Q
UkVGSVgiLCBlLmRhdGEsIFRydWUpCgogICAgcmVxdWlyZWRfdXRpbGl0aWVzID0gZS5kYXRhLmdl
dFZhcignU0FOSVRZX1JFUVVJUkVEX1VUSUxJVElFUycsIFRydWUpCgogICAgaWYgInFlbXUtbmF0
aXZlIiBpbiBhc3N1bWVfcHJvdmlkZWQ6CiAgICAgICAgaWYgbm90IGNoZWNrX2FwcF9leGlzdHMo
InFlbXUtYXJtIiwgZS5kYXRhKToKICAgICAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICJx
ZW11LW5hdGl2ZSB3YXMgaW4gQVNTVU1FX1BST1ZJREVEIGJ1dCB0aGUgUUVNVSBiaW5hcmllcyAo
cWVtdS1hcm0pIGNhbid0IGJlIGZvdW5kIGluIFBBVEgiCgogICAgaWYgIi4iIGluIGRhdGEuZ2V0
VmFyKCdQQVRIJywgZS5kYXRhLCBUcnVlKS5zcGxpdCgiOiIpOgogICAgICAgIG1lc3NhZ2VzID0g
bWVzc2FnZXMgKyAiUEFUSCBjb250YWlucyAnLicgd2hpY2ggd2lsbCBicmVhayB0aGUgYnVpbGQs
IHBsZWFzZSByZW1vdmUgdGhpcyIKCiAgICBpZiBkYXRhLmdldFZhcignVEFSR0VUX0FSQ0gnLCBl
LmRhdGEsIFRydWUpID09ICJhcm0iOgogICAgICAgICMgVGhpcyBwYXRoIGlzIG5vIGxvbmdlciB1
c2VyLXJlYWRhYmxlIGluIG1vZGVybiAodmVyeSByZWNlbnQpIExpbnV4CiAgICAgICAgdHJ5Ogog
ICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygiL3Byb2Mvc3lzL3ZtL21tYXBfbWluX2FkZHIi
KToKICAgICAgICAgICAgICAgIGYgPSBvcGVuKCIvcHJvYy9zeXMvdm0vbW1hcF9taW5fYWRkciIs
ICJyIikKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBpZiAoaW50KGYu
cmVhZCgpLnN0cmlwKCkpID4gNjU1MzYpOgogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdl
cyA9IG1lc3NhZ2VzICsgIi9wcm9jL3N5cy92bS9tbWFwX21pbl9hZGRyIGlzIG5vdCA8PSA2NTUz
Ni4gVGhpcyB3aWxsIGNhdXNlIHByb2JsZW1zIHdpdGggcWVtdSBzbyBwbGVhc2UgZml4IHRoZSB2
YWx1ZSAoYXMgcm9vdCkuXG5cblRvIGZpeCB0aGlzIGluIGxhdGVyIHJlYm9vdHMsIHNldCB2bS5t
bWFwX21pbl9hZGRyID0gNjU1MzYgaW4gL2V0Yy9zeXNjdGwuY29uZi5cbiIKICAgICAgICAgICAg
ICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgZXhjZXB0
OgogICAgICAgICAgICBwYXNzCgogICAgZm9yIHV0aWwgaW4gcmVxdWlyZWRfdXRpbGl0aWVzLnNw
bGl0KCk6CiAgICAgICAgaWYgbm90IGNoZWNrX2FwcF9leGlzdHMoIHV0aWwsIGUuZGF0YSApOgog
ICAgICAgICAgICBtaXNzaW5nID0gbWlzc2luZyArICIlcywiICUgdXRpbAoKICAgIGlmIG1pc3Np
bmcgIT0gIiI6CiAgICAgICAgbWlzc2luZyA9IG1pc3NpbmcucnN0cmlwKCcsJykKICAgICAgICBt
ZXNzYWdlcyA9IG1lc3NhZ2VzICsgIlBsZWFzZSBpbnN0YWxsIGZvbGxvd2luZyBtaXNzaW5nIHV0
aWxpdGllczogJXNcbiIgJSBtaXNzaW5nCgogICAgcHNldWRvX21zZyA9IGNoZWNrX3BzZXVkb193
cmFwcGVyKCkKICAgIGlmIHBzZXVkb19tc2cgIT0gIiI6CiAgICAgICAgbWVzc2FnZXMgPSBtZXNz
YWdlcyArIHBzZXVkb19tc2cgKyAnXG4nCgogICAgY2hlY2tfc3VwcG9ydGVkX2Rpc3RybyhlKQoK
ICAgICMgQ2hlY2sgaWYgRElTUExBWSBpcyBzZXQgaWYgSU1BR0VURVNUIGlzIHNldAogICAgaWYg
bm90IGRhdGEuZ2V0VmFyKCAnRElTUExBWScsIGUuZGF0YSwgVHJ1ZSApIGFuZCBkYXRhLmdldFZh
ciggJ0lNQUdFVEVTVCcsIGUuZGF0YSwgVHJ1ZSApID09ICdxZW11JzoKICAgICAgICBtZXNzYWdl
cyA9IG1lc3NhZ2VzICsgJ3FlbXVpbWFnZXRlc3QgbmVlZHMgYSBYIGRlc2t0b3AgdG8gc3RhcnQg
cWVtdSwgcGxlYXNlIHNldCBESVNQTEFZIGNvcnJlY3RseSAoZS5nLiBESVNQTEFZPToxLjApXG4n
CgogICAgb21hc2sgPSBvcy51bWFzaygwMjIpCiAgICBpZiBvbWFzayAmIDA3NTU6CiAgICAgICAg
bWVzc2FnZXMgPSBtZXNzYWdlcyArICJQbGVhc2UgdXNlIGEgdW1hc2sgd2hpY2ggYWxsb3dzIGEr
cnggYW5kIHUrcnd4XG4iCiAgICBvcy51bWFzayhvbWFzaykKCiAgICBvZXNfYmJfY29uZiA9IGRh
dGEuZ2V0VmFyKCAnT0VTX0JJVEJBS0VfQ09ORicsIGUuZGF0YSwgVHJ1ZSApCiAgICBpZiBub3Qg
b2VzX2JiX2NvbmY6CiAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICdZb3UgZG8gbm90IGlu
Y2x1ZGUgT3BlbkVtYmVkZGVkcyB2ZXJzaW9uIG9mIGNvbmYvYml0YmFrZS5jb25mLiBUaGlzIG1l
YW5zIHlvdXIgZW52aXJvbm1lbnQgaXMgbWlzY29uZmlndXJlZCwgaW4gcGFydGljdWxhciBjaGVj
ayBCQlBBVEguXG4nCgogICAgbm9saWJzID0gZGF0YS5nZXRWYXIoJ05PMzJMSUJTJywgZS5kYXRh
LCBUcnVlKQogICAgaWYgbm90IG5vbGliczoKICAgICAgICBsaWIzMnBhdGggPSAnL2xpYicKICAg
ICAgICBpZiBvcy5wYXRoLmV4aXN0cygnL2xpYjY0JykgYW5kICggb3MucGF0aC5pc2xpbmsoJy9s
aWI2NCcpIG9yIG9zLnBhdGguaXNsaW5rKCcvbGliJykgKToKICAgICAgICAgICBsaWIzMnBhdGgg
PSAnL2xpYjMyJwoKICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygnJXMvbGliYy5zby42JyAlIGxp
YjMycGF0aCkgYW5kIG5vdCBvcy5wYXRoLmV4aXN0cygnL3Vzci9pbmNsdWRlL2dudS9zdHVicy0z
Mi5oJyk6CiAgICAgICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAiWW91IGhhdmUgYSAzMi1i
aXQgbGliYywgYnV0IG5vIDMyLWJpdCBoZWFkZXJzLiAgWW91IG11c3QgaW5zdGFsbCB0aGUgMzIt
Yml0IGxpYmMgaGVhZGVycy5cbiIKCiAgICB0bXBkaXIgPSBkYXRhLmdldFZhcignVE1QRElSJywg
ZS5kYXRhLCBUcnVlKQogICAgc3N0YXRlX2RpciA9IGRhdGEuZ2V0VmFyKCdTU1RBVEVfRElSJywg
ZS5kYXRhLCBUcnVlKQoKICAgICMgQ2hlY2sgc2F2ZWQgc2FuaXR5IGluZm8KICAgIGxhc3Rfc2Fu
aXR5X3ZlcnNpb24gPSAwCiAgICBsYXN0X3RtcGRpciA9ICIiCiAgICBsYXN0X3NzdGF0ZV9kaXIg
PSAiIgogICAgc2FuaXR5dmVyZmlsZSA9ICdjb25mL3Nhbml0eV9pbmZvJwogICAgaWYgb3MucGF0
aC5leGlzdHMoc2FuaXR5dmVyZmlsZSk6CiAgICAgICAgZiA9IGZpbGUoc2FuaXR5dmVyZmlsZSwg
J3InKQogICAgICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0
aCgnU0FOSVRZX1ZFUlNJT04nKToKICAgICAgICAgICAgICAgIGxhc3Rfc2FuaXR5X3ZlcnNpb24g
PSBpbnQobGluZS5zcGxpdCgpWzFdKQogICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJ1RN
UERJUicpOgogICAgICAgICAgICAgICAgbGFzdF90bXBkaXIgPSBsaW5lLnNwbGl0KClbMV0KICAg
ICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCdTU1RBVEVfRElSJyk6CiAgICAgICAgICAgICAg
ICBsYXN0X3NzdGF0ZV9kaXIgPSBsaW5lLnNwbGl0KClbMV0KCiAgICBzYW5pdHlfdmVyc2lvbiA9
IGludChkYXRhLmdldFZhcignU0FOSVRZX1ZFUlNJT04nLCBlLmRhdGEsIFRydWUpIG9yIDEpCiAg
ICBpZiBsYXN0X3Nhbml0eV92ZXJzaW9uIDwgc2FuaXR5X3ZlcnNpb246CiAgICAgICAgbWVzc2Fn
ZXMgPSBtZXNzYWdlcyArIGNoZWNrX3Nhbml0eV92ZXJzaW9uX2NoYW5nZShlLmRhdGEpCiAgICAg
ICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArIGNoZWNrX3Nhbml0eV90bXBkaXJfY2hhbmdlKHRtcGRp
ciwgZS5kYXRhKQogICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyBjaGVja19zYW5pdHlfc3N0
YXRlX2Rpcl9jaGFuZ2Uoc3N0YXRlX2RpciwgZS5kYXRhKQogICAgZWxzZToKICAgICAgICBpZiBs
YXN0X3RtcGRpciAhPSB0bXBkaXI6CiAgICAgICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyBj
aGVja19zYW5pdHlfdG1wZGlyX2NoYW5nZSh0bXBkaXIsIGUuZGF0YSkKICAgICAgICBpZiBsYXN0
X3NzdGF0ZV9kaXIgIT0gc3N0YXRlX2RpcjoKICAgICAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdl
cyArIGNoZWNrX3Nhbml0eV9zc3RhdGVfZGlyX2NoYW5nZShzc3RhdGVfZGlyLCBlLmRhdGEpCgog
ICAgaWYgb3MucGF0aC5leGlzdHMoImNvbmYiKSBhbmQgbm90IG1lc3NhZ2VzOgogICAgICAgIGYg
PSBmaWxlKHNhbml0eXZlcmZpbGUsICd3JykKICAgICAgICBmLndyaXRlKCJTQU5JVFlfVkVSU0lP
TiAlc1xuIiAlIHNhbml0eV92ZXJzaW9uKQogICAgICAgIGYud3JpdGUoIlRNUERJUiAlc1xuIiAl
IHRtcGRpcikKICAgICAgICBmLndyaXRlKCJTU1RBVEVfRElSICVzXG4iICUgc3N0YXRlX2RpcikK
CiAgICAjCiAgICAjIENoZWNrIHRoYXQgVE1QRElSIGhhc24ndCBjaGFuZ2VkIGxvY2F0aW9uIHNp
bmNlIHRoZSBsYXN0IHRpbWUgd2Ugd2VyZSBydW4KICAgICMKICAgIGNoZWNrZmlsZSA9IG9zLnBh
dGguam9pbih0bXBkaXIsICJzYXZlZF90bXBkaXIiKQogICAgaWYgb3MucGF0aC5leGlzdHMoY2hl
Y2tmaWxlKToKICAgICAgICBmID0gZmlsZShjaGVja2ZpbGUsICJyIikKICAgICAgICBzYXZlZF90
bXBkaXIgPSBmLnJlYWQoKS5zdHJpcCgpCiAgICAgICAgaWYgKHNhdmVkX3RtcGRpciAhPSB0bXBk
aXIpOgogICAgICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgIkVycm9yLCBUTVBESVIgaGFz
IGNoYW5nZWQgbG9jYXRpb24uIFlvdSBuZWVkIHRvIGVpdGhlciBtb3ZlIGl0IGJhY2sgdG8gJXMg
b3IgcmVidWlsZFxuIiAlIHNhdmVkX3RtcGRpcgogICAgZWxzZToKICAgICAgICBmID0gZmlsZShj
aGVja2ZpbGUsICJ3IikKICAgICAgICBmLndyaXRlKHRtcGRpcikKICAgIGYuY2xvc2UoKQoKICAg
ICMKICAgICMgQ2hlY2sgdGhlICdBQkknIG9mIFRNUERJUgogICAgIwogICAgY3VycmVudF9hYmkg
PSBkYXRhLmdldFZhcignT0VMQVlPVVRfQUJJJywgZS5kYXRhLCBUcnVlKQogICAgYWJpZmlsZSA9
IGRhdGEuZ2V0VmFyKCdTQU5JVFlfQUJJRklMRScsIGUuZGF0YSwgVHJ1ZSkKICAgIGlmIG9zLnBh
dGguZXhpc3RzKGFiaWZpbGUpOgogICAgICAgIGYgPSBmaWxlKGFiaWZpbGUsICJyIikKICAgICAg
ICBhYmkgPSBmLnJlYWQoKS5zdHJpcCgpCiAgICAgICAgaWYgbm90IGFiaS5pc2RpZ2l0KCk6CiAg
ICAgICAgICAgIGYgPSBmaWxlKGFiaWZpbGUsICJ3IikKICAgICAgICAgICAgZi53cml0ZShjdXJy
ZW50X2FiaSkKICAgICAgICBlbGlmIGFiaSA9PSAiMiIgYW5kIGN1cnJlbnRfYWJpID09ICIzIjoK
ICAgICAgICAgICAgYmIubm90ZSgiQ29udmVydGluZyBzdGFnaW5nIGZyb20gbGF5b3V0IHZlcnNp
b24gMiB0byBsYXlvdXQgdmVyc2lvbiAzIikKICAgICAgICAgICAgb3Muc3lzdGVtKGUuZGF0YS5l
eHBhbmQoIm12IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N0YWdpbmcg
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMiKSkKICAgICAg
ICAgICAgb3Muc3lzdGVtKGUuZGF0YS5leHBhbmQoImxuIC1zIHN5c3Jvb3RzIC9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N0YWdpbmciKSkKICAgICAgICAgICAgb3Muc3lz
dGVtKGUuZGF0YS5leHBhbmQoImNkIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N0YW1wczsgZm9yIGkgaW4gKi8qZG9fcG9wdWxhdGVfc3RhZ2luZzsgZG8gbmV3PWBlY2hv
ICRpIHwgc2VkIC1lICdzL2RvX3BvcHVsYXRlX3N0YWdpbmcvZG9fcG9wdWxhdGVfc3lzcm9vdC8n
YDsgbXYgJGkgJG5ldzsgZG9uZSIpKQogICAgICAgICAgICBmID0gZmlsZShhYmlmaWxlLCAidyIp
CiAgICAgICAgICAgIGYud3JpdGUoY3VycmVudF9hYmkpCiAgICAgICAgZWxpZiBhYmkgPT0gIjMi
IGFuZCBjdXJyZW50X2FiaSA9PSAiNCI6CiAgICAgICAgICAgIGJiLm5vdGUoIkNvbnZlcnRpbmcg
c3RhZ2luZyBsYXlvdXQgZnJvbSB2ZXJzaW9uIDMgdG8gbGF5b3V0IHZlcnNpb24gNCIpCiAgICAg
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGUuZGF0YS5leHBhbmQoIi9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL2NvcmUy
LWNjZC1saW51eCIpKToKICAgICAgICAgICAgICAgIG9zLnN5c3RlbShlLmRhdGEuZXhwYW5kKCJt
diAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQt
bGludXgvdXNyL2Jpbi9jb3JlMi1jY2QtbGludXggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9iaW4vY3Jvc3NzY3JpcHRzIikpCiAg
ICAgICAgICAgICAgICBvcy5zeXN0ZW0oZS5kYXRhLmV4cGFuZCgibG4gLXMgL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvY29uY29yZGlhL3Vzci9iaW4vY3Jv
c3NzY3JpcHRzIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3Rz
L3g4Nl82NC1saW51eC91c3IvYmluL2NvcmUyLWNjZC1saW51eCIpKQoKICAgICAgICAgICAgZiA9
IGZpbGUoYWJpZmlsZSwgInciKQogICAgICAgICAgICBmLndyaXRlKGN1cnJlbnRfYWJpKQogICAg
ICAgIGVsaWYgYWJpID09ICI0IjoKICAgICAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICJT
dGFnaW5nIGxheW91dCBoYXMgY2hhbmdlZC4gVGhlIGNyb3NzIGRpcmVjdG9yeSBoYXMgYmVlbiBk
ZXByZWNhdGVkIGFuZCBjcm9zcyBwYWNrYWdlcyBhcmUgbm93IGJ1aWx0IHVuZGVyIHRoZSBuYXRp
dmUgc3lzcm9vdC5cblRoaXMgcmVxdWlyZXMgYSByZWJ1aWxkLlxuIgogICAgICAgIGVsaWYgYWJp
ID09ICI1IiBhbmQgY3VycmVudF9hYmkgPT0gIjYiOgogICAgICAgICAgICBiYi5ub3RlKCJDb252
ZXJ0aW5nIHN0YWdpbmcgbGF5b3V0IGZyb20gdmVyc2lvbiA1IHRvIGxheW91dCB2ZXJzaW9uIDYi
KQogICAgICAgICAgICBvcy5zeXN0ZW0oZS5kYXRhLmV4cGFuZCgibXYgL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvcHN0YWdlbG9ncyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9zc3RhdGUtY29udHJvbCIpKQogICAgICAgICAgICBmID0gZmlsZShh
YmlmaWxlLCAidyIpCiAgICAgICAgICAgIGYud3JpdGUoY3VycmVudF9hYmkpCiAgICAgICAgZWxp
ZiBhYmkgPT0gIjciIGFuZCBjdXJyZW50X2FiaSA9PSAiOCI6CiAgICAgICAgICAgIG1lc3NhZ2Vz
ID0gbWVzc2FnZXMgKyAiWW91ciBjb25maWd1cmF0aW9uIGlzIHVzaW5nIHN0YW1wIGZpbGVzIGlu
Y2x1ZGluZyB0aGUgc3N0YXRlIGhhc2ggYnV0IHlvdXIgYnVpbGQgZGlyZWN0b3J5IHdhcyBidWls
dCB3aXRoIHN0YW1wIGZpbGVzIHRoYXQgZG8gbm90IGluY2x1ZGUgdGhpcy5cblRvIGNvbnRpbnVl
LCBlaXRoZXIgcmVidWlsZCBvciBzd2l0Y2ggYmFjayB0byB0aGUgT0VCYXNpYyBzaWduYXR1cmUg
aGFuZGxlciB3aXRoIEJCX1NJR05BVFVSRV9IQU5ETEVSID0gJ09FQmFzaWMnLlxuIgogICAgICAg
IGVsaWYgKGFiaSAhPSBjdXJyZW50X2FiaSk6CiAgICAgICAgICAgICMgQ29kZSB0byBjb252ZXJ0
IGZyb20gb25lIEFCSSB0byBhbm90aGVyIGNvdWxkIGdvIGhlcmUgaWYgcG9zc2libGUuCiAgICAg
ICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAiRXJyb3IsIFRNUERJUiBoYXMgY2hhbmdlZCBp
dHMgbGF5b3V0IHZlcnNpb24gbnVtYmVyICglcyB0byAlcykgYW5kIHlvdSBuZWVkIHRvIGVpdGhl
ciByZWJ1aWxkLCByZXZlcnQgb3IgYWRqdXN0IGl0IGF0IHlvdXIgb3duIHJpc2suXG4iICUgKGFi
aSwgY3VycmVudF9hYmkpCiAgICBlbHNlOgogICAgICAgIGYgPSBmaWxlKGFiaWZpbGUsICJ3IikK
ICAgICAgICBmLndyaXRlKGN1cnJlbnRfYWJpKQogICAgZi5jbG9zZSgpCgogICAgb2Vyb290ID0g
ZGF0YS5nZXRWYXIoJ0NPUkVCQVNFJywgZS5kYXRhKQogICAgaWYgb2Vyb290LmZpbmQgKCcrJykg
IT0gLTE6CiAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICJFcnJvciwgeW91IGhhdmUgYW4g
aW52YWxpZCBjaGFyYWN0ZXIgKCspIGluIHlvdXIgQ09SRUJBU0UgZGlyZWN0b3J5IHBhdGguIFBs
ZWFzZSBtb3ZlIHRoZSBpbnN0YWxsYXRpb24gdG8gYSBkaXJlY3Rvcnkgd2hpY2ggZG9lc24ndCBp
bmNsdWRlIGEgKy4iCiAgICBlbGlmIG9lcm9vdC5maW5kICgnICcpICE9IC0xOgogICAgICAgIG1l
c3NhZ2VzID0gbWVzc2FnZXMgKyAiRXJyb3IsIHlvdSBoYXZlIGEgc3BhY2UgaW4geW91ciBDT1JF
QkFTRSBkaXJlY3RvcnkgcGF0aC4gUGxlYXNlIG1vdmUgdGhlIGluc3RhbGxhdGlvbiB0byBhIGRp
cmVjdG9yeSB3aGljaCBkb2Vzbid0IGluY2x1ZGUgYSBzcGFjZS4iCgogICAgaWYgbWVzc2FnZXMg
IT0gIiI6CiAgICAgICAgcmFpc2Vfc2FuaXR5X2Vycm9yKG1lc3NhZ2VzKQp9CgoKcHl0aG9uIGJh
c2VfZGV0ZWN0X2JyYW5jaCAoKSB7CmRlZiBiYXNlX2RldGVjdF9icmFuY2goZCk6CglwYXRoID0g
YmFzZV9nZXRfc2NtYmFzZXBhdGgoZCkKCglzY21zID0gW2Jhc2VfZ2V0X21ldGFkYXRhX2dpdF9i
cmFuY2hdCgoJZm9yIHNjbSBpbiBzY21zOgoJCXJldiA9IHNjbShwYXRoLCBkKQoJCWlmIHJldiA8
PiAiPHVua25vd24+IjoKCQkJcmV0dXJuIHJldi5zdHJpcCgpCgoJcmV0dXJuICI8dW5rbm93bj4i
Cn0KCgpweXRob24gb2VfcG9wZW5fZW52ICgpIHsKZGVmIG9lX3BvcGVuX2VudihkKToKICAgIGVu
diA9IGQuZ2V0VmFyKCJfX29lX3BvcGVuX2VudiIsIEZhbHNlKQogICAgaWYgZW52IGlzIE5vbmU6
CiAgICAgICAgZW52ID0ge30KICAgICAgICBmb3IgdiBpbiBkLmtleXMoKToKICAgICAgICAgICAg
aWYgZC5nZXRWYXJGbGFnKHYsICJleHBvcnQiKToKICAgICAgICAgICAgICAgIGVudlt2XSA9IGQu
Z2V0VmFyKHYsIFRydWUpIG9yICIiCiAgICAgICAgZC5zZXRWYXIoIl9fb2VfcG9wZW5fZW52Iiwg
ZW52KQogICAgcmV0dXJuIGVudgp9CgoKcHl0aG9uIGNoZWNrX3Nhbml0eV90bXBkaXJfY2hhbmdl
ICgpIHsKZGVmIGNoZWNrX3Nhbml0eV90bXBkaXJfY2hhbmdlKHRtcGRpciwgZGF0YSk6CiAgICAj
IFNhbml0eSBjaGVja3MgdG8gYmUgZG9uZSB3aGVuIHRoZSB2YWx1ZSBvZiBUTVBESVIgY2hhbmdl
cwoKICAgICMgQ2hlY2sgdGhhdCBUTVBESVIgaXNuJ3Qgb24gYSBmaWxlc3lzdGVtIHdpdGggbGlt
aXRlZCBmaWxlbmFtZSBsZW5ndGggKGVnLiBlQ3J5cHRGUykKICAgIHRlc3Rtc2cgPSBjaGVja19j
cmVhdGVfbG9uZ19maWxlbmFtZSh0bXBkaXIsICJUTVBESVIiKQogICAgIyBDaGVjayB0aGF0IHdl
IGNhbiBmZXRjaCBmcm9tIHZhcmlvdXMgbmV0d29yayB0cmFuc3BvcnRzCiAgICB0ZXN0bXNnID0g
dGVzdG1zZyArIGNoZWNrX2Nvbm5lY3Rpdml0eShkYXRhKQogICAgcmV0dXJuIHRlc3Rtc2cKfQoK
CnB5dGhvbiBzc3RhdGVfaGFyZGNvZGVfcGF0aCAoKSB7CmRlZiBzc3RhdGVfaGFyZGNvZGVfcGF0
aChkKToKCSMgTmVlZCB0byByZW1vdmUgaGFyZGNvZGVkIHBhdGhzIGFuZCBmaXggdGhlc2Ugd2hl
biB3ZSBpbnN0YWxsIHRoZQoJIyBzdGFnaW5nIHBhY2thZ2VzLgoKCXN0YWdpbmcgPSBkLmdldFZh
cignU1RBR0lOR19ESVInLCBUcnVlKQoJc3RhZ2luZ190YXJnZXQgPSBkLmdldFZhcignU1RBR0lO
R19ESVJfVEFSR0VUJywgVHJ1ZSkKCXN0YWdpbmdfaG9zdCA9IGQuZ2V0VmFyKCdTVEFHSU5HX0RJ
Ul9IT1NUJywgVHJ1ZSkKCXNzdGF0ZV9idWlsZGRpciA9IGQuZ2V0VmFyKCdTU1RBVEVfQlVJTERE
SVInLCBUcnVlKQoKCWlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZScsIGQpIG9yIGJi
LmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZXNkaycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNf
Y2xhc3MoJ2Nyb3Nzc2RrJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MtY2Fu
YWRpYW4nLCBkKToKCQlzc3RhdGVfc2VkX2NtZCA9ICJzZWQgLWkgLWUgJ3M6JXM6RklYTUVTVEFH
SU5HRElSOmcnIiAlIChzdGFnaW5nKQoJZWxpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9z
cycsIGQpOgoJCXNzdGF0ZV9zZWRfY21kID0gInNlZCAtaSAtZSAnczolczpGSVhNRVNUQUdJTkdE
SVJUQVJHRVQ6ZzsgczolczpGSVhNRVNUQUdJTkdESVI6ZyciICUgKHN0YWdpbmdfdGFyZ2V0LCBz
dGFnaW5nKQoJZWxzZToKCQlzc3RhdGVfc2VkX2NtZCA9ICJzZWQgLWkgLWUgJ3M6JXM6RklYTUVT
VEFHSU5HRElSSE9TVDpnJyIgJSAoc3RhZ2luZ19ob3N0KQoKCXNzdGF0ZV9zY2FuX2NtZCA9IGQu
Z2V0VmFyKCdTU1RBVEVfU0NBTl9DTUQnLCBUcnVlKQoJc3N0YXRlX2ZpbGVsaXN0X2NtZCA9ICJ0
ZWUgJXNmaXhtZXBhdGgiICUgKHNzdGF0ZV9idWlsZGRpcikKCgkjIGZpeG1lcGF0aCBmaWxlIG5l
ZWRzIHJlbGF0aXZlIHBhdGhzLCBkcm9wIHNzdGF0ZV9idWlsZGRpciBwcmVmaXgKCXNzdGF0ZV9m
aWxlbGlzdF9yZWxhdGl2ZV9jbWQgPSAic2VkIC1pIC1lICdzOl4lczo6ZycgJXNmaXhtZXBhdGgi
ICUgKHNzdGF0ZV9idWlsZGRpciwgc3N0YXRlX2J1aWxkZGlyKQoKCXNzdGF0ZV9oYXJkY29kZV9j
bWQgPSAiJXMgfCAlcyB8IHhhcmdzICVzIiAlIChzc3RhdGVfc2Nhbl9jbWQsIHNzdGF0ZV9maWxl
bGlzdF9jbWQsIHNzdGF0ZV9zZWRfY21kKQoKCXByaW50ICJSZW1vdmluZyBoYXJkY29kZWQgcGF0
aHMgZnJvbSBzc3RhdGUgcGFja2FnZTogJyVzJyIgJSAoc3N0YXRlX2hhcmRjb2RlX2NtZCkKCW9z
LnN5c3RlbShzc3RhdGVfaGFyZGNvZGVfY21kKQoJcHJpbnQgIlJlcGxhY2luZyBhYnNvbHV0ZSBw
YXRocyBpbiBmaXhtZXBhdGggZmlsZTogJyVzJyIgJSAoc3N0YXRlX2ZpbGVsaXN0X3JlbGF0aXZl
X2NtZCkKCW9zLnN5c3RlbShzc3RhdGVfZmlsZWxpc3RfcmVsYXRpdmVfY21kKQp9CgoKcHl0aG9u
IGRvX2xpc3R0YXNrcyAoKSB7CglpbXBvcnQgc3lzCgkjIGVtaXQgdmFyaWFibGVzIGFuZCBzaGVs
bCBmdW5jdGlvbnMKCSNiYi5kYXRhLmVtaXRfZW52KHN5cy5fX3N0ZG91dF9fLCBkKQoJIyBlbWl0
IHRoZSBtZXRhZGF0YSB3aGljaCBpc250IHZhbGlkIHNoZWxsCglmb3IgZSBpbiBkLmtleXMoKToK
CQlpZiBkLmdldFZhckZsYWcoZSwgJ3Rhc2snKToKCQkJYmIucGxhaW4oIiVzIiAlIGUpCn0KCgpw
eXRob24gcGFja2FnZV9xYV9jbGVhbl9wYXRoICgpIHsKZGVmIHBhY2thZ2VfcWFfY2xlYW5fcGF0
aChwYXRoLGQpOgogICAgIiIiIFJlbW92ZSB0aGUgY29tbW9uIHByZWZpeCBmcm9tIHRoZSBwYXRo
LiBJbiB0aGlzIGNhc2UgaXQgaXMgdGhlIFRNUERJUiIiIgogICAgcmV0dXJuIHBhdGgucmVwbGFj
ZShkLmdldFZhcignVE1QRElSJyxUcnVlKSwiIikKfQoKCnB5dGhvbiBtYWNoaW5lX3BhdGhzICgp
IHsKZGVmIG1hY2hpbmVfcGF0aHMoZCk6CiAgICAiIiJMaXN0IGFueSBleGlzdGluZyBtYWNoaW5l
IHNwZWNpZmljIGZpbGVzcGF0aCBkaXJlY3RvcmllcyIiIgogICAgbWFjaGluZSA9IGQuZ2V0VmFy
KCJNQUNISU5FIiwgVHJ1ZSkKICAgIGZpbGVzcGF0aHBrZyA9IGQuZ2V0VmFyKCJGSUxFU1BBVEhQ
S0ciLCBUcnVlKS5zcGxpdCgiOiIpCiAgICBmb3IgYmFzZXBhdGggaW4gZC5nZXRWYXIoIkZJTEVT
UEFUSEJBU0UiLCBUcnVlKS5zcGxpdCgiOiIpOgogICAgICAgIGZvciBwa2dwYXRoIGluIGZpbGVz
cGF0aHBrZzoKICAgICAgICAgICAgbWFjaGluZXBhdGggPSBvcy5wYXRoLmpvaW4oYmFzZXBhdGgs
IHBrZ3BhdGgsIG1hY2hpbmUpCiAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIobWFjaGluZXBh
dGgpOgogICAgICAgICAgICAgICAgeWllbGQgbWFjaGluZXBhdGgKfQoKCnB5dGhvbiBpbmNvbXBh
dGlibGVfbGljZW5zZSAoKSB7CmRlZiBpbmNvbXBhdGlibGVfbGljZW5zZShkLCBkb250X3dhbnRf
bGljZW5zZSwgcGFja2FnZT0iIik6CiAgICAiIiIKICAgIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlm
IGEgcmVjaXBlIGhhcyBvbmx5IGluY29tcGF0aWJsZSBsaWNlbnNlcy4gSXQgYWxzbyB0YWtlIGlu
dG8gY29uc2lkZXJhdGlvbiAnb3InCiAgICBvcGVyYW5kLgogICAgIiIiCiAgICBpbXBvcnQgcmUK
ICAgIGltcG9ydCBvZS5saWNlbnNlCiAgICBmcm9tIGZubWF0Y2ggaW1wb3J0IGZubWF0Y2hjYXNl
IGFzIGZubWF0Y2gKICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKICAgIGRvbnRfd2FudF9s
aWNlbnNlcyA9IFtdCiAgICBkb250X3dhbnRfbGljZW5zZXMuYXBwZW5kKGQuZ2V0VmFyKCdJTkNP
TVBBVElCTEVfTElDRU5TRScsIFRydWUpKQogICAgcmVjaXBlX2xpY2Vuc2UgPSBkLmdldFZhcign
TElDRU5TRScsIFRydWUpCiAgICBpZiBwYWNrYWdlICE9ICIiOgogICAgICAgIGlmIGQuZ2V0VmFy
KCdMSUNFTlNFXycgKyBwbiArICctJyArIHBhY2thZ2UsIFRydWUpOgogICAgICAgICAgICBsaWNl
bnNlID0gZC5nZXRWYXIoJ0xJQ0VOU0VfJyArIHBuICsgJy0nICsgcGFja2FnZSwgVHJ1ZSkKICAg
ICAgICBlbHNlOgogICAgICAgICAgICBsaWNlbnNlID0gcmVjaXBlX2xpY2Vuc2UKICAgIGVsc2U6
CiAgICAgICAgbGljZW5zZSA9IHJlY2lwZV9saWNlbnNlCiAgICBzcGR4X2xpY2Vuc2UgPSByZXR1
cm5fc3BkeChkLCBkb250X3dhbnRfbGljZW5zZSkKICAgIGRvbnRfd2FudF9saWNlbnNlcy5hcHBl
bmQoc3BkeF9saWNlbnNlKQoKICAgIGRlZiBpbmNsdWRlX2xpY2Vuc2UobGljZW5zZSk6CiAgICAg
ICAgaWYgYW55KGZubWF0Y2gobGljZW5zZSwgcGF0dGVybikgZm9yIHBhdHRlcm4gaW4gZG9udF93
YW50X2xpY2Vuc2VzKToKICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgZWxzZToKICAg
ICAgICAgICAgcmV0dXJuIFRydWUKCiAgICBkZWYgY2hvb3NlX2xpY2Vuc2VzKGEsIGIpOgogICAg
ICAgIGlmIGFsbChpbmNsdWRlX2xpY2Vuc2UobGljKSBmb3IgbGljIGluIGEpOgogICAgICAgICAg
ICByZXR1cm4gYQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHJldHVybiBiCgogICAgIiIiCiAg
ICBJZiB5b3Ugd2FudCB0byBleGx1ZGUgbGljZW5zZSBuYW1lZCBnZW5lcmljYWxseSAnWCcsIHdl
IHN1cmVseSB3YW50IHRvIGV4bHVkZSAnWCsnIGFzIHdlbGwuCiAgICBJbiBjb25zZXF1ZW5jZSwg
d2Ugd2lsbCBleGNsdWRlIHRoZSAnKycgY2hhcmFjdGVyIGZyb20gTElDRU5TRSBpbiBjYXNlIElO
Q09NUEFUSUJMRV9MSUNFTlNFCiAgICBpcyBub3QgYSAnWCsnIGxpY2Vuc2UuCiAgICAiIiIKICAg
IGlmIG5vdCByZS5zZWFyY2gocidbK10nLGRvbnRfd2FudF9saWNlbnNlKToKICAgICAgICBsaWNl
bnNlcz1vZS5saWNlbnNlLmZsYXR0ZW5lZF9saWNlbnNlcyhyZS5zdWIocidbK10nLCAnJywgbGlj
ZW5zZSksIGNob29zZV9saWNlbnNlcykKICAgIGVsc2U6CiAgICAgICAgbGljZW5zZXM9b2UubGlj
ZW5zZS5mbGF0dGVuZWRfbGljZW5zZXMobGljZW5zZSwgY2hvb3NlX2xpY2Vuc2VzKQoKICAgIGZv
ciBvbmVsaWNlbnNlIGluIGxpY2Vuc2VzOgogICAgICAgIGlmIG5vdCBpbmNsdWRlX2xpY2Vuc2Uo
b25lbGljZW5zZSk6CiAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICByZXR1cm4gRmFsc2UKfQoK
CnB5dGhvbiBkb19wYWNrYWdlX3NldHNjZW5lICgpIHsKCXNzdGF0ZV9zZXRzY2VuZShkKQp9CgoK
cHl0aG9uIGJhc2VfZGVwX3ByZXBlbmQgKCkgewpOb25lfQoKCnB5dGhvbiBmaXh1cF9wZXJtcyAo
KSB7CglpbXBvcnQgb3MsIHB3ZCwgZ3JwCgoJIyBpbml0IHVzaW5nIGEgc3RyaW5nIHdpdGggdGhl
IHNhbWUgZm9ybWF0IGFzIGEgbGluZSBhcyBkb2N1bWVudGVkIGluCgkjIHRoZSBmcy1wZXJtcy50
eHQgZmlsZQoJIyA8cGF0aD4gPG1vZGU+IDx1aWQ+IDxnaWQ+IDx3YWxrPiA8Zm1vZGU+IDxmdWlk
PiA8ZmdpZD4KCSMgPHBhdGg+IGxpbmsgPGxpbmsgdGFyZ2V0PgoJIwoJIyBfX3N0cl9fIGNhbiBi
ZSB1c2VkIHRvIHByaW50IG91dCBhbiBlbnRyeSBpbiB0aGUgaW5wdXQgZm9ybWF0CgkjCgkjIGlm
IGZzX3Blcm1zX2VudHJ5LnBhdGggaXMgTm9uZToKCSMJYW4gZXJyb3Igb2NjdXJlZAoJIyBpZiBm
c19wZXJtc19lbnRyeS5saW5rLCB5b3UgY2FuIHJldHJpZXZlOgoJIwlmc19wZXJtc19lbnRyeS5w
YXRoID0gcGF0aAoJIwlmc19wZXJtc19lbnRyeS5saW5rID0gdGFyZ2V0IG9mIGxpbmsKCSMgaWYg
bm90IGZzX3Blcm1zX2VudHJ5LmxpbmssIHlvdSBjYW4gcmV0cmlldmU6CgkjCWZzX3Blcm1zX2Vu
dHJ5LnBhdGggPSBwYXRoCgkjCWZzX3Blcm1zX2VudHJ5Lm1vZGUgPSBleHBlY3RlZCBkaXIgbW9k
ZSBvciBOb25lCgkjCWZzX3Blcm1zX2VudHJ5LnVpZCA9IGV4cGVjdGVkIHVpZCBvciAtMQoJIwlm
c19wZXJtc19lbnRyeS5naWQgPSBleHBlY3RlZCBnaWQgb3IgLTEKCSMJZnNfcGVybXNfZW50cnku
d2FsayA9ICd0cnVlJyBvciBzb21ldGhpbmcgZWxzZQoJIwlmc19wZXJtc19lbnRyeS5mbW9kZSA9
IGV4cGVjdGVkIGZpbGUgbW9kZSBvciBOb25lCgkjCWZzX3Blcm1zX2VudHJ5LmZ1aWQgPSBleHBl
Y3RlZCBmaWxlIHVpZCBvciAtMQoJIwlmc19wZXJtc19lbnRyeV9mZ2lkID0gZXhwZWN0ZWQgZmls
ZSBnaWQgb3IgLTEKCWNsYXNzIGZzX3Blcm1zX2VudHJ5KCk6CgkJZGVmIF9faW5pdF9fKHNlbGYs
IGxpbmUpOgoJCQlsc3BsaXQgPSBsaW5lLnNwbGl0KCkKCQkJaWYgbGVuKGxzcGxpdCkgPT0gMyBh
bmQgbHNwbGl0WzFdLmxvd2VyKCkgPT0gImxpbmsiOgoJCQkJc2VsZi5fc2V0bGluayhsc3BsaXRb
MF0sIGxzcGxpdFsyXSkKCQkJZWxpZiBsZW4obHNwbGl0KSA9PSA4OgoJCQkJc2VsZi5fc2V0ZGly
KGxzcGxpdFswXSwgbHNwbGl0WzFdLCBsc3BsaXRbMl0sIGxzcGxpdFszXSwgbHNwbGl0WzRdLCBs
c3BsaXRbNV0sIGxzcGxpdFs2XSwgbHNwbGl0WzddKQoJCQllbHNlOgoJCQkJYmIuZXJyb3IoIkZp
eHVwIFBlcm1zOiBpbnZhbGlkIGNvbmZpZyBsaW5lICVzIiAlIGxpbmUpCgkJCQlzZWxmLnBhdGgg
PSBOb25lCgkJCQlzZWxmLmxpbmsgPSBOb25lCgoJCWRlZiBfc2V0ZGlyKHNlbGYsIHBhdGgsIG1v
ZGUsIHVpZCwgZ2lkLCB3YWxrLCBmbW9kZSwgZnVpZCwgZmdpZCk6CgkJCXNlbGYucGF0aCA9IG9z
LnBhdGgubm9ybXBhdGgocGF0aCkKCQkJc2VsZi5saW5rID0gTm9uZQoJCQlzZWxmLm1vZGUgPSBz
ZWxmLl9wcm9jbW9kZShtb2RlKQoJCQlzZWxmLnVpZCAgPSBzZWxmLl9wcm9jdWlkKHVpZCkKCQkJ
c2VsZi5naWQgID0gc2VsZi5fcHJvY2dpZChnaWQpCgkJCXNlbGYud2FsayA9IHdhbGsubG93ZXIo
KQoJCQlzZWxmLmZtb2RlID0gc2VsZi5fcHJvY21vZGUoZm1vZGUpCgkJCXNlbGYuZnVpZCA9IHNl
bGYuX3Byb2N1aWQoZnVpZCkKCQkJc2VsZi5mZ2lkID0gc2VsZi5fcHJvY2dpZChmZ2lkKQoKCQlk
ZWYgX3NldGxpbmsoc2VsZiwgcGF0aCwgbGluayk6CgkJCXNlbGYucGF0aCA9IG9zLnBhdGgubm9y
bXBhdGgocGF0aCkKCQkJc2VsZi5saW5rID0gbGluawoKCQlkZWYgX3Byb2Ntb2RlKHNlbGYsIG1v
ZGUpOgoJCQlpZiBub3QgbW9kZSBvciAobW9kZSBhbmQgbW9kZSA9PSAiLSIpOgoJCQkJcmV0dXJu
IE5vbmUKCQkJZWxzZToKCQkJCXJldHVybiBpbnQobW9kZSw4KQoKCQkjIE5vdGUgdWlkL2dpZCAt
MSBoYXMgc3BlY2lhbCBzaWduaWZpY2FuY2UgaW4gb3MubGNob3duCgkJZGVmIF9wcm9jdWlkKHNl
bGYsIHVpZCk6CgkJCWlmIHVpZCBpcyBOb25lIG9yIHVpZCA9PSAiLSI6CgkJCQlyZXR1cm4gLTEK
CQkJZWxpZiB1aWQuaXNkaWdpdCgpOgoJCQkJcmV0dXJuIGludCh1aWQpCgkJCWVsc2U6CgkJCQly
ZXR1cm4gcHdkLmdldHB3bmFtKHVpZCkucHdfdWlkCgoJCWRlZiBfcHJvY2dpZChzZWxmLCBnaWQp
OgoJCQlpZiBnaWQgaXMgTm9uZSBvciBnaWQgPT0gIi0iOgoJCQkJcmV0dXJuIC0xCgkJCWVsaWYg
Z2lkLmlzZGlnaXQoKToKCQkJCXJldHVybiBpbnQoZ2lkKQoJCQllbHNlOgoJCQkJcmV0dXJuIGdy
cC5nZXRncm5hbShnaWQpLmdyX2dpZAoKCQkjIFVzZSBmb3IgZGVidWdnaW5nIHRoZSBlbnRyaWVz
CgkJZGVmIF9fc3RyX18oc2VsZik6CgkJCWlmIHNlbGYubGluazoKCQkJCXJldHVybiAiJXMgbGlu
ayAlcyIgJSAoc2VsZi5wYXRoLCBzZWxmLmxpbmspCgkJCWVsc2U6CgkJCQltb2RlID0gIi0iCgkJ
CQlpZiBzZWxmLm1vZGU6CgkJCQkJbW9kZSA9ICIwJW8iICUgc2VsZi5tb2RlCgkJCQlmbW9kZSA9
ICItIgoJCQkJaWYgc2VsZi5mbW9kZToKCQkJCQlmbW9kZSA9ICIwJW8iICUgc2VsZi5mbW9kZQoJ
CQkJdWlkID0gc2VsZi5fbWFwdWdpZChzZWxmLnVpZCkKCQkJCWdpZCA9IHNlbGYuX21hcHVnaWQo
c2VsZi5naWQpCgkJCQlmdWlkID0gc2VsZi5fbWFwdWdpZChzZWxmLmZ1aWQpCgkJCQlmZ2lkID0g
c2VsZi5fbWFwdWdpZChzZWxmLmZnaWQpCgkJCQlyZXR1cm4gIiVzICVzICVzICVzICVzICVzICVz
ICVzIiAlIChzZWxmLnBhdGgsIG1vZGUsIHVpZCwgZ2lkLCBzZWxmLndhbGssIGZtb2RlLCBmdWlk
LCBmZ2lkKQoKCQlkZWYgX21hcHVnaWQoc2VsZiwgaWQpOgoJCQlpZiBpZCBpcyBOb25lIG9yIGlk
ID09IC0xOgoJCQkJcmV0dXJuICItIgoJCQllbHNlOgoJCQkJcmV0dXJuICIlZCIgJSBpZAoKCSMg
Rml4IHRoZSBwZXJtaXNzaW9uLCBvd25lciBhbmQgZ3JvdXAgb2YgcGF0aAoJZGVmIGZpeF9wZXJt
cyhwYXRoLCBtb2RlLCB1aWQsIGdpZCwgZGlyKToKCQlpZiBtb2RlIGFuZCBub3Qgb3MucGF0aC5p
c2xpbmsocGF0aCk6CgkJCSNiYi5ub3RlKCJGaXh1cCBQZXJtczogY2htb2QgMCVvICVzIiAlICht
b2RlLCBkaXIpKQoJCQlvcy5jaG1vZChwYXRoLCBtb2RlKQoJCSMgLTEgaXMgYSBzcGVjaWFsIHZh
bHVlIHRoYXQgbWVhbnMgZG9uJ3QgY2hhbmdlIHRoZSB1aWQvZ2lkCgkJIyBpZiB0aGV5IGFyZSBC
T1RIIC0xLCBkb24ndCBib3RoZXIgdG8gbGNob3duCgkJaWYgbm90ICh1aWQgPT0gLTEgYW5kIGdp
ZCA9PSAtMSk6CgkJCSNiYi5ub3RlKCJGaXh1cCBQZXJtczogbGNob3duICVkOiVkICVzIiAlICh1
aWQsIGdpZCwgZGlyKSkKCQkJb3MubGNob3duKHBhdGgsIHVpZCwgZ2lkKQoKCSMgUmV0dXJuIGEg
bGlzdCBvZiBjb25maWd1cmF0aW9uIGZpbGVzIGJhc2VkIG9uIGVpdGhlciB0aGUgZGVmYXVsdAoJ
IyBmaWxlcy9mcy1wZXJtcy50eHQgb3IgdGhlIGNvbnRlbnRzIG9mIEZJTEVTWVNURU1fUEVSTVNf
VEFCTEVTCgkjIHBhdGhzIGFyZSByZXNvbHZlZCB2aWEgQkJQQVRICglkZWYgZ2V0X2ZzX3Blcm1z
X2xpc3QoZCk6CgkJc3RyID0gIiIKCQlmc19wZXJtc190YWJsZXMgPSBkLmdldFZhcignRklMRVNZ
U1RFTV9QRVJNU19UQUJMRVMnLCBUcnVlKQoJCWlmIG5vdCBmc19wZXJtc190YWJsZXM6CgkJCWZz
X3Blcm1zX3RhYmxlcyA9ICdmaWxlcy9mcy1wZXJtcy50eHQnCgkJZm9yIGNvbmZfZmlsZSBpbiBm
c19wZXJtc190YWJsZXMuc3BsaXQoKToKCQkJc3RyICs9ICIgJXMiICUgYmIud2hpY2goZC5nZXRW
YXIoJ0JCUEFUSCcsIFRydWUpLCBjb25mX2ZpbGUpCgkJcmV0dXJuIHN0cgoKCgoJZHZhciA9IGQu
Z2V0VmFyKCdQS0dEJywgVHJ1ZSkKCglmc19wZXJtc190YWJsZSA9IHt9CgoJIyBCeSBkZWZhdWx0
IGFsbCBvZiB0aGUgc3RhbmRhcmQgZGlyZWN0b3JpZXMgc3BlY2lmaWVkIGluCgkjIGJpdGJha2Uu
Y29uZiB3aWxsIGdldCAwNzU1IHJvb3Q6cm9vdC4KCXRhcmdldF9wYXRoX3ZhcnMgPSBbCSdiYXNl
X3ByZWZpeCcsCgkJCQkncHJlZml4JywKCQkJCSdleGVjX3ByZWZpeCcsCgkJCQknYmFzZV9iaW5k
aXInLAoJCQkJJ2Jhc2Vfc2JpbmRpcicsCgkJCQknYmFzZV9saWJkaXInLAoJCQkJJ2RhdGFkaXIn
LAoJCQkJJ3N5c2NvbmZkaXInLAoJCQkJJ3NlcnZpY2VkaXInLAoJCQkJJ3NoYXJlZHN0YXRlZGly
JywKCQkJCSdsb2NhbHN0YXRlZGlyJywKCQkJCSdpbmZvZGlyJywKCQkJCSdtYW5kaXInLAoJCQkJ
J2RvY2RpcicsCgkJCQknYmluZGlyJywKCQkJCSdzYmluZGlyJywKCQkJCSdsaWJleGVjZGlyJywK
CQkJCSdsaWJkaXInLAoJCQkJJ2luY2x1ZGVkaXInLAoJCQkJJ29sZGluY2x1ZGVkaXInIF0KCglm
b3IgcGF0aCBpbiB0YXJnZXRfcGF0aF92YXJzOgoJCWRpciA9IGQuZ2V0VmFyKHBhdGgsIFRydWUp
IG9yICIiCgkJaWYgZGlyID09ICIiOgoJCQljb250aW51ZQoJCWZzX3Blcm1zX3RhYmxlW2Rpcl0g
PSBmc19wZXJtc19lbnRyeShiYi5kYXRhLmV4cGFuZCgiJXMgMDc1NSByb290IHJvb3QgZmFsc2Ug
LSAtIC0iICUgKGRpciksIGQpKQoKCSMgTm93IHdlIGFjdHVhbGx5IGxvYWQgZnJvbSB0aGUgY29u
ZmlndXJhdGlvbiBmaWxlcwoJZm9yIGNvbmYgaW4gZ2V0X2ZzX3Blcm1zX2xpc3QoZCkuc3BsaXQo
KToKCQlpZiBvcy5wYXRoLmV4aXN0cyhjb25mKToKCQkJZiA9IG9wZW4oY29uZikKCQkJZm9yIGxp
bmUgaW4gZjoKCQkJCWlmIGxpbmUuc3RhcnRzd2l0aCgnIycpOgoJCQkJCWNvbnRpbnVlCgkJCQls
c3BsaXQgPSBsaW5lLnNwbGl0KCkKCQkJCWlmIGxlbihsc3BsaXQpID09IDA6CgkJCQkJY29udGlu
dWUKCQkJCWlmIGxlbihsc3BsaXQpICE9IDggYW5kIG5vdCAobGVuKGxzcGxpdCkgPT0gMyBhbmQg
bHNwbGl0WzFdLmxvd2VyKCkgPT0gImxpbmsiKToKCQkJCQliYi5lcnJvcigiRml4dXAgcGVybXM6
ICVzIGludmFsaWQgbGluZTogJXMiICUgKGNvbmYsIGxpbmUpKQoJCQkJCWNvbnRpbnVlCgkJCQll
bnRyeSA9IGZzX3Blcm1zX2VudHJ5KGQuZXhwYW5kKGxpbmUpKQoJCQkJaWYgZW50cnkgYW5kIGVu
dHJ5LnBhdGg6CgkJCQkJZnNfcGVybXNfdGFibGVbZW50cnkucGF0aF0gPSBlbnRyeQoJCQlmLmNs
b3NlKCkKCgkjIERlYnVnIC0tIGxpc3Qgb3V0IGluLW1lbW9yeSB0YWJsZQoJI2ZvciBkaXIgaW4g
ZnNfcGVybXNfdGFibGU6CgkjCWJiLm5vdGUoIkZpeHVwIFBlcm1zOiAlczogJXMiICUgKGRpciwg
c3RyKGZzX3Blcm1zX3RhYmxlW2Rpcl0pKSkKCgkjIFdlIHByb2Nlc3MgbGlua3MgZmlyc3QsIHNv
IHdlIGNhbiBnbyBiYWNrIGFuZCBmaXh1cCBkaXJlY3Rvcnkgb3duZXJzaGlwCgkjIGZvciBhbnkg
bmV3bHkgY3JlYXRlZCBkaXJlY3RvcmllcwoJZm9yIGRpciBpbiBmc19wZXJtc190YWJsZToKCQlp
ZiBub3QgZnNfcGVybXNfdGFibGVbZGlyXS5saW5rOgoJCQljb250aW51ZQoKCQlvcmlnaW4gPSBk
dmFyICsgZGlyCgkJaWYgbm90IChvcy5wYXRoLmV4aXN0cyhvcmlnaW4pIGFuZCBvcy5wYXRoLmlz
ZGlyKG9yaWdpbikgYW5kIG5vdCBvcy5wYXRoLmlzbGluayhvcmlnaW4pKToKCQkJY29udGludWUK
CgkJbGluayA9IGZzX3Blcm1zX3RhYmxlW2Rpcl0ubGluawoJCWlmIGxpbmtbMF0gPT0gIi8iOgoJ
CQl0YXJnZXQgPSBkdmFyICsgbGluawoJCQlwdGFyZ2V0ID0gbGluawoJCWVsc2U6CgkJCXRhcmdl
dCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUob3JpZ2luKSwgbGluaykKCQkJcHRhcmdl
dCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoZGlyKSwgbGluaykKCQlpZiBvcy5wYXRo
LmV4aXN0cyh0YXJnZXQpOgoJCQliYi5lcnJvcigiRml4dXAgUGVybXM6IFVuYWJsZSB0byBjb3Jy
ZWN0IGRpcmVjdG9yeSBsaW5rLCB0YXJnZXQgYWxyZWFkeSBleGlzdHM6ICVzIC0+ICVzIiAlIChk
aXIsIHB0YXJnZXQpKQoJCQljb250aW51ZQoKCQkjIENyZWF0ZSBwYXRoIHRvIG1vdmUgZGlyZWN0
b3J5IHRvLCBtb3ZlIGl0LCBhbmQgdGhlbiBzZXR1cCB0aGUgc3ltbGluawoJCWJiLm1rZGlyaGll
cihvcy5wYXRoLmRpcm5hbWUodGFyZ2V0KSkKCQkjYmIubm90ZSgiRml4dXAgUGVybXM6IFJlbmFt
ZSAlcyAtPiAlcyIgJSAoZGlyLCBwdGFyZ2V0KSkKCQlvcy5yZW5hbWUob3JpZ2luLCB0YXJnZXQp
CgkJI2JiLm5vdGUoIkZpeHVwIFBlcm1zOiBMaW5rICVzIC0+ICVzIiAlIChkaXIsIGxpbmspKQoJ
CW9zLnN5bWxpbmsobGluaywgb3JpZ2luKQoKCWZvciBkaXIgaW4gZnNfcGVybXNfdGFibGU6CgkJ
aWYgZnNfcGVybXNfdGFibGVbZGlyXS5saW5rOgoJCQljb250aW51ZQoKCQlvcmlnaW4gPSBkdmFy
ICsgZGlyCgkJaWYgbm90IChvcy5wYXRoLmV4aXN0cyhvcmlnaW4pIGFuZCBvcy5wYXRoLmlzZGly
KG9yaWdpbikpOgoJCQljb250aW51ZQoKCQlmaXhfcGVybXMob3JpZ2luLCBmc19wZXJtc190YWJs
ZVtkaXJdLm1vZGUsIGZzX3Blcm1zX3RhYmxlW2Rpcl0udWlkLCBmc19wZXJtc190YWJsZVtkaXJd
LmdpZCwgZGlyKQoKCQlpZiBmc19wZXJtc190YWJsZVtkaXJdLndhbGsgPT0gJ3RydWUnOgoJCQlm
b3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhvcmlnaW4pOgoJCQkJZm9yIGRyIGluIGRp
cnM6CgkJCQkJZWFjaF9kaXIgPSBvcy5wYXRoLmpvaW4ocm9vdCwgZHIpCgkJCQkJZml4X3Blcm1z
KGVhY2hfZGlyLCBmc19wZXJtc190YWJsZVtkaXJdLm1vZGUsIGZzX3Blcm1zX3RhYmxlW2Rpcl0u
dWlkLCBmc19wZXJtc190YWJsZVtkaXJdLmdpZCwgZGlyKQoJCQkJZm9yIGYgaW4gZmlsZXM6CgkJ
CQkJZWFjaF9maWxlID0gb3MucGF0aC5qb2luKHJvb3QsIGYpCgkJCQkJZml4X3Blcm1zKGVhY2hf
ZmlsZSwgZnNfcGVybXNfdGFibGVbZGlyXS5mbW9kZSwgZnNfcGVybXNfdGFibGVbZGlyXS5mdWlk
LCBmc19wZXJtc190YWJsZVtkaXJdLmZnaWQsIGRpcikKfQoKCnB5dGhvbiBsZWdpdGltaXplX3Bh
Y2thZ2VfbmFtZSAoKSB7CmRlZiBsZWdpdGltaXplX3BhY2thZ2VfbmFtZShzKToKCSIiIgoJTWFr
ZSBzdXJlIHBhY2thZ2UgbmFtZXMgYXJlIGxlZ2l0aW1hdGUgc3RyaW5ncwoJIiIiCglpbXBvcnQg
cmUKCglkZWYgZml4dXRmKG0pOgoJCWNwID0gbS5ncm91cCgxKQoJCWlmIGNwOgoJCQlyZXR1cm4g
KCdcdSVzJyAlIGNwKS5kZWNvZGUoJ3VuaWNvZGVfZXNjYXBlJykuZW5jb2RlKCd1dGYtOCcpCgoJ
IyBIYW5kbGUgdW5pY29kZSBjb2RlcG9pbnRzIGVuY29kZWQgYXMgPFUwMTIzPiwgYXMgaW4gZ2xp
YmMgbG9jYWxlIGZpbGVzLgoJcyA9IHJlLnN1YignPFUoWzAtOUEtRmEtZl17MSw0fSk+JywgZml4
dXRmLCBzKQoKCSMgUmVtYWluaW5nIHBhY2thZ2UgbmFtZSB2YWxpZGl0eSBmaXhlcwoJcmV0dXJu
IHMubG93ZXIoKS5yZXBsYWNlKCdfJywgJy0nKS5yZXBsYWNlKCdAJywgJysnKS5yZXBsYWNlKCcs
JywgJysnKS5yZXBsYWNlKCcvJywgJy0nKQp9CgoKcHl0aG9uIGJhc2VfZ2V0X21ldGFkYXRhX21v
bm90b25lX2JyYW5jaCAoKSB7CmRlZiBiYXNlX2dldF9tZXRhZGF0YV9tb25vdG9uZV9icmFuY2go
cGF0aCwgZCk6Cgltb25vdG9uZV9icmFuY2ggPSAiPHVua25vd24+IgoJdHJ5OgoJCW1vbm90b25l
X2JyYW5jaCA9IGZpbGUoICIlcy9fTVROL29wdGlvbnMiICUgcGF0aCApLnJlYWQoKS5zdHJpcCgp
CgkJaWYgbW9ub3RvbmVfYnJhbmNoLnN0YXJ0c3dpdGgoICJkYXRhYmFzZSIgKToKCQkJbW9ub3Rv
bmVfYnJhbmNoX3dvcmRzID0gbW9ub3RvbmVfYnJhbmNoLnNwbGl0KCkKCQkJbW9ub3RvbmVfYnJh
bmNoID0gbW9ub3RvbmVfYnJhbmNoX3dvcmRzWyBtb25vdG9uZV9icmFuY2hfd29yZHMuaW5kZXgo
ICJicmFuY2giICkrMV1bMTotMV0KCWV4Y2VwdDoKCQlwYXNzCglyZXR1cm4gbW9ub3RvbmVfYnJh
bmNoCn0KCgpweXRob24gY2hlY2tfY3JlYXRlX2xvbmdfZmlsZW5hbWUgKCkgewpkZWYgY2hlY2tf
Y3JlYXRlX2xvbmdfZmlsZW5hbWUoZmlsZXBhdGgsIHBhdGhuYW1lKToKICAgIHRlc3RmaWxlID0g
b3MucGF0aC5qb2luKGZpbGVwYXRoLCAnJy5qb2luKFtgbnVtYFstMV0gZm9yIG51bSBpbiB4cmFu
Z2UoMSwyMDApXSkpCiAgICB0cnk6CiAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGZpbGVw
YXRoKToKICAgICAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKGZpbGVwYXRoKQogICAgICAgIGYg
PSBmaWxlKHRlc3RmaWxlLCAidyIpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb3MucmVtb3Zl
KHRlc3RmaWxlKQogICAgZXhjZXB0IElPRXJyb3IgYXMgKGVycm5vLCBzdHJlcnJvcik6CiAgICAg
ICAgaWYgZXJybm8gPT0gMzY6ICMgRU5BTUVUT09MT05HCiAgICAgICAgICAgIHJldHVybiAiRmFp
bGVkIHRvIGNyZWF0ZSBhIGZpbGUgd2l0aCBhIGxvbmcgbmFtZSBpbiAlcy4gUGxlYXNlIHVzZSBh
IGZpbGVzeXN0ZW0gdGhhdCBkb2VzIG5vdCB1bnJlYXNvbmFibHkgbGltaXQgZmlsZW5hbWUgbGVu
Z3RoLlxuIiAlIHBhdGhuYW1lCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcmV0dXJuICJGYWls
ZWQgdG8gY3JlYXRlIGEgZmlsZSBpbiAlczogJXMiICUgKHBhdGhuYW1lLCBzdHJlcnJvcikKICAg
IHJldHVybiAiIgp9CgoKcHl0aG9uIG9lX3N5c3RlbSAoKSB7CmRlZiBvZV9zeXN0ZW0oZCwgY21k
LCAqKmt3YXJncyk6CiAgICAiIiIgUG9wZW4gYmFzZWQgdmVyc2lvbiBvZiBvcy5zeXN0ZW0uICIi
IgogICAgaWYgbm90ICJzaGVsbCIgaW4ga3dhcmdzOgogICAgICAgIGt3YXJnc1sic2hlbGwiXSA9
IFRydWUKICAgIHJldHVybiBvZV9wb3BlbihkLCBjbWQsICoqa3dhcmdzKS53YWl0KCkKfQoKCnB5
dGhvbiBkb19wb3B1bGF0ZV9saWNfc2V0c2NlbmUgKCkgewoJc3N0YXRlX3NldHNjZW5lKGQpCn0K
CgpweXRob24gb2VfcG9wZW4gKCkgewpkZWYgb2VfcG9wZW4oZCwgY21kLCAqKmt3YXJncyk6CiAg
ICBpbXBvcnQgb2UucHJvY2VzcwogICAga3dhcmdzWyJlbnYiXSA9IG9lX3BvcGVuX2VudihkKQog
ICAgcmV0dXJuIG9lLnByb2Nlc3MuUG9wZW4oY21kLCAqKmt3YXJncykKfQoKCnB5dGhvbiBwc3Rh
Z2luZ19mZXRjaCAoKSB7CmRlZiBwc3RhZ2luZ19mZXRjaChzc3RhdGVwa2csIGQpOgogICAgaW1w
b3J0IGJiLmZldGNoMgoKICAgICMgT25seSB0cnkgYW5kIGZldGNoIGlmIHRoZSB1c2VyIGhhcyBj
b25maWd1cmVkIGEgbWlycm9yCiAgICBtaXJyb3JzID0gZC5nZXRWYXIoJ1NTVEFURV9NSVJST1JT
JywgVHJ1ZSkKICAgIGlmIG5vdCBtaXJyb3JzOgogICAgICAgIHJldHVybgoKICAgICMgQ29weSB0
aGUgZGF0YSBvYmplY3QgYW5kIG92ZXJyaWRlIERMX0RJUiBhbmQgU1JDX1VSSQogICAgbG9jYWxk
YXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCiAgICBiYi5kYXRhLnVwZGF0ZV9kYXRhKGxvY2Fs
ZGF0YSkKCiAgICBkbGRpciA9IGxvY2FsZGF0YS5leHBhbmQoIi9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vc3N0YXRlLWNhY2hlIikKICAgIHNyY3VyaSA9ICJmaWxlOi8vIiArIG9z
LnBhdGguYmFzZW5hbWUoc3N0YXRlcGtnKQoKICAgIGJiLm1rZGlyaGllcihkbGRpcikKCiAgICBs
b2NhbGRhdGEuc2V0VmFyKCdETF9ESVInLCBkbGRpcikKICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1BS
RU1JUlJPUlMnLCBtaXJyb3JzKQogICAgbG9jYWxkYXRhLnNldFZhcignU1JDX1VSSScsIHNyY3Vy
aSkKCiAgICAjIFRyeSBhIGZldGNoIGZyb20gdGhlIHNzdGF0ZSBtaXJyb3IsIGlmIGl0IGZhaWxz
IGp1c3QgcmV0dXJuIGFuZAogICAgIyB3ZSB3aWxsIGJ1aWxkIHRoZSBwYWNrYWdlCiAgICB0cnk6
CiAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChbc3JjdXJpXSwgbG9jYWxkYXRhLCBj
YWNoZT1GYWxzZSkKICAgICAgICBmZXRjaGVyLmRvd25sb2FkKCkKCiAgICAgICAgIyBOZWVkIHRv
IG9wdGltaXNlIHRoaXMsIGlmIHVzaW5nIGZpbGU6Ly8gdXJscywgdGhlIGZldGNoZXIganVzdCBj
aGFuZ2VzIHRoZSBsb2NhbCBwYXRoCiAgICAgICAgIyBGb3Igbm93IHdvcmsgYXJvdW5kIGJ5IHN5
bWxpbmtpbmcKICAgICAgICBsb2NhbHBhdGggPSBiYi5kYXRhLmV4cGFuZChmZXRjaGVyLmxvY2Fs
cGF0aChzcmN1cmkpLCBsb2NhbGRhdGEpCiAgICAgICAgaWYgbG9jYWxwYXRoICE9IHNzdGF0ZXBr
ZyBhbmQgb3MucGF0aC5leGlzdHMobG9jYWxwYXRoKSBhbmQgbm90IG9zLnBhdGguZXhpc3RzKHNz
dGF0ZXBrZyk6CiAgICAgICAgICAgIG9zLnN5bWxpbmsobG9jYWxwYXRoLCBzc3RhdGVwa2cpCgog
ICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9uOgogICAgICAgIHBhc3MKfQoKCnB5
dGhvbiBwYWNrYWdlX2lwa19tYXBwaW5nX3JlbmFtZV9ob29rICgpIHsKCWJiLmJ1aWxkLmV4ZWNf
ZnVuYygncGFja2FnZV9tYXBwaW5nX3JlbmFtZV9ob29rJywgZCkKfQoKCnB5dGhvbiBwYWNrYWdl
X3FhX2NoZWNrX2RldiAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX2RldihwYXRoLCBuYW1lLCBk
LCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgZm9yICIuc28iIGxpYnJhcnkgc3lt
bGlua3MgaW4gbm9uLWRldiBwYWNrYWdlcwogICAgIiIiCgogICAgaWYgbm90IG5hbWUuZW5kc3dp
dGgoIi1kZXYiKSBhbmQgbm90IG5hbWUuZW5kc3dpdGgoIi1kYmciKSBhbmQgbm90IG5hbWUuZW5k
c3dpdGgoIi1uYXRpdmVzZGsiKSBhbmQgcGF0aC5lbmRzd2l0aCgiLnNvIikgYW5kIG9zLnBhdGgu
aXNsaW5rKHBhdGgpOgogICAgICAgIG1lc3NhZ2VzLmFwcGVuZCgibm9uIC1kZXYvLWRiZy8tbmF0
aXZlc2RrIHBhY2thZ2UgY29udGFpbnMgc3ltbGluayAuc286ICVzIHBhdGggJyVzJyIgJSBcCiAg
ICAgICAgICAgICAgICAgKG5hbWUsIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKfQoK
CnB5dGhvbiBwcnNlcnZfZ2V0X3ByX2F1dG8gKCkgewpkZWYgcHJzZXJ2X2dldF9wcl9hdXRvKGQp
OgogICAgaW1wb3J0IG9lLnByc2VydmljZQogICAgaWYgZC5nZXRWYXIoJ1VTRV9QUl9TRVJWJywg
VHJ1ZSkgIT0gIjEiOgogICAgICAgIGJiLndhcm4oIk5vdCB1c2luZyBuZXR3b3JrIGJhc2VkIFBS
IHNlcnZpY2UiKQogICAgICAgIHJldHVybiBOb25lCgogICAgdmVyc2lvbiA9IGQuZ2V0VmFyKCJQ
UkFVVE9JTlgiLCBUcnVlKQogICAgcGtnYXJjaCA9IGQuZ2V0VmFyKCJQQUNLQUdFX0FSQ0giLCBU
cnVlKQogICAgY2hlY2tzdW0gPSBkLmdldFZhcigiQkJfVEFTS0hBU0giLCBUcnVlKQoKICAgIGlm
IGQuZ2V0VmFyKCdQUlNFUlZfTE9DS0RPV04nLCBUcnVlKToKICAgICAgICBhdXRvX3JldiA9IGQu
Z2V0VmFyKCdQUkFVVE9fJyArIHZlcnNpb24gKyAnXycgKyBwa2dhcmNoLCBUcnVlKSBvciBkLmdl
dFZhcignUFJBVVRPXycgKyB2ZXJzaW9uLCBUcnVlKSBvciBOb25lCiAgICBlbHNlOgogICAgICAg
IGNvbm4gPSBkLmdldFZhcigiX19QUlNFUlZfQ09OTiIsIFRydWUpCiAgICAgICAgaWYgY29ubiBp
cyBOb25lOgogICAgICAgICAgICBjb25uID0gb2UucHJzZXJ2aWNlLnByc2Vydl9tYWtlX2Nvbm4o
ZCkKICAgICAgICAgICAgaWYgY29ubiBpcyBOb25lOgogICAgICAgICAgICAgICAgcmV0dXJuIE5v
bmUKICAgICAgICBhdXRvX3JldiA9IGNvbm4uZ2V0UFIodmVyc2lvbiwgcGtnYXJjaCwgY2hlY2tz
dW0pCgogICAgcmV0dXJuIGF1dG9fcmV2fQoKCnB5dGhvbiBkb19mZXRjaCAoKSB7CgliYi5idWls
ZC5leGVjX2Z1bmMoJ2Jhc2VfZG9fZmV0Y2gnLCBkKQp9CgoKcHl0aG9uIGJhc2VfZ2V0X21ldGFk
YXRhX2dpdF9icmFuY2ggKCkgewpkZWYgYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X2JyYW5jaChwYXRo
LCBkKToKCWJyYW5jaCA9IG9zLnBvcGVuKCdjZCAlczsgZ2l0IGJyYW5jaCAyPiYxIHwgZ3JlcCAi
XiogIiB8IHRyIC1kICIqICInICUgcGF0aCkucmVhZCgpCgoJaWYgbGVuKGJyYW5jaCkgIT0gMDoK
CQlyZXR1cm4gYnJhbmNoCglyZXR1cm4gIjx1bmtub3duPiIKfQoKCnB5dGhvbiBjaGVja19zYW5p
dHlfZXZlbnRoYW5kbGVyICgpIHsKICAgIGlmIGJiLmV2ZW50LmdldE5hbWUoZSkgPT0gIkNvbmZp
Z1BhcnNlZCIgYW5kIGUuZGF0YS5nZXRWYXIoIkJCX1dPUktFUkNPTlRFWFQiLCBUcnVlKSAhPSAi
MSIgYW5kIGUuZGF0YS5nZXRWYXIoIkRJU0FCTEVfU0FOSVRZX0NIRUNLUyIsIFRydWUpICE9ICIx
IjoKICAgICAgICBjaGVja19zYW5pdHkoZSkKICAgIGVsaWYgYmIuZXZlbnQuZ2V0TmFtZShlKSA9
PSAiU2FuaXR5Q2hlY2siOgogICAgICAgIGNoZWNrX3Nhbml0eShlKQogICAgICAgIGJiLmV2ZW50
LmZpcmUoYmIuZXZlbnQuU2FuaXR5Q2hlY2tQYXNzZWQoKSwgZS5kYXRhKQoKICAgIHJldHVybgp9
CgoKcHl0aG9uIG9lX2ZpbHRlciAoKSB7CmRlZiBvZV9maWx0ZXIoZiwgc3RyLCBkKToKICAgIHJl
dHVybiBvZS51dGlscy5zdHJfZmlsdGVyKGYsIHN0ciwgZCkKfQoKCnB5dGhvbiBkb19jaGVja3Vy
aSAoKSB7CglzcmNfdXJpID0gKGQuZ2V0VmFyKCdTUkNfVVJJJywgVHJ1ZSkgb3IgIiIpLnNwbGl0
KCkKCWlmIGxlbihzcmNfdXJpKSA9PSAwOgoJCXJldHVybgoKCWxvY2FsZGF0YSA9IGJiLmRhdGEu
Y3JlYXRlQ29weShkKQoJYmIuZGF0YS51cGRhdGVfZGF0YShsb2NhbGRhdGEpCgogICAgICAgIHRy
eToKICAgICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChzcmNfdXJpLCBsb2NhbGRh
dGEpCiAgICAgICAgICAgIGZldGNoZXIuY2hlY2tzdGF0dXMoKQogICAgICAgIGV4Y2VwdCBiYi5m
ZXRjaDIuQkJGZXRjaEV4Y2VwdGlvbiwgZToKICAgICAgICAgICAgcmFpc2UgYmIuYnVpbGQuRnVu
Y0ZhaWxlZChlKQp9CgoKcHl0aG9uIGlzX21hY2hpbmVfc3BlY2lmaWMgKCkgewpkZWYgaXNfbWFj
aGluZV9zcGVjaWZpYyhkKToKICAgICIiIkRldGVybWluZSB3aGV0aGVyIHRoZSBjdXJyZW50IHJl
Y2lwZSBpcyBtYWNoaW5lIHNwZWNpZmljIiIiCiAgICBtYWNoaW5lcGF0aHMgPSBzZXQobWFjaGlu
ZV9wYXRocyhkKSkKICAgIHNyY3VyaSA9IGQuZ2V0VmFyKCJTUkNfVVJJIiwgVHJ1ZSkuc3BsaXQo
KQogICAgZm9yIHVybCBpbiBzcmN1cmk6CiAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRj
aChbc3JjdXJpXSwgZCkKICAgICAgICBpZiB1cmwuc3RhcnRzd2l0aCgiZmlsZTovLyIpOgogICAg
ICAgICAgICBpZiBhbnkoZmV0Y2hlci5sb2NhbHBhdGgodXJsKS5zdGFydHN3aXRoKG1wICsgIi8i
KSBmb3IgbXAgaW4gbWFjaGluZXBhdGhzKToKICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCn0K
CgpweXRob24gcGFja2FnZV9xYV9jaGVja191c2VsZXNzX3JwYXRocyAoKSB7CmRlZiBwYWNrYWdl
X3FhX2NoZWNrX3VzZWxlc3NfcnBhdGhzKGZpbGUsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgog
ICAgIiIiCiAgICBDaGVjayBmb3IgUlBBVEhzIHRoYXQgYXJlIHVzZWxlc3MgYnV0IG5vdCBkYW5n
ZXJvdXMKICAgICIiIgogICAgaWYgbm90IGVsZjoKICAgICAgICByZXR1cm4KCiAgICBvYmpkdW1w
ID0gZC5nZXRWYXIoJ09CSkRVTVAnLCBUcnVlKQogICAgZW52X3BhdGggPSBkLmdldFZhcignUEFU
SCcsIFRydWUpCgogICAgbGliZGlyID0gZC5nZXRWYXIoImxpYmRpciIsIFRydWUpCiAgICBiYXNl
X2xpYmRpciA9IGQuZ2V0VmFyKCJiYXNlX2xpYmRpciIsIFRydWUpCgogICAgaW1wb3J0IHJlCiAg
ICBycGF0aF9yZSA9IHJlLmNvbXBpbGUoIlxzK1JQQVRIXHMrKC4qKSIpCiAgICBmb3IgbGluZSBp
biBvcy5wb3BlbigiTENfQUxMPUMgUEFUSD0lcyAlcyAtcCAnJXMnIDI+IC9kZXYvbnVsbCIgJSAo
ZW52X3BhdGgsIG9iamR1bXAsIGZpbGUpLCAiciIpOgogICAgCW0gPSBycGF0aF9yZS5tYXRjaChs
aW5lKQoJaWYgbToKCSAgIHJwYXRoID0gbS5ncm91cCgxKQoJICAgaWYgcnBhdGggPT0gbGliZGly
IG9yIHJwYXRoID09IGJhc2VfbGliZGlyOgoJICAgICAgIyBUaGUgZHluYW1pYyBsaW5rZXIgc2Vh
cmNoZXMgYm90aCB0aGVzZSBwbGFjZXMgYW55d2F5LiAgVGhlcmUgaXMgbm8gcG9pbnQgaW4KCSAg
ICAgICMgbG9va2luZyB0aGVyZSBhZ2Fpbi4KCSAgICAgIG1lc3NhZ2VzLmFwcGVuZCgiJXM6ICVz
IGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAlcyIgJSAobmFtZSwgcGFja2FnZV9x
YV9jbGVhbl9wYXRoKGZpbGUsIGQpLCBycGF0aCkpCn0KCgpweXRob24gb2VfZmlsdGVyX291dCAo
KSB7CmRlZiBvZV9maWx0ZXJfb3V0KGYsIHN0ciwgZCk6CiAgICByZXR1cm4gb2UudXRpbHMuc3Ry
X2ZpbHRlcl9vdXQoZiwgc3RyLCBkKQp9CgoKcHl0aG9uIG9lX3Rlcm1pbmFsICgpIHsKZGVmIG9l
X3Rlcm1pbmFsKGNvbW1hbmQsIHRpdGxlLCBkKToKICAgIGltcG9ydCBvZS5kYXRhCiAgICBpbXBv
cnQgb2UudGVybWluYWwKCiAgICBmb3IgZXhwb3J0IGluIG9lLmRhdGEudHlwZWRfdmFsdWUoJ09F
X1RFUk1JTkFMX0VYUE9SVFMnLCBkKToKICAgICAgICB2YWx1ZSA9IGQuZ2V0VmFyKGV4cG9ydCwg
VHJ1ZSkKICAgICAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKICAgICAgICAgICAgb3MuZW52aXJv
bltleHBvcnRdID0gc3RyKHZhbHVlKQoKICAgIHRlcm1pbmFsID0gb2UuZGF0YS50eXBlZF92YWx1
ZSgnT0VfVEVSTUlOQUwnLCBkKS5sb3dlcigpCiAgICBpZiB0ZXJtaW5hbCA9PSAnbm9uZSc6CiAg
ICAgICAgYmIuZmF0YWwoJ0RldnNoZWxsIHVzYWdlIGRpc2FibGVkIHdpdGggT0VfVEVSTUlOQUwn
KQogICAgZWxpZiB0ZXJtaW5hbCAhPSAnYXV0byc6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBv
ZS50ZXJtaW5hbC5zcGF3bih0ZXJtaW5hbCwgY29tbWFuZCwgdGl0bGUpCiAgICAgICAgICAgIHJl
dHVybgogICAgICAgIGV4Y2VwdCBvZS50ZXJtaW5hbC5VbnN1cHBvcnRlZFRlcm1pbmFsOgogICAg
ICAgICAgICBiYi53YXJuKCdVbnN1cHBvcnRlZCB0ZXJtaW5hbCAiJXMiLCBkZWZhdWx0aW5nIHRv
ICJhdXRvIicgJQogICAgICAgICAgICAgICAgICAgIHRlcm1pbmFsKQogICAgICAgIGV4Y2VwdCBv
ZS50ZXJtaW5hbC5FeGVjdXRpb25FcnJvciBhcyBleGM6CiAgICAgICAgICAgIGJiLmZhdGFsKCdV
bmFibGUgdG8gc3Bhd24gdGVybWluYWwgJXM6ICVzJyAlICh0ZXJtaW5hbCwgZXhjKSkKCiAgICB0
cnk6CiAgICAgICAgb2UudGVybWluYWwuc3Bhd25fcHJlZmVycmVkKGNvbW1hbmQsIHRpdGxlKQog
ICAgZXhjZXB0IG9lLnRlcm1pbmFsLk5vU3VwcG9ydGVkVGVybWluYWxzOgogICAgICAgIGJiLmZh
dGFsKCdObyB2YWxpZCB0ZXJtaW5hbCBmb3VuZCwgdW5hYmxlIHRvIG9wZW4gZGV2c2hlbGwnKQog
ICAgZXhjZXB0IG9lLnRlcm1pbmFsLkV4ZWN1dGlvbkVycm9yIGFzIGV4YzoKICAgICAgICBiYi5m
YXRhbCgnVW5hYmxlIHRvIHNwYXduIHRlcm1pbmFsICVzOiAlcycgJSAodGVybWluYWwsIGV4Yykp
fQoKCnB5dGhvbiBwYWNrYWdlX3FhX2dldF9tYWNoaW5lX2RpY3QgKCkgewpkZWYgcGFja2FnZV9x
YV9nZXRfbWFjaGluZV9kaWN0KCk6CiAgICByZXR1cm4gewogICAgICAgICAgICAiZGFyd2luOSIg
OiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJhcm0iIDogICAgICAgKDQwLCAgICAgMCwgICAg
MCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwK
ICAgICAgICAgICAgImxpbnV4IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImFybSIgOiAg
ICAgICAoNDAsICAgIDk3LCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAg
ICAgICAgICAgICAgICAgICAgICJhcm1lYiI6ICAgICAgKDQwLCAgICA5NywgICAgMCwgICAgICAg
ICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAicG93ZXJwYyI6
ICAgICgyMCwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAg
ICAgICAgICAgICAgICAgICAgInBvd2VycGM2NCI6ICAoMjEsICAgICAwLCAgICAwLCAgICAgICAg
ICBGYWxzZSwgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAgICJpMzg2IjogICAg
ICAgKCAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAg
ICAgICAgICAgICAgICAgICAiaTQ4NiI6ICAgICAgICggMywgICAgIDAsICAgIDAsICAgICAgICAg
IFRydWUsICAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgImk1ODYiOiAgICAg
ICAoIDMsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAg
ICAgICAgICAgICAgICAgICJpNjg2IjogICAgICAgKCAzLCAgICAgMCwgICAgMCwgICAgICAgICAg
VHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAieDg2XzY0IjogICAg
ICg2MiwgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDY0KSwKICAgICAgICAg
ICAgICAgICAgICAgICAgImlhNjQiOiAgICAgICAoNTAsICAgICAwLCAgICAwLCAgICAgICAgICBU
cnVlLCAgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAgICJhbHBoYSI6ICAgICAg
KDM2OTAyLCAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgNjQpLAogICAgICAgICAg
ICAgICAgICAgICAgICAiaHBwYSI6ICAgICAgICgxNSwgICAgIDMsICAgIDAsICAgICAgICAgIEZh
bHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgIm02OGsiOiAgICAgICAo
IDQsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAg
ICAgICAgICAgICAgICJtaXBzIjogICAgICAgKCA4LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFs
c2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAibWlwc2VsIjogICAgICgg
OCwgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAgICAgICAg
ICAgICAgICAgICAgInMzOTAiOiAgICAgICAoMjIsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxz
ZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJzaDQiOiAgICAgICAgKDQy
LCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAg
ICAgICAgICAgICAic3BhcmMiOiAgICAgICggMiwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNl
LCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJsaW51
eC11Y2xpYmMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAiYXJtIiA6ICAgICAgICggIDQw
LCAgICA5NywgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAg
ICAgICAgICAgICAiYXJtZWIiOiAgICAgICggIDQwLCAgICA5NywgICAgMCwgICAgICAgICAgRmFs
c2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAicG93ZXJwYyI6ICAgICgg
IDIwLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAg
ICAgICAgICAgICAgICAiaTM4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAg
VHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiaTQ4NiI6ICAgICAg
ICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAg
ICAgICAgICAgICAgICAgICAiaTU4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAg
ICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiaTY4NiI6ICAg
ICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAg
ICAgICAgICAgICAgICAgICAgICAieDg2XzY0IjogICAgICggIDYyLCAgICAgMCwgICAgMCwgICAg
ICAgICAgVHJ1ZSwgICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAgICAibWlwcyI6
ICAgICAgICggICA4LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAog
ICAgICAgICAgICAgICAgICAgICAgICAibWlwc2VsIjogICAgICggICA4LCAgICAgMCwgICAgMCwg
ICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiYXZy
MzIiOiAgICAgICg2MzE3LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIp
LAoJCQkic2g0IjogICAgICAgICg0MiwJIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAg
IDMyKSwKCiAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAidWNsaW51eC11Y2xp
YmMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAiYmZpbiI6ICAgICAgICggMTA2LCAgICAg
MCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAg
ICB9LAogICAgICAgICAgICAibGludXgtZ251ZWFiaSIgOiB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICJhcm0iIDogICAgICAgKDQwLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAg
ICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiYXJtZWIiIDogICAgICg0MCwgICAgIDAs
ICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAg
IH0sCiAgICAgICAgICAgICJsaW51eC11Y2xpYmNlYWJpIiA6IHsKICAgICAgICAgICAgICAgICAg
ICAgICAgImFybSIgOiAgICAgICAoNDAsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAg
ICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJhcm1lYiIgOiAgICAgKDQwLCAgICAg
MCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAg
ICAgfSwKICAgICAgICAgICAgImxpbnV4LWdudSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICJwb3dlcnBjIjogICAgKDIwLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAg
MzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgImxpbnV4LWdudXNwZSIg
OiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJwb3dlcnBjIjogICAgKDIwLCAgICAgMCwgICAg
MCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwK
ICAgICAgICAgICAgImxpbnV4LXVjbGliY3NwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICJwb3dlcnBjIjogICAgKDIwLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAg
MzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgImxpbnV4LWdudSIgOiAg
ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJtaWNyb2JsYXplIjogICAoNDc3ODcsICAw
LCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAg
ICAgICJtaWNyb2JsYXplZWwiOiAoNDc3ODcsICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAg
ICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAibGludXgtZ251
eDMyIiA6ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIng4Nl82NCI6ICAgICAoNjIs
ICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAg
ICAgICAgICB9LAogICAgICAgfQoKfQoKCnB5dGhvbiBiYXNlX2RldGVjdF9yZXZpc2lvbiAoKSB7
CmRlZiBiYXNlX2RldGVjdF9yZXZpc2lvbihkKToKCXBhdGggPSBiYXNlX2dldF9zY21iYXNlcGF0
aChkKQoKCXNjbXMgPSBbYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X3JldmlzaW9uLCBcCgkJCWJhc2Vf
Z2V0X21ldGFkYXRhX3N2bl9yZXZpc2lvbl0KCglmb3Igc2NtIGluIHNjbXM6CgkJcmV2ID0gc2Nt
KHBhdGgsIGQpCgkJaWYgcmV2IDw+ICI8dW5rbm93bj4iOgoJCQlyZXR1cm4gcmV2CgoJcmV0dXJu
ICI8dW5rbm93bj4iCn0KCgpweXRob24gc3N0YXRlX2NsZWFuX2NhY2hlZmlsZSAoKSB7CmRlZiBz
c3RhdGVfY2xlYW5fY2FjaGVmaWxlKHNzLCBkKToKICAgIGltcG9ydCBvZS5wYXRoCgogICAgc3N0
YXRlcGtnZGlyID0gZC5nZXRWYXIoJ1NTVEFURV9ESVInLCBUcnVlKQogICAgc3N0YXRlcGtnZmls
ZSA9IHNzdGF0ZXBrZ2RpciArICcvJyArIGQuZ2V0VmFyKCdTU1RBVEVfUEtHU1BFQycsIFRydWUp
ICsgIipfIiArIHNzWyduYW1lJ10gKyAiLnRneioiCiAgICBiYi5ub3RlKCJSZW1vdmluZyAlcyIg
JSBzc3RhdGVwa2dmaWxlKQogICAgb2UucGF0aC5yZW1vdmUoc3N0YXRlcGtnZmlsZSkKfQoKCnB5
dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2FyY2ggKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19hcmNo
KHBhdGgsbmFtZSxkLCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgaWYgYXJjaHMg
YXJlIGNvbXBhdGlibGUKICAgICIiIgogICAgaWYgbm90IGVsZjoKICAgICAgICByZXR1cm4KCiAg
ICB0YXJnZXRfb3MgICA9IGQuZ2V0VmFyKCdUQVJHRVRfT1MnLCBUcnVlKQogICAgdGFyZ2V0X2Fy
Y2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnLCBUcnVlKQogICAgcHJvdmlkZXMgPSBkLmdldFZh
cignUFJPVklERVMnLCBkLCBUcnVlKQogICAgYnBuID0gZC5nZXRWYXIoJ0JQTicsIFRydWUpCgog
ICAgIyBGSVhNRTogQ3Jvc3MgcGFja2FnZSBjb25mdXNlIHRoaXMgY2hlY2ssIHNvIGp1c3Qgc2tp
cCB0aGVtCiAgICBmb3IgcyBpbiBbJ2Nyb3NzJywgJ25hdGl2ZXNkaycsICdjcm9zcy1jYW5hZGlh
biddOgogICAgICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MocywgZCk6CiAgICAgICAgICAg
IHJldHVybgoKICAgICMgYXZvaWQgZm9sbG93aW5nIGxpbmtzIHRvIC91c3IvYmluIChlLmcuIG9u
IHVkZXYgYnVpbGRzKQogICAgIyB3ZSB3aWxsIGNoZWNrIHRoZSBmaWxlcyBwb2ludGVkIHRvIGFu
eXdheS4uLgogICAgaWYgb3MucGF0aC5pc2xpbmsocGF0aCk6CiAgICAgICAgcmV0dXJuCgogICAg
I2lmIHRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24sIHRoZW4gZml4IHRoZSBkaWN0IGFib3Zl
CiAgICAobWFjaGluZSwgb3NhYmksIGFiaXZlcnNpb24sIGxpdHRsZWVuZGlhbiwgYml0cykgXAog
ICAgICAgID0gcGFja2FnZV9xYV9nZXRfbWFjaGluZV9kaWN0KClbdGFyZ2V0X29zXVt0YXJnZXRf
YXJjaF0KCiAgICAjIENoZWNrIHRoZSBhcmNoaXRlY3R1cmUgYW5kIGVuZGlhbm5lcyBvZiB0aGUg
YmluYXJ5CiAgICBpZiBub3QgKChtYWNoaW5lID09IGVsZi5tYWNoaW5lKCkpIG9yIFwKCSgidmly
dHVhbC9rZXJuZWwiIGluIHByb3ZpZGVzKSBhbmQgKHRhcmdldF9vcyA9PSAibGludXgtZ251eDMy
IikpOgogICAgICAgIG1lc3NhZ2VzLmFwcGVuZCgiQXJjaGl0ZWN0dXJlIGRpZCBub3QgbWF0Y2gg
KCVkIHRvICVkKSBvbiAlcyIgJSBcCiAgICAgICAgICAgICAgICAgKG1hY2hpbmUsIGVsZi5tYWNo
aW5lKCksIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKICAgIGVsaWYgbm90ICgoYml0
cyA9PSBlbGYuYWJpU2l6ZSgpKSBvciAgXAoJKCJ2aXJ0dWFsL2tlcm5lbCIgaW4gcHJvdmlkZXMp
IGFuZCAodGFyZ2V0X29zID09ICJsaW51eC1nbnV4MzIiKSk6CiAgICAgICAgbWVzc2FnZXMuYXBw
ZW5kKCJCaXQgc2l6ZSBkaWQgbm90IG1hdGNoICglZCB0byAlZCkgJXMgb24gJXMiICUgXAogICAg
ICAgICAgICAgICAgIChiaXRzLCBlbGYuYWJpU2l6ZSgpLCBicG4sIHBhY2thZ2VfcWFfY2xlYW5f
cGF0aChwYXRoLGQpKSkKICAgIGVsaWYgbm90IGxpdHRsZWVuZGlhbiA9PSBlbGYuaXNMaXR0bGVF
bmRpYW4oKToKICAgICAgICBtZXNzYWdlcy5hcHBlbmQoIkVuZGlhbm5lcyBkaWQgbm90IG1hdGNo
ICglZCB0byAlZCkgb24gJXMiICUgXAogICAgICAgICAgICAgICAgIChsaXR0bGVlbmRpYW4sIGVs
Zi5pc0xpdHRsZUVuZGlhbigpLCBwYWNrYWdlX3FhX2NsZWFuX3BhdGgocGF0aCxkKSkpCn0KCgpw
eXRob24gZG9fY2xlYW4gKCkgewoJIiIiY2xlYXIgdGhlIGJ1aWxkIGFuZCB0ZW1wIGRpcmVjdG9y
aWVzIiIiCglkaXIgPSBkLmV4cGFuZCgiL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvd29yay9jb3JlMi1jY2QtbGludXgvbWV0YS10b29sY2hhaW4tMS4wLXI3IikKCWJiLm5v
dGUoIlJlbW92aW5nICIgKyBkaXIpCglvZS5wYXRoLnJlbW92ZShkaXIpCgoJZGlyID0gIiVzLioi
ICUgYmIuZGF0YS5leHBhbmQoZC5nZXRWYXIoJ1NUQU1QJyksIGQpCgliYi5ub3RlKCJSZW1vdmlu
ZyAiICsgZGlyKQoJb2UucGF0aC5yZW1vdmUoZGlyKQoKCWZvciBmIGluIChkLmdldFZhcignQ0xF
QU5GVU5DUycsIFRydWUpIG9yICcnKS5zcGxpdCgpOgoJCWJiLmJ1aWxkLmV4ZWNfZnVuYyhmLCBk
KQp9CgoKcHl0aG9uIGRvX3BhY2thZ2Vfd3JpdGVfaXBrX3NldHNjZW5lICgpIHsKCXNzdGF0ZV9z
ZXRzY2VuZShkKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfd3JpdGVfZXJyb3IgKCkgewpkZWYgcGFj
a2FnZV9xYV93cml0ZV9lcnJvcihlcnJvciwgZCk6CiAgICBsb2dmaWxlID0gZC5nZXRWYXIoJ1FB
X0xPR0ZJTEUnLCBUcnVlKQogICAgaWYgbG9nZmlsZToKICAgICAgICBwID0gZC5nZXRWYXIoJ1An
LCBUcnVlKQogICAgICAgIGYgPSBmaWxlKCBsb2dmaWxlLCAiYSsiKQogICAgICAgIHByaW50ID4+
IGYsICIlczogJXMiICUgKHAsIGVycm9yKQogICAgICAgIGYuY2xvc2UoKQp9CgoKcHl0aG9uIHVu
c2FmZV9yZWZlcmVuY2VzX3NraXBwYWJsZSAoKSB7CmRlZiB1bnNhZmVfcmVmZXJlbmNlc19za2lw
cGFibGUocGF0aCwgbmFtZSwgZCk6CglpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUn
LCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmVzZGsnLCBkKToKCQlyZXR1cm4g
VHJ1ZQoKCWlmICItZGJnIiBpbiBuYW1lIG9yICItZGV2IiBpbiBuYW1lOgoJCXJldHVybiBUcnVl
CgoJIyBPdGhlciBwYWNrYWdlIG5hbWVzIHRvIHNraXA6CglpZiBuYW1lLnN0YXJ0c3dpdGgoImtl
cm5lbC1tb2R1bGUtIik6CgkJcmV0dXJuIFRydWUKCgkjIFNraXAgc3ltbGlua3MKCWlmIG9zLnBh
dGguaXNsaW5rKHBhdGgpOgoJCXJldHVybiBUcnVlCgoJIyBTa2lwIHVudXN1YWwgcm9vdGZzIGxh
eW91dHMgd2hpY2ggbWFrZSB0aGVzZSB0ZXN0cyBpcnJlbGV2YW50CglleGVjX3ByZWZpeCA9IGQu
Z2V0VmFyKCdleGVjX3ByZWZpeCcsIFRydWUpCglpZiBleGVjX3ByZWZpeCA9PSAiIjoKCQlyZXR1
cm4gVHJ1ZQoKCXBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcsIFRydWUpCglwa2dkZXN0ID0g
cGtnZGVzdCArICIvIiArIG5hbWUKCXBrZ2Rlc3QgPSBvcy5wYXRoLmFic3BhdGgocGtnZGVzdCkK
CWJhc2VfYmluZGlyID0gcGtnZGVzdCArIGQuZ2V0VmFyKCdiYXNlX2JpbmRpcicsIFRydWUpCgli
YXNlX3NiaW5kaXIgPSBwa2dkZXN0ICsgZC5nZXRWYXIoJ2Jhc2Vfc2JpbmRpcicsIFRydWUpCgli
YXNlX2xpYmRpciA9IHBrZ2Rlc3QgKyBkLmdldFZhcignYmFzZV9saWJkaXInLCBUcnVlKQoJYmlu
ZGlyID0gcGtnZGVzdCArIGQuZ2V0VmFyKCdiaW5kaXInLCBUcnVlKQoJc2JpbmRpciA9IHBrZ2Rl
c3QgKyBkLmdldFZhcignc2JpbmRpcicsIFRydWUpCglsaWJkaXIgPSBwa2dkZXN0ICsgZC5nZXRW
YXIoJ2xpYmRpcicsIFRydWUpCgoJaWYgYmFzZV9iaW5kaXIgPT0gYmluZGlyIGFuZCBiYXNlX3Ni
aW5kaXIgPT0gc2JpbmRpciBhbmQgYmFzZV9saWJkaXIgPT0gbGliZGlyOgoJCXJldHVybiBUcnVl
CgoJIyBTa2lwIGZpbGVzIG5vdCBpbiBiYXNlX1tiaW5kaXJ8c2JpbmRpcnxsaWJkaXJdCglwYXRo
ID0gb3MucGF0aC5hYnNwYXRoKHBhdGgpCglpZiBub3QgKGJhc2VfYmluZGlyIGluIHBhdGggb3Ig
YmFzZV9zYmluZGlyIGluIHBhdGggb3IgYmFzZV9saWJkaXIgaW4gcGF0aCk6CgkJcmV0dXJuIFRy
dWUKCglyZXR1cm4gRmFsc2UKfQoKCnB5dGhvbiBiYXNlX2JvdGhfY29udGFpbiAoKSB7CmRlZiBi
YXNlX2JvdGhfY29udGFpbih2YXJpYWJsZTEsIHZhcmlhYmxlMiwgY2hlY2t2YWx1ZSwgZCk6CiAg
ICByZXR1cm4gb2UudXRpbHMuYm90aF9jb250YWluKHZhcmlhYmxlMSwgdmFyaWFibGUyLCBjaGVj
a3ZhbHVlLCBkKQp9CgoKcHl0aG9uIHN5c3Jvb3RfY2xlYW5zc3RhdGUgKCkgewogICAgIHNzID0g
c3N0YXRlX3N0YXRlX2Zyb212YXJzKGQsICJwb3B1bGF0ZV9zeXNyb290IikKICAgICBzc3RhdGVf
Y2xlYW4oc3MsIGQpCn0KCgpweXRob24gX19hbm9ueW1vdXMgKCkgewpOb25lfQoKCnB5dGhvbiBi
YXNlX2lmZWxzZSAoKSB7CmRlZiBiYXNlX2lmZWxzZShjb25kaXRpb24sIGlmdHJ1ZSA9IFRydWUs
IGlmZmFsc2UgPSBGYWxzZSk6CiAgICByZXR1cm4gb2UudXRpbHMuaWZlbHNlKGNvbmRpdGlvbiwg
aWZ0cnVlLCBpZmZhbHNlKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tfbGljZW5zZSAoKSB7
CmRlZiBwYWNrYWdlX3FhX2NoZWNrX2xpY2Vuc2Uod29ya2RpciwgZCk6CiAgICAiIiIKICAgIENo
ZWNrIGZvciBjaGFuZ2VzIGluIHRoZSBsaWNlbnNlIGZpbGVzCiAgICAiIiIKICAgIGltcG9ydCB0
ZW1wZmlsZQogICAgc2FuZSA9IFRydWUKCiAgICBsaWNfZmlsZXMgPSBkLmdldFZhcignTElDX0ZJ
TEVTX0NIS1NVTScsIFRydWUpCiAgICBsaWMgPSBkLmdldFZhcignTElDRU5TRScsIFRydWUpCiAg
ICBwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCgogICAgaWYgbGljID09ICJDTE9TRUQiOgogICAg
ICAgIHJldHVybiBUcnVlCgogICAgaWYgbm90IGxpY19maWxlczoKICAgICAgICAjIGp1c3QgdGhy
b3cgYSB3YXJuaW5nIG5vdy4gT25jZSBsaWNlbnNpbmcgZGF0YSBpbiBlbnRlcmVkIGZvciBlbm91
Z2ggb2YgdGhlIHJlY2lwZXMsCiAgICAgICAgIyB0aGlzIHdpbGwgYmUgY29udmVydGVkIGludG8g
ZXJyb3IgYW5kIEZhbHNlIHdpbGwgYmUgcmV0dXJuZWQuCiAgICAgICAgYmIuZXJyb3IocG4gKyAi
OiBSZWNpcGUgZmlsZSBkb2VzIG5vdCBoYXZlIGxpY2Vuc2UgZmlsZSBpbmZvcm1hdGlvbiAoTElD
X0ZJTEVTX0NIS1NVTSkiKQogICAgICAgIHJldHVybiBGYWxzZQoKICAgIHNyY2RpciA9IGQuZ2V0
VmFyKCdTJywgVHJ1ZSkKCiAgICBmb3IgdXJsIGluIGxpY19maWxlcy5zcGxpdCgpOgogICAgICAg
ICh0eXBlLCBob3N0LCBwYXRoLCB1c2VyLCBwc3dkLCBwYXJtKSA9IGJiLmRlY29kZXVybCh1cmwp
CiAgICAgICAgc3JjbGljZmlsZSA9IG9zLnBhdGguam9pbihzcmNkaXIsIHBhdGgpCiAgICAgICAg
aWYgbm90IG9zLnBhdGguaXNmaWxlKHNyY2xpY2ZpbGUpOgogICAgICAgICAgICByYWlzZSBiYi5i
dWlsZC5GdW5jRmFpbGVkKCBwbiArICI6IExJQ19GSUxFU19DSEtTVU0gcG9pbnRzIHRvIGFuIGlu
dmFsaWQgZmlsZTogIiArIHNyY2xpY2ZpbGUpCgogICAgICAgIGlmICdtZDUnIG5vdCBpbiBwYXJt
OgogICAgICAgICAgICBiYi5lcnJvcihwbiArICI6IG1kNSBjaGVja3N1bSBpcyBub3Qgc3BlY2lm
aWVkIGZvciAiLCB1cmwpCiAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgIGJlZ2lubGlu
ZSwgZW5kbGluZSA9IDAsIDAKICAgICAgICBpZiAnYmVnaW5saW5lJyBpbiBwYXJtOgogICAgICAg
ICAgICBiZWdpbmxpbmUgPSBpbnQocGFybVsnYmVnaW5saW5lJ10pCiAgICAgICAgaWYgJ2VuZGxp
bmUnIGluIHBhcm06CiAgICAgICAgICAgIGVuZGxpbmUgPSBpbnQocGFybVsnZW5kbGluZSddKQoK
ICAgICAgICBpZiAobm90IGJlZ2lubGluZSkgYW5kIChub3QgZW5kbGluZSk6CiAgICAgICAgICAg
IG1kNWNoa3N1bSA9IGJiLnV0aWxzLm1kNV9maWxlKHNyY2xpY2ZpbGUpCiAgICAgICAgZWxzZToK
ICAgICAgICAgICAgZmkgPSBvcGVuKHNyY2xpY2ZpbGUsICdyJykKICAgICAgICAgICAgZm8gPSB0
ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUobW9kZT0nd2InLCBwcmVmaXg9J3Bva3kuJywgc3Vm
Zml4PScudG1wJywgZGVsZXRlPUZhbHNlKQogICAgICAgICAgICB0bXBsaWNmaWxlID0gZm8ubmFt
ZTsKICAgICAgICAgICAgbGluZW5vID0gMAogICAgICAgICAgICBsaW5lc291dCA9IDAKICAgICAg
ICAgICAgZm9yIGxpbmUgaW4gZmk6CiAgICAgICAgICAgICAgICBsaW5lbm8gKz0gMQogICAgICAg
ICAgICAgICAgaWYgKGxpbmVubyA+PSBiZWdpbmxpbmUpOgogICAgICAgICAgICAgICAgICAgIGlm
ICgobGluZW5vIDw9IGVuZGxpbmUpIG9yIG5vdCBlbmRsaW5lKToKICAgICAgICAgICAgICAgICAg
ICAgICAgZm8ud3JpdGUobGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgbGluZXNvdXQgKz0g
MQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
CiAgICAgICAgICAgIGZvLmZsdXNoKCkKICAgICAgICAgICAgZm8uY2xvc2UoKQogICAgICAgICAg
ICBmaS5jbG9zZSgpCiAgICAgICAgICAgIG1kNWNoa3N1bSA9IGJiLnV0aWxzLm1kNV9maWxlKHRt
cGxpY2ZpbGUpCiAgICAgICAgICAgIG9zLnVubGluayh0bXBsaWNmaWxlKQoKICAgICAgICBpZiBw
YXJtWydtZDUnXSA9PSBtZDVjaGtzdW06CiAgICAgICAgICAgIGJiLm5vdGUgKHBuICsgIjogbWQ1
IGNoZWNrc3VtIG1hdGNoZWQgZm9yICIsIHVybCkKICAgICAgICBlbHNlOgogICAgICAgICAgICBi
Yi5lcnJvciAocG4gKyAiOiBtZDUgZGF0YSBpcyBub3QgbWF0Y2hpbmcgZm9yICIsIHVybCkKICAg
ICAgICAgICAgYmIuZXJyb3IgKHBuICsgIjogVGhlIG5ldyBtZDUgY2hlY2tzdW0gaXMgIiwgbWQ1
Y2hrc3VtKQogICAgICAgICAgICBiYi5lcnJvciAocG4gKyAiOiBDaGVjayBpZiB0aGUgbGljZW5z
ZSBpbmZvcm1hdGlvbiBoYXMgY2hhbmdlZCBpbiIpCiAgICAgICAgICAgIHNhbmUgPSBGYWxzZQoK
ICAgIHJldHVybiBzYW5lCn0KCgpweXRob24gZG9fcGFja2FnZV9xYSAoKSB7CiAgICBiYi5ub3Rl
KCJETyBQQUNLQUdFIFFBIikKCiAgICBsb2dkaXIgPSBkLmdldFZhcignVCcsIFRydWUpCiAgICBw
a2cgPSBkLmdldFZhcignUE4nLCBUcnVlKQoKICAgICMgQ2hlY2sgdGhlIGNvbXBpbGUgbG9nIGZv
ciBob3N0IGNvbnRhbWluYXRpb24KICAgIGNvbXBpbGVsb2cgPSBvcy5wYXRoLmpvaW4obG9nZGly
LCJsb2cuZG9fY29tcGlsZSIpCgogICAgaWYgb3MucGF0aC5leGlzdHMoY29tcGlsZWxvZyk6CiAg
ICAgICAgc3RhdGVtZW50ID0gImdyZXAgLWUgJ0NST1NTIENPTVBJTEUgQmFkbmVzczonIC1lICdp
cyB1bnNhZmUgZm9yIGNyb3NzLWNvbXBpbGF0aW9uJyAlcyA+IC9kZXYvbnVsbCIgJSBjb21waWxl
bG9nCiAgICAgICAgaWYgb3Muc3lzdGVtKHN0YXRlbWVudCkgPT0gMDoKICAgICAgICAgICAgYmIu
d2FybigiJXM6IFRoZSBjb21waWxlIGxvZyBpbmRpY2F0ZXMgdGhhdCBob3N0IGluY2x1ZGUgYW5k
L29yIGxpYnJhcnkgcGF0aHMgd2VyZSB1c2VkLlxuIFwKICAgICAgICBQbGVhc2UgY2hlY2sgdGhl
IGxvZyAnJXMnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIgJSAocGtnLCBjb21waWxlbG9nKSkKCiAg
ICAjIENoZWNrIHRoZSBpbnN0YWxsIGxvZyBmb3IgaG9zdCBjb250YW1pbmF0aW9uCiAgICBpbnN0
YWxsbG9nID0gb3MucGF0aC5qb2luKGxvZ2RpciwibG9nLmRvX2luc3RhbGwiKQoKICAgIGlmIG9z
LnBhdGguZXhpc3RzKGluc3RhbGxsb2cpOgogICAgICAgIHN0YXRlbWVudCA9ICJncmVwIC1lICdD
Uk9TUyBDT01QSUxFIEJhZG5lc3M6JyAtZSAnaXMgdW5zYWZlIGZvciBjcm9zcy1jb21waWxhdGlv
bicgJXMgPiAvZGV2L251bGwiICUgaW5zdGFsbGxvZwogICAgICAgIGlmIG9zLnN5c3RlbShzdGF0
ZW1lbnQpID09IDA6CiAgICAgICAgICAgIGJiLndhcm4oIiVzOiBUaGUgaW5zdGFsbCBsb2cgaW5k
aWNhdGVzIHRoYXQgaG9zdCBpbmNsdWRlIGFuZC9vciBsaWJyYXJ5IHBhdGhzIHdlcmUgdXNlZC5c
biBcCiAgICAgICAgUGxlYXNlIGNoZWNrIHRoZSBsb2cgJyVzJyBmb3IgbW9yZSBpbmZvcm1hdGlv
bi4iICUgKHBrZywgaW5zdGFsbGxvZykpCgogICAgIyBTY2FuIHRoZSBwYWNrYWdlcy4uLgogICAg
cGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJywgVHJ1ZSkKICAgIHBhY2thZ2VzID0gZC5nZXRW
YXIoJ1BBQ0tBR0VTJywgVHJ1ZSkKCiAgICAjIG5vIHBhY2thZ2VzIHNob3VsZCBiZSBzY2FubmVk
CiAgICBpZiBub3QgcGFja2FnZXM6CiAgICAgICAgcmV0dXJuCgogICAgdGVzdG1hdHJpeCA9IGQu
Z2V0VmFyRmxhZ3MoIlFBUEFUSFRFU1QiKQoKICAgIGcgPSBnbG9iYWxzKCkKICAgIHdhbGtfc2Fu
ZSA9IFRydWUKICAgIHJkZXBlbmRzX3NhbmUgPSBUcnVlCiAgICBmb3IgcGFja2FnZSBpbiBwYWNr
YWdlcy5zcGxpdCgpOgogICAgICAgIHNraXAgPSAoZC5nZXRWYXIoJ0lOU0FORV9TS0lQXycgKyBw
YWNrYWdlLCBUcnVlKSBvciAiIikuc3BsaXQoKQogICAgICAgIGlmIHNraXA6CiAgICAgICAgICAg
IGJiLm5vdGUoIlBhY2thZ2UgJXMgc2tpcHBpbmcgUUEgdGVzdHM6ICVzIiAlIChwYWNrYWdlLCBz
dHIoc2tpcCkpKQogICAgICAgIHdhcm5jaGVja3MgPSBbXQogICAgICAgIGZvciB3IGluIChkLmdl
dFZhcigiV0FSTl9RQSIsIFRydWUpIG9yICIiKS5zcGxpdCgpOgogICAgICAgICAgICBpZiB3IGlu
IHNraXA6CiAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGlmIHcgaW4gdGVzdG1h
dHJpeCBhbmQgdGVzdG1hdHJpeFt3XSBpbiBnOgogICAgICAgICAgICAgICAgd2FybmNoZWNrcy5h
cHBlbmQoZ1t0ZXN0bWF0cml4W3ddXSkKICAgICAgICBlcnJvcmNoZWNrcyA9IFtdCiAgICAgICAg
Zm9yIGUgaW4gKGQuZ2V0VmFyKCJFUlJPUl9RQSIsIFRydWUpIG9yICIiKS5zcGxpdCgpOgogICAg
ICAgICAgICBpZiBlIGluIHNraXA6CiAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAg
IGlmIGUgaW4gdGVzdG1hdHJpeCBhbmQgdGVzdG1hdHJpeFtlXSBpbiBnOgogICAgICAgICAgICAg
ICAgZXJyb3JjaGVja3MuYXBwZW5kKGdbdGVzdG1hdHJpeFtlXV0pCgogICAgICAgIGJiLm5vdGUo
IkNoZWNraW5nIFBhY2thZ2U6ICVzIiAlIHBhY2thZ2UpCiAgICAgICAgcGF0aCA9ICIlcy8lcyIg
JSAocGtnZGVzdCwgcGFja2FnZSkKICAgICAgICBpZiBub3QgcGFja2FnZV9xYV93YWxrKHBhdGgs
IHdhcm5jaGVja3MsIGVycm9yY2hlY2tzLCBza2lwLCBwYWNrYWdlLCBkKToKICAgICAgICAgICAg
d2Fsa19zYW5lICA9IEZhbHNlCiAgICAgICAgaWYgbm90IHBhY2thZ2VfcWFfY2hlY2tfcmRlcGVu
ZHMocGFja2FnZSwgcGtnZGVzdCwgc2tpcCwgZCk6CiAgICAgICAgICAgIHJkZXBlbmRzX3NhbmUg
PSBGYWxzZQoKCiAgICBpZiBub3Qgd2Fsa19zYW5lIG9yIG5vdCByZGVwZW5kc19zYW5lOgogICAg
ICAgIGJiLmZhdGFsKCJRQSBydW4gZm91bmQgZmF0YWwgZXJyb3JzLiBQbGVhc2UgY29uc2lkZXIg
Zml4aW5nIHRoZW0uIikKICAgIGJiLm5vdGUoIkRPTkUgd2l0aCBQQUNLQUdFIFFBIikKfQoKCnB5
dGhvbiBiYXNlX3BydW5lX3N1ZmZpeCAoKSB7CmRlZiBiYXNlX3BydW5lX3N1ZmZpeCh2YXIsIHN1
ZmZpeGVzLCBkKToKICAgIHJldHVybiBvZS51dGlscy5wcnVuZV9zdWZmaXgodmFyLCBzdWZmaXhl
cywgZCkKfQoKCnB5dGhvbiByZWFkX3N1YnBhY2thZ2VfbWV0YWRhdGEgKCkgewoJaW1wb3J0IG9l
LnBhY2thZ2VkYXRhCgoJZGF0YSA9IG9lLnBhY2thZ2VkYXRhLnJlYWRfcGtnZGF0YShkLmdldFZh
cignUE4nLCBUcnVlKSwgZCkKCglmb3Iga2V5IGluIGRhdGEua2V5cygpOgoJCWQuc2V0VmFyKGtl
eSwgZGF0YVtrZXldKQoKCWZvciBwa2cgaW4gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSkuc3Bs
aXQoKToKCQlzZGF0YSA9IG9lLnBhY2thZ2VkYXRhLnJlYWRfc3VicGtnZGF0YShwa2csIGQpCgkJ
Zm9yIGtleSBpbiBzZGF0YS5rZXlzKCk6CgkJCWQuc2V0VmFyKGtleSwgc2RhdGFba2V5XSkKfQoK
CnB5dGhvbiBwYWNrYWdlX25hbWVfaG9vayAoKSB7CgliYi5idWlsZC5leGVjX2Z1bmMoJ2RlYmlh
bl9wYWNrYWdlX25hbWVfaG9vaycsIGQpCn0KCgpweXRob24gZG9fcGFja2FnZSAoKSB7CiAgICAg
ICAgIyBDaGFuZ2UgdGhlIGZvbGxvd2luZyB2ZXJzaW9uIHRvIGNhdXNlIHNzdGF0ZSB0byBpbnZh
bGlkYXRlIHRoZSBwYWNrYWdlCiAgICAgICAgIyBjYWNoZS4gIFRoaXMgaXMgdXNlZnVsIGlmIGFu
IGl0ZW0gdGhpcyBjbGFzcyBkZXBlbmRzIG9uIGNoYW5nZXMgaW4gYQogICAgICAgICMgd2F5IHRo
YXQgdGhlIG91dHB1dCBvZiB0aGlzIGNsYXNzIGNoYW5nZXMuICBycG1kZXBzIGlzIGEgZ29vZCBl
eGFtcGxlCiAgICAgICAgIyBhcyBhbnkgY2hhbmdlIHRvIHJwbWRlcHMgcmVxdWlyZXMgdGhpcyB0
byBiZSByZXJ1bi4KICAgICAgICAjIFBBQ0tBR0VfQkJDTEFTU19WRVJTSU9OID0gIjEiCgoJcGFj
a2FnZXMgPSAoZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKCWlmIGxl
bihwYWNrYWdlcykgPCAxOgoJCWJiLmRlYnVnKDEsICJObyBwYWNrYWdlcyB0byBidWlsZCwgc2tp
cHBpbmcgZG9fcGFja2FnZSIpCgkJcmV0dXJuCgoJd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElS
JywgVHJ1ZSkKCW91dGRpciA9IGQuZ2V0VmFyKCdERVBMT1lfRElSJywgVHJ1ZSkKCWRlc3QgPSBk
LmdldFZhcignRCcsIFRydWUpCglkdmFyID0gZC5nZXRWYXIoJ1BLR0QnLCBUcnVlKQoJcG4gPSBk
LmdldFZhcignUE4nLCBUcnVlKQoKCWlmIG5vdCB3b3JrZGlyIG9yIG5vdCBvdXRkaXIgb3Igbm90
IGRlc3Qgb3Igbm90IGR2YXIgb3Igbm90IHBuIG9yIG5vdCBwYWNrYWdlczoKCQliYi5lcnJvcigi
V09SS0RJUiwgREVQTE9ZX0RJUiwgRCwgUE4gYW5kIFBLR0QgYWxsIG11c3QgYmUgZGVmaW5lZCwg
dW5hYmxlIHRvIHBhY2thZ2UiKQoJCXJldHVybgoKCWZvciBmIGluIChkLmdldFZhcignUEFDS0FH
RUZVTkNTJywgVHJ1ZSkgb3IgJycpLnNwbGl0KCk6CgkJYmIuYnVpbGQuZXhlY19mdW5jKGYsIGQp
Cn0KCgpweXRob24gY2hlY2tfbGljZW5zZV9mbGFncyAoKSB7CmRlZiBjaGVja19saWNlbnNlX2Zs
YWdzKGQpOgogICAgIiIiCiAgICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiBhIHJlY2lwZSBoYXMg
YW55IExJQ0VOU0VfRkxBR3MgdGhhdAogICAgYXJlbid0IHdoaXRlbGlzdGVkLgoKICAgIElmIGl0
IGRvZXMsIGl0IHJldHVybnMgdGhlIGZpcnN0IExJQ0VOU0VfRkxBRyBtaXNzaW5nIGZyb20gdGhl
CiAgICB3aGl0ZWxpc3QsIG9yIGFsbCB0aGUgTElDRU5TRV9GTEFHcyBpZiB0aGVyZSBpcyBubyB3
aGl0ZWxpc3QuCgogICAgSWYgZXZlcnl0aGluZyBpcyBpcyBwcm9wZXJseSB3aGl0ZWxpc3RlZCwg
aXQgcmV0dXJucyBOb25lLgogICAgIiIiCgogICAgZGVmIGxpY2Vuc2VfZmxhZ19tYXRjaGVzKGZs
YWcsIHdoaXRlbGlzdCwgcG4pOgogICAgICAgICIiIgogICAgICAgIFJldHVybiBUcnVlIGlmIGZs
YWcgbWF0Y2hlcyBzb21ldGhpbmcgaW4gd2hpdGVsaXN0LCBOb25lIGlmIG5vdC4KCiAgICAgICAg
QmVmb3JlIHdlIHRlc3QgYSBmbGFnIGFnYWluc3QgdGhlIHdoaXRlbGlzdCwgd2UgYXBwZW5kIF9t
ZXRhLXRvb2xjaGFpbgogICAgICAgIHRvIGl0LiAgV2UgdGhlbiB0cnkgdG8gbWF0Y2ggdGhhdCBz
dHJpbmcgYWdhaW5zdCB0aGUKICAgICAgICB3aGl0ZWxpc3QuICBUaGlzIGNvdmVycyB0aGUgbm9y
bWFsIGNhc2UsIHdoZXJlIHdlIGV4cGVjdAogICAgICAgIExJQ0VOU0VfRkxBR1MgdG8gYmUgYSBz
aW1wbGUgc3RyaW5nIGxpa2UgJ2NvbW1lcmNpYWwnLCB3aGljaAogICAgICAgIHRoZSB1c2VyIHR5
cGljYWxseSBtYXRjaGVzIGV4YWN0bHkgaW4gdGhlIHdoaXRlbGlzdCBieQogICAgICAgIGV4cGxp
Y2l0bHkgYXBwZW5kaW5nIHRoZSBwYWNrYWdlIG5hbWUgZS5nICdjb21tZXJjaWFsX2ZvbycuCiAg
ICAgICAgSWYgd2UgZmFpbCB0aGUgbWF0Y2ggaG93ZXZlciwgd2UgdGhlbiBzcGxpdCB0aGUgZmxh
ZyBhY3Jvc3MKICAgICAgICAnXycgYW5kIGFwcGVuZCBlYWNoIGZyYWdtZW50IGFuZCB0ZXN0IHVu
dGlsIHdlIGVpdGhlciBtYXRjaCBvcgogICAgICAgIHJ1biBvdXQgb2YgZnJhZ21lbnRzLgogICAg
ICAgICIiIgogICAgICAgIGZsYWdfcG4gPSAoIiVzXyVzIiAlIChmbGFnLCBwbikpCiAgICAgICAg
Zm9yIGNhbmRpZGF0ZSBpbiB3aGl0ZWxpc3Q6CiAgICAgICAgICAgIGlmIGZsYWdfcG4gPT0gY2Fu
ZGlkYXRlOgogICAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCgogICAgICAgIGZsYWdfY3Vy
ID0gIiIKICAgICAgICBmbGFnbWVudHMgPSBmbGFnX3BuLnNwbGl0KCJfIikKICAgICAgICBmbGFn
bWVudHMucG9wKCkgIyB3ZSd2ZSBhbHJlYWR5IHRlc3RlZCB0aGUgZnVsbCBzdHJpbmcKICAgICAg
ICBmb3IgZmxhZ21lbnQgaW4gZmxhZ21lbnRzOgogICAgICAgICAgICBpZiBmbGFnX2N1cjoKICAg
ICAgICAgICAgICAgIGZsYWdfY3VyICs9ICJfIgogICAgICAgICAgICBmbGFnX2N1ciArPSBmbGFn
bWVudAogICAgICAgICAgICBmb3IgY2FuZGlkYXRlIGluIHdoaXRlbGlzdDoKICAgICAgICAgICAg
ICAgIGlmIGZsYWdfY3VyID09IGNhbmRpZGF0ZToKICAgICAgICAgICAgICAgICAgICByZXR1cm4g
VHJ1ZQogICAgICAgIHJldHVybiBGYWxzZQoKICAgIGRlZiBhbGxfbGljZW5zZV9mbGFnc19tYXRj
aChsaWNlbnNlX2ZsYWdzLCB3aGl0ZWxpc3QpOgogICAgICAgICIiIiBSZXR1cm4gZmlyc3QgdW5t
YXRjaGVkIGZsYWcsIE5vbmUgaWYgYWxsIGZsYWdzIG1hdGNoICIiIgogICAgICAgIHBuID0gZC5n
ZXRWYXIoJ1BOJywgVHJ1ZSkKICAgICAgICBzcGxpdF93aGl0ZWxpc3QgPSB3aGl0ZWxpc3Quc3Bs
aXQoKQogICAgICAgIGZvciBmbGFnIGluIGxpY2Vuc2VfZmxhZ3Muc3BsaXQoKToKICAgICAgICAg
ICAgaWYgbm90IGxpY2Vuc2VfZmxhZ19tYXRjaGVzKGZsYWcsIHNwbGl0X3doaXRlbGlzdCwgcG4p
OgogICAgICAgICAgICAgICAgcmV0dXJuIGZsYWcKICAgICAgICByZXR1cm4gTm9uZQoKICAgIGxp
Y2Vuc2VfZmxhZ3MgPSBkLmdldFZhcignTElDRU5TRV9GTEFHUycsIFRydWUpCiAgICBpZiBsaWNl
bnNlX2ZsYWdzOgogICAgICAgIHdoaXRlbGlzdCA9IGQuZ2V0VmFyKCdMSUNFTlNFX0ZMQUdTX1dI
SVRFTElTVCcsIFRydWUpCiAgICAgICAgaWYgbm90IHdoaXRlbGlzdDoKICAgICAgICAgICAgcmV0
dXJuIGxpY2Vuc2VfZmxhZ3MKICAgICAgICB1bm1hdGNoZWRfZmxhZyA9IGFsbF9saWNlbnNlX2Zs
YWdzX21hdGNoKGxpY2Vuc2VfZmxhZ3MsIHdoaXRlbGlzdCkKICAgICAgICBpZiB1bm1hdGNoZWRf
ZmxhZzoKICAgICAgICAgICAgcmV0dXJuIHVubWF0Y2hlZF9mbGFnCiAgICByZXR1cm4gTm9uZQp9
CgoKcHl0aG9uIHBhY2thZ2VfZG9fc2hsaWJzICgpIHsKCWltcG9ydCByZSwgcGlwZXMKCglleGNs
dWRlX3NobGlicyA9IGQuZ2V0VmFyKCdFWENMVURFX0ZST01fU0hMSUJTJywgMCkKCWlmIGV4Y2x1
ZGVfc2hsaWJzOgoJCWJiLm5vdGUoIm5vdCBnZW5lcmF0aW5nIHNobGlicyIpCgkJcmV0dXJuCgoJ
bGliX3JlID0gcmUuY29tcGlsZSgiXi4qXC5zbyIpCglsaWJkaXJfcmUgPSByZS5jb21waWxlKCIu
Ki9saWIkIikKCglwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycsIFRydWUpCgl0YXJnZXRv
cyA9IGQuZ2V0VmFyKCdUQVJHRVRfT1MnLCBUcnVlKQoKCXdvcmtkaXIgPSBkLmdldFZhcignV09S
S0RJUicsIFRydWUpCgoJdmVyID0gZC5nZXRWYXIoJ1BLR1YnLCBUcnVlKQoJaWYgbm90IHZlcjoK
CQliYi5lcnJvcigiUEtHViBub3QgZGVmaW5lZCIpCgkJcmV0dXJuCgoJcGtnZGVzdCA9IGQuZ2V0
VmFyKCdQS0dERVNUJywgVHJ1ZSkKCglzaGxpYnNfZGlyID0gZC5nZXRWYXIoJ1NITElCU0RJUics
IFRydWUpCglzaGxpYnN3b3JrX2RpciA9IGQuZ2V0VmFyKCdTSExJQlNXT1JLRElSJywgVHJ1ZSkK
CgkjIFRha2Ugc2hhcmVkIGxvY2sgc2luY2Ugd2UncmUgb25seSByZWFkaW5nLCBub3Qgd3JpdGlu
ZwoJbGYgPSBiYi51dGlscy5sb2NrZmlsZShkLmV4cGFuZCgiL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMvcGFja2FnZS1vdXRwdXQubG9jayIpKQoKCWRlZiBs
aW51eF9zbyhyb290LCBwYXRoLCBmaWxlKToKCQluZWVkc19sZGNvbmZpZyA9IEZhbHNlCgkJY21k
ID0gZC5nZXRWYXIoJ09CSkRVTVAnLCBUcnVlKSArICIgLXAgIiArIHBpcGVzLnF1b3RlKG9zLnBh
dGguam9pbihyb290LCBmaWxlKSkgKyAiIDI+L2Rldi9udWxsIgoJCWNtZCA9ICJQQVRIPVwiJXNc
IiAlcyIgJSAoZC5nZXRWYXIoJ1BBVEgnLCBUcnVlKSwgY21kKQoJCWZkID0gb3MucG9wZW4oY21k
KQoJCWxpbmVzID0gZmQucmVhZGxpbmVzKCkKCQlmZC5jbG9zZSgpCgkJZm9yIGwgaW4gbGluZXM6
CgkJCW0gPSByZS5tYXRjaCgiXHMrTkVFREVEXHMrKFteXHNdKikiLCBsKQoJCQlpZiBtOgoJCQkJ
bmVlZGVkW3BrZ10uYXBwZW5kKG0uZ3JvdXAoMSkpCgkJCW0gPSByZS5tYXRjaCgiXHMrU09OQU1F
XHMrKFteXHNdKikiLCBsKQoJCQlpZiBtOgoJCQkJdGhpc19zb25hbWUgPSBtLmdyb3VwKDEpCgkJ
CQlpZiBub3QgdGhpc19zb25hbWUgaW4gc29uYW1lczoKCQkJCQkjIGlmIGxpYnJhcnkgaXMgcHJp
dmF0ZSAob25seSB1c2VkIGJ5IHBhY2thZ2UpIHRoZW4gZG8gbm90IGJ1aWxkIHNobGliIGZvciBp
dAoJCQkJCWlmIG5vdCBwcml2YXRlX2xpYnMgb3IgLTEgPT0gcHJpdmF0ZV9saWJzLmZpbmQodGhp
c19zb25hbWUpOgoJCQkJCQlzb25hbWVzLmFwcGVuZCh0aGlzX3NvbmFtZSkKCQkJCWlmIGxpYmRp
cl9yZS5tYXRjaChyb290KToKCQkJCQluZWVkc19sZGNvbmZpZyA9IFRydWUKCQkJCWlmIHNuYXBf
c3ltbGlua3MgYW5kIChmaWxlICE9IHRoaXNfc29uYW1lKToKCQkJCQlyZW5hbWVzLmFwcGVuZCgo
b3MucGF0aC5qb2luKHJvb3QsIGZpbGUpLCBvcy5wYXRoLmpvaW4ocm9vdCwgdGhpc19zb25hbWUp
KSkKCQlyZXR1cm4gbmVlZHNfbGRjb25maWcKCglkZWYgZGFyd2luX3NvKHJvb3QsIHBhdGgsIGZp
bGUpOgoJCWZ1bGxwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsIGZpbGUpCgkJaWYgbm90IG9zLnBh
dGguZXhpc3RzKGZ1bGxwYXRoKToKCQkJcmV0dXJuCgoJCWRlZiBnZXRfY29tYmluYXRpb25zKGJh
c2UpOgoJCQkjCgkJCSMgR2l2ZW4gYSBiYXNlIGxpYnJhcnkgbmFtZSwgZmluZCBhbGwgY29tYmlu
YXRpb25zIG9mIHRoaXMgc3BsaXQgYnkgIi4iIGFuZCAiLSIKCQkJIwoJCQljb21ib3MgPSBbXQoJ
CQlvcHRpb25zID0gYmFzZS5zcGxpdCgiLiIpCgkJCWZvciBpIGluIHJhbmdlKDEsIGxlbihvcHRp
b25zKSArIDEpOgoJCQkJY29tYm9zLmFwcGVuZCgiLiIuam9pbihvcHRpb25zWzA6aV0pKQoJCQlv
cHRpb25zID0gYmFzZS5zcGxpdCgiLSIpCgkJCWZvciBpIGluIHJhbmdlKDEsIGxlbihvcHRpb25z
KSArIDEpOgoJCQkJY29tYm9zLmFwcGVuZCgiLSIuam9pbihvcHRpb25zWzA6aV0pKQoJCQlyZXR1
cm4gY29tYm9zCgoJCWlmIChmaWxlLmVuZHN3aXRoKCcuZHlsaWInKSBvciBmaWxlLmVuZHN3aXRo
KCcuc28nKSkgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kZXYnKSBhbmQgbm90IHBrZy5lbmRzd2l0
aCgnLWRiZycpOgoJCQkjIERyb3Agc3VmZml4CgkJCW5hbWUgPSBmaWxlLnJzcGxpdCgiLiIsMSlb
MF0KCQkJIyBGaW5kIGFsbCBjb21iaW5hdGlvbnMKCQkJY29tYm9zID0gZ2V0X2NvbWJpbmF0aW9u
cyhuYW1lKQoJCQlmb3IgY29tYm8gaW4gY29tYm9zOgoJCQkJaWYgbm90IGNvbWJvIGluIHNvbmFt
ZXM6CgkJCQkJc29uYW1lcy5hcHBlbmQoY29tYm8pCgkJaWYgZmlsZS5lbmRzd2l0aCgnLmR5bGli
Jykgb3IgZmlsZS5lbmRzd2l0aCgnLnNvJyk6CgkJCWxhZmlsZSA9IGZ1bGxwYXRoLnJlcGxhY2Uo
b3MucGF0aC5qb2luKHBrZ2Rlc3QsIHBrZyksIGQuZ2V0VmFyKCdQS0dEJywgVHJ1ZSkpCgkJCSMg
RHJvcCBzdWZmaXgKCQkJbGFmaWxlID0gbGFmaWxlLnJzcGxpdCgiLiIsMSlbMF0KCQkJbGFwYXRo
ID0gb3MucGF0aC5kaXJuYW1lKGxhZmlsZSkKCQkJbGFmaWxlID0gb3MucGF0aC5iYXNlbmFtZShs
YWZpbGUpCgkJCSMgRmluZCBhbGwgY29tYmluYXRpb25zCgkJCWNvbWJvcyA9IGdldF9jb21iaW5h
dGlvbnMobGFmaWxlKQoJCQlmb3IgY29tYm8gaW4gY29tYm9zOgoJCQkJaWYgb3MucGF0aC5leGlz
dHMobGFwYXRoICsgJy8nICsgY29tYm8gKyAnLmxhJyk6CgkJCQkJYnJlYWsKCQkJbGFmaWxlID0g
bGFwYXRoICsgJy8nICsgY29tYm8gKyAnLmxhJwoKCQkJI2JiLm5vdGUoIkZvbzI6ICVzIiAlIGxh
ZmlsZSkKCQkJI2JiLm5vdGUoIkZvbyAlcyAlcyIgJSAoZmlsZSwgZnVsbHBhdGgpKQoJCQlpZiBv
cy5wYXRoLmV4aXN0cyhsYWZpbGUpOgoJCQkJZmQgPSBvcGVuKGxhZmlsZSwgJ3InKQoJCQkJbGlu
ZXMgPSBmZC5yZWFkbGluZXMoKQoJCQkJZmQuY2xvc2UoKQoJCQkJZm9yIGwgaW4gbGluZXM6CgkJ
CQkJbSA9IHJlLm1hdGNoKCJccypkZXBlbmRlbmN5X2xpYnM9XHMqJyguKiknIiwgbCkKCQkJCQlp
ZiBtOgoJCQkJCQlkZXBzID0gbS5ncm91cCgxKS5zcGxpdCgiICIpCgkJCQkJCWZvciBkZXAgaW4g
ZGVwczoKCQkJCQkJCSNiYi5ub3RlKCJUcnlpbmcgJXMgZm9yICVzIiAlIChkZXAsIHBrZykpCgkJ
CQkJCQluYW1lID0gTm9uZQoJCQkJCQkJaWYgZGVwLmVuZHN3aXRoKCIubGEiKToKCQkJCQkJCQlu
YW1lID0gb3MucGF0aC5iYXNlbmFtZShkZXApLnJlcGxhY2UoIi5sYSIsICIiKQoJCQkJCQkJZWxp
ZiBkZXAuc3RhcnRzd2l0aCgiLWwiKToKCQkJCQkJCQluYW1lID0gZGVwLnJlcGxhY2UoIi1sIiwg
ImxpYiIpCgkJCQkJCQlpZiBwa2cgbm90IGluIG5lZWRlZDoKCQkJCQkJCQluZWVkZWRbcGtnXSA9
IFtdCgkJCQkJCQlpZiBuYW1lOgoJCQkJCQkJCW5lZWRlZFtwa2ddLmFwcGVuZChuYW1lKQoJCQkJ
CQkJCSNiYi5ub3RlKCJBZGRpbmcgJXMgZm9yICVzIiAlIChuYW1lLCBwa2cpKQoKCWlmIGQuZ2V0
VmFyKCdQQUNLQUdFX1NOQVBfTElCX1NZTUxJTktTJywgVHJ1ZSkgPT0gIjEiOgoJCXNuYXBfc3lt
bGlua3MgPSBUcnVlCgllbHNlOgoJCXNuYXBfc3ltbGlua3MgPSBGYWxzZQoKCWlmIChkLmdldFZh
cignVVNFX0xEQ09ORklHJywgVHJ1ZSkgb3IgIjEiKSA9PSAiMSI6CgkJdXNlX2xkY29uZmlnID0g
VHJ1ZQoJZWxzZToKCQl1c2VfbGRjb25maWcgPSBGYWxzZQoKCW5lZWRlZCA9IHt9CglzaGxpYl9w
cm92aWRlciA9IHt9Cglmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CgkJcHJpdmF0ZV9saWJz
ID0gZC5nZXRWYXIoJ1BSSVZBVEVfTElCU18nICsgcGtnLCBUcnVlKSBvciBkLmdldFZhcignUFJJ
VkFURV9MSUJTJywgVHJ1ZSkKCQluZWVkc19sZGNvbmZpZyA9IEZhbHNlCgkJYmIuZGVidWcoMiwg
ImNhbGN1bGF0aW5nIHNobGliIHByb3ZpZGVzIGZvciAlcyIgJSBwa2cpCgoJCXBrZ3ZlciA9IGQu
Z2V0VmFyKCdQS0dWXycgKyBwa2csIFRydWUpCgkJaWYgbm90IHBrZ3ZlcjoKCQkJcGtndmVyID0g
ZC5nZXRWYXIoJ1BWXycgKyBwa2csIFRydWUpCgkJaWYgbm90IHBrZ3ZlcjoKCQkJcGtndmVyID0g
dmVyCgoJCW5lZWRlZFtwa2ddID0gW10KCQlzb25hbWVzID0gbGlzdCgpCgkJcmVuYW1lcyA9IGxp
c3QoKQoJCXRvcCA9IG9zLnBhdGguam9pbihwa2dkZXN0LCBwa2cpCgkJZm9yIHJvb3QsIGRpcnMs
IGZpbGVzIGluIG9zLndhbGsodG9wKToKCQkJZm9yIGZpbGUgaW4gZmlsZXM6CgkJCQlzb25hbWUg
PSBOb25lCgkJCQlwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsIGZpbGUpCgkJCQlpZiBvcy5wYXRo
LmlzbGluayhwYXRoKToKCQkJCQljb250aW51ZQoJCQkJaWYgdGFyZ2V0b3MgPT0gImRhcndpbiIg
b3IgdGFyZ2V0b3MgPT0gImRhcndpbjgiOgoJCQkJCWRhcndpbl9zbyhyb290LCBkaXJzLCBmaWxl
KQoJCQkJZWxpZiBvcy5hY2Nlc3MocGF0aCwgb3MuWF9PSykgb3IgbGliX3JlLm1hdGNoKGZpbGUp
OgoJCQkJCWxkY29uZmlnID0gbGludXhfc28ocm9vdCwgZGlycywgZmlsZSkKCQkJCQluZWVkc19s
ZGNvbmZpZyA9IG5lZWRzX2xkY29uZmlnIG9yIGxkY29uZmlnCgkJZm9yIChvbGQsIG5ldykgaW4g
cmVuYW1lczoKCQkgICAgCWJiLm5vdGUoIlJlbmFtaW5nICVzIHRvICVzIiAlIChvbGQsIG5ldykp
CgkJCW9zLnJlbmFtZShvbGQsIG5ldykKCQlzaGxpYnNfZmlsZSA9IG9zLnBhdGguam9pbihzaGxp
YnN3b3JrX2RpciwgcGtnICsgIi5saXN0IikKCQlzaHZlcl9maWxlID0gb3MucGF0aC5qb2luKHNo
bGlic3dvcmtfZGlyLCBwa2cgKyAiLnZlciIpCgkJaWYgbGVuKHNvbmFtZXMpOgoJCQlmZCA9IG9w
ZW4oc2hsaWJzX2ZpbGUsICd3JykKCQkJZm9yIHMgaW4gc29uYW1lczoKCQkJCWZkLndyaXRlKHMg
KyAnXG4nKQoJCQkJc2hsaWJfcHJvdmlkZXJbc10gPSAocGtnLCBwa2d2ZXIpCgkJCWZkLmNsb3Nl
KCkKCQkJZmQgPSBvcGVuKHNodmVyX2ZpbGUsICd3JykKCQkJZmQud3JpdGUocGtndmVyICsgJ1xu
JykKCQkJZmQuY2xvc2UoKQoJCWlmIG5lZWRzX2xkY29uZmlnIGFuZCB1c2VfbGRjb25maWc6CgkJ
CWJiLmRlYnVnKDEsICdhZGRpbmcgbGRjb25maWcgY2FsbCB0byBwb3N0aW5zdCBmb3IgJXMnICUg
cGtnKQoJCQlwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUgcGtnLCBUcnVl
KSBvciBkLmdldFZhcigncGtnX3Bvc3RpbnN0JywgVHJ1ZSkKCQkJaWYgbm90IHBvc3RpbnN0OgoJ
CQkJcG9zdGluc3QgPSAnIyEvYmluL3NoXG4nCgkJCXBvc3RpbnN0ICs9IGQuZ2V0VmFyKCdsZGNv
bmZpZ19wb3N0aW5zdF9mcmFnbWVudCcsIFRydWUpCgkJCWQuc2V0VmFyKCdwa2dfcG9zdGluc3Rf
JXMnICUgcGtnLCBwb3N0aW5zdCkKCglsaXN0X3JlID0gcmUuY29tcGlsZSgnXiguKilcLmxpc3Qk
JykKCWZvciBkaXIgaW4gW3NobGlic19kaXJdOgoJCWlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkaXIp
OgoJCQljb250aW51ZQoJCWZvciBmaWxlIGluIG9zLmxpc3RkaXIoZGlyKToKCQkJbSA9IGxpc3Rf
cmUubWF0Y2goZmlsZSkKCQkJaWYgbToKCQkJCWRlcF9wa2cgPSBtLmdyb3VwKDEpCgkJCQlmZCA9
IG9wZW4ob3MucGF0aC5qb2luKGRpciwgZmlsZSkpCgkJCQlsaW5lcyA9IGZkLnJlYWRsaW5lcygp
CgkJCQlmZC5jbG9zZSgpCgkJCQl2ZXJfZmlsZSA9IG9zLnBhdGguam9pbihkaXIsIGRlcF9wa2cg
KyAnLnZlcicpCgkJCQlsaWJfdmVyID0gTm9uZQoJCQkJaWYgb3MucGF0aC5leGlzdHModmVyX2Zp
bGUpOgoJCQkJCWZkID0gb3Blbih2ZXJfZmlsZSkKCQkJCQlsaWJfdmVyID0gZmQucmVhZGxpbmUo
KS5yc3RyaXAoKQoJCQkJCWZkLmNsb3NlKCkKCQkJCWZvciBsIGluIGxpbmVzOgoJCQkJCXNobGli
X3Byb3ZpZGVyW2wucnN0cmlwKCldID0gKGRlcF9wa2csIGxpYl92ZXIpCgoJYmIudXRpbHMudW5s
b2NrZmlsZShsZikKCglhc3N1bWVkX2xpYnMgPSBkLmdldFZhcignQVNTVU1FX1NITElCUycsIFRy
dWUpCglpZiBhc3N1bWVkX2xpYnM6CgkgICAgZm9yIGUgaW4gYXNzdW1lZF9saWJzLnNwbGl0KCk6
CgkJbCwgZGVwX3BrZyA9IGUuc3BsaXQoIjoiKQoJCWxpYl92ZXIgPSBOb25lCgkJZGVwX3BrZyA9
IGRlcF9wa2cucnNwbGl0KCJfIiwgMSkKCQlpZiBsZW4oZGVwX3BrZykgPT0gMjoKCQkgICAgbGli
X3ZlciA9IGRlcF9wa2dbMV0KCQlkZXBfcGtnID0gZGVwX3BrZ1swXQoJCXNobGliX3Byb3ZpZGVy
W2xdID0gKGRlcF9wa2csIGxpYl92ZXIpCgoJZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgoJ
CWJiLmRlYnVnKDIsICJjYWxjdWxhdGluZyBzaGxpYiByZXF1aXJlbWVudHMgZm9yICVzIiAlIHBr
ZykKCgkJZGVwcyA9IGxpc3QoKQoJCWZvciBuIGluIG5lZWRlZFtwa2ddOgoJCQlpZiBuIGluIHNo
bGliX3Byb3ZpZGVyLmtleXMoKToKCQkJCShkZXBfcGtnLCB2ZXJfbmVlZGVkKSA9IHNobGliX3By
b3ZpZGVyW25dCgoJCQkJaWYgZGVwX3BrZyA9PSBwa2c6CgkJCQkJY29udGludWUKCgkJCQlpZiB2
ZXJfbmVlZGVkOgoJCQkJCWRlcCA9ICIlcyAoPj0gJXMpIiAlIChkZXBfcGtnLCB2ZXJfbmVlZGVk
KQoJCQkJZWxzZToKCQkJCQlkZXAgPSBkZXBfcGtnCgkJCQlpZiBub3QgZGVwIGluIGRlcHM6CgkJ
CQkJZGVwcy5hcHBlbmQoZGVwKQoJCQllbHNlOgoJCQkJYmIubm90ZSgiQ291bGRuJ3QgZmluZCBz
aGFyZWQgbGlicmFyeSBwcm92aWRlciBmb3IgJXMiICUgbikKCgkJZGVwc19maWxlID0gb3MucGF0
aC5qb2luKHBrZ2Rlc3QsIHBrZyArICIuc2hsaWJkZXBzIikKCQlpZiBvcy5wYXRoLmV4aXN0cyhk
ZXBzX2ZpbGUpOgoJCQlvcy5yZW1vdmUoZGVwc19maWxlKQoJCWlmIGxlbihkZXBzKToKCQkJZmQg
PSBvcGVuKGRlcHNfZmlsZSwgJ3cnKQoJCQlmb3IgZGVwIGluIGRlcHM6CgkJCQlmZC53cml0ZShk
ZXAgKyAnXG4nKQoJCQlmZC5jbG9zZSgpCn0KCgpweXRob24gYmFzZV9jb250YWlucyAoKSB7CmRl
ZiBiYXNlX2NvbnRhaW5zKHZhcmlhYmxlLCBjaGVja3ZhbHVlcywgdHJ1ZXZhbHVlLCBmYWxzZXZh
bHVlLCBkKToKICAgIHJldHVybiBvZS51dGlscy5jb250YWlucyh2YXJpYWJsZSwgY2hlY2t2YWx1
ZXMsIHRydWV2YWx1ZSwgZmFsc2V2YWx1ZSwgZCkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNr
X3Blcm0gKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19wZXJtKHBhdGgsbmFtZSxkLCBlbGYsIG1l
c3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgdGhlIHBlcm1pc3Npb24gb2YgZmlsZXMKICAgICIi
IgogICAgcmV0dXJuCn0KCgpweXRob24gb2VfaW1wb3J0ICgpIHsKZGVmIG9lX2ltcG9ydChkKToK
ICAgIGltcG9ydCBvcywgc3lzCgogICAgYmJwYXRoID0gZC5nZXRWYXIoIkJCUEFUSCIsIFRydWUp
LnNwbGl0KCI6IikKICAgIHN5cy5wYXRoWzA6MF0gPSBbb3MucGF0aC5qb2luKGRpciwgImxpYiIp
IGZvciBkaXIgaW4gYmJwYXRoXQoKICAgIGRlZiBpbmplY3QobmFtZSwgdmFsdWUpOgogICAgICAg
ICIiIk1ha2UgYSBweXRob24gb2JqZWN0IGFjY2Vzc2libGUgZnJvbSB0aGUgbWV0YWRhdGEiIiIK
ICAgICAgICBpZiBoYXNhdHRyKGJiLnV0aWxzLCAiX2NvbnRleHQiKToKICAgICAgICAgICAgYmIu
dXRpbHMuX2NvbnRleHRbbmFtZV0gPSB2YWx1ZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIF9f
YnVpbHRpbnNfX1tuYW1lXSA9IHZhbHVlCgogICAgaW1wb3J0IG9lLmRhdGEKICAgIGZvciB0b2lt
cG9ydCBpbiBvZS5kYXRhLnR5cGVkX3ZhbHVlKCJPRV9JTVBPUlRTIiwgZCk6CiAgICAgICAgaW1w
b3J0ZWQgPSBfX2ltcG9ydF9fKHRvaW1wb3J0KQogICAgICAgIGluamVjdCh0b2ltcG9ydC5zcGxp
dCgiLiIsIDEpWzBdLCBpbXBvcnRlZCkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX3dhbGsgKCkgewpk
ZWYgcGFja2FnZV9xYV93YWxrKHBhdGgsIHdhcm5mdW5jcywgZXJyb3JmdW5jcywgc2tpcCwgcGFj
a2FnZSwgZCk6CiAgICBpbXBvcnQgb2UucWEKCiAgICAjaWYgdGhpcyB3aWxsIHRocm93IGFuIGV4
Y2VwdGlvbiwgdGhlbiBmaXggdGhlIGRpY3QgYWJvdmUKICAgIHRhcmdldF9vcyAgID0gZC5nZXRW
YXIoJ1RBUkdFVF9PUycsIFRydWUpCiAgICB0YXJnZXRfYXJjaCA9IGQuZ2V0VmFyKCdUQVJHRVRf
QVJDSCcsIFRydWUpCgogICAgd2FybmluZ3MgPSBbXQogICAgZXJyb3JzID0gW10KICAgIGZvciBy
b290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHBhdGgpOgogICAgICAgIGZvciBmaWxlIGluIGZp
bGVzOgogICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsZmlsZSkKICAgICAgICAg
ICAgZWxmID0gb2UucWEuRUxGRmlsZShwYXRoKQogICAgICAgICAgICB0cnk6CiAgICAgICAgICAg
ICAgICBlbGYub3BlbigpCiAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgIGVsZiA9
IE5vbmUKICAgICAgICAgICAgZm9yIGZ1bmMgaW4gd2FybmZ1bmNzOgogICAgICAgICAgICAgICAg
ZnVuYyhwYXRoLCBwYWNrYWdlLCBkLCBlbGYsIHdhcm5pbmdzKQogICAgICAgICAgICBmb3IgZnVu
YyBpbiBlcnJvcmZ1bmNzOgogICAgICAgICAgICAgICAgZnVuYyhwYXRoLCBwYWNrYWdlLCBkLCBl
bGYsIGVycm9ycykKCiAgICBmb3IgdyBpbiB3YXJuaW5nczoKICAgICAgICBiYi53YXJuKCJRQSBJ
c3N1ZTogJXMiICUgdykKICAgICAgICBwYWNrYWdlX3FhX3dyaXRlX2Vycm9yKHcsIGQpCiAgICBm
b3IgZSBpbiBlcnJvcnM6CiAgICAgICAgYmIuZXJyb3IoIlFBIElzc3VlOiAlcyIgJSBlKQogICAg
ICAgIHBhY2thZ2VfcWFfd3JpdGVfZXJyb3IoZSwgZCkKCiAgICByZXR1cm4gbGVuKGVycm9ycykg
PT0gMAp9CgoKcHl0aG9uIHJldHVybl9zcGR4ICgpIHsKZGVmIHJldHVybl9zcGR4KGQsIGxpY2Vu
c2UpOgogICAgIiIiCiAgICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHNwZHggbWFwcGluZyBv
ZiBhIGxpY2Vuc2UuCiAgICAiIiIKICAgIGlmIGQuZ2V0VmFyRmxhZygnU1BEWExJQ0VOU0VNQVAn
LCBsaWNlbnNlKSAhPSBOb25lOgogICAgICAgIHJldHVybiBsaWNlbnNlCiAgICBlbHNlOgogICAg
ICAgIHJldHVybiBkLmdldFZhckZsYWcoJ1NQRFhMSUNFTlNFTUFQJywgbGljZW5zZV90eXBlKQp9
CgoKcHl0aG9uIGRvX3VucGFjayAoKSB7CgliYi5idWlsZC5leGVjX2Z1bmMoJ2Jhc2VfZG9fdW5w
YWNrJywgZCkKfQoKCnB5dGhvbiBydW5zdHJpcCAoKSB7CmRlZiBydW5zdHJpcChmaWxlLCBlbGZ0
eXBlLCBkKToKICAgICMgRnVuY3Rpb24gdG8gc3RyaXAgYSBzaW5nbGUgZmlsZSwgY2FsbGVkIGZy
b20gc3BsaXRfYW5kX3N0cmlwX2ZpbGVzIGJlbG93CiAgICAjIEEgd29ya2luZyAnZmlsZScgKG9u
ZSB3aGljaCB3b3JrcyBvbiB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZSkKICAgICMKICAgICMgVGhl
IGVsZnR5cGUgaXMgYSBiaXQgcGF0dGVybiAoZXhwbGFpbmVkIGluIHNwbGl0X2FuZF9zdHJpcF9m
aWxlcykgdG8gdGVsbAogICAgIyB1cyB3aGF0IHR5cGUgb2YgZmlsZSB3ZSdyZSBwcm9jZXNzaW5n
Li4uCiAgICAjIDQgLSBleGVjdXRhYmxlCiAgICAjIDggLSBzaGFyZWQgbGlicmFyeQoKICAgIGlt
cG9ydCBjb21tYW5kcywgc3RhdAoKICAgIHBhdGhwcmVmaXggPSAiZXhwb3J0IFBBVEg9JXM7ICIg
JSBkLmdldFZhcignUEFUSCcsIFRydWUpCiAgICBzdHJpcCA9IGQuZ2V0VmFyKCJTVFJJUCIsIFRy
dWUpCgogICAgIyBIYW5kbGUga2VybmVsIG1vZHVsZXMgc3BlY2lmaWNhbGx5IC0gLmRlYnVnIGRp
cmVjdG9yaWVzIGhlcmUgYXJlIHBvaW50bGVzcwogICAgaWYgZmlsZS5maW5kKCIvbGliL21vZHVs
ZXMvIikgIT0gLTEgYW5kIGZpbGUuZW5kc3dpdGgoIi5rbyIpOgogICAgICAgIHJldHVybiBvcy5z
eXN0ZW0oIiVzJyVzJyAtLXN0cmlwLWRlYnVnIC0tcmVtb3ZlLXNlY3Rpb249LmNvbW1lbnQgLS1y
ZW1vdmUtc2VjdGlvbj0ubm90ZSAtLXByZXNlcnZlLWRhdGVzICclcyciICUgKHBhdGhwcmVmaXgs
IHN0cmlwLCBmaWxlKSkKCiAgICBuZXdtb2RlID0gTm9uZQogICAgaWYgbm90IG9zLmFjY2Vzcyhm
aWxlLCBvcy5XX09LKSBvciBvcy5hY2Nlc3MoZmlsZSwgb3MuUl9PSyk6CiAgICAgICAgb3JpZ21v
ZGUgPSBvcy5zdGF0KGZpbGUpW3N0YXQuU1RfTU9ERV0KICAgICAgICBuZXdtb2RlID0gb3JpZ21v
ZGUgfCBzdGF0LlNfSVdSSVRFIHwgc3RhdC5TX0lSRUFECiAgICAgICAgb3MuY2htb2QoZmlsZSwg
bmV3bW9kZSkKCiAgICBleHRyYWZsYWdzID0gIiIKICAgICMgLnNvIGFuZCBzaGFyZWQgbGlicmFy
eQogICAgaWYgIi5zbyIgaW4gZmlsZSBhbmQgZWxmdHlwZSAmIDg6CiAgICAgICAgZXh0cmFmbGFn
cyA9ICItLXJlbW92ZS1zZWN0aW9uPS5jb21tZW50IC0tcmVtb3ZlLXNlY3Rpb249Lm5vdGUgLS1z
dHJpcC11bm5lZWRlZCIKICAgICMgc2hhcmVkIG9yIGV4ZWN1dGFibGU6CiAgICBlbGlmIGVsZnR5
cGUgJiA4IG9yIGVsZnR5cGUgJiA0OgogICAgICAgIGV4dHJhZmxhZ3MgPSAiLS1yZW1vdmUtc2Vj
dGlvbj0uY29tbWVudCAtLXJlbW92ZS1zZWN0aW9uPS5ub3RlIgoKICAgIHN0cmlwY21kID0gIicl
cycgJXMgJyVzJyIgJSAoc3RyaXAsIGV4dHJhZmxhZ3MsIGZpbGUpCiAgICBiYi5kZWJ1ZygxLCAi
cnVuc3RyaXA6ICVzIiAlIHN0cmlwY21kKQoKICAgIHJldCA9IG9zLnN5c3RlbSgiJXMlcyIgJSAo
cGF0aHByZWZpeCwgc3RyaXBjbWQpKQoKICAgIGlmIG5ld21vZGU6CiAgICAgICAgb3MuY2htb2Qo
ZmlsZSwgb3JpZ21vZGUpCgogICAgaWYgcmV0OgogICAgICAgIGJiLmVycm9yKCJydW5zdHJpcDog
JyVzJyBzdHJpcCBjb21tYW5kIGZhaWxlZCIgJSBzdHJpcGNtZCkKCiAgICByZXR1cm4gMAp9CgoK
cHl0aG9uIGNoZWNrX3Nhbml0eV92YWxpZG1hY2hpbmUgKCkgewpkZWYgY2hlY2tfc2FuaXR5X3Zh
bGlkbWFjaGluZShlKToKICAgIGZyb20gYmIgaW1wb3J0IGRhdGEKCiAgICBtZXNzYWdlcyA9ICIi
CgogICAgIyBDaGVjayBUVU5FX0FSQ0ggaXMgc2V0CiAgICBpZiBkYXRhLmdldFZhcignVFVORV9B
UkNIJywgZS5kYXRhLCBUcnVlKSA9PSAnSU5WQUxJRCc6CiAgICAgICAgbWVzc2FnZXMgPSBtZXNz
YWdlcyArICdUVU5FX0FSQ0ggaXMgdW5zZXQuIFBsZWFzZSBlbnN1cmUgeW91ciBNQUNISU5FIGNv
bmZpZ3VyYXRpb24gaW5jbHVkZXMgYSB2YWxpZCB0dW5lIGNvbmZpZ3VyYXRpb24gZmlsZSB3aGlj
aCB3aWxsIHNldCB0aGlzIGNvcnJlY3RseS5cbicKCiAgICAjIENoZWNrIFRBUkdFVF9BUkNIIGlz
IHNldCBjb3JyZWN0bHkKICAgIGlmIGRhdGEuZ2V0VmFyKCdUQVJHRV9BUkNIJywgZS5kYXRhLCBG
YWxzZSkgPT0gJ2k1ODYnOgogICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAnVEFSR0VUX0FS
Q0ggaXMgYmVpbmcgb3ZlcndyaXR0ZW4sIGxpa2VseSBieSB5b3VyIE1BQ0hJTkUgY29uZmlndXJh
dGlvbiBmaWxlcy5cblBsZWFzZSB1c2UgYSB2YWxpZCB0dW5lIGNvbmZpZ3VyYXRpb24gZmlsZSB3
aGljaCBzaG91bGQgc2V0IHRoaXMgY29ycmVjdGx5IGF1dG9tYXRpY2FsbHlcbmFuZCBhdm9pZCBz
ZXR0aW5nIHRoaXMgaW4gdGhlIG1hY2hpbmUgY29uZmlndXJhdGlvbi4gU2VlIHRoZSBPRS1Db3Jl
IG1haWxpbmcgbGlzdCBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbicKCiAgICAjIENoZWNrIFRBUkdF
VF9PUyBpcyBzZXQKICAgIGlmIGRhdGEuZ2V0VmFyKCdUQVJHRVRfT1MnLCBlLmRhdGEsIFRydWUp
ID09ICdJTlZBTElEJzoKICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgJ1BsZWFzZSBzZXQg
VEFSR0VUX09TIGRpcmVjdGx5LCBvciBjaG9vc2UgYSBNQUNISU5FIG9yIERJU1RSTyB0aGF0IGRv
ZXMgc28uXG4nCgogICAgIyBDaGVjayB0aGF0IHdlIGRvbid0IGhhdmUgZHVwbGljYXRlIGVudHJp
ZXMgaW4gUEFDS0FHRV9BUkNIUyAmIHRoYXQgVFVORV9QS0dBUkNIIGlzIGluIFBBQ0tBR0VfQVJD
SFMKICAgIHBrZ2FyY2hzID0gZGF0YS5nZXRWYXIoJ1BBQ0tBR0VfQVJDSFMnLCBlLmRhdGEsIFRy
dWUpCiAgICB0dW5lcGtnID0gZGF0YS5nZXRWYXIoJ1RVTkVfUEtHQVJDSCcsIGUuZGF0YSwgVHJ1
ZSkKICAgIHR1bmVmb3VuZCA9IEZhbHNlCiAgICBzZWVuID0ge30KICAgIGR1cHMgPSBbXQoKICAg
IGZvciBwYSBpbiBwa2dhcmNocy5zcGxpdCgpOgogICAgICAgIGlmIHNlZW4uZ2V0KHBhLCAwKSA9
PSAxOgogICAgICAgICAgICBkdXBzLmFwcGVuZChwYSkKICAgICAgICBlbHNlOgogICAgICAgICAg
ICBzZWVuW3BhXSA9IDEKICAgICAgICBpZiBwYSA9PSB0dW5lcGtnOgogICAgICAgICAgICB0dW5l
Zm91bmQgPSBUcnVlCgogICAgaWYgbGVuKGR1cHMpOgogICAgICAgbWVzc2FnZXMgPSBtZXNzYWdl
cyArICJFcnJvciwgdGhlIFBBQ0tBR0VfQVJDSFMgdmFyaWFibGUgY29udGFpbnMgZHVwbGljYXRl
cy4gVGhlIGZvbGxvd2luZyBhcmNocyBhcmUgbGlzdGVkIG1vcmUgdGhhbiBvbmNlOiAlcyIgJSAi
ICIuam9pbihkdXBzKQoKICAgIGlmIHR1bmVmb3VuZCA9PSBGYWxzZToKICAgICAgIG1lc3NhZ2Vz
ID0gbWVzc2FnZXMgKyAiRXJyb3IsIHRoZSBQQUNLQUdFX0FSQ0hTIHZhcmlhYmxlIGRvZXMgbm90
IGNvbnRhaW4gVFVORV9QS0dBUkNIICglcykuIiAlIHR1bmVwa2cKCiAgICByZXR1cm4gbWVzc2Fn
ZXMKCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19kZXNrdG9wICgpIHsKZGVmIHBhY2thZ2Vf
cWFfY2hlY2tfZGVza3RvcChwYXRoLCBuYW1lLCBkLCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgog
ICAgUnVuIGFsbCBkZXNrdG9wIGZpbGVzIHRocm91Z2ggZGVza3RvcC1maWxlLXZhbGlkYXRlLgog
ICAgIiIiCiAgICBpZiBwYXRoLmVuZHN3aXRoKCIuZGVza3RvcCIpOgogICAgICAgIGRlc2t0b3Bf
ZmlsZV92YWxpZGF0ZSA9IG9zLnBhdGguam9pbihkLmdldFZhcignU1RBR0lOR19CSU5ESVJfTkFU
SVZFJyxUcnVlKSwnZGVza3RvcC1maWxlLXZhbGlkYXRlJykKICAgICAgICBvdXRwdXQgPSBvcy5w
b3BlbigiJXMgJXMiICUgKGRlc2t0b3BfZmlsZV92YWxpZGF0ZSwgcGF0aCkpCiAgICAgICAgIyBU
aGlzIG9ubHkgcHJvZHVjZXMgb3V0cHV0IG9uIGVycm9ycwogICAgICAgIGZvciBsIGluIG91dHB1
dDoKICAgICAgICAgICAgbWVzc2FnZXMuYXBwZW5kKCJEZXNrdG9wIGZpbGUgaXNzdWU6ICIgKyBs
LnN0cmlwKCkpCn0KCgpweXRob24gc3JjX3BhdGNoZXMgKCkgewpkZWYgc3JjX3BhdGNoZXMoZCwg
YWxsID0gRmFsc2UgKToKCXdvcmtkaXIgPSBkLmdldFZhcignV09SS0RJUicsIFRydWUpCglmZXRj
aCA9IGJiLmZldGNoMi5GZXRjaChbXSwgZCkKCXBhdGNoZXMgPSBbXQoJc291cmNlcyA9IFtdCglm
b3IgdXJsIGluIGZldGNoLnVybHM6CgkJbG9jYWwgPSBwYXRjaF9wYXRoKHVybCwgZmV0Y2gsIHdv
cmtkaXIpCgkJaWYgbm90IGxvY2FsOgoJCQlpZiBhbGw6CgkJCQlsb2NhbCA9IGZldGNoLmxvY2Fs
cGF0aCh1cmwpCgkJCQlzb3VyY2VzLmFwcGVuZChsb2NhbCkKCQkJY29udGludWUKCgkJdXJsZGF0
YSA9IGZldGNoLnVkW3VybF0KCQlwYXJtID0gdXJsZGF0YS5wYXJtCgkJcGF0Y2huYW1lID0gcGFy
bS5nZXQoJ3BuYW1lJykgb3Igb3MucGF0aC5iYXNlbmFtZShsb2NhbCkKCgkJYXBwbHksIHJlYXNv
biA9IHNob3VsZF9hcHBseShwYXJtLCBkKQoJCWlmIG5vdCBhcHBseToKCQkJaWYgcmVhc29uOgoJ
CQkJYmIubm90ZSgiUGF0Y2ggJXMgJXMiICUgKHBhdGNobmFtZSwgcmVhc29uKSkKCQkJY29udGlu
dWUKCgkJcGF0Y2hwYXJtID0geydwYXRjaG5hbWUnOiBwYXRjaG5hbWV9CgkJaWYgInN0cmlwbGV2
ZWwiIGluIHBhcm06CgkJCXN0cmlwbGV2ZWwgPSBwYXJtWyJzdHJpcGxldmVsIl0KCQllbGlmICJw
bnVtIiBpbiBwYXJtOgoJCQkjYmIubXNnLndhcm4oTm9uZSwgIkRlcHJlY2F0ZWQgdXNhZ2Ugb2Yg
J3BudW0nIHVybCBwYXJhbWV0ZXIgaW4gJyVzJywgcGxlYXNlIHVzZSAnc3RyaXBsZXZlbCciICUg
dXJsKQoJCQlzdHJpcGxldmVsID0gcGFybVsicG51bSJdCgkJZWxzZToKCQkJc3RyaXBsZXZlbCA9
ICcxJwoJCXBhdGNocGFybVsnc3RyaXBsZXZlbCddID0gc3RyaXBsZXZlbAoKCQlwYXRjaGRpciA9
IHBhcm0uZ2V0KCdwYXRjaGRpcicpCgkJaWYgcGF0Y2hkaXI6CgkJCXBhdGNocGFybVsncGF0Y2hk
aXInXSA9IHBhdGNoZGlyCgoJCWxvY2FsdXJsID0gYmIuZW5jb2RldXJsKCgnZmlsZScsICcnLCBs
b2NhbCwgJycsICcnLCBwYXRjaHBhcm0pKQoJCXBhdGNoZXMuYXBwZW5kKGxvY2FsdXJsKQoKCWlm
IGFsbDoKCQlyZXR1cm4gc291cmNlcwoKCXJldHVybiBwYXRjaGVzCn0KCgpweXRob24gcGFja2Fn
ZV9xYV9oYXNoX3N0eWxlICgpIHsKZGVmIHBhY2thZ2VfcWFfaGFzaF9zdHlsZShwYXRoLCBuYW1l
LCBkLCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgaWYgdGhlIGJpbmFyeSBoYXMg
dGhlIHJpZ2h0IGhhc2ggc3R5bGUuLi4KICAgICIiIgoKICAgIGlmIG5vdCBlbGY6CiAgICAgICAg
cmV0dXJuCgogICAgaWYgb3MucGF0aC5pc2xpbmsocGF0aCk6CiAgICAgICAgcmV0dXJuCgogICAg
Z251X2hhc2ggPSAiLS1oYXNoLXN0eWxlPWdudSIgaW4gZC5nZXRWYXIoJ0xERkxBR1MnLCBUcnVl
KQogICAgaWYgbm90IGdudV9oYXNoOgogICAgICAgIGdudV9oYXNoID0gIi0taGFzaC1zdHlsZT1i
b3RoIiBpbiBkLmdldFZhcignTERGTEFHUycsIFRydWUpCiAgICBpZiBub3QgZ251X2hhc2g6CiAg
ICAgICAgcmV0dXJuCgogICAgb2JqZHVtcCA9IGQuZ2V0VmFyKCdPQkpEVU1QJywgVHJ1ZSkKICAg
IGVudl9wYXRoID0gZC5nZXRWYXIoJ1BBVEgnLCBUcnVlKQoKICAgIHNhbmUgPSBGYWxzZQogICAg
aGFzX3N5bXMgPSBGYWxzZQoKICAgICMgSWYgdGhpcyBiaW5hcnkgaGFzIHN5bWJvbHMsIHdlIGV4
cGVjdCBpdCB0byBoYXZlIEdOVV9IQVNIIHRvby4KICAgIGZvciBsaW5lIGluIG9zLnBvcGVuKCJM
Q19BTEw9QyBQQVRIPSVzICVzIC1wICclcycgMj4gL2Rldi9udWxsIiAlIChlbnZfcGF0aCwgb2Jq
ZHVtcCwgcGF0aCksICJyIik6CiAgICAgICAgaWYgIlNZTVRBQiIgaW4gbGluZToKICAgICAgICAg
ICAgaGFzX3N5bXMgPSBUcnVlCiAgICAgICAgaWYgIkdOVV9IQVNIIiBpbiBsaW5lOgogICAgICAg
ICAgICBzYW5lID0gVHJ1ZQogICAgICAgIGlmICJbbWlwczMyXSIgaW4gbGluZSBvciAiW21pcHM2
NF0iIGluIGxpbmU6CgkgICAgc2FuZSA9IFRydWUKCiAgICBpZiBoYXNfc3ltcyBhbmQgbm90IHNh
bmU6CiAgICAgICAgbWVzc2FnZXMuYXBwZW5kKCJObyBHTlVfSEFTSCBpbiB0aGUgZWxmIGJpbmFy
eTogJyVzJyIgJSBwYXRoKQoKfQoKCnB5dGhvbiBzaG91bGRfYXBwbHkgKCkgewpkZWYgc2hvdWxk
X2FwcGx5KHBhcm0sIGQpOgoJIiIiRGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBhcHBseSB0aGUgZ2l2
ZW4gcGF0Y2giIiIKCglpZiAibWluZGF0ZSIgaW4gcGFybSBvciAibWF4ZGF0ZSIgaW4gcGFybToK
CQlwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCgkJc3JjZGF0ZSA9IGQuZ2V0VmFyKCdTUkNEQVRF
XyVzJyAlIHBuLCBUcnVlKQoJCWlmIG5vdCBzcmNkYXRlOgoJCQlzcmNkYXRlID0gZC5nZXRWYXIo
J1NSQ0RBVEUnLCBUcnVlKQoKCQlpZiBzcmNkYXRlID09ICJub3ciOgoJCQlzcmNkYXRlID0gZC5n
ZXRWYXIoJ0RBVEUnLCBUcnVlKQoKCQlpZiAibWF4ZGF0ZSIgaW4gcGFybSBhbmQgcGFybVsibWF4
ZGF0ZSJdIDwgc3JjZGF0ZToKCQkJcmV0dXJuIEZhbHNlLCAnaXMgb3V0ZGF0ZWQnCgoJCWlmICJt
aW5kYXRlIiBpbiBwYXJtIGFuZCBwYXJtWyJtaW5kYXRlIl0gPiBzcmNkYXRlOgoJCQlyZXR1cm4g
RmFsc2UsICdpcyBwcmVkYXRlZCcKCgoJaWYgIm1pbnJldiIgaW4gcGFybToKCQlzcmNyZXYgPSBk
LmdldFZhcignU1JDUkVWJywgVHJ1ZSkKCQlpZiBzcmNyZXYgYW5kIHNyY3JldiA8IHBhcm1bIm1p
bnJldiJdOgoJCQlyZXR1cm4gRmFsc2UsICdhcHBsaWVzIHRvIGxhdGVyIHJldmlzaW9ucycKCglp
ZiAibWF4cmV2IiBpbiBwYXJtOgoJCXNyY3JldiA9IGQuZ2V0VmFyKCdTUkNSRVYnLCBUcnVlKQoJ
CWlmIHNyY3JldiBhbmQgc3JjcmV2ID4gcGFybVsibWF4cmV2Il06CgkJCXJldHVybiBGYWxzZSwg
J2FwcGxpZXMgdG8gZWFybGllciByZXZpc2lvbnMnCgoJaWYgInJldiIgaW4gcGFybToKCQlzcmNy
ZXYgPSBkLmdldFZhcignU1JDUkVWJywgVHJ1ZSkKCQlpZiBzcmNyZXYgYW5kIHBhcm1bInJldiJd
IG5vdCBpbiBzcmNyZXY6CgkJCXJldHVybiBGYWxzZSwgImRvZXNuJ3QgYXBwbHkgdG8gcmV2aXNp
b24iCgoJaWYgIm5vdHJldiIgaW4gcGFybToKCQlzcmNyZXYgPSBkLmdldFZhcignU1JDUkVWJywg
VHJ1ZSkKCQlpZiBzcmNyZXYgYW5kIHBhcm1bIm5vdHJldiJdIGluIHNyY3JldjoKCQkJcmV0dXJu
IEZhbHNlLCAiZG9lc24ndCBhcHBseSB0byByZXZpc2lvbiIKCglyZXR1cm4gVHJ1ZSwgTm9uZQp9
CgoKcHl0aG9uIGJhc2VfZG9fdW5wYWNrICgpIHsKCXNyY191cmkgPSAoZC5nZXRWYXIoJ1NSQ19V
UkknLCBUcnVlKSBvciAiIikuc3BsaXQoKQoJaWYgbGVuKHNyY191cmkpID09IDA6CgkJcmV0dXJu
CgoJbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCgliYi5kYXRhLnVwZGF0ZV9kYXRh
KGxvY2FsZGF0YSkKCglyb290ZGlyID0gbG9jYWxkYXRhLmdldFZhcignV09SS0RJUicsIFRydWUp
CgogICAgICAgIHRyeToKICAgICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChzcmNf
dXJpLCBsb2NhbGRhdGEpCiAgICAgICAgICAgIGZldGNoZXIudW5wYWNrKHJvb3RkaXIpCiAgICAg
ICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9uLCBlOgogICAgICAgICAgICByYWlz
ZSBiYi5idWlsZC5GdW5jRmFpbGVkKGUpCn0KCgpweXRob24gZG9fcG9wdWxhdGVfc3lzcm9vdF9z
ZXRzY2VuZSAoKSB7Cglzc3RhdGVfc2V0c2NlbmUoZCkKfQoKCnB5dGhvbiBnZXRfbGF5ZXJzX2Jy
YW5jaF9yZXYgKCkgewpkZWYgZ2V0X2xheWVyc19icmFuY2hfcmV2KGQpOgoJbGF5ZXJzID0gKGQu
Z2V0VmFyKCJCQkxBWUVSUyIsIFRydWUpIG9yICIiKS5zcGxpdCgpCglsYXllcnNfYnJhbmNoX3Jl
diA9IFsiJS0xN3MgPSBcIiVzOiVzXCIiICUgKG9zLnBhdGguYmFzZW5hbWUoaSksIFwKCQliYXNl
X2dldF9tZXRhZGF0YV9naXRfYnJhbmNoKGksIE5vbmUpLnN0cmlwKCksIFwKCQliYXNlX2dldF9t
ZXRhZGF0YV9naXRfcmV2aXNpb24oaSwgTm9uZSkpIFwKCQkJZm9yIGkgaW4gbGF5ZXJzXQoJaSA9
IGxlbihsYXllcnNfYnJhbmNoX3JldiktMQoJcDEgPSBsYXllcnNfYnJhbmNoX3JldltpXS5maW5k
KCI9IikKCXMxID0gbGF5ZXJzX2JyYW5jaF9yZXZbaV1bcDE6XQoJd2hpbGUgaSA+IDA6CgkJcDIg
PSBsYXllcnNfYnJhbmNoX3JldltpLTFdLmZpbmQoIj0iKQoJCXMyPSBsYXllcnNfYnJhbmNoX3Jl
dltpLTFdW3AyOl0KCQlpZiBzMSA9PSBzMjoKCQkJbGF5ZXJzX2JyYW5jaF9yZXZbaS0xXSA9IGxh
eWVyc19icmFuY2hfcmV2W2ktMV1bMDpwMl0KCQkJaSAtPSAxCgkJZWxzZToKCQkJaSAtPSAxCgkJ
CXAxID0gbGF5ZXJzX2JyYW5jaF9yZXZbaV0uZmluZCgiPSIpCgkJCXMxPSBsYXllcnNfYnJhbmNo
X3JldltpXVtwMTpdCglyZXR1cm4gbGF5ZXJzX2JyYW5jaF9yZXYKCn0KCgpweXRob24gYmFzZV9n
ZXRfc2NtYmFzZXBhdGggKCkgewpkZWYgYmFzZV9nZXRfc2NtYmFzZXBhdGgoZCk6CglyZXR1cm4g
ZC5nZXRWYXIoICdDT1JFQkFTRScsIFRydWUpCn0KCgpweXRob24gY2hlY2tfc2FuaXR5X3ZlcnNp
b25fY2hhbmdlICgpIHsKZGVmIGNoZWNrX3Nhbml0eV92ZXJzaW9uX2NoYW5nZShkYXRhKToKICAg
ICMgU2FuaXR5IGNoZWNrcyB0byBiZSBkb25lIHdoZW4gU0FOSVRZX1ZFUlNJT04gY2hhbmdlcwog
ICAgcmV0dXJuICIiCn0KCgpweXRob24gcGFja2FnZV9kb19wa2djb25maWcgKCkgewoJaW1wb3J0
IHJlCgoJcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnLCBUcnVlKQoJd29ya2RpciA9IGQu
Z2V0VmFyKCdXT1JLRElSJywgVHJ1ZSkKCXBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcsIFRy
dWUpCgoJc2hsaWJzX2RpciA9IGQuZ2V0VmFyKCdTSExJQlNESVInLCBUcnVlKQoJc2hsaWJzd29y
a19kaXIgPSBkLmdldFZhcignU0hMSUJTV09SS0RJUicsIFRydWUpCgoJcGNfcmUgPSByZS5jb21w
aWxlKCcoLiopXC5wYyQnKQoJdmFyX3JlID0gcmUuY29tcGlsZSgnKC4qKT0oLiopJykKCWZpZWxk
X3JlID0gcmUuY29tcGlsZSgnKC4qKTogKC4qKScpCgoJcGtnY29uZmlnX3Byb3ZpZGVkID0ge30K
CXBrZ2NvbmZpZ19uZWVkZWQgPSB7fQoJZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgoJCXBr
Z2NvbmZpZ19wcm92aWRlZFtwa2ddID0gW10KCQlwa2djb25maWdfbmVlZGVkW3BrZ10gPSBbXQoJ
CXRvcCA9IG9zLnBhdGguam9pbihwa2dkZXN0LCBwa2cpCgkJZm9yIHJvb3QsIGRpcnMsIGZpbGVz
IGluIG9zLndhbGsodG9wKToKCQkJZm9yIGZpbGUgaW4gZmlsZXM6CgkJCQltID0gcGNfcmUubWF0
Y2goZmlsZSkKCQkJCWlmIG06CgkJCQkJcGQgPSBiYi5kYXRhLmluaXQoKQoJCQkJCW5hbWUgPSBt
Lmdyb3VwKDEpCgkJCQkJcGtnY29uZmlnX3Byb3ZpZGVkW3BrZ10uYXBwZW5kKG5hbWUpCgkJCQkJ
cGF0aCA9IG9zLnBhdGguam9pbihyb290LCBmaWxlKQoJCQkJCWlmIG5vdCBvcy5hY2Nlc3MocGF0
aCwgb3MuUl9PSyk6CgkJCQkJCWNvbnRpbnVlCgkJCQkJZiA9IG9wZW4ocGF0aCwgJ3InKQoJCQkJ
CWxpbmVzID0gZi5yZWFkbGluZXMoKQoJCQkJCWYuY2xvc2UoKQoJCQkJCWZvciBsIGluIGxpbmVz
OgoJCQkJCQltID0gdmFyX3JlLm1hdGNoKGwpCgkJCQkJCWlmIG06CgkJCQkJCQluYW1lID0gbS5n
cm91cCgxKQoJCQkJCQkJdmFsID0gbS5ncm91cCgyKQoJCQkJCQkJcGQuc2V0VmFyKG5hbWUsIHBk
LmV4cGFuZCh2YWwpKQoJCQkJCQkJY29udGludWUKCQkJCQkJbSA9IGZpZWxkX3JlLm1hdGNoKGwp
CgkJCQkJCWlmIG06CgkJCQkJCQloZHIgPSBtLmdyb3VwKDEpCgkJCQkJCQlleHAgPSBiYi5kYXRh
LmV4cGFuZChtLmdyb3VwKDIpLCBwZCkKCQkJCQkJCWlmIGhkciA9PSAnUmVxdWlyZXMnOgoJCQkJ
CQkJCXBrZ2NvbmZpZ19uZWVkZWRbcGtnXSArPSBleHAucmVwbGFjZSgnLCcsICcgJykuc3BsaXQo
KQoKCSMgVGFrZSBzaGFyZWQgbG9jayBzaW5jZSB3ZSdyZSBvbmx5IHJlYWRpbmcsIG5vdCB3cml0
aW5nCglsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKGQuZXhwYW5kKCIvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy9wYWNrYWdlLW91dHB1dC5sb2NrIikpCgoJZm9y
IHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgoJCXBrZ3NfZmlsZSA9IG9zLnBhdGguam9pbihzaGxp
YnN3b3JrX2RpciwgcGtnICsgIi5wY2xpc3QiKQoJCWlmIHBrZ2NvbmZpZ19wcm92aWRlZFtwa2dd
ICE9IFtdOgoJCQlmID0gb3Blbihwa2dzX2ZpbGUsICd3JykKCQkJZm9yIHAgaW4gcGtnY29uZmln
X3Byb3ZpZGVkW3BrZ106CgkJCQlmLndyaXRlKCclc1xuJyAlIHApCgkJCWYuY2xvc2UoKQoKCWZv
ciBkaXIgaW4gW3NobGlic19kaXJdOgoJCWlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkaXIpOgoJCQlj
b250aW51ZQoJCWZvciBmaWxlIGluIG9zLmxpc3RkaXIoZGlyKToKCQkJbSA9IHJlLm1hdGNoKCde
KC4qKVwucGNsaXN0JCcsIGZpbGUpCgkJCWlmIG06CgkJCQlwa2cgPSBtLmdyb3VwKDEpCgkJCQlm
ZCA9IG9wZW4ob3MucGF0aC5qb2luKGRpciwgZmlsZSkpCgkJCQlsaW5lcyA9IGZkLnJlYWRsaW5l
cygpCgkJCQlmZC5jbG9zZSgpCgkJCQlwa2djb25maWdfcHJvdmlkZWRbcGtnXSA9IFtdCgkJCQlm
b3IgbCBpbiBsaW5lczoKCQkJCQlwa2djb25maWdfcHJvdmlkZWRbcGtnXS5hcHBlbmQobC5yc3Ry
aXAoKSkKCglmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CgkJZGVwcyA9IFtdCgkJZm9yIG4g
aW4gcGtnY29uZmlnX25lZWRlZFtwa2ddOgoJCQlmb3VuZCA9IEZhbHNlCgkJCWZvciBrIGluIHBr
Z2NvbmZpZ19wcm92aWRlZC5rZXlzKCk6CgkJCQlpZiBuIGluIHBrZ2NvbmZpZ19wcm92aWRlZFtr
XToKCQkJCQlpZiBrICE9IHBrZyBhbmQgbm90IChrIGluIGRlcHMpOgoJCQkJCQlkZXBzLmFwcGVu
ZChrKQoJCQkJCWZvdW5kID0gVHJ1ZQoJCQlpZiBmb3VuZCA9PSBGYWxzZToKCQkJCWJiLm5vdGUo
ImNvdWxkbid0IGZpbmQgcGtnY29uZmlnIG1vZHVsZSAnJXMnIGluIGFueSBwYWNrYWdlIiAlIG4p
CgkJZGVwc19maWxlID0gb3MucGF0aC5qb2luKHBrZ2Rlc3QsIHBrZyArICIucGNkZXBzIikKCQlp
ZiBsZW4oZGVwcyk6CgkJCWZkID0gb3BlbihkZXBzX2ZpbGUsICd3JykKCQkJZm9yIGRlcCBpbiBk
ZXBzOgoJCQkJZmQud3JpdGUoZGVwICsgJ1xuJykKCQkJZmQuY2xvc2UoKQoKCWJiLnV0aWxzLnVu
bG9ja2ZpbGUobGYpCn0KCgpweXRob24gYmFzZV9ldmVudGhhbmRsZXIgKCkgewoJZnJvbSBiYi5l
dmVudCBpbXBvcnQgZ2V0TmFtZQoKCW5hbWUgPSBnZXROYW1lKGUpCgoJaWYgbmFtZS5zdGFydHN3
aXRoKCJCdWlsZFN0YXJ0ZWQiKToKCQllLmRhdGEuc2V0VmFyKCAnQkJfVkVSU0lPTicsIGJiLl9f
dmVyc2lvbl9fKQoJCXN0YXR1c3ZhcnMgPSBbJ0JCX1ZFUlNJT04nLCAnVEFSR0VUX0FSQ0gnLCAn
VEFSR0VUX09TJywgJ01BQ0hJTkUnLCAnRElTVFJPJywgJ0RJU1RST19WRVJTSU9OJywnVFVORV9G
RUFUVVJFUycsICdUQVJHRVRfRlBVJ10KCQlzdGF0dXNsaW5lcyA9IFsiJS0xN3MgPSBcIiVzXCIi
ICUgKGksIGUuZGF0YS5nZXRWYXIoaSwgVHJ1ZSkgb3IgJycpIGZvciBpIGluIHN0YXR1c3ZhcnNd
CgoJCXN0YXR1c2xpbmVzICs9IGdldF9sYXllcnNfYnJhbmNoX3JldihlLmRhdGEpCgkJc3RhdHVz
bXNnID0gIlxuT0UgQnVpbGQgQ29uZmlndXJhdGlvbjpcbiVzXG4iICUgJ1xuJy5qb2luKHN0YXR1
c2xpbmVzKQoJCWJiLnBsYWluKHN0YXR1c21zZykKCgkJbmVlZGVkX3ZhcnMgPSBbICJUQVJHRVRf
QVJDSCIsICJUQVJHRVRfT1MiIF0KCQlwZXN0ZXJ1c2VyID0gW10KCQlmb3IgdiBpbiBuZWVkZWRf
dmFyczoKCQkJdmFsID0gZS5kYXRhLmdldFZhcih2LCBUcnVlKQoJCQlpZiBub3QgdmFsIG9yIHZh
bCA9PSAnSU5WQUxJRCc6CgkJCQlwZXN0ZXJ1c2VyLmFwcGVuZCh2KQoJCWlmIHBlc3RlcnVzZXI6
CgkJCWJiLmZhdGFsKCdUaGUgZm9sbG93aW5nIHZhcmlhYmxlKHMpIHdlcmUgbm90IHNldDogJXNc
blBsZWFzZSBzZXQgdGhlbSBkaXJlY3RseSwgb3IgY2hvb3NlIGEgTUFDSElORSBvciBESVNUUk8g
dGhhdCBzZXRzIHRoZW0uJyAlICcsICcuam9pbihwZXN0ZXJ1c2VyKSkKCiAgICAgICAgaWYgbmFt
ZSA9PSAiQ29uZmlnUGFyc2VkIjoKICAgICAgICAgICAgICAgIGdlbmVyYXRlX2dpdF9jb25maWco
ZSkKICAgICAgICAgICAgICAgIHBrZ2FyY2hfbWFwcGluZyhlLmRhdGEpCiAgICAgICAgICAgICAg
ICBwcmVmZXJyZWRfbWxfdXBkYXRlcyhlLmRhdGEpCn0KCgpweXRob24gc3N0YXRlX2NsZWFuICgp
IHsKZGVmIHNzdGF0ZV9jbGVhbihzcywgZCk6CiAgICBpbXBvcnQgb2UucGF0aAoKICAgIG1hbmlm
ZXN0ID0gZC5leHBhbmQoIi9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3Nz
dGF0ZS1jb250cm9sL21hbmlmZXN0LWNvbmNvcmRpYS1tZXRhLXRvb2xjaGFpbi4lcyIgJSBzc1sn
bmFtZSddKQoKICAgIGlmIG9zLnBhdGguZXhpc3RzKG1hbmlmZXN0KToKICAgICAgICBsb2NrcyA9
IFtdCiAgICAgICAgZm9yIGxvY2sgaW4gc3NbJ2xvY2tmaWxlcy1zaGFyZWQnXToKICAgICAgICAg
ICAgbG9ja3MuYXBwZW5kKGJiLnV0aWxzLmxvY2tmaWxlKGxvY2spKQogICAgICAgIGZvciBsb2Nr
IGluIHNzWydsb2NrZmlsZXMnXToKICAgICAgICAgICAgbG9ja3MuYXBwZW5kKGJiLnV0aWxzLmxv
Y2tmaWxlKGxvY2spKQoKICAgICAgICBzc3RhdGVfY2xlYW5fbWFuaWZlc3QobWFuaWZlc3QsIGQp
CgogICAgICAgIGZvciBsb2NrIGluIGxvY2tzOgogICAgICAgICAgICBiYi51dGlscy51bmxvY2tm
aWxlKGxvY2spCgogICAgc3RmaWxlID0gZC5nZXRWYXIoIlNUQU1QIiwgVHJ1ZSkgKyAiLmRvXyIg
KyBzc1sndGFzayddCiAgICBleHRyYWluZiA9IGQuZ2V0VmFyRmxhZygiZG9fIiArIHNzWyd0YXNr
J10sICdzdGFtcC1leHRyYS1pbmZvJywgVHJ1ZSkKICAgIG9lLnBhdGgucmVtb3ZlKHN0ZmlsZSkK
ICAgIG9lLnBhdGgucmVtb3ZlKHN0ZmlsZSArICJfc2V0c2NlbmUiKQogICAgaWYgZXh0cmFpbmY6
CiAgICAgICAgb2UucGF0aC5yZW1vdmUoc3RmaWxlICsgIi4qIiArIGV4dHJhaW5mKQogICAgICAg
IG9lLnBhdGgucmVtb3ZlKHN0ZmlsZSArICJfc2V0c2NlbmUiICsgIi4qIiArIGV4dHJhaW5mKQog
ICAgZWxzZToKICAgICAgICBvZS5wYXRoLnJlbW92ZShzdGZpbGUgKyAiLioiKQogICAgICAgIG9l
LnBhdGgucmVtb3ZlKHN0ZmlsZSArICJfc2V0c2NlbmUiICsgIi4qIikKfQoKCnB5dGhvbiBwcmVm
ZXJyZWRfbWxfdXBkYXRlcyAoKSB7CmRlZiBwcmVmZXJyZWRfbWxfdXBkYXRlcyhkKToKICAgICMg
SWYgYW55IFBSRUZFUlJFRF9QUk9WSURFUiBvciBQUkVGRVJSRURfVkVSU0lPTlMgYXJlIHNldCwK
ICAgICMgd2UgbmVlZCB0byBtaXJyb3IgdGhlc2UgdmFyaWFibGVzIGluIHRoZSBtdWx0aWxpYiBj
YXNlCiAgICBtdWx0aWxpYnMgPSBkLmdldFZhcignTVVMVElMSUJTJywgVHJ1ZSkgb3IgIiIKICAg
IGlmIG5vdCBtdWx0aWxpYnM6CiAgICAgICAgcmV0dXJuCgogICAgcHJlZml4ZXMgPSBbXQogICAg
Zm9yIGV4dCBpbiBtdWx0aWxpYnMuc3BsaXQoKToKICAgICAgICBlZXh0ID0gZXh0LnNwbGl0KCc6
JykKICAgICAgICBpZiBsZW4oZWV4dCkgPiAxIGFuZCBlZXh0WzBdID09ICdtdWx0aWxpYic6CiAg
ICAgICAgICAgIHByZWZpeGVzLmFwcGVuZChlZXh0WzFdKQoKICAgIHZlcnNpb25zID0gW10KICAg
IHByb3ZpZGVycyA9IFtdCiAgICBmb3IgdiBpbiBkLmtleXMoKToKICAgICAgICBpZiB2LnN0YXJ0
c3dpdGgoIlBSRUZFUlJFRF9WRVJTSU9OXyIpOgogICAgICAgICAgICB2ZXJzaW9ucy5hcHBlbmQo
dikKICAgICAgICBpZiB2LnN0YXJ0c3dpdGgoIlBSRUZFUlJFRF9QUk9WSURFUl8iKToKICAgICAg
ICAgICAgcHJvdmlkZXJzLmFwcGVuZCh2KQoKICAgIGZvciB2IGluIHZlcnNpb25zOgogICAgICAg
IHZhbCA9IGQuZ2V0VmFyKHYsIEZhbHNlKQogICAgICAgIHBrZyA9IHYucmVwbGFjZSgiUFJFRkVS
UkVEX1ZFUlNJT05fIiwgIiIpCiAgICAgICAgaWYgcGtnLmVuZHN3aXRoKCItbmF0aXZlIikgb3Ig
cGtnLmVuZHN3aXRoKCItbmF0aXZlc2RrIik6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAg
Zm9yIHAgaW4gcHJlZml4ZXM6CiAgICAgICAgICAgIG5ld25hbWUgPSAiUFJFRkVSUkVEX1ZFUlNJ
T05fIiArIHAgKyAiLSIgKyBwa2cKICAgICAgICAgICAgaWYgbm90IGQuZ2V0VmFyKG5ld25hbWUs
IEZhbHNlKToKICAgICAgICAgICAgICAgIGQuc2V0VmFyKG5ld25hbWUsIHZhbCkKCiAgICBmb3Ig
cHJvdiBpbiBwcm92aWRlcnM6CiAgICAgICAgdmFsID0gZC5nZXRWYXIocHJvdiwgRmFsc2UpCiAg
ICAgICAgcGtnID0gcHJvdi5yZXBsYWNlKCJQUkVGRVJSRURfUFJPVklERVJfIiwgIiIpCiAgICAg
ICAgaWYgcGtnLmVuZHN3aXRoKCItbmF0aXZlIikgb3IgcGtnLmVuZHN3aXRoKCItbmF0aXZlc2Rr
Iik6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgdmlydCA9ICIiCiAgICAgICAgaWYgcGtn
LnN0YXJ0c3dpdGgoInZpcnR1YWwvIik6CiAgICAgICAgICAgICBwa2cgPSBwa2cucmVwbGFjZSgi
dmlydHVhbC8iLCAiIikKICAgICAgICAgICAgIHZpcnQgPSAidmlydHVhbC8iCiAgICAgICAgZm9y
IHAgaW4gcHJlZml4ZXM6CiAgICAgICAgICAgIG5ld25hbWUgPSAiUFJFRkVSUkVEX1BST1ZJREVS
XyIgKyB2aXJ0ICsgcCArICItIiArIHBrZwogICAgICAgICAgICBpZiBwa2cgIT0gImtlcm5lbCI6
CiAgICAgICAgICAgICAgICB2YWwgPSBwICsgIi0iICsgdmFsCiAgICAgICAgICAgIGlmIG5vdCBk
LmdldFZhcihuZXduYW1lLCBGYWxzZSk6CiAgICAgICAgICAgICAgICBkLnNldFZhcihuZXduYW1l
LCB2YWwpCgoKICAgIG1wID0gKGQuZ2V0VmFyKCJNVUxUSV9QUk9WSURFUl9XSElURUxJU1QiLCBU
cnVlKSBvciAiIikuc3BsaXQoKQogICAgZXh0cmFtcCA9IFtdCiAgICBmb3IgcCBpbiBtcDoKICAg
ICAgICBpZiBwLmVuZHN3aXRoKCItbmF0aXZlIikgb3IgcC5lbmRzd2l0aCgiLW5hdGl2ZXNkayIp
OgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIHZpcnQgPSAiIgogICAgICAgIGlmIHAuc3Rh
cnRzd2l0aCgidmlydHVhbC8iKToKICAgICAgICAgICAgcCA9IHAucmVwbGFjZSgidmlydHVhbC8i
LCAiIikKICAgICAgICAgICAgdmlydCA9ICJ2aXJ0dWFsLyIKICAgICAgICBmb3IgcHJlZiBpbiBw
cmVmaXhlczoKICAgICAgICAgICAgZXh0cmFtcC5hcHBlbmQodmlydCArIHByZWYgKyAiLSIgKyBw
KQogICAgZC5zZXRWYXIoIk1VTFRJX1BST1ZJREVSX1dISVRFTElTVCIsICIgIi5qb2luKG1wICsg
ZXh0cmFtcCkpCgp9CgoKcHl0aG9uIHBhY2thZ2VfaXBrX2luc3RhbGwgKCkgewoJcGtnID0gZC5n
ZXRWYXIoJ1BLRycsIFRydWUpCglwa2dmbiA9IGQuZ2V0VmFyKCdQS0dGTicsIFRydWUpCglyb290
ZnMgPSBkLmdldFZhcignSU1BR0VfUk9PVEZTJywgVHJ1ZSkKCWlwa2RpciA9IGQuZ2V0VmFyKCdE
RVBMT1lfRElSX0lQSycsIFRydWUpCglzdGFnaW5nZGlyID0gZC5nZXRWYXIoJ1NUQUdJTkdfRElS
JywgVHJ1ZSkKCXRtcGRpciA9IGQuZ2V0VmFyKCdUTVBESVInLCBUcnVlKQoKCWlmIE5vbmUgaW4g
KHBrZyxwa2dmbixyb290ZnMpOgoJCXJhaXNlIGJiLmJ1aWxkLkZ1bmNGYWlsZWQoIm1pc3Npbmcg
dmFyaWFibGVzIChvbmUgb3IgbW9yZSBvZiBQS0csIFBLR0ZOLCBJTUFHRVJPT1RGUykiKQoJdHJ5
OgoJCWJiLm1rZGlyaGllcihyb290ZnMpCgkJb3MuY2hkaXIocm9vdGZzKQoJZXhjZXB0IE9TRXJy
b3I6CgkJaW1wb3J0IHN5cwoJCSh0eXBlLCB2YWx1ZSwgdHJhY2ViYWNrKSA9IHN5cy5leGNfaW5m
bygpCgkJcHJpbnQgdmFsdWUKCQlyYWlzZSBiYi5idWlsZC5GdW5jRmFpbGVkCgoJIyBHZW5lcmF0
ZSBpcGsuY29uZiBpZiBpdCBvciB0aGUgc3RhbXAgZG9lc250IGV4aXN0Cgljb25mZmlsZSA9IG9z
LnBhdGguam9pbihzdGFnaW5nZGlyLCJpcGtnLmNvbmYiKQoJaWYgbm90IG9zLmFjY2Vzcyhjb25m
ZmlsZSwgb3MuUl9PSyk6CgkJaXBrZ19hcmNocyA9IGQuZ2V0VmFyKCdQQUNLQUdFX0FSQ0hTJykK
CQlpZiBpcGtnX2FyY2hzIGlzIE5vbmU6CgkJCWJiLmVycm9yKCJQQUNLQUdFX0FSQ0hTIG1pc3Np
bmciKQoJCQlyYWlzZSBGdW5jRmFpbGVkCgkJaXBrZ19hcmNocyA9IGlwa2dfYXJjaHMuc3BsaXQo
KQoJCWFyY2hfcHJpb3JpdHkgPSAxCgoJCWYgPSBvcGVuKGNvbmZmaWxlLCJ3IikKCQlmb3IgYXJj
aCBpbiBpcGtnX2FyY2hzOgoJCQlmLndyaXRlKCJhcmNoICVzICVzXG4iICUgKCBhcmNoLCBhcmNo
X3ByaW9yaXR5ICkpCgkJCWFyY2hfcHJpb3JpdHkgKz0gMQoJCWYud3JpdGUoInNyYyBsb2NhbCBm
aWxlOiVzIiAlIGlwa2RpcikKCQlmLmNsb3NlKCkKCgoJaWYgbm90IG9zLmFjY2Vzcyhvcy5wYXRo
LmpvaW4oaXBrZGlyLCJQYWNrYWdlcyIpLCBvcy5SX09LKSBvciBub3Qgb3MuYWNjZXNzKG9zLnBh
dGguam9pbih0bXBkaXIsICJzdGFtcHMiLCAiSVBLX1BBQ0tBR0VfSU5ERVhfQ0xFQU4iKSxvcy5S
X09LKToKCQlyZXQgPSBvcy5zeXN0ZW0oJ29wa2ctbWFrZS1pbmRleCAtcCAlcyAlcyAnICUgKG9z
LnBhdGguam9pbihpcGtkaXIsICJQYWNrYWdlcyIpLCBpcGtkaXIpKQoJCWlmIChyZXQgIT0gMCAp
OgoJCQlyYWlzZSBiYi5idWlsZC5GdW5jRmFpbGVkCgkJZiA9IG9wZW4ob3MucGF0aC5qb2luKHRt
cGRpciwgInN0YW1wcyIsICJJUEtfUEFDS0FHRV9JTkRFWF9DTEVBTiIpLCJ3IikKCQlmLmNsb3Nl
KCkKCglyZXQgPSBvcy5zeXN0ZW0oJ29wa2ctY2wgIC1vICVzIC1mICVzIHVwZGF0ZScgJSAocm9v
dGZzLCBjb25mZmlsZSkpCglyZXQgPSBvcy5zeXN0ZW0oJ29wa2ctY2wgIC1vICVzIC1mICVzIGlu
c3RhbGwgJXMnICUgKHJvb3RmcywgY29uZmZpbGUsIHBrZ2ZuKSkKCWlmIChyZXQgIT0gMCApOgoJ
CXJhaXNlIGJiLmJ1aWxkLkZ1bmNGYWlsZWQKfQoKCnB5dGhvbiBzc3RhdGVfY2xlYW5fY2FjaGVm
aWxlcyAoKSB7CmRlZiBzc3RhdGVfY2xlYW5fY2FjaGVmaWxlcyhkKToKICAgIGZvciB0YXNrIGlu
IChkLmdldFZhcignU1NUQVRFVEFTS1MnLCBUcnVlKSBvciAiIikuc3BsaXQoKToKICAgICAgICBz
cyA9IHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyhkLCB0YXNrWzM6XSkKICAgICAgICBzc3RhdGVfY2xl
YW5fY2FjaGVmaWxlKHNzLCBkKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tfZGJnICgpIHsK
ZGVmIHBhY2thZ2VfcWFfY2hlY2tfZGJnKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgog
ICAgIiIiCiAgICBDaGVjayBmb3IgIi5kZWJ1ZyIgZmlsZXMgb3IgZGlyZWN0b3JpZXMgb3V0c2lk
ZSBvZiB0aGUgZGJnIHBhY2thZ2UKICAgICIiIgoKICAgIGlmIG5vdCAiLWRiZyIgaW4gbmFtZToK
ICAgICAgICBpZiAnLmRlYnVnJyBpbiBwYXRoLnNwbGl0KG9zLnBhdGguc2VwKToKICAgICAgICAg
ICAgbWVzc2FnZXMuYXBwZW5kKCJub24gZGVidWcgcGFja2FnZSBjb250YWlucyAuZGVidWcgZGly
ZWN0b3J5OiAlcyBwYXRoICVzIiAlIFwKICAgICAgICAgICAgICAgICAgICAgKG5hbWUsIHBhY2th
Z2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKfQoKCnB5dGhvbiBwYWNrYWdlX2RvX2ZpbGVkZXBz
ICgpIHsKCWltcG9ydCByZQoKCXBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcsIFRydWUpCglw
YWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycsIFRydWUpCgoJcnBtZGVwcyA9IGQuZXhwYW5k
KCIvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQt
bGludXgvdXNyL2xpYi9ycG0vYmluL3JwbWRlcHMtb2Vjb3JlIC0tbWFjcm9zIC9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGli
L3JwbS9tYWNyb3MgLS1kZWZpbmUgJ19ycG1mY19tYWdpY19wYXRoIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3Ivc2hhcmUvbWlz
Yy9tYWdpYy5tZ2MnIC0tcnBtcG9wdCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi9ycG0vcnBtcG9wdCIpCglyID0gcmUu
Y29tcGlsZShyJ1s8Pj1dKyArW14gXSonKQoKCSMgUXVpY2sgcm91dGluZSB0byBwcm9jZXNzIHRo
ZSByZXN1bHRzIG9mIHRoZSBycG1kZXBzIGNhbGwuLi4KCWRlZiBwcm9jZXNzX2RlcHMocGlwZSwg
cGtnLCBwcm92aWRlc19maWxlcywgcmVxdWlyZXNfZmlsZXMpOgoJCXByb3ZpZGVzID0ge30KCQly
ZXF1aXJlcyA9IHt9CgoJCWZvciBsaW5lIGluIHBpcGU6CgkJCWYgPSBsaW5lLnNwbGl0KCIgIiwg
MSlbMF0uc3RyaXAoKQoJCQlsaW5lID0gbGluZS5zcGxpdCgiICIsIDEpWzFdLnN0cmlwKCkKCgkJ
CWlmIGxpbmUuc3RhcnRzd2l0aCgiUmVxdWlyZXM6Iik6CgkJCQlpID0gcmVxdWlyZXMKCQkJZWxp
ZiBsaW5lLnN0YXJ0c3dpdGgoIlByb3ZpZGVzOiIpOgoJCQkJaSA9IHByb3ZpZGVzCgkJCWVsc2U6
CgkJCQljb250aW51ZQoKCQkJZmlsZSA9IGYucmVwbGFjZShwa2dkZXN0ICsgIi8iICsgcGtnLCAi
IikKCQkJZmlsZSA9IGZpbGUucmVwbGFjZSgiQCIsICJAYXRAIikKCQkJZmlsZSA9IGZpbGUucmVw
bGFjZSgiICIsICJAc3BhY2VAIikKCQkJZmlsZSA9IGZpbGUucmVwbGFjZSgiXHQiLCAiQHRhYkAi
KQoJCQlmaWxlID0gZmlsZS5yZXBsYWNlKCJbIiwgIkBvcGVuYnJhY2VAIikKCQkJZmlsZSA9IGZp
bGUucmVwbGFjZSgiXSIsICJAY2xvc2VicmFjZUAiKQoJCQlmaWxlID0gZmlsZS5yZXBsYWNlKCJf
IiwgIkB1bmRlcnNjb3JlQCIpCgkJCXZhbHVlID0gbGluZS5zcGxpdCgiOiIsIDEpWzFdLnN0cmlw
KCkKCQkJdmFsdWUgPSByLnN1YihyJyhcZzwwPiknLCB2YWx1ZSkKCgkJCWlmIHZhbHVlLnN0YXJ0
c3dpdGgoInJwbWxpYigiKToKCQkJCWNvbnRpbnVlCgkJCWlmIHZhbHVlID09ICJweXRob24iOgoJ
CQkJY29udGludWUKCQkJaWYgZmlsZSBub3QgaW4gaToKCQkJCWlbZmlsZV0gPSBbXQoJCQlpW2Zp
bGVdLmFwcGVuZCh2YWx1ZSkKCgkJZm9yIGZpbGUgaW4gcHJvdmlkZXM6CgkJCXByb3ZpZGVzX2Zp
bGVzLmFwcGVuZChmaWxlKQoJCQlrZXkgPSAiRklMRVJQUk9WSURFU18iICsgZmlsZSArICJfIiAr
IHBrZwoJCQlkLnNldFZhcihrZXksICIgIi5qb2luKHByb3ZpZGVzW2ZpbGVdKSkKCgkJZm9yIGZp
bGUgaW4gcmVxdWlyZXM6CgkJCXJlcXVpcmVzX2ZpbGVzLmFwcGVuZChmaWxlKQoJCQlrZXkgPSAi
RklMRVJERVBFTkRTXyIgKyBmaWxlICsgIl8iICsgcGtnCgkJCWQuc2V0VmFyKGtleSwgIiAiLmpv
aW4ocmVxdWlyZXNbZmlsZV0pKQoKCWRlZiBjaHVua3MoZmlsZXMsIG4pOgoJCXJldHVybiBbZmls
ZXNbaTppK25dIGZvciBpIGluIHJhbmdlKDAsIGxlbihmaWxlcyksIG4pXQoKCSMgRGV0ZXJtaW5l
IGRlcGVuZGVuY2llcwoJZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgoJCWlmIHBrZy5lbmRz
d2l0aCgnLWRiZycpIG9yIHBrZy5lbmRzd2l0aCgnLWRvYycpIG9yIHBrZy5maW5kKCctbG9jYWxl
LScpICE9IC0xIG9yIHBrZy5maW5kKCctbG9jYWxlZGF0YS0nKSAhPSAtMSBvciBwa2cuZmluZCgn
LWdjb252LScpICE9IC0xIG9yIHBrZy5maW5kKCctY2hhcm1hcC0nKSAhPSAtMSBvciBwa2cuc3Rh
cnRzd2l0aCgna2VybmVsLW1vZHVsZS0nKToKCQkJY29udGludWUKCgkJcHJvdmlkZXNfZmlsZXMg
PSBbXQoJCXJlcXVpcmVzX2ZpbGVzID0gW10KCQlycGZpbGVzID0gW10KCQlmb3Igcm9vdCwgZGly
cywgZmlsZXMgaW4gb3Mud2Fsayhwa2dkZXN0ICsgIi8iICsgcGtnKToKCQkJZm9yIGZpbGUgaW4g
ZmlsZXM6CgkJCQlycGZpbGVzLmFwcGVuZChvcy5wYXRoLmpvaW4ocm9vdCwgZmlsZSkpCgoJCWZv
ciBmaWxlcyBpbiBjaHVua3MocnBmaWxlcywgMTAwKToKCQkJZGVwX3BpcGUgPSBvcy5wb3Blbihy
cG1kZXBzICsgIiAiICsgIiAiLmpvaW4oZmlsZXMpKQoKCQkJcHJvY2Vzc19kZXBzKGRlcF9waXBl
LCBwa2csIHByb3ZpZGVzX2ZpbGVzLCByZXF1aXJlc19maWxlcykKCgkJZC5zZXRWYXIoIkZJTEVS
REVQRU5EU0ZMSVNUXyIgKyBwa2csICIgIi5qb2luKHJlcXVpcmVzX2ZpbGVzKSkKCQlkLnNldFZh
cigiRklMRVJQUk9WSURFU0ZMSVNUXyIgKyBwa2csICIgIi5qb2luKHByb3ZpZGVzX2ZpbGVzKSkK
fQoKCnB5dGhvbiByYWlzZV9zYW5pdHlfZXJyb3IgKCkgewpkZWYgcmFpc2Vfc2FuaXR5X2Vycm9y
KG1zZyk6CiAgICBiYi5mYXRhbCgiIiIgT0UtY29yZSdzIGNvbmZpZyBzYW5pdHkgY2hlY2tlciBk
ZXRlY3RlZCBhIHBvdGVudGlhbCBtaXNjb25maWd1cmF0aW9uLgogICAgRWl0aGVyIGZpeCB0aGUg
Y2F1c2Ugb2YgdGhpcyBlcnJvciBvciBhdCB5b3VyIG93biByaXNrIGRpc2FibGUgdGhlIGNoZWNr
ZXIgKHNlZSBzYW5pdHkuY29uZikuCiAgICBGb2xsb3dpbmcgaXMgdGhlIGxpc3Qgb2YgcG90ZW50
aWFsIHByb2JsZW1zIC8gYWR2aXNvcmllczoKCiAgICAlcyIiIiAlIG1zZykKfQoKCnB5dGhvbiBi
YXNlX3JlYWRfZmlsZSAoKSB7CmRlZiBiYXNlX3JlYWRfZmlsZShmaWxlbmFtZSk6CiAgICByZXR1
cm4gb2UudXRpbHMucmVhZF9maWxlKGZpbGVuYW1lKQp9CgoKcHl0aG9uIGJhc2VfZ2V0X21ldGFk
YXRhX2dpdF9yZXZpc2lvbiAoKSB7CmRlZiBiYXNlX2dldF9tZXRhZGF0YV9naXRfcmV2aXNpb24o
cGF0aCwgZCk6CglmID0gb3MucG9wZW4oImNkICVzOyBnaXQgbG9nIC1uIDEgLS1wcmV0dHk9b25l
bGluZSAtLSAyPiYxIiAlIHBhdGgpCglkYXRhID0gZi5yZWFkKCkKCWlmIGYuY2xvc2UoKSBpcyBO
b25lOgoJCXJldiA9IGRhdGEuc3BsaXQoIiAiKVswXQoJCWlmIGxlbihyZXYpICE9IDA6CgkJCXJl
dHVybiByZXYKCXJldHVybiAiPHVua25vd24+Igp9Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>526</attachid>
            <date>2012-05-22 16:25:43 +0000</date>
            <delta_ts>2012-05-22 16:25:43 +0000</delta_ts>
            <desc>local.conf</desc>
            <filename>local.conf</filename>
            <type>application/octet-stream</type>
            <size>10187</size>
            <attacher name="Reinette Chatre">reinette.chatre</attacher>
            
              <data encoding="base64">IwojIFRoaXMgZmlsZSBpcyB5b3VyIGxvY2FsIGNvbmZpZ3VyYXRpb24gZmlsZSBhbmQgaXMgd2hl
cmUgYWxsIGxvY2FsIHVzZXIgc2V0dGluZ3MKIyBhcmUgcGxhY2VkLiBUaGUgY29tbWVudHMgaW4g
dGhpcyBmaWxlIGdpdmUgc29tZSBndWlkZSB0byB0aGUgb3B0aW9ucyBhIG5ldyB1c2VyCiMgdG8g
dGhlIHN5c3RlbSBtaWdodCB3YW50IHRvIGNoYW5nZSBidXQgcHJldHR5IG11Y2ggYW55IGNvbmZp
Z3VyYXRpb24gb3B0aW9uIGNhbgojIGJlIHNldCBpbiB0aGlzIGZpbGUuIE1vcmUgYWR2ZW50dXJv
dXMgdXNlcnMgY2FuIGxvb2sgYXQgbG9jYWwuY29uZi5leHRlbmRlZCAKIyB3aGljaCBjb250YWlu
cyBvdGhlciBleGFtcGxlcyBvZiBjb25maWd1cmF0aW9uIHdoaWNoIGNhbiBiZSBwbGFjZWQgaW4g
dGhpcyBmaWxlCiMgYnV0IG5ldyB1c2VycyBsaWtlbHkgZG9uJ3QgbmVlZCBhbnkgb2YgdGhlbSBp
bml0aWFsbHkuCiMKIyBMaW5lcyBzdGFydGluZyB3aXRoIHRoZSAnIycgY2hhcmFjdGVyIGFyZSBj
b21tZW50ZWQgb3V0IGFuZCBpbiBzb21lIGNhc2VzIHRoZSAKIyBkZWZhdWx0IHZhbHVlcyBhcmUg
cHJvdmlkZWQgYXMgY29tbWVudHMgdG8gc2hvdyBwZW9wbGUgZXhhbXBsZSBzeW50YXguIEVuYWJs
aW5nCiMgdGhlIG9wdGlvbiBpcyBhIHF1ZXN0aW9uIG9mIHJlbW92aW5nIHRoZSAjIGNoYXJhY3Rl
ciBhbmQgbWFraW5nIGFueSBjaGFuZ2UgdG8gdGhlCiMgdmFyaWFibGUgYXMgcmVxdWlyZWQuCgoj
CiMgUGFyYWxsZWxpc20gT3B0aW9ucwojCiMgVGhlc2UgdHdvIG9wdGlvbnMgY29udHJvbCBob3cg
bXVjaCBwYXJhbGxlbGlzbSBCaXRCYWtlIHNob3VsZCB1c2UuIFRoZSBmaXJzdCAKIyBvcHRpb24g
ZGV0ZXJtaW5lcyBob3cgbWFueSB0YXNrcyBiaXRiYWtlIHNob3VsZCBydW4gaW4gcGFyYWxsZWw6
CiMKQkJfTlVNQkVSX1RIUkVBRFMgPSAiMjQiCiMgCiMgVGhlIHNlY29uZCBvcHRpb24gY29udHJv
bHMgaG93IG1hbnkgcHJvY2Vzc2VzIG1ha2Ugc2hvdWxkIHJ1biBpbiBwYXJhbGxlbCB3aGVuCiMg
cnVubmluZyBjb21waWxlIHRhc2tzOgojClBBUkFMTEVMX01BS0UgPSAiLWogMTIiCiMKIyBGb3Ig
YSBxdWFkY29yZSwgQkJfTlVNQkVSX1RIUkVBRFMgPSAiNCIsIFBBUkFMTEVMX01BS0UgPSAiLWog
NCIgd291bGQKIyBiZSBhcHByb3ByaWF0ZSBmb3IgZXhhbXBsZS4KCiMKIyBNYWNoaW5lIFNlbGVj
dGlvbgojCiMgWW91IG5lZWQgdG8gc2VsZWN0IGEgc3BlY2lmaWMgbWFjaGluZSB0byB0YXJnZXQg
dGhlIGJ1aWxkIHdpdGguIFRoZXJlIGFyZSBhIHNlbGVjdGlvbgojIGVtdWxhdGVkIG1hY2hpbmVz
IGF2YWlsYWJsZSB3aGljaCBjYW4gYm9vdCBhbmQgcnVuIGluIHRoZSBRRU1VIGVtdWxhdG9yOgoj
CiNNQUNISU5FID89ICJxZW11YXJtIgojTUFDSElORSA/PSAicWVtdW1pcHMiCiNNQUNISU5FID89
ICJxZW11cHBjIgojTUFDSElORSA/PSAicWVtdXg4NiIKI01BQ0hJTkUgPz0gInFlbXV4ODYtNjQi
CiMKIyBUaGVyZSBhcmUgYWxzbyB0aGUgZm9sbG93aW5nIGhhcmR3YXJlIGJvYXJkIHRhcmdldCBt
YWNoaW5lcyBpbmNsdWRlZCBmb3IgCiMgZGVtb25zdHJhdGlvbiBwdXJwb3NlczoKIwojTUFDSElO
RSA/PSAiYXRvbS1wYyIKI01BQ0hJTkUgPz0gImJlYWdsZWJvYXJkIgojTUFDSElORSA/PSAibXBj
ODMxNWUtcmRiIgojTUFDSElORSA/PSAicm91dGVyc3RhdGlvbnBybyIKIwojIFRoaXMgc2V0cyB0
aGUgZGVmYXVsdCBtYWNoaW5lIHRvIGJlIHFlbXV4ODYgaWYgbm8gb3RoZXIgbWFjaGluZSBpcyBz
ZWxlY3RlZDoKTUFDSElORSA/Pz0gImNvbmNvcmRpYSIKRklMRVNZU1RFTV9QRVJNU19UQUJMRVMg
PSAiY29uZi9mcy1wZXJtcy50eHQiCgojCiMgV2hlcmUgdG8gcGxhY2UgZG93bmxvYWRzCiMKIyBE
dXJpbmcgYSBmaXJzdCBidWlsZCB0aGUgc3lzdGVtIHdpbGwgZG93bmxvYWQgbWFueSBkaWZmZXJl
cm50IHNvdXJjZSBjb2RlIHRhcmJhbGxzCiMgZnJvbSB2YXJpb3VzIHVwc3RyZWFtIHByb2plY3Rz
LiBUaGlzIGNhbiB0YWtlIGEgd2hpbGUsIHBhcnRpY3VsYXJseSBpZiB5b3VyIG5ldHdvcmsKIyBj
b25uZWN0aW9uIGlzIHNsb3cuIFRoZXNlIGFyZSBhbGwgc3RvcmVkIGluIERMX0RJUi4gV2hlbiB3
aXBpbmcgYW5kIHJlYnVpbGRpbmcgeW91CiMgY2FuIHByZXNlcnZlIHRoaXMgZGlyZWN0b3J5IHRv
IHNwZWVkIHVwIHRoaXMgcGFydCBvZiBzdWJzZXF1ZW50IGJ1aWxkcy4gVGhpcyBkaXJlY3RvcnkK
IyBpcyBzYWZlIHRvIHNoYXJlIGJldHdlZW4gbXVsdGlwbGUgYnVpbGRzIG9uIHRoZSBzYW1lIG1h
Y2hpbmUgdG9vLgojCiMgVGhlIGRlZmF1bHQgaXMgYSBkb3dubG9hZHMgZGlyZWN0b3J5IHVuZGVy
IFRPUERJUiB3aGljaCBpcyB0aGUgYnVpbGQgZGlyZWN0b3J5LgojCiNETF9ESVIgPz0gIiR7VE9Q
RElSfS9kb3dubG9hZHMiCgojCiMgV2hlcmUgdG8gcGxhY2Ugc2hhcmVkLXN0YXRlIGZpbGVzCiMK
IyBCaXRCYWtlIGhhcyB0aGUgY2FwYWJpbGl0eSB0byBhY2NlbGVyYXRlIGJ1aWxkcyBiYXNlZCBv
biBwcmV2aW91c2x5IGJ1aWx0IG91dHB1dC4KIyBUaGlzIGlzIGRvbmUgdXNpbmcgInNoYXJlZCBz
dGF0ZSIgZmlsZXMgd2hpY2ggY2FuIGJlIHRocm91Z2ggb2YgYXMgY2FjaGUgb2JqZWN0cwojIGFu
ZCB0aGlzIG9wdGlvbiBkZXRlcm1pbmVzIHdoZXJlIHRob3NlIGZpbGVzIGFyZSBwbGFjZWQuCiMK
IyBZb3UgY2FuIHdpcGUgb3V0IFRNUERJUiBsZWF2aW5nIHRoaXMgZGlyZWN0b3J5IGludGFjdCBh
bmQgdGhlIGJ1aWxkIHdvdWxkIHJlZ2VuZXJhdGUKIyBmcm9tIHRoZXNlIGZpbGVzIGlmIG5vIGNo
YWdlcyB3ZXJlIG1hZGUgdG8gdGhlIGNvbmZpZ3VyYXRpb24uIElmIGNoYW5nZXMgd2VyZSBtYWRl
CiMgdG8gdGhlIGNvbmZpZ3VyYXRpb24sIG9ubHkgc2hhcmVkIHN0YXRlIGZpbGVzIHdoZXJlIHRo
ZSBzdGF0ZSB3YXMgc3RpbGwgdmFsaWQgd291bGQKIyBiZSB1c2VkIChkb25lIHVzaW5nIGNoZWNr
c3VtcykuCiMKIyBUaGUgZGVmYXVsdCBpcyBhIHNzdGF0ZS1jYWNoZSBkaXJlY3RvcnkgdW5kZXIg
VE9QRElSLgojCiNTU1RBVEVfRElSID89ICIke1RPUERJUn0vc3N0YXRlLWNhY2hlIgoKIwojIFdo
ZXJlIHRvIHBsYWNlIHRoZSBidWlsZCBvdXRwdXQKIwojIFRoaXMgb3B0aW9uIHNwZWNpZmllcyB3
aGVyZSB0aGUgYnVsayBvZiB0aGUgYnVpbGRpbmcgd29yayBzaG91bGQgYmUgZG9uZSBhbmQKIyB3
aGVyZSBCaXRCYWtlIHNob3VsZCBwbGFjZSBpdHMgdGVtcG9yYXJ5IGZpbGVzIGFuZCBvdXRwdXQu
IEtlZXAgaW4gbWluZCB0aGF0CiMgdGhpcyBpbmNsdWRlcyB0aGUgZXh0cmFjdGlvbiBhbmQgY29t
cGxhdGlvbiBvZiBtYW55IGFwcGxpY2F0aW9ucyBhbmQgdGhlIHRvb2xjaGFpbgojIHdoaWNoIGNh
biB1c2UgR2lnYWJ5dGVzIG9mIGhhcmQgZGlzayBzcGFjZS4KIwojIFRoZSBkZWZhdWx0IGlzIGEg
dG1wIGRpcmVjdG9yeSB1bmRlciBUT1BESVIuCiMKI1RNUERJUiA9ICIke1RPUERJUn0vdG1wIgoK
IwojIERlZmF1bHQgcG9saWN5IGNvbmZpZwojCiMgVGhlIGRpc3RyaWJ1dGlvbiBzZXR0aW5nIGNv
bnRyb2xzIHdoaWNoIHBvbGljeSBzZXR0aW5ncyBhcmUgdXNlZCBhcyBkZWZhdWx0cy4KIyBUaGUg
ZGVmYXVsdCB2YWx1ZSBpcyBmaW5lIGZvciBnZW5lcmFsIFlvY3RvIHByb2plY3QgdXNlLCBhdCBs
ZWFzdCBpbml0aWFsbHkuCiMgVWx0aW1hdGVseSB3aGVuIGNyZWF0aW5nIGN1c3RvbSBwb2xpY3ks
IHBlb3BsZSB3aWxsIGxpa2VseSBlbmQgdXAgc3ViY2xhc3NpbmcgCiMgdGhlc2UgZGVmYXVsdHMu
CiMKI0RJU1RSTyA/PSAicG9reS10aW55IgpESVNUUk8gPz0gImNvbmNvcmRpYSIKI0RJU1RSTyA/
PSAicG9reSIKCiMgQXMgYW4gZXhhYmxlIG9mIGEgc3ViY2xhc3MgdGhlcmUgaXMgYSAiYmxlZWRp
bmciIGVnZGUgcG9saWN5IGNvbmZpZ3VyYXRpb24gCiMgd2hlcmUgbWFueSB2ZXJzaW9ucyBhcmUg
c2V0IHRvIHRoZSBhYnNvbHV0ZSBsYXRlc3QgY29kZSBmcm9tIHRoZSB1cHN0cmVhbSAKIyBzb3Vy
Y2UgY29udHJvbCBzeXN0ZW1zLiBUaGlzIGlzIGp1c3QgbWVudGlvbmVkIGhlcmUgYW4gYW4gZXhh
bXBsZSwgaXRzIG5vdAojIHVzZWZ1bCB0byBtb3N0IG5ldyB1c2Vycy4KIyBESVNUUk8gPz0gInBv
a3ktYmxlZWRpbmciCgojCiMgUGFja2FnZSBNYW5hZ2VtZW50IGNvbmZpZ3VyYXRpb24KIwojIFRo
aXMgdmFyaWFibGUgbGlzdHMgd2hpY2ggcGFja2FnaW5nIGZvcm1hdHMgdG8gZW5hYmxlLiBNdWx0
aXBsZSBwYWNrYWdlIGJhY2tlbmRzIAojIGNhbiBiZSBlbmFibGVkIGF0IG9uY2UgYW5kIHRoZSBm
aXJzdCBpdGVtIGxpc3RlZCBpbiB0aGUgdmFyaWFibGUgd2lsbCBiZSB1c2VkIAojIHRvIGdlbmVy
YXRlIHRoZSByb290IGZpbGVzeXN0ZW1zLgojIE9wdGlvbnMgYXJlOgojICAtICdwYWNrYWdlX2Rl
YicgZm9yIGRlYmlhbiBzdHlsZSBkZWIgZmlsZXMKIyAgLSAncGFja2FnZV9pcGsnIGZvciBpcGsg
ZmlsZXMgYXJlIHVzZWQgYnkgb3BrZyAoYSBkZWJpYW4gc3R5bGUgZW1iZWRkZWQgcGFja2FnZSBt
YW5hZ2VyKQojICAtICdwYWNrYWdlX3JwbScgZm9yIHJwbSBzdHlsZSBwYWNrYWdlcwojIEUuZy46
IFBBQ0tBR0VfQ0xBU1NFUyA/PSAicGFja2FnZV9ycG0gcGFja2FnZV9kZWIgcGFja2FnZV9pcGsi
CiMgV2UgZGVmYXVsdCB0byBycG06ClBBQ0tBR0VfQ0xBU1NFUyA/PSAicGFja2FnZV9pcGsiCgoj
CiMgU0RLL0FEVCB0YXJnZXQgYXJjaGl0ZWN0dXJlCiMKIyBUaGlzIHZhcmlhYmxlIHNwZWNpZmll
ZCB0aGUgYXJjaGl0ZWN0dXJlIHRvIGJ1aWxkIFNESy9BRFQgaXRlbXMgZm9yIGFuZCBtZWFucwoj
IHlvdSBjYW4gYnVpbGQgdGhlIFNESyBwYWNrYWdlcyBmb3IgYXJjaGl0ZWN0dXJlcyBvdGhlciB0
aGFuIHRoZSBtYWNoaW5lIHlvdSBhcmUgCiMgcnVubmluZyB0aGUgYnVpbGQgb24gKGkuZS4gYnVp
bGRpbmcgaTY4NiBwYWNrYWdlcyBvbiBhbiB4ODZfNjQgaG9zdC5fCiMgU3VwcG9ydGVkIHZhbHVl
cyBhcmUgaTY4NiBhbmQgeDg2XzY0CiNTREtNQUNISU5FID89ICJpNjg2IgoKIwojIEV4dHJhIGlt
YWdlIGNvbmZpZ3VyYXRpb24gZGVmYXVsdHMKIwojIFRoZSBFWFRSQV9JTUFHRV9GRUFUVVJFUyB2
YXJpYWJsZSBhbGxvd3MgZXh0cmEgcGFja2FnZXMgdG8gYmUgYWRkZWQgdG8gdGhlIGdlbmVyYXRl
ZCAKIyBpbWFnZXMuIFNvbWUgb2YgdGhlc2Ugb3B0aW9ucyBhcmUgYWRkZWQgdG8gY2VydGFpbiBp
bWFnZSB0eXBlcyBhdXRvbWF0aWNhbGx5LiBUaGUKIyB2YXJpYWJsZSBjYW4gY29udGFpbiB0aGUg
Zm9sbG93aW5nIG9wdGlvbnM6CiMgICJkYmctcGtncyIgICAgICAgLSBhZGQgLWRiZyBwYWNrYWdl
cyBmb3IgYWxsIGluc3RhbGxlZCBwYWNrYWdlcwojICAgICAgICAgICAgICAgICAgICAgKGFkZHMg
c3ltYm9sIGluZm9ybWF0aW9uIGZvciBkZWJ1Z2dpbmcvcHJvZmlsaW5nKQojICAiZGV2LXBrZ3Mi
ICAgICAgIC0gYWRkIC1kZXYgcGFja2FnZXMgZm9yIGFsbCBpbnN0YWxsZWQgcGFja2FnZXMKIyAg
ICAgICAgICAgICAgICAgICAgICh1c2VmdWwgaWYgeW91IHdhbnQgdG8gZGV2ZWxvcCBhZ2FpbnN0
IGxpYnMgaW4gdGhlIGltYWdlKQojICAidG9vbHMtc2RrIiAgICAgIC0gYWRkIGRldmVsb3BtZW50
IHRvb2xzIChnY2MsIG1ha2UsIHBrZ2NvbmZpZyBldGMuKQojICAidG9vbHMtZGVidWciICAgIC0g
YWRkIGRlYnVnZ2luZyB0b29scyAoZ2RiLCBzdHJhY2UpCiMgICJ0b29scy1wcm9maWxlIiAgLSBh
ZGQgcHJvZmlsaW5nIHRvb2xzIChvcHJvZmlsZSwgZXhtYXAsIGx0dG5nIHZhbGdyaW5kICh4ODYg
b25seSkpCiMgICJ0b29scy10ZXN0YXBwcyIgLSBhZGQgdXNlZnVsIHRlc3RpbmcgdG9vbHMgKHRz
X3ByaW50LCBhcGxheSwgYXJlY29yZCBldGMuKQojICAiZGVidWctdHdlYWtzIiAgIC0gbWFrZSBh
biBpbWFnZSBmb3Igc3VpdGFibGUgb2YgZGV2ZWxvcG1lbnQKIyAgICAgICAgICAgICAgICAgICAg
IGUuZy4gc3NoIHJvb3QgYWNjZXNzIGhhcyBhIGJsYW5rIHBhc3N3b3JkCiMgVGhlcmUgYXJlIG90
aGVyIGFwcGxpY2F0aW9uIHRhcmdldHMgdGhhdCBjYW4gYmUgdXNlcyBoZXJlIHRvbywgc2VlIAoj
IG1ldGEvY2xhc3Nlcy9jb3JlLWltYWdlLmJiY2xhc3MgYW5kIG1ldGEvcmVjaXBlcy1jb3JlL3Rh
c2tzL3Rhc2stY29yZS5iYiBmb3IgbW9yZSBkZXRhaWxzLgojIFdlIGRlZmF1bHQgdG8gZW5hYmxp
bmcgdGhlIGRlYnVnZ2luZyB0d2Vha3MuCiNFWFRSQV9JTUFHRV9GRUFUVVJFUyA9ICJkZWJ1Zy10
d2Vha3MiCgojCiMgQWRkaXRpb25hbCBpbWFnZSBmZWF0dXJlcwojCiMgVGhlIGZvbGxvd2luZyBp
cyBhIGxpc3Qgb2YgYWRkaXRpb25hbCBjbGFzc2VzIHRvIHVzZSB3aGVuIGJ1aWxkaW5nIGltYWdl
cyB3aGljaAojIGVuYWJsZSBleHRyYSBmZWF0dXJlcy4gU29tZSBhdmFpbGFibGUgb3B0aW9ucyB3
aGljaCBjYW4gYmUgaW5jbHVkZWQgaW4gdGhpcyB2YXJpYWJsZSAKIyBhcmU6CiMgICAtICdpbWFn
ZS1ta2xpYnMnIHRvIHJlZHVjZSBzaGFyZWQgbGlicmFyeSBmaWxlcyBzaXplIGZvciBhbiBpbWFn
ZQojICAgLSAnaW1hZ2UtcHJlbGluaycgaW4gb3JkZXIgdG8gcHJlbGluayB0aGUgZmlsZXN5c3Rl
bSBpbWFnZQojICAgLSAnaW1hZ2Utc3dhYicgdG8gcGVyZm9ybSBob3N0IHN5c3RlbSBpbnRydXNp
b24gZGV0ZWN0aW9uCiMgTk9URTogaWYgbGlzdGluZyBta2xpYnMgJiBwcmVsaW5rIGJvdGgsIHRo
ZW4gbWFrZSBzdXJlIG1rbGlicyBpcyBiZWZvcmUgcHJlbGluawojIE5PVEU6IG1rbGlicyBhbHNv
IG5lZWRzIHRvIGJlIGV4cGxpY2l0bHkgZW5hYmxlZCBmb3IgYSBnaXZlbiBpbWFnZSwgc2VlIGxv
Y2FsLmNvbmYuZXh0ZW5kZWQKVVNFUl9DTEFTU0VTID89ICJpbWFnZS1ta2xpYnMgaW1hZ2UtcHJl
bGluayIKCiMKIyBSdW50aW1lIHRlc3Rpbmcgb2YgaW1hZ2VzCiMKIyBUaGUgYnVpbGQgc3lzdGVt
IGNhbiB0ZXN0IGJvb3RpbmcgdmlydHVhbCBtYWNoaW5lIGltYWdlcyB1bmRlciBxZW11IChhbiBl
bXVsYXRvcikKIyBhZnRlciBhbnkgcm9vdCBmaWxlc3lzdGVtcyBhcmUgY3JlYXRlZCBhbmQgcnVu
IHRlc3RzIGFnYWluc3QgdGhvc2UgaW1hZ2VzLiBUbwojIGVuYWJsZSB0aGlzIHVuY29tbWVudCB0
aGlzIGxpbmUKI0lNQUdFVEVTVCA9ICJxZW11IgojCiMgVGhpcyB2YXJpYWJsZSBjb250cm9scyB3
aGljaCB0ZXN0cyBhcmUgcnVuIGFnYWluc3QgdmlydHVhbCBpbWFnZXMgaWYgZW5hYmxlZAojIGFi
b3ZlLiBUaGUgZm9sbG93aW5nIHdvdWxkIGVuYWJsZSBiYXQsIG9vdCB0ZXN0IGNhc2UgdW5kZXIg
c2FuaXR5IHN1aXRlIGFuZCAKIyB0b29sY2hhaW4gdGVzdHMKI1RFU1RfU0NFTiA9ICJzYW5pdHkg
YmF0IHNhbml0eTpib290IHRvb2xjaGFpbiIKIwojIEJlY2F1c2Ugb2YgdGhlIFFFTVUgYm9vdGlu
ZyBzbG93bmVzcyBpc3N1ZShzZWUgYnVnICM2NDYgYW5kICM2MTgpLCBhdXRvYnVpbGRlcgojIG1h
eSBzdWZmZXIgYSB0aW1lb3V0IGlzc3VlIHdoZW4gcnVubmluZyBzYW5pdHkgdGVzdC4gV2UgaW50
cm9kdWNlIHZhcmlhYmxlCiMgVEVTVF9TRVJJQUxJWkUgaGVyZSB0byByZWR1Y2UgdGhlIHRpbWUg
b24gc2FuaXR5IHRlc3QuIEl0IGlzIGJ5IGRlZmF1bHQgc2V0IAojIHRvIDEuIFRoaXMgd2lsbCBz
dGFydCBpbWFnZSBhbmQgcnVuIGNhc2VzIGluIHRoZSBzYW1lIGltYWdlIHdpdGhvdXQgcmVib290
IAojIG9yIGtpbGwuIElmIGl0IGlzIHNldCB0byAwLCB0aGUgaW1hZ2Ugd2lsbCBiZSBjb3BpZWQg
YW5kIHRlc3RlZCBmb3IgZWFjaCAKIyBjYXNlLCB3aGljaCB3aWxsIHRha2UgbG9uZ2VyIGJ1dCBi
ZSBtb3JlIHByZWNpc2UuCiNURVNUX1NFUklBTElaRSA9ICIxIgoKIwojIEludGVyYWN0aXZlIHNo
ZWxsIGNvbmZpZ3VyYXRpb24KIwojIFVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcyB0aGUgc3lz
dGVtIG1heSBuZWVkIGlucHV0IGZyb20geW91IGFuZCB0byBkbyB0aGlzIGl0IAojIGNhbiBsYXVu
Y2ggYW4gaW50ZXJhY3RpdmUgc2hlbGwuIEl0IG5lZWRzIHRvIGRvIHRoaXMgc2luY2UgdGhlIGJ1
aWxkIGlzIAojIG11bHRpdGhyZWFkZWQgYW5kIG5lZWRzIHRvIGJlIGFibGUgdG8gaGFuZGxlIHRo
ZSBjYXNlIHdoZXJlIG1vcmUgdGhhbiBvbmUgcGFyYWxsZWwKIyBwcm9jZXNzIG1heSByZXF1aXJl
IHRoZSB1c2VyJ3MgYXR0ZW50aW9uLiBUaGUgZGVmYXVsdCBpcyB0byB1c2UgeHRlcm0uCiMKIyBF
eGFtcGxlcyBvZiB0aGUgb2NjYXNpb25zIHRoaXMgbWF5IGhhcHBlbiBhcmUgd2hlbiByZXNvbHZp
bmcgcGF0Y2hlcyB3aGljaCBjYW5ub3QKIyBiZSBhcHBsaWVkLCB0byB1c2UgdGhlIGRldnNoZWxs
IG9yIHRoZSBrZXJuZWwgbWVudWNvbmZpZwojCiMgSWYgeW91IGRvIG5vdCB1c2UgKG9yIGhhdmUg
aW5zdGFsbGVkKSB4dGVybSB5b3Ugd2lsbCBuZWVkIHRvCiMgdW5jb21tZW50IHRoZXNlIHZhcmlh
YmxlcyBhbmQgc2V0IHRoZW0gdG8gdGhlIHRlcm1pbmFsIHlvdSB3aXNoIHRvIHVzZQojIAojIFN1
cHBvcnRlZCBzaGVsbCBwcmVmaXhlcyBmb3IgKl9URVJNQ01EIGFuZCAqX1RFUk1DTURSVU4gYXJl
OgojIEdOT01FLCBTQ1JFRU4sIFhURVJNIGFuZCBLT05TT0xFCiMgTm90ZTogY3VycmVudGx5LCBL
b25zb2xlIHN1cHBvcnQgb25seSB3b3JrcyBmb3IgS0RFIDMueCBkdWUgdG8gdGhlIHdheQojIG5l
d2VyIEtvbnNvbGUgdmVyc2lvbnMgYmVoYXZlCiNURVJNQ01EID0gIiR7WFRFUk1fVEVSTUNNRH0i
CiNURVJNQ01EUlVOID0gIiR7WFRFUk1fVEVSTUNNRFJVTn0iCiMgQnkgZGVmYXVsdCBkaXNhYmxl
IGludGVyYWN0aXZlIHBhdGNoIHJlc29sdXRpb24gKHRhc2tzIHdpbGwganVzdCBmYWlsIGluc3Rl
YWQpOgpQQVRDSFJFU09MVkUgPSAibm9vcCIKCiMKIyBTaGFyZWQtc3RhdGUgZmlsZXMgZnJvbSBv
dGhlciBsb2NhdGlvbnMKIwojIEFzIG1lbnRpb25lZCBhYm92ZSwgc2hhcmVkIHN0YXRlIGZpbGVz
IGFyZSBwcmVidWlsdCBjYWNoZSBkYXRhIG9iamVjdHMgd2hpY2ggY2FuIAojIHVzZWQgdG8gYWNj
ZWxlcmF0ZSBidWlsZCB0aW1lLiBUaGlzIHZhcmlhYmxlIGNhbiBiZSB1c2VkIHRvIGNvbmZpZ3Vy
ZSB0aGUgc3lzdGVtCiMgdG8gc2VhcmNoIG90aGVyIG1pcnJvciBsb2NhdGlvbnMgZm9yIHRoZXNl
IG9iamVjdHMgYmVmb3JlIGl0IGJ1aWxkcyB0aGUgZGF0YSBpdHNlbGYuCiMKIyBUaGlzIGNhbiBi
ZSBhIGZpbGVzeXN0ZW0gZGlyZWN0b3J5LCBvciBhIHJlbW90ZSB1cmwgc3VjaCBhcyBodHRwIG9y
IGZ0cC4gVGhlc2UKIyB3b3VsZCBjb250YWluIHRoZSBzc3RhdGUtY2FjaGUgcmVzdWx0cyBmcm9t
IHByZXZpb3VzIGJ1aWxkcyAocG9zc2libHkgZnJvbSBvdGhlciAKIyBtYWNoaW5lcykuIFRoaXMg
dmFyaWFibGUgd29ya3MgbGlrZSBmZXRjaGVyIE1JUlJPUlMvUFJFTUlSUk9SUyBhbmQgcG9pbnRz
IHRvIHRoZSAKIyBjYWNoZSBsb2NhdGlvbnMgdG8gY2hlY2sgZm9yIHRoZSBzaGFyZWQgb2JqZWN0
cy4KI1NTVEFURV9NSVJST1JTID89ICJcCiNmaWxlOi8vLiogaHR0cDovL3NvbWVzZXJ2ZXIudGxk
L3NoYXJlL3NzdGF0ZS8gXG4gXAojZmlsZTovLy4qIGZpbGU6Ly8vc29tZS9sb2NhbC9kaXIvc3N0
YXRlLyIKCiMgQ09ORl9WRVJTSU9OIGlzIGluY3JlYXNlZCBlYWNoIHRpbWUgYnVpbGQvY29uZi8g
Y2hhbmdlcyBpbmNvbXBhdGlibHkgYW5kIGlzIHVzZWQgdG8KIyB0cmFjayB0aGUgdmVyc2lvbiBv
ZiB0aGlzIGZpbGUgd2hlbiBpdCB3YXMgZ2VuZXJhdGVkLiBUaGlzIGNhbiBzYWZlbHkgYmUgaWdu
b3JlZCBpZgojIHRoaXMgZG9lc24ndCBtZWFuIGFueXRoaW5nIHRvIHlvdS4KQ09ORl9WRVJTSU9O
ID0gIjEiCiNTUkNSRVZfcG4tY2NkLWxpbnV4ID0gIiR7QVVUT1JFVn0iCgojIG1ldGEvY2xhc3Nl
cy9iYXNlLmJiY2xhc3NlcyBpcyBhbHdheXMgaW5jbHVkZWQgYW5kIGluZGljYXRlcyB3aGljaCBw
eXRob24KIyBtb2R1bGVzIHNob3VsZCBiZSBpbXBvcnRlZC4gV2UgdXNlIHRoZSBzdWJwcm9jZXNz
IG1vZHVsZSB0byByZXRyaWV2ZSB0aGUKIyBnaXQgdmVyc2lvbiAoc2VlIERJU1RST19WRVJTSU9O
IGluIGNvbmYvZGlzdHJvL2NvbmNvcmRpYS5jb25mKSBhbmQgaW5kaWNhdGUKIyB0aGF0IGhlcmUu
Ck9FX0lNUE9SVFMgKz0gInN1YnByb2Nlc3MiCgojIHdlIGluc3RhbGwgYWxsIHRoZSBSZWFsLVRp
bWUgdG9vbHMgYW5kIHV0aWxpdGllcyBpbiAvb3B0L3J0CmV4cG9ydCBydF90b29scyA9ICIvb3B0
L3J0IgoKI2Rpc2FibGUgdXNhZ2Ugb2YgY2NhY2hlCkNDQUNIRT0iIgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>527</attachid>
            <date>2012-05-22 16:26:07 +0000</date>
            <delta_ts>2012-05-22 16:26:07 +0000</delta_ts>
            <desc>distro configuration</desc>
            <filename>concordia.conf</filename>
            <type>application/octet-stream</type>
            <size>1168</size>
            <attacher name="Reinette Chatre">reinette.chatre</attacher>
            
              <data encoding="base64">cmVxdWlyZSBjb25mL2Rpc3Ryby9wb2t5LXRpbnkuY29uZgpESVNUUk8gPSAiY29uY29yZGlhIgoj
IG92ZXJ3cml0ZSB0aGUgRElTVFJPX1ZFUlNJT04gc2V0dGluZyBtYWRlIGluCiMgbWV0YS15b2N0
by9jb25mL2Rpc3Ryby9wb2t5LmNvbmYuIFdlIHVzZSB0aGUgb3V0cHV0IGZyb20gImdpdCBkZXNj
cmliZSIKIyBhcyBhIHZlcnNpb24gd2hpY2ggY2FuIGJlIHJ1biBhbnl3aGVyZSBmcm9tIHRoZSBj
Y2QtZGlzdHJvLmdpdCByZXBvCkRJU1RST19WRVJTSU9OID0gIiR7QHN1YnByb2Nlc3MuY2hlY2tf
b3V0cHV0KFsiZ2l0IiwgImRlc2NyaWJlIl0pLnN0cmlwKCl9IgoKI292ZXJ3cml0ZSB0aGUgSU1B
R0VfTkFNRSBzZXR0aW5nIG1hZGUgaW4gbWV0YS9jb25mL2JpdGJha2UuY29uZiAod2hpY2gKI3Vz
ZXMgREFURVRJTUUgYXMgcGFydCBvZiBmaWxlbmFtZQpJTUFHRV9OQU1FID0gIiR7SU1BR0VfQkFT
RU5BTUV9LSR7TUFDSElORX0tJHtESVNUUk9fVkVSU0lPTn0iCgojIE92ZXJ3cml0ZSB0aGUgU0RL
IHZlbmRvciBhbmQgdmVyc2lvbiBzZXR0aW5ncyBtYWRlIGluIHBva3kuY29uZiB0byBiZSBjY2QK
IyBzcGVjaWZpYwpTREtfVkVORE9SID0gIi1jY2RzZGsiClNES19WRVJTSU9OID0gIiR7RElTVFJP
X1ZFUlNJT059IgoKRElTVFJPX0ZFQVRVUkVTX0xJQkMgPSAiJHtESVNUUk9fRkVBVFVSRVNfTElC
Q19ERUZBVUxUfSIKCiMgT3ZlcnJpZGUgdGhlIFBSRUZFUlJFRF9QUk9WSURFUiBzZXQgaW4gcG9r
eS10aW55ClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCA9ICJjY2QtbGludXgiCgoj
IE92ZXJyaWRlIHRoZSBJTUFHRV9GU1RZUEVTIHNldCBpbiBwb2t5LXRpbnkKSU1BR0VfRlNUWVBF
UyA9ICJleHQzIGNwaW8uZ3oiCgojIFRBUkdFVF9WRU5ET1IgaXMgdXNlZCBpbiBtYW55IGxvY2F0
aW9ucyB0byBuYW1lIG91dHB1dCBnZW5lcmF0ZWQgYnkgdGhpcwojIGJ1aWxkLiBUaGlzIGlzIGhh
cmRjb2RlZCB0byAiLXBva3kiIGluIGNvbmYvZGlzdHJvL3Bva3kuY29uZiwgd2hpY2ggaXMKIyBp
bmNsdWRlZCBieSBjb25mL2Rpc3Ryby9wb2t5LXRpbnkuY29uZiwgd2hpY2ggaXMgaW5jbHVkZWQg
aGVyZS4gT3ZlcndyaXRlIHRoYXQKIyBzZXR0aW5nIHRvIG1ha2Ugb3V0cHV0IHNwZWNpZmljIHRv
IGNjZApUQVJHRVRfVkVORE9SID0gIi1jY2QiCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>533</attachid>
            <date>2012-05-24 21:00:32 +0000</date>
            <delta_ts>2012-05-24 21:00:32 +0000</delta_ts>
            <desc>do_install log of eglibc-initial-nativesdk-2.15-r6+svnr17386</desc>
            <filename>log.do_install.24243</filename>
            <type>application/octet-stream</type>
            <size>276752</size>
            <attacher name="Reinette Chatre">reinette.chatre</attacher>
            
              <data encoding="base64">REVCVUc6IFNJVEUgZmlsZXMgWydlbmRpYW4tbGl0dGxlJywgJ2NvbW1vbi1saW51eCcsICdjb21t
b24tZ2xpYmMnLCAnYml0LTY0JywgJ3g4Nl82NC1saW51eCcsICdjb21tb24nXQpOT1RFOiBtYWtl
IFBBUkFMTEVMTUZMQUdTPS1qIDEyIGNyb3NzLWNvbXBpbGluZz15ZXMgaW5zdGFsbF9yb290PS9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNk
ay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2
L2ltYWdlIGluY2x1ZGVkaXI9L29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1j
Y2RzZGstbGludXgvdXNyL2luY2x1ZGUgcHJlZml4PS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNy
b290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3VzciBpbnN0YWxsLWJvb3RzdHJhcC1oZWFkZXJzPXll
cyBpbnN0YWxsLWhlYWRlcnMKbWFrZSAtciBQQVJBTExFTE1GTEFHUz0iLWogMTIiIC1DIC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2Vn
bGliYy0yXzE1L2xpYmMgb2JqZGlyPWBwd2RgIGluc3RhbGwtaGVhZGVycwptYWtlWzFdOiBFbnRl
cmluZyBkaXJlY3RvcnkgYC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dv
cmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2Rr
LTIuMTUtcjYrc3ZucjE3Mzg2L2VnbGliYy0yXzE1L2xpYmMnCihlY2hvICdzeXNkLXJ1bGVzLXN5
c2RpcnMgOj0gc3lzZGVwcy94ODZfNjQvZWxmIG5wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgv
eDg2XzY0IHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCBzeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC93b3Jkc2l6ZS02NCBucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IG5wdGwvc3lzZGVw
cy9wdGhyZWFkIHN5c2RlcHMvcHRocmVhZCBwb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCBz
eXNkZXBzL3VuaXgvc3lzdi9saW51eCBzeXNkZXBzL2dudSBzeXNkZXBzL3VuaXgvY29tbW9uIHN5
c2RlcHMvdW5peC9tbWFuIHN5c2RlcHMvdW5peC9pbmV0IG5wdGwvc3lzZGVwcy91bml4L3N5c3Yg
cG9ydHMvc3lzZGVwcy91bml4L3N5c3Ygc3lzZGVwcy91bml4L3N5c3Ygc3lzZGVwcy91bml4L3g4
Nl82NCBucHRsL3N5c2RlcHMvdW5peCBwb3J0cy9zeXNkZXBzL3VuaXggc3lzZGVwcy91bml4IHN5
c2RlcHMvcG9zaXggc3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCBzeXNkZXBzL3g4Nl82NC9m
cHUgc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIG5wdGwvc3lzZGVwcy94ODZfNjQgc3lzZGVwcy94
ODZfNjQgc3lzZGVwcy93b3Jkc2l6ZS02NCBzeXNkZXBzL2llZWU3NTQvbGRibC05NiBzeXNkZXBz
L2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQgc3lzZGVw
cy9pZWVlNzU0L2ZsdC0zMiBzeXNkZXBzL2llZWU3NTQgc3lzZGVwcy9nZW5lcmljL2VsZiBzeXNk
ZXBzL2dlbmVyaWMnOwkJICAgICAgXAogZm9yIGRpciBpbiBzeXNkZXBzL3g4Nl82NC9lbGYgbnB0
bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgc3lzZGVwcy91bml4L3N5c3YvbGludXgv
eDg2XzY0IHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IG5wdGwvc3lzZGVwcy91
bml4L3N5c3YvbGludXggbnB0bC9zeXNkZXBzL3B0aHJlYWQgc3lzZGVwcy9wdGhyZWFkIHBvcnRz
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4IHN5c2RlcHMv
Z251IHN5c2RlcHMvdW5peC9jb21tb24gc3lzZGVwcy91bml4L21tYW4gc3lzZGVwcy91bml4L2lu
ZXQgbnB0bC9zeXNkZXBzL3VuaXgvc3lzdiBwb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiBzeXNkZXBz
L3VuaXgvc3lzdiBzeXNkZXBzL3VuaXgveDg2XzY0IG5wdGwvc3lzZGVwcy91bml4IHBvcnRzL3N5
c2RlcHMvdW5peCBzeXNkZXBzL3VuaXggc3lzZGVwcy9wb3NpeCBzeXNkZXBzL3g4Nl82NC9mcHUv
bXVsdGlhcmNoIHN5c2RlcHMveDg2XzY0L2ZwdSBzeXNkZXBzL3g4Nl82NC9tdWx0aWFyY2ggbnB0
bC9zeXNkZXBzL3g4Nl82NCBzeXNkZXBzL3g4Nl82NCBzeXNkZXBzL3dvcmRzaXplLTY0IHN5c2Rl
cHMvaWVlZTc1NC9sZGJsLTk2IHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgc3lz
ZGVwcy9pZWVlNzU0L2RibC02NCBzeXNkZXBzL2llZWU3NTQvZmx0LTMyIHN5c2RlcHMvaWVlZTc1
NCBzeXNkZXBzL2dlbmVyaWMvZWxmIHN5c2RlcHMvZ2VuZXJpYzsgZG8JCQkJICAgICAgXAogICBj
YXNlICIkZGlyIiBpbgkJCQkJCSAgICAgIFwKICAgLyopIDs7CQkJCQkJCSAgICAgIFwKICAgKikg
ZGlyPSJcJCguLikkZGlyIiA7OwkJCQkJICAgICAgXAogICBlc2FjOwkJCQkJCQkgICAgICBcCiAg
IGFzbT0nLlMgLnMnOwkJCQkJCQkgICAgICBcCiAgIAkJCQkJCSAgICAgIFwKICAgZm9yIG8gaW4g
Lm8gLm9zIC5vcCAub2cgLm9iIC5vUzsgZG8JCQkJICAgICAgXAogICAgIHNldCAlICUgcnRsZC0l
IHJ0bGQtJSBydGxkLSUgJSBtXyUgc18lIHB0dy0lICU7CQkJICAgICAgXAogICAgIHdoaWxlIFsg
JCMgLWdlIDIgXTsgZG8JCQkJCSAgICAgIFwKICAgICAgIHQ9JDE7IHNoaWZ0OyAJCQkJCQkgICAg
ICBcCiAgICAgICBkPSQxOyBzaGlmdDsJCQkJCQkgICAgICBcCiAgICAgICB2PSR7dCUlJX07IFsg
eCIkdiIgPSB4IF0gfHwgdj0iXCQoJHt2fUNQUEZMQUdTKSI7CSAgICAgIFwKICAgICAgIGZvciBz
IGluICRhc20gLmM7IGRvCQkJCQkgICAgICBcCgkgZWNobyAiXCQob2JqcGZ4KSR0JG86ICRkaXIv
JGQkcyBcJChiZWZvcmUtY29tcGlsZSkiOyAgXAoJIGVjaG8gIglcJChjb21waWxlLWNvbW1hbmQk
cykgJHYiOwkJCSAgICAgIFwKICAgICAgIGRvbmU7CQkJCQkJCSAgICAgIFwKICAgICBkb25lOwkJ
CQkJCQkgICAgICBcCiAgIGRvbmU7CQkJCQkJCSAgICAgIFwKICAgZWNobyAiXCQoaW5zdF9pbmNs
dWRlZGlyKS8lLmg6ICRkaXIvJS5oIFwkKCtmb3JjZSkiOwkgICAgICBcCiAgIGVjaG8gIglcJChk
by1pbnN0YWxsKSI7IAkJCQkgICAgICBcCiBkb25lOwkJCQkJCQkJICAgICAgXAogZWNobyAnc3lz
ZC1ydWxlcy1kb25lID0gdCcpID4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRp
dmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9zeXNkLXJ1
bGVzVAptdiAtZiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4
Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1
LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3N5c2QtcnVsZXNUIC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1
aWxkLXg4Nl82NC1jY2RzZGstbGludXgvc3lzZC1ydWxlcwpmb3IgZGlyIGluIC9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGst
bGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4
Nl82NC1jY2RzZGstbGludXggc3lzZGVwcy94ODZfNjQvZWxmIG5wdGwvc3lzZGVwcy91bml4L3N5
c3YvbGludXgveDg2XzY0IHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCBzeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCBucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IG5w
dGwvc3lzZGVwcy9wdGhyZWFkIHN5c2RlcHMvcHRocmVhZCBwb3J0cy9zeXNkZXBzL3VuaXgvc3lz
di9saW51eCBzeXNkZXBzL3VuaXgvc3lzdi9saW51eCBzeXNkZXBzL2dudSBzeXNkZXBzL3VuaXgv
Y29tbW9uIHN5c2RlcHMvdW5peC9tbWFuIHN5c2RlcHMvdW5peC9pbmV0IG5wdGwvc3lzZGVwcy91
bml4L3N5c3YgcG9ydHMvc3lzZGVwcy91bml4L3N5c3Ygc3lzZGVwcy91bml4L3N5c3Ygc3lzZGVw
cy91bml4L3g4Nl82NCBucHRsL3N5c2RlcHMvdW5peCBwb3J0cy9zeXNkZXBzL3VuaXggc3lzZGVw
cy91bml4IHN5c2RlcHMvcG9zaXggc3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCBzeXNkZXBz
L3g4Nl82NC9mcHUgc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIG5wdGwvc3lzZGVwcy94ODZfNjQg
c3lzZGVwcy94ODZfNjQgc3lzZGVwcy93b3Jkc2l6ZS02NCBzeXNkZXBzL2llZWU3NTQvbGRibC05
NiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IHN5c2RlcHMvaWVlZTc1NC9kYmwt
NjQgc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiBzeXNkZXBzL2llZWU3NTQgc3lzZGVwcy9nZW5lcmlj
L2VsZiBzeXNkZXBzL2dlbmVyaWMgIG5wdGwgIHBvcnRzOyBkbyBcCiAgdGVzdCAtZiAkZGlyL3N5
c2NhbGxzLmxpc3QgJiYgXAogIHsgc3lzZGlycz0nc3lzZGVwcy94ODZfNjQvZWxmIG5wdGwvc3lz
ZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82
NCBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCBucHRsL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4IG5wdGwvc3lzZGVwcy9wdGhyZWFkIHN5c2RlcHMvcHRocmVhZCBwb3J0cy9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eCBzeXNkZXBzL3VuaXgvc3lzdi9saW51eCBzeXNkZXBzL2dudSBz
eXNkZXBzL3VuaXgvY29tbW9uIHN5c2RlcHMvdW5peC9tbWFuIHN5c2RlcHMvdW5peC9pbmV0IG5w
dGwvc3lzZGVwcy91bml4L3N5c3YgcG9ydHMvc3lzZGVwcy91bml4L3N5c3Ygc3lzZGVwcy91bml4
L3N5c3Ygc3lzZGVwcy91bml4L3g4Nl82NCBucHRsL3N5c2RlcHMvdW5peCBwb3J0cy9zeXNkZXBz
L3VuaXggc3lzZGVwcy91bml4IHN5c2RlcHMvcG9zaXggc3lzZGVwcy94ODZfNjQvZnB1L211bHRp
YXJjaCBzeXNkZXBzL3g4Nl82NC9mcHUgc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIG5wdGwvc3lz
ZGVwcy94ODZfNjQgc3lzZGVwcy94ODZfNjQgc3lzZGVwcy93b3Jkc2l6ZS02NCBzeXNkZXBzL2ll
ZWU3NTQvbGRibC05NiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IHN5c2RlcHMv
aWVlZTc1NC9kYmwtNjQgc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiBzeXNkZXBzL2llZWU3NTQgc3lz
ZGVwcy9nZW5lcmljL2VsZiBzeXNkZXBzL2dlbmVyaWMnIFwKICAgIGFzbV9DUFA9J3g4Nl82NC1j
Y2RzZGstbGludXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgtdGNib290c3Ry
YXAgLWMgLWlzeXN0ZW0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNy
b290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9z
eXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlICAtSWluY2x1ZGUgIC1JL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYv
YnVpbGQteDg2XzY0LWNjZHNkay1saW51eCAtSXN5c2RlcHMveDg2XzY0L2VsZiAtSW5wdGwvc3lz
ZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC1Jc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2
XzY0IC1Jc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLUlucHRsL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4IC1JbnB0bC9zeXNkZXBzL3B0aHJlYWQgLUlzeXNkZXBzL3B0aHJlYWQg
LUlwb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSXN5c2RlcHMvdW5peC9zeXN2L2xpbnV4
IC1Jc3lzZGVwcy9nbnUgLUlzeXNkZXBzL3VuaXgvY29tbW9uIC1Jc3lzZGVwcy91bml4L21tYW4g
LUlzeXNkZXBzL3VuaXgvaW5ldCAtSW5wdGwvc3lzZGVwcy91bml4L3N5c3YgLUlwb3J0cy9zeXNk
ZXBzL3VuaXgvc3lzdiAtSXN5c2RlcHMvdW5peC9zeXN2IC1Jc3lzZGVwcy91bml4L3g4Nl82NCAt
SW5wdGwvc3lzZGVwcy91bml4IC1JcG9ydHMvc3lzZGVwcy91bml4IC1Jc3lzZGVwcy91bml4IC1J
c3lzZGVwcy9wb3NpeCAtSXN5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggLUlzeXNkZXBzL3g4
Nl82NC9mcHUgLUlzeXNkZXBzL3g4Nl82NC9tdWx0aWFyY2ggLUlucHRsL3N5c2RlcHMveDg2XzY0
IC1Jc3lzZGVwcy94ODZfNjQgLUlzeXNkZXBzL3dvcmRzaXplLTY0IC1Jc3lzZGVwcy9pZWVlNzU0
L2xkYmwtOTYgLUlzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC1Jc3lzZGVwcy9p
ZWVlNzU0L2RibC02NCAtSXN5c2RlcHMvaWVlZTc1NC9mbHQtMzIgLUlzeXNkZXBzL2llZWU3NTQg
LUlzeXNkZXBzL2dlbmVyaWMvZWxmIC1Jc3lzZGVwcy9nZW5lcmljIC1JbnB0bCAtSXBvcnRzICAg
LUlsaWJpbyAtSS4gLW5vc3RkaW5jIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGst
bGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQv
aW5jbHVkZSAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9z
eXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9z
c3Nkay1pbml0aWFsL2djYy94ODZfNjQtY2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUtZml4ZWQg
LWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9v
dHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZSAtRF9MSUJDX1JFRU5UUkFOVCAtaW5j
bHVkZSBpbmNsdWRlL2xpYmMtc3ltYm9scy5oICAgICAgIC1EQVNTRU1CTEVSICAtZyAtV2EsLS1u
b2V4ZWNzdGFjayAgIC1FIC14IGFzc2VtYmxlci13aXRoLWNwcCcgXAogICAgL2Jpbi9zaCBzeXNk
ZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaCAkZGlyIHx8IGV4aXQgMTsgfTsgXAogIHRlc3QgJGRp
ciA9IHN5c2RlcHMvdW5peCAmJiBicmVhazsgXApkb25lID4gL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xp
YmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNk
ay1saW51eC9zeXNkLXN5c2NhbGxzVApJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9zeXNkZXBzL3Vu
aXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4vc3lzZGVwcy91bml4L3g4
Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIHN5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46
MToKc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJy
b3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0
ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6
MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAu
aDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82
NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKc3lzZGVwcy91
bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlz
dGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJ
biBmaWxlIGluY2x1ZGVkIGZyb20gLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAg
ICAgICAgICAgICBmcm9tIC4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAg
ICAgICAgICAgICBmcm9tIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoy
MywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3Vj
aCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1
ZGVkIGZyb20gLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBm
cm9tIC4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBm
cm9tIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAg
ICAgICAgICBmcm9tIDxzdGRpbj46MToKc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2Nh
bGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRp
cmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9z
eXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4vc3lzZGVw
cy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIHN5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9t
IDxzdGRpbj46MToKc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDog
ZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21w
aWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9zeXNkZXBzL3VuaXgv
c3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4vc3lzZGVwcy91bml4L3g4Nl82
NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIHN5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToK
c3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6
IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJt
aW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6
MCwKICAgICAgICAgICAgICAgICBmcm9tIC4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDox
OSwKICAgICAgICAgICAgICAgICBmcm9tIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9z
eXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKc3lzZGVwcy91bml4
L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQu
aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBm
aWxlIGluY2x1ZGVkIGZyb20gLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAg
ICAgICAgICBmcm9tIC4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAg
ICAgICAgICBmcm9tIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywK
ICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKc3lzZGVwcy91bml4L3N5c3YvbGludXgv
c3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBm
aWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVk
IGZyb20gLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9t
IC4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9t
IHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAg
ICAgICBmcm9tIDxzdGRpbj46MToKc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwu
aDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9zeXNk
ZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4vc3lzZGVwcy91
bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIHN5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxz
dGRpbj46MToKc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0
YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9zeXNkZXBzL3VuaXgvc3lz
ZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4vc3lzZGVwcy91bml4L3g4Nl82NC9z
eXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKc3lz
ZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFz
bS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5h
dGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwK
ICAgICAgICAgICAgICAgICBmcm9tIC4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwK
ICAgICAgICAgICAgICAgICBmcm9tIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNk
ZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKc3lzZGVwcy91bml4L3N5
c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxl
IGluY2x1ZGVkIGZyb20gLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAg
ICAgICBmcm9tIC4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAg
ICAgICBmcm9tIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAg
ICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lz
L3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4v
c3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIHN5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAg
ICBmcm9tIDxzdGRpbj46MToKc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoy
NToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
eQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9zeXNkZXBz
L3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4vc3lzZGVwcy91bml4
L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIHN5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRp
bj46MToKc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwg
ZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlv
biB0ZXJtaW5hdGVkLgpzeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogbm8gbnVtYmVyIGZv
ciAsIG5vLWVycm9yIHN5c2NhbGwgKF9fc3lzY2FsbF9jbG9ja19nZXR0aW1lICkKZ2F3ayAtZiBz
Y3JpcHRzL2dlbi1zb3J0ZWQuYXdrIFwKICAgICAgIC12IHN1YmRpcnM9J2NzdSBhc3NlcnQgY3R5
cGUgbG9jYWxlIGludGwgY2F0Z2V0cyBtYXRoIHNldGptcCBzaWduYWwgc3RkbGliIHN0ZGlvLWNv
bW1vbiBsaWJpbyBtYWxsb2Mgc3RyaW5nIHdjc21icyB0aW1lIGRpcmVudCBncnAgcHdkIHBvc2l4
IGlvIHRlcm1pb3MgcmVzb3VyY2UgbWlzYyBzb2NrZXQgc3lzdmlwYyBnbW9uIGdudWxpYiBpY29u
diBpY29udmRhdGEgd2N0eXBlIG1hbnVhbCBzaGFkb3cgZ3NoYWRvdyBwbyBhcmdwIGNyeXB0IG5z
cyBsb2NhbGVkYXRhIHRpbWV6b25lIHJ0IGNvbmZvcm0gZGVidWcgbGliaWRuIGRsZmNuIGVsZicg
XAogICAgICAgLXYgc3JjcGZ4PScnIFwKICAgICAgIG5wdGwvc3lzZGVwcy9wdGhyZWFkL1N1YmRp
cnMgc3lzZGVwcy91bml4L2luZXQvU3ViZGlycyBzeXNkZXBzL3VuaXgvU3ViZGlycyBhc3NlcnQv
RGVwZW5kIGludGwvRGVwZW5kIGNhdGdldHMvRGVwZW5kIHN0ZGxpYi9EZXBlbmQgc3RkaW8tY29t
bW9uL0RlcGVuZCBsaWJpby9EZXBlbmQgbWFsbG9jL0RlcGVuZCBzdHJpbmcvRGVwZW5kIHdjc21i
cy9EZXBlbmQgdGltZS9EZXBlbmQgcG9zaXgvRGVwZW5kIGljb252ZGF0YS9EZXBlbmQgbnNzL0Rl
cGVuZCBsb2NhbGVkYXRhL0RlcGVuZCBydC9EZXBlbmQgZGVidWcvRGVwZW5kID4gL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNk
ay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQt
eDg2XzY0LWNjZHNkay1saW51eC9zeXNkLXNvcnRlZC10bXAKbXYgLWYgL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51
eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0
LWNjZHNkay1saW51eC9zeXNkLXNvcnRlZC10bXAgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5p
dGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51
eC9zeXNkLXNvcnRlZAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51
eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvZWdsaWJjLTJfMTUv
bGliYycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGli
Yy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9lZ2xpYmMtMl8xNS9saWJjJwp7
IGVjaG8gJyNpbmNsdWRlICJwb3NpeC9iaXRzL3Bvc2l4MV9saW0uaCInOwkJXAogIGVjaG8gJyNk
ZWZpbmUgX0xJQkMgMSc7CQkJCQlcCiAgZWNobyAnI2luY2x1ZGUgIm1pc2Mvc3lzL3Vpby5oIic7
IH0gfAkJCVwKeDg2XzY0LWNjZHNkay1saW51eC1nY2MgIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNk
ay1saW51eC10Y2Jvb3RzdHJhcCAtRSAtZE0gLU1EIC1NUCAtTUYgL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9l
Z2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNj
ZHNkay1saW51eC9iaXRzL3N0ZGlvX2xpbS5kVCAtTVQgJy9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJj
LWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGst
bGludXgvYml0cy9zdGRpb19saW0uaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMv
c3RkaW9fbGltLmQnIAlcCiAgICAgIC1JaW5jbHVkZSAgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGli
Yy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2Rr
LWxpbnV4IC1Jc3lzZGVwcy94ODZfNjQvZWxmIC1JbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC94ODZfNjQgLUlzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUlzeXNkZXBzL3VuaXgv
c3lzdi9saW51eC93b3Jkc2l6ZS02NCAtSW5wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUlu
cHRsL3N5c2RlcHMvcHRocmVhZCAtSXN5c2RlcHMvcHRocmVhZCAtSXBvcnRzL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4IC1Jc3lzZGVwcy91bml4L3N5c3YvbGludXggLUlzeXNkZXBzL2dudSAtSXN5
c2RlcHMvdW5peC9jb21tb24gLUlzeXNkZXBzL3VuaXgvbW1hbiAtSXN5c2RlcHMvdW5peC9pbmV0
IC1JbnB0bC9zeXNkZXBzL3VuaXgvc3lzdiAtSXBvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC1Jc3lz
ZGVwcy91bml4L3N5c3YgLUlzeXNkZXBzL3VuaXgveDg2XzY0IC1JbnB0bC9zeXNkZXBzL3VuaXgg
LUlwb3J0cy9zeXNkZXBzL3VuaXggLUlzeXNkZXBzL3VuaXggLUlzeXNkZXBzL3Bvc2l4IC1Jc3lz
ZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCAtSXN5c2RlcHMveDg2XzY0L2ZwdSAtSXN5c2RlcHMv
eDg2XzY0L211bHRpYXJjaCAtSW5wdGwvc3lzZGVwcy94ODZfNjQgLUlzeXNkZXBzL3g4Nl82NCAt
SXN5c2RlcHMvd29yZHNpemUtNjQgLUlzeXNkZXBzL2llZWU3NTQvbGRibC05NiAtSXN5c2RlcHMv
aWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLUlzeXNkZXBzL2llZWU3NTQvZGJsLTY0IC1Jc3lz
ZGVwcy9pZWVlNzU0L2ZsdC0zMiAtSXN5c2RlcHMvaWVlZTc1NCAtSXN5c2RlcHMvZ2VuZXJpYy9l
bGYgLUlzeXNkZXBzL2dlbmVyaWMgLUlucHRsIC1JcG9ydHMgICAtSWxpYmlvIC1JLiAtbm9zdGRp
bmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9v
dHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGst
aW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lzdGVtIC9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51
eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4
Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNj
ZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxp
bnV4L3Vzci9pbmNsdWRlIC14YyAtIC1vIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwt
bmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0
cy9zdGRpb19saW0uaFQKbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2xvY2FsX2xp
bS5oOjM5OjI2OiBmYXRhbCBlcnJvcjogbGludXgvbGltaXRzLmg6IE5vIHN1Y2ggZmlsZSBvciBk
aXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4Kc2VkICcvXlsgCV0qJS8hcy8jLiokLy87
L15bIAldKiQvZDtzL15bIAldKiUvIy8nIFwKICAgIG5wdGwvc2hsaWItdmVyc2lvbnMgbGliaWRu
L3NobGliLXZlcnNpb25zIG5wdGxfZGIvc2hsaWItdmVyc2lvbnMgc2hsaWItdmVyc2lvbnMgXAp8
IHg4Nl82NC1jY2RzZGstbGludXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgt
dGNib290c3RyYXAgLUUgLXVuZGVmIC1pc3lzdGVtL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvb3B0L2Nv
bmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZSAg
LUlpbmNsdWRlICAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIu
MTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXggLUlzeXNkZXBzL3g4Nl82
NC9lbGYgLUlucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSXN5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3g4Nl82NCAtSXN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0
IC1JbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSW5wdGwvc3lzZGVwcy9wdGhyZWFkIC1J
c3lzZGVwcy9wdGhyZWFkIC1JcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUlzeXNkZXBz
L3VuaXgvc3lzdi9saW51eCAtSXN5c2RlcHMvZ251IC1Jc3lzZGVwcy91bml4L2NvbW1vbiAtSXN5
c2RlcHMvdW5peC9tbWFuIC1Jc3lzZGVwcy91bml4L2luZXQgLUlucHRsL3N5c2RlcHMvdW5peC9z
eXN2IC1JcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUlzeXNkZXBzL3VuaXgvc3lzdiAtSXN5c2Rl
cHMvdW5peC94ODZfNjQgLUlucHRsL3N5c2RlcHMvdW5peCAtSXBvcnRzL3N5c2RlcHMvdW5peCAt
SXN5c2RlcHMvdW5peCAtSXN5c2RlcHMvcG9zaXggLUlzeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlh
cmNoIC1Jc3lzZGVwcy94ODZfNjQvZnB1IC1Jc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1JbnB0
bC9zeXNkZXBzL3g4Nl82NCAtSXN5c2RlcHMveDg2XzY0IC1Jc3lzZGVwcy93b3Jkc2l6ZS02NCAt
SXN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1Jc3lzZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6
ZS02NCAtSXN5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUlzeXNkZXBzL2llZWU3NTQvZmx0LTMyIC1J
c3lzZGVwcy9pZWVlNzU0IC1Jc3lzZGVwcy9nZW5lcmljL2VsZiAtSXN5c2RlcHMvZ2VuZXJpYyAt
SW5wdGwgLUlwb3J0cyAgIC1JbGliaW8gLUkuIC1ub3N0ZGluYyAtaXN5c3RlbSAvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xp
Yi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQtY2Nk
c2RrLWxpbnV4LzQuNi40L2luY2x1ZGUgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNk
ay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYu
NC9pbmNsdWRlLWZpeGVkIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L29wdC9jb25jb3Jk
aWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUgLURfTElC
Q19SRUVOVFJBTlQgLWluY2x1ZGUgaW5jbHVkZS9saWJjLXN5bWJvbHMuaCAgICAgICAteCBhc3Nl
bWJsZXItd2l0aC1jcHAgLSBcCgkgICA+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwt
bmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvc2hs
aWItdmVyc2lvbnMudi5pVAptdiAtZiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3NobGli
LXZlcnNpb25zLnYuaVQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29y
ay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGst
Mi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9zaGxpYi12ZXJzaW9u
cy52LmkKc2VkICcvXlsgCV0qIy9kOy9eWyAJXSokL2QnIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJj
LWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGst
bGludXgvc2hsaWItdmVyc2lvbnMudi5pID4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlh
bC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9z
aGxpYi12ZXJzaW9ucy52VAptdiAtZiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3NobGli
LXZlcnNpb25zLnZUIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIu
MTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvc2hsaWItdmVyc2lvbnMu
dgpnYXdrIC12IGRlZmF1bHRfc2V0bmFtZT0nJyBcCiAgICAgICAtdiBjcHU9J3g4Nl82NCcgXAog
ICAgICAgLXYgdmVuZG9yPSdjY2RzZGsnIFwKICAgICAgIC12IG9zPSdsaW51eC1nbnUnIFwKICAg
ICAgIC1mIHNjcmlwdHMvc292ZXJzaW9ucy5hd2sgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5p
dGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51
eC9zaGxpYi12ZXJzaW9ucy52ID4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRp
dmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9zb3ZlcnNp
b25zLmlUCm12IC1mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIu
MTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvc292ZXJzaW9ucy5pVCAv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVz
ZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4
Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3NvdmVyc2lvbnMuaQpzZWQgJy9eWyAJXSolLyFz
LyMuKiQvLzsvXlsgCV0qJC9kO3MvXlsgCV0qJS8jLycgXAogICAgVmVyc2lvbnMuZGVmIFwKfCB4
ODZfNjQtY2Nkc2RrLWxpbnV4LWdjYyAgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4LXRj
Ym9vdHN0cmFwIC1FIC11bmRlZiAtaXN5c3RlbS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L29wdC9jb25j
b3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUgIC1J
aW5jbHVkZSAgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4
Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1
LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4IC1Jc3lzZGVwcy94ODZfNjQv
ZWxmIC1JbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUlzeXNkZXBzL3VuaXgv
c3lzdi9saW51eC94ODZfNjQgLUlzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCAt
SW5wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUlucHRsL3N5c2RlcHMvcHRocmVhZCAtSXN5
c2RlcHMvcHRocmVhZCAtSXBvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1Jc3lzZGVwcy91
bml4L3N5c3YvbGludXggLUlzeXNkZXBzL2dudSAtSXN5c2RlcHMvdW5peC9jb21tb24gLUlzeXNk
ZXBzL3VuaXgvbW1hbiAtSXN5c2RlcHMvdW5peC9pbmV0IC1JbnB0bC9zeXNkZXBzL3VuaXgvc3lz
diAtSXBvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC1Jc3lzZGVwcy91bml4L3N5c3YgLUlzeXNkZXBz
L3VuaXgveDg2XzY0IC1JbnB0bC9zeXNkZXBzL3VuaXggLUlwb3J0cy9zeXNkZXBzL3VuaXggLUlz
eXNkZXBzL3VuaXggLUlzeXNkZXBzL3Bvc2l4IC1Jc3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJj
aCAtSXN5c2RlcHMveDg2XzY0L2ZwdSAtSXN5c2RlcHMveDg2XzY0L211bHRpYXJjaCAtSW5wdGwv
c3lzZGVwcy94ODZfNjQgLUlzeXNkZXBzL3g4Nl82NCAtSXN5c2RlcHMvd29yZHNpemUtNjQgLUlz
eXNkZXBzL2llZWU3NTQvbGRibC05NiAtSXN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUt
NjQgLUlzeXNkZXBzL2llZWU3NTQvZGJsLTY0IC1Jc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAtSXN5
c2RlcHMvaWVlZTc1NCAtSXN5c2RlcHMvZ2VuZXJpYy9lbGYgLUlzeXNkZXBzL2dlbmVyaWMgLUlu
cHRsIC1JcG9ydHMgICAtSWxpYmlvIC1JLiAtbm9zdGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIv
eDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNk
ay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGst
bGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQv
aW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlh
L3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlIC1EX0xJQkNf
UkVFTlRSQU5UIC1pbmNsdWRlIGluY2x1ZGUvbGliYy1zeW1ib2xzLmggICAgICAgLXggYXNzZW1i
bGVyLXdpdGgtY3BwIC0gXAoJICAgPiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L1ZlcnNp
b25zLmRlZi52LmlUCm12IC1mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZl
c2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvVmVyc2lvbnMu
ZGVmLnYuaVQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZf
NjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1y
Nitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9WZXJzaW9ucy5kZWYudi5pCnNl
ZCAnL15bIAldKiMvZDsvXlsgCV0qJC9kJyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFs
LW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L1Zl
cnNpb25zLmRlZi52LmkgPiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93
b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNk
ay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L1ZlcnNpb25zLmRl
Zi52VAptdiAtZiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4
Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1
LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L1ZlcnNpb25zLmRlZi52VCAv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVz
ZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4
Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L1ZlcnNpb25zLmRlZi52Cnsgd2hpbGUgcmVhZCB3
aGljaCBsaWIgdmVyc2lvbiBzZXRuYW1lOyBkbyBcCiAgICB0ZXN0IHgiJHdoaWNoIiA9IHhERUZB
VUxUIHx8IGNvbnRpbnVlOyBcCiAgICB0ZXN0IC16ICIkc2V0bmFtZSIgfHwgZWNobyAiJGxpYiA6
ICRzZXRuYW1lIjsgXAogIGRvbmUgPCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3NvdmVy
c2lvbnMuaTsgXAogIGNhdCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93
b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNk
ay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L1ZlcnNpb25zLmRl
Zi52OyBcCn0gfCBMQ19BTEw9QyBnYXdrIC1mIHNjcmlwdHMvZmlyc3R2ZXJzaW9ucy5hd2sgPiAv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVz
ZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4
Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L1ZlcnNpb25zLmFsbFQKbXYgLWYgL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNk
ay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQt
eDg2XzY0LWNjZHNkay1saW51eC9WZXJzaW9ucy5hbGxUIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJj
LWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGst
bGludXgvVmVyc2lvbnMuYWxsCkxDX0FMTD1DIGdhd2sgLXYgb2xkZXN0X2FiaT1kZWZhdWx0IC1m
IHNjcmlwdHMvYWJpLXZlcnNpb25zLmF3ayAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFs
LW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L1Zl
cnNpb25zLmFsbCA+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIu
MTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYWJpLXZlcnNpb25zLmhU
Cm12IC1mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0
LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYr
c3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYWJpLXZlcnNpb25zLmhUIC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1
aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYWJpLXZlcnNpb25zLmgKc2VkICcvXlsgCV0qJS8hcy8j
LiokLy87L15bIAldKiQvZDtzL15bIAldKiUvIy8nIFwKICAgIGNzdS9WZXJzaW9ucyBpY29udi9W
ZXJzaW9ucyBsb2NhbGUvVmVyc2lvbnMgYXNzZXJ0L1ZlcnNpb25zIGN0eXBlL1ZlcnNpb25zIGlu
dGwvVmVyc2lvbnMgY2F0Z2V0cy9WZXJzaW9ucyBtYXRoL1ZlcnNpb25zIHNldGptcC9WZXJzaW9u
cyBzaWduYWwvVmVyc2lvbnMgc3RkbGliL1ZlcnNpb25zIHN0ZGlvLWNvbW1vbi9WZXJzaW9ucyBs
aWJpby9WZXJzaW9ucyBkbGZjbi9WZXJzaW9ucyBtYWxsb2MvVmVyc2lvbnMgc3RyaW5nL1ZlcnNp
b25zIHdjc21icy9WZXJzaW9ucyB0aW1lL1ZlcnNpb25zIGRpcmVudC9WZXJzaW9ucyBncnAvVmVy
c2lvbnMgcHdkL1ZlcnNpb25zIHBvc2l4L1ZlcnNpb25zIGlvL1ZlcnNpb25zIHRlcm1pb3MvVmVy
c2lvbnMgcmVzb3VyY2UvVmVyc2lvbnMgbWlzYy9WZXJzaW9ucyBzb2NrZXQvVmVyc2lvbnMgc3lz
dmlwYy9WZXJzaW9ucyBnbW9uL1ZlcnNpb25zIHdjdHlwZS9WZXJzaW9ucyBzaGFkb3cvVmVyc2lv
bnMgZ3NoYWRvdy9WZXJzaW9ucyBhcmdwL1ZlcnNpb25zIGNyeXB0L1ZlcnNpb25zIG5wdGwvVmVy
c2lvbnMgcmVzb2x2L1ZlcnNpb25zIG5zcy9WZXJzaW9ucyBydC9WZXJzaW9ucyBkZWJ1Zy9WZXJz
aW9ucyBsaWJpZG4vVmVyc2lvbnMgbnB0bF9kYi9WZXJzaW9ucyBpbmV0L1ZlcnNpb25zIGhlc2lv
ZC9WZXJzaW9ucyBzdW5ycGMvVmVyc2lvbnMgbmlzL1ZlcnNpb25zIHN0cmVhbXMvVmVyc2lvbnMg
bG9naW4vVmVyc2lvbnMgZWxmL1ZlcnNpb25zIG5wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgv
eDg2XzY0L1ZlcnNpb25zIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9WZXJzaW9ucyBz
eXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9WZXJzaW9ucyBucHRsL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L1ZlcnNpb25zIHN5c2RlcHMvcHRocmVhZC9WZXJzaW9ucyBzeXNkZXBz
L3VuaXgvc3lzdi9saW51eC9WZXJzaW9ucyBzeXNkZXBzL3VuaXgvc3lzdi9WZXJzaW9ucyBzeXNk
ZXBzL3g4Nl82NC9tdWx0aWFyY2gvVmVyc2lvbnMgc3lzZGVwcy94ODZfNjQvVmVyc2lvbnMgc3lz
ZGVwcy93b3Jkc2l6ZS02NC9WZXJzaW9ucyBcCnwgeDg2XzY0LWNjZHNkay1saW51eC1nY2MgIC0t
c3lzcm9vdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94
ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC10Y2Jvb3RzdHJhcCAtRSAtdW5kZWYgLWlzeXN0
ZW0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQt
bmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZf
NjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlICAtSWluY2x1ZGUgIC1JL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51
eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0
LWNjZHNkay1saW51eCAtSXN5c2RlcHMveDg2XzY0L2VsZiAtSW5wdGwvc3lzZGVwcy91bml4L3N5
c3YvbGludXgveDg2XzY0IC1Jc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC1Jc3lzZGVw
cy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLUlucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4IC1JbnB0bC9zeXNkZXBzL3B0aHJlYWQgLUlzeXNkZXBzL3B0aHJlYWQgLUlwb3J0cy9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eCAtSXN5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1Jc3lzZGVwcy9n
bnUgLUlzeXNkZXBzL3VuaXgvY29tbW9uIC1Jc3lzZGVwcy91bml4L21tYW4gLUlzeXNkZXBzL3Vu
aXgvaW5ldCAtSW5wdGwvc3lzZGVwcy91bml4L3N5c3YgLUlwb3J0cy9zeXNkZXBzL3VuaXgvc3lz
diAtSXN5c2RlcHMvdW5peC9zeXN2IC1Jc3lzZGVwcy91bml4L3g4Nl82NCAtSW5wdGwvc3lzZGVw
cy91bml4IC1JcG9ydHMvc3lzZGVwcy91bml4IC1Jc3lzZGVwcy91bml4IC1Jc3lzZGVwcy9wb3Np
eCAtSXN5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggLUlzeXNkZXBzL3g4Nl82NC9mcHUgLUlz
eXNkZXBzL3g4Nl82NC9tdWx0aWFyY2ggLUlucHRsL3N5c2RlcHMveDg2XzY0IC1Jc3lzZGVwcy94
ODZfNjQgLUlzeXNkZXBzL3dvcmRzaXplLTY0IC1Jc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLUlz
eXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC1Jc3lzZGVwcy9pZWVlNzU0L2RibC02
NCAtSXN5c2RlcHMvaWVlZTc1NC9mbHQtMzIgLUlzeXNkZXBzL2llZWU3NTQgLUlzeXNkZXBzL2dl
bmVyaWMvZWxmIC1Jc3lzZGVwcy9nZW5lcmljIC1JbnB0bCAtSXBvcnRzICAgLUlsaWJpbyAtSS4g
LW5vc3RkaW5jIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNy
b3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZSAtaXN5
c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZf
NjQtbGludXgvdXNyL2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFs
L2djYy94ODZfNjQtY2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUtZml4ZWQgLWlzeXN0ZW0gL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2
ZXNkay1jY2RzZGstbGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNj
ZHNkay1saW51eC91c3IvaW5jbHVkZSAtRF9MSUJDX1JFRU5UUkFOVCAtaW5jbHVkZSBpbmNsdWRl
L2xpYmMtc3ltYm9scy5oICAgICAgIC14IGFzc2VtYmxlci13aXRoLWNwcCAtIFwKCSAgID4gL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYv
YnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9WZXJzaW9ucy52LmlUCm12IC1mIC9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGst
bGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4
Nl82NC1jY2RzZGstbGludXgvVmVyc2lvbnMudi5pVCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1p
bml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxp
bnV4L1ZlcnNpb25zLnYuaQpzZWQgJy9eWyAJXSojL2Q7L15bIAldKiQvZCcgL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1s
aW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2
XzY0LWNjZHNkay1saW51eC9WZXJzaW9ucy52LmkgPiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1p
bml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxp
bnV4L1ZlcnNpb25zLnZUCm12IC1mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0
aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvVmVyc2lv
bnMudlQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQt
bmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitz
dm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9WZXJzaW9ucy52CiggZWNobyAnc3lz
ZC12ZXJzaW9ucy1zdWJkaXJzID0gY3N1IGljb252IGxvY2FsZSBsb2NhbGVkYXRhIGljb252ZGF0
YSBhc3NlcnQgY3R5cGUgaW50bCBjYXRnZXRzIG1hdGggc2V0am1wIHNpZ25hbCBzdGRsaWIgc3Rk
aW8tY29tbW9uIGxpYmlvIGRsZmNuIG1hbGxvYyBzdHJpbmcgd2NzbWJzIHRpbWV6b25lIHRpbWUg
ZGlyZW50IGdycCBwd2QgcG9zaXggaW8gdGVybWlvcyByZXNvdXJjZSBtaXNjIHNvY2tldCBzeXN2
aXBjIGdtb24gZ251bGliIHdjdHlwZSBtYW51YWwgc2hhZG93IGdzaGFkb3cgcG8gYXJncCBjcnlw
dCBucHRsIHJlc29sdiBuc3MgcnQgY29uZm9ybSBkZWJ1ZyBsaWJpZG4gbnB0bF9kYiBpbmV0IGhl
c2lvZCBzdW5ycGMgbmlzIG5zY2Qgc3RyZWFtcyBsb2dpbiBlbGYgc3lzZGVwcy94ODZfNjQvZWxm
IG5wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IHN5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NCBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCBucHRsL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4IG5wdGwvc3lzZGVwcy9wdGhyZWFkIHN5c2RlcHMvcHRocmVhZCBw
b3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCBzeXNkZXBzL3VuaXgvc3lzdi9saW51eCBzeXNk
ZXBzL2dudSBzeXNkZXBzL3VuaXgvY29tbW9uIHN5c2RlcHMvdW5peC9tbWFuIHN5c2RlcHMvdW5p
eC9pbmV0IG5wdGwvc3lzZGVwcy91bml4L3N5c3YgcG9ydHMvc3lzZGVwcy91bml4L3N5c3Ygc3lz
ZGVwcy91bml4L3N5c3Ygc3lzZGVwcy91bml4L3g4Nl82NCBucHRsL3N5c2RlcHMvdW5peCBwb3J0
cy9zeXNkZXBzL3VuaXggc3lzZGVwcy91bml4IHN5c2RlcHMvcG9zaXggc3lzZGVwcy94ODZfNjQv
ZnB1L211bHRpYXJjaCBzeXNkZXBzL3g4Nl82NC9mcHUgc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNo
IG5wdGwvc3lzZGVwcy94ODZfNjQgc3lzZGVwcy94ODZfNjQgc3lzZGVwcy93b3Jkc2l6ZS02NCBz
eXNkZXBzL2llZWU3NTQvbGRibC05NiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0
IHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQgc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiBzeXNkZXBzL2ll
ZWU3NTQgc3lzZGVwcy9nZW5lcmljL2VsZiBzeXNkZXBzL2dlbmVyaWMnIDsgXAogIGNhdCAvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGst
Y2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9i
dWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L1ZlcnNpb25zLnYgXAogIHwgTENfQUxMPUMgZ2F3ayAt
diBidWlsZHJvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94
ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4x
NS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC8gLXYgZGVmc2ZpbGU9L2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYv
YnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9WZXJzaW9ucy5hbGwgXAoJCSAgICAtdiBtb3ZlX2lm
X2NoYW5nZT0nL2Jpbi9zaCBzY3JpcHRzL21vdmUtaWYtY2hhbmdlJyBcCgkJICAgIC12IHZlcnNp
b25pbmc9eWVzIFwKCQkgICAgLWYgc2NyaXB0cy92ZXJzaW9ucy5hd2s7IFwKKSA+IC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2Rz
ZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxk
LXg4Nl82NC1jY2RzZGstbGludXgvc3lzZC12ZXJzaW9uc1QKbXYgLWYgL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51
eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0
LWNjZHNkay1saW51eC9zeXNkLXZlcnNpb25zVCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0
aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4
L3N5c2QtdmVyc2lvbnMKZm9yIGRpciBpbiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFs
LW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4IHN5
c2RlcHMveDg2XzY0L2VsZiBucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCBzeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNp
emUtNjQgbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCBucHRsL3N5c2RlcHMvcHRocmVhZCBz
eXNkZXBzL3B0aHJlYWQgcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggc3lzZGVwcy91bml4
L3N5c3YvbGludXggc3lzZGVwcy9nbnUgc3lzZGVwcy91bml4L2NvbW1vbiBzeXNkZXBzL3VuaXgv
bW1hbiBzeXNkZXBzL3VuaXgvaW5ldCBucHRsL3N5c2RlcHMvdW5peC9zeXN2IHBvcnRzL3N5c2Rl
cHMvdW5peC9zeXN2IHN5c2RlcHMvdW5peC9zeXN2IHN5c2RlcHMvdW5peC94ODZfNjQgbnB0bC9z
eXNkZXBzL3VuaXggcG9ydHMvc3lzZGVwcy91bml4IHN5c2RlcHMvdW5peCBzeXNkZXBzL3Bvc2l4
IHN5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggc3lzZGVwcy94ODZfNjQvZnB1IHN5c2RlcHMv
eDg2XzY0L211bHRpYXJjaCBucHRsL3N5c2RlcHMveDg2XzY0IHN5c2RlcHMveDg2XzY0IHN5c2Rl
cHMvd29yZHNpemUtNjQgc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgc3lzZGVwcy9pZWVlNzU0L2Ri
bC02NC93b3Jkc2l6ZS02NCBzeXNkZXBzL2llZWU3NTQvZGJsLTY0IHN5c2RlcHMvaWVlZTc1NC9m
bHQtMzIgc3lzZGVwcy9pZWVlNzU0IHN5c2RlcHMvZ2VuZXJpYy9lbGYgc3lzZGVwcy9nZW5lcmlj
ICBucHRsICBwb3J0czsgZG8gXAogIHRlc3QgLWYgJGRpci9zeXNjYWxscy5saXN0ICYmIFwKICB7
IHN5c2RpcnM9J3N5c2RlcHMveDg2XzY0L2VsZiBucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3g4Nl82NCBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgc3lzZGVwcy91bml4L3N5c3Yv
bGludXgvd29yZHNpemUtNjQgbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCBucHRsL3N5c2Rl
cHMvcHRocmVhZCBzeXNkZXBzL3B0aHJlYWQgcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXgg
c3lzZGVwcy91bml4L3N5c3YvbGludXggc3lzZGVwcy9nbnUgc3lzZGVwcy91bml4L2NvbW1vbiBz
eXNkZXBzL3VuaXgvbW1hbiBzeXNkZXBzL3VuaXgvaW5ldCBucHRsL3N5c2RlcHMvdW5peC9zeXN2
IHBvcnRzL3N5c2RlcHMvdW5peC9zeXN2IHN5c2RlcHMvdW5peC9zeXN2IHN5c2RlcHMvdW5peC94
ODZfNjQgbnB0bC9zeXNkZXBzL3VuaXggcG9ydHMvc3lzZGVwcy91bml4IHN5c2RlcHMvdW5peCBz
eXNkZXBzL3Bvc2l4IHN5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggc3lzZGVwcy94ODZfNjQv
ZnB1IHN5c2RlcHMveDg2XzY0L211bHRpYXJjaCBucHRsL3N5c2RlcHMveDg2XzY0IHN5c2RlcHMv
eDg2XzY0IHN5c2RlcHMvd29yZHNpemUtNjQgc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgc3lzZGVw
cy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCBzeXNkZXBzL2llZWU3NTQvZGJsLTY0IHN5c2Rl
cHMvaWVlZTc1NC9mbHQtMzIgc3lzZGVwcy9pZWVlNzU0IHN5c2RlcHMvZ2VuZXJpYy9lbGYgc3lz
ZGVwcy9nZW5lcmljJyBcCiAgICBhc21fQ1BQPSd4ODZfNjQtY2Nkc2RrLWxpbnV4LWdjYyAgLS1z
eXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4
Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4LXRjYm9vdHN0cmFwIC1jIC1pc3lzdGVtL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNk
ay1jY2RzZGstbGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNk
ay1saW51eC91c3IvaW5jbHVkZSAgLUlpbmNsdWRlICAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJj
LWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGst
bGludXggLUlzeXNkZXBzL3g4Nl82NC9lbGYgLUlucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3g4Nl82NCAtSXN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSXN5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3dvcmRzaXplLTY0IC1JbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSW5w
dGwvc3lzZGVwcy9wdGhyZWFkIC1Jc3lzZGVwcy9wdGhyZWFkIC1JcG9ydHMvc3lzZGVwcy91bml4
L3N5c3YvbGludXggLUlzeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSXN5c2RlcHMvZ251IC1Jc3lz
ZGVwcy91bml4L2NvbW1vbiAtSXN5c2RlcHMvdW5peC9tbWFuIC1Jc3lzZGVwcy91bml4L2luZXQg
LUlucHRsL3N5c2RlcHMvdW5peC9zeXN2IC1JcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUlzeXNk
ZXBzL3VuaXgvc3lzdiAtSXN5c2RlcHMvdW5peC94ODZfNjQgLUlucHRsL3N5c2RlcHMvdW5peCAt
SXBvcnRzL3N5c2RlcHMvdW5peCAtSXN5c2RlcHMvdW5peCAtSXN5c2RlcHMvcG9zaXggLUlzeXNk
ZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC1Jc3lzZGVwcy94ODZfNjQvZnB1IC1Jc3lzZGVwcy94
ODZfNjQvbXVsdGlhcmNoIC1JbnB0bC9zeXNkZXBzL3g4Nl82NCAtSXN5c2RlcHMveDg2XzY0IC1J
c3lzZGVwcy93b3Jkc2l6ZS02NCAtSXN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1Jc3lzZGVwcy9p
ZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCAtSXN5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUlzeXNk
ZXBzL2llZWU3NTQvZmx0LTMyIC1Jc3lzZGVwcy9pZWVlNzU0IC1Jc3lzZGVwcy9nZW5lcmljL2Vs
ZiAtSXN5c2RlcHMvZ2VuZXJpYyAtSW5wdGwgLUlwb3J0cyAgIC1JbGliaW8gLUkuIC1ub3N0ZGlu
YyAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290
cy94ODZfNjQtbGludXgvdXNyL2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1p
bml0aWFsL2djYy94ODZfNjQtY2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUgLWlzeXN0ZW0gL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4
L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2
XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlLWZpeGVkIC1pc3lzdGVtIC9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGlu
dXgvdXNyL2luY2x1ZGUgLURfTElCQ19SRUVOVFJBTlQgLWluY2x1ZGUgaW5jbHVkZS9saWJjLXN5
bWJvbHMuaCAgICAgICAtREFTU0VNQkxFUiAgLWcgLVdhLC0tbm9leGVjc3RhY2sgICAtRSAteCBh
c3NlbWJsZXItd2l0aC1jcHAnIFwKICAgIC9iaW4vc2ggc3lzZGVwcy91bml4L21ha2Utc3lzY2Fs
bHMuc2ggJGRpciB8fCBleGl0IDE7IH07IFwKICB0ZXN0ICRkaXIgPSBzeXNkZXBzL3VuaXggJiYg
YnJlYWs7IFwKZG9uZSA+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dv
cmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2Rr
LTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvc3lzZC1zeXNjYWxs
c1QKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAg
ICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAg
ICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVw
Lmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBp
bmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAg
ICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAg
ICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAg
ICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9z
eXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBv
ciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5
c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAg
ZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6
MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK
Y29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91
bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94
ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lz
di9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+
OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVy
cm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24g
dGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5o
OjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVw
Lmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5p
c3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4K
SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAg
ICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAg
ICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6
MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1
Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNs
dWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAg
ZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAg
ZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAg
ICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNj
YWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBk
aXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4v
c3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2Rl
cHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBz
L3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJv
bSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6
IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29t
cGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4
L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZf
NjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6
CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9y
OiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVy
bWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIx
OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6
MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQv
c3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3Rk
Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4g
ZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAg
ICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAg
ICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMs
CiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRl
ZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJv
bSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJv
bSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAg
ICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxs
Lmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
Y3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lz
ZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMv
dW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8
c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZh
dGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGls
YXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5
c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQv
c3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51
eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBh
c20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWlu
YXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAs
CiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTks
CiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lz
ZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4Kc3lzZGVw
cy91bml4L21ha2Utc3lzY2FsbHMuc2g6IG5vIG51bWJlciBmb3IgLCBuby1lcnJvciBzeXNjYWxs
IChfX3N5c2NhbGxfY2xvY2tfZ2V0dGltZSApCihzZWVuX0RFRkFVTFQ9MDsgc2Vlbl9XT1JEU0la
RTMyPTA7IHNlZW5fV09SRFNJWkU2ND0wOyBcCiB3aGlsZSByZWFkIHdoaWNoIGxpYiBudW1iZXIg
c2V0bmFtZTsgZG8gXAogICBldmFsIHNlZW5fJHdoaWNoPTE7IFwKICAgdGVzdCB4IiR3aGljaCIg
IT0geEFCSSB8fCBlY2hvIGFiaS1uYW1lID0gIiRsaWIiOyBcCiAgIHRlc3QgeCIkd2hpY2giID0g
eERFRkFVTFQgfHwgY29udGludWU7IFwKICAgY2FzZSAkbnVtYmVyIGluIFwKICAgICBbMC05XSop
IGVjaG8gIiRsaWIuc28tdmVyc2lvbj0uJG51bWJlciI7IFwKCSAgICAgZWNobyAiYWxsLXNvbmFt
ZXMrPSRsaWI9JGxpYi5zb1wkKCRsaWIuc28tdmVyc2lvbikiOztcCiAgICAgKikJICAgICBlY2hv
ICIkbGliLnNvLXZlcnNpb249JG51bWJlciI7IFwKCSAgICAgZWNobyAiYWxsLXNvbmFtZXMrPSRs
aWI9XCQoJGxpYi5zby12ZXJzaW9uKSI7O1wKICAgZXNhYzsgXAogZG9uZTsgXAogY2FzZSAiJHNl
ZW5fREVGQVVMVCRzZWVuX1dPUkRTSVpFMzIkc2Vlbl9XT1JEU0laRTY0IiBpbiBcCiAgIDEwMCkg
ZWNobyBiaWFyY2ggPSBubzs7IFwKICAgMTAxKSBlY2hvIGJpYXJjaCA9IDMyOzsgXAogICA/MT8p
IGVjaG8gYmlhcmNoID0gNjQ7OyBcCiAgICopIGVjaG8gPiYyIEJVRzsgZXhpdCAyOzsgXAogZXNh
YzsgXAogZWNobyBzb3ZlcnNpb25zLm1rLWRvbmUgPSB0OykgPCAvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2Vn
bGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nk
c2RrLWxpbnV4L3NvdmVyc2lvbnMuaSA+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwt
bmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvc292
ZXJzaW9ucy5ta1Q7IGV4aXQgMAptdiAtZiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFs
LW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3Nv
dmVyc2lvbnMubWtUIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIu
MTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvc292ZXJzaW9ucy5tawpt
YWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlh
bC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvZWdsaWJjLTJfMTUvbGliYycKbWFrZVsxXTog
RW50ZXJpbmcgZGlyZWN0b3J5IGAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9lZ2xpYmMtMl8xNS9saWJjJwp7IGVjaG8gJyNpbmNsdWRl
ICJwb3NpeC9iaXRzL3Bvc2l4MV9saW0uaCInOwkJXAogIGVjaG8gJyNkZWZpbmUgX0xJQkMgMSc7
CQkJCQlcCiAgZWNobyAnI2luY2x1ZGUgIm1pc2Mvc3lzL3Vpby5oIic7IH0gfAkJCVwKeDg2XzY0
LWNjZHNkay1saW51eC1nY2MgIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC10Y2Jvb3Rz
dHJhcCAtRSAtZE0gLU1EIC1NUCAtTUYgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1u
YXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRz
L3N0ZGlvX2xpbS5kVCAtTVQgJy9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZl
c2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRp
b19saW0uaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82
NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2
K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmQnIAlc
CiAgICAgIC1JaW5jbHVkZSAgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4IC1Jc3lzZGVw
cy94ODZfNjQvZWxmIC1JbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUlzeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUlzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jk
c2l6ZS02NCAtSW5wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUlucHRsL3N5c2RlcHMvcHRo
cmVhZCAtSXN5c2RlcHMvcHRocmVhZCAtSXBvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1J
c3lzZGVwcy91bml4L3N5c3YvbGludXggLUlzeXNkZXBzL2dudSAtSXN5c2RlcHMvdW5peC9jb21t
b24gLUlzeXNkZXBzL3VuaXgvbW1hbiAtSXN5c2RlcHMvdW5peC9pbmV0IC1JbnB0bC9zeXNkZXBz
L3VuaXgvc3lzdiAtSXBvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC1Jc3lzZGVwcy91bml4L3N5c3Yg
LUlzeXNkZXBzL3VuaXgveDg2XzY0IC1JbnB0bC9zeXNkZXBzL3VuaXggLUlwb3J0cy9zeXNkZXBz
L3VuaXggLUlzeXNkZXBzL3VuaXggLUlzeXNkZXBzL3Bvc2l4IC1Jc3lzZGVwcy94ODZfNjQvZnB1
L211bHRpYXJjaCAtSXN5c2RlcHMveDg2XzY0L2ZwdSAtSXN5c2RlcHMveDg2XzY0L211bHRpYXJj
aCAtSW5wdGwvc3lzZGVwcy94ODZfNjQgLUlzeXNkZXBzL3g4Nl82NCAtSXN5c2RlcHMvd29yZHNp
emUtNjQgLUlzeXNkZXBzL2llZWU3NTQvbGRibC05NiAtSXN5c2RlcHMvaWVlZTc1NC9kYmwtNjQv
d29yZHNpemUtNjQgLUlzeXNkZXBzL2llZWU3NTQvZGJsLTY0IC1Jc3lzZGVwcy9pZWVlNzU0L2Zs
dC0zMiAtSXN5c2RlcHMvaWVlZTc1NCAtSXN5c2RlcHMvZ2VuZXJpYy9lbGYgLUlzeXNkZXBzL2dl
bmVyaWMgLUlucHRsIC1JcG9ydHMgICAtSWxpYmlvIC1JLiAtbm9zdGRpbmMgLWlzeXN0ZW0gL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4
L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2
XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82
NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGlu
dXgvNC42LjQvaW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQv
Y29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRl
IC14YyAtIC1vIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2
XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUt
cjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19saW0uaFQK
bnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2xvY2FsX2xpbS5oOjM5OjI2OiBmYXRh
bCBlcnJvcjogbGludXgvbGltaXRzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGls
YXRpb24gdGVybWluYXRlZC4KZm9yIGRpciBpbiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0
aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4
IHN5c2RlcHMveDg2XzY0L2VsZiBucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCBz
eXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29y
ZHNpemUtNjQgbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCBucHRsL3N5c2RlcHMvcHRocmVh
ZCBzeXNkZXBzL3B0aHJlYWQgcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggc3lzZGVwcy91
bml4L3N5c3YvbGludXggc3lzZGVwcy9nbnUgc3lzZGVwcy91bml4L2NvbW1vbiBzeXNkZXBzL3Vu
aXgvbW1hbiBzeXNkZXBzL3VuaXgvaW5ldCBucHRsL3N5c2RlcHMvdW5peC9zeXN2IHBvcnRzL3N5
c2RlcHMvdW5peC9zeXN2IHN5c2RlcHMvdW5peC9zeXN2IHN5c2RlcHMvdW5peC94ODZfNjQgbnB0
bC9zeXNkZXBzL3VuaXggcG9ydHMvc3lzZGVwcy91bml4IHN5c2RlcHMvdW5peCBzeXNkZXBzL3Bv
c2l4IHN5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggc3lzZGVwcy94ODZfNjQvZnB1IHN5c2Rl
cHMveDg2XzY0L211bHRpYXJjaCBucHRsL3N5c2RlcHMveDg2XzY0IHN5c2RlcHMveDg2XzY0IHN5
c2RlcHMvd29yZHNpemUtNjQgc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgc3lzZGVwcy9pZWVlNzU0
L2RibC02NC93b3Jkc2l6ZS02NCBzeXNkZXBzL2llZWU3NTQvZGJsLTY0IHN5c2RlcHMvaWVlZTc1
NC9mbHQtMzIgc3lzZGVwcy9pZWVlNzU0IHN5c2RlcHMvZ2VuZXJpYy9lbGYgc3lzZGVwcy9nZW5l
cmljICBucHRsICBwb3J0czsgZG8gXAogIHRlc3QgLWYgJGRpci9zeXNjYWxscy5saXN0ICYmIFwK
ICB7IHN5c2RpcnM9J3N5c2RlcHMveDg2XzY0L2VsZiBucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NCBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgc3lzZGVwcy91bml4L3N5
c3YvbGludXgvd29yZHNpemUtNjQgbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCBucHRsL3N5
c2RlcHMvcHRocmVhZCBzeXNkZXBzL3B0aHJlYWQgcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGlu
dXggc3lzZGVwcy91bml4L3N5c3YvbGludXggc3lzZGVwcy9nbnUgc3lzZGVwcy91bml4L2NvbW1v
biBzeXNkZXBzL3VuaXgvbW1hbiBzeXNkZXBzL3VuaXgvaW5ldCBucHRsL3N5c2RlcHMvdW5peC9z
eXN2IHBvcnRzL3N5c2RlcHMvdW5peC9zeXN2IHN5c2RlcHMvdW5peC9zeXN2IHN5c2RlcHMvdW5p
eC94ODZfNjQgbnB0bC9zeXNkZXBzL3VuaXggcG9ydHMvc3lzZGVwcy91bml4IHN5c2RlcHMvdW5p
eCBzeXNkZXBzL3Bvc2l4IHN5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggc3lzZGVwcy94ODZf
NjQvZnB1IHN5c2RlcHMveDg2XzY0L211bHRpYXJjaCBucHRsL3N5c2RlcHMveDg2XzY0IHN5c2Rl
cHMveDg2XzY0IHN5c2RlcHMvd29yZHNpemUtNjQgc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgc3lz
ZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCBzeXNkZXBzL2llZWU3NTQvZGJsLTY0IHN5
c2RlcHMvaWVlZTc1NC9mbHQtMzIgc3lzZGVwcy9pZWVlNzU0IHN5c2RlcHMvZ2VuZXJpYy9lbGYg
c3lzZGVwcy9nZW5lcmljJyBcCiAgICBhc21fQ1BQPSd4ODZfNjQtY2Nkc2RrLWxpbnV4LWdjYyAg
LS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3Rz
L3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4LXRjYm9vdHN0cmFwIC1jIC1pc3lzdGVtL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2
ZXNkay1jY2RzZGstbGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNj
ZHNkay1saW51eC91c3IvaW5jbHVkZSAgLUlpbmNsdWRlICAtSS9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWds
aWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2Rz
ZGstbGludXggLUlzeXNkZXBzL3g4Nl82NC9lbGYgLUlucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NCAtSXN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSXN5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC1JbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAt
SW5wdGwvc3lzZGVwcy9wdGhyZWFkIC1Jc3lzZGVwcy9wdGhyZWFkIC1JcG9ydHMvc3lzZGVwcy91
bml4L3N5c3YvbGludXggLUlzeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSXN5c2RlcHMvZ251IC1J
c3lzZGVwcy91bml4L2NvbW1vbiAtSXN5c2RlcHMvdW5peC9tbWFuIC1Jc3lzZGVwcy91bml4L2lu
ZXQgLUlucHRsL3N5c2RlcHMvdW5peC9zeXN2IC1JcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUlz
eXNkZXBzL3VuaXgvc3lzdiAtSXN5c2RlcHMvdW5peC94ODZfNjQgLUlucHRsL3N5c2RlcHMvdW5p
eCAtSXBvcnRzL3N5c2RlcHMvdW5peCAtSXN5c2RlcHMvdW5peCAtSXN5c2RlcHMvcG9zaXggLUlz
eXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC1Jc3lzZGVwcy94ODZfNjQvZnB1IC1Jc3lzZGVw
cy94ODZfNjQvbXVsdGlhcmNoIC1JbnB0bC9zeXNkZXBzL3g4Nl82NCAtSXN5c2RlcHMveDg2XzY0
IC1Jc3lzZGVwcy93b3Jkc2l6ZS02NCAtSXN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1Jc3lzZGVw
cy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCAtSXN5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUlz
eXNkZXBzL2llZWU3NTQvZmx0LTMyIC1Jc3lzZGVwcy9pZWVlNzU0IC1Jc3lzZGVwcy9nZW5lcmlj
L2VsZiAtSXN5c2RlcHMvZ2VuZXJpYyAtSW5wdGwgLUlwb3J0cyAgIC1JbGliaW8gLUkuIC1ub3N0
ZGluYyAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNy
b290cy94ODZfNjQtbGludXgvdXNyL2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nk
ay1pbml0aWFsL2djYy94ODZfNjQtY2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUgLWlzeXN0ZW0g
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxp
bnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2Mv
eDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlLWZpeGVkIC1pc3lzdGVtIC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGst
Y2Nkc2RrLWxpbnV4L29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGst
bGludXgvdXNyL2luY2x1ZGUgLURfTElCQ19SRUVOVFJBTlQgLWluY2x1ZGUgaW5jbHVkZS9saWJj
LXN5bWJvbHMuaCAgICAgICAtREFTU0VNQkxFUiAgLWcgLVdhLC0tbm9leGVjc3RhY2sgICAtRSAt
eCBhc3NlbWJsZXItd2l0aC1jcHAnIFwKICAgIC9iaW4vc2ggc3lzZGVwcy91bml4L21ha2Utc3lz
Y2FsbHMuc2ggJGRpciB8fCBleGl0IDE7IH07IFwKICB0ZXN0ICRkaXIgPSBzeXNkZXBzL3VuaXgg
JiYgYnJlYWs7IFwKZG9uZSA+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZl
c2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvc3lzZC1zeXNj
YWxsc1QKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAs
CiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTks
CiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lz
ZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmls
ZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAg
ICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAg
ICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAg
ICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5
cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmls
ZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBm
cm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAu
L3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBz
eXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAg
ICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6
MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVw
cy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5p
eC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgv
c3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3Rk
aW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFs
IGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRp
b24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2Rl
cC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lz
ZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20v
dW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRl
ZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAg
ICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAg
ICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVw
Lmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBp
bmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAg
ICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAg
ICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAg
ICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9z
eXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBv
ciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5
c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAg
ZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6
MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK
Y29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91
bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94
ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lz
di9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+
OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVy
cm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24g
dGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5o
OjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVw
Lmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5p
c3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4K
SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAg
ICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAg
ICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6
MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1
Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNs
dWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAg
ZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAg
ZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAg
ICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNj
YWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBk
aXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4v
c3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2Rl
cHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBz
L3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJv
bSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6
IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29t
cGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4
L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZf
NjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6
CnN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9y
OiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVy
bWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIx
OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6
MTksCiAgICAgICAgICAgICAgICAgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQv
c3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6CnN5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3Rk
Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4Kc3lz
ZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IG5vIG51bWJlciBmb3IgLCBuby1lcnJvciBzeXNj
YWxsIChfX3N5c2NhbGxfY2xvY2tfZ2V0dGltZSApCi4vc2NyaXB0cy9ta2luc3RhbGxkaXJzIC9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNk
ay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2
L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgv
dXNyL2luY2x1ZGUvZ251Cm1rZGlyIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0
aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdApta2RpciAvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4
L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29u
Y29yZGlhCm1rZGlyIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIu
MTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54Cm1rZGlyIC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2Rz
ZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdl
L29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzCm1rZGlyIC9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWds
aWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3Jk
aWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgKbWtkaXIgL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1s
aW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0
L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IKbWtkaXIg
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZl
c2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTcz
ODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51
eC91c3IvaW5jbHVkZQpta2RpciAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290
cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlL2dudQovdXNyL2Jpbi9pbnN0YWxsIC1j
IC1tIDY0NCBpbmNsdWRlL3N0dWJzLWJvb3RzdHJhcC5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJj
LWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEv
djAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvZ251L3N0dWJz
LmgKL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgaW5jbHVkZS9saW1pdHMuaCAvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2Rr
LWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9v
cHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNs
dWRlL2xpbWl0cy5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IGluY2x1ZGUvdmFsdWVzLmgg
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZl
c2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTcz
ODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51
eC91c3IvaW5jbHVkZS92YWx1ZXMuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCBpbmNsdWRl
L2ZlYXR1cmVzLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94
ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4x
NS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0
LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9mZWF0dXJlcy5oCi91c3IvYmluL2luc3RhbGwgLWMg
LW0gNjQ0IGluY2x1ZGUvZ251LXZlcnNpb25zLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5p
dGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4x
Lngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9nbnUtdmVyc2lvbnMu
aAouL3NjcmlwdHMvbWtpbnN0YWxsZGlycyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFs
LW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9z
eXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlL2JpdHMKbWtkaXIgL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNj
ZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1h
Z2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3Iv
aW5jbHVkZS9iaXRzCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IG5wdGwvc3lzZGVwcy9wdGhy
ZWFkL2JpdHMvbGliYy1sb2NrLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRp
dmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9v
dHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9iaXRzL2xpYmMtbG9jay5oCi91c3Iv
YmluL2luc3RhbGwgLWMgLW0gNjQ0IGluY2x1ZGUvYml0cy94b3Blbl9saW0uaCAvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2Rr
LWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9v
cHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNs
dWRlL2JpdHMveG9wZW5fbGltLmgKL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgaW5jbHVkZS9n
bnUvbGliYy12ZXJzaW9uLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
d29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVz
ZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMv
eDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9nbnUvbGliYy12ZXJzaW9uLmgKL3Vzci9i
aW4vaW5zdGFsbCAtYyAtbSA2NDQgYml0cy9wcmVkZWZzLmggL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xp
YmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRp
YS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9iaXRzL3By
ZWRlZnMuaAouL3NjcmlwdHMvbWtpbnN0YWxsZGlycyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1p
bml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxp
bnV4L2dudQpta2RpciAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3Jr
L3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0y
LjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2dudQpMQ19BTEw9QyBn
YXdrIC1mIHNjcmlwdHMvbGliLW5hbWVzLmF3ayAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0
aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4
L3NvdmVyc2lvbnMuaSA+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dv
cmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2Rr
LTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvZ251L2xpYi1uYW1l
cy5UCi9iaW4vc2ggc2NyaXB0cy9tb3ZlLWlmLWNoYW5nZSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGli
Yy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2Rr
LWxpbnV4L2dudS9saWItbmFtZXMuVCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2dudS9s
aWItbmFtZXMuaAp0b3VjaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93
b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNk
ay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2dudS9saWItbmFt
ZXMuc3RtcAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGli
Yy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2Rr
LWxpbnV4L2dudS9saWItbmFtZXMuaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNy
b290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlL2dudS9saWItbmFtZXMuaAptYWtl
IC1qIDEyIHN1YmRpcj1jc3UgLUMgY3N1IC4uPS4uLyBpbnN0YWxsLWhlYWRlcnMKbWFrZVsyXTog
RW50ZXJpbmcgZGlyZWN0b3J5IGAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9lZ2xpYmMtMl8xNS9saWJjL2NzdScKeyBlY2hvICcjaW5j
bHVkZSAiLi4vcG9zaXgvYml0cy9wb3NpeDFfbGltLmgiJzsJCVwKICBlY2hvICcjZGVmaW5lIF9M
SUJDIDEnOwkJCQkJXAogIGVjaG8gJyNpbmNsdWRlICIuLi9taXNjL3N5cy91aW8uaCInOyB9IHwJ
CQlcCng4Nl82NC1jY2RzZGstbGludXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGlu
dXgtdGNib290c3RyYXAgLUUgLWRNIC1NRCAtTVAgLU1GIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJj
LWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGst
bGludXgvYml0cy9zdGRpb19saW0uZFQgLU1UICcvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0
aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4
L2JpdHMvc3RkaW9fbGltLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
d29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVz
ZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlv
X2xpbS5kJyAJXAogICAgICAtSS4uL2luY2x1ZGUgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1p
bml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxp
bnV4L2NzdSAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2
XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUt
cjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82
NC9lbGYgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dv
cmRzaXplLTY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lz
ZGVwcy9wdGhyZWFkIC1JLi4vc3lzZGVwcy9wdGhyZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4
L3N5c3YvbGludXggLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251
IC1JLi4vc3lzZGVwcy91bml4L2NvbW1vbiAtSS4uL3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lz
ZGVwcy91bml4L2luZXQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lz
ZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94
ODZfNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peCAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4u
L3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvcG9zaXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUv
bXVsdGlhcmNoIC1JLi4vc3lzZGVwcy94ODZfNjQvZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVs
dGlhcmNoIC1JLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4v
c3lzZGVwcy93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lz
ZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwt
NjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMyIC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4v
c3lzZGVwcy9nZW5lcmljL2VsZiAtSS4uL3N5c2RlcHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9w
b3J0cyAgLUkuLiAtSS4uL2xpYmlvIC1JLiAtbm9zdGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIv
eDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNk
ay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGst
bGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQv
aW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlh
L3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlIC14YyAtIC1v
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2
ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3
Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19saW0uaFQKZm9yIGRpciBp
biAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRp
dmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIx
NzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4IC4uL3N5c2RlcHMveDg2XzY0L2VsZiAuLi9u
cHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC94ODZfNjQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLi4vbnB0
bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAuLi9zeXNk
ZXBzL3B0aHJlYWQgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy9nbnUgLi4vc3lzZGVwcy91bml4L2NvbW1vbiAuLi9z
eXNkZXBzL3VuaXgvbW1hbiAuLi9zeXNkZXBzL3VuaXgvaW5ldCAuLi9ucHRsL3N5c2RlcHMvdW5p
eC9zeXN2IC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC9zeXN2IC4u
L3N5c2RlcHMvdW5peC94ODZfNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXggLi4vcG9ydHMvc3lzZGVw
cy91bml4IC4uL3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3Bvc2l4IC4uL3N5c2RlcHMveDg2XzY0
L2ZwdS9tdWx0aWFyY2ggLi4vc3lzZGVwcy94ODZfNjQvZnB1IC4uL3N5c2RlcHMveDg2XzY0L211
bHRpYXJjaCAuLi9ucHRsL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMveDg2XzY0IC4uL3N5c2Rl
cHMvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLi4vc3lzZGVwcy9pZWVl
NzU0L2RibC02NC93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC4uL3N5c2Rl
cHMvaWVlZTc1NC9mbHQtMzIgLi4vc3lzZGVwcy9pZWVlNzU0IC4uL3N5c2RlcHMvZ2VuZXJpYy9l
bGYgLi4vc3lzZGVwcy9nZW5lcmljICAuLi9ucHRsICAuLi9wb3J0czsgZG8gXAogIHRlc3QgLWYg
JGRpci9zeXNjYWxscy5saXN0ICYmIFwKICB7IHN5c2RpcnM9Jy4uL3N5c2RlcHMveDg2XzY0L2Vs
ZiAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC94ODZfNjQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQg
Li4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAu
Li9zeXNkZXBzL3B0aHJlYWQgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy9nbnUgLi4vc3lzZGVwcy91bml4L2NvbW1v
biAuLi9zeXNkZXBzL3VuaXgvbW1hbiAuLi9zeXNkZXBzL3VuaXgvaW5ldCAuLi9ucHRsL3N5c2Rl
cHMvdW5peC9zeXN2IC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC9z
eXN2IC4uL3N5c2RlcHMvdW5peC94ODZfNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXggLi4vcG9ydHMv
c3lzZGVwcy91bml4IC4uL3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3Bvc2l4IC4uL3N5c2RlcHMv
eDg2XzY0L2ZwdS9tdWx0aWFyY2ggLi4vc3lzZGVwcy94ODZfNjQvZnB1IC4uL3N5c2RlcHMveDg2
XzY0L211bHRpYXJjaCAuLi9ucHRsL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMveDg2XzY0IC4u
L3N5c2RlcHMvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLi4vc3lzZGVw
cy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC4u
L3N5c2RlcHMvaWVlZTc1NC9mbHQtMzIgLi4vc3lzZGVwcy9pZWVlNzU0IC4uL3N5c2RlcHMvZ2Vu
ZXJpYy9lbGYgLi4vc3lzZGVwcy9nZW5lcmljJyBcCiAgICBhc21fQ1BQPSd4ODZfNjQtY2Nkc2Rr
LWxpbnV4LWdjYyAgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4LXRjYm9vdHN0cmFwIC1j
IC1pc3lzdGVtL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9v
dHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZSAgLUkuLi9pbmNsdWRlIC1JL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNj
ZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVp
bGQteDg2XzY0LWNjZHNkay1saW51eC9jc3UgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0
aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4
IC1JLi4vc3lzZGVwcy94ODZfNjQvZWxmIC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC94ODZfNjQgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUkuLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3Yv
bGludXggLUkuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAtSS4uL3N5c2RlcHMvcHRocmVhZCAtSS4u
L3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXggLUkuLi9zeXNkZXBzL2dudSAtSS4uL3N5c2RlcHMvdW5peC9jb21tb24gLUkuLi9zeXNkZXBz
L3VuaXgvbW1hbiAtSS4uL3N5c2RlcHMvdW5peC9pbmV0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgv
c3lzdiAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lzZGVwcy91bml4L3N5c3Yg
LUkuLi9zeXNkZXBzL3VuaXgveDg2XzY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXggLUkuLi9wb3J0
cy9zeXNkZXBzL3VuaXggLUkuLi9zeXNkZXBzL3VuaXggLUkuLi9zeXNkZXBzL3Bvc2l4IC1JLi4v
c3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCAtSS4uL3N5c2RlcHMveDg2XzY0L2ZwdSAtSS4u
L3N5c2RlcHMveDg2XzY0L211bHRpYXJjaCAtSS4uL25wdGwvc3lzZGVwcy94ODZfNjQgLUkuLi9z
eXNkZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2llZWU3
NTQvbGRibC05NiAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLUkuLi9z
eXNkZXBzL2llZWU3NTQvZGJsLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAtSS4uL3N5
c2RlcHMvaWVlZTc1NCAtSS4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLUkuLi9zeXNkZXBzL2dlbmVy
aWMgLUkuLi9ucHRsIC1JLi4vcG9ydHMgIC1JLi4gLUkuLi9saWJpbyAtSS4gLW5vc3RkaW5jIC1p
c3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4
Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRp
YWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZSAtaXN5c3RlbSAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNy
L2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQt
Y2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUtZml4ZWQgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGst
bGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91
c3IvaW5jbHVkZSAtRF9MSUJDX1JFRU5UUkFOVCAtaW5jbHVkZSAuLi9pbmNsdWRlL2xpYmMtc3lt
Ym9scy5oICAgICAgIC1ESEFWRV9JTklURklOSSAtREFTU0VNQkxFUiAgLUkvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxp
bnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZf
NjQtY2Nkc2RrLWxpbnV4L2NzdS8uIC1nIC1XYSwtLW5vZXhlY3N0YWNrICAgLUUgLXggYXNzZW1i
bGVyLXdpdGgtY3BwJyBcCiAgICAvYmluL3NoIC4uL3N5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxz
LnNoICRkaXIgfHwgZXhpdCAxOyB9OyBcCiAgdGVzdCAkZGlyID0gLi4vc3lzZGVwcy91bml4ICYm
IGJyZWFrOyBcCmRvbmUgPiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93
b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNk
ay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3N5c2Qtc3lzY2Fs
bHNUCi4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9sb2NhbF9saW0uaDozOToy
NjogZmF0YWwgZXJyb3I6IGxpbnV4L2xpbWl0cy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5
CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBz
L3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5p
eC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8
c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6
IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29t
cGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5p
eC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4
Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRp
bj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0
YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5
c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0
L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjox
OgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBl
cnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9u
IHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVw
Lmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lz
ZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9y
OiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVy
bWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoy
MTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAu
aDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4
Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFz
bS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5h
dGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAs
CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5
LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0
L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3Vu
aXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu
CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAg
ICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAg
ICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lz
ZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3Rk
Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4g
ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAg
ICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAg
ICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAu
aDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxl
IGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAg
ICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAg
ICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIz
LAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5j
bHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAg
ICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAg
ICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAg
ICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRl
ZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZy
b20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBm
cm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAg
ICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lz
L3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAu
Li9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20g
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAg
ICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lz
Y2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3Ig
ZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAu
Li9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5
c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAg
ICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxs
Lmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
Y3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5
c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVw
cy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBm
cm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoy
NToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
eQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVw
cy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20g
PHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0
OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNv
bXBpbGF0aW9uIHRlcm1pbmF0ZWQuCi4uL3N5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBu
byBudW1iZXIgZm9yICwgbm8tZXJyb3Igc3lzY2FsbCAoX19zeXNjYWxsX2Nsb2NrX2dldHRpbWUg
KQpMQ19BTEw9QyBnYXdrIC1mIC4uL3NjcmlwdHMvb3B0aW9uLWdyb3Vwcy5hd2sgLi4vb3B0aW9u
LWdyb3Vwcy5kZWZhdWx0cyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93
b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNk
ay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L29wdGlvbi1ncm91
cHMuY29uZmlnID4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94
ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4x
NS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9nbnUvb3B0aW9uLWdyb3Vw
cy5UCi9iaW4vc2ggLi4vc2NyaXB0cy9tb3ZlLWlmLWNoYW5nZSAvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2Vn
bGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nk
c2RrLWxpbnV4L2dudS9vcHRpb24tZ3JvdXBzLlQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5p
dGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51
eC9nbnUvb3B0aW9uLWdyb3Vwcy5oCnRvdWNoIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRp
YWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgv
Z251L29wdGlvbi1ncm91cHMuc3RtcAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWls
ZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2dudS9vcHRpb24tZ3JvdXBzLmggL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51
eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2Nv
bmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9n
bnUvb3B0aW9uLWdyb3Vwcy5oCm1ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2Rr
LWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9lZ2xpYmMt
Ml8xNS9saWJjL2NzdScKbWFrZSAtaiAxMiBzdWJkaXI9aWNvbnYgLUMgaWNvbnYgLi49Li4vIGlu
c3RhbGwtaGVhZGVycwptYWtlWzJdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGlu
dXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2VnbGliYy0yXzE1
L2xpYmMvaWNvbnYnCnsgZWNobyAnI2luY2x1ZGUgIi4uL3Bvc2l4L2JpdHMvcG9zaXgxX2xpbS5o
Iic7CQlcCiAgZWNobyAnI2RlZmluZSBfTElCQyAxJzsJCQkJCVwKICBlY2hvICcjaW5jbHVkZSAi
Li4vbWlzYy9zeXMvdWlvLmgiJzsgfSB8CQkJXAp4ODZfNjQtY2Nkc2RrLWxpbnV4LWdjYyAgLS1z
eXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4
Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4LXRjYm9vdHN0cmFwIC1FIC1kTSAtTUQgLU1QIC1N
RiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRp
dmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIx
NzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmRUIC1NVCAnL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYv
YnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlvX2xpbS5oIC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGlu
dXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82
NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19saW0uZCcgCVwKICAgICAgLUkuLi9pbmNsdWRlIC1J
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZl
c2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTcz
ODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9pY29udiAtSS9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWds
aWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2Rz
ZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC1JLi4vbnB0bC9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC1JLi4vc3lzZGVwcy9wdGhy
ZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251IC1JLi4vc3lzZGVwcy91bml4L2NvbW1vbiAtSS4u
L3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lzZGVwcy91bml4L2luZXQgLUkuLi9ucHRsL3N5c2Rl
cHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBzL3Vu
aXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94ODZfNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peCAt
SS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvcG9z
aXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC1JLi4vc3lzZGVwcy94ODZfNjQv
ZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1JLi4vbnB0bC9zeXNkZXBzL3g4Nl82
NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAtSS4uL3N5c2Rl
cHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02
NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMy
IC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4vc3lzZGVwcy9nZW5lcmljL2VsZiAtSS4uL3N5c2Rl
cHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9wb3J0cyAgLUkuLiAtSS4uL2xpYmlvIC1JLiAtbm9z
dGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lz
cm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3Nz
ZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lzdGVt
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1s
aW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2Nj
L3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2Rr
LWxpbnV4L3Vzci9pbmNsdWRlIC14YyAtIC1vIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRp
YWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgv
Yml0cy9zdGRpb19saW0uaFQKZm9yIGRpciBpbiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0
aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4
IC4uL3N5c2RlcHMveDg2XzY0L2VsZiAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4
Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgvd29yZHNpemUtNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9u
cHRsL3N5c2RlcHMvcHRocmVhZCAuLi9zeXNkZXBzL3B0aHJlYWQgLi4vcG9ydHMvc3lzZGVwcy91
bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy9nbnUg
Li4vc3lzZGVwcy91bml4L2NvbW1vbiAuLi9zeXNkZXBzL3VuaXgvbW1hbiAuLi9zeXNkZXBzL3Vu
aXgvaW5ldCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC4uL3BvcnRzL3N5c2RlcHMvdW5peC9z
eXN2IC4uL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC94ODZfNjQgLi4vbnB0bC9z
eXNkZXBzL3VuaXggLi4vcG9ydHMvc3lzZGVwcy91bml4IC4uL3N5c2RlcHMvdW5peCAuLi9zeXNk
ZXBzL3Bvc2l4IC4uL3N5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggLi4vc3lzZGVwcy94ODZf
NjQvZnB1IC4uL3N5c2RlcHMveDg2XzY0L211bHRpYXJjaCAuLi9ucHRsL3N5c2RlcHMveDg2XzY0
IC4uL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVl
NzU0L2xkYmwtOTYgLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCAuLi9zeXNk
ZXBzL2llZWU3NTQvZGJsLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9mbHQtMzIgLi4vc3lzZGVwcy9p
ZWVlNzU0IC4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLi4vc3lzZGVwcy9nZW5lcmljICAuLi9ucHRs
ICAuLi9wb3J0czsgZG8gXAogIHRlc3QgLWYgJGRpci9zeXNjYWxscy5saXN0ICYmIFwKICB7IHN5
c2RpcnM9Jy4uL3N5c2RlcHMveDg2XzY0L2VsZiAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eCAuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAuLi9zeXNkZXBzL3B0aHJlYWQgLi4vcG9ydHMvc3lz
ZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVw
cy9nbnUgLi4vc3lzZGVwcy91bml4L2NvbW1vbiAuLi9zeXNkZXBzL3VuaXgvbW1hbiAuLi9zeXNk
ZXBzL3VuaXgvaW5ldCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC4uL3BvcnRzL3N5c2RlcHMv
dW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC94ODZfNjQgLi4v
bnB0bC9zeXNkZXBzL3VuaXggLi4vcG9ydHMvc3lzZGVwcy91bml4IC4uL3N5c2RlcHMvdW5peCAu
Li9zeXNkZXBzL3Bvc2l4IC4uL3N5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggLi4vc3lzZGVw
cy94ODZfNjQvZnB1IC4uL3N5c2RlcHMveDg2XzY0L211bHRpYXJjaCAuLi9ucHRsL3N5c2RlcHMv
eDg2XzY0IC4uL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMvd29yZHNpemUtNjQgLi4vc3lzZGVw
cy9pZWVlNzU0L2xkYmwtOTYgLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCAu
Li9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9mbHQtMzIgLi4vc3lz
ZGVwcy9pZWVlNzU0IC4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLi4vc3lzZGVwcy9nZW5lcmljJyBc
CiAgICBhc21fQ1BQPSd4ODZfNjQtY2Nkc2RrLWxpbnV4LWdjYyAgLS1zeXNyb290PS9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGst
Y2Nkc2RrLWxpbnV4LXRjYm9vdHN0cmFwIC1jIC1pc3lzdGVtL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgv
b3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5j
bHVkZSAgLUkuLi9pbmNsdWRlIC1JL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRp
dmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9pY29udiAt
SS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2
ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3
Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLUku
Li9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0
IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lzZGVwcy9wdGhy
ZWFkIC1JLi4vc3lzZGVwcy9wdGhyZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGlu
dXggLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251IC1JLi4vc3lz
ZGVwcy91bml4L2NvbW1vbiAtSS4uL3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lzZGVwcy91bml4
L2luZXQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4
L3N5c3YgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94ODZfNjQgLUku
Li9ucHRsL3N5c2RlcHMvdW5peCAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMv
dW5peCAtSS4uL3N5c2RlcHMvcG9zaXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNo
IC1JLi4vc3lzZGVwcy94ODZfNjQvZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1J
Li4vbnB0bC9zeXNkZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy93
b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lzZGVwcy9pZWVl
NzU0L2RibC02NC93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUkuLi9z
eXNkZXBzL2llZWU3NTQvZmx0LTMyIC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4vc3lzZGVwcy9n
ZW5lcmljL2VsZiAtSS4uL3N5c2RlcHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9wb3J0cyAgLUku
LiAtSS4uL2xpYmlvIC1JLiAtbm9zdGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNj
ZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80
LjYuNC9pbmNsdWRlIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2Nj
LWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1m
aXhlZCAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNy
b290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9z
eXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlIC1EX0xJQkNfUkVFTlRSQU5U
IC1pbmNsdWRlIC4uL2luY2x1ZGUvbGliYy1zeW1ib2xzLmggICAgICAgLURBU1NFTUJMRVIgIC1n
IC1XYSwtLW5vZXhlY3N0YWNrICAgLUUgLXggYXNzZW1ibGVyLXdpdGgtY3BwJyBcCiAgICAvYmlu
L3NoIC4uL3N5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoICRkaXIgfHwgZXhpdCAxOyB9OyBc
CiAgdGVzdCAkZGlyID0gLi4vc3lzZGVwcy91bml4ICYmIGJyZWFrOyBcCmRvbmUgPiAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWls
ZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3N5c2Qtc3lzY2FsbHNUCi4uL25wdGwvc3lzZGVwcy91bml4
L3N5c3YvbGludXgvYml0cy9sb2NhbF9saW0uaDozOToyNjogZmF0YWwgZXJyb3I6IGxpbnV4L2xp
bWl0cy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu
CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAg
ICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAg
ICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lz
ZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3Rk
Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4g
ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAg
ICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAg
ICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAu
aDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxl
IGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAg
ICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAg
ICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIz
LAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5j
bHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAg
ICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAg
ICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAg
ICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRl
ZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZy
b20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBm
cm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAg
ICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lz
L3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAu
Li9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20g
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAg
ICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lz
Y2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3Ig
ZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAu
Li9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5
c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAg
ICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxs
Lmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
Y3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5
c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVw
cy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBm
cm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoy
NToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
eQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVw
cy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20g
PHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0
OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNv
bXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94
ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3Rk
aW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZh
dGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGls
YXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9z
eXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82
NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46
MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwg
ZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlv
biB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2Rl
cC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5
c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgou
Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJv
cjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRl
cm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6
MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVw
Lmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBh
c20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWlu
YXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTow
LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDox
OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82
NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVw
cy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91
bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVk
LgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAg
ICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAog
ICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5
c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0
ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCi4u
L3N5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBubyBudW1iZXIgZm9yICwgbm8tZXJyb3Ig
c3lzY2FsbCAoX19zeXNjYWxsX2Nsb2NrX2dldHRpbWUgKQovdXNyL2Jpbi9pbnN0YWxsIC1jIC1t
IDY0NCBpY29udi5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIu
MTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82
NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvaWNvbnYuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1t
IDY0NCBnY29udi5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIu
MTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82
NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvZ2NvbnYuaAptYWtlWzJdOiBMZWF2aW5nIGRpcmVj
dG9yeSBgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQt
bmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitz
dm5yMTczODYvZWdsaWJjLTJfMTUvbGliYy9pY29udicKbWFrZSAtaiAxMiBzdWJkaXI9bG9jYWxl
IC1DIGxvY2FsZSAuLj0uLi8gaW5zdGFsbC1oZWFkZXJzCm1ha2VbMl06IEVudGVyaW5nIGRpcmVj
dG9yeSBgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQt
bmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitz
dm5yMTczODYvZWdsaWJjLTJfMTUvbGliYy9sb2NhbGUnCnsgZWNobyAnI2luY2x1ZGUgIi4uL3Bv
c2l4L2JpdHMvcG9zaXgxX2xpbS5oIic7CQlcCiAgZWNobyAnI2RlZmluZSBfTElCQyAxJzsJCQkJ
CVwKICBlY2hvICcjaW5jbHVkZSAiLi4vbWlzYy9zeXMvdWlvLmgiJzsgfSB8CQkJXAp4ODZfNjQt
Y2Nkc2RrLWxpbnV4LWdjYyAgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4LXRjYm9vdHN0
cmFwIC1FIC1kTSAtTUQgLU1QIC1NRiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMv
c3RkaW9fbGltLmRUIC1NVCAnL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
d29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVz
ZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlv
X2xpbS5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0
LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYr
c3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19saW0uZCcgCVwK
ICAgICAgLUkuLi9pbmNsdWRlIC1JL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRp
dmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9sb2NhbGUg
LUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRp
dmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIx
NzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4IC1JLi4vc3lzZGVwcy94ODZfNjQvZWxmIC1J
Li4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUkuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC94ODZfNjQgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02
NCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9ucHRsL3N5c2RlcHMvcHRo
cmVhZCAtSS4uL3N5c2RlcHMvcHRocmVhZCAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9zeXNkZXBzL2dudSAtSS4uL3N5
c2RlcHMvdW5peC9jb21tb24gLUkuLi9zeXNkZXBzL3VuaXgvbW1hbiAtSS4uL3N5c2RlcHMvdW5p
eC9pbmV0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3BvcnRzL3N5c2RlcHMvdW5p
eC9zeXN2IC1JLi4vc3lzZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBzL3VuaXgveDg2XzY0IC1J
Li4vbnB0bC9zeXNkZXBzL3VuaXggLUkuLi9wb3J0cy9zeXNkZXBzL3VuaXggLUkuLi9zeXNkZXBz
L3VuaXggLUkuLi9zeXNkZXBzL3Bvc2l4IC1JLi4vc3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJj
aCAtSS4uL3N5c2RlcHMveDg2XzY0L2ZwdSAtSS4uL3N5c2RlcHMveDg2XzY0L211bHRpYXJjaCAt
SS4uL25wdGwvc3lzZGVwcy94ODZfNjQgLUkuLi9zeXNkZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMv
d29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvbGRibC05NiAtSS4uL3N5c2RlcHMvaWVl
ZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC1JLi4v
c3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAtSS4uL3N5c2RlcHMvaWVlZTc1NCAtSS4uL3N5c2RlcHMv
Z2VuZXJpYy9lbGYgLUkuLi9zeXNkZXBzL2dlbmVyaWMgLUkuLi9ucHRsIC1JLi4vcG9ydHMgIC1J
Li4gLUkuLi9saWJpbyAtSS4gLW5vc3RkaW5jIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1j
Y2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgv
NC42LjQvaW5jbHVkZSAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4Lmdj
Yy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQtY2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUt
Zml4ZWQgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lz
cm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngv
c3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZSAteGMgLSAtbyAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWls
ZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmhUCmZvciBkaXIgaW4gL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNj
ZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVp
bGQteDg2XzY0LWNjZHNkay1saW51eCAuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLi4vbnB0bC9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2
XzY0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC4uL25wdGwvc3lzZGVw
cy91bml4L3N5c3YvbGludXggLi4vbnB0bC9zeXNkZXBzL3B0aHJlYWQgLi4vc3lzZGVwcy9wdGhy
ZWFkIC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4IC4uL3N5c2RlcHMvZ251IC4uL3N5c2RlcHMvdW5peC9jb21tb24gLi4vc3lzZGVwcy91
bml4L21tYW4gLi4vc3lzZGVwcy91bml4L2luZXQgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdiAu
Li9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAuLi9zeXNkZXBzL3VuaXgvc3lzdiAuLi9zeXNkZXBz
L3VuaXgveDg2XzY0IC4uL25wdGwvc3lzZGVwcy91bml4IC4uL3BvcnRzL3N5c2RlcHMvdW5peCAu
Li9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy9wb3NpeCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVs
dGlhcmNoIC4uL3N5c2RlcHMveDg2XzY0L2ZwdSAuLi9zeXNkZXBzL3g4Nl82NC9tdWx0aWFyY2gg
Li4vbnB0bC9zeXNkZXBzL3g4Nl82NCAuLi9zeXNkZXBzL3g4Nl82NCAuLi9zeXNkZXBzL3dvcmRz
aXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC4uL3N5c2RlcHMvaWVlZTc1NC9kYmwt
NjQvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NCAuLi9zeXNkZXBzL2llZWU3
NTQvZmx0LTMyIC4uL3N5c2RlcHMvaWVlZTc1NCAuLi9zeXNkZXBzL2dlbmVyaWMvZWxmIC4uL3N5
c2RlcHMvZ2VuZXJpYyAgLi4vbnB0bCAgLi4vcG9ydHM7IGRvIFwKICB0ZXN0IC1mICRkaXIvc3lz
Y2FsbHMubGlzdCAmJiBcCiAgeyBzeXNkaXJzPScuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLi4vbnB0
bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgveDg2XzY0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC4uL25wdGwv
c3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vbnB0bC9zeXNkZXBzL3B0aHJlYWQgLi4vc3lzZGVw
cy9wdGhyZWFkIC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4IC4uL3N5c2RlcHMvZ251IC4uL3N5c2RlcHMvdW5peC9jb21tb24gLi4vc3lz
ZGVwcy91bml4L21tYW4gLi4vc3lzZGVwcy91bml4L2luZXQgLi4vbnB0bC9zeXNkZXBzL3VuaXgv
c3lzdiAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAuLi9zeXNkZXBzL3VuaXgvc3lzdiAuLi9z
eXNkZXBzL3VuaXgveDg2XzY0IC4uL25wdGwvc3lzZGVwcy91bml4IC4uL3BvcnRzL3N5c2RlcHMv
dW5peCAuLi9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy9wb3NpeCAuLi9zeXNkZXBzL3g4Nl82NC9m
cHUvbXVsdGlhcmNoIC4uL3N5c2RlcHMveDg2XzY0L2ZwdSAuLi9zeXNkZXBzL3g4Nl82NC9tdWx0
aWFyY2ggLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAuLi9zeXNkZXBzL3g4Nl82NCAuLi9zeXNkZXBz
L3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC4uL3N5c2RlcHMvaWVlZTc1
NC9kYmwtNjQvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NCAuLi9zeXNkZXBz
L2llZWU3NTQvZmx0LTMyIC4uL3N5c2RlcHMvaWVlZTc1NCAuLi9zeXNkZXBzL2dlbmVyaWMvZWxm
IC4uL3N5c2RlcHMvZ2VuZXJpYycgXAogICAgYXNtX0NQUD0neDg2XzY0LWNjZHNkay1saW51eC1n
Y2MgIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNy
b290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC10Y2Jvb3RzdHJhcCAtYyAtaXN5c3Rl
bS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1u
YXRpdmVzZGstY2Nkc2RrLWxpbnV4L29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82
NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUgLURMT0NBTEVESVI9JyIvb3B0L2NvbmNvcmRpYS92
MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvbGliL2xvY2FsZSInIC1ETE9D
QUxFX0FMSUFTX1BBVEg9JyIvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNj
ZHNkay1saW51eC91c3Ivc2hhcmUvbG9jYWxlIicgLUlwcm9ncmFtcyAtSS4uL2luY2x1ZGUgLUkv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVz
ZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4
Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2xvY2FsZSAtSS9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWds
aWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2Rz
ZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC1JLi4vbnB0bC9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC1JLi4vc3lzZGVwcy9wdGhy
ZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251IC1JLi4vc3lzZGVwcy91bml4L2NvbW1vbiAtSS4u
L3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lzZGVwcy91bml4L2luZXQgLUkuLi9ucHRsL3N5c2Rl
cHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBzL3Vu
aXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94ODZfNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peCAt
SS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvcG9z
aXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC1JLi4vc3lzZGVwcy94ODZfNjQv
ZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1JLi4vbnB0bC9zeXNkZXBzL3g4Nl82
NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAtSS4uL3N5c2Rl
cHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02
NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMy
IC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4vc3lzZGVwcy9nZW5lcmljL2VsZiAtSS4uL3N5c2Rl
cHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9wb3J0cyAgLUkuLiAtSS4uL2xpYmlvIC1JLiAtbm9z
dGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lz
cm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3Nz
ZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lzdGVt
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1s
aW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2Nj
L3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2Rr
LWxpbnV4L3Vzci9pbmNsdWRlIC1EX0xJQkNfUkVFTlRSQU5UIC1pbmNsdWRlIC4uL2luY2x1ZGUv
bGliYy1zeW1ib2xzLmggICAgICAgLURBU1NFTUJMRVIgIC1nIC1XYSwtLW5vZXhlY3N0YWNrICAg
LUUgLXggYXNzZW1ibGVyLXdpdGgtY3BwJyBcCiAgICAvYmluL3NoIC4uL3N5c2RlcHMvdW5peC9t
YWtlLXN5c2NhbGxzLnNoICRkaXIgfHwgZXhpdCAxOyB9OyBcCiAgdGVzdCAkZGlyID0gLi4vc3lz
ZGVwcy91bml4ICYmIGJyZWFrOyBcCmRvbmUgPiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0
aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4
L3N5c2Qtc3lzY2FsbHNUCi4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9sb2Nh
bF9saW0uaDozOToyNjogZmF0YWwgZXJyb3I6IGxpbnV4L2xpbWl0cy5oOiBObyBzdWNoIGZpbGUg
b3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJv
bSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4u
L3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAu
Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAg
ICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNj
YWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBk
aXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4u
L3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lz
ZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAg
ICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwu
aDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lz
ZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBz
L3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVw
cy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZy
b20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1
OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5
CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBz
L3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5p
eC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8
c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6
IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29t
cGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5p
eC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4
Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRp
bj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0
YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5
c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0
L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjox
OgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBl
cnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9u
IHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVw
Lmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lz
ZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9y
OiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVy
bWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoy
MTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAu
aDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4
Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFz
bS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5h
dGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAs
CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5
LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0
L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3Vu
aXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu
CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAg
ICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAg
ICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lz
ZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3Rk
Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4g
ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAg
ICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAg
ICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAu
aDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxl
IGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAg
ICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAg
ICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIz
LAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5j
bHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAg
ICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAg
ICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAg
ICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRl
ZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZy
b20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBm
cm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAg
ICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lz
L3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAu
Li9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20g
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAg
ICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lz
Y2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3Ig
ZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCi4uL3N5c2RlcHMvdW5peC9tYWtlLXN5
c2NhbGxzLnNoOiBubyBudW1iZXIgZm9yICwgbm8tZXJyb3Igc3lzY2FsbCAoX19zeXNjYWxsX2Ns
b2NrX2dldHRpbWUgKQovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCBsb2NhbGUuaCAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFn
ZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9p
bmNsdWRlL2xvY2FsZS5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IGJpdHMvbG9jYWxlLmgg
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZl
c2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTcz
ODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51
eC91c3IvaW5jbHVkZS9iaXRzL2xvY2FsZS5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IGxh
bmdpbmZvLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZf
NjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1y
Nitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNj
ZHNkay1saW51eC91c3IvaW5jbHVkZS9sYW5naW5mby5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0g
NjQ0IHhsb2NhbGUuaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3Jr
L3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0y
LjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZf
NjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlL3hsb2NhbGUuaAovdXNyL2Jpbi9pbnN0YWxsIC1j
IC1tIDY0NCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82
NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2
K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2dudS9vcHRpb24tZ3JvdXBzLmgg
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZl
c2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTcz
ODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51
eC91c3IvaW5jbHVkZS9nbnUvb3B0aW9uLWdyb3Vwcy5oCm1ha2VbMl06IExlYXZpbmcgZGlyZWN0
b3J5IGAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1u
YXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2
bnIxNzM4Ni9lZ2xpYmMtMl8xNS9saWJjL2xvY2FsZScKbWFrZSAtaiAxMiBzdWJkaXI9bG9jYWxl
ZGF0YSAtQyBsb2NhbGVkYXRhIC4uPS4uLyBpbnN0YWxsLWhlYWRlcnMKbWFrZVsyXTogRW50ZXJp
bmcgZGlyZWN0b3J5IGAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3Jr
L3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0y
LjE1LXI2K3N2bnIxNzM4Ni9lZ2xpYmMtMl8xNS9saWJjL2xvY2FsZWRhdGEnCnsgZWNobyAnI2lu
Y2x1ZGUgIi4uL3Bvc2l4L2JpdHMvcG9zaXgxX2xpbS5oIic7CQlcCiAgZWNobyAnI2RlZmluZSBf
TElCQyAxJzsJCQkJCVwKICBlY2hvICcjaW5jbHVkZSAiLi4vbWlzYy9zeXMvdWlvLmgiJzsgfSB8
CQkJXAp4ODZfNjQtY2Nkc2RrLWxpbnV4LWdjYyAgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxp
bnV4LXRjYm9vdHN0cmFwIC1FIC1kTSAtTUQgLU1QIC1NRiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGli
Yy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2Rr
LWxpbnV4L2JpdHMvc3RkaW9fbGltLmRUIC1NVCAnL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5p
dGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51
eC9iaXRzL3N0ZGlvX2xpbS5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZl
c2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRp
b19saW0uZCcgCVwKICAgICAgLUkuLi9pbmNsdWRlIC1JL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMt
aW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1s
aW51eC9sb2NhbGVkYXRhIC1JL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
d29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVz
ZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eCAtSS4uL3N5c2Rl
cHMveDg2XzY0L2VsZiAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC1J
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC1JLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgvd29yZHNpemUtNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4v
bnB0bC9zeXNkZXBzL3B0aHJlYWQgLUkuLi9zeXNkZXBzL3B0aHJlYWQgLUkuLi9wb3J0cy9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vc3lz
ZGVwcy9nbnUgLUkuLi9zeXNkZXBzL3VuaXgvY29tbW9uIC1JLi4vc3lzZGVwcy91bml4L21tYW4g
LUkuLi9zeXNkZXBzL3VuaXgvaW5ldCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YgLUkuLi9w
b3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lzZGVw
cy91bml4L3g4Nl82NCAtSS4uL25wdGwvc3lzZGVwcy91bml4IC1JLi4vcG9ydHMvc3lzZGVwcy91
bml4IC1JLi4vc3lzZGVwcy91bml4IC1JLi4vc3lzZGVwcy9wb3NpeCAtSS4uL3N5c2RlcHMveDg2
XzY0L2ZwdS9tdWx0aWFyY2ggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUgLUkuLi9zeXNkZXBzL3g4
Nl82NC9tdWx0aWFyY2ggLUkuLi9ucHRsL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy94ODZf
NjQgLUkuLi9zeXNkZXBzL3dvcmRzaXplLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYg
LUkuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC1JLi4vc3lzZGVwcy9pZWVl
NzU0L2RibC02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9mbHQtMzIgLUkuLi9zeXNkZXBzL2llZWU3
NTQgLUkuLi9zeXNkZXBzL2dlbmVyaWMvZWxmIC1JLi4vc3lzZGVwcy9nZW5lcmljIC1JLi4vbnB0
bCAtSS4uL3BvcnRzICAtSS4uIC1JLi4vbGliaW8gLUkuIC1ub3N0ZGluYyAtaXN5c3RlbSAvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgv
dXNyL2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZf
NjQtY2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0
LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51
eC80LjYuNC9pbmNsdWRlLWZpeGVkIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L29wdC9j
b25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUg
LXhjIC0gLW8gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZf
NjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1y
Nitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlvX2xpbS5oVApm
b3IgZGlyIGluIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2
XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUt
cjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXggLi4vc3lzZGVwcy94ODZfNjQv
ZWxmIC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02
NCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL25wdGwvc3lzZGVwcy9wdGhyZWFk
IC4uL3N5c2RlcHMvcHRocmVhZCAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL2dudSAuLi9zeXNkZXBzL3VuaXgvY29t
bW9uIC4uL3N5c2RlcHMvdW5peC9tbWFuIC4uL3N5c2RlcHMvdW5peC9pbmV0IC4uL25wdGwvc3lz
ZGVwcy91bml4L3N5c3YgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLi4vc3lzZGVwcy91bml4
L3N5c3YgLi4vc3lzZGVwcy91bml4L3g4Nl82NCAuLi9ucHRsL3N5c2RlcHMvdW5peCAuLi9wb3J0
cy9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy91bml4IC4uL3N5c2RlcHMvcG9zaXggLi4vc3lzZGVw
cy94ODZfNjQvZnB1L211bHRpYXJjaCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUgLi4vc3lzZGVwcy94
ODZfNjQvbXVsdGlhcmNoIC4uL25wdGwvc3lzZGVwcy94ODZfNjQgLi4vc3lzZGVwcy94ODZfNjQg
Li4vc3lzZGVwcy93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvbGRibC05NiAuLi9zeXNk
ZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQg
Li4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAuLi9zeXNkZXBzL2llZWU3NTQgLi4vc3lzZGVwcy9n
ZW5lcmljL2VsZiAuLi9zeXNkZXBzL2dlbmVyaWMgIC4uL25wdGwgIC4uL3BvcnRzOyBkbyBcCiAg
dGVzdCAtZiAkZGlyL3N5c2NhbGxzLmxpc3QgJiYgXAogIHsgc3lzZGlycz0nLi4vc3lzZGVwcy94
ODZfNjQvZWxmIC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jk
c2l6ZS02NCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL25wdGwvc3lzZGVwcy9w
dGhyZWFkIC4uL3N5c2RlcHMvcHRocmVhZCAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL2dudSAuLi9zeXNkZXBzL3Vu
aXgvY29tbW9uIC4uL3N5c2RlcHMvdW5peC9tbWFuIC4uL3N5c2RlcHMvdW5peC9pbmV0IC4uL25w
dGwvc3lzZGVwcy91bml4L3N5c3YgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLi4vc3lzZGVw
cy91bml4L3N5c3YgLi4vc3lzZGVwcy91bml4L3g4Nl82NCAuLi9ucHRsL3N5c2RlcHMvdW5peCAu
Li9wb3J0cy9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy91bml4IC4uL3N5c2RlcHMvcG9zaXggLi4v
c3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUgLi4vc3lz
ZGVwcy94ODZfNjQvbXVsdGlhcmNoIC4uL25wdGwvc3lzZGVwcy94ODZfNjQgLi4vc3lzZGVwcy94
ODZfNjQgLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvbGRibC05NiAu
Li9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9k
YmwtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAuLi9zeXNkZXBzL2llZWU3NTQgLi4vc3lz
ZGVwcy9nZW5lcmljL2VsZiAuLi9zeXNkZXBzL2dlbmVyaWMnIFwKICAgIGFzbV9DUFA9J3g4Nl82
NC1jY2RzZGstbGludXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgtdGNib290
c3RyYXAgLWMgLWlzeXN0ZW0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9z
eXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEu
eC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlICAtSS4uL2luY2x1ZGUg
LUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRp
dmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIx
NzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2xvY2FsZWRhdGEgLUkvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxp
bnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZf
NjQtY2Nkc2RrLWxpbnV4IC1JLi4vc3lzZGVwcy94ODZfNjQvZWxmIC1JLi4vbnB0bC9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCAtSS4uL25wdGwvc3lz
ZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAtSS4uL3N5c2Rl
cHMvcHRocmVhZCAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVw
cy91bml4L3N5c3YvbGludXggLUkuLi9zeXNkZXBzL2dudSAtSS4uL3N5c2RlcHMvdW5peC9jb21t
b24gLUkuLi9zeXNkZXBzL3VuaXgvbW1hbiAtSS4uL3N5c2RlcHMvdW5peC9pbmV0IC1JLi4vbnB0
bC9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lz
ZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBzL3VuaXgveDg2XzY0IC1JLi4vbnB0bC9zeXNkZXBz
L3VuaXggLUkuLi9wb3J0cy9zeXNkZXBzL3VuaXggLUkuLi9zeXNkZXBzL3VuaXggLUkuLi9zeXNk
ZXBzL3Bvc2l4IC1JLi4vc3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCAtSS4uL3N5c2RlcHMv
eDg2XzY0L2ZwdSAtSS4uL3N5c2RlcHMveDg2XzY0L211bHRpYXJjaCAtSS4uL25wdGwvc3lzZGVw
cy94ODZfNjQgLUkuLi9zeXNkZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMvd29yZHNpemUtNjQgLUku
Li9zeXNkZXBzL2llZWU3NTQvbGRibC05NiAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29y
ZHNpemUtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0
L2ZsdC0zMiAtSS4uL3N5c2RlcHMvaWVlZTc1NCAtSS4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLUku
Li9zeXNkZXBzL2dlbmVyaWMgLUkuLi9ucHRsIC1JLi4vcG9ydHMgIC1JLi4gLUkuLi9saWJpbyAt
SS4gLW5vc3RkaW5jIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2Nj
LWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZSAt
aXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94
ODZfNjQtbGludXgvdXNyL2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0
aWFsL2djYy94ODZfNjQtY2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUtZml4ZWQgLWlzeXN0ZW0g
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5h
dGl2ZXNkay1jY2RzZGstbGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0
LWNjZHNkay1saW51eC91c3IvaW5jbHVkZSAtRF9MSUJDX1JFRU5UUkFOVCAtaW5jbHVkZSAuLi9p
bmNsdWRlL2xpYmMtc3ltYm9scy5oICAgICAgIC1EQVNTRU1CTEVSICAtZyAtV2EsLS1ub2V4ZWNz
dGFjayAgIC1FIC14IGFzc2VtYmxlci13aXRoLWNwcCcgXAogICAgL2Jpbi9zaCAuLi9zeXNkZXBz
L3VuaXgvbWFrZS1zeXNjYWxscy5zaCAkZGlyIHx8IGV4aXQgMTsgfTsgXAogIHRlc3QgJGRpciA9
IC4uL3N5c2RlcHMvdW5peCAmJiBicmVhazsgXApkb25lID4gL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xp
YmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNk
ay1saW51eC9zeXNkLXN5c2NhbGxzVAouLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Jp
dHMvbG9jYWxfbGltLmg6Mzk6MjY6IGZhdGFsIGVycm9yOiBsaW51eC9saW1pdHMuaDogTm8gc3Vj
aCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1
ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAg
IGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAg
ICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9z
eXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZp
bGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9t
IC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJv
bSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAg
ICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9z
eXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBv
ciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4v
c3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAg
ICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2Nh
bGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRp
cmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v
c3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAg
IGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5o
OjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0
b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMv
dW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJv
bSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6
MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK
Y29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMv
dW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4
L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxz
dGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDog
ZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21w
aWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4
L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2
XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGlu
PjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRh
bCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0
aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lz
ZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQv
c3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6
Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVy
cm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24g
dGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAu
aDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNk
ZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4v
c3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6
IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJt
aW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIx
OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5o
OjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2
XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNt
L3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0
ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwK
ICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTks
CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQv
c3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5p
c3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4K
SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAg
ICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAg
ICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNk
ZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4
L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQu
aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBm
aWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAg
ICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAg
ICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5o
OjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBO
byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUg
aW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAg
ICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAg
ICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMs
CiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1
Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNs
dWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAg
IGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAg
ICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAg
ICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgv
c3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBm
aWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgouLi9zeXNkZXBzL3VuaXgv
bWFrZS1zeXNjYWxscy5zaDogbm8gbnVtYmVyIGZvciAsIG5vLWVycm9yIHN5c2NhbGwgKF9fc3lz
Y2FsbF9jbG9ja19nZXR0aW1lICkKL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNk
ay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQt
eDg2XzY0LWNjZHNkay1saW51eC9nbnUvb3B0aW9uLWdyb3Vwcy5oIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgv
ZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25j
b3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvZ251
L29wdGlvbi1ncm91cHMuaAptYWtlWzJdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1s
aW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvZWdsaWJjLTJf
MTUvbGliYy9sb2NhbGVkYXRhJwptYWtlIC1qIDEyIHN1YmRpcj1pY29udmRhdGEgLUMgaWNvbnZk
YXRhIC4uPS4uLyBpbnN0YWxsLWhlYWRlcnMKbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVz
ZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4
Ni9lZ2xpYmMtMl8xNS9saWJjL2ljb252ZGF0YScKeyBlY2hvICcjaW5jbHVkZSAiLi4vcG9zaXgv
Yml0cy9wb3NpeDFfbGltLmgiJzsJCVwKICBlY2hvICcjZGVmaW5lIF9MSUJDIDEnOwkJCQkJXAog
IGVjaG8gJyNpbmNsdWRlICIuLi9taXNjL3N5cy91aW8uaCInOyB9IHwJCQlcCng4Nl82NC1jY2Rz
ZGstbGludXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgtdGNib290c3RyYXAg
LUUgLWRNIC1NRCAtTVAgLU1GIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZl
c2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRp
b19saW0uZFQgLU1UICcvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3Jr
L3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0y
LjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3RkaW9fbGlt
LmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0
aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5y
MTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlvX2xpbS5kJyAJXAogICAg
ICAtSS4uL2luY2x1ZGUgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93
b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNk
ay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2ljb252ZGF0YSAt
SS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2
ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3
Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLUku
Li9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0
IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lzZGVwcy9wdGhy
ZWFkIC1JLi4vc3lzZGVwcy9wdGhyZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGlu
dXggLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251IC1JLi4vc3lz
ZGVwcy91bml4L2NvbW1vbiAtSS4uL3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lzZGVwcy91bml4
L2luZXQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4
L3N5c3YgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94ODZfNjQgLUku
Li9ucHRsL3N5c2RlcHMvdW5peCAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMv
dW5peCAtSS4uL3N5c2RlcHMvcG9zaXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNo
IC1JLi4vc3lzZGVwcy94ODZfNjQvZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1J
Li4vbnB0bC9zeXNkZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy93
b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lzZGVwcy9pZWVl
NzU0L2RibC02NC93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUkuLi9z
eXNkZXBzL2llZWU3NTQvZmx0LTMyIC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4vc3lzZGVwcy9n
ZW5lcmljL2VsZiAtSS4uL3N5c2RlcHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9wb3J0cyAgLUku
LiAtSS4uL2xpYmlvIC1JLiAtbm9zdGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNj
ZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80
LjYuNC9pbmNsdWRlIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2Nj
LWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1m
aXhlZCAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNy
b290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9z
eXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlIC14YyAtIC1vIC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2Rz
ZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxk
LXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19saW0uaFQKZm9yIGRpciBpbiAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWls
ZC14ODZfNjQtY2Nkc2RrLWxpbnV4IC4uL3N5c2RlcHMveDg2XzY0L2VsZiAuLi9ucHRsL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLi4vbnB0bC9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eCAuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAuLi9zeXNkZXBzL3B0aHJl
YWQgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXggLi4vc3lzZGVwcy9nbnUgLi4vc3lzZGVwcy91bml4L2NvbW1vbiAuLi9zeXNkZXBzL3Vu
aXgvbW1hbiAuLi9zeXNkZXBzL3VuaXgvaW5ldCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC4u
L3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMv
dW5peC94ODZfNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXggLi4vcG9ydHMvc3lzZGVwcy91bml4IC4u
L3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3Bvc2l4IC4uL3N5c2RlcHMveDg2XzY0L2ZwdS9tdWx0
aWFyY2ggLi4vc3lzZGVwcy94ODZfNjQvZnB1IC4uL3N5c2RlcHMveDg2XzY0L211bHRpYXJjaCAu
Li9ucHRsL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMvd29yZHNp
emUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02
NC93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC4uL3N5c2RlcHMvaWVlZTc1
NC9mbHQtMzIgLi4vc3lzZGVwcy9pZWVlNzU0IC4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLi4vc3lz
ZGVwcy9nZW5lcmljICAuLi9ucHRsICAuLi9wb3J0czsgZG8gXAogIHRlc3QgLWYgJGRpci9zeXNj
YWxscy5saXN0ICYmIFwKICB7IHN5c2RpcnM9Jy4uL3N5c2RlcHMveDg2XzY0L2VsZiAuLi9ucHRs
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC94ODZfNjQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLi4vbnB0bC9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAuLi9zeXNkZXBz
L3B0aHJlYWQgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy91bml4
L3N5c3YvbGludXggLi4vc3lzZGVwcy9nbnUgLi4vc3lzZGVwcy91bml4L2NvbW1vbiAuLi9zeXNk
ZXBzL3VuaXgvbW1hbiAuLi9zeXNkZXBzL3VuaXgvaW5ldCAuLi9ucHRsL3N5c2RlcHMvdW5peC9z
eXN2IC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5
c2RlcHMvdW5peC94ODZfNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXggLi4vcG9ydHMvc3lzZGVwcy91
bml4IC4uL3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3Bvc2l4IC4uL3N5c2RlcHMveDg2XzY0L2Zw
dS9tdWx0aWFyY2ggLi4vc3lzZGVwcy94ODZfNjQvZnB1IC4uL3N5c2RlcHMveDg2XzY0L211bHRp
YXJjaCAuLi9ucHRsL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMv
d29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLi4vc3lzZGVwcy9pZWVlNzU0
L2RibC02NC93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC4uL3N5c2RlcHMv
aWVlZTc1NC9mbHQtMzIgLi4vc3lzZGVwcy9pZWVlNzU0IC4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYg
Li4vc3lzZGVwcy9nZW5lcmljJyBcCiAgICBhc21fQ1BQPSd4ODZfNjQtY2Nkc2RrLWxpbnV4LWdj
YyAgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jv
b3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4LXRjYm9vdHN0cmFwIC1jIC1pc3lzdGVt
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5h
dGl2ZXNkay1jY2RzZGstbGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0
LWNjZHNkay1saW51eC91c3IvaW5jbHVkZSAgLUkuLi9pbmNsdWRlIC1JL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51
eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0
LWNjZHNkay1saW51eC9pY29udmRhdGEgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFs
LW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4IC1J
Li4vc3lzZGVwcy94ODZfNjQvZWxmIC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUkuLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGlu
dXggLUkuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAtSS4uL3N5c2RlcHMvcHRocmVhZCAtSS4uL3Bv
cnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgg
LUkuLi9zeXNkZXBzL2dudSAtSS4uL3N5c2RlcHMvdW5peC9jb21tb24gLUkuLi9zeXNkZXBzL3Vu
aXgvbW1hbiAtSS4uL3N5c2RlcHMvdW5peC9pbmV0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lz
diAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lzZGVwcy91bml4L3N5c3YgLUku
Li9zeXNkZXBzL3VuaXgveDg2XzY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXggLUkuLi9wb3J0cy9z
eXNkZXBzL3VuaXggLUkuLi9zeXNkZXBzL3VuaXggLUkuLi9zeXNkZXBzL3Bvc2l4IC1JLi4vc3lz
ZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCAtSS4uL3N5c2RlcHMveDg2XzY0L2ZwdSAtSS4uL3N5
c2RlcHMveDg2XzY0L211bHRpYXJjaCAtSS4uL25wdGwvc3lzZGVwcy94ODZfNjQgLUkuLi9zeXNk
ZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQv
bGRibC05NiAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLUkuLi9zeXNk
ZXBzL2llZWU3NTQvZGJsLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAtSS4uL3N5c2Rl
cHMvaWVlZTc1NCAtSS4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLUkuLi9zeXNkZXBzL2dlbmVyaWMg
LUkuLi9ucHRsIC1JLi4vcG9ydHMgIC1JLi4gLUkuLi9saWJpbyAtSS4gLW5vc3RkaW5jIC1pc3lz
dGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82
NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwv
Z2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZSAtaXN5c3RlbSAvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xp
Yi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQtY2Nk
c2RrLWxpbnV4LzQuNi40L2luY2x1ZGUtZml4ZWQgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGlu
dXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3Iv
aW5jbHVkZSAtRF9MSUJDX1JFRU5UUkFOVCAtaW5jbHVkZSAuLi9pbmNsdWRlL2xpYmMtc3ltYm9s
cy5oICAgICAgIC1ETk9UX0lOX2xpYmMgLURBU1NFTUJMRVIgIC1nIC1XYSwtLW5vZXhlY3N0YWNr
ICAgLUUgLXggYXNzZW1ibGVyLXdpdGgtY3BwJyBcCiAgICAvYmluL3NoIC4uL3N5c2RlcHMvdW5p
eC9tYWtlLXN5c2NhbGxzLnNoICRkaXIgfHwgZXhpdCAxOyB9OyBcCiAgdGVzdCAkZGlyID0gLi4v
c3lzZGVwcy91bml4ICYmIGJyZWFrOyBcCmRvbmUgPiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1p
bml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxp
bnV4L3N5c2Qtc3lzY2FsbHNUCi4uLy4vc2NyaXB0cy9ta2luc3RhbGxkaXJzIC9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGst
bGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4
Nl82NC1jY2RzZGstbGludXgvaWNvbnZkYXRhCi4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgvYml0cy9sb2NhbF9saW0uaDozOToyNjogZmF0YWwgZXJyb3I6IGxpbnV4L2xpbWl0cy5oOiBO
byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCm1rZGlyIC9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNk
ay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2
L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvaWNvbnZkYXRhCnsgZWNobyBJU084ODU5LTEgSVNP
ODg1OS0yIElTTzg4NTktMyBJU084ODU5LTQgSVNPODg1OS01IElTTzg4NTktNiBJU084ODU5LTcg
SVNPODg1OS04IElTTzg4NTktOSBJU084ODU5LTEwIElTTzg4NTktMTEgSVNPODg1OS0xMyBJU084
ODU5LTE0IElTTzg4NTktMTUgSVNPODg1OS0xNiBULjYxIElTT182OTM3IFNKSVMgS09JLTggSFAt
Uk9NQU44IEhQLVJPTUFOOSBFQkNESUMtQVQtREUgRUJDRElDLUFULURFLUEgRUJDRElDLUNBLUZS
IEVVQy1LUiBVSEMgSk9IQUIgQklHNSBFVUMtSlAgRVVDLUNOIEVVQy1UVyBJU082NDYgRUJDRElD
LURLLU5PIEVCQ0RJQy1ESy1OTy1BIEVCQ0RJQy1FUyBFQkNESUMtRVMtQSBFQkNESUMtRVMtUyBF
QkNESUMtRkktU0UgRUJDRElDLUZJLVNFLUEgRUJDRElDLUZSIEVCQ0RJQy1JUy1GUklTUyBFQkNE
SUMtSVQgRUJDRElDLVBUIEVCQ0RJQy1VSyBFQkNESUMtVVMgSUJNMDM3IElCTTAzOCBJQk0yNzQg
SUJNMjc1IElCTTQyMyBJQk01MDAgSUJNODcwIElCTTg3MSBJQk04OTEgSUJNOTAzIElCTTkwNCBJ
Qk05MDUgSUJNMTA0NyBJQk04NzQgQ1A3MzcgQ1A3NzUgSVNPLTIwMjItS1IgSFAtVFVSS0lTSDgg
SFAtVEhBSTggSFAtR1JFRUs4IEtPSTgtUiBMQVRJTi1HUkVFSyBMQVRJTi1HUkVFSy0xIElCTTI1
NiBJQk0yNzMgSUJNMjc3IElCTTI3OCBJQk0yODAgSUJNMjgxIElCTTI4NCBJQk0yODUgSUJNMjkw
IElCTTI5NyBJQk00MjAgSUJNNDI0IElCTTQzNyBJQk04NTAgSUJNODUxIElCTTg1MiBJQk04NTUg
SUJNODU3IElCTTg2MCBJQk04NjEgSUJNODYyIElCTTg2MyBJQk04NjQgSUJNODY1IElCTTg2OCBJ
Qk04NjkgSUJNODc1IElCTTg4MCBJQk04NjYgQ1AxMjU4IElCTTkyMiBJQk0xMTI0IElCTTExMjkg
SUJNOTMyIElCTTk0MyBJQk04NTYgSUJNOTMwIElCTTkzMyBJQk05MzUgSUJNOTM3IElCTTkzOSBJ
Qk0xMDQ2IElCTTExMzIgSUJNMTEzMyBJQk0xMTYwIElCTTExNjEgSUJNMTE2MiBJQk0xMTYzIElC
TTExNjQgSUJNOTE4IElCTTEwMDQgSUJNMTAyNiBDUDExMjUgQ1AxMjUwIENQMTI1MSBDUDEyNTIg
Q1AxMjUzIENQMTI1NCBDUDEyNTUgQ1AxMjU2IENQMTI1NyBJU08tMjAyMi1KUCBNQUNJTlRPU0gg
SUVDX1AyNy0xIEFTTU9fNDQ5IEFOU0lfWDMuMTEwIENTTl8zNjkxMDMgQ1dJIERFQy1NQ1MgRUNN
QS1DWVJJTExJQyBHT1NUXzE5NzY4LTc0IEdSRUVLLUNDSVRUIEdSRUVLNyBHUkVFSzctT0xEIElO
SVMgSU5JUy04IElOSVMtQ1lSSUxMSUMgSVNPXzY5MzctMiBJU09fMjAzMyBJU09fNTQyNyBJU09f
NTQyNy1FWFQgSVNPXzU0MjggSVNPXzEwMzY3LUJPWCBNQUMtSVMgTUFDLVVLIE5BVFMtREFOTyBO
QVRTLVNFRkkgU0FNSS1XUzIgSVNPLUlSLTE5NyBUSVMtNjIwIEtPSTgtVSBHQksgSVNJUkktMzM0
MiBHQkdCSyBJU08tMjAyMi1DTiBVVEYtMTYgVU5JQ09ERSBVVEYtMzIgVVRGLTcgQklHNUhLU0NT
IEdCMTgwMzAgSVNPLTIwMjItQ04tRVhUIFZJU0NJSSBHQkJJRzUgQ1AxMDAwNyBLT0k4LVQgR0VP
UkdJQU4tUFMgR0VPUkdJQU4tQUNBREVNWSBJU08tSVItMjA5IE1BQy1TQU1JIEFSTVNDSUktOCBU
Q1ZONTcxMi0xIEVVQy1KSVNYMDIxMyBTSElGVF9KSVNYMDIxMyBJU08tMjAyMi1KUC0zIFRTQ0lJ
IElCTTg2Nk5BViBDUDkzMiBFVUMtSlAtTVMgUFQxNTQgUksxMDQ4IElCTTEwMjUgSUJNMTEyMiBJ
Qk0xMTM3IElCTTExNTMgSUJNMTE1NCBJQk0xMTU1IElCTTExNTYgSUJNMTE1NyBJQk0xMTU4IElC
TTgwMyBJQk05MDEgSUJNOTAyIElCTTkyMSBJQk0xMDA4IElCTTEwMDhfNDIwIElCTTEwOTcgSUJN
MTExMiBJQk0xMTIzIElCTTExMzAgSUJNMTE0MCBJQk0xMTQxIElCTTExNDIgSUJNMTE0MyBJQk0x
MTQ0IElCTTExNDUgSUJNMTE0NiBJQk0xMTQ3IElCTTExNDggSUJNMTE0OSBJQk0xMTY2IElCTTEx
NjcgSUJNNDUxNyBJQk00ODk5IElCTTQ5MDkgSUJNNDk3MSBJQk01MzQ3IElCTTkwMzAgSUJNOTA2
NiBJQk05NDQ4IElCTTEyNzEyIElCTTE2ODA0IElCTTEzNjQgSUJNMTM3MSBJQk0xMzg4IElCTTEz
OTAgSUJNMTM5OSBJU09fMTE1NDgtMSBNSUsgQlJGIE1BQy1DRU5UUkFMRVVST1BFIEtPSTgtUlUg
SVNPODg1OS05RSBDUDc3MCBDUDc3MSBDUDc3MiBDUDc3MyBDUDc3NDsgXAogIGVjaG8gOGJpdCBp
c284ODU5LTIgaXNvODg1OS0zIGlzbzg4NTktNCBpc284ODU5LTYgaXNvODg1OS05IGtvaS04IGVi
Y2RpYy1hdC1kZSBlYmNkaWMtYXQtZGUtYSBlYmNkaWMtY2EtZnIgZWJjZGljLWRrLW5vIGViY2Rp
Yy1kay1uby1hIGViY2RpYy1lcy1zIGViY2RpYy1maS1zZSBlYmNkaWMtZmktc2UtYSBlYmNkaWMt
ZnIgZWJjZGljLWl0IGViY2RpYy1wdCBlYmNkaWMtdXMgaWJtMDM3IGlibTAzOCBpYm0yNzQgaWJt
Mjc1IGlibTQyMyBpYm01MDAgaWJtODcwIGlibTg3MSBpYm04OTEgaWJtOTAzIGlibTkwNCBpYm05
MDUgaWJtMTA0NzsgXAogIGVjaG8gOGJpdC1nYXAga29pOC1yIGxhdGluLWdyZWVrIGxhdGluLWdy
ZWVrLTEgaWJtMjU2IGlibTI3MyBpYm0yNzcgaWJtMjc4IGlibTI4MCBpYm0yODEgaWJtMjg0IGli
bTI4NSBpYm0yOTAgaWJtMjk3IGlibTQyMCBpYm00MjQgaWJtNDM3IGlibTg1MCBpYm04NTEgaWJt
ODUyIGlibTg1NSBpYm04NTcgaWJtODYwIGlibTg2MSBpYm04NjIgaWJtODYzIGlibTg2NCBpYm04
NjUgaWJtODY4IGlibTg2OSBpYm04NzUgaWJtODgwIGlibTkxOCBpYm0xMDA0IGlibTEwMjYgY3Ax
MTI1IGNwMTI1MCBjcDEyNTEgY3AxMjUyIGNwMTI1MyBjcDEyNTQgY3AxMjU2IGNwMTI1NyBpYm04
NjYgaXNvODg1OS01IGlzbzg4NTktNyBpc284ODU5LTggaXNvODg1OS0xMCBtYWNpbnRvc2ggaWVj
X3AyNy0xIGFzbW9fNDQ5IGNzbl8zNjkxMDMgY3dpIGRlYy1tY3MgZWNtYS1jeXJpbGxpYyBnb3N0
XzE5NzY4LTc0IGdyZWVrLWNjaXR0IGdyZWVrNyBncmVlazctb2xkIGluaXMgaW5pcy04IGluaXMt
Y3lyaWxsaWMgaXNvXzIwMzMgaXNvXzU0MjcgaXNvXzU0MjctZXh0IGlzb181NDI4IGlzb18xMDM2
Ny1ib3ggbWFjLWlzIG5hdHMtZGFubyBuYXRzLXNlZmkgaXNvODg1OS0xMyBpc284ODU5LTE0IGlz
bzg4NTktMTUgbWFjLXVrIHNhbWktd3MyIGlzby1pci0xOTcgdGlzLTYyMCBrb2k4LXUgaWJtODc0
IGNwMTAwMDcga29pOC10IGdlb3JnaWFuLXBzIGdlb3JnaWFuLWFjYWRlbXkgaXNvLWlyLTIwOSBt
YWMtc2FtaSBpc284ODU5LTExIGlibTg2Nm5hdiBwdDE1NCByazEwNDggbWlrIGJyZiBtYWMtY2Vu
dHJhbGV1cm9wZSBrb2k4LXJ1IGhwLXJvbWFuOCBocC1yb21hbjkgZWJjZGljLWVzIGViY2RpYy1l
cy1hIGViY2RpYy1pcy1mcmlzcyBlYmNkaWMtdWsgaXNvODg1OS0xNiB2aXNjaWkgaXNvODg1OS05
ZSBocC10dXJraXNoOCBocC10aGFpOCBocC1ncmVlazggY3A3NzAgY3A3NzEgY3A3NzIgY3A3NzMg
Y3A3NzQ7IH0gfCBcCkxDX0FMTD1DIFwKZ2F3ayAnTlIgPT0gMSB7IFwKCSAgZm9yIChpID0gMTsg
aSA8PSBORjsgaSsrKSB7IFwKCSAgICBwcmludGYgIiVzLXJvdXRpbmVzIDo9ICVzXG4iLCAkaSwg
dG9sb3dlcigkaSk7IFwKCSAgICBwcmludGYgIiVzLW1hcCA6PSBnY29udi5tYXBcbiIsICRpOyBc
CgkgIH0gXAoJfTsgXAoJTlIgPiAxIHsgXAoJICBmb3IgKGkgPSAyOyBpIDw9IE5GOyBpKyspIHsg
XAoJICAgIHByaW50ZiAiJChvYmpwZngpJXMuc3RtcDogIiwgJGk7IFwKCSAgICBtYXAgPSB0b3Vw
cGVyKCRpKTsgXAoJICAgIHN1YigvXklTTzg4NTkvLCAiSVNPLTg4NTkiLCBtYXApOyBcCgkgICAg
aWYgKG1hcCA9PSAiSVNPXzIwMzMiKSBtYXAgPSBtYXAgIi0xOTgzIjsgXAoJICAgIHByaW50ZiAi
JChjaGFybWFwcykvJXMgIiwgbWFwOyBcCgkgICAgcHJpbnRmICJnZW4tJXMuc2hcbiIsICQxOyBc
CgkgICAgcHJpbnRmICJcdCQoZ2VuZXJhdGUtJXMtdGFibGUpXG4iLCAkMTsgXAoJICB9IFwKCX0n
ID4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0
aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5y
MTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9pY29udmRhdGEvaWNvbnYtcnVsZXMubmV3
Cm12IC1mIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0
LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYr
c3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvaWNvbnZkYXRhL2ljb252LXJ1bGVz
Lm5ldyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1u
YXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2
bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2ljb252ZGF0YS9pY29udi1ydWxlcwpJ
biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAg
ICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAg
ICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2Rl
cC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5o
OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZp
bGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAg
ICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAg
ICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6
MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBp
bmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAg
ICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAg
ICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywK
ICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3Vj
aCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1
ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAg
IGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAg
ICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9z
eXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZp
bGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9t
IC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJv
bSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAg
ICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9z
eXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBv
ciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4v
c3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAg
ICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2Nh
bGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRp
cmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v
c3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAg
IGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5o
OjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0
b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMv
dW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJv
bSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6
MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK
Y29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMv
dW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4
L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxz
dGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDog
ZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21w
aWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4
L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2
XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGlu
PjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRh
bCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0
aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lz
ZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQv
c3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6
Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVy
cm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24g
dGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAu
aDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNk
ZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4v
c3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6
IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJt
aW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIx
OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5o
OjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2
XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNt
L3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0
ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwK
ICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTks
CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQv
c3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5p
c3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4K
SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAg
ICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAg
ICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNk
ZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4
L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQu
aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgouLi9z
eXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogbm8gbnVtYmVyIGZvciAsIG5vLWVycm9yIHN5
c2NhbGwgKF9fc3lzY2FsbF9jbG9ja19nZXR0aW1lICkKbWFrZVsyXTogTGVhdmluZyBkaXJlY3Rv
cnkgYC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5h
dGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3Zu
cjE3Mzg2L2VnbGliYy0yXzE1L2xpYmMvaWNvbnZkYXRhJwptYWtlWzJdOiBFbnRlcmluZyBkaXJl
Y3RvcnkgYC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0
LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYr
c3ZucjE3Mzg2L2VnbGliYy0yXzE1L2xpYmMvaWNvbnZkYXRhJwp7IGVjaG8gJyNpbmNsdWRlICIu
Li9wb3NpeC9iaXRzL3Bvc2l4MV9saW0uaCInOwkJXAogIGVjaG8gJyNkZWZpbmUgX0xJQkMgMSc7
CQkJCQlcCiAgZWNobyAnI2luY2x1ZGUgIi4uL21pc2Mvc3lzL3Vpby5oIic7IH0gfAkJCVwKeDg2
XzY0LWNjZHNkay1saW51eC1nY2MgIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC10Y2Jv
b3RzdHJhcCAtRSAtZE0gLU1EIC1NUCAtTUYgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlh
bC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9i
aXRzL3N0ZGlvX2xpbS5kVCAtTVQgJy9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0
aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9z
dGRpb19saW0uaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4
Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1
LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmQn
IAlcCiAgICAgIC1JLi4vaW5jbHVkZSAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwt
bmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvaWNv
bnZkYXRhIC1JL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZf
NjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1y
Nitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eCAtSS4uL3N5c2RlcHMveDg2XzY0
L2VsZiAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC1JLi4vc3lzZGVw
cy91bml4L3N5c3YvbGludXgveDg2XzY0IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29y
ZHNpemUtNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vbnB0bC9zeXNk
ZXBzL3B0aHJlYWQgLUkuLi9zeXNkZXBzL3B0aHJlYWQgLUkuLi9wb3J0cy9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVwcy9nbnUg
LUkuLi9zeXNkZXBzL3VuaXgvY29tbW9uIC1JLi4vc3lzZGVwcy91bml4L21tYW4gLUkuLi9zeXNk
ZXBzL3VuaXgvaW5ldCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YgLUkuLi9wb3J0cy9zeXNk
ZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lzZGVwcy91bml4L3g4
Nl82NCAtSS4uL25wdGwvc3lzZGVwcy91bml4IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4IC1JLi4v
c3lzZGVwcy91bml4IC1JLi4vc3lzZGVwcy9wb3NpeCAtSS4uL3N5c2RlcHMveDg2XzY0L2ZwdS9t
dWx0aWFyY2ggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUgLUkuLi9zeXNkZXBzL3g4Nl82NC9tdWx0
aWFyY2ggLUkuLi9ucHRsL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy94ODZfNjQgLUkuLi9z
eXNkZXBzL3dvcmRzaXplLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLUkuLi9zeXNk
ZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02
NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9mbHQtMzIgLUkuLi9zeXNkZXBzL2llZWU3NTQgLUkuLi9z
eXNkZXBzL2dlbmVyaWMvZWxmIC1JLi4vc3lzZGVwcy9nZW5lcmljIC1JLi4vbnB0bCAtSS4uL3Bv
cnRzICAtSS4uIC1JLi4vbGliaW8gLUkuIC1ub3N0ZGluYyAtaXN5c3RlbSAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi94
ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQtY2Nkc2Rr
LWxpbnV4LzQuNi40L2luY2x1ZGUgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1s
aW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9p
bmNsdWRlLWZpeGVkIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L29wdC9jb25jb3JkaWEv
djAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUgLXhjIC0gLW8g
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZl
c2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTcz
ODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlvX2xpbS5oVApmb3IgZGlyIGlu
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2
ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3
Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXggLi4vc3lzZGVwcy94ODZfNjQvZWxmIC4uL25w
dGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCAuLi9ucHRs
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC4uL3N5c2Rl
cHMvcHRocmVhZCAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL2dudSAuLi9zeXNkZXBzL3VuaXgvY29tbW9uIC4uL3N5
c2RlcHMvdW5peC9tbWFuIC4uL3N5c2RlcHMvdW5peC9pbmV0IC4uL25wdGwvc3lzZGVwcy91bml4
L3N5c3YgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLi4vc3lzZGVwcy91bml4L3N5c3YgLi4v
c3lzZGVwcy91bml4L3g4Nl82NCAuLi9ucHRsL3N5c2RlcHMvdW5peCAuLi9wb3J0cy9zeXNkZXBz
L3VuaXggLi4vc3lzZGVwcy91bml4IC4uL3N5c2RlcHMvcG9zaXggLi4vc3lzZGVwcy94ODZfNjQv
ZnB1L211bHRpYXJjaCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUgLi4vc3lzZGVwcy94ODZfNjQvbXVs
dGlhcmNoIC4uL25wdGwvc3lzZGVwcy94ODZfNjQgLi4vc3lzZGVwcy94ODZfNjQgLi4vc3lzZGVw
cy93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvbGRibC05NiAuLi9zeXNkZXBzL2llZWU3
NTQvZGJsLTY0L3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLi4vc3lzZGVw
cy9pZWVlNzU0L2ZsdC0zMiAuLi9zeXNkZXBzL2llZWU3NTQgLi4vc3lzZGVwcy9nZW5lcmljL2Vs
ZiAuLi9zeXNkZXBzL2dlbmVyaWMgIC4uL25wdGwgIC4uL3BvcnRzOyBkbyBcCiAgdGVzdCAtZiAk
ZGlyL3N5c2NhbGxzLmxpc3QgJiYgXAogIHsgc3lzZGlycz0nLi4vc3lzZGVwcy94ODZfNjQvZWxm
IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCAu
Li9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC4u
L3N5c2RlcHMvcHRocmVhZCAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL2dudSAuLi9zeXNkZXBzL3VuaXgvY29tbW9u
IC4uL3N5c2RlcHMvdW5peC9tbWFuIC4uL3N5c2RlcHMvdW5peC9pbmV0IC4uL25wdGwvc3lzZGVw
cy91bml4L3N5c3YgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLi4vc3lzZGVwcy91bml4L3N5
c3YgLi4vc3lzZGVwcy91bml4L3g4Nl82NCAuLi9ucHRsL3N5c2RlcHMvdW5peCAuLi9wb3J0cy9z
eXNkZXBzL3VuaXggLi4vc3lzZGVwcy91bml4IC4uL3N5c2RlcHMvcG9zaXggLi4vc3lzZGVwcy94
ODZfNjQvZnB1L211bHRpYXJjaCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUgLi4vc3lzZGVwcy94ODZf
NjQvbXVsdGlhcmNoIC4uL25wdGwvc3lzZGVwcy94ODZfNjQgLi4vc3lzZGVwcy94ODZfNjQgLi4v
c3lzZGVwcy93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvbGRibC05NiAuLi9zeXNkZXBz
L2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLi4v
c3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAuLi9zeXNkZXBzL2llZWU3NTQgLi4vc3lzZGVwcy9nZW5l
cmljL2VsZiAuLi9zeXNkZXBzL2dlbmVyaWMnIFwKICAgIGFzbV9DUFA9J3g4Nl82NC1jY2RzZGst
bGludXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgtdGNib290c3RyYXAgLWMg
LWlzeXN0ZW0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94
ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290
cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlICAtSS4uL2luY2x1ZGUgLUkvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWls
ZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2ljb252ZGF0YSAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJj
LWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGst
bGludXggLUkuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eCAtSS4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC1JLi4vc3lzZGVwcy9wdGhyZWFk
IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eCAtSS4uL3N5c2RlcHMvZ251IC1JLi4vc3lzZGVwcy91bml4L2NvbW1vbiAtSS4uL3N5
c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lzZGVwcy91bml4L2luZXQgLUkuLi9ucHRsL3N5c2RlcHMv
dW5peC9zeXN2IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBzL3VuaXgv
c3lzdiAtSS4uL3N5c2RlcHMvdW5peC94ODZfNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peCAtSS4u
L3BvcnRzL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvcG9zaXgg
LUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC1JLi4vc3lzZGVwcy94ODZfNjQvZnB1
IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1JLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAt
SS4uL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMv
aWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCAt
SS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMyIC1J
Li4vc3lzZGVwcy9pZWVlNzU0IC1JLi4vc3lzZGVwcy9nZW5lcmljL2VsZiAtSS4uL3N5c2RlcHMv
Z2VuZXJpYyAtSS4uL25wdGwgLUkuLi9wb3J0cyAgLUkuLiAtSS4uL2xpYmlvIC1JLiAtbm9zdGRp
bmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9v
dHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGst
aW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lzdGVtIC9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51
eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4
Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNj
ZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxp
bnV4L3Vzci9pbmNsdWRlIC1EX0xJQkNfUkVFTlRSQU5UIC1pbmNsdWRlIC4uL2luY2x1ZGUvbGli
Yy1zeW1ib2xzLmggICAgICAgLUROT1RfSU5fbGliYyAtREFTU0VNQkxFUiAgLWcgLVdhLC0tbm9l
eGVjc3RhY2sgICAtRSAteCBhc3NlbWJsZXItd2l0aC1jcHAnIFwKICAgIC9iaW4vc2ggLi4vc3lz
ZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2ggJGRpciB8fCBleGl0IDE7IH07IFwKICB0ZXN0ICRk
aXIgPSAuLi9zeXNkZXBzL3VuaXggJiYgYnJlYWs7IFwKZG9uZSA+IC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgv
ZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1j
Y2RzZGstbGludXgvc3lzZC1zeXNjYWxsc1QKLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC9iaXRzL2xvY2FsX2xpbS5oOjM5OjI2OiBmYXRhbCBlcnJvcjogbGludXgvbGltaXRzLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBp
bmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAg
ICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAg
ICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywK
ICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3Vj
aCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1
ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAg
IGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAg
ICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9z
eXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZp
bGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9t
IC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJv
bSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAg
ICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9z
eXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBv
ciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4v
c3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAg
ICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2Nh
bGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRp
cmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v
c3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAg
IGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5o
OjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0
b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMv
dW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJv
bSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6
MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK
Y29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMv
dW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4
L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxz
dGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDog
ZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21w
aWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4
L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2
XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGlu
PjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRh
bCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0
aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lz
ZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQv
c3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6
Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVy
cm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24g
dGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAu
aDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNk
ZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4v
c3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6
IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJt
aW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIx
OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5o
OjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2
XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNt
L3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0
ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwK
ICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTks
CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQv
c3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5p
c3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4K
SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAg
ICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAg
ICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNk
ZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4
L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQu
aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBm
aWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAg
ICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAg
ICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5o
OjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBO
byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUg
aW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAg
ICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAg
ICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMs
CiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1
Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KLi4vc3lzZGVwcy91
bml4L21ha2Utc3lzY2FsbHMuc2g6IG5vIG51bWJlciBmb3IgLCBuby1lcnJvciBzeXNjYWxsIChf
X3N5c2NhbGxfY2xvY2tfZ2V0dGltZSApCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1
aWxkLXg4Nl82NC1jY2RzZGstbGludXgvZ251L29wdGlvbi1ncm91cHMuaCAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxp
bnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQv
Y29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRl
L2dudS9vcHRpb24tZ3JvdXBzLmgKbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2Rz
ZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2VnbGli
Yy0yXzE1L2xpYmMvaWNvbnZkYXRhJwptYWtlIC1qIDEyIHN1YmRpcj1hc3NlcnQgLUMgYXNzZXJ0
IC4uPS4uLyBpbnN0YWxsLWhlYWRlcnMKbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGst
Y2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9l
Z2xpYmMtMl8xNS9saWJjL2Fzc2VydCcKeyBlY2hvICcjaW5jbHVkZSAiLi4vcG9zaXgvYml0cy9w
b3NpeDFfbGltLmgiJzsJCVwKICBlY2hvICcjZGVmaW5lIF9MSUJDIDEnOwkJCQkJXAogIGVjaG8g
JyNpbmNsdWRlICIuLi9taXNjL3N5cy91aW8uaCInOyB9IHwJCQlcCng4Nl82NC1jY2RzZGstbGlu
dXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
c3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgtdGNib290c3RyYXAgLUUgLWRN
IC1NRCAtTVAgLU1GIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIu
MTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19saW0u
ZFQgLU1UICcvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82
NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2
K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmggL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYv
YnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlvX2xpbS5kJyAJXAogICAgICAtSS4u
L2luY2x1ZGUgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4
Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1
LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2Fzc2VydCAtSS9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2Rz
ZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxk
LXg4Nl82NC1jY2RzZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLUkuLi9ucHRsL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC1JLi4vbnB0
bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC1JLi4v
c3lzZGVwcy9wdGhyZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251IC1JLi4vc3lzZGVwcy91bml4
L2NvbW1vbiAtSS4uL3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lzZGVwcy91bml4L2luZXQgLUku
Li9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUku
Li9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94ODZfNjQgLUkuLi9ucHRsL3N5
c2RlcHMvdW5peCAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvdW5peCAtSS4u
L3N5c2RlcHMvcG9zaXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC1JLi4vc3lz
ZGVwcy94ODZfNjQvZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1JLi4vbnB0bC9z
eXNkZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy93b3Jkc2l6ZS02
NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02
NC93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUkuLi9zeXNkZXBzL2ll
ZWU3NTQvZmx0LTMyIC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4vc3lzZGVwcy9nZW5lcmljL2Vs
ZiAtSS4uL3N5c2RlcHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9wb3J0cyAgLUkuLiAtSS4uL2xp
YmlvIC1JLiAtbm9zdGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51
eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNs
dWRlIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jv
b3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2Rr
LWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1maXhlZCAtaXN5
c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZf
NjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94
ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlIC14YyAtIC1vIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgv
ZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1j
Y2RzZGstbGludXgvYml0cy9zdGRpb19saW0uaFQKZm9yIGRpciBpbiAvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4
L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQt
Y2Nkc2RrLWxpbnV4IC4uL3N5c2RlcHMveDg2XzY0L2VsZiAuLi9ucHRsL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lz
di9saW51eCAuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAuLi9zeXNkZXBzL3B0aHJlYWQgLi4vcG9y
dHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4v
c3lzZGVwcy9nbnUgLi4vc3lzZGVwcy91bml4L2NvbW1vbiAuLi9zeXNkZXBzL3VuaXgvbW1hbiAu
Li9zeXNkZXBzL3VuaXgvaW5ldCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC4uL3BvcnRzL3N5
c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC94ODZf
NjQgLi4vbnB0bC9zeXNkZXBzL3VuaXggLi4vcG9ydHMvc3lzZGVwcy91bml4IC4uL3N5c2RlcHMv
dW5peCAuLi9zeXNkZXBzL3Bvc2l4IC4uL3N5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggLi4v
c3lzZGVwcy94ODZfNjQvZnB1IC4uL3N5c2RlcHMveDg2XzY0L211bHRpYXJjaCAuLi9ucHRsL3N5
c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMvd29yZHNpemUtNjQgLi4v
c3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6
ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9mbHQtMzIg
Li4vc3lzZGVwcy9pZWVlNzU0IC4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLi4vc3lzZGVwcy9nZW5l
cmljICAuLi9ucHRsICAuLi9wb3J0czsgZG8gXAogIHRlc3QgLWYgJGRpci9zeXNjYWxscy5saXN0
ICYmIFwKICB7IHN5c2RpcnM9Jy4uL3N5c2RlcHMveDg2XzY0L2VsZiAuLi9ucHRsL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQg
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLi4vbnB0bC9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eCAuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAuLi9zeXNkZXBzL3B0aHJlYWQg
Li4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXggLi4vc3lzZGVwcy9nbnUgLi4vc3lzZGVwcy91bml4L2NvbW1vbiAuLi9zeXNkZXBzL3VuaXgv
bW1hbiAuLi9zeXNkZXBzL3VuaXgvaW5ldCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC4uL3Bv
cnRzL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5p
eC94ODZfNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXggLi4vcG9ydHMvc3lzZGVwcy91bml4IC4uL3N5
c2RlcHMvdW5peCAuLi9zeXNkZXBzL3Bvc2l4IC4uL3N5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFy
Y2ggLi4vc3lzZGVwcy94ODZfNjQvZnB1IC4uL3N5c2RlcHMveDg2XzY0L211bHRpYXJjaCAuLi9u
cHRsL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMvd29yZHNpemUt
NjQgLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93
b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9m
bHQtMzIgLi4vc3lzZGVwcy9pZWVlNzU0IC4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLi4vc3lzZGVw
cy9nZW5lcmljJyBcCiAgICBhc21fQ1BQPSd4ODZfNjQtY2Nkc2RrLWxpbnV4LWdjYyAgLS1zeXNy
b290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82
NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4LXRjYm9vdHN0cmFwIC1jIC1pc3lzdGVtL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1s
aW51eC91c3IvaW5jbHVkZSAgLUkuLi9pbmNsdWRlIC1JL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMt
aW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1s
aW51eC9hc3NlcnQgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3Jr
L3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0y
LjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4IC1JLi4vc3lzZGVwcy94
ODZfNjQvZWxmIC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUkuLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC93b3Jkc2l6ZS02NCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9ucHRs
L3N5c2RlcHMvcHRocmVhZCAtSS4uL3N5c2RlcHMvcHRocmVhZCAtSS4uL3BvcnRzL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9zeXNkZXBz
L2dudSAtSS4uL3N5c2RlcHMvdW5peC9jb21tb24gLUkuLi9zeXNkZXBzL3VuaXgvbW1hbiAtSS4u
L3N5c2RlcHMvdW5peC9pbmV0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3BvcnRz
L3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lzZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBzL3Vu
aXgveDg2XzY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXggLUkuLi9wb3J0cy9zeXNkZXBzL3VuaXgg
LUkuLi9zeXNkZXBzL3VuaXggLUkuLi9zeXNkZXBzL3Bvc2l4IC1JLi4vc3lzZGVwcy94ODZfNjQv
ZnB1L211bHRpYXJjaCAtSS4uL3N5c2RlcHMveDg2XzY0L2ZwdSAtSS4uL3N5c2RlcHMveDg2XzY0
L211bHRpYXJjaCAtSS4uL25wdGwvc3lzZGVwcy94ODZfNjQgLUkuLi9zeXNkZXBzL3g4Nl82NCAt
SS4uL3N5c2RlcHMvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvbGRibC05NiAtSS4u
L3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQv
ZGJsLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAtSS4uL3N5c2RlcHMvaWVlZTc1NCAt
SS4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLUkuLi9zeXNkZXBzL2dlbmVyaWMgLUkuLi9ucHRsIC1J
Li4vcG9ydHMgIC1JLi4gLUkuLi9saWJpbyAtSS4gLW5vc3RkaW5jIC1pc3lzdGVtIC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3Iv
bGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1j
Y2RzZGstbGludXgvNC42LjQvaW5jbHVkZSAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi94ODZfNjQtY2Nk
c2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQtY2Nkc2RrLWxpbnV4LzQu
Ni40L2luY2x1ZGUtZml4ZWQgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvb3B0L2NvbmNv
cmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZSAtRF9M
SUJDX1JFRU5UUkFOVCAtaW5jbHVkZSAuLi9pbmNsdWRlL2xpYmMtc3ltYm9scy5oICAgICAgIC1E
QVNTRU1CTEVSICAtZyAtV2EsLS1ub2V4ZWNzdGFjayAgIC1FIC14IGFzc2VtYmxlci13aXRoLWNw
cCcgXAogICAgL2Jpbi9zaCAuLi9zeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaCAkZGlyIHx8
IGV4aXQgMTsgfTsgXAogIHRlc3QgJGRpciA9IC4uL3N5c2RlcHMvdW5peCAmJiBicmVhazsgXApk
b25lID4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQt
bmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitz
dm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9zeXNkLXN5c2NhbGxzVAouLi9ucHRs
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvbG9jYWxfbGltLmg6Mzk6MjY6IGZhdGFsIGVy
cm9yOiBsaW51eC9saW1pdHMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlv
biB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2Rl
cC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5
c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgou
Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJv
cjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRl
cm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6
MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVw
Lmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBh
c20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWlu
YXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTow
LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDox
OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82
NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVw
cy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91
bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVk
LgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAg
ICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAog
ICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5
c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0
ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCklu
IGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAg
ICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAg
ICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVw
Lmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmls
ZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAg
ICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAg
ICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoy
MywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8g
c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGlu
Y2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAg
ICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAg
ICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAog
ICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNo
IGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVk
ZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBm
cm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAg
ICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5
cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmls
ZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBm
cm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20g
Li4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9t
IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAg
ICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5
c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9y
IGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g
Li4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9z
eXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4v
c3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAg
ICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2Fs
bC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGly
ZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9z
eXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2Rl
cHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAg
ZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6
MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2Rl
cHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91
bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9t
IDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToy
NDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj
b21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91
bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgv
eDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4
L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0
ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBm
YXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBp
bGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgv
c3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZf
NjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+
OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFs
IGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRp
b24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNk
ZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9z
eXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToK
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJy
b3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0
ZXJtaW5hdGVkLgouLi9zeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogbm8gbnVtYmVyIGZv
ciAsIG5vLWVycm9yIHN5c2NhbGwgKF9fc3lzY2FsbF9jbG9ja19nZXR0aW1lICkKL3Vzci9iaW4v
aW5zdGFsbCAtYyAtbSA2NDQgYXNzZXJ0LmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlh
bC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngv
c3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9hc3NlcnQuaAovdXNyL2Jp
bi9pbnN0YWxsIC1jIC1tIDY0NCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2dudS9vcHRp
b24tZ3JvdXBzLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94
ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4x
NS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0
LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9nbnUvb3B0aW9uLWdyb3Vwcy5oCm1ha2VbMl06IExl
YXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93
b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNk
ay0yLjE1LXI2K3N2bnIxNzM4Ni9lZ2xpYmMtMl8xNS9saWJjL2Fzc2VydCcKbWFrZSAtaiAxMiBz
dWJkaXI9Y3R5cGUgLUMgY3R5cGUgLi49Li4vIGluc3RhbGwtaGVhZGVycwptYWtlWzJdOiBFbnRl
cmluZyBkaXJlY3RvcnkgYC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dv
cmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2Rr
LTIuMTUtcjYrc3ZucjE3Mzg2L2VnbGliYy0yXzE1L2xpYmMvY3R5cGUnCnsgZWNobyAnI2luY2x1
ZGUgIi4uL3Bvc2l4L2JpdHMvcG9zaXgxX2xpbS5oIic7CQlcCiAgZWNobyAnI2RlZmluZSBfTElC
QyAxJzsJCQkJCVwKICBlY2hvICcjaW5jbHVkZSAiLi4vbWlzYy9zeXMvdWlvLmgiJzsgfSB8CQkJ
XAp4ODZfNjQtY2Nkc2RrLWxpbnV4LWdjYyAgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4
LXRjYm9vdHN0cmFwIC1FIC1kTSAtTUQgLU1QIC1NRiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1p
bml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxp
bnV4L2JpdHMvc3RkaW9fbGltLmRUIC1NVCAnL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlh
bC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9i
aXRzL3N0ZGlvX2xpbS5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dv
cmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2Rr
LTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19s
aW0uZCcgCVwKICAgICAgLUkuLi9pbmNsdWRlIC1JL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5p
dGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51
eC9jdHlwZSAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2
XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUt
cjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82
NC9lbGYgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dv
cmRzaXplLTY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lz
ZGVwcy9wdGhyZWFkIC1JLi4vc3lzZGVwcy9wdGhyZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4
L3N5c3YvbGludXggLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251
IC1JLi4vc3lzZGVwcy91bml4L2NvbW1vbiAtSS4uL3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lz
ZGVwcy91bml4L2luZXQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lz
ZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94
ODZfNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peCAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4u
L3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvcG9zaXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUv
bXVsdGlhcmNoIC1JLi4vc3lzZGVwcy94ODZfNjQvZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVs
dGlhcmNoIC1JLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4v
c3lzZGVwcy93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lz
ZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwt
NjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMyIC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4v
c3lzZGVwcy9nZW5lcmljL2VsZiAtSS4uL3N5c2RlcHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9w
b3J0cyAgLUkuLiAtSS4uL2xpYmlvIC1JLiAtbm9zdGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIv
eDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNk
ay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGst
bGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQv
aW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlh
L3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlIC14YyAtIC1v
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2
ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3
Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19saW0uaFQKZm9yIGRpciBp
biAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRp
dmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIx
NzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4IC4uL3N5c2RlcHMveDg2XzY0L2VsZiAuLi9u
cHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC94ODZfNjQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLi4vbnB0
bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAuLi9zeXNk
ZXBzL3B0aHJlYWQgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy9nbnUgLi4vc3lzZGVwcy91bml4L2NvbW1vbiAuLi9z
eXNkZXBzL3VuaXgvbW1hbiAuLi9zeXNkZXBzL3VuaXgvaW5ldCAuLi9ucHRsL3N5c2RlcHMvdW5p
eC9zeXN2IC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC9zeXN2IC4u
L3N5c2RlcHMvdW5peC94ODZfNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXggLi4vcG9ydHMvc3lzZGVw
cy91bml4IC4uL3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3Bvc2l4IC4uL3N5c2RlcHMveDg2XzY0
L2ZwdS9tdWx0aWFyY2ggLi4vc3lzZGVwcy94ODZfNjQvZnB1IC4uL3N5c2RlcHMveDg2XzY0L211
bHRpYXJjaCAuLi9ucHRsL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMveDg2XzY0IC4uL3N5c2Rl
cHMvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLi4vc3lzZGVwcy9pZWVl
NzU0L2RibC02NC93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC4uL3N5c2Rl
cHMvaWVlZTc1NC9mbHQtMzIgLi4vc3lzZGVwcy9pZWVlNzU0IC4uL3N5c2RlcHMvZ2VuZXJpYy9l
bGYgLi4vc3lzZGVwcy9nZW5lcmljICAuLi9ucHRsICAuLi9wb3J0czsgZG8gXAogIHRlc3QgLWYg
JGRpci9zeXNjYWxscy5saXN0ICYmIFwKICB7IHN5c2RpcnM9Jy4uL3N5c2RlcHMveDg2XzY0L2Vs
ZiAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC94ODZfNjQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQg
Li4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAu
Li9zeXNkZXBzL3B0aHJlYWQgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy9nbnUgLi4vc3lzZGVwcy91bml4L2NvbW1v
biAuLi9zeXNkZXBzL3VuaXgvbW1hbiAuLi9zeXNkZXBzL3VuaXgvaW5ldCAuLi9ucHRsL3N5c2Rl
cHMvdW5peC9zeXN2IC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC9z
eXN2IC4uL3N5c2RlcHMvdW5peC94ODZfNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXggLi4vcG9ydHMv
c3lzZGVwcy91bml4IC4uL3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3Bvc2l4IC4uL3N5c2RlcHMv
eDg2XzY0L2ZwdS9tdWx0aWFyY2ggLi4vc3lzZGVwcy94ODZfNjQvZnB1IC4uL3N5c2RlcHMveDg2
XzY0L211bHRpYXJjaCAuLi9ucHRsL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMveDg2XzY0IC4u
L3N5c2RlcHMvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLi4vc3lzZGVw
cy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC4u
L3N5c2RlcHMvaWVlZTc1NC9mbHQtMzIgLi4vc3lzZGVwcy9pZWVlNzU0IC4uL3N5c2RlcHMvZ2Vu
ZXJpYy9lbGYgLi4vc3lzZGVwcy9nZW5lcmljJyBcCiAgICBhc21fQ1BQPSd4ODZfNjQtY2Nkc2Rr
LWxpbnV4LWdjYyAgLS1zeXNyb290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4LXRjYm9vdHN0cmFwIC1j
IC1pc3lzdGVtL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9v
dHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZSAgLUkuLi9pbmNsdWRlIC1JL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNj
ZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVp
bGQteDg2XzY0LWNjZHNkay1saW51eC9jdHlwZSAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWlu
aXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGlu
dXggLUkuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lz
di9saW51eCAtSS4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC1JLi4vc3lzZGVwcy9wdGhyZWFkIC1J
Li4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eCAtSS4uL3N5c2RlcHMvZ251IC1JLi4vc3lzZGVwcy91bml4L2NvbW1vbiAtSS4uL3N5c2Rl
cHMvdW5peC9tbWFuIC1JLi4vc3lzZGVwcy91bml4L2luZXQgLUkuLi9ucHRsL3N5c2RlcHMvdW5p
eC9zeXN2IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBzL3VuaXgvc3lz
diAtSS4uL3N5c2RlcHMvdW5peC94ODZfNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peCAtSS4uL3Bv
cnRzL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvcG9zaXggLUku
Li9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC1JLi4vc3lzZGVwcy94ODZfNjQvZnB1IC1J
Li4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1JLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAtSS4u
L3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVl
ZTc1NC9sZGJsLTk2IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCAtSS4u
L3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMyIC1JLi4v
c3lzZGVwcy9pZWVlNzU0IC1JLi4vc3lzZGVwcy9nZW5lcmljL2VsZiAtSS4uL3N5c2RlcHMvZ2Vu
ZXJpYyAtSS4uL25wdGwgLUkuLi9wb3J0cyAgLUkuLiAtSS4uL2xpYmlvIC1JLiAtbm9zdGRpbmMg
LWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMv
eDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5p
dGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lzdGVtIC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91
c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82
NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNk
ay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4
L3Vzci9pbmNsdWRlIC1EX0xJQkNfUkVFTlRSQU5UIC1pbmNsdWRlIC4uL2luY2x1ZGUvbGliYy1z
eW1ib2xzLmggICAgICAgLURBU1NFTUJMRVIgIC1nIC1XYSwtLW5vZXhlY3N0YWNrICAgLUUgLXgg
YXNzZW1ibGVyLXdpdGgtY3BwJyBcCiAgICAvYmluL3NoIC4uL3N5c2RlcHMvdW5peC9tYWtlLXN5
c2NhbGxzLnNoICRkaXIgfHwgZXhpdCAxOyB9OyBcCiAgdGVzdCAkZGlyID0gLi4vc3lzZGVwcy91
bml4ICYmIGJyZWFrOyBcCmRvbmUgPiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3N5c2Qt
c3lzY2FsbHNUCi4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9sb2NhbF9saW0u
aDozOToyNjogZmF0YWwgZXJyb3I6IGxpbnV4L2xpbWl0cy5oOiBObyBzdWNoIGZpbGUgb3IgZGly
ZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9z
eXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2Rl
cHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAg
ZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6
MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2Rl
cHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91
bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9t
IDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToy
NDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj
b21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91
bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgv
eDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4
L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0
ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBm
YXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBp
bGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgv
c3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZf
NjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+
OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFs
IGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRp
b24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNk
ZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9z
eXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToK
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJy
b3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0
ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5o
OjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2Rl
cC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgv
eDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjog
YXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1p
bmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6
MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6
MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20v
dW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRl
ZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAog
ICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwK
ICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9z
eXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlz
dGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJ
biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAg
ICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAg
ICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2Rl
cC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5o
OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZp
bGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAg
ICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAg
ICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6
MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBp
bmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAg
ICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAg
ICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywK
ICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3Vj
aCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1
ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAg
IGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAg
ICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9z
eXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZp
bGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9t
IC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJv
bSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAg
ICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9z
eXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBv
ciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4v
c3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAg
ICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2Nh
bGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRp
cmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v
c3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAg
IGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5o
OjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0
b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCi4uL3N5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxz
LnNoOiBubyBudW1iZXIgZm9yICwgbm8tZXJyb3Igc3lzY2FsbCAoX19zeXNjYWxsX2Nsb2NrX2dl
dHRpbWUgKQovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCBjdHlwZS5oIC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGlu
dXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9j
b25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUv
Y3R5cGUuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGli
Yy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2Rr
LWxpbnV4L2dudS9vcHRpb24tZ3JvdXBzLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlh
bC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngv
c3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9nbnUvb3B0aW9uLWdyb3Vw
cy5oCm1ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1p
bml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9lZ2xpYmMtMl8xNS9saWJjL2N0eXBl
JwptYWtlIC1qIDEyIHN1YmRpcj1pbnRsIC1DIGludGwgLi49Li4vIGluc3RhbGwtaGVhZGVycwpt
YWtlWzJdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRp
YWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2VnbGliYy0yXzE1L2xpYmMvaW50bCcKeyBl
Y2hvICcjaW5jbHVkZSAiLi4vcG9zaXgvYml0cy9wb3NpeDFfbGltLmgiJzsJCVwKICBlY2hvICcj
ZGVmaW5lIF9MSUJDIDEnOwkJCQkJXAogIGVjaG8gJyNpbmNsdWRlICIuLi9taXNjL3N5cy91aW8u
aCInOyB9IHwJCQlcCng4Nl82NC1jY2RzZGstbGludXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgtdGNib290c3RyYXAgLUUgLWRNIC1NRCAtTVAgLU1GIC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGlu
dXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82
NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19saW0uZFQgLU1UICcvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2Vn
bGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nk
c2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlh
bC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9i
aXRzL3N0ZGlvX2xpbS5kJyAJXAogICAgICAtSS4uL2luY2x1ZGUgLUkvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4
L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQt
Y2Nkc2RrLWxpbnV4L2ludGwgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4IC1JLi4vc3lz
ZGVwcy94ODZfNjQvZWxmIC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQg
LUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUkuLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eC93b3Jkc2l6ZS02NCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUku
Li9ucHRsL3N5c2RlcHMvcHRocmVhZCAtSS4uL3N5c2RlcHMvcHRocmVhZCAtSS4uL3BvcnRzL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9z
eXNkZXBzL2dudSAtSS4uL3N5c2RlcHMvdW5peC9jb21tb24gLUkuLi9zeXNkZXBzL3VuaXgvbW1h
biAtSS4uL3N5c2RlcHMvdW5peC9pbmV0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdiAtSS4u
L3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lzZGVwcy91bml4L3N5c3YgLUkuLi9zeXNk
ZXBzL3VuaXgveDg2XzY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXggLUkuLi9wb3J0cy9zeXNkZXBz
L3VuaXggLUkuLi9zeXNkZXBzL3VuaXggLUkuLi9zeXNkZXBzL3Bvc2l4IC1JLi4vc3lzZGVwcy94
ODZfNjQvZnB1L211bHRpYXJjaCAtSS4uL3N5c2RlcHMveDg2XzY0L2ZwdSAtSS4uL3N5c2RlcHMv
eDg2XzY0L211bHRpYXJjaCAtSS4uL25wdGwvc3lzZGVwcy94ODZfNjQgLUkuLi9zeXNkZXBzL3g4
Nl82NCAtSS4uL3N5c2RlcHMvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvbGRibC05
NiAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2ll
ZWU3NTQvZGJsLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAtSS4uL3N5c2RlcHMvaWVl
ZTc1NCAtSS4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLUkuLi9zeXNkZXBzL2dlbmVyaWMgLUkuLi9u
cHRsIC1JLi4vcG9ydHMgIC1JLi4gLUkuLi9saWJpbyAtSS4gLW5vc3RkaW5jIC1pc3lzdGVtIC9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51
eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4
Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZSAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi94ODZf
NjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQtY2Nkc2RrLWxp
bnV4LzQuNi40L2luY2x1ZGUtZml4ZWQgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvb3B0
L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVk
ZSAteGMgLSAtbyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4
Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1
LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmhU
CmZvciBkaXIgaW4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94
ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4x
NS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eCAuLi9zeXNkZXBzL3g4Nl82
NC9lbGYgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXpl
LTY0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vbnB0bC9zeXNkZXBzL3B0aHJl
YWQgLi4vc3lzZGVwcy9wdGhyZWFkIC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL3N5c2RlcHMvZ251IC4uL3N5c2RlcHMvdW5peC9j
b21tb24gLi4vc3lzZGVwcy91bml4L21tYW4gLi4vc3lzZGVwcy91bml4L2luZXQgLi4vbnB0bC9z
eXNkZXBzL3VuaXgvc3lzdiAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAuLi9zeXNkZXBzL3Vu
aXgvc3lzdiAuLi9zeXNkZXBzL3VuaXgveDg2XzY0IC4uL25wdGwvc3lzZGVwcy91bml4IC4uL3Bv
cnRzL3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy9wb3NpeCAuLi9zeXNk
ZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC4uL3N5c2RlcHMveDg2XzY0L2ZwdSAuLi9zeXNkZXBz
L3g4Nl82NC9tdWx0aWFyY2ggLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAuLi9zeXNkZXBzL3g4Nl82
NCAuLi9zeXNkZXBzL3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC4uL3N5
c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02
NCAuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMyIC4uL3N5c2RlcHMvaWVlZTc1NCAuLi9zeXNkZXBz
L2dlbmVyaWMvZWxmIC4uL3N5c2RlcHMvZ2VuZXJpYyAgLi4vbnB0bCAgLi4vcG9ydHM7IGRvIFwK
ICB0ZXN0IC1mICRkaXIvc3lzY2FsbHMubGlzdCAmJiBcCiAgeyBzeXNkaXJzPScuLi9zeXNkZXBz
L3g4Nl82NC9lbGYgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dv
cmRzaXplLTY0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vbnB0bC9zeXNkZXBz
L3B0aHJlYWQgLi4vc3lzZGVwcy9wdGhyZWFkIC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL3N5c2RlcHMvZ251IC4uL3N5c2RlcHMv
dW5peC9jb21tb24gLi4vc3lzZGVwcy91bml4L21tYW4gLi4vc3lzZGVwcy91bml4L2luZXQgLi4v
bnB0bC9zeXNkZXBzL3VuaXgvc3lzdiAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAuLi9zeXNk
ZXBzL3VuaXgvc3lzdiAuLi9zeXNkZXBzL3VuaXgveDg2XzY0IC4uL25wdGwvc3lzZGVwcy91bml4
IC4uL3BvcnRzL3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy9wb3NpeCAu
Li9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC4uL3N5c2RlcHMveDg2XzY0L2ZwdSAuLi9z
eXNkZXBzL3g4Nl82NC9tdWx0aWFyY2ggLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAuLi9zeXNkZXBz
L3g4Nl82NCAuLi9zeXNkZXBzL3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2
IC4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0
L2RibC02NCAuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMyIC4uL3N5c2RlcHMvaWVlZTc1NCAuLi9z
eXNkZXBzL2dlbmVyaWMvZWxmIC4uL3N5c2RlcHMvZ2VuZXJpYycgXAogICAgYXNtX0NQUD0neDg2
XzY0LWNjZHNkay1saW51eC1nY2MgIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC10Y2Jv
b3RzdHJhcCAtYyAtaXN5c3RlbS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L29wdC9jb25jb3JkaWEvdjAu
MS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUgIC1JLi4vaW5jbHVk
ZSAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5h
dGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3Zu
cjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvaW50bCAtSS9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgv
ZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1j
Y2RzZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLUkuLi9ucHRsL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAt
SS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC1JLi4vbnB0bC9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC1JLi4vc3lzZGVwcy9w
dGhyZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251IC1JLi4vc3lzZGVwcy91bml4L2NvbW1vbiAt
SS4uL3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lzZGVwcy91bml4L2luZXQgLUkuLi9ucHRsL3N5
c2RlcHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBz
L3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94ODZfNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5p
eCAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMv
cG9zaXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC1JLi4vc3lzZGVwcy94ODZf
NjQvZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1JLi4vbnB0bC9zeXNkZXBzL3g4
Nl82NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAtSS4uL3N5
c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6
ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvZmx0
LTMyIC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4vc3lzZGVwcy9nZW5lcmljL2VsZiAtSS4uL3N5
c2RlcHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9wb3J0cyAgLUkuLiAtSS4uL2xpYmlvIC1JLiAt
bm9zdGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
c3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jv
c3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lz
dGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82
NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwv
Z2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZl
c2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nk
c2RrLWxpbnV4L3Vzci9pbmNsdWRlIC1EX0xJQkNfUkVFTlRSQU5UIC1pbmNsdWRlIC4uL2luY2x1
ZGUvbGliYy1zeW1ib2xzLmggICAgICAgLUQnTE9DQUxFRElSPSIvb3B0L2NvbmNvcmRpYS92MC4x
Lngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3Ivc2hhcmUvbG9jYWxlIicgLUQnTE9D
QUxFX0FMSUFTX1BBVEg9Ii9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nk
c2RrLWxpbnV4L3Vzci9zaGFyZS9sb2NhbGUiJyAtREFTU0VNQkxFUiAgLWcgLVdhLC0tbm9leGVj
c3RhY2sgICAtRSAteCBhc3NlbWJsZXItd2l0aC1jcHAnIFwKICAgIC9iaW4vc2ggLi4vc3lzZGVw
cy91bml4L21ha2Utc3lzY2FsbHMuc2ggJGRpciB8fCBleGl0IDE7IH07IFwKICB0ZXN0ICRkaXIg
PSAuLi9zeXNkZXBzL3VuaXggJiYgYnJlYWs7IFwKZG9uZSA+IC9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWds
aWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2Rz
ZGstbGludXgvc3lzZC1zeXNjYWxsc1QKLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9i
aXRzL2xvY2FsX2xpbS5oOjM5OjI2OiBmYXRhbCBlcnJvcjogbGludXgvbGltaXRzLmg6IE5vIHN1
Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNs
dWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAg
IGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAg
ICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAg
ICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgv
c3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBm
aWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVk
IGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJv
bSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZy
b20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAg
ICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMv
c3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUg
b3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJv
bSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4u
L3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAu
Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAg
ICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNj
YWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBk
aXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4u
L3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lz
ZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAg
ICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwu
aDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lz
ZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBz
L3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVw
cy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZy
b20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1
OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5
CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBz
L3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5p
eC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8
c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6
IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29t
cGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5p
eC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4
Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRp
bj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0
YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5
c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0
L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjox
OgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBl
cnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9u
IHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVw
Lmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lz
ZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9y
OiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVy
bWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoy
MTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAu
aDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4
Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFz
bS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5h
dGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAs
CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5
LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0
L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3Vu
aXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu
CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAg
ICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAg
ICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lz
ZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3Rk
Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4g
ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAg
ICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAg
ICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAu
aDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxl
IGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAg
ICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAg
ICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIz
LAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5j
bHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAg
ICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAg
ICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAg
ICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KLi4vc3lzZGVwcy91bml4
L21ha2Utc3lzY2FsbHMuc2g6IG5vIG51bWJlciBmb3IgLCBuby1lcnJvciBzeXNjYWxsIChfX3N5
c2NhbGxfY2xvY2tfZ2V0dGltZSApCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IGxpYmludGwu
aCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRp
dmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIx
NzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxp
bnV4L3Vzci9pbmNsdWRlL2xpYmludGwuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGst
Y2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9i
dWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2dudS9vcHRpb24tZ3JvdXBzLmggL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1s
aW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0
L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVk
ZS9nbnUvb3B0aW9uLWdyb3Vwcy5oCm1ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9lZ2xp
YmMtMl8xNS9saWJjL2ludGwnCm1ha2UgLWogMTIgc3ViZGlyPWNhdGdldHMgLUMgY2F0Z2V0cyAu
Lj0uLi8gaW5zdGFsbC1oZWFkZXJzCm1ha2VbMl06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNj
ZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvZWds
aWJjLTJfMTUvbGliYy9jYXRnZXRzJwp7IGVjaG8gJyNpbmNsdWRlICIuLi9wb3NpeC9iaXRzL3Bv
c2l4MV9saW0uaCInOwkJXAogIGVjaG8gJyNkZWZpbmUgX0xJQkMgMSc7CQkJCQlcCiAgZWNobyAn
I2luY2x1ZGUgIi4uL21pc2Mvc3lzL3Vpby5oIic7IH0gfAkJCVwKeDg2XzY0LWNjZHNkay1saW51
eC1nY2MgIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9z
eXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC10Y2Jvb3RzdHJhcCAtRSAtZE0g
LU1EIC1NUCAtTUYgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94
ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4x
NS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlvX2xpbS5k
VCAtTVQgJy9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0
LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYr
c3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19saW0uaCAvaG9t
ZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGst
Y2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9i
dWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmQnIAlcCiAgICAgIC1JLi4v
aW5jbHVkZSAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2
XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUt
cjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvY2F0Z2V0cyAtSS9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2Rz
ZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxk
LXg4Nl82NC1jY2RzZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLUkuLi9ucHRsL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC1JLi4vbnB0
bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC1JLi4v
c3lzZGVwcy9wdGhyZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251IC1JLi4vc3lzZGVwcy91bml4
L2NvbW1vbiAtSS4uL3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lzZGVwcy91bml4L2luZXQgLUku
Li9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUku
Li9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94ODZfNjQgLUkuLi9ucHRsL3N5
c2RlcHMvdW5peCAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvdW5peCAtSS4u
L3N5c2RlcHMvcG9zaXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC1JLi4vc3lz
ZGVwcy94ODZfNjQvZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1JLi4vbnB0bC9z
eXNkZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy93b3Jkc2l6ZS02
NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02
NC93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUkuLi9zeXNkZXBzL2ll
ZWU3NTQvZmx0LTMyIC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4vc3lzZGVwcy9nZW5lcmljL2Vs
ZiAtSS4uL3N5c2RlcHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9wb3J0cyAgLUkuLiAtSS4uL2xp
YmlvIC1JLiAtbm9zdGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51
eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNs
dWRlIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jv
b3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2Rr
LWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1maXhlZCAtaXN5
c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZf
NjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94
ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlIC14YyAtIC1vIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgv
ZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1j
Y2RzZGstbGludXgvYml0cy9zdGRpb19saW0uaFQKZm9yIGRpciBpbiAvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4
L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQt
Y2Nkc2RrLWxpbnV4IC4uL3N5c2RlcHMveDg2XzY0L2VsZiAuLi9ucHRsL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lz
di9saW51eCAuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAuLi9zeXNkZXBzL3B0aHJlYWQgLi4vcG9y
dHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4v
c3lzZGVwcy9nbnUgLi4vc3lzZGVwcy91bml4L2NvbW1vbiAuLi9zeXNkZXBzL3VuaXgvbW1hbiAu
Li9zeXNkZXBzL3VuaXgvaW5ldCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC4uL3BvcnRzL3N5
c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC94ODZf
NjQgLi4vbnB0bC9zeXNkZXBzL3VuaXggLi4vcG9ydHMvc3lzZGVwcy91bml4IC4uL3N5c2RlcHMv
dW5peCAuLi9zeXNkZXBzL3Bvc2l4IC4uL3N5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggLi4v
c3lzZGVwcy94ODZfNjQvZnB1IC4uL3N5c2RlcHMveDg2XzY0L211bHRpYXJjaCAuLi9ucHRsL3N5
c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMvd29yZHNpemUtNjQgLi4v
c3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6
ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9mbHQtMzIg
Li4vc3lzZGVwcy9pZWVlNzU0IC4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLi4vc3lzZGVwcy9nZW5l
cmljICAuLi9ucHRsICAuLi9wb3J0czsgZG8gXAogIHRlc3QgLWYgJGRpci9zeXNjYWxscy5saXN0
ICYmIFwKICB7IHN5c2RpcnM9Jy4uL3N5c2RlcHMveDg2XzY0L2VsZiAuLi9ucHRsL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQg
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLi4vbnB0bC9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eCAuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAuLi9zeXNkZXBzL3B0aHJlYWQg
Li4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXggLi4vc3lzZGVwcy9nbnUgLi4vc3lzZGVwcy91bml4L2NvbW1vbiAuLi9zeXNkZXBzL3VuaXgv
bW1hbiAuLi9zeXNkZXBzL3VuaXgvaW5ldCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC4uL3Bv
cnRzL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5peC9zeXN2IC4uL3N5c2RlcHMvdW5p
eC94ODZfNjQgLi4vbnB0bC9zeXNkZXBzL3VuaXggLi4vcG9ydHMvc3lzZGVwcy91bml4IC4uL3N5
c2RlcHMvdW5peCAuLi9zeXNkZXBzL3Bvc2l4IC4uL3N5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFy
Y2ggLi4vc3lzZGVwcy94ODZfNjQvZnB1IC4uL3N5c2RlcHMveDg2XzY0L211bHRpYXJjaCAuLi9u
cHRsL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMveDg2XzY0IC4uL3N5c2RlcHMvd29yZHNpemUt
NjQgLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93
b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9m
bHQtMzIgLi4vc3lzZGVwcy9pZWVlNzU0IC4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLi4vc3lzZGVw
cy9nZW5lcmljJyBcCiAgICBhc21fQ1BQPSd4ODZfNjQtY2Nkc2RrLWxpbnV4LWdjYyAgLS1zeXNy
b290PS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82
NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4LXRjYm9vdHN0cmFwIC1jIC1pc3lzdGVtL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1s
aW51eC91c3IvaW5jbHVkZSAtRE5MU1BBVEg9JyIvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9v
dHMveDg2XzY0LWNjZHNkay1saW51eC91c3Ivc2hhcmUvbG9jYWxlLyVMLyVOOi9vcHQvY29uY29y
ZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9zaGFyZS9sb2NhbGUv
JUwvTENfTUVTU0FHRVMvJU46L29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1j
Y2RzZGstbGludXgvdXNyL3NoYXJlL2xvY2FsZS8lbC8lTjovb3B0L2NvbmNvcmRpYS92MC4xLngv
c3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3Ivc2hhcmUvbG9jYWxlLyVsL0xDX01FU1NB
R0VTLyVOOiInIC1ESEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUgLUkvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4
L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQt
Y2Nkc2RrLWxpbnV4L2NhdGdldHMgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4IC1JLi4v
c3lzZGVwcy94ODZfNjQvZWxmIC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUkuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC93b3Jkc2l6ZS02NCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgg
LUkuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAtSS4uL3N5c2RlcHMvcHRocmVhZCAtSS4uL3BvcnRz
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXggLUku
Li9zeXNkZXBzL2dudSAtSS4uL3N5c2RlcHMvdW5peC9jb21tb24gLUkuLi9zeXNkZXBzL3VuaXgv
bW1hbiAtSS4uL3N5c2RlcHMvdW5peC9pbmV0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdiAt
SS4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lzZGVwcy91bml4L3N5c3YgLUkuLi9z
eXNkZXBzL3VuaXgveDg2XzY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXggLUkuLi9wb3J0cy9zeXNk
ZXBzL3VuaXggLUkuLi9zeXNkZXBzL3VuaXggLUkuLi9zeXNkZXBzL3Bvc2l4IC1JLi4vc3lzZGVw
cy94ODZfNjQvZnB1L211bHRpYXJjaCAtSS4uL3N5c2RlcHMveDg2XzY0L2ZwdSAtSS4uL3N5c2Rl
cHMveDg2XzY0L211bHRpYXJjaCAtSS4uL25wdGwvc3lzZGVwcy94ODZfNjQgLUkuLi9zeXNkZXBz
L3g4Nl82NCAtSS4uL3N5c2RlcHMvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvbGRi
bC05NiAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBz
L2llZWU3NTQvZGJsLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAtSS4uL3N5c2RlcHMv
aWVlZTc1NCAtSS4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLUkuLi9zeXNkZXBzL2dlbmVyaWMgLUku
Li9ucHRsIC1JLi4vcG9ydHMgIC1JLi4gLUkuLi9saWJpbyAtSS4gLW5vc3RkaW5jIC1pc3lzdGVt
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1s
aW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2Nj
L3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZSAtaXN5c3RlbSAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi94
ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQtY2Nkc2Rr
LWxpbnV4LzQuNi40L2luY2x1ZGUtZml4ZWQgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgv
b3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5j
bHVkZSAtRF9MSUJDX1JFRU5UUkFOVCAtaW5jbHVkZSAuLi9pbmNsdWRlL2xpYmMtc3ltYm9scy5o
ICAgICAgIC1EQVNTRU1CTEVSICAtZyAtV2EsLS1ub2V4ZWNzdGFjayAgIC1FIC14IGFzc2VtYmxl
ci13aXRoLWNwcCcgXAogICAgL2Jpbi9zaCAuLi9zeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5z
aCAkZGlyIHx8IGV4aXQgMTsgfTsgXAogIHRlc3QgJGRpciA9IC4uL3N5c2RlcHMvdW5peCAmJiBi
cmVhazsgXApkb25lID4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29y
ay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGst
Mi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9zeXNkLXN5c2NhbGxz
VAouLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvbG9jYWxfbGltLmg6Mzk6MjY6
IGZhdGFsIGVycm9yOiBsaW51eC9saW1pdHMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj
b21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91
bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgv
eDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4
L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0
ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBm
YXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBp
bGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgv
c3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZf
NjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+
OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFs
IGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRp
b24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNk
ZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9z
eXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToK
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJy
b3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0
ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5o
OjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2Rl
cC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgv
eDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjog
YXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1p
bmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6
MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6
MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20v
dW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRl
ZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAog
ICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwK
ICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9z
eXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlz
dGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJ
biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAg
ICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAg
ICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2Rl
cC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5o
OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZp
bGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAg
ICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAg
ICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6
MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBp
bmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAg
ICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAg
ICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywK
ICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3Vj
aCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1
ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAg
IGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAg
ICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9z
eXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZp
bGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9t
IC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJv
bSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAg
ICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9z
eXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBv
ciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4v
c3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAg
ICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2Nh
bGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRp
cmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v
c3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAg
IGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5o
OjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0
b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMv
dW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJv
bSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6
MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK
Y29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMv
dW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4
L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxz
dGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDog
ZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21w
aWxhdGlvbiB0ZXJtaW5hdGVkLgouLi9zeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogbm8g
bnVtYmVyIGZvciAsIG5vLWVycm9yIHN5c2NhbGwgKF9fc3lzY2FsbF9jbG9ja19nZXR0aW1lICkK
L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgbmxfdHlwZXMuaCAvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2Vn
bGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29y
ZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlL25sX3R5
cGVzLmgKL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMt
aW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1s
aW51eC9nbnUvb3B0aW9uLWdyb3Vwcy5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwt
bmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5
c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvZ251L29wdGlvbi1ncm91cHMu
aAptYWtlWzJdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5p
dGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvZWdsaWJjLTJfMTUvbGliYy9jYXRnZXRz
JwptYWtlIC1qIDEyIHN1YmRpcj1tYXRoIC1DIG1hdGggLi49Li4vIGluc3RhbGwtaGVhZGVycwpt
YWtlWzJdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRp
YWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2VnbGliYy0yXzE1L2xpYmMvbWF0aCcKeyBl
Y2hvICcjaW5jbHVkZSAiLi4vcG9zaXgvYml0cy9wb3NpeDFfbGltLmgiJzsJCVwKICBlY2hvICcj
ZGVmaW5lIF9MSUJDIDEnOwkJCQkJXAogIGVjaG8gJyNpbmNsdWRlICIuLi9taXNjL3N5cy91aW8u
aCInOyB9IHwJCQlcCng4Nl82NC1jY2RzZGstbGludXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgtdGNib290c3RyYXAgLUUgLWRNIC1NRCAtTVAgLU1GIC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGlu
dXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82
NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19saW0uZFQgLU1UICcvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2Vn
bGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nk
c2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlh
bC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9i
aXRzL3N0ZGlvX2xpbS5kJyAJXAogICAgICAtSS4uL2luY2x1ZGUgLUkvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4
L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQt
Y2Nkc2RrLWxpbnV4L21hdGggLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4IC1JLi4vc3lz
ZGVwcy94ODZfNjQvZWxmIC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQg
LUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUkuLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eC93b3Jkc2l6ZS02NCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUku
Li9ucHRsL3N5c2RlcHMvcHRocmVhZCAtSS4uL3N5c2RlcHMvcHRocmVhZCAtSS4uL3BvcnRzL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9z
eXNkZXBzL2dudSAtSS4uL3N5c2RlcHMvdW5peC9jb21tb24gLUkuLi9zeXNkZXBzL3VuaXgvbW1h
biAtSS4uL3N5c2RlcHMvdW5peC9pbmV0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdiAtSS4u
L3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lzZGVwcy91bml4L3N5c3YgLUkuLi9zeXNk
ZXBzL3VuaXgveDg2XzY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXggLUkuLi9wb3J0cy9zeXNkZXBz
L3VuaXggLUkuLi9zeXNkZXBzL3VuaXggLUkuLi9zeXNkZXBzL3Bvc2l4IC1JLi4vc3lzZGVwcy94
ODZfNjQvZnB1L211bHRpYXJjaCAtSS4uL3N5c2RlcHMveDg2XzY0L2ZwdSAtSS4uL3N5c2RlcHMv
eDg2XzY0L211bHRpYXJjaCAtSS4uL25wdGwvc3lzZGVwcy94ODZfNjQgLUkuLi9zeXNkZXBzL3g4
Nl82NCAtSS4uL3N5c2RlcHMvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvbGRibC05
NiAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2ll
ZWU3NTQvZGJsLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAtSS4uL3N5c2RlcHMvaWVl
ZTc1NCAtSS4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLUkuLi9zeXNkZXBzL2dlbmVyaWMgLUkuLi9u
cHRsIC1JLi4vcG9ydHMgIC1JLi4gLUkuLi9saWJpbyAtSS4gLW5vc3RkaW5jIC1pc3lzdGVtIC9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51
eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4
Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZSAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi94ODZf
NjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQtY2Nkc2RrLWxp
bnV4LzQuNi40L2luY2x1ZGUtZml4ZWQgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvb3B0
L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVk
ZSAteGMgLSAtbyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4
Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1
LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmhU
CmZvciBkaXIgaW4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94
ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4x
NS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eCAuLi9zeXNkZXBzL3g4Nl82
NC9lbGYgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXpl
LTY0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vbnB0bC9zeXNkZXBzL3B0aHJl
YWQgLi4vc3lzZGVwcy9wdGhyZWFkIC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL3N5c2RlcHMvZ251IC4uL3N5c2RlcHMvdW5peC9j
b21tb24gLi4vc3lzZGVwcy91bml4L21tYW4gLi4vc3lzZGVwcy91bml4L2luZXQgLi4vbnB0bC9z
eXNkZXBzL3VuaXgvc3lzdiAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAuLi9zeXNkZXBzL3Vu
aXgvc3lzdiAuLi9zeXNkZXBzL3VuaXgveDg2XzY0IC4uL25wdGwvc3lzZGVwcy91bml4IC4uL3Bv
cnRzL3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy9wb3NpeCAuLi9zeXNk
ZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC4uL3N5c2RlcHMveDg2XzY0L2ZwdSAuLi9zeXNkZXBz
L3g4Nl82NC9tdWx0aWFyY2ggLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAuLi9zeXNkZXBzL3g4Nl82
NCAuLi9zeXNkZXBzL3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC4uL3N5
c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02
NCAuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMyIC4uL3N5c2RlcHMvaWVlZTc1NCAuLi9zeXNkZXBz
L2dlbmVyaWMvZWxmIC4uL3N5c2RlcHMvZ2VuZXJpYyAgLi4vbnB0bCAgLi4vcG9ydHM7IGRvIFwK
ICB0ZXN0IC1mICRkaXIvc3lzY2FsbHMubGlzdCAmJiBcCiAgeyBzeXNkaXJzPScuLi9zeXNkZXBz
L3g4Nl82NC9lbGYgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dv
cmRzaXplLTY0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vbnB0bC9zeXNkZXBz
L3B0aHJlYWQgLi4vc3lzZGVwcy9wdGhyZWFkIC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL3N5c2RlcHMvZ251IC4uL3N5c2RlcHMv
dW5peC9jb21tb24gLi4vc3lzZGVwcy91bml4L21tYW4gLi4vc3lzZGVwcy91bml4L2luZXQgLi4v
bnB0bC9zeXNkZXBzL3VuaXgvc3lzdiAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAuLi9zeXNk
ZXBzL3VuaXgvc3lzdiAuLi9zeXNkZXBzL3VuaXgveDg2XzY0IC4uL25wdGwvc3lzZGVwcy91bml4
IC4uL3BvcnRzL3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy9wb3NpeCAu
Li9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC4uL3N5c2RlcHMveDg2XzY0L2ZwdSAuLi9z
eXNkZXBzL3g4Nl82NC9tdWx0aWFyY2ggLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAuLi9zeXNkZXBz
L3g4Nl82NCAuLi9zeXNkZXBzL3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2
IC4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVlNzU0
L2RibC02NCAuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMyIC4uL3N5c2RlcHMvaWVlZTc1NCAuLi9z
eXNkZXBzL2dlbmVyaWMvZWxmIC4uL3N5c2RlcHMvZ2VuZXJpYycgXAogICAgYXNtX0NQUD0neDg2
XzY0LWNjZHNkay1saW51eC1nY2MgIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC10Y2Jv
b3RzdHJhcCAtYyAtaXN5c3RlbS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L29wdC9jb25jb3JkaWEvdjAu
MS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUgLURfX05PX01BVEhf
SU5MSU5FUyAtRF9fTElCQ19JTlRFUk5BTF9NQVRIX0lOTElORVMgLUkuLi9pbmNsdWRlIC1JL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYv
YnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9tYXRoIC1JL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMt
aW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1s
aW51eCAtSS4uL3N5c2RlcHMveDg2XzY0L2VsZiAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3Yv
bGludXgveDg2XzY0IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC1JLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4IC1JLi4vbnB0bC9zeXNkZXBzL3B0aHJlYWQgLUkuLi9zeXNkZXBzL3B0aHJlYWQg
LUkuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4IC1JLi4vc3lzZGVwcy9nbnUgLUkuLi9zeXNkZXBzL3VuaXgvY29tbW9uIC1JLi4vc3lz
ZGVwcy91bml4L21tYW4gLUkuLi9zeXNkZXBzL3VuaXgvaW5ldCAtSS4uL25wdGwvc3lzZGVwcy91
bml4L3N5c3YgLUkuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC9z
eXN2IC1JLi4vc3lzZGVwcy91bml4L3g4Nl82NCAtSS4uL25wdGwvc3lzZGVwcy91bml4IC1JLi4v
cG9ydHMvc3lzZGVwcy91bml4IC1JLi4vc3lzZGVwcy91bml4IC1JLi4vc3lzZGVwcy9wb3NpeCAt
SS4uL3N5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUg
LUkuLi9zeXNkZXBzL3g4Nl82NC9tdWx0aWFyY2ggLUkuLi9ucHRsL3N5c2RlcHMveDg2XzY0IC1J
Li4vc3lzZGVwcy94ODZfNjQgLUkuLi9zeXNkZXBzL3dvcmRzaXplLTY0IC1JLi4vc3lzZGVwcy9p
ZWVlNzU0L2xkYmwtOTYgLUkuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC1J
Li4vc3lzZGVwcy9pZWVlNzU0L2RibC02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9mbHQtMzIgLUku
Li9zeXNkZXBzL2llZWU3NTQgLUkuLi9zeXNkZXBzL2dlbmVyaWMvZWxmIC1JLi4vc3lzZGVwcy9n
ZW5lcmljIC1JLi4vbnB0bCAtSS4uL3BvcnRzICAtSS4uIC1JLi4vbGliaW8gLUkuIC1ub3N0ZGlu
YyAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290
cy94ODZfNjQtbGludXgvdXNyL2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1p
bml0aWFsL2djYy94ODZfNjQtY2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUgLWlzeXN0ZW0gL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4
L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2
XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlLWZpeGVkIC1pc3lzdGVtIC9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGlu
dXgvdXNyL2luY2x1ZGUgLURfTElCQ19SRUVOVFJBTlQgLWluY2x1ZGUgLi4vaW5jbHVkZS9saWJj
LXN5bWJvbHMuaCAgICAgICAtREFTU0VNQkxFUiAgLWcgLVdhLC0tbm9leGVjc3RhY2sgICAtRSAt
eCBhc3NlbWJsZXItd2l0aC1jcHAnIFwKICAgIC9iaW4vc2ggLi4vc3lzZGVwcy91bml4L21ha2Ut
c3lzY2FsbHMuc2ggJGRpciB8fCBleGl0IDE7IH07IFwKICB0ZXN0ICRkaXIgPSAuLi9zeXNkZXBz
L3VuaXggJiYgYnJlYWs7IFwKZG9uZSA+IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwt
bmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvc3lz
ZC1zeXNjYWxsc1QKLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2xvY2FsX2xp
bS5oOjM5OjI2OiBmYXRhbCBlcnJvcjogbGludXgvbGltaXRzLmg6IE5vIHN1Y2ggZmlsZSBvciBk
aXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4u
L3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lz
ZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAg
ICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwu
aDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lz
ZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBz
L3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVw
cy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZy
b20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1
OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5
CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBz
L3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5p
eC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8
c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6
IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29t
cGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5p
eC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4
Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRp
bj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0
YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5
c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0
L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjox
OgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBl
cnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9u
IHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVw
Lmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lz
ZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9y
OiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVy
bWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoy
MTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAu
aDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4
Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFz
bS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5h
dGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAs
CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5
LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0
L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3Vu
aXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu
CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAg
ICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAg
ICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lz
ZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3Rk
Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4g
ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAg
ICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAg
ICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAu
aDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxl
IGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAg
ICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAg
ICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIz
LAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5j
bHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAg
ICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAg
ICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAg
ICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRl
ZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZy
b20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBm
cm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAg
ICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lz
L3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAu
Li9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20g
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAg
ICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lz
Y2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3Ig
ZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAu
Li9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5
c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAg
ICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxs
Lmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
Y3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KLi4vc3lzZGVwcy91bml4L21ha2Utc3lzY2Fs
bHMuc2g6IG5vIG51bWJlciBmb3IgLCBuby1lcnJvciBzeXNjYWxsIChfX3N5c2NhbGxfY2xvY2tf
Z2V0dGltZSApCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IG1hdGguaCAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxp
bnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQv
Y29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRl
L21hdGguaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCBiaXRzL21hdGhjYWxscy5oIC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2lt
YWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNy
L2luY2x1ZGUvYml0cy9tYXRoY2FsbHMuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z
eXNkZXBzL3g4Nl82NC9mcHUvYml0cy9tYXRoaW5saW5lLmggL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xp
YmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRp
YS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9iaXRzL21h
dGhpbmxpbmUuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zeXNkZXBzL2llZWU3NTQv
Yml0cy9odWdlX3ZhbC5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dv
cmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2Rr
LTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4
Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvYml0cy9odWdlX3ZhbC5oCi91c3IvYmluL2lu
c3RhbGwgLWMgLW0gNjQ0IC4uL3N5c2RlcHMvaWVlZTc1NC9iaXRzL2h1Z2VfdmFsZi5oIC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2lt
YWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNy
L2luY2x1ZGUvYml0cy9odWdlX3ZhbGYuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9i
aXRzL2h1Z2VfdmFsbC5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dv
cmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2Rr
LTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4
Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvYml0cy9odWdlX3ZhbGwuaAovdXNyL2Jpbi9p
bnN0YWxsIC1jIC1tIDY0NCAuLi9zeXNkZXBzL2llZWU3NTQvYml0cy9pbmYuaCAvaG9tZS9yY2hh
dHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2Rr
LWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9v
cHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNs
dWRlL2JpdHMvaW5mLmgKL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3lzZGVwcy9pZWVl
NzU0L2JpdHMvbmFuLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29y
ay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGst
Mi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2
XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9iaXRzL25hbi5oCi91c3IvYmluL2luc3RhbGwg
LWMgLW0gNjQ0IC4uL3N5c2RlcHMveDg2XzY0L2ZwdV9jb250cm9sLmggL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51
eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2Nv
bmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9m
cHVfY29udHJvbC5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IGNvbXBsZXguaCAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFn
ZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9p
bmNsdWRlL2NvbXBsZXguaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCBiaXRzL2NtYXRoY2Fs
bHMuaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1u
YXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2
bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2Rr
LWxpbnV4L3Vzci9pbmNsdWRlL2JpdHMvY21hdGhjYWxscy5oCi91c3IvYmluL2luc3RhbGwgLWMg
LW0gNjQ0IGZlbnYuaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3Jr
L3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0y
LjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZf
NjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlL2ZlbnYuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1t
IDY0NCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUvYml0cy9mZW52LmggL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9l
Z2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNv
cmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9iaXRz
L2ZlbnYuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9iaXRzL2ZlbnZpbmxpbmUuaCAv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVz
ZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4
Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4
L3Vzci9pbmNsdWRlL2JpdHMvZmVudmlubGluZS5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0
IC4uL3N5c2RlcHMveDg2XzY0L2JpdHMvbWF0aGRlZi5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJj
LWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEv
djAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvYml0cy9tYXRo
ZGVmLmgKL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgdGdtYXRoLmggL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51
eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2Nv
bmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS90
Z21hdGguaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCBiaXRzL21hdGgtZmluaXRlLmggL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYv
aW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91
c3IvaW5jbHVkZS9iaXRzL21hdGgtZmluaXRlLmgKL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg
L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZl
c2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTcz
ODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9nbnUvb3B0aW9uLWdyb3Vwcy5oIC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2Rz
ZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdl
L29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2lu
Y2x1ZGUvZ251L29wdGlvbi1ncm91cHMuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z
eXNkZXBzL2llZWU3NTQvaWVlZTc1NC5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwt
bmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5
c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvaWVlZTc1NC5oCm1ha2VbMl06
IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9lZ2xpYmMtMl8xNS9saWJjL21hdGgnCm1ha2UgLWogMTIg
c3ViZGlyPXNldGptcCAtQyBzZXRqbXAgLi49Li4vIGluc3RhbGwtaGVhZGVycwptYWtlWzJdOiBF
bnRlcmluZyBkaXJlY3RvcnkgYC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZl
c2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2VnbGliYy0yXzE1L2xpYmMvc2V0am1wJwp7IGVjaG8gJyNp
bmNsdWRlICIuLi9wb3NpeC9iaXRzL3Bvc2l4MV9saW0uaCInOwkJXAogIGVjaG8gJyNkZWZpbmUg
X0xJQkMgMSc7CQkJCQlcCiAgZWNobyAnI2luY2x1ZGUgIi4uL21pc2Mvc3lzL3Vpby5oIic7IH0g
fAkJCVwKeDg2XzY0LWNjZHNkay1saW51eC1nY2MgIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1s
aW51eC10Y2Jvb3RzdHJhcCAtRSAtZE0gLU1EIC1NUCAtTUYgL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xp
YmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNk
ay1saW51eC9iaXRzL3N0ZGlvX2xpbS5kVCAtTVQgJy9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWlu
aXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGlu
dXgvYml0cy9zdGRpb19saW0uaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3Rk
aW9fbGltLmQnIAlcCiAgICAgIC1JLi4vaW5jbHVkZSAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJj
LWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGst
bGludXgvc2V0am1wIC1JL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29y
ay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGst
Mi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eCAtSS4uL3N5c2RlcHMv
eDg2XzY0L2VsZiAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC1JLi4v
c3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgvd29yZHNpemUtNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vbnB0
bC9zeXNkZXBzL3B0aHJlYWQgLUkuLi9zeXNkZXBzL3B0aHJlYWQgLUkuLi9wb3J0cy9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVw
cy9nbnUgLUkuLi9zeXNkZXBzL3VuaXgvY29tbW9uIC1JLi4vc3lzZGVwcy91bml4L21tYW4gLUku
Li9zeXNkZXBzL3VuaXgvaW5ldCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YgLUkuLi9wb3J0
cy9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lzZGVwcy91
bml4L3g4Nl82NCAtSS4uL25wdGwvc3lzZGVwcy91bml4IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4
IC1JLi4vc3lzZGVwcy91bml4IC1JLi4vc3lzZGVwcy9wb3NpeCAtSS4uL3N5c2RlcHMveDg2XzY0
L2ZwdS9tdWx0aWFyY2ggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUgLUkuLi9zeXNkZXBzL3g4Nl82
NC9tdWx0aWFyY2ggLUkuLi9ucHRsL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy94ODZfNjQg
LUkuLi9zeXNkZXBzL3dvcmRzaXplLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLUku
Li9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0
L2RibC02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9mbHQtMzIgLUkuLi9zeXNkZXBzL2llZWU3NTQg
LUkuLi9zeXNkZXBzL2dlbmVyaWMvZWxmIC1JLi4vc3lzZGVwcy9nZW5lcmljIC1JLi4vbnB0bCAt
SS4uL3BvcnRzICAtSS4uIC1JLi4vbGliaW8gLUkuIC1ub3N0ZGluYyAtaXN5c3RlbSAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNy
L2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQt
Y2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNj
ZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80
LjYuNC9pbmNsdWRlLWZpeGVkIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L29wdC9jb25j
b3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUgLXhj
IC0gLW8gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQt
bmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitz
dm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlvX2xpbS5oVApmb3Ig
ZGlyIGluIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0
LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYr
c3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXggLi4vc3lzZGVwcy94ODZfNjQvZWxm
IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCAu
Li9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC4u
L3N5c2RlcHMvcHRocmVhZCAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL2dudSAuLi9zeXNkZXBzL3VuaXgvY29tbW9u
IC4uL3N5c2RlcHMvdW5peC9tbWFuIC4uL3N5c2RlcHMvdW5peC9pbmV0IC4uL25wdGwvc3lzZGVw
cy91bml4L3N5c3YgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLi4vc3lzZGVwcy91bml4L3N5
c3YgLi4vc3lzZGVwcy91bml4L3g4Nl82NCAuLi9ucHRsL3N5c2RlcHMvdW5peCAuLi9wb3J0cy9z
eXNkZXBzL3VuaXggLi4vc3lzZGVwcy91bml4IC4uL3N5c2RlcHMvcG9zaXggLi4vc3lzZGVwcy94
ODZfNjQvZnB1L211bHRpYXJjaCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUgLi4vc3lzZGVwcy94ODZf
NjQvbXVsdGlhcmNoIC4uL25wdGwvc3lzZGVwcy94ODZfNjQgLi4vc3lzZGVwcy94ODZfNjQgLi4v
c3lzZGVwcy93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvbGRibC05NiAuLi9zeXNkZXBz
L2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLi4v
c3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAuLi9zeXNkZXBzL2llZWU3NTQgLi4vc3lzZGVwcy9nZW5l
cmljL2VsZiAuLi9zeXNkZXBzL2dlbmVyaWMgIC4uL25wdGwgIC4uL3BvcnRzOyBkbyBcCiAgdGVz
dCAtZiAkZGlyL3N5c2NhbGxzLmxpc3QgJiYgXAogIHsgc3lzZGlycz0nLi4vc3lzZGVwcy94ODZf
NjQvZWxmIC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6
ZS02NCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL25wdGwvc3lzZGVwcy9wdGhy
ZWFkIC4uL3N5c2RlcHMvcHRocmVhZCAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAu
Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL2dudSAuLi9zeXNkZXBzL3VuaXgv
Y29tbW9uIC4uL3N5c2RlcHMvdW5peC9tbWFuIC4uL3N5c2RlcHMvdW5peC9pbmV0IC4uL25wdGwv
c3lzZGVwcy91bml4L3N5c3YgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLi4vc3lzZGVwcy91
bml4L3N5c3YgLi4vc3lzZGVwcy91bml4L3g4Nl82NCAuLi9ucHRsL3N5c2RlcHMvdW5peCAuLi9w
b3J0cy9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy91bml4IC4uL3N5c2RlcHMvcG9zaXggLi4vc3lz
ZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUgLi4vc3lzZGVw
cy94ODZfNjQvbXVsdGlhcmNoIC4uL25wdGwvc3lzZGVwcy94ODZfNjQgLi4vc3lzZGVwcy94ODZf
NjQgLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvbGRibC05NiAuLi9z
eXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9kYmwt
NjQgLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAuLi9zeXNkZXBzL2llZWU3NTQgLi4vc3lzZGVw
cy9nZW5lcmljL2VsZiAuLi9zeXNkZXBzL2dlbmVyaWMnIFwKICAgIGFzbV9DUFA9J3g4Nl82NC1j
Y2RzZGstbGludXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgtdGNib290c3Ry
YXAgLWMgLWlzeXN0ZW0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNy
b290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9z
eXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlICAtSS4uL2luY2x1ZGUgLUkv
aG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVz
ZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4
Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3NldGptcCAtSS9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWds
aWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2Rz
ZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC1JLi4vbnB0bC9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC1JLi4vc3lzZGVwcy9wdGhy
ZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251IC1JLi4vc3lzZGVwcy91bml4L2NvbW1vbiAtSS4u
L3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lzZGVwcy91bml4L2luZXQgLUkuLi9ucHRsL3N5c2Rl
cHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBzL3Vu
aXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94ODZfNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peCAt
SS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvcG9z
aXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC1JLi4vc3lzZGVwcy94ODZfNjQv
ZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1JLi4vbnB0bC9zeXNkZXBzL3g4Nl82
NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAtSS4uL3N5c2Rl
cHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02
NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMy
IC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4vc3lzZGVwcy9nZW5lcmljL2VsZiAtSS4uL3N5c2Rl
cHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9wb3J0cyAgLUkuLiAtSS4uL2xpYmlvIC1JLiAtbm9z
dGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lz
cm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3Nz
ZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lzdGVt
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1s
aW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2Nj
L3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2Rr
LWxpbnV4L3Vzci9pbmNsdWRlIC1EX0xJQkNfUkVFTlRSQU5UIC1pbmNsdWRlIC4uL2luY2x1ZGUv
bGliYy1zeW1ib2xzLmggICAgICAgLURBU1NFTUJMRVIgIC1nIC1XYSwtLW5vZXhlY3N0YWNrICAg
LUUgLXggYXNzZW1ibGVyLXdpdGgtY3BwJyBcCiAgICAvYmluL3NoIC4uL3N5c2RlcHMvdW5peC9t
YWtlLXN5c2NhbGxzLnNoICRkaXIgfHwgZXhpdCAxOyB9OyBcCiAgdGVzdCAkZGlyID0gLi4vc3lz
ZGVwcy91bml4ICYmIGJyZWFrOyBcCmRvbmUgPiAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0
aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4
L3N5c2Qtc3lzY2FsbHNUCi4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9sb2Nh
bF9saW0uaDozOToyNjogZmF0YWwgZXJyb3I6IGxpbnV4L2xpbWl0cy5oOiBObyBzdWNoIGZpbGUg
b3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJv
bSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4u
L3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAu
Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAg
ICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNj
YWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBk
aXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4u
L3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lz
ZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAg
ICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwu
aDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lz
ZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBz
L3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVw
cy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZy
b20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1
OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5
CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBz
L3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5p
eC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8
c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6
IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29t
cGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5p
eC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4
Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRp
bj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0
YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5
c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0
L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjox
OgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBl
cnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9u
IHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVw
Lmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lz
ZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9y
OiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVy
bWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoy
MTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAu
aDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4
Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFz
bS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5h
dGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAs
CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5
LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0
L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3Vu
aXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu
CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAg
ICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAg
ICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lz
ZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3Rk
Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4g
ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAg
ICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAg
ICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAu
aDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxl
IGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAg
ICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAg
ICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIz
LAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5j
bHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAg
ICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAg
ICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAg
ICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRl
ZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZy
b20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBm
cm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAg
ICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lz
L3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAu
Li9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20g
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAg
ICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lz
Y2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3Ig
ZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCi4uL3N5c2RlcHMvdW5peC9tYWtlLXN5
c2NhbGxzLnNoOiBubyBudW1iZXIgZm9yICwgbm8tZXJyb3Igc3lzY2FsbCAoX19zeXNjYWxsX2Ns
b2NrX2dldHRpbWUgKQovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCBzZXRqbXAuaCAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFn
ZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9p
bmNsdWRlL3NldGptcC5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N5c2RlcHMveDg2
XzY0L2JpdHMvc2V0am1wLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
d29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVz
ZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMv
eDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9iaXRzL3NldGptcC5oCi91c3IvYmluL2lu
c3RhbGwgLWMgLW0gNjQ0IGJpdHMvc2V0am1wMi5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWlu
aXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAu
MS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvYml0cy9zZXRqbXAy
LmgKL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5p
dGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51
eC9nbnUvb3B0aW9uLWdyb3Vwcy5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8v
dG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0
aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jv
b3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvZ251L29wdGlvbi1ncm91cHMuaApt
YWtlWzJdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlh
bC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvZWdsaWJjLTJfMTUvbGliYy9zZXRqbXAnCm1h
a2UgLWogMTIgc3ViZGlyPXNpZ25hbCAtQyBzaWduYWwgLi49Li4vIGluc3RhbGwtaGVhZGVycwpt
YWtlWzJdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRp
YWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2VnbGliYy0yXzE1L2xpYmMvc2lnbmFsJwp7
IGVjaG8gJyNpbmNsdWRlICIuLi9wb3NpeC9iaXRzL3Bvc2l4MV9saW0uaCInOwkJXAogIGVjaG8g
JyNkZWZpbmUgX0xJQkMgMSc7CQkJCQlcCiAgZWNobyAnI2luY2x1ZGUgIi4uL21pc2Mvc3lzL3Vp
by5oIic7IH0gfAkJCVwKeDg2XzY0LWNjZHNkay1saW51eC1nY2MgIC0tc3lzcm9vdD0vaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC10Y2Jvb3RzdHJhcCAtRSAtZE0gLU1EIC1NUCAtTUYgL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1s
aW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2
XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlvX2xpbS5kVCAtTVQgJy9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgv
ZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1j
Y2RzZGstbGludXgvYml0cy9zdGRpb19saW0uaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0
aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4
L2JpdHMvc3RkaW9fbGltLmQnIAlcCiAgICAgIC1JLi4vaW5jbHVkZSAtSS9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGlu
dXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82
NC1jY2RzZGstbGludXgvc2lnbmFsIC1JL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1u
YXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eCAtSS4u
L3N5c2RlcHMveDg2XzY0L2VsZiAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2
XzY0IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC1JLi4vc3lzZGVwcy91bml4
L3N5c3YvbGludXgvd29yZHNpemUtNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
IC1JLi4vbnB0bC9zeXNkZXBzL3B0aHJlYWQgLUkuLi9zeXNkZXBzL3B0aHJlYWQgLUkuLi9wb3J0
cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1J
Li4vc3lzZGVwcy9nbnUgLUkuLi9zeXNkZXBzL3VuaXgvY29tbW9uIC1JLi4vc3lzZGVwcy91bml4
L21tYW4gLUkuLi9zeXNkZXBzL3VuaXgvaW5ldCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3Yg
LUkuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4v
c3lzZGVwcy91bml4L3g4Nl82NCAtSS4uL25wdGwvc3lzZGVwcy91bml4IC1JLi4vcG9ydHMvc3lz
ZGVwcy91bml4IC1JLi4vc3lzZGVwcy91bml4IC1JLi4vc3lzZGVwcy9wb3NpeCAtSS4uL3N5c2Rl
cHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUgLUkuLi9zeXNk
ZXBzL3g4Nl82NC9tdWx0aWFyY2ggLUkuLi9ucHRsL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVw
cy94ODZfNjQgLUkuLi9zeXNkZXBzL3dvcmRzaXplLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2xk
YmwtOTYgLUkuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC1JLi4vc3lzZGVw
cy9pZWVlNzU0L2RibC02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9mbHQtMzIgLUkuLi9zeXNkZXBz
L2llZWU3NTQgLUkuLi9zeXNkZXBzL2dlbmVyaWMvZWxmIC1JLi4vc3lzZGVwcy9nZW5lcmljIC1J
Li4vbnB0bCAtSS4uL3BvcnRzICAtSS4uIC1JLi4vbGliaW8gLUkuIC1ub3N0ZGluYyAtaXN5c3Rl
bSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQt
bGludXgvdXNyL2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2dj
Yy94ODZfNjQtY2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUgLWlzeXN0ZW0gL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIv
eDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNk
ay1saW51eC80LjYuNC9pbmNsdWRlLWZpeGVkIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29y
ZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4
L29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2lu
Y2x1ZGUgLXhjIC0gLW8gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29y
ay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGst
Mi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlvX2xp
bS5oVApmb3IgZGlyIGluIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dv
cmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2Rr
LTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXggLi4vc3lzZGVwcy94
ODZfNjQvZWxmIC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jk
c2l6ZS02NCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL25wdGwvc3lzZGVwcy9w
dGhyZWFkIC4uL3N5c2RlcHMvcHRocmVhZCAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL2dudSAuLi9zeXNkZXBzL3Vu
aXgvY29tbW9uIC4uL3N5c2RlcHMvdW5peC9tbWFuIC4uL3N5c2RlcHMvdW5peC9pbmV0IC4uL25w
dGwvc3lzZGVwcy91bml4L3N5c3YgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLi4vc3lzZGVw
cy91bml4L3N5c3YgLi4vc3lzZGVwcy91bml4L3g4Nl82NCAuLi9ucHRsL3N5c2RlcHMvdW5peCAu
Li9wb3J0cy9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy91bml4IC4uL3N5c2RlcHMvcG9zaXggLi4v
c3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUgLi4vc3lz
ZGVwcy94ODZfNjQvbXVsdGlhcmNoIC4uL25wdGwvc3lzZGVwcy94ODZfNjQgLi4vc3lzZGVwcy94
ODZfNjQgLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvbGRibC05NiAu
Li9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9k
YmwtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAuLi9zeXNkZXBzL2llZWU3NTQgLi4vc3lz
ZGVwcy9nZW5lcmljL2VsZiAuLi9zeXNkZXBzL2dlbmVyaWMgIC4uL25wdGwgIC4uL3BvcnRzOyBk
byBcCiAgdGVzdCAtZiAkZGlyL3N5c2NhbGxzLmxpc3QgJiYgXAogIHsgc3lzZGlycz0nLi4vc3lz
ZGVwcy94ODZfNjQvZWxmIC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC93b3Jkc2l6ZS02NCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL25wdGwvc3lz
ZGVwcy9wdGhyZWFkIC4uL3N5c2RlcHMvcHRocmVhZCAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lz
di9saW51eCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL2dudSAuLi9zeXNk
ZXBzL3VuaXgvY29tbW9uIC4uL3N5c2RlcHMvdW5peC9tbWFuIC4uL3N5c2RlcHMvdW5peC9pbmV0
IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YgLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLi4v
c3lzZGVwcy91bml4L3N5c3YgLi4vc3lzZGVwcy91bml4L3g4Nl82NCAuLi9ucHRsL3N5c2RlcHMv
dW5peCAuLi9wb3J0cy9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy91bml4IC4uL3N5c2RlcHMvcG9z
aXggLi4vc3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUg
Li4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC4uL25wdGwvc3lzZGVwcy94ODZfNjQgLi4vc3lz
ZGVwcy94ODZfNjQgLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2llZWU3NTQvbGRi
bC05NiAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVl
ZTc1NC9kYmwtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAuLi9zeXNkZXBzL2llZWU3NTQg
Li4vc3lzZGVwcy9nZW5lcmljL2VsZiAuLi9zeXNkZXBzL2dlbmVyaWMnIFwKICAgIGFzbV9DUFA9
J3g4Nl82NC1jY2RzZGstbGludXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUvcmNoYXRyZS9jb25jb3Jk
aWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgt
dGNib290c3RyYXAgLWMgLWlzeXN0ZW0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlh
L3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlICAtSS4uL2lu
Y2x1ZGUgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82
NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2
K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3NpZ25hbCAtSS9ob21lL3JjaGF0
cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGst
bGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4
Nl82NC1jY2RzZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82NC9lbGYgLUkuLi9ucHRsL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4
Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0IC1JLi4vbnB0bC9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC1JLi4vc3lz
ZGVwcy9wdGhyZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXggLUkuLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251IC1JLi4vc3lzZGVwcy91bml4L2Nv
bW1vbiAtSS4uL3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lzZGVwcy91bml4L2luZXQgLUkuLi9u
cHRsL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4L3N5c3YgLUkuLi9z
eXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94ODZfNjQgLUkuLi9ucHRsL3N5c2Rl
cHMvdW5peCAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvdW5peCAtSS4uL3N5
c2RlcHMvcG9zaXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC1JLi4vc3lzZGVw
cy94ODZfNjQvZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC1JLi4vbnB0bC9zeXNk
ZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAt
SS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC93
b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLUkuLi9zeXNkZXBzL2llZWU3
NTQvZmx0LTMyIC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4vc3lzZGVwcy9nZW5lcmljL2VsZiAt
SS4uL3N5c2RlcHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9wb3J0cyAgLUkuLiAtSS4uL2xpYmlv
IC1JLiAtbm9zdGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ry
by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5n
Y2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRl
IC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3Rz
L3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWlu
aXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZS1maXhlZCAtaXN5c3Rl
bSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQt
bmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZf
NjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlIC1EX0xJQkNfUkVFTlRSQU5UIC1pbmNsdWRlIC4u
L2luY2x1ZGUvbGliYy1zeW1ib2xzLmggICAgICAgLURBU1NFTUJMRVIgIC1nIC1XYSwtLW5vZXhl
Y3N0YWNrICAgLUUgLXggYXNzZW1ibGVyLXdpdGgtY3BwJyBcCiAgICAvYmluL3NoIC4uL3N5c2Rl
cHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoICRkaXIgfHwgZXhpdCAxOyB9OyBcCiAgdGVzdCAkZGly
ID0gLi4vc3lzZGVwcy91bml4ICYmIGJyZWFrOyBcCmRvbmUgPiAvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2Vn
bGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nk
c2RrLWxpbnV4L3N5c2Qtc3lzY2FsbHNUCi4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgv
Yml0cy9sb2NhbF9saW0uaDozOToyNjogZmF0YWwgZXJyb3I6IGxpbnV4L2xpbWl0cy5oOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5j
bHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAg
ICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAg
ICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAg
ICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRl
ZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZy
b20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBm
cm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAg
ICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lz
L3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAu
Li9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20g
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAg
ICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lz
Y2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3Ig
ZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAu
Li9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5
c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAg
ICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxs
Lmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
Y3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5
c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVw
cy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBm
cm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoy
NToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
eQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVw
cy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20g
PHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0
OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNv
bXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94
ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3Rk
aW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZh
dGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGls
YXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9z
eXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82
NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46
MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwg
ZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlv
biB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2Rl
cC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5
c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgou
Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJv
cjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRl
cm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6
MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVw
Lmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBh
c20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWlu
YXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTow
LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDox
OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82
NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVw
cy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91
bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVk
LgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAg
ICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAog
ICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5
c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0
ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCklu
IGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAg
ICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAg
ICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVw
Lmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmls
ZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAg
ICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAg
ICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoy
MywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8g
c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGlu
Y2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAg
ICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAg
ICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAog
ICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNo
IGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCi4uL3N5c2RlcHMvdW5p
eC9tYWtlLXN5c2NhbGxzLnNoOiBubyBudW1iZXIgZm9yICwgbm8tZXJyb3Igc3lzY2FsbCAoX19z
eXNjYWxsX2Nsb2NrX2dldHRpbWUgKQovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCBzaWduYWwu
aCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRp
dmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIx
NzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxp
bnV4L3Vzci9pbmNsdWRlL3NpZ25hbC5oCi4uLy4vc2NyaXB0cy9ta2luc3RhbGxkaXJzIC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2lt
YWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNy
L2luY2x1ZGUvc3lzCm1rZGlyIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1w
L3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZl
c2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3Rz
L3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvc3lzCi91c3IvYmluL2luc3RhbGwgLWMg
LW0gNjQ0IHN5cy9zaWduYWwuaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290
cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlL3N5cy9zaWduYWwuaAovdXNyL2Jpbi9p
bnN0YWxsIC1jIC1tIDY0NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ251bS5o
IC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2
ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3
Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGlu
dXgvdXNyL2luY2x1ZGUvYml0cy9zaWdudW0uaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu
Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvYml0cy9zaWdjb250ZXh0LmggL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNj
ZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1h
Z2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3Iv
aW5jbHVkZS9iaXRzL3NpZ2NvbnRleHQuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2FjdGlvbi5oIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgv
ZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25j
b3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvYml0
cy9zaWdhY3Rpb24uaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC9iaXRzL3NpZ3NldC5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0
cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwt
bmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5
c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvYml0cy9zaWdzZXQuaAovdXNy
L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3Np
Z2luZm8uaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82
NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2
K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nk
c2RrLWxpbnV4L3Vzci9pbmNsdWRlL2JpdHMvc2lnaW5mby5oCi91c3IvYmluL2luc3RhbGwgLWMg
LW0gNjQ0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc2lnc3RhY2suaCAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFn
ZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9p
bmNsdWRlL2JpdHMvc2lnc3RhY2suaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9ucHRs
L3N5c2RlcHMvcHRocmVhZC9iaXRzL3NpZ3RocmVhZC5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJj
LWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEv
djAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvYml0cy9zaWd0
aHJlYWQuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRp
YS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGli
Yy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2Rr
LWxpbnV4L2dudS9vcHRpb24tZ3JvdXBzLmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRp
c3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlh
bC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngv
c3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9nbnUvb3B0aW9uLWdyb3Vw
cy5oCm1ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1p
bml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9lZ2xpYmMtMl8xNS9saWJjL3NpZ25h
bCcKbWFrZSAtaiAxMiBzdWJkaXI9c3RkbGliIC1DIHN0ZGxpYiAuLj0uLi8gaW5zdGFsbC1oZWFk
ZXJzCm1ha2VbMl06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEv
Y2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMt
aW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvZWdsaWJjLTJfMTUvbGliYy9zdGRs
aWInCnsgZWNobyAnI2luY2x1ZGUgIi4uL3Bvc2l4L2JpdHMvcG9zaXgxX2xpbS5oIic7CQlcCiAg
ZWNobyAnI2RlZmluZSBfTElCQyAxJzsJCQkJCVwKICBlY2hvICcjaW5jbHVkZSAiLi4vbWlzYy9z
eXMvdWlvLmgiJzsgfSB8CQkJXAp4ODZfNjQtY2Nkc2RrLWxpbnV4LWdjYyAgLS1zeXNyb290PS9o
b21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRp
dmVzZGstY2Nkc2RrLWxpbnV4LXRjYm9vdHN0cmFwIC1FIC1kTSAtTUQgLU1QIC1NRiAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nk
c2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWls
ZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmRUIC1NVCAnL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1s
aW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2
XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlvX2xpbS5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlh
L2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJj
LWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGst
bGludXgvYml0cy9zdGRpb19saW0uZCcgCVwKICAgICAgLUkuLi9pbmNsdWRlIC1JL2hvbWUvcmNo
YXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNk
ay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQt
eDg2XzY0LWNjZHNkay1saW51eC9zdGRsaWIgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0
aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4
IC1JLi4vc3lzZGVwcy94ODZfNjQvZWxmIC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC94ODZfNjQgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLUkuLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCAtSS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3Yv
bGludXggLUkuLi9ucHRsL3N5c2RlcHMvcHRocmVhZCAtSS4uL3N5c2RlcHMvcHRocmVhZCAtSS4u
L3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXggLUkuLi9zeXNkZXBzL2dudSAtSS4uL3N5c2RlcHMvdW5peC9jb21tb24gLUkuLi9zeXNkZXBz
L3VuaXgvbW1hbiAtSS4uL3N5c2RlcHMvdW5peC9pbmV0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgv
c3lzdiAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lzZGVwcy91bml4L3N5c3Yg
LUkuLi9zeXNkZXBzL3VuaXgveDg2XzY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXggLUkuLi9wb3J0
cy9zeXNkZXBzL3VuaXggLUkuLi9zeXNkZXBzL3VuaXggLUkuLi9zeXNkZXBzL3Bvc2l4IC1JLi4v
c3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCAtSS4uL3N5c2RlcHMveDg2XzY0L2ZwdSAtSS4u
L3N5c2RlcHMveDg2XzY0L211bHRpYXJjaCAtSS4uL25wdGwvc3lzZGVwcy94ODZfNjQgLUkuLi9z
eXNkZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMvd29yZHNpemUtNjQgLUkuLi9zeXNkZXBzL2llZWU3
NTQvbGRibC05NiAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLUkuLi9z
eXNkZXBzL2llZWU3NTQvZGJsLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAtSS4uL3N5
c2RlcHMvaWVlZTc1NCAtSS4uL3N5c2RlcHMvZ2VuZXJpYy9lbGYgLUkuLi9zeXNkZXBzL2dlbmVy
aWMgLUkuLi9ucHRsIC1JLi4vcG9ydHMgIC1JLi4gLUkuLi9saWJpbyAtSS4gLW5vc3RkaW5jIC1p
c3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4
Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGstbGludXguZ2NjLWNyb3Nzc2RrLWluaXRp
YWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQvaW5jbHVkZSAtaXN5c3RlbSAvaG9tZS9y
Y2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNy
L2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQt
Y2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUtZml4ZWQgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9j
b25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGst
bGludXgvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91
c3IvaW5jbHVkZSAteGMgLSAtbyAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3Rk
aW9fbGltLmhUCmZvciBkaXIgaW4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRp
dmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eCAuLi9zeXNk
ZXBzL3g4Nl82NC9lbGYgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQgLi4v
c3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3dvcmRzaXplLTY0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vbnB0bC9zeXNk
ZXBzL3B0aHJlYWQgLi4vc3lzZGVwcy9wdGhyZWFkIC4uL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL3N5c2RlcHMvZ251IC4uL3N5c2Rl
cHMvdW5peC9jb21tb24gLi4vc3lzZGVwcy91bml4L21tYW4gLi4vc3lzZGVwcy91bml4L2luZXQg
Li4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdiAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAuLi9z
eXNkZXBzL3VuaXgvc3lzdiAuLi9zeXNkZXBzL3VuaXgveDg2XzY0IC4uL25wdGwvc3lzZGVwcy91
bml4IC4uL3BvcnRzL3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy9wb3Np
eCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC4uL3N5c2RlcHMveDg2XzY0L2ZwdSAu
Li9zeXNkZXBzL3g4Nl82NC9tdWx0aWFyY2ggLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAuLi9zeXNk
ZXBzL3g4Nl82NCAuLi9zeXNkZXBzL3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1NC9sZGJs
LTk2IC4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLi4vc3lzZGVwcy9pZWVl
NzU0L2RibC02NCAuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMyIC4uL3N5c2RlcHMvaWVlZTc1NCAu
Li9zeXNkZXBzL2dlbmVyaWMvZWxmIC4uL3N5c2RlcHMvZ2VuZXJpYyAgLi4vbnB0bCAgLi4vcG9y
dHM7IGRvIFwKICB0ZXN0IC1mICRkaXIvc3lzY2FsbHMubGlzdCAmJiBcCiAgeyBzeXNkaXJzPScu
Li9zeXNkZXBzL3g4Nl82NC9lbGYgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC4uL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3dvcmRzaXplLTY0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXggLi4vbnB0
bC9zeXNkZXBzL3B0aHJlYWQgLi4vc3lzZGVwcy9wdGhyZWFkIC4uL3BvcnRzL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4uL3N5c2RlcHMvZ251IC4u
L3N5c2RlcHMvdW5peC9jb21tb24gLi4vc3lzZGVwcy91bml4L21tYW4gLi4vc3lzZGVwcy91bml4
L2luZXQgLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdiAuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lz
diAuLi9zeXNkZXBzL3VuaXgvc3lzdiAuLi9zeXNkZXBzL3VuaXgveDg2XzY0IC4uL25wdGwvc3lz
ZGVwcy91bml4IC4uL3BvcnRzL3N5c2RlcHMvdW5peCAuLi9zeXNkZXBzL3VuaXggLi4vc3lzZGVw
cy9wb3NpeCAuLi9zeXNkZXBzL3g4Nl82NC9mcHUvbXVsdGlhcmNoIC4uL3N5c2RlcHMveDg2XzY0
L2ZwdSAuLi9zeXNkZXBzL3g4Nl82NC9tdWx0aWFyY2ggLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAu
Li9zeXNkZXBzL3g4Nl82NCAuLi9zeXNkZXBzL3dvcmRzaXplLTY0IC4uL3N5c2RlcHMvaWVlZTc1
NC9sZGJsLTk2IC4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvd29yZHNpemUtNjQgLi4vc3lzZGVw
cy9pZWVlNzU0L2RibC02NCAuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMyIC4uL3N5c2RlcHMvaWVl
ZTc1NCAuLi9zeXNkZXBzL2dlbmVyaWMvZWxmIC4uL3N5c2RlcHMvZ2VuZXJpYycgXAogICAgYXNt
X0NQUD0neDg2XzY0LWNjZHNkay1saW51eC1nY2MgIC0tc3lzcm9vdD0vaG9tZS9yY2hhdHJlL2Nv
bmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1s
aW51eC10Y2Jvb3RzdHJhcCAtYyAtaXN5c3RlbS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L29wdC9jb25j
b3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUgIC1J
Li4vaW5jbHVkZSAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIu
MTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXgvc3RkbGliIC1JL2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNj
ZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVp
bGQteDg2XzY0LWNjZHNkay1saW51eCAtSS4uL3N5c2RlcHMveDg2XzY0L2VsZiAtSS4uL25wdGwv
c3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgveDg2XzY0IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLUkuLi9u
cHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vbnB0bC9zeXNkZXBzL3B0aHJlYWQgLUku
Li9zeXNkZXBzL3B0aHJlYWQgLUkuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVwcy9nbnUgLUkuLi9zeXNkZXBzL3Vu
aXgvY29tbW9uIC1JLi4vc3lzZGVwcy91bml4L21tYW4gLUkuLi9zeXNkZXBzL3VuaXgvaW5ldCAt
SS4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YgLUkuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAt
SS4uL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vc3lzZGVwcy91bml4L3g4Nl82NCAtSS4uL25wdGwv
c3lzZGVwcy91bml4IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4IC1JLi4vc3lzZGVwcy91bml4IC1J
Li4vc3lzZGVwcy9wb3NpeCAtSS4uL3N5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggLUkuLi9z
eXNkZXBzL3g4Nl82NC9mcHUgLUkuLi9zeXNkZXBzL3g4Nl82NC9tdWx0aWFyY2ggLUkuLi9ucHRs
L3N5c2RlcHMveDg2XzY0IC1JLi4vc3lzZGVwcy94ODZfNjQgLUkuLi9zeXNkZXBzL3dvcmRzaXpl
LTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYgLUkuLi9zeXNkZXBzL2llZWU3NTQvZGJs
LTY0L3dvcmRzaXplLTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NCAtSS4uL3N5c2RlcHMv
aWVlZTc1NC9mbHQtMzIgLUkuLi9zeXNkZXBzL2llZWU3NTQgLUkuLi9zeXNkZXBzL2dlbmVyaWMv
ZWxmIC1JLi4vc3lzZGVwcy9nZW5lcmljIC1JLi4vbnB0bCAtSS4uL3BvcnRzICAtSS4uIC1JLi4v
bGliaW8gLUkuIC1ub3N0ZGluYyAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2Qt
ZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi94ODZfNjQtY2Nkc2RrLWxp
bnV4LmdjYy1jcm9zc3Nkay1pbml0aWFsL2djYy94ODZfNjQtY2Nkc2RrLWxpbnV4LzQuNi40L2lu
Y2x1ZGUgLWlzeXN0ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lz
cm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3Nz
ZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlLWZpeGVkIC1p
c3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4
Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3Rz
L3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUgLURfTElCQ19SRUVOVFJBTlQgLWluY2x1
ZGUgLi4vaW5jbHVkZS9saWJjLXN5bWJvbHMuaCAgICAgICAtREFTU0VNQkxFUiAgLWcgLVdhLC0t
bm9leGVjc3RhY2sgICAtRSAteCBhc3NlbWJsZXItd2l0aC1jcHAnIFwKICAgIC9iaW4vc2ggLi4v
c3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2ggJGRpciB8fCBleGl0IDE7IH07IFwKICB0ZXN0
ICRkaXIgPSAuLi9zeXNkZXBzL3VuaXggJiYgYnJlYWs7IFwKZG9uZSA+IC9ob21lL3JjaGF0cmUv
Y29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGlu
dXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82
NC1jY2RzZGstbGludXgvc3lzZC1zeXNjYWxsc1QKLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC9iaXRzL2xvY2FsX2xpbS5oOjM5OjI2OiBmYXRhbCBlcnJvcjogbGludXgvbGltaXRzLmg6
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmls
ZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAg
ICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAg
ICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoy
MywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8g
c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGlu
Y2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAg
ICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAg
ICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAog
ICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNo
IGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVk
ZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBm
cm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAg
ICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5
cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmls
ZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBm
cm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20g
Li4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9t
IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAg
ICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5
c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9y
IGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g
Li4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9z
eXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4v
c3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAg
ICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2Fs
bC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGly
ZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9z
eXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2Rl
cHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAg
ZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6
MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2Rl
cHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91
bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9t
IDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToy
NDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj
b21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91
bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgv
eDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4
L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0
ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBm
YXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBp
bGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgv
c3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZf
NjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+
OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFs
IGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRp
b24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNk
ZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9z
eXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToK
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJy
b3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0
ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5o
OjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2Rl
cC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgv
eDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjog
YXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1p
bmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6
MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6
MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20v
dW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRl
ZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAog
ICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwK
ICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9z
eXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlz
dGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJ
biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAg
ICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAg
ICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2Rl
cC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5o
OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZp
bGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAg
ICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAg
ICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6
MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KLi4vc3lzZGVw
cy91bml4L21ha2Utc3lzY2FsbHMuc2g6IG5vIG51bWJlciBmb3IgLCBuby1lcnJvciBzeXNjYWxs
IChfX3N5c2NhbGxfY2xvY2tfZ2V0dGltZSApCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IHN0
ZGxpYi5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0
LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYr
c3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2Rz
ZGstbGludXgvdXNyL2luY2x1ZGUvc3RkbGliLmgKL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg
Yml0cy9zdGRsaWIuaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3Jr
L3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0y
LjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZf
NjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlL2JpdHMvc3RkbGliLmgKL3Vzci9iaW4vaW5zdGFs
bCAtYyAtbSA2NDQgYml0cy9zdGRsaWItbGRibC5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWlu
aXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAu
MS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvYml0cy9zdGRsaWIt
bGRibC5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IG1vbmV0YXJ5LmggL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1s
aW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0
L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVk
ZS9tb25ldGFyeS5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IGJpdHMvbW9uZXRhcnktbGRi
bC5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5h
dGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3Zu
cjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGst
bGludXgvdXNyL2luY2x1ZGUvYml0cy9tb25ldGFyeS1sZGJsLmgKL3Vzci9iaW4vaW5zdGFsbCAt
YyAtbSA2NDQgLi4vc3lzZGVwcy9nZW5lcmljL2ludHR5cGVzLmggL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9l
Z2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNv
cmRpYS92MC4xLngvc3lzcm9vdHMveDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9pbnR0
eXBlcy5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N5c2RlcHMvZ2VuZXJpYy9zdGRp
bnQuaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1u
YXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2
bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2Rr
LWxpbnV4L3Vzci9pbmNsdWRlL3N0ZGludC5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u
L3N5c2RlcHMveDg2XzY0L2JpdHMvd29yZHNpemUuaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9j
Y2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1p
bml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3Yw
LjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlL2JpdHMvd29yZHNp
emUuaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCBlcnJuby5oIC9ob21lL3JjaGF0cmUvY29u
Y29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgv
ZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25j
b3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvZXJy
bm8uaAovdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCBzeXMvZXJybm8uaCAvaG9tZS9yY2hhdHJl
L2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxp
bnV4L2VnbGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQv
Y29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRl
L3N5cy9lcnJuby5oCi91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L2JpdHMvZXJybm8uaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNy
b290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlL2JpdHMvZXJybm8uaAovdXNyL2Jp
bi9pbnN0YWxsIC1jIC1tIDY0NCB1Y29udGV4dC5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWlu
aXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAu
MS54L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvdWNvbnRleHQuaAov
dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQvc3lzL3Vjb250ZXh0LmggL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
d29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVz
ZGstMi4xNS1yNitzdm5yMTczODYvaW1hZ2Uvb3B0L2NvbmNvcmRpYS92MC4xLngvc3lzcm9vdHMv
eDg2XzY0LWNjZHNkay1saW51eC91c3IvaW5jbHVkZS9zeXMvdWNvbnRleHQuaAovdXNyL2Jpbi9p
bnN0YWxsIC1jIC1tIDY0NCBhbGxvY2EuaCAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlz
dHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFs
LW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9pbWFnZS9vcHQvY29uY29yZGlhL3YwLjEueC9z
eXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlL2FsbG9jYS5oCi91c3IvYmlu
L2luc3RhbGwgLWMgLW0gNjQ0IGZtdG1zZy5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1k
aXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRp
YWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54
L3N5c3Jvb3RzL3g4Nl82NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvZm10bXNnLmgKL3Vzci9i
aW4vaW5zdGFsbCAtYyAtbSA2NDQgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90
bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRp
dmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9nbnUvb3B0
aW9uLWdyb3Vwcy5oIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsv
eDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIu
MTUtcjYrc3ZucjE3Mzg2L2ltYWdlL29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82
NC1jY2RzZGstbGludXgvdXNyL2luY2x1ZGUvZ251L29wdGlvbi1ncm91cHMuaAptYWtlWzJdOiBM
ZWF2aW5nIGRpcmVjdG9yeSBgL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
d29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVz
ZGstMi4xNS1yNitzdm5yMTczODYvZWdsaWJjLTJfMTUvbGliYy9zdGRsaWInCm1ha2UgLWogMTIg
c3ViZGlyPXN0ZGlvLWNvbW1vbiAtQyBzdGRpby1jb21tb24gLi49Li4vIGluc3RhbGwtaGVhZGVy
cwptYWtlWzJdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWlu
aXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2VnbGliYy0yXzE1L2xpYmMvc3RkaW8t
Y29tbW9uJwp7IGVjaG8gJyNpbmNsdWRlICIuLi9wb3NpeC9iaXRzL3Bvc2l4MV9saW0uaCInOwkJ
XAogIGVjaG8gJyNkZWZpbmUgX0xJQkMgMSc7CQkJCQlcCiAgZWNobyAnI2luY2x1ZGUgIi4uL21p
c2Mvc3lzL3Vpby5oIic7IH0gfAkJCVwKeDg2XzY0LWNjZHNkay1saW51eC1nY2MgIC0tc3lzcm9v
dD0vaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQt
bmF0aXZlc2RrLWNjZHNkay1saW51eC10Y2Jvb3RzdHJhcCAtRSAtZE0gLU1EIC1NUCAtTUYgL2hv
bWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2Rr
LWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYv
YnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9iaXRzL3N0ZGlvX2xpbS5kVCAtTVQgJy9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2Rz
ZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxk
LXg4Nl82NC1jY2RzZGstbGludXgvYml0cy9zdGRpb19saW0uaCAvaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2Vn
bGliYy1pbml0aWFsLW5hdGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nk
c2RrLWxpbnV4L2JpdHMvc3RkaW9fbGltLmQnIAlcCiAgICAgIC1JLi4vaW5jbHVkZSAtSS9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1j
Y2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1
aWxkLXg4Nl82NC1jY2RzZGstbGludXgvc3RkaW8tY29tbW9uIC1JL2hvbWUvcmNoYXRyZS9jb25j
b3JkaWEvY2NkLWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9l
Z2xpYmMtaW5pdGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNj
ZHNkay1saW51eCAtSS4uL3N5c2RlcHMveDg2XzY0L2VsZiAtSS4uL25wdGwvc3lzZGVwcy91bml4
L3N5c3YvbGludXgveDg2XzY0IC1JLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0IC1J
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQgLUkuLi9ucHRsL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4IC1JLi4vbnB0bC9zeXNkZXBzL3B0aHJlYWQgLUkuLi9zeXNkZXBzL3B0
aHJlYWQgLUkuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4IC1JLi4vc3lzZGVwcy9nbnUgLUkuLi9zeXNkZXBzL3VuaXgvY29tbW9uIC1J
Li4vc3lzZGVwcy91bml4L21tYW4gLUkuLi9zeXNkZXBzL3VuaXgvaW5ldCAtSS4uL25wdGwvc3lz
ZGVwcy91bml4L3N5c3YgLUkuLi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMv
dW5peC9zeXN2IC1JLi4vc3lzZGVwcy91bml4L3g4Nl82NCAtSS4uL25wdGwvc3lzZGVwcy91bml4
IC1JLi4vcG9ydHMvc3lzZGVwcy91bml4IC1JLi4vc3lzZGVwcy91bml4IC1JLi4vc3lzZGVwcy9w
b3NpeCAtSS4uL3N5c2RlcHMveDg2XzY0L2ZwdS9tdWx0aWFyY2ggLUkuLi9zeXNkZXBzL3g4Nl82
NC9mcHUgLUkuLi9zeXNkZXBzL3g4Nl82NC9tdWx0aWFyY2ggLUkuLi9ucHRsL3N5c2RlcHMveDg2
XzY0IC1JLi4vc3lzZGVwcy94ODZfNjQgLUkuLi9zeXNkZXBzL3dvcmRzaXplLTY0IC1JLi4vc3lz
ZGVwcy9pZWVlNzU0L2xkYmwtOTYgLUkuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXpl
LTY0IC1JLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9mbHQt
MzIgLUkuLi9zeXNkZXBzL2llZWU3NTQgLUkuLi9zeXNkZXBzL2dlbmVyaWMvZWxmIC1JLi4vc3lz
ZGVwcy9nZW5lcmljIC1JLi4vbnB0bCAtSS4uL3BvcnRzICAtSS4uIC1JLi4vbGliaW8gLUkuIC1u
b3N0ZGluYyAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3RtcC9z
eXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi94ODZfNjQtY2Nkc2RrLWxpbnV4LmdjYy1jcm9z
c3Nkay1pbml0aWFsL2djYy94ODZfNjQtY2Nkc2RrLWxpbnV4LzQuNi40L2luY2x1ZGUgLWlzeXN0
ZW0gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0
LWxpbnV4L3Vzci9saWIveDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9n
Y2MveDg2XzY0LWNjZHNkay1saW51eC80LjYuNC9pbmNsdWRlLWZpeGVkIC1pc3lzdGVtIC9ob21l
L3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVz
ZGstY2Nkc2RrLWxpbnV4L29wdC9jb25jb3JkaWEvdjAuMS54L3N5c3Jvb3RzL3g4Nl82NC1jY2Rz
ZGstbGludXgvdXNyL2luY2x1ZGUgLXhjIC0gLW8gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2Nk
LWRpc3Ryby90bXAvd29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5p
dGlhbC1uYXRpdmVzZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51
eC9iaXRzL3N0ZGlvX2xpbS5oVApmb3IgZGlyIGluIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWlu
aXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGlu
dXggLi4vc3lzZGVwcy94ODZfNjQvZWxmIC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgv
eDg2XzY0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC93b3Jkc2l6ZS02NCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4IC4u
L25wdGwvc3lzZGVwcy9wdGhyZWFkIC4uL3N5c2RlcHMvcHRocmVhZCAuLi9wb3J0cy9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL2du
dSAuLi9zeXNkZXBzL3VuaXgvY29tbW9uIC4uL3N5c2RlcHMvdW5peC9tbWFuIC4uL3N5c2RlcHMv
dW5peC9pbmV0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YgLi4vcG9ydHMvc3lzZGVwcy91bml4
L3N5c3YgLi4vc3lzZGVwcy91bml4L3N5c3YgLi4vc3lzZGVwcy91bml4L3g4Nl82NCAuLi9ucHRs
L3N5c2RlcHMvdW5peCAuLi9wb3J0cy9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy91bml4IC4uL3N5
c2RlcHMvcG9zaXggLi4vc3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCAuLi9zeXNkZXBzL3g4
Nl82NC9mcHUgLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC4uL25wdGwvc3lzZGVwcy94ODZf
NjQgLi4vc3lzZGVwcy94ODZfNjQgLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAuLi9zeXNkZXBzL2ll
ZWU3NTQvbGRibC05NiAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0IC4uL3N5
c2RlcHMvaWVlZTc1NC9kYmwtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAuLi9zeXNkZXBz
L2llZWU3NTQgLi4vc3lzZGVwcy9nZW5lcmljL2VsZiAuLi9zeXNkZXBzL2dlbmVyaWMgIC4uL25w
dGwgIC4uL3BvcnRzOyBkbyBcCiAgdGVzdCAtZiAkZGlyL3N5c2NhbGxzLmxpc3QgJiYgXAogIHsg
c3lzZGlycz0nLi4vc3lzZGVwcy94ODZfNjQvZWxmIC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3Yv
bGludXgveDg2XzY0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAuLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4IC4uL25wdGwvc3lzZGVwcy9wdGhyZWFkIC4uL3N5c2RlcHMvcHRocmVhZCAuLi9wb3J0cy9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAuLi9zeXNk
ZXBzL2dudSAuLi9zeXNkZXBzL3VuaXgvY29tbW9uIC4uL3N5c2RlcHMvdW5peC9tbWFuIC4uL3N5
c2RlcHMvdW5peC9pbmV0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YgLi4vcG9ydHMvc3lzZGVw
cy91bml4L3N5c3YgLi4vc3lzZGVwcy91bml4L3N5c3YgLi4vc3lzZGVwcy91bml4L3g4Nl82NCAu
Li9ucHRsL3N5c2RlcHMvdW5peCAuLi9wb3J0cy9zeXNkZXBzL3VuaXggLi4vc3lzZGVwcy91bml4
IC4uL3N5c2RlcHMvcG9zaXggLi4vc3lzZGVwcy94ODZfNjQvZnB1L211bHRpYXJjaCAuLi9zeXNk
ZXBzL3g4Nl82NC9mcHUgLi4vc3lzZGVwcy94ODZfNjQvbXVsdGlhcmNoIC4uL25wdGwvc3lzZGVw
cy94ODZfNjQgLi4vc3lzZGVwcy94ODZfNjQgLi4vc3lzZGVwcy93b3Jkc2l6ZS02NCAuLi9zeXNk
ZXBzL2llZWU3NTQvbGRibC05NiAuLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L3dvcmRzaXplLTY0
IC4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQgLi4vc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMiAuLi9z
eXNkZXBzL2llZWU3NTQgLi4vc3lzZGVwcy9nZW5lcmljL2VsZiAuLi9zeXNkZXBzL2dlbmVyaWMn
IFwKICAgIGFzbV9DUFA9J3g4Nl82NC1jY2RzZGstbGludXgtZ2NjICAtLXN5c3Jvb3Q9L2hvbWUv
cmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNk
ay1jY2RzZGstbGludXgtdGNib290c3RyYXAgLWMgLWlzeXN0ZW0vaG9tZS9yY2hhdHJlL2NvbmNv
cmRpYS9jY2QtZGlzdHJvL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51
eC9vcHQvY29uY29yZGlhL3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9p
bmNsdWRlICAtSS4uL2luY2x1ZGUgLUkvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L3N0ZGlv
LWNvbW1vbiAtSS9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2
XzY0LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUt
cjYrc3ZucjE3Mzg2L2J1aWxkLXg4Nl82NC1jY2RzZGstbGludXggLUkuLi9zeXNkZXBzL3g4Nl82
NC9lbGYgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NCAtSS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dv
cmRzaXplLTY0IC1JLi4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL25wdGwvc3lz
ZGVwcy9wdGhyZWFkIC1JLi4vc3lzZGVwcy9wdGhyZWFkIC1JLi4vcG9ydHMvc3lzZGVwcy91bml4
L3N5c3YvbGludXggLUkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eCAtSS4uL3N5c2RlcHMvZ251
IC1JLi4vc3lzZGVwcy91bml4L2NvbW1vbiAtSS4uL3N5c2RlcHMvdW5peC9tbWFuIC1JLi4vc3lz
ZGVwcy91bml4L2luZXQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2IC1JLi4vcG9ydHMvc3lz
ZGVwcy91bml4L3N5c3YgLUkuLi9zeXNkZXBzL3VuaXgvc3lzdiAtSS4uL3N5c2RlcHMvdW5peC94
ODZfNjQgLUkuLi9ucHRsL3N5c2RlcHMvdW5peCAtSS4uL3BvcnRzL3N5c2RlcHMvdW5peCAtSS4u
L3N5c2RlcHMvdW5peCAtSS4uL3N5c2RlcHMvcG9zaXggLUkuLi9zeXNkZXBzL3g4Nl82NC9mcHUv
bXVsdGlhcmNoIC1JLi4vc3lzZGVwcy94ODZfNjQvZnB1IC1JLi4vc3lzZGVwcy94ODZfNjQvbXVs
dGlhcmNoIC1JLi4vbnB0bC9zeXNkZXBzL3g4Nl82NCAtSS4uL3N5c2RlcHMveDg2XzY0IC1JLi4v
c3lzZGVwcy93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2IC1JLi4vc3lz
ZGVwcy9pZWVlNzU0L2RibC02NC93b3Jkc2l6ZS02NCAtSS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwt
NjQgLUkuLi9zeXNkZXBzL2llZWU3NTQvZmx0LTMyIC1JLi4vc3lzZGVwcy9pZWVlNzU0IC1JLi4v
c3lzZGVwcy9nZW5lcmljL2VsZiAtSS4uL3N5c2RlcHMvZ2VuZXJpYyAtSS4uL25wdGwgLUkuLi9w
b3J0cyAgLUkuLiAtSS4uL2xpYmlvIC1JLiAtbm9zdGRpbmMgLWlzeXN0ZW0gL2hvbWUvcmNoYXRy
ZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIv
eDg2XzY0LWNjZHNkay1saW51eC5nY2MtY3Jvc3NzZGstaW5pdGlhbC9nY2MveDg2XzY0LWNjZHNk
ay1saW51eC80LjYuNC9pbmNsdWRlIC1pc3lzdGVtIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2Nj
ZC1kaXN0cm8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3g4Nl82NC1jY2RzZGst
bGludXguZ2NjLWNyb3Nzc2RrLWluaXRpYWwvZ2NjL3g4Nl82NC1jY2RzZGstbGludXgvNC42LjQv
aW5jbHVkZS1maXhlZCAtaXN5c3RlbSAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9vcHQvY29uY29yZGlh
L3YwLjEueC9zeXNyb290cy94ODZfNjQtY2Nkc2RrLWxpbnV4L3Vzci9pbmNsdWRlIC1EX0xJQkNf
UkVFTlRSQU5UIC1pbmNsdWRlIC4uL2luY2x1ZGUvbGliYy1zeW1ib2xzLmggICAgICAgLURfSU9f
TVRTQUZFX0lPIC1EQVNTRU1CTEVSICAtZyAtV2EsLS1ub2V4ZWNzdGFjayAgIC1FIC14IGFzc2Vt
Ymxlci13aXRoLWNwcCcgXAogICAgL2Jpbi9zaCAuLi9zeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxs
cy5zaCAkZGlyIHx8IGV4aXQgMTsgfTsgXAogIHRlc3QgJGRpciA9IC4uL3N5c2RlcHMvdW5peCAm
JiBicmVhazsgXApkb25lID4gL2hvbWUvcmNoYXRyZS9jb25jb3JkaWEvY2NkLWRpc3Ryby90bXAv
d29yay94ODZfNjQtbmF0aXZlc2RrLWNjZHNkay1saW51eC9lZ2xpYmMtaW5pdGlhbC1uYXRpdmVz
ZGstMi4xNS1yNitzdm5yMTczODYvYnVpbGQteDg2XzY0LWNjZHNkay1saW51eC9zeXNkLXN5c2Nh
bGxzVAouLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvbG9jYWxfbGltLmg6Mzk6
MjY6IGZhdGFsIGVycm9yOiBsaW51eC9saW1pdHMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
eQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVw
cy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20g
PHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0
OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNv
bXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3Vu
aXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94
ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgv
c3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3Rk
aW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZh
dGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGls
YXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9z
eXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82
NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46
MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwg
ZXJyb3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlv
biB0ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2Rl
cC5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5
c2RlcC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgveDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgou
Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJv
cjogYXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRl
cm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6
MjE6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVw
Lmg6MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5
c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBh
c20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWlu
YXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTow
LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDox
OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82
NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVw
cy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91
bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVk
LgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAg
ICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAog
ICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5
c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0
ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCklu
IGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAg
ICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAg
ICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVw
Lmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmls
ZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAg
ICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAg
ICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoy
MywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyb3I6IGFzbS91bmlzdGQuaDogTm8g
c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpJbiBmaWxlIGlu
Y2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5oOjIxOjAsCiAgICAgICAgICAgICAg
ICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2RlcC5oOjE5LAogICAgICAgICAgICAg
ICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOjIzLAog
ICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjogYXNtL3VuaXN0ZC5oOiBObyBzdWNo
IGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCkluIGZpbGUgaW5jbHVk
ZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6MCwKICAgICAgICAgICAgICAgICBm
cm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6MTksCiAgICAgICAgICAgICAgICAg
ZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmg6MjMsCiAgICAg
ICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5
cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmls
ZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBm
cm9tIC4uL3N5c2RlcHMvdW5peC9zeXNkZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20g
Li4vc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9t
IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAg
ICAgICAgICBmcm9tIDxzdGRpbj46MToKLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5
c2NhbGwuaDoyNToyNDogZmF0YWwgZXJyRVJST1I6IEZ1bmN0aW9uIGZhaWxlZDogZG9faW5zdGFs
bCAoc2VlIC9ob21lL3JjaGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0
LW5hdGl2ZXNkay1jY2RzZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYr
c3ZucjE3Mzg2L3RlbXAvbG9nLmRvX2luc3RhbGwuMjQyNDMgZm9yIGZ1cnRoZXIgaW5mb3JtYXRp
b24pCm9yOiBhc20vdW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRp
b24gdGVybWluYXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXNk
ZXAuaDoyMTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3g4Nl82NC9z
eXNkZXAuaDoxOSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NC9zeXNkZXAuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIDxzdGRpbj46MToK
Li4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2NhbGwuaDoyNToyNDogZmF0YWwgZXJy
b3I6IGFzbS91bmlzdGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0
ZXJtaW5hdGVkLgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c2RlcC5o
OjIxOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgveDg2XzY0L3N5c2Rl
cC5oOjE5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgv
eDg2XzY0L3N5c2RlcC5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gPHN0ZGluPjoxOgouLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzY2FsbC5oOjI1OjI0OiBmYXRhbCBlcnJvcjog
YXNtL3VuaXN0ZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1p
bmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzZGVwLmg6MjE6
MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvdW5peC94ODZfNjQvc3lzZGVwLmg6
MTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQvc3lzZGVwLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSA8c3RkaW4+OjE6Ci4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNjYWxsLmg6MjU6MjQ6IGZhdGFsIGVycm9yOiBhc20v
dW5pc3RkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRl
ZC4KLi4vc3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IG5vIG51bWJlciBmb3IgLCBuby1l
cnJvciBzeXNjYWxsIChfX3N5c2NhbGxfY2xvY2tfZ2V0dGltZSApCm1ha2VbMl06ICoqKiBObyBy
dWxlIHRvIG1ha2UgdGFyZ2V0IGAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJvL3Rt
cC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5hdGl2
ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMvc3Rk
aW9fbGltLnN0JywgbmVlZGVkIGJ5IGAvaG9tZS9yY2hhdHJlL2NvbmNvcmRpYS9jY2QtZGlzdHJv
L3RtcC93b3JrL3g4Nl82NC1uYXRpdmVzZGstY2Nkc2RrLWxpbnV4L2VnbGliYy1pbml0aWFsLW5h
dGl2ZXNkay0yLjE1LXI2K3N2bnIxNzM4Ni9idWlsZC14ODZfNjQtY2Nkc2RrLWxpbnV4L2JpdHMv
c3RkaW9fbGltLmgnLiAgU3RvcC4KbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2Rz
ZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2VnbGli
Yy0yXzE1L2xpYmMvc3RkaW8tY29tbW9uJwptYWtlWzFdOiAqKiogW3N0ZGlvLWNvbW1vbi9pbnN0
YWxsLWhlYWRlcnNdIEVycm9yIDIKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9ob21lL3Jj
aGF0cmUvY29uY29yZGlhL2NjZC1kaXN0cm8vdG1wL3dvcmsveDg2XzY0LW5hdGl2ZXNkay1jY2Rz
ZGstbGludXgvZWdsaWJjLWluaXRpYWwtbmF0aXZlc2RrLTIuMTUtcjYrc3ZucjE3Mzg2L2VnbGli
Yy0yXzE1L2xpYmMnCm1ha2U6ICoqKiBbaW5zdGFsbC1oZWFkZXJzXSBFcnJvciAyCkVSUk9SOiBv
ZV9ydW5tYWtlIGZhaWxlZAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>